የTCP ሚስጥራዊ መሳሪያ፡ የኔትወርክ ፍሰት ቁጥጥር እና የኔትወርክ መጨናነቅ ቁጥጥር

የቲሲፒ አስተማማኝነት ትራንስፖርት
ሁላችንም የቲሲፒ ፕሮቶኮልን እንደ አስተማማኝ የትራንስፖርት ፕሮቶኮል እናውቃለን፣ ነገር ግን የትራንስፖርትን አስተማማኝነት እንዴት ያረጋግጣል?

አስተማማኝ ስርጭትን ለማግኘት እንደ የውሂብ ሙስና፣ መጥፋት፣ ድግግሞሽ እና ከትዕዛዝ ውጪ የሆኑ ፍርስራሾች ያሉ ብዙ ነገሮችን ግምት ውስጥ ማስገባት ያስፈልጋል። እነዚህ ችግሮች ሊፈቱ ካልቻሉ አስተማማኝ ስርጭት ሊሳካ አይችልም።

ስለዚህ፣ TCP አስተማማኝ ስርጭትን ለማግኘት እንደ ቅደም ተከተል ቁጥር፣ የማረጋገጫ ምላሽ፣ የዳግም መላክ ቁጥጥር፣ የግንኙነት አስተዳደር እና የመስኮት ቁጥጥር ያሉ ዘዴዎችን ይጠቀማል።

በዚህ ጽሑፍ ውስጥ፣ በTCP ተንሸራታች መስኮት፣ የፍሰት መቆጣጠሪያ እና የመጨናነቅ ቁጥጥር ላይ እናተኩራለን። የመልሶ ማስተላለፊያ ዘዴው በሚቀጥለው ክፍል ለብቻው ተሸፍኗል።

የአውታረ መረብ ፍሰት መቆጣጠሪያ
የኔትወርክ ፍሰት መቆጣጠሪያ ወይም የኔትወርክ ትራፊክ ቁጥጥር በመባል የሚታወቀው በእውነቱ በአምራቾች እና በሸማቾች መካከል ያለው ስውር ግንኙነት መገለጫ ነው። ምናልባት ይህንን ሁኔታ በስራ ቦታ ወይም በቃለ-መጠይቆች ውስጥ ብዙ ጊዜ አጋጥሞዎት ይሆናል። የአምራቹ የማምረት አቅም ከሸማቹ የመጠቀም አቅም በእጅጉ የሚበልጥ ከሆነ ወረፋው ላልተወሰነ ጊዜ እንዲያድግ ያደርጋል። በጣም ከባድ በሆነ ሁኔታ፣ የ RabbitMQ መልዕክቶች በጣም ሲከማቹ፣ የጠቅላላው የ MQ አገልጋይ የአፈጻጸም መበላሸት ሊያስከትል እንደሚችል ሊያውቁ ይችላሉ። ለ TCPም ተመሳሳይ ነው፤ ምልክት ካልተደረገበት በጣም ብዙ መልዕክቶች ወደ አውታረ መረቡ ይገባሉ፣ እና ሸማቾች ከአቅማቸው በላይ ይሆናሉ፣ አዘጋጆቹ ደግሞ የተባዙ መልዕክቶችን መላክ ይቀጥላሉ፣ ይህም የአውታረ መረቡን አፈጻጸም በእጅጉ ይነካል።

ይህንን ክስተት ለመፍታት፣ TCP ላኪው በተቀባዩ ትክክለኛ የመቀበያ አቅም ላይ በመመስረት የሚላከውን የውሂብ መጠን እንዲቆጣጠር የሚያስችል ዘዴ ይሰጣል፣ ይህም የፍሰት መቆጣጠሪያ በመባል ይታወቃል። ተቀባዩ የመቀበያ መስኮትን ይይዛል፣ ላኪው ደግሞ የመላኪያ መስኮትን ይይዛል። እነዚህ ዊንዶውስ ለአንድ የTCP ግንኙነት ብቻ እንደሆኑ እና ሁሉም ግንኙነቶች አንድ መስኮት እንደማይጋሩ ልብ ሊባል ይገባል።

