6 TCP/IP ve internet iletişimi

Verinin kablodan ve Wi-Fi’dan nasıl geçtiğine 3. ve 5. haftada, bu işin katmanlara nasıl bölündüğüne de 4. haftada baktık. Bu hafta yerel bağlantının çalıştığını varsayıp katmanlarda yukarı çıkıyoruz: tarayıcıya bir adres yazınca sayfa bilgisayarına nasıl geliyor?

İnternette kullanılan iletişim kurallarına (protokollere) topluca TCP/IP denir. Ad, en çok kullanılan iki protokolden gelir: TCP ve IP. 4. haftada OSI’nin yedi katmanını arızanın yerini bulmak için kullandık. İnternetin protokolleri ise çoğunlukla dört katmanlı TCP/IP modeliyle anlatılır.

Dört vakada sırasıyla şunlara bakacağız: isteğin sunucudaki hangi programa gittiği, aynı anda açık bağlantıların nasıl karışmadığı, kaybolan veriye ne olduğu ve yolunu şaşıran paketin nerede durduğu. Sonra hepsini TCP/IP modeline ve bir web isteğinin adımlarına yerleştireceğiz.

TCP/IP’nin dört katmanı, IP adresi ve port, bilmen gereken dört port, TCP ve UDP, web isteğinin dört adımı ve TTL’in özeti.

TCP/IP’nin dört katmanı, IP adresi ve port, bilmen gereken dört port, TCP ve UDP, web isteğinin dört adımı ve TTL’in özeti.
NotBu haftanın kapsamı

Sınavda sorulur: TCP/IP modelinin dört katmanı; port kavramı ve neden gerektiği; HTTP 80, HTTPS 443, DNS 53, SSH 22; geçici (ephemeral) port fikri; Connection refused ile zaman aşımının farkı; ping’in (ICMP) port kullanmadığı; TCP ile UDP’nin temel farkı; IP TTL’in amacı, tracert’ün ondan nasıl yararlandığı ve DNS TTL ile karıştırılmaması; web isteğinin dört adımı ve bir hata mesajının hangi adımı gösterdiği.

Sınav dışı (bilgi amaçlı): TCP’nin iç işleyişi (bağlantı kurma mesajları, sıra numaraları, hız ayarı); HTTP/3 ve QUIC; TLS’in ayrıntısı; port aralıklarının sınırları (0–65535, 0–1023); DHCP’nin port numaraları; netstat ve Test-NetConnection çıktısının satırları.

6.1 Vaka 1: Site açılıyor, SSH bağlanmıyor

Bir teknisyen okulun sunucusundaki siteyi tarayıcıda açabiliyor. Aynı sunucuya SSH ile (uzaktaki bir bilgisayara güvenli komut satırı bağlantısı) bağlanmak isteyince şu çıktıyı alıyor:

Tarayıcı: https://okul-sunucu.example  → site açılıyor

> ssh [email protected]
ssh: connect to host okul-sunucu.example port 22: Connection refused

6.1.1 Kanıt ne söylüyor

Site açıldığına göre sunucu ayakta ve ona ulaşılıyor. Sunucu da adres de aynı, ama bir istek çalışıyor, öteki geri çevriliyor. İki isteği birbirinden port ayırıyor.

IP adresi verinin hangi cihaza gideceğini söyler. Port ise o cihazda hangi uygulamaya gideceğini söyleyen numaradır. Adres ve port çoğu zaman iki noktayla yan yana yazılır:

203.0.113.10:443
└────┬─────┘ └┬┘
  IP adresi  port
 hangi cihaz? hangi uygulama?

Bir sunucuda web, SSH ve DNS hizmeti aynı anda çalışabilir. Her hizmet kendi portunu dinler, yani o numaraya gelen bağlantıları bekler. https:// ile açılan site TCP 443’e, SSH TCP 22’ye gider. Bu sunucuda 443’te bir hizmet bekliyor, 22’ye gelen bağlantı ise geri çevriliyor.

Connection refused mesajını 4. haftadan tanıyorsun: istek karşıya ulaştı ve o porta yapılan bağlantıya açık bir ret cevabı geldi. Ya 22’de dinleyen bir SSH hizmeti yok ya da bir güvenlik kuralı bu bağlantıyı reddediyor.

Güvenlik kuralları çoğu zaman ret cevabı bile göndermez, paketi cevapsız atar. O zaman bilgisayar bir süre bekler ve Connection timed out (zaman aşımı) görülür. Zaman aşımı daha az şey söyler: paket yolda kalmış da olabilir, sunucu kapalı da olabilir, bir kural paketi atmış da olabilir.

Önemliİki ayrı port: yazılımdaki ve switch’teki

443 gibi bir TCP ya da UDP portu yazılımdaki bir numaradır, elle tutulur bir şey değildir. Switch üzerindeki “Port 1, Port 2…” ise kablonun takıldığı fiziksel yuvadır. Aynı sözcük iki ayrı anlamda kullanılır. Bir soruda port geçince hangisinin kastedildiğine dikkat et.

6.1.2 Bilmen gereken dört port

