(首先,对于这段文本墙,我感到抱歉。我不知道如何缩短它而又不丢失重要信息。我本来想使用聊天室,就像我们在serverfault上所做的那样问题,但是网络工程室里没人。)

我们是一家拥有数个子公司的公司,在那里我们拥有一个相当大的托管IP-VPN,它具有大约70个不同的位置,范围从2Mbps SHDSL到100Mbps光纤。 IP-VPN承载多个VPN(或精确的隧道)。

从管理和设计的角度来看,流量的优先级是:


VoIP (Avaya和Lync)
视频(Lync)
RDP
内部服务(文件服务器,Active Directory,Intranet等)
非优先级内部服务(用于Internet使用的代理服务器,Windows更新服务,系统中心配置管理,防病毒更新代理等)
不匹配的流量(互联网)

VoIP仅在用户数量少的某些办公室使用。目前最大的使用VoIP的远程办公室拥有4mbps SHDSL(5名员工)和5部运行G.711 ALAW 64K编解码器的Avaya IP电话。这绝对不能使voip数据流量达到320kbps以上。
我已经验证电话使用DSCP 46进行音频,因此可以正确匹配EF(请参见下面的配置)。但是,该信令与DSCP 24相匹配,我不确定我们的QoS配置文件是否可以接收。.

