学习总结:TCP的三次握手和四次挥手

目录

三次握手和四次挥手过程

半连接状态 

半关闭状态

半打开状态


三次握手和四次挥手过程

报文段1:客户端向服务器端发出连接请求。

报文段2:服务器端发出对客户端的应答 + 连接请求。

报文段3:客户端应答。 

至此,客户端和服务器端建立连接

报文段4:一般的请求结束都是由客户端发起的;这里客户端发起了请求释放连接

报文段5:服务器端应答。

报文段6:服务器端发送释放连接请求 。

注意:客户端在收到服务器端应答之后不会直接关闭连接,而是会状态转移为TIME_WAIT状态 ,会等待 2MSL 的时间(MSL为 最大生存周期) 

目的就是为了:1.进行可靠的终止连接        2.丢弃迟来的报文段

报文段7:客户端应答。

至此,客户端和服务器端断开连接。

半连接状态 

客户端没有发送第三次报文段时,服务器端此时就是处于SYN_RCVD(半连接状态),如果连接的个数大于backlog(最大的完全连接状态),就会在SYN_RCVD状态,并且会放在一个存放半连接状态的请求队列中去。

半关闭状态

因为TCP连接是全双工的,所以他接受某一端独立关闭

报文段4发出后,客户端就处于半关闭状态,这个状态下客户端仍然可以收到服务器端传来的数据,直到服务器端将数据全发送完。

半打开状态

这里要和半关闭状态做区分,不要以为一端是半关闭状态,另一半就是半打开状态(这是错误的)

半打开状态是指,一端由于种种原因终止连接(也有可能是异常中止连接),导致另一端接收不到FIN,所以另一端仍然会给这一端发送消息。此时就会返回一个复位报文段来告诉他,另一半终止连接了。(如果你访问不存在的端口也会返回一个复位报文段)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值