Hizmet Protokol ve port Kullanım
HTTP TCP 80 Şifrelenmemiş web
HTTPS TCP 443 TLS ile şifrelenmiş web
DNS UDP ve TCP 53 Adı IP adresine çevirme
SSH TCP 22 Uzak bilgisayara güvenli bağlantı

TLS, web trafiğini şifreleyen protokoldür. Adresteki https’nin sonundaki s onu gösterir. Site destekliyorsa tarayıcı HTTPS’i HTTP/3 ile UDP 443 üzerinden de gönderebilir. Ayrıntısı sınav dışı.

Bunlar varsayılan portlardır. Yönetici bir hizmeti başka bir portta da çalıştırabilir. O zaman port adreste yazılır: https://okul-sunucu.example:8443 adresi 443’e değil, 8443’e bağlanır.

Bu dördü dışında port numarası ezberlemen gerekmez. Vakada başka bir port geçerse hizmetin adıyla birlikte verilir. Örneğin 9. haftada göreceğin DHCP, UDP 67 ve 68 portlarını kullanır. Bu numaraları bilmen gerekmez.

6.2 Vaka 2: Aynı anda üç bağlantı, karışmayan cevaplar

Bir bilgisayarda Chrome ve Edge aynı siteyi açmış, bir de SSH oturumu açık. Hepsi aynı IP adresinden, 192.168.20.45’ten çıkıyor.

6.2.1 Kanıt ne söylüyor

Üçü de TCP bağlantısıdır. Her TCP bağlantısı dört değerle tanınır ve bu dörtlü her bağlantıda farklıdır: kaynak IP, kaynak port, hedef IP, hedef port.

Chrome : 192.168.20.45:53124  →  203.0.113.10:443
Edge   : 192.168.20.45:53125  →  203.0.113.10:443
SSH    : 192.168.20.45:53126  →  198.51.100.5:22

İlk iki satırda hedef aynı: aynı sunucu, aynı port. Onları kaynak port ayırıyor. İşletim sistemi bağlantıyı başlatırken o an boşta olan bir port numarası seçer. Numara yalnız bağlantı sürerken kullanılır, bağlantı bitince başka bir bağlantıya verilebilir. Bu yüzden ona geçici (ephemeral) port denir. Sunucunun portu ise hizmete göre bilinir: web için 443, SSH için 22.

Cevap gelirken kaynak ve hedef yer değiştirir:

İstek : 192.168.20.45:53124  →  203.0.113.10:443
Cevap : 203.0.113.10:443     →  192.168.20.45:53124

İşletim sistemi cevabın hedef portuna (53124) bakar ve cevabı Chrome’a teslim eder. Edge’in cevabı 53125’e gelir. Aynı bilgisayarda müzik, görüntülü konuşma ve tarayıcı aynı anda çalışırken cevapların birbirine karışmaması da buna dayanır.

6.2.2 Port aralıkları (sınav dışı)

TCP ve UDP port numaraları 0–65535 arasındadır.

  • 0–1023: well-known (iyi bilinen) portlar. Yaygın standart hizmetler bu aralıktadır (80, 443, 53, 22…).
  • Daha yüksek portlar başka hizmetlere ya da istemcilerin geçici bağlantılarına ayrılır.

Geçici port aralığı işletim sistemine göre değişir. Windows geçici portu 49152–65535 arasından seçer, örnekteki 53124 de oradan geliyor. Bu aralığı ezberlemen gerekmez.

6.3 Vaka 3: Neden DNS UDP, web TCP?

Bir öğrenci “UDP hızlıdır, o hâlde her şey UDP kullansın” diyor.

6.3.1 Kanıt ne söylüyor

TCP ve UDP, portlarla birlikte taşıma katmanında çalışan iki protokoldür. İkisi farklı güvence verir. Hangisinin seçileceğini hız tek başına belirlemez.

Özellik TCP UDP
Bağlantı Veri göndermeden önce karşı uçla bağlantı kurar Bağlantı kurmadan paketleri tek tek gönderir
Kayıp ve sıra Veriyi sıralar, kaybolanı yeniden gönderir Kaybolanı yeniden göndermez, sırayı korumaz
Ek yük Daha fazla Daha az
Örnek Web, SSH DNS sorguları, görüntülü konuşma

Ek yük, verinin kendisi dışında gidip gelen her şeydir: her pakete eklenen başlıklar ve iletişimi yönetmek için gönderilen mesajlar. TCP’de iki uç veri göndermeden önce birkaç mesajla birbirine hazır olduğunu bildirir, gelen veri için de onay gönderir.

Web neden TCP? Bir sayfanın yarısı eksik gelirse işe yaramaz. TCP kayıp parçayı yeniden gönderir ve sırayı düzeltir. HTTP/3 ise UDP’nin üstünde çalışan QUIC protokolünü kullanır. Kaybolanı yeniden gönderme ve sıraya koyma işini orada QUIC yapar, çünkü sayfa yine eksiksiz ve sıralı gelmek zorundadır.

