Voice VLAN

1. Voice VLAN简介

Voice VLAN是为用户的语音数据流专门划分的VLAN。通过划分Voice VLAN并将连接语音设备的端口加入Voice VLAN,系统自动为语音报文修改QoS(Quality of Service,服务质量)参数,来提高语音数据报文优先级、保证通话质量。

1.1 Voice VLAN工作过程

当IP电话接入设备时,需要设备完成以下两个任务:

(1) 识别IP电话,获取IP电话的MAC地址,从而进行安全认证及提高语音报文的优先级。

(2) 将Voice VLAN信息通告给IP电话,IP电话能够根据收到的Voice VLAN信息完成自动配置,使IP电话发出的语音报文在Voice VLAN内传输。

常见的语音设备有IP电话、IAD(Integrated Access Device,综合接入设备)等。本文中以IP电话为例进行说明。

1.2 设备识别IP电话

1.2.1 OUI地址

设备可以根据端口接收的报文的源MAC地址来判断该数据流是否为语音数据流。源MAC地址符合系统配置的语音设备OUI(Organizationally Unique Identifier,全球统一标识符)地址的报文被认为是语音数据流。

用户可以预先配置OUI地址,也可以使用缺省的OUI地址作为判断标准。

设备缺省的OUI地址

序号 OUI地址 生产厂商
1 0001-e300-0000 Siemens phone
2 0003-6b00-0000 Cisco phone
3 0004-0d00-0000 Avaya phone
4 000f-e200-0000 H3C Aolynk phone
5 0060-b900-0000 Philips/NEC phone
6 00d0-1e00-0000 Pingtel phone
7 00e0-7500-0000 Polycom phone
8 00e0-bb00-0000 3Com phone
  • 通常意义下,OUI地址指的是MAC地址的前24位(二进制),是IEEE为不同设备供应商分配的一个全球唯一的标识符。本文中的OUI地址有别于通常意义的OUI地址,它是设备判断收到的报文是否为语音报文的依据,是voice-vlan mac-address命令中的mac-address和oui-mask参数相与运算后的结果。

  • 设备缺省的OUI地址可以手工删除,删除之后也可再次手工添加。

1.2.2 通过LLDP自动识别IP电话

通过设备上配置的OUI地址识别IP电话的方法受限于设备上可配置的OUI地址的数量,并且当网络中IP电话数量众多时,网络管理员的配置工作量较大。如果IP电话支持LLDP(Link Layer Discovery Protocol,链路层发现协议)功能,可以配置LLDP自动识别IP电话功能。

在设备上配置了通过LLDP自动发现IP电话功能后,设备将通过LLDP自动发现对端设备,并与对端设备通过LLDP的TLV进行信息交互。如果通过端口收到的LLDP System Capabilities TLV中的信息发现对端设备具有电话能力,则认为对端设备是IP电话并将设备上配置的Voice VLAN信息通过LLDP发送给对端设备。这种方式使接入网络的IP电话类型不再受限于OUI地址的数量。

在完成IP电话的发现过程后,端口将继续完成Voice VLAN的其他功能,即端口将自动加入Voice VLAN,并提高从该IP电话发出的语音数据的优先级。为防止IP电话无法通过端口上配置的认证功能,设备还会将IP电话的MAC地址添加到MAC地址表中。

1.3 设备将Voice VLAN信息通告给IP电话

设备可以通过三种方式将Voice VLAN信息通告给IP电话,这三种方式的优先顺序如下图所示。

  • 通过命令行指定LLDP或CDP(Cisco Discovery Protocol,思科发现协议)发布的Voice VLAN ID。

  • 当IP电话配合接入认证功能使用时,将认证服务器下发的授权VLAN信息通告给IP电话。

  • 直接将端口配置的Voice VLAN信息通告给IP电话。

1.4 IP电话的接入方式

1.4.1 主机和IP电话串联接入

如下图所示,主机连接到IP电话,IP电话连接到接入设备。在串联接入的环境下,需要将主机和IP电话划分到不同的VLAN,且需要IP电话能发出携带VLAN Tag的报文,从而区分业务数据流和语音数据流。同时,需要配置端口允许Voice VLAN和PVID通过。

