02-VLAN配置
本章节下载 (537.48 KB)
以太网是一种基于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的字段。由于二层交换机工作在OSI模型的数据链路层,只能对报文的数据链路层封装进行识别。因此,如果添加识别字段,也需要添加到数据链路层封装中。
IEEE(Institute of Electrical and Electronics Engineers,电气和电子工程师学会)于1999年颁布了用以标准化VLAN实现方案的IEEE 802.1Q协议标准草案,对带有VLAN标识的报文结构进行了统一规定。
传统的以太网报文在目的MAC地址和源MAC地址之后封装的是上层协议的类型字段,如图1-2所示,其中DA表示目的MAC地址,SA表示源MAC地址,Type表示上层协议的类型。
IEEE 802.1Q协议规定,在以太网报文的目的MAC地址和源MAC地址之后、协议类型字段之前加入4个字节的VLAN Tag,用以标识VLAN的相关信息,如图1-3所示。
图1-3 VLAN Tag的组成字段
如图1-3所示,VLAN Tag包含四个字段,分别是TPID(Tag Protocol Identifier,标签协议标识符)、Priority、CFI(Canonical Format Indicator,标准格式指示位)和VLAN ID。
· TPID用来表示报文是否带有VLAN Tag,长度为16比特,缺省情况下,TPID取值为0x8100,表示数据帧中包括VLAN Tag。但各设备厂商可以自定义该字段的值。当邻居设备将TPID值配置为非0x8100时,为了能够识别这样的报文,实现互通,必须在本设备上修改TPID值,确保和邻居设备的TPID值配置一致。如果报文的TPID值为配置值或0x8100,则该报文被认为带有VLAN Tag。配置TPID值的相关命令请参见“二层技术-以太网交换命令参考”中的“VLAN终结”。
· Priority用来表示报文的802.1p优先级,长度为3比特,相关内容请参见“ACL和QoS配置指导”中的“QoS”。
· CFI用来表示MAC地址在不同的传输介质中是否以标准格式进行封装,长度为1比特,取值为0表示MAC地址以标准格式进行封装,为1表示以非标准格式封装,缺省取值为0。
· VLAN ID用来表示该报文所属VLAN的编号,长度为12比特,取值范围为0~4095。由于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会被视为报文的普通数据部分。
目前,设备仅支持基于端口的VLAN。
与VLAN相关的协议规范有:
· IEEE 802.1Q:IEEE Standard for Local and Metropolitan Area Networks: Virtual Bridged Local Area Networks
表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 100的名称为“VLAN 0100” |
配置当前VLAN的描述信息 |
description text |
可选 缺省情况下,VLAN的描述信息为“VLAN vlan-id”,其中vlan-id为该VLAN的编号。例如,VLAN 100的描述信息为“VLAN 0100” |
· VLAN 1为系统缺省VLAN,用户不能手工创建和删除。
· 保留VLAN是系统为实现特定功能预留的VLAN,用户也不能手工创建和删除。
· 不能通过undo vlan命令直接删除设备上动态学习到的VLAN,只有将相关配置删除之后,才能删除相应的VLAN。
不同VLAN间的主机不能直接通信,通过在设备上配置VLAN接口,可以实现VLAN间的三层互通。
VLAN接口是一种三层的虚拟接口,它不作为物理实体存在于设备上。每个VLAN对应一个VLAN接口,在为VLAN接口配置了IP地址后,该IP地址即可作为本VLAN内网络设备的网关地址,对需要跨网段的报文进行基于IP地址的三层转发。
表1-2 配置VLAN接口基本属性
配置 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建VLAN接口并进入VLAN接口视图 |
interface vlan-interface vlan-interface-id |
必选 如果该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接口的MAC地址 |
mac-address mac-address |
可选 |
配置VLAN接口的期望带宽 |
bandwidth bandwidth-value |
可选 |
恢复VLAN接口的缺省配置 |
default |
可选 |
取消手工关闭VLAN接口 |
undo shutdown |
可选 缺省情况下,未手工关闭VLAN接口。此时VLAN接口状态受VLAN中端口状态的影响,即:当VLAN中所有以太网端口状态均为down时,VLAN接口为down状态,即关闭状态;当VLAN中有一个或一个以上的以太网端口处于up状态时,则VLAN接口处于up状态。 |
在创建VLAN接口之前,对应的VLAN必须已经存在,否则将不能创建指定的VLAN接口。
基于端口划分VLAN是最简单、最有效的VLAN划分方法。它按照设备端口来定义VLAN成员,将指定端口加入到指定VLAN中之后,端口就可以转发该VLAN的报文。
根据端口在转发报文时对VLAN Tag标签的不同处理方式,可将端口的链路类型分为三种:
· Access连接:端口发出去的报文不带VLAN Tag标签。一般用于和不能识别VLAN Tag的终端设备相连,或者不需要区分不同VLAN成员时使用。如图1-4所示,Device A和普通的PC相连,PC不能识别带VLAN Tag的报文,所以需要将Device A和PC相连端口的链路类型设置为Access。
· Trunk连接:端口发出去的报文,端口缺省VLAN内的报文不带Tag,其它VLAN内的报文都必须带Tag。通常用于网络传输设备之间的互连。如图1-4所示,Device A和Device B之间需要传输VLAN 2和VLAN 3的报文,所以,需要将Device A和Device B相连端口的链路类型设置为Trunk,并允许VLAN 2和VLAN 3通过。
· Hybrid连接:端口发出去的报文可根据需要配置某些VLAN内的报文带Tag,某些VLAN内的报文不带Tag。通常在不确定相连的设备是否支持VLAN Tag(即是否可以识别携带VLAN Tag的报文)时,配置某些VLAN内的报文不带Tag。如图1-4所示,Device C与一个小局域网相连,局域网中有些PC属于VLAN 2,有些PC属于VLAN 3,此时Device B不确定Device C是否支持VLAN Tag,需要将与Device C相连端口的链路类型设置为Hybrid,并允许VLAN 2和VLAN 3的报文不带Tag通过。
除了可以设置端口允许通过的VLAN外,还可以设置端口的缺省VLAN,即PVID(Port VLAN ID,端口VLAN ID)。在缺省情况下,所有端口的缺省VLAN均为VLAN 1,但用户可以根据需要进行配置。
· Access端口的缺省VLAN就是它所在的VLAN,
· Trunk端口和Hybrid端口可以允许多个VLAN通过,能够配置缺省VLAN。
· 当执行undo vlan命令删除的VLAN是某个端口的缺省VLAN时,对Access端口,端口的缺省VLAN会恢复到VLAN 1;对Trunk或Hybrid端口,端口的缺省VLAN配置不会改变,即它们可以使用已经不存在的VLAN作为缺省VLAN。
· 当Voice VLAN工作模式为自动模式时,不能将缺省VLAN设置为Voice VLAN。有关Voice VLAN的相关内容,请参见“3 Voice VLAN”。
· 建议本端设备端口的缺省VLAN ID和相连的对端设备端口的缺省VLAN ID保持一致。
· 建议保证端口的缺省VLAN为端口允许通过的VLAN。如果端口不允许某VLAN通过,但是端口的缺省VLAN为该VLAN,则端口会丢弃收到的该VLAN的报文或者不带VLAN Tag的报文。
在配置了端口链路类型和缺省VLAN后,端口对报文的接收和发送的处理有几种不同情况,具体情况请参看表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(包括缺省VLAN)的报文时是否携带Tag |
配置基于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必须已经存在。
· 在VLAN视图下向VLAN中添加端口时,只能添加二层以太网端口。
· 仅MSR 2600、MSR 30、MSR800、MSR900-E、MSR 930、MSR 50和MSR3600-51F路由器支持二层聚合接口。
Trunk端口可以允许多个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-list | all } |
必选 缺省情况下,Trunk端口只允许VLAN 1的报文通过 |
|
设置Trunk端口的缺省VLAN |
port trunk pvid vlan vlan-id |
可选 缺省情况下,Trunk端口的缺省VLAN为VLAN 1 |
· Trunk端口和Hybrid端口之间不能直接切换,只能先设为Access端口,再设置为其它类型端口。
· 配置缺省VLAN后,必须使用port trunk permit vlan命令配置允许缺省VLAN的报文通过,出接口才能转发缺省VLAN的报文。
· 仅MSR 2600、MSR 30、MSR800、MSR900-E、MSR 930、MSR 50和MSR3600-51F路由器支持二层聚合接口。
Hybrid端口可以允许多个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-list { tagged | untagged } |
必选 缺省情况下,Hybrid端口只允许VLAN 1的报文以Untagged方式通过(即VLAN 1的报文从该端口发送出去后不携带VLAN Tag) |
|
设置Hybrid端口的缺省VLAN |
port hybrid pvid vlan vlan-id |
可选 缺省情况下,Hybrid端口的缺省VLAN为VLAN 1 |
· Trunk端口和Hybrid端口之间不能直接切换,只能先设为Access端口,再设置为其它类型端口。
· 在设置允许指定的VLAN通过Hybrid端口之前,允许通过的VLAN必须已经存在。
· 配置缺省VLAN后,必须使用port hybrid vlan命令配置允许缺省VLAN的报文通过,出接口才能转发缺省VLAN的报文。
· 仅MSR 2600、MSR 30、MSR800、MSR900-E、MSR 930、MSR 50和MSR3600-51F路由器支持二层聚合接口。
· Host A和Host C属于部门A,但是通过不同的设备接入公司网络;Host B和Host D属于部门B,也通过不同的设备接入公司网络。
· 为了通信的安全性,也为了避免广播报文泛滥,公司网络中使用VLAN技术来隔离部门间的二层流量。其中部门A使用VLAN 100,部门B使用VLAN 200。
· 现要求不管是否使用相同的设备接入公司网络,同一VLAN内的主机能够互通。即Host A和Host C能够互通,Host B和Host D能够互通。
图1-5 基于端口的VLAN组网图
配置Router A
# 创建VLAN 100,并将Ethernet1/1加入VLAN 100。
<RouterA> system-view
[RouterA] vlan 100
[RouterA-vlan100] port ethernet 1/1
[RouterA-vlan100] quit
# 创建VLAN 200,并将Ethernet1/2加入VLAN 200。
[RouterA] vlan 200
[RouterA-vlan200] port ethernet 1/2
[RouterA-vlan200] quit
# 为了使Router A上VLAN 100和VLAN 200的报文能发送给Router B,将Ethernet1/3的链路类型配置为Trunk,并允许VLAN 100和VLAN 200的报文通过。
[RouterA] interface ethernet 1/3
[RouterA-Ethernet1/3] port link-type trunk
[RouterA-Ethernet1/3] port trunk permit vlan 100 200
Please wait... Done.
Router B上的配置与Router A上的配置完全一样,不再赘述。
将Host A和Host C配置在一个网段,比如192.168.100.0/24;将Host B和Host D配置在一个网段,比如192.168.200.0/24。
Host A和Host C能够互相ping通,但是均不能ping通Host B。Host B和Host D能够互相ping通,但是均不能ping通Host A。
通过查看显示信息验证配置是否成功。
# 查看Router A上VLAN 100和VLAN 200的配置信息,验证以上配置是否生效。
[RouterA-Ethernet1/3] display vlan 100
VLAN ID: 100
VLAN Type: static
Route Interface: not configured
Description: VLAN 0100
Name: VLAN 0100
Broadcast MAX-ratio: 100%
Tagged Ports:
Ethernet1/3
Untagged Ports:
Ethernet1/1
[RouterA-Ethernet1/3] display vlan 200
VLAN ID: 200
VLAN Type: static
Route Interface: not configured
Description: VLAN 0200
Name: VLAN 0200
Broadcast MAX-ratio: 100%
Tagged Ports:
Ethernet1/3
Untagged Ports:
Ethernet1/2
在完成上述配置后,在任意视图下执行display命令可以显示配置后VLAN的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除接口统计信息。
表1-8 VLAN显示和维护
操作 |
命令 |
显示VLAN相关信息 |
display vlan [ vlan-id1 [ to vlan-id2 ] | all | dynamic | reserved | static ] [ | { begin | exclude | include } regular-expression ] |
显示VLAN接口相关信息 |
display interface [ vlan-interface ] [ brief [ down ] ] [ | { begin | exclude | include } regular-expression ] display interface vlan-interface vlan-interface-id [ brief ] [ | { begin | exclude | include } regular-expression ] |
显示设备上当前存在的Hybrid或Trunk端口 |
display port { hybrid | trunk } [ | { begin | exclude | include } regular-expression ] |
清除接口的统计信息 |
reset counters interface vlan-interface [ vlan-interface-id ] |
MSR系列路由器各款型对于本节所描述的特性支持情况有所不同,详细差异信息如下:
特性 |
描述 |
|
MSR800 |
Super VLAN配置 |
不支持 |
MSR 900 |
不支持 |
|
MSR900-E |
不支持 |
|
MSR 930 |
不支持 |
|
MSR 20-1X |
不支持 |
|
MSR 20 |
不支持 |
|
MSR 30 |
仅MSR 30-11E、MSR 30-11F和安装了XMIM二层交换模块的MSR 30-10和MSR 30-11支持 |
|
MSR 50 |
不支持 |
|
MSR 2600 |
不支持 |
|
MSR3600-51F |
支持 |
随着网络的发展,网络地址资源日趋紧张,为了节省IP地址,Super VLAN的概念被提出来。Super VLAN又称为VLAN聚合(VLAN Aggregation),其原理是一个Super VLAN和多个Sub VLAN关联,Super VLAN内不能加入物理端口,但可以创建对应的VLAN接口,VLAN接口下可以配置IP地址;Sub VLAN可以加入物理端口,但不能创建对应的VLAN接口,所有Sub VLAN内的端口共用Super VLAN的VLAN接口IP地址,不同Sub VLAN之间二层相互隔离。当Sub VLAN内的用户需要进行三层通信时,将使用Super VLAN的IP地址作为网关地址,这样多个Sub VLAN共享一个网关地址,从而节省了IP地址资源。
为了实现Sub VLAN之间的三层互通,在创建好Super VLAN和VLAN接口之后,用户需要开启设备的本地代理功能:
· 对于IPv4网络环境,用户需要在Super VLAN的VLAN接口上开启本地代理ARP功能,Super VLAN利用本地代理ARP可以进行ARP请求和响应报文的转发与处理,从而实现了Sub VLAN之间的三层互通。
· 对于IPv6网络环境,用户需要在Super VLAN的VLAN接口上开启本地代理ND功能,Super VLAN利用本地代理ND可以进行ND请求和响应报文的转发与处理,从而实现了Sub VLAN之间的三层互通。
Super VLAN功能的配置包括三个必选步骤:
(1) 配置Sub VLAN,主要是创建Sub VLAN。
(2) 配置Super VLAN,主要是创建Super VLAN,并将Super VLAN和Sub VLAN关联起来。
(3) 配置Super VLAN对应的VLAN接口,该接口主要用于接入用户和Sub VLAN之间的通信。
表2-1 配置Sub VLAN
配置 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建VLAN用作Sub VLAN,并进入VLAN视图 |
vlan vlan-id |
必选 如果指定的VLAN不存在,则该命令先完成VLAN的创建,然后再进入该VLAN的视图 |
表2-2 配置Super VLAN
配置 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入VLAN视图 |
vlan vlan-id |
必选 如果指定的VLAN不存在,则该命令先完成VLAN的创建,然后再进入该VLAN的视图 |
设置VLAN类型为Super VLAN |
supervlan |
必选 缺省情况下,用户创建的VLAN不是Super VLAN类型的VLAN |
配置Super VLAN和Sub VLAN间的映射关系 |
subvlan vlan-list |
必选 vlan-list必须是当前已创建的准备用作Sub VLAN的VLAN |
一个VLAN不能同时设置为Super VLAN和Sub VLAN。
表2-3 配置Super VLAN对应的VLAN接口
配置 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建VLAN接口,并进入VLAN接口视图 |
interface vlan-interface vlan-interface-id |
必选 vlan-interface-id的值必须等于Super VLAN ID |
配置VLAN接口的IP地址 |
ip address ip-address { mask | mask-length } [ sub ] |
二者必选其一 缺省情况下,没有配置VLAN接口的IP地址 |
ipv6 address { ipv6-address { prefix-length | link-local } | ipv6-address/prefix-length [ anycast | eui-64 ] | auto [ link-local ] } |
||
开启本地代理ARP功能 |
local-proxy-arp enable |
二者必选其一 缺省情况下,本地代理ARP功能和本地代理ND功能均处于关闭状态 |
开启本地代理ND功能 |
local-proxy-nd enable |
· 以上步骤中配置的VLAN接口的IP地址就是对应的Super VLAN的IP地址。
· 本地代理ARP功能的相关介绍请参见“三层技术-IP业务配置指导”中的“ARP”;local-proxy-arp enable命令的相关描述请参见“三层技术-IP业务命令参考”中的“代理ARP”。
· 本地代理ND功能的相关介绍请参见“三层技术-IP业务配置指导”中的“IPv6基础”;local-proxy-nd enable命令的相关描述请参见“三层技术-IP业务命令参考”中的“IPv6基础”。
· 如果某个VLAN被指定为Super VLAN,则该VLAN不能被指定为某个端口的Guest VLAN;同样,如果某个VLAN被指定为某个端口的Guest VLAN,则该VLAN不能被指定为Super VLAN。Guest VLAN的相关内容请参见“安全配置指导”中的“802.1X”。
· 在Super VLAN下可以配置二层组播功能,但是该配置将不会生效。
· 在Super VLAN对应的VLAN接口下可以配置DHCP、三层组播、动态路由、NAT等功能,但是只有DHCP的配置生效,其它配置将不会生效。
· 在Super VLAN对应的VLAN接口下配置VRRP功能后,会对网络性能造成影响,建议不要这样配置。VRRP的详细描述请参见“可靠性配置指导”中的“VRRP”。
在完成上述配置后,在任意视图下执行display命令可以显示配置后Super VLAN的运行情况,通过查看显示信息验证配置的效果。
表2-4 Super VLAN显示和维护
操作 |
命令 |
显示Super VLAN和Sub VLAN之间的映射关系 |
display supervlan [ supervlan-id ] [ | { begin | exclude | include } regular-expression ] |
· 创建Super VLAN 10,VLAN接口的IP地址为10.0.0.1/24。
· 创建Sub VLAN:VLAN 2、VLAN 3、VLAN 5。
· 端口Ethernet1/1和端口Ethernet1/2属于VLAN 2,端口Ethernet1/3和端口Ethernet1/4属于VLAN 3,端口Ethernet1/5和端口Ethernet1/6属于VLAN 5。
· 各Sub VLAN的用户之间能够满足二层隔离和三层互通。
图2-1 配置Super-vlan组网图
# 创建VLAN 10,配置VLAN接口的IP地址为10.0.0.1/24。
<Sysname> system-view
[Sysname] vlan 10
[Sysname-vlan10] quit
[Sysname] interface vlan-interface 10
[Sysname-Vlan-interface10] ip address 10.0.0.1 255.255.255.0
# 为实现Super VLAN特性,开启设备的本地代理功能。
[Sysname-Vlan-interface10] local-proxy-arp enable
[Sysname-Vlan-interface10] quit
# 创建VLAN 2,并添加端口Ethernet1/1和端口Ethernet1/2。
[Sysname] vlan 2
[Sysname-vlan2] port ethernet 1/1 ethernet 1/2
[Sysname-vlan2] quit
# 创建VLAN 3,并添加端口Ethernet1/3和端口Ethernet1/4。
[Sysname] vlan 3
[Sysname-vlan3] port ethernet 1/3 ethernet 1/4
[Sysname-vlan3] quit
# 创建VLAN 5,并添加端口Ethernet1/5和端口Ethernet1/6。
[Sysname] vlan 5
[Sysname-vlan5] port ethernet 1/5 ethernet 1/6
[Sysname-vlan5] quit
# 指定VLAN 10为Super VLAN,VLAN 2、VLAN 3和VLAN 5为Sub VLAN。
[Sysname] vlan 10
[Sysname-vlan10] supervlan
[Sysname-vlan10] subvlan 2 3 5
[Sysname-vlan10] quit
[Sysname] quit
# 查看Super VLAN的相关信息,验证以上配置是否生效。
<Sysname> display supervlan
SuperVLAN ID : 10
SubVLAN ID : 2-3 5
VLAN ID: 10
VLAN Type: static
It is a Super VLAN.
Route Interface: configured
Ip Address: 10.0.0.1
Subnet Mask: 255.255.255.0
Description: VLAN 0010
Name:VLAN 0010
Tagged Ports: none
Untagged Ports: none
VLAN ID: 2
VLAN Type: static
It is a Sub VLAN.
Route Interface: configured
Ip Address: 10.0.0.1
Subnet Mask: 255.255.255.0
Description: VLAN 0002
Name:VLAN 0002
Tagged Ports: none
Untagged Ports:
Ethernet1/1 Ethernet1/2
VLAN ID: 3
VLAN Type: static
It is a Sub VLAN.
Route Interface: configured
Ip Address: 10.0.0.1
Subnet Mask: 255.255.255.0
Description: VLAN 0003
Name:VLAN 0003
Tagged Ports: none
Untagged Ports:
Ethernet1/3 Ethernet1/4
VLAN ID: 5
VLAN Type: static
It is a Sub VLAN.
Route Interface: configured
Ip Address: 10.0.0.1
Subnet Mask: 255.255.255.0
Description: VLAN 0005
Name:VLAN 0005
Tagged Ports: none
Untagged Ports:
Ethernet1/5 Ethernet1/6
MSR系列路由器各款型对于本节所描述的特性支持情况有所不同,详细差异信息如下:
型号 |
特性 |
描述 |
MSR800 |
Voice VLAN |
不支持 |
MSR 900 |
不支持 |
|
MSR900-E |
不支持 |
|
MSR 930 |
不支持 |
|
MSR 20-1X |
不支持 |
|
MSR 20 |
不支持 |
|
MSR 30 |
仅MSR 30-11E、MSR 30-11F固定二层以太网接口和安装了MIM、XMIM二层交换模块支持 |
|
MSR 50 |
仅安装了FIC二层以太网交换模块支持 |
|
MSR 2600 |
支持 |
|
MSR3600-51F |
支持 |
随着语音技术的日益发展,语音设备应用越来越广泛,尤其在宽带小区,网络中经常同时存在语音数据和业务数据两种流量。通常,语音数据在传输时需要具有比业务数据更高的优先级,以减少传输过程中可能产生的时延和丢包现象。
Voice VLAN是为用户的语音数据流而专门划分的VLAN。通过划分Voice VLAN并将连接语音设备的端口加入Voice VLAN,系统自动为语音报文修改QoS(Quality of Service,服务质量)参数,来提高语音数据报文优先级、保证通话质量。
常见的语音设备有IP电话、IAD(Integrated Access Device,综合接入设备)等。本文中以IP电话为例进行说明。
设备可以根据进入端口的数据报文中的源MAC地址字段来判断该数据流是否为语音数据流。源MAC地址符合系统设置的语音设备OUI(Organizationally Unique Identifier,全球统一标识符)地址的报文被认为是语音数据流。
用户可以预先设置OUI地址,也可以使用缺省的OUI地址作为判断标准。设备缺省的OUI地址如表3-1所示。
序号 |
OUI地址 |
生产厂商 |
1 |
0001-E300-0000 |
Siemens phone |
2 |
0003-6B00-0000 |
Cisco phone |
3 |
0004-0D00-0000 |
Avaya phone |
4 |
00D0-1E00-0000 |
Pingtel phone |
5 |
0060-B900-0000 |
Philips/NEC phone |
6 |
00E0-7500-0000 |
Polycom phone |
7 |
00E0-BB00-0000 |
3Com phone |
· 通常意义下,OUI地址指的是MAC地址的前24位(二进制),是IEEE为不同设备供应商分配的一个全球唯一的标识符。本文中的OUI地址有别于通常意义的OUI地址,它是设备判断收到的报文是否为语音报文的依据,是voice vlan mac-address命令中的mac-address和oui-mask参数相与的结果。
· 设备缺省的OUI地址可以手工删除,删除之后也可再次手工添加。
Voice VLAN的工作模式包括自动模式和手动模式,这个自动和手动指的是端口加入Voice VLAN的方式。
· 自动模式:系统利用IP电话上电时发出的协议报文,通过识别报文的源MAC,匹配OUI地址。匹配成功后,系统将自动把语音报文的入端口加入Voice VLAN,并下发ACL规则、配置报文的优先级。用户可以在设备上设置Voice VLAN的老化时间,当在老化时间内,系统没有从入端口收到任何语音报文时,系统将把该端口从Voice VLAN中删除。端口的添加/删除到Voice VLAN的过程由系统自动实现。自动模式适用于PC-IP电话串联接入(端口同时传输语音数据和普通业务数据)的组网方式,如图3-1所示。(当Voice VLAN正常工作时,如果遇到设备重新启动的情况,为保证已经建立的语音连接能够正常工作,系统会在重新启动完成后,将配置为自动模式的端口重新加入Voice VLAN,而不需要再次通过语音流触发。)
图3-1 主机与IP电话串联接入组网图
· 手动模式下,需要通过手工把IP电话接入端口加入Voice VLAN中。再通过识别报文的源MAC,匹配OUI地址。匹配成功后,系统将下发ACL规则、配置报文的优先级。端口的添加/删除到Voice VLAN的过程由管理员手动实现。手动模式适用于IP电话单独接入(端口仅传输语音报文)的组网方式,如图3-2所示。该组网方式可以使该端口专用于传输语音数据,最大限度避免业务数据对语音数据传输的影响。
图3-2 IP电话单独接入组网图
对于IP电话发出的携带Tag标签的报文,两种模式处理方式一致,只根据标签进行转发。
由于IP电话类型较多,因此需要用户保证端口的链路类型与IP电话能够匹配,详细配合关系请见下表:
· IP电话发送Tagged语音数据
表3-2 不同类型端口支持Tagged语音数据配置要求
端口类型 |
Voice VLAN工作模式 |
是否支持Tagged语音数据 |
配置要求 |
Access |
自动模式 |
不支持 |
- |
手工模式 |
|||
Trunk |
自动模式 |
支持 |
缺省VLAN不能为Voice VLAN |
手工模式 |
缺省VLAN不能为Voice VLAN,需要配置端口允许Voice VLAN的报文通过 |
||
Hybrid |
自动模式 |
支持 |
缺省VLAN不能为Voice VLAN |
手工模式 |
缺省VLAN不能为Voice VLAN,需要配置端口允许Voice VLAN的报文携带Tag通过 |
· IP电话发送Untagged语音数据
当IP电话发送Untagged语音数据,则端口的Voice VLAN工作模式只能为手工模式,不能为自动模式。
表3-3 不同类型端口支持Untagged语音数据配置要求
端口类型 |
Voice VLAN工作模式 |
是否支持Untagged语音数据 |
配置要求 |
Access |
自动模式 |
不支持 |
- |
手工模式 |
支持 |
将缺省VLAN配置为Voice VLAN |
|
Trunk |
自动模式 |
不支持 |
- |
手工模式 |
支持 |
接入端口的缺省VLAN必须是Voice VLAN,且接入端口允许该VLAN通过 |
|
Hybrid |
自动模式 |
不支持 |
- |
手工模式 |
支持 |
接入端口的缺省VLAN必须是Voice VLAN,且在接入端口允许通过的Untagged VLAN列表中 |
· 如果用户的IP Phone发出的是Tagged语音流,且接入的端口上使能了802.1X认证和Guest VLAN,为保证各种功能的正常使用,请为Voice VLAN、端口的缺省VLAN和802.1X的Guest VLAN分配不同的VLAN ID。
· 如果用户的IP Phone发出的是Untagged语音流,为实现Voice VLAN功能,只能将接入端口的缺省VLAN配置为Voice VLAN,此时将不能实现802.1X认证功能。
· 所有端口的缺省VLAN都是VLAN 1,用户可以通过命令设置端口的缺省VLAN,也可以通过命令设置允许某个VLAN通过该端口。相关操作请参见“1.4 配置基于端口的VLAN”。
· 可以通过display interface命令来查看端口允许通过的VLAN及缺省VLAN等信息。
根据使能了Voice VLAN功能的端口对接收到的数据包的过滤机制又可以将Voice VLAN的工作模式分为普通模式和安全模式:
· 普通模式下,端口加入Voice VLAN后,设备对于接收的语音报文不再一一进行识别,凡是带有Voice VLAN Tag的报文,设备将不再检查其源MAC地址是否为语音设备的OUI地址,均接收并在Voice VLAN中转发。对于缺省VLAN就是Voice VLAN的手工模式端口,会导致任意的Untagged报文都可以在Voice VLAN中传输。这样的处理方式很容易使Voice VLAN收到恶意用户的流量攻击。恶意用户可以构造大量带有Voice VLAN Tag的报文,占用Voice VLAN的带宽,影响正常的语音通信。
· 安全模式下,设备将对每一个要进入Voice VLAN传输的报文进行源MAC匹配检查,对于不能匹配OUI地址的报文,则将其丢弃。
对于比较安全的网络,用户可以配置Voice VLAN的普通模式,以减少检查报文的工作对系统资源的占用。
建议用户尽量不要在Voice VLAN中同时传输语音和业务数据。如确有此需要,请确认Voice VLAN的安全模式已关闭。
表3-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安全/普通模式的影响 |
(1) 创建VLAN
配置Voice VLAN之前,须先创建对应的VLAN。
(2) 确定将要配置的Voice VLAN的工作模式
· 配置自动模式的Voice VLAN,请参见3.2.2 配置自动模式下的Voice VLAN;
· 配置手动模式的Voice VLAN,请参见3.2.3 配置手动模式下的Voice VLAN。
表3-5 配置自动模式下的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地址,请参见“表3-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功能 |
voice vlan vlan-id enable |
必选 缺省情况下,端口没有使能Voice VLAN功能 |
表3-6 配置手动模式下的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地址,请参见“表3-1设备缺省的OUI地址” |
|
进入二层以太网接口视图 |
interface interface-type interface-number |
- |
|
配置端口的Voice VLAN工作模式为手动模式 |
undo voice vlan mode auto |
必选 缺省情况下,端口的Voice VLAN工作在自动模式 |
|
将手动模式端口加入Voice VLAN |
Access端口 |
请参见“1.4.2 配置基于Access端口的VLAN” |
三者必选其一 将Access端口加入Voice VLAN后,Voice VLAN会自动成为Access端口的缺省VLAN |
Trunk端口 |
请参见“1.4.3 配置基于Trunk端口的VLAN” |
||
Hybrid端口 |
请参见“1.4.4 配置基于Hybrid端口的VLAN” |
||
设置Voice VLAN为端口的缺省VLAN |
Trunk端口 |
请参见“1.4.3 配置基于Trunk端口的VLAN” |
可选 当输入的语音流是Untagged语音流时,需要进行该项配置;当输入的语音流是Tagged语音流时,不能将Voice VLAN设置为端口的缺省VLAN |
Hybrid端口 |
请参见“1.4.4 配置基于Hybrid端口的VLAN” |
||
使能端口的Voice VLAN功能 |
voice vlan vlan-id enable |
必选 缺省情况下,端口没有使能Voice VLAN功能 |
· 同一设备同一时刻可以给不同的端口配置不同的Voice VLAN,但一个端口只能配置一个Voice VLAN,而且这些VLAN必须是已经存在的静态VLAN。
· 不允许在聚合组的成员端口上使能Voice VLAN功能。有关聚合组的成员端口的详细介绍,请参见“二层技术-以太网交换配置指导”中的“以太网链路聚合”。
· 当端口使能了Voice VLAN并工作在手工模式时,必须手工将端口加入Voice VLAN,才能保证Voice VLAN功能生效。
在完成上述配置后,在任意视图下执行display命令可以显示配置后Voice VLAN的运行情况,通过查看显示信息验证配置的效果。
表3-7 Voice VLAN显示和维护
操作 |
命令 |
显示Voice VLAN的状态 |
display voice vlan state [ | { begin | exclude | include } regular-expression ] |
显示系统当前支持的OUI地址 |
display voice vlan oui [ | { begin | exclude | include } regular-expression ] |
· IP phone A的MAC地址为0011-1100-0001,下行连接PC A(MAC地址为0022-1100-0002),上行连接到Router A的Ethernet1/1端口。
· IP phone B的MAC地址为0011-2200-0001,下行连接PC B(MAC地址为0022-2200-0002),上行连接到Router A的Ethernet1/2端口。
· Router A使用Voice VLAN 2传输IP phone A产生的语音报文;使用Voice VLAN 3传输IP phone B产生的语音报文。
· Ethernet1/1和Ethernet1/2工作在自动模式,如果它们在30分钟内没有收到语音流,就将相应的Voice VLAN老化。
图3-3 配置自动模式下Voice VLAN组网图
# 创建VLAN 2和VLAN 3。
<RouterA> system-view
[RouterA] vlan 2 to 3
Please wait... Done.
# 设置Voice VLAN的老化时间为30分钟。
[RouterA] voice vlan aging 30
# 由于Ethernet1/1端口可能会同时收到语音和数据两种流量,为了保证语音报文的质量以及带宽的高效利用,设置Voice VLAN工作在安全模式,即Voice VLAN只用于传输语音报文。(此步骤可省略,缺省情况下,Voice VLAN工作在安全模式)
[RouterA] voice vlan security enable
# 设置允许通过的OUI地址为MAC地址前缀为0011-1100-0000和0011-2200-0000,即当报文的前缀为0011-1100-0000或0011-2200-0000时,Router A会把它当成语音报文来处理。
[RouterA] voice vlan mac-address 0011-1100-0001 mask ffff-ff00-0000 description IP phone A
[RouterA] voice vlan mac-address 0011-2200-0001 mask ffff-ff00-0000 description IP phone B
# 将端口Ethernet1/1设定为Hybrid端口。
[RouterA] interface ethernet 1/1
[RouterA-Ethernet1/1] port link-type hybrid
# 将端口Ethernet1/1上Voice VLAN的工作模式设置为自动模式。(可选,缺省情况下,端口的Voice VLAN工作在自动模式。)
[RouterA-Ethernet1/1] voice vlan mode auto
# 使能端口Voice VLAN功能。
[RouterA-Ethernet1/1] voice vlan 2 enable
[RouterA-Ethernet1/1] quit
# 在Ethernet1/2上进行相应的配置。
[RouterA] interface ethernet 1/2
[RouterA-Ethernet1/2] port link-type hybrid
[RouterA-Ethernet1/2] voice vlan mode auto
[RouterA-Ethernet1/2] voice vlan 3 enable
# 显示当前系统支持的OUI地址、OUI地址掩码和描述信息。
<RouterA> display voice vlan oui
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
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的状态。
<RouterA> display voice vlan state
Maximum of Voice VLANs: 128
Current Voice VLANs: 2
Voice VLAN security mode: Security
Voice VLAN aging time: 30 minutes
Voice VLAN enabled port and its mode:
PORT VLAN MODE COS DSCP
--------------------------------------------------------------------
Ethernet1/1 2 AUTO 6 46
Ethernet1/2 3 AUTO 6 46
· 创建VLAN 2为Voice VLAN,只允许语音报文通过。
· IP Phone类型为Untagged,接入端口是Hybrid类型端口Ethernet1/1。
· 端口Ethernet1/1工作在手动模式,且允许OUI地址是0011-2200-0000、掩码是ffff-ff00-0000的语音报文通过,描述字符为test。
图3-4 配置手动模式下Voice VLAN组网图
# 设置Voice VLAN为安全模式,使得Voice VLAN端口只允许合法的语音报文通过。(可选,系统缺省为安全模式)
<RouterA> system-view
[RouterA] voice vlan security enable
# 设置OUI地址0011-2200-0000是Voice VLAN的合法地址。
[RouterA] voice vlan mac-address 0011-2200-0000 mask ffff-ff00-0000 description test
# 创建VLAN 2。
[RouterA] vlan 2
[RouterA-vlan2] quit
# 设置端口Ethernet1/1工作在手动模式。
[RouterA] interface ethernet 1/1
[RouterA-Ethernet1/1] undo voice vlan mode auto
# 设置端口Ethernet1/1为Hybrid类型。
[RouterA-Ethernet1/1] port link-type hybrid
# 设置Voice VLAN是端口Ethernet1/1的缺省VLAN,且在该端口允许通过的Untagged VLAN列表中。
[RouterA-Ethernet1/1] port hybrid pvid vlan 2
[RouterA-Ethernet1/1] port hybrid vlan 2 untagged
# 使能端口Ethernet1/1的Voice VLAN功能。
[RouterA-Ethernet1/1] voice vlan 2 enable
# 显示当前系统支持的OUI地址、OUI地址掩码和描述信息。
<RouterA> display voice vlan oui
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
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的状态。
<RouterA> display voice vlan state
Maximum of Voice VLANs: 128
Current Voice VLANs: 1
Voice VLAN security mode: Security
Voice VLAN aging time: 1440 minutes
Voice VLAN enabled port and its mode:
PORT VLAN MODE
-----------------------------------------------
Ethernet1/1 2 MANUAL
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!