03-二层技术-以太网交换配置指导

09-VLAN配置

本章节下载 09-VLAN配置  (607.92 KB)

docurl=/cn/Service/Document_Software/Document_Center/Switches/Catalog/S5130/S5130S-EI/Configure/Operation_Manual/H3C_S5560S-EI_S5130S-HI[EI]_S3100V3-EI-6W104/03/201906/1208100_30005_0.htm

09-VLAN配置

目  录

1 VLAN

1.1 VLAN简介

1.1.1 VLAN概述

1.1.2 VLAN报文封装

1.1.3 协议规范

1.2 配置VLAN

1.3 配置VLAN接口

1.3.1 配置VLAN接口基本属性

1.4 配置基于端口的VLAN

1.4.1 基于端口的VLAN简介

1.4.2 配置基于Access端口的VLAN

1.4.3 配置基于Trunk端口的VLAN

1.4.4 配置基于Hybrid端口的VLAN

1.5 配置基于MAC的VLAN

1.5.1 基于MAC的VLAN简介

1.5.2 配置基于MAC的VLAN

1.6 配置基于协议的VLAN

1.6.1 基于协议的VLAN简介

1.6.2 配置基于协议的VLAN

1.7 配置VLAN组

1.8 VLAN显示和维护

1.9 基于端口的VLAN典型配置举例

1.10 基于MAC的VLAN典型配置举例

1.11 基于协议的VLAN典型配置举例

2 Voice VLAN

2.1 Voice VLAN简介

2.2 设备识别IP电话

2.2.1 OUI地址

2.2.2 通过LLDP自动识别IP电话

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

2.4 IP电话的接入方式

2.5 Voice VLAN的工作模式

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

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

2.6 Voice VLAN配置任务简介

2.7 Voice VLAN配置限制和指导

2.8 配置Voice VLAN

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

2.8.2 配置自动模式下的Voice VLAN

2.8.3 配置手动模式下的Voice VLAN

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

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

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

2.9 Voice VLAN显示和维护

2.10 Voice VLAN典型配置举例

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

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

 


1 VLAN

1.1  VLAN简介

1.1.1  VLAN概述

以太网是一种基于CSMA/CD(Carrier Sense Multiple Access/Collision Detect,带冲突检测的载波侦听多路访问)技术的共享通讯介质。采用以太网技术构建的局域网,既是一个冲突域,又是一个广播域。当网络中主机数目较多时会导致冲突严重、广播泛滥、性能显著下降,甚至网络不可用等问题。通过在以太网中部署网桥或二层交换机,可以解决冲突严重的问题,但仍然不能隔离广播报文。在这种情况下出现了VLAN(Virtual Local Area Network,虚拟局域网)技术,这种技术可以把一个物理LAN划分成多个逻辑的LAN——VLAN。处于同一VLAN的主机能直接互通,而处于不同VLAN的主机则不能直接互通。这样,广播报文被限制在同一个VLAN内,即每个VLAN是一个广播域。如图1-1所示,VLAN 2内的主机可以互通,但与VLAN 5内的主机不能互通。

图1-1 VLAN示意图

 

VLAN的划分不受物理位置的限制:物理位置不在同一范围的主机可以属于同一个VLAN;一个VLAN包含的主机可以连接在同一个交换机上,也可以跨越交换机,甚至可以跨越路由器。

VLAN根据划分方式不同可以分为不同类型。基于端口划分VLAN是其中最简单、最有效的VLAN划分方式。它按照设备端口来定义VLAN成员,将指定端口加入到指定VLAN中之后,端口就可以转发该VLAN的报文。本章将介绍基于端口的VLAN。

VLAN的优点如下:

·            限制广播域。广播域被限制在一个VLAN内,节省了带宽,提高了网络处理能力。

·            增强局域网的安全性。VLAN间的二层报文是相互隔离的,即一个VLAN内的主机不能和其他VLAN内的主机直接通信,如果不同VLAN要进行通信,则需通过路由器或三层交换机等三层设备。

·            灵活构建虚拟工作组。通过VLAN可以将不同的主机划分到不同的工作组,同一工作组的主机可以位于不同的物理位置,网络构建和维护更方便灵活。

1.1.2  VLAN报文封装

要使网络设备能够分辨不同VLAN的报文,需要在报文中添加标识VLAN的字段。IEEE 802.1Q协议规定,在以太网报文的目的MAC地址和源MAC地址字段之后、协议类型字段之前加入4个字节的VLAN Tag,用以标识VLAN的相关信息。

图1-2 VLAN Tag的组成字段

 

图1-2所示,VLAN Tag包含四个字段,分别是TPID(Tag Protocol Identifier,标签协议标识符)、Priority、CFI(Canonical Format Indicator,标准格式指示位)和VLAN ID。

·            TPID:协议规定TPID取值为0x8100时表示报文带有VLAN Tag,但各设备厂商可以自定义该字段的值。为了能够识别这样的报文,实现互通,必须确保邻居设备之间的TPID值配置一致。如果报文的TPID值为配置值或0x8100,则该报文被认为带有VLAN Tag。

·            Priority:用来表示报文的802.1p优先级,长度为3比特,相关内容请参见“ACL和QoS配置指导/QoS”中的“附录”。

·            CFI:用来表示MAC地址在不同的传输介质中是否以标准格式进行封装,长度为1比特。取值为0表示MAC地址以标准格式进行封装,为1表示以非标准格式封装。在以太网中,CFI取值为0。

·            VLAN ID:用来表示该报文所属VLAN的编号,长度为12比特。由于0和4095为协议保留取值,所以VLAN ID的取值范围为1~4094。

网络设备根据报文是否携带VLAN Tag以及携带的VLAN Tag信息,来对报文进行处理,利用VLAN ID来识别报文所属的VLAN。详细的处理方式请参见“1.4.1  基于端口的VLAN简介”。

说明

·         以太网支持Ethernet II、802.3/802.2 LLC、802.3/802.2 SNAP和802.3 raw封装格式,本文以Ethernet II型封装为例。802.3/802.2 LLC、802.3/802.2 SNAP和802.3 raw封装格式添加VLAN Tag字段的方式请参见相关协议规范。

·         对于携带有多层VLAN Tag的报文,设备会根据其最外层VLAN Tag进行处理,而内层VLAN Tag会被视为报文的普通数据部分。

 

1.1.3  协议规范

与VLAN相关的协议规范有:

·            IEEE 802.1Q:IEEE Standard for Local and Metropolitan Area Networks-Virtual Bridged Local Area Networks

1.2  配置VLAN

表1-1 配置VLAN

配置

命令

说明

进入系统视图

system-view

-

