ഉപയോക്താവിനും സെർവറിനും ഇടയിലുള്ള ഡാറ്റാ ഫ്ലോ നിയന്ത്രിക്കുന്നതിന് ടിസിപി ഫ്ലോ കൺട്രോൾ എന്ന പ്രോട്ടോക്കോൾ സൃഷ്ടിച്ചു.
ഡാറ്റ അയയ്ക്കുന്നതിനും സ്വീകരിക്കുന്നതിനും ഒരു നിശ്ചിത അളവിലുള്ള ബാൻഡ്വിഡ്ത്ത് ലഭ്യമാണെന്ന് ഇത് ഉറപ്പാക്കുന്നു, അതുവഴി ഗുരുതരമായ പ്രശ്നങ്ങളൊന്നും നേരിടാതെ പ്രോസസ്സിംഗ് തുടരാനാകും.
ഇത് നടപ്പിലാക്കുന്നതിനായി TCP പ്രോട്ടോക്കോൾ സ്ലൈഡിംഗ് വിൻഡോ പ്രോട്ടോക്കോൾ എന്നറിയപ്പെടുന്ന ഒരു രീതി ഉപയോഗിക്കുന്നു.
ടിസിപി ഫ്ലോ കൺട്രോൾ ഈ ഭാഗത്തിൽ ഞങ്ങൾ ആഴത്തിൽ പരിശോധിക്കും, അത് എങ്ങനെ പ്രവർത്തിക്കുന്നു, ഏറ്റവും നിർണായകമായി, സ്ലൈഡിംഗ് വിൻഡോ പ്രോട്ടോക്കോൾ ഉൾപ്പെടെ.
എന്താണ് TCP ഫ്ലോ കൺട്രോൾ?
പ്രവചനാതീതമായ ഒരു നെറ്റ്വർക്കിലുടനീളം വിശ്വസനീയമായ ആശയവിനിമയ ചാനൽ സ്ഥാപിക്കാൻ TCP പ്രോട്ടോക്കോൾ ഉറപ്പാക്കുന്നു.
ഒരു നോഡിൽ നിന്ന് മറ്റൊന്നിലേക്ക് അയയ്ക്കുമ്പോൾ ഡാറ്റ പാക്കറ്റുകൾ നഷ്ടപ്പെടാം, ക്രമം തെറ്റിയേക്കാം, നെറ്റ്വർക്കിൽ ബാക്കപ്പ് ചെയ്യാം, അല്ലെങ്കിൽ സ്വീകരിക്കുന്ന നോഡിൽ ഓവർലോഡ് ചെയ്യാം.
എന്നിരുന്നാലും, ഒരു ആപ്ലിക്കേഷൻ വികസിപ്പിക്കുമ്പോൾ, ഞങ്ങൾ സാധാരണയായി ഈ സങ്കീർണ്ണത കൈകാര്യം ചെയ്യേണ്ടതില്ല; പകരം, ഞങ്ങൾ കുറച്ച് ഡാറ്റ ഒരു സോക്കറ്റിലേക്ക് അയയ്ക്കുന്നു, കൂടാതെ പാക്കറ്റുകൾ സ്വീകർത്താവിന്റെ നോഡിലേക്ക് വിജയകരമായി വിതരണം ചെയ്യുന്നുവെന്ന് TCP ഉറപ്പാക്കുന്നു..
TCP വാഗ്ദാനം ചെയ്യുന്ന ഒരു നിർണായക അധിക സവിശേഷതയാണ് ഫ്ലോ കൺട്രോൾ.
ഫ്ലോ കൺട്രോൾ ഉപയോഗിക്കുന്നതിലൂടെ, ഒരു അയക്കുന്നയാൾ ഒരു റിസീവറിന് ഒരേസമയം നിരവധി പാക്കറ്റുകൾ അയയ്ക്കുന്നില്ലെന്ന് ടിസിപി ഉറപ്പാക്കും.
ട്രാൻസ്ഫർ കൺട്രോൾ പ്രോട്ടോക്കോൾ - ഫ്ലോ കൺട്രോൾ എങ്ങനെ പ്രവർത്തിക്കും?
ഒരു നെറ്റ്വർക്കിലൂടെ നമുക്ക് ഡാറ്റ ആശയവിനിമയം നടത്തേണ്ടിവരുമ്പോൾ ഇത് സാധാരണയായി സംഭവിക്കുന്നു.
സെൻഡർ ആപ്ലിക്കേഷൻ ഒരു സോക്കറ്റിലേക്ക് ഡാറ്റ അയയ്ക്കുന്നു, ട്രാൻസ്പോർട്ട് ലെയർ (ഈ സാഹചര്യത്തിൽ, ടിസിപി) ഈ ഡാറ്റ ഒരു സെഗ്മെന്റിൽ പാക്കേജുചെയ്യുന്നു, കൂടാതെ നെറ്റ്വർക്ക് ലെയർ (ഉദാഹരണത്തിന്, ഐപി) ഈ പാക്കറ്റിനെ സ്വീകരിക്കുന്ന നോഡിലേക്ക് ഏതെങ്കിലും വഴിയിലൂടെ കൈമാറുന്നു.
സംഭാഷണത്തിന്റെ അവസാനത്തിൽ നെറ്റ്വർക്ക് ലെയർ ഈ ഡാറ്റ ടിസിപിയിലേക്ക് കൈമാറും, കൂടാതെ നൽകിയിരിക്കുന്ന ഡാറ്റയുടെ സമാനമായ തനിപ്പകർപ്പായി സ്വീകരിക്കുന്ന ആപ്ലിക്കേഷനിൽ ടിസിപി ഇത് ലഭ്യമാക്കും.
ടിസിപി ക്രമരഹിതമായ പാക്കറ്റുകൾ ഡെലിവർ ചെയ്യില്ല, ഒരു ബൈറ്റ് സ്ട്രീം വിടവ് കണ്ടെത്തിയാൽ വീണ്ടും സംപ്രേഷണത്തിനായി കാത്തിരിക്കുകയും ചെയ്യും.
സൂം ഇൻ ചെയ്താൽ നമുക്ക് കാണാൻ കഴിയുന്നത് ഇതാണ്.
TCP-യിലെ ട്രാൻസ്മിറ്റ്, റിസീവ് ബഫറുകൾ യഥാക്രമം അയയ്ക്കേണ്ടതും സ്വീകരിക്കേണ്ടതുമായ ഡാറ്റ ഹോൾഡ് ചെയ്യാൻ ഉപയോഗിക്കുന്നു.
സ്വീകരിക്കുന്ന ബഫറിൽ നിന്നുള്ള ഡാറ്റ അത് തയ്യാറാക്കുമ്പോൾ ആപ്ലിക്കേഷൻ അത് വായിക്കും.
റിസീവറിന്റെ റിസീവർ ബഫർ ഇതിനകം നിറഞ്ഞിരിക്കുമ്പോൾ ഞങ്ങൾ അധിക പാക്കറ്റുകൾ അയയ്ക്കുന്നില്ലെന്ന് ഉറപ്പാക്കുന്നത് ഫ്ലോ നിയന്ത്രണത്തിന്റെ പ്രധാന ലക്ഷ്യമാണ്, കാരണം അങ്ങനെ ചെയ്യുന്നത് റിസീവറിന് കൈകാര്യം ചെയ്യാൻ കഴിയാത്ത അധിക പാക്കറ്റുകൾ ഉപേക്ഷിക്കാൻ നിർബന്ധിതമാകും.
ടിസിപിക്ക് കൈമാറാൻ കഴിയുന്ന ഡാറ്റയുടെ അളവ് പരിമിതപ്പെടുത്തുന്നതിന് റിസീവർ അതിന്റെ സ്വീകരിക്കുന്ന വിൻഡോ അല്ലെങ്കിൽ സ്വീകരിക്കുന്ന ബഫറിൽ ലഭ്യമായ ഇടം പ്രഖ്യാപിക്കും.
സ്ലൈഡിംഗ് വിൻഡോ പ്രോട്ടോക്കോൾ
ടിസിപിയിലെ സ്ലൈഡിംഗ് വിൻഡോ പ്രോട്ടോക്കോൾ ഏറ്റവും വ്യാപകമായി ഉപയോഗിക്കുന്ന ഫ്ലോ നിയന്ത്രണ രീതികളിൽ ഒന്നാണ്. ഇത് ഒരു വേരിയബിൾ-സൈസ്, ബൈറ്റ്-ഓറിയന്റഡ് നടപടിക്രമമാണ്.
ഈ സമീപനത്തിൽ, അയച്ചയാളും റിസീവറും കണക്റ്റുചെയ്ത ഉടൻ തന്നെ സ്വീകർത്താവ് അയച്ചയാൾക്ക് റിസീവർ വിൻഡോ അയയ്ക്കുന്നു.
റിസീവറിന്റെ നിലവിലെ ബഫറിന്റെ വലുപ്പത്തെ റിസീവർ വിൻഡോ എന്ന് വിളിക്കുന്നു.
അംഗീകാരമില്ലാതെ കൂടുതൽ അയയ്ക്കാവുന്ന ഡാറ്റയുടെ അളവ് ഇപ്പോൾ ലഭ്യമായ റിസീവർ വിൻഡോയെ അടിസ്ഥാനമാക്കി TCP കണക്കാക്കുന്നു.
എന്നിരുന്നാലും, റിസീവർ വിൻഡോ വലുപ്പം 0 ആണെങ്കിൽ TCP ഡാറ്റ കൈമാറ്റം നിർത്തുകയും അത് വർദ്ധിക്കുന്നത് വരെ കാത്തിരിക്കുകയും ചെയ്യുന്നു.
റിസീവർ വിൻഡോയുടെ വലുപ്പം TCP ഫ്രെയിമിന്റെ ഒരു ഘടകമാണ്.
വിൻഡോയുടെ പരമാവധി വലുപ്പം 65,535 ബൈറ്റുകളാണ്, കാരണം ഇതിന് 16 ബിറ്റുകളുടെ വിൻഡോ വലുപ്പമുണ്ട്.
വിൻഡോയുടെ അളവുകൾ സ്വീകർത്താവ് തിരഞ്ഞെടുക്കുന്നു. ഓരോ അംഗീകാര സന്ദേശത്തിലും, റിസീവർ നിലവിൽ ലഭ്യമായ റിസീവർ വിൻഡോയുടെ വലുപ്പം കൈമാറുന്നു.
സ്ലൈഡിംഗ് വിൻഡോ പ്രോട്ടോക്കോൾ പ്രക്രിയ
സ്ലൈഡിംഗ് വിൻഡോ പ്രോട്ടോക്കോൾ ടെക്നിക് ഉപയോഗിക്കുമ്പോൾ, അയച്ചയാളും റിസീവറും ബന്ധിപ്പിക്കുമ്പോൾ രണ്ട് ബഫറുകൾ സ്ഥാപിക്കപ്പെടുന്നു.
ഈ രണ്ട് ബഫറുകളും രണ്ട് ഗ്രൂപ്പുകളായി തിരിച്ചിരിക്കുന്നു: അയയ്ക്കുന്നയാളുടേത് അയയ്ക്കുന്ന വിൻഡോ, സ്വീകരിക്കുന്നയാളുടേത് സ്വീകരിക്കുന്ന വിൻഡോ.
അയയ്ക്കുന്നയാൾ റിസീവറിലേക്ക് ഡാറ്റ കൈമാറുമ്പോൾ സ്വീകരിക്കുന്ന വിൻഡോ ശേഷിക്കുന്ന സ്വീകരിക്കുന്ന ബഫർ സ്പേസ് തിരികെ നൽകുന്നു.
തൽഫലമായി, സ്വീകരിക്കുന്ന ബഫറിൽ ഉൾക്കൊള്ളിക്കാവുന്ന ഡാറ്റയുടെ അളവിൽ അയയ്ക്കുന്നയാൾ പരിമിതപ്പെടുത്തിയിരിക്കുന്നു.
മുകളിലുള്ള ഉദാഹരണത്തിലെ ട്രാൻസ്മിറ്റിംഗ് വിൻഡോ സ്വീകരിക്കുന്ന വിൻഡോയിലേക്ക് ഡാറ്റ കൈമാറുന്നു.
ഡാറ്റ സ്വീകരിച്ച ശേഷം, സ്വീകരിക്കുന്ന വിൻഡോ ഒരു അംഗീകാരം അയയ്ക്കുന്നു, തുടർന്ന് ട്രാൻസ്മിറ്റിംഗ് വിൻഡോ ഒരു പുതിയ ഡാറ്റ ഫ്രെയിം ട്രാൻസ്മിറ്റ് ചെയ്യുന്നു.
എന്നിരുന്നാലും, ഈ സമയം, സ്വീകരിക്കുന്ന വിൻഡോ അധികമായി ഒരു സന്ദേശം അയയ്ക്കുന്നു, അതിന് ലഭിച്ച അംഗീകാരത്തിന് പുറമേ ലഭ്യമായ മെമ്മറിയും നിറഞ്ഞിരിക്കുന്നുവെന്ന് പ്രസ്താവിക്കുന്നു.
സ്പേസ് സ്വതന്ത്രമാക്കിയതായി സ്വീകരിക്കുന്ന വിൻഡോയിൽ നിന്ന് സ്ഥിരീകരണം ലഭിക്കുന്നതുവരെ ട്രാൻസ്മിറ്റിംഗ് വിൻഡോ ഡാറ്റാ ട്രാൻസ്മിഷൻ താൽക്കാലികമായി നിർത്തുന്നു, ആ സമയത്ത് അതിന് ഡാറ്റാ ട്രാൻസ്മിഷൻ പുനരാരംഭിക്കാം.
തീരുമാനം
ഉപസംഹാരമായി, ഡാറ്റാ കണക്ഷൻ ലെയറും ട്രാൻസ്പോർട്ട് ലെയറും ഫ്ലോ നിയന്ത്രണ ആശങ്കകൾ കൈകാര്യം ചെയ്യുന്നതിന് ഉത്തരവാദികളാണ്.
പ്രവാഹ നിയന്ത്രണ സംവിധാനത്തിന്റെ അടിസ്ഥാന ലക്ഷ്യം, വേഗത്തിൽ പ്രക്ഷേപണം ചെയ്യുന്നയാളിൽ നിന്നുള്ള ഡാറ്റ ഉപയോഗിച്ച് റിസീവറിന് അമിതഭാരം ഉണ്ടാകുന്നത് തടയുക എന്നതാണ്.
അയയ്ക്കുന്നയാൾ കൈമാറുന്ന ഡാറ്റ പിശകുകളില്ലാത്തതാണെങ്കിൽ പോലും, ശക്തമായ ഒരു യന്ത്രത്തിന് നന്ദി പറഞ്ഞ് വേഗത്തിലുള്ള നിരക്കിൽ അയയ്ക്കുകയാണെങ്കിൽ, സ്ലോ എൻഡ് റിസീവറിന് വേഗതയേറിയ ഡാറ്റാ നിരക്ക് കൈകാര്യം ചെയ്യാൻ കഴിയാതെ വരാനും അതിനാൽ കുറച്ച് ഡാറ്റ നഷ്ടപ്പെടാനും സാധ്യതയുണ്ട്.
നിങ്ങളുടെ അഭിപ്രായങ്ങൾ രേഖപ്പെടുത്തുക