串行接口上​​的输出丢弃:更好的排队或输出队列大小?


16

在Internet边缘路由器上,eBGP与多个运营商通话,而iBGP与其他运营商通话,除了每个路由器上的一个串行全DS3(〜45Mbps)速率外,LAN和WAN端的所有接口均为GE。尽管我认为我几乎没有在串行接口上​​发送太多流量(在3-10Mbps范围内),但我看到恒定的输出队列丢弃(OQD)。 是否有可能是因为负载间隔为30秒(最小值),并且SNMP轮询是在5分钟内平均流量,所以我确实没有看到突发流量?这可能无法说明突发情况吗?

该平台是Cisco 7204VXR NPE-G2。串行队列是FIFO

串口1/0启动,线路协议启动
  硬件是M2T-T3 + pa
  说明:-已移除-
  互联网地址是abcd / 30
  MTU 4470字节,BW 44210 Kbit,DLY 200 usec,
     可靠性255/255,txload 5/255,rxload 1/255
  封装HDLC,CRC16,未设置环回
  保持活动设置(10秒)
  重启延迟为0秒
  最后输入00:00:02,输出00:00:00,输出未挂起
  最后清除“显示界面”计数器00:35:19
  输入队列:0/75/0/0(大小/最大/滴/冲洗); 总输出下降:36
  排队策略:fifo
  输出队列:0/40(最大/最大)
  30秒输入速率260000比特/秒,208包/秒
  30秒输出速率939000位/秒,288包/秒
     输入410638包,52410388字节,0无缓冲区
     收到212个广播,0矮,0巨人,0油门
              0平价
     0个输入错误,0个CRC,0个帧,0个超限,0个忽略,0个中止
     515752封包输出,139195019字节,0个欠载
     0个输出错误,0个贴花,0个接口复位
     0个输出缓冲区故障,交换了0个输出缓冲区
     0运营商转换
   rxLOS无效,rxLOF无效,rxAIS无效
   txAIS无效,rxRAI无效,txRAI无效

24小时后将显示数千个OQD。我们确实会在每天凌晨3点左右推出更多流量,所以也许在这里有些突发流量我没有给予足够的重视。

Last clearing of "show interface" counters 1d01h
Input queue: 0/75/0/158 (size/max/drops/flushes); Total output drops: 12049

我想在DS3上发送更多的出站流量,但我对OQD却不担心。DS3后面的第2层ISP的POP是与6层以上的第1层的对等点的两倍,因此,其想法是使客户端的网络流量尽快增长,而不是GE上第1层的GE主ISP ,但必须努力实现对等交换。入站流量无关紧要。

在这种情况下,有没有比fifo更好的排队策略? 查看有关输入和输出队列丢弃的Cisco文档,不建议增加出站队列大小,因为数据包已经在路由器上,最好丢弃输入,以便TCP可以限制应用回退。我们的GE链路上有足够的带宽,因此实际上不需要限制输入。 这些路由器上没有策略映射。90%的出站流量来自我们的HTTP响应;其余大部分来自FTP和SMTP。GE链接推动50-200 + Mbps。

您是否建议对输出队列大小缓冲区进行任何调整?这些串行接口是我们的备份链接,出于较早的原因(如果有效),我宁愿更多地使用它们,但是我的BGP策略受到了限制,这些策略试图不使该串行接口超载(在大多数情况下,其负载很低)。

Answers:


13

没错,在SNMP上不会真正看到突发性。1GE可以发送1.48Mpps,因此拥塞45Mbps的时间非常少,而45Mbps可以处理小于75kpps的速度。

如果您的入口是1GE,出口是45Mbps,那么显然45Mbps的拥塞点将需要丢弃数据包。这是正常现象,是预期的。如果增加缓冲区,则会引入更多延迟。
1GE需要0.45ms来发送40个1500B IP帧,现在这是您可以处理的突发量。但是,以45Mbps的速率将它们出队已经需要10ms。

如果您没有任何严重的问题,那么我可能不会对此做任何事情。但是,如果某些流量比其他流量更适合丢弃,则应将FIFO替换为基于类的队列。假设您想确定优先级,以便删除更多的ftp和减少voip。
然后,在ftp流量上添加更多的缓冲也就更有意义了,因为它对延迟不是很敏感。

如果您想尝试使用更深的缓冲区的运气,则应满足以下条件:

policy-map WAN-OUT
 class class-default
    fair-queue
    queue-limit 200 packets
!
interface Serial1/0
  service-policy output WAN-OUT

这将在Serial1上造成50ms的缓冲区,并允许您从单个Gige接口处理高达2.25ms的突发信号。


主要入口和出口是我们主要路径上的1GE,其中一定百分比的流量通过DS3。编辑Q以显示出90%的出站是HTTP响应流量,其余部分由FTP和SMTP组成。
generalnetworkerror

由于缓冲导致的延迟,我会避免在Gige可用时使用DS3。所有这些提到的应用程序似乎都非常延迟并且可以容忍损失。
ytti 2013年

我之所以没有提到要使用更多DS3的另一个原因,是为了避免GE WAN链路上的突发费用> 100Mb。尽管我们每天都突破100Mb,但还不够长(到目前为止)。
generalnetworkerror

您可以通过引入更多延迟来向DS3驱动更多流量,甚至减少数据包丢失。但是,如果您打算提高流量速率,那么问题只会越来越严重。请记住,以太网永远不过是100%或0%,而是100%的长度会有所不同。因此,您最终将始终缓冲由高速1GE网络引起的突发。
ytti 2013年

2
我对200个数据包的理由是在45Mbps上发送数据包所花费的延迟,即50ms,这对于数据应用来说仍然是可以容忍的延迟。您应该问自己,您将忍受多长时间的延迟,然后指定缓冲区以实现该目标。在您的情况下,我只会使用gige。
ytti 2013年

8

OQD通常是由以下两种原因之一引起的:

  1. 您已经过度使用了链接;持续不断的高使用量或突发流量。

  2. 您已将策略映射应用于接口,该策略映射被配置为执行诸如监管或整形某些或所有流量的操作

  3. 接口上存在某种错误,请查看错误计数器(show interface Serial1/0 counters errors),并检查其是否由于错误而没有丢弃数据包。

您可以研究一下(如果您还没有的话)放置一个策略图来执行以下操作,例如将关键任务流量分配给自己的队列,对常规流量(WRED)启用拥塞避免,甚至只是对流量启用公平排队,以便带宽在传输接口的流之间共享。

正如您已经提到的,另一种选择是增加接口上的输出队列大小,但是如果您要使用策略映射,则由于策略会创建其他子队列,因此无论如何都不需要这样做。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.