主机与IP电话串联接入组网图

image-20230710154535196

1.4.2 IP电话单独接入

如下图所示,IP电话单独接入设备。单独接入适用于IP电话发出Untagged语音报文的情况,此时需要配置PVID为Voice VLAN,并配置端口允许PVID通过。

IP电话单独接入组网图

image-20230710154617247

2. Voice VLAN的工作模式

2.1 Voice VLAN的自动模式和手动模式

根据端口加入Voice VLAN的不同方式,可以将Voice VLAN的工作模式分为自动模式和手动模式。

自动模式

自动模式适用于主机和IP电话串联接入(端口同时传输语音数据和普通业务数据)的组网方式。

自动模式下,系统利用IP电话上电时发出的协议报文,识别报文的源MAC地址,匹配OUI地址。匹配成功后,系统将自动把语音报文的入端口加入Voice VLAN,并下发ACL规则、配置报文的优先级。用户可以在设备上配置Voice VLAN的老化时间,当在老化定时器停止前系统没有从入端口收到任何语音报文时,系统将把该端口从Voice VLAN中删除。端口的添加/删除到Voice VLAN的过程由系统自动实现。当Voice VLAN正常工作时,如果遇到IP电话重新启动,为保证已经建立的语音连接能够正常工作,系统会在IP电话重新启动完成后,将配置为自动模式的端口重新加入Voice VLAN,而不需要再次通过语音流触发。

手动模式

手动模式适用于IP电话单独接入(端口仅传输语音报文)的组网方式。该组网方式可以使该端口专用于传输语音数据,最大限度避免业务数据对语音数据传输的影响。

手动模式下,需要手工将连接IP电话的端口加入Voice VLAN中。再通过识别报文的源MAC地址,匹配OUI地址。匹配成功后,系统将下发ACL规则、配置报文的优先级。端口的添加/删除到Voice VLAN的过程由网络管理员手动实现。

Voice VLAN工作模式和IP电话的配合

由于IP电话类型较多,因此需要用户保证端口的链路类型与IP电话匹配

  1. IP电话发送Tagged语音数据

不同类型端口支持Tagged语音数据配置要求

image-20230710155207825

  1. IP电话发送Untagged语音数据

当IP电话发送Untagged语音数据,则端口的Voice VLAN工作模式只能为手工模式,不能为自动模式。

不同类型端口支持Untagged语音数据配置要求

image-20230710155837844

  • 如果用户的IP电话发出的是Tagged语音流,且接入端口上开启了802.1X认证和Guest VLAN/Auth-Fail VLAN/Critical VLAN,为保证各种功能的正常使用,请为Voice VLAN、PVID和802.1X的Guest VLAN/Auth-Fail VLAN/Critical VLAN分配不同的VLAN ID。

  • 如果用户的IP电话发出的是Untagged语音流,为实现Voice VLAN功能,只能将PVID配置为Voice VLAN,此时将不能实现802.1X认证功能。

2.2 Voice VLAN的安全模式和普通模式

开启了Voice VLAN功能的端口会对接收到的报文进行过滤,根据过滤机制的不同,可以将Voice VLAN的工作模式分为普通模式和安全模式:

  • 普通模式下,端口加入Voice VLAN后,设备对于接收的语音报文不再一一进行识别,凡是带有Voice VLAN Tag的报文,设备将不再检查其源MAC地址是否为语音设备的OUI地址,均接收并在Voice VLAN中转发。对于PVID就是Voice VLAN的手工模式端口,会导致任意的Untagged报文都可以在Voice VLAN中传输。这样的处理方式很容易使Voice VLAN收到恶意用户的流量攻击。恶意用户可以构造大量带有Voice VLAN Tag或Untagged的报文,占用Voice VLAN的带宽,影响正常的语音通信。

  • 安全模式下,设备将对每一个要进入Voice VLAN传输的报文进行源MAC地址匹配检查,对于不能匹配OUI地址的报文,则将其丢弃。

