内容正文:
VLAN划分
1
VLAN标签的添加和剥除
01
划分VLAN示例
02
目录
CONTENTS
01 VLAN标签的添加和剥除
VLAN帧格式
通过Tag区分不同VLAN。
没有携带Tag的帧
携带Tag的帧
0x8100 PRI CFI VLAN ID(12b)
2 bytes
2 bytes
DMAC
Data
SMAC
Type
FCS
6 bytes
6 bytes
2 bytes
46-1500 bytes
4 bytes
DMAC
Data
SMAC
Type
FCS
6 bytes
6 bytes
2 bytes
46-1500 bytes
4 bytes
Tag
TPID
TCI
4 bytes
灵石县第一职业高级中学
在现有的交换网络环境中,以太网的帧有两种格式:
第一种是没有加上VLAN标记的标准以太网帧(untagged frame);第二种是有VLAN标记的以太网帧(tagged frame)。
那如何标识数据帧是否携带VLAN标记?如PPT所示,主要通过Tag字段来
VLAN标签长4个字节,直接添加在以太网帧头中,其中,VLAN ID字段长度12bit。
通过理论课,我们学习到,交换机的端口分为三种,那每种端口都是如何处理数据帧,接下来我们一起学习下。
ACCESS端口
对于Access接口,缺省VLAN就是它允许通过的VLAN,修改接口允许通过的VLAN即可更改接口的缺省VLAN
Page 5
Access端口发往对端设备的以太网帧永远是不带标签的帧。
Access接口添加VLAN标签的处理过程
Access接口剥离VLAN标签的处理过程
灵石县第一职业高级中学
Access端口是交换机上用来连接用户主机的端口,它只能连接接入链路,并且只能允许唯一的VLAN ID通过本端口。
为了方便大家理解,我们用图形化的方式来展示收发数据帧的规则:
Access端口收发数据帧的规则如下:
如果该端口收到对端设备发送的帧是untagged(不带VLAN标签),交换机将强制加上该端口的PVID。如果该端口收到对端设备发送的帧是tagged(带VLAN标签),交换机会检查该标签内的VLAN ID。当VLAN ID与该端口的PVID相同时,接收该报文。当VLAN ID与该端口的PVID不同时,丢弃该报文。
Access端口发送数据帧时,总是先剥离帧的Tag,然后再发送。Access端口发往对端设备的以太网帧永远是不带标签的帧。
Access端口在收到数据后会添加VLAN Tag,VLAN ID和端口的PVID相同。
Access端口在转发数据前会移除VLAN Tag。
ACCESS端口
主机A
主机C
主机B
Untagged
Untagged
PVID10
PVID10
PVID2
Frame
10
SWA
G0/0/1
G0/0/2
G0/0/3
灵石县第一职业高级中学
在本示例中,交换机的G0/0/1,G0/0/2,G0/0/3端口分别连接三台主机,都配置为Access端口。主机A把数据帧(未加标签)发送到交换机的G0/0/1端口,再由交换机发往其他目的地。收到数据帧之后,交换机根据端口的PVID给数据帧打上VLAN标签10,然后决定从G0/0/3端口转发数据帧。G0/0/3端口的PVID也是10,与VLAN标签中的VLAN ID相同,交换机移除标签,把数据帧发送到主机C。连接主机B的端口的PVID是2,与VLAN10不属于同一个VLAN,因此此端口不会接收到VLAN10的数据帧。
Trunk端口
对于Trunk接口和Hybrid接口,一个接口可以允许多个VLAN通过,但是只能有一个缺省VLAN,修改接口允许通过的VLAN不会更改接口的缺省VLAN
Trunk接口添加VLAN标签的处理过程
Trunk接口剥离VLAN标签的处理过程
Trunk接口发出的数据帧只有一个VLAN的数据帧不带Tag,其他都带VLAN标签
灵石县第一职业高级中学
Trunk接口一般用于连接交换机、路由器、AP以及可同时收发Tagged帧和Untagged帧的语音终端。它可以允许多个VLAN的帧带Tag通过,但只允许一个VLAN的帧从该类接口上发出时不带Tag(即剥除Tag)。
Trunk端口收发数据帧的规则如下:
当接收到对端设备发送的不带Tag的数据帧时,会添加该端口的PVID,如果PVID在允许通过的VLAN ID列表中,则接收该报文,否则丢弃该报文。当接收到对端设备发送的带Tag的数据帧时,检查VLAN ID是否在允许通过的VLAN ID列表中。如果VLAN ID在接口允许通过的VLAN ID列表中,则接收该报文。否则丢弃该报文。
端口发送数据帧时,当VLAN ID与端口的PVID相同,且是该端口允许通过的VLAN ID时,去掉Tag,发送该报文。当VLAN ID与端口的PVID不同,且是该端口允许通过的VLAN ID时,保持原有Tag,发送该报文。
当Trunk端口收到帧时,如果该帧不包含Tag,将添加上端口的PVID;如果该帧包含Tag,则不改变。
当Trunk端口发送帧时,该帧的VLAN ID在Trunk的允许发送列表中:若与端口的PVID相同时,则剥离Tag发送;若与端口的PVID不同时,则直接发送。
Trunk端口
主机A
主机C
主机B
主机D
Untagged
Untagged
Frame
20
Untagged
SWA
SWB
Untagged
Untagged
PVID1
PVID20
PVID1
PVID20
PVID1
PVID1
灵石县第一职业高级中学
在本示例中,SWA和SWB连接主机的端口为Access端口,PVID如图所示。SWA和SWB互连的端口为Trunk端口,PVID都为1,此Trunk链路允许所有VLAN的流量通过。当SWA转发VLAN1的数据帧时会剥离VLAN标签,然后发送到Trunk链路上。而在转发VLAN20的数据帧时,不剥离VLAN标签直接转发到Trunk链路上。
端口类型-Hybrid
Hybrid端口既可以连接主机,又可以连接交换机。
Hybrid端口可以以Tagged 或Untagged方式加入VLAN 。
G0/0/1
主机A
主机B
服务器
Untagged
Frame
G0/0/1
Frame
3
2
Untagged
Untagged
SWA
SWB
G0/0/2
G0/0/2
G0/0/3
Untagged
灵石县第一职业高级中学
Access端口发往其他设备的报文,都是Untagged数据帧,而Trunk端口仅在一种特定情况下才能发出untagged数据帧,其它情况发出的都是Tagged数据帧。
Hybrid端口是交换机上既可以连接用户主机,又可以连接其他交换机的端口。Hybrid端口既可以连接接入链路又可以连接干道链路。Hybrid端口允许多个VLAN的帧通过,并可以在出端口方向将某些VLAN帧的Tag剥掉。华为设备默认的端口类型是Hybrid。
在本示例中,要求主机A和主机B都能访问服务器,但是它们之间不能互相访问。此时交换机连接主机和服务器的端口,以及交换机互连的端口都配置为Hybrid类型。交换机连接主机A的端口的PVID是2,连接主机B的端口的PVID是3,连接服务器的端口的PVID是100。
Hybird端口
Page 10
Trunk接口添加VLAN标签的处理过程
Trunk接口剥离VLAN标签的处理过程
灵石县第一职业高级中学
Hybrid端口收发数据帧的规则如下:
当接收到对端设备发送的不带Tag的数据帧时,会添加该端口的PVID,如果PVID在允许通过的VLAN ID列表中,则接收该报文,否则丢弃该报文。当接收到对端设备发送的带Tag的数据帧时,检查VLAN ID是否在允许通过的VLAN ID列表中。如果VLAN ID在接口允许通过的VLAN ID列表中,则接收该报文,否则丢弃该报文。
Hybrid端口发送数据帧时,将检查该接口是否允许该VLAN数据帧通过。如果允许通过,则可以通过命令配置发送时是否携带Tag。
配置port hybrid tagged vlan vlan-id命令后,接口发送该vlan-id的数据帧时,不剥离帧中的VLAN Tag,直接发送。该命令一般配置在连接交换机的端口上。
配置port hybrid untagged vlan vlan-id命令后,接口在发送vlan-id的数据帧时,会将帧中的VLAN Tag剥离掉再发送出去。该命令一般配置在连接主机的端口上。
本例介绍了主机A和主机B发送数据给服务器的情况。在SWA和SWB互连的端口上配置了port hybrid tagged vlan 2 3 100命令后,SWA和SWB之间的链路上传输的都是带Tag标签的数据帧。在SWB连接服务器的端口上配置了port hybrid untagged vlan 2 3,主机A和主机B发送的数据会被剥离VLAN标签后转发到服务器。
02 VLAN配置
VLAN配置
[SWA]vlan 10
[SWA-vlan10]quit
[SWA]vlan batch 2 to 3
Info: This operation may take a few seconds. Please wait for a moment...done.
主机A
主机D
主机B
主机C
SWA
SWB
灵石县第一职业高级中学
在交换机上划分VLAN时,需要首先创建VLAN。在交换机上执行vlan <vlan-id>命令,创建VLAN。如本例所示,执行vlan 10命令后,就创建了VLAN 10,并进入了VLAN 10视图。VLAN ID的取值范围是1到4094。如需创建多个VLAN,可以在交换机上执行vlan batch { vlan-id1 [ to vlan-id2 ] }命令,以创建多个连续的VLAN。也可以执行vlan batch { vlan-id1 vlan-id2 }命令,创建多个不连续的VLAN,VLAN号之间需要有空格。
配置验证
[SWA]display vlan
The total number of vlans is : 4
------------------------------------------------------------
U:Up; D:Down; TG:Tagged; UT:Untagged; MP:Vlan-mapping; ST:Vlan-stacking; #: ProtocolTransparent-vlan; *:Management-vlan;
--------------------------------------------------------------
VID Type Ports
--------------------------------------------------------------
1 common UT:GE0/0/1(U) ……
2 common
3 common
common
……
灵石县第一职业高级中学
创建VLAN后,可以执行display vlan命令验证配置结果。如果不指定任何参数,则该命令将显示所有VLAN的简要信息。
执行display vlan [ vlan-id [ verbose ] ]命令,可以查看指定VLAN的详细信息,包括VLAN ID、类型、描述、VLAN的状态、VLAN中的端口、以及VLAN中端口的模式等。
执行display vlan vlan-id statistics命令,可以查看指定VLAN中的流量统计信息。
执行display vlan summary命令,可以查看系统中所有VLAN的汇总信息。
配置Access端口
[SWA]interface GigabitEthernet 0/0/5
[SWA-GigabitEthernet0/0/5]port link-type access
[SWA-GigabitEthernet0/0/5]interface GigabitEthernet 0/0/7
[SWA-GigabitEthernet0/0/7]port link-type access
SWA
SWB
G0/0/1
G0/0/7
G0/0/5
主机A
主机D
主机B
主机C
灵石县第一职业高级中学
华为X7系列交换机上,默认的端口类型是hybrid。
配置端口类型的命令是port link-type <type>,type可以配置为Access,Trunk或Hybrid。需要注意的是,如果查看端口配置时没有发现端口类型信息,说明端口使用了默认的hybrid端口链路类型。当修改端口类型时,必须先恢复端口的默认VLAN配置,使端口属于缺省的VLAN 1。
添加端口到VLAN
[SWA]vlan 2
[SWA-vlan2]port GigabitEthernet 0/0/7
[SWA-vlan2]quit
[SWA]interface GigabitEthernet0/0/5
[SWA-GigabitEthernet0/0/5]port default vlan 3
SWA
SWB
G0/0/1
G0/0/7
G0/0/5
主机A
主机D
主机B
主机C
灵石县第一职业高级中学
可以使用两种方法把端口加入到VLAN。
第一种方法是进入到VLAN视图,执行port <interface>命令,把端口加入VLAN。
第二种方法是进入到接口视图,执行port default vlan <vlan-id>命令,把端口加入VLAN。vlan-id是指端口要加入的VLAN。
配置验证
[SWA]display vlan
The total number of vlans is : 4
------------------------------------------------------------
U:Up; D:Down; TG:Tagged; UT:Untagged; MP:Vlan-mapping; ST:Vlan-stacking; #: ProtocolTransparent-vlan; *:Management-vlan;
--------------------------------------------------------------
VID Type Ports
--------------------------------------------------------------
1 common UT:GE0/0/1(U) ……
2 common UT:GE0/0/7(U)
common UT:GE0/0/5(U)
10 common
……
灵石县第一职业高级中学
执行display vlan命令,可以确认端口是否已经加入到VLAN中。在本示例中,端口GigabitEthernet0/0/5和GigabitEthernet0/0/7分别加入了VLAN 3和VLAN 2。UT表明该端口发送数据帧时,会剥离VLAN标签,即此端口是一个Access端口或不带标签的Hybrid端口。U或D分别表示链路当前是Up状态或Down状态。
配置Trunk端口
[SWA-GigabitEthernet0/0/1]port link-type trunk
[SWA-GigabitEthernet0/0/1]port trunk allow-pass vlan 2 3
SWA
SWB
G0/0/1
G0/0/1
主机A
主机D
主机B
主机C
灵石县第一职业高级中学
配置Trunk时,应先使用port link-type trunk命令修改端口的类型为Trunk,然后再配置Trunk端口允许哪些VLAN的数据帧通过。执行port trunk allow-pass vlan { { vlan-id1 [ to vlan-id2 ] } | all }命令,可以配置端口允许的VLAN,all表示允许所有VLAN的数据帧通过。
执行port trunk pvid vlan vlan-id命令,可以修改Trunk端口的PVID。修改Trunk端口的PVID之后,需要注意:缺省VLAN不一定是端口允许通过的VLAN。只有使用命令port trunk allow-pass vlan { { vlan-id1 [ to vlan-id2 ] } | all }允许缺省VLAN数据通过,才能转发缺省VLAN的数据帧。交换机的所有端口默认允许VLAN1的数据通过。
在本示例中,将SWA的G0/0/1端口配置为Trunk端口,该端口PVID默认为1。配置port trunk allow-pass vlan 2 3命令之后,该Trunk允许VLAN 2和VLAN 3的数据流量通过。
配置验证
[SWA]display vlan
The total number of vlans is : 4
------------------------------------------------------------
U:Up; D:Down; TG:Tagged; UT:Untagged; MP:Vlan-mapping; ST:Vlan-stacking; #: ProtocolTransparent-vlan; *:Management-vlan;
--------------------------------------------------------------
VID Type Ports
--------------------------------------------------------------
1 common UT:GE0/0/1(U) ……
2 common UT:GE0/0/7(D) TG:GE0/0/1(U)
common UT:GE0/0/5(U) TG:GE0/0/1(U)
10 common
……
灵石县第一职业高级中学
执行display vlan命令可以查看修改后的配置。TG表明该端口在转发对应VLAN的数据帧时,不会剥离标签,直接进行转发,该端口可以是Trunk端口或带标签的Hybrid端口。本示例中,GigabitEthernet0/0/1在转发VLAN 2和VLAN3的流量时,不剥离标签,直接转发。
配置Hybrid端口
[SWA-GigabitEthernet0/0/1]port link-type hybrid
[SWA-GigabitEthernet0/0/1]port hybrid tagged vlan 2 3 100
[SWA-GigabitEthernet0/0/2]port hybrid pvid vlan 2
[SWA-GigabitEthernet0/0/2]port hybrid untagged vlan 2 100
[SWA-GigabitEthernet0/0/3]port hybrid pvid vlan 3
[SWA-GigabitEthernet0/0/3]port hybrid untagged vlan 3 100
G0/0/1
主机A
主机B
服务器
G0/0/1
SWA
SWB
G0/0/2
G0/0/2
G0/0/3
灵石县第一职业高级中学
port link-type hybrid命令的作用是将端口的类型配置为Hybrid。默认情况下,X7系列交换机的端口类型是Hybrid。因此,只有在把Access口或Trunk口配置成Hybrid时,才需要执行此命令。
port hybrid tagged vlan{ { vlan-id1 [ to vlan-id2 ] } | all }命令用来配置允许哪些VLAN的数据帧以Tagged方式通过该端口。
port hybrid untagged vlan { { vlan-id1 [ to vlan-id2 ] } | all }命令用来配置允许哪些VLAN的数据帧以Untagged方式通过该端口。
在本示例中,要求主机A和主机B都能访问服务器,但是它们之间不能互相访问。此时通过命令port link-type hybrid配置交换机连接主机和服务器的端口,以及交换机互连的端口都为Hybrid类型。通过命令port hybrid pvid vlan 2配置交换机连接主机A的端口的PVID是2。类似地,连接主机B的端口的PVID是3,连接服务器的端口的PVID是100。
通过在G0/0/1端口下使用命令port hybrid tagged vlan 2 3 100,配置VLAN2,VLAN3和VLAN100的数据帧在通过该端口时都携带标签。在G0/0/2端口下使用命令port hybrid untagged vlan 2 100,配置VLAN2和VLAN100的数据帧在通过该端口时都不携带标签。在G0/0/3端口下使用命令port hybrid untagged vlan 3 100,配置VLAN3和VLAN100的数据帧在通过该端口时都不携带标签。
配置Hybrid
[SWB-GigabitEthernet0/0/1]port link-type hybrid
[SWB-GigabitEthernet0/0/1]port hybrid tagged vlan 2 3 100
[SWB-GigabitEthernet0/0/2]port hybrid pvid vlan 100
[SWB-GigabitEthernet0/0/2]port hybrid untagged vlan 2 3 100
G0/0/1
主机A
主机B
服务器
G0/0/1
SWA
SWB
G0/0/2
G0/0/2
G0/0/3
灵石县第一职业高级中学
在SWB上继续进行配置,在G0/0/1端口下使用命令port link-type hybrid配置端口类型为Hybrid。
在G0/0/1端口下使用命令port hybrid tagged vlan 2 3 100,配置VLAN2,VLAN3和VLAN100的数据帧在通过该端口时都携带标签。
在G0/0/2端口下使用命令port hybrid untagged vlan 2 3 100,配置VLAN2,VLAN3和VLAN100的数据帧在通过该端口时都不携带标签。
配置验证
[SWA]display vlan
The total number of vlans is : 4
------------------------------------------------------------
U:Up; D:Down; TG:Tagged; UT:Untagged; MP:Vlan-mapping; ST:Vlan-stacking; #: ProtocolTransparent-vlan; *:Management-vlan;
1 common UT:GE0/0/1(U)……
2 common UT:GE0/0/2(U)
TG:GE0/0/1(U)
3 common UT:GE0/0/3(U)
TG:GE0/0/1(U)
100 common UT:GE0/0/2(U) GE0/0/3(U)
TG:GE0/0/1(U)
灵石县第一职业高级中学
在SWA上执行display vlan命令,可以查看hybrid端口的配置。在本示例中,GigabitEthernet 0/0/2在发送VLAN2和VLAN100的数据帧时会剥离标签。GigabitEthernet 0/0/3在发送VLAN3和VLAN100的数据帧时会剥离标签。GigabitEthernet 0/0/1允许VLAN 2,VLAN 3和VLAN 100的带标签的数据帧通过。此配置满足了多个VLAN可以访问特定VLAN,而其他VLAN间不允许互相访问的需求。
VLAN配置示例
如图所示,某企业的交换机连接有很多用户,且相同业务用户通过不同的设备接入企业网络。为了通信的安全性,同时为了避免广播风暴,企业希望业务相同用户之间可以互相访问,业务不同用户不能直接访问。可以在交换机上配置基于接口划分VLAN,把业务相同的用户连接的接口划分到同一VLAN。这样属于不同VLAN的用户不能直接进行二层通信,同一VLAN内的用户可以直接互相通信。
SWA
SWB
G0/0/3
G0/0/3
主机A
192.168.10.1
主机D
192.168.10.4
主机B
192.168.10.2
主机C
192.168.10.3
G0/0/1
G0/0/2
G0/0/2
G0/0/1
VLAN 10
VLAN 10
VLAN 20
灵石县第一职业高级中学
基于接口划分VLAN,是最简单,最常见的划分方式。本节,我们就以该方式进行VLAN划分的演示
配置思路
创建VLAN并将连接用户的接口加入VLAN,实现不同业务用户之间的二层流量隔离。
配置SwitchA和SwitchB之间的链路类型及通过的VLAN,实现相同业务用户通过SwitchA和SwitchB通信。
灵石县第一职业高级中学
#在SwitchA创建VLAN 2和VLAN 3,并将连接用户的接口分别加入对应VLAN。SwitchB的配置与SwitchA类似,不再赘述
配置步骤
<HUAWEI> system-view
[HUAWEI] sysname SwitchA
[SwitchA] vlan batch 10 20 //批量创建VLAN 10和VLAN 20
[SwitchA] interface gigabitethernet 1/0/1
[SwitchA-GigabitEthernet1/0/1] port link-type access //和接入设备相连的接口类型必须是access,接口默认类型不是access,需要手动配置为access
[SwitchA-GigabitEthernet1/0/1] port default vlan 10 //将接口GE1/0/1加入VLAN 10
[SwitchA-GigabitEthernet1/0/1] quit
[SwitchA] interface gigabitethernet 1/0/2
[SwitchA-GigabitEthernet1/0/2] port link-type access
[SwitchA-GigabitEthernet1/0/2] port default vlan 20 //将接口GE1/0/2加入VLAN 20
[SwitchA-GigabitEthernet1/0/2] quit
灵石县第一职业高级中学
#配置SwitchA上与SwitchB连接的接口类型及通过的VLAN。SwitchB的配置与SwitchA类似,不再赘述
配置步骤
[SwitchA] interface gigabitethernet 1/0/3
[SwitchA-GigabitEthernet1/0/3] port link-type trunk //交换机之间相连接口类型建议使用trunk,接口默认类型不是trunk,需要手动配置为trunk
[SwitchA-GigabitEthernet1/0/3] port trunk allow-pass vlan 10 20 //将接口GE1/0/3加入VLAN 10和VLAN 20
灵石县第一职业高级中学
#主机A和主机B能够互相ping通,但是均不能ping通主机C和主机D。主机C和主机D能够互相ping通,但是均不能ping通主机A和主机B。
验证配置
灵石县第一职业高级中学
$$