TCP இணைப்பு அமைப்பு
நாங்கள் வலையை உலாவும்போது, மின்னஞ்சல் அனுப்பும்போது அல்லது ஆன்லைன் விளையாட்டை விளையாடும்போது, அதன் பின்னால் உள்ள சிக்கலான பிணைய இணைப்பைப் பற்றி நாங்கள் அடிக்கடி சிந்திப்பதில்லை. இருப்பினும், இந்த சிறிய படிகள் தான் எங்களுக்கும் சேவையகத்திற்கும் இடையில் நிலையான தகவல்தொடர்புகளை உறுதி செய்கின்றன. மிக முக்கியமான படிகளில் ஒன்று TCP இணைப்பு அமைப்பு, இதன் மையமானது மூன்று வழி ஹேண்ட்ஷேக் ஆகும்.
இந்த கட்டுரை மூன்று வழி ஹேண்ட்ஷேக்கின் கொள்கை, செயல்முறை மற்றும் முக்கியத்துவத்தை விரிவாக விவாதிக்கும். படிப்படியாக, மூன்று வழி ஹேண்ட்ஷேக் ஏன் தேவை, இணைப்பு நிலைத்தன்மை மற்றும் நம்பகத்தன்மையை எவ்வாறு உறுதி செய்கிறது, தரவு பரிமாற்றத்திற்கு இது எவ்வளவு முக்கியம் என்பதை விளக்குவோம். மூன்று வழி ஹேண்ட்ஷேக்கைப் பற்றிய ஆழமான புரிதலுடன், நெட்வொர்க் தகவல்தொடர்புகளின் அடிப்படை வழிமுறைகள் மற்றும் டி.சி.பி இணைப்புகளின் நம்பகத்தன்மையைப் பற்றிய தெளிவான பார்வையைப் பற்றி நன்கு புரிந்துகொள்வோம்.
டி.சி.பி மூன்று வழி ஹேண்ட்ஷேக் செயல்முறை மற்றும் மாநில மாற்றங்கள்
TCP என்பது இணைப்பு சார்ந்த போக்குவரத்து நெறிமுறையாகும், இது தரவு பரிமாற்றத்திற்கு முன் இணைப்பு நிறுவல் தேவைப்படுகிறது. இந்த இணைப்பு ஸ்தாபன செயல்முறை மூன்று வழி ஹேண்ட்ஷேக் மூலம் செய்யப்படுகிறது.
ஒவ்வொரு இணைப்பிலும் அனுப்பப்படும் TCP பாக்கெட்டுகளை உற்று நோக்கலாம்.
ஆரம்பத்தில், கிளையன்ட் மற்றும் சேவையகம் இரண்டும் மூடப்பட்டுள்ளன. முதலாவதாக, சேவையகம் ஒரு துறைமுகத்தில் தீவிரமாகக் கேட்கிறது மற்றும் கேட்கும் நிலையில் உள்ளது, அதாவது சேவையகம் தொடங்கப்பட வேண்டும். அடுத்து, கிளையன்ட் வலைப்பக்கத்தை அணுகத் தயாராக உள்ளது. இது சேவையகத்துடன் ஒரு இணைப்பை நிறுவ வேண்டும். முதல் இணைப்பு பாக்கெட்டின் வடிவம் பின்வருமாறு:
ஒரு கிளையன்ட் ஒரு இணைப்பைத் தொடங்கும்போது, அது ஒரு சீரற்ற ஆரம்ப வரிசை எண்ணை (Client_ISN) உருவாக்கி, அதை TCP தலைப்பின் "வரிசை எண்" புலத்தில் வைக்கிறது. அதே நேரத்தில், வெளிச்செல்லும் பாக்கெட் ஒரு ஒத்திசைவு பாக்கெட் என்பதைக் குறிக்க கிளையன்ட் SYN கொடி நிலையை 1 ஆக அமைக்கிறது. முதல் SYN பாக்கெட்டை சேவையகத்திற்கு அனுப்புவதன் மூலம் சேவையகத்துடன் இணைப்பை நிறுவ விரும்புவதாக கிளையன்ட் சுட்டிக்காட்டுகிறது. இந்த பாக்கெட்டில் பயன்பாட்டு அடுக்கு தரவு இல்லை (அதாவது தரவு அனுப்பப்பட்டது). இந்த கட்டத்தில், வாடிக்கையாளரின் நிலை ஒத்திசைவு எனக் குறிக்கப்பட்டுள்ளது.
ஒரு சேவையகம் ஒரு கிளையண்டிலிருந்து ஒரு ஒத்திசைவு பாக்கெட்டைப் பெறும்போது, அது அதன் சொந்த வரிசை எண்ணை (Server_isn) தோராயமாக துவக்குகிறது, பின்னர் அந்த எண்ணை TCP தலைப்பின் "வரிசை எண்" புலத்தில் வைக்கிறது. அடுத்து, சேவையகம் "ஒப்புதல் எண்" புலத்தில் Client_ISN + 1 க்குள் நுழைகிறது மற்றும் SYN மற்றும் ACK பிட்கள் இரண்டையும் 1 ஆக அமைக்கிறது. இறுதியாக, சேவையகம் பாக்கெட்டை கிளையண்டிற்கு அனுப்புகிறது, அதில் பயன்பாட்டு-அடுக்கு தரவுகள் இல்லை (மற்றும் சேவையகம் அனுப்ப எந்த தரவு இல்லை). இந்த நேரத்தில், சேவையகம் SYN-RCVD நிலையில் உள்ளது.
கிளையன்ட் சேவையகத்திலிருந்து பாக்கெட்டைப் பெற்றவுடன், இறுதி பதில் பாக்கெட்டுக்கு பதிலளிக்க பின்வரும் மேம்படுத்தல்களைச் செய்ய வேண்டும்: முதலாவதாக, கிளையன்ட் பதில் பாக்கெட்டின் டி.சி.பி தலைப்பின் ACK பிட்டை 1 ஆக அமைக்கிறது; இரண்டாவதாக, கிளையன்ட் "பதில் எண்ணை உறுதிப்படுத்தவும்" புலத்தில் சேவையக_ISN + 1 க்குள் நுழைகிறது; இறுதியாக, கிளையன்ட் பாக்கெட்டை சேவையகத்திற்கு அனுப்புகிறது. இந்த பாக்கெட் கிளையண்டிலிருந்து சேவையகத்திற்கு தரவை எடுத்துச் செல்ல முடியும். இந்த செயல்பாடுகள் முடிந்ததும், வாடிக்கையாளர் நிறுவப்பட்ட நிலைக்குள் நுழைவார்.
கிளையண்டிலிருந்து பதில் பாக்கெட்டைப் பெற்றவுடன், அது நிறுவப்பட்ட நிலைக்கு மாறுகிறது.
மேலே உள்ள செயல்முறையிலிருந்து நீங்கள் காணக்கூடியது போல, மூன்று வழி ஹேண்ட்ஷேக்கைச் செய்யும்போது, மூன்றாவது ஹேண்ட்ஷேக் தரவை எடுத்துச் செல்ல அனுமதிக்கப்படுகிறது, ஆனால் முதல் இரண்டு ஹேண்ட்ஷேக்குகள் இல்லை. இது பெரும்பாலும் நேர்காணல்களில் கேட்கப்படும் கேள்வி. மூன்று வழி ஹேண்ட்ஷேக் முடிந்ததும், இரு கட்சிகளும் நிறுவப்பட்ட நிலைக்குள் நுழைகின்றன, இது இணைப்பு வெற்றிகரமாக நிறுவப்பட்டிருப்பதைக் குறிக்கிறது, அந்த நேரத்தில் கிளையன்ட் மற்றும் சேவையகம் ஒருவருக்கொருவர் தரவை அனுப்பத் தொடங்கலாம்.
ஏன் மூன்று ஹேண்ட்ஷேக்குகள்? இரண்டு முறை அல்ல, நான்கு முறை?
பொதுவான பதில் என்னவென்றால், "ஏனெனில் மூன்று வழி ஹேண்ட்ஷேக் பெறும் மற்றும் அனுப்பும் திறனை உறுதி செய்கிறது." இந்த பதில் சரியானது, ஆனால் இது மேற்பரப்பு காரணம் மட்டுமே, முக்கிய காரணத்தை முன்வைக்கவில்லை. பின்வருவனவற்றில், இந்த சிக்கலைப் பற்றிய நமது புரிதலை ஆழப்படுத்த மூன்று அம்சங்களிலிருந்து மூன்று கைகுலுக்கலுக்கான காரணங்களை நான் பகுப்பாய்வு செய்வேன்.
மூன்று வழி ஹேண்ட்ஷேக் வரலாற்று ரீதியாக மீண்டும் மீண்டும் இணைப்புகளின் துவக்கத்தை திறம்பட தவிர்க்கலாம் (முக்கிய காரணம்)
இரு கட்சிகளும் நம்பகமான ஆரம்ப வரிசை எண்ணைப் பெற்றுள்ளன என்று மூன்று வழி ஹேண்ட்ஷேக் உத்தரவாதம் அளிக்கிறது.
மூன்று வழி ஹேண்ட்ஷேக் வளங்களை வீணாக்குவதைத் தவிர்க்கிறது.
காரணம் 1: வரலாற்று நகல் இணைவதைத் தவிர்க்கவும்
சுருக்கமாக, மூன்று வழி ஹேண்ட்ஷேக்கிற்கான முக்கிய காரணம் பழைய நகல் இணைப்பு துவக்கத்தால் ஏற்படும் குழப்பங்களைத் தவிர்ப்பது. ஒரு சிக்கலான நெட்வொர்க் சூழலில், தரவு பாக்கெட்டுகளின் பரிமாற்றம் எப்போதும் குறிப்பிட்ட நேரத்திற்கு ஏற்ப இலக்கு ஹோஸ்டுக்கு அனுப்பப்படாது, மேலும் நெட்வொர்க் நெரிசல் மற்றும் பிற காரணங்களால் பழைய தரவு பாக்கெட்டுகள் முதலில் இலக்கு ஹோஸ்டுக்கு வரக்கூடும். இதைத் தவிர்க்க, இணைப்பை நிறுவ டி.சி.பி மூன்று வழி ஹேண்ட்ஷேக்கைப் பயன்படுத்துகிறது.
நெட்வொர்க் நெரிசல் போன்ற சூழ்நிலைகளில், ஒரு வாடிக்கையாளர் பல ஒத்திசைவு இணைப்பு ஸ்தாபன பாக்கெட்டுகளை அடுத்தடுத்து அனுப்பும்போது, பின்வருபவை ஏற்படலாம்:
1- சமீபத்திய ஒத்திசைவு பாக்கெட்டுகளுக்கு முன் பழைய ஒத்திசைவு பாக்கெட்டுகள் சேவையகத்திற்கு வருகின்றன.
2- பழைய SYN பாக்கெட்டைப் பெற்ற பிறகு கிளையண்டிற்கு SYN + ACK பாக்கெட்டுக்கு சேவையகம் பதிலளிக்கும்.
3- கிளையன்ட் SYN + ACK பாக்கெட்டைப் பெறும்போது, இணைப்பு ஒரு வரலாற்று இணைப்பு (வரிசை எண் காலாவதியானது அல்லது நேரம் முடிந்தது) அதன் சொந்த சூழலுக்கு ஏற்ப அதை தீர்மானிக்கிறது, பின்னர் இணைப்பை நிறுத்தி வைக்க RST பாக்கெட்டை சேவையகத்திற்கு அனுப்புகிறது.
இரண்டு-ஹேண்ட்ஷேக் இணைப்புடன், தற்போதைய இணைப்பு ஒரு வரலாற்று இணைப்பு என்பதை தீர்மானிக்க வழி இல்லை. மூன்றாவது பாக்கெட்டை அனுப்பத் தயாராக இருக்கும்போது தற்போதைய இணைப்பு சூழலின் அடிப்படையில் ஒரு வரலாற்று இணைப்பா என்பதை தீர்மானிக்க மூன்று வழி ஹேண்ட்ஷேக் வாடிக்கையாளரை அனுமதிக்கிறது:
1- இது ஒரு வரலாற்று இணைப்பாக இருந்தால் (வரிசை எண் காலாவதியானது அல்லது நேரம் முடிந்தது), மூன்றாம் ஹேண்ட்ஷேக் அனுப்பிய பாக்கெட் வரலாற்று இணைப்பைக் கைவிட ஒரு RST பாக்கெட் ஆகும்.
2- இது ஒரு வரலாற்று இணைப்பு இல்லையென்றால், மூன்றாவது முறையாக அனுப்பப்பட்ட பாக்கெட் ஒரு ACK பாக்கெட் ஆகும், மேலும் இரு தொடர்பு கட்சிகளும் வெற்றிகரமாக இணைப்பை நிறுவுகின்றன.
ஆகையால், டி.சி.பி மூன்று வழி ஹேண்ட்ஷேக்கைப் பயன்படுத்துவதற்கான முக்கிய காரணம், வரலாற்று இணைப்புகளைத் தடுக்க இது இணைப்பைத் தொடங்குகிறது.
காரணம் 2: இரு கட்சிகளின் ஆரம்ப வரிசை எண்களை ஒத்திசைக்க
TCP நெறிமுறையின் இரு பக்கங்களும் ஒரு வரிசை எண்ணை பராமரிக்க வேண்டும், இது நம்பகமான பரிமாற்றத்தை உறுதிப்படுத்த ஒரு முக்கிய காரணியாகும். TCP இணைப்புகளில் வரிசை எண்கள் முக்கிய பங்கு வகிக்கின்றன. அவை பின்வருவனவற்றைச் செய்கின்றன:
பெறுநர் நகல் தரவை அகற்றி தரவின் துல்லியத்தை உறுதிப்படுத்த முடியும்.
தரவின் ஒருமைப்பாட்டை உறுதிப்படுத்த ரிசீவர் வரிசை எண்ணின் வரிசையில் பாக்கெட்டுகளைப் பெறலாம்.
The வரிசை எண் மற்ற கட்சியால் பெறப்பட்ட தரவு பாக்கெட்டை அடையாளம் காண முடியும், இது நம்பகமான தரவு பரிமாற்றத்தை செயல்படுத்துகிறது.
எனவே, ஒரு TCP இணைப்பை நிறுவியவுடன், கிளையன்ட் ஆரம்ப வரிசை எண்ணுடன் SYN பாக்கெட்டுகளை அனுப்புகிறது, மேலும் கிளையண்டின் SYN பாக்கெட்டின் வெற்றிகரமான வரவேற்பைக் குறிக்கும் ACK பாக்கெட்டுடன் சேவையகம் பதிலளிக்க வேண்டும். பின்னர், சேவையகம் ஆரம்ப வரிசை எண்ணுடன் SYN பாக்கெட்டை கிளையண்டிற்கு அனுப்புகிறது மற்றும் ஆரம்ப வரிசை எண்கள் நம்பத்தகுந்த ஒத்திசைக்கப்படுவதை உறுதிசெய்ய கிளையன்ட் பதிலளிக்க ஒரு முறை பதிலளிக்க காத்திருக்கிறார்.
இரு கட்சிகளின் ஆரம்ப வரிசை எண்களை நம்பத்தகுந்த வகையில் ஒத்திசைக்க நான்கு வழி ஹேண்ட்ஷேக் சாத்தியமானது என்றாலும், இரண்டாவது மற்றும் மூன்றாவது படிகளை ஒரே படியாக இணைக்க முடியும், இதன் விளைவாக மூன்று வழி ஹேண்ட்ஷேக் ஏற்படுகிறது. இருப்பினும், இரண்டு ஹேண்ட்ஷேக்குகளும் ஒரு கட்சியின் ஆரம்ப வரிசை எண் மற்ற கட்சியால் வெற்றிகரமாக பெறப்படுகின்றன என்பதற்கு மட்டுமே உத்தரவாதம் அளிக்க முடியும், ஆனால் இரு கட்சிகளின் ஆரம்ப வரிசை எண்ணையும் உறுதிப்படுத்த முடியும் என்பதற்கு எந்த உத்தரவாதமும் இல்லை. எனவே, TCP இணைப்புகளின் ஸ்திரத்தன்மை மற்றும் நம்பகத்தன்மையை உறுதி செய்வதற்காக மூன்று வழி ஹேண்ட்ஷேக் எடுக்க சிறந்த தேர்வாகும்.
காரணம் 3: வளங்களை வீணாக்குவதைத் தவிர்க்கவும்
நெட்வொர்க்கில் கிளையன்ட் SYN கோரிக்கை தடுக்கப்பட்டால், "இரண்டு-கை-கை" மட்டுமே இருந்தால், கிளையன்ட் சேவையகத்தால் அனுப்பப்படும் ACK பாக்கெட்டைப் பெற முடியாது, எனவே ஒத்திசைவு அதிருப்தி அளிக்கும். இருப்பினும், மூன்றாம் ஹேண்ட்ஷேக் இல்லாததால், இணைப்பை நிறுவ கிளையன்ட் ஒரு ACK ஒப்புதலைப் பெற்றாரா என்பதை சேவையகத்தால் தீர்மானிக்க முடியாது. எனவே, ஒவ்வொரு SYN கோரிக்கையையும் பெற்ற பின்னரே சேவையகம் ஒரு இணைப்பை முன்கூட்டியே நிறுவ முடியும். இது பின்வருவனவற்றிற்கு வழிவகுக்கிறது:
வளங்களின் கழிவு: கிளையண்டின் ஒத்திசைவு கோரிக்கை தடுக்கப்பட்டால், பல ஒத்திசைவு பாக்கெட்டுகளை மீண்டும் மீண்டும் அனுப்பினால், சேவையகம் கோரிக்கையைப் பெற்ற பிறகு பல தேவையற்ற தவறான இணைப்புகளை நிறுவும். இது சேவையக வளங்களின் தேவையற்ற கழிவுக்கு வழிவகுக்கிறது.
செய்தி தக்கவைப்பு: மூன்றாம் ஹேண்ட்ஷேக் இல்லாததால், இணைப்பை நிறுவுவதற்கான ACK ஒப்புதலை வாடிக்கையாளர் சரியாகப் பெற்றாரா என்பதை அறிய சேவையகத்திற்கு வழி இல்லை. இதன் விளைவாக, நெட்வொர்க்கில் செய்திகள் சிக்கிக்கொண்டால், கிளையன்ட் மீண்டும் மீண்டும் SYN கோரிக்கைகளை அனுப்பும், இதனால் சேவையகம் தொடர்ந்து புதிய இணைப்புகளை நிறுவுகிறது. இது பிணைய நெரிசலை அதிகரிக்கும் மற்றும் தாமதத்தை அதிகரிக்கும் மற்றும் ஒட்டுமொத்த பிணைய செயல்திறனை எதிர்மறையாக பாதிக்கும்.
எனவே, பிணைய இணைப்பின் நிலைத்தன்மை மற்றும் நம்பகத்தன்மையை உறுதி செய்வதற்காக, இந்த சிக்கல்கள் ஏற்படுவதைத் தவிர்ப்பதற்காக இணைப்பை நிறுவுவதற்கு TCP மூன்று வழி ஹேண்ட்ஷேக்கைப் பயன்படுத்துகிறது.
சுருக்கம்
திநெட்வொர்க் பாக்கெட் தரகர்TCP இணைப்பு ஸ்தாபனம் மூன்று வழி ஹேண்ட்ஷேக் மூலம் செய்யப்படுகிறது. மூன்று வழி ஹேண்ட்ஷேக்கின் போது, கிளையன்ட் முதலில் SYN கொடியுடன் ஒரு பாக்கெட்டை சேவையகத்திற்கு அனுப்புகிறார், இது ஒரு இணைப்பை நிறுவ விரும்புகிறது என்பதைக் குறிக்கிறது. கிளையண்டிலிருந்து கோரிக்கையைப் பெற்ற பிறகு, சேவையகம் கிளையண்டிற்கு SYN மற்றும் ACK கொடிகளுடன் ஒரு பாக்கெட்டை பதிலளிக்கிறது, இணைப்பு கோரிக்கை ஏற்றுக்கொள்ளப்பட்டதைக் குறிக்கிறது, மேலும் அதன் சொந்த ஆரம்ப வரிசை எண்ணை அனுப்புகிறது. இறுதியாக, இணைப்பு வெற்றிகரமாக நிறுவப்பட்டிருப்பதைக் குறிக்க கிளையன்ட் சேவையகத்திற்கு ஒரு ACK கொடியுடன் பதிலளித்தார். எனவே, இரு கட்சிகளும் நிறுவப்பட்ட நிலையில் உள்ளன, மேலும் அவை ஒருவருக்கொருவர் தரவை அனுப்பத் தொடங்கலாம்.
பொதுவாக, டி.சி.பி இணைப்பு ஸ்தாபனத்திற்கான மூன்று வழி ஹேண்ட்ஷேக் செயல்முறை இணைப்பு ஸ்திரத்தன்மை மற்றும் நம்பகத்தன்மையை உறுதி செய்வதற்கும், வரலாற்று இணைப்புகள் மீது வளங்களை வீணாக்குவதையும் தவிர்க்கவும், இரு கட்சிகளும் தரவைப் பெறவும் அனுப்பவும் முடியும் என்பதை உறுதிப்படுத்த வடிவமைக்கப்பட்டுள்ளது.
இடுகை நேரம்: ஜனவரி -08-2025