对于比较安全的网络,用户可以配置Voice VLAN的普通模式,以减少检查报文的工作对系统资源的占用。

  • 只有匹配了OUI地址的报文才能被修改优先级。比如在普通模式下,报文在Voice VLAN中转发,但如果该报文未匹配OUI地址,则该报文不会被修改优先级。

  • 建议用户尽量不要在Voice VLAN中同时传输语音和业务数据。如确有此需要,请确认Voice VLAN的安全模式已关闭,否则业务数据会被丢弃。

Voice VLAN的安全/普通模式对报文的处理

image-20230710160350878

3. Voice VLAN配置限制和指导

聚合接口以及聚合组的成员端口均不支持Voice VLAN功能。

Voice VLAN的老化定时器需在对应的MAC地址表项老化之后才能启动,因此Voice VLAN实际的老化时间为设备上配置的Voice VLAN老化时间与动态MAC地址表项老化时间之和。

不建议Voice VLAN功能与MAC地址禁止学习功能或MAC地址数学习上限功能同时使用,否则部分流量可能被丢弃:

  • 同时配置Voice VLAN功能与MAC地址禁止学习功能时,仅精确匹配了OUI地址的报文能够正常转发,未精确匹配的报文将被丢弃。

  • 同时配置Voice VLAN功能与MAC地址数学习上限功能时,当接口学习到的MAC地址到达所配置的上限后,仅匹配MAC地址表中已学习到的表项和OUI地址的报文能够正常转发,其余报文将被丢弃。

Voice VLAN配置任务简介

image-20230710160655232

4. 配置Voice VLAN

4.1 配置语音报文的QoS优先级

Voice VLAN在实现中,通过提高语音报文的QoS优先级(CoS和DSCP值)来保证语音通信的质量。语音报文会自带QoS优先级,通过配置,用户可以选择在语音报文通过设备时修改或者不修改报文的QoS优先级。

配置语音报文的QoS优先级时,需要注意:

  • 在Voice VLAN已开启的情况下,不允许配置/修改语音报文的QoS优先级。必须关闭端口上的Voice VLAN功能后,才能配置/修改语音报文的QoS优先级。

  • 在同一端口多次执行本配置,最后一次执行的配置生效。

interface interface-type interface-number // 进入二层以太网接口视图

voice-vlan qos trust // 配置端口信任Voice VLAN内语音报文的优先级

voice-vlan qos cos-value dscp-value // 配置端口将Voice VLAN内语音报文的CoS和DSCP值修改为指定值

二者选其一,缺省情况下,端口将Voice VLAN内语音报文的CoS值修改为6,DSCP值修改为46

4.2 配置自动模式下的Voice VLAN

配置自动模式下的Voice VLAN时,需要注意:

  • 自动模式下的Voice VLAN只支持Hybrid端口对Tagged的语音流进行处理,而协议VLAN特性要求Hybrid入端口的报文格式为Untagged的,因此,不能将某个VLAN同时配置为Voice VLAN和协议VLAN。
  • 配置MSTP多实例情况下,如果端口在要加入的Voice VLAN对应的MSTP实例中是阻塞状态,则端口会丢弃收到的报文,造成MAC地址不能上送,不能完成动态触发功能。自动模式Voice VLAN的使用场景为接入侧,不建议和多实例MSTP同时使用。
  • 配置PVST情况下,如果端口要加入的Voice VLAN不为端口允许通过的VLAN,则端口处于阻塞状态,会丢弃收到的报文,造成MAC地址不能上送,不能完成动态触发功能。自动模式Voice VLAN的使用场景为接入侧,不建议和PVST同时使用。
  • 当端口配置了动态触发端口加入静态MAC VLAN,又配置本功能时,两个功能可能会相互影响,导致其中某个功能不可用。当端口同时配置了本功能和动态触发端口加入静态MAC VLAN,再取消其中任何一个功能的配置,会导致另一个功能不可用。因此不建议同一端口同时配置本功能和动态触发端口加入静态MAC VLAN。

voice-vlan aging minutes // (可选)配置Voice VLAN的老化时间

缺省情况下,老化时间为1440分钟,老化时间只对自动模式下的端口有效

voice-vlan security enable // (可选)开启Voice VLAN的安全模式

缺省情况下,Voice VLAN工作在安全模式

voice-vlan mac-address oui mask oui-mask [ description text ] // (可选)配置Voice VLAN识别的OUI地址

