İnternette bir web sayfası açtığınızda, e-posta gönderdiğinizde ya da görüntülü görüşme yaptığınızda, arka planda veriyi taşıyan ortak bir kurallar sistemi çalışır: TCP/IP. Farklı marka ve işletim sistemindeki milyarlarca cihazın birbirini anlayabilmesini sağlayan bu yapı, internetin temel dilidir.
Bu yazıda TCP/IP’nin ne olduğunu, hangi katmanlardan oluştuğunu, TCP ile UDP arasındaki farkı ve günlük hayatta sık karşılaşılan protokolleri anlatıyoruz.
TCP/IP ne anlama gelir?
TCP/IP, “Transmission Control Protocol / Internet Protocol” ifadesinin kısaltmasıdır. Türkçede İletim Kontrol Protokolü ve İnternet Protokolü anlamına gelir. Adında yalnızca iki protokol geçse de TCP/IP aslında birlikte çalışan onlarca protokolden oluşan bir ailedir. Bu yüzden çoğu zaman “TCP/IP protokol takımı” olarak da anılır.
Bu ailede her protokolün kendine ait bir görevi vardır. IP, verinin hangi adrese gideceğini belirler. TCP, verinin eksiksiz ve doğru sırayla ulaşmasını sağlar. HTTP, web sayfalarının aktarılmasını, DNS ise alan adlarının IP adreslerine çevrilmesini üstlenir.
TCP/IP nasıl ortaya çıktı?
TCP/IP, 1970’lerde Vint Cerf ve Bob Kahn tarafından, farklı bilgisayar ağlarının birbirine bağlanabilmesi amacıyla geliştirildi. İnternetin öncüsü sayılan ARPANET, 1 Ocak 1983’te tamamen TCP/IP’ye geçti. Bu tarih, bugünkü internetin doğum günlerinden biri olarak kabul edilir. TCP/IP’nin açık ve herkesin kullanabileceği bir standart olması, internetin dünya çapında hızla yayılmasında belirleyici oldu.
TCP/IP modelinin katmanları
TCP/IP, işi dört katmana böler. Her katman yalnızca kendi görevine odaklanır ve bir üstteki ya da alttaki katmanla iletişim kurar.
1. Uygulama katmanı
Kullanıcının doğrudan etkileşimde bulunduğu katmandır. Tarayıcınız, e-posta programınız ya da mesajlaşma uygulamanız bu katmandaki protokolleri kullanır. HTTP, HTTPS, DNS, SMTP ve FTP bu katmanın en bilinen protokolleridir.
2. Taşıma katmanı
Verinin iki cihaz arasında nasıl taşınacağını belirler. Veriyi küçük parçalara böler, hangi uygulamaya ait olduğunu port numaralarıyla işaretler ve gerekirse eksik parçaların yeniden gönderilmesini sağlar. Bu katmanın iki temel protokolü TCP ve UDP’dir.
3. İnternet katmanı
Veri paketlerine gönderen ve alıcı IP adreslerini ekler ve paketlerin ağlar arasında doğru yolu bulmasını sağlar. IPv4, IPv6 ve hata mesajları için kullanılan ICMP bu katmanda çalışır. İki IP sürümü arasındaki farkları IPv4 – IPv6 Nedir? yazımızda bulabilirsiniz.
4. Ağ erişim katmanı
Verinin fiziksel ortamda, yani kablo ya da kablosuz bağlantı üzerinden iletilmesini sağlar. Ethernet, Wi-Fi ve IP adreslerini cihazların donanım (MAC) adresleriyle eşleştiren ARP bu katmanda yer alır.
Veri katmanlar arasında nasıl ilerler?
Bir web sayfasını açtığınızda istek yukarıdan aşağıya doğru ilerler. Uygulama katmanı HTTP isteğini hazırlar. Taşıma katmanı bu isteği parçalara bölüp port bilgisini ekler. İnternet katmanı her parçaya IP adreslerini yazar. Ağ erişim katmanı ise paketleri kablo ya da Wi-Fi üzerinden modeme gönderir.
Her katman, veriyi bir zarfa koyup üzerine kendi bilgisini yazar gibi çalışır. Bu işleme kapsülleme (encapsulation) denir. Karşı taraftaki sunucu, zarfları ters sırayla açarak isteğe ulaşır ve yanıtı aynı yoldan geri gönderir.
TCP ve UDP arasındaki fark
Taşıma katmanındaki iki protokol, farklı ihtiyaçlara göre tasarlanmıştır.
TCP, bağlantı odaklı ve güvenilir bir protokoldür. Veri gönderilmeden önce iki cihaz arasında “üçlü el sıkışma” (three-way handshake) adı verilen bir bağlantı kurulur. Gönderilen her paketin ulaşıp ulaşmadığı kontrol edilir, kaybolan paketler yeniden gönderilir ve paketler doğru sırayla birleştirilir. Web sayfaları, e-postalar ve dosya indirmeleri gibi verinin eksiksiz ulaşması gereken işlerde TCP kullanılır.
UDP ise bağlantı kurmadan ve teslimatı kontrol etmeden veri gönderir. Bu yüzden daha hızlıdır ama bazı paketler kaybolabilir. Görüntülü görüşme, canlı yayın, çevrim içi oyunlar ve DNS sorguları gibi hızın birkaç kayıp paketten daha önemli olduğu durumlarda UDP tercih edilir. Web’in en yeni sürümü HTTP/3 de UDP üzerinde çalışan QUIC protokolünü kullanır.
Sık kullanılan TCP/IP protokolleri
| Protokol | Görevi | Varsayılan port |
|---|---|---|
| HTTP | Web sayfalarının aktarılması | 80 |
| HTTPS | Web sayfalarının şifreli aktarılması | 443 |
| DNS | Alan adlarının IP adreslerine çevrilmesi | 53 |
| SMTP | E-posta gönderimi | 25 / 587 |
| IMAP | E-postaların sunucudan okunması | 143 / 993 |
| FTP | Dosya aktarımı | 21 |
| SSH | Sunuculara güvenli uzaktan erişim | 22 |
| DHCP | Cihazlara otomatik IP adresi verilmesi | 67 / 68 |
Eskiden uzaktan erişim için kullanılan TELNET, verileri şifrelemeden gönderdiği için bugün yerini büyük ölçüde SSH’ye bırakmıştır.
TCP/IP ile OSI modeli arasındaki fark
Ağ eğitimlerinde sık karşılaşılan OSI modeli, iletişimi yedi katmanda anlatan kuramsal bir çerçevedir. TCP/IP ise gerçek dünyada kullanılan, daha sade bir modeldir. OSI’deki uygulama, sunum ve oturum katmanları TCP/IP’de tek bir uygulama katmanında birleşir. Fiziksel katman ile veri bağı katmanı da TCP/IP’de ağ erişim katmanı olarak ele alınır. Kısacası OSI, ağları anlamak için bir öğretim aracı olarak kullanılırken, internet TCP/IP ile çalışır.
TCP/IP’yi günlük hayatta nasıl görürsünüz?
TCP/IP’nin izlerini sitemizdeki araçlarda da görebilirsiniz. ip-numaram.net anasayfasında gördüğünüz IP adresi, İnternet katmanının size verdiği adrestir. DNS sorgulama aracı, uygulama katmanındaki DNS protokolünü kullanarak bir alan adının kayıtlarını getirir. Hız testindeki ping değeri ise İnternet katmanındaki ICMP protokolüne dayanan bir ölçümün kullanıcı dostu karşılığıdır.
IP adresinin ne olduğunu ve nasıl bir yapıya sahip olduğunu IP Numarası Nedir? yazımızda ayrıntılı olarak anlattık.
Sıkça sorulan sorular
TCP/IP bir program mı?
Hayır. TCP/IP, cihazların birbiriyle nasıl haberleşeceğini belirleyen kurallar bütünüdür. Windows, macOS, Android ve iOS gibi tüm işletim sistemlerinde yerleşik olarak bulunur.
TCP/IP ayarlarını değiştirmem gerekir mi?
Genellikle hayır. Cihazınız IP adresini ve diğer ayarları modemden otomatik olarak alır. Yalnızca DNS sunucusunu değiştirmek gibi özel durumlarda ayar yapmanız gerekebilir.
TCP mi daha iyi, UDP mi?
İkisi farklı ihtiyaçlar için vardır. Verinin eksiksiz ulaşması gerekiyorsa TCP, hız öncelikliyse UDP kullanılır.