欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

TCP三次握手与四次挥手讲解

程序员文章站 2022-03-31 09:31:03
TCP三次握手与四次挥手讲解 三次握手 1.第一次握手 客户端向服务端发送 SYN(Synchronize) 标记设为 1 的TCP包。 Seq(Sequence Nu...

TCP三次握手与四次挥手讲解

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.第四次:客户端:『确认』;

服务端收到后关闭连接,客户端收不到回复了也关闭了连接。