TCP 三次握手过程
传输控制协议 (TCP) 使用三次握手过程在两个设备之间提供安全可靠的连接。TCP 使用全双工连接来同步 (SYN) 并确认 (ACK) 双方。建立和关闭连接都包含三个步骤:SYN、SYN-ACK 和 ACK。
三次握手连接建立过程
下图显示了如何使用三次握手建立可靠连接。每当用户浏览互联网时,它都将支持客户端和服务器端 Web 浏览器之间的通信。
同步序列号 (SYN) - 客户端向服务器发送 SYN
- 当客户端想要连接到服务器时,它会通过将 SYN 标志设置为 1 向服务器发送消息。
- 该消息携带一些其他信息,例如序列号(32 位随机数)。
- ACK 设置为 0。还设置了最大报文段大小和窗口大小。例如,如果窗口大小为 1000 位,最大报文段大小为 100 位,则通过划分 (1000/100=10) 可以在此连接中传输最多 10 个数据段。
同步并确认 (SYN-ACK) 到客户端
- 服务器通过将 ACK 标志设置为 1 来确认客户端请求。
- ACK 指示它接收到的报文段的响应,而 SYN 指示它将以什么序列号开始报文段。
- 例如,如果客户端已发送序列号 = 500 的 SYN,则服务器将使用确认号 = 5001 发送 ACK。
- 如果服务器也想要建立连接,则服务器将把 SYN 标志设置为“1”并将其发送到客户端。
- 用于 SYN 的序列号将与客户端的 SYN 不同。
- 服务器还会向客户端通告其窗口大小和最大报文段大小。并且,从客户端到服务器端建立了连接。
确认 (ACK) 到服务器
- 客户端在收到来自服务器的同步 (SYN) 后,向服务器发送确认 (ACK)。
- 在客户端收到 (ACK) 后,客户端和服务器之间建立了连接。
- 现在,数据可以在客户端和服务器之间传输。
三次握手关闭连接过程
要关闭三次握手连接,
- 首先,客户端通过发送 FIN 请求服务器终止已建立的连接。
- 服务器在收到客户端请求后,向客户端发送 FIN 和 ACK 请求。
- 客户端在收到来自服务器的 FIN + ACK 后,通过向服务器发送 ACK 进行确认。
广告