DNS sorgusu neden UDP? Sorgu tek küçük bir pakete sığar, cevap da çoğu zaman öyle. TCP ile önce bağlantı kurmak, sonra kapatmak için sorgunun kendisinden çok daha fazla mesaj gerekirdi. Cevap gelmezse istemci yeniden sorar. Cevap UDP ile gönderilemeyecek kadar büyükse istemci aynı soruyu TCP 53 üzerinden yeniden sorar.

Görüntülü konuşma neden UDP? Kaybolan bir görüntü karesini birkaç saniye sonra yeniden göndermenin anlamı yok, o an geçmiştir. Görüntü bir an bozulur ama konuşma sürer.

Bu yüzden “UDP hızlıdır” demek yetmez. TCP daha çok güvence verir, UDP daha az ek yük getirir. Uygulama hangisine ihtiyaç duyuyorsa onu kullanır.

NotTCP neden güvenilir sayılır?

TCP, alıcının alabileceğinden fazlasını göndermemeye de dikkat eder. Bunun ve sıralamanın iç işleyişi sınavda sorulmaz. TCP’nin veriyi karşıya eksiksiz ve sırasıyla ulaştırmaya çalıştığını bilmen yeterli. Hat tamamen koparsa TCP de veriyi ulaştıramaz.

TCP güvenilirdir ama veriyi şifrelemez. Web trafiğini TLS şifreler.

6.4 Vaka 4: Paket sonsuza kadar dolaşırsa ne olur?

İki router yanlış yapılandırılmış ve paketi birbirine geri gönderiyor. Bilgisayardan ping atılınca şu cevap geliyor:

> ping 198.51.100.7
Reply from 10.0.0.2: TTL expired in transit.
Reply from 10.0.0.2: TTL expired in transit.

Bu paket ağda sonsuza kadar dolaşır mı?

6.4.1 Kanıt ne söylüyor

Hayır, çünkü IPv4 başlığında TTL (Time To Live) alanı vardır. Paketi gönderen bilgisayar bu alana bir başlangıç değeri yazar. Paket her router’dan geçtiğinde TTL bir azaltılır. Değer sıfıra ulaşınca router paketi atar ve gönderene “TTL bitti” mesajı yollayabilir. Çıktıdaki TTL expired in transit satırı bu mesajdır: cevabı hedef değil, paketi atan 10.0.0.2 router’ı veriyor.

Adında “time” geçse de TTL bir zaman ölçüsü değil, hop sayacıdır (hop: paketin bir router’dan geçmesi). Yanlış yönlendirme bununla düzelmez, ama yönlendirme döngüsüne giren, yani router’lar arasında gidip gelen bir paket sonsuza kadar dolaşamaz. IPv6’da aynı alanın adı Hop Limit’tir.

ping çıktısında 4. haftada gördüğün TTL=57 de bu alandır: cevap paketi sana ulaştığında TTL’den kalan değer.

Paketin geçtiği router’ları listeleyen tracert komutu (Linux ve macOS’ta traceroute) da bu davranıştan yararlanır. Ayrı ayrı paketler gönderir: ilkinin TTL’i 1, ikincisinin 2, üçüncüsünün 3 olur. Her seferinde TTL’i biten router “TTL bitti” mesajıyla kendini gösterir. Hedefe iki router üzerinden gidildiğini düşün:

TTL 1 → 1. router TTL'i 0 yapar, paketi atar, "TTL bitti" der   → 1. satır
TTL 2 → 2. router TTL'i 0 yapar, paketi atar, "TTL bitti" der   → 2. satır
TTL 3 → paket hedefe ulaşır, hedef cevap verir                  → son satır, tracert durur

Bazı router’lar “TTL bitti” mesajını göndermez, çıktıda onların yerinde yıldız görünür. 10. haftada bu çıktıyı yorumlayacağız.

ping ve “TTL bitti” mesajları ICMP protokolüyle gider. ICMP ağın hata ve kontrol mesajlarını taşır, port kullanmaz.

UyarıIP TTL hop sayar, DNS TTL süre sayar

DNS’te de TTL adında bir değer vardır: bir DNS kaydının önbellekte (bilgisayarın ya da DNS sunucusunun daha önce aldığı cevapları sakladığı yer) en çok kaç saniye tutulacağını söyler. İsim aynı, kavram farklı: IP TTL paketin router geçiş sayısını sınırlar, DNS TTL bir kaydın önbellek ömrünü belirler.

6.5 TCP/IP modelinin dört katmanı

Vakalarda gördüklerimizi TCP/IP’nin dört katmanına yerleştirelim:

TCP/IP katmanı Görevi Örnekler OSI karşılığı
Uygulama Uygulamaların birbiriyle nasıl konuşacağının kuralları HTTP, DNS, SSH 5–7
Taşıma Veriyi bir cihazdaki uygulamadan ötekindeki uygulamaya taşır TCP, UDP, portlar 4
İnternet IP adresiyle paketi ağdan ağa iletir IPv4, IPv6, TTL, ICMP 3
Ağ erişimi Veriyi yerel ağda kabloyla ya da radyo dalgasıyla taşır Ethernet, Wi-Fi 1–2

