Ang overhead ng IPsec: binabago ito ng mode, NAT-T at mga algorithm
Isang nakalathalang pigura ng overhead ang naglalarawan ng isang encapsulation sa isang landas. Pagsamahin ang mga header na talagang kinakausap ng iyong tunnel, pagkatapos sukatin ang landas.
May isang numero sa isang gabay, kadalasan sa pagitan ng animnapu at walumpung byte, na ibinawas ng isang tao mula sa 1500 upang makakuha ng MTU ng interface. Inilalarawan ng numerong iyon ang isang tiyak na encapsulation sa isang tiyak na landas. Baguhin ang mode, ang panlabas na pamilya ng address, ang cipher o ang pagkakaroon ng NAT, at hindi na naaangkop ang aritmetika sa iyong tunnel.
Ang numero ay galing sa ibang tunnel
Ang overhead ay hindi katangian ng IPsec sa abstract. Ito ay katangian ng packet na talagang binubuo: isang napagkasunduang mode, isang panlabas na header, isang header ng proteksyon, padding, isang field ng integridad at marahil isang karagdagang balot na UDP.
Ang pigurang binabanggit para sa transport mode na may IPv4 at walang NAT ay naglalarawan ng mas maliit na packet kaysa sa tunnel mode na may IPv6 sa ilalim ng pagtawid ng NAT. Pareho silang tama para sa sarili nilang kaso. Ang pagkopya ng alinman sa mga ito sa ibang deployment ay ang paraan kung paano nauuwi ang mga tao sa MTU na sumisira sa malalaking paglilipat. Tahimik ang pagkasira dahil patuloy na gumagana ang maliliit na kahilingan.
Pagsamahin ang mga layer na talagang naroon
Magsimula sa panlabas na header ng IP at pumasok nang pailalim. Sa tunnel mode ang orihinal na packet ay nasa loob, kaya ang panlabas na header ay karagdagan at hindi kapalit. RFC 4303 inilalarawan ang header ng ESP, ang padding at ang data ng integridad na sumusunod dito.
| Layer | What it adds | When it applies |
|---|---|---|
| Outer IP header | 20 bytes for IPv4, 40 for IPv6 | Always, and 40 rather than 20 if the outer path is v6 |
| ESP header | 8 bytes of SPI and sequence number | Always |
| Block cipher IV | 8 to 16 bytes depending on the transform | When the negotiated cipher uses one |
| Padding and trailer | Padding to the block size, plus two trailer bytes | Always, and the amount varies with payload length |
| Integrity data | 12 to 16 bytes for common authenticated ciphers | When integrity protection is negotiated |
| UDP encapsulation | 8 bytes | NAT traversal on port 4500, which is common for clients behind NAT |
Wala sa mga row na iyon ang pare-pareho sa mga deployment, at ang row ng padding ay hindi rin pare-pareho kahit sa loob ng isang deployment. Iyon ang buong dahilan kung bakit nakakabigo ang isang nakalathalang pigura ng overhead.
Maaaring hindi magkasundo ang dalawang site tungkol sa isang tunnel
Kailangan pa ring tawirin ng protektadong packet ang panlabas na landas, at ang panlabas na landas ay hindi pareho sa lahat ng lugar. Ang isang access link na PPPoE ay nagdadala ng mas kaunti kaysa sa malinis na segment ng Ethernet. Maaaring lumiit pa ang isang mobile network, at ang provider na nagtu-tunnel ng sarili nitong trapiko ay nagdaragdag ng isa pang encapsulation na walang nabanggit. Ang tunnel na gumagana sa isang link at nabigo sa iba ay naglalarawan ng pangalawang link, hindi ng protocol.
Maaari ring magkaiba ang dalawang direksyon. Ang isang asymmetrical na ruta ay maaaring magbigay sa iyo ng gumaganang upload at natigil na download, na binabasa bilang problema ng application hanggang sa tingnan mo ang mga sukat ng packet kaysa sa maabot. Ang isang maliit na ping na nagtagumpay ay nagpapatunay ng napakakaunti tungkol sa isang tugon na buong laki.
Sukatin sa halip na ibawas
Hanapin ang pinakamalaking datagram na nakakaligtas sa landas. Pagkatapos ihambing ito sa halagang iniuulat ng interface:
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'
Pababain ang laki ng ping hanggang dumating ang mga tugon, at ituring ang pinakamalaking gumaganang halaga bilang badyet para sa landas na iyon. Sinasabi ng output ng xfrm kung aling mode at aling mga algorithm ang napagkasunduan, at iyon ang input sa anumang tapat na kalkulasyon. Kinukumpirma ng pagkuha kung ESP o ESP na nakabalot sa UDP ang nasa kawad, at iyon ang nagtatapos sa tanong ng NAT nang walang hula.
Magtabi ng isang halaga para sa control plane din. Ang mga packet ng handshake ng IKE ay may ibang istruktura kaysa sa mga packet ng data, kaya ang sukat na hinango sa isang pagkuha ng handshake ay hindi MTU ng data plane.
Ilagay ang numero kung saan nararapat
Para sa TCP sa pamamagitan ng isang tunnel, ang pagpigil sa MSS ay madalas ang pinakamakaunting pumapasok na kontrol, dahil binabawasan nito ang ipinapadala ng mga dulo nang hindi binabago ang tunnel mismo. Para sa isang tunnel na nakabatay sa ruta, sadyang itakda ang MTU ng interface ng tunnel at idokumento kung bakit. Ang gawin ang dalawa nang sabay at pagkatapos ay sumukat ay hindi nagbibigay sa iyo ng anumang impormasyon kung alin ang nakatulong.
Panatilihing magkasama sa ticket ang napagkasunduang mode, panlabas na pamilya, kondisyon ng NAT at ang sintomas na maaaring ulitin. Ang naitalang set ng apat na katotohanan ay nananalo sa isang naaalalang konstante, at ito ang tanging bersyon nito na nakakaligtas sa susunod na pag-upgrade ng client.