TCP三次握手与四次挥手讲解
程序员文章站
2022-03-31 09:31:03
TCP三次握手与四次挥手讲解
三次握手
1.第一次握手
客户端向服务端发送 SYN(Synchronize) 标记设为 1 的TCP包。
Seq(Sequence Nu...
TCP三次握手与四次挥手讲解
三次握手
1.第一次握手
客户端向服务端发送 SYN(Synchronize) 标记设为 1 的TCP包。
Seq(Sequence Number)为由操作系统生成的随机数。然后,客户端进入 SYN_SEND 状态,等待服务器的确认。
2.第二次握手
服务器收到客户端的 SYN 包,会发一个对 SYN 包的确认包(SYN/ACK)回去。
ACK(Acknowledgment Number) 为 x+1(Sequence Number+1),服务器端把 SYN+ACK 报文段发送给客户端,此时服务器进入 SYN_RECV 状态。
3.第三次握手
客户端收到 SYN/ACK 包后,发一个确认包(ACK),通知服务器端连接已建立。
三次握手演示:
三次握手 seq ack 第一次 10000 0 第二次 20000 10000+1=10001 第三次 10001 20000+1=20001
四次挥手
1.第一次,客户端:『没有数据给你了』;
2.第二次:服务端:『收到,我也没有数据给你了』;
3.第三次:服务端:『请求关闭连接』;
4.第四次:客户端:『确认』;
服务端收到后关闭连接,客户端收不到回复了也关闭了连接。