目录

简介

先决条件

要求

使用的组件

规则

配置

网络图

配置

验证

故障排除

相关信息

简介

本文档通过将 Type of Service (ToS) 映射到 Class of Service (CoS) 参数，介绍 LAN 环境中 IP 语音 (VoIP) 的服务质量 (QoS)。

由于网络流量的突发性本质和缓冲区溢出功能，人们长久以来一直认为 QoS 在企业端从来都不是问题。这种观点直到最近才有所改变。QoS 在 LAN 端的问题源于缓冲，而不是缺乏带宽。为此，需要使用 QoS 工具管理这些缓冲区，以尽可能减少丢失、延迟和延迟波动。由于数据网络的突发性本质，加之大量小型传输控制协议 (TCP) 数据包的存在，传输缓冲区有充满高速网络容量的倾向。如果输出缓冲区充满，入口则不能立即将新流量放入输出缓冲区。入口缓冲区充满后（可能很快充满），就会发生丢包。这就是由于丢包导致语音质量降低的一种可能情况。

VoIP 流量对于数据包的延迟和丢弃都十分敏感。因为 LAN 链路的速度很快，所以无论队列缓冲区大小如何，延迟都不应该成为问题。然而，在所有网络中，丢包都会对语音质量产生不利影响。对传输接口使用多个队列是排除因缓冲区充满而可能造成数据流丢失的唯一方法。通过将语音和视频（都对延迟和丢包敏感）分别放入不同的队列，可以防止在入口处丢弃数据流（即使数据流填满数据传输缓冲区，也不会丢失）。

在承受高流量负载的网络中，管理控制流量的交付以保证良好的 VoIP 用户体验非常关键。这很容易说明。例如，IP 电话在摘机时会询问 Cisco CallManager 该做什么。然后，Cisco CallManager 指示 IP 电话播放拨号音。如果 Skinny Client Protocol 管理和控制流量发生丢失或延迟，就会对用户体验造成负面影响。为了提供 QoS，应为数据包报头标记较高的优先级，并将其正确映射到 Catalyst 的第 2 层报头以便于理解。这可以保证对 LAN 上的语音数据包合理划分优先级。

先决条件

要求

本文档没有任何特定的前提条件。

使用的组件

本文档中的信息基于以下软件和硬件版本。

- 使用 Cisco IOS® 软件版本 12.3(4)T 的 Cisco 3725 语音网关。

- Catalyst 4000 交换机

- Cisco CallManager 和 IP 电话

本文档中的信息都是基于特定实验室环境中的设备创建的。本文档中使用的所有设备最初均采用原始（默认）配置。如果您是在真实网络上操作，请确保您在使用任何命令前已经了解其潜在影响。

规则

有关文档规则的详细信息，请参阅 Cisco 技术提示规则。

配置

本部分提供有关如何配置本文档所述功能的信息。

注：要查找有关本文档中使用的命令的其他信息，请使用命令查找工具(仅注册客户)。

网络图

本文档使用此图所示的网络设置。

配置

本文档使用以下配置。

- Cisco 3660（示例 1）

- Cisco 3660（示例 2）

此配置显示如何将 ToS/Differentiated Service Code Point (DSCP) 值映射到 802.1p 报头部分的一个 CoS 值。有很多种实现方法，这些方法根据您的设计可能稍有不同。这里的两个示例配置作用相同，无论使用哪一个，结果都是一样的。务必只允许 VoIP 数据包在 ToS 位中将 IP 优先级设置为关键 (5)。其他流量不应将此位设置为关键。这会在语音队列中造成不必要流量的重叠。

注意：LLQ配置在网络中的其他设备（如Catalyst 4000）上完成，本文档不讨论此问题。

在第一个示例中，只标记了匹配 IP 优先级 5 的 RTP 数据流，没有标记 RTCP 或任何 H.225/245 信令和消息包。

Cisco 3660（示例 1）

!

ip cef

!

!--- The Cisco Express Forwarding (CEF) mechanism needs to be enabled !--- in order for the set cos command that is !--- configured later to take effect. !--- If this is not on, the router reminds you with !--- the error "CEF switching needed for 'set' operations".

!

class-map match-all RTP

match ip precedence 5

!--- This command matches on all packets with the IP precedence of 5.

!

policy-map OutboundPolicy

class RTP

set CoS 5

!--- For all packets which previously matched on class-map RTP for !--- having precedence of 5, the CoS bit is now set to 5.

class class-default

set CoS 0

!--- All other traffic has a CoS of 0 and !--- carries a lower priority of delivery.

!

interface FastEthernet0/0

no ip address

no ip mroute-cache

duplex auto

speed auto

!

interface FastEthernet0/0.816

encapsulation dot1Q 816

!--- There must be subinterfaces for FastEthernet to enable trunking, !--- as well as either dot1q or isl encapsulation.

ip address 10.120.16.112 255.255.255.0

service-policy output OutboundPolicy

!--- Apply the QoS to the interface that connects to the LAN !--- via the Catalyst 4000.

