TCP流量控制

来源:互联网 发布:命令提示符编译java 编辑:程序博客网 时间:2024/05/19 20:01

1、流量控制
所谓的流量控制就是让发送方的发送速率不要太快,让接收方来得及接受。利用滑动窗口机制可以很方便的在TCP连接上实现对发送方的流量控制。TCP的窗口单位是字节,不是报文段,发送方的发送窗口不能超过接收方给出的接收窗口的数值。
- 发送方的发送窗口不可以大于接收方发回的窗口大小
2、Nagle算法
TCP的数据传输分为交互数据流和成块数据流,交互数据流一般是一些交互式应用程序的命令,所以这些数据很小,而考虑到TCP报头和IP报头的总和就有40字节,如果数据量很小的话,那么网络的利用效率就较低。
数据传输使用Nagle算法,Nagle算法很简单,就是规定一个TCP连接最多只能有一个未被确认的未完成的小分组。在该分组的确认到达之前不能发送其他的小分组。
然而Nagle算法并不是所有场合都需要开启,对于一些需要快速响应,对延时敏感的应用,
比如窗口程序,鼠标响应,一般而言需要关闭Nagle。Socket API用户可以通过套接口
选项TCP_NODELAY来关闭该算法。

0 0