TCP三次握手四次断开
来源:互联网 发布:淘宝客api怎么用 编辑:程序博客网 时间:2024/05/22 17:34
了解TCP为什么要三次握手的时候,觉得这个描述比较好理解。
在谢阿希仁著《计算机网络》第四版中讲“三次握手”的目的是“为了防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误”。在另一部经典的《计算机网络》一书中讲“三次握手”的目的是为了解决“网络中存在延迟的重复分组”的问题。这两种不用的表述其实阐明的是同一个问题。
谢希仁版《计算机网络》中的例子是这样的,“已失效的连接请求报文段”的产生在这样一种情况下:client发出的第一个连接请求报文段并没有丢失,而是在某个网络结点长时间的滞留了,以致延误到连接释放以后的某个时间才到达server。本来这是一个早已失效的报文段。但server收到此失效的连接请求报文段后,就误认为是client再次发出的一个新的连接请求。于是就向client发出确认报文段,同意建立连接。假设不采用“三次握手”,那么只要server发出确认,新的连接就建立了。由于现在client并没有发出建立连接的请求,因此不会理睬server的确认,也不会向server发送数据。但server却以为新的运输连接已经建立,并一直等待client发来数据。这样,server的很多资源就白白浪费掉了。采用“三次握手”的办法可以防止上述现象发生。例如刚才那种情况,client不会向server的确认发出确认。server由于收不到确认,就知道client并没有要求建立连接。”
这也是一个挺好的例子:
三次握手:
“喂,你听得到吗?”
“我听得到呀,你听得到我吗?”
“我能听到你,今天balabala……”
“我听得到呀,你听得到我吗?”
“我能听到你,今天balabala……”
四次断开也是一个相互确认的过程:
1 ·当主机A完成数据传输后,将控制位FIN置1,提出停止TCP连接的请求
2 ·主机B收到FIN后对其作出响应,确认这一方向上的TCP连接将关闭,将ACK置1
3 ·由B 端再提出反方向的关闭请求,将FIN置1
4 ·主机A对主机B的请求进行确认,将ACK置1,双方向的关闭结束.
2 ·主机B收到FIN后对其作出响应,确认这一方向上的TCP连接将关闭,将ACK置1
3 ·由B 端再提出反方向的关闭请求,将FIN置1
4 ·主机A对主机B的请求进行确认,将ACK置1,双方向的关闭结束.
阅读全文
0 0
- TCP三次握手四次断开
- TCP三次握手 四次断开
- TCP三次握手四次断开
- TCP 三次握手连接&四次握手断开
- TCP的三次握手与四次断开
- tcp三次握手和四次断开概要
- TCP建立(三次握手)与断开(四次握手)
- tcp协议的”三次握手“连接与“四次握手”断开
- TCP\IP三次握手连接,四次握手断开分析
- TCP\IP三次握手连接,四次握手断开分析
- TCP/IP三次握手及断开四次握手过程
- tcp/ip 连接三次握手,断开四次握手
- TCP的三次握手和四次断开 TCP半连接
- tcp断开四次握手
- TCP三次握手过程和四次断开连接
- TCP连接与断开(三次握手和四次挥手)
- TCP/IP(三次握手和四次断开)与UDP
- 【网络基础】TCP三次握手以及四次断开原理
- python常见错误集合
- 3D数学 学习笔记(1) 向量、坐标系
- Android开发短信相关的知识
- Atcoder CODE FESTIVAL 2017 qual C 总结+ABCD题解
- diff: /../Podfile.lock: No such file or directory diff: /Manifest.lock: No such file or directory er
- TCP三次握手四次断开
- 随机森林进行特征重要性度量的详细说明
- java中的接口
- Java多线程系列-悲观锁和乐观锁实战
- 开源项目网站
- set zip sort sorted
- 论文阅读:《RMPE: Regional Multi-Person Pose Estimation》ICCV 2017
- 转:java中BigDecimal加减乘除基本用法
- 分治法实现棋盘覆盖