İçeriğe geç

TCP/IP Protokolleri

İnternette bir web sayfasını açtığınızda, e-posta gönderdiğinizde ya da görüntülü görüşme yaptığınızda, verileriniz farklı üreticilerin cihazlarından, farklı işletim sistemlerinden ve farklı ülkelerdeki ağlardan geçer. Bu kadar farklı sistemin birbirini sorunsuz anlayabilmesi, hepsinin aynı kurallara uymasıyla mümkün olur. Bu ortak kurallar bütününe TCP/IP denir.

TCP/IP, adını en önemli iki protokolünden alır: TCP (Transmission Control Protocol, İletim Kontrol Protokolü) ve IP (Internet Protocol, İnternet Protokolü). Ancak TCP/IP yalnızca bu ikisinden ibaret değildir; web’den e-postaya, dosya aktarımından alan adı çözümlemesine kadar internetteki neredeyse her iletişimi düzenleyen onlarca protokolden oluşan bir ailedir. Bu yazıda TCP/IP’nin nasıl ortaya çıktığını, katmanlarını, en önemli protokollerini ve günlük internet kullanımında nasıl çalıştığını ayrıntılı olarak ele alıyoruz.

TCP/IP’nin Kısa Tarihçesi

TCP/IP’nin temelleri, 1970’lerin başında ABD Savunma Bakanlığı’nın desteklediği ARPANET projesi kapsamında atıldı. Vint Cerf ve Bob Kahn, 1974’te farklı ağları birbirine bağlayabilecek bir protokolün tasarımını yayımladı. Bu çalışma, bugün kullandığımız TCP/IP’nin temelini oluşturdu.

ARPANET, 1 Ocak 1983’te eski protokolünü bırakıp tamamen TCP/IP’ye geçti. Bu tarih, birçok kaynakta modern internetin doğum günü olarak kabul edilir. Sonraki yıllarda TCP/IP, açık ve ücretsiz bir standart olması sayesinde rakip ağ protokollerinin önüne geçti ve bugün internetin, şirket ağlarının ve ev ağlarının neredeyse tamamında kullanılan ortak dil haline geldi.

TCP/IP Katmanları

TCP/IP, iletişim sürecini katmanlara ayırır. Her katman belirli bir işten sorumludur ve yalnızca bir üstündeki ve bir altındaki katmanla etkileşime girer. Bu yapı sayesinde örneğin Wi-Fi yerine fiber bağlantıya geçtiğinizde, tarayıcınızın veya e-posta programınızın hiçbir şeyi değiştirmesi gerekmez.

TCP/IP modeli dört katmandan oluşur:

TCP/IP katmanıGöreviÖrnek protokollerOSI modelindeki karşılığı
UygulamaKullanıcı uygulamalarının ihtiyaç duyduğu hizmetlerHTTP, DNS, SMTP, SSHUygulama, Sunum, Oturum
TaşımaUygulamalar arasında verinin taşınmasıTCP, UDP, QUICTaşıma
İnternetVerinin ağlar arasında adreslenmesi ve yönlendirilmesiIP, ICMPAğ
Ağ Erişim (Bağlantı)Verinin fiziksel ortam üzerinden iletilmesiEthernet, Wi-Fi, ARPVeri Bağlantısı, Fiziksel

Ağ eğitimlerinde sık karşılaşılan OSI modeli ise yedi katmandan oluşur. OSI daha çok öğretim ve kavramsal çerçeve için kullanılırken, gerçek dünyada çalışan sistem TCP/IP’dir.

Kapsülleme: Veri Katmanlardan Nasıl Geçer?

Bir veri gönderildiğinde, her katman kendi bilgisini verinin başına bir başlık olarak ekler:

  1. Uygulama katmanı gönderilecek veriyi hazırlar; örneğin tarayıcı bir web sayfası isteği oluşturur.
  2. Taşıma katmanı veriyi parçalara böler ve her parçaya hangi uygulamaya ait olduğunu gösteren port numaralarını ekler. Bu parçaya segment denir.
  3. İnternet katmanı kaynak ve hedef IP adreslerini ekler. Artık elimizde bir paket vardır.
  4. Ağ erişim katmanı yerel ağda kullanılacak donanım (MAC) adreslerini ekler ve paketi bir çerçeve (frame) halinde fiziksel ortama gönderir.

Alıcı tarafta süreç tersine işler: Her katman kendi başlığını okuyup çıkarır ve kalan veriyi bir üst katmana iletir. Bu işleme kapsülleme ve kapsül açma denir.

Ağ Erişim Katmanı

