TCP 3-vägs handskakning (SYN, SYN-ACK, ACK)
Vad är TCP Three-Way Handshake?
Trevägshandskakning eller en TCP 3-vägs handskakning är en process som används i ett TCP/IP-nätverk för att skapa en anslutning mellan servern och klienten. Det är en process i tre steg som kräver att både klienten och servern utbyter synkroniserings- och bekräftelsepaket innan den riktiga datakommunikationsprocessen startar.
Trevägshandskakningsprocessen är utformad på ett sådant sätt att båda ändarna hjälper dig att initiera, förhandla och separera TCP-socket-anslutningar samtidigt. Det låter dig överföra flera TCP-uttagsanslutningar i båda riktningarna samtidigt.
TCP-meddelandetyper
Meddelande | Description |
---|---|
syn | Används för att initiera och upprätta en anslutning. Det hjälper dig också att synkronisera sekvensnummer mellan enheter. |
ACK | Hjälper till att bekräfta för den andra sidan att den har tagit emot SYN. |
SYN-ACK | SYN-meddelande från lokal enhet och ACK för det tidigare paketet. |
FIN | Används för att avsluta en anslutning. |
TCP trevägs handskakningsprocess
TCP-trafik börjar med ett trevägshandslag. I denna TCP-handskakningsprocess måste en klient initiera konversationen genom att begära en kommunikationssession med servern:
- Steg 1: I det första steget upprättar klienten en anslutning till en server. Den skickar ett segment med SYN och informerar servern om att klienten ska starta kommunikation och med vad som ska vara dess sekvensnummer.
- Steg 2: I detta steg server svarar på klientförfrågan med SYN-ACK-signaluppsättning. ACK hjälper dig att beteckna svaret för segmentet som tas emot och SYN anger vilket sekvensnummer den ska kunna börja med segmenten.
- Steg 3: I det här sista steget bekräftar klienten serverns svar, och de båda skapar en stabil anslutning kommer att påbörja den faktiska dataöverföringsprocessen.
Exempel från verkligheten
Här är ett enkelt exempel på trevägshandskakningsprocessen som består av tre steg:
- Värd X börjar anslutningen genom att skicka TCP SYN-paketet till dess värddestination. Paketen innehåller ett slumpmässigt sekvensnummer (till exempel 4321) som anger början av sekvensnumren för data som Host X ska sända.
- Efter det kommer servern att ta emot paketet och den svarar med sitt sekvensnummer. Dets svar inkluderar också bekräftelsenumret, det vill säga Host X:s sekvensnummer ökat med 1 (här är det 4322).
- Värd X svarar till servern genom att skicka bekräftelsenumret som oftast är serverns sekvensnummer som ökas med 1.
När dataöverföringsprocessen är över avbryter TCP automatiskt anslutningen mellan två separata slutpunkter.
Sammanfattning
- TCP 3-vägshandslag eller trevägshandslag eller TCP 3-vägshandslag är en process som används i en TCP/IP-nätverk för att skapa en koppling mellan server och klient.
- Syn används för att initiera och upprätta en anslutning
- ACK hjälper till att bekräfta för den andra sidan att den har tagit emot SYN.
- SYN-ACK är ett SYN-meddelande från lokal enhet och ACK från det tidigare paketet.
- FIN används för att avsluta en anslutning.
- TCP-handskakningsprocessen måste en klient initiera konversationen genom att begära en kommunikationssession med servern
- I det första steget upprättar klienten en anslutning till en server
- I detta andra steg svarar servern på klientförfrågan med SYN-ACK-signaluppsättning
- I detta sista steg bekräftar klienten serverns svar
- TCP avslutar automatiskt anslutningen mellan två separata slutpunkter.