本文档提供Cisco Catalyst 2960/2950系列交换机上语音VLAN的示例配置。具体而言,本文档显示如何在Cisco Catalyst 2950交换机上配置语音VLAN功能。
尝试进行此配置之前,请确保满足以下要求:
了解Cisco Catalyst 2960/2950系列交换机的基本配置知识。
基本了解语音VLAN。
本文档中的信息基于 Cisco Catalyst 2950 交换机。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。
有关文档约定的更多信息,请参考 Cisco 技术提示约定。
语音VLAN功能允许交换机端口从IP电话传输具有第3层IP优先级和第2层服务类别(CoS)值的语音流量。基于IEEE 802.1p CoS,交换机支持服务质量(QoS),该服务质量(QoS)使用分类和调度从交换机发送网络流量。您可以配置Cisco IP电话以转发具有IEEE 802.1p优先级的流量,并将交换机配置为信任或覆盖IP电话分配的流量优先级。
您可以配置与IP电话连接的交换机端口,使其将一个VLAN用于语音流量,将另一个VLAN用于连接到IP电话接入端口的设备的数据流量。您可以配置交换机上的接入端口以发送Cisco发现协议(CDP)数据包,以指示连接的IP电话通过以下任一方法将语音流量发送到交换机:
在标记有第2层CoS优先级值的语音VLAN中
在带有第2层CoS优先级值标记的接入VLAN中
在接入VLAN中,无标记(无第2层CoS优先级值)
交换机可以处理来自连接到IP电话上接入端口的设备的数据流量。您可以配置发送CDP数据包的交换机端口,这些数据包指示连接的IP电话为电话上的接入端口配置模式(受信任或不受信任模式)。
在受信任模式下,IP电话上的接入端口会从PC传递流量,而不会发生任何更改。在不受信任模式下,IP电话上的接入端口接收IEEE 802.1Q帧中包含已配置第2层CoS值的所有流量。默认的第2层CoS值为0。默认为不可信模式。
在本节中,您将获得配置本文档中描述的语音VLAN功能的信息。
在交换机中,语音VLAN功能默认为禁用。在端口上启用语音VLAN时,所有未标记流量都会根据默认CoS优先级发送。在启用语音VLAN之前,请发出mls qos 全局配置命令在交换机上启用QoS,并通过发出mls qos trust cos 接口配置命令将端口的信任状态配置为trust。
默认情况下,交换机端口会丢弃硬件中的所有标记帧。为了在交换机端口上接受标记帧,应在端口上配置以下命令之一:
switchport voice vlan dot1p
switchport voice vlan V_VLAN_ID
switchport mode trunk
使用switchport voice vlan dot1p命令以指示交换机端口使用IEEE 802.1p优先级标记通过本征(接入)VLAN转发具有更高优先级的所有语音流量。
使用switchport voice vlan V_VLAN_ID命令以配置指定的语音VLAN,因此IP电话可以使用第2层CoS值在IEEE 802.1Q帧中发送语音流量。Cisco IP电话也可以发送无标记语音流量,也可以使用自己的配置将语音流量发送到交换机的接入VLAN。
使用switchport priority extend trust命令将信任状态扩展到连接到IP电话的设备(PC)。通过发出此命令,交换机将指示电话如何处理来自连接到Cisco IP电话接入端口的设备的数据包。PC生成的数据包使用802.1q报头中分配的CoS值。电话不应更改(信任)从PC到达电话端口的帧的优先级。
必须在IP电话所连的交换机端口上启用CDP。默认情况下,CDP在交换机接口上全局启用。CDP是交换机和Cisco IP电话之间用于配置Cisco IP电话以与交换机端口通信的机制。CDP是Cisco Systems的专有协议,其他制造商的电话可能无法使用此方法配置IP电话以匹配交换机的端口配置。
注意:使用命令查找工具(仅限注册客户)可获取有关本节中使用的命令的详细信息。
本文档使用以下网络设置:
此图是Cisco Catalyst 2950交换机上语音VLAN配置的示例。交换机端口FastEthernet 0/6和0/8与思科IP电话连接,两个IP电话上的接入端口与PC连接。
本文档使用以下配置:
在2950交换机中,FastEthernet 0/6端口已为语音VLAN配置VLAN 10(带dot1p),以对语音流量使用IEEE 802.1p优先级标记,并为来自连接到Cisco PC接入端口的PC的数据流量配置了trust模式IP电话。在此,Cisco IP电话通过CoS信任笔记本电脑或PC,并且数据流量使用本征VLAN。此配置通常用于管理工作站、高优先级用户或高CoS价值应用。
当Cisco电话与交换机执行CDP时,信任边界始终扩展到IP电话。即,IP电话的数据包从不从CoS 5更改为CoS默认值。这就是为什么在笔记本电脑或PC上使用switchport priority extend trust命令的原因。它通过CDP发送,以告知IP电话不要重写高优先级数据包。
FastEthernet 0/8端口配置了用于语音和数据流量的单独VLAN。在本示例中,VLAN 10用于语音流量,VLAN 20用于数据流量。此配置用于典型的Cisco IP电话,而不信任笔记本电脑或PC。流量使用IEEE 802.1Q帧类型。
使用mls qos trust cos命令,Catalyst交换机的端口将查看以太网报头上的CoS值以对入口流量进行分类,并信任来自Cisco IP电话的标记数据包的CoS值。默认情况下,以太网端口变为不可信,因此来自语音VLAN和数据VLAN的流量将不可信。
在尝试退出端口以防止抖动时,请使用priority-queue out命令为语音数据包提供行首权限。spanning tree portfast命令从生成树协议中删除接口,而bpduguard命令可在拔掉IP电话后尝试将新交换机连接到该交换机时保护网络。如果交换机要插入,端口将转为err-disable。这些端口通常会添加到电话端口。
Cisco Catalyst 2950 交换机 |
---|
Switch#configure terminal Switch(config)#mls qos Switch(config)#interface fastethernet 0/6 !--- Set the interface to classify incoming traffic packets by using the packet CoS value. Switch(config-if)#mls qos trust cos !--- Configure the phone to use IEEE 802.1p priority tagging for voice traffic. Switch(config-if)#switchport voice vlan dot1p Switch(config-if)#switchport voice vlan 10 !--- Trust the CoS value the PC sends in on the data VLAN. Switch(config-if)#switchport priority extend trust Switch(config-if)#priority-queue out Switch(config-if)#spanning-tree portfast Switch(config-if)#spanning-tree bpduguard enable Switch(config-if)#exit Switch(config)#interface gigabitethernet0/8 Switch(config-if)#mls qos trust cos !--- Configure specified VLANs for voice and data traffic. Switch(config-if)#switchport voice vlan 10 Switch(config-if)#switchport access vlan 20 Switch(config-if)#priority-queue out Switch(config-if)#spanning-tree portfast Switch(config-if)#spanning-tree bpduguard enable Switch(config-if)#exit |
如果您使用的非思科IP电话无法识别思科专有CDP并自动设置中继端口,则必须手动配置中继。在此配置示例中,我们将VLAN限制为10和20,并阻止默认本征VLAN 1或VLAN 0。VLAN 10用于语音流量,VLAN 20用于数据流量。非Cisco IP电话通过手动配置或在启动过程中下载的TFTP文件获取其标记数据包的正确VLAN。本示例使用以下配置:
Cisco Catalyst 2950 交换机 |
---|
Switch#configure terminal Switch(config)#interface fastethernet 0/6 !---Trusts tagged packets CoS value; all untagged packets reset DSCP value in IP header to 0. Switch(config-if)#mls qos trust cos !--- Turn off DTP (dynamic trunking protocol). Switch(config-if)#switchport nonegotiate !--- Forces the port into trunking mode. Switch(config-if)#switchport mode trunk Switch(config-if)#switchport trunk native vlan 20 !--- Restricts the VLANs. Switch(config-if)#switchport trunk allowed vlans 10,20 Switch(config-if)#priority-queue out Switch(config-if)#spanning-tree portfast trunk Switch(config-if)#spanning-tree bpduguard enable Switch(config-if)#exit |
此处,我们使用可信DiffService代码点(DSCP)值,而不是CoS值,因为CoS提供了一种只通过查看其L2报头来了解数据包重要性的方法。DSCP是IP数据包中的6位字段。请使用mls qos trust DSCP命令以信任IP报头中的DSCP值。在这种情况下,IP电话在其数据包中正确设置其DSCP,而笔记本电脑则正确设置其DSCP。本示例使用以下配置:
Cisco Catalyst 2950 交换机 |
---|
Switch#configure terminal Switch(config)#interface fastethernet 0/6 !---Trust the DSCP value in the IP header. Switch(config-if)#mls qos trust DSCP !--- IP phone VLAN Switch(config-if)#switchport voice vlan 10 Switch(config-if)#switchport access vlan 20 !--- Trust the DSCP value the PC sends in on the data VLAN. Switch(config-if)#switchport priority extend trust Switch(config-if)#priority-queue out Switch(config-if)#spanning-tree portfast Switch(config-if)#spanning-tree bpduguard enable Switch(config-if)#exit |
使用本部分可确认配置能否正常运行。
命令输出解释程序(仅限注册用户)(OIT) 支持某些 show 命令。使用 OIT 可查看对 show 命令输出的分析。
使用show interfaces interface-id switchport命令以验证语音VLAN配置。
例如:
Switch#show interfaces FastEthernet 0/6 switchport Name: Fa0/6 Switchport: Enabled Administrative Mode: dynamic desirable Operational Mode: static access Administrative Trunking Encapsulation: dot1q Operational Trunking Encapsulation: native Negotiation of Trunking: On Access Mode VLAN: 1 (default) Trunking Native Mode VLAN: 1 (default) Voice VLAN: dot1p Administrative private-vlan host-association: none Administrative private-vlan mapping: none Administrative private-vlan trunk native VLAN: none Administrative private-vlan trunk encapsulation: dot1q Administrative private-vlan trunk normal VLANs: none Administrative private-vlan trunk private VLANs: none Operational private-vlan: none Trunking VLANs Enabled: ALL Pruning VLANs Enabled: 2-1001 Capture Mode Disabled Capture VLANs Allowed: ALL Protected: false Unknown unicast blocked: disabled Unknown multicast blocked: disabled Appliance trust: trusted
使用show running-config interface interface-id命令验证特定接口的语音VLAN条目。
例如:
Switch#show running-config interface fastEthernet 0/6 Building configuration... Current configuration : 139 bytes ! interface FastEthernet0/6 switchport voice vlan dot1p switchport voice vlan 10 switchport priority extend trust mls qos trust cos priority-queue out spanning-tree portfast spanning-tree bpduguard enable end Switch#show running-config interface fastEthernet 0/8 Building configuration... Current configuration : 137 bytes ! interface FastEthernet0/8 switchport voice vlan 10 switchport access vlan 20 mls qos trust cos priority-queue out spanning-tree portfast spanning-tree bpduguard enable end
版本 | 发布日期 | 备注 |
---|---|---|
1.0 |
04-Oct-2011 |
初始版本 |