MSS Clamping Nedir ve Ne Zaman Gerekir?

MSS Clamping, TCP bağlantısı kurulurken ilan edilen MSS (Maximum Segment Size) değerini ağ yolunun taşıyabileceği IP paketi boyutuna uyacak biçimde düşüren işlemdir. En çok VPN veya tünel ek başlıkları nedeniyle kullanılabilir MTU daraldığında ve uç cihazlar bu daralmayı doğru biçimde öğrenemediğinde kullanılır.
Bu yöntemin amacı, karşı tarafın yolun taşıyamayacağı kadar büyük TCP veri bölümleri göndermesini baştan sınırlamaktır. İşlem yalnız TCP için geçerlidir; UDP paketlerinde MSS seçeneği bulunmaz ve MSS Clamping bütün IP trafiğini küçülten genel bir ayar değildir.
MSS Clamping işlemi veri paketlerini sonradan parçalara ayırmaz. Bağlantının başlangıcındaki MSS ilanını değiştirir; böylece karşı uç, göndereceği TCP verisini daha küçük bölümlere ayırır.
TCP MSS Değerinin Bağlantı Kurulumundaki Rolü
TCP’nin üç aşamalı bağlantı kurulumu, bağlantı isteği taşıyan SYN, isteği kabul eden SYN-ACK ve son ACK paketleriyle tamamlanır. Her uç, SYN işareti taşıyan ilk paketinde kendi alım sınırını MSS seçeneğinde bildirebilir. MSS yalnız TCP veri yükünü ifade eder; IP ve TCP başlıkları bu değerin içinde değildir. Bir uç daha düşük bir MSS ilan ederse karşı taraf, o yöne gönderdiği TCP verisini bu üst sınırı aşmayacak biçimde paketlemelidir.
Bağlantının iki yönü birbirinden bağımsızdır. İstemcinin ilan ettiği MSS, sunucunun istemciye gönderdiği bölümleri; sunucunun ilan ettiği MSS ise istemcinin sunucuya gönderdiği bölümleri sınırlar. Bu nedenle ağ geçidindeki bir MSS Clamping kuralının SYN ve SYN-ACK trafiğine hangi yönde uygulandığı, sorunun yalnız indirme, yalnız yükleme veya her iki yönde görülmesini etkileyebilir.
Tünel ve VPN Başlıklarının Paket Boyutuna Etkisi
Ethernet, mobil erişim veya geniş alan bağlantıları belirli büyüklükte IP paketleri taşıyabilir. IPsec tabanlı VPN, GRE (Generic Routing Encapsulation) ve bir IP paketini başka bir IP paketi içinde taşıyan IP-in-IP gibi tünelleme yöntemleri asıl pakete dış başlıklar ekler. IPsec, IP trafiğini kimlik doğrulama ve gerektiğinde şifrelemeyle korur; GRE ise ağ paketlerini başka bir IP paketi içinde kapsüller. Alt bağlantının MTU değeri değişmiyorsa bu ek başlıklar nedeniyle tünelin içinde taşınabilecek IP paketine daha az alan kalır.
Uç cihaz iç arayüzün daha büyük MTU değerini temel alırsa tünelden geçerken sınırı aşan paketler oluşabilir. Ağ yolu doğru geri bildirim gönderirse PMTUD (Path MTU Discovery) gönderenin paket boyutunu düşürmesini sağlar. Geri bildirim kaybolursa veya güvenlik cihazları gerekli ICMP mesajlarını engellerse büyük paketler düşebilir ve TCP aynı boyutta veriyi tekrar tekrar göndermeyi deneyebilir.
MSS Clamping Gerektirebilen Bağlantı Sorunları
MSS Clamping yalnız bağlantının yavaş olması nedeniyle uygulanmamalıdır. Sorunun paket boyutuyla ilişkili olduğuna işaret eden belirtiler birlikte değerlendirilmelidir.
- VPN veya tünel kapalıyken çalışan bağlantının tünel açıldığında takılması
- TCP el sıkışmasının tamamlanmasına rağmen web sayfasının, dosya aktarımının veya oturumun büyük veri geldiğinde durması
- Küçük ping paketleri ya da kısa etkileşimler çalışırken toplu veri aktarımının zaman aşımına uğraması
- Belirli yönlerde yoğun yeniden iletim görülmesi ve daha küçük paketlerle aktarımın devam edebilmesi
- Ağ yolundaki “paket çok büyük” geri bildirimlerinin gönderilmemesi, engellenmesi veya kaynağa ulaşmaması
Bu belirtiler, MTU black hole (MTU kara deliği) olarak bilinen sorundan kaynaklanabilir: Yol daha küçük paket gerektirir, ancak gönderen bu sınırı öğrenemez. Yine de aynı belirtiler güvenlik duvarı, paket kaybı, hatalı yönlendirme veya uygulama sorunlarından da kaynaklanabilir. Bu nedenle MSS Clamping kararı vermeden önce ölçüm yapmak ve paket akışını incelemek gerekir.
MTU, MSS ve PMTUD Arasındaki Farklar
MTU, tek bir ağ bağlantısının taşıyabildiği IP paketinin üst sınırıdır. Yol MTU değeri, kaynak ile hedef arasındaki bağlantıların MTU değerlerinden en küçüğüdür. MSS ise tek bir TCP bölümündeki veri miktarının üst sınırıdır. Bu nedenle MSS, IP ve TCP başlıklarına yer bırakacak biçimde ilgili MTU değerinden daha küçük olur.
Klasik PMTUD, gönderenin ağ yolundaki en küçük MTU değerini ICMP veya onun IPv6 sürümü olan ICMPv6 hata bildirimleriyle öğrenmesine dayanır. MSS Clamping ise ağ geçidi veya tünel uç noktasının SYN işareti taşıyan paketteki MSS ilanını düşürmesidir. Sınır, elle belirlenmiş sabit bir değer olabilir veya ağ cihazının bildiği yol MTU değerinden hesaplanabilir. Her iki durumda da MSS ilanı bağlantı kurulurken değiştirilir; mevcut bağlantı boyunca yeniden ilan edilmez.
Arayüz MTU değerini düşürmek de MSS Clamping ile aynı işlem değildir. MTU değişikliği o arayüzden geçen IP paketlerinin tamamını etkileyebilir; MSS Clamping yalnız TCP bağlantı kurulumundaki MSS seçeneğine müdahale eder. UDP, ICMP ve diğer IP trafiği için MTU ile PMTUD davranışının ayrıca doğru olması gerekir.
Uygun MSS Sınırının Belirlenmesi
Tek bir evrensel TCP MSS değeri yoktur. Uygun sınır, yol MTU değerine, iç ve dış IP sürümüne, kullanılan VPN veya tünel türüne, ek kapsülleme katmanlarına ve cihazların başlık işleme biçimine bağlıdır. Sabit bir değeri her bağlantıya uygulamak, bazı yollarda gereksiz yere küçük bölümler üretebilir.
İlan edilen MSS, etkili MTU’dan sabit IP ve TCP başlıkları için gereken alan çıkarılarak sınırlandırılır. TCP seçenekleri, IPv4 seçenekleri veya IPv6 uzantı başlıkları kullanıldığında paket gönderen taraf veri uzunluğunu ayrıca azaltmalıdır. Gereğinden yüksek sınır paket düşmesine yol açabilir; gereğinden düşük sınır ise daha fazla bölüm, daha fazla başlık yükü ve daha düşük verim oluşturabilir.
MSS sınırı belirlenirken tünelin gerçek ek yükü ve ilgili trafik yönünün yol MTU değeri hesaba katılır; gerekli PMTUD geri bildirimlerinin geçip geçmediği de kontrol edilir. Otomatik hesaplama, ağ cihazının bildiği yol MTU değerine bağlıdır. Gidiş ve dönüş rotaları farklıysa bu bilgi, karşı uçların kullandığı yolu tam temsil etmeyebilir; bu nedenle otomatik seçeneğin de iki yöndeki trafikle doğrulanması gerekir.
MSS Clamping Ne Zaman Uygulanmalıdır?
MSS Clamping en çok tünel veya VPN ağ geçidinin kontrol edildiği, ancak istemci ve sunucuların tamamında MTU ayarının değiştirilemediği durumlarda anlamlıdır. PMTUD çalışmadığında ortaya çıkan sorunları azaltmak için geçici veya yalnız ilgili bağlantıya yönelik bir çözüm de olabilir.
Öncelik, ağ yolundaki yanlış MTU’yu, engellenen ICMP geri bildirimlerini veya hatalı tünel yapılandırmasını düzeltmektir. MSS Clamping uygulanacaksa yalnız sorunlu yol ve TCP trafiğiyle sınırlandırılmalı, değişiklikten sonra büyük veri aktarımı, iki yönlü trafik ve yeniden iletim davranışı yeniden kontrol edilmelidir.







