Atlas Network Engineer • • 1.088 kelime • 6 dk okuma
MTU Kara Deliği Krizi: İnternet Neden %99'da Takılır?
Google açılırken bazı sitelerin takılmasının gizli nedeni: MTU boyutu, kaybolan ICMP paketleri ve TCP MSS clamping ile kurtuluş anatomisi.
Kısa Özet (TL;DR — Doğrudan Yanıt): Web siteleri yüklenirken ilerleme çubuğunun sonda takılıp kalması genelde hız yetersizliğinden kaynaklanmaz. Yol üzerindeki dar bir ağ geçidinin izin verdiğinden daha büyük veri paketleri gönderildiğinde ve uyarı sinyalleri güvenlik duvarlarınca yutulduğunda bağlantı donar. Bu durum ağ dünyasında MTU kara deliği olarak adlandırılır. Sorun, paket boyut limitlerinin tünel sınırlarına göre otomatik veya manuel dengelenmesiyle çözülür.
Otoyol Tüneli: Spor Araba Geçer, Kargo Tırı Takılır
İnternet veri akışı, standart tünellerle dolu bir otoyola benzer. Bu yoldaki tünel yüksekliği sınırına MTU (Maximum Transmission Unit - En Büyük İletim Birimi) denir. Standart Ethernet ağlarında bu tavan yüksekliği tam 1500 bayttır.
Küçük veri paketleri hafif spor arabalar gibidir. DNS sorguları, web sayfası metin parçaları ve onay sinyalleri tünellerden rahatça geçer. Büyük kargo tırları ise görsel dosyalar ve indirme bloklarıdır; 1500 baytlık tavan sınırını sonuna kadar zorlarlar.
Yol üstünde bir VPN veya şifreli tünel devreye girdiğinde tünel tavanı alçalır. Kargo tırı girişe çarpar, geçemez ve trafik durur.
Paket Parçalama, PMTUD ve Sessiz Kara Delik
Büyük paket tünelden sığmadığında iki seçenek vardır: Paket ya küçük parçalara bölünür ya da çöpe atılır. Modern işletim sistemleri performansı korumak için paketlere "Beni Parçalama" (DF - Don't Fragment) bayrağı ekler.
Sistem normalde Yol MTU Keşfi (PMTUD - Path MTU Discovery) mekanizmasıyla çalışır. Dar geçide gelen yönlendirici, paketi atar ve geriye bir ICMP (İnternet Denetim Mesajı Protokolü) Tip 3 Kodu 4 hata mesajı yollar. Mesaj açıkça şunu der: "Paket sığmadı, en fazla 1420 bayt gönder."
Hata mesajı göndericiye ulaşırsa sorun çözülür; gönderici paket boyutunu küçültür. Fakat paranoyak güvenlik duvarları bazen tüm ICMP paketlerini saldırı sanıp engeller. Uyarı mesajı çöpe gidince gönderici paketin ulaştığını sanıp bekler, yanıt gelmeyince aynı dev paketi tekrar yollar. Tarayıcıda sayfa %99 seviyesinde sonsuza kadar döner; bu duruma "MTU Kara Deliği" denir.
[Gönderici] ---(1500 Bayt / DF=1)---> [VPN / PPPoE Girişi (MTU: 1420)]
|
[Paket Sığmadı!]
|
[Gönderici] <---(ICMP: Sığmadı, Küçült)--- [Güvenlik Duvarı: BLOKLANDI!]
|
(Geri bildirim yok -> Gönderici sonsuz döngüde aynı paketi yeniden dener -> Bağlantı donar)
Çözüm Yolları: İstemci, Yönlendirici ve Tünel Dengeleme
MTU kara deliğini aşmak için üç temel müdahale noktası bulunur:
- İstemci MTU Boyutunu Düşürmek: Bilgisayarın ağ kartı sınırını elle 1420 bayta çekmek sorunu anında çözer. Binlerce cihaz olan ofislerde tek tek ayar yapmak imkansızdır.
- Yönlendirici Düzeyinde TCP MSS Clamping: Ağ geçidi, geçen bağlantı başlatma paketlerini izler. Paket içindeki maksimum veri boyutunu (MSS) dar tünele uyacak şekilde otomatik küçültür. İstemcide hiçbir ayar gerektirmez.
- Tünel Ek Yükünü Optimize Etmek: WireGuard, IPsec veya GRE protokollerinin paket başına eklediği başlık payını doğru hesaplayıp baştan pay bırakmak.
Ağınızı optimize ederken tünel gecikmelerini hesaplamak için İnteraktif Simülasyon Araçları altyapısından faydalanabilirsiniz.
| Yöntem | Uygulama Yeri | Bakım Zorluğu | Kesin Çözüm mü? |
|---|---|---|---|
| İstemci MTU Ayarı | Uç Cihaz (PC, Telefon) | Çok Yüksek (Her cihaz ayrı) | Evet (Yalnızca o cihazda) |
| TCP MSS Clamping | Ana Ağ Geçidi / Router | Sıfır (Merkezi çözüm) | Evet (TCP trafiği için) |
| Tünel MTU Ayarı | VPN Sunucusu | Düşük (Tek nokta) | Kısmen (ICMP açıksa) |
2 Dakikada Teşhis ve iptables Çözümü
Darboğazı bulmak için paket parçalamayı yasaklayarak ping testi yapılır.
Windows üzerinde paket sınırını bulma komutu:
ping erdemovali.com -f -l 1472
Bu komut 28 baytlık IP ve ICMP başlıklarıyla birlikte tam 1500 baytlık test paketi gönderir.
Linux yönlendiricide MTU kara deliğini kalıcı çözmek için tek bir kural yeterlidir:
iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
Bu kural, yönlendiriciden geçen tüm TCP bağlantı el sıkışmalarındaki segment boyutunu yol üzerindeki en küçük MTU değerine otomatik eşitler.
Ağ Efsaneleri: Hız Artışı ve ICMP Paranoyası
İnternet aboneliğini 100 Mbps'den 1000 Mbps seviyesine çıkarmak MTU kara deliklerini çözmez. Otoyolu sekiz şeride çıkarmak, tünel girişindeki yükseklik bariyerini yükseltmez; kamyon yine tavana çarpar. Bant genişliği hacimdir; MTU tavan sınırıdır.
İkinci efsane, güvenlik adına yönlendiricilerde tüm ICMP paketlerinin kapatılması gerektiği inancıdır. Ping yanıtlarını kapatmak anlaşılabilir bir tercihtir. Tip 3 (Hedefe Ulaşılamadı) paketlerini toptan engellemek internetin kendi kendini onarma yeteneğini felç eder. Modern mimariler hakkında daha fazlası AI Playground arşivinde yer almaktadır.
Gerçek Hayat Vakası: Zoom Çalışırken Çöken VPN
Global bir yazılım şirketi tüm çalışanlarını IPsec tabanlı yeni kurumsal VPN sistemine geçirdi. Ertesi gün ilk kriz patlak verdi: Slack mesajlaşmaları ve Zoom görüntülü aramaları kusursuz çalışıyordu. Çalışanlar sunucuya 10 MB üzeri proje dosyası yüklemeye kalktığında aktarım anında %99 seviyesinde kilitleniyordu.
Canlı görüşmeler UDP protokolü kullanıyordu ve paketleri zaten 1200 bayt civarında tutuyordu; tünelden rahatça geçiyorlardı. Büyük dosya yüklemeleri ise TCP protokolüyle 1500 bayt sınırını dolduruyordu. Şirket güvenlik duvarı ICMP paketlerini sildiği için sunucu dosyanın neden iletilmediğini anlayamıyordu. Ağ yöneticileri VPN çıkışına TCP MSS clamping kuralı girdiği saniye dosya aktarımları normale döndü.
Sıkça Sorulan Sorular (SSS)
Neden Google açılırken bazı siteler hiç açılmaz?
Büyük teknoloji şirketleri sunucularında MTU kara deliklerini önceden tahmin eder. İstemciden uyarı gelmese dahi MSS boyutunu baştan temkinli ve küçük tutarlar. Standart web siteleri ve kurumsal portallar ise varsayılan 1500 bayt ayarında kalır. Dar tünelli bir ağdan bağlandığınızda büyük siteler açılırken optimize edilmemiş siteler tünel tavanına çarparak yüklenemez.
PPPoE bağlantısı paket boyutundan tam olarak ne çalar?
Türkiye'deki DSL ve fiber altyapıların çoğunda kullanıcı doğrulaması için PPPoE protokolü kullanılır. Standart Ethernet çerçevesi 1500 bayttır. PPPoE protokolü kendi oturum yönetimi için bu çerçevenin içine 8 baytlık ek başlık sıkıştırır. Kullanabileceğiniz net alan 1492 bayta düşer. Yönlendiriciniz bu 8 baytlık farkı hesaba katmazsa paketler parçalanır ve bağlantıda takılmalar başlar.
Ev yönlendiricileri MSS Clamping işlemini otomatik yapar mı?
Servis sağlayıcıların verdiği güncel modem ve yönlendiricilerin büyük kısmı PPPoE bağlantısı algılandığında MSS değerini otomatik olarak 1452 bayta sınırlar. OpenWrt, Keenetic veya Asus gibi gelişmiş cihazlar bu clamping ayarını varsayılan olarak açık tutar. Eski veya yazılımı hatalı ucuz yönlendiricilerde bu özellik kapalı gelebilir; bu durumda elle MTU ve MSS ayarı gerekir.
UDP trafiği MTU kara deliğinden nasıl etkilenir?
UDP protokolünde bağlantı onayı veya akış denetimi bulunmaz. Büyük bir UDP paketi dar bir geçide çarptığında yönlendirici paketi sessizce çöpe atar. TCP gibi bağlantıyı askıya alıp tekrar tekrar denemez; veri doğrudan buharlaşır. Ses ve video görüşmeleri paket kaybı yaşar, çevrim içi oyunlarda anlık kopmalar ve karakter ışınlanmaları gözlemlenir.
MTU değerini doğrudan 1200 gibi çok düşük bir sayıya çekmek mantıklı mı?
MTU boyutunu gereğinden fazla düşürmek kara delik sorununu tamamen çözer ancak yeni bir verimsizlik yaratır. Her veri paketinin başında en az 40 baytlık IP ve TCP başlığı bulunur. Paket boyutunu aşırı küçülttüğünüzde tünelden geçen faydalı yük azalır, başlık trafiği artar. Ağ kartınız ve işlemciniz saniyede çok daha fazla paket işlemek zorunda kalarak gereksiz yere yorulur.