TCP 三次握手(SYN,SYN-ACK,ACK)
2021-03-02 本文已影响0人
魂斗驴
什么是TCP三次握手?
TCP三次握手是在TCP / IP网络中用于在服务器和客户端之间建立连接的过程。这是一个三步过程,需要客户端和服务器在真实数据通信过程开始之前交换同步和确认数据包。
三次握手过程的设计方式是,两端都可以帮助您同时启动,协商和分离TCP套接字连接。它允许您同时在两个方向上传输多个TCP套接字连接。
TCP消息类型
信息 | 描述 |
---|---|
Syn | 用于启动和建立连接。它还可以帮助您在设备之间同步序列号。 |
ACK | 帮助对方确认它已收到SYN。 |
SYN-ACK | 来自本地设备的SYN消息和先前数据包的ACK。 |
FIN | 用于终止连接。 |
TCP三次握手过程
TCP通信以三次握手开始。在此TCP握手过程中,客户端需要通过请求与服务器的通信会话来发起会话:
三次握手过程</center>
- 第1步: 在第一步中,客户端与服务器建立连接。它发送带有SYN的段,并通知服务器有关客户端应该开始通信以及其序号应该是什么。
- 第2步: 在这一步server响应并返回SYN-ACK。ACK可帮助您表示已接收到的段的响应,而SYN则表示它能够开始的段序号。
- 第3步: 在最后一步中,客户端确认服务器的响应,并且它们都创建了稳定的连接,将开始实际的数据传输过程。
真实示例
image这是三次握手过程的一个简单示例,包括三个步骤:
- 主机X通过将TCP SYN数据包发送到其主机目标来开始连接。数据包包含一个随机序列号(例如4321),该序列号指示主机X应该发送的数据的序列号的开头。
- 之后,服务器将接收到数据包,并以其序列号进行响应。它的响应还包括确认号,即主机X的序列号以1递增(此处为4322)。
- 主机X通过发送确认号来响应服务器,该确认号主要是服务器的序列号,增量为1。
数据传输过程结束后,TCP自动终止两个单独端点之间的连接。