04-VLAN操作
本章节下载 (307.14 KB)
目 录
传统的以太网是广播型网络,网络中的所有主机通过HUB或交换机相连,处在同一个广播域中。HUB和交换机作为网络连接的基本设备,在转发功能方面有一定的局限性:
l HUB是物理层设备,没有交换功能,接收到的报文会向除接收端口外的所有端口转发;
l 交换机是数据链路层设备,具备根据报文的目的MAC地址进行转发的能力,但在收到广播报文或未知单播报文(报文的目的MAC地址不在交换机MAC地址表中)时,也会向除接收端口之外的所有端口转发。
上述情况会造成以下的网络问题:
l 网络中可能存在着大量广播和未知单播报文,浪费网络资源。
l 网络中的主机收到大量并非以自身为目的地的报文,造成了严重的安全隐患。
解决以上网络问题的根本方法就是隔离广播域。传统的方法是使用路由器,因为路由器是依据目的IP地址对报文进行转发,不会转发链路层的广播报文。但是路由器的成本较高,而且端口较少,无法细致地划分网络,所以使用路由器隔离广播域有很大的局限性。
为了解决以太网交换机在局域网中无法限制广播的问题,VLAN(Virtual Local Area Network,虚拟局域网)技术应运而生。
VLAN的组成不受物理位置的限制,因此同一VLAN内的主机也无须放置在同一物理空间里。
如图1-1所示,VLAN把一个物理上的LAN划分成多个逻辑上的LAN,每个VLAN是一个广播域。VLAN内的主机间通过传统的以太网通信方式即可进行报文的交互,而处在不同VLAN内的主机之间如果需要通信,则必须通过路由器或三层交换机等网络层设备才能够实现。
图1-1 VLAN组网示意图
与传统以太网相比,VLAN具有如下的优点:
l 控制广播域的范围:局域网内的广播报文被限制在一个VLAN内,节省了带宽,提高了网络处理能力。
l 增强了LAN的安全性:由于报文在数据链路层被VLAN划分的广播域所隔离,因此各个VLAN内的主机间不能直接通信,需要通过路由器或三层交换机等网络层设备对报文进行三层转发。
l 灵活创建虚拟工作组:使用VLAN可以创建跨物理网络范围的虚拟工作组,当用户的物理位置在虚拟工作组范围内移动时,不需要更改网络配置即可以正常访问网络。
为使交换机能够分辨不同VLAN的报文,需要在报文中添加标识VLAN的字段。由于交换机工作在OSI模型的数据链路层(三层交换机不在本章节讨论范围内),只能对报文的数据链路层封装进行识别。因此,识别字段需要添加到数据链路层封装中。
IEEE于1999年颁布了用以标准化VLAN实现方案的IEEE 802.1Q协议标准草案,对带有VLAN Tag的报文结构进行了统一规定。
传统的以太网数据帧在目的MAC地址和源MAC地址之后封装上层协议的类型字段。如图1-2所示。
其中DA表示目的MAC地址,SA表示源MAC地址,Type表示上层协议的类型字段。
IEEE 802.1Q协议规定,在目的MAC地址和源MAC地址之后封装4个字节的VLAN Tag,用以标识VLAN的相关信息。
图1-3 VLAN Tag的组成字段
如图1-3所示,VLAN Tag包含四个字段,分别是TPID(Tag Protocol Identifier,标签协议标识符)、Priority、CFI(Canonical Format Indicator,标准格式指示位)和VLAN ID。
l TPID:用来标识本数据帧是带有VLAN Tag的数据。该字段长度为16bit,在H3C系列以太网交换机上缺省取值为协议规定的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 ID的VLAN Tag,将报文在接收端口的缺省VLAN中进行传输。有关端口缺省VLAN设置的内容,请参见1.2.2 部分的介绍。
交换机是根据报文的目的MAC地址对报文进行转发的,因此交换机维护了一种记录MAC地址与端口对应关系的转发表来指导交换机进行转发,这个表称为MAC地址转发表。交换机将接收到的报文的源MAC地址以及接收端口记录到该表中,供后续报文转发使用,这个记录过程称为MAC地址的学习过程。
在配置了VLAN后,交换机的MAC地址学习方式分为两种:
l SVL(Shared VLAN Learning,共享VLAN学习):交换机将所有VLAN中的端口学习到的MAC地址表项全部记录到一张共享的MAC地址转发表内,从任意VLAN内的任意端口接收的报文都参照此表中的信息进行转发。
l IVL(Independent VLAN Learning,独立VLAN学习):交换机为每个VLAN维护独立的MAC地址转发表。由某个VLAN内的端口接收的报文,其源MAC地址只被记录到该VLAN的MAC地址转发表中,且报文的转发只以该表中的信息作为依据。
H3C S2126-EI以太网交换机目前采用IVL方式进行MAC地址学习。有关MAC地址转发表的更多内容,请参见本手册“MAC地址转发表管理”部分的介绍。
不同VLAN间的主机不能直接通信,需要通过路由器或三层交换机等网络层设备进行转发,S2126-EI以太网交换机支持通过配置VLAN接口实现对报文进行三层转发的功能。
VLAN接口是一种三层模式下的虚拟接口,主要用于实现VLAN间的三层互通,它不作为物理实体存在于交换机上。每个VLAN对应一个VLAN接口,该接口可以为本VLAN内端口收到的报文根据其目的IP地址在网络层进行转发。通常情况下,由于VLAN能够隔离广播域,因此每个VLAN也对应一个IP网段,VLAN接口将作为该网段的网关对需要跨网段转发的报文进行基于IP地址的三层转发。
& 说明:
H3C S2126-EI以太网交换机只支持配置一个VLAN接口,且该接口对应的VLAN需要先被配置为管理VLAN,详情请参见“配置管理VLAN”。
根据划分方式的不同,可以将VLAN分为不同类型,下面列出了6种最常见的VLAN类型:
l 基于端口的VLAN
l 基于MAC地址的VLAN
l 基于协议的VLAN
l 基于IP子网的VLAN
l 基于策略的VLAN
l 其它VLAN
目前S2126-EI交换机支持基于端口的VLAN。
基于端口的VLAN是最简单的一种VLAN划分方法。用户可以将设备上的端口划分到不同的VLAN中,此后从某个端口接收的报文将只能在相应的VLAN内进行传输,从而实现广播域的隔离和虚拟工作组的划分。
以太网交换机的端口链路类型可以分为三种:Access、Trunk、Hybrid。这三种端口在加入VLAN和对报文进行转发时会进行不同的处理。
基于端口的VLAN具有实现简单,易于管理的优点,适用于连接位置比较固定的用户。
S2126-EI以太网交换机支持的以太网端口链路类型有三种:
l Access类型:端口只能属于1个VLAN,一般用于交换机与终端用户之间的连接;
l Trunk类型:端口可以属于多个VLAN,可以接收和发送多个VLAN的报文,一般用于交换机之间的连接;
l Hybrid类型:端口可以属于多个VLAN,可以接收和发送多个VLAN的报文,可以用于交换机之间连接,也可以用于连接用户的计算机。
& 说明:
Hybrid端口可以允许多个VLAN的报文发送时不携带标签,而Trunk端口只允许缺省VLAN的报文发送时不携带标签。
三种类型的端口可以共存在一台设备上,但Trunk端口和Hybrid端口之间不能直接切换,只能先设为Access端口,再设置为其他类型端口。例如:Trunk端口不能直接被设置为Hybrid端口,只能先设为Access端口,再设置为Hybrid端口。
Access端口只能属于1个VLAN,所以它的缺省VLAN就是它所在的VLAN,不用设置;Hybrid端口和Trunk端口可以属于多个VLAN,所以需要设置端口的缺省VLAN ID。
将端口加入VLAN并指定了端口的缺省VLAN后,三类端口对报文的接收和发送会有不同的处理方式,具体描述请参见表1-1、表1-2和表1-3。
表1-1 Access端口收发报文的处理
接收报文时的处理 |
发送报文时的处理 |
||
当接收到的报文不带Tag时 |
当接收到的报文带有Tag时 |
||
接收该报文,并为报文添加缺省VLAN的Tag |
l 当VLAN ID与缺省VLAN ID相同时:接收该报文 l 当VLAN ID与缺省VLAN ID不同时:丢弃该报文 |
由于VLAN ID就是缺省VLAN ID,不用设置,去掉Tag后发送 |
|
表1-2 Trunk端口收发报文的处理
接收报文时的处理 |
发送报文时的处理 |
|
当接收到的报文不带Tag时 |
当接收到的报文带有Tag时 |
|
l 当端口已经加入缺省VLAN时,为报文封装缺省VLAN的Tag并转发 l 当端口没有加入缺省VLAN时,丢弃该报文 |
l 当VLAN ID是该端口允许通过的VLAN ID时:接收该报文 l 当VLAN ID不是该端口允许通过的VLAN ID时:丢弃该报文 |
l 当VLAN ID与缺省VLAN ID相同时:去掉Tag,发送该报文 l 当VLAN ID与缺省VLAN ID不同时:保持原有Tag,发送该报文 |
表1-3 Hybrid端口收发报文的处理
接收报文时的处理 |
发送报文时的处理 |
|
当接收到的报文不带Tag时 |
当接收到的报文带有Tag时 |
|
l 当端口已经加入缺省VLAN时,为报文封装缺省VLAN的Tag并转发 l 当端口没有加入缺省VLAN时,丢弃该报文 |
l 当VLAN ID是该端口允许通过的VLAN ID时:接收该报文 l 当VLAN ID不是该端口允许通过的VLAN ID时:丢弃该报文 |
当报文中携带的VLAN ID是该端口允许通过的VLAN ID时,发送该报文,并可以通过port hybrid vlan命令配置端口在发送该VLAN(包括缺省VLAN)的报文时是否携带Tag |
注意:
建议将本端Hybrid端口或Trunk端口的缺省VLAN ID和相连的对端交换机的Hybrid端口或Trunk端口的缺省VLAN ID配置为一致,否则端口可能无法正确转发报文。
用户可以将当前以太网端口加入到指定的VLAN中。执行该配置以后,以太网端口就可以转发指定VLAN的报文,从而实现本交换机上的VLAN与对端交换机上相同VLAN的互通。
Access端口只能加入到1个VLAN中,Hybrid端口和Trunk端口可以加入到多个VLAN中。
& 说明:
在将Access端口或Hybrid端口加入到指定的VLAN前,指定的VLAN必须已经创建。
表2-1 VLAN配置任务简介
配置任务 |
说明 |
详细配置 |
VLAN的基本配置 |
必选 |
|
VLAN接口的基本配置 |
可选 |
|
VLAN配置显示 |
可选 |
表2-2 VLAN的基本配置
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
批量创建多个VLAN |
vlan { vlan-id1 to vlan-id2 | all } |
可选 |
创建VLAN并进入VLAN视图 |
vlan vlan-id |
必选 缺省情况下,系统只有一个缺省VLAN(VLAN1) |
指定当前VLAN的名称 |
name text |
可选 缺省情况下,VLAN的名称为该VLAN的VLAN ID,例如“VLAN 0001” |
指定当前VLAN的描述字符串 |
description text |
可选 缺省情况下,VLAN的描述字符串为该VLAN的VLAN ID,例如“VLAN 0001” |
注意:
l VLAN1是系统的缺省VLAN,无需创建,也不能删除。
l 使用以上方法创建的是静态VLAN,交换机中还可以存在动态VLAN,是指通过GVRP功能注册的VLAN,详情请参见本手册“GVRP”部分的介绍。
l 当使用vlan命令创建VLAN时,如果目标VLAN已经存在且是动态VLAN,交换机会自动将其转换为静态VLAN,同时输出提示信息。
配置VLAN接口之前,首先要创建对应的VLAN。
表2-3 VLAN接口的基本配置
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建VLAN接口并进入VLAN接口视图 |
interface Vlan-interface vlan-id |
必选 缺省情况下,在交换机上不存在VLAN接口 |
指定当前VLAN接口的描述字符串 |
description text |
可选 缺省情况下,VLAN接口的描述字符串为该VLAN接口的接口名,例如“Vlan-interface1 Interface” |
将VLAN接口的管理状态设置为关闭 |
shutdown |
可选 缺省情况下,VLAN接口的管理状态为打开,此时VLAN接口状态受VLAN中端口状态的影响,即:当VLAN中所有以太网端口状态为Down时,VLAN接口为Down状态,即关闭状态;当VLAN中有一个或一个以上的以太网端口处于Up状态时,则VLAN接口处于Up状态 如果将VLAN接口的管理状态设置为关闭,则VLAN接口的状态始终为Administratively Down,不受VLAN中端口状态的影响 |
将VLAN接口的管理状态设置为打开 |
undo shutdown |
& 说明:
l 打开/关闭VLAN接口的操作对属于该VLAN的以太网端口的物理状态没有影响。
l S2126-EI交换机只能配置一个VLAN接口,而且该VLAN必须是管理VLAN,有关管理VLAN的详细介绍请参见本手册“配置管理VLAN”部分。
完成上述配置后,在任意视图下执行display命令,可以显示配置VLAN后的运行情况。通过查看显示信息,用户可以验证配置的效果。
表2-4 VLAN配置显示
操作 |
命令 |
说明 |
显示VLAN接口相关信息 |
display interface Vlan-interface [ vlan-id ] |
display命令可以在任意视图下执行 |
显示VLAN相关信息 |
display vlan [ vlan-id [ to vlan-id ] | all | dynamic | static ] |
配置基于Access端口的VLAN有两种方法:一种是在VLAN视图下进行配置,一种是在以太网端口视图下进行配置。
表2-5 配置基于Access端口的VLAN(在VLAN视图下)
配置 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入VLAN视图 |
vlan vlan-id |
必选 如果指定的VLAN不存在,则该命令先完成VLAN的创建,然后再进入该VLAN的视图 |
将指定Access端口加入到当前VLAN中 |
port interface-list |
必选 缺省情况下,系统将所有端口都加入到VLAN1 |
表2-6 配置基于Access端口的VLAN(在以太网端口视图下)
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入以太网端口视图 |
interface interface-type interface-number |
- |
配置端口的链路类型为Access类型 |
port link-type access |
可选 缺省情况下,端口的链路类型为Access类型 |
将当前Access端口加入到指定VLAN |
port access vlan vlan-id |
可选 缺省情况下,所有Access端口均属于且只属于VLAN1 |
& 说明:
在将Access端口加入到指定VLAN之前,要加入的VLAN必须已经存在。
表2-7 配置基于Hybrid端口的VLAN
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入以太网端口视图 |
interface interface-type interface-number |
- |
配置端口的链路类型为Hybrid |
port link-type hybrid |
必选 |
设置Hybrid端口的缺省VLAN ID |
port hybrid pvid vlan vlan-id |
可选 Hybrid端口的缺省VLAN 为VLAN1 |
将当前Hybrid端口加入到指定VLAN |
port hybrid vlan vlan-id-list { tagged | untagged } |
可选 缺省情况下,所有端口都属于VLAN1 通过配置tagged或untagged参数,用户可以设置Hybrid端口在转发指定的VLAN报文时是否保留VLAN Tag |
& 说明:
l Trunk端口和Hybrid端口之间不能直接切换,只能先设为Access端口,再设置为其它类型端口。例如:Trunk端口不能直接被设置为Hybrid端口,只能先设为Access端口,再设置为Hybrid端口。
l 在设置允许指定的VLAN通过Hybrid端口之前,允许通过的VLAN必须已经存在。
l 本端设备Hybrid端口的缺省VLAN ID和相连的对端设备的Hybrid端口的缺省VLAN ID必须一致,否则报文将不能正确传输。
表2-8 配置基于Trunk端口的VLAN
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入以太网端口视图 |
interface interface-type interface-number |
- |
配置端口的链路类型为Trunk |
port link-type trunk |
必选 |
设置Trunk端口的缺省VLAN ID |
port trunk pvid vlan vlan-id |
可选 Trunk端口的缺省VLAN为VLAN1 |
port trunk permit vlan { vlan-id-list | all } |
可选 缺省情况下,所有端口都属于VLAN1 |
& 说明:
l Trunk端口和Hybrid端口之间不能直接切换,只能先设为Access端口,再设置为其它类型端口。例如:Trunk端口不能直接被设置为Hybrid端口,只能先设为Access端口,再设置为Hybrid端口。
l 本端设备Trunk端口的缺省VLAN ID和相连的对端设备的Trunk端口的缺省VLAN ID必须一致,否则本端缺省VLAN的报文将不能正确传输至对端。
完成上述配置后,在任意视图下执行display命令,可以显示配置系统中当前存在的Trunk和Hybrid端口。
表2-9 VLAN配置显示
操作 |
命令 |
说明 |
显示系统当前存在的指定类型的端口 |
display port { hybrid | trunk } |
display命令可以在任意视图下执行 |
l 如图2-1所示,Switch A和Switch B各自连接了一台服务器和一台工作站。
l 为保证服务器的数据安全,需要将两台服务器划分到VLAN101中,并配置描述字符为“DMZ”,工作站划分到VLAN201中。
l 各VLAN内的设备之间可以互相通信,但跨VLAN的工作站与服务器之间不能直接通信。
图2-1 VLAN配置示例图
l 配置Switch A
# 创建VLAN101,并配置VLAN101的描述字符串为“DMZ”,将端口Ethernet1/0/1加入到VLAN101。
<SwitchA> system-view
[SwitchA] vlan 101
[SwitchA-vlan101] description DMZ
[SwitchA-vlan101] port Ethernet 1/0/1
[SwitchA-vlan101] quit
# 创建VLAN201,将端口Ethernet1/0/2加入到VLAN201。
[SwitchA] vlan 201
[SwitchA-vlan201] port Ethernet 1/0/2
[SwitchA-vlan201] quit
l 配置Switch B
# 创建VLAN101,并配置VLAN101的描述字符串为“DMZ”,将端口Ethernet1/0/11加入到VLAN101。
<SwitchB> system-view
[SwitchB] vlan 101
[SwitchB-vlan101] description DMZ
[SwitchB-vlan101] port Ethernet 1/0/11
[SwitchB-vlan101] quit
# 创建VLAN201,将端口Ethernet1/0/12加入到VLAN201。
[SwitchB] vlan 201
[SwitchB-vlan201] port Ethernet 1/0/12
[SwitchB-vlan201] quit
l 配置Switch A和Switch B之间的链路
由于Switch A和Switch B之间的链路需要同时传输VLAN101和VLAN201的数据,所以可以配置两端的端口为Trunk端口,且允许这两个VLAN的报文通过。
# 配置Switch A的Ethernet1/0/3端口
[SwitchA] interface Ethernet 1/0/3
[SwitchA-Ethernet1/0/3] port link-type trunk
[SwitchA-Ethernet1/0/3] port trunk permit vlan 101
[SwitchA-Ethernet1/0/3] port trunk permit vlan 201
# 配置Switch B的Ethernet1/0/10端口
[SwitchB] interface Ethernet 1/0/10
[SwitchB-Ethernet1/0/10] port link-type trunk
[SwitchB-Ethernet1/0/10] port trunk permit vlan 101
[SwitchB-Ethernet1/0/10] port trunk permit vlan 201
故障现象:配置端口的缺省VLAN ID不成功。
故障排除:可以按照如下步骤进行。
l 使用display interface或display port命令检查该端口是否为Trunk端口或Hybrid端口。
l 如果不是,则应先将其配置成Trunk端口或Hybrid端口。
接着再配置端口的缺省VLAN ID。
& 说明:
有关display interface命令的介绍和使用方法,请参见“端口基本配置”。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!