Bu katman, verinin kablo, fiber veya radyo dalgaları üzerinden bir cihazdan diğerine fiziksel olarak iletilmesiyle ilgilenir. Ethernet (kablolu ağlar) ve Wi-Fi (kablosuz ağlar) bu katmanın en bilinen teknolojileridir.

ARP (Address Resolution Protocol): Yerel ağda bir IP adresinin hangi cihaza, yani hangi MAC adresine ait olduğunu bulur. Bilgisayarınız modeme veri göndermek istediğinde, modemin IP adresini bilir ama MAC adresini ARP ile öğrenir. ARP, IPv4 ağlarında kullanılır; IPv6’da bu görevi NDP (Neighbor Discovery Protocol) üstlenir.

Eski kaynaklarda sık geçen RARP, bir cihazın MAC adresinden kendi IP adresini öğrenmesi için geliştirilmişti. Bu görev yıllar önce önce BOOTP, ardından DHCP tarafından devralındı ve RARP bugün kullanılmıyor.

İnternet Katmanı

Bu katmanın görevi, verinin farklı ağlar arasında doğru hedefe ulaşmasını sağlamaktır.

IP (Internet Protocol): TCP/IP’nin kalbidir. Her pakete kaynak ve hedef adresini yazar ve paketlerin ağlar arasında yönlendirilmesini sağlar. IP, paketlerin hedefe ulaşacağını garanti etmez; yalnızca en iyi çabayı gösterir. Güvenilirlik, üstteki TCP katmanının işidir. IP’nin iki sürümü vardır: IPv4 ve IPv6. IP adreslerinin yapısını [IP adresi nedir] ve [IPv6 nedir] yazılarımızda ayrıntılı olarak anlattık.

ICMP (Internet Control Message Protocol): Hata ve durum mesajlarını iletir. Bir hedefe ulaşılamadığında veya bir paket yolda zaman aşımına uğradığında gönderene haber veren protokol ICMP’dir. Bağlantı testlerinde kullandığımız ping ve tracert (Linux ve Mac’te traceroute) komutları ICMP’ye dayanır.

Yönlendirme protokolleri: Router’ların birbirleriyle bilgi paylaşarak paketler için en uygun yolu bulmasını sağlar. OSPF (Open Shortest Path First), kurum ağlarında en yaygın kullanılan yönlendirme protokolüdür. İnternetin omurgasında, farklı servis sağlayıcıların ağlarını birbirine bağlayan protokol ise BGP‘dir (Border Gateway Protocol). Eski ve basit ağlarda kullanılan RIP ise günümüzde yerini büyük ölçüde OSPF’ye bırakmıştır.

IGMP (Internet Group Management Protocol): Bir cihazın çok noktaya yayın (multicast) gruplarına katılmasını ve ayrılmasını sağlar. IPTV yayınları gibi aynı içeriğin çok sayıda alıcıya aynı anda gönderildiği durumlarda kullanılır.

Taşıma Katmanı

Bu katman, verinin hangi uygulamaya ait olduğunu belirler ve iletimin nasıl yapılacağına karar verir. İnternetteki trafiğin neredeyse tamamı üç protokolden biriyle taşınır.

TCP: Güvenilir ve Sıralı İletim

TCP, verinin eksiksiz ve doğru sırayla ulaşmasını garanti eder. Bunu şu mekanizmalarla sağlar:

  • Üç yönlü el sıkışma: İki cihaz veri göndermeden önce bağlantı kurar. Gönderen bir SYN mesajı yollar, alıcı SYN-ACK ile cevap verir, gönderen de ACK ile onaylar.
  • Onay mekanizması: Alıcı, aldığı her veri parçası için onay gönderir. Onayı gelmeyen parçalar yeniden gönderilir.
  • Sıralama: Paketler farklı yollardan farklı sırayla gelse bile, TCP onları doğru sıraya dizer.
  • Akış ve tıkanıklık kontrolü: Gönderici, alıcının ve ağın kapasitesine göre gönderim hızını ayarlar.

Web sayfaları, e-postalar ve dosya indirmeleri gibi verinin eksiksiz ulaşmasının şart olduğu işlerde TCP kullanılır.

UDP: Hızlı ve Hafif İletim

UDP, bağlantı kurmadan ve onay beklemeden veri gönderir. Bir paket kaybolursa yeniden gönderilmez. Bu da onu TCP’ye göre çok daha hızlı ve hafif kılar.

