【计算机网络】-网络层-拥塞控制

【计算机网络】-网络层-拥塞控制

拥塞

拥塞控制是网络层和传输层一起工作的责任,网络中出现太多的数据包时,网络的性能开始急剧下降,这种情况称为拥塞

拥塞产生原因

  • 多个输入对应一个输出
  • 慢速处理器,难以完成必要的维护工作
  • 低带宽线路

解决办法

  • 针对某个因素的解决方案,通常不会有明显的效果,甚至仅仅是转移了瓶颈
  • 需要全面考虑各个因素

普遍准则

  • 监视系统并检测何时何地发生拥塞
  • 将信息传递到可以采取措施的地方
  • 调整系统操作以纠正问题

流量控制的途径(important)


对应书p304

流量感知路由->准入控制->流量限制->负载脱落

  • 网络必须尽力提供所提供的负载
  • 不同时间尺度的不同方法
  • 节点还应减少提供的负载(传输)

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

拥塞控制(congestion control)
确保子网能够承载所达到的流量
是一个全局性问题,涉及各方面的行为,包括所有的主机、所有的路由器内部的存储-转发处理过程、所有可能会消弱子网承载容量的其它因素
例:一个1Mbps的存储-转发网络中,有1000台大型的计算机,其中的一半正试图给另一半机器以100kbps速率传送文件。这里需要拥塞控制

流量控制(flow control)
只与特定的发送方和特定的接收方间的点到点流量有关
主要解决快速发送方与慢速接收方的问题,是局部问题,一般都是基于反馈进行控制的
举例:在一个100Gbps的光纤网络上,一台超级计算机试图给一台PC传送一个大文件,这台PC只有处理1Gbps速率的能力。这里没有拥塞,但需要流量控制

拥塞控制的途径

增加资源

  • 启动备用路由器或线路
  • 分散流量

减少负载

  • 若新的连接将导致网络变得拥挤不堪,就应该拒绝这种新连接的建立,这种控制称为准入控制
  • 当拥塞已迫在眉睫时,网络可给造成问题的数据包源端传递反馈信息,要求源端抑制它们的流量,或减缓流量本身
  • 负载脱落

流量感知路由

  • 绕开热门的区域,疏散流量
  • 可能会出现摇摆不定的问题,要加以控制

准入控制

除非网络可以携带额外流量而不会变的拥塞,否则就不建立新的连接。
准入控制可以和流量感知路由相结合,在虚电路建立过程中,考虑绕开流量热点区域的路由

流量调节

当拥塞迫在眉睫的时候,它必须告诉发送方紧急刹车放慢速度

抑制包(Choke Packets)
通知拥塞发送方的方法中,路由器选择一个被拥塞的数据包,给该数据包的源主机返回一个抑制包,抑制包中的目的地址取自该拥塞数据包。同时,在原来的拥塞数据包上添加一个标记,它在前行的路径上不会产生更多的抑制包,它的转发过程如同平常一样
源主机收到抑制包后,按一定比例减少发向特定目的地的流量,并在固定时间间隔内忽略指示同一目的地的抑制包。

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

负载脱落

以上任何一种方法都解决不了的时候,路由器来不及处理数据包而面临被数据包淹没的时候,直接将其丢弃。

当任何一种方法都不能消除拥塞的时候,路由器可以丢掉来不及处理的数据包
针对不同服务,可采取不同丢弃策略
文件传输,优先丢弃新数据包,wine策略
多媒体服务,优先丢弃旧数据包,milk策略
智能丢弃策略:数据包中标明优先级,当不得不丢弃数据包,路由器可首先丢弃重要性最轻一类数据包,然后是次重要一类数据包,以此类推。

原文地址:https://www.cnblogs.com/mengxiaoleng/p/11898414.html