TCP 3-Way Handshake (SYN, SYN-ACK,ACK)
Що таке тристороннє рукостискання TCP?
Тристороннє рукостискання або тристороннє рукостискання TCP – це процес, який використовується в мережі TCP/IP для встановлення з’єднання між сервером і клієнтом. Це триетапний процес, який вимагає від клієнта та сервера обміну пакетами синхронізації та підтвердження перед початком реального процесу передачі даних.
Процес тристороннього рукостискання розроблений таким чином, що обидва кінці допомагають вам ініціювати, узгоджувати та розділяти підключення сокетів TCP одночасно. Це дозволяє передавати декілька з’єднань TCP-сокетів в обох напрямках одночасно.
Типи повідомлень TCP
Повідомлення | Опис |
---|---|
Син | Використовується для ініціювання та встановлення з’єднання. Це також допомагає синхронізувати порядкові номери між пристроями. |
ACK | Допомагає підтвердити іншій стороні, що вона отримала SYN. |
SYN-ACK | Повідомлення SYN від локального пристрою та ACK попереднього пакету. |
FIN | Використовується для завершення з'єднання. |
Процес тристороннього рукостискання TCP
Трафік TCP починається з тристороннього рукостискання. У цьому процесі рукостискання TCP клієнт повинен ініціювати розмову, запросивши сеанс зв’язку з сервером:
- Крок 1: На першому кроці клієнт встановлює з'єднання з сервером. Він надсилає сегмент із SYN і інформує сервер про те, що клієнт повинен розпочати зв’язок, і з яким має бути його порядковий номер.
- Крок 2: На цьому кроці server відповідає на запит клієнта встановленим сигналом SYN-ACK. ACK допомагає вам позначити відповідь отриманого сегмента, а SYN означає, який порядковий номер має починатися з сегментів.
- Крок 3: На цьому останньому кроці клієнт підтверджує відповідь Сервера, і вони обидва створюють стабільне з’єднання, щоб розпочати фактичний процес передачі даних.
Реальний приклад
Ось простий приклад тристороннього процесу рукостискання, який складається з трьох кроків:
- Хост X починає з’єднання, надсилаючи пакет TCP SYN до свого хосту призначення. Пакети містять випадковий порядковий номер (наприклад, 4321), який вказує на початок порядкових номерів для даних, які має передати хост X.
- Після цього Сервер отримає пакет і відповість своїм порядковим номером. Його відповідь також містить номер підтвердження, тобто порядковий номер хосту X, збільшений на 1 (тут це 4322).
- Хост X відповідає серверу, надсилаючи номер підтвердження, який переважно є порядковим номером сервера, який збільшується на 1.
Після завершення процесу передачі даних TCP автоматично розриває з’єднання між двома окремими кінцевими точками.
Підсумки
- Тристороннє рукостискання TCP або тристороннє рукостискання або тристороннє рукостискання TCP — це процес, який використовується в Мережа TCP/IP щоб встановити з'єднання між сервером і клієнтом.
- Syn використовуйте для ініціювання та встановлення з’єднання
- ACK допомагає іншій стороні підтвердити, що вона отримала SYN.
- SYN-ACK — це повідомлення SYN від локального пристрою та ACK попереднього пакету.
- FIN використовується для завершення з'єднання.
- У процесі рукостискання TCP клієнт повинен ініціювати розмову, запросивши сеанс зв’язку з сервером
- На першому кроці клієнт встановлює з'єднання з сервером
- На цьому другому кроці сервер відповідає на запит клієнта встановленим сигналом SYN-ACK
- На цьому останньому кроці клієнт підтверджує відповідь Сервера
- TCP автоматично розриває з’єднання між двома окремими кінцевими точками.