Voice VLAN启动后将有缺省的OUI地址

interface interface-type interface-number // 进入二层以太网接口视图

配置端口的链路类型

port link-type trunk

port link-type hybrid

voice-vlan mode auto // 配置端口的Voice VLAN工作模式为自动模式

缺省情况下,端口的Voice VLAN工作模式为自动模式

voice-vlan vlan-id enable // 开启端口的Voice VLAN功能

缺省情况下,端口的Voice VLAN功能处于关闭状态

开启端口的Voice VLAN功能之前,须确保对应的VLAN已存在

4.3 配置手动模式下的Voice VLAN

配置手动模式下的Voice VLAN时,需要注意:

  • 同一设备同一时刻可以给不同的端口配置不同的Voice VLAN,但一个端口只能配置一个Voice VLAN,而且这些VLAN必须是已经存在的静态VLAN。

  • 当端口开启了Voice VLAN并工作在手工模式时,必须手工将端口加入Voice VLAN,才能保证Voice VLAN功能生效。

voice-vlan security enable

voice-vlan mac-address oui mask oui-mask [ description text ]

interface interface-type interface-number

undo voice-vlan mode auto // 配置端口的Voice VLAN工作模式为手动模式

缺省情况下,端口的Voice VLAN工作模式为自动模式

将手动模式端口加入Voice VLAN

Access端口、Trunk端口、 Hybrid端口三者选其一,将Access端口加入Voice VLAN后,Voice VLAN会自动成为PVID

(可选)配置PVID为Voice VLAN

Trunk端口、 Hybrid端口,二者选其一,当输入的语音流是Untagged语音流时,需要进行该项配置;当输入的语音流是Tagged语音流时,不能将PVID配置为Voice VLAN

voice-vlan vlan-id enable // 开启端口的Voice VLAN功能

缺省情况下,端口的Voice VLAN功能处于关闭状态

开启端口的Voice VLAN功能之前,须先创建对应的VLAN

4.4 配置通过LLDP自动发现IP电话功能

配置通过LLDP自动发现IP电话功能时,需要注意:

  • 在配置本功能前,需要在全局和接入端口均开启LLDP功能。
  • 通过LLDP自动发现IP电话功能只能与Voice VLAN自动模式配合使用,不能与手动模式配合使用。
  • 通过LLDP自动发现IP电话功能与LLDP兼容CDP功能不能同时配置。

voice-vlan track lldp // 开启通过LLDP自动发现IP电话功能

缺省情况下,通过LLDP自动发现IP电话功能处于关闭状态

4.5 配置通过LLDP通告Voice VLAN信息

对于支持LLDP的IP电话,可以通过LLDP-MED中的Network Policy TLV将Voice VLAN信息通告给IP电话。

需要注意的是,在配置本功能前,需要在全局和接入端口开启LLDP功能。

interface interface-type interface-number // 进入二层以太网接口视图

lldp tlv-enable med-tlv network-policy vlan-id // 配置端口上发布的Voice VLAN ID

缺省情况下,未配置端口上发布的Voice VLAN ID

LLDP-MED Network Policy TLV中的信息可以通过display lldp local-information命令查看。

4.6 配置通过CDP通告Voice VLAN信息

如果IP电话只支持CDP,不支持LLDP,当设备与这类IP电话直连时,IP电话将会向设备发送CDP报文以请求在设备上所配Voice VLAN的VLAN ID;如果在指定时间内没有收到设备发送的Voice VLAN的VLAN ID,IP电话将会把语音数据流以Untagged方式发送,从而导致语音数据流与其他类型的数据流混在一起,无法进行区分。

通过在设备上配置LLDP兼容CDP功能,可以利用LLDP来接收、识别从IP电话发送的CDP报文,并向IP电话发送CDP报文,该CDP报文携带设备配置的Voice VLAN信息,使IP电话完成Voice VLAN的自动配置。之后IP电话的语音数据流将被限制在配置的Voice VLAN内,与其他数据流区分开来。

需要注意的是,在配置本功能前,需要在全局和接入端口开启LLDP功能。

lldp compliance cdp // 开启LLDP兼容CDP功能

