TCP流量控制
2016-08-03 15:42
218 查看
1、流量控制
所谓的流量控制就是让发送方的发送速率不要太快,让接收方来得及接受。利用滑动窗口机制可以很方便的在TCP连接上实现对发送方的流量控制。TCP的窗口单位是字节,不是报文段,发送方的发送窗口不能超过接收方给出的接收窗口的数值。
- 发送方的发送窗口不可以大于接收方发回的窗口大小
2、Nagle算法
TCP的数据传输分为交互数据流和成块数据流,交互数据流一般是一些交互式应用程序的命令,所以这些数据很小,而考虑到TCP报头和IP报头的总和就有40字节,如果数据量很小的话,那么网络的利用效率就较低。
数据传输使用Nagle算法,Nagle算法很简单,就是规定一个TCP连接最多只能有一个未被确认的未完成的小分组。在该分组的确认到达之前不能发送其他的小分组。
然而Nagle算法并不是所有场合都需要开启,对于一些需要快速响应,对延时敏感的应用,
比如窗口程序,鼠标响应,一般而言需要关闭Nagle。Socket API用户可以通过套接口
选项TCP_NODELAY来关闭该算法。
所谓的流量控制就是让发送方的发送速率不要太快,让接收方来得及接受。利用滑动窗口机制可以很方便的在TCP连接上实现对发送方的流量控制。TCP的窗口单位是字节,不是报文段,发送方的发送窗口不能超过接收方给出的接收窗口的数值。
- 发送方的发送窗口不可以大于接收方发回的窗口大小
2、Nagle算法
TCP的数据传输分为交互数据流和成块数据流,交互数据流一般是一些交互式应用程序的命令,所以这些数据很小,而考虑到TCP报头和IP报头的总和就有40字节,如果数据量很小的话,那么网络的利用效率就较低。
数据传输使用Nagle算法,Nagle算法很简单,就是规定一个TCP连接最多只能有一个未被确认的未完成的小分组。在该分组的确认到达之前不能发送其他的小分组。
然而Nagle算法并不是所有场合都需要开启,对于一些需要快速响应,对延时敏感的应用,
比如窗口程序,鼠标响应,一般而言需要关闭Nagle。Socket API用户可以通过套接口
选项TCP_NODELAY来关闭该算法。
相关文章推荐
- TCP具体解释(3):重传、流量控制、拥塞控制……
- TCP的流量控制与拥塞控制的对比
- tcp流量控制和拥塞控制
- TCP的流量控制和拥塞控制
- 面试之路(29)-TCP流量控制和拥塞控制-滑动窗口协议详解
- TCP的流量控制和拥塞控制
- TCP滑动窗口控制流量的原理
- TCP/IP协议族之运输层(TCP流量控制和拥塞控制 [2])
- TCP的流量控制
- TCP的流量控制与拥塞控制
- 2017-02-14 面向连接的运输:TCP、TCP链接、TCP报文段结构、往返时间的估计与超时、可靠数据传输、流量控制、TCP链接管理
- TCP流量控制与拥塞控制
- 深入TCP(二)--可靠传输&流量控制&拥塞控制
- TCP流量控制与拥塞控制浅析
- TCP的流量控制
- TCP流量控制与拥塞控制
- TCP的流量控制
- TCP/IP协议族之运输层(TCP流量控制和拥塞控制 [2])
- TCP协议的滑动窗口具体是怎样控制流量的?
- TCP/IP协议族之运输层(TCP流量控制和拥塞控制 [1])