የአውታረ መረብ ፓኬት ደላላ TCP ግኑኝነቶች ቁልፍ ሚስጥሮች፡ የሶስትዮሽ እጅ መጨባበጥ አስፈላጊነትን አሳምኗል

TCP ግንኙነት ማዋቀር
ድሩን ስንቃኝ፣ ኢሜይል ስንልክ ወይም የመስመር ላይ ጨዋታ ስንጫወት ብዙ ጊዜ ከጀርባው ስላለው ውስብስብ የአውታረ መረብ ግንኙነት አናስብም። ሆኖም፣ በእኛ እና በአገልጋዩ መካከል የተረጋጋ ግንኙነትን የሚያረጋግጡት እነዚህ ትናንሽ የሚመስሉ ደረጃዎች ናቸው። በጣም አስፈላጊ ከሆኑት ደረጃዎች አንዱ የ TCP ግንኙነት ቅንብር ነው, እና የዚህ ዋና አካል የሶስት መንገድ የእጅ መጨባበጥ ነው.

ይህ ጽሑፍ የሶስት መንገድ የእጅ መጨባበጥ መርህ, ሂደት እና አስፈላጊነት በዝርዝር ያብራራል. ደረጃ በደረጃ፣ የሶስት መንገድ መጨባበጥ ለምን እንደሚያስፈልግ፣ የግንኙነት መረጋጋትን እና አስተማማኝነትን እንዴት እንደሚያረጋግጥ እና ለውሂብ ማስተላለፍ ምን ያህል አስፈላጊ እንደሆነ እንገልፃለን። የሶስት መንገድ የእጅ መጨባበጥን በጥልቀት በመረዳት ስለ አውታረ መረብ ግንኙነት መሰረታዊ ዘዴዎች እና ስለ TCP ግንኙነቶች አስተማማኝነት የበለጠ ግንዛቤን እናገኛለን።

TCP ባለ ሶስት አቅጣጫ የእጅ መጨባበጥ ሂደት እና የግዛት ሽግግሮች
TCP ግንኙነትን ያማከለ የትራንስፖርት ፕሮቶኮል ሲሆን ይህም ከመረጃ ስርጭት በፊት የግንኙነት መመስረትን ይጠይቃል። ይህ የግንኙነት ምስረታ ሂደት የሚከናወነው በሶስት መንገድ በመጨባበጥ ነው.

 TCP ባለ ሶስት አቅጣጫ የእጅ መጨባበጥ

በእያንዳንዱ ግንኙነት ውስጥ የሚላኩትን የTCP ፓኬቶችን ጠለቅ ብለን እንመልከታቸው።

መጀመሪያ ላይ ደንበኛው እና አገልጋዩ ሁለቱም ተዘግተዋል። በመጀመሪያ አገልጋዩ ወደብ ላይ በንቃት ያዳምጣል እና በ LISTEN ሁኔታ ውስጥ ነው ፣ ይህ ማለት አገልጋዩ መጀመር አለበት ማለት ነው። በመቀጠል ደንበኛው የድረ-ገጹን መዳረሻ ለመጀመር ዝግጁ ነው.ከአገልጋዩ ጋር ግንኙነት መፍጠር ያስፈልገዋል. የመጀመሪያው የግንኙነት ፓኬት ቅርጸት እንደሚከተለው ነው-

 SYN ፓኬት

አንድ ደንበኛ ግንኙነትን ሲጀምር የዘፈቀደ የመጀመሪያ ተከታታይ ቁጥር (client_isn) ያመነጫል እና በTCP ራስጌ "ቅደም ተከተል ቁጥር" መስክ ውስጥ ያስቀምጠዋል. በተመሳሳይ ጊዜ ደንበኛው የወጪው ፓኬት የSYN ፓኬት መሆኑን ለማሳየት የSYN ባንዲራ ቦታ ወደ 1 ያዘጋጃል። ደንበኛው የመጀመሪያውን SYN ፓኬት ወደ አገልጋዩ በመላክ ከአገልጋዩ ጋር ግንኙነት መመስረት እንደሚፈልግ ይጠቁማል። ይህ ፓኬት የመተግበሪያ ንብርብር ውሂብ (ማለትም፣ የተላከ ውሂብ) የለውም። በዚህ ጊዜ የደንበኛው ሁኔታ SYN-SENT ተብሎ ምልክት ይደረግበታል።

