TCP/IP Protokolü
TCP/IP modelinin katmanlarını, paketlerin ağda nasıl taşındığını, TCP ve UDP farklarını, IP adresleme, yönlendirme, DNS, DHCP, ARP ve temel ağ analizini adım adım öğrenin.
1. TCP/IP Nedir?
TCP/IP, internet ve modern bilgisayar ağlarında cihazların birbiriyle iletişim kurmasını sağlayan protokol ailesidir.
TCP/IP tek bir protokol değil; IP, TCP, UDP, ICMP, ARP, DNS, DHCP ve HTTP gibi çok sayıda protokolün birlikte çalıştığı bir modeldir.
IP paketin hedefe ulaşmasını, TCP veya UDP ise uygulamalar arasındaki veri taşımayı sağlar.
2. TCP/IP Modeli
| Katman | Görevi | Örnek protokoller |
|---|---|---|
| Application | Uygulamaların ağ servislerini kullanmasını sağlar. | HTTP, HTTPS, DNS, SSH, SMTP |
| Transport | Uygulamalar arası veri taşımayı yönetir. | TCP, UDP |
| Internet | Adresleme ve yönlendirme işlemlerini yapar. | IPv4, IPv6, ICMP |
| Network Access | Veriyi fiziksel veya kablosuz ağda iletir. | Ethernet, Wi-Fi, ARP |
3. TCP/IP ve OSI Karşılaştırması
| TCP/IP | OSI karşılığı |
|---|---|
| Application | Application, Presentation, Session |
| Transport | Transport |
| Internet | Network |
| Network Access | Data Link ve Physical |
TCP/IP modeli gerçek ağlarda daha yaygın kullanılır; OSI modeli ise kavramsal öğrenme ve sorun giderme için güçlü bir referanstır.
4. Veri Ağda Nasıl Taşınır?
Uygulama Verisi
↓
TCP Segmenti / UDP Datagramı
↓
IP Paketi
↓
Ethernet Frame
↓
Bitler
Gönderici tarafta her katman kendi başlık bilgisini ekler. Alıcı tarafta bu başlıklar ters sırayla çıkarılır.
5. IP Protokolü
IP, paketlerin kaynak cihazdan hedef cihaza yönlendirilmesini sağlar.
- Bağlantısız çalışır.
- Teslim garantisi vermez.
- Paketler farklı yollardan gidebilir.
- Adresleme ve yönlendirme işlevini üstlenir.
6. IPv4
IPv4 adresleri 32 bittir ve noktalı ondalık biçimde yazılır.
192.168.1.25
Bir IPv4 adresi ağ ve host bölümlerinden oluşur.
7. IPv6
IPv6 adresleri 128 bittir ve daha geniş adres alanı sağlar.
2001:db8:1234::25
- Daha büyük adres alanı
- Daha sade başlık yapısı
- Otomatik adres yapılandırma desteği
- Broadcast yerine multicast kullanımı
8. Özel IP Adresleri
| Aralık | Kullanım |
|---|---|
| 10.0.0.0/8 | Özel ağ |
| 172.16.0.0/12 | Özel ağ |
| 192.168.0.0/16 | Özel ağ |
| 127.0.0.0/8 | Loopback |
| 169.254.0.0/16 | Link-local |
9. Subnet ve CIDR
Subnet, bir IP ağını daha küçük mantıksal ağlara ayırır.
| CIDR | Mask | Kullanılabilir host |
|---|---|---|
| /24 | 255.255.255.0 | 254 |
| /25 | 255.255.255.128 | 126 |
| /26 | 255.255.255.192 | 62 |
| /27 | 255.255.255.224 | 30 |
10. Default Gateway
Default gateway, cihazın kendi yerel ağı dışındaki hedeflere gönderdiği paketlerin ilk yönlendiricisidir.
ip route
Örnek:
default via 192.168.1.1 dev eth0
11. Yönlendirme Mantığı
Bir cihaz paket gönderirken hedef IP'nin kendi subnet'i içinde olup olmadığını kontrol eder.
- Hedef aynı ağdaysa doğrudan gönderir.
- Hedef farklı ağdaysa paketi default gateway'e gönderir.
- Router, routing tablosuna göre paketin sonraki yolunu belirler.
12. TCP Protokolü
TCP, bağlantı odaklı ve güvenilir veri iletimi sağlar.
- Bağlantı kurulumu yapar.
- Paket sırasını korur.
- Kayıp paketleri yeniden gönderir.
- Akış ve tıkanıklık kontrolü uygular.
13. TCP Three-Way Handshake
İstemci → SYN
Sunucu → SYN/ACK
İstemci → ACK
Bu üç adım tamamlandığında TCP bağlantısı kurulmuş olur.
14. TCP Bayrakları
| Bayrak | Anlamı |
|---|---|
| SYN | Bağlantı başlatır. |
| ACK | Alınan veriyi onaylar. |
| FIN | Bağlantıyı düzgün şekilde kapatır. |
| RST | Bağlantıyı aniden sıfırlar. |
| PSH | Verinin uygulamaya hızlı iletilmesini ister. |
| URG | Acil veri bulunduğunu belirtir. |
15. Sequence ve Acknowledgment Numaraları
TCP, verinin doğru sırada teslim edilmesi için sequence ve acknowledgment numaralarını kullanır.
- Sequence: Gönderilen verinin konumunu belirtir.
- Acknowledgment: Bir sonraki beklenen byte numarasını belirtir.
16. TCP Window ve Akış Kontrolü
TCP window, alıcının aynı anda ne kadar veri kabul edebileceğini belirtir.
Bu mekanizma, hızlı göndericinin yavaş alıcıyı aşırı yüklemesini engeller.
17. UDP Protokolü
UDP, bağlantısız ve düşük gecikmeli veri taşır.
- Bağlantı kurulumu yoktur.
- Teslim garantisi yoktur.
- Sıralama garantisi yoktur.
- Daha düşük ek yük oluşturur.
DNS, VoIP, yayın ve çevrimiçi oyunlarda yaygın kullanılır.
18. TCP ve UDP Karşılaştırması
| Özellik | TCP | UDP |
|---|---|---|
| Bağlantı | Bağlantı odaklı | Bağlantısız |
| Teslim garantisi | Var | Yok |
| Sıralama | Var | Yok |
| Ek yük | Daha yüksek | Daha düşük |
| Örnek | HTTP, SSH | DNS, VoIP |
19. Port Numaraları
Port numarası, aynı IP adresinde çalışan farklı uygulamaları ayırır.
| Port | Protokol/Servis |
|---|---|
| 20/21 | FTP |
| 22 | SSH |
| 25 | SMTP |
| 53 | DNS |
| 67/68 | DHCP |
| 80 | HTTP |
| 123 | NTP |
| 443 | HTTPS |
20. Socket Kavramı
Bir socket genellikle IP adresi, port numarası ve taşıma protokolünün birleşimidir.
192.168.1.25:443/TCP
21. ICMP
ICMP, ağ hata ve kontrol mesajlarını taşır.
Ping testi:
ping -c 4 192.168.1.1
22. ARP
ARP, yerel ağdaki IPv4 adresini MAC adresine eşler.
ip neigh
23. DNS
DNS, alan adlarını IP adreslerine dönüştürür.
dig example.com
24. DHCP
DHCP, cihazlara otomatik ağ yapılandırması dağıtır.
Discover
Offer
Request
Acknowledge
25. NAT ve PAT
NAT, özel IP adreslerini genel IP adreslerine dönüştürür.
PAT, birden fazla cihazın aynı genel IP üzerinden farklı portlarla internete çıkmasını sağlar.
26. MTU ve Fragmentation
MTU, bir ağ bağlantısında parçalanmadan taşınabilecek en büyük paket boyutudur.
Ethernet ağlarında yaygın MTU değeri:
1500 byte
Paket MTU değerinden büyükse parçalanabilir veya daha küçük boyutta yeniden gönderilmesi gerekebilir.
27. TTL
TTL, bir IP paketinin geçebileceği maksimum router sayısını sınırlar.
Her router geçişinde TTL bir azalır. Sıfıra ulaştığında paket düşürülür.
28. Checksum
Checksum, paket başlığı veya veride bozulma olup olmadığını kontrol etmek için kullanılır.
TCP ve UDP checksum değerleri taşıma sırasında oluşan hataları tespit etmeye yardımcı olur.
29. Temel TCP/IP Komutları
| Komut | Açıklama |
|---|---|
ip addr | IP adreslerini gösterir. |
ip route | Routing tablosunu gösterir. |
ip neigh | ARP tablosunu gösterir. |
ss -lntup | TCP/UDP portlarını gösterir. |
ping | ICMP testi yapar. |
dig | DNS sorgusu yapar. |
traceroute | Paket yolunu gösterir. |
30. TCP ve UDP Bağlantılarını Görme
Dinleyen TCP ve UDP portlarını görmek için:
sudo ss -lntup
Aktif TCP bağlantıları:
ss -tn
31. tcpdump ile Paket Görüntüleme
Kendi ağ arayüzünüzde temel paket yakalama:
sudo tcpdump -i eth0 -c 20
Yalnızca TCP paketleri:
sudo tcpdump -i eth0 tcp -c 20
Yalnızca size ait veya analiz izni verilmiş trafiği yakalayın.
32. Wireshark Filtreleri
| Filtre | Açıklama |
|---|---|
tcp | TCP trafiği |
udp | UDP trafiği |
icmp | ICMP trafiği |
dns | DNS trafiği |
tcp.port == 443 | 443 numaralı TCP portu |
ip.addr == 192.168.1.25 | Belirli IP adresi |
33. Uygulamalı TCP/IP Laboratuvarı
ip -br addrile IP adresinizi görüntüleyin.ip routeile default gateway'i bulun.- Gateway'e ping gönderin.
ip neighile ARP kaydını inceleyin.dig example.comile DNS sorgusu yapın.ss -tnile aktif TCP bağlantılarını görün.- Wireshark'ta
tcp,udpvednsfiltrelerini deneyin. - Bir HTTPS bağlantısının TCP handshake paketlerini bulun.
34. TCP/IP Sorun Giderme Sırası
- Ağ arayüzü aktif mi?
- Geçerli IP adresi var mı?
- Subnet maskesi doğru mu?
- Gateway erişilebilir mi?
- Genel IP adresine erişim var mı?
- DNS çözümlemesi çalışıyor mu?
- Hedef port dinliyor mu?
- Firewall trafiği engelliyor mu?
35. Hızlı Kontrol Listesi
| Alan | Kontrol |
|---|---|
| IP | Adres ve CIDR doğru mu? |
| Gateway | Default route var mı? |
| ARP | Yerel hedefin MAC adresi çözülüyor mu? |
| DNS | Alan adı IP'ye dönüşüyor mu? |
| TCP | Handshake tamamlanıyor mu? |
| Port | Hedef servis dinliyor mu? |
| Firewall | Gerekli trafik izinli mi? |
36. Sonuç
Bu dokümanda TCP/IP katmanları, IPv4 ve IPv6, subnet, gateway, routing, TCP, UDP, portlar, ICMP, ARP, DNS, DHCP, NAT, MTU ve temel ağ analiz komutları ele alındı.
TCP/IP mantığını öğrenmek; ağ sorunlarını çözmek, sunucu yönetmek, Docker ağlarını anlamak ve güvenlik analizleri yapmak için güçlü bir temel sağlar.