解决链路拥塞:QoS还是升级?

日期: 2015-08-19 作者:Terry Slattery翻译:柳芒 来源:TechTarget中国 英文

是否提高服务质量(QoS)就可以处理拥塞链路?还是必须提高网络带宽才可以解决链路拥塞问题呢…… 每个网络都有一些链路定期会超载。我们通常可以使用网络管理系统的报告或使用命令行界面(CLI)收集接口信息的脚本来鉴定这些链路,查看输出丢包率高的链路。注意:输入丢包是罕见的,通常意味着设备中的分组处理路径以某种方式受到影响。任何输入丢包都应该进行检查。

还要注意的是简单网络管理协议也使用术语丢包(discards),于是命令行界面(CLI)经常使用属于丢包(drops).CLI的输出一般是这样的语句: Gigabit Ethernet 1/10 is up, line protocol is up (……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

是否提高服务质量(QoS)就可以处理拥塞链路?还是必须提高网络带宽才可以解决链路拥塞问题呢……

每个网络都有一些链路定期会超载。我们通常可以使用网络管理系统的报告或使用命令行界面(CLI)收集接口信息的脚本来鉴定这些链路,查看输出丢包率高的链路。注意:输入丢包是罕见的,通常意味着设备中的分组处理路径以某种方式受到影响。任何输入丢包都应该进行检查。还要注意的是简单网络管理协议也使用术语丢包(discards),于是命令行界面(CLI)经常使用属于丢包(drops).CLI的输出一般是这样的语句:

Gigabit Ethernet 1/10 is up, line protocol is up (connected)
  Hardware is C 6k 1000Mb 802.3, address is 0008.6a2f.18a5
  Input queue: 0/2000/0/0 (size/max/drops/flushes);
Total output drops: 116123
  5 minute input rate 62675000 bits/sec, 6824 packets/sec
  5 minute output rate 14618000 bits/sec, 4944 packets/sec

相对于接口输出包的总数,计算丢包的百分比。任何接口呈现的丢包率大于0.0001%都应该注意,因为这个丢包率表示使用TCP协议会受到影响。另一种方法是,跟踪丢包数超过某个阈值的接口,这个阈值可以是1万个丢包数/天。

一旦拥塞接口确定,那么就可以通过提高服务质量(QoS)或提高接口速度来解决问题。首先我们来看一下QoS解决方案,然后再看看有哪些因素决定了链路拥塞可以得到解决,以及链路速度是否必须升级。

QoS及其在解决链路拥塞问题中的作用

QoS可以实现多种功能:

优先级:相对于不太重要的网络流量,先转发更重要的网络流量。使用优先级来处理像语音或视频这样的时间敏感数据包,推迟时间不敏感的数据包发送。小延迟是几毫秒量级的,并应该足够短,以防止分组丢失或由上层协议重传。

图1. 优先处理大数据语音包

管制:通过丢弃超过一定水平大小的数据包,限制特定类型网络流量的大小。使用管制来防止指定类型的流量霸占网络。

图2. 管制超额流量

整形:缓存短脉冲,当有足够可用资源时,这些缓冲的分组再传输,使接口上真实输出的流量变得平滑。使用整形来管理像电子邮件或文件传输这样可以容忍短暂延迟的流量,而不影响整体的吞吐量。

图3. 整形缓存过大的流量,直到带宽可用

如果链路拥塞不是很严重,或者流量类型可以被监管(丢弃)的情况下,QoS是非常有效的。在一个咨询案例中,我们的客户有一个拥塞T3链路,白天一直处于拥塞状态。我们确定该链路一半的流量来自视频下载和音乐流媒体服务。配置QoS,让业务流量优先于多媒体数据是非常简单的,同时,管制视频和语音流量到一个合适的容量。我们还可以为业务流量增大缓冲,因为它发出许多小数据包,导致超过了高优先级队列的缓冲池。

限制任意缓冲在一个最小数量来让应用程序运行更稳定是一个很好的方法。过多的缓冲会形成一个臃肿缓冲区,导致TCP窗口算法变得混乱,从而吞吐量会比正常低很多。

理想的情况下,企业应该部署QoS.如果觉得比较麻烦,也可以使用在具有严重问题的链路上,如上述T3链路状况。

什么时候必须进行链路升级?

有时候,链路会饱和,那么QoS就不是一个好的处理方法了。大多数网络流量都是重要的,已经不能使用优先级来删除不重要的流量。在高利用率接口上整形也不再生效了,因为没有延迟分组可以发送的时间间隙存在。

下面举一个需要增加带宽来减少链路拥塞的例子。两个站点通过一条1G bps,2-ms往返时间的链路连接。这两个网站都包含数据中心和庞大的用户群体。通过该链路,大量的文件进行分享,而且文件通常都非常大。当拥塞发生时,没有流量可以被放置在低优先级队列,没有流量可以被管制(丢弃)。客户看到链路存在高丢包的情况,所以增加缓冲数量来整形流量。不幸的是,如此大的缓冲数量导致14ms延迟。结果?臃肿缓冲区降低了吞吐量,拥塞仍旧存在。

链路拥塞会造成另一种现象:在客户端和服务器端,出现非常高数字的TCP重发,执行命令netstat –s –p tcp(适用于Windows, Unix和Linux操作系统)可以查看。会出现大量的TCP重传,可能1万到5万次/天。正确的TCP操作也可能导致少量重发,因为它发现该路径变得拥塞。

幸运的是,该客户正计划升级链路。除此之外,还有其他的方法可以使现有的带宽更有效,如减少远程安装的磁盘驱动器数量,或在网络使用率最小的夜间进行数据复制。

当一个链路拥塞时,QoS可以处理短脉冲串,还可以识别并丢弃低优先级网络流量。然而,当大部分流量是相同优先级,而链路又严重拥塞时,唯一的办法就是增加带宽。意识到增加带宽的时间点是非常重要的,最好是在还有时间来订购链路升级时就发现这一点。

翻译

柳芒
柳芒

TechTarget中国特邀编辑,现就职国内知名银行信息部。

相关推荐