tcpdump 64 KB paketleri gösteriyor: offload ve yakalama noktası
Ana bilgisayardaki bir yakalamada dev bir paket, segmentasyon öncesinde veya toplulaştırma sonrasında olabilir. Tünelin MTU'sunu yok saydığı sonucuna varmadan önce gözlem noktasını belirleyin.
Bir ana bilgisayarda yakalama, MTU'su 1420 olan bir arabirimde 64 KB'lık bir paket gösterebilir ve bariz sonuç tünelin boyut sınırını yok saydığıdır. Bu sonuç genellikle yanlıştır. Ana bilgisayardaki yakalama noktaları işleme yolunun içindedir; segmentasyon, toplulaştırma ve sağlama toplamı işi henüz gerçekleşmemiş olabilir. Paket boyutunu okumadan önce gözlemcinin konumunu okuyun.
Nerede yakaladığınız, ne gördüğünüzü değiştirir
Gönderme offload'u, yığının büyük bir birimi ağ aygıtına vermesini sağlar; aygıt bunu daha sonra kablo boyutunda parçalara böler. Alma toplulaştırması giriş yolunda tersini yapar ve segmentleri ana bilgisayar tarafındaki bir gözlemci onları görmeden önce birleştirir. Bu nedenle yakalama, o noktadaki ana bilgisayarın iç görünümünü kaydeder, bağlantıdaki çerçeveleri mutlaka değil. Her iki mekanizma da aygıta ve yola bağlıdır.
ethtool -k eth0 | grep -E 'tso|gso|gro'
Boyutu arıza olarak ele almadan önce ikinci bir noktada, ideal olarak bağımsız bir alıcıda veya aynada yakalayın. Büyük birim yalnızca gönderen ana bilgisayarda görünüyorsa, kabloyu hiç taşımamış olabilir. İki gözlem noktası tek bir dosyadan güçlüdür, özellikle soru makineden gerçekte neyin çıktığı olduğunda.
İç ve dış arabirimi ayırın
Bir tünel kendi arabirimini ekler ve dış ve iç görünümler kapsülleme ve işleme bakımından farklıdır. Tünel aygıtındaki yakalama iç paketi gösterir; fiziksel bağdaştırıcıdaki yakalama dış paketi gösterir. Boyut, adresler ve sağlama toplamı durumu, arızayla hiçbir ilgisi olmayan nedenlerle aralarında farklı olabilir.
Her dosyayı hangi arabirimin ürettiğini kaydedin. Tünel aygıtında görülen boyut iç paketi tanımlar, bağdaştırıcının sonunda gönderdiği çerçeveyi değil. İkisini tek bir analizde karıştırmak, normal bir kapsülleme farkının gizeme dönüşme biçimidir.
Sağlama toplamı uyarısı da konumsaldır
Gönderme tarafındaki bir yakalama, sağlama toplamı alanını donanım doldurmadan önce gösterebilir ve bu, hiçbir alıcının asla görmeyeceği bir uyarı üretir. Bu, uzak bir ana bilgisayarın hasarlı bir paketi reddetmesinden farklı bir kanıttır. Yön ve yakalama noktası, ikisinden hangisine sahip olduğunuzu belirler.
Gerçek bir aktarım başarısız olduğunda, gözlemleri bir alıcıda veya yolun başka bir noktasında karşılaştırın. Yönü, arabirimi ve kapsülleme katmanını kayıtla birlikte saklayın, çünkü bunlar olmadan bir ekran görüntüsü sonradan yorumlanamaz.
Offload'u yalnızca kontrollü bir test olarak kapatın
Offload'u kapatmak performansı ve paket işlemeyi değiştirir, bu nedenle garip bir boyut görüntüsüne ilk yanıt değildir. Test ederseniz tek bir ayarı değiştirin ve önce başlangıç durumunu kaydedin. MTU'yu, güvenlik duvarı kurallarını ve istemci profilini de değiştiren bir çalıştırma sonucu offload'a atfedemez. Ayarı sonra geri yükleyin.
ethtool -K eth0 tso off gro off
ping -M do -s 1400 example.com
Büyük bir aktarımın gerçek duraklaması, yolun MTU'su ve uygulamanın aldığı geri bildirim hakkında ayrı bir sorudur. Ana bilgisayarın toplulaştırılmış birimi aşağı yönde bir boyut sınırını ne kanıtlar ne çürütür ve düşük CPU yüzdesi offload'u neden olarak tanımlamaz.
Yararlı sonuç, açıklanmış bir yakalama noktası ve yinelenebilir bir uygulama gözlemidir. Bunlar ayrıldığında, bir MTU değişikliği iç arabelleğin şekli yerine gerçek bir kısıtı hedefleyebilir.