(可选)创建一个VLAN并进入VLAN视图,或批量创建VLAN

vlan { vlan-id1 [ to vlan-id2 ] | all }

缺省情况下,系统只有一个缺省VLAN(VLAN 1)

进入VLAN视图

vlan vlan-id

批量创建VLAN时,为必选;否则,无需执行本命令

指定VLAN的名称

name text

缺省情况下,VLAN的名称为“VLAN vlan-id”,其中vlan-id为该VLAN的四位数编号,如果该VLAN的编号不足四位,则会在编号前增加0,补齐四位。例如,VLAN 100的名称为“VLAN 0100”

配置VLAN的描述信息

description text

缺省情况下,VLAN的描述信息为“VLAN vlan-id”,其中vlan-id为该VLAN的四位数编号,如果该VLAN的编号不足四位,则会在编号前增加0,补齐四位。例如,VLAN 100的描述信息为“VLAN 0100”

 

说明

·         VLAN 1为系统缺省VLAN,用户不能手工创建和删除。

·         动态学习到的VLAN,以及被其他应用锁定不让删除的VLAN,都不能使用undo vlan命令直接删除。只有将相关配置删除之后,才能删除相应的VLAN。

 

1.3  配置VLAN接口

不同VLAN间的主机不能直接通信,通过在设备上创建并配置VLAN接口,可以实现VLAN间的三层互通。

VLAN接口是一种三层的虚拟接口,它不作为物理实体存在于设备上。每个VLAN对应一个VLAN接口,在为VLAN接口配置了IP地址后,该IP地址即可作为本VLAN内网络设备的网关地址,此时该VLAN接口能对需要跨网段的报文进行三层转发。

1.3.1  配置VLAN接口基本属性

配置VLAN接口基本属性时,需要注意,在创建VLAN接口之前,对应的VLAN必须已经存在,否则将不能创建指定的VLAN接口。

表1-2 配置VLAN接口基本属性

配置

命令

说明

进入系统视图

system-view

-

创建VLAN接口并进入VLAN接口视图

interface vlan-interface interface-number

如果该VLAN接口已经存在,则直接进入该VLAN接口视图

缺省情况下,不存在VLAN接口

配置VLAN接口的IP地址

ip address ip-address { mask | mask-length } [ sub ]

缺省情况下,未配置VLAN接口的IP地址

配置VLAN接口的描述信息

description text

缺省情况下,VLAN接口的描述信息为该VLAN接口的接口名,如“Vlan-interface1 Interface”

配置VLAN接口的MTU值

mtu size

缺省情况下VLAN接口的MTU值为1500字节

(可选)配置VLAN接口的期望带宽

bandwidth bandwidth-value

缺省情况下,接口的期望带宽=接口的波特率÷1000(kbps)

(可选)恢复VLAN接口的缺省配置

default

-

(可选)取消手工关闭VLAN接口

undo shutdown

-

 

1.4  配置基于端口的VLAN

1.4.1  基于端口的VLAN简介

基于端口划分VLAN是最简单、最有效的VLAN划分方法。它按照设备端口来定义VLAN成员,将指定端口加入到指定VLAN中之后,该端口就可以转发该VLAN的报文。

用户可以配置端口的链路类型及缺省VLAN,其中,链路类型决定了端口能否加入多个VLAN。

1. 端口的链路类型

端口的链路类型分为三种,不同链路类型的端口在转发报文时对VLAN Tag的处理方式不同:

·            Access:端口只能发送一个VLAN的报文,发出去的报文不带VLAN Tag。一般用于和不能识别VLAN Tag的用户终端设备相连,或者不需要区分不同VLAN成员时使用。

·            Trunk:端口能发送多个VLAN的报文,发出去的端口缺省VLAN的报文不带VLAN Tag,其他VLAN的报文都必须带VLAN Tag。通常用于网络传输设备之间的互连。

·            Hybrid:端口能发送多个VLAN的报文,端口发出去的报文可根据需要配置某些VLAN的报文带VLAN Tag,某些VLAN的报文不带VLAN Tag。在一些应用场景下,需要使用Hybrid端口的功能。比如在1:2 VLAN映射中,服务提供商网络的多个VLAN的报文在进入用户网络前,需要剥离外层VLAN Tag,此时Trunk端口不能实现该功能,因为Trunk端口只能使该端口缺省VLAN的报文不带VLAN Tag通过。有关1:2 VLAN映射的详细介绍,请参见“二层技术-以太网交换配置指导”中的“VLAN映射”。

2. 端口缺省VLAN

除了可以配置端口允许通过的VLAN外,还可以配置端口的缺省VLAN,即端口VLAN ID(Port VLAN ID,PVID)。当端口收到Untagged报文时,会认为该报文所属的VLAN为缺省VLAN。

·            Access端口的缺省VLAN就是它所在的VLAN。

·            Trunk端口和Hybrid端口可以允许多个VLAN通过,能够配置端口缺省VLAN。

·            当执行undo vlan命令删除的VLAN是某个端口的缺省VLAN时,对Access端口,端口的缺省VLAN会恢复到VLAN 1;对Trunk或Hybrid端口,端口的缺省VLAN配置不会改变,即它们可以使用已经不存在的VLAN作为端口缺省VLAN。

说明

·         建议本端设备端口的缺省VLAN ID和相连的对端设备端口的缺省VLAN ID保持一致。

·         建议保证端口的缺省VLAN为端口允许通过的VLAN。如果端口不允许某VLAN通过,但是端口的缺省VLAN为该VLAN,则端口会丢弃收到的该VLAN的报文或者不带VLAN Tag的报文。

 

3. 端口对报文的处理方式

在配置了端口链路类型和端口缺省VLAN后,端口对报文的接收和发送的处理有几种不同情况,具体情况请参看表1-3

表1-3 不同链路类型端口收发报文的差异

端口类型

对接收报文的处理

对发送报文的处理

当接收到的报文不带Tag时

当接收到的报文带有Tag时

Access端口

为报文添加端口缺省VLAN的Tag

·         当报文的VLAN ID与端口的缺省VLAN ID相同时,接收该报文

·         当报文的VLAN ID与端口的缺省VLAN ID不同时,丢弃该报文

去掉Tag,发送该报文

Trunk端口

·         当端口的缺省VLAN ID在端口允许通过的VLAN ID列表里时,接收该报文,给报文添加端口缺省VLAN的Tag

·         当端口的缺省VLAN ID不在端口允许通过的VLAN ID列表里时,丢弃该报文

·         当报文的VLAN ID在端口允许通过的VLAN ID列表里时,接收该报文

·         当报文的VLAN ID不在端口允许通过的VLAN ID列表里时,丢弃该报文

