一、VLAN简介
1.1 VLAN的概念
VLAN(Virtual Local Area Network),即虚拟局域网,是一种将物理局域网设备划分为逻辑上的子网的技术。通过VLAN,我们可以把一个大的物理网络拆分成若干个小的、隔离的网络,避免不必要的广播流量扩散并提高安全性。VLAN技术使得不同的VLAN之间相互隔离,除非通过路由器或三层交换机进行VLAN间路由,否则它们之间无法通信。
1.2 VLAN的工作原理
1. 广播域隔离:
在传统的局域网中,所有设备共享同一个广播域。当一个设备发送广播消息时,网络中的所有设备都会收到这个广播,无论它们是否需要。这不仅浪费网络带宽,还可能导致信息泄露。VLAN通过将设备划分到不同的逻辑网络中,使每个VLAN成为一个独立的广播域,从而减少广播流量,并增强安全性。
2. VLAN标签(Tagging):
当数据包从一个VLAN流经交换机时,交换机会在数据帧中插入一个VLAN标识符(Tagging)。这种标签(Tag)包含VLAN的ID,表示这个数据帧属于哪个VLAN。默认情况下,连接到VLAN的终端设备不处理这些标签,它们的作用主要在交换机之间传输数据时使用。在中继端口(Trunk Port)上传输时,交换机会带上VLAN标签,以确保数据能够在多个VLAN之间区分。 在访问端口(Access Port)**上,VLAN标签通常会被去掉,因为连接的设备只属于一个VLAN,无需知道标签信息。
3. 三层设备的介入:
VLAN之间默认是无法直接通信的,因为它们属于不同的广播域。如果需要让不同VLAN之间的设备互相通信,必须通过三层设备(如路由器或三层交换机)进行VLAN间路由。这是因为三层设备有能力读取VLAN标签并根据不同VLAN进行数据转发。
1.3 VLAN标签
当一个局域网被划分为多个VLAN时,每个VLAN都用一个唯一的VLAN标签来标识。
VLAN标签也称为VLAN Tag或802.1Q Tag。
1. 802.1Q VLAN标签结构:
VLAN标签由4个字节组成,插入到以太网帧的源地址和类型字段之间。它的主要字段包括:
1. Tag Protocol Identifier (TPID):2字节,固定值为0x8100,用于表明这是一个802.1Q的VLAN帧。
2. Priority Code Point (PCP):3比特,用于标识数据帧的优先级(QoS)。
3. Canonical Format Indicator (CFI):1比特,用于标识MAC地址格式(一般设置为0)。
4. VLAN Identifier (VID):12比特,用于标识VLAN ID,范围从0到4095(通常0和4095保留不可用,实际可用的VLAN范围为1到4094)。
2. VLAN标签的处理过程:
1. 进端口:
• 对于Access端口,进入端口的数据帧不携带VLAN标签,交换机会为该帧打上该端口所属的VLAN ID。
• 对于Trunk端口,如果数据帧已经带有VLAN标签,交换机会读取并根据标签进行转发。如果没有标签,则根据本地VLAN配置处理。
2. 出端口:
• 对于Access端口,交换机会移除VLAN标签,发送给连接的终端设备。
• 对于Trunk端口,VLAN标签通常会保留,直到帧被转发到终端设备。
• 对于Hybrid端口,处理方式取决于配置,可能会选择移除或保留VLAN标签。
1.4 VLAN的接口类型
在配置VLAN时,交换机上的接口(端口)主要有以下三种类型:
1. Access端口:
• 定义:Access端口用于连接终端设备(如计算机、打印机等)。每个Access端口只能属于一个VLAN。
• VLAN标签:Access端口上的流量不会携带VLAN标签。进入端口的数据帧在被标记为该端口所属的VLAN后发送到交换网络,离开端口时,VLAN标签被移除。
• 用途:一般用于接入层,连接用户设备。
2. Trunk端口:
• 定义:Trunk端口用于在交换机之间传输多个VLAN的数据流,允许多个VLAN通过同一个端口。
• VLAN标签:Trunk端口上的数据帧会携带VLAN标签(IEEE 802.1Q)。VLAN标签用于标识该数据帧属于哪个VLAN。Trunk端口能够传输多个VLAN的数据,因此在出端口时保留VLAN标签。
• 用途:主要用于交换机之间的连接、交换机与路由器的连接,或者交换机与AP的连接。
3. Hybrid端口:
• 定义:Hybrid端口支持同时处理多个VLAN的数据流,并且可以灵活选择在进出端口时是否打VLAN标签。
• VLAN标签:Hybrid端口可以根据配置决定是否移除、保留或打上VLAN标签。它既可以像Access端口一样移除VLAN标签,也可以像Trunk端口一样保留VLAN标签。
• 用途:用于复杂的场景,适合需要灵活处理VLAN标签的网络拓扑中。
特性 | Access端口 | Trunk端口 | Hybrid端口 |
VLAN支持 | 仅支持一个VLAN | 支持多个VLAN | 支持标记和未标记流量 |
数据标记 | 使用VLAN标签 | 使用VLAN标签 | 既支持标签流量,也支持未标记流量 |
适用设备 | 终端设备(如PC、打印机) | 交换机间连接 | 混合环境中的设备 |
配置复杂性 | 配置简单 | 配置相对复杂 | 配置灵活,复杂性适中 |
安全性 | 高,流量隔离 | 取决于配置,可能存在风险 | 中,需谨慎管理 |
典型应用 | 小型办公室、访客网络、教育机构 | 数据中心、交换机间链接、企业网络 | 医院、零售店、智能建筑 |
1.5 VLAN的划分方式
可以基于接口、MAC地址、子网、网络层协议、匹配策略方式来划分VLAN。
如果入方向Untagged帧同时匹配多种划分VLAN的方式,则优先级顺序从高至低依次是基于匹配策略划分VLAN->基于MAC地址划分VLAN或基于子网划分VLAN->基于协议划分VLAN->基于接口划分VLAN。
基于接口划分VLAN的优先级最低,但是最常用的VLAN划分方式。
1.6 VLAN技术拓展
(1)QinQ:也叫Stacked VLAN或Double VLAN,该标准出自IEEE 802.1ad,它将用户私网VLAN Tag封装在公网VLAN Tag中,使报文带着两层VLAN Tag穿越运营商的骨干网络。通过两层VLAN标签,可以解决VLAN ID不足的问题,同时实现用户隔离。比如运营商网络中,需要给每个家庭用户分配一个VLAN,但可用VLAN ID只有4096个,那么QinQ双层VLAN标签可以很好解决这个问题。(打两层vlan标签4096x4096=1600万)
(2)虚拟扩展局域网VxLAN(Virtual eXtensible Local Area Network)主要应用于数据中心,满足多租户隔离和虚拟机迁移需求。VxLAN在传统VLAN技术的基础上主要进行了如下2项改进:
1.扩展虚拟网络数量:传统VLAN有12bit表示VLAN ID,可用VLAN ID是4094个。VxLAN用24bit表示VNI(VxLAN Network Identifier,虚拟网络标识符),可表示1600万个虚拟网络,满足数据中心海量租户隔离的需求。
2.通过定义UDP封装,实现大二层网络,满足数据中心虚拟机迁移需求。
传统vlan封装是二层封装
vxlan封装穿越互联网,跨越广域网实现虚拟机迁移
(3)SuperVLAN:也叫VLAN聚合(aggrtgate-vlan),可以节省IP地址,同时满足业务隔离的需求。传统网络中一个VLAN对于一个子网,由于每个子网都有网络地址、广播地址,还需要分配Vlanif网关地址,存在较大地址浪费。SuperVLAN技术可以实现不同VLAN共享同一段IP地址,同时又能保证各个VLAN的隔离。
Super-VLAN
VLAN 10为Super-VLAN,VLAN2~VLAN4作为Super-VLAN 10的Sub-VLAN。Sub-VLAN2、Sub-VLAN3和Sub-VLAN4共用一个子网10.1.1.0/24,这样,该网络中就只有一个子网号10.1.1.0、一个子网缺省网关地址10.1.1.1和一个子网定向广播地址10.1.1.244共3个IP地址不能被主机使用,其余都可以被主机使用。而且,各Sub-VLAN间的界线也不再是从前的子网界线了,它们可以根据其各自主机的需求数目在Super-VLAN对应子网内灵活的划分地址范围,比如Sub-VLAN2实际需要10个,就给它分配10.1.1.2~10.1.1.11的网段。
MUX-VLAN技术要点
MUX-VLAN(Multiplex VLAN)提供了一种通过VLAN进行网络资源控制的机制。
通过MUX-VLAN提供的二层流量隔离的机制可以实现企业内部员工之间互相通信,而企业外来访客之间的互访是隔离的,可以实现业务隔离,还能节省VLAN资源。
MUX-VLAN技术将VLAN分为:主VLAN和辅助VLAN(组VLAN、隔离VLAN)
(1)组VLAN内的端口,可以互通
(2)隔离VLAN内的端口,不可以互通
(3)任何辅助VLAN之间,不可以互通
(4)任何辅助VLAN,都可以和主VLAN口互通
(5)每个主VLAN,最多只有1个隔离VLAN
(6)在配置MUX-VLAN时候,必须将成员端口启用MUX-VLAN功能。
二、VLAN的配置
1.VLAN的基本配置
创建VLAN,配置Access接口并加入对应的VLAN
<Huawei>
<Huawei>sys
<Huawei>system-view
Enter system view, return user view with Ctrl+Z.
[Huawei]sys
[Huawei]sysname SW1 //更改设备名为SW1
[SW1]vlan batch 10 20 //批量创建vlan10和vlan20
[SW1]interface e0/0/1 //进入接口
[SW1-Ethernet0/0/1]port link-type access //设置接口类型为Access
[SW1-Ethernet0/0/1]port default vlan 10 //划分到vlan10
[SW1-Ethernet0/0/1]quit
VLAN20配置操作如下
[SW1]interface e0/0/2
[SW1-Ethernet0/0/2]port link-type access
[SW1-Ethernet0/0/2]port default vlan 20
[SW1-Ethernet0/0/2]
配置trunk接口,并创建对应的允许通过列表
[SW1]interface Ethernet0/0/3
[SW1-Ethernet0/0/3]port link-type trunk //配置接口类型为trunk
[SW1-Ethernet0/0/3]port trunk allow-pass vlan 10 20 //设置允许通过的vlanID
[SW1-Ethernet0/0/3]
2.VLAN间通信(三层交换Vlanif)
基础配置
[SW1lvlan batch 10 20
[SW1]interface GigabitEthernet 0/0/1
[SW1-GigabitEthernet0/0/1]port link-type access
[SW1-GigabitEthernet0/0/1] port default vlan 10
[SW1]interface GigabitEthernet 0/0/2
[SW1-GigabitEthernet0/0/2] port link-type access
[SW1-GigabitEthernet0/0/2] port default vlan 20
配置Vlanif
[SW1]interface Vlanif 10
[SW1-Vlanif10]ip address 192.168.10.254 24
[SW1]interface Vanif 20
[SW1-Vanif20lip address 192.168.20.254 24
3.VLAN间通信(单臂路由)
配置路由器子接口
[R1]interface GigabitEthernet0/0/1.10
[R1-GigabitEthernet0/0/1.10]dot1q termination vid 10
[R1-GigabitEthernet0/0/1.10]ip address 192.168.10.254 24
[R1-GigabitEthernet0/0/1.10]arp broadcast enable
[R1]interface GigabitEthernet0/0/1.20
[R1-GigabitEthernet0/0/1.20]dot1q termination vid 20
[R1-GigabitEtheret0/0/1.20]ip address 192.168.20.254 24
[R1-GigabitEthernet0/0/1.20]arp broadcast enable
4.VLAN聚合
在一般的三层交换机中,通常是采用一个VLAN对应一个三层逻辑接口的方式实现广播域之间的互通,这样导致了IP地址的浪费。VLAN Aggregation技术(也称为Super VLAN,即VLAN聚合)就是在一个物理网络内用多个VLAN隔离广播域,使不同的VLAN属于同一个子网。
Super-VLAN:只建立三层接口
Sub-VLAN:只包含物理端口
SW1的配置
[SW1] vlan batch 10 20 #创建Sub-VLAN
[SW1] interface GigabitEthernet0/0/1
[SW1-GigabitEthernet0/0/1] port link-type trunk
[SW1-GigabitEthernet0/0/1] port trunk allow-pass vlan 10
[SW1] interface GigabitEthernet0/0/2
[SW1-GigabitEthernet0/0/2] port link-type trunk
[SW1-GigabitEthernet0/0/2] port trunk allow-pass vlan 20
[SW1] vlan 100 #创建Super-VLAN
[SW1-vlan100] aggregate-vlan
[SW1-vlan100] access-vlan 10 20 #将VLAN10,20作为VLAN100的Sub-VLAN
[SW1] interface vlanif 100
[SW1-vlanif100] ip address 192.168.1.254 24
SW2的配置
[SW2] vlan 10
[SW2] interface Ethernet0/0/1
[SW2-GigabitEthernet0/0/1] port link-type access
[SW2-GigabitEthernet0/0/1] port default vlan 10
[SW2] interface Ethernet0/0/2
[SW2-GigabitEthernet0/0/2] port link-type access
[SW2-GigabitEthernet0/0/2] port default vlan 10
[SW2] interface GigabitEthernet0/0/1
[SW2-GigabitEthernet0/0/1] port link-type trunk
[SW2-GigabitEthernet0/0/1] port trunk allow-pass vlan 10
SW3的配置
[SW3] vlan 20
[SW3] interface Ethernet0/0/1
[SW3-GigabitEthernet0/0/1] port link-type access
[SW2-GigabitEthernet0/0/1] port default vlan 20
[SW3] interface GigabitEthernet0/0/1
[SW2-GigabitEthernet0/0/1] port link-type trunk
[SW2-GigabitEthernet0/0/1] port trunk allow-pass vlan 20
PC1和PC2属于同一个sub-vlan可以互相通信
PC1和PC3属于两个不同的sub-vlan是不可以互相通信
要想两个不同的sub-vlan之间能够互相通信要在SW1的VLAN100下开启ARP的代理才能互相通信。
interface Vlanif100
arp-proxy inter-sub-vlan-proxy enable—开启Sub-VLAN间的Proxy ARP功能
5.MUX VLAN
MUX VLAN(Multiplexing VLAN,多路复用虚拟局域网)是一种通过对网络流量进行灵活控制和管理,实现多租户环境中更高效资源利用的技术。它通过将多个VLAN合并到一个物理端口上,并根据预设的策略对流量进行分配和隔离,实现网络资源的多路复用。MUX VLAN使用策略控制表来识别不同的流量类型,并根据策略决定流量的处理方式。这样可以实现不同用户或应用之间的流量隔离和优先级控制,提高网络的安全性和管理效率。此外,MUX VLAN还能有效地减少网络设备端口的占用,从而提高网络设备的利用率和网络架构的灵活性。
MUX VLAN的关键配置代码
配置MUX VLAN,将VLAN2配置成主VLAN,VLAN3配置成互通型从VLAN,VLAN4配置成隔离型从VLAN。
[DeviceA] vlan batch 2 3 4
[DeviceA] vlan 2
[DeviceA-vlan2]mux-vlan
[DeviceA-vlan2]subordinate group 3[DeviceA-vlan2lsubordinate separate 4
配置接口加入VLAN,并在接口下使能MUXVLAN功能,并开启ARP代理
[DeviceA]interface 10ge 1/0/1
[DeviceA-10GE1/0/1] port link-type access
[DeviceA-10GE1/0/1] port default vlan 2
[DeviceA-10GE1/0/1] port mux-vlan enable vlan 2
[DeviceA]interface Vlanif2
[DeviceA-Vlanif2]ip address 192.168.2.1 255.255.255.0
[DeviceA-Vlanif2]arp-proxy inner-sub-vlan-proxy enable /vlan内ARP代理
[DeviceA-Vlanif2]arp-proxy inter-sub-vlan-proxy enable /vlan间ARP代理
6. QinQ
QinQ(802.1Q-in-802.1Q)技术是一项扩展VLAN空间的技术,也叫做VLAN Stacking或Double VLAN,通过在802.1Q标签报文的基础上再增加一层802.1Q Tag来达到扩展VLAN空间的功能。QinQ分为基本QinQ和灵活QinQ
QinQ的基本配置
#在PE1上创建VLAN100和VLAN200
[PE1] vlan batch 3 4
在PE1上配置接口10GE1/0/1、10GE1/0/2的类型为QinQ
[PE1]interface 10ge 1/0/1
[PE1-10GE1/0/1] port link-type dot1q-tunnel[PE1-10GE1/0/1] port default vlan 3
[PE1-10GE1/0/1] quit
[PE1]interface 10ge 1/0/2
[PE1-10GE1/0/2]port link-type dotlq-tunnel[PE1-10GE1/0/2] port default vlan 4
[PE1-10GE1/0/2] quit
三、软考真题
以下关于VLAN的描述中,不正确的是( )。
A.VLAN的主要作用是隔离广播域 B.不同VLAN间须跨三层互通
C.VLAN ID可以使用范围为1~ 4095 D.VLAN1不用创建且不能删除
VLAN 配置命令 port-isolate enable的含义是 60),配置命令 port trunk allow-pass vlan 10 to 30的含义是(61)。
60
A.不同VLAN二层互通 B.同一VLAN下二层隔离
C.同一VLAN下三层隔离 D.不同VLAN三层互通
61
A.配置接口属于VLAN10-VLAN30
B.配置接口属于VLAN10、VLAN30
C.配置接口不属于VLAN10-VLAN30
D.配置接口不属于VLAN10、VLAN30
以下关于VLAN的叙述中,属于其优点的是()。
A.允许逻辑地划分网段
B.减少了冲突域的数量
C.增加了冲突域的大小
D.减少了广播域的数量
VLAN的主要作用不包括()。
A.加强网络安全
B.抑制广播风暴
C.简化网络管理
D.查杀病毒
【说明】某公司租用了一段C类地址203.12.11.0/24~203.12.14.0/24,如图所示。其网间地址是172.11.5.14/24。要求网内所有PC都能上网。
【问题1】接入层交换机Switch1的端口24为trunk口,其余各口属于vlan11,请解释以下命令并完成交换机的配置。
Switch1#config terminal
Switch1(config)#interface f0/24 〔进入端口24配置模式〕
Switch1(config-if)# switchport mode trunk (1)
Switch1 (config-if)#switchport trunk encapsulation dotlq (2)
Switch1(config-if)# switchport trunk allowed all 〔允许所有VLAN从该端口交换数据〕
Switch1(config-if)#exit
Switch1(config)#exit
Switch1# vlan database
Switch1(vlan)# vlan 11 name lab01 (3)
Switch1(vlan)#exit
Switch1#config terminal
Switch1(config)#interface f0/9 〔进入f0/9的配置模式〕
Switch1(config-if)# (4) 〔设置端口为接入链路模式〕
Switch1(config-if)# (5) 〔把f0/9分配给VLAN11〕
Switch1(config-if)#exit
Switch1(config)#exit
【问题2】以下两个配置中错误的选项是 (6) ,原因是 (7) 。
A. Switch0 (config)#interface gigabitEthernet 0/3
Switch0 (config-if)#switchport mode trunk
Switch0 (config-if)#switchport trunk encapsulation dot1q
Switch0(config)#exit
Switch0# vlan database
Switch0(vlan)# vlan 2100 name lab02
B. Switch0 (config)#interface gigabitEthernet 0/3
Switch0 (config-if)#switchport mode trunk
Switch0 (config-if)#switchport trunk encapsulation ISL
Switch0(config)#exit
Switch0# vlan database
Switch0(vlan)# vlan 2100 name lab02
【问题3】Switch1的f0/24口接在Switch0的f0/2口上,请根据图5-1完成或解释以下Switch0的配置命令。
Switch0(config)# interface (8) 〔进入虚子接口〕
Switch0(config-if)# ip address 203.12.12.1 255.255.255.0 〔加IP地址〕
Switch0(config-if)# no shutdown (9)
Switch0(config-if)# standby 1 ip 203.12.12.253 〔建HSRP组并设虚IP地址〕
Switch0(config-if)# standby 1 priority 110 (10)
Switch0(config-if)# standby 1 preempt (11)