Port, TCP ve UDP taşıma katmanında, TTL internet katmanında durur. 3. ve 5. haftada gördüğün kablo, MAC adresi ve Wi-Fi ise ağ erişimi katmanının işidir. Bazı kaynaklar ağ erişimini fiziksel ve veri bağlantı diye ikiye ayırıp beş katman sayar. Bu derste dört katman kullanıyoruz.

6.6 Bir web isteğinin dört adımı

Tarayıcıya https://emrecan.dev yazdığında olanları dört adımda izleyebilirsin. Bilgisayarın ağa bağlı olduğunu, adın IP adresinin önbellekte olmadığını ve siteyle açık bir bağlantı bulunmadığını varsayalım:

Adım Ne olur Protokol ve port Bu bölümde
1. İsim çözme Bilgisayar emrecan.dev’in IP adresini DNS sunucusuna sorar UDP 53 Vaka 3
2. Bağlantı Bilgisayar geçici bir kaynak portundan sunucunun 443 portuna bağlanır, TLS ile şifrelemede anlaşılır TCP 443 Vaka 1 ve 2
3. İstek Tarayıcı HTTP isteğini bu bağlantı üzerinden gönderir TCP 443
4. Yanıt Sunucu sayfayı gönderir, kaybolan parçayı TCP yeniden gönderir TCP 443 Vaka 3

Dört adımın hepsinde paketleri IP taşır: paket varsayılan ağ geçidinden (gateway, yerel ağın dışarı açılan kapısı) ISP’nin (internet servis sağlayıcısı) ağına, oradan router’lar üzerinden sunucuya gider. Her router TTL’i bir azaltır (Vaka 4).

Bu adımlar arıza ararken de işe yarar. Tarayıcının ya da komutun verdiği hata mesajı, isteğin hangi adımda takıldığını gösterir:

Hata mesajı Takıldığı adım
DNS_PROBE_FINISHED_NXDOMAIN, Could not resolve host 1. İsim çözme: ad IP adresine çevrilemedi
ERR_CONNECTION_REFUSED, Connection refused 2. Bağlantı: karşıya ulaşıldı, o porttaki bağlantıya ret cevabı geldi
ERR_CONNECTION_TIMED_OUT, Connection timed out 2. Bağlantı: hiç cevap gelmedi. Yol kopuk, sunucu kapalı ya da bir kural paketi atıyor olabilir
404 Not Found, 500 Internal Server Error 4. Yanıt: bağlantı kuruldu, sunucu hata bildiren bir yanıt gönderdi

404 Not Found istenen sayfanın sunucuda bulunamadığını, 500 Internal Server Error sunucunun isteği işlerken kendi içinde hataya düştüğünü söyler. İkisinde de sunucu cevap vermiştir: ağ çalışıyor, sorun sitede.

Gerçek bir sayfa açılırken sayfadaki resim ve dosyalar için ek istekler, önbellek gibi başka ayrıntılar da vardır. Bu hafta yalnız temel akışa bakıyoruz. 12. haftada adımları komutlarla sınayacağız.

6.7 Ekranda ne gördük

Derste sınıf bilgisayarında iki komut çalıştırılır. Aşağıda örnek çıktıları var. Senin bilgisayarında adresler, süreler ve bağlantılar farklı çıkar. Terminali nasıl açacağın 1. haftanın “Terminal, komut ve iki ağ komutu” kısmında yazıyor. Test-NetConnection bir PowerShell komutudur, Komut İstemi’nde (cmd) çalışmaz. Başlat düğmesine sağ tıklayıp açtığın Terminal, PowerShell ile açılır. Listede Terminal yoksa Başlat menüsüne powershell yazıp Windows PowerShell’i aç.

> Test-NetConnection 1.1.1.1 -Port 443

ComputerName     : 1.1.1.1
RemoteAddress    : 1.1.1.1
RemotePort       : 443
InterfaceAlias   : Wi-Fi
SourceAddress    : 192.168.20.45
TcpTestSucceeded : True

> Test-NetConnection 1.1.1.1 -Port 22
WARNING: TCP connect to (1.1.1.1 : 22) failed

ComputerName           : 1.1.1.1
RemoteAddress          : 1.1.1.1
RemotePort             : 22
InterfaceAlias         : Wi-Fi
SourceAddress          : 192.168.20.45
PingSucceeded          : True
PingReplyDetails (RTT) : 18 ms
TcpTestSucceeded       : False

1.1.1.1 herkesin kullanabildiği bir DNS sunucusudur. Burada ona DNS sorusu sormuyoruz, yalnız iki porta TCP bağlantısı kurmayı deniyoruz. İlk komut 443 portuna bağlanır (TcpTestSucceeded : True), çünkü bu sunucu şifreli DNS için 443’te de dinliyor. İkinci komut 22 portunu dener ve başaramaz. Sonucu yazmadan önce 20 saniye kadar bekleyebilir. Aynı çıktıda PingSucceeded : True da var: sunucu ping’e cevap veriyor, ama 22’ye bağlantı kurulamıyor. Okulun ya da evin ağındaki kurallar bu sonuçları değiştirebilir. 4. haftadaki kuralı burada yeniden görüyorsun: ping çalışması bir hizmetin çalıştığını göstermez, çünkü ping port kullanmaz.