·         当报文的VLAN ID与端口的缺省VLAN ID相同,且是该端口允许通过的VLAN ID时:去掉Tag,发送该报文

·         当报文的VLAN ID与端口的缺省VLAN ID不同,且是该端口允许通过的VLAN ID时:保持原有Tag,发送该报文

Hybrid端口

当报文的VLAN ID是端口允许通过的VLAN ID时,发送该报文,并可以通过port hybrid vlan命令配置端口在发送该VLAN的报文时是否携带Tag

 

说明

缺省情况下,对于Untagged报文的处理顺序为:基于MAC的VLAN->基于协议的VLAN->基于端口的VLAN。

 

1.4.2  配置基于Access端口的VLAN

配置基于Access端口的VLAN有两种方法:一种是在VLAN视图下进行配置,另一种是在接口视图下进行配置。

表1-4 配置基于Access端口的VLAN(在VLAN视图下)

配置

命令

说明

进入系统视图

system-view

-

进入VLAN视图

vlan vlan-id

-

向当前VLAN中添加一个或一组Access端口

port interface-list

缺省情况下,系统将所有端口都加入到VLAN 1

 

表1-5 配置基于Access端口的VLAN(在接口视图下)

操作

命令

说明

进入系统视图

system-view

-

进入相应视图

二层以太网接口视图

interface interface-type interface-number

-

二层聚合接口视图

interface bridge-aggregation interface-number

配置端口的链路类型为Access类型

port link-type access

缺省情况下,端口的链路类型为Access

将Access端口加入到指定VLAN

port access vlan vlan-id

缺省情况下,所有Access端口都属于VLAN 1

在将Access端口加入到指定VLAN之前,该VLAN必须已经存在

 

1.4.3  配置基于Trunk端口的VLAN

Trunk端口可以允许多个VLAN通过,只能在接口视图下进行配置。

配置基于Trunk端口的VLAN时,需要注意:

·            Trunk端口不能直接切换为Hybrid端口,只能先将Trunk端口配置为Access端口,再配置为Hybrid端口。

·            配置端口缺省VLAN后,必须使用port trunk permit vlan命令配置允许端口缺省VLAN的报文通过,接口才能转发端口缺省VLAN的报文。

表1-6 配置基于Trunk端口的VLAN

操作

命令

说明

进入系统视图

system-view

-

进入相应视图

二层以太网接口视图

interface interface-type interface-number

-

二层聚合接口视图

interface bridge-aggregation interface-number

配置端口的链路类型为Trunk类型

port link-type trunk

缺省情况下,端口的链路类型为Access类型

允许指定的VLAN通过当前Trunk端口

port trunk permit vlan { vlan-id-list | all }

缺省情况下,Trunk端口只允许VLAN 1的报文通过

(可选)配置Trunk端口的缺省VLAN

port trunk pvid vlan vlan-id

缺省情况下,Trunk端口的缺省VLAN为VLAN 1

 

1.4.4  配置基于Hybrid端口的VLAN

Hybrid端口可以允许多个VLAN通过,只能在接口视图下进行配置。

配置基于Hybrid端口的VLAN时,需要注意:

·            Hybrid端口不能直接切换为Trunk端口,只能先将Hybrid端口配置为Access端口,再配置为Trunk端口。

·            在配置允许指定的VLAN通过Hybrid端口之前,允许通过的VLAN必须已经存在。

·            配置端口缺省VLAN后,必须使用port hybrid vlan命令配置允许端口缺省VLAN的报文通过,出接口才能转发端口缺省VLAN的报文。

表1-7 配置基于Hybrid端口的VLAN

操作

命令

说明

进入系统视图

system-view

-

进入相应视图

二层以太网接口视图

interface interface-type interface-number

-

二层聚合接口视图

interface bridge-aggregation interface-number

配置端口的链路类型为Hybrid类型

port link-type hybrid

缺省情况下,端口的链路类型为Access类型

允许指定的VLAN通过当前Hybrid端口

port hybrid vlan vlan-id-list { tagged | untagged }

缺省情况下,Hybrid端口只允许该端口在链路类型为Access时的所属VLAN的报文以Untagged方式通过

(可选)配置Hybrid端口的缺省VLAN

port hybrid pvid vlan vlan-id

缺省情况下,Hybrid端口的缺省VLAN为该端口在链路类型为Access时的所属VLAN

 

1.5  配置基于MAC的VLAN

说明

基于MAC的VLAN只对Hybrid端口配置有效。

 

1.5.1  基于MAC的VLAN简介

VLAN最常用的划分方式是基于端口划分,该方式为从同一端口进入的Untagged报文添加相同的VLAN Tag,在同一VLAN内进行转发处理。该方式配置简单,适用于终端设备物理位置比较固定的组网环境。随着移动办公和无线接入的普及,终端设备不再通过固定端口接入设备,它可能本次使用端口A接入网络,下次使用端口B接入网络。如果端口A和端口B的VLAN配置不同,则终端设备第二次接入后就会被划分到另一VLAN,导致无法使用原VLAN内的资源;如果端口A和端口B的VLAN配置相同,当端口B被分配给别的终端设备时,又会引入安全问题。如何在这样灵活多变的网络环境中部署VLAN呢?基于MAC的VLAN应运而生。

基于MAC的VLAN是根据报文的源MAC地址来划分VLAN。设备维护的MAC VLAN表记录了MAC地址和VLAN的对应关系。这种划分方法的最大优点就是当用户物理位置发生变化,VLAN不用重新配置。所以这种根据MAC地址的划分方法也称为基于用户的VLAN。

1. 手动配置静态MAC VLAN

手动配置静态MAC VLAN常用于VLAN中用户相对较少的网络环境。在该方式下,用户需要手动配置MAC VLAN表项,开启基于MAC地址的VLAN功能,并将端口加入MAC VLAN。其原理为:

·            当端口收到的报文为Untagged报文时,根据报文的源MAC地址匹配MAC VLAN表项。首先进行精确匹配,即查询表中掩码为全F的表项。如果报文中的源MAC地址与某MAC VLAN表项中的MAC地址完全相同,则精确匹配成功,给报文添加表项中对应的VLAN Tag并转发该报文;如果精确匹配失败,则进行模糊匹配,即查询MAC VLAN表中掩码不是全F的表项,将源MAC地址和掩码相与运算后与MAC VLAN表项中的MAC地址匹配,如果完全相同,则模糊匹配成功,给报文添加表项中对应的VLAN Tag并转发该报文;如果没有找到匹配的MAC VLAN表项,则继续按照其他原则(基于协议的VLAN、基于端口的VLAN)确定报文所属的VLAN,给报文添加对应的VLAN Tag并转发该报文。

