Di suatu tempat dalam panduan ada angka, biasanya antara enam puluh dengan lapan puluh bait, yang seseorang tolak daripada 1500 untuk mendapatkan MTU antara muka. Angka itu menerangkan satu enkapsulasi tertentu pada satu laluan tertentu. Tukar mod, keluarga alamat luar, sifer atau kehadiran NAT, dan aritmetik itu tidak lagi terpakai pada terowong anda.

Angka itu datang daripada terowong yang lain

Overhed bukan sifat IPsec secara abstrak. Ia sifat paket yang benar-benar dibina: mod yang dirundingkan, pengepala luar, pengepala perlindungan, pengisi, medan integriti dan mungkin pembalut UDP tambahan.

Angka yang disebut untuk mod pengangkutan dengan IPv4 dan tanpa NAT menerangkan paket yang lebih kecil daripada mod terowong dengan IPv6 di bawah lintasan NAT. Kedua-duanya betul untuk kes masing-masing. Menyalin salah satunya ke penggunaan yang berbeza ialah cara orang berakhir dengan MTU yang memecahkan pemindahan besar. Kegagalan itu senyap kerana permintaan kecil terus berfungsi.

Jumlahkan lapisan yang benar-benar ada

Mulakan dengan pengepala IP luar dan bergerak ke dalam. Dalam mod terowong paket asal berada di dalam, jadi pengepala luar ialah tambahan dan bukan pengganti. RFC 4303 menerangkan pengepala ESP, pengisi dan data integriti yang menyusulinya.

LayerWhat it addsWhen it applies
Outer IP header20 bytes for IPv4, 40 for IPv6Always, and 40 rather than 20 if the outer path is v6
ESP header8 bytes of SPI and sequence numberAlways
Block cipher IV8 to 16 bytes depending on the transformWhen the negotiated cipher uses one
Padding and trailerPadding to the block size, plus two trailer bytesAlways, and the amount varies with payload length
Integrity data12 to 16 bytes for common authenticated ciphersWhen integrity protection is negotiated
UDP encapsulation8 bytesNAT traversal on port 4500, which is common for clients behind NAT

Tiada satu pun baris itu kekal antara penggunaan, dan baris pengisi tidak kekal walaupun dalam satu penggunaan. Itulah seluruh sebab satu angka overhed yang diterbitkan mengecewakan.

Dua tapak boleh berselisih tentang terowong yang sama

Paket yang dilindungi masih perlu merentasi laluan luar, dan laluan luar tidak sama di semua tempat. Pautan akses PPPoE membawa kurang daripada segmen Ethernet yang bersih. Rangkaian mudah alih boleh mengecil lagi, dan penyedia yang menerowong trafiknya sendiri menambah satu lagi enkapsulasi yang tidak disebut sesiapa. Terowong yang berfungsi pada satu pautan dan gagal pada pautan lain sedang menerangkan pautan kedua, bukan protokol.

Kedua-dua arah juga boleh berbeza. Laluan tidak simetri boleh memberi anda muat naik yang berfungsi dan muat turun yang tersekat, yang dibaca sebagai masalah aplikasi sehingga anda melihat saiz paket dan bukan kebolehsampaian. Ping kecil yang berjaya membuktikan sangat sedikit tentang gerak balas bersaiz penuh.

Ukur dan bukan menolak

Cari datagram terbesar yang bertahan melalui laluan itu. Kemudian bandingkannya dengan nilai yang dilaporkan oleh antara muka:

ip link show eth0 | grep -o 'mtu [0-9]*'
ip xfrm state list
ping -M do -s 1400 198.51.100.7
ping -M do -s 1372 198.51.100.7
tcpdump -ni any -c 20 'esp or udp port 4500'

Turunkan saiz ping sehingga balasan tiba, dan anggap nilai terbesar yang berfungsi sebagai belanjawan untuk laluan itu. Output xfrm memberitahu anda mod dan algoritma mana yang dirundingkan, dan itulah input kepada sebarang pengiraan yang jujur. Tangkapan mengesahkan sama ada ESP atau ESP yang dibalut UDP berada di wayar, dan itu menyelesaikan persoalan NAT tanpa meneka.

Sediakan satu nilai untuk satah kawalan juga. Paket jabat tangan IKE mempunyai struktur berbeza daripada paket data, jadi saiz yang diperoleh daripada tangkapan jabat tangan bukan MTU satah data.

Letakkan angka itu di tempatnya

Untuk TCP melalui terowong, pengapit MSS selalunya kawalan yang paling kurang mengganggu, kerana ia mengurangkan apa yang dihantar oleh hujung tanpa mengubah terowong itu sendiri. Untuk terowong berasaskan laluan, tetapkan MTU antara muka terowong secara sengaja dan dokumentasikan sebabnya. Melakukan kedua-duanya sekali gus dan kemudian mengukur tidak memberi anda apa-apa maklumat tentang mana yang membantu.

Simpan bersama dalam tiket: mod yang dirundingkan, keluarga luar, keadaan NAT dan gejala yang boleh dihasilkan semula. Satu set empat fakta yang direkodkan mengalahkan pemalar yang diingati, dan hanya versi ini yang bertahan sehingga peningkatan klien seterusnya.

Artikel berkaitan