> netstat -n

Active Connections

  Proto  Local Address          Foreign Address        State
  TCP    192.168.20.45:53124    203.0.113.10:443       ESTABLISHED
  TCP    192.168.20.45:53125    203.0.113.10:443       ESTABLISHED
  TCP    192.168.20.45:53126    198.51.100.5:22        ESTABLISHED

netstat -n bilgisayarın o anda açık TCP bağlantılarını listeler. Her satır Vaka 2’deki dörtlüdür: Local Address bilgisayarın kendi IP adresi ve portu, Foreign Address karşı tarafın IP adresi ve portu. Bilgisayardan giden pakette bunlar kaynak ve hedeftir. ESTABLISHED bağlantının kurulduğunu gösterir. Türkçe Windows’ta başlıklar Türkçedir: Local Address yerine “Yerel Adres”, Foreign Address yerine “Yabancı Adres” yazar.

Senin listen bundan uzun olur. 127.0.0.1 ile başlayan satırlar bilgisayarın kendi içindeki bağlantılardır. HTTP/3 kullanan sitelerin bağlantısı UDP olduğu için bu listede görünmez. Daha önce açmadığın bir siteyi açıp komutu yeniden çalıştırırsan listeye kendi geçici portunu alan yeni satırlar eklenir.

6.8 Sınav provası

Önce kendi cevabını seç; sonra cevap anahtarında her şıkkın neden doğru veya yanlış olduğunu oku. Sınav soruları bu mantıkla yazılır.

1. IP adresi ile port numarası hangi iki farklı soruya cevap verir?

  • A. IP hangi cihaza, port hangi hizmete gidileceğini söyler
  • B. IP hangi hizmete, port hangi cihaza gidileceğini söyler
  • C. İkisi de aynı soruya cevap verir, biri yedektir
  • D. IP donanımı, port yazılımı tanımlar
  • E. IP yerel ağda, port internette kullanılır

2. 203.0.113.10 adresindeki sunucunun web sitesi https://203.0.113.10 ile açılıyor. Aynı sunucuya SSH ile bağlanmak isteyen teknisyen şu çıktıyı alıyor:

ssh: connect to host 203.0.113.10 port 22: Connection refused

Bu kanıt en çok hangi sonucu destekler?

  • A. SSH 443 portunu kullanır; istemci yanlış porta gidiyor
  • B. İsim çözme başarısız; sunucu adı bulunamıyor
  • C. Sunucu ayakta; TCP 22’ye yapılan bağlantı geri çevriliyor
  • D. Sunucunun ağ bağlantısı kopuk; kablo kontrol edilmeli
  • E. Sunucunun IP adresi yanlış; önce adres düzeltilmeli

3. HTTP, HTTPS ve DNS’in varsayılan portları hangileridir?

  • A. HTTP 80, HTTPS 22, DNS 53
  • B. HTTP 443, HTTPS 80, DNS 53
  • C. HTTP 80, HTTPS 8443, DNS 53
  • D. HTTP 80, HTTPS 443, DNS 67
  • E. HTTP 80, HTTPS 443, DNS 53

4. Aynı bilgisayardaki iki ayrı tarayıcı, Chrome ve Edge, aynı sunucunun aynı portuna TCP ile bağlanıyor. Gelen cevapların karışmamasını sağlayan nedir?

  • A. İşletim sisteminin her isteğe sıra numarası vermesi
  • B. Her tarayıcının ayrı bir IP adresi alması
  • C. DNS’in her tarayıcı için ayrı kayıt tutması
  • D. Her bağlantıya ayrı bir geçici kaynak portu verilmesi
  • E. Sunucunun her tarayıcıya farklı bir MAC adresi vermesi

5. DNS sorguları için çoğunlukla neden UDP tercih edilir?

  • A. TCP, DNS’in kullandığı 53 portunu desteklemez
  • B. Küçük bir sorgu için bağlantı kurmak fazla yüktür
  • C. DNS şifreleme gerektirmediği için UDP zorunludur
  • D. UDP paket kaybını kendisi telafi eder
  • E. UDP, TCP’den daha güvenilirdir

6. IP paketindeki TTL alanının temel amacı nedir?

  • A. Paketin ağda sonsuza kadar dolaşmasını önlemek
  • B. Paketin hangi router’lardan geçtiğini kaydetmek
  • C. Paketin şifrelenme süresini belirlemek
  • D. Bağlantının saniye cinsinden ömrünü ölçmek
  • E. DNS kaydının önbellekte kalma süresini belirlemek

7. Windows’taki tracert komutu (Linux ve macOS’ta traceroute) yol üzerindeki ara router’ları nasıl bulur?

  • A. Her router’a ayrı bir DNS sorgusu göndererek
  • B. Router’ların MAC adreslerini ARP ile toplayarak
  • C. ISP’nin router’larından yol bilgisini indirerek
  • D. Yol üzerindeki her router’a broadcast göndererek
  • E. Paketlerin TTL’ini birer birer artırarak