·            当端口收到的报文为Tagged报文时,如果报文的VLAN ID在该端口允许通过的VLAN ID列表里,则转发该报文;否则丢弃该报文。

2. 动态触发端口加入静态MAC VLAN

手动配置静态MAC VLAN时,如果不能确定从哪些端口收到指定VLAN的报文,就不能把相应端口加入到MAC VLAN。此时可以采用动态触发端口加入静态MAC VLAN的方式。在该方式下,配置MAC VLAN表项后,需要在端口上开启基于MAC的VLAN功能和MAC VLAN的动态触发功能,不需要手动把端口加入MAC VLAN。

配置动态触发端口加入静态MAC VLAN后,端口在收到报文时,首先判断报文是否携带VLAN Tag,若带VLAN Tag,则直接获取报文源MAC地址;若不带VLAN Tag,则先进行报文VLAN选择(按照基于MAC的VLAN->基于协议的VLAN->基于端口的VLAN的优先次序为该Untagged报文添加对应的VLAN Tag,并获取该VLAN Tag),再获取报文源MAC地址,然后根据报文的源MAC地址和VLAN查询静态MAC VLAN表项:

·            如果报文源MAC地址与MAC VLAN表项中的MAC地址精确匹配,再检查报文的VLAN ID是否与对应表项中的VLAN ID一致,若一致,通过该报文动态触发端口加入相应VLAN,同时转发该报文;否则丢弃该报文。

·            如果报文源MAC地址与MAC VLAN表项的MAC地址不精确匹配,当报文VLAN ID为PVID,判断端口是否允许报文在PVID内转发,若允许,则在PVID中转发该报文,否则丢弃该报文。当报文VLAN ID不为PVID,则丢弃该报文。处理流程如图1-3所示:

图1-3 动态触发端口加入静态MAC VLAN的处理

 

说明

·         在端口自动加入MAC VLAN表项中相应的VLAN时,若端口此前未配置允许该VLAN通过,则端口自动以Untagged方式加入该VLAN;若端口此前已配置允许该VLAN通过,则不改变原有配置。

·         如果用户在同一端口上同时开启了手动配置MAC VLAN和动态触发端口加入MAC VLAN,此时该端口选择使用后者的功能。

·         当端口收到的报文与MAC VLAN表项匹配,对该报文进行转发时,根据MAC VLAN的优先级(MAC地址对应VLAN的802.1p优先级)高低来决定报文传输的优先程度。

 

3. 动态MAC VLAN

动态MAC VLAN是由接入认证过程来动态决定接入用户报文所属的VLAN。该功能需要和接入认证功能(比如端口接入控制方式为MAC-based的802.1X)配合使用,以实现终端的安全、灵活接入。在设备上配置动态MAC VLAN功能以后,还需要在接入认证服务器上配置用户名和VLAN的绑定关系。

如果用户发起认证请求,接入认证服务器先对用户名和密码进行验证,如果验证通过,服务器下发VLAN信息。此时设备根据请求报文的源MAC地址和下发的VLAN信息生成动态MAC VLAN表项(要求与已有的静态MAC VLAN表项不能冲突),并将MAC VLAN添加到端口允许通过的VLAN列表中。用户下线后,设备自动删除MAC VLAN表项,并将MAC VLAN从端口允许通过的VLAN列表中删除。

有关接入认证功能的详细介绍请参见“安全配置指导”中的“802.1X”和“MAC地址认证”。

1.5.2  配置基于MAC的VLAN

配置基于MAC的VLAN时,需要注意:

·            基于MAC的VLAN功能主要在用户的接入设备的下行端口上进行配置,不能和聚合功能同时使用。

1. 手动配置静态MAC VLAN

表1-8 手动配置静态MAC VLAN

操作

命令

说明

进入系统视图

system-view

-

配置MAC VLAN表项

mac-vlan mac-address mac-address [ mask mac-mask ] vlan vlan-id [ dot1q priority ]

缺省情况下,不存在MAC VLAN表项

进入二层以太网接口视图

interface interface-type interface-number

-

配置端口的链路类型为Hybrid类型

port link-type hybrid

缺省情况下,所有端口的链路类型均为Access类型

允许基于MAC的VLAN通过当前Hybrid端口

port hybrid vlan vlan-id-list { tagged | untagged }

缺省情况下,Hybrid端口只允许该端口在链路类型为Access时的所属VLAN的报文以Untagged方式通过

开启MAC VLAN功能

mac-vlan enable

缺省情况下,MAC VLAN功能处于关闭状态

 

2. 配置动态触发端口加入静态MAC VLAN

配置动态触发端口加入静态MAC VLAN时,需要注意:

·            不建议MAC VLAN的动态触发功能和802.1X/MAC地址认证功能同时使用,否则会影响802.1X/MAC地址认证功能的正常工作。

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

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

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

·            MAC VLAN的动态触发功能生效的一个前提是,源MAC地址所匹配的VLAN必须是静态VLAN(本地手工创建的VLAN)。

·            配置MSTP情况下,如果端口在要加入的VLAN对应的MSTP实例中是阻塞状态,则端口会丢弃收到的报文,造成MAC地址不能上送,不能完成动态触发端口加入静态MAC VLAN,因此不建议本功能和多实例MSTP同时使用。

·            配置PVST情况下,如果端口要加入的VLAN不为端口允许通过的VLAN,则端口处于阻塞状态,会丢弃收到的报文,造成MAC地址不能上送,不能完成动态触发端口加入静态MAC VLAN,因此不建议本功能和PVST同时使用。

·            当端口配置了自动模式下的Voice VLAN,又配置本功能时,两个功能可能会相互影响,导致其中某个功能不可用。当端口同时配置了本功能和自动模式下的Voice VLAN,再取消其中任何一个功能的配置,会导致另一个功能不可用。因此不建议同一端口同时配置本功能和自动模式下的Voice VLAN。

表1-9 配置动态触发端口加入静态MAC VLAN

操作

命令

说明

进入系统视图

system-view

-

配置MAC VLAN表项

mac-vlan mac-address mac-address vlan vlan-id [ dot1q priority ]

缺省情况下,不存在MAC VLAN表项

进入二层以太网接口视图

interface interface-type interface-number

-

配置端口的链路类型为Hybrid类型

port link-type hybrid

缺省情况下,所有端口的链路类型均为Access类型

开启MAC VLAN功能

mac-vlan enable

缺省情况下,MAC VLAN功能处于关闭状态

开启MAC VLAN的动态触发功能

mac-vlan trigger enable

缺省情况下,MAC VLAN的动态触发功能处于关闭状态

