第3节 网络拥塞控制
推荐给好友
打印
加入收藏
更新于2008-07-19 11:45:44

网络拥塞:网络性能曲线

拥塞(Congestion)

  • 拥塞
          网络资源上有太多的分组时,将会导致网络性能下降。
          对资源需求的总和 > 可用资源
          资源:链路容量、交换节点中的缓存和处理机速度等。
  • 拥塞产生的原因
          低带宽线路
          多个输入对应一个输出 
          节点缓冲容量太小
          结点处理机速度不高

拥塞的策略: 决不只针对某个因素改善拥塞!!!

  • 若结点缓存容量太小,到达结点的分组无空间暂存;
  • 若增大结点缓存容量,而链路容量和处理机速度未提高,分组排队会很长,导致时延增大,可能因超时发送端进行重发,发出更多的分组,拥塞更加恶化;
  • 提高结点处理机速度,增大链路容量,故然可以改善这段的拥塞,但可能只是将瓶颈转移到其他地方。
  • 因此,针对某个因素的解决方案,只能对提高网络性能起到一定的好处,甚至仅仅是转移了影响性能的瓶颈。

拥塞控制与流量控制的差别

  • 拥塞控制(congestion control)
          需要确保通信子网能够承载用户提交的通信量,是一个全局性过程,涉及主机、路由器等很多因素;
  • 流量控制(flow control) 
          与点到点的通信量有关,主要解决快速发送方与慢速接收方的问题,是局部过程,一般都是基于反馈进行控制的。

拥塞和流量控制的区别

拥塞控制所起的作用

5.3.1 拥塞控制的通用原则

  • 有两种思路
          防患未然
          亡羊补牢

两种思路

  • Open loop(开环方法) 
          试图采用良好的设计来解决问题,本质是从一开始就保证不会发生拥塞问题。 
          一旦网络系统启动运行起来,就不需要中途做修正。
  • Closed loop(闭环方法) 
          基于返回环路的概念基础之上: 
          Explicit feedback (显式反馈) 
          Implicit feedback(隐式反馈)

5.3.2 开环方法:拥塞预防策略

闭环控制策略

  • 三个步骤: 
          监视系统,检测到何时何地发生了拥塞 
          将该信息传递到能够采取行动的地方 
          调整系统的运行,以改正问题。

1.监视系统,检测是否发生拥塞

  • 拥塞控制使用的度量标准 
          丢弃的分组所占的百分比(缺少缓冲区空间) 
          平均队列长度 
          超时和重传分组的数量 
          平均分组延迟和分组延迟的标准方差

2. 将拥塞信息传输到能够采取行动的地方

  • 拥塞信息的传输方法(隐式和显示反馈) 
          给流量源发送一个分组,告知拥塞的发生; 
          在分组中增加一个位或一个域,检测到拥塞时,路由器填充该位,在它所有的输出分组中填充该域,以告警它的邻居 
          主机或路由器周期性地向外发送探询分组,显示地询问有关拥塞状况,然后在有问题的区域中,可以利用这些信息来路由流量。 

3. 调整系统的运行

  • 目的:拥塞消息将最终导致主机采取适当的行动来减轻拥塞。
  • 谨慎的调整时间尺度: 
          系统不会产生剧烈震荡 
          拥塞机制要及时有效

5.3.3 虚电路子网中的拥塞控制

资源预留策略(虚电路子网)

  • 资源预留: 
          建立虚电路时,主机与子网达成协议,子网根据协议在虚电路上为此连接预留资源。 
          问题是: 
                是任何时刻都使用资源预留吗? 
                还是只在发生拥塞时?

5.3.4 数据报子网中的拥塞控制

警告位(The Warning Bit)

  • 路由器 
          当输出线路达到告警状态时,路由器将发送出去的分组头部设置告警位。
  • 目的地 
          当分组到达目的地时,告警位被复制到ACK分组中,发给源端。
  • 源端 
          随着带有警告位的确认分组不断回来时,源端不断的降低它的传输速率 
          当带有警告位的确认分组减少到规定值时,源端增加它的传输速率 
          由于沿途的路由器都可能设置警告位,所以只有当所有的路由器都排除了问题之后,流量才能增加上去。

抑制分组( Choke Packets )

  • 路由器 
          路由器给源端返回一个抑制分组,并指出原分组的目标地址; 
          原来的分组被打上一个标记,防止沿途其他路由器又重复产生抑制分组
  • 源端主机 
          收到抑制分组后,将发送到指定目标的流量减少X百分比 随后到达的具有相同目的地抑制分组被忽略 
          一段间隔后,继续监听 
          如果又有抑制分组,则进一步降低发送流量; 
          如果没有抑制分组,则增加流量 
          主机可以调节流量,例如利用一个窗口 
          第一次可以导致流量减少到原来的 50%, 第二此可以减少到 25%......
          快速减少,缓慢增加

逐级跳(hop-by-hop)抑制分组

  • 产生原因 
          在高速、长距离的网络中,由于源主机响应太慢,抑制包算法对拥塞控制的效果并不好,可采用逐跳抑制包算法。
  • 基本思想 
          抑制包对它经过的每个路由器都起作用; 
          能够迅速缓解发生拥塞处的拥塞; 
          上游路由器要求有更多的缓冲区;



5.3.5 负载丢弃(load shedding)

  • 原则 
          上述算法都不能消除拥塞时,路由器只得将包丢弃;
  • 针对不同服务,可采取不同丢弃策略 
          随机丢弃 
          Wine & Milk 
                E.g. file transfer, multimedia 
                Requires cooperation from the senders 
          分组带有优先级 
          E.g. algorithms for compressing video, … 
          The low-priority packets being cheaper to send than the high-priority ones, … 
          RED (Random Early Detection) 
                Drop packets before the situation has become hopeless 
                How should the router tell the source about the problem? 
                      Send a choke packet 
                      Just discard the selected packet 
                Sources respond to lost packets by slowing down their transmission rate 

从网络上看视频时,为何总要缓存,缓存?

5.3.6 抖动(jitter)控制

  • 抖动:分组到达时间的变化量被称为抖动。
  • 路由器对抖动的控制方法 
          来得晚的,加快其转发速度; 
          提早到达的,让分组在缓冲区中多逗留一会。

 

 

<< 上一节 下一节 >> 




 
关于我们 | 诚邀加盟 | 客户服务 | 相关法律 | 网站地图 | 友情链接 | 服务信箱:service@eefocus.com
© 2006 与非门科技信息咨询(北京)有限公司 All Rights Reserved.