SYN+ACK ጥቅል

አንድ አገልጋይ የSYN ፓኬት ከደንበኛው ሲቀበል በዘፈቀደ የራሱን መለያ ቁጥር (server_isn) ይጀምራል እና ቁጥሩን በTCP ራስጌው “መለያ ቁጥር” መስክ ላይ ያደርገዋል። በመቀጠል አገልጋዩ ደንበኛ_isn + 1ን በ"Acknowledgement number" መስክ ውስጥ ያስገባና ሁለቱንም SYN እና ACK ቢት ወደ 1 ያዘጋጃል።በመጨረሻም አገልጋዩ ፓኬጁን ለደንበኛው ይልካል። ለመላክ)። በዚህ ጊዜ አገልጋዩ በSYN-RCVD ሁኔታ ውስጥ ነው።

ACK ፓኬት

አንዴ ደንበኛው ፓኬጁን ከአገልጋዩ ከተቀበለ በኋላ ለመጨረሻው የምላሽ እሽግ ምላሽ ለመስጠት የሚከተሉትን ማሻሻያዎችን ማከናወን ያስፈልገዋል፡ በመጀመሪያ ደንበኛው የ ACK ቢት የ TCP እሽጉ ራስጌ ወደ 1 ያዘጋጃል; በሁለተኛ ደረጃ, ደንበኛው በ "መልስ ቁጥር ያረጋግጡ" መስክ ውስጥ ዋጋ አገልጋይ_isn + 1 ያስገባል; በመጨረሻም ደንበኛው ፓኬጁን ወደ አገልጋዩ ይልካል. ይህ ፓኬት ከደንበኛው ወደ አገልጋዩ መረጃን ሊወስድ ይችላል። እነዚህ ክዋኔዎች ሲጠናቀቁ ደንበኛው ወደ ተቋሙ ሁኔታ ይገባል.

አንዴ አገልጋዩ የመልስ ፓኬጁን ከደንበኛው ከተቀበለ በኋላ ወደ ተቋሙ ሁኔታ ይቀየራል።

ከላይ ካለው ሂደት እንደሚመለከቱት, የሶስት መንገድ የእጅ መጨባበጥ ሲሰሩ, ሶስተኛው የእጅ መጨባበጥ መረጃን እንዲይዝ ይፈቀድለታል, ነገር ግን የመጀመሪያዎቹ ሁለት እጆች አይደሉም. ይህ በቃለ መጠይቅ ውስጥ ብዙ ጊዜ የሚነሳ ጥያቄ ነው. የሶስት መንገድ መጨባበጥ ከተጠናቀቀ በኋላ ሁለቱም ወገኖች ወደ ESTABLISHED ግዛት ውስጥ ይገባሉ, ይህም ግንኙነቱ በተሳካ ሁኔታ መፈጠሩን ያሳያል, በዚህ ጊዜ ደንበኛው እና አገልጋዩ እርስ በርስ ውሂብ መላክ ይጀምራሉ.

ለምን ሶስት እጅ መጨባበጥ? ሁለት ጊዜ አይደለም አራት ጊዜ?
የተለመደው መልስ "የሶስት መንገድ መጨባበጥ የመቀበል እና የመላክ ችሎታን ስለሚያረጋግጥ ነው." ይህ መልስ ትክክል ነው, ነገር ግን የላይኛው ምክንያት ብቻ ነው, ዋናውን ምክንያት አላስቀመጠም. በዚህ ጉዳይ ላይ ያለንን ግንዛቤ ለማሳደግ የሶስትዮሽ እጅ መጨባበጥ ምክንያቶችን ከዚህ በታች እገልጻለሁ።