Birkaç paketin kaybolmasının, gecikmeden daha az sorun yarattığı durumlarda UDP tercih edilir: Sesli ve görüntülü görüşmeler, çevrimiçi oyunlar, canlı yayınlar ve DNS sorguları bunun tipik örnekleridir. Görüntülü görüşmede bir anlık görüntü kaybı fark edilmez, ama her kayıp paketin yeniden gönderilmesini beklemek görüşmeyi takılır hale getirirdi.

QUIC: Yeni Nesil Taşıma Protokolü

Google tarafından geliştirilen ve daha sonra standart haline gelen QUIC, UDP üzerinde çalışır ama TCP’nin güvenilirlik özelliklerini ve şifrelemeyi kendi içinde barındırır. Bağlantıyı TCP’ye göre daha hızlı kurar ve özellikle mobil ağlarda, Wi-Fi ile mobil veri arasında geçiş yaparken bağlantının kopmamasını sağlar. HTTP/3, QUIC üzerinde çalışır ve bugün büyük sitelerin önemli bir kısmı bu protokolü kullanıyor.

Port Numaraları

Bir bilgisayarda aynı anda çok sayıda uygulama internete bağlanır. Taşıma katmanı, gelen verinin hangi uygulamaya ait olduğunu port numaralarıyla belirler. IP adresini bir binanın adresine, port numarasını ise daire numarasına benzetebiliriz.

Sık kullanılan port numaraları:

PortProtokolKullanım
20, 21FTPDosya aktarımı
22SSH / SFTPGüvenli uzak bağlantı ve dosya aktarımı
25SMTPSunucular arası e-posta iletimi
53DNSAlan adı çözümleme
67, 68DHCPOtomatik IP adresi dağıtımı
80HTTPŞifresiz web trafiği
110 / 995POP3 / POP3SE-posta alma
123NTPSaat senkronizasyonu
143 / 993IMAP / IMAPSE-posta alma ve senkronizasyon
443HTTPSŞifreli web trafiği
587SMTP (gönderim)E-posta istemcilerinden gönderim
3389RDPWindows uzak masaüstü

Uygulama Katmanı

Kullanıcıların doğrudan etkileşimde bulunduğu hizmetler bu katmanda yer alır.

HTTP ve HTTPS: Web sayfalarının ve web uygulamalarının iletişim protokolüdür. HTTPS, HTTP trafiğini TLS (Transport Layer Security) protokolüyle şifreler; böylece girdiğiniz şifreler ve kart bilgileri aradaki kişiler tarafından okunamaz. Günümüzde web trafiğinin büyük çoğunluğu HTTPS ile şifrelenmiş durumda. HTTP’nin sürümleri de zaman içinde gelişti: HTTP/1.1 uzun yıllar standarttı, HTTP/2 tek bağlantı üzerinden birden fazla isteği aynı anda iletmeyi mümkün kıldı, HTTP/3 ise TCP yerine QUIC kullanarak daha hızlı bağlantı sağlıyor.

DNS: Alan adlarını IP adreslerine çevirir. Genellikle UDP üzerinden çalışır, büyük cevaplarda TCP’ye geçer. Şifreli DNS protokolleri (DoH, DoT) ise HTTPS ve TLS üzerinde çalışır. Ayrıntılar için [DNS ayarları] rehberimize göz atabilirsiniz.

DHCP: Ağa bağlanan cihazlara IP adresi, alt ağ maskesi, ağ geçidi ve DNS sunucusu bilgilerini otomatik olarak dağıtır. UDP üzerinden çalışır. İşleyişini DHCP nedir yazımızda anlattık.

E-posta protokolleri: SMTP, e-postaların gönderilmesi ve sunucular arasında iletilmesi için kullanılır. E-posta almak için iki protokol vardır: POP3, e-postaları sunucudan indirip genellikle sunucudan siler; IMAP ise e-postaları sunucuda tutarak telefon, bilgisayar ve tablet gibi birden fazla cihazda senkronize görüntülenmesini sağlar. Günümüzde birden fazla cihaz kullanımı yaygın olduğu için IMAP çok daha sık tercih ediliyor.

FTP, FTPS ve SFTP: FTP, dosya aktarımı için geliştirilmiş eski bir protokoldür ve kullanıcı adı ile şifreyi dahil tüm veriyi şifresiz gönderir. FTPS, FTP’ye TLS şifrelemesi eklenmiş halidir. SFTP ise adı benzese de tamamen farklı bir protokoldür ve SSH üzerinde çalışır. Web sitesi dosyalarınızı sunucuya yüklerken mümkünse SFTP kullanmanızı öneririz.