开启MAC VLAN的动态触发功能后,只有端口接收的报文的源MAC地址精确匹配了MAC VLAN表项,才会动态触发该端口加入相应VLAN

(可选)配置当报文源MAC地址与MAC VLAN表项的MAC地址未精确匹配时,禁止该报文在PVID内转发

port pvid forbidden

缺省情况下,当报文源MAC地址与MAC VLAN表项的MAC地址未精确匹配时,允许该报文在PVID内转发

 

3. 配置动态MAC VLAN

表1-10 配置动态MAC VLAN

操作

命令

说明

进入系统视图

system-view

-

进入二层以太网接口视图

interface interface-type interface-number

-

配置端口的链路类型为Hybrid类型

port link-type hybrid

缺省情况下,所有端口的链路类型均为Access类型

允许基于MAC的VLAN通过当前Hybrid端口

port hybrid vlan vlan-id-list { tagged | untagged }

缺省情况下,Hybrid端口只允许该端口在链路类型为Access时的所属VLAN的报文以Untagged方式通过

开启MAC VLAN功能

mac-vlan enable

缺省情况下,MAC VLAN功能处于关闭状态

配置接入认证功能

配置802.1X

请参见“安全命令参考”中的“802.1X”

二者至少选其一

配置MAC地址认证

请参见“安全命令参考”中的“MAC地址认证”

 

1.6  配置基于协议的VLAN

说明

基于协议VLAN只对Hybrid端口配置有效,只对Untagged报

 

1.6.1  基于协议的VLAN简介

基于协议的VLAN(简称协议VLAN)是根据端口接收到的报文所属的协议(族)类型以及封装格式来给报文分配不同的VLAN ID。可用来划分VLAN的协议有IP、IPX、AT(AppleTalk,Apple计算机网络协议)等,封装格式有Ethernet II、802.3 raw、802.2 LLC、802.2 SNAP等。

此特性主要应用于将网络中提供的服务类型与VLAN相关联,方便管理和维护。

协议VLAN由协议模板定义。协议模板是用来匹配报文所属协议类型的标准,由“协议类型+封装格式”组成。对于一个协议VLAN来说,其绑定的多个协议模板用协议索引(protocol-index)来区分;对于不同的协议VLAN来说,其绑定的协议模板用协议vlan-idprotocol-index来唯一标识。最后通过命令行将协议VLAN中的协议模板与端口绑定。

当端口收到Untagged报文时,如果该报文携带的协议类型和封装格式与某协议模板相匹配,则为其添加该协议模板绑定的协议vlan-id的VLAN Tag,否则为其添加PVID的VLAN Tag。

1.6.2  配置基于协议的VLAN

需要注意的是,协议VLAN特性要求Hybrid入端口的报文格式为Untagged的,而自动模式下的Voice VLAN只支持Hybrid端口对Tagged的语音流进行处理,因此,不能将某个VLAN同时配置为协议VLAN和Voice VLAN。

表1-11 配置基于协议的VLAN

操作

命令

说明

进入系统视图

system-view

-

进入VLAN视图

vlan vlan-id

-

配置VLAN与指定的协议模板关联

protocol-vlan [ protocol-index ] { at | ipv4 | ipv6 | ipx { ethernetii | llc | raw | snap } | mode { ethernetii etype etype-id | llc { dsap dsap-id [ ssap ssap-id ] | ssap ssap-id } | snap etype etype-id } }

缺省情况下,当前VLAN未关联协议模板

退出VLAN视图

quit

-

进入相应视图

二层以太网接口视图

interface interface-type interface-number

-

二层聚合接口视图

interface bridge-aggregation interface-number

配置端口的链路类型为Hybrid类型

port link-type hybrid

缺省情况下,所有端口的链路类型均为Access类型

允许协议VLAN通过当前端口

port hybrid vlan vlan-id-list { tagged | untagged }

缺省情况下,Hybrid端口只允许该端口在链路类型为Access时的所属VLAN的报文以Untagged方式通过

配置端口与协议VLAN关联

port hybrid protocol-vlan vlan vlan-id { protocol-index [ to protocol-end ] | all }

缺省情况下,端口未关联协议VLAN

 

1.7  配置VLAN

VLAN组是一组VLAN的集合。VLAN组内可以添加多个VLAN列表,一个VLAN列表表示一组VLAN ID连续的VLAN。

认证服务器可以通过下发VLAN组名的方式为通过认证的802.1X用户下发一组授权VLAN。有关802.1X的详细介绍,请参见“安全配置指导”中的“802.1X”。

表1-12 配置VLAN组

操作

命令

说明

进入系统视图

system-view

-

创建一个VLAN组,并进入VLAN组视图

vlan-group group-name

缺省情况下,不存在VLAN组

在VLAN组内添加VLAN成员

vlan-list vlan-id-list

缺省情况下,当前VLAN组中不存在VLAN列表

可以多次在当前VLAN组内添加VLAN成员

 

1.8  VLAN显示和维护

在完成上述配置后,在任意视图下执行display命令可以显示配置后VLAN的运行情况,通过查看显示信息验证配置的效果。

在用户视图下执行reset命令可以清除VLAN接口统计信息。

表1-13 VLAN显示和维护

操作

命令

 

显示VLAN接口相关信息

display interface vlan-interface [ interface-number ] [ brief [ description | down ] ]

 

显示端口关联的协议VLAN的信息

display protocol-vlan interface { interface-type interface-number1 [ to interface-type interface-number2 ] | all }

显示指定的或所有协议VLAN的信息

display protocol-vlan vlan { vlan-id1 [ to vlan-id2 ] | all }

显示VLAN相关信息

display vlan [ vlan-id1 [ to vlan-id2 ] | all | dynamic | reserved | static ]

 

显示设备上所有已创建VLAN的概要信息

display vlan brief

 

显示创建的VLAN组及其VLAN成员列表

display vlan-group [ group-name ]

 

显示设备上存在的Hybrid或Trunk端口

display port { hybrid | trunk }

 

清除VLAN接口的统计信息

reset counters interface vlan-interface [ interface-number ]

 

 

1.9  基于端口的VLAN典型配置举例

1. 组网需求

·            Host A和Host C属于部门A,但是通过不同的设备接入公司网络;Host B和Host D属于部门B,也通过不同的设备接入公司网络。

·            为了通信的安全性,也为了避免广播报文泛滥,公司网络中使用VLAN技术来隔离部门间的二层流量。其中部门A使用VLAN 100,部门B使用VLAN 200。

2. 组网图

图1-4 基于端口的VLAN组网图

3. 配置步骤

(1)       配置Device A

# 创建VLAN 100,并将GigabitEthernet1/0/1加入VLAN 100。

