Kaut kur rokasgrāmatā ir skaitlis, parasti starp sešdesmit un astoņdesmit baitiem, ko kāds atņēma no 1500, lai iegūtu saskarnes MTU. Šis skaitlis apraksta vienu konkrētu iekapsulējumu vienā konkrētā ceļā. Nomainiet režīmu, ārējo adrešu saimi, šifru vai NAT klātbūtni, un aritmētika vairs neattiecas uz jūsu tuneli.

Skaitlis nāca no cita tuneļa

Papildu apjoms nav IPsec īpašība abstrakti. Tā ir tā paketes īpašība, kas patiešām tiek uzbūvēta: saskaņots režīms, ārējā galvene, aizsardzības galvene, polsterējums, integritātes lauks un varbūt papildu UDP apvalks.

Skaitlis, kas minēts transporta režīmam ar IPv4 un bez NAT, apraksta mazāku paketi nekā tuneļa režīms ar IPv6 zem NAT šķērsošanas. Abi ir pareizi savā gadījumā. Viena no tiem kopēšana citā izvietojumā ir veids, kā cilvēki nonāk pie MTU, kas lauž lielus pārraidījumus. Kļūme ir klusa, jo mazie pieprasījumi turpina darboties.

Saskaitiet slāņus, kas patiešām ir

Sāciet ar ārējo IP galveni un virzieties uz iekšu. Tuneļa režīmā sākotnējā paka atrodas iekšpusē, tāpēc ārējā galvene ir papildinājums, nevis aizvietojums. RFC 4303 apraksta ESP galveni, polsterējumu un integritātes datus, kas tam seko.

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

Neviena no šīm rindām nav nemainīga starp izvietojumiem, un polsterējuma rinda nav nemainīga pat vienā izvietojumā. Tas ir viss iemesls, kāpēc viens publicēts papildu apjoma skaitlis sagādā vilšanos.

Divi objekti var nesaskanēt par vienu un to pašu tuneli

Aizsargātajai pakaitei joprojām jāšķērso ārējais ceļš, un ārējais ceļš nav visur vienāds. PPPoE piekļuves līnija pārvadā mazāk nekā tīrs Ethernet segments. Mobilais tīkls var sarukt vēl vairāk, un pakalpojumu sniedzējs, kas tunelē savu satiksmi, pievieno vēl vienu iekapsulējumu, ko neviens nebija pieminējis. Tunelis, kas darbojas vienā līnijā un neizdodas citā, apraksta otro līniju, nevis protokolu.

Arī abi virzieni var atšķirties. Asimetrisks maršruts var dot strādājošu augšupielādi un iestrēgušu lejupielādi, kas tiek lasīts kā programmas problēma, līdz aplūkojat pakešu izmērus, nevis sasniedzamību. Veiksmīgs mazs ping pierāda ļoti maz par pilna izmēra atbildi.

Mēriet, nevis atņemiet

Atrodiet lielāko datagrammu, kas iztur ceļu. Pēc tam salīdziniet to ar vērtību, ko ziņo saskarne:

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'

Samaziniet ping izmēru, līdz sāk nākt atbildes, un lielāko strādājošo vērtību uzskatiet par šī ceļa budžetu. xfrm izvade pasaka, kurš režīms un kuri algoritmi tika saskaņoti, un tas ir jebkura godīga aprēķina ievade. Uzņēmums apstiprina, vai uz vada ir ESP vai UDP iekapsulēts ESP, un tas atrisina NAT jautājumu bez minējumiem.

Vienu vērtību atvēliet arī vadības plaknei. IKE roku paspiešanas paketēm ir cita struktūra nekā datu paketēm, tāpēc no roku paspiešanas uzņēmuma iegūtais izmērs nav datu plaknes MTU.

Ielieciet skaitli tur, kur tam vieta

TCP caur tuneli gadījumā MSS ierobežojums bieži ir vismazāk invazīvā kontrole, jo tas samazina to, ko sūta gali, nemainot pašu tuneli. Maršrutā balstītam tunelim apzināti iestatiet tuneļa saskarnes MTU un dokumentējiet, kāpēc. Darot abus uzreiz un pēc tam mērot, jūs neuzzināsit, kurš palīdzēja.

Turiet kopā biļetē saskaņoto režīmu, ārējo saimi, NAT stāvokli un atkārtojamo simptomu. Pierakstīts četru faktu kopums pārspēj atcerētu konstanti, un šī ir vienīgā versija, kas pārdzīvo nākamo klienta atjauninājumu.

Saistītie raksti