Advertisement

TCP协议中的Nagle算法

阅读量:

在网络传输中,有时会遇到这样一种情况:在网络传输过程中,存在大量数量的小数据块,造成资源浪费。其中常见的情况是发送端发生"糊涂窗口综合症(Silly Window Syndrome)"现象,即传输的数据大小小于头部长度

而Nagle的出现就是为了解决这样的问题的。

Nagel规定在任何时间点上,在网络中仅限于一个尚未收到确认信息(ACK)的数据分片必须满足其长度限制要求。

Nagle算法的规则

本节讨论的改进措施主要体现在:当发送端持续产生小体积的数据流量时(此处特指长度小于最大序列号长度MSS的小型数据分段),系统会采用一种更为智能的缓存策略以减少网络资源消耗。具体而言,在接收方确认前一分段传输请求(ACK确认)之前或当前传输内容被识别为紧急事项之前(此时接收方尚未收到前一分段的具体确认信息),发送方会暂时存储所有未被立即传输的小型数据分段。只有当满足以下任一条件时才开始进行后续数据分段的合并与传输:接收方对前一分段确认请求尚未响应;当前传输字符属于高优先级类别;或者已累计存储的小型数据分段时间达到一个标准最大序列号(MSS)长度减一的时间窗口(即缓存容量上限C=MSS-1)。在此框架下,在接收方完成对当前大分段时间的确认后会立即进行重传操作;而如果当前传输字符类型被判定为非紧急状态且缓存容量未达到上限,则继续等待下一个小型数据分段时间的到来;一旦达到上限则

全部评论 (0)

还没有任何评论哟~