TCP ለተቀባይ መስኮት ተለዋዋጭ በመጠቀም የፍሰት መቆጣጠሪያ ይሰጣል። የተቀባዩ መስኮት ላኪው ምን ያህል የመሸጎጫ ቦታ እንዳለ የሚያሳይ ምልክት ይሰጣል። ላኪው የተላከውን የውሂብ መጠን በተቀባዩ ትክክለኛ የመቀበል አቅም መሰረት ይቆጣጠራል።

የተቀባዩ አስተናጋጁ ላኪው የሚቀበለውን የውሂብ መጠን ያሳውቃል፣ ላኪውም እስከዚህ ገደብ ድረስ ይልካል። ይህ ገደብ የመስኮቱ መጠን ነው፣ የቲሲፒ ራስጌን ታስታውሳለህ? የተቀባዩን ወይም ለመቀበል ፈቃደኛ የሆኑትን የባይት ብዛት ለማመልከት የሚያገለግል የመቀበያ መስኮት መስክ አለ።

የላኪው አስተናጋጅ በየጊዜው የመስኮት ምርመራ ፓኬት ይልካል፣ ይህም የተቀባዩ አስተናጋጁ አሁንም ውሂብ መቀበል ይችል እንደሆነ ለመለየት የሚያገለግል ነው። የተቀባዩ ቋት ከመጠን በላይ የመፍሰስ አደጋ ላይ በሚሆንበት ጊዜ፣ ላኪው የሚላከውን የውሂብ መጠን እንዲቆጣጠር ለማስተማር የመስኮቱ መጠን ወደ አነስተኛ እሴት ይቀናበራል።

የኔትወርክ ፍሰት መቆጣጠሪያ ዲያግራም እነሆ፡

የትራፊክ ቁጥጥር

የአውታረ መረብ መጨናነቅ ቁጥጥር
የመጨናነቅ መቆጣጠሪያ ከማስተዋወቅዎ በፊት፣ ከመቀበያ መስኮት እና ከመላክ መስኮት በተጨማሪ የመጨናነቅ መስኮት እንዳለ መረዳት አለብን፣ ይህም በዋናነት ላኪው ወደ መቀበያ መስኮት ውሂብ መላክ የሚጀምረው በምን ያህል ፍጥነት እንደሆነ ለመፍታት ያገለግላል። ስለዚህ የመጨናነቅ መስኮቱ በTCP ላኪው ይጠበቃል። በጣም ትንሽ ወይም በጣም ብዙ ውሂብ መላክ ተስማሚ ስላልሆነ ምን ያህል ውሂብ መላክ ተገቢ እንደሆነ ለመወሰን ስልተ ቀመር ያስፈልገናል፣ ስለዚህ የመጨናነቅ መስኮት ጽንሰ-ሀሳብ።

በቀድሞው የኔትወርክ ፍሰት መቆጣጠሪያ ውስጥ፣ የተወገድነው ላኪው የተቀባዩን መሸጎጫ በውሂብ መሙላት ነበር፣ ነገር ግን በአውታረ መረቡ ውስጥ ምን እየተከናወነ እንዳለ አናውቅም ነበር። በተለምዶ የኮምፒውተር ኔትወርኮች በጋራ አካባቢ ውስጥ ናቸው። በዚህም ምክንያት፣ በሌሎች አስተናጋጆች መካከል ባለው ግንኙነት ምክንያት የአውታረ መረብ መጨናነቅ ሊኖር ይችላል።

አውታረ መረቡ ሲጨናነቅ፣ ብዙ ቁጥር ያላቸው ፓኬቶች መላካቸውን ከቀጠሉ፣ እንደ መዘግየት እና የፓኬቶች መጥፋት ያሉ ችግሮችን ሊያስከትል ይችላል። በዚህ ጊዜ፣ TCP ውሂቡን እንደገና ያስተላልፋል፣ ነገር ግን ዳግም ማስተላለፍ በአውታረ መረቡ ላይ ያለውን ሸክም ይጨምራል፣ ይህም ከፍተኛ መዘግየቶችን እና ተጨማሪ የፓኬት ኪሳራዎችን ያስከትላል። ይህ ወደ አስከፊ ዑደት ውስጥ ሊገባ እና እየጨመረ ሊሄድ ይችላል።