የሶስት መንገድ መጨባበጥ በታሪክ የተደጋገሙ ግንኙነቶችን መጀመርን ውጤታማ በሆነ መንገድ ያስወግዳል (ዋናው ምክንያት)
የሶስት መንገድ መጨባበጥ ሁለቱም ወገኖች አስተማማኝ የመጀመሪያ ቅደም ተከተል ቁጥር ማግኘታቸውን ዋስትና ይሰጣል።
የሶስት መንገድ መጨባበጥ ሀብትን ከማባከን ይከላከላል።

ምክንያት 1፡ ታሪካዊ ብዜት መጋጠሚያዎችን ያስወግዱ
በአጭሩ፣ የሶስት መንገድ የእጅ መጨባበጥ ዋናው ምክንያት በአሮጌው የተባዛ ግንኙነት አጀማመር የተፈጠረውን ግራ መጋባት ለማስወገድ ነው። ውስብስብ በሆነ የአውታረ መረብ አካባቢ የዳታ ፓኬጆችን ማስተላለፍ በተጠቀሰው ጊዜ መሰረት ሁልጊዜ ወደ መድረሻው አስተናጋጅ አይላክም, እና የድሮ የውሂብ ፓኬቶች በኔትወርክ መጨናነቅ እና በሌሎች ምክንያቶች መጀመሪያ ወደ መድረሻው አስተናጋጅ ሊደርሱ ይችላሉ. ይህንን ለማስቀረት TCP ግንኙነቱን ለመመስረት በሶስት መንገድ የሚደረግ የእጅ መጨባበጥ ይጠቀማል።

ባለሶስት መንገድ መጨባበጥ ታሪካዊ የተባዙ ግንኙነቶችን ያስወግዳል

አንድ ደንበኛ ብዙ የSYN ግንኙነት ማቋቋሚያ ፓኬጆችን በተከታታይ ሲልክ እንደ የአውታረ መረብ መጨናነቅ ባሉ ሁኔታዎች ውስጥ የሚከተለው ሊከሰት ይችላል።

1- የድሮዎቹ የSYN ፓኬቶች ከዘመናዊዎቹ የSYN ፓኬቶች በፊት ወደ አገልጋዩ ይደርሳሉ።
2- አገልጋዩ የድሮውን የSYN ፓኬት ከተቀበለ በኋላ የSYN + ACK ፓኬት ለደንበኛው ይመልሳል።
3- ደንበኛው የ SYN + ACK ፓኬት ሲቀበል ግንኙነቱ ታሪካዊ ግንኙነት መሆኑን (የቅደም ተከተል ቁጥር ጊዜው ያለፈበት ወይም ጊዜው ያለፈበት) እንደየራሱ አውድ ይወስናል እና የ RST ፓኬትን ወደ አገልጋዩ በመላክ ግንኙነቱን እንዲያቋርጥ ያደርጋል።

በሁለት-መጨባበጥ ግንኙነት, የአሁኑ ግንኙነት ታሪካዊ ግንኙነት መሆኑን ለመወሰን ምንም መንገድ የለም. የሶስት መንገድ መጨባበጥ ደንበኛው ሶስተኛውን ፓኬት ለመላክ ሲዘጋጅ በዐውደ-ጽሑፉ ላይ በመመስረት የአሁኑ ግንኙነት ታሪካዊ ግንኙነት መሆኑን እንዲያውቅ ያስችለዋል፡

1- ታሪካዊ ግንኙነት ከሆነ (የቅደም ተከተል ቁጥር ጊዜው ያለፈበት ወይም ጊዜው ያለፈበት) ከሆነ, በሶስተኛው የእጅ መጨባበጥ የተላከው ፓኬት ታሪካዊ ግንኙነትን ለማቋረጥ የ RST ፓኬት ነው.
2- ታሪካዊ ግንኙነት ካልሆነ ለሶስተኛ ጊዜ የተላከው ፓኬት የ ACK ፓኬት ሲሆን ሁለቱ ተግባቢ አካላት ግንኙነቱን በተሳካ ሁኔታ መሰረቱ።