SSH ve Telnet: Her ikisi de uzaktaki bir bilgisayarda komut çalıştırmak için kullanılır. Telnet tüm trafiği, şifreler dahil, düz metin olarak gönderdiği için bugün güvensiz kabul edilir. Yerini tamamen şifreli çalışan SSH almıştır.

NTP: Cihazların saatlerini internet üzerinden senkronize eder. Şifreli bağlantıların ve güvenlik sertifikalarının doğru çalışması için doğru saat bilgisi kritik öneme sahiptir.

Bir Web Sayfası Açılırken TCP/IP’nin Rolü

TCP/IP katmanlarının birlikte nasıl çalıştığını görmek için tarayıcınıza bir site adresi yazdığınızda olanları özetleyelim:

  1. DNS sorgusu (Uygulama, UDP): Tarayıcı, sitenin IP adresini öğrenmek için DNS sunucusuna sorar.
  2. Bağlantı kurulumu (Taşıma): Tarayıcı, sitenin sunucusuyla 443 numaralı port üzerinden TCP el sıkışması yapar. Site HTTP/3 destekliyorsa bu adım QUIC ile gerçekleşir.
  3. Şifreleme (Uygulama): TLS el sıkışmasıyla şifreli oturum başlatılır.
  4. İstek (Uygulama): Tarayıcı, HTTP isteğiyle sayfayı ister.
  5. Yönlendirme (İnternet): Paketler, IP adresleri sayesinde modeminizden servis sağlayıcınıza, oradan internet omurgasındaki router’lar üzerinden sunucuya ulaşır.
  6. Fiziksel iletim (Ağ Erişim): Her adımda paketler Wi-Fi, Ethernet veya fiber üzerinden bir sonraki cihaza iletilir.
  7. Cevap: Sunucu sayfayı aynı katmanlardan geçirerek geri gönderir; tarayıcınız sayfayı görüntüler.

Bir veri paketinin internetteki yolculuğunu adım adım IP adresi nedir yazımızda da ele aldık.

TCP/IP Sorunlarını Tespit Etmek İçin Kullanışlı Komutlar

Bağlantı sorunlarını anlamak için işletim sisteminizde hazır bulunan birkaç komut işinizi kolaylaştırır:

  • ipconfig (Windows) / ip a (Linux) / ifconfig (Mac): IP adresinizi, alt ağ maskenizi, ağ geçidinizi ve DNS sunucularınızı gösterir.
  • ping ip-adres.com: Hedefin erişilebilir olup olmadığını ve cevap süresini gösterir.
  • tracert ip-adres.com (Windows) / traceroute (Linux, Mac): Paketlerin hedefe giderken hangi router’lardan geçtiğini ve sorunun hangi noktada başladığını gösterir.
  • nslookup ip-adres.com: DNS çözümlemesinin çalışıp çalışmadığını test eder.
  • netstat -an: Bilgisayarınızdaki açık bağlantıları ve dinlenen portları listeler.

Sık Sorulan Sorular

TCP/IP ile internet aynı şey mi?
Hayır. İnternet, dünya çapındaki ağların birbirine bağlanmasıyla oluşan fiziksel ve mantıksal yapıdır. TCP/IP ise bu ağların birbiriyle iletişim kurmasını sağlayan protokoller bütünüdür.

TCP mi UDP mi daha iyi?
İkisi farklı ihtiyaçlar için tasarlanmıştır. Verinin eksiksiz ulaşması gerekiyorsa TCP, hızın öncelikli olduğu ve küçük kayıpların tolere edilebildiği durumlarda UDP tercih edilir.

OSI modeli ile TCP/IP modeli arasındaki fark nedir?
OSI yedi katmanlı kavramsal bir modeldir ve ağ eğitiminde referans olarak kullanılır. TCP/IP ise dört katmanlı, gerçek hayatta çalışan protokol ailesidir.

Ev kullanıcısının TCP/IP ayarlarıyla uğraşması gerekir mi?
Genellikle hayır. Modeminiz DHCP ile tüm ayarları otomatik olarak yapar. Yalnızca DNS değiştirmek, sabit IP tanımlamak veya bağlantı sorunlarını gidermek gibi durumlarda bu ayarlara müdahale etmeniz gerekir.

HTTPS tamamen güvenli mi?
HTTPS, sizinle site arasındaki trafiği şifreler ve aradaki kişilerin verilerinizi okumasını engeller. Ancak sitenin kendisinin güvenilir olduğunu garanti etmez. Oltalama siteleri de HTTPS kullanabilir; bu yüzden adres çubuğundaki alan adını kontrol etmeye devam etmelisiniz.