<DeviceA> system-view

[DeviceA] vlan 100

[DeviceA-vlan100] port gigabitethernet 1/0/1

[DeviceA-vlan100] quit

# 创建VLAN 200,并将GigabitEthernet1/0/2加入VLAN 200。

[DeviceA] vlan 200

[DeviceA-vlan200] port gigabitethernet 1/0/2

[DeviceA-vlan200] quit

# 为了使Device A上VLAN 100和VLAN 200的报文能发送给Device B,将GigabitEthernet1/0/3的链路类型配置为Trunk,并允许VLAN 100和VLAN 200的报文通过。

[DeviceA] interface gigabitethernet 1/0/3

[DeviceA-GigabitEthernet1/0/3] port link-type trunk

[DeviceA-GigabitEthernet1/0/3] port trunk permit vlan 100 200

(2)       Device B上的配置与Device A上的配置相同,不再赘述。

(3)       将Host A和Host C配置在一个网段,比如192.168.100.0/24;将Host B和Host D配置在一个网段,比如192.168.200.0/24。

4. 验证配置

(1)       Host A和Host C能够互相ping通,但是均不能ping通Host B和Host D。Host B和Host D能够互相ping通,但是均不能ping通Host A和Host C。

(2)       通过查看显示信息验证配置是否成功。

# 查看Device A上VLAN 100和VLAN 200的配置信息,验证以上配置是否生效。

[DeviceA-GigabitEthernet1/0/3] display vlan 100

 VLAN ID: 100

 VLAN type: Static

 Route interface: Not configured

 Description: VLAN 0100

 Name: VLAN 0100

 Tagged ports:

    GigabitEthernet1/0/3

 Untagged ports:

    GigabitEthernet1/0/1

[DeviceA-GigabitEthernet1/0/3] display vlan 200

 VLAN ID: 200

 VLAN type: Static

 Route interface: Not configured

 Description: VLAN 0200

 Name: VLAN 0200

 Tagged ports:

    GigabitEthernet1/0/3

 Untagged ports:

    GigabitEthernet1/0/2

1.10  基于MAC的VLAN典型配置举例

1. 组网需求

·            如下图所示,Device A和Device C的GigabitEthernet1/0/1端口分别连接到两个会议室,Laptop1和Laptop2是会议用笔记本电脑,会在两个会议室间移动使用。

·            Laptop1和Laptop2分别属于两个部门,两个部门间使用VLAN 100和VLAN 200进行隔离。现要求这两台笔记本电脑无论在哪个会议室使用,均只能访问自己部门的服务器,即Server1和Server2。

2. 组网图

图1-5 基于MAC的VLAN组网图

3. 配置步骤

(1)       Device A的配置

# 创建VLAN 100和VLAN 200。

<DeviceA> system-view

[DeviceA] vlan 100

[DeviceA-vlan100] quit

[DeviceA] vlan 200

[DeviceA-vlan200] quit

# 将Laptop1的MAC地址与VLAN 100关联,Laptop2的MAC地址与VLAN 200关联。

[DeviceA] mac-vlan mac-address 000d-88f8-4e71 vlan 100

[DeviceA] mac-vlan mac-address 0014-222c-aa69 vlan 200

# 配置终端的接入端口:Laptop1和Laptop2均可能从GigabitEthernet1/0/1接入,将GigabitEthernet1/0/1的端口类型配置为Hybrid,并使其在发送VLAN 100和VLAN 200的报文时去掉VLAN Tag;开启GigabitEthernet1/0/1端口的MAC VLAN功能。

[DeviceA] interface gigabitethernet 1/0/1

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

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

[DeviceA-GigabitEthernet1/0/1] mac-vlan enable

[DeviceA-GigabitEthernet1/0/1] quit

# 为了终端能够访问Server1和Server2,需要将上行端口GigabitEthernet1/0/2的端口类型配置为Trunk,并允许VLAN 100和VLAN 200的报文通过。

[DeviceA] interface gigabitethernet 1/0/2

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

[DeviceA-GigabitEthernet1/0/2] port trunk permit vlan 100 200

[DeviceA-GigabitEthernet1/0/2] quit

(2)       Device B的配置

# 创建VLAN 100和VLAN 200,并将GigabitEthernet1/0/3加入VLAN 100,GigabitEthernet1/0/4加入VLAN 200。

<DeviceB> system-view

[DeviceB] vlan 100

[DeviceB-vlan100] port gigabitethernet 1/0/3

[DeviceB-vlan100] quit

[DeviceB] vlan 200

[DeviceB-vlan200] port gigabitethernet 1/0/4

[DeviceB-vlan200] quit

# 配置GigabitEthernet1/0/1和GigabitEthernet1/0/2端口为Trunk端口,均允许VLAN 100和VLAN 200的报文通过。

[DeviceB] interface gigabitethernet 1/0/1

[DeviceB-GigabitEthernet1/0/1] port link-type trunk

[DeviceB-GigabitEthernet1/0/1] port trunk permit vlan 100 200

[DeviceB-GigabitEthernet1/0/1] quit

[DeviceB] interface gigabitethernet 1/0/2

[DeviceB-GigabitEthernet1/0/2] port link-type trunk

[DeviceB-GigabitEthernet1/0/2] port trunk permit vlan 100 200

[DeviceB-GigabitEthernet1/0/2] quit

(3)       Device C的配置

Device C的配置与Device A完全一致,这里不再赘述。

4. 显示与验证

(1)       Laptop1只能访问Server1,不能访问Server2;Laptop2只能访问Server2,不能访问Server1。

(2)       在Device A和Device C上可以查看到Laptop1和VLAN 100、Laptop2和VLAN 200的静态MAC VLAN地址表项已经生成。以Device A为例:

[DeviceA] display mac-vlan all

  The following MAC VLAN addresses exist:

  S:Static  D:Dynamic

  MAC address      Mask             VLAN ID  Priority    State

  000d-88f8-4e71   ffff-ffff-ffff   100       0          S

  0014-222c-aa69   ffff-ffff-ffff   200       0          S

 

  Total MAC VLAN address count: 2

1.11  基于协议的VLAN典型配置举例

1. 组网需求

如下图所示,实验室网络中大部分主机运行IPv4网络协议,另外为了教学需要还部署了IPv6实验局,因此,有些主机运行IPv6网络协议。为了避免互相干扰,将VLAN 100与IPv4协议、ARP协议关联,VLAN 200与IPv6协议关联,通过协议VLAN将IPv4流量和IPv6流量二层互相隔离。

2. 组网图

图1-6 基于协议的VLAN组网图

3. 配置步骤

(1)       配置Device

