TCP连接的建立与关闭(三次握手与四次挥手)

本文详细解析了TCP连接建立的三次握手过程和关闭时的四次挥手步骤,强调了为何不能简化为两次握手以及四次挥手的必要性。在结束时,解释了2MSL等待期的作用,确保TCP连接的可靠关闭。
摘要由CSDN通过智能技术生成

当一个HTTP请求发出后,首选需要建立client和server之间的TCP连接,连接过程需要“三次握手”。

1、client发送SYN=1给server,client进入SYN_SEND

2、server发送SYN=1,ACK=1给client,server进入SYN_RECV;

3、client发送ACK=1给server

 到此,client进入ESTABLISHED状态,server收到ack数据包后也进入ESTABLISHED状态。

关于为什么不可以两次握手?

        这个主要原因是考虑出现失效的请求数据包的情况。如果client第一次发送的连接请求因为网络延迟等原因,未能及时送到服务器,client会再次发送一次,假设这一次正常发送,server正常响应,client收到了请求数据,然后关闭了这一次的连接,那么一次TCP连接就完成了。

        如果第一次的请求恰好在这个阶段到了server(其实早就失效了的),它会已经是client又重新发了一次,于是再次将请求的数据发给client,但是呢,client根本不会理会&#x

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值