Mreženje

Kaj so koraki v TCP Handshake?

Kaj so koraki v TCP Handshake?

TCP ali Transmission Control Protocol je standardni protokol transportne plasti, ki ga internet uporablja za prenos podatkov. Zahteva za komentar (RFC) 793 definira TCP kot zanesljiv in v povezavo usmerjen protokol. Ker je usmerjen na povezavo, je treba pred prenosom podatkov vzpostaviti pot ali povezavo. TCP za vzpostavitev povezave med dvema napravama uporablja trosmerni mehanizem rokovanja. V tem priročniku bomo videli, kako deluje trismerni mehanizem rokovanja. Najprej si oglejmo težave z dvosmernim modelom rokovanja.

Težave z dvosmernim modelom rokovanja

Dvosmerni model rokovanja ni uspel zaradi stare težave s podvojenimi paketi. Recimo, da na strežniški stroj prispe stari podvojeni paket. Ta stari paket je prispel iz prej zaprte povezave in vsebuje zaporedno številko 'z'. Nekaj ​​časa med novo povezavo strežnik sprejema paket z zaporedno številko 'z'. Ko prejme ta stari paket z isto zaporedno številko 'z', nevede sprejme ta stari paket in zavrže dejanski paket iz nove povezave.

V zgornjem primeru, če povezava med odjemalcem in strežnikom ne poteka, še vedno povzroča prihod starega podvojenega paketa zahtev za povezavo. Če strežnik prejme tak paket, se bo odzval s paketom SYN + ACK. Ta paket bo stranka odvrgla, ker se ni nameraval povezati. Toda strežnik bo vstopil v stanje mrtve točke in čakal, da odjemalec pošlje podatke.

Druga težava je, da če gostitelj C pošlje zahtevo za povezavo strežniku z lažno predstavitvijo odjemalca, bo strežnik odjemalcu odgovoril z ACK. Naročnik bo zavrgel ta paket 'ACK' in strežniku naročil, naj prekine povezavo. V tem intervalu dogodkov lahko gostitelj C sproži ponarejen napad s pošiljanjem veliko paketov.

Trismerni model ročnega stiskanja v TCP / IP

Trosmerni model rokovanja je zelo pomemben. Če ga ne uporabimo in začnemo neposredno pošiljati podatke, lahko prejemna aplikacija začne prejemati podvojene pakete. Napadalec ima lahko priložnost, da med povezavo sproži napade (kot je DDoS). Trosmerni postopek rokovanja začne en stroj, druga stran pa se nanj odzove. Za razlago tega postopka se uporablja naslednja konvencija:

"Če spletno mesto prejme paket z zaporedno številko 'x', se bo odzvalo s številko ACK 'x + 1'."

Povzemimo korake, izvedene v trismernem rokovanju med odjemalskim in strežniškim računalnikom:

Korak 1. V prvem rokovanju odjemalec strežniku pošlje paket zahtev za povezavo SYN z naključno začetno zaporedno številko ('x').

2. korak. V drugem stisku strežnik odgovori s paketom SYN z naključno zaporedno številko ('y') in paketom ACK z zaporedno številko ('x + 1'), da potrdi poslano začetno zaporedno številko ('x') s strani stranke.

3. korak. V tretjem rokovanju bo odjemalec strežniku poslal paket ACK z zaporedno številko ('y + 1') za potrditev paketa SYN ('y'), ki ga je poslal strežnik.

4. korak. Oba konca sta zdaj sinhronizirana in lahko začneta prenos podatkov neodvisno. [1]

Trosmerni postopek stiskanja TCP še vedno velja, če obe strani hkrati začneta postopek inicializacije. V takem primeru bo vsaka naprava po pošiljanju paketa »SYN« prejela segment »SYN« brez potrditve. Če na sprejemnik prispe stari dvojnik paketa "SYN", se sprejemniku morda zdi, da hkrati poteka postopek za vzpostavitev povezave. Za odstranitev te dvoumnosti lahko uporabimo pakete "reset".

Prekinitev povezave TCP

Vsaka od obeh strani lahko prekine povezavo TCP. V ta namen lahko katera koli stran prenese segment TCP z nastavljenim bitom FIN. To bo pomenilo, da pošiljateljska stran nima več podatkov za pošiljanje. Prejemna stran bo ta paket FIN potrdila s pošiljanjem paketa za potrditev. S tem boste prekinili povezavo z ene strani (strani pošiljatelja). Zdaj bo sprejemnik z istimi koraki prekinil povezavo v njegovem imenu. S tem boste popolnoma zaprli povezavo.

Težave s trismernim modelom rokovanja

V primeru, da se ACK od odjemalca do strežnika izgubi ali blokira v tretji fazi rokovanja, odjemalec ne bo vedel za to situacijo. Naročnik bo domneval, da je povezava vzpostavljena in bo začel pošiljati podatke. Strežnik še vedno čaka na ACK, ki je bil že izgubljen, zato bo zavrgel podatke, prejete od odjemalca. [2]

Zaključek

V tem priročniku smo se seznanili s postopki povezovanja TCP s trosmernim rokovanjem. Videli smo tudi težavo dvojnikov paketov, povezanih z dvosmernim postopkom rokovanja, in kako je bil rešen s trismernim modelom rokovanja. Številni raziskovalci so prispevali različne raziskovalne prispevke za izboljšanje trosmernega modela rokovanja in premagovanje težav, povezanih z njim.

Reference

  1. Hsu, F., Hwang, Y., Tsai, C., Cai, W., Lee, C., & Chang, K. (2016). TRAP: Trosmerni strežnik za rokovanje za vzpostavitev povezave TCP. Uporabne znanosti, 6 (11), 358. https: // doi.org / 10.3390 / app6110358
  1. Qin-Min Ma, Shou-Yin Liu, Xiao-jun Wen. (2016). TCP Trismerni protokol za rokovanje, ki temelji na kvantnem zapletu. Journal of Computers, 27 (3), 33-40, doi: 10.3966/199115592016102703004
Kako spremeniti levi in ​​desni gumb miške na računalniku z operacijskim sistemom Windows 10
Povsem normalno je, da so vse naprave računalniške miške ergonomsko zasnovane za desničarje. Na voljo pa so miške, ki so posebej zasnovane za levičarj...
Posnemajte klike miške tako, da v Windows 10 lebdite z miško Clickless Mouse
Uporaba miške ali tipkovnice v napačni drži čezmerne uporabe lahko povzroči veliko zdravstvenih težav, vključno s sevom, sindromom karpalnega kanala i...
S temi brezplačnimi orodji dodajte gibe miške v sistem Windows 10
V zadnjih letih so se računalniki in operacijski sistemi močno razvili. Včasih so morali uporabniki uporabljati ukaze za krmarjenje po upraviteljih da...