# 创建VLAN 100,将端口GigabitEthernet1/0/3加入VLAN 100。

<Device> system-view

[Device] vlan 100

[Device-vlan100] description protocol VLAN for IPv4

[Device-vlan100] port gigabitethernet 1/0/3

[Device-vlan100] quit

# 创建VLAN 200,将端口GigabitEthernet1/0/4加入VLAN 200。

[Device] vlan 200

[Device-vlan200] description protocol VLAN for IPv6

[Device-vlan200] port gigabitethernet 1/0/4

# 将IPv6协议报文划分到VLAN 200中传输。

[Device-vlan200] protocol-vlan 1 ipv6

[Device-vlan200] quit

# 将IPv4协议报文和采用Ethernet II封装格式的ARP协议报文(ARP报文对应的封装格式为Ethernet II)划分到VLAN 100中传输。

[Device] vlan 100

[Device-vlan100] protocol-vlan 1 ipv4

[Device-vlan100] protocol-vlan 2 mode ethernetii etype 0806

[Device-vlan100] quit

# 配置端口GigabitEthernet1/0/1为Hybrid端口,允许VLAN 100、200通过,并且在发送VLAN 100、200的报文时不携带VLAN Tag。

[Device] interface gigabitethernet 1/0/1

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

[Device-GigabitEthernet1/0/1] port hybrid vlan 100 200 untagged

# 配置端口GigabitEthernet1/0/1与VLAN 100的协议模板1(即IPv4协议模板)、协议模板2(即ARP协议模板)和VLAN 200的协议模板1(即IPv6协议模板)进行绑定。

[Device-GigabitEthernet1/0/1] port hybrid protocol-vlan vlan 100 1 to 2

[Device-GigabitEthernet1/0/1] port hybrid protocol-vlan vlan 200 1

[Device-GigabitEthernet1/0/1] quit

# 配置端口GigabitEthernet1/0/2为Hybrid端口,允许VLAN 100、200通过,并且在发送VLAN 100、200的报文时不携带VLAN Tag。

[Device] interface gigabitethernet 1/0/2

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

[Device-GigabitEthernet1/0/2] port hybrid vlan 100 200 untagged

# 配置端口GigabitEthernet1/0/2与VLAN 100的协议模板1(即IPv4协议模板)、协议模板2(即ARP协议模板)和VLAN 200的协议模板1(即IPv6协议模板)进行绑定。

[Device-GigabitEthernet1/0/2] port hybrid protocol-vlan vlan 100 1 to 2

[Device-GigabitEthernet1/0/2] port hybrid protocol-vlan vlan 200 1

[Device-GigabitEthernet1/0/2] quit

(2)       L2 switch A和L2 switch B采用缺省配置

(3)       配置Host和Server

将IPv4 Host A、IPv4 Host B和IPv4 Server配置在一个网段,比如192.168.100.0/24;将IPv6 Host A、IPv6 Host B和IPv6 Server配置在一个网段,比如2001::1/64。

4. 显示与验证

(1)       通过ping命令查看

VLAN 100内的主机和服务器能够互相Ping通;VLAN 200内的主机和服务器能够互相Ping通。但VLAN 100内的主机/服务器与VLAN 200内的主机/服务器之间会Ping失败。

(2)       通过显示信息查看

# 查看所有协议VLAN的信息。

[Device] display protocol-vlan vlan all

 VLAN ID: 100

  Protocol index  Protocol type

  1               IPv4

  2               Ethernet II Etype 0x0806

 

 VLAN ID: 200

  Protocol index  Protocol type

  1               IPv6

# 查看所有端口关联的协议VLAN的信息。

[Device] display protocol-vlan interface all

 Interface: GigabitEthernet1/0/1

  VLAN ID  Protocol index  Protocol type             Status

  100      1               IPv4                      Active

  100      2               Ethernet II Etype 0x0806  Active

  200      1               IPv6                      Active

 

 Interface: GigabitEthernet1/0/2

  VLAN ID  Protocol index  Protocol type             Status

  100      1               IPv4                      Active

  100      2               Ethernet II Etype 0x0806  Active

  200      1               IPv6                      Active

 

 


2 Voice VLAN

2.1  Voice VLAN简介

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

说明

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

 

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

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

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

2.2  设备识别IP电话

2.2.1  OUI地址

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

用户可以预先配置OUI地址,也可以使用缺省的OUI地址作为判断标准。设备缺省的OUI地址如表2-1所示。

表2-1 设备缺省的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-addressoui-mask参数相与运算后的结果。

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

 

2.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地址表中。

有关LLDP的详细信息,请参见“二层技术-以太网交换配置指导”中的“LLDP”。

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

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

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

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

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

图2-1 设备向IP电话发布Voice VLAN信息的过程

 

 

2.4  IP电话的接入方式

1. 主机和IP电话串联接入

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

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

 

2. IP电话单独接入

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

图2-3 IP电话单独接入组网图

 

2.5  Voice VLAN的工作模式

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

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

1. 自动模式

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

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

2. 手动模式

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

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

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

由于IP电话类型较多,因此需要用户保证端口的链路类型与IP电话匹配,不同Voice VLAN工作模式下的详细配合关系请见表2-2表2-3

·            IP电话发送Tagged语音数据

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

Voice VLAN工作模式

端口类型

是否支持Tagged语音数据

配置要求

自动模式

Access

不支持

-

Trunk

支持

PVID不能为Voice VLAN

Hybrid

手工模式

Access

不支持

-

Trunk

支持

PVID不能为Voice VLAN,需要配置端口允许Voice VLAN的报文通过

Hybrid

支持

PVID不能为Voice VLAN,需要配置端口允许Voice VLAN的报文携带Tag通过

 

·            IP电话发送Untagged语音数据

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

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

Voice VLAN工作模式

端口类型

是否支持Untagged语音数据

配置要求

自动模式

Access

不支持

-

Trunk

Hybrid

手工模式

Access

支持

端口加入Voice VLAN

Trunk

支持

PVID必须为Voice VLAN,且接入端口允许PVID通过

Hybrid

支持

PVID必须为Voice VLAN,且允许PVID的报文不带VLAN Tag通过

 

注意

·         如果用户的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.5.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的安全模式已关闭,否则业务数据会被丢弃。

 

表2-4 Voice VLAN的安全/普通模式对报文的处理

Voice VLAN工作模式

报文类型

处理方式

安全模式

Untagged报文

当报文的源MAC地址是可识别的OUI地址时,允许该报文在Voice VLAN内传输,否则将该报文丢弃

带有Voice VLAN Tag的报文

带有其他VLAN Tag的报文