缺省情况下,LLDP兼容CDP功能处于关闭状态

interface interface-type interface-number // 进入二层以太网接口视图

lldp compliance admin-status cdp txrx // 配置LLDP兼容CDP功能的工作模式为TxRx

缺省情况下,LLDP兼容CDP功能的工作模式为Disable

cdp voice-vlan vlan-id // 配置CDP报文携带的Voice VLAN ID

缺省情况下,未配置CDP报文携带的Voice VLAN ID

设备发送给IP电话的CDP报文中不包含优先级信息。

5. Voice VLAN显示和维护

display voice-vlan state // 显示Voice VLAN的状态

display voice-vlan mac-address // 显示系统当前支持的OUI地址

6. 自动模式下Voice VLAN的配置举例

组网需求

  • IP phone A的MAC地址为0011-1100-0001,下行连接PC A(MAC地址为0022-1100-0002),上行连接到Device A的GigabitEthernet1/0/1端口。
  • IP phone B的MAC地址为0011-2200-0001,下行连接PC B(MAC地址为0022-2200-0002),上行连接到Device A的GigabitEthernet1/0/2端口。
  • Device A使用Voice VLAN 2传输IP phone A产生的语音报文;使用Voice VLAN 3传输IP phone B产生的语音报文。
  • Device A的端口GigabitEthernet1/0/1和GigabitEthernet1/0/2工作在自动模式,如果它们在30分钟内没有收到语音流,就将相应的Voice VLAN老化。

组网图

配置自动模式下Voice VLAN组网图

image-20230710162737313

DeviceA

# 创建VLAN 2和VLAN 3。

<DeviceA> system-view

[DeviceA] vlan 2 to 3

# 配置Voice VLAN的老化时间为30分钟。

[DeviceA] voice-vlan aging 30

# 由于端口GigabitEthernet1/0/1可能会同时收到语音和数据两种流量,为了保证语音报文的质量以及带宽的高效利用,配置Voice VLAN工作在安全模式,即Voice VLAN只用于传输语音报文。(可选,缺省情况下,Voice VLAN工作在安全模式)

[DeviceA] voice-vlan security enable

# 配置允许OUI地址为0011-1100-0000和0011-2200-0000的报文通过Voice VLAN,即当报文源MAC地址前缀为0011-1100-0000或0011-2200-0000时,Device A会把它当成语音报文来处理。

[DeviceA] voice-vlan mac-address 0011-1100-0001 mask ffff-ff00-0000 description IP phone A

[DeviceA] voice-vlan mac-address 0011-2200-0001 mask ffff-ff00-0000 description IP phone B

# 配置端口GigabitEthernet1/0/1为Hybrid类型端口。

[DeviceA] interface gigabitethernet 1/0/1

[DeviceA-GigabitEthernet1/0/1] port link-type hybrid

# 将端口GigabitEthernet1/0/1上Voice VLAN的工作模式配置为自动模式。(可选,缺省情况下,端口的Voice VLAN工作在自动模式。)

[DeviceA-GigabitEthernet1/0/1] voice-vlan mode auto

# 开启端口Voice VLAN功能。

[DeviceA-GigabitEthernet1/0/1] voice-vlan 2 enable

[DeviceA-GigabitEthernet1/0/1] quit

# 在端口GigabitEthernet1/0/2上进行相应的配置。

[DeviceA] interface gigabitethernet 1/0/2

[DeviceA-GigabitEthernet1/0/2] port link-type hybrid

[DeviceA-GigabitEthernet1/0/2] voice-vlan mode auto

[DeviceA-GigabitEthernet1/0/2] voice-vlan 3 enable

[DeviceA-GigabitEthernet1/0/2] quit

显示和验证

# 显示当前系统支持的OUI地址、OUI地址掩码和描述信息。

[DeviceA] display voice-vlan mac-address

OUI Address     Mask            Description

0001-e300-0000  ffff-ff00-0000  Siemens phone

0003-6b00-0000  ffff-ff00-0000  Cisco phone

0004-0d00-0000  ffff-ff00-0000  Avaya phone

000f-e200-0000  ffff-ff00-0000  H3C Aolynk phone

0011-1100-0000  ffff-ff00-0000  IP phone A