ስለዚህ, TCP የሶስት መንገድ መጨባበጥን የሚጠቀምበት ዋናው ምክንያት ታሪካዊ ግንኙነቶችን ለመከላከል ግንኙነቱን መጀመር ነው.

ምክንያት 2፡ የሁለቱም ወገኖች የመጀመሪያ ተከታታይ ቁጥሮች ለማመሳሰል
የ TCP ፕሮቶኮል ሁለቱም ወገኖች ተከታታይ ቁጥር መያዝ አለባቸው, ይህም አስተማማኝ ስርጭትን ለማረጋገጥ ቁልፍ ነገር ነው. ተከታታይ ቁጥሮች በ TCP ግንኙነቶች ውስጥ ወሳኝ ሚና ይጫወታሉ.እነሱ የሚከተሉትን ያደርጋሉ:

ተቀባዩ የተባዛ ውሂብን ማስወገድ እና የመረጃውን ትክክለኛነት ማረጋገጥ ይችላል.

የመረጃውን ትክክለኛነት ለማረጋገጥ ተቀባዩ በቅደም ተከተል ቁጥር ቅደም ተከተል ፓኬቶችን መቀበል ይችላል።

● የቅደም ተከተል ቁጥሩ በሌላኛው ወገን የተቀበለውን የመረጃ ፓኬት መለየት ይችላል፣ ይህም አስተማማኝ የውሂብ ማስተላለፍ ያስችላል።

ስለዚህ የTCP ግንኙነት ሲመሰርቱ ደንበኛው የ SYN ፓኬቶችን ከመጀመሪያው ተከታታይ ቁጥር ጋር ይልካል እና አገልጋዩ የደንበኛውን SYN ፓኬት በተሳካ ሁኔታ መቀበሉን የሚያመለክት የ ACK ፓኬት እንዲመልስ ይጠይቃል። ከዚያም አገልጋዩ የ SYN ፓኬትን ከመጀመሪያው ተከታታይ ቁጥር ጋር ወደ ደንበኛው ይልካል እና ደንበኛው መልስ እስኪሰጥ ለአንዴና ለመጨረሻ ጊዜ ይጠብቃል, የመጀመሪያዎቹ ተከታታይ ቁጥሮች በአስተማማኝ ሁኔታ መመሳሰልን ለማረጋገጥ.

የሁለቱም ወገኖች የመጀመሪያ ተከታታይ ቁጥሮች ያመሳስሉ

ምንም እንኳን የአራት መንገድ መጨባበጥ የሁለቱም ወገኖች የመጀመሪያ ቅደም ተከተል ቁጥሮች በአስተማማኝ ሁኔታ ማመሳሰል ቢቻልም ፣ ሁለተኛው እና ሦስተኛው ደረጃዎች ወደ አንድ ደረጃ ሊጣመሩ ይችላሉ ፣ በዚህም የሶስት መንገድ መጨባበጥን ያስከትላል። ሆኖም ሁለቱ መጨባበጥ የአንድ ወገን የመጀመሪያ ቅደም ተከተል ቁጥር በሌላኛው ወገን በተሳካ ሁኔታ መቀበሉን ብቻ ሊያረጋግጥ ይችላል፣ ነገር ግን የሁለቱም ወገኖች የመጀመሪያ ቅደም ተከተል ቁጥር ለመረጋገጥ ዋስትና የለም። ስለዚህ የ TCP ግንኙነቶችን መረጋጋት እና አስተማማኝነት ለማረጋገጥ የሶስት መንገድ መጨባበጥ ምርጥ ምርጫ ነው.

ምክንያት 3፡ ሀብትን ከማባከን ተቆጠብ
"ሁለት-መጨባበጥ" ብቻ ካለ የደንበኛው SYN ጥያቄ በኔትወርኩ ውስጥ ሲታገድ ደንበኛው በአገልጋዩ የተላከውን የ ACK ፓኬት መቀበል ስለማይችል SYN ይላካል። ነገር ግን፣ ምንም ሶስተኛ እጅ መጨባበጥ ባለመኖሩ አገልጋዩ ደንበኛው ግንኙነቱን ለመመስረት የ ACK እውቅና መቀበሉን ማወቅ አይችልም። ስለዚህ፣ አገልጋዩ በንቃት ግንኙነት መመስረት የሚችለው እያንዳንዱን የSYN ጥያቄ ከተቀበለ በኋላ ነው። ይህ ወደሚከተለው ይመራል.

