TCP三次握手连接与四次握手断开
2016-02-28 13:41
357 查看
http://blog.csdn.net/whuslei/article/details/6667471(三次握手与四次握手)
1. TCP的三次握手最主要是防止已过期的连接再次传到被连接的主机。
如果采用两次的话,会出现下面这种情况。
比如是A机要连到B机,结果发送的连接信息由于某种原因没有到达B机;
于是,A机又发了一次,结果这次B收到了,于是就发信息回来,两机就连接。
传完东西后,断开。
结果这时候,原先没有到达的连接信息突然又传到了B机,于是B机发信息给A,然后B机就以为和A连上了,这个时候B机就在等待A传东西过去。
2. 三[b]次握手改成仅需要两次握手,死锁是可能发生[/b]
考虑计算机A和B之间的通信,假定B给A发送一个连接请求分组,A收到了这个分组,并发送了确认应答分组。按照两次握手的协定,A认为连接已经成功地建立了,可以开始发送数据分组。可是,B在A的应答分组在传输中被丢失的情况下,将不知道A是否已准备好,不知道A建议什么样的序列号,B甚至怀疑A是否收到自己的连接请求分组。在这种情况下,B认为连接还未建立成功,将忽略A发来的任何数据分组,只等待连接确认应答分组。而A在发出的分组超时后,重复发送同样的分组。这样就形成了死锁
3,断开为什么需要四次握手
tcp是全双工协议(全双工:双方同时通讯)
1. TCP的三次握手最主要是防止已过期的连接再次传到被连接的主机。
如果采用两次的话,会出现下面这种情况。
比如是A机要连到B机,结果发送的连接信息由于某种原因没有到达B机;
于是,A机又发了一次,结果这次B收到了,于是就发信息回来,两机就连接。
传完东西后,断开。
结果这时候,原先没有到达的连接信息突然又传到了B机,于是B机发信息给A,然后B机就以为和A连上了,这个时候B机就在等待A传东西过去。
2. 三[b]次握手改成仅需要两次握手,死锁是可能发生[/b]
考虑计算机A和B之间的通信,假定B给A发送一个连接请求分组,A收到了这个分组,并发送了确认应答分组。按照两次握手的协定,A认为连接已经成功地建立了,可以开始发送数据分组。可是,B在A的应答分组在传输中被丢失的情况下,将不知道A是否已准备好,不知道A建议什么样的序列号,B甚至怀疑A是否收到自己的连接请求分组。在这种情况下,B认为连接还未建立成功,将忽略A发来的任何数据分组,只等待连接确认应答分组。而A在发出的分组超时后,重复发送同样的分组。这样就形成了死锁
3,断开为什么需要四次握手
tcp是全双工协议(全双工:双方同时通讯)
相关文章推荐
- 文本分类算法之--BP神经网络
- 计算机网络19--P2P应用
- [转载] TCP与UDP对比
- java重拍 https://www.zhihu.com/question/34387716/answer/76029594
- genymotion下载出现Unable to create virtual device,Server returned HTTP status code 0.
- 理解并发编程的几种"性" -- 可见性,有序性,原子性 http://blog.sina.com.cn/s/blog_4adc4b090102whzx.html
- tcp有限状态机
- 005_Http之request获取客户端信息08-编码之request编码-url编码
- HelloWorld系列之--------手动下载网络页面
- Java HttpGet
- 通过loadrunner将http返回response写入文本txt中
- http://www.cnblogs.com/yjmyzz/p/dubbox-demo.html
- http://my.oschina.net/u/719192/blog/506062?p={{page}}
- JVM并发机制的探讨——内存模型、内存可见性和指令重排序 http://my.oschina.net/chihz/blog/58035
- 4.1.3.3 Android 网络状态监听的静态广播接受者和动态广播接受者Broadcast-Receiver
- 使用networkx导出关系网络并用gephi进行简单分析
- 【HTTP】Fiddler(一) - Fiddler简介
- windows平台HTTP代理server搭建(CCproxy)
- 005_Http之request获取客户端信息08-编码之request编码
- java线程调度 http://my.oschina.net/xiaotian120/blog/196201