TCP建立连接的过程为什么不是两次握手
来源:互联网 发布:淘宝网亨吉利可信吗 编辑:程序博客网 时间:2024/05/22 10:17
A发起请求,B回复已经收到,A回复收到B的回复
为什么A还要发送一次确认呢?这主要是为了防止已经失效的连接请求报文段突然又传送到了B,因而产生了错误。
所谓”已经失效的报文段” 是这样产生的。考虑一种正常的情况。A发出连接请求,但是因为连接请求报文丢失而未能收到B的回复。于是A再重传一次连接请求。后来收到了确认,建立了连接。数据传输完毕后,就释放了连接。A共发送了两个连接请求报文段,其中第一个丢失,第二个到达了B。没有“已失效的连接请求报文段”。
现在假定出现了一种异常情况,以致延误到连接释放的某个时间才到达B。本来这是一个已经失效的报文段。但B收到此失效的连接请求报文段之后,就误认为是A又发出一次新的连接请求。于是就向A发出确认报文段,同意建立连接。假定不采用三次握手,那么只要B发出确认,新的连接就建立了。
由于现在A并没有发出建立连接的请求,因此不会理睬B的确认,也不会想B发送数据。但是B却认为新的运输连接已经建立了,并一直等待A发来数据。B的许多资源就这样白白浪费了。
采用三次握手的办法可以防止上述现象的发生。例如在刚才的情况下,A不会向B发出确认。B由于收不到确认,就知道A并没有要求建立连接。
阅读全文
1 0
- TCP建立连接的过程为什么不是两次握手
- TCP建立连接为什么是三次握手,为什么不是两次或四次?
- TCP建立连接为什么是三次握手而不是两次握手
- TCP连接建立的3次握手?为什么不是2次握手?为什么不是4次握手?
- TCP建立连接的三次握手过程
- TCP连接建立过程中为什么需要“三次握手”
- TCP连接建立过程中为什么需要“三次握手”
- TCP连接建立过程中为什么需要“三次握手”
- TCP连接建立过程中为什么需要“三次握手”
- TCP连接建立过程中为什么需要“三次握手”
- TCP连接建立过程中为什么需要“三次握手”
- TCP连接建立过程中为什么需要“三次握手”
- TCP连接建立过程中为什么需要“三次握手”
- TCP连接建立过程中为什么需要“三次握手”
- TCP连接建立过程中为什么需要三次握手
- TCP连接建立过程中为什么需要“三次握手”
- TCP连接建立过程中为什么需要“三次握手”
- TCP连接建立过程中为什么需要“三次握手”
- python数据处理与可视化初探
- QNX的PPS功能-发布和订阅PPS
- Mac上安装jdk
- java.lang.UnsatisfiedLinkError: No implementation found for java.lang.String.....
- 使用具体的列代替*
- TCP建立连接的过程为什么不是两次握手
- 算法--猫扑素数--java版
- Android Hook神器:XPosed入门与登陆劫持演示
- 教你如何在手机上下载微博和秒拍视频
- Windows Server 2016 Install RDS
- centos6、7安装vlc
- 【工作流】jbpm(三)——开发流程
- rails console 控制台
- Windows Server 2016 Connect to RemoteApp