ስለዚህ፣ TCP በኔትወርኩ ላይ ምን እየተከናወነ እንዳለ ችላ ማለት አይችልም። አውታረ መረቡ ሲጨናነቅ፣ TCP የሚላከውን የውሂብ መጠን በመቀነስ ራሱን ይሠዋዋል።

ስለዚህ፣ የመጨናነቅ መቆጣጠሪያ ቀርቧል፣ ይህም መላውን አውታረ መረብ ከላኪው በሚመጣ መረጃ እንዳይሞላ ለማድረግ ያለመ ነው። ላኪው መላክ ያለበትን የውሂብ መጠን ለመቆጣጠር፣ TCP የመጨናነቅ መስኮት የሚባል ጽንሰ-ሀሳብ ይገልፃል። የመጨናነቅ መቆጣጠሪያ ስልተ ቀመር ላኪው የሚላከውን የውሂብ መጠን ለመቆጣጠር የመጨናነቅ መስኮቱን መጠን እንደ አውታረ መረቡ የመጨናነቅ ደረጃ ያስተካክላል።

የመጨናነቅ መስኮት ምንድን ነው? ይህ ከመልእክት መስኮት ጋር ምን ግንኙነት አለው?

የመጨናነቅ መስኮት ላኪው ሊልክ የሚችለውን የውሂብ መጠን የሚወስን የሁኔታ ተለዋዋጭ ነው። የመጨናነቅ መስኮቱ እንደ አውታረ መረቡ የመጨናነቅ ደረጃ በተለዋዋጭነት ይለወጣል።

የላኪ መስኮት በላኪው እና በተቀባዩ መካከል የተስማማ የመስኮት መጠን ሲሆን ተቀባዩ ሊቀበለው የሚችለውን የውሂብ መጠን ያሳያል። የመጨናነቅ መስኮቱ እና የመላኪያ መስኮቱ የተያያዙ ናቸው፤ የመላኪያ መስኮቱ ብዙውን ጊዜ ከዝቅተኛው የመጨናነቅ እና የመቀበያ መስኮቶች ጋር እኩል ነው፣ ማለትም swnd = min(cwnd፣ rwnd)።

የመዘጋት መስኮት cwnd እንደሚከተለው ይለወጣል።

በኔትወርኩ ውስጥ ምንም አይነት መጨናነቅ ከሌለ፣ ማለትም፣ የመልሶ ማስተላለፊያ ጊዜ ማብቃት ካልተከሰተ፣ የመጨናነቁ መስኮት ይጨምራል።

በኔትወርኩ ውስጥ መጨናነቅ ካለ፣ የመጨናነቁ መስኮት ይቀንሳል።

ላኪው አውታረ መረቡ የተጨናነቀ መሆኑን የሚወስነው የACK ማረጋገጫ ፓኬት በተጠቀሰው ጊዜ ውስጥ መቀበሉን በማየት ነው። ላኪው የACK ማረጋገጫ ፓኬቱን በተጠቀሰው ጊዜ ውስጥ ካልተቀበለ፣ አውታረ መረቡ የተጨናነቀ እንደሆነ ይቆጠራል።

ከኮንፍረንሱ መስኮት በተጨማሪ፣ የTCP ኮንፍረንስ መቆጣጠሪያ ስልተ ቀመርን ለመወያየት ጊዜው አሁን ነው። የTCP ኮንፍረንስ መቆጣጠሪያ ስልተ ቀመር ሶስት ዋና ዋና ክፍሎችን ያቀፈ ነው፡

