Nagle算法
2016-05-03 21:27
176 查看
Nagle算法主要用于避免过多小分节报文在网络中传输,从而降低网络容量利用率。比如一个20字节的TCP首部+20字节的IP首部+1个字节的数据组成的TCP数据报,有效传输通道利用率只有将近1 /40。如果网络充斥着这样的小分组数据,则网络资源的利用率是相当低下的。
Nagle算法要求一个TCP连接上最多只能有一个未被确认的未完成的小分组,在该分组的
确认到达之前不能发送其他的小分组。相反TCP收集这些小分组,并在确认到来时以一个
分组的方式发出去。
然而Nagle算法并不是所有场合都需要开启,对于一些需要快速响应,对延时敏感的应用,
比如窗口程序,鼠标响应,一般而言需要关闭Nagle。Socket API用户可以通过套接口
选项TCP_NODELAY来关闭该算法。
Nagle算法要求一个TCP连接上最多只能有一个未被确认的未完成的小分组,在该分组的
确认到达之前不能发送其他的小分组。相反TCP收集这些小分组,并在确认到来时以一个
分组的方式发出去。
然而Nagle算法并不是所有场合都需要开启,对于一些需要快速响应,对延时敏感的应用,
比如窗口程序,鼠标响应,一般而言需要关闭Nagle。Socket API用户可以通过套接口
选项TCP_NODELAY来关闭该算法。
相关文章推荐
- HibernateTemplate HibernateCallback()使用说明
- 打印乘法口诀表
- Responder Chain简析
- ubuntu双系统安装的一些问题
- WebView加载带中文的网页
- 三角形打印练习
- PHP、JavaScript、HTML三者的比较
- refresh的停车场
- 【代码】Datatable转泛型
- 第3周项目4--谁是小偷
- 92. Reverse Linked List II
- php面试总结
- 华为2016校招机试题(2015年9月) 海大上午场(包含实现代码,运行环境为VS2010)
- spring事物传播特性
- JDBC数据更新
- 【代码】日期转换函数
- 【代码】报表显示
- linux下使用vim修改jar包zip包内文件内容
- gcc/g++ 参数总结
- 【代码】控件是否为空/是否数字/清空