文章目录
TCP的拥塞控制和流量控制虽然采取的动作很相似,但
拥塞控制
与网络的拥堵情况相关联,而
流量控制
与接收方的缓存状态相关联,是针对完全不同的问题而采取的措施 。
拥塞控制
与流量控制
从不同的方面保证TCP协议可靠性。
一、流量控制
1.1 流量控制的概念
双方在通信的时候,发送方的速率
与接收方的速率
是不一定相等
,如果发送方的发送速率太快
,会导致接收方处理不过来,这时候接收方只能把处理不过来的数据存在缓存区
里。
如果缓存区
存满了发送方还在疯狂着发送数据,接收方
只能把收到的数据包丢掉
。
而 流量控制
就是控制发送者的发送速度从而使接收者来得及接收,防止丢失数据包的。
假设没有流量控制,发送端根据自己的实际情况发送数据,如果发送的速度太快,导致接收端的接收缓冲区很快填满了,此时发送端如果继续发送数据,接收端处理不过来,这时接收端就会把本来应该接收的数据丢弃,这会触发发送端的重发机制,从而导致网络流量的无端浪费。
1.2 滑动窗口
在TCP头中有一个Window
字段,这个字段代表了接收端
告诉发送端
自己**缓冲区还有多少剩余空间可以接收数据。