MTU nedir? IP fragmentation nasıl çalışır ve Path MTU Discovery neden sorun çıkarabilir?

Cevap

MTU (Maximum Transmission Unit), bir linkin taşıyabileceği en büyük L3 paket boyutudur. Ethernet'te varsayılan 1500 byte'tır. TCP için MSS = MTU − 40 (IP 20 + TCP 20) = 1460 byte.

IPv4 fragmentation

Paket, çıkış arayüzünün MTU'sundan büyükse router onu parçalara böler. Header'daki alanlar:

  • Identification: Aynı paketin parçalarını eşleştirir.
  • Flags: DF (Don't Fragment), MF (More Fragments).
  • Fragment Offset: 8 byte birimleriyle parçanın yeri.

Birleştirme (reassembly) yalnızca hedef host'ta yapılır. Fragmentation CPU yükü getirir; tek parça kaybolursa tüm paket yeniden gönderilir.

Path MTU Discovery (PMTUD)

Kaynak DF=1 ile gönderir. Yoldaki router paketi geçiremezse düşürür ve ICMP Type 3 Code 4 (Fragmentation Needed) ile izin verilen MTU'yu bildirir. IPv6'da router hiç fragment etmez; ICMPv6 Packet Too Big gönderir.

Klasik sorun: PMTUD black hole

Bir firewall tüm ICMP'yi engellerse kaynak uyarıyı hiç almaz. Sonuç: TCP el sıkışması başarılı olur, küçük istekler çalışır ama büyük yanıtlar (web sayfası, dosya) takılır. Bu, VPN, GRE ve PPPoE (1492) gibi overhead ekleyen yollarda çok yaygındır.

Çözümler

! Cisco: tünel arayüzünde TCP MSS'i düşür
interface Tunnel0
 ip mtu 1400
 ip tcp adjust-mss 1360
# Yol MTU'sunu test et (Linux): 1472 + 28 = 1500
ping -M do -s 1472 8.8.8.8
  • ICMP Type 3 Code 4'ü firewall'da izinli bırakın.
  • Datacenter'da jumbo frame (9000) kullanılıyorsa uçtan uca tüm cihazlarda aynı olmalıdır.
  1. OSI modelinin katmanları nelerdir?KolayAğ TemelleriNetwork
  2. TCP ile UDP arasındaki fark nedir?KolayAğ TemelleriNetwork
  3. TCP üçlü el sıkışma (three-way handshake) nasıl çalışır?KolayAğ TemelleriNetwork
  4. 192.168.10.0/26 ağında alt ağ maskesi nedir ve kaç kullanılabilir host vardır?OrtaAğ TemelleriNetwork
  5. Tarayıcıya bir adres yazdığınızda DNS çözümlemesi nasıl gerçekleşir?OrtaAğ TemelleriNetwork
  6. Bilinmesi gereken yaygın port numaraları nelerdir? HTTP ve HTTPS arasındaki fark nedir?KolayAğ TemelleriNetwork

Bu konuda başka bir soru biliyor musun?

Mülakatta karşılaştığın soruları ekle, onaylandıktan sonra yayına alınsın.

Soru ekle