VLAN(Virtual Local Area Network)即虚拟局域网,是将一个物理的LAN在逻辑上划分成多个广播域的通信技术。VLAN内的主机间可以直接通信,而VLAN间不能直接互通,从而将广播报文限制在一个VLAN内。
VLAN 主要用来解决如何将大型网络划分为多个小网络,隔离原本在同一个物理LAN中的不同主机间的二层通信,以使广播流量不会占据更多带宽资源,同时也提高网段间的安全性,因为广播域缩小了,广播风暴产生的可能性也大大降低了。
在LAN通信中有许多通信都会产生广播数据帧的,如ARP在MAC地址寻址时会产生广播数据帧、DHCP服务器在为客户端自动分配IP地址时也会产生许多广播数据帧。还有许多病毒也会产生许多广播数据帧。
在物理LAN中,各主机是可以直接通过网络体系结构中的第二层,即数据链路层进行通信的,但划分VLAN后,不同VLAN中的主机是不可以直接通过第二层进行通信的,必须通过第三层,即网络层
虽然在交换式网络中相对以集线器为集中设备的共享式网络来说缩小了冲突域,同时在非全交换全双工模式的以太网络中通过CSMA/CD技术提供了冲突避免解决方案,但依然没有解决缩小广播域的问题。
LAN内的广播数据帧仍然可以在整个 LAN 内广播,会引起网络性能的下降,浪费宝贵的带宽资源,且其影响随着广播域的增大而迅速增强。
此时唯一有效的途经就是重新划分LAN,把单一结构的大LAN划分成相互逻辑独立的小型虚拟LAN,这就是VLAN技术产生的背景。
参考资料:计算机网络基础
一、vlan的工作原理
(一)同一物理交换机中的VLAN形成原理理解
VLAN的形成原理关键就是要理解“虚拟”这两个字。“虚拟”表示VLAN所组成的是一个虚拟,或者说是逻辑 LAN,并不是一个物理 LAN。
通过不同的划分规则把连接的交换机上的各个用户主机划分到不同的 VLAN 中,同一个交换机中划分的各个VLAN 可以理解为一个个虚拟交换机。
如图所示的物理交换机中就划分了5个VLAN,相当于有5个相互只有逻辑连接关系的虚拟交换机。
其实只要把一个 VLAN 看成一台交换机,就比较好理解了,因为虚拟交换机与物理交换机具有许多相同的基本属性。同一物理交换机上的不同VLAN之间就像永远不可能有物理连接,只有逻辑连接的不同物理交换机一样。
既然没有物理连接,那不同VLAN肯定是不能直接相互通信的,即使这些不同VLAN中的成员都处于同一IP网段,因为不同VLAN间的二层通信是隔离了的,只能通过更高的三层进行相互通信。
(二)同一物理交换机中的VLAN形成原理理解
因为一个VLAN中成员计算机不是依据成员的物理位置来划分的,所以这些成员计算机通常连接在网络中的不同交换机上,这样才更显示出 VLAN 切分的灵活性和实用性。也就是说一个VLAN可以跨越多台物理交换机,这就是VLAN的中继(Trunk)功能。
这时就不要总按照物理交换机来看待用户主机的分布了,而要从逻辑的VLAN角度来看待了。
如图就不是把它当成两台物理交换机,而是把它当成是五台(VLAN 1、VLAN 2、VLAN 3、VLAN 4和VLAN 5)仅存在逻辑连接关系,但两台物理交换机中相同的 VLAN 间有相互物理连接关系的虚拟交换机了。
在同一物理交换机上不可能存在两个相同的VLAN,而在不同交换机上可以有相同的VLAN,而且这些不同物理交换机上的相同VLAN间一般情况下是可以直接互访的。
当然这得要求:
1.它们都位于同一个IP网段
2.物理交换机连接的端口上允许这些VLAN数据包通过。
不仅如此,如果位于不同交换机上的两个不同VLAN处于同一个IP网段,且交换机间连接的两个端口是分别隶属通信双方VLAN的Access端口,或者不带VLAN标签的Hybrid端口,则这两个VLAN间也是可以直接通信的。
(三)认识VLAN标签
VLAN是二层协议,对应于 IEEE 802.1q标准。这样一来,在二层的数据帧中会打上所属VLAN的标签,这就是 IEEE 802.1q标签(Tag),也就是通常所说的VLAN标签。
每台支持802.1Q协议的交换机发送的数据包都会包含VLAN ID,以指明交换机属于哪一个VLAN。因此,在一个VLAN交换网络中,以太网帧有以下两种形式:
- 有标记帧(tagged frame):加入了4字节802.1Q Tag的帧
- 无标记帧(untagged frame):原始的、未加入4字节802.1Q Tag的帧
802.1Q Tag包含4个字段,各字段解释如表1所示:
VLAN Identified”(VLAN标识)字段,占 12位,指明VLAN的ID,取值范围为 0~4 095,共4 096个,但由于 0和4 095为协议保留取值,所以VLAN ID的实际有效取值范围是 1~4 094。每个进入支持 802.1q协议的交换机发送出来的数据包都会包含这个域,以指明自己属于哪一个VLAN。
(四)二层以太网端口
在华为交换机中主要包括 Access(访问)、Trunk(干道)和 Hybrid(混合)、QinQ这4种二层以太网端口。
(1)Access端口
Access端口主要是用来连接用户主机的二层以太网端口。它有一种最主要的特性是仅允许一个VLAN的帧通过,反过来也就是Access端口仅可以加入一个VLAN中,且Access端口发送的以太网帧永远是Untagged(不带标签)的。
(2)Trunk端口
Trunk端口是用来连接与其他交换机的二层以太网端口。它的最主要特性是允许多个 VLAN 的帧通过,并且所发送的以太网帧都是带标签的,除了发送VLAN ID与PVID(Port Default VLAN ID,端口缺省VLAN ID)一致的VLAN帧。
(3)Hybrid端口。
Hybrid端口可以说是以上Access端口和Trunk端口的混合体,它们具有共同的特性,是一种特殊的二层以太网端口。正因如此,Hybrid端口既可以连接用户主机,又可以连接其他交换机、路由器设备。同时 Hybrid 端口又允许一个或多个VLAN的帧通过,并可选择以带标签或者不带标签的方式发送数据帧。
(4)QinQ端口
QinQ端口是专用于QinQ协议的二层以太网端口。它可以给数据帧加上双层VLAN标签,即在原来标签的基础上,给帧加上一个新的标签,从而可以支持多达4094×4 094个VLAN,满足企业用户网络对VLAN数量更高的需求。S1700和S2700SI不支持QinQ类型端口。
【经验之谈】这里所说的数据帧“收”是指交换机端口接收从对端设备发来的数据帧,而不是接收从交换机内部的另一个端口发来的数据帧,因为在交换机内部传输的数据帧都是带有VLAN标签的,无论是从哪种交换机端口发来的数据帧。
同理,这里所说的数据帧“发”是指从交换机端口向对端设备发送数据帧,而不是指本地交换机中一个端口向另一个交换机端口发送数据帧。这一点要特别注意,否则很难理解这些端口的数据接收、发送规则。
(五)链路类型
Access、Trunk和Hybrid这三种以太网端口所形成的链路又可归纳成两种以太网链路:接入链路(Access Link)和干道链路(Trunk Link)。
- 接入链路(Access Link):用于连接用户主机和交换机的链路。通常情况下,主机并不需要知道自己属于哪个VLAN,主机硬件通常也不能识别带有VLAN标记的帧。因此,主机发送和接收的帧都是untagged帧。
- 干道链路(Trunk Link):用于交换机间的互连或交换机与路由器之间的连接。干道链路可以承载多个不同VLAN数据,数据帧在干道链路传输时,干道链路的两端设备需要能够识别数据帧属于哪个VLAN,所以在干道链路上传输的帧都是Tagged帧。
交换机在接收到帧后,会根据对应端口类型采取相应的数据收、发处理。如果帧需要通过另一台交换机转发,则该帧必须通过干道链路透传到对端交换设备上。
为了保证其他交换设备能够正确处理帧中的VLAN信息,在干道链路上传输的帧必须打上VLAN标签。当交换机最终确定帧出端口后,在将帧发送给主机前需要将 VLAN 标签从帧中删除,这样主机接收到的帧都是不带VLAN标签的以太网帧,也只有这样主机才可能识别。
所以一般情况下,干道链路上传输的都是带VLAN标签的帧,接入链路上传输的都是不带 VLAN 标签的帧。这样处理的好处是网络中配置的 VLAN 信息可以被所有交换设备正确处理,而主机不需要了解VLAN信息。
(六)vlan的划分
VLAN 最基本的配置是划分 VLAN,VLAN 划分成功后即可实现不同 VLAN 内用户的二层隔离,达到缩小广播域的目的。
华为交换机可支持以下 5 种 VLAN 划分方式:基于端口划分、基于MAC地址划分、基于子网划分、基于协议划分、基于策略划分。
优先级:
如果一交换机上同时配置了以上多种方式划分的VLAN,则对于具体的用户主机来说将按以下从高到低的优先级顺序采用最终的 VLAN 划分方式:基于匹配策略划分 VLAN→基于MAC地址划分VLAN和基于子网划分VLAN→基于协议划分VLAN→基于端口划分VLAN。
(六)VLAN间通信
1.VLAN内跨越交换机通信原理
有时属于同一个VLAN的用户主机被连接在不同的交换机上。当VLAN跨越交换机时,就需要交换机间的接口能够同时识别和发送跨越交换机的VLAN报文。这时,需要用到Trunk Link技术。
这时,需要用到Trunk Link技术。
Trunk Link有两个作用:
-
中继作用
把VLAN报文透传到互联的交换机。 -
干线作用
一条Trunk Link上可以传输多个VLAN的报文。
在如图所示的网络中,为了让DeviceA和DeviceB之间的链路既支持VLAN2内的用户通讯又支持VLAN3内的用户通讯,需要配置连接接口同时加入两个VLAN。即应配置DeviceA的以太网接口Port2和DeviceB的以太网接口Port1同时加入VLAN2和VLAN3。
当用户主机Host A发送数据给用户主机Host B时,数据帧的发送过程如下:
- 数据帧首先到达DeviceA的接口Port4。
- 接口Port4给数据帧加上Tag,Tag的VID字段填入该接口所属的VLAN的编号2。
- DeviceA查询自己的MAC地址表中是否存在目的地址为Host B的MAC地址的转发表项。
– 如果存在,DeviceA将数据帧转发给接口Port2。
– 如果不存在,DeviceA会将数据帧发送到本设备上除port4接口外的所有属于VLAN2的接口。 - 接口Port2将帧转发到DeviceB上。
- DeviceB收到数据帧后,会查询自己的MAC地址表中是否存在目的地址为Host B的MAC地址的转发表项。
– 如果存在,DeviceB会将数据帧发送给出接口Port3。
– 如果不存在,DeviceB会将数据帧发送到本设备上除port1接口外的所有属于VLAN2的接口。 - 接口Port3将数据帧发送给主机Host B。
2.VLAN间通信原理
一般情况下不同 VLAN 是不能直接进行通信的,因为 VLAN 间缺省是二层隔离的,但有时又需要不同VLAN中的用户进行通信。
华为S系列交换机提供了3种实现VLAN间通信的解决方案:
- 三层VLANIF接口方案
- 三层以太网子接口方案
- VLAN Switch(VLAN交换)方案。
VLANIF接口的三层交换技术是将路由技术与交换技术合二为一的技术,在交换机内部实现了路由,提高了网络的整体性能。三层交换机通过路由表传输第一个数据流后,会产生一个MAC地址与IP地址的映射表。当同样的数据流再次通过时,将根据此表直接从二层通过而不是通过三层,从而消除了路由器进行路由选择而造成的网络延迟,提高了数据包转发效率。
为了保证第一次数据流通过路由表正常转发,路由表中必须有正确的路由表项。因此必须在三层交换机上部署三层接口并部署路由协议,实现三层路由可达。VLANIF接口由此而产生。
主机A和C的通信过程如下:
- 主机A将主机C的IP地址和自己所在网段进行比较,发现主机C和自己不在同一个子网。
- 主机A发送ARP请求给自己的网关Device,请求网关的MAC地址。
- Device收到该ARP请求后,返回ARP应答报文,报文中源MAC地址为VLANIF2的MAC地址。
- 主机A学习到网关的MAC地址。
- 主机A向网关发送目的MAC为VLANIF接口MAC地址、目的IP为主机C的IP地址的报文。
- Device收到该报文后进行三层转发,发现主机C的IP地址为直连路由,报文将通过VLANIF3接口进行转发。
- Device作为VLAN3内主机的网关,向VLAN3内发送一个ARP广播,请求主机C的MAC地址。
- 主机C收到网关发送的ARP广播后,对此请求进行ARP应答。
- 网关收到主机C的应答后,就把主机A的报文发送给主机C。主机A之后要发给C的报文都先发送给网关,由网关做三层转发。
二、基于端口划分VLAN
基于端口 VLAN 划分方式是最常用,也是最简单的 VLAN 划分方式,是把交换机端口静态地划分到某一个或多个具体的 VLAN 中,是一种静态 VLAN 划分方式。
注意:因为VLAN是二层协议,所以仅可以把二层以太网端口(包括物理以太网端
口和Eth-Trunk聚合链路口)划分到VLAN中。虽然华为交换机中的以太网端口可以转换成三层模式,但仍不能直接配置IP地址。
(一)配置基于端口划分VLAN
基于端口划分VLAN是最简单,也是最常用的一种VLAN划分方式。它的划分思想就是通过把连接用户计算机的交换机端口指定到具体的 VLAN(是“交换机端口”与“VLAN“间的映射,不考虑用户计算机上任何配置)中来实现用户计算机的VLAN加入。
1.配置思路
(1)创建所需的VLAN:如果VLAN已创建好,则此可直接略过。
(2)配置端口类型:基于端口划分VLAN时可以加入Access、Trunk和Hybrid这三种二层以太网端口。但要注意的是,在华为交换机中,二层以太网端口缺省情况下是Hybrid类型的,并且以不带标签方式加入VLAN 1。
(3)把端口加入VLAN中:这是把用户计算机连接的交换机二层以太网端口加入你所期望并且已创建好的VLAN中。
2.配置步骤
常用配置步骤:
# 进入系统视图
system-view
# 创建VLAN并进入VLAN视图
vlan 2
# 返回系统视图
quit
# 进入要加入vlan的接口视图
interface g 0/0/1
# 配置二层以太网接口的端口的类型,可为access、trunk、hybrid,可多选
port link-type access trunk
# 配置access类型的端口加入到指定的vlan中
port default vlan 2
# 配置trunk类型的端口加入
port trunk allow-pass vlan 2 to 10
# 当接口为trunk类型时,必须配置默认vlan,因为交换机内部必须有vlan标签才能进行转发
port trunk pvid vlan 5
(二)基于端口划分VLAN的配置案例
为了通信的安全性,同时为了避免广播风暴,企业希望业务相同用户之间可以互相访问,业务不同用户不能直接访问。
可以在交换机上配置基于接口划分VLAN,把业务相同的用户连接的接口划分到同一VLAN。这样属于不同VLAN的用户不能直接进行二层通信,同一VLAN内的用户可以直接互相通信。
(1)在SwitchA创建VLAN2和VLAN3,并将连接用户的接口分别加入VLAN。SwitchB的配置与SwitchA类似,不再赘述。
<HUAWEI> system-view
[HUAWEI] sysname SwitchA
[SwitchA] vlan batch 2 3
[SwitchA] interface gigabitethernet 0/0/1
[SwitchA-GigabitEthernet0/0/1] port link-type access
[SwitchA-GigabitEthernet0/0/1] port default vlan 2
[SwitchA-GigabitEthernet0/0/1] quit
[SwitchA] interface gigabitethernet 0/0/2
[SwitchA-GigabitEthernet0/0/2] port link-type access
[SwitchA-GigabitEthernet0/0/2] port default vlan 3
[SwitchA-GigabitEthernet0/0/2] quit
(2)配置SwitchA上与SwitchB连接的接口类型及通过的VLAN。SwitchB的配置与SwitchA类似,不再赘述。
[SwitchA] interface gigabitethernet 0/0/3
[SwitchA-GigabitEthernet0/0/3] port link-type trunk
[SwitchA-GigabitEthernet0/0/3] port trunk allow-pass vlan 2 3
(3)验证配置结果
将User1和User2配置在一个网段,比如192.168.100.0/24;将User3和User4配置在一个网段,比如192.168.200.0/24。
User1和User2能够互相ping通,但是均不能ping通User3和User4。User3和User4能够互相ping通,但是均不能ping通User1和User2。
三、基于MAC地址划分VLAN
基于MAC地址的VLAN划分方式是一种动态VLAN划分方式。它的划分思想是把用户计算机网卡上的MAC地址配置与某个VLAN进行关联,这样就可以实现无论该用户计算机连接在哪台交换机的二层以太网端口上都将保持所属的 VLAN不变。
注意:基于MAC地址的VLAN划分方式只能在Hybrid交换机端口上进行,不能对其他类型端口上连接的用户计算机采用这种VLAN划分方式。
(一)基本配置思路
(1)创建要用于与用户主机MAC地址关联的VLAN。
(2)在以上创建的VLAN视图下关联用户MAC地址,建立MAC地址与VLAN的映射表,以确定哪些用户MAC地址可划分到以上创建的VLAN中。
(3)配置各用户连接的交换机二层以太网端口类型为Hybrid,并允许前面创建的基于 MAC 地址划分的 VLAN以不带 VLAN标签方式通过当前端口。因为华为交换机的所有二层以太网端口缺省都是 Hybrid 类型,所以缺省情况下,端口类型是不用配置的。(4)在Hybrid交换机端口上(注意,不一定要在连接用户计算机的Hybrid端口上配置)使能基于MAC地址划分VLAN功能,完成基于MAC地址划分VLAN。
(二)配置步骤
# 进入系统视图,创建VLAN并进入VLAN视图
system-view
vlan 2
# 建立MAC地址与VLAN的映射表,并返回系统视图
mac-vlan mac-address 22-33-44
quit
# 配置端口为Hybrid属性,使能基于MAC地址划分VLAN功能
interface g 0/0/1
port link-type hybrid
port hybrid untagged vlan 2 to 10
mac-vlan enable
(三)配置案例
某个公司的网络中,网络管理者将同一部门的员工划分到同一VLAN。为了提高部门内的信息安全,要求只有本部门员工的PC才可以访问公司网络。
如图所示,PC1、PC2、PC3为本部门员工的PC,要求这几台PC可以通过Switch访问公司网络,如换成其他PC则不能访问。
可以配置基于MAC地址划分VLAN,将本部门员工PC的MAC地址与VLAN绑定,从而实现该需求。
(1)配置Switch
# 创建VLAN
<HUAWEI> system-view
[HUAWEI] sysname Switch
[Switch] vlan batch 10
# 配置接口加入VLAN。GE0/0/3、GE0/0/4的配置与GE0/0/2类似,不再赘述。
[Switch] interface gigabitethernet 0/0/1
[Switch-GigabitEthernet0/0/1] port link-type hybrid
[Switch-GigabitEthernet0/0/1] port hybrid tagged vlan 10
[Switch-GigabitEthernet0/0/1] quit
[Switch] interface gigabitethernet 0/0/2
[Switch-GigabitEthernet1/0/2] port link-type hybrid
[Switch-GigabitEthernet0/0/2] port hybrid untagged vlan 10
[Switch-GigabitEthernet0/0/2] quit
# PC的MAC地址与VLAN10关联
[Switch] vlan 10
[Switch-vlan10] mac-vlan mac-address 22-22-22
[Switch-vlan10] mac-vlan mac-address 33-33-33
[Switch-vlan10] mac-vlan mac-address 44-44-44
[Switch-vlan10] quit
# 使能接口的基于MAC地址划分VLAN功能,GE0/0/3、GE0/0/4的配置与GE0/0/2类似,不再赘述。
[Switch] interface gigabitethernet 0/0/2
[Switch-GigabitEthernet0/0/2] mac-vlan enable
[Switch-GigabitEthernet0/0/2] quit
(2)检查配置结果
PC1、PC2、PC3可以访问公司网络,如换成其他外来人员的PC则不能访问。
四、基于IP子网划分VLAN
基于子网划分VLAN是基于数据帧中上层(网络层)IP地址或所属IP网段进行的VLAN划分,属于动态 VLAN 划分方式,既可减少手工配置 VLAN 的工作量,又可保证用户自由地增加、移动和修改。
基于子网划分VLAN适用于对安全性需求不高,对移动性和简易管理需求较高的场景中。基于子网VLAN的划分思想是把用户计算机网卡上的IP地址配置与某个VLAN 进行关联,这样与上节介绍的基于MAC地址划分VLAN一样,也可以实现无论该用户计算机连接在哪台交换机的二层以太网端口上都将保持所属的VLAN不变。
(一)配置思路
基于IP子网划分VLAN的配置思路与基于MAC地址划分VLAN的配置思路基本一样,只是把匹配的MAC地址换成IP地址,具体如下。
(1)创建用于与用户主机MAC地址关联的VLAN。
(2)在以上创建的VLAN视图下关联用户IP地址,建立IP地址与VLAN的映射表,以确定哪些用户IP地址可划分到以上创建的VLAN中。
(3)配置各用户连接的交换机二层以太网端口类型为 Hybrid,并允许前面创建的基于IP地址划分的VLAN以不带VLAN标签方式通过当前端口。因为华为交换机的所有二层以太网端口缺省都是Hybrid类型,所以缺省情况下,端口类型是不用配置的。
(4)在Hybrid交换机端口上(注意,不一定要在连接用户计算机的Hybrid端口上)使能基于IP地址划分VLAN功能,完成基于IP地址划分VLAN。
(二)配置案例
某企业拥有多种业务,如IPTV、VoIP、Internet等,每种业务使用的IP地址网段各不相同。为了便于管理,现需要将同一种类型业务划分到同一VLAN中,不同类型的业务划分到不同VLAN中。
如图所示,Switch接收到用户报文有数据、IPTV、语音等多种业务,用户设备的IP地址网段各不相同。现需要将不同类型的业务划分到不同的VLAN中,通过不同的VLAN ID分流到不同的远端服务器上以实现业务互通。
配置思路主要有两点注意:一是这是基于IP子网进行的VLAN划分,二是从Switch 上出去的数据帧要流向不同的服务器,这就需要在不同服务器所连接的交换机端口上配置仅允许某一个VLAN的数据帧通过。
(1)创建VLAN
# 在Switch上创建VLAN100、VLAN200和VLAN300。
<HUAWEI> system-view
[HUAWEI] sysname Switch
[Switch] vlan batch 100 200 300
(2)配置接口
# 在Switch上配置接口GE0/0/5、GE0/0/6、GE0/0/7为Hybrid类型,分别以untagged方式加入VLAN100、VLAN200和VLAN300。并使能基于IP子网划分VLAN功能。
[Switch] interface gigabitethernet 0/0/5
[Switch-GigabitEthernet0/0/5] port link-type hybrid
[Switch-GigabitEthernet0/0/5] port hybrid untagged vlan 100
[Switch-GigabitEthernet0/0/5] ip-subnet-vlan enable
[Switch-GigabitEthernet0/0/5] quit
[Switch] interface gigabitethernet 0/0/6
[Switch-GigabitEthernet0/0/6] port link-type hybrid
[Switch-GigabitEthernet0/0/6] port hybrid untagged vlan 200
[Switch-GigabitEthernet0/0/6] ip-subnet-vlan enable
[Switch-GigabitEthernet0/0/6] quit
[Switch] interface gigabitethernet 0/0/7
[Switch-GigabitEthernet0/0/7] port link-type hybrid
[Switch-GigabitEthernet0/0/7] port hybrid untagged vlan 300
[Switch-GigabitEthernet0/0/7] ip-subnet-vlan enable
[Switch-GigabitEthernet0/0/7] quit
# 在Switch上配置接口GE0/0/2加入VLAN100。
[Switch] interface gigabitethernet 0/0/2
[Switch-GigabitEthernet0/0/2] port link-type trunk
[Switch-GigabitEthernet0/0/2] port trunk allow-pass vlan 100
[Switch-GigabitEthernet0/0/2] quit
# 在Switch上配置接口GE0/0/3加入VLAN200。
[Switch] interface gigabitethernet 0/0/3
[Switch-GigabitEthernet0/0/3] port link-type trunk
[Switch-GigabitEthernet0/0/3] port trunk allow-pass vlan 200
[Switch-GigabitEthernet0/0/3] quit
# 在Switch上配置接口GE0/0/4加入VLAN300。
[Switch] interface gigabitethernet 0/0/4
[Switch-GigabitEthernet0/0/4] port link-type trunk
[Switch-GigabitEthernet0/0/4] port trunk allow-pass vlan 300
[Switch-GigabitEthernet0/0/4] quit
(3)配置基于IP子网划分VLAN
# 在Switch上配置VLAN100与IP地址192.168.1.2/24关联,优先级为2。
[Switch] vlan 100
[Switch-vlan100] ip-subnet-vlan 1 ip 192.168.1.2 24 priority 2
[Switch-vlan100] quit
# 在Switch上配置VLAN200与IP地址192.168.2.2/24关联,优先级为3。
[Switch] vlan 200
[Switch-vlan200] ip-subnet-vlan 1 ip 192.168.2.2 24 priority 3
[Switch-vlan200] quit
# 在Switch上配置VLAN300与IP地址192.168.3.2/24关联,优先级为4。
[Switch] vlan 300
[Switch-vlan300] ip-subnet-vlan 1 ip 192.168.3.2 24 priority 4
[Switch-vlan300] quit
(4)验证配置结果
# 在Switch上执行以下命令,显示信息如下:
[Switch] display ip-subnet-vlan vlan all
----------------------------------------------------------------
Vlan Index IpAddress SubnetMask Priority
----------------------------------------------------------------
100 1 192.168.1.2 255.255.255.0 2
200 1 192.168.2.2 255.255.255.0 3
300 1 192.168.3.2 255.255.255.0 4
----------------------------------------------------------------
ip-subnet-vlan count: 3 total count: 3
五、基于协议划分VLAN
基于协议 VLAN 的划分思想是把用户计算机上运行的网络层协议与某个 VLAN 进行关联,这样也可以实现无论该用户计算机连接在哪台交换机的二层以太网端口上都将保持其所属的 VLAN 不变。
启用基于协议划分 VLAN 功能后,当交换机端口接收到Untagged帧时,先识别帧的协议模板,然后确定数据帧所属的VLAN。如果端口配置了属于某些协议VLAN,且数据帧的协议模板匹配其中某个协议VLAN,则给数据帧打上该协议VLAN标签。如果端口原来配置了属于某些协议VLAN,但某次到达的数据帧的协议模板和所有协议VLAN都不匹配,则给数据帧打上端口PVID的VLAN标签。
1.配置思路
因为基于协议划分VLAN是根据不同的网络层协议进行的,所以需要事先创建不同网络层协议与 VLAN 的映射表项,同时还要在交换机 Hybrid 端口上配置与对应的协议VLAN进行关联,以限定交换机端口仅可以加入特定的协议VLAN中。具体如下。
(1)创建各网络层协议所需关联的VLAN。
(2)在以上创建的VLAN视图下关联用户所用的网络层协议类型,建立网络层协议与VLAN的映射表,以确定哪些用户可划分到以上创建的VLAN中。
(3)配置各用户连接的交换机二层以太网端口类型为Hybrid,并允许前面创建的基于协议划分的 VLAN 以不带 VLAN 标签方式通过当前端口。因为华为交换机的所有二层以太网端口缺省都是Hybrid类型,所以缺省情况下,端口类型是不用配置的。
(4)配置交换机 Hybrid端口与对应的协议 VLAN 进行关联。这样,当有关联的协议数据帧进入所关联的端口时,系统自动为该协议数据帧分配已经划分好的VLAN ID。
2.配置案例
某企业拥有多种业务,如IPTV、VoIP、Internet等,每种业务所采用的协议各不相同。为了便于管理,现需要将同一种类型业务划分到同一VLAN中,不同类型的业务划分到不同VLAN中。
如图所示,Switch收到的用户报文有多种业务,所采用的协议各不相同。VLAN10中的用户采用IPv4协议与远端用户通信,而VLAN20中的用户采用IPv6协议与远端服务器通信。现需要将不同类型的业务划分到不同的VLAN中,通过不同的VLAN ID分流到不同的远端服务器上以实现业务互通。
(1)创建VLAN
<HUAWEI> system-view
[HUAWEI] sysname Switch1
[Switch1] vlan batch 10 20
(2)配置基于协议划分VLAN
# 在Switch1上配置VLAN10与协议IPv4关联。
[Switch1] vlan 10
[Switch1-vlan10] protocol-vlan ipv4
[Switch1-vlan10] quit
# 在Switch1上配置VLAN20与协议IPv6关联。
[Switch1] vlan 20
[Switch1-vlan20] protocol-vlan ipv6
[Switch1-vlan20] quit
(3)配置接口关联协议VLAN
# 在Switch1上配置接口GE0/0/2与VLAN10关联,优先级是5。
[Switch1] interface gigabitethernet 0/0/2
[Switch1-GigabitEthernet0/0/2] protocol-vlan vlan 10 all priority 5
[Switch1-GigabitEthernet0/0/2] quit
# 在Switch1上配置接口GE0/0/3与VLAN20关联,优先级是6。
[Switch1] interface gigabitethernet 0/0/3
[Switch1-GigabitEthernet0/0/3] protocol-vlan vlan 20 all priority 6
[Switch1-GigabitEthernet0/0/3] quit
(4)配置接口
# 在Switch1上配置接口GE0/0/1允许VLAN10和VLAN20通过。
[Switch1] interface gigabitethernet 0/0/1
[Switch1-GigabitEthernet0/0/1] port link-type trunk
[Switch1-GigabitEthernet0/0/1] port trunk allow-pass vlan 10 20
[Switch1-GigabitEthernet0/0/1] quit
# 在Switch1上配置接口GE0/0/2以untagged方式允许VLAN10通过。
[Switch1] interface gigabitethernet 0/0/2
[Switch1-GigabitEthernet0/0/2] port link-type hybrid
[Switch1-GigabitEthernet0/0/2] port hybrid untagged vlan 10
[Switch1-GigabitEthernet0/0/2] quit
# 在Switch1上配置接口GE0/0/3以untagged方式允许VLAN20通过。
[Switch1] interface gigabitethernet 0/0/3
[Switch1-GigabitEthernet0/0/3] port link-type hybrid
[Switch1-GigabitEthernet0/0/3] port hybrid untagged vlan 20
[Switch1-GigabitEthernet0/0/3] quit
# 在Switch上配置接口GE0/0/1允许VLAN10和VLAN20通过。
<HUAWEI> system-view
[HUAWEI] sysname Switch
[Switch] interface gigabitethernet 0/0/1
[Switch-GigabitEthernet0/0/1] port link-type trunk
[Switch-GigabitEthernet0/0/1] port trunk allow-pass vlan 10 20
[Switch-GigabitEthernet0/0/1] quit
# 在Switch上配置接口GE0/0/2允许VLAN10通过。
[Switch] interface gigabitethernet 0/0/2
[Switch-GigabitEthernet0/0/2] port link-type trunk
[Switch-GigabitEthernet0/0/2] port trunk allow-pass vlan 10
[Switch-GigabitEthernet0/0/2] quit
# 在Switch上配置接口GE0/0/3允许VLAN20通过。
[Switch] interface gigabitethernet 0/0/3
[Switch-GigabitEthernet0/0/3] port link-type trunk
[Switch-GigabitEthernet0/0/3] port trunk allow-pass vlan 20
[Switch-GigabitEthernet0/0/3] return
(5)验证配置结果
上述配置完成后,在Switch1上执行命令display protocol-vlan interface all,可以查看接口关联基于协议划分VLAN的配置信息。
[Switch1] display protocol-vlan interface all
-------------------------------------------------------------------------------
Interface VLAN Index Protocol Type Priority
-------------------------------------------------------------------------------
GigabitEthernet0/0/2 10 0 IPv4 5
GigabitEthernet0/0/3 20 0 IPv6 6
六、基于策略划分VLAN
基于策略划分VLAN是指在交换机上绑定终端的MAC地址、IP地址或交换机端口,并与VLAN关联,以证实只有符合条件的终端才能加入指定VLAN。
符合策略的终端才可以加入指定的VLAN,相当于采用了IP地址与MAC地址双重绑定,甚至再加上与所连接的交换机端口的三重绑定,一旦配置就可以禁止用户修改IP地址或MAC地址,甚至禁止改变所连接的交换机端口,否则会导致终端从指定VLAN中退出,可能访问不了指定的网络资源。
1.配置思路
(1)创建各策略所需关联的VLAN。
(2)在以上创建的 VLAN 视图下关联不同的策略,建立特定策略与 VLAN 的映射表,以确定哪些用户可划分到以上创建的VLAN中。
(3)配置各用户连接的交换机二层以太网端口类型为 Hybrid,并允许前面创建的基于策略划分的 VLAN 以不带 VLAN 标签方式通过当前端口。因为华为交换机的所有二层以太网端口缺省都是Hybrid类型,所以缺省情况下,端口类型是不用配置的。
2.配置案例
如图,现要把User1(MAC地址为1-1-1,IP地址为1.1.1.1)绑定在SwitchA的GE1/0/1端口上,把User2(MAC地址为2-2-2,IP地址为2.2.2.2)绑定在 SwitchB的GE1/0/1端口上,并把它们划分到VLAN 2中;把User3(MAC地址为3-3-3,IP地址为3.3.3.3)绑定在SwitchA的GE1/0/2端口上,把User4(MAC地址为4-4-4, IP地址为4.4.4.4)绑定在SwitchB的GE1/0/2端口上,并把它们划分到VLAN 3中。
(1)创建所需的策略协议VLAN 2和VLAN 3。
<HUAWEI>system-view
<HUAWEI>sysname SwitchA
[SwitchA] vlan batch 2 3
(2)配置MAC地址、IP地址和交换机端口组合策略与以上策略VLAN的关联,并为两个协议VLAN设置不同的802.1q的优先级值。
[SwitchA] vlan 2
[SwitchA-vlan2] policy-vlan mac-address 1-1-1 ip 1.1.1.1 gigabitEthernet1/0/1 priority 7
[SwitchA-vlan2] quit
[SwitchA] vlan 3
[SwitchA-vlan20] policy-vlan mac-address 3-3-3 ip 3.3.3.3 gigabitEthernet1/0/2 priority 5
[SwitchA-vlan20] quit
(3)配置交换机端口类型并允许对应的策略VLAN通过。
[SwitchA] interface gigabitethernet 1/0/1
[SwitchA-GigabitEthernet1/0/1] port link-type hybrid
[SwitchA-GigabitEthernet1/0/1] port hybrid Untagged vlan 2
[SwitchA-GigabitEthernet1/0/1] quit
[SwitchA] interface gigabitethernet 1/0/2
[SwitchA-GigabitEthernet1/0/2] port link-type trunk
[SwitchA-GigabitEthernet1/0/2] port trunk allow-pass vlan 3
[SwitchA-GigabitEthernet1/0/2] quit
# SwitchB上的配置:
<HUAWEI>system-view
<HUAWEI>sysname SwitchB
[SwitchB] vlan batch 2 3
[SwitchB] vlan 2
[SwitchB -vlan2] policy-vlan mac-address 2-2-2 ip 2.2.2.2 gigabitEthernet1/0/1 priority 7
[SwitchB -vlan2] quit
[SwitchB] vlan 3
[SwitchB -vlan20] policy-vlan mac-address 4-4-4 ip 4.4.4.4 gigabitEthernet1/0/2priority 5
[SwitchB-vlan20] quit
[SwitchB] interface gigabitethernet 1/0/1
[SwitchB-GigabitEthernet1/0/1] port link-type hybrid
[SwitchB-GigabitEthernet1/0/1] port hybrid Untagged vlan 2
[SwitchB -GigabitEthernet1/0/1] quit
[SwitchB] interface gigabitethernet 1/0/2
[SwitchB-GigabitEthernet1/0/2] port link-type trunk
[SwitchB-GigabitEthernet1/0/2] port trunk allow-pass vlan 3
[SwitchB -GigabitEthernet1/0/2] quit
通过以上配置MAC地址为1-1-1,IP地址为1.1.1.1的用户被自动划分到VLAN 2中,并且只能接在SwitchA上的GE1/0/1端口上;MAC地址为2-2-2,IP地址为2.2.2.2的用户也被自动划分到VLAN 2中,并且只能接在SwitchB上的GE1/0/1端口上,否则将退出VLAN 2。而MAC地址为3-3-3,IP地址为3.3.3.3的用户被自动划分到VLAN 3中,并且只能接在SwitchA上的GE1/0/2端口上;MAC地址为4-4-4,IP地址为4.4.4.4的用户也被自动划分到VLAN 3中,并且只能接在SwitchB上的GE1/0/2端口上,否则将退出VLAN 3。
七、VLAN 注册协议(GVRP)
如果需要为网络中的所有设备都配置VLAN,就需要网络管理员在每台设备上分别进行手工添加。如图所示,SwitchA上有VLAN2,SwitchB和SwitchC上只有VLAN1,三台设备通过Trunk链路连接在一起。为了使SwitchA上VLAN 2的报文可以传到SwitchC,网络管理员必须在SwitchB和SwitchC上分别手工添加VLAN2。
对于上面的组网情况,手工添加VLAN很简单,但是当实际组网复杂到网络管理员无法短时间内了解网络的拓扑结构,或者是整个网络的VLAN太多时,工作量会非常大,而且非常容易配置错误。在这种情况下,用户可以通过GVRP的VLAN自动注册功能完成VLAN的配置。
为此,VLAN技术的开发者就想到了一种自动注册方式,对应GVRP(GARP VLAN Registration Protocol,GARP VLAN 注册协议)协议。通过它只需在其中一个交换机中创建所需的 VLAN,然后通过自动注册功能在网络中其他交换机中自动创建所需的 VLAN,大大减轻了网络管理员的工作量,也减少了错误出现的机率。