- VLAN聚合
- VLAN聚合产生的技术背景
- VLAN聚合概述
- VLAN聚合的原理
- VLAN聚合的应用
- Super-VLAN划分
- 相同Sub-VLAN内部通信
- 不同Sub-VLAN之间通信举例
- Sub-VLAN与其他设备的二层通信
- VLAN聚合关键配置命令
- VLAN聚合配置举例
- MUX VLAN
- MUX VLAN产生背景
- MUX VLAN的基本概念
- MUX VLAN的应用
- MUX VLAN配置命令
- MUX VLAN配置举例
- QinQ
- QinQ概述
- QinQ封装结构
- QinQ工作原理
- QinQ实现方式 - 基本QinQ
- QinQ实现方式 - 灵活QinQ
- QinQ在园区网络中的应用
- QinQ配置命令介绍
- QinQ配置举例 - 基本QinQ
- QinQ配置举例 - 灵活QinQ
VLAN技术在园区网络中应用非常广泛,通常利用VLAN进行广播域的隔离,每个VLAN属于一个广播域。网络规划时需要为每个广播域分配一个网关,如果VLAN数量过多,会导致IP地址规划难度加大,甚至会出现大量IP地址的浪费。
另外,在大型企业中,不仅仅有企业内部员工,还有很多合作伙伴同时在企业园区办公。对于不同合作伙伴来说,他们之间是不能直接访问的,需要给每个合作伙伴分配一个VLAN进行隔离,这样又会给网络带来管理维护上的难度。面临以上这些情况,是否有更好的技术能够解决这个问题呢?
本文主要介绍几种VLAN的高级技术,包括VLAN聚合、MUX VLAN、QinQ,进一步加深对VLAN高级技术的理解与应用。
VLAN聚合
VLAN聚合产生的技术背景
在一般的三层交换机中,通常是采用一个VLAN对应一个VLANIF接口的方式实现广播域之间的互通,这在某些情况下导致了IP地址的浪费。
因为一个VLAN对应的子网中,子网号、子网广播地址、子网网关地址不能用作VLAN内的主机IP地址,且子网中实际接入的主机可能少于可用IP地址数量,空闲的IP地址也会因不能再被其他VLAN使用而被浪费掉。
VLAN聚合概述
VLAN聚合(VLAN Aggregation,也称Super-VLAN): 指在一个物理网络内,用多个VLAN(称为Sub-VLAN)隔离广播域,并将这些Sub-VLAN聚合成一个逻辑的VLAN(称为Super-VLAN),这些Sub-VLAN使用同一个IP子网和缺省网关,进而达到节约IP地址资源的目的。
Sub-VLAN:只包含物理接口,不能建立三层VLANIF接口,用于隔离广播域。每个Sub-VLAN内的主机与外部的三层通信是靠Super-VLAN的三层VLANIF接口来实现的。
Super-VLAN:只建立三层VLANIF接口,不包含物理接口,与子网网关对应。与普通VLAN不同,Super-VLAN的VLANIF接口状态取决于所包含Sub-VLAN的物理接口状态。
VLAN聚合的原理
每个Sub-VLAN对应一个广播域,多个Sub-VLAN和一个Super-VLAN关联,只给Super-VLAN分配一个IP子网,所有Sub-VLAN都使用Super-VLAN的IP子网和缺省网关进行三层通信。
VLAN聚合的应用
传统VLAN方式每一个VLAN需要划分不同的IP地址网段,在本例中需要耗费4个IP网段和产生4条路由条目;SuperVLAN方式只需要分配一个IP地址网段,下属二层VLAN共用同一个IP地址网段,共用同一个三层网关,同时VLAN之间保持二层隔离。
传统VLAN划分
分支网络中每个业务分配一个VLAN,每个VLAN分配一个网段。
Super-VLAN划分
分支网络采用一个Super-VLAN聚合所有二层VLAN,所有二层VLAN共享同一个IP网段,同时保证二层隔离。
相同Sub-VLAN内部通信
同一个Sub-VLAN之间属于同一个广播域,因此相同Sub-VLAN之间可以通过二层直接通信。
不同Sub-VLAN之间通信举例
Super-VLAN VLANIF100开启ARP代理之后PC1和PC2之间通信过程如下:
- PC1发现PC2与自己在同一网段,且自己ARP表无PC2对应表项,则直接发送ARP广播请求PC2的MAC地址。
- 作为网关的Super-VLAN对应的VLANIF 100收到PC1的ARP请求,由于网关上使能Sub-VLAN间的ARP代理功能,则向Super-VLAN 100的所有Sub-VLAN接口发送一个ARP广播,请求PC2的MAC地址。
- PC2收到网关发送的ARP广播后,对此请求进行ARP应答。
- 网关收到PC2的应答后,就把自己的MAC地址回应给PC1,PC1之后要发给PC2的报文都先发送给网关,由网关做三层转发。
Sub-VLAN与其他设备的二层通信
当Sub-VLAN与其他设备进行二层通信时,与普通的VLAN内二层通信无区别。
由于Super-VLAN不属于任何物理接口,即不会处理任何携带Super-VLAN标签的报文。
VLAN聚合关键配置命令
1.创建Super-VLAN
[Huawei-vlan100] aggregate-vlan
Super-VLAN中不能包含任何物理接口,VLAN1不能配置为Super-VLAN。
Super-VLAN中的VLAN ID与Sub-VLAN中的VLAN ID必须使用不同的VLAN ID。
2. 将Sub-VLAN加入Super-VLAN
[Huawei-vlan100] access-vlan { vlan-id1 [ to vlan-id2 ] }
将Sub-VLAN加入到Super-VLAN中时,必须保证Sub-VLAN没有创建对应的VLANIF接口。
3.(可选)使能Super-VLAN对应的VLANIF接口的Proxy ARP
[Huawei-vlanif100] arp-proxy inter-sub-vlan-proxy enable
使能Sub-VLAN间的Proxy ARP功能。
VLAN聚合配置举例
要求:如上图所示完成SW1上VLAN聚合的配置
[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
[SW1-vlanif100] arp-proxy inter-sub-vlan-proxy enable
#使能Sub-VLAN间的Proxy ARP功能
[SW1] vlan 200
[SW1] interface GigabitEthernet0/0/3
[SW1-GigabitEthernet0/0/3] port link-type access
[SW1-GigabitEthernet0/0/3] port default vlan 200
[SW1] interface vlanif 200
[SW1-VLANIF200] ip address 192.168.200.254 24
SW2的配置如下:
SW2] vlan 10
[SW2] interface GigabitEthernet0/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的配置与SW2类似,此处省略
MUX VLAN
MUX VLAN产生背景
在企业网络中,各个部门之间网络需要相互独立,通常用VLAN技术可以实现这一要求。如果企业规模很大,且拥有大量的合作伙伴,要求各个合作伙伴能够访问公司服务器,但是不能相互访问,这时如果使用传统的VLAN技术,不但需要耗费大量的VLAN ID,还增加了网络管理者的工作量同时也增加了维护量。
MUX VLAN(Multiplex VLAN)提供了一种通过VLAN进行网络资源控制的机制。
MUX VLAN的基本概念
MUX VLAN分为Principal VLAN(主VLAN)和Subordinate VLAN(从VLAN),Subordinate VLAN又分为Separate VLAN(隔离型从VLAN)和Group VLAN(互通型从VLAN)。
MUX VLAN的应用
在交换机上,通过把部门A和部门B所在的VLAN分别设置为互通型从VLAN,把访客区所属的VLAN设置为隔离型从VLAN,把
服务器所连接口所属VLAN设置为Principal VLAN,即主VLAN。并且所有从VLAN都与主VLAN绑定。从而实现如下网络设计要求:
部门A内的用户之间能够实现二层互通。
部门B内的用户之间能够实现二层互通。
部门A与部门B的用户之间二层隔离。
部门A和部门B的员工都能够通过二层访问服务器。
访客区内的任意PC除了能访问服务器之外,不能访问其他任意设备,包括其他访客。
MUX VLAN配置命令
- 配置MUX VLAN中的Principal VLAN
[Huawei-vlan100] mux-vlan
配置该VLAN为MUX VLAN,即Principal VLAN。如果指定VLAN已经用于Principal VLAN,那么该VLAN不能在Super-VLAN、Sub-VLAN的配置中使用。 - 配置Subordinate VLAN中的Group VLAN
[Huawei-vlan100] subordinate group { vlan-id1 [ to vlan-id2 ] }
一个Principal VLAN下最多配置128个Group VLAN。 - 配置Subordinate VLAN中的Separate VLAN
[Huawei-vlan100] subordinate separate vlan-id
一个Principal VLAN下只能配置一个Separate VLAN,同一MUX VLAN中Group VLAN和Separate VLAN的VLAN ID不能相同。 - 使能接口MUX VLAN功能
[Huawei-GigabitEthernet0/0/1] port mux-vlan enable vlan-id
使能接口的MUX VLAN功能,协商类型negotiation-auto和negotiation-desirable接口不支持配置port mux-vlan enable。
MUX VLAN配置举例
实验要求:
Server能与所有主机二层互通
部门A、部门B、访客区相互间二层不互通
部门A与部门B内部二层互通
访客区内部二层不互通
SW1配置如下:
[SW1] vlan batch 10 20 30 100 #创建所有VLAN
[SW1] vlan 100
[SW1-vlan100] mux-vlan
#指定VLAN100为主VLAN
[SW1-vlan100] subordinate group 10 20
#指定VLAN10, 20为互通型从VLAN
[SW1-vlan100] subordinate separate 30
#指定VLAN30为隔离型从VLAN
[SW1] interface GigabitEthernet0/0/1
[SW1-GigabitEthernet0/0/1] port link-type access
[SW1-GigabitEthernet0/0/1] port default vlan 10
[SW1-GigabitEthernet0/0/1] port mux-vlan enable vlan 10
#接口加入相关VLAN,并且激活MUX VLAN功能
#其他接口与GE0/0/1配置类似,此处省略
MUX VLAN配置验证
查看VLAN配置结果,通过ping命令检测PC5(192.168.1.5/24)与PC6(192.168.1.6/24)之间的网络连通性。
[SW1]display vlan
The total number of vlans is : 5
------------------------------------------------------------------------------
U: Up; D: Down; TG: Tagged; UT: Untagged;
MP: Vlan-mapping; ST: Vlan-stacking;
#: ProtocolTransparent-vlan; *: Management-vlan;
------------------------------------------------------------------------------
VID Type Ports
------------------------------------------------------------------------------
10 mux-sub UT:GE0/0/1(U) GE0/0/2(U)
20 mux-sub UT:GE0/0/3(U) GE0/0/4(U)
30 mux-sub UT:GE0/0/5(U) GE0/0/6(U)
100 mux UT:GE0/0/24(U)
PC5>ping 192.168.1.6
Ping 192.168.1.6: 32 data bytes, Press Ctrl_C to break
From 192.168.1.5: Destination host unreachable
From 192.168.1.5: Destination host unreachable
From 192.168.1.5: Destination host unreachable
From 192.168.1.5: Destination host unreachable
From 192.168.1.5: Destination host unreachable
--- 192.168.1.6 ping statistics ---5 packet(s) transmitted0 packet(s) received100.00% packet loss
QinQ
QinQ概述
随着以太网技术在网络中的大量部署,利用VLAN对用户进行隔离和标识受到很大限制。因为IEEE802.1Q中定义的VLANTag域只有12个比特,仅能表示4096个VLAN,无法满足城域以太网中标识大量用户的需求,于是QinQ技术应运而生。
QinQ(802.1Q in 802.1Q)技术是一项扩展VLAN空间的技术,通过在802.1Q标签报文的基础上再增加一层802.1Q的Tag来达到扩展VLAN空间的功能。
如下图所示用户报文在公网上传递时携带了两层Tag,内层是私网Tag,外层是公网Tag。
QinQ封装结构
QinQ封装报文是在无标签的以太网数据帧的源MAC地址字段后面加上两个VLAN标签构成。
TPID(Tag Protocol Identifier,标签协议标识)表示帧类型。取值为0x8100时表示802.1Q Tag帧。如果不支持802.1Q的设备收到这样的帧,会将其丢弃。
CFI (Canonical Format Indicator,标准格式指示位),表示MAC地址在不同的传输介质中是否以标准格式进行封装,用于兼容以太网和令牌环网。
QinQ工作原理
在公网的传输过程中,设备只根据外层VLAN Tag转发报文,并根据报文的外层VLAN Tag进行MAC地址学习,而用户的私网VLAN Tag将被当作报文的数据部分进行传输。即使私网VLAN Tag相同,也能通过公网VLAN Tag区分不同用户。
QinQ实现方式 - 基本QinQ
基本QinQ的报文处理过程:(基于端口)
- SW1收到VLAN ID为10和20的报文,将该报文发给SW2。
- SW2收到该报文后,在该报文原有Tag的外侧再添加一层VLANID 为100的外层Tag。
- 带着两层Tag的用户数据报文在网络中按照正常的二层转发流程转发。
- SW3收到VLAN100的报文后,剥离报文的外层Tag(VLAN ID为100)。将报文发送给SW4,此时报文只有一层Tag(VLANID 为10或20)。
- SW4收到该报文,根据VLAN ID和目的MAC地址进行相应的转发。
QinQ实现方式 - 灵活QinQ
灵活QinQ的报文处理过程:(基于流分类)
- SW1收到VLAN ID为10和20的报文,将该报文转发给SW2。
- SW2收到VLAN ID为10的报文后,添加一层VLAN ID 为100 的外层Tag;SW2收到VLAN ID为20的报文后,添加一层VLAN ID为
200的外层Tag。 - 带着两层Tag的用户数据报文在网络中按照正常的二层转发流程转发。
- SW3收到报文后,剥离报文的外层Tag(VLAN ID 为100或200)。将报文发送给SW4,此时报文只有一层Tag(VLAN ID为10或20)。
- SW4收到报文,根据VLAN ID和目的MAC地址进行相应的转发。
QinQ在园区网络中的应用
场景需求
- 单个终端用户可溯源。
- 每个终端一个独立的二层广播域,最大限度地限制BUM流量对网络造成的影响。
- 终端用户到BRAS设备之间二层互通,匹配PPPoE等认证需求。
解决方案
- 接入交换机为每个下行端口划分一个独立的VLAN。
- 接入交换机将用户的原始数据转发给汇聚交换机时打上一层802.1Q标记。
- 汇聚交换机部署QinQ,为每个下行接口分配一个独立的VLAN(每台接入交换机都对应一个唯一的VLAN),将数据打上第二层标记,然后将流量送往核心交换机。
- 核心交换机将流量透传给BRAS设备,由其执行QinQ解封装。
QinQ配置命令介绍
- 配置接口类型为dot1q-tunnel
[Huawei-GigabitEthernet0/0/1] port link-type dot1q-tunnel
配置接口类型为dot1q-tunnel,该接口可以是物理接口,也可以是Eth-Trunk接口。 - 使能接口VLAN转换功能
[Huawei-GigabitEthernet0/0/1] qinq vlan-translation enable
- 配置配置灵活QinQ
[Huawei-GigabitEthernet0/0/1] port vlan-stacking vlan vlan-id1 [ to vlan-id2 ] stack-vlan vlan-id3 [ remark-8021p
8021p-value ]
配置不同的内层VLAN叠加不同的外层VLAN,缺省情况下,外层VLAN优先级与内层VLAN优先级保持一致。
QinQ配置举例 - 基本QinQ
实验要求:
▫ 企业1与企业2接入同一个ISP网络,并使用了重叠的VLAN空间。
▫ ISP通过QinQ技术,实现同一个企业的不同站点之间的数据交互。
▫ 为企业1规划的VLAN ID为100,为企业2规划的VLAN ID为200
SW1配置如下:
[SW1] vlan batch 100 200
[SW1] interface GigabitEthernet 0/0/1
#配置GE0/0/1外层TAG为100
[SW1-GigabitEthernet0/0/1] port link-type dot1q-tunnel
[SW1 -GigabitEthernet0/0/1] port default vlan 100
[SW1] interface GigabitEthernet 0/0/2
#配置GE0/0/2外层TAG为200
[SW1-GigabitEthernet0/0/2] port link-type dot1q-tunnel
[SW1-GigabitEthernet0/0/2] port default vlan 200
[SW1] interface GigabitEthernet 0/0/3
[SW1-GigabitEthernet0/0/3] port link-type trunk
[SW1-GigabitEthernet0/0/3] port trunk allow-pass vlan 100 200
#配置外层VLAN tag的TPID值
[SW1-GigabitEthernet0/0/3] qinq protocol 9100
SW2配置与SW1类似,此处省略
QinQ配置举例 - 灵活QinQ
实验要求:
上网用户和VoIP用户通过SW1和SW2接入ISP网络,通过ISP的网络互相通信;企业为PC分配的内部VLAN为100,为VoIP电话分配的内部VLAN为300。
上网用户和VoIP用户分别以VLAN2和VLAN3通过ISP网络。
SW1配置如下:
[SW1] vlan batch 2 3
[SW1] interface GigabitEthernet 0/0/1
[SW1-GigabitEthernet0/0/1] port link-type hybrid
[SW1-GigabitEthernet0/0/1] port hybrid untagged vlan 2 3
[SW1-GigabitEthernet0/0/1] qinq vlan-translation enable
[SW1-GigabitEthernet0/0/1] port vlan-stacking vlan 100 stack-vlan 2
[SW1-GigabitEthernet0/0/1] port vlan-stacking vlan 300 stack-vlan 3
[SW1-GigabitEthernet0/0/1] quit
[SW1] interface GigabitEthernet 0/0/2
[SW1-GigabitEthernet0/0/2] port link-type trunk
[SW1-GigabitEthernet0/0/2] port trunk allow-pass vlan 2 3
[SW1-GigabitEthernet0/0/2] quit
SW2配置与SW1类似,此处省略