8. OSI modelindeki fiziksel katman ile veri bağlantı katmanı, TCP/IP modelinde hangi katmanın içinde yer alır?

  • A. Taşıma
  • B. Ağ erişimi
  • C. Veri bağlantı
  • D. İnternet
  • E. Uygulama

9. Tarayıcıda https://example.com açılırken aşağıdaki dört adım hangi sırayla gerçekleşir?

  • A. İsim çözme → İstek → Bağlantı → Yanıt
  • B. İstek → İsim çözme → Bağlantı → Yanıt
  • C. İsim çözme → Bağlantı → İstek → Yanıt
  • D. Bağlantı → İsim çözme → İstek → Yanıt
  • E. İsim çözme → Bağlantı → Yanıt → İstek

10. Bir öğrenci okulun sitesini açmaya çalışıyor, tarayıcı ERR_CONNECTION_REFUSED gösteriyor. Aynı sitenin adı nslookup ile IP adresine çevrilebiliyor. İstek web isteğinin hangi adımında takıldı?

  • A. Ağ erişimi: bilgisayarın Wi-Fi bağlantısı kopuk
  • B. İsim çözme: DNS sitenin adresini bulamadı
  • C. İstek: tarayıcı HTTP isteğini yanlış yazdı
  • D. Bağlantı: sunucu o porta bağlantıyı reddetti
  • E. Yanıt: sunucu hata sayfası gönderdi

1. Doğru: A. 192.0.2.20:443 gösteriminde IP cihazı, port o cihazdaki hizmeti (uygulama ucunu) belirler.

  • B yanlış: İki soru da doğru, ama cevapları yer değiştirmiş. Cihazı IP adresi, o cihazdaki hizmeti port belirler.
  • C yanlış: İkisi de adreste yan yana yazıldığı için aynı bilginin parçaları sanılabilir. Ama farklı sorulara cevap verirler; biri diğerinin yedeği değildir.
  • D yanlış: Port bir uygulamayı gösterdiği için IP’nin de donanımı gösterdiği sanılabilir. Ama IP adresi cihaza ağda verilen bir adrestir; ağ kartının donanım adresi MAC adresidir.
  • E yanlış: Port örnekleri çoğu zaman web siteleriyle verildiği için internete özgü sanılabilir. Ama portlar yerel ağdaki iletişimde de kullanılır.

2. Doğru: C. Connection refused, isteğin karşıya ulaştığını ve o porta yapılan bağlantıya ret cevabı geldiğini söyler. Web aynı adresten 443 üzerinden cevap verdiğine göre cihaz ayakta; sorun 22 numaralı portta. Ya orada dinleyen bir SSH hizmeti yok ya da bir güvenlik kuralı bağlantıyı reddediyor.

  • A yanlış: İkisi de şifreli bağlantı olduğu için aynı portu kullandıkları sanılabilir. Ama SSH’in standart portu TCP 22’dir. 443 HTTPS’in portudur; web bu yüzden çalışıyor.
  • B yanlış: Bağlanamama belirtisinde DNS sık suçlanır. Ama komut doğrudan IP adresiyle çalıştırılmış; isim çözmeye hiç gerek kalmamış.
  • D yanlış: Alttan başlama alışkanlığı kabloyu ilk adım yapar. Ama kablo kopuk olsaydı ne web açılırdı ne de reddetme cevabı gelirdi. Kanıt fiziksel bağlantı sorununu dışarıda bırakıyor.
  • E yanlış: Bağlantı reddedilince yanlış yere gidildiği düşünülebilir. Ama web sitesi aynı adresten açılıyor; teknisyen doğru sunucuya bağlanmaya çalışıyor.

3. Doğru: E. Şifresiz web TCP 80’i, TLS ile şifrelenmiş web TCP 443’ü kullanır. DNS sorguları çoğunlukla UDP 53 ile gider; gerektiğinde TCP 53 de kullanılır.

  • A yanlış: HTTPS ve SSH ikisi de şifreli bağlantı olduğu için portları karışabilir. Ama 22 SSH’in portudur; HTTPS 443’ü kullanır.
  • B yanlış: İki web portu da akılda kaldığı için hangisinin şifreli olduğu karışabilir. Ama şifreli web (HTTPS) 443’tür, şifresiz HTTP 80’dir.
  • C yanlış: Bazı adreslerde :8443 görüldüğü için HTTPS’in portu sanılabilir. Ama 8443, bazı yöneticilerin HTTPS için seçtiği başka bir porttur; HTTPS’in varsayılan portu 443’tür.
  • D yanlış: DNS ve DHCP ikisi de ağa bağlanırken çalışan hizmetler olduğu için portları karışabilir. Ama 67 DHCP’nin portudur; DNS 53’ü kullanır.

