TCP 3-utas kézfogás (SYN, SYN-ACK, ACK)
Mi az a TCP háromutas kézfogás?
Háromutas kézfogás vagy a TCP 3-way handshake egy olyan folyamat, amelyet a TCP/IP hálózatban használnak a szerver és a kliens közötti kapcsolat létrehozására. Ez egy három lépésből álló folyamat, amely megköveteli, hogy a kliens és a kiszolgáló szinkronizálási és nyugtázási csomagokat cseréljen a valódi adatkommunikációs folyamat megkezdése előtt.
A háromirányú kézfogási folyamatot úgy tervezték meg, hogy mindkét vége segítsen egyszerre kezdeményezni, egyeztetni és szétválasztani a TCP socket kapcsolatokat. Lehetővé teszi több TCP socket kapcsolat átvitelét mindkét irányban egyidejűleg.
TCP üzenettípusok
Üzenet | Leírás |
---|---|
syn | Kapcsolat kezdeményezésére és létrehozására szolgál. Segít a sorszámok szinkronizálásában is az eszközök között. |
ACK | Segít megerősíteni a másik oldalon, hogy megkapta a SYN-t. |
SYN-ACK | SYN üzenet a helyi eszközről és a korábbi csomag ACK. |
FIN | A kapcsolat megszakítására szolgál. |
TCP háromutas kézfogási folyamat
A TCP-forgalom háromirányú kézfogással kezdődik. Ebben a TCP kézfogási folyamatban az ügyfélnek úgy kell kezdeményeznie a beszélgetést, hogy kommunikációs munkamenetet kér a szerverrel:
- Lépés 1: Első lépésben a kliens kapcsolatot létesít egy szerverrel. Szegmenst küld a SYN-nel, és tájékoztatja a szervert, hogy a kliensnek el kell kezdenie a kommunikációt, és mi legyen a sorszáma.
- Lépés 2: Ebben a lépésben sAz erver a kliens kérésére SYN-ACK jelkészlettel válaszol. Az ACK segít a fogadott szegmens válaszának jelzésében, a SYN pedig azt, hogy milyen sorszámmal kell kezdődnie a szegmensekkel.
- Lépés 3: Ebben az utolsó lépésben a kliens nyugtázza a Szerver válaszát, és mindketten stabil kapcsolatot hoznak létre, és megkezdődik a tényleges adatátviteli folyamat.
Valós példa
Íme egy egyszerű példa a háromutas kézfogási folyamatra, amely három lépésből áll:
- Az X gazdagép úgy kezdi meg a kapcsolatot, hogy elküldi a TCP SYN csomagot a gazdagép célhelyére. A csomagok egy véletlenszerű sorszámot (például 4321) tartalmaznak, amely az X gazdagépnek továbbítandó adatok sorszámának kezdetét jelzi.
- Ezt követően a szerver megkapja a csomagot, amely a sorszámával válaszol. Válasza tartalmazza a nyugtázási számot is, vagyis az X gazdagép 1-gyel megnövelt sorszámát (itt ez 4322).
- Az X gazdagép úgy válaszol a kiszolgálónak, hogy elküldi a nyugtázási számot, amely többnyire a kiszolgáló sorszáma, amely 1-gyel növekszik.
Az adatátviteli folyamat befejezése után a TCP automatikusan megszakítja a kapcsolatot két különálló végpont között.
Összegzésként
- A TCP 3-way kézfogás vagy háromutas kézfogás vagy TCP 3-way kézfogás egy olyan folyamat, amelyet TCP/IP hálózat kapcsolat létrehozásához a szerver és a kliens között.
- A Syn használata kapcsolat kezdeményezésére és létrehozására
- Az ACK segít megerősíteni a másik oldalon, hogy megkapta a SYN-t.
- A SYN-ACK egy SYN üzenet a helyi eszközről és a korábbi csomag ACK-je.
- A FIN a kapcsolat megszakítására szolgál.
- A TCP kézfogási folyamat során az ügyfélnek úgy kell kezdeményeznie a beszélgetést, hogy kommunikációs munkamenetet kér a szerverrel
- Első lépésben a kliens kapcsolatot létesít egy szerverrel
- Ebben a második lépésben a szerver SYN-ACK jel beállításával válaszol az ügyfél kérésére
- Ebben az utolsó lépésben a kliens nyugtázza a szerver válaszát
- A TCP automatikusan megszakítja a kapcsolatot két különálló végpont között.