查看“CoDel”的源代码
←
CoDel
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
CoDel的介绍: https://en.wikipedia.org/wiki/CoDel 在网络路由中,CoDel是一种为网络数据包调度器开发的降低延迟的调度算法,它由 Van Jacobson 和 Kathleen Nichols提出。 CoDel是为解决bufferbloat现象而提出的。通常,在一个网络中出现一种出现一种现象:过多的被缓冲的数据导致了网络响应的延迟,延迟抖动降低了网络的总的吞吐量。对一个响应时间敏感的网络而言,如果配置了一个过大的缓冲区,可能导致网络响应延迟加大。出现上述症状的原因往往是网络协议中按FIFO的时间优先顺序处理数据包,当响应敏感应用发出一个请求后,往往需要等待过长的时间,这个等待时间可能超过系统定义的网络最大延迟。当响应在超出网络最大延迟到来时,因为协议栈规则的问题,超过最大延迟的数据包往往被丢弃了。这时候,就会出现应用响应慢、性能差,甚至网络数据流量为0的情况, bufferbloat现象不仅存在于路由器、交换机中,操作系统对接收和发送队列的处理也同样会导致该现象的出现。不同的操作系统有不同的解决策略:Windows XP将TCP连接数目限制在64KB,Windows 7以上的版本则提供了能够结束所有连接的限制,Linux在3.5的版本中增加了bufferbloat管理的相关代码。 CoDel算法则是一种更加智能的防止网络拥塞算法,它的核心思想是:当队列中的排队的数据包过多时开始丢弃数据包,但是丢弃的数据包是从队列的前面开始有选择的丢弃,而不是先处理直到不能处理了再把后面的丢弃。该思想是先查看每一个处理的数据包的等待时间,缺省5毫秒,如果等待超过5ms,那么说明队列可能拥堵了,这是会丢弃该数据包,继续查看下一个数据包的等待时间。由于拥塞的数据包被尽快的丢弃了,带来的好处之一是内核中的TCP拥塞控制部分的负荷的减轻。
返回至
CoDel
。
导航菜单
个人工具
登录
命名空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
帮助
工具
链入页面
相关更改
特殊页面
页面信息