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:

- 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รค
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รค.