ቀርፋፋ ጅምር፦መጀመሪያ ላይ የcwnd መጨናነቅ መስኮት በአንጻራዊ ሁኔታ ሲታይ ትንሽ ነው፣ እና ላኪው የመዝጋት መስኮቱን በከፍተኛ ሁኔታ ይጨምራል ይህም ከአውታረ መረቡ አቅም ጋር በፍጥነት እንዲላመድ ያደርገዋል።
የመጨናነቅ መከላከል፡የመጨናነቁ መስኮት ከተወሰነ ገደብ በላይ ከሄደ በኋላ፣ ላኪው የመጨናነቁ መስኮቱን በመስመራዊ መንገድ በመጨመር የመጨናነቁ መስኮት የእድገት መጠንን ይቀንሳል እና አውታረ መረቡን ከመጠን በላይ እንዳይጫን ይከላከላል።
ፈጣን ማገገም;መጨናነቅ ከተከሰተ፣ ላኪው የመጨናነቂያ መስኮቱን በግማሽ ይከፍላል እና የኔትወርክ መልሶ ማግኛ ቦታውን በተቀበሉት የተባዙ አኮች በኩል ለማወቅ ፈጣን የማገገሚያ ሁኔታ ውስጥ ይገባል፣ ከዚያም የመጨናነቂያ መስኮቱን መጨመር ይቀጥላል።

ቀርፋፋ ጅምር
የቲሲፒ ግንኙነት ሲመሰረት፣ የጭንቀቱ መስኮት cwnd መጀመሪያ ላይ ወደ ዝቅተኛው የኤምኤስኤስ (ከፍተኛ የክፍል መጠን) እሴት ይቀናበራል። በዚህ መንገድ፣ የመጀመሪያው የመላክ መጠን ወደ MSS/RTT ባይት/ሰከንድ አካባቢ ነው። ትክክለኛው የመተላለፊያ ይዘት ብዙውን ጊዜ ከኤምኤስኤስ/RTT በጣም ትልቅ ነው፣ ስለዚህ ቲሲፒ በዝግታ ጅምር አማካኝነት ሊገኝ የሚችለውን ምርጥ የመላክ መጠን ማግኘት ይፈልጋል።

በዝግታ ጅምር ሂደት ውስጥ፣ የክምችት መስኮት cwnd እሴት ወደ 1 MSS ይጀምራል፣ እና የተላለፈው የፓኬት ክፍል በሚታወቅበት በእያንዳንዱ ጊዜ፣ የcwnd እሴት በአንድ MSS ይጨምራል፣ ማለትም የcwnd እሴት 2 MSS ይሆናል። ከዚያ በኋላ፣ ለእያንዳንዱ የፓኬት ክፍል በተሳካ ሁኔታ ለማስተላለፍ የcwnd እሴት በእጥፍ ይጨምራል፣ ወዘተ። የተወሰነው የእድገት ሂደት በሚከተለው ምስል ላይ ይታያል።

 የአውታረ መረብ መጨናነቅ ቁጥጥር

ሆኖም ግን፣ የመላክ መጠኑ ሁልጊዜ ሊያድግ አይችልም፤ እድገቱ የሆነ ጊዜ ማብቃት አለበት። ታዲያ የመላክ መጠኑ መጨመር መቼ ያበቃል? ቀስ በቀስ መጀመር በተለምዶ የመላክ መጠኑ መጨመርን በበርካታ መንገዶች በአንዱ ያበቃል፡

የመጀመሪያው መንገድ በዝግታ ጅምር የመላክ ሂደት ወቅት የፓኬት መጥፋት ጉዳይ ነው። የፓኬት መጥፋት ሲከሰት፣ TCP የላኪውን መጨናነቅ መስኮት cwnd ወደ 1 ያቀናብራል እና የዝግታ ጅምር ሂደቱን እንደገና ያስጀምረዋል። ​​በዚህ ጊዜ፣ የዝግታ ጅምር ገደብ ssthresh ጽንሰ-ሀሳብ ይተዋወቃል፣ የመጀመሪያ እሴቱ የፓኬት ኪሳራን የሚፈጥረው cwnd እሴት ግማሽ ነው። ማለትም፣ መጨናነቅ ሲታወቅ፣ የssthresh ዋጋ የመስኮት እሴት ግማሽ ነው።

