拥塞控制

拥塞现象是指到达通信子网中某一部分的分组数量过多,使得该部分网络来不及处理,以致引起这部分乃至整个网络性能下降的现象,严重时甚至会导致网络通信业务陷入停顿,即出现死锁现象。这种现象跟公路网中经常所见的交通拥挤一样,当节假日公路网中车辆大量增加时,各种走向的车流相互干扰,使每辆车到达目的地的时间都相对增加(即延迟增加),甚至有时在某段公路上车辆因堵塞而无法开动(即发生局部死锁)。

造成拥塞的原因

1、主要原因是通信量导致的,多个输入对应多个输出,多条流入线路有分组到达,并需要同一输出线路,此时,如果路由器没有足够的内存来存放所有这些分组,那么有的分组就会丢失。

2、路由器的慢带处理器的缘故,以至于难以完成必要的处理工作,如缓冲区排队、更新路由表等。

防止拥塞的方法

 

1、在传输层可采用:重传策略、乱序缓存策略、确认策略、流控制策略和确定超时策略。

2、在网络层可采用:子网内部的虚电路与数据报策略、分组排队和服务策略、分组丢弃策略、路由算法和分组生存管理。

3、在数据链路层可采用:重传策略、乱序缓存策略、确认策略和流控制策略。

控制方法

1、缓冲区分配法:此方法使用于虚电路的分组交换网络中,在网络中建立虚拟的节点为虚拟电路预先分配一个或多个数据缓冲区。若某个节点缓冲器已被占满,则呼叫请求分组另择路由,或者返回一个"忙"信号给呼叫者。

2、分组丢弃法:该法不必预先保留缓冲区,当缓冲区占满时,将到来的分组丢弃。若通信子网提供的是数据报服务,则用分组丢弃法来防止拥塞发生不会引起大的影响。但若通信子网提供的是虚电路服务,则必须在某处保存被丢弃分组的备份,以便拥塞解决后能重新传送。有两种解决被丢弃分组重发的方法,一种是让发送被丢弃分组的节点超时,并重新发送分组直至分组被收到;另一种是让发送被丢弃分组的节点在尝试一定次数后放弃发送,并迫使数据源节点超时而重新开始发送。

3、定额控制法:这种方法在通信子网中设置适当数量的称做"许可证"的特殊信息,一部分许可证在通信子网开始工作前预先以某种策略分配给各个源节点,另一部分则在子网开始工作后在网中四处环游。当源节点要发送来自源端系统的分组时,它必须首先拥有许可证,并且每发送一个分组注销一张许可证。目的节点方则每收到一个分组并将其递交给目的端系统后,便生成一张许可证。

最新文章

  1. 转,Oracle中关于处理小数点位数的几个函数,取小数位数,Oracle查询函数
  2. 与子域名共用session信息
  3. mysql str_to_date字符串转换为日期
  4. windows分屏
  5. zookeeper集群安装配置
  6. Win2003 Server磁盘配额揭密之补遗篇
  7. Linux下tomcat管理查看控制台|杀死tomcat进程
  8. [LeetCode] Largest Palindrome Product 最大回文串乘积
  9. mysql 开发进阶篇系列 6 锁问题(事务与隔离级别介绍)
  10. ubuntu为文件添加可执行权限
  11. 以太坊客户端Ethereum Wallet与Geth区别简介
  12. CAlayer一
  13. 20155202 2016-2017-2 《Java程序设计》第5周学习总结
  14. dpkg卸载deb包
  15. NonWindowJoin
  16. JavaScript的数据类型---最全,最详细的数据类型,高级的工程师从数据类型开始
  17. spring cloud 消费者
  18. Android学习之Menu
  19. html5 canvas实现图片玻璃碎片特效
  20. 【递推】【概率】Gym - 100814A - Arcade Game

热门文章

  1. 微服务之服务注册与发现--Consul(转载)
  2. Linux使用socks代理
  3. GRPC Oauth Identity
  4. RobotFramework + HTTP接口自动化实现
  5. Spring 入门程序
  6. Visual Studio中View页面与Js页面用快捷键互相跳转
  7. 解决thinkphp在开发环境下文件模块找不到的问题
  8. k8s学习 - 概念 - master/node
  9. 解决springboot项目请求出现非法字符问题 java.lang.IllegalArgumentException:Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986
  10. 74859a颜色信息