4. Doğru: D. İşletim sistemi bağlantıyı başlatırken her birine farklı bir geçici (ephemeral) kaynak portu seçer. TCP bağlantıları kaynak IP, kaynak port, hedef IP ve hedef port dörtlüsüyle ayırt edilir. Cevap, kendi bağlantısının kaynak portuna geri gelir.

  • A yanlış: TCP’de gerçekten sıra numaraları olduğu için bu şık tanıdık gelir. Ama sıralama TCP içinde her bağlantı için ayrı yapılır; bağlantıları ayıran, IP ve port dörtlüsüdür.
  • B yanlış: Her tarayıcı ayrı bir bağlantı açtığı için ayrı adres alıyor sanılabilir. Oysa iki tarayıcı da bilgisayarın aynı IP adresinden çıkar.
  • C yanlış: Site açılırken önce ad çözüldüğü için DNS’in tarayıcıları takip ettiği düşünülebilir. Ama DNS isim çözer, bağlantı ayırt etmez.
  • E yanlış: MAC de bir adres olduğu için ayırt edici sanılabilir. Ama MAC adresi yalnız yerel ağda geçerlidir; sunucu kimseye MAC adresi dağıtmaz.

5. Doğru: B. DNS sorgusu ve cevabı çoğu zaman tek küçük bir pakete sığar. Bunun için bağlantı kurup kapatmak, işin kendisinden çok daha fazla mesaj gerektirir.

  • A yanlış: DNS çoğunlukla UDP 53 ile anıldığı için TCP’de bu port yok sanılabilir. Oysa DNS gerektiğinde TCP 53’ü de kullanır.
  • C yanlış: Klasik DNS sorguları gerçekten şifresiz gittiği için UDP seçimi şifresizliğe bağlanabilir. Ama şifreleme ile taşıma protokolü seçimi ayrı konulardır.
  • D yanlış: DNS sorguları kaybolsa da sonunda cevap geldiği için UDP’nin telafi ettiği sanılır. Ama UDP telafi etmez; gerekirse istemci sorguyu yeniden gönderir.
  • E yanlış: Bir protokol tercih ediliyorsa daha iyi olduğu sanılır. Ama teslimi garanti etmeye çalışan TCP’dir.

6. Doğru: A. TTL, yönlendirme döngüsüne giren bir paketin sonsuza kadar dolaşmasını önler. Her router geçişinde bir azaltılır; sıfıra ulaşınca paket atılır.

  • B yanlış: tracert TTL’den yararlanarak yolu gösterdiği için TTL’in yolu kaydettiği sanılabilir. Ama TTL bir sayaçtır; geçilen router’ların listesini tutmaz.
  • C yanlış: Adı “süre” çağrıştırdığı için şifreleme gibi bir işin süresiyle ilişkilendirilebilir. Ama TTL’in şifrelemeyle ilgisi yoktur, router geçişlerini sayar.
  • D yanlış: Açılımı “Time To Live” olduğu için saniye cinsinden bir süre sanılır. Oysa IP TTL bir hop sayacıdır, saniye ölçüsü değil.
  • E yanlış: Bu tanım DNS TTL’ye aittir. İsim aynı olduğu için iki kavram sık karıştırılır. DNS TTL bir kaydın önbellekte kaç saniye tutulacağını söyler, IP TTL ise router geçişlerini sınırlar.

7. Doğru: E. Ayrı ayrı paketler gönderilir: önce TTL’i 1, sonra 2, sonra 3 olan. Her seferinde TTL’i biten bir sonraki router “TTL bitti” cevabı verir ve yol üzerindeki router’lar sırayla görünür. TTL hedefe yetecek kadar büyüyünce hedef cevap verir ve komut durur.

  • A yanlış: tracert çıktısında router adları da görüldüğü için DNS’in yolu bulduğu sanılabilir. Ama DNS yalnız adla adres arasında çeviri yapar; paketin izlediği yolu bulmaz.
  • B yanlış: ARP komşu cihazları bulduğu için yol keşfine de yarıyor sanılabilir. Ama ARP yalnız aynı yerel ağda çalışır.
  • C yanlış: Yolun büyük kısmı ISP ağından geçtiği için bilginin oradan geldiği düşünülebilir. Ama böyle bir mekanizma yoktur.
  • D yanlış: “Herkese sormak” bilinmeyen bir şeyi bulmanın yolu gibi görünür. Ama broadcast yerel ağın dışına çıkmaz; router onu öteki ağlara geçirmez.

8. Doğru: B. TCP/IP modelinin en alttaki katmanı ağ erişimidir. Yerel bağlantıyı (Ethernet, Wi-Fi) kapsar ve OSI’deki 1. ile 2. katmanın işini birlikte görür.

  • A yanlış: “Taşıma” adı, verinin kabloda taşınmasını düşündürebilir. Ama bu katman veriyi portlarla doğru uygulamaya ulaştırır; OSI’deki 4. katmana karşılık gelir.
  • C yanlış: Bu ad OSI’den tanıdık geldiği için seçilebilir. Ama veri bağlantı katmanı OSI’nin 2. katmanıdır; TCP/IP modelinin dört katmanı arasında bu adla bir katman yoktur.
  • D yanlış: İnternet katmanı da alttaki katmanlardan biri olduğu için akla gelebilir. Ama bu katman IP adresleriyle ağlar arası iletimi yapar; OSI’deki 3. katmana karşılık gelir.
  • E yanlış: Katmanlar yukarıdan sayılınca sıra karışabilir. Uygulama en üstteki katmandır ve OSI’nin 5–7. katmanlarını kapsar.

