学生会私房菜
学生会私房菜是通过学生会信箱收集同学们的来稿,挑选其中的优质文档,不定期进行文档推送的主题。
本期文档内容为:《交换机工作原理之Super Vlan》

作者介绍:张祺
目前在福建师范大学就读,专业为网络工程,正在学习IE课程,也是国科学院学生会技术部一员。平时除了学校的课程之外,也会在国科学生会更深入学习一些技术,提高自我的能力。希望本次分享能给大家带来帮助。一、应用背景
在上次的文章中,我们在常见的园区网络构架中,我们通过使用VLAN技术,在交换机上采用接口类型Access和Trunk的组网分割广播域的方式来方便管理上网用户并保证用户上网安全。
同时,也知道了通过MUX VLAN划分主从VLAN,再细分从VLAN的Group VLAN和Separate VLAN,实现相同VLAN之间隔离或者相同VLAN之间的互通,也可以实现用户之间的隔离和用户上网的安全性。
然而,在一个正常的网络中,我们在划分VLAN的时候,也经常会针对不同VLAN划分不同的IP网段,帮助网络管理员更加方便实现用户的管理,同时也可以直接通过不同IP网段实现用户的隔离。
但是这种操作,会导致当网络中的用户数量增多之后,VLAN的数量也会进行相应的增加,随之而来的就是不同VLAN的IP网段增加,这样就出现了一个问题,一个VLAN对应一个网段,则IP网段需求就会越来越多,反而导致管理越来越不方便。
也就是说,现在的问题就是,由于不同的VLAN中,需要使用不同的IP网段。用户越多,则VLAN越多,IP网段越多,如果不同VLAN采用相同IP网段,又需要考虑该网段的网关地址如何进行设置,网关应该设置在哪个VLAN上。
针对以上的问题,那我们要如何进行设计规划网络?又要如何实现呢?
为了解决该问题,就有人提出了Super VLAN(VLAN聚合技术)。Super VLAN提供了一种通过VLAN进行网络资源控制的机制,它可以在不增加IP网段的前提下,在不同用户之间通过划分VLAN的方式实现用户之间的隔离。
具体Super VLAN如何进行工作?就让我们看看Super VLAN的具体工作方式。
二、基本概念
1、 SUPER VLAN将VLAN划分为两种大类型:
a) Sub-VLAN(子VLAN);
b) Super-VLAN(聚合VLAN);
三、工作原理
1. Sub-VLAN只包含物理接口,负责划分广播域且属于相同网段;
2. Super-VLAN只包含三层VLANif,没有任何物理接口;
3. Sub-VLAN用于划分不同的广播域,多Sub-VLAN和一个Super-VLAN进行绑定关联;
4. 所有的Sub-VLAN可以使用相同的网段IP,且同时指定同一个网关地址(Super-VLANIF);
这里我们还需要注意一下Super-VLAN与普通VLANIF的一点点区别:
普通的VLANif的UP条件:有一个物理接口属于该VLAN(trunk,access)
Super-VLAN的UP条件:只要自己的Sub-VLAN中的其中一个物理接口up即可
四、具体网络实施设计
以上就是网络设计的一个模拟拓扑图
需求:
对两个PC进行一个局域网络的VLAN划分,实现两端属于不同的VLAN,但是属于同一个子网。
为了节省IP地址的使用,不同VLAN的两个PC通过相同的一个网关地址实现三层的通信。
照此需求:可以通过Super Vlan技术实现
1、 接入层交换机按照正常的接入Access划分VLAN,分别为PC1 VLAN 10,PC2 VLAN 20;
2、 接入层和汇聚层设备之间,采用Trunk,允许VLAN 10和VLAN 20即可;
3、 汇聚层和核心层之间采用正常的三层通信模式,即通过VLAN 200(10.1.1.0/30)通信,三层之间互联需要配置路由
配置如下:
由于主要配置就是汇聚交换机,因此在解释汇聚层的配置(其他配置如拓扑所示)
[SW]vlan batch 10 20 100 200 //创建vlan 10 20 100 200
[SW]interface g0/0/2和g0/0/3 //汇聚层和接入层互联的接口
[SW-GigabitEthernet0/0/x]port link-type trunk //配置为Trunk类型
[SW-GigabitEthernet0/0/x]port trunk allow-pass vlan 10 20
//允许终端的vlan通过
[SW]interface g0/0/1 //汇聚层和核心层互联的接口
[SW-GigabitEthernet0/0/1]port link-type trunk //配置为Trunk类型
[SW-GigabitEthernet0/0/1]port trunk allow-pass vlan 200 //允许互联vlan通过
[SW]vlan 100 //进入vlan100视图
[SW-vlan100]aggregate-vlan //指定当前vlan为聚合vlan
[SW-vlan100]access-vlan 10 20 //绑定聚合vlan的子vlan为 10 和20
[SW]interface vlanif100 //为子vlan 10 和20创建一个聚合vlan的三层地址
[SW-Vlanif100]ip address 192.168.1.254 24 //配置终端的网关地址
[SW]interface vlanif200 //为访问核心层的互联创建三层地址
[SW-Vlanif200]ip address 10.1.1.1 24
[SW]ip route-static 0.0.0.0 0.0.0.0 10.1.1.2 //配置默认路由指向核心三层设备
1、完成配置之后,检查两台PC是否都可以访问自己的网关地址192.168.1.254
测试总结:两台PC的IP网段相同,但是处于不同VLAN(PC1属于VLAN 10、PC2属于VLAN 20),依旧可以ping通同一个网关地址,VLAN 100的192.168.1.254。
因为VLAN 100是聚合VLAN,而VLAN 10和VLAN 20是属于底下的子VLAN,因此可以通信。
2、 PC可以访问网关之后,我们继续测试一下,PC是否可以访问核心层的10.1.1.2(VLAN 200)
测试总结:PC同样可以通过聚合VLAN访问到核心层设备。也就是说,此时PC的上网需求都可以实现。
3、测试PC之间的访问
测试总结:PC互联发现此时出现一个问题,PC无法互访了。
我们通过抓包分析一下为什么不可以:
测试总结:抓包中发现只有ARP请求发送经过两个Trunk接口,但是没有任何ARP响应报文(截图的ARP请求是两个接口一模一样的)
抓包总结:通过报文的分析,我们又发现,无论是抓包1还是抓包2,都是VLAN 10的数据,但是我们都知道,PC2是属于VLAN 20的,因此,这个时候,我们的ARP请求在上层经过Trunk放行之后,接入层交换机发现是vlan 10的数据,于是无法发送给PC2。
五、不同VLAN通信
在原有的二层网络构架中,不同VLAN的主机因为属于不同网段,所以通过网关来实现跨VLAN通信。
但是在Super VLAN中不同VLAN下的主机在相同网段中,因此网关不会响应该ARP请求报文,且会直接帮助该报文进行转发,也就是向该VLAN内部直接泛洪发布ARP报文请求MAC地址。但是接入层交换机发现VLAN标识不同,于是ARP请求被丢弃,从而导致VLAN间通信失败。
为了解决聚合VLAN中不同的终端设备之间的通信问题,所以我们需要配置arp代理,让聚合网关在收到自己的子VLAN的数据时,进行ARP代理回复。
配置:在聚合VLAN的VLAN IF接口上配置ARP代理功能。
[SW]interface vlanif100
[SW-Vlanif100]arp-proxy inter-sub-vlan-proxy enable
//在聚合VLAN的三层接口上,配置ARP代理,允许Sub-vlan之间代理
1、配置完成之后进行PC之间的测试,发现正常通信了
这个时候,我们继续看看抓包的现象
抓包发现,ARP请求只会在抓包1的位置上看到,同时也有ARP的响应
也就是说,原本PC1需要请求PC2的MAC地址,但是现在聚合VLAN直接代替PC2进行ARP代替响应了(也就是PC1上学到的PC2的MAC地址为VLAN 100的4c:1f:cc:fd:5d:34)。
接下去,我们看看ping的ICMP过程,大家可能看到刚才的截图中,在ICMP的request之后出现了一个ICMP的redirect(重定向),之后才是reply。
PC1发出的ICMP请求报文中,明确发送的目的IP地址为PC2,但是目的MAC则是VLAN 100的MAC,也就是数据是该数据是发送给VLAN 100进行中转,且此时的VLAN ID是VLAN 10。
发送了request之后,VLAN 100向PC1回复了一个重定向报文
此处之所以聚合网关VLAN 100会发送一个重定向,是因为网关认为这是相同网段的通信,不应该发送给网关,而是应该直接发送给目标主机,所以发送重定向,告知PC一个精确的路由信息。
但是现实环境就是两台终端PC属于相同的网段,但是不属于相同VLAN,所以需要通过网关进行代理转发,就算网关发送了重定向,也无法直接学习使用,因此每次双方通信都是会触发重定向,但是没有用就是了。(即:可忽略重定向)
之后,经过网关的聚合VLAN 100转发之后,数据变成了以下的样子:
抓包总结:可以发现PC1发出的数据一开始是VLAN 10的,经过了聚合VLAN 100的转发之后,数据的VLAN变成了VLAN 20,源MAC和目的MAC也被对应改变。
这样,PC2就可以接收到数据,也可以回复reply。
PC2发送reply的时候,聚合VLAN 100也向PC2发送了一个重定向报文(可以忽略)
六、 总结
在通信过程中,聚合VLAN的ID在通信的过程中,一直都没有出现过,只是作为一个中转站的概念,只需要进行相关的数据转发和MAC响应,报文的VLAN一直都是子VLAN和三层通信的VLAN。
因为有了Super VLAN,我们可以在原有的VLAN配置的基础之上节省IP网段的使用,让相同部门的不同成员之间采用相同网段,但是采用不同的VLAN,既可以实现隔离,也可以通过配置实现互联,使用户管理变得更加方便。




国科学院学生会是由国科学院指导开展的学员服务型组织,致力于配合国科学院完成日常工作的开展以及强化锻炼学员的自身职业素养与专业技能,下设部门有技术部和综合部。
如果你们也想提升自我,又或者是想认识这些和你们一样优秀的小伙伴,那就赶快联系指导老师并加入我们吧!
学生会信箱:
student@goktech.cn
【往期精彩内容】
国科学院学生会的“小确幸”瓶子,你能涂满几个?
学生会私房菜【20200603期】:交换机交换机工作原理之Mux Vlan
学生会私房菜【202000522期】:交换机工作原理之接口类型(二)
聚资讯,融技术,访精英▏【学生会信箱】开通啦!
讲师预备生唐欢——加入国科遇见更优秀的自己
学生会私房菜【20200324期】:PPP链路建立过程详解
王少怀
国科学院(厦门基地)学生会指导老师
王阳
国科学院(泉州基地)学生会指导老师
王建
国科学院(福州基地)学生会指导老师
曹博文
国科学院(成都基地)学生会指导老师

