IPsec ഓവർഹെഡ്: മോഡ്, NAT-T, അൽഗോരിതങ്ങൾ എല്ലാം അതിനെ മാറ്റുന്നു
പ്രസിദ്ധീകരിച്ച ഒരു ഓവർഹെഡ് സംഖ്യ ഒരു പാതയിലെ ഒരു എൻകാപ്സുലേഷനെ മാത്രം വിവരിക്കുന്നു. നിങ്ങളുടെ ടണൽ യഥാർത്ഥത്തിൽ ചർച്ച ചെയ്യുന്ന ഹെഡറുകൾ കൂട്ടിച്ചേർക്കുക, പിന്നീട് പാത അളക്കുക.
ഏതോ ഒരു ഗൈഡിൽ ഒരു സംഖ്യയുണ്ട്, സാധാരണയായി അറുപതിനും എൺപതിനും ഇടയിൽ ബൈറ്റുകൾ, ആരോ ഇന്റർഫേസ് MTU കിട്ടാൻ 1500-ൽ നിന്ന് കുറച്ചത്. ആ സംഖ്യ ഒരു പ്രത്യേക പാതയിലെ ഒരു പ്രത്യേക എൻകാപ്സുലേഷനെ വിവരിക്കുന്നു. മോഡ്, പുറം വിലാസ കുടുംബം, സൈഫർ അല്ലെങ്കിൽ NAT-ന്റെ സാന്നിധ്യം മാറ്റുക, എന്നാൽ ആ ഗണിതം നിങ്ങളുടെ ടണലിന് ബാധകമല്ല.
ആ സംഖ്യ മറ്റൊരു ടണലിൽ നിന്ന് വന്നതാണ്
ഓവർഹെഡ് അമൂർത്തമായ അർത്ഥത്തിൽ IPsec-ന്റെ സ്വഭാവമല്ല. യഥാർത്ഥത്തിൽ നിർമ്മിക്കുന്ന പാക്കറ്റിന്റെ സ്വഭാവമാണ്: യോജിച്ച മോഡ്, പുറം ഹെഡർ, സംരക്ഷണ ഹെഡർ, പാഡിംഗ്, ഇന്റഗ്രിറ്റി ഫീൽഡ്, ഒരുപക്ഷേ അധിക UDP ആവരണം.
IPv4-ഉം NAT-ഇല്ലാതെയും ഉള്ള ട്രാൻസ്പോർട്ട് മോഡിനായി ഉദ്ധരിക്കുന്ന സംഖ്യ, NAT കടക്കലിന് കീഴിൽ IPv6 ഉള്ള ടണൽ മോഡിനെക്കാൾ ചെറിയ പാക്കറ്റിനെ വിവരിക്കുന്നു. രണ്ടും അതാത് കേസുകൾക്ക് ശരിയാണ്. അവയിലൊന്ന് മറ്റൊരു വിന്യാസത്തിലേക്ക് പകർത്തുന്നതാണ് വലിയ കൈമാറ്റങ്ങൾ തകർക്കുന്ന MTU-ലേക്ക് ആളുകൾ എത്തുന്ന വഴി. ചെറിയ അഭ്യർത്ഥനകൾ പ്രവർത്തിക്കുന്നതിനാൽ പരാജയം നിശ്ശബ്ദമാണ്.
യഥാർത്ഥത്തിൽ ഉള്ള പാളികൾ കൂട്ടുക
പുറം IP ഹെഡറിൽ നിന്ന് തുടങ്ങി ഉള്ളിലേക്ക് നീങ്ങുക. ടണൽ മോഡിൽ യഥാർത്ഥ പാക്കറ്റ് ഉള്ളിലാണ്, അതിനാൽ പുറം ഹെഡർ പകരമല്ല, കൂട്ടിച്ചേർക്കലാണ്. RFC 4303 ESP ഹെഡർ, പാഡിംഗ്, അതിന് ശേഷം വരുന്ന ഇന്റഗ്രിറ്റി ഡാറ്റ എന്നിവ വിവരിക്കുന്നു.
| 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 |
ആ വരികളിൽ ഒന്നും വിന്യാസങ്ങൾക്കിടയിൽ സ്ഥിരമല്ല, പാഡിംഗ് വരി ഒരു വിന്യാസത്തിനുള്ളിലും സ്ഥിരമല്ല. ഒരു പ്രസിദ്ധീകരിച്ച ഓവർഹെഡ് സംഖ്യ നിരാശപ്പെടുത്തുന്നതിന്റെ മുഴുവൻ കാരണം ഇതാണ്.
ഒരേ ടണലിനെക്കുറിച്ച് രണ്ട് സൈറ്റുകൾക്ക് വിയോജിപ്പുണ്ടാകാം
സംരക്ഷിത പാക്കറ്റ് ഇപ്പോഴും പുറം പാത കടക്കണം, പുറം പാത എല്ലായിടത്തും ഒന്നല്ല. PPPoE ആക്സസ് ലിങ്ക് വൃത്തിയുള്ള Ethernet സെഗ്മെന്റിനെക്കാൾ കുറവ് വഹിക്കുന്നു. മൊബൈൽ നെറ്റ്വർക്ക് കൂടുതൽ ചുരുങ്ങാം, സ്വന്തം ട്രാഫിക് ടണൽ ചെയ്യുന്ന ദാതാവ് ആരും പറയാത്ത മറ്റൊരു എൻകാപ്സുലേഷൻ കൂട്ടിച്ചേർക്കുന്നു. ഒരു ലിങ്കിൽ പ്രവർത്തിച്ച് മറ്റൊന്നിൽ പരാജയപ്പെടുന്ന ടണൽ രണ്ടാമത്തെ ലിങ്കിനെയാണ് വിവരിക്കുന്നത്, പ്രോട്ടോക്കോളിനെയല്ല.
രണ്ട് ദിശകളും വ്യത്യസ്തമാകാം. അസമമായ റൂട്ട് പ്രവർത്തിക്കുന്ന അപ്ലോഡും നിലച്ച ഡൗൺലോഡും തരാം, അത് എത്തിച്ചേരാനുള്ള കഴിവിനെക്കാൾ പാക്കറ്റ് വലുപ്പങ്ങൾ നോക്കുന്നതുവരെ ആപ്ലിക്കേഷൻ പ്രശ്നമായി വായിക്കപ്പെടുന്നു. ചെറിയ ping വിജയിക്കുന്നത് പൂർണ്ണ വലുപ്പത്തിലുള്ള പ്രതികരണത്തെക്കുറിച്ച് വളരെ കുറച്ച് മാത്രം തെളിയിക്കുന്നു.
കുറയ്ക്കുന്നതിന് പകരം അളക്കുക
പാതയിലൂടെ അതിജീവിക്കുന്ന ഏറ്റവും വലിയ ഡാറ്റാഗ്രാം കണ്ടെത്തുക. തുടർന്ന് ഇന്റർഫേസ് റിപ്പോർട്ട് ചെയ്യുന്ന മൂല്യവുമായി താരതമ്യം ചെയ്യുക:
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'
മറുപടികൾ വരുന്നതുവരെ ping-ന്റെ വലുപ്പം കുറയ്ക്കുക, പ്രവർത്തിക്കുന്ന ഏറ്റവും വലിയ മൂല്യത്തെ ആ പാതയുടെ ബജറ്റായി കണക്കാക്കുക. xfrm-ന്റെ ഔട്ട്പുട്ട് ഏത് മോഡും ഏത് അൽഗോരിതങ്ങളുമാണ് യോജിച്ചതെന്ന് പറയുന്നു, അതാണ് ഏതൊരു സത്യസന്ധമായ കണക്കുകൂട്ടലിന്റെയും ഇൻപുട്ട്. ക്യാപ്ചർ വയറിൽ ESP ആണോ UDP-യിൽ പൊതിഞ്ഞ ESP ആണോ എന്ന് ഉറപ്പാക്കുന്നു, അത് NAT ചോദ്യം ഊഹിക്കാതെ തീർക്കുന്നു.
നിയന്ത്രണ തലത്തിനും ഒരു മൂല്യം മാറ്റിവയ്ക്കുക. IKE ഹാൻഡ്ഷേക്ക് പാക്കറ്റുകൾക്ക് ഡാറ്റാ പാക്കറ്റുകളിൽ നിന്ന് വ്യത്യസ്ത ഘടനയാണ്, അതിനാൽ ഹാൻഡ്ഷേക്ക് ക്യാപ്ചറിൽ നിന്ന് കിട്ടുന്ന വലുപ്പം ഡാറ്റാ തലത്തിന്റെ MTU അല്ല.
സംഖ്യ അതിന്റെ സ്ഥാനത്ത് വയ്ക്കുക
ടണലിലൂടെയുള്ള TCP-യ്ക്ക്, MSS ക്ലാംപ് പലപ്പോഴും ഏറ്റവും കുറഞ്ഞ കടന്നുകയറ്റമുള്ള നിയന്ത്രണമാണ്, കാരണം ടണൽ തന്നെ മാറ്റാതെ അറ്റങ്ങൾ അയയ്ക്കുന്നത് അത് കുറയ്ക്കുന്നു. റൂട്ട് അടിസ്ഥാനമാക്കിയ ടണലിന്, ടണൽ ഇന്റർഫേസിന്റെ MTU ബോധപൂർവം സജ്ജമാക്കി എന്തുകൊണ്ടെന്ന് രേഖപ്പെടുത്തുക. രണ്ടും ഒരുമിച്ച് ചെയ്ത് പിന്നീട് അളന്നാൽ ഏതാണ് സഹായിച്ചതെന്ന് നിങ്ങൾക്ക് ഒന്നും അറിയില്ല.
യോജിച്ച മോഡ്, പുറം കുടുംബം, NAT അവസ്ഥ, വീണ്ടും ഉണ്ടാക്കാവുന്ന ലക്ഷണം എന്നിവ ടിക്കറ്റിൽ ഒരുമിച്ച് സൂക്ഷിക്കുക. രേഖപ്പെടുത്തിയ നാല് വസ്തുതകളുടെ കൂട്ടം ഓർമ്മയിലുള്ള സ്ഥിരാങ്കത്തെക്കാൾ മികച്ചതാണ്, അടുത്ത ക്ലയന്റ് അപ്ഗ്രേഡ് വരെ നിലനിൽക്കുന്ന ഈ ഒരു പതിപ്പ് മാത്രമാണ് അത്.