Jumbo çerçeveler bir VPN yolunu 9000 baytlık paket taşıyıcısı yapmaz
Büyük bir MTU yerel bir bağlantı anlaşmasıdır. İç arayüzü yükseltmeden önce tünelin ek yükünü rotadaki en küçük bağlantıdan çıkarın.
LAN üzerinde 9000 baytlık çerçeveleri etkinleştirdiniz ve VPN'in hızlanmasını beklediniz. Yavaşladı ya da büyük aktarımları tamamen geçirmeyi bıraktı. Jumbo çerçeveler yerel bir bağlantı anlaşmasıdır; tünelin geçtiği yolu genişletmezler.
Kullanılabilir bütçeyi rotadaki en küçük sınır belirler; tünelin eklediği kapsülleme de buna dahildir.
Jumbo çerçeveler gerçekte neyi değiştirir
MTU tek bir arayüzün özelliğidir. Bir sunucuda ve onun anahtarında bunu yükseltmek, o ikisinin parçalanma olmadan daha büyük çerçeveler alışveriş edebilmesi demektir. Bu, anahtarın ötesindeki yönlendirici, servis sağlayıcı ya da bir tünelin diğer ucu hakkında hiçbir şey söylemez. O cihazların kendi sınırları vardır ve bunlardan birini aşan paket, sizin belirlemediğiniz kurallara göre atılır veya parçalanır.
Yerel anlaşma, küresel sonuçlar. Bütün karışıklık bu.
Kapsülleme vergisi
Bir tünel paketinizi başka bir paketin içine sarar. IPv4 UDP üzerinden WireGuard yaklaşık 60 bayt ek yük ekler; OpenVPN'in UDP modu aynı aralıktadır ve IPsec moda ve algoritmalara göre değişir. Bu baytlar dış yolun bütçesinden çıkar, yoktan değil.
Bu yüzden 1500 baytlık bir dış bağlantı, tünel başlığı eklendiğinde 1500 baytlık bir iç paketi taşıyamaz.
Aritmetiği bir kez yapmaya değer. 1500 baytlık bir yolda WireGuard arayüzü, kapsüllenmiş paketin sığması için 1420 civarında bir MTU ister. İç arayüzü 9000'e ayarlayın; o zaman her büyük paket tünelin yapamayacağı bir parçalanmaya ihtiyaç duyar ya da atılır.
Yoldaki en küçük bağlantıyı bulun
Rotayı izleyin ve en düşük MTU'yu bulun. LAN genellikle 1500 veya 9000'dir, WAN genellikle 1500'dür ve mobil ya da PPP bağlantı daha da düşük olabilir. Sonra tünelin ek yükünü çıkarın. Sonuç iç arayüzün MTU'sundan küçükse cevabınız budur. Yol MTU keşfi bunu otomatik bulabilir, ancak yalnızca bağlı olduğu ICMP iletilerinin geçmesine izin verildiğinde.
Filtrelenmiş ICMP, küçük istekler sorunsuz çalışırken büyük bir aktarımın askıda kalmasının klasik nedenidir.
Değişikliği genişletmeden boyuta bağımlılığı test edin
Temsili bir aktarım kullanın ve özgün değerleri saklayın ki geri koyabilesiniz. ping -M do -s 1472 DF biti ayarlanmış 1500 baytlık bir paketi dener; geçene kadar boyutu küçültün. Yalnızca büyük paketler başarısız oluyorsa sorununuz yönlendirme değil boyuttur.
Yakalamaları okurken ana bilgisayar tarafındaki offload'a dikkat edin. Segmentasyon offload'u kablodan gerçekte geçenden çok daha büyük çerçeveler gösterebilir; bu da çalışan bir yolu bozuk, bozuk olanı ise yolunda gibi gösterir.
Büyük MTU ne zaman doğru tasarımdır
Denetlenen bir özel ağ, yoldaki her cihaz aynı fikirdeyse ve tünelin ek yükü hesaba katılıyorsa daha büyük çerçeveleri uçtan uca meşru biçimde çalıştırabilir. Bu, her bağlantı için belgelenmiş değeri olan koordineli bir tasarımdır, istemciye yazılan tek bir büyük sayı değil.
Sıradan bir genel çıkış için 1500 veya daha azını varsayın ve tünelin güvenli bir iç MTU seçmesine izin verin. RFC 8201 IPv6 durumu için yol MTU keşfini kapsar ve geri bildirimin nasıl çalışması gerektiğine dair yararlı bir kaynaktır.