TCP协议(二):连接的建立与释放

1.建立连接:三次握手

①服务端监听端口 CLOSED->LISTEN

②客户端请求建立连接:SYN=1,seq=x; CLOSED->SYN-SENT

③服务端收到请求,同意建立连接:SYN=1,ACK=1,seq=y,ack=x+1; LISTEN->SYN-RCVD

④客户端收到响应,进行响应,进入数据传输状态:ACK=1,seq=x+1,ack=y+1; SYN-SENT->ESTABLISHED

⑤服务端收到相应,进入数据传输状态:SENT-RCVD->ESTABLISHED

(为了防止,建立的请求因网络原因,延后到达,导致建立无用连接)

 

2.释放连接:四次挥手

①客户端和服务端均可以发起释放连接,以客户端为例

客户端发起释放连接:FIN=1,seq=p; ESTABLISHED->FIN-WAIT-1

②服务端收到请求,同意释放连接:ACK=1,seq=w,ack=p+1; ESTABLISHED->CLOES-WAIT

③客户到收到响应,进入单向关闭状态:ESTABLISHED->FIN-WAIT-2

④服务端发起释放连接响应:FIN=1,ACK=1,seq=q(与w不同,可能传输了一些数据),ack=p+1;CLOSE-WAIT->LAST-ACK

⑤客户端接到响应,发起响应:ACK=1,seq=p+1,ack=q+1;FIN-WAIT-2->TIME-WAIT

⑥客户端等待2MSL,RFC793建议两分钟,实际可以调整,作用是为了防止客户端的响应无法到达,服务端服务无法关闭,等待2MSL可以有时间重发响应

⑦服务端接到响应,关闭连接:LAST-ACK->CLOSED

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值