在我们总部(2x100Mbit光纤)上,所有远程位置都针对多个RDS服务器场使用RDP。 RDP所使用的带宽不是那么容易找到,因为它基本上使用了所获得的一切。我们确实有一定的限制,以确保它不会占用太多资源,但这可能超出了本网站的范围。最近,我们确实在RDP上遇到了一些相当严重的问题(https://serverfault.com/questions/515809/mouse-cursor-jumps-around-when-using-rdp),这就是为什么我将其发布在网络工程上。

Lync将DSCP 46用于音频,并将DSCP 34用于视频。内部服务和非优先级内部服务仅与子网匹配,其他所有内容都与任何子网都匹配。

这里是最新QoS配置修订版的副本,我对其进行了少许修改以隐藏某些名称和IP地址:

!
class-map match-any INTERNAL-PRI
 match access-group name CUST-INT-PRI
 match access-group name CUST-DMZ
class-map match-any INTERNAL-NOPRI
 match access-group name CUST-INT-NOPRI
class-map match-any REMOTEDESKTOP
 match access-group name RDP
class-map match-any ALL
 match any
class-map match-any NETWORK
 match ip precedence 6
 match ip precedence 7
class-map match-any EF
 match ip dscp ef
 match ip dscp cs5
class-map match-any AF-HIGH
 match ip dscp af41
 match ip dscp cs4
class-map match-any AF-MEDHI
 match ip dscp af31
 match ip dscp cs3
class-map match-any AF-MEDIUM
 match ip dscp af21
 match ip dscp cs2
class-map match-any AF-LOW
 match ip dscp af11
 match ip dscp cs1
class-map match-any BE
 match ip dscp default
!
!
policy-map setTos
 class EF
 class REMOTEDESKTOP
  set ip dscp af31
 class INTERNAL-PRI
  set ip dscp af21
 class INTERNAL-NONPRI
  set ip dscp af11
 class class-default
  set ip dscp default
policy-map useTos
 class EF
  priority percent 10
 class AF-HIGH
  bandwidth remaining percent 35
 class AF-MEDHI
  bandwidth remaining percent 25
 class AF-LOW
  bandwidth remaining percent 20
 class BE
  bandwidth remaining percent 10
 class NETWORK
policy-map QOS
 class ALL
  shape average 4096000
  service-policy useTos
!
!         
ip access-list standard CUST-DMZ
 permit 123.123.123.0 0.0.0.255
!
ip access-list standard CUST-INT-PRI
 permit 10.50.0.0 0.0.0.255
 permit 10.51.0.0 0.0.0.255
!
ip access-list standard CUST-INT-NOPRI
 permit 10.50.10.0 0.0.0.255
 permit 10.51.10.0 0.0.0.255
!
ip access-list extended RDP
 permit tcp any eq 3389 any
 permit tcp any any eq 3389
!


如您所见,这是一个相当大的QoS配置。请注意,我们并没有自行创建此配置,而是由IP-VPN提供商的前任员工完成的。还要注意,形状值会根据连接的类型(2mbps,4mbps,8mbps和10mbps)进行更改。

现在您可能想知道-这里的问题是什么?就像我前面提到的那样,RDP用户抱怨滞后时间/用户输入未被识别,这让我们深感困惑。我们没有正确地确定优先级吗?是否可以确保RDP的数据包丢失,延迟和抖动达到最小,但仍受带宽限制?
在此配置中我没有看到任何队列。我已经阅读了一些Microsoft文档,他们建议在VoIP上使用优先级队列,在视频上使用WRED。如何做到这一点?
如配置所示,所有AF分类均未使用中高落差。哪些服务可以安全丢弃? RDP,视频和voip不能很好地配合下降。.
带宽百分比是否顺序排列?总计达到100%使用率

任何其他建议都是值得欢迎的,因为我迫切希望解决这个问题。如果您认为在Q&A网站上的回答太多了,我会bit之以鼻,并从我们的Cisco Gold合作伙伴那里聘请一名顾问,这在财务上是可以的-如果可以的话,我只是想学习一下。

评论

思科的哪种型号正在执行此Qos,并且在哪种接口上进行配置?您是否可以在show policy-map界面中进行编辑,显示proc cpu历史记录,show界面,show buff和show runn界面从路由器添加到问题的底部?

我没有路由器的管理权限,因为它是托管IP-VPN服务。 2、4和8mbps线路在1811 / 881G上运行,并连接到常规的FE0 / 1端口,而10mbps的线路在892F上运行,连接到SFP(通常是DWDM光纤)。我确实可以访问一些网络统计信息,这表明cpu / mem的使用率非常低。

#1 楼

要回答您的问题:


RDP流量应达到剩余带宽的25%。在已预留带宽为35%的情况下(默认类别默认获取25%,EF默认获取10%)。因此,如果我是对的,您为RDP分配了〜665Kbps。无论如何,您应该通过以下命令检查是否要丢弃数据包:

show policy-map <your wan interface> output class REMOTEDESKTOP

并检查是否丢失了数据包。


思科为每个用户定义的类分配一个队列,其中包括带宽或警务命令。为了简化长篇故事,这些命令定义了拥塞期间分配给每个队列的带宽量。
理论上,每个基于TCP的流都应该可以丢弃。实际上,其中一些不是。丢弃优先级位告诉路由器在发生拥塞之前应在给定类中丢弃哪些数据包。由于RDP是REMOTEDESKTOP类中定义的唯一流量类型,因此您不必担心。
带宽百分比不正确(如Jeremy所述)。

那就是我会在您的配置中进行很多更改:


setTos和useTos策略映射的某些类之间没有匹配项。例如,一个名称为AF-HIGH的设备不处理任何数据包,因为setTos中没有类将DSCP设置为AF41。setTos中的BE类在某种程度上是自欺欺人的,因为它使默认类变为无用。请注意,class-default是唯一系统定义的类,默认情况下会获得25%的带宽(100-max-reserved-bandwidth)。
剩余带宽不是最佳选择(如Jeremy所述)。我会将其更改为带宽百分比。
我希望自己标记EF数据包,而不要依赖手机的设置。


评论


谢谢,这消除了很多混乱。我正在研究新的QoS配置,并在完成后将其发布。但是有一个问题-您说bandwith / police将为每个用户定义的类分配一个队列。如果我创建两个都具有优先级的用户定义类,该怎么办?它们会以相同的LLQ队列结尾吗?

–pauska
13年7月22日在12:11



奇怪的是,策略值和带宽值告诉IOS每个流量类别要保留多少缓冲区空间。我不知道在同一策略映射中配置两个不同的策略声明时会发生什么,但是我想IOS会将它们视为两个不同的队列,并将其流量直接直接发送到出站接口。相反,在带宽的情况下,IOS使用匹配类的保留地址空间为每个流量流(源proto / ip / port-目标proto / ip / port对)创建队列。

– Marco Marzetti
13年7月22日在12:29

#2 楼

让我惊讶的第一件事是,您似乎正在将所有内容调整为4 Mbps。我认为路由器/站点上的速率会随着电路速度的变化而变化,但是在处理诸如VoIP和RDP等对时延敏感的应用程序时,通常希望避免进行整形,因为在拥塞期间,这可能会导致过多的缓冲和抖动。

此外,bandwidth remaining percent命令有点棘手:每个实例实际上分配了剩余可用带宽的n%,而不是总带宽的n%。来自Arden Packeer的文章中的以下图形应有助于说明这一想法:



请务必注意,您定义的任何分类都需要与WAN提供商支持的内容相匹配。大多数提供商仅提供少量的预配置QoS配置文件,您必须从中选择最适合您的需求。您可以根据需要对WAN边缘上的传入流量进行分类,但是提供商的QoS控制是控制在WAN传输期间对流量的处理的方法。

评论


我忘了补充一下,平均形状是根据手边的管道进行调整的。我复制的示例来自4mbps SHDSL。关于MPLS QoS的要点,我将询问他们的外观。我确实决定了我想要在CE设备上实现的QoS。感谢您的保留解释,现在它变得更加有意义。它还揭示了当前QoS配置中的主要缺陷,该带宽保留EF的带宽为70%!

–pauska
13年7月19日在18:33

我不必担心ISP的标签,因为他已经在限制其边缘路由器上的带宽,因此不会发生拥塞。

– Marco Marzetti
13年7月22日在7:46

拥塞可能仍会在提供商网络中发生,特别是在多对一流量模式下。因此,必须根据提供商的分类方案对流量进行标记。

–Jeremy Stretch
13年7月23日在13:05