የሀብት ብክነት፡ የደንበኛው የSYN ጥያቄ ከታገደ እና ብዙ የSYN ፓኬቶችን ደጋግሞ በማስተላለፍ አገልጋዩ ጥያቄውን ከተቀበለ በኋላ ብዙ ጊዜ የማይሰሩ ትክክለኛ ያልሆኑ ግንኙነቶችን ይፈጥራል። ይህ ወደ አላስፈላጊ የአገልጋይ ሀብቶች ብክነት ይመራል።

የመልዕክት ማቆየት፡ በሶስተኛ እጅ መጨባበጥ እጥረት ምክንያት አገልጋዩ ደንበኛው ግንኙነቱን ለመመስረት የACK እውቅና በትክክል መቀበሉን የሚያውቅበት መንገድ የለውም። በውጤቱም፣ መልዕክቶች በአውታረ መረቡ ውስጥ ከተጣበቁ ደንበኛው የSYN ጥያቄዎችን ደጋግሞ መላክ ይቀጥላል፣ ይህም አገልጋዩ በየጊዜው አዳዲስ ግንኙነቶችን እንዲመሰርት ያደርጋል። ይህ የአውታረ መረብ መጨናነቅ እና መዘግየትን ይጨምራል እናም አጠቃላይ የአውታረ መረብ አፈፃፀም ላይ አሉታዊ ተጽዕኖ ያሳድራል።

ሀብትን ከማባከን ተቆጠብ

ስለዚህ, የአውታረ መረብ ግንኙነት መረጋጋት እና አስተማማኝነት ለማረጋገጥ, TCP እነዚህን ችግሮች እንዳይከሰት ለመከላከል ግንኙነቱን ለመመስረት የሶስት መንገድ የእጅ መጨባበጥ ይጠቀማል.

ማጠቃለያ
የአውታረ መረብ ፓኬት ደላላየ TCP ግንኙነት መመስረት የሚከናወነው በሶስት መንገድ በመጨባበጥ ነው። በሶስት መንገድ መጨባበጥ ደንበኛው መጀመሪያ የSYN ባንዲራ ያለበት ፓኬት ወደ አገልጋዩ ይልካል ይህም ግንኙነት መመስረት እንደሚፈልግ ያሳያል። ከደንበኛው ጥያቄውን ከተቀበለ በኋላ አገልጋዩ የ SYN እና ACK ባንዲራዎችን የያዘ ፓኬት ለደንበኛው ምላሽ ይሰጣል, ይህም የግንኙነት ጥያቄው ተቀባይነት ማግኘቱን እና የራሱን የመጀመሪያ ቅደም ተከተል ቁጥር ይልካል. በመጨረሻም ደንበኛው ግንኙነቱ በተሳካ ሁኔታ መፈጠሩን ለማሳየት በኤሲኬ ባንዲራ ለአገልጋዩ ምላሽ ይሰጣል። ስለዚህ ሁለቱ ወገኖች በ ESTABLISHED ሁኔታ ውስጥ ናቸው እና እርስ በርስ ውሂብ መላክ ሊጀምሩ ይችላሉ.

በአጠቃላይ ለTCP ግንኙነት መመስረት የሶስት መንገድ የእጅ መጨባበጥ ሂደት የግንኙነት መረጋጋትን እና አስተማማኝነትን ለማረጋገጥ፣ በታሪካዊ ግንኙነቶች ላይ ውዥንብርን እና የሀብት ብክነትን ለማስወገድ እና ሁለቱም ወገኖች መረጃን ለመቀበል እና ለመላክ እንዲችሉ የተነደፈ ነው።


የልጥፍ ጊዜ: ጥር-08-2025