Hva er trinnene i et TCP -håndtrykk?

Hva er trinnene i et TCP -håndtrykk?

TCP eller Transmission Control Protocol er en standard transportlagsprotokoll som Internett bruker for å overføre data. Forespørsel om kommentarer (RFC) 793 definerer TCP som en pålitelig og tilkoblingsorientert protokoll. Siden det er tilkoblingsorientert, må det etableres en bane eller tilkobling før du overfører data. TCP bruker en treveis håndtrykkmekanisme for å etablere en forbindelse mellom to enheter. I denne guiden vil vi se hvordan treveis håndtrykkmekanismen fungerer. La oss først se problemene med toveis håndtrykksmodellen.

Problemer med toveis håndtrykksmodellen

Toveis håndtrykksmodell mislyktes på grunn av et gammelt duplikatpakkeproblem. Anta at en gammel duplikatpakke ankommer servermaskinen. Denne gamle pakken har kommet fra en tidligere lukket forbindelse og inneholder et sekvensnummer 'Z'. På et tidspunkt under den nye tilkoblingen godtar serveren en pakke med et sekvensnummer 'Z'. Når den mottar denne gamle pakken med samme sekvensnummer 'Z', aksepterer den ubevisst denne gamle pakken og kaster den faktiske pakken fra den nye tilkoblingen.

I det ovennevnte tilfellet, hvis en tilkobling ikke pågår mellom klient og server, forårsaker ankomsten av en gammel duplikatforbindelsesforespørselspakke fremdeles problemer. Hvis serveren mottar en slik pakke, vil den svare tilbake med en Syn+ACK -pakke. Denne pakken vil bli droppet av klienten fordi den ikke hadde til hensikt å koble til. Men serveren vil gå inn i Deadlock State og vente på at klienten skal sende dataene.

Et annet problem er at hvis en vert C sender en tilkoblingsforespørsel til serveren ved å etterligne klienten, vil serveren svare tilbake med en ACK til klienten. Klienten vil forkaste denne 'ack' -pakken og fortelle serveren om å avslutte tilkoblingen. I løpet av dette hendelsesintervallet kan vert C lansere et forfalskningsangrep ved å sende mange pakker.

Treveis håndtrykksmodell i TCP/IP

Treveis håndtrykksmodellen er veldig viktig. Hvis vi ikke bruker det og direkte begynner å sende data, kan mottakerapplikasjonen begynne å motta duplikatpakker. Angriperen kan få en sjanse til å starte angrep (som DDoS) mellom en forbindelse. Treveis håndtrykkprosedyre startes av den ene maskinen, og den andre siden reagerer på den. Følgende konvensjon brukes til å forklare denne prosedyren:

"Hvis et nettsted mottar en pakke med sekvensnummer 'x', vil det svare med ack -nummer 'x+1'.”

La oss oppsummere trinnene som er utført i treveis håndtrykk mellom en klientmaskin og en servermaskin:

Trinn 1. I første håndtrykk sender klienten en Syn Connection Request -pakke med et tilfeldig innledende sekvensnummer ('x') til serveren.

Steg 2. I andre håndtrykk svarer serveren med en SYN -pakke som har et tilfeldig sekvensnummer ('Y') og en ACK -pakke med et sekvensnummer ('x+1') for å kvitter det første sekvensnummeret ('x') sendt av klienten.

Trinn 3. I det tredje håndtrykk vil klienten sende en ACK -pakke med et sekvensnummer ('Y+1') til serveren for å anerkjenne syn ('y') -pakken sendt av serveren.

Trinn 4. Begge ender synkroniseres nå og kan begynne å overføre data uavhengig. [1]

TCP-treveis håndtrykkprosedyre er fremdeles gyldig hvis begge sider samtidig starter initialiseringsprosessen. I en slik situasjon vil hver maskin, etter å ha sendt en "syn" -pakke, motta et "syn" -segment uten bekreftelse. Hvis en gammel duplikat "syn" -pakke ankommer mottakeren, kan det se ut for mottakeren at en tilkoblingsinitieringsprosess pågår samtidig. Vi kan bruke "tilbakestilling" -pakkene for å fjerne denne tvetydigheten.

TCP -tilkoblingsavslutning

En av de to sidene kan avslutte en TCP -tilkobling. For dette kan enhver side overføre et TCP -segment med finbitsettet. Dette vil bety at sendingsiden ikke har mer data å sende. Mottaksiden vil anerkjenne denne finnpakken ved å sende en kvitteringspakke. Dette vil lukke forbindelsen fra den ene siden (avsenderens side). Nå vil mottakeren bruke de samme trinnene for å avslutte forbindelsen på hans vegne. Dette vil lukke forbindelsen fullstendig.

Problemer med treveis håndtrykksmodell

I tilfelle en ACK fra klient til server går tapt eller blokkert i det tredje håndtrykkstadiet, vil klienten ikke være klar over denne situasjonen. Klienten vil anta at tilkoblingen er etablert og vil begynne å sende data. Serveren venter fortsatt på ACK, som allerede var tapt, så den vil kaste dataene som er mottatt fra klienten. [2]

Konklusjon

I denne guiden har vi lært om TCP-tilkoblingsprosedyrer ved hjelp av et treveis håndtrykk. Vi har også sett problemet med dupliserte pakker tilknyttet toveis håndtrykkprosedyren og hvordan den ble løst med en treveis håndtrykksmodell. Mange forskere har bidratt med forskjellige forskningsartikler for å forbedre treveis håndtrykksmodellen og overvinne problemene forbundet med den.

Referanser

  1. Hsu, f., Hwang, y., Tsai, ca., Cai, w., Lee, c., & Chang, K. (2016). Trap: En treveis håndtrykksserver for TCP-tilkoblingsinstitusjon. Applied Sciences, 6 (11), 358. https: // doi.org/10.3390/APP6110358
  1. Qin-Min Ma, Shou-Yin Liu, Xiao-Jun Wen. (2016). TCP treveis håndtrykkprotokoll basert på kvanteforvikling. Journal of Computers, 27 (3), 33-40, doi: 10.3966/199115592016102703004