TCP之糊涂窗口综合征
来源:互联网 发布:婚纱店装修效果图软件 编辑:程序博客网 时间:2024/04/30 17:15
http://www.cnblogs.com/zhaoyl/archive/2012/09/20/2695799.html
这个症状指的是:
这个问题可以归结为小包的问题,就是由于发送端和接收端上的处理不一致,导致网络上产生很多的小包,之前也介绍过避免网络上产生过多小包的措施,比如Nagle算法。在滑动窗口机制下,如果发送端和接收端速率很不一致,也会产生这种比较犯傻的状态:发送方发送的数据,只要一个大大的头部,携带数据很少。
对于接收端来讲,如果接收很慢,一次接收1个字节或者几个字节,这个时候接收端 缓冲区很快就会被填满,然后窗口通告为0字节,这个时候发送端停止发送,应用程序收上去1个字节后,发出窗口通告为1字节,发送方收到通告之后,发出1个字节的数据,这样周而复始,传输效率会非常低。
同时如果发送端程序一次发送一个字节,虽然窗口足够大,但是发送仍是一个字节一个字节的传输,效率很低
解决办法:
nagle算法
TCP/IP协议中,无论发送多少数据,总是要在数据前面加上协议头,同时,对方接收到数据,也需要发送ACK表示确认。为了尽可能的利用网络带宽,TCP总是希望尽可能的发送足够大的数据。(一个连接会设置MSS参数,因此,TCP/IP希望每次都能够以MSS尺寸的数据块来发送数据)。Nagle算法就是为了尽可能发送大块数据,避免网络中充斥着许多小数据块。
Nagle算法的基本定义是任意时刻,最多只能有一个未被确认的小段。 所谓“小段”,指的是小于MSS尺寸的数据块,所谓“未被确认”,是指一个数据块发送出去后,没有收到对方发送的ACK确认该数据已收到。
阅读全文
0 0
- TCP之糊涂窗口综合征
- 糊涂窗口综合征详解
- 窗口糊涂综合征
- TCP/IP详解--流量控制机制 滑动窗口 Nagle算法 糊涂窗口综合征
- TCP面试题(二)之TCP糊涂窗口问题
- 30-TCP 协议(糊涂窗口综合症)
- TCP-IP详解:糊涂窗口综合症(Silly Window syndrome)
- 糊涂窗口综合症
- 糊涂窗口综合症
- 什么是糊涂窗口综合症
- 糊涂窗口综合症
- 糊涂窗口综合症
- 糊涂窗口综合症
- 什么是糊涂窗口综合症
- 糊涂窗口综合症
- 糊涂窗口综合症及其解决方法
- 糊涂窗口综合症及其解决方法
- 糊涂
- chap4 图像复原 part3
- 有关路径的总结
- Python编程——Python基础知识之元组(二)
- MVC身份验证及权限管理
- Threadlocal和synchronized的比较
- TCP之糊涂窗口综合征
- 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛 The Heaviest Non-decreasing Subsequence Problem
- 机房收费系统(五)---导出Excel表
- 2017/9/24
- leveldb-expand文档
- codevs1058 luogu1091 合唱队形
- 如何检测内存泄露
- 深度学习分类网络
- Easier Done Than Said?(字符串)