Cisco 1841 WAN 上的 QoS 语音流量

网络工程 思科 服务质量
2021-08-02 17:00:13

我有以下实验室拓扑,我在 1841 上使用以下配置。我想在这里实现的是为语音 VLAN 和 Internet 上的远程 VoIP 提供商之间的流量保留 1000Kbps 的带宽(假设;10 个用户,每个RTP 需要 100Kbps 的上行和下行带宽,而且他们总是同时使用电话)。

QoS拓扑

pfSense 设备只是为了限制 1841 的 wan 连接,因为这将在最终呈现为以太网的 20Mbps 互联网连接结束时进行。它在这种情况下没有进一步的作用(没有 NAT 或防火墙,只是 LAN 和 WAN 接口之间的普通 L3 路由,限制流量)。

class-map match-any CM-VOICE-TRAFFIC
 match access-group 145

policy-map PM-PRIORITISE-VOICE
 class CM-VOICE-TRAFFIC
   bandwidth 1000
 class class-default
   fair-queue

interface FastEthernet0/1
 service-policy output PM-PRIORITISE-VOICE

access-list 145 permit ip any 10.0.59.0 0.0.0.255
access-list 145 permit ip 10.0.59.0 0.0.0.255 any

我给出的配置仅适用于 WAN 接口的出站(因此我保证了 1000Kbps 的流量到语音 VLAN,用于它们通往 VoIP 提供商的上游路径)。只在这台1841上如何保证Voice VLAN的下行带宽?

是否可以在 fa0/1 (WAN) 上创建入站策略,优先考虑匹配访问列表 145 的数据包,因为它们通过路由器,以便 WAN 上的其他入站数据包不会影响语音 VLAN 的下行速度(peraps 排队不匹配 ACL-145 的数据包)?

或者是否可以在物理 fa0/0 接口上创建一个策略,即使它被分成两个子接口,也可以保证在需要时有 1000Kbps 的流量流出它,流向语音 VLAN?

1个回答

最简洁的答案是不。您的排队策略需要在瓶颈点出站应用。在这种情况下,瓶颈是pfSense和1841年之间的WAN连接(20 Mbps)的。因此,你的排队策略的正确位置是出站pfSense的LAN接口(有点用词不当)和出站上Fa0/01的1841,你有。

尽管如此,你对 1841 的政策是有缺陷的。在您的示例中,您为 VoIP 保留了 1 Mbps 的带宽,并将策略应用于 100 Mbps 的接口。当 PC 在尝试拨打 VoIP 电话时开始推动 70Mbps 的流量时会发生什么?从排队的角度来看 1841,答案是否定的。从 Fa0/1 流出的数据只有 70 Mbps。因此,始终有 1 Mbps 可用于 VoIP。但是,一旦此流量到达 pfSense,至少 50 Mbps 的数据和 VoIP 将被丢弃。你的电话充其量会很糟糕。

无需深入了解所有细节,并使用您之前的示例,该策略应该是这样的:

class-map match-any CM-VOICE-TRAFFIC
 match access-group 145
!
policy-map PM-PRIORITISE-VOICE-child
 class CM-VOICE-TRAFFIC
   set ip dscp ef
   priority 1000
 class class-default
   fair-queue
!
policy-map Shape-20Mb-parent
 class class-default
  shape average 20000000
  service-policy PM-PRIORITISE-VOICE-child
!
interface FastEthernet0/1
 service-policy output Shape-20Mb-parent
!
access-list 145 permit ip 10.0.59.0 0.0.0.255 any

此策略对离开 1841 上 Fa0/1 的所有流量创建了人为的带宽限制。因此,pfSense 永远不会有机会不加选择地丢弃流量。此外,应使用优先级命令而不是带宽命令来限制延迟和抖动。标记和 ACL 更改应该是不言自明的。