ሁለተኛው መንገድ ከዝግተኛ-ጅምር ገደብ ssthresh እሴት ጋር በቀጥታ መዛመድ ነው። የssthresh እሴት መጨናነቅ ሲታወቅ የመስኮቱ ዋጋ ግማሽ ስለሆነ፣ cwnd ከssthresh ሲበልጥ በእያንዳንዱ እጥፍ የፓኬት ኪሳራ ሊከሰት ይችላል። ስለዚህ፣ cwndን ወደ ssthresh ማቀናበር ጥሩ ነው፣ ይህም TCP ወደ መጨናነቅ መቆጣጠሪያ ሁነታ እንዲቀየር እና ቀርፋፋ-ጅምርን እንዲያቆም ያደርገዋል።

የዘገየ ጅምር የሚያበቃበት የመጨረሻው መንገድ ሶስት ተደጋጋሚ አኮች ከተገኙ፣ TCP ፈጣን ዳግም ማስተላለፍን ያከናውናል እና ወደ መልሶ ማግኛ ሁኔታ ይገባል። (ሶስት የ ACK ፓኬቶች ለምን እንዳሉ ግልጽ ካልሆነ፣ በዳግም ማስተላለፊያ ዘዴው ውስጥ ለብቻው ይብራራል።)

የመጨናነቅ ማስወገድ
TCP ወደ መጨናነቅ መቆጣጠሪያ ሁኔታ ሲገባ፣ cwnd ወደ መጨናነቅ ገደብ ግማሽ ይቀናበራል። ይህ ማለት የፓኬት ክፍል በተቀበለ ቁጥር የcwnd እሴት በእጥፍ ሊጨምር አይችልም ማለት ነው። በምትኩ፣ እያንዳንዱ ማስተላለፊያ ከተጠናቀቀ በኋላ የcwnd እሴት በአንድ MSS (ከፍተኛው የፓኬት ክፍል ርዝመት) ብቻ የሚጨምርበት በአንጻራዊነት ወግ አጥባቂ አቀራረብ ተቀባይነት አለው። ለምሳሌ፣ 10 የፓኬት ክፍሎች ቢታወቁም የcwnd እሴት በአንድ MSS ብቻ ይጨምራል። ይህ መስመራዊ የእድገት ሞዴል ሲሆን በእድገት ላይም የላይኛው ገደብ አለው። የፓኬት ኪሳራ ሲከሰት፣ የcwnd እሴት ወደ MSS ይቀየራል፣ እና የssthresh እሴት ወደ cwnd ግማሽ ይቀናበራል። ወይም ደግሞ 3 ተደጋጋሚ የ ACK ምላሾች ሲደርሱ የ MSS እድገትን ያቆማል። የcwnd እሴት በግማሽ ከቀነሰ በኋላ ሶስት ተደጋጋሚ የ acks አሁንም ከተቀበሉ፣ የ ssthresh እሴት እንደ cwnd እሴት ግማሽ ይመዘገባል እና ፈጣን የማገገሚያ ሁኔታ ይገባል።

ፈጣን ማገገም
በፈጣን መልሶ ማግኛ ሁኔታ፣ የጭንቀቱ መስኮት cwnd እሴት ለእያንዳንዱ የተቀበለውን ተደጋጋሚ ACK ማለትም በተከታታይ የማይደርስ ACK በአንድ MSS ይጨምራል። ይህ ማለት በአውታረ መረቡ ውስጥ በተሳካ ሁኔታ የተላለፉትን የፓኬት ክፍሎች በመጠቀም የስርጭት ቅልጥፍናን በተቻለ መጠን ለማሻሻል ነው።

የጠፋው የፓኬት ክፍል ACK ሲመጣ፣ TCP የcwndን ዋጋ ይቀንሳል እና ከዚያም ወደ መጨናነቅ ማስወገድ ሁኔታ ይገባል። ይህ የሚደረገው የመጨናነቅ መስኮቱን መጠን ለመቆጣጠር እና የአውታረ መረብ መጨናነቅን የበለጠ እንዳይጨምር ለመከላከል ነው።

የመጨናነቅ መቆጣጠሪያ ሁኔታ ከተከሰተ የጊዜ ገደብ ከተከሰተ፣ የአውታረ መረቡ ሁኔታ የበለጠ ከባድ ይሆናል እና TCP ከጭንቀቱ ማስወገጃ ሁኔታ ወደ ቀርፋፋ ጅምር ሁኔታ ይሸጋገራል። በዚህ ሁኔታ፣ የመጨናነቅ መስኮት cwnd እሴት ወደ 1 MSS፣ ከፍተኛው የፓኬት ክፍል ርዝመት፣ እና የቀርፋፋ ጅምር ገደብ ssthresh እሴት ወደ cwnd ግማሽ ይቀናበራል። የዚህ ዓላማ አውታረ መረቡ ካገገመ በኋላ የመጨናነቅ መስኮቱን መጠን ቀስ በቀስ እንደገና መጨመር ሲሆን የማስተላለፊያውን መጠን እና የአውታረ መረብ መጨናነቅ ደረጃን ማመጣጠን ነው።

ማጠቃለያ
እንደ አስተማማኝ የትራንስፖርት ፕሮቶኮል፣ TCP በቅደም ተከተል ቁጥር፣ እውቅና፣ ዳግም ማስተላለፍ ቁጥጥር፣ የግንኙነት አስተዳደር እና የመስኮት ቁጥጥር አስተማማኝ ትራንስፖርትን ይተገብራል። ከእነዚህም መካከል የፍሰት መቆጣጠሪያ ዘዴው በተቀባዩ ትክክለኛ የመቀበያ አቅም መሠረት ላኪው የሚላከውን የውሂብ መጠን ይቆጣጠራል፣ ይህም የአውታረ መረብ መጨናነቅ እና የአፈጻጸም መበላሸትን ችግሮች ያስወግዳል። የመጨናነቅ መቆጣጠሪያ ዘዴው ላኪው የሚላከውን የውሂብ መጠን በማስተካከል የአውታረ መረብ መጨናነቅ እንዳይከሰት ይከላከላል። የመጨናነቅ መስኮት እና የመላክ መስኮት ጽንሰ-ሀሳቦች እርስ በእርስ የተያያዙ ናቸው፣ እና በላኪው ላይ ያለው የውሂብ መጠን የሚቆጣጠረው የመጨናነቅ መስኮቱን መጠን በተለዋዋጭ በማስተካከል ነው። ቀስ ብሎ መጀመር፣ የመጨናነቅ ማስወገድ እና ፈጣን መልሶ ማግኛ የTCP መጨናነቅ መቆጣጠሪያ ስልተ ቀመር ሶስት ዋና ዋና ክፍሎች ናቸው፣ እነዚህም የመጨናነቅ መስኮቱን መጠን ከአውታረ መረቡ አቅም እና የመጨናነቅ ደረጃ ጋር ለማስማማት በተለያዩ ስልቶች ያስተካክላሉ።

በሚቀጥለው ክፍል የTCPን የመልሶ ማስተላለፊያ ዘዴ በዝርዝር እንመረምራለን። የመልሶ ማስተላለፊያ ዘዴ አስተማማኝ ስርጭትን ለማሳካት የTCP አስፈላጊ አካል ነው። የጠፋ፣ የተበላሸ ወይም የዘገየ ውሂብን እንደገና በማስተላለፍ አስተማማኝ የውሂብ ስርጭትን ያረጋግጣል። የመልሶ ማስተላለፊያ ዘዴው የትግበራ መርህ እና ስትራቴጂ በሚቀጥለው ክፍል በዝርዝር ይተዋወቃል እና ይተነተናል። ይከታተሉን!


የፖስታ ሰዓት፡ የካቲት 24-2025