TCP 3-посочно ръкостискане (SYN, SYN-ACK,ACK)
Какво е TCP трипосочно ръкостискане?
Трипосочно ръкостискане или TCP 3-way handshake е процес, който се използва в TCP/IP мрежа за осъществяване на връзка между сървъра и клиента. Това е процес в три стъпки, който изисква както клиентът, така и сървърът да обменят пакети за синхронизация и потвърждение, преди да започне истинският процес на комуникация на данни.
Процесът на тристранно ръкостискане е проектиран по такъв начин, че и двата края ви помагат да инициирате, преговаряте и разделяте връзките на TCP сокет едновременно. Позволява ви да прехвърляте множество връзки на TCP сокет в двете посоки едновременно.
Типове TCP съобщения
Съобщения | Descriptйон |
---|---|
Syn | Използва се за иницииране и установяване на връзка. Също така ви помага да синхронизирате поредните номера между устройствата. |
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 автоматично прекъсва връзката между две отделни крайни точки.
Oбобщение
- TCP 3-посочно ръкостискане или трипосочно ръкостискане или TCP 3-посочно ръкостискане е процес, който се използва в TCP/IP мрежа за осъществяване на връзка между сървър и клиент.
- Използвайте Syn за иницииране и установяване на връзка
- ACK помага да се потвърди на другата страна, че е получила SYN.
- SYN-ACK е SYN съобщение от локално устройство и ACK на по-ранния пакет.
- FIN се използва за прекратяване на връзка.
- TCP процес на ръкостискане, клиентът трябва да започне разговора, като поиска комуникационна сесия със сървъра
- В първата стъпка клиентът установява връзка със сървър
- В тази втора стъпка сървърът отговаря на клиентската заявка със зададен сигнал SYN-ACK
- В тази последна стъпка клиентът потвърждава отговора на сървъра
- TCP автоматично прекъсва връзката между две отделни крайни точки.