!

dial-peer voice 99131 voip

destination-pattern 9913109

session target ipv4:10.120.17.133

ip qos dscp cs5 media

no vad

!

注意：命令ip qos dscp在Cisco IOS软件版本12.2(2)T中引入。该命令取代了 p precedence (dial-peer) 命令。在Cisco IOS软件版本12.2(2)T及更早版本上运行的所有路由器都可以在拨号对等体配置中使用ip precedence。

第二个示例的策略映射类有不同的匹配参数。Cisco 3660 配置匹配 H.225 呼叫建立数据包以及 RTP 流。RTP 流的匹配标准也稍有不同。请勿查看 IP 报头，只查看 UDP 端口范围。如果位于 16384 和 32767 之间，请对它们进行标记并将其发送到策略映射。

Cisco 3660（示例 2）

!

ip cef

!

!--- The CEF mechanism needs to be enabled !--- in order for the set cos command that is !--- configured later to take effect. !--- If this is not on, the router reminds you with !--- the error "CEF switching needed for 'set' operations".

!

class-map match-all Call-Control

match access-group 101

!

class-map match-all RTP

match ip rtp 16384 16383

!--- Match on UDP port range 16384-32767 to single out !--- VoIP packets for policy-map.

!

access-list 101 permit tcp host 10.120.16.112 any eq 1720

!--- Match on all packets using TCP port 1720 which is !--- dedicated for H.225 call setup.

!

policy-map OutboundPolicy

class RTP

set CoS 5

!--- For all VoIP packets that match the UDP port range listed above, !--- set the CoS bit to 5.

class Call-Control

set CoS 3

set ip precedence 3

!--- For all signaling and control packets that match access-list !--- 101, set the CoS bit to 3 and IP precedence to 3.

class class-default

set CoS 0

!--- All other traffic has a CoS of 0 and carries a !--- lower priority of delivery.

!

interface FastEthernet0/0

no ip address

no ip mroute-cache

duplex auto

speed auto

!

interface FastEthernet0/0.816

encapsulation dot1Q 816

ip address 10.120.16.112 255.255.255.0

service-policy output OutboundPolicy

!--- Apply your QoS to the interface that connects to the !--- LAN via the Catalyst 4000.

!

dial-peer voice 99131 voip

destination-pattern 9913109

session target ipv4:10.120.17.133

ip qos dscp cs5 media

no vad

!

验证

本部分所提供的信息可用于确认您的配置是否正常工作。

命令输出解释程序工具（仅限注册用户）支持某些 show 命令，使用此工具可以查看对 show 命令输出的分析。

- show policy-map interface — 显示指定服务策略映射的所有类的匹配计数器。

路由器现已配置为将 ToS 位映射到 CoS 位。使用 show policy-map interface 命令可确保流量实际上根据配置进行标记。

在第一个示例的输出中，539 个 VoIP 数据包匹配类映射，结果全部 539 个数据包的 CoS 位都标记为关键值。这种类型的排队不必等到出现拥塞才发生。只要有横跨 FastEthernet 链路的语音流量，就会相应地标记所有数据包。在第二个示例中，所有 VoIP 数据包都标记为 CoS 值 5，并且所有信令包都根据配置标记为 CoS 值 3。

第一个 3660 示例配置：

vdtl-3660-16a#show policy-map interface fastethernet 0/0.816

FastEthernet0/0.816

Service-policy output: OutboundPolicy

Class-map: RTP (match-all)

539 packets, 42042 bytes

5 minute offered rate 2000 bps, drop rate 0 BPS

Match: ip precedence 5

QoS Set

CoS 5

Packets marked 539

Class-map: class-default (match-any)

13 packets, 1803 bytes

5 minute offered rate 0 BPS, drop rate 0 BPS

Match: any

QoS Set

CoS 0

Packets marked 13

第二个 3660 示例配置：

vdtl-3660-16a#show policy-map interface fastethernet 0/0.816

FastEthernet0/0.816

Service-policy output: OutboundPolicy

Class-map: RTP (match-all)

370 packets, 28860 bytes

5 minute offered rate 0 BPS, drop rate 0 BPS

Match: ip rtp 16384 16383

QoS Set

CoS 5

Packets marked 370

Class-map: Call-Control (match-all)

26 packets, 2697 bytes

5 minute offered rate 0 BPS, drop rate 0 BPS

Match: access-group 101

QoS Set

ip precedence 3

Packets marked 26

CoS 3

Packets marked 26

Class-map: class-default (match-any)

4363 packets, 515087 bytes

5 minute offered rate 0 BPS, drop rate 0 BPS

Match: any

QoS Set

CoS 0

Packets marked 4363

vdtl-3660-16a#

故障排除

目前没有针对此配置的故障排除信息。

相关信息

- 了解 show policy-map interface 的输出中的数据包计数器

- 语音技术支持

- 语音和统一通信产品支持

- Cisco IP 电话故障排除

- 技术支持 - Cisco Systems