根据指定端口是否允许该VLAN通过来对报文进行转发和丢弃的处理,不受Voice VLAN安全/普通模式的影响

普通模式

Untagged报文

不对报文的源MAC地址进行检查,所有报文均可以在Voice VLAN内进行传输

带有Voice VLAN Tag的报文

带有其他VLAN Tag的报文

根据指定端口是否允许该VLAN通过来对报文进行转发和丢弃的处理,不受Voice VLAN安全/普通模式的影响

 

2.6  Voice VLAN配置任务简介

表2-5 Voice VLAN配置任务简介

配置任务

说明

详细配置

配置语音报文的QoS优先级

必选

2.8.1 

配置自动模式下的Voice VLAN

二者必选其一

2.8.2 

配置手动模式下的Voice VLAN

2.8.3 

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

可选

2.8.4 

配置通过LLDP通过Voice VLAN信息

二者可选其一

2.8.5 

配置通过CDP通告Voice VLAN信息

2.8.6 

 

2.7  Voice VLAN配置限制和指导

·            Voice VLAN的老化定时器需在对应的MAC地址表项老化之后才能启动,因此Voice VLAN实际的老化时间为设备上配置的Voice VLAN老化时间与动态MAC地址表项老化时间之和。有关动态MAC地址老化时间的详细介绍,请参见“MAC地址表”。

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

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

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

2.8  配置Voice VLAN

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

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

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

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

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

表2-6 配置语音报文的QoS优先级

操作

命令

说明

进入系统视图

system-view

-

进入二层以太网接口视图

interface interface-type interface-number

-

配置端口信任Voice VLAN内语音报文的优先级

voice-vlan qos trust

二者选其一

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

配置端口将Voice VLAN内语音报文的CoS和DSCP值修改为指定值

voice-vlan qos cos-value dscp-value

 

2.8.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。

表2-7 配置自动模式下的Voice VLAN

操作

命令

说明

进入系统视图

system-view

-

(可选)配置Voice VLAN的老化时间

voice-vlan aging minutes

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

(可选)开启Voice VLAN的安全模式

voice-vlan security enable

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

(可选)配置Voice VLAN识别的OUI地址

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

Voice VLAN启动后将有缺省的OUI地址,请参见“表2-1设备缺省的OUI地址

进入二层以太网接口视图

interface interface-type interface-number

-

配置端口的链路类型

port link-type trunk

二者选其一

port link-type hybrid

配置端口的Voice VLAN工作模式为自动模式

voice-vlan mode auto

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

开启端口的Voice VLAN功能

voice-vlan vlan-id enable

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

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

 

2.8.3  配置手动模式下的Voice VLAN

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

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

·            不允许在聚合组的成员端口上开启Voice VLAN功能。有关聚合组的成员端口的详细介绍,请参见“二层技术-以太网交换配置指导”中的“以太网链路聚合”。

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

表2-8 配置手动模式下的Voice VLAN

操作

命令

说明

进入系统视图

system-view

-

(可选)开启Voice VLAN的安全模式

voice-vlan security enable

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

(可选)配置Voice VLAN中可识别的OUI地址

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

Voice VLAN启动后将有缺省的OUI地址,请参见“表2-1设备缺省的OUI地址

进入二层以太网接口视图

interface interface-type interface-numberi

-

配置端口的Voice VLAN工作模式为手动模式

undo voice-vlan mode auto

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

将手动模式端口加入Voice VLAN

Access端口

请参见“1.4.2  配置基于Access端口的VLAN

三者选其一

将Access端口加入Voice VLAN后,Voice VLAN会自动成为PVID

Trunk端口

请参见“1.4.3  配置基于Trunk端口的VLAN

Hybrid端口

请参见“1.4.4  配置基于Hybrid端口的VLAN

(可选)配置PVID为Voice VLAN

Trunk端口

请参见“1.4.3  配置基于Trunk端口的VLAN

二者选其一

当输入的语音流是Untagged语音流时,需要进行该项配置;当输入的语音流是Tagged语音流时,不能将PVID配置为Voice VLAN

Hybrid端口

请参见“1.4.4  配置基于Hybrid端口的VLAN

开启端口的Voice VLAN功能

voice-vlan vlan-id enable

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

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

 

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

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

·            在配置本功能前,需要在全局和接入端口均开启LLDP功能。

·            通过LLDP自动发现IP电话功能只能与Voice VLAN自动模式配合使用,不能与手动模式配合使用。

·            通过LLDP自动发现IP电话功能建议与Voice VLAN普通模式配合使用,否则可能导致IP电话无法正常上线。

·            通过LLDP自动发现IP电话功能与LLDP兼容CDP功能不能同时配置。

·            设备开启通过LLDP自动发现IP电话功能后,每个端口最多可以接入5台IP电话。

表2-9 配置通过LLDP自动发现IP电话功能

操作

命令

说明

进入系统视图

system-view

-

开启通过LLDP自动发现IP电话功能

voice-vlan track lldp

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

 

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

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

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

表2-10 配置通过LLDP通告Voice VLAN信息

操作

命令

说明

进入系统视图

system-view

-

进入二层以太网接口视图

interface interface-type interface-number

-

配置端口上发布的Voice VLAN ID

lldp tlv-enable med-tlv network-policy vlan-id

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

 

说明

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

·         有关lldp tlv-enable命令和display lldp local-information命令的详细介绍,请参见“二层技术-以太网交换命令参考”中的“LLDP”。

 

2.8.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功能。

表2-11 配置通过CDP通告Voice VLAN信息

操作

命令

说明

 

进入系统视图

system-view

-

 

开启LLDP兼容CDP功能

lldp compliance cdp

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

进入二层以太网接口视图

interface interface-type interface-number

-

配置LLDP兼容CDP功能的工作模式为TxRx

lldp compliance admin-status cdp txrx

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

配置CDP报文携带的Voice VLAN ID

cdp voice-vlan vlan-id

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

 

说明

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

 

2.9  Voice VLAN显示和维护

在完成上述配置后,在任意视图下执行display命令可以显示配置后Voice VLAN的运行情况,通过查看显示信息验证配置的效果。

表2-12 Voice VLAN显示和维护

操作

命令

显示Voice VLAN的状态

display voice-vlan state

显示系统当前支持的OUI地址

display voice-vlan mac-address

 

2.10  Voice VLAN典型配置举例

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

1. 组网需求

·            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老化。

2. 组网图

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

3. 配置步骤

# 创建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

4. 显示和验证

# 显示当前系统支持的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

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

1. 组网需求

·            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,使该端口专用于传输语音报文。

2. 组网图

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

3. 配置步骤

# 配置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

4. 显示与验证

# 显示当前系统支持的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

 

不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!

联系我们