TCP കണക്ഷൻ സജ്ജീകരണം
നമ്മൾ വെബ് ബ്രൗസ് ചെയ്യുമ്പോഴോ, ഇമെയിൽ അയയ്ക്കുമ്പോഴോ, ഓൺലൈൻ ഗെയിം കളിക്കുമ്പോഴോ, അതിന് പിന്നിലെ സങ്കീർണ്ണമായ നെറ്റ്വർക്ക് കണക്ഷനെക്കുറിച്ച് പലപ്പോഴും ചിന്തിക്കാറില്ല. എന്നിരുന്നാലും, ഈ ചെറിയ ഘട്ടങ്ങളാണ് നമ്മളും സെർവറും തമ്മിലുള്ള സ്ഥിരമായ ആശയവിനിമയം ഉറപ്പാക്കുന്നത്. ഏറ്റവും പ്രധാനപ്പെട്ട ഘട്ടങ്ങളിലൊന്നാണ് TCP കണക്ഷൻ സജ്ജീകരണം, ഇതിന്റെ കാതൽ ത്രീ-വേ ഹാൻഡ്ഷേക്ക് ആണ്.
ഈ ലേഖനം ത്രീ-വേ ഹാൻഡ്ഷേക്കിന്റെ തത്വം, പ്രക്രിയ, പ്രാധാന്യം എന്നിവ വിശദമായി ചർച്ച ചെയ്യും. ഘട്ടം ഘട്ടമായി, ത്രീ-വേ ഹാൻഡ്ഷേക്ക് എന്തുകൊണ്ട് ആവശ്യമാണ്, കണക്ഷൻ സ്ഥിരതയും വിശ്വാസ്യതയും ഇത് എങ്ങനെ ഉറപ്പാക്കുന്നു, ഡാറ്റാ കൈമാറ്റത്തിന് ഇത് എത്രത്തോളം പ്രധാനമാണെന്ന് ഞങ്ങൾ വിശദീകരിക്കും. ത്രീ-വേ ഹാൻഡ്ഷേക്കിനെക്കുറിച്ച് കൂടുതൽ ആഴത്തിലുള്ള ധാരണയോടെ, നെറ്റ്വർക്ക് ആശയവിനിമയത്തിന്റെ അടിസ്ഥാന സംവിധാനങ്ങളെക്കുറിച്ച് നമുക്ക് മികച്ച ധാരണയും TCP കണക്ഷനുകളുടെ വിശ്വാസ്യതയെക്കുറിച്ച് വ്യക്തമായ കാഴ്ചപ്പാടും ലഭിക്കും.
TCP ത്രീ-വേ ഹാൻഡ്ഷേക്ക് പ്രോസസും സ്റ്റേറ്റ് ട്രാൻസിഷനുകളും
TCP എന്നത് ഒരു കണക്ഷൻ-ഓറിയന്റഡ് ട്രാൻസ്പോർട്ട് പ്രോട്ടോക്കോളാണ്, ഇതിന് ഡാറ്റാ ട്രാൻസ്മിഷന് മുമ്പ് കണക്ഷൻ സ്ഥാപിക്കൽ ആവശ്യമാണ്. ഈ കണക്ഷൻ സ്ഥാപിക്കൽ പ്രക്രിയ മൂന്ന്-വഴി ഹാൻഡ്ഷേക്ക് വഴിയാണ് ചെയ്യുന്നത്.
ഓരോ കണക്ഷനിലും അയയ്ക്കുന്ന TCP പാക്കറ്റുകൾ ഏതൊക്കെയാണെന്ന് നമുക്ക് സൂക്ഷ്മമായി പരിശോധിക്കാം.
തുടക്കത്തിൽ, ക്ലയന്റും സെർവറും അടച്ചിരിക്കും. ആദ്യം, സെർവർ ഒരു പോർട്ടിൽ സജീവമായി കേൾക്കുകയും LISTEN അവസ്ഥയിലായിരിക്കുകയും ചെയ്യുന്നു, അതായത് സെർവർ ആരംഭിക്കണം. അടുത്തതായി, വെബ്പേജ് ആക്സസ് ചെയ്യാൻ ക്ലയന്റ് തയ്യാറാണ്. സെർവറുമായി ഒരു കണക്ഷൻ സ്ഥാപിക്കേണ്ടതുണ്ട്. ആദ്യ കണക്ഷൻ പാക്കറ്റിന്റെ ഫോർമാറ്റ് ഇപ്രകാരമാണ്:
ഒരു ക്ലയന്റ് ഒരു കണക്ഷൻ ആരംഭിക്കുമ്പോൾ, അത് ഒരു റാൻഡം ഇനീഷ്യൽ സീക്വൻസ് നമ്പർ (client_isn) സൃഷ്ടിക്കുകയും TCP ഹെഡറിന്റെ "സീക്വൻസ് നമ്പർ" ഫീൽഡിൽ സ്ഥാപിക്കുകയും ചെയ്യുന്നു. അതേസമയം, ഔട്ട്ഗോയിംഗ് പാക്കറ്റ് ഒരു SYN പാക്കറ്റാണെന്ന് സൂചിപ്പിക്കാൻ ക്ലയന്റ് SYN ഫ്ലാഗ് സ്ഥാനം 1 ആയി സജ്ജമാക്കുന്നു. ആദ്യത്തെ SYN പാക്കറ്റ് സെർവറിലേക്ക് അയച്ചുകൊണ്ട് സെർവറുമായി ഒരു കണക്ഷൻ സ്ഥാപിക്കാൻ ആഗ്രഹിക്കുന്നുവെന്ന് ക്ലയന്റ് സൂചിപ്പിക്കുന്നു. ഈ പാക്കറ്റിൽ ആപ്ലിക്കേഷൻ ലെയർ ഡാറ്റ (അതായത്, അയച്ച ഡാറ്റ) അടങ്ങിയിട്ടില്ല. ഈ ഘട്ടത്തിൽ, ക്ലയന്റിന്റെ സ്റ്റാറ്റസ് SYN-SENT ആയി അടയാളപ്പെടുത്തിയിരിക്കുന്നു.
ഒരു സെർവറിന് ഒരു ക്ലയന്റിൽ നിന്ന് ഒരു SYN പാക്കറ്റ് ലഭിക്കുമ്പോൾ, അത് ക്രമരഹിതമായി സ്വന്തം സീരിയൽ നമ്പർ (server_isn) ആരംഭിക്കുകയും തുടർന്ന് ആ നമ്പർ TCP ഹെഡറിന്റെ "സീരിയൽ നമ്പർ" ഫീൽഡിൽ ഇടുകയും ചെയ്യുന്നു. അടുത്തതായി, സെർവർ "അക്നോളജ്മെന്റ് നമ്പർ" ഫീൽഡിൽ client_isn + 1 നൽകുകയും SYN, ACK ബിറ്റുകൾ രണ്ടും 1 ആയി സജ്ജമാക്കുകയും ചെയ്യുന്നു. ഒടുവിൽ, സെർവർ പാക്കറ്റ് ക്ലയന്റിലേക്ക് അയയ്ക്കുന്നു, അതിൽ ആപ്ലിക്കേഷൻ-ലെയർ ഡാറ്റയില്ല (സെർവറിന് അയയ്ക്കാൻ ഡാറ്റയുമില്ല). ഈ സമയത്ത്, സെർവർ SYN-RCVD അവസ്ഥയിലാണ്.
സെർവറിൽ നിന്ന് പാക്കറ്റ് ക്ലയന്റിന് ലഭിച്ചുകഴിഞ്ഞാൽ, അന്തിമ മറുപടി പാക്കറ്റിനോട് പ്രതികരിക്കുന്നതിന് അത് ഇനിപ്പറയുന്ന ഒപ്റ്റിമൈസേഷനുകൾ നടത്തേണ്ടതുണ്ട്: ആദ്യം, ക്ലയന്റ് മറുപടി പാക്കറ്റിന്റെ TCP ഹെഡറിന്റെ ACK ബിറ്റ് 1 ആയി സജ്ജമാക്കുന്നു; രണ്ടാമതായി, ക്ലയന്റ് "ഉത്തര നമ്പർ സ്ഥിരീകരിക്കുക" ഫീൽഡിൽ server_isn + 1 എന്ന മൂല്യം നൽകുന്നു; ഒടുവിൽ, ക്ലയന്റ് പാക്കറ്റ് സെർവറിലേക്ക് അയയ്ക്കുന്നു. ഈ പാക്കറ്റിന് ക്ലയന്റിൽ നിന്ന് സെർവറിലേക്ക് ഡാറ്റ കൊണ്ടുപോകാൻ കഴിയും. ഈ പ്രവർത്തനങ്ങൾ പൂർത്തിയാകുമ്പോൾ, ക്ലയന്റ് ESTABLISHED അവസ്ഥയിലേക്ക് പ്രവേശിക്കും.
ക്ലയന്റിൽ നിന്ന് മറുപടി പാക്കറ്റ് സെർവറിന് ലഭിച്ചുകഴിഞ്ഞാൽ, അത് ESTABLISHED അവസ്ഥയിലേക്ക് മാറുന്നു.
മുകളിൽ പറഞ്ഞ പ്രക്രിയയിൽ നിന്ന് നിങ്ങൾക്ക് കാണാനാകുന്നതുപോലെ, ഒരു ത്രീ-വേ ഹാൻഡ്ഷേക്ക് നടത്തുമ്പോൾ, മൂന്നാമത്തെ ഹാൻഡ്ഷേക്കിന് ഡാറ്റ കൊണ്ടുപോകാൻ അനുവാദമുണ്ട്, എന്നാൽ ആദ്യത്തെ രണ്ട് ഹാൻഡ്ഷേക്കുകൾക്ക് അങ്ങനെയല്ല. അഭിമുഖങ്ങളിൽ പലപ്പോഴും ചോദിക്കുന്ന ഒരു ചോദ്യമാണിത്. ത്രീ-വേ ഹാൻഡ്ഷേക്ക് പൂർത്തിയായിക്കഴിഞ്ഞാൽ, രണ്ട് കക്ഷികളും ESTABLISHED അവസ്ഥയിലേക്ക് പ്രവേശിക്കുന്നു, ഇത് കണക്ഷൻ വിജയകരമായി സ്ഥാപിച്ചുവെന്ന് സൂചിപ്പിക്കുന്നു, ആ ഘട്ടത്തിൽ ക്ലയന്റിനും സെർവറിനും പരസ്പരം ഡാറ്റ അയയ്ക്കാൻ ആരംഭിക്കാം.
എന്തിനാണ് മൂന്ന് ഹസ്തദാനം? രണ്ടുതവണയല്ല, നാല് തവണ?
പൊതുവായ ഉത്തരം ഇതാണ്, "കാരണം മൂന്ന് വഴികളിലൂടെയുള്ള ഹസ്തദാനം സ്വീകരിക്കാനും അയയ്ക്കാനുമുള്ള കഴിവ് ഉറപ്പുനൽകുന്നു." ഈ ഉത്തരം ശരിയാണ്, പക്ഷേ ഇത് ഉപരിപ്ലവമായ കാരണം മാത്രമാണ്, പ്രധാന കാരണം മുന്നോട്ട് വയ്ക്കുന്നില്ല. ഈ പ്രശ്നത്തെക്കുറിച്ചുള്ള നമ്മുടെ ഗ്രാഹ്യം വർദ്ധിപ്പിക്കുന്നതിന് മൂന്ന് വശങ്ങളിൽ നിന്ന് ട്രിപ്പിൾ ഹസ്തദാനത്തിനുള്ള കാരണങ്ങൾ ഞാൻ വിശകലനം ചെയ്യും.
ചരിത്രപരമായി ആവർത്തിച്ചുള്ള കണക്ഷനുകളുടെ (പ്രധാന കാരണം) തുടക്കീകരണം ഫലപ്രദമായി ഒഴിവാക്കാൻ ത്രീ-വേ ഹാൻഡ്ഷേക്കിന് കഴിയും.
മൂന്ന് വഴികളിലൂടെയുള്ള ഹാൻഡ്ഷേക്ക് രണ്ട് കക്ഷികൾക്കും വിശ്വസനീയമായ ഒരു പ്രാരംഭ ക്രമസംഖ്യ ലഭിച്ചിട്ടുണ്ടെന്ന് ഉറപ്പാക്കുന്നു.
മൂന്ന് വഴികളിലൂടെയുള്ള ഹസ്തദാനം വിഭവങ്ങൾ പാഴാക്കുന്നത് ഒഴിവാക്കുന്നു.
കാരണം 1: ചരിത്രപരമായ തനിപ്പകർപ്പ് കൂട്ടിച്ചേർക്കലുകൾ ഒഴിവാക്കുക.
ചുരുക്കത്തിൽ, ത്രീ-വേ ഹാൻഡ്ഷേക്കിനുള്ള പ്രധാന കാരണം പഴയ ഡ്യൂപ്ലിക്കേറ്റ് കണക്ഷൻ ഇനീഷ്യലൈസേഷൻ മൂലമുണ്ടാകുന്ന ആശയക്കുഴപ്പം ഒഴിവാക്കുക എന്നതാണ്. സങ്കീർണ്ണമായ ഒരു നെറ്റ്വർക്ക് പരിതസ്ഥിതിയിൽ, ഡാറ്റ പാക്കറ്റുകളുടെ ട്രാൻസ്മിഷൻ എല്ലായ്പ്പോഴും നിർദ്ദിഷ്ട സമയത്തിന് അനുസൃതമായി ലക്ഷ്യസ്ഥാന ഹോസ്റ്റിലേക്ക് അയയ്ക്കില്ല, കൂടാതെ നെറ്റ്വർക്ക് തിരക്കും മറ്റ് കാരണങ്ങളും കാരണം പഴയ ഡാറ്റ പാക്കറ്റുകൾ ആദ്യം ലക്ഷ്യസ്ഥാന ഹോസ്റ്റിൽ എത്തിയേക്കാം. ഇത് ഒഴിവാക്കാൻ, കണക്ഷൻ സ്ഥാപിക്കാൻ ടിസിപി ത്രീ-വേ ഹാൻഡ്ഷേക്ക് ഉപയോഗിക്കുന്നു.
നെറ്റ്വർക്ക് തിരക്ക് പോലുള്ള സാഹചര്യങ്ങളിൽ, ഒരു ക്ലയന്റ് ഒന്നിലധികം SYN കണക്ഷൻ എസ്റ്റാബ്ലിഷ്മെന്റ് പാക്കറ്റുകൾ തുടർച്ചയായി അയയ്ക്കുമ്പോൾ, ഇനിപ്പറയുന്നവ സംഭവിക്കാം:
1- ഏറ്റവും പുതിയ SYN പാക്കറ്റുകൾക്ക് മുമ്പ് പഴയ SYN പാക്കറ്റുകൾ സെർവറിൽ എത്തുന്നു.
2- പഴയ SYN പാക്കറ്റ് ലഭിച്ചതിന് ശേഷം സെർവർ ക്ലയന്റിന് ഒരു SYN + ACK പാക്കറ്റ് മറുപടി നൽകും.
3- ക്ലയന്റിന് SYN + ACK പാക്കറ്റ് ലഭിക്കുമ്പോൾ, കണക്ഷൻ അതിന്റെ സ്വന്തം സന്ദർഭത്തിനനുസരിച്ച് ഒരു ചരിത്രപരമായ കണക്ഷനാണെന്ന് (സീക്വൻസ് നമ്പർ കാലഹരണപ്പെട്ടു അല്ലെങ്കിൽ കാലഹരണപ്പെട്ടു) നിർണ്ണയിക്കുന്നു, തുടർന്ന് കണക്ഷൻ നിർത്തലാക്കുന്നതിന് RST പാക്കറ്റ് സെർവറിലേക്ക് അയയ്ക്കുന്നു.
രണ്ട്-ഹാൻഡ്ഷേക്ക് കണക്ഷനുള്ളപ്പോൾ, നിലവിലെ കണക്ഷൻ ഒരു ചരിത്രപരമായ കണക്ഷനാണോ എന്ന് നിർണ്ണയിക്കാൻ ഒരു മാർഗവുമില്ല. മൂന്നാമത്തെ പാക്കറ്റ് അയയ്ക്കാൻ തയ്യാറാകുമ്പോൾ സന്ദർഭത്തെ അടിസ്ഥാനമാക്കി നിലവിലെ കണക്ഷൻ ഒരു ചരിത്രപരമായ കണക്ഷനാണോ എന്ന് നിർണ്ണയിക്കാൻ ത്രീ-വേ ഹാൻഡ്ഷേക്ക് ക്ലയന്റിനെ അനുവദിക്കുന്നു:
1- അതൊരു ഹിസ്റ്റോറിക്കൽ കണക്ഷൻ ആണെങ്കിൽ (സീക്വൻസ് നമ്പർ കാലഹരണപ്പെട്ടു അല്ലെങ്കിൽ കാലഹരണപ്പെട്ടു), മൂന്നാമത്തെ ഹാൻഡ്ഷേക്ക് അയച്ച പാക്കറ്റ് ഹിസ്റ്റോറിക്കൽ കണക്ഷൻ നിർത്തലാക്കുന്നതിനുള്ള ഒരു RST പാക്കറ്റാണ്.
2- ഇതൊരു ചരിത്രപരമായ കണക്ഷനല്ലെങ്കിൽ, മൂന്നാം തവണ അയച്ച പാക്കറ്റ് ഒരു ACK പാക്കറ്റ് ആയിരിക്കും, കൂടാതെ ആശയവിനിമയം നടത്തുന്ന രണ്ട് കക്ഷികളും കണക്ഷൻ വിജയകരമായി സ്ഥാപിക്കുന്നു.
അതുകൊണ്ടുതന്നെ, ടിസിപി ത്രീ-വേ ഹാൻഡ്ഷേക്ക് ഉപയോഗിക്കുന്നതിന്റെ പ്രധാന കാരണം, ചരിത്രപരമായ കണക്ഷനുകൾ തടയുന്നതിനായി കണക്ഷൻ ഇനീഷ്യലൈസ് ചെയ്യുന്നു എന്നതാണ്.
കാരണം 2: രണ്ട് കക്ഷികളുടെയും പ്രാരംഭ ശ്രേണി സംഖ്യകൾ സമന്വയിപ്പിക്കുന്നതിന്
ടിസിപി പ്രോട്ടോക്കോളിന്റെ ഇരുവശങ്ങളിലും ഒരു സീക്വൻസ് നമ്പർ നിലനിർത്തണം, ഇത് വിശ്വസനീയമായ ട്രാൻസ്മിഷൻ ഉറപ്പാക്കുന്നതിനുള്ള ഒരു പ്രധാന ഘടകമാണ്. ടിസിപി കണക്ഷനുകളിൽ സീക്വൻസ് നമ്പറുകൾ ഒരു പ്രധാന പങ്ക് വഹിക്കുന്നു. അവ ഇനിപ്പറയുന്നവ ചെയ്യുന്നു:
സ്വീകർത്താവിന് തനിപ്പകർപ്പ് ഡാറ്റ ഇല്ലാതാക്കാനും ഡാറ്റയുടെ കൃത്യത ഉറപ്പാക്കാനും കഴിയും.
ഡാറ്റയുടെ സമഗ്രത ഉറപ്പാക്കാൻ, സ്വീകർത്താവിന് ക്രമസംഖ്യയുടെ ക്രമത്തിൽ പാക്കറ്റുകൾ സ്വീകരിക്കാൻ കഴിയും.
● സീക്വൻസ് നമ്പറിന് മറ്റേ കക്ഷിക്ക് ലഭിച്ച ഡാറ്റ പാക്കറ്റ് തിരിച്ചറിയാൻ കഴിയും, അതുവഴി വിശ്വസനീയമായ ഡാറ്റാ ട്രാൻസ്മിഷൻ സാധ്യമാക്കുന്നു.
അതിനാൽ, ഒരു TCP കണക്ഷൻ സ്ഥാപിക്കുമ്പോൾ, ക്ലയന്റ് പ്രാരംഭ സീക്വൻസ് നമ്പർ ഉള്ള SYN പാക്കറ്റുകൾ അയയ്ക്കുകയും ക്ലയന്റിന്റെ SYN പാക്കറ്റ് വിജയകരമായി സ്വീകരിച്ചതായി സൂചിപ്പിക്കുന്ന ഒരു ACK പാക്കറ്റ് ഉപയോഗിച്ച് സെർവർ മറുപടി നൽകണമെന്ന് ആവശ്യപ്പെടുകയും ചെയ്യുന്നു. തുടർന്ന്, സെർവർ പ്രാരംഭ സീക്വൻസ് നമ്പർ ഉള്ള SYN പാക്കറ്റ് ക്ലയന്റിലേക്ക് അയയ്ക്കുകയും പ്രാരംഭ സീക്വൻസ് നമ്പറുകൾ വിശ്വസനീയമായി സമന്വയിപ്പിച്ചിട്ടുണ്ടെന്ന് ഉറപ്പാക്കാൻ ക്ലയന്റ് മറുപടി നൽകുന്നതിനായി ഒരിക്കൽ കൂടി കാത്തിരിക്കുകയും ചെയ്യുന്നു.
രണ്ട് കക്ഷികളുടെയും പ്രാരംഭ ശ്രേണി സംഖ്യകളെ വിശ്വസനീയമായി സമന്വയിപ്പിക്കാൻ ഒരു ഫോർ-വേ ഹാൻഡ്ഷേക്ക് സാധ്യമാണെങ്കിലും, രണ്ടാമത്തെയും മൂന്നാമത്തെയും ഘട്ടങ്ങൾ ഒരൊറ്റ ഘട്ടമായി സംയോജിപ്പിക്കാൻ കഴിയും, ഇത് മൂന്ന്-വഴി ഹാൻഡ്ഷേക്കിൽ കലാശിക്കുന്നു. എന്നിരുന്നാലും, രണ്ട് ഹാൻഡ്ഷേക്കുകളും ഒരു കക്ഷിയുടെ പ്രാരംഭ ശ്രേണി നമ്പർ മറ്റേ കക്ഷി വിജയകരമായി സ്വീകരിച്ചുവെന്ന് മാത്രമേ ഉറപ്പുനൽകൂ, എന്നാൽ രണ്ട് കക്ഷികളുടെയും പ്രാരംഭ ശ്രേണി നമ്പർ സ്ഥിരീകരിക്കാൻ കഴിയുമെന്ന് ഒരു ഉറപ്പുമില്ല. അതിനാൽ, TCP കണക്ഷനുകളുടെ സ്ഥിരതയും വിശ്വാസ്യതയും ഉറപ്പാക്കുന്നതിന് ത്രീ-വേ ഹാൻഡ്ഷേക്ക് സ്വീകരിക്കേണ്ട ഏറ്റവും നല്ല തിരഞ്ഞെടുപ്പാണ്.
കാരണം 3: വിഭവങ്ങൾ പാഴാക്കുന്നത് ഒഴിവാക്കുക
"രണ്ട്-ഹാൻഡ്ഷേക്ക്" മാത്രമേ ഉള്ളൂവെങ്കിൽ, ക്ലയന്റ് SYN അഭ്യർത്ഥന നെറ്റ്വർക്കിൽ തടയപ്പെടുമ്പോൾ, സെർവർ അയച്ച ACK പാക്കറ്റ് ക്ലയന്റിന് സ്വീകരിക്കാൻ കഴിയില്ല, അതിനാൽ SYN വീണ്ടും അയയ്ക്കപ്പെടും. എന്നിരുന്നാലും, മൂന്നാമത്തെ ഹാൻഡ്ഷേക്ക് ഇല്ലാത്തതിനാൽ, കണക്ഷൻ സ്ഥാപിക്കുന്നതിന് ക്ലയന്റിന് ഒരു ACK അംഗീകാരം ലഭിച്ചോ എന്ന് സെർവറിന് നിർണ്ണയിക്കാൻ കഴിയില്ല. അതിനാൽ, ഓരോ SYN അഭ്യർത്ഥനയും ലഭിച്ചതിനുശേഷം മാത്രമേ സെർവറിന് ഒരു കണക്ഷൻ മുൻകൂട്ടി സ്ഥാപിക്കാൻ കഴിയൂ. ഇത് ഇനിപ്പറയുന്നതിലേക്ക് നയിക്കുന്നു:
വിഭവങ്ങളുടെ പാഴാക്കൽ: ക്ലയന്റിന്റെ SYN അഭ്യർത്ഥന തടയപ്പെടുകയും, ഒന്നിലധികം SYN പാക്കറ്റുകളുടെ ആവർത്തിച്ചുള്ള സംപ്രേഷണത്തിന് കാരണമാവുകയും ചെയ്താൽ, അഭ്യർത്ഥന ലഭിച്ചതിനുശേഷം സെർവർ ഒന്നിലധികം അനാവശ്യമായ അസാധുവായ കണക്ഷനുകൾ സ്ഥാപിക്കും. ഇത് സെർവർ വിഭവങ്ങളുടെ അനാവശ്യ പാഴാക്കലിലേക്ക് നയിക്കുന്നു.
സന്ദേശം നിലനിർത്തൽ: മൂന്നാമത്തെ ഹാൻഡ്ഷേക്കിന്റെ അഭാവം കാരണം, കണക്ഷൻ സ്ഥാപിക്കുന്നതിനുള്ള ACK അംഗീകാരം ക്ലയന്റിന് ശരിയായി ലഭിച്ചോ എന്ന് സെർവറിന് അറിയാൻ കഴിയില്ല. തൽഫലമായി, സന്ദേശങ്ങൾ നെറ്റ്വർക്കിൽ കുടുങ്ങിയാൽ, ക്ലയന്റ് SYN അഭ്യർത്ഥനകൾ വീണ്ടും വീണ്ടും അയച്ചുകൊണ്ടിരിക്കും, ഇത് സെർവറിന് നിരന്തരം പുതിയ കണക്ഷനുകൾ സ്ഥാപിക്കാൻ കാരണമാകും. ഇത് നെറ്റ്വർക്ക് തിരക്കും കാലതാമസവും വർദ്ധിപ്പിക്കുകയും മൊത്തത്തിലുള്ള നെറ്റ്വർക്ക് പ്രകടനത്തെ പ്രതികൂലമായി ബാധിക്കുകയും ചെയ്യും.
അതിനാൽ, നെറ്റ്വർക്ക് കണക്ഷന്റെ സ്ഥിരതയും വിശ്വാസ്യതയും ഉറപ്പാക്കുന്നതിന്, ഈ പ്രശ്നങ്ങൾ ഉണ്ടാകുന്നത് ഒഴിവാക്കാൻ കണക്ഷൻ സ്ഥാപിക്കുന്നതിന് TCP ത്രീ-വേ ഹാൻഡ്ഷേക്ക് ഉപയോഗിക്കുന്നു.
സംഗ്രഹം
ദിനെറ്റ്വർക്ക് പാക്കറ്റ് ബ്രോക്കർTCP കണക്ഷൻ സ്ഥാപിക്കൽ ഒരു ത്രീ-വേ ഹാൻഡ്ഷേക്ക് ഉപയോഗിച്ചാണ് ചെയ്യുന്നത്. ത്രീ-വേ ഹാൻഡ്ഷേക്ക് സമയത്ത്, ക്ലയന്റ് ആദ്യം SYN ഫ്ലാഗ് ഉള്ള ഒരു പാക്കറ്റ് സെർവറിലേക്ക് അയയ്ക്കുന്നു, ഇത് കണക്ഷൻ സ്ഥാപിക്കാൻ ആഗ്രഹിക്കുന്നുവെന്ന് സൂചിപ്പിക്കുന്നു. ക്ലയന്റിൽ നിന്ന് അഭ്യർത്ഥന ലഭിച്ച ശേഷം, സെർവർ SYN, ACK ഫ്ലാഗുകൾ ഉള്ള ഒരു പാക്കറ്റിന് ക്ലയന്റിലേക്ക് മറുപടി നൽകുന്നു, കണക്ഷൻ അഭ്യർത്ഥന സ്വീകരിച്ചുവെന്ന് സൂചിപ്പിക്കുന്നു, കൂടാതെ സ്വന്തം പ്രാരംഭ സീക്വൻസ് നമ്പർ അയയ്ക്കുന്നു. ഒടുവിൽ, കണക്ഷൻ വിജയകരമായി സ്ഥാപിച്ചുവെന്ന് സൂചിപ്പിക്കുന്നതിന് ക്ലയന്റ് സെർവറിലേക്ക് ഒരു ACK ഫ്ലാഗ് ഉപയോഗിച്ച് മറുപടി നൽകുന്നു. അങ്ങനെ, രണ്ട് കക്ഷികളും ESTABLISHED അവസ്ഥയിലാണ്, പരസ്പരം ഡാറ്റ അയയ്ക്കാൻ ആരംഭിക്കാം.
പൊതുവേ, TCP കണക്ഷൻ സ്ഥാപിക്കുന്നതിനുള്ള ത്രീ-വേ ഹാൻഡ്ഷേക്ക് പ്രക്രിയ, കണക്ഷൻ സ്ഥിരതയും വിശ്വാസ്യതയും ഉറപ്പാക്കുന്നതിനും, ചരിത്രപരമായ കണക്ഷനുകളെച്ചൊല്ലിയുള്ള ആശയക്കുഴപ്പവും വിഭവങ്ങളുടെ പാഴാക്കലും ഒഴിവാക്കുന്നതിനും, രണ്ട് കക്ഷികൾക്കും ഡാറ്റ സ്വീകരിക്കാനും അയയ്ക്കാനും കഴിയുമെന്ന് ഉറപ്പാക്കുന്നതിനുമാണ് രൂപകൽപ്പന ചെയ്തിരിക്കുന്നത്.
പോസ്റ്റ് സമയം: ജനുവരി-08-2025