TCP三次握手四次挥手流程

三次握手流程(建立连接)

(1)客户端发送SYN(建立连接的标志位)+SEQ_NO(序号)到服务器

          这里的SYN是客户端到服务端的连接,申请建立,要返回ACK之后才真正建立连接

(2)服务端响应SYN(应答步骤1当中的SYN)、ACK、SEQ_NO+1(确认序号)到客户端

         这里的SYN是服务端到客户端的连接

(3)客户端 接到响应,建立客户端到服务端的连接(客户端保存这个连接状态)

四次挥手流程(关闭连接)

(1)客户端发送FIN到服务器,申请关闭连接服务端状态设置为CLOSE_WAIT

(2)服务端响应ACK

(3)服务端发送FIN到客户端,申请关闭连接,客户端接收到,状态设置为 TIME_WAIT

(4)客户端响应ACK,服务器接收到以后,服务端关闭连接。

 

扩展问题:

Q1:挥手第三步,客户端没有直接设置CLOSE关闭连接?

A:第(4)步的ACK可能丢包,所以要等待一下,客户端要等待一个2MSL的时间,才会进入到CLOSED状态。

Q2:为什么挥手阶段的(2)(3)没有像建立连接时,合并数据包?

A: (2)时系统对TCP协议实现时,接收FIN,自动返回ACK,不再执行程序代码

    (3)时程序手动调用执行(服务端关闭连接 前,需要执行 一些前置工作)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值