丢包是网络丢包的征兆。为了处理网络拥塞,需要一些机制在面临网络拥塞时遏制对方。
情况1. 两个发送方和一台具有无穷大缓存的路由器
当发送方和接收方都以R/2的速度去发送时,发送速度越接近R/2,时延就越接近于正无穷。
情况2:两个发送方和一台具有有限缓存的路由器
由于路由器的缓存是有限的,因此当路由器缓存满了,就会造成丢包重发。
情况3:4个发送方和具有有限缓存的多台路由器及多跳路径
当包经过很多跳被丢弃之后,回导致这条路上的路由器用户转发该分组的传输容量被浪费掉了。
拥塞控制方法,有两种:
TCP必须使用端到端拥塞控制,而不是使网络辅助的拥塞控制,因为IP层不向端系统提供显式的网络拥塞反馈。
我们在前面提到过发送窗口 swnd
和接收窗口 rwnd
是约等于的关系,那么由于加入了拥塞窗口的概念后,此时发送窗口的值是swnd = min(cwnd, rwnd),也就是拥塞窗口和接收窗口中的最小值。
拥塞窗口 cwnd
变化的规则: