1、拥塞控制原理
拥塞:
- 太多的数据需要网络传输,超过了网络的处理能力;
拥塞的表现:
- 分组丢失(路由器缓冲区溢出);
- 分组延时较长(路由器队列中排队);
2、拥塞场景1
前提:
- 路由器缓冲无限大:不丢失;
- 发送端没有超时重传;
现象:
- 发送端发多少数据,接收端就接收多少数据,拥塞时延时很大;
3、拥塞场景2
前提:
- 路由器缓冲有限,分组会丢失;
- 发送端超时重传;
现象:
- 路由器缓冲满,分组丢失,发送端超时重传;
- 分组排队延时过长,发送端超时重传,最后2个分组都到达;
为了有效的数据传输,发送端需要更多的重传;
其中还有不必要的重传;
4、拥塞场景3
一旦路由有空位,ABCD发送分组,立刻就会:上路由被红占;下路由被紫红占;左路由被蓝占;右路由被黄占;
就算有分组到达第二个路由,但是由于没有空位只能丢弃;
导致大家都无法传,还浪费了上游路由的传输能力;
5、拥塞控制方法
5.1、端到端拥塞控制
端系统根据延迟和丢失时间推断是否有拥塞;
5.2、网络辅助的拥塞控制
路由器提供给端系统网络拥塞的信息;
例子:ATM ABR(available bit rate)拥塞控制
发送端在发送数据信元中间隔插入RM(资源管理)信元,在经过路由器的时候,RM信元中的信息会根据网络状态被更新,接收端收到RM信元会再传给发送端,这样发送端就知道网络中的拥塞信息;
NI(no increase) bit:轻微拥塞,速率不要增加;
CI(congestion indication):拥塞指示;
ER(explicit rate)字段:2个字节,网络可提供的带宽;
数据信元中EFCI bit:被拥塞的交换机设置为1,如果接收端发现RM前面的数据信元EFCI被置位,将置位RM信元中CI bit;