tcpdump 64 KB പാക്കറ്റുകൾ കാണിക്കുന്നു: ഓഫ്ലോഡും ക്യാപ്ചർ പോയിന്റും
ഹോസ്റ്റിലെ ക്യാപ്ചറിൽ കാണുന്ന വലിയ പാക്കറ്റ് സെഗ്മെന്റേഷന് മുമ്പോ അഗ്രിഗേഷന് ശേഷമോ ആകാം. ടണൽ അതിന്റെ MTU അവഗണിച്ചു എന്ന് അനുമാനിക്കുന്നതിന് മുമ്പ് നിരീക്ഷണ പോയിന്റ് നിർണ്ണയിക്കുക.
ഹോസ്റ്റിൽ ക്യാപ്ചർ ചെയ്യുമ്പോൾ 1420 MTU ഉള്ള ഇന്റർഫേസിൽ 64 KB പാക്കറ്റ് കാണാം, വ്യക്തമായ അനുമാനം ടണൽ അതിന്റെ വലിപ്പപരിധി അവഗണിച്ചു എന്നാണ്. ആ അനുമാനം സാധാരണയായി തെറ്റാണ്. ഹോസ്റ്റിലെ ക്യാപ്ചർ പോയിന്റുകൾ പ്രോസസ്സിംഗ് പാതയ്ക്കുള്ളിലാണ്, അവിടെ സെഗ്മെന്റേഷനും അഗ്രിഗേഷനും ചെക്ക്സം പ്രവർത്തനവും ഇതുവരെ നടന്നിട്ടില്ലായിരിക്കാം. പാക്കറ്റിന്റെ വലിപ്പം വായിക്കുന്നതിന് മുമ്പ് നിരീക്ഷകന്റെ സ്ഥാനം വായിക്കുക.
എവിടെ ക്യാപ്ചർ ചെയ്യുന്നു എന്നത് കാണുന്നതിനെ മാറ്റുന്നു
ട്രാൻസ്മിറ്റ് ഓഫ്ലോഡ് സ്റ്റാക്കിന് വലിയ യൂണിറ്റ് നെറ്റ്വർക്ക് ഉപകരണത്തിന് നൽകാൻ അനുവദിക്കുന്നു, അത് പിന്നീട് അതിനെ വയർ വലിപ്പത്തിലുള്ള കഷണങ്ങളാക്കി മുറിക്കുന്നു. റിസീവ് അഗ്രിഗേഷൻ ഉള്ളിലേക്കുള്ള പാതയിൽ വിപരീതമായി ചെയ്യുന്നു, ഹോസ്റ്റ് ഭാഗത്തെ നിരീക്ഷകൻ അവ കാണുന്നതിന് മുമ്പ് സെഗ്മെന്റുകൾ ചേർക്കുന്നു. അതിനാൽ ക്യാപ്ചർ ആ പോയിന്റിലെ ഹോസ്റ്റിന്റെ ആന്തരിക കാഴ്ച രേഖപ്പെടുത്തുന്നു, ലിങ്കിലെ ഫ്രെയിമുകൾ ആവശ്യമായി എന്നല്ല. രണ്ട് സംവിധാനങ്ങളും ഉപകരണത്തെയും പാതയെയും ആശ്രയിച്ചിരിക്കുന്നു.
ethtool -k eth0 | grep -E 'tso|gso|gro'
വലിപ്പം തകരാറായി കാണുന്നതിന് മുമ്പ് രണ്ടാമത്തെ പോയിന്റിൽ ക്യാപ്ചർ ചെയ്യുക, അനുയോജ്യമായത് സ്വതന്ത്ര റിസീവറിലോ മിററിലോ. വലിയ യൂണിറ്റ് അയയ്ക്കുന്ന ഹോസ്റ്റിൽ മാത്രം കാണുന്നുവെങ്കിൽ വയർ അത് ഒരിക്കലും കൊണ്ടുപോയിരിക്കില്ല. രണ്ട് നിരീക്ഷണ പോയിന്റുകൾ ഒരു ഫയലിനേക്കാൾ ശക്തമാണ്, പ്രത്യേകിച്ച് യന്ത്രത്തിൽ നിന്ന് യഥാർത്ഥത്തിൽ എന്ത് പുറത്തുപോയി എന്നതാണ് ചോദ്യമെങ്കിൽ.
ആന്തരികവും ബാഹ്യവുമായ ഇന്റർഫേസുകൾ വേർതിരിക്കുക
ടണൽ അതിന്റെ സ്വന്തം ഇന്റർഫേസ് ചേർക്കുന്നു, കൂടാതെ ബാഹ്യവും ആന്തരികവുമായ കാഴ്ചകൾ എൻക്യാപ്സുലേഷനിലും പ്രോസസ്സിംഗിലും വ്യത്യസ്തമാണ്. ടണൽ ഉപകരണത്തിലെ ക്യാപ്ചർ ആന്തരിക പാക്കറ്റ് കാണിക്കുന്നു; ഭൗതിക അഡാപ്റ്ററിലെ ക്യാപ്ചർ ബാഹ്യ പാക്കറ്റ് കാണിക്കുന്നു. വലിപ്പം, വിലാസങ്ങൾ, ചെക്ക്സം അവസ്ഥ എന്നിവ തകരാറുമായി ബന്ധമില്ലാത്ത കാരണങ്ങളാൽ അവയ്ക്കിടയിൽ വ്യത്യാസപ്പെടാം.
ഏത് ഇന്റർഫേസ് ഏത് ഫയൽ സൃഷ്ടിച്ചു എന്ന് രേഖപ്പെടുത്തുക. ടണൽ ഉപകരണത്തിൽ കാണുന്ന വലിപ്പം ആന്തരിക പാക്കറ്റിനെ വിവരിക്കുന്നു, അഡാപ്റ്റർ അവസാനം അയച്ച ഫ്രെയിമിനെയല്ല. ഒരേ വിശകലനത്തിൽ രണ്ടും കലർത്തുന്നതാണ് സാധാരണ എൻക്യാപ്സുലേഷൻ വ്യത്യാസത്തെ നിഗൂഢതയാക്കുന്നത്.
ചെക്ക്സം മുന്നറിയിപ്പും സ്ഥാനാധിഷ്ഠിതമാണ്
അയയ്ക്കുന്ന ഭാഗത്തെ ക്യാപ്ചർ ഹാർഡ്വെയർ പൂരിപ്പിക്കുന്നതിന് മുമ്പ് ചെക്ക്സം ഫീൽഡ് കാണിക്കാം, ഇത് ഒരു റിസീവറും ഒരിക്കലും കാണാത്ത മുന്നറിയിപ്പ് ഉണ്ടാക്കുന്നു. കേടായ പാക്കറ്റ് വിദൂര ഹോസ്റ്റ് നിരസിക്കുന്നതിൽ നിന്ന് വ്യത്യസ്തമായ തെളിവാണിത്. ദിശയും ക്യാപ്ചർ പോയിന്റും രണ്ടിൽ ഏതാണ് നിങ്ങൾക്കുള്ളതെന്ന് തീരുമാനിക്കുന്നു.
യഥാർത്ഥ കൈമാറ്റം പരാജയപ്പെടുമ്പോൾ റിസീവറിലോ പാതയിലെ മറ്റൊരു പോയിന്റിലോ ഉള്ള നിരീക്ഷണങ്ങൾ താരതമ്യം ചെയ്യുക. ദിശ, ഇന്റർഫേസ്, എൻക്യാപ്സുലേഷൻ പാളി എന്നിവ രേഖയോടൊപ്പം സൂക്ഷിക്കുക, കാരണം അവയില്ലാതെ സ്ക്രീൻഷോട്ട് പിന്നീട് വ്യാഖ്യാനിക്കാൻ കഴിയില്ല.
ഓഫ്ലോഡ് നിയന്ത്രിത പരീക്ഷണമായി മാത്രം ഓഫ് ചെയ്യുക
ഓഫ്ലോഡ് ഓഫ് ചെയ്യുന്നത് പ്രകടനവും പാക്കറ്റ് പ്രോസസ്സിംഗും മാറ്റുന്നു, അതിനാൽ വിചിത്രമായ വലിപ്പ പ്രദർശനത്തിനുള്ള ആദ്യ പ്രതികരണം ഇതല്ല. നിങ്ങൾ പരീക്ഷിക്കുകയാണെങ്കിൽ ഒരു ക്രമീകരണം മാറ്റി ആദ്യം അടിസ്ഥാനരേഖ രേഖപ്പെടുത്തുക. MTU, ഫയർവാൾ നിയമങ്ങൾ, ക്ലയന്റ് പ്രൊഫൈൽ എന്നിവയും മാറ്റുന്ന ഒരു റൺ ഫലം ഓഫ്ലോഡിന് ആരോപിക്കാൻ കഴിയില്ല. പിന്നീട് ക്രമീകരണം പുനഃസ്ഥാപിക്കുക.
ethtool -K eth0 tso off gro off
ping -M do -s 1400 example.com
വലിയ കൈമാറ്റത്തിന്റെ യഥാർത്ഥ തടസ്സം പാതയുടെ MTU-യെയും ആപ്ലിക്കേഷന് ലഭിക്കുന്ന പ്രതികരണത്തെയും കുറിച്ചുള്ള പ്രത്യേക ചോദ്യമാണ്. ഹോസ്റ്റിന്റെ അഗ്രിഗേറ്റ് ചെയ്ത യൂണിറ്റ് താഴെയുള്ള വലിപ്പപരിധി തെളിയിക്കുന്നുമില്ല നിഷേധിക്കുന്നുമില്ല, കുറഞ്ഞ CPU ശതമാനം ഓഫ്ലോഡിനെ കാരണമായി തിരിച്ചറിയുന്നുമില്ല.
ഉപയോഗപ്രദമായ ഫലം വിശദീകരിച്ച ക്യാപ്ചർ പോയിന്റും ആവർത്തിക്കാവുന്ന ആപ്ലിക്കേഷൻ നിരീക്ഷണവുമാണ്. ഇവ വേർതിരിച്ചാൽ, MTU മാറ്റം ആന്തരിക ബഫറിന്റെ ആകൃതിക്ക് പകരം യഥാർത്ഥ നിയന്ത്രണത്തെ ലക്ഷ്യമിടാം.