9. Doğru: C. Önce ad IP’ye çevrilir, çünkü bağlantı için hedef IP gerekir. Sonra o IP’nin 443 portuna bağlanılır. Bağlantı üzerinden HTTP isteği gider, en son sunucu yanıt verir.

  • A yanlış: Tarayıcı isteği adres yazılır yazılmaz hazırladığı için istek bağlantıdan önce gidiyor gibi görünür. Ama HTTP isteği ancak kurulmuş bir bağlantının üzerinden gönderilebilir.
  • B yanlış: Kullanıcının ilk işi adresi yazmak olduğu için istek ilk adım sanılabilir. Ama ağa çıkan ilk iş, adın IP’ye çevrilmesidir.
  • D yanlış: Web trafiği TCP ile taşındığı için işin bağlantıyla başladığı sanılabilir. Ama bağlantı kurmak için hedefin IP adresi gerekir; bu adres isim çözmeyle öğrenilir.
  • E yanlış: Bağlantı kurulunca sunucunun hemen veri gönderdiği düşünülebilir. Ama sunucu ne istendiğini bilmeden yanıt veremez; önce tarayıcının isteği gelir.

10. Doğru: D. Ad IP adresine çevrildiğine göre isim çözme geçildi. Connection refused, karşıya ulaşıldığını ama o porta yapılan bağlantının geri çevrildiğini söyler. İstek ve yanıt adımına hiç gelinmedi.

  • A yanlış: Bağlanamama belirtisinde akla önce kendi bağlantımız gelir. Ama nslookup bir DNS sunucusundan cevap aldı; bilgisayar ağa bağlı.
  • B yanlış: Site açılmayınca ilk akla gelen DNS’tir. Ama nslookup adı IP’ye çevirebildi; isim çözme çalışıyor.
  • C yanlış: Hata tarayıcıda göründüğü için tarayıcının bir şeyi yanlış gönderdiği sanılabilir. Ama bağlantı kurulmadan HTTP isteği hiç gönderilemez.
  • E yanlış: Ekranda bir hata göründüğü için sunucunun hata yanıtı verdiği düşünülebilir. Ama sunucunun hata yanıtı 404 ya da 500 gibi bir HTTP koduyla gelir; burada bağlantı hiç kurulmadı.

6.9 Tek sayfa özet

  • TCP/IP’nin dört katmanı yukarıdan aşağıya: uygulama, taşıma, internet, ağ erişimi. Port, TCP ve UDP taşıma katmanında; IP, TTL ve ICMP internet katmanındadır.
  • IP adresi hangi cihaza, port o cihazdaki hangi uygulamaya gidileceğini söyler. Tek IP üzerinde onlarca bağlantı bu sayede karışmaz.
  • Bir TCP bağlantısı dört değerle tanınır: kaynak IP, kaynak port, hedef IP, hedef port.
  • Bilinmesi gereken portlar: HTTP 80, HTTPS 443, DNS 53, SSH 22. Aralık sınırları sınav dışı.
  • Sunucunun portu hizmete göre bilinir. İstemcinin portu geçicidir (ephemeral): işletim sistemi bağlantıyı başlatırken seçer.
  • TCP veriyi sıralar ve kaybolanı yeniden gönderir. UDP daha az ek yük getirir. “UDP hızlıdır” demek yetmez.
  • IP TTL bir hop sayacıdır: döngüye giren paketin sonsuza kadar dolaşmasını önler. tracert TTL’i 1, 2, 3 diye artırarak yolu çıkarır. DNS TTL ise bir kaydın önbellekte kaç saniye tutulacağını söyler.
  • Web isteği: isim çözme → bağlantı → istek → yanıt. Hata mesajı hangi adımda takıldığını gösterir.
  • Connection refused: karşıya ulaşıldı, o porttaki bağlantı reddedildi. Zaman aşımında hiç cevap gelmez. ping port kullanmaz.

6.10 Bu bölümün kazanımları

Bu bölümü bitiren öğrenci:

  • IP adresi ile portun farklı sorulara cevap verdiğini açıklar.
  • Temel hizmet portlarını (HTTP, HTTPS, DNS, SSH) tanır ve kapalı port belirtisini yorumlar.
  • Geçici (ephemeral) port ile bağlantıların nasıl ayırt edildiğini açıklar.
  • TCP ile UDP’nin farklı güvenceler verdiğini gerekçelendirir.
  • IP TTL’in amacını açıklar ve DNS TTL ile karıştırmaz.
  • TCP/IP katmanlarını sıralar ve bir kavramın hangi katmana ait olduğunu belirler.
  • Bir web isteğinin adımlarını sıralar ve hata mesajını doğru adıma bağlar.
Başa dön