Кључне мистерије мрежне пакетне брокерске везе ТЦП везе: Демистифицирано потребу за троструком руком

ТЦП Подешавање везе
Када прегледамо веб, пошаљите е-пошту или репродукујете мрежну игру, често не размишљамо о сложеној мрежној вези иза ње. Међутим, то су ови наизглед мали кораци који обезбеђују стабилну комуникацију између нас и сервера. Један од најважнијих корака је подешавање ТЦП везе, а језгро је тросмерне руке.

Овај чланак ће расправљати о принципу, процесу и важности тросмерне ручности. Корак по корак, објаснићемо зашто је потребна тросмерна руковање, како осигурава стабилност и поузданост прикључке и колико је важна за пренос података. Са дубљем разумевањем тросмерне руке, стичећемо боље разумевање основних механизама мрежне комуникације и јаснијем приказом поузданости ТЦП веза.

ТЦП тросмерни процес руковања и државне прелазе
ТЦП је прикључни протокол оријентисан за превоз, који захтева успостављање везе пре преноса података. Овај поступак успостављања везе врши се тросмерно руковање.

 ТЦП тросмерни стисак

Погледајмо ближе пакете ТЦП који се шаљу у свакој вези.

У почетку су и клијент и сервер затворени. Прво, сервер активно слуша на порт и налази се у стању слушања, што значи да се сервер мора покренути. Затим, клијент је спреман за почетак приступа веб страници. Потребно је успоставити везу са сервером. Формат првог пакета за прикључак је следећи:

 Син пакет

Када клијент покрене везу, генерише случајни почетни број секвенци (цлиент_ин) и поставља га у поље "секвенце" поље заглавља ТЦП. Истовремено, клијент поставља положај Сон Флаг на 1 да би назначио да је одлазни пакет пакет син. Клијент показује да жели да успостави везу са сервером слањем првог пакета Сон-а на сервер. Овај пакет не садржи податке о слоју апликација (који су, послани подаци). У овом тренутку, статус клијента је означен као послан син.

Син + АЦК пакет

Када сервер прими пакет клијента, насумично иницијализује свој сопствени серијски број (сервер_ин), а затим ставља тај број у поље "Серијског броја" заглавља ТЦП заглавља. Затим сервер улази у Цлиент_Ин + 1 у поље "АЦКНЛЕДГЛЕД ГРОУНД" и поставља и син и АЦК битове на 1. Коначно, сервер шаље пакет клијенту, који не садржи податке о слоју апликација (и нема података да се сервер не шаље). У то време сервер је у стању Син-РЦВД-а.

АЦК пакет

Једном када клијент прими пакет са сервера, мора да изврши следеће оптимизације да одговори на коначни пакет одговора: Прво, клијент поставља АЦК бит ТЦП заглавље пакета одговора на 1; Друго, клијент улази у вредност вредности_Ин + 1 у пољу "Потврди број одговора"; Коначно, клијент шаље пакет на сервер. Овај пакет може пренијети податке клијента на сервер. По завршетку ових операција, клијент ће ући у утврђено стање.

Једном када сервер прими одговори пакет од клијента, он се такође пребацује у утврђену државу.

Као што можете видети из горњег процеса, када изводите тросмерни усмеравање, треће руке је дозвољено да носе податке, али прва два руковања нису. Ово је питање које се често поставља у интервјуима. Једном када се тросмерно рукотвођење заврши, обе стране улазе у успостављену државу, што указује да је веза успешно успостављена, у ком тренутку клијент и сервер могу почети слати податке једни другима.

Зашто три руковања? Не два пута, четири пута?
Заједнички одговор је ", јер тросмерно руковање гарантује могућност примања и слања". Овај одговор је тачан, али то је само површински разлог, не представља главни разлог. Следеће, анализираћу разлоге троструке руке из три аспекта да продубимо наше разумевање овог питања.

Тросмерна рукохвата може ефикасно избећи иницијализацију историјски поновљених веза (главни разлог)
Тросмерна рукохвата гарантује да су обе стране примиле поуздан почетни број редоследа.
Тросмерна рукохвата избјегава губитак ресурса.

Разлог 1: Избегавајте историјске дупликат придруживања
Укратко, главни разлог тросмерно руковање руковођењем је избегавање збрке проузроковане старом иницијализацијом дупликата везе. У сложеном мрежном окружењу преношење пакета података није увек шаље на одредишном хосту у складу са наведеним временом, а стари пакети података могу стићи на одредишну домаћину прво због загушења мреже и других разлога. Да бисте то избегли, ТЦП користи тросмерну руку за руковање да успостави везу.

Тросмерни Руковање избегава историјске дупликатне везе

Када клијент пошаље пакетима за успостављање везе са више синтељица, у ситуацијама као што су Мрежна загушења, може се појавити следеће:

