02-VLAN操作
本章节下载 (564.72 KB)
以太网是一种基于CSMA/CD(Carrier Sense Multiple Access/Collision Detect,载波侦听多路访问/冲突检测)的共享通讯介质的数据网络通讯技术,当主机数目较多时会导致冲突严重、广播泛滥、性能显著下降甚至使网络不可用等问题。通过交换机实现LAN互联虽然可以解决冲突(Collision)严重的问题,但仍然不能隔离广播报文。在这种情况下出现了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的报文,需要在报文中添加标识VLAN的字段。由于普通交换机工作在OSI模型的数据链路层,只能对报文的数据链路层封装进行识别。因此,如果添加识别字段,也需要添加到数据链路层封装中。
IEEE于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所示,VLAN Tag包含四个字段,分别是TPID(Tag Protocol Identifier,标签协议标识符)、Priority、CFI(Canonical Format Indicator,标准格式指示位)和VLAN ID。
l TPID用来标识本数据帧是带有VLAN Tag的数据,长度为16bit,取值为0x8100。
l Priority表示报文的802.1P优先级,长度为3bit,相关内容请参见“QoS”部分的介绍。
l CFI字段标识MAC地址在不同的传输介质中是否以标准格式进行封装,长度为1bit,取值为0表示MAC地址以标准格式进行封装,为1表示以非标准格式封装,缺省取值为0。
l VLAN ID标识该报文所属VLAN的编号,长度为12bit,取值范围为0~4095。由于0和4095为协议保留取值,所以VLAN ID的取值范围为1~4094。
网络设备利用VLAN ID来识别报文所属的VLAN,根据报文是否携带VLAN Tag以及携带的VLAN Tag值,来对报文进行处理。详细的处理方式请参见“1.4.1 基于端口的VLAN简介”。
& 说明:
这里的帧格式以Ethernet II型封装为例,以太网还支持802.2 LLC、802.2 SNAP和802.3 raw封装格式。对于这些封装格式的报文,也会添加VLAN Tag字段,用来区分不同VLAN的报文。
VLAN根据划分方式不同可以分为不同类型,下面列出了6种最常见的VLAN类型:
l 基于端口的VLAN
l 基于MAC地址的VLAN
l 基于协议的VLAN
l 基于IP子网的VLAN
l 基于策略的VLAN
l 其它VLAN
S5500-EI系列以太网交换机支持基于端口的VLAN、基于MAC地址的VLAN、基于协议的VLAN以及基于IP子网的VLAN。
配置 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建VLAN |
vlan { vlan-id1 [ to vlan-id2 ] | all } |
可选 该命令主要用于批量创建VLAN |
进入VLAN视图 |
vlan vlan-id |
必选 如果指定的VLAN不存在,则该命令先完成VLAN的创建,然后再进入该VLAN的视图 缺省情况下,系统只有一个缺省VLAN(VLAN1) |
为VLAN指定一个描述字符串 |
description text |
可选 缺省情况下,VLAN的描述字符串为该VLAN的VLAN ID,如“VLAN 0001” |
& 说明:
l VLAN1为系统缺省VLAN,用户不能手工创建和删除。
l 保留VLAN是系统为实现特定功能预留的VLAN,用户也不能手工创建和删除。
l 不能通过undo vlan命令删除设备上动态学习到的VLAN。
l 如果某个VLAN有相关的QoS策略配置,则不允许删除该VLAN。
l 如果某个VLAN已经配置成远程镜像VLAN,则不能通过undo vlan命令删除该VLAN;只有先删除远程镜像VLAN的配置才能够删除这个VLAN。
不同VLAN间的主机不能直接通信,需要通过路由器或三层交换机等网络层设备进行转发,设备提供VLAN接口实现对报文进行三层转发的功能。
VLAN接口是一种三层模式下的虚拟接口,主要用于实现VLAN间的三层互通,它不作为物理实体存在于设备上。每个VLAN对应一个VLAN接口,该VLAN接口可以为本VLAN内端口收到的报文进行网络层转发操作。通常情况下,由于VLAN能够隔离广播域,因此每个VLAN也对应一个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接口 |
undo shutdown |
可选 缺省情况下,VLAN接口的状态为打开,此时VLAN接口状态受VLAN中端口状态的影响,即:当VLAN中所有以太网端口状态为down时,VLAN接口为down状态,即关闭状态;当VLAN中有一个或一个以上的以太网端口处于up状态时,则VLAN接口处于up状态 如果将VLAN接口的状态设置为down,则VLAN接口的状态始终为down,不受VLAN中端口状态的影响 |
& 说明:
在创建VLAN接口之前,对应的VLAN必须已经存在。否则,将不能创建指定的VLAN接口。
基于端口划分VLAN是VLAN最简单、最有效的划分方法。它按照设备端口来定义VLAN成员,将指定端口加入到指定VLAN中之后,端口就可以转发指定VLAN的报文。
根据端口在转发报文时对Tag标签的不同处理方式,可将端口的链路类型分为三种:
l Access类型:端口只能属于1个VLAN,一般用于连接用户设备;
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列表里时,接收该报文,给报文打上缺省VLAN的Tag l 当缺省VLAN ID不在端口允许通过的VLAN ID列表里时,丢弃该报文 |
l 当VLAN ID在端口允许通过的VLAN ID列表里时,接收该报文 l 当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的视图 |
将指定Access端口加入到当前VLAN中 |
port interface-list |
必选 缺省情况下,系统将所有端口都加入到VLAN1 |
表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 |
必选 |
|
允许指定的VLAN通过当前Trunk端口 |
port trunk permit vlan { vlan-id-list | all } |
必选 缺省情况下,所有Trunk端口只允许VLAN1通过 |
|
设置Trunk端口的缺省VLAN |
port trunk pvid vlan vlan-id |
可选 缺省情况下,Trunk端口的缺省VLAN为VLAN1 |
& 说明:
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 |
必选 |
|
允许指定的VLAN通过当前Hybrid端口 |
port hybrid vlan vlan-id-list { tagged | untagged } |
必选 缺省情况下,所有Hybrid端口只允许VLAN1通过 |
|
设置Hybrid端口的缺省VLAN |
port hybrid pvid vlan vlan-id |
可选 缺省情况下,Hybrid端口的缺省VLAN为VLAN1 |
& 说明:
l Trunk端口和Hybrid端口之间不能直接切换,只能先设为Access端口,再设置为其它类型端口。例如:Trunk端口不能直接被设置为Hybrid端口,只能先设为Access端口,再设置为Hybrid端口。
l 在设置允许指定的VLAN通过Hybrid端口之前,允许通过的VLAN必须已经存在。
l 本端设备Hybrid端口的缺省VLAN ID和相连的对端设备的Hybrid端口的缺省VLAN ID必须一致,否则报文将不能正确传输。
基于MAC划分VLAN是VLAN的另一种划分方法。它按照报文的源MAC地址来定义VLAN成员,将指定报文加入该VLAN的tag后发送。该功能通常会和安全(比如802.1X)技术联合使用,以实现终端的安全、灵活接入。
如果端口采用基于MAC地址划分VLAN的机制,则当端口收到报文时,采用以下方法处理:
l 当收到的报文为untagged报文时,会以报文的源MAC为根据去匹配MAC-VLAN表项。如果匹配成功,则按照匹配到的VLAN ID和优先级进行转发;如果匹配失败,则按其它匹配原则进行匹配。
l 当收到的报文为tagged报文时,处理方式和基于端口的VLAN一样:如果端口允许携带该VLAN标记的报文通过,则正常转发;如果不允许,则丢弃该报文。
基于MAC地址的VLAN可以通过如下两种方式来进行配置:
l 通过命令行静态配置。用户通过命令行来配置MAC地址和VLAN的关联关系。
l 通过认证服务器来自动配置(即VLAN下发)。设备根据认证服务器提供的信息,动态创建MAC地址和VLAN的关联关系。如果用户下线,系统将自动删除该对应关系。该方式下(只)需要在认证服务器上配置MAC地址和VLAN的关联,有关该方式的详细介绍请参见“802.1x”部分。
MAC-VLAN表项可以同时支持两种配置方式,即在本地设备和认证服务器上都进行了配置,但是这两种配置必须一致配置才能生效;如果不一致的话,则先执行的配置生效。
& 说明:
基于MAC的VLAN功能只能在Hybrid端口配置。
表1-8 配置基于MAC的VLAN
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
配置MAC地址与VLAN的关联 |
mac-vlan mac-address mac-addr [ mask mac-mask ] vlan vlan-id [ priority priority ] |
必选 |
|
进入以太网端口视图或端口组视图 |
进入以太网端口视图 |
interface interface-type interface-number |
二者必选其一 进入以太网端口视图后,下面进行的配置只在当前端口下生效;进入端口组视图后,下面进行的配置将在端口组中的所有端口下生效 |
进入端口组视图 |
port-group { manual port-group-name | aggregation agg-id } |
||
配置端口的链路类型为Hybrid类型 |
port link-type hybrid |
必选 |
|
允许基于MAC的VLAN通过当前Hybrid端口 |
port hybrid vlan vlan-id-list { tagged | untagged } |
必选 缺省情况下,所有Hybrid端口只允许VLAN 1通过 |
|
使能基于MAC地址划分VLAN的功能 |
mac-vlan enable |
必选 缺省情况下,没有使能端口的MAC VLAN功能 |
|
配置VLAN匹配优先级 |
vlan precedence { mac-vlan | ip-subnet-vlan } |
可选 缺省情况下,优先根据单个MAC地址来匹配VLAN |
& 说明:
基于协议的VLAN只对Hybrid端口配置才有效。
基于协议的VLAN是根据端口接收到的报文所属的协议(族)类型及封装格式来给报文分配不同的VLAN ID。可用来划分VLAN的协议有IP、IPX、AppleTalk(AT),封装格式有Ethernet II、802.3 raw、802.2 LLC、802.2 SNAP等。
协议VLAN由协议模板定义,协议模板由“封装格式+协议类型”确定。在一个端口上,可以同时关联多个协议模板。当端口和协议VLAN关联后,对于从端口接收到untagged报文(没有携带VLAN标记的报文)会做如下处理:
l 如果报文匹配协议模板,则给报文打上由该协议模板定义的协议VLAN的VLAN ID;
l 如果报文没有匹配协议模板,则给报文打上端口的缺省VLAN ID。
对于端口接收到的tagged报文(携带VLAN标记的报文),处理方式和基于端口的VLAN一样:如果端口允许携带该VLAN标记的报文通过,则正常转发;如果不允许,则丢弃该报文。
此特性主要应用于将网络中提供的服务类型与VLAN相绑定,方便管理和维护。
表1-9 配置基于协议的VLAN
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入VLAN视图 |
vlan vlan-id |
必选 如果指定的VLAN不存在,则该命令先完成VLAN的创建,然后再进入该VLAN的视图 |
|
配置基于协议的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视图 |
quit |
必选 |
|
进入以太网端口视图或端口组视图 |
进入以太网端口视图 |
interface interface-type interface-number |
二者必选其一 进入以太网端口视图后,下面进行的配置只在当前端口下生效;进入端口组视图后,下面进行的配置将在端口组中的所有端口下生效 |
进入端口组视图 |
port-group { manual port-group-name | aggregation agg-id } |
||
配置端口的链路类型为Hybrid类型 |
port link-type hybrid |
必选 |
|
允许基于协议的VLAN以untagged方式通过当前Hybrid端口 |
port hybrid vlan vlan-id-list untagged |
必选 |
|
配置Hybrid端口与基于协议的VLAN关联 |
port hybrid protocol-vlan vlan vlan-id { protocol-index [ to protocol-end ] | all } |
必选 |
注意:
l S5500-EI系列交换机目前暂不支持将基于AppleTalk协议的协议模板与端口进行关联。
l protocol-vlan命令中的dsap-id和ssap-id不能同时设置成0xe0,0xe0对应的是ipx llc协议模板;dsap-id和ssap-id也不能同时设成0xff,0xff对应的是ipx raw协议模板。
l 在使用mode参数配置协议VLAN时,如果将ethernetii型报文的etype参数值配置为0x0800、0x8137、0x809b、0x86dd,则分别与ipv4、ipx、appletalk和ipv6协议模板相同,因此不允许配置ethernetii报文的etype参数为这四个数值。
l 协议VLAN特性要求Hybrid入端口的报文格式为untagged的,而自动模式下的Voice VLAN只支持Hybrid端口对tagged的语音流进行处理(详情请参见“第2章 Voice VLAN配置”),因此,不能将某个VLAN同时设置为协议VLAN和Voice VLAN。
基于IP子网的VLAN是根据报文源IP地址及子网掩码来进行划分的。设备从端口接收到untagged报文后,会根据报文的源地址来确定报文所属的VLAN,然后将报文自动划分到指定VLAN中传输。
此特性主要用于将指定网段或IP地址发出的报文在指定的VLAN中传送。
& 说明:
基于IP子网的VLAN只对Hybrid端口配置有效。
表1-10 配置基于IP子网的VLAN
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入VLAN视图 |
vlan vlan-id |
- |
|
配置IP子网与当前VLAN的关联 |
ip-subnet-vlan [ ip-subnet-index ] ip ip-address [ mask ] |
必选 配置的IP网段或IP地址不能是组播网段或组播地址 |
|
退回系统视图 |
quit |
- |
|
进入以太网端口视图或端口组视图 |
进入以太网端口视图 |
interface interface-type interface-number |
二者必选其一 进入以太网端口视图后,下面进行的配置只在当前端口下生效;进入端口组视图后,下面进行的配置将在端口组中的所有端口下生效 |
进入端口组视图 |
port-group { manual port-group-name | aggregation agg-id } |
||
配置端口的链路类型为Hybrid类型 |
port link-type hybrid |
必选 |
|
允许基于IP子网的VLAN通过当前Hybrid端口 |
port hybrid vlan vlan-id-list { tagged | untagged } |
必选 |
|
配置Hybrid端口与基于IP子网的VLAN关联 |
port hybrid ip-subnet-vlan vlan vlan-id |
必选 |
在完成上述配置后,在任意视图下执行display命令可以显示配置后VLAN的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除接口统计信息。
操作 |
命令 |
显示VLAN相关信息 |
display vlan [ vlan-id1 [ to vlan-id2 ] | all | dynamic | reserved | static ] |
显示VLAN接口相关信息 |
display interface Vlan-interface [ vlan-interface-id ] |
显示MAC-VLAN表项 |
display mac-vlan { all | dynamic | mac-address mac-addr [ mask mac-mask ] | static | vlan vlan-id } |
显示所有使能了MAC VLAN功能的接口 |
display mac-vlan interface |
显示指定VLAN上配置的协议信息及协议的索引 |
display protocol-vlan vlan { vlan-id [ to vlan-id ] | all } |
显示指定端口上已配置的协议VLAN的相关信息 |
display protocol-vlan interface { interface-type interface-number [ to interface-type interface-number ] | all } |
显示指定VLAN上配置的IP子网VLAN信息及IP子网的索引 |
display ip-subnet-vlan vlan { vlan-id [ to vlan-id ] | all } |
显示指定端口上配置的IP子网VLAN信息及IP子网的索引 |
display ip-subnet-vlan interface { interface-type interface-number [ to interface-type interface-number | all } |
清除VLAN接口的统计信息 |
reset counters interface Vlan-interface [ vlan-interface-id ] |
l Device A与对端Device B使用Trunk端口GigabitEthernet1/0/1相连;
l 该端口的缺省VLAN ID为100;
l 该端口允许VLAN2、VLAN6到VLAN50、VLAN100的报文通过。
(1) 配置Device A
# 创建VLAN2、VLAN6到VLAN50、VLAN100。
<DeviceA> system-view
[DeviceA] vlan 2
[DeviceA-vlan2] quit
[DeviceA] vlan 100
[DeviceA-vlan100] vlan 6 to 50
Please wait... Done.
# 进入GigabitEthernet1/0/1以太网端口视图。
[DeviceA] interface GigabitEthernet 1/0/1
# 配置GigabitEthernet1/0/1为Trunk端口,并配置端口的缺省VLAN ID为100。
[DeviceA-GigabitEthernet1/0/1] port link-type trunk
[DeviceA-GigabitEthernet1/0/1] port trunk pvid vlan 100
# 配置GigabitEthernet1/0/1禁止VLAN1的报文通过(所有端口缺省情况下都是允许VLAN1的报文通过的)。
[DeviceA-GigabitEthernet1/0/1] undo port trunk permit vlan 1
# 配置GigabitEthernet1/0/1允许VLAN2、VLAN6到VLAN50、VLAN100的报文通过。
[DeviceA-GigabitEthernet1/0/1] port trunk permit vlan 2 6 to 50 100
Please wait... Done.
(2) 配置Device B,与设备A配置步骤雷同,不再赘述。
此处以Device A的验证为例,Device B的验证与此类似,不再赘述。
# 查看Device A的GigabitEthernet1/0/1的相关信息,验证以上配置是否生效。
<DeviceA> display interface GigabitEthernet 1/0/1
GigabitEthernet1/0/1 current state: UP
IP Packet Frame Type: PKTFMT_ETHNT_2, Hardware Address: 0011-2233-5577
Description: GigabitEthernet1/0/1 Interface
Loopback is not set
Media type is twisted pair
Port hardware type is 1000_BASE_T
1000Mbps-speed mode, full-duplex mode
Link speed type is autonegotiation, link duplex type is autonegotiation
Flow-control is not enabled
The Maximum Frame Length is 9212
Broadcast MAX-ratio: 100%
Unicast MAX-ratio: 100%
Multicast MAX-ratio: 100%
Allow jumbo frame to pass
PVID: 100
Mdi type: auto
Link delay is 0(sec)
Port link-type: trunk
Tagged VLAN ID : 2, 6-50, 100
Untagged VLAN ID : 2, 6-50, 100
Port priority: 0
Last 300 seconds input: 8 packets/sec 1513 bytes/sec 0%
Last 300 seconds output: 1 packets/sec 179 bytes/sec 0%
Input (total): 25504971 packets, 13911485028 bytes
14288575 broadcasts, 11111535 multicasts
Input (normal): 25504971 packets, - bytes
14288575 broadcasts, 11111535 multicasts
Input: 0 input errors, 0 runts, 0 giants, 0 throttles
0 CRC, 0 frame, - overruns, 0 aborts
- ignored, - parity errors
Output (total): 175995 packets, 31290143 bytes
47 broadcasts, 68494 multicasts, 0 pauses
Output (normal): 175995 packets, - bytes
47 broadcasts, 68494 multicasts, 0 pauses
Output: 0 output errors, - underruns, - buffer failures
0 aborts, 0 deferred, 0 collisions, 0 late collisions
0 lost carrier, - no carrier
通过以上显示信息,可以看到接口的类型为trunk(Port link-type: trunk),端口的缺省VLAN为VLAN 100(PVID: 100),端口允许VLAN2、VLAN6到VLAN50、VLAN100的报文通过(VLAN permitted: 2, 6-50, 100)。配置成功。
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 |
0004-0d00-0000 |
Avaya phone |
4 |
0060-b900-0000 |
Philips/NEC phone |
5 |
00d0-1e00-0000 |
Pingtel phone |
6 |
00e0-7500-0000 |
Polycom phone |
7 |
00e0-bb00-0000 |
3com phone |
& 说明:
l OUI(Organizationally Unique Identifier)是MAC地址的前24位(二进制),是IEEE(Institute of Electrical and Electronics Engineers,电气和电子工程师学会)为不同设备供应商分配的一个全球唯一的标识符。
l 设备缺省的OUI地址可以手工删除,删除之后也可再次手工添加。
Voice VLAN的工作模式包括自动模式和手动模式,这个自动和手动指的是端口加入Voice VLAN的方式。
l 在自动模式下,系统利用IP电话上电时发出的协议报文(untagged报文),通过识别报文的源MAC,匹配OUI地址,匹配成功后,系统将自动把语音报文的入端口加入Voice VLAN,并下发ACL规则、配置报文的优先级。用户可以在设备上设置Voice VLAN的老化时间,当在老化时间内,系统没有从入端口收到任何语音报文时,系统将把该端口从Voice VLAN中删除。端口的添加/删除到Voice VLAN的过程由系统自动实现。
l 在手动模式下,需要通过手工把IP电话接入端口加入Voice VLAN中。再通过识别报文的源MAC,匹配OUI地址,匹配成功后,系统将下发ACL规则、配置报文的优先级。端口的添加/删除到Voice VLAN的过程由管理员手动实现。
对于IP电话发出的携带Tag标签的报文,两种模式处理方式一致,只根据标签进行转发。
由于IP电话类型较多,因此需要用户保证端口的链路类型与IP电话能够匹配,详细配合关系请见下表:
表2-2 端口模式与IP电话语音流类型配合关系表
Voice VLAN工作模式 |
语音流类型 |
端口的链路类型 |
自动模式 |
tagged语音流 |
Access:不支持 |
Trunk:支持,但接入端口的缺省VLAN必须存在且不能是Voice VLAN,同时接入端口允许缺省VLAN通过 |
||
Hybrid:支持,但接入端口的缺省VLAN必须存在且不能是Voice VLAN,同时缺省VLAN应在接入端口允许通过的tagged VLAN列表中 |
||
untagged语音流 |
Access、Trunk、Hybrid:不支持 |
|
手动模式 |
tagged语音流 |
Access:不支持 |
Trunk:支持,但接入端口的缺省VLAN必须存在,且不能是Voice VLAN,同时接入端口允许该缺省VLAN通过 |
||
Hybrid:支持,但接入端口的缺省VLAN必须存在且不能是Voice VLAN,同时Voice VLAN应在接入端口允许通过的tagged VLAN列表中 |
||
untagged语音流 |
Access:支持,但接入端口的缺省VLAN必须是Voice VLAN |
|
Trunk:支持,但接入端口的缺省VLAN必须是Voice VLAN,且接入端口允许Voice VLAN通过 |
||
Hybrid:支持,但接入端口的缺省VLAN必须是Voice VLAN,且在接入端口允许通过的untagged VLAN列表中 |
注意:
l 如果用户的IP Phone发出的是tagged语音流,且接入的端口上使能了802.1x认证和GuestVlan,为保证各种功能的正常使用,请为Voice VLAN、端口的缺省VLAN和802.1x的GuestVlan分配不同的VLAN ID。
l 如果用户的IP Phone发出的是untagged语音流,为实现Voice VLAN功能,只能将接入端口的缺省VLAN配置为Voice VLAN,此时将不能实现802.1x认证功能。
& 说明:
l 所有端口的缺省VLAN都是VLAN1,用户可以通过命令设置端口的缺省VLAN,也可以通过命令设置允许某个VLAN通过该端口。相关操作请参见“1.4 配置基于端口的VLAN”。
l 可以通过display interface命令来查看端口允许通过的VLAN及缺省VLAN等信息。
根据使能了Voice VLAN功能的端口对接收到的数据包的过滤机制又可以将Voice VLAN的工作模式分为安全模式和普通模式。在这两种模式下,对接收到的Untag报文和带有Voice VLAN Tag的报文有着不同的处理方式,如表2-3所示。
表2-3 Voice VLAN的安全/普通模式对Untag及带有Voice VLAN Tag报文的处理
Voice VLAN模式 |
报文类型 |
处理方式 |
安全模式 |
Untag报文 |
当该报文源MAC地址是可识别的OUI地址时,允许该报文在Voice VLAN内传输,否则将该报文丢弃 |
带有Voice VLAN Tag的报文 |
||
普通模式 |
Untag报文 |
不对报文的源MAC地址进行检查,所有报文均可以在Voice VLAN内进行传输。 |
带有Voice VLAN Tag的报文 |
对于带有其他VLAN Tag的报文,设备将根据该VLAN是否允许从指定端口通过来对报文进行转发和丢弃的处理,不受Voice VLAN安全/普通模式的影响。
建议用户尽量不要在Voice VLAN中同时传输语音和业务数据。如确有此需要,请确认Voice VLAN的安全模式已关闭。
l 配置Voice VLAN之前,须先创建对应的VLAN。
l VLAN1是默认VLAN,无需创建,但VLAN1不支持使能Voice VLAN。
表2-4 配置自动模式下的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地址” |
使能全局Voice VLAN功能 |
voice vlan vlan-id enable |
必选 |
进入以太网端口视图 |
interface interface-type interface-number |
- |
设定端口Voice VLAN的工作模式为自动模式 |
voice vlan mode auto |
可选 缺省情况下,Voice VLAN工作在自动模式 各个端口Voice VLAN的工作模式相互独立,不同的端口可以设置成不同的模式 |
使能端口的Voice VLAN功能 |
voice vlan enable |
必选 缺省情况下,端口没有使能Voice VLAN |
& 说明:
l 自动模式下的Voice VLAN只支持Hybrid端口对tagged的语音流进行处理,而协议VLAN特性要求Hybrid入端口的报文格式为untagged的(详情请参见“1.6 配置基于协议的VLAN”),因此,不能将某个VLAN同时设置为Voice VLAN和协议VLAN。
l 工作在自动模式的端口,不能将缺省VLAN设置为Voice VLAN,否则系统会输出信息,提示用户无法进行配置。
表2-5 配置手动模式下的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地址” |
|
使能全局Voice VLAN功能 |
voice vlan vlan-id enable |
必选 |
|
进入以太网端口视图 |
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 enable |
必选 |
& 说明:
l 同一设备同一时刻只能有一个VLAN使能Voice VLAN功能,且该VLAN必须是已经存在的静态VLAN。
l 如果端口已经加入了端口汇聚组,则不能使能Voice VLAN功能。
l 当端口使能了Voice VLAN并工作在手工模式时,必须手工将端口加入Voice VLAN,才能保证Voice VLAN功能生效。
在完成上述配置后,在任意视图下执行display命令可以显示配置后Voice VLAN的运行情况,通过查看显示信息验证配置的效果。
表2-6 Voice VLAN显示和维护
操作 |
命令 |
显示Voice VLAN的状态 |
display voice vlan state |
显示系统当前支持的OUI地址 |
display voice vlan oui |
l 创建VLAN2为Voice VLAN,老化时间是100分钟。
l IP Phone类型为tagged,接入端口是Hybrid类型端口GigabitEthernet1/0/1,端口的缺省VLAN为VLAN6。
l 设备允许从端口GigabitEthernet1/0/1进入的、来自OUI地址为0011-2200-0000、掩码是ffff-ff00-0000的语音报文通过Voice VLAN转发。
图2-1 配置自动模式下Voice VLAN组网图
# 创建VLAN2、VLAN6。
<DeviceA> system-view
[DeviceA] vlan 2
[DeviceA-vlan2] quit
[DeviceA] vlan 6
[DeviceA-vlan6] quit
# 设置Voice VLAN的老化时间。
[DeviceA] voice vlan aging 100
# 设置OUI地址0011-2200-0000是Voice VLAN的合法地址。
[DeviceA] voice vlan mac-address 0011-2200-0000 mask ffff-ff00-0000
# 全局使能Voice VLAN功能。
[DeviceA] voice vlan 2 enable
# 将端口GigabitEthernet1/0/1上Voice VLAN的工作模式设置为自动模式。(可选,缺省情况下,端口的Voice VLAN工作在自动模式。)
[DeviceA] interface GigabitEthernet 1/0/1
[DeviceA-GigabitEthernet1/0/1] voice vlan mode auto
# 将端口GigabitEthernet1/0/1设定为Hybrid端口。
[DeviceA-GigabitEthernet1/0/1] port link-type access
Please wait... Done.
[DeviceA-GigabitEthernet1/0/1] port link-type hybrid
# 设置端口的缺省VLAN为VLAN6,且端口允许VLAN6通过。
[DeviceA-GigabitEthernet1/0/1] port hybrid pvid vlan 6
[DeviceA-GigabitEthernet1/0/1] port hybrid vlan 6 tagged
# 使能端口Voice VLAN功能。
[DeviceA-GigabitEthernet1/0/1] voice vlan enable
[DeviceA-GigabitEthernet1/0/1] return
# 显示当前系统支持的OUI地址、OUI地址掩码和描述信息。
<DeviceA> 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
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
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 AUTO
<DeviceA>
l 创建VLAN2为Voice VLAN。
l IP Phone类型为untagged,接入端口是Hybrid类型端口GigabitEthernet1/0/1。
l 端口GigabitEthernet1/0/1工作在手动模式,且允许OUI地址是0011-2200-0000、掩码是ffff-ff00-0000的语音报文通过,描述字符为test。
图2-2 配置手动模式下Voice VLAN组网图
# 设置Voice VLAN为安全模式,使得Voice VLAN端口只允许合法的语音报文通过。(可选,系统缺省为安全模式)
<DeviceA> system-view
[DeviceA] voice vlan security enable
# 设置OUI地址0011-2200-0000是Voice VLAN的合法地址。
[DeviceA] voice vlan mac-address 0011-2200-0000 mask ffff-ff00-0000 description test
# 创建VLAN2,使能VLAN2的Voice VLAN功能。
[DeviceA] vlan 2
[DeviceA-vlan2] quit
[DeviceA] voice vlan 2 enable
# 设置端口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 access
Please wait... Done.
[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 enable
# 显示当前系统支持的OUI地址、OUI地址掩码和描述信息。
<DeviceA> 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的状态。
<DeviceA> 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
GVRP(GARP VLAN Registration Protocol,GARP VLAN注册协议)是GARP(Generic Attribute Registration Protocol,通用属性注册协议)的一种应用,下面首先介绍一下GARP的相关内容。
GARP提供了一种机制,用于协助同一个局域网内的交换成员之间分发、传播和注册某种信息(如VLAN、组播地址等)。
GARP本身不作为一个实体存在于设备中,遵循GARP协议的应用实体称为GARP应用,GVRP就是GARP的一种应用。当GARP应用实体存在于设备的某个端口上时,该端口对应于一个GARP应用实体。
(1) GARP消息
GARP成员之间的信息交换借助于消息的传递来完成,主要有三类消息起作用,分别为Join消息、Leave消息和LeaveAll消息。
l 当一个GARP应用实体希望其它设备注册自己的属性信息时,它将对外发送Join消息;当收到其它实体的Join消息或本设备静态配置了某些属性,需要其它GARP应用实体进行注册时,它也会向外发送Join消息。
l 当一个GARP应用实体希望其它设备注销自己的属性信息时,它将对外发送Leave消息;当收到其它实体的Leave消息注销某些属性或静态注销了某些属性后,它也会向外发送Leave消息。
l 每个GARP应用实体启动后,将同时启动LeaveAll定时器,当该定时器超时后GARP应用实体将对外发送LeaveAll消息,LeaveAll消息用来注销所有的属性,以使其它GARP应用实体重新注册本实体上所有的属性信息。
Join消息、Leave消息与LeaveAll消息配合确保信息的重新注册或注销。
通过消息交互,所有待注册的属性信息可以传播到同一局域网配置了GARP的所有设备上。
(2) GARP定时器
GARP消息发送的时间间隔是通过定时器来实现的,GARP定义了四种定时器,用于控制GARP消息的发送周期:
l Hold定时器:当GARP应用实体接收到其它设备发送的注册信息时,不会立即将该注册信息作为一条Join消息对外发送,而是启动Hold定时器,当该定时器超时后,GARP应用实体将此时段内收到的所有注册信息放在同一个Join消息中向外发送,从而节省带宽资源。
l Join定时器:GARP应用实体可以通过将每个Join消息向外发送两次来保证消息的可靠传输,在第一次发送的Join消息没有得到回复的时候,GARP应用实体会第二次发送Join消息。两次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 在全网有多台设备的情况下,各个设备的LeaveAll定时器的取值可能不相同,但各设备都将以全网最小的LeaveAll定时器为准发送LeaveAll消息。因为每次发送LeaveAll消息时,当其它设备接收到之后都会清零LeaveAll定时器,因此即使全网存在很多不同的LeaveAll定时器,也只有最小的那个LeaveAll定时器起作用。
通过GARP机制,一个GARP成员上的配置信息会迅速传播到整个局域网。GARP成员可以是终端工作站或网桥。GARP成员通过声明或回收声明来通知其它的GARP成员注册或注销自己的属性信息,并根据其它GARP成员的声明或回收声明注册或注销对方的属性信息。当端口接收到一个属性声明时,该端口将注册该属性,如果端口接收到回收属性的声明,该端口将注销该属性。
GARP应用实体的协议数据报文以特定的组播MAC地址为目的MAC。设备在接收到GARP应用实体的报文后,会根据其目的MAC地址加以区分并交给不同的GARP应用(如GVRP)去处理。
GARP的报文格式如下图所示。
图3-1 GARP报文格式
各个字段的说明如表3-1所示。
表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 Event 2:JoinIn Event 3:LeaveEmpty Event 4:LeaveIn Event 5:Empty Event |
Attribute Value |
属性取值 |
GVRP的属性取值为VLAN ID,但LeaveAll属性的Attribute Value值无效 |
End Mark |
结束标志、GARP的PDU的结尾标志 |
以0x00取值表示 |
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只能在Trunk端口进行配置。
GVRP配置包括:配置GVRP功能、配置GARP定时器。
表3-2 配置GVRP功能
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
开启全局GVRP功能 |
gvrp |
必选 缺省情况下,全局GVRP功能处于关闭状态 |
|
进入以太网端口视图或端口组视图 |
进入以太网端口视图 |
interface interface-type interface-number |
二者必选其一 进入以太网端口视图后,下面进行的配置只在当前端口生效;进入端口组视图后,下面进行的配置将在端口组中的所有端口生效 |
进入端口组视图 |
port-group { aggregation agg-id | manual port-group-name } |
||
开启端口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厘秒 |
需要注意的是:
l 各定时器的取值必须是5厘秒的倍数。
l 各定时器的取值范围会由于其他定时器取值的改变而改变。如果用户想要设置的定时器的值不在当前可以设置的取值范围内,可以通过改变相关定时器的取值实现。
各个定时器的取值范围之间的关系如表3-4所示。
表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本地VLAN信息 |
display gvrp local-vlan interface interface-type interface-number |
显示GVRP状态机信息 |
display gvrp state interface interface-type interface-number vlan vlan-id |
显示GVRP统计信息 |
display gvrp statistics [ interface interface-list ] |
显示GVRP的全局状态信息 |
display gvrp status |
显示当前的动态VLAN操作信息 |
display gvrp vlan-operation interface interface-type interface-number |
清除GARP统计信息 |
reset garp statistics [ interface interface-list ] |
为了实现设备之间VLAN信息的动态注册和更新,需要在设备上启动GVRP,端口注册模式为缺省的Normal模式。
图3-2 配置GVRP组网图
(1) 配置Device A
# 开启全局GVRP。
<DeviceA> system-view
[DeviceA] gvrp
# 将以太网端口GigabitEthernet1/0/1配置为Trunk端口,并允许所有VLAN通过。
[DeviceA] interface GigabitEthernet 1/0/1
[DeviceA-GigabitEthernet1/0/1] port link-type trunk
[DeviceA-GigabitEthernet1/0/1] port trunk permit vlan all
# 在Trunk端口上开启GVRP。
[DeviceA-GigabitEthernet1/0/1] gvrp
[DeviceA-GigabitEthernet1/0/1] quit
# 配置静态VLAN2。
[DeviceA] vlan 2
(2) 配置Device B
# 开启全局GVRP。
<DeviceB> system-view
[DeviceB] gvrp
# 将以太网端口GigabitEthernet1/0/1配置为Trunk端口,并允许所有VLAN通过。
[DeviceB] interface GigabitEthernet 1/0/1
[DeviceB-GigabitEthernet1/0/1] port link-type trunk
[DeviceB-GigabitEthernet1/0/1] port trunk permit vlan all
# 在Trunk端口上开启GVRP。
[DeviceB-GigabitEthernet1/0/1] gvrp
[DeviceB-GigabitEthernet1/0/1] quit
# 配置静态VLAN3。
[DeviceB] vlan 3
(3) 显示配置结果
# 显示Device A上的动态VLAN信息。
[DeviceA] display vlan dynamic
Now, the following dynamic VLAN exist(s):
3
# 显示Device B上的动态VLAN信息。
[DeviceB] display vlan dynamic
Now, the following dynamic VLAN exist(s):
2
为了实现设备之间部分VLAN信息的动态注册和更新,需要在设备上启动GVRP,配置Device A的端口注册模式为Fixed,Device B的端口注册模式为缺省的Normal模式。
图3-3 配置GVRP组网图
(1) 配置Device A
# 开启全局GVRP。
<DeviceA> system-view
[DeviceA] gvrp
# 将以太网端口GigabitEthernet1/0/1配置为Trunk端口,并允许所有VLAN通过。
[DeviceA] interface GigabitEthernet 1/0/1
[DeviceA-GigabitEthernet1/0/1] port link-type trunk
[DeviceA-GigabitEthernet1/0/1] port trunk permit vlan all
# 在Trunk端口上开启GVRP。
[DeviceA-GigabitEthernet1/0/1] gvrp
# 配置端口注册模式为Fixed。
[DeviceA-GigabitEthernet1/0/1] gvrp registration fixed
[DeviceA-GigabitEthernet1/0/1] quit
# 配置静态VLAN2。
[DeviceA] vlan 2
(2) 配置Device B
# 开启全局GVRP。
<DeviceB> system-view
[DeviceB] gvrp
# 将以太网端口GigabitEthernet1/0/1配置为Trunk端口,并允许所有VLAN通过。
[DeviceB] interface GigabitEthernet 1/0/1
[DeviceB-GigabitEthernet1/0/1] port link-type trunk
[DeviceB-GigabitEthernet1/0/1] port trunk permit vlan all
# 在Trunk端口上开启GVRP。
[DeviceB-GigabitEthernet1/0/1] gvrp
[DeviceB-GigabitEthernet1/0/1] quit
# 配置静态VLAN3。
[DeviceB] vlan 3
(3) 显示配置结果
# 显示Device A上的动态VLAN信息。
[DeviceA] display vlan dynamic
No dynamic vlans exist!
# 显示Device B上的动态VLAN信息。
[DeviceB] display vlan dynamic
Now, the following dynamic VLAN exist(s):
2
为了阻止设备之间VLAN信息的动态注册和更新,需要在设备上启动GVRP,Device A的端口注册模式为Forbidden,Device B的端口注册模式为缺省的Normal模式。
图3-4 配置GVRP组网图
(1) 配置Device A
# 开启全局GVRP。
<DeviceA> system-view
[DeviceA] gvrp
# 将以太网端口GigabitEthernet1/0/1配置为Trunk端口,并允许所有VLAN通过。
[DeviceA] interface GigabitEthernet 1/0/1
[DeviceA-GigabitEthernet1/0/1] port link-type trunk
[DeviceA-GigabitEthernet1/0/1] port trunk permit vlan all
# 在Trunk端口上开启GVRP。
[DeviceA-GigabitEthernet1/0/1] gvrp
# 配置端口注册模式为Forbidden。
[DeviceA-GigabitEthernet1/0/1] gvrp registration forbidden
[DeviceA-GigabitEthernet1/0/1] quit
# 配置静态VLAN2。
[DeviceA] vlan 2
(2) 配置Device B
# 开启全局GVRP。
<DeviceB> system-view
[DeviceB] gvrp
# 将以太网端口GigabitEthernet1/0/1配置为Trunk端口,并允许所有VLAN通过。
[DeviceB] interface GigabitEthernet 1/0/1
[DeviceB-GigabitEthernet1/0/1] port link-type trunk
[DeviceB-GigabitEthernet1/0/1] port trunk permit vlan all
# 在Trunk端口上开启GVRP。
[DeviceB-GigabitEthernet1/0/1] gvrp
[DeviceB-GigabitEthernet1/0/1] quit
# 配置静态VLAN3。
[DeviceB] vlan 3
(3) 显示配置结果
# 显示Device A上的动态VLAN信息。
[DeviceA] display vlan dynamic
No dynamic vlans exist!
# 显示端口GigabitEthernet1/0/1目前允许通过的VLAN。
[DeviceA] display interface GigabitEthernet 1/0/1
GigabitEthernet1/0/1 current state: DOWN
IP Packet Frame Type: PKTFMT_ETHNT_2, Hardware Address: 00e0-fc55-0010
Description: GigabitEthernet1/0/1 Interface
Loopback is not set
Media type is twisted pair
Port hardware type is 1000_BASE_T
Unknown-speed mode, unknown-duplex mode
Link speed type is autonegotiation, link duplex type is autonegotiation
Flow-control is not enabled
The Maximum Frame Length is 9212
Broadcast MAX-ratio: 100%
Unicast MAX-ratio: 100%
Multicast MAX-ratio: 100%
Allow jumbo frame to pass
PVID: 1
Mdi type: auto
Link delay is 0(sec)
Port link-type: trunk
VLAN passing : 1(default vlan)
VLAN permitted: 1(default vlan)
(略)
可以看到,目前该端口只允许VLAN1的报文通过。
# 显示Device B上的动态VLAN信息。
[DeviceB] display vlan dynamic
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!