Интиқоли эътимоднокии TCP
Мо ҳама бо протоколи TCP ҳамчун протоколи боэътимоди нақлиёт шинос ҳастем, аммо он чӣ гуна эътимоднокии нақлиётро таъмин мекунад?
Барои ноил шудан ба интиқоли боэътимод, омилҳои зиёдеро ба назар гирифтан лозим аст, ба монанди фасоди додаҳо, гум шудан, такрорӣ ва пораҳои аз кор мондан. Агар ин мушкилотро ҳал накунанд, интиқоли боэътимод ба даст намеояд.
Аз ин рӯ, TCP механизмҳоро ба монанди рақами пайдарпай, ҷавоби эътироф, назорати дубора, идоракунии пайвастшавӣ ва назорати тиреза барои ба даст овардани интиқоли боэътимод истифода мебарад.
Дар ин мақола, мо ба равзанаи лағжиш, назорати ҷараён ва назорати консессияи TCP тамаркуз хоҳем кард. Механизми интиқоли такрорӣ дар фасли оянда алоҳида баррасӣ карда мешавад.
Назорати ҷараёни шабака
Назорати ҷараёни шабака ё ҳамчун Назорати трафики шабакавӣ воқеан як зуҳури муносибатҳои нозуки байни истеҳсолкунандагон ва истеъмолкунандагон мебошад. Эҳтимол шумо бо ин сенария дар ҷои кор ё дар мусоҳибаҳо дучор омадаед. Агар иктидори истех-солкунанда аз кобилияти истеъ-молии истеъмолкунанда хеле зиёд бошад, ин боиси ба таври номуайян зиёд шудани навбат мегардад. Дар ҳолати вазнинтар, шумо метавонед бидонед, ки вақте паёмҳои RabbitMQ аз ҳад зиёд ҷамъ мешаванд, он метавонад боиси таназзули кори тамоми сервери MQ гардад. Айнан ҳамин чиз барои TCP дахл дорад; дар сурати бе назорат мондан, ба шабака паёмҳои аз ҳад зиёд ворид карда мешаванд ва истеъмолкунандагон аз иқтидори худ зиёдтар мешаванд, дар ҳоле ки истеҳсолкунандагон фиристодани паёмҳои такрориро идома медиҳанд, ки ин ба кори шабака таъсири калон мерасонад.
Барои ҳалли ин падида, TCP механизмеро барои ирсолкунанда барои назорат кардани миқдори додаҳои ирсолшуда дар асоси қобилияти воқеии қабули қабулкунанда таъмин мекунад, ки он ҳамчун назорати ҷараён маълум аст. Қабулкунанда равзанаи қабулро нигоҳ медорад, дар ҳоле ки ирсолкунанда равзанаи ирсолро нигоҳ медорад. Бояд қайд кард, ки ин Windows танҳо барои пайвасти ягонаи TCP мебошанд ва на ҳама пайвастҳо як равзанаро мубодила мекунанд.
TCP назорати ҷараёнро бо истифода аз тағирёбанда барои равзанаи қабул таъмин мекунад. Равзанаи қабул ба ирсолкунанда нишон медиҳад, ки то ҳол чӣ қадар фазои кэш мавҷуд аст. Ирсолкунанда миқдори маълумоти ирсолшударо мувофиқи қобилияти воқеии қабули қабулкунанда назорат мекунад.
Хост қабулкунанда ирсолкунандаро дар бораи андозаи маълумоте, ки метавонад қабул кунад, огоҳ мекунад ва ирсолкунанда то ин маҳдудият мефиристад. Ин маҳдудият андозаи тиреза аст, сарлавҳаи TCP-ро дар хотир доред? Майдони равзанаи қабул мавҷуд аст, ки барои нишон додани миқдори байтҳои қабулкунанда барои қабул кардан қодир аст ё омода аст.
Хости ирсолкунанда давра ба давра бастаи санҷиши тирезаро мефиристад, ки он барои муайян кардани он ки мизбони қабулкунанда то ҳол қобилияти қабули маълумотро дорад, истифода мешавад. Ҳангоме ки буфери қабулкунанда дар хатари пур шудан қарор дорад, андозаи равзана ба арзиши камтар муқаррар карда мешавад, то ба ирсолкунанда дастур диҳад, ки миқдори маълумоти ирсолшударо назорат кунад.
Ин аст диаграммаи назорати ҷараёни шабака:
Назорати фишори шабака
Пеш аз ҷорӣ намудани назорати консессия, мо бояд дарк кунем, ки ба ғайр аз равзанаи қабул ва равзанаи ирсол, равзанаи пурборкунӣ низ мавҷуд аст, ки асосан барои ҳалли масъалаи бо кадом суръат фиристодани маълумот ба равзанаи қабул оғоз кардан истифода мешавад. Аз ин рӯ, равзанаи пурборро низ ирсолкунандаи TCP нигоҳ медорад. Ба мо алгоритм лозим аст, то муайян кунад, ки чӣ қадар маълумот барои фиристодан мувофиқ аст, зеро фиристодани маълумоти хеле кам ё аз ҳад зиёд идеалӣ нест, аз ин рӯ мафҳуми равзанаи банд аст.
Дар назорати ҷараёни қаблии шабака он чизе ки мо худдорӣ мекардем, ирсолкунанда кэши қабулкунандаро бо маълумот пур мекард, аммо мо намедонистем, ки дар шабака чӣ рӯй медиҳад. Одатан, шабакаҳои компютерӣ дар муҳити муштарак ҷойгиранд. Дар натиҷа, аз сабаби иртибот байни ҳостҳои дигар, бандшавии шабака вуҷуд дорад.
Вақте ки шабака банд аст, агар фиристодани шумораи зиёди бастаҳо идома ёбад, он метавонад боиси мушкилоте ба мисли таъхир ва гум шудани бастаҳо шавад. Дар ин лаҳза, TCP маълумотро дубора интиқол медиҳад, аммо интиқол бори шабакаро зиёд мекунад, ки боиси таъхирҳои бештар ва талафоти бештари бастаҳо мегардад. Ин метавонад ба як давраи бераҳмона ворид шавад ва боз ҳам калонтар шавад.
Ҳамин тариқ, TCP он чизеро, ки дар шабака рӯй медиҳад, нодида гирифта наметавонад. Вақте ки шабака пурбор аст, TCP бо кам кардани миқдори маълумоте, ки он фиристода мешавад, худро қурбон мекунад.
Аз ин рӯ, назорати фишор пешниҳод карда мешавад, ки ҳадафи он пешгирӣ кардани пур кардани тамоми шабака бо маълумот аз ирсолкунанда мебошад. Барои танзими миқдори маълумоте, ки ирсолкунанда бояд ирсол кунад, TCP консепсияеро муайян мекунад, ки равзанаи банд номида мешавад. Алгоритми назорати фишор андозаи равзанаи пурборро мувофиқи дараҷаи сершавии шабака танзим мекунад, то миқдори маълумоти фиристодаи ирсолкунандаро назорат кунад.
Равзанаи пурбор чист? Ин ба равзанаи ирсол чӣ иртибот дорад?
Равзанаи бандӣ як тағирёбандаи ҳолатест, ки аз ҷониби ирсолкунанда нигоҳ дошта мешавад, ки миқдори маълумотеро, ки ирсолкунанда метавонад ирсол кунад, муайян мекунад. Равзанаи консессия вобаста ба сатҳи сершавии шабака ба таври динамикӣ тағйир меёбад.
Равзанаи ирсол андозаи равзанаи мувофиқашуда байни ирсолкунанда ва қабулкунанда мебошад, ки миқдори маълумотеро, ки қабулкунанда гирифта метавонад, нишон медиҳад. Равзанаи банд ва равзанаи ирсолкунанда алоқаманд аст; равзанаи фиристодан одатан ба ҳадди ақали банд ва Windows-и қабулкунанда баробар аст, яъне swnd = min(cwnd, rwnd).
Равзанаи пурборкунӣ cwnd ба таври зерин тағир меёбад:
Агар дар шабака банд набошад, яъне вақти интиқоли такрорӣ рух надиҳад, равзанаи банд зиёд мешавад.
Агар дар шабака банд вуҷуд дошта бошад, равзанаи банд кам мешавад.
Фиристодан муайян мекунад, ки шабака банд будани шабакаро тавассути мушоҳидаи он, ки оё бастаи тасдиқи ACK дар муддати муайян гирифта шудааст ё не. Агар ирсолкунанда дар муддати муайян бастаи тасдиқи ACK-ро нагирад, он ба ҳисоб меравад, ки шабака банд аст.
Илова ба равзанаи банд, вақти муҳокимаи алгоритми назорати консессияи TCP расидааст. Алгоритми назорати фишори TCP аз се қисмати асосӣ иборат аст:
Оғози суст:Дар аввал, равзанаи бандшавии cwnd нисбатан хурд аст ва ирсолкунанда равзанаи бандро ба таври экспоненсиалӣ зиёд мекунад, то ба қобилияти шабака зуд мутобиқ шавад.
Пешгирӣ аз сарборӣ:Пас аз он ки равзанаи банд аз ҳадди муайян зиёд мешавад, ирсолкунанда равзанаи бандро ба таври хаттӣ афзоиш медиҳад, то суръати афзоиши равзанаи бандро суст кунад ва аз изофабори шабака пешгирӣ кунад.
Барқарорсозии зуд:Агар сарборӣ ба вуқӯъ ояд, ирсолкунанда равзанаи бандро ду баробар коҳиш медиҳад ва ба ҳолати барқарорсозии зуд ворид мешавад, то макони барқарорсозии шабакаро тавассути аксҳои такрории гирифташуда муайян кунад ва сипас афзоиши равзанаи бандро идома медиҳад.
Оғози суст
Вақте ки пайвасти TCP муқаррар карда мешавад, cwnd равзанаи консессия дар аввал ба арзиши ҳадди ақали MSS (андозаи максималии сегмент) муқаррар карда мешавад. Ҳамин тариқ, суръати ибтидоии ирсол тақрибан MSS/RTT байт/сония аст. Маҷрои воқеии дастрас одатан аз MSS/RTT хеле калонтар аст, аз ин рӯ TCP мехоҳад суръати оптималии ирсолро пайдо кунад, ки онро тавассути оғозкунии суст ба даст овардан мумкин аст.
Дар раванди суст оғозёбӣ, арзиши равзанаи 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 ба нисфи ҳадди ниҳоии ssthresh муқаррар карда мешавад. Ин маънои онро дорад, ки арзиши cwnd наметавонад ҳар дафъае, ки сегменти пакет гирифта мешавад, дучанд карда шавад. Ба ҷои ин, равиши нисбатан консервативӣ қабул карда мешавад, ки дар он арзиши cwnd пас аз анҷоми ҳар як интиқол танҳо як MSS (дарозии ҳадди аксар сегменти пакет) зиёд карда мешавад. Масалан, ҳатто агар 10 сегменти бастаҳо эътироф карда шаванд ҳам, арзиши cwnd танҳо як MSS зиёд мешавад. Ин як модели афзоиши хаттӣ аст ва он инчунин ба афзоиши сарҳади болоӣ дорад. Вақте ки талафоти бастаҳо рух медиҳад, арзиши cwnd ба MSS иваз карда мешавад ва арзиши ssthresh ба нисфи cwnd муқаррар карда мешавад. Ё он инчунин ҳангоми гирифтани 3 ҷавоби зиёдатии ACK афзоиши MSS-ро бозмедорад. Агар пас аз нисфи қиммати cwnd то ҳол се акси зиёдатӣ гирифта шавад, арзиши ssthresh ҳамчун нисфи арзиши cwnd сабт карда мешавад ва ҳолати барқароршавии зуд ворид карда мешавад.
Барқарорсозии зуд
Дар ҳолати Барқарорсозии зуд, арзиши равзанаи консессия cwnd барои ҳар як ACK-и зиёдатии гирифташуда як MSS зиёд мешавад, яъне ACK, ки пайдарпай намеояд. Ин барои истифодаи сегментҳои бастаҳое, ки дар шабака бомуваффақият интиқол дода шудаанд, барои баланд бардоштани самаранокии интиқол ба қадри имкон аст.
Вақте ки ACK аз сегменти бастаи гумшуда меояд, TCP арзиши cwnd-ро коҳиш медиҳад ва сипас ба ҳолати канорагирӣ аз фишор ворид мешавад. Ин барои назорат кардани андозаи равзанаи пурборкунӣ ва пешгирӣ кардани афзоиши минбаъдаи фишори шабака мебошад.
Агар пас аз ҳолати назорати сарбандӣ мӯҳлат ба вуқӯъ ояд, ҳолати шабака ҷиддитар мешавад ва TCP аз ҳолати канорагирӣ аз фишор ба ҳолати суст оғозшаванда мегузарад. Дар ин ҳолат, арзиши равзанаи бандшавии cwnd ба 1 MSS, дарозии максималии сегменти баста ва арзиши ssthresh-и оҳиста-оҳиста ба нисфи cwnd муқаррар карда мешавад. Ҳадаф аз ин тадриҷан зиёд кардани андозаи равзанаи бандӣ пас аз барқарор шудани шабака барои мувозинати суръати интиқол ва дараҷаи бандшавии шабака мебошад.
Хулоса
Ҳамчун як протоколи боэътимоди интиқол, TCP интиқоли боэътимодро аз рӯи рақами пайдарпай, тасдиқ, назорати ретрансляция, идоракунии пайвастшавӣ ва назорати тиреза амалӣ мекунад. Дар байни онҳо, механизми назорати ҷараён миқдори маълумотро аз ҷониби ирсолкунанда мувофиқи иқтидори воқеии қабулкунандаи қабулкунанда назорат мекунад, ки аз мушкилоти сершавии шабака ва таназзули кор пешгирӣ мекунад. Механизми назорати сарбандӣ бо роҳи танзими миқдори маълумоте, ки ирсолкунанда фиристодааст, аз пайдоиши саршавии шабака пешгирӣ мекунад. Мафҳумҳои равзанаи банд ва равзанаи ирсол бо ҳам алоқаманданд ва миқдори маълумот дар ирсолкунанда бо роҳи динамикӣ танзим кардани андозаи равзанаи банд идора карда мешавад. Оғози суст, канорагирӣ аз фишор ва барқарорсозии зуд се қисмати асосии алгоритми назорати консессияи TCP мебошанд, ки андозаи равзанаи бандро тавассути стратегияҳои гуногун барои мутобиқ шудан ба тавонмандӣ ва дараҷаи сершавии шабака танзим мекунанд.
Дар фасли оянда мо механизми интиқоли TCP-ро ба таври муфассал баррасӣ хоҳем кард. Механизми такрорӣ як қисми муҳими TCP барои ба даст овардани интиқоли боэътимод мебошад. Он интиқоли боэътимоди маълумотро тавассути интиқоли маълумоти гумшуда, вайроншуда ё таъхирёфта таъмин мекунад. Принсип ва стратегияи татбиқи механизми ретранслятор дар боби оянда ба таври муфассал муаррифӣ ва таҳлил карда мешавад. Гӯш ба занг бош!
Вақти фиристодан: феврал-24-2025