华为VLAN聚合原理与实验

模拟器eNSP

使用目的

VLAN Aggregation作为普通vlan的拓展技术,肯定是为了弥补普通vlan的一些不足,这个不足就是浪费IP地址,如果每一个vlan都在不同的网段,为了完成三层通信,每个vlan都将有一个vlanif的接口座位网关,并且每一个网段都有一个网络地址,一个广播地址,这样的话就导致了IP地址的浪费。

使用原理

为了解决这个问题,我们采用了VLAN Aggregation的方式:不同vlan可以划分在同一个网段中,并且只用配置1个vlanif接口,这样就节约了广播地址,网络地址和vlanif的IP地址,其他设备都通过这个vlanif的接口进行三层互访。

划分super vlan,sub vlan这两种vlan,super vlan需要创建vlanif接口,但是不能绑定任何的物理接口,其下能够绑定多个sub vlan。sub vlan不能创建vlan接口,三层通信必须通过super vlan的vlanif接口,但是sub vlan需要绑定到物理接口上。

情况一:Sub Vlan之间的三层通信
在这里插入图片描述
拓扑描述:
Super-VLAN(VLAN10)包含Sub-VLAN(VLAN2 和VLAN3)

上述拓扑假设S1已经开启了Sub-VLAN间的ARP Proxy功能,通信过程如下:
1.PC1将PC2的IP 地址(1.1.1.20)和自己所在网段1.1.1.0/24 进行比较,发现PC2和自己在同一个子网,但是PC1的ARP表中无PC2的对应表项。
2.PC1发送ARP广播,请求PC2的MAC 地址。
3.PC2并不在VLAN2的广播域内,无法接收到PC1的这个ARP请求。
4.由于网关上使能Sub-VLAN间的ARP Proxy,当网关收到PC1的ARP请求后,开始在路由表中查找,发现ARP请求中的PC2的IP地址(1.1.1.20)为直连接口路由,则网关向所有其它Sub-VLAN接口发送一个ARP广播,请求PC2的MAC地址。
5.PC2收到网关发送的ARP广播后,对此请求进行ARP应答。
6.网关收到PC2的应答后,就把自己的MAC地址当作PC2的MAC地址回应给PC1。
7.网关和PC1的ARP表项中都存在PC2的对应表项。
8.PC1之后要发给B的报文都先发送给网关,由网关做三层转发。

情况二:Sub Vlan的二层通信
在这里插入图片描述
拓扑描述:
Super-VLAN(VLAN10)包含Sub-VLAN(VLAN2 和VLAN3),S1和S2相连链路为trunk,允许所有vlan标签的报文通过。

通信过程:
1.PC1从Port1进入设备S1的帧会被打上VLAN2的Tag,在设备S1中这个Tag不会因为VLAN2是VLAN10的Sub-VLAN而变为VLAN10的Tag。
2.该数据帧通过查看了MAC地址表后,从Trunk类型的接口Port3出去时,依然是携带VLAN2的Tag。设备S1本身不会发出VLAN10的报文。就算其他设备有VLAN10的报文发送到该设备上,这些报文也会因为设备S1上没有VLAN10对应物理端口而被丢弃。

注意:Super-VLAN中是不存在物理端口的,这种限制是强制的,表现在
1.如果先配置了Super-VLAN,再配置Trunk接口时,Trunk的VLAN allowed表项里就自动滤除了Super VLAN。
2.如果先配好了Trunk端口,并允许所有VLAN通过,则在此设备上将无法配置Super-VLAN。本质原因是有物理端口的VLAN都不能被配置为Super VLAN。而允许所有VLAN通过的Trunk端口是所有VLAN的tagged端口,当然任何VLAN 都不能被配置为Super VLAN。
3.对于设备S1而言,有效的VLAN只有VLAN2和VLAN3,所有的数据帧都在这两个VLAN中转发的。

情况三:Sub vlan与外部的三层通信
在这里插入图片描述
拓扑描述:
S2上配置了Super-VLAN 4,Sub-VLAN 2和Sub-VLAN 3,并配置一个普通的VLAN10;S1上配置两个普通的VLAN 10和VLAN 20。假设Super-VLAN 4中的Sub-VLAN 2下的主机PC1 想访问与S1 相连的主机PC3;假设设S2上已配置了去往1.1.3.0/24网段的路由,Switch2上已配置了去往1.1.1.0/24网段的路由

通信过程:
1.PC1将PC3的IP地址(1.1.3.2)和自己所在网段1.1.1.0/24进行比较,发现PC3和自己不在同一个子网。
2.PC1发送ARP请求给自己的网关,请求网关的MAC地址。
3.S2收到该ARP请求后,查找Sub-VLAN和Super-VLAN的对应关系,从Sub-VLAN 2发送ARP应答给PC1。ARP应答报文中的源MAC地址为Super-VLAN 4对应的VLANIF4的MAC地址。
4.PC1学习到网关的MAC地址。
5.PC1向网关发送目的MAC为Super-VLAN 4对应的VLANIF4的MAC、目的IP为1.1.3.2的报文。
6.S2收到该报文后进行三层转发,下一跳地址为1.1.2.2,出接口为VLANIF10,把报文发送给S1。
7.S1收到该报文后进行三层转发,通过直连出接口VLANIF20,把报文发送给PC3。
8.PC3的回应报文,在Switch2上进行三层转发到达Switch1。
9.Switch1收到该报文后进行三层转发,通过super-VLAN,把报文发送给PC1。

实验:实现PC1和PC2之间的通信(sub vlan间的三层通信)

在这里插入图片描述
规划: VLAN 30为Super vlan,VLAN 10和VLAN 20为Sub vlan

具体配置:
1.首先配置核心的交换机SW1:(聚合vlan的所有配置在这里进行)
vlan batch 10 20 30 //创建所需要用到的
vlan 30 //进入super vlan
aggregate-vlan //配置自己为super vlan
access-vlan 10 20 //配置其下面sub vlan
interface Vlanif30 //进入vlan30的接口
ip address 10.1.30.1 255.255.255.0 //配置对应的IP地址,super vlan必须进行配置
interface Ethernet0/0/1 //进入与交换机相连的接口
port link-type trunk //接口类型为trunk
port trunk allow-pass vlan 10 20 //由于supuer vlan不能存在于物理接口上,所以这里需要注意这里不能添加vlan30,否则会报错

2.配置sw2:(进行正常配置即可)
vlan batch 10 20 //不用创建vlan30,因为根本没有打上vlan30tag流量经过,也不用创建vlan40,因为vlan40的流量就算进来了也无法进行二层转发
interface Ethernet0/0/1
port link-type trunk
port trunk allow-pass vlan 2 to 4094
interface Ethernet0/0/2
port link-type access
port default vlan 10
interface Ethernet0/0/3
port link-type access
port default vlan 20

3.配置PC:
PC1:属于sub vlan 10
在这里插入图片描述
PC2:属于sub vlan 20
在这里插入图片描述

通信抓包分析:
首先是PC和PC3之间的通信,sub vlan之间的三层通信,首先用PC2pingPC3进行测试:(不通)
在这里插入图片描述
这因为PC1发出了arp请求包了,并且目标地址在同一个网段,直接请求的是PC3的MAC地址,打上了vlan10的tag到了核心交换机,核心交换机SW1发现是广播帧,而且vlan10是自己vlan30的sub vlan,会拆封装进行查看,但是发现是请求的别人的IP地址,不会进行回复,然后arp包会进行二层泛洪转发,会向能够通过vlan10tag的接口进行转发(除了接收这个数据包的接口以为的其他端口,这里没有其他端口,所有不会转发)。这个时候,就需要我们在super vlan所在的接口上配置arp代理了:
[sw1-Vlanif30]arp-proxy inter-sub-vlan-proxy enable //交换机中区域间的arp代理
配置完成后,在sw2的e0/0/1端口进行抓包检测,并用PC1继续pingPC2,现在可以正常通信了
在这里插入图片描述
进行相应的分析,为什么开启了arp代理后就可以通信了呢?这是因为super vlan关联了sub vlan,那么遇到了广播包super vlan的接口实际上会处理sub vlan对应tag的数据(本来在不同的vlan是不会处理的),第一因为没有开arp代理没有进行回复,如果开启了arp代理,SW1查看路由表会发现这个接口所在的ip地址和自己直连,会代理PC2向PC3请求IP地址,但是自己又是super vlan,不会打上自己的tag发送,所以会发送打上自己其余sub vlan标签的arp请求包(这里只有vlan20,如果有多个,会发送多个打上了不同tag的arp请求报文),向允许其vlan通过的物理接口发送出去。

抓包结果显示:
第一个报文:PC1发送的ARP请求报文,tag为vlan10
在这里插入图片描述
第二个报文:SW1向PC2发送的ARP请求报文,tag为vlan20
在这里插入图片描述
第三个报文:PC2发送的arp回复报文,tag为vlan20
在这里插入图片描述
第四个报文:SW1向PC1进行代理回复,tag为vlan10(因为arp请求报文进入SW1时带有tag10,可以被记录到MAC地址表中)
在这里插入图片描述
第五个报文:SW1的arp缓存表需要记录PC1的MAC地址,但是这里arp模块并不清楚PC1具体在哪个sub vlan中,会发送两个arp请求报文(分别打上vlan10和vlan20),发送到运行其vlan通过的接口,本实验中仅有e0/0/1这个trunk接口可以发送
在这里插入图片描述在这里插入图片描述在这里插入图片描述
第6个报文:PC1回复SW1的arp请求,SW1收到后记录进入ARP缓存表中
在这里插入图片描述
后续报文:ICMP报文正常封装与回复
在这里插入图片描述
在这里插入图片描述

  • 6
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

格洛米爱学习

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值