一.拥塞控制
拥塞控制就是防止过多的数据注入到网络中,不让网络中的链路过载。
拥塞控制的方法:
1.慢开始
主机开始发送数据时,无法判断网络的负载情况,不会立马把大量字节注入到网络,而是由小到大逐渐增大发送窗口。
发送方维持一个拥塞窗口,拥塞窗口的大小取决于网络的拥塞程度,并且动态变化。
发送方控制拥塞窗口的原则:
(1)网络未出现阻塞时,拥塞窗口增大,提高网络的利用率;
(2)网络出现阻塞或者可能出现阻塞,就减小窗口,减少注入到网络中的分组数。
2.拥塞避免
拥塞避免是让拥塞避免窗口的cwnd缓慢增大,每经过一个往返时间RTT就把发送方的拥塞窗口cwmd加1。
3.快重传
使用快重传可以让发送方尽早知道个别丢失的报文段。快重传算法要求接收方不要等待自己发送数据时才进行捎带确认,而是立即发送确认,即使收到了失序的报文段也要立即发出对已收到的报文段的重复确认。
4.快恢复
当发送方收到三个重复确认时,把慢开始门限减半,预防发生网络拥塞。
二.流量控制
流量控制就是让发送方的发送速率不要太快,让接收方来得及接收。
1.滑动窗口
(1)利用滑动窗口机制在TCP连接上实现对发送方的流量控制;
(2)TCP的窗口单位是字节,发送方的窗口大小不能超过接收方给定的窗口数值。