TCP 3-Way Handshake (SYN, SYN-ACK, ACK)

Mikä on TCP Three-Way Handshake?

Kolmisuuntainen kädenpuristus tai TCP 3-way handshake on prosessi, jota käytetään TCP/IP-verkossa yhteyden muodostamiseen palvelimen ja asiakkaan välille. Se on kolmivaiheinen prosessi, joka edellyttää sekä asiakkaan että palvelimen vaihtavan synkronointi- ja kuittauspaketteja ennen kuin todellinen tietoliikenneprosessi alkaa.

Kolmisuuntainen kättelyprosessi on suunniteltu siten, että molemmat päät auttavat sinua aloittamaan, neuvottelemaan ja erottamaan TCP-socket-yhteydet samanaikaisesti. Sen avulla voit siirtää useita TCP-socket-yhteyksiä molempiin suuntiin samanaikaisesti.

TCP-viestityypit

Viesti Tuotetiedot
syn Käytetään yhteyden aloittamiseen ja muodostamiseen. Se auttaa myös synkronoimaan järjestysnumeroita laitteiden välillä.
ACK Auttaa vahvistamaan toiselle puolelle, että se on vastaanottanut SYN:n.
SYN-ACK SYN-sanoma paikalliselta laitteelta ja aiemman paketin ACK.
FIN Käytetään yhteyden katkaisemiseen.

TCP:n kolmisuuntainen kättelyprosessi

TCP-liikenne alkaa kolmisuuntaisella kättelyllä. Tässä TCP-kättelyprosessissa asiakkaan on aloitettava keskustelu pyytämällä viestintäistunto palvelimen kanssa:

Kolmisuuntainen kättelyprosessi
3-suuntainen kättelykaavio
  • Vaihe 1: Ensimmäisessä vaiheessa asiakas muodostaa yhteyden palvelimeen. Se lähettää segmentin SYN:llä ja ilmoittaa palvelimelle, että asiakkaan tulee aloittaa kommunikointi ja millä sen järjestysnumerolla pitäisi olla.
  • Vaihe 2: Tässä vaiheessa server vastaa asiakkaan pyyntöön SYN-ACK-signaalilla. ACK auttaa sinua ilmaisemaan vastaanotetun segmentin vastauksen ja SYN ilmaisee, minkä järjestysnumeron sen pitäisi pystyä aloittamaan segmenteillä.
  • Vaihe 3: Tässä viimeisessä vaiheessa asiakas kuittaa palvelimen vastauksen ja molemmat luovat vakaan yhteyden ja aloittavat varsinaisen tiedonsiirtoprosessin.

Esimerkki tosielämästä

Esimerkki tosielämästä

Tässä on yksinkertainen esimerkki kolmisuuntaisesta kättelyprosessista, joka koostuu kolmesta vaiheesta:

  • Isäntä X aloittaa yhteyden lähettämällä TCP SYN -paketin isäntäkohteeseensa. Paketit sisältävät satunnaisen järjestysnumeron (esimerkiksi 4321), joka osoittaa järjestysnumeroiden alun datalle, joka isäntä X:n tulee lähettää.
  • Tämän jälkeen palvelin vastaanottaa paketin ja se vastaa järjestysnumerollaan. Sen vastaus sisältää myös kuittausnumeron, eli isäntä X:n järjestysnumeron lisättynä 1:llä (tässä se on 4322).
  • Isäntä X vastaa palvelimelle lähettämällä kuittausnumeron, joka on enimmäkseen palvelimen järjestysnumero, jota kasvatetaan yhdellä.

Kun tiedonsiirtoprosessi on ohi, TCP katkaisee automaattisesti yhteyden kahden erillisen päätepisteen välillä.

Yhteenveto

  • TCP 3-way handshake tai kolmisuuntainen kättely tai TCP 3-way handshake on prosessi, jota käytetään TCP/IP-verkko muodostaaksesi yhteyden palvelimen ja asiakkaan välille.
  • Syn käyttää yhteyden aloittamiseen ja muodostamiseen
  • ACK auttaa vahvistamaan toiselle puolelle, että se on vastaanottanut SYN:n.
  • SYN-ACK on SYN-sanoma paikalliselta laitteelta ja aiemman paketin ACK.
  • FIN:ää käytetään yhteyden katkaisemiseen.
  • TCP-kättelyprosessissa asiakkaan on aloitettava keskustelu pyytämällä viestintäistuntoa palvelimen kanssa
  • Ensimmäisessä vaiheessa asiakas muodostaa yhteyden palvelimeen
  • Tässä toisessa vaiheessa palvelin vastaa asiakkaan pyyntöön SYN-ACK-signaalilla
  • Tässä viimeisessä vaiheessa asiakas kuittaa palvelimen vastauksen
  • TCP katkaisee automaattisesti yhteyden kahden erillisen päätepisteen välillä.

Päivittäinen Guru99-uutiskirje

Aloita päiväsi uusimmilla ja tärkeimmillä tekoälyuutisilla, jotka toimitetaan juuri nyt.