0011-2200-0000  ffff-ff00-0000  IP phone B

0060-b900-0000  ffff-ff00-0000  Philips/NEC phone

00d0-1e00-0000  ffff-ff00-0000  Pingtel phone

00e0-7500-0000  ffff-ff00-0000  Polycom phone

00e0-bb00-0000  ffff-ff00-0000  3Com phone

# 显示当前Voice VLAN的状态。

[DeviceA] display voice-vlan state

 Current voice VLANs: 2

 Voice VLAN security mode: Security

 Voice VLAN aging time: 30 minutes

 Voice VLAN enabled ports and their modes:

 Port                        VLAN        Mode        CoS        DSCP

 GE1/0/1                     2           Auto        6          46

 GE1/0/2                     3           Auto        6          46

7. 手动模式下Voice VLAN的配置举例

组网需求

  • IP Phone A接入Device A的Hybrid类型端口GigabitEthernet1/0/1。IP Phone A发出的报文为Untagged报文。
  • Device A上VLAN 2为Voice VLAN。
  • 手工将Device A的端口GigabitEthernet1/0/1工作加入Voice VLAN,其PVID为VLAN 2,添加OUI地址0011-2200-0000,使该端口专用于传输语音报文。

组网图

配置手动模式下Voice VLAN组网图

image-20230710163132409

DeviceA

# 配置Voice VLAN为安全模式,使得Voice VLAN端口只允许合法的语音报文通过。(可选,缺省情况下,Voice VLAN工作在安全模式)

<DeviceA> system-view

[DeviceA] voice-vlan security enable

# 配置允许OUI地址为0011-2200-0000的报文通过Voice VLAN,即报文源MAC地址前缀为0011-2200-0000时,Device A会把它当成语音报文来处理。

[DeviceA] voice-vlan mac-address 0011-2200-0001 mask ffff-ff00-0000 description test

# 创建VLAN 2。

[DeviceA] vlan 2

[DeviceA-vlan2] quit

# 配置端口GigabitEthernet1/0/1工作在手动模式。

[DeviceA] interface gigabitethernet 1/0/1

[DeviceA-GigabitEthernet1/0/1] undo voice-vlan mode auto

# 配置端口GigabitEthernet1/0/1为Hybrid类型。

[DeviceA-GigabitEthernet1/0/1] port link-type hybrid

# 配置Voice VLAN是端口GigabitEthernet1/0/1的缺省VLAN,且在该端口允许通过的Untagged VLAN列表中。

[DeviceA-GigabitEthernet1/0/1] port hybrid pvid vlan 2

[DeviceA-GigabitEthernet1/0/1] port hybrid vlan 2 untagged

# 开启端口GigabitEthernet1/0/1的Voice VLAN功能。

[DeviceA-GigabitEthernet1/0/1] voice-vlan 2 enable

[DeviceA-GigabitEthernet1/0/1] quit

显示与验证

# 显示当前系统支持的OUI地址、OUI地址掩码和描述信息。

[DeviceA] display voice-vlan mac-address

OUI Address     Mask            Description

0001-e300-0000  ffff-ff00-0000  Siemens phone

0003-6b00-0000  ffff-ff00-0000  Cisco phone

0004-0d00-0000  ffff-ff00-0000  Avaya phone

000f-e200-0000  ffff-ff00-0000  H3C Aolynk phone

0011-2200-0000  ffff-ff00-0000  test

0060-b900-0000  ffff-ff00-0000  Philips/NEC phone

00d0-1e00-0000  ffff-ff00-0000  Pingtel phone

00e0-7500-0000  ffff-ff00-0000  Polycom phone

00e0-bb00-0000  ffff-ff00-0000  3Com phone

# 显示当前Voice VLAN的状态。

[DeviceA] display voice-vlan state

 Current voice VLANs: 1

 Voice VLAN security mode: Security

 Voice VLAN aging time: 1440 minutes

 Voice VLAN enabled ports and their modes:

 Port                        VLAN        Mode        CoS        DSCP

 GE1/0/1                     2           Manual      6          46
posted @ 2023-07-10 21:00  LandonXing  阅读(1041)  评论(0)    收藏  举报