1- Стари пакети СН стижу на сервер пре најновијих паковања.
2- Сервер ће на клијенту одговорити СИН + АЦК пакет након што је примило стару паковање.
3- Када клијент прими Син + АЦК пакет, она одређује да је веза историјска веза (број секвенцирања истекао или истек времена) према сопственом контексту, а затим је пошаље РСТ пакет на сервер.

Са двоструком везом, не постоји начин да се утврди да ли је тренутна веза историјска веза. Тросмерни руковање омогућава клијенту да утврди да ли је тренутна веза историјска веза заснована на контексту када је спремна да пошаље трећи пакет:

1- Ако је историјска веза (истекао је број секвенце), пакет који је послао трећим руковањем је РСТ пакет за прекид историјске везе.
2- Ако то није историјска веза, пакет је по трећи пут упућен АЦК пакет, а две комуникационе странке успешно успостављају везу.

Стога је главни разлог да ТЦП користи тросмерну руку је да иницијализује везу да спречи историјске везе.

Разлог 2: Да бисте синхронизовали почетне бројке редоследа обе стране
Обје стране ТЦП протокола морају да одржавају број секвенци, што је кључни фактор који би се осигурао поуздан пренос. Број редоследа играју важну улогу у ТЦП Цоннецтионс.Тхе Урадите следеће:

Пријемник може да елиминише дупликатне податке и обезбеди тачност података.

Пријемник може да прима пакете у редоследу секвенционог броја како би се осигурао интегритет података.

● Број секвенце може идентификовати пакет података који је примила друга страна, омогућавајући поуздан пренос података.

Стога, на оснивању ТЦП везе, клијент шаље пакете Син-а и захтева да сервер одговара са АЦК пакетом који означава успешан пријем клијентовог Син пакета. Затим сервер шаље пакет СИН клијентом и чека клијента да одговори, једном и за све, како би се осигурало да су почетни број секвенционих редоследа поуздано синхронизовани.

Синхронизујте почетни серијски бројеви обе стране

Иако је и четворострано руковање такође могуће поуздано синхронизовати иницијални број редоследа обе стране, други и трећи кораци се могу комбиновати у једном кораку, што резултира тросмерној ручној руци. Међутим, две руковање могу гарантовати само да је иницијални број једне странке успешно примио друга страна, али не постоји гаранција да се може потврдити иницијални низ учесника обе стране. Стога је тросмерно руковање најбољим избором да би се осигурала стабилност и поузданост ТЦП веза.

Разлог 3: Избегавајте трошење ресурса
Ако постоји само "двије руке", када је захтев клијента Блокиран у мрежи, клијент не може примити АЦК пакет који је послао сервер, па ће Син бити замерен. Међутим, пошто не постоји трећи руковање, сервер не може утврдити да ли је клијент примио АЦК потврду да успостави везу. Стога сервер може проактивно успоставити везу након што је примио сваки захтев за синхронизацију. То доводи до следећег:

Отпад ресурса: Ако је захтјев клијента блокиран, што резултира поновљеним преносом више пакета са више синхронизација, сервер ће успоставити више вишка неваљаних веза након пријема захтева. То доводи до непотребног отпада ресурса сервера.

Задржавање порука: Због недостатка трећих руку, сервер нема начина да зна да ли је клијент правилно примио АЦК признање да успостави везу. Као резултат, ако се поруке заглаве у мрежи, клијент ће поново и поново послати захтеве Син-а, узрокујући да сервер стално успостави нове везе. Ово ће повећати загушења и одлагања мреже и негативно утицати на укупне мрежне перформансе.

Избегавајте трошење ресурса

Стога, како би се осигурала стабилност и поузданост мрежне везе, ТЦП користи тросмјерну руку да успостави везу како би се избегла појава ових проблема.

Резиме
ТхеНетворк Пацкет БрокерУспостављање ТЦП везе врши се са тросмерној руци. Током тросмерне руке, клијент прво пошаље пакет са СИН заставом на сервер, што указује да жели да успостави везу. Након пријема захтева клијента, сервер одговара пакету са Син и АЦК заставама на клијенту, што указује да је захтев за повезивање прихваћен и пошаље сопствени почетни број редоследа. Коначно, клијент одговори са АЦК заставом на сервер да назначи да је веза успешно успостављена. Дакле, две стране су у успостављеном стању и могу почети слати податке једни другима.

Генерално, тросмерни поступак руковања за оснивање ТЦП везе дизајниран је тако да обезбеди стабилност и поузданост повезивања, избегавање конфузије и расипања ресурса у односу на историјске везе и осигурајте да обе стране буду у могућности да прими и шаљу и податке.


Вријеме поште: Јан-08-2025