04-VLAN配置操作
本章节下载 (518.45 KB)
目 录
VLAN(Virtual Local Area Network,虚拟局域网)技术的出现,主要为了解决交换机在进行局域网互连时无法限制广播的问题。这种技术可以把一个LAN划分成多个逻辑的LAN——VLAN,每个VLAN是一个广播域,VLAN内的主机间通信就和在一个LAN内一样,而VLAN间则不能直接互通,这样,广播报文被限制在一个VLAN内,如图1-1所示。
VLAN的划分不受物理位置的限制:不在同一物理位置范围的主机可以属于同一个VLAN;一个VLAN包含的用户可以连接在同一个交换机上,也可以跨越交换机,甚至可以跨越路由器。
VLAN的优点如下:
l 限制广播域。广播域被限制在一个VLAN内,节省了带宽,提高了网络处理能力。
l 增强局域网的安全性。不同VLAN内的报文在传输时是相互隔离的,即一个VLAN内的用户不能和其它VLAN内的用户直接通信,如果不同VLAN要进行通信,则需要通过路由器或三层交换机等三层设备。
l 灵活构建虚拟工作组。用VLAN可以划分不同的用户到不同的工作组,同一工作组的用户也不必局限于某一固定的物理范围,网络构建和维护更方便灵活。
VLAN根据划分方式的不同可以分为不同类型,下面给出了6种VLAN最常见的类型。
l 基于端口的VLAN
l 基于MAC地址的VLAN
l 基于协议的VLAN
l 基于IP子网的VLAN
l 基于策略的VLAN
l 其他VLAN
本章将结合S5500-SI系列以太网交换机的实际情况介绍基于端口的VLAN。
配置 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
批量创建多个VLAN |
vlan { vlan-id1 to vlan-id2 | all } |
可选 |
创建VLAN并进入VLAN视图 |
vlan vlan-id |
必选 如果指定的VLAN不存在,则该命令先完成VLAN的创建,然后再进入该VLAN的视图 |
为VLAN指定一个描述字符串 |
description text |
可选 缺省情况下,VLAN的描述字符串为该VLAN的VLAN ID,如“VLAN 0001” |
VLAN接口是一种三层模式下的虚拟接口,主要用于不同VLAN之间的三层互通。
表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接口 |
undo shutdown |
可选 缺省情况下,当VLAN接口下所有端口为down时,VLAN接口为down;当VLAN接口下有一个或一个以上的端口处于up状态,则VLAN接口为up |
& 说明:
在创建VLAN接口之前,对应的VLAN必须已经存在。否则,将不能创建指定的VLAN接口。
基于端口的VLAN是最简单、最有效的VLAN划分方法,它按照设备端口来定义VLAN成员。将指定端口加入到指定VLAN中之后,该端口就可以转发指定VLAN的报文。
根据端口在转发报文时对Tag标签的不同处理方式,可将端口的链路类型分为三种:
l Access类型:端口只能属于1个VLAN,并在发送该VLAN的报文时不带Tag标签,一般用于连接用户设备;
l Trunk类型:端口可以允许多个VLAN通过,可以接收和发送多个VLAN的报文,一般用于设备之间连接;
l Hybrid类型:端口可以允许多个VLAN通过,可以接收和发送多个VLAN的报文,可以用于设备之间连接,也可以用于连接用户设备。
Hybrid端口和Trunk端口的不同之处在于:
l Hybrid端口允许多个VLAN的报文发送时不带Tag标签;
l Trunk端口只允许缺省VLAN的报文发送时不带Tag标签。
除了可以设置端口允许通过的VLAN,还可以设置端口的缺省VLAN。在缺省情况下,所有端口的缺省VLAN均为VLAN1,但用户可以根据需要进行配置。
l Access端口的缺省VLAN就是它所在的VLAN,不能配置。
l Trunk端口和Hybrid端口可以允许多个VLAN通过,能够配置缺省VLAN。
l 当执行undo vlan命令删除的VLAN是某个端口的缺省VLAN时,对Access端口,端口的缺省VLAN会恢复到VLAN1;对Trunk或Hybrid端口,端口的缺省VLAN配置不会改变,即它们可以使用已经不存在的VLAN作为缺省VLAN。
& 说明:
Voice VLAN工作在自动模式的端口,不能将缺省VLAN配置为Voice VLAN,否则系统会提示用户无法进行配置。有关Voice VLAN的相关内容,请参见“第2章 Voice VLAN配置”部分的介绍。
在配置了端口链路类型和缺省VLAN后,端口对报文的接收和发送的处理有几种不同情况,具体情况请参看表1-3。
表1-3 端口收发报文的处理
端口类型 |
对接收报文的处理 |
对发送报文的处理 |
|
当接收到的报文不带Tag时 |
当接收到的报文带有Tag时 |
||
Access端口 |
为报文封装缺省VLAN的Tag |
l 当VLAN ID与缺省VLAN ID相同时,接收该报文 l 当VLAN ID与缺省VLAN ID不同时,丢弃该报文 |
由于VLAN ID就是缺省VLAN ID,去掉Tag,发送该报文 |
Trunk端口 |
l 当VLAN ID与缺省VLAN ID相同时,接收该报文 l 当VLAN ID与缺省VLAN ID不同,但VLAN ID是该端口允许通过的VLAN ID时,接收该报文 l 当VLAN ID与缺省VLAN ID不同,且VLAN ID是该端口不允许通过的VLAN ID时,丢弃该报文 |
l 当VLAN ID与缺省VLAN ID相同时:去掉Tag,发送该报文 l 当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不存在,则该命令先完成VLAN的创建,然后再进入该VLAN的视图 |
为指定的VLAN增加以太网端口 |
port interface-list |
必选 缺省情况下,系统将所有端口都加入到VLAN 1 |
表1-5 配置基于Access端口的VLAN(在以太网端口视图/端口组视图下)
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入以太网端口视图或端口组视图 |
进入以太网端口视图 |
interface interface-type interface-number |
二者必选其一 进入以太网端口视图后,下面进行的配置只在当前端口下生效;进入端口组视图后,下面进行的配置将在端口组中的所有端口生效 |
进入端口组视图 |
port-group { manual port-group-name | aggregation agg-id } |
||
配置端口的链路类型为Access类型 |
port link-type access |
可选 缺省情况下,端口的链路类型为Access类型 |
|
将当前Access端口加入到指定VLAN |
port access vlan vlan-id |
必选 缺省情况下,所有Access端口均只属于VLAN1 |
& 说明:
在将Access端口加入到指定VLAN之前,要加入的VLAN必须已经存在。
Trunk端口可以允许多个VLAN通过,可以在以太网端口视图/端口组视图下进行配置。
表1-6 配置基于Trunk端口的VLAN
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入以太网端口视图或端口组视图 |
进入以太网端口视图 |
interface interface-type interface-number |
二者必选其一 进入以太网端口视图后,下面进行的配置只在当前端口下生效;进入端口组视图后,下面进行的配置将在端口组中的所有端口生效 |
进入端口组视图 |
port-group { manual port-group-name | aggregation agg-id } |
||
配置端口的链路类型为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 |
& 说明:
l Trunk端口和Hybrid端口之间不能直接切换,只能先设为Access端口,再设置为其他类型端口。例如:Trunk端口不能直接被设置为Hybrid端口,只能先设为Access端口,再设置为Hybrid端口。
l 本端设备Trunk端口的缺省VLAN ID和相连的对端设备的Trunk端口的缺省VLAN ID必须一致,否则本端缺省VLAN的报文将不能正确传输至对端。
Hybrid端口可以允许多个VLAN通过,可以在以太网端口视图/端口组视图下进行配置。
表1-7 配置基于Hybrid端口的VLAN
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入以太网端口视图或端口组视图 |
进入以太网端口视图 |
interface interface-type interface-number |
二者必选其一 进入以太网端口视图后,下面进行的配置只在当前端口下生效;进入端口组视图后,下面进行的配置将在端口组中的所有端口生效 |
进入端口组视图 |
port-group { manual port-group-name | aggregation agg-id } |
||
配置端口的链路类型为Hybrid类型 |
port link-type hybrid |
必选 缺省情况下,端口的链路类型为Access类型 |
|
允许指定的VLAN通过当前Hybrid端口 |
port hybrid vlan vlan-id-list { tagged | untagged } |
必选 缺省情况下,所有Hybrid端口只允许VLAN1通过 |
|
设置Hybrid端口的缺省VLAN |
port hybrid pvid vlan vlan-id |
可选 缺省情况下,Hybrid端口的缺省VLAN为VLAN 1 |
& 说明:
l Hybrid端口和Trunk端口之间不能直接切换,只能先设为Access端口,再设置为其他类型端口。例如:Hybrid端口不能直接被设置为Trunk端口,只能先设为Access端口,再设置为Trunk端口。
l 在设置允许指定的VLAN通过Hybrid端口之前,允许通过的VLAN必须已经存在。
在完成上述配置后,在任意视图下执行display命令可以显示配置后VLAN的运行情况,通过查看显示信息验证配置的效果。
操作 |
命令 |
显示VLAN相关信息 |
display vlan [ vlan-id1 [ to vlan-id2 ] | all | static | dynamic| reserved ] |
显示VLAN接口相关信息 |
display interface vlan-interface [ vlan-interface-id ] |
l Switch A与Switch B使用Trunk端口GigabitEthernet1/0/1相连;
l 该端口的缺省VLAN ID为100;
l 该端口允许VLAN 2、VLAN 6到VLAN 50、VLAN 100的报文通过。
(1) 配置设备A。
# 创建VLAN 2、VLAN 6到VLAN 50、VLAN 100。
<Sysname> system-view
[Sysname] vlan 2
[Sysname-vlan2] quit
[Sysname] vlan 100
[Sysname-vlan100] quit
[Sysname] vlan 6 to 50
Please wait... Done.
# 进入GigabitEthernet1/0/1以太网端口视图。
[Sysname] interface GigabitEthernet 1/0/1
# 配置GigabitEthernet1/0/1为Trunk端口,并配置端口的缺省VLAN ID为100。
[Sysname-GigabitEthernet1/0/1] port link-type trunk
[Sysname-GigabitEthernet1/0/1] port trunk pvid vlan 100
# 配置GigabitEthernet1/0/1,允许VLAN2、VLAN6到VLAN 50、VLAN 100的报文通过。
[Sysname-GigabitEthernet1/0/1] port trunk permit vlan 2 6 to 50 100
Please wait... Done.
Voice VLAN是为用户的语音数据流而专门划分的VLAN。通过划分Voice VLAN并将连接语音设备的端口加入Voice VLAN,可以为语音数据配置QoS(Quality of Service,服务质量)参数,提高语音数据报文优先级、保证通话质量。
设备可以根据进入端口的数据报文中的源MAC地址字段来判断该数据流是否为语音数据流。源MAC地址符合系统设置的语音设备OUI(Organizationally Unique Identifier,全球统一标识符)地址的报文被认为是语音数据流,被划分到Voice VLAN中传输。
用户可以预先设置OUI地址,也可以使用缺省的OUI地址作为判断标准。设备缺省的OUI地址共有五个,如表2-1所示。
表2-1 设备预置的缺省OUI地址
序号 |
OUI地址 |
生产厂商 |
1 |
0001-e300-0000 |
Siemens phone |
2 |
0003-6b00-0000 |
Cisco phone |
3 |
00d0-1e00-0000 |
Pingtel phone |
4 |
00e0-7500-0000 |
Polycom phone |
5 |
00e0-bb00-0000 |
3com phone |
& 说明:
l OUI(Organizationally Unique Identifier)是MAC地址的前24位(二进制),是IEEE(Institute of Electrical and Electronics Engineers,电气和电子工程师学会)为不同设备供应商分配的一个全球唯一的标识符。
l 设备缺省的OUI地址可以手工删除及添加。
端口Voice VLAN的工作模式包括自动模式和手动模式。
l 在自动模式下,系统利用IP电话上电时发出的untag报文,通过识别报文的源MAC,匹配OUI地址,自动把语音报文的入端口加入Voice VLAN,并下发ACL规则,配置报文的优先级。用户可以在设备上设置Voice VLAN的老化时间,当在老化时间内,系统没有从入端口收到任何语音报文时,系统将把该端口从Voice VLAN中删除。端口的添加/删除到Voice VLAN的过程由系统自动实现。
l 在手动模式下,管理员把IP电话接入端口直接加入Voice VLAN中。再通过识别报文的源MAC,匹配OUI地址,决定是否在Voice VLAN中转发该报文。在手动添加端口的同时,下发ACL规则来配置报文的优先级。端口的添加/删除到Voice VLAN的过程由管理员手动实现。
对于IP电话发出的携带Tag标签的报文,两种模式处理方式一致,只根据标签进行转发。
以上两种应用模式在端口视图下配置,各个端口Voice VLAN的工作模式相互独立,不同的端口可以设置成不同的模式。
由于IP电话类型较多,因此需要用户保证端口的模式与IP电话能够匹配,详细配合关系请见表2-2。
表2-2 端口模式与IP Phone语音流类型配合关系表
模式 |
语音流类型 |
端口模式 |
自动模式 |
Tag语音流 |
Access:不支持 |
Trunk:支持,但接入端口的缺省VLAN必须存在,且不能是Voice VLAN,且接入端口允许缺省VLAN通过 |
||
Hybrid:支持,但接入端口的缺省VLAN必须存在,且在接入端口允许通过的tagged VLAN列表中 |
||
Untag语音流 |
Access、Trunk、Hybrid:不支持 |
|
手动模式 |
Tag语音流 |
Access:不支持 |
Trunk:支持,但接入端口的缺省VLAN必须存在,且不能是Voice VLAN,且接入端口允许该缺省VLAN通过 |
||
Hybrid:支持,但接入端口的缺省VLAN必须存在,且在接入端口允许通过的tagged VLAN列表中 |
||
Untag语音流 |
Access:支持,但接入端口的缺省VLAN必须是Voice VLAN |
|
Trunk:支持,但接入端口的缺省VLAN必须是Voice VLAN,且接入端口允许该VLAN通过 |
||
Hybrid:支持,但接入端口的缺省VLAN必须是Voice VLAN,且在接入端口允许通过的untagged VLAN列表中 |
注意:
l 如果用户的IP电话发出的是tag语音流,且接入的端口上使能了802.1x认证和GuestVLAN,为保证各种功能的正常使用,请为Voice VLAN、端口的缺省VLAN和802.1x的GuestVLAN分配不同的VLAN ID。
l 如果用户的IP电话发出的是untag语音流,为实现Voice VLAN功能,只能将接入端口的缺省VLAN配置为Voice VLAN,此时将不能实现802.1x认证功能。
& 说明:
l 所有端口的缺省VLAN都是VLAN 1,用户可以通过命令设置端口的缺省VLAN,也可以通过命令设置允许某个VLAN通过该端口。相关操作请参见“1.4 配置基于端口的VLAN”部分。
l 可以通过display interface命令来查看端口的允许通过的VLAN及缺省VLAN等信息。
根据使能了Voice VLAN功能的端口对接收到的数据包的过滤机制又可以将Voice VLAN的工作模式分为安全模式和普通模式。
l 在安全模式下,使能了Voice VLAN功能的端口只允许源地址是可识别的OUI地址的语音报文通过,其他非语音报文将直接被丢弃(包括一些认证报文,如802.1x认证报文)。
l 在普通模式下,使能了Voice VLAN功能的端口允许语音报文通过,也允许其他非语音报文通过。语音报文遵循Voice VLAN的报文转发机制,非语音报文遵循普通VLAN的报文转发机制。
建议用户尽量不要在Voice VLAN中同时传输语音和业务数据。如确有此需要,请确认Voice VLAN已经工作在普通模式下。
l 配置Voice VLAN之前,须先创建对应的VLAN。
l VLAN 1是默认VLAN,无需创建,但VLAN1不支持使能Voice VLAN。
表2-3 配置自动模式下的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启动后将有5个缺省的OUI地址 |
使能全局Voice VLAN功能 |
voice vlan vlan-id enable |
必选 |
进入以太网端口视图 |
interface interface-type interface-number |
- |
设定端口Voice VLAN的工作模式为自动模式 |
voice vlan mode auto |
可选 缺省情况下,Voice VLAN工作在自动模式 |
使能端口的Voice VLAN功能 |
voice vlan enable |
必选 缺省情况下,端口没有使能Voice VLAN |
& 说明:
工作在自动模式的端口,不能将缺省VLAN设置为Voice VLAN,否则系统会提示用户无法进行配置。
表2-4 配置手动模式下的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启动后将有5个OUI地址 |
使能全局Voice VLAN功能 |
voice vlan vlan-id enable |
必选 |
进入以太网端口视图 |
interface interface-type interface-number |
- |
配置端口的Voice VLAN工作模式为手动模式 |
undo voice vlan mode auto |
必选 缺省情况下,端口的Voice VLAN工作在自动模式 |
将手动模式端口加入Voice VLAN |
请参见1.4 配置基于端口的VLAN |
必选 缺省情况下,所有端口都属于VLAN1 Hybrid端口是以tagged或untagged方式加入Voice VLAN请参照表2-2中的语音流类型与端口类型的配合关系 |
设置Voice VLAN为端口的缺省VLAN |
请参见1.4 配置基于端口的VLAN |
可选 缺省情况下,所有端口的缺省VLAN为VLAN1 端口的缺省VLAN是否需要设定为Voice VLAN请参照表2-2中语音流类型与端口类型的配合关系 |
使能端口的Voice VLAN功能 |
voice vlan enable |
必选 缺省情况下,端口没有使能Voice VLAN |
& 说明:
对于自动模式和手动模式的Voice VLAN,在配置时请注意以下事项:
l 同一设备同一时刻只能有一个静态VLAN可以使能Voice VLAN功能,不能配置动态VLAN为Voice VLAN。
l 如果端口已经使能LACP(Link Aggregation Control Protocol,链路汇聚控制协议),则不能使能Voice VLAN功能。
在完成上述配置后,在任意视图下执行display命令可以显示配置后Voice VLAN的运行情况,通过查看显示信息验证配置的效果。
表2-5 Voice VLAN显示
操作 |
命令 |
显示Voice VLAN的状态 |
display voice vlan state |
显示当前系统支持的OUI地址 |
display voice vlan oui |
l 创建VLAN 2为Voice VLAN,老化时间是100分钟。
l 端口GigabitEthernet1/0/1为Trunk端口,缺省VLAN为VLAN 6。
l 设备允许从端口GigabitEthernet1/0/1进入的、来自OUI地址为0011-2200-0000、掩码是ffff-ff00-0000的语音报文通过Voice VLAN转发。
图2-1 配置自动模式下的Voice VLAN组网图
# 创建VLAN 2,VLAN 6
<Sysname> system-view
[Sysname] vlan 2
[Sysname-vlan2] quit
[Sysname] vlan 6
[Sysname-vlan6] quit
# 设置Voice VLAN的老化时间。
[Sysname] voice vlan aging 100
# 设置OUI地址0011-2200-0000是Voice VLAN的合法地址。
[Sysname] voice vlan mac-address 0011-2200-0000 mask ffff-ff00-0000 description test
# 使能全局Voice VLAN功能。
[Sysname] voice vlan 2 enable
# 将端口GigabitEthernet1/0/1 Voice VLAN的工作模式设置为自动模式。
[Sysname] interface GigabitEthernet 1/0/1
[Sysname-GigabitEthernet1/0/1] voice vlan mode auto
# 将端口GigabitEthernet1/0/1设定为Trunk端口。
[Sysname-GigabitEthernet1/0/1] port link-type trunk
# 设置端口的缺省VLAN为VLAN 6,且端口允许VLAN 6通过。
[Sysname-GigabitEthernet1/0/1] port trunk permit vlan 6
[Sysname-GigabitEthernet1/0/1] port trunk pvid vlan 6
# 使能端口Voice VLAN功能。
[Sysname-GigabitEthernet1/0/1] voice vlan enable
l 创建VLAN 2为Voice VLAN。
l IP Phone类型为untagged,接入端口是Hybrid类型端口GigabitEthernet1/0/1。
l 端口GigabitEthernet1/0/1工作在手动模式,且允许OUI地址是0011-2200-0000、掩码是ffff-ff00-0000的语音报文通过,描述字符为“test”。
# 设置Voice VLAN为安全模式,使得Voice VLAN端口只允许合法的语音报文通过。(可选,系统缺省为安全模式)
<Sysname> system-view
[Sysname] voice vlan security enable
# 设置OUI地址0011-2200-0000是Voice VLAN的合法地址。
[Sysname] voice vlan mac-address 0011-2200-0000 mask ffff-ff00-0000 description test
# 创建VLAN 2,使能VLAN 2的Voice VLAN功能。
[Sysname] vlan 2
[Sysname-vlan2] quit
[Sysname] voice vlan 2 enable
# 设置端口GigabitEthernet1/0/1工作在手动模式。
[Sysname] interface GigabitEthernet 1/0/1
[Sysname-GigabitEthernet1/0/1] undo voice vlan mode auto
# 设置端口GigabitEthernet1/0/1为Hybrid类型。
[Sysname-GigabitEthernet1/0/1] port link-type hybrid
# 设置VLAN2为端口GigabitEthernet1/0/1的缺省VLAN,且允许该VLAN通过。
[Sysname-GigabitEthernet1/0/1] port hybrid pvid vlan 2
[Sysname-GigabitEthernet1/0/1] port hybrid vlan 2 untagged
# 使能端口GigabitEthernet1/0/1的Voice VLAN功能。
[Sysname-GigabitEthernet1/0/1] voice vlan enable
#显示当前系统支持的OUI地址、OUI地址掩码和描述信息。
[Sysname-GigabitEthernet1/0/1] display voice vlan oui
Oui Address Mask Description
0001-e300-0000 ffff-ff00-0000 Siemens phone
0003-6b00-0000 ffff-ff00-0000 Cisco phone
0011-2200-0000 ffff-ff00-0000 test
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的状态。
[Sysname-GigabitEthernet1/0/1] display voice vlan state
Voice VLAN status: ENABLE
Voice VLAN ID: 2
Voice VLAN security mode: Security
Voice VLAN aging time: 100 minutes
Voice VLAN enabled port and its mode:
PORT MODE
--------------------------------
GigabitEthernet1/0/1 MANUAL
GARP(Generic Attribute Registration Protocol,通用属性注册协议)提供了一种机制,用于协助同一个局域网内的交换成员之间分发、传播和注册某种信息(如VLAN、组播地址等)。
GARP本身不作为一个实体存在于设备中,遵循GARP协议的应用实体称为GARP应用,GVRP(GARP VLAN Registration Protocol,GARP VLAN注册协议)就是GARP的一种应用。当GARP应用实体存在于设备的某个端口上时,该端口对应于一个GARP应用实体。
(1) GARP消息
GARP成员之间的信息交换借助于消息完成,主要有三类消息起作用,分别为Join消息、Leave消息和LeaveAll消息。
l 当一个GARP应用实体希望其它设备注册自己的属性信息时,它将对外发送Join消息。
l 当一个GARP应用实体希望其它设备注销自己的属性信息时,它将对外发送Leave消息。
l 每个GARP应用实体启动后,将同时启动LeaveAll定时器。当该定时器超时后,GARP应用实体将对外发送LeaveAll消息,LeaveAll消息用来注销所有的属性。
Join消息与Leave消息配合确保信息的重新注册或注销。
通过消息交互,所有待注册的属性信息可以传播到同一局域网配置了GARP的所有设备上。
(2) GARP定时器
GARP消息发送的时间间隔是通过定时器来实现的,GARP的定时器有四个,分别为Hold定时器、Join定时器、Leave定时器和LeaveAll定时器。
l Hold定时器:当GARP应用实体接收到注册信息时,不立即对外发送Join消息,而是启动Hold定时器,当该定时器超时后,将此时段内收到的所有注册信息放在同一个Join消息中向外发送,从而节省带宽资源。
l Join定时器:为保证Join消息能够可靠的传输到其它实体,GARP应用实体会将每个Join消息向外发送两次。两次发送之间的时间间隔用Join定时器来控制。
l Leave定时器:当一个GARP应用实体希望注销某属性信息时,将对外发送Leave消息,接收到该消息的GARP应用实体启动Leave定时器。如果在该定时器超时之前没有再次收到Join消息,则注销该属性信息。
l LeaveAll定时器:每个GARP应用实体启动后,将同时启动LeaveAll定时器,当该定时器超时后,GARP应用实体将对外发送LeaveAll消息,以使其它GARP应用实体重新注册本实体上所有的属性信息。随后再次启动LeaveAll定时器,开始新的一轮循环。
& 说明:
l GARP定时器的值将应用于所有在同一局域网内运行的GARP应用(如GVRP)。
l Hold定时器、Join定时器和Leave定时器的值可以在每个以太网端口单独进行设置;而LeaveAll定时器是全网的更新概念,所以不用在每个以太网端口单独进行设置,只需在设备的全局进行设置即可,设置完成后,该值将在设备的所有端口上生效。
l 在全网有多台设备的情况下,各个设备各个GARP应用实体的LeaveAll定时器的取值可能不相同,但以全网最小的LeaveAll定时器为准发送LeaveAll消息。因为每次发送LeaveAll消息时,当其它设备接收到之后都会清零LeaveAll定时器,因此即使全网存在很多不同的LeaveAll定时器,也只有最小的那个LeaveAll定时器起作用。
通过GARP机制,一个GARP成员上的配置信息会迅速传播到整个局域网。GARP成员可以是终端工作站或网桥。GARP成员通过声明或回收声明通知其它的GARP成员注册或注销自己的属性信息,并根据其它GARP成员的声明或回收声明注册或注销对方的属性信息。
GARP应用实体的协议数据报文以特定的组播MAC地址为目的MAC。设备在接收到GARP应用实体的报文后,会根据其目的MAC地址加以区分并交给不同的GARP应用(如GVRP)去处理。
GARP的报文格式如图3-1所示。
图3-1 GARP报文格式
各个字段的说明如下。
表3-1 各个字段的说明
字段 |
含义 |
取值 |
Protocol ID |
协议ID |
取值为1 |
Message |
消息,每个Message由Attribute Type、Attribute List构成 |
- |
Attribute Type |
属性类型,由具体的GARP的应用定义 |
对于GVRP,属性类型为0x01,表示属性取值为VLAN ID |
Attribute List |
属性列表,由多个属性构成 |
- |
Attribute |
属性,每个属性由Attribute Length、Attribute Event、Attribute Value构成 |
- |
Attribute Length |
属性长度 |
2~255,单位为字节 |
Attribute Event |
属性描述的事件 |
0:LeaveAll Event 1:JoinEmpty 2:JoinIn 3:LeaveEmpty 4:LeaveIn 5:Empty |
Attribute Value |
属性取值 |
GVRP的属性取值为VLAN ID,但LeaveAll属性的Attribute Value值无效 |
End Mark |
结束标志、GARP的PDU的结尾标志 |
- |
GVRP是GARP的一种应用。它基于GARP的工作机制,维护设备中的VLAN动态注册信息,并传播该信息到其它的设备中。
设备启动GVRP特性后,能够接收来自其它设备的VLAN注册信息,并动态更新本地的VLAN注册信息,包括当前的VLAN成员、这些VLAN成员可以通过哪个端口到达等。而且设备能够将本地的VLAN注册信息向其它设备传播,以便使同一局域网内所有设备的VLAN信息达成一致。GVRP传播的VLAN注册信息既包括本地手工配置的静态注册信息,也包括来自其它设备的动态注册信息。
GVRP的端口注册模式有三种:Normal、Fixed和Forbidden,各模式描述如下。
l Normal模式:允许该端口动态注册、注销VLAN,传播动态VLAN以及静态VLAN信息。
l Fixed模式:禁止该端口动态注册VLAN,只传播静态VLAN信息,不传播动态VLAN信息。也就是说被设置为Fixed模式的Trunk端口,即使允许所有VLAN通过,实际通过的VLAN也只能是手动配置的那部分。
l Forbidden模式:禁止该端口动态注册VLAN,不传播除VLAN1以外的任何的VLAN信息。也就是说被配置为Forbidden模式的Trunk端口,即使允许所有VLAN通过,实际通过的VLAN也只能是VLAN1。
GVRP在IEEE 802.1Q标准文本中有详细的表述。
GVRP配置包括:配置GVRP功能、配置GARP定时器。
& 说明:
GVRP只能在Trunk端口进行配置。
表3-2 配置GVRP功能
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
开启全局GVRP |
gvrp |
必选 缺省情况下,全局GVRP处于关闭状态 |
|
进入以太网端口视图或端口组视图 |
进入以太网端口视图 |
interface interface-type interface-number |
二者必选其一 进入以太网端口视图后,下面进行的配置只在当前端口生效;进入端口组视图后,下面进行的配置将在端口组中的所有端口生效 |
进入端口组视图 |
port-group { manual port-group-name | aggregation agg-id } |
||
开启端口GVRP |
gvrp |
必选 缺省情况下,端口GVRP处于关闭状态 |
|
配置GVRP端口注册模式 |
gvrp registration { fixed | forbidden | normal } |
可选 缺省情况下,GVRP端口注册模式为Normal |
& 说明:
由于BPDU TUNNEL功能与GVRP功能不兼容,因此两者不可以同时应用。如果要在端口上启用GVRP功能则需要先关闭BPDU TUNNEL功能。
表3-3 配置GARP定时器
命令 |
说明 |
||
进入系统视图 |
system-view |
- |
|
配置LeaveAll定时器 |
garp timer leaveall timer-value |
可选 缺省情况下,LeaveAll定时器为1000厘秒 |
|
进入以太网端口视图或端口组视图 |
进入以太网端口视图 |
interface interface-type interface-number |
二者必选其一 进入以太网端口视图后,下面进行的配置只在当前端口生效;进入端口组视图后,下面进行的配置将在端口组中的所有端口生效 |
进入端口组视图 |
port-group { manual port-group-name | aggregation agg-id } |
||
配置Hold定时器、Join定时器和Leave定时器 |
garp timer { hold | join | leave } timer-value |
可选 缺省情况下,Hold定时器为10厘秒,Join定时器为20厘秒,Leave定时器为60厘秒 |
需要注意的是,各定时器的取值必须是5厘秒的倍数,且各定时器的取值范围会由于其他定时器取值的改变而改变。如果用户想要设置的定时器的值不在当前可以设置的取值范围内,可以通过改变相关定时器的取值实现。
表3-4 各个定时器的取值范围之间的关系
定时器 |
取值下限 |
取值上限 |
Hold定时器 |
10厘秒 |
小于等于1/2 Join定时器的值,可以通过改变Join定时器的取值改变 |
Join定时器 |
大于等于2倍Hold定时器的值,可以通过改变Hold定时器的取值实现 |
小于1/2 Leave定时器的取值,可以通过改变Leave定时器的取值改变 |
Leave定时器 |
大于2倍Join定时器的值,可以通过改变Join定时器的取值改变 |
小于LeaveAll定时器的值,可以通过改变LeaveAll定时器的取值改变 |
LeaveAll定时器 |
大于所有端口Leave定时器的取值,可以通过改变Leave定时器的取值改变 |
32765厘秒 |
在完成上述配置后,在任意视图下执行display命令可以显示配置后GARP、GVRP的运行情况,通过查看显示信息验证配置的效果。在用户视图下执行reset命令可以清除GARP的统计信息。
表3-5 GVRP显示和维护
操作 |
命令 |
显示GARP统计信息 |
display garp statistics [ interface interface-list ] |
显示GARP定时器的值 |
display garp timer [ interface interface-list ] |
显示GVRP统计信息 |
display gvrp statistics [ interface interface-list ] |
显示GVRP的全局状态信息 |
display gvrp status |
清除GARP统计信息 |
reset garp statistics [ interface interface-list ] |
为了实现设备之间VLAN信息的动态注册和更新,需要在设备上启动GVRP,端口注册模式为缺省的Normal模式。
(1) 配置Switch A:
# 开启全局GVRP。
<Sysname> system-view
[Sysname] gvrp
# 将以太网端口GigabitEthernet1/0/1配置为Trunk端口,并允许所有VLAN通过。
[Sysname] interface GigabitEthernet 1/0/1
[Sysname-GigabitEthernet1/0/1] port link-type trunk
[Sysname-GigabitEthernet1/0/1] port trunk permit vlan all
# 在Trunk端口上开启GVRP。
[Sysname-GigabitEthernet1/0/1] gvrp
# 配置静态VLAN2。
[Sysname-GigabitEthernet1/0/1] quit
[Sysname] vlan 2
[Sysname-vlan2]
(2) 配置Switch B:
# 开启全局GVRP。
<Sysname> system-view
[Sysname] gvrp
# 将以太网端口GigabitEthernet1/0/2配置为Trunk端口,并允许所有VLAN通过。
[Sysname] interface GigabitEthernet 1/0/2
[Sysname-GigabitEthernet1/0/2] port link-type trunk
[Sysname-GigabitEthernet1/0/2] port trunk permit vlan all
# 在Trunk端口上开启GVRP。
[Sysname-GigabitEthernet1/0/2] gvrp
# 配置静态VLAN3。
[Sysname-GigabitEthernet1/0/2] quit
[Sysname] vlan 3
[Sysname-vlan3]
(3) 显示配置结果
# 显示Switch A上的动态VLAN信息。
[Sysname-vlan2] display vlan dynamic
Now, the following dynamic VLAN exist(s):
3
# 显示Switch B上的动态VLAN信息。
[Sysname-vlan3] display vlan dynamic
Now, the following dynamic VLAN exist(s):
2
为了实现设备之间部分VLAN信息的动态注册和更新,需要在设备上启动GVRP,配置端口注册模式为Fixed。
图3-3 配置GVRP组网图
(1) 配置Switch A
# 开启全局GVRP。
<Sysname> system-view
[Sysname] gvrp
# 将以太网端口GigabitEthernet1/0/1配置为Trunk端口,并允许所有VLAN通过。
[Sysname] interface GigabitEthernet 1/0/1
[Sysname-GigabitEthernet1/0/1] port link-type trunk
[Sysname-GigabitEthernet1/0/1] port trunk permit vlan all
# 在Trunk端口上开启GVRP。
[Sysname-GigabitEthernet1/0/1] gvrp
# 配置端口注册模式为Fixed。
[Sysname-GigabitEthernet1/0/1] gvrp registration fixed
# 配置静态VLAN2。
[Sysname-GigabitEthernet1/0/1] quit
[Sysname] vlan 2
[Sysname-vlan2]
(2) 配置Switch B
# 开启全局GVRP。
<Sysname> system-view
[Sysname] gvrp
# 将以太网端口GigabitEthernet1/0/2配置为Trunk端口,并允许所有VLAN通过。
[Sysname] interface GigabitEthernet 1/0/2
[Sysname-GigabitEthernet1/0/2] port link-type trunk
[Sysname-GigabitEthernet1/0/2] port trunk permit vlan all
# 在Trunk端口上开启GVRP。
[Sysname-GigabitEthernet1/0/2] gvrp
# 配置静态VLAN3。
[Sysname-GigabitEthernet1/0/2] quit
[Sysname] vlan 3
[Sysname-vlan3]
(3) 显示配置结果
# 显示Switch A上的动态VLAN信息。
[Sysname-vlan2] display vlan dynamic
No dynamic vlans exist!
# 显示Switch B上的动态VLAN信息。
[Sysname-vlan3] display vlan dynamic
Now, the following dynamic VLAN exist(s):
2
为了阻止设备之间VLAN信息的动态注册和更新,需要在设备上启动GVRP,端口注册模式为Forbidden。
图3-4 配置GVRP组网图
(1) 配置Switch A
# 开启全局GVRP。
<Sysname> system-view
[Sysname] gvrp
# 将以太网端口GigabitEthernet1/0/1配置为Trunk端口,并允许所有VLAN通过。
[Sysname] interface GigabitEthernet 1/0/1
[Sysname-GigabitEthernet1/0/1] port link-type trunk
[Sysname-GigabitEthernet1/0/1] port trunk permit vlan all
# 在Trunk端口上开启GVRP。
[Sysname-GigabitEthernet1/0/1] gvrp
# 配置端口注册模式为Forbidden。
[Sysname-GigabitEthernet1/0/1] gvrp registration forbidden
# 配置静态VLAN2。
[Sysname-GigabitEthernet1/0/1] quit
[Sysname] vlan 2
[Sysname-vlan2]
(2) 配置Switch B
# 开启全局GVRP。
<Sysname> system-view
[Sysname] gvrp
# 将以太网端口GigabitEthernet1/0/2配置为Trunk端口,并允许所有VLAN通过。
[Sysname] interface GigabitEthernet 1/0/2
[Sysname-GigabitEthernet1/0/2] port link-type trunk
[Sysname-GigabitEthernet1/0/2] port trunk permit vlan all
# 在Trunk端口上开启GVRP。
[Sysname-GigabitEthernet1/0/2] gvrp
# 配置静态VLAN3。
[Sysname-GigabitEthernet1/0/2] quit
[Sysname] vlan 3
[Sysname-vlan3]
(3) 显示配置结果
# 显示Switch A上的动态VLAN信息。
[Sysname-vlan2] display vlan dynamic
No dynamic vlans exist!
# 显示Switch B上的动态VLAN信息。
[Sysname-vlan3] display vlan dynamic
No dynamic vlans exist!
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!