Пратакол пад назвай TCP Flow Control быў створаны для кіравання патокам даных паміж карыстальнікам і серверам.
Ён гарантуе, што пэўная прапускная здольнасць даступная для адпраўкі і атрымання даных, каб апрацоўка магла працягвацца без сур'ёзных праблем.
Для гэтага пратакол TCP выкарыстоўвае метад, вядомы як пратакол слізгальнага акна.
У гэтай частцы мы падрабязна разгледзім кіраванне патокам TCP, у тым ліку яго функцыянаванне і, самае важнае, пратакол слізгальнага акна.
Што такое кіраванне патокам TCP?
Пратакол TCP гарантуе ўсталяванне надзейнага канала сувязі ў непрадказальнай сетцы.
Пакеты даных могуць губляцца, паступаць не паслядоўна, ствараць рэзервовыя копіі ў сетцы або перагружацца на прыёмным вузле, калі яны адпраўляюцца з аднаго вузла на іншы.
Аднак пры распрацоўцы прыкладання нам звычайна не даводзіцца мець справу з гэтай складанасцю; замест гэтага мы проста адпраўляем некаторыя дадзеныя ў сокет, і TCP гарантуе, што пакеты паспяхова дастаўляюцца да вузла-атрымальніка.
Кантроль патоку - важная дадатковая функцыя, якую прапануе TCP.
Дзякуючы кіраванню патокам, TCP, па сутнасці, пераканаецца, што адпраўнік не адпраўляе атрымальніку занадта шмат пакетаў адначасова.
Як працуе пратакол кіравання перадачай - кіраванне патокам?
Звычайна гэта адбываецца, калі нам трэба перадаць дадзеныя па сетцы.
Прыкладанне-адпраўнік адпраўляе даныя ў сокет, транспартны ўзровень (у дадзеным выпадку TCP) пакуе гэтыя даныя ў сегмент, а сеткавы ўзровень (напрыклад, IP) перадае гэты пакет вузлу-атрымальніку па некаторым маршруце.
Сеткавы ўзровень перадасць гэтыя даныя ў TCP на прымаючым канцы размовы, а TCP зробіць іх даступнымі для прымаючага прыкладання ў выглядзе ідэнтычнага дубліката перададзеных даных.
TCP не будзе дастаўляць пакеты па-за парадкам і будзе чакаць паўторнай перадачы ў выпадку выяўлення разрыву ў патоку байтаў.
Вось што мы ўбачым, калі павялічыць маштаб.
І буферы перадачы, і буферы прыёму ў TCP выкарыстоўваюцца для захоўвання дадзеных, якія павінны быць адпраўлены і атрыманы адпаведна.
Затым даныя з атрыманага буфера будуць прачытаны праграмай, калі яны будуць падрыхтаваны.
Пераканацца, што мы не адпраўляем дадатковыя пакеты, калі буфер прыёму атрымальніка ўжо запоўнены, з'яўляецца галоўнай мэтай кантролю патоку, паколькі гэта прымусіла б атрымальнік адкінуць дадатковыя пакеты, якія ён не мог апрацаваць.
Атрымальнік аб'явіць сваё акно прыёму або даступнае месца ў буферы прыёму, каб абмежаваць колькасць даных, якія можа перадаваць TCP.
Пратакол рассоўнага акна
Пратакол слізгальнага акна ў TCP з'яўляецца адным з найбольш шырока выкарыстоўваных метадаў кіравання патокам. Гэта байта-арыентаваная працэдура зменнага памеру.
Пры такім падыходзе атрымальнік адпраўляе адпраўніку акно прымача, як толькі адпраўнік і атрымальнік падключаюцца.
Памер бягучага буфера атрымальніка называецца акном прымача.
Колькасць даных, якія можна адправіць далей без пацверджання, цяпер разлічваецца TCP на аснове даступнага акна атрымальніка.
TCP, аднак, спыняе перадачу даных, калі памер акна прымача роўны 0, і чакае, пакуль ён павялічыцца.
Памер акна прымача з'яўляецца кампанентам кадра TCP.
Максімальны памер акна складае 65,535 16 байт, таму што ён мае памер акна XNUMX біт.
Памеры акна выбірае атрымальнік. З кожным паведамленнем пацверджання прымач перадае памер акна прымача, які даступны ў дадзены момант.
Працэс пратаколу слізгальнага акна
Пры выкарыстанні тэхнікі пратаколу слізгальнага акна пры падключэнні адпраўніка і атрымальніка ўсталёўваюцца два буферы.
Гэтыя два буферы падзелены на дзве групы: акно адпраўкі, якое належыць адпраўніку, і акно атрымання, якое належыць атрымальніку.
Акно прыёму вяртае пакінутае месца ў буферы прыёму, калі адпраўнік перадае даныя атрымальніку.
У выніку адпраўнік абмежаваны аб'ёмам даных, які можа змясціцца ў буфер прыёму.
Акно перадачы ў прыведзеным вышэй прыкладзе перадае дадзеныя ў акно прыёму.
Пасля атрымання даных акно прыёму адпраўляе пацверджанне, а затым акно перадачы перадае новы кадр даных.
Аднак на гэты раз акно прыёму дадаткова дасылае паведамленне аб тым, што даступная памяць запоўнена ў дадатак да атрыманага пацверджання.
Акно перадачы прыпыняе перадачу даных, пакуль не атрымае пацвярджэнне ад акна прыёму, што месца было вызвалена, пасля чаго яно можа аднавіць перадачу даных.
заключэнне
У заключэнне, узровень злучэння дадзеных і транспартны ўзровень адказваюць за апрацоўку праблем кіравання патокам.
Асноўная задача механізму кіравання патокам - прадухіліць перагрузку атрымальніка дадзенымі ад адпраўніка, які перадае хутчэй.
Нават калі даныя, якія перадае адпраўнік, не ўтрымліваюць памылак і адпраўляюцца з большай хуткасцю дзякуючы магутнай машыне, магчыма, што больш павольны прыёмнік не зможа апрацоўваць больш высокую хуткасць перадачы даных і, такім чынам, страціць частку даных.
Пакінуць каментар