TCP 三次握手(SYN、SYN-ACK、ACK)
什么是 TCP 三次握手?
三次握手 TCP 三次握手是 TCP/IP 网络中用于建立服务器和客户端之间的连接的过程。这是一个三步过程,需要客户端和服务器在实际数据通信过程开始之前交换同步和确认数据包。
三次握手过程的设计方式是两端同时帮助您发起、协商和分离 TCP 套接字连接。它允许您同时在两个方向上传输多个 TCP 套接字连接。
TCP 消息类型
留言 | 描述 |
---|---|
SYN | 用于发起和建立连接。它还可以帮助您同步设备之间的序列号。 |
ACK | 帮助向对方确认已经收到SYN。 |
同步确认 | 来自本地设备的 SYN 消息和早期数据包的 ACK。 |
END | 用于终止连接。 |
TCP 三次握手过程
TCP 通信以三次握手开始。在此 TCP 握手过程中,客户端需要通过请求与服务器进行通信会话来发起对话:
- 步骤1: 第一步,客户端与服务器建立连接。它发送一个带有 SYN 的段,并通知服务器客户端应该开始通信,以及其序列号应该是什么。
- 步骤2: 在这一步 s服务器使用 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 自动终止两个独立端点之间的连接。