参考连接:https://jingyan.baidu.com/article/95c9d20d7c9810ec4f756172.html
https://blog.csdn.net/jsntwyx/article/details/78403580
SuperVLAN
SuperVLAN
【核心】:通过对VLAN进行聚合,解决核心交换设备出现**(VLAN虚拟逻辑接口)VLANif接口数量不够的问题**
SuperVLAN:超级VLAN就是可以容纳多个子vlan(sub-vlan)的主VLAN。所有的sub-vlan可以处于同1个逻辑子网,共享1个网关(暨超级vlan的接口IP地址)
这样既可以节省IP地址,便于网络管理,又可以做到二层隔离。
不过别忘了在超级VLAN的接口上配置arp代理功能,这样可以做到不同子vlan的设备三层互通。
Sub VLAN和SuperVLAN的概念
- Super VLAN:
和通常意义上的VLAN不同,它不包含任何物理接口(通常意义上的VLAN必须依赖于自身物理接口的UP),可以把它看作一个逻辑的三层概念。
可以把它看作是若干Sub VLAN的集合,为Sub VLAN提供三层转发。
它依赖于所包含的Sub VLAN中存在UP状态的物理接口。 - Sub VLAN:
Sub VLAN只能包含物理接口,不能建立三层VLAN接口。它与外部的三层通信靠Super VLAN的接口来实现。
好处:这样做既减少了一部分子网号、子网默认网关地址和子网定向广播地址的消耗,又可以使不同广播域使用同一子网网段地址,消除了子网差异,增加了编址灵活性,减少了限制地址浪费,使用代理ARP可以实现Sub VLAN间的三层互访,从而在实现普通VLAN功能的同时,达到了节省交换机VLAN 接口的目的。
SuperVLAN技术的实现
普通VLAN:包含一个逻辑接口和若干物理接口
Super VLAN:Sub VLAN映射物理接口,Super VLAN实现Sub VLAN共享同一逻辑接口。
如图所示,交换机创建了Sub VLAN2和Sub VLAN3,二者属于不同的广播域,所以Super VLAN技术很好的隔离了它们,
但这些Sub VLAN没有自己的VLAN接口,
Super VLAN10则属于另一个独立的广播域,它与Sub VLAN2 和Sub VLAN3之间建立了映射关系,它不存在物理接口,只拥有一个VLAN 接口,用该接口为映射的Sub VLAN 提供三层通信服务。
【解释】PCA的IP为10.1.1.2/24,PCB的IP为10.1.1.3/24,可以发现它们的IP地址在同一个网段,可是它们属于不同的广播域,它们之间是互相隔离的,Super VLAN10的接口IP为10.1.1.1/24,位PCA和PCB共同提供了网关服务。
不同的Sub VLAN通信(三层通信):本地代理ARP协议
开启Super VLAN功能后,属于不同Sub VLAN的主机利用本地代理ARP实现互通。
主机PCA和PCB之间收发报文的过程如图:
如图所示,PCA需要发送报文给PCB,PCA发现目的IP地址和自己是同一网段,所以发送ARP请求
而PCB在VLAN3的广播域内,并不能收到这个ARP请求。
因此PCA不能及时收到PCB的ARP应答,但是Super VLAN10可以收到这个ARP广播。
又因为Super VLAN10开启了本地代理ARP,所以当PCA发出ARP请求时,网关开始在路由表里查找,发现下一跳为直连路由接口,则在Sub VLAN3内发送新的ARP请求PCB的MAC地址;
得到PCB的回应后,Super VLAN10就把自己接口的MAC地址当做PCB的MAC地址在Sub VLAN2内给予PCA响应。
之后,PCA发送普通IP报文给PCB时,通过Supr VLAN接口进行正常的三层报文转发
代理ARP
代理ARP:如果ARP请求是从一个网络的主机 发往同一个网段却不在同一物理网络上 的 另一个主机,那么连接它们的具有代理ARP功能的设备就可以回答该请求,这个过程就被称为代理ARP(Proxy ARP)。
代理ARP分为普通代理ARP和本地代理ARP两种:
- 普通代理ARP:想要互通的主机分别连接到设备的 不同 三层接口上,且这些主机不在同一个广播域。
- 本地代理ARP:想要互通的主机连接到设备的 同一个 三层接口上,且这些主机不在同一个广播域。
普通代理ARP
普通代理ARP:想要互通的主机分别连接到设备的不同三层接口上,且这些主机不在同一个广播域。
【通俗解释】:同一个交换机,左边一个VLANif1 右边一个VLANif2这种情况
【解释】HostA要与HostC通信,由于目的IP与本机的IP地址在同一个网段,HostA直接发送ARP请求,解析HostC的MAC地址。
运行了代理ARP的交换机接收到ARP请求后,代理HostA在1.1.2.0网段发出ARP请求,解析HostC的MAC地址。
HostC认为交换机向它发出了ARP请求,所以回应ARP请求,通告自己的MAC地址000F-E203-3333。
交换机收到ARP响应后,也向HostA发送ARP响应,但通告的MAC地址是其连接到1.1.1.0网段的VLAN1接口的MAC地址000F-E202-2222。
所以在HostA的ARP表中,会形成IP地址1.1.2.3与MAC地址000F-E202-2222的映射项。即HostA会将所有要发送给HostC的数据包发送到交换机上,然后交换机再转发给HsotC。
本地代理ARP
本地代理ARP:想要互通的主机连接到设备的同一个三层接口上,且这些主机不在同一个广播域。
【通俗解释】:同一个交换机,只有一个VLANif10这种情况
【解释】
这是Super VLAN的典型应用
HostA和HostB分别属于Sub VLAN2和Sub VLAN3
HostA的IP为1.1.1.1/24
HostB的IP为1.1.1.2/24
虽然HostA和HostB的IP在同一个网段,但它们分别属于不同的广播域。
通过SWA的Super VLAN10的三层接口上开启本地代理ARP功能,可以实现HostA和HostB的三层互通。
Sub VLAN与外部的二层通信
开启Super VLAN的交换机,Trunk链路自动禁止Super VLAN的流量通过。
如图所示,对于SWA而言SWB上有效的VLAN只有VLAN2和VLAN3而不存在VLAN 10。
【解释】
PCA属于SWB的VLAN2,
PCC属于SWA的VLAN2,
PCA访问PCC时,从SWB的E1/0/1进入的数据帧会被打上VLAN2的标签,在SWB中这个标签不会改变,
SWB把数据帧从Trunk口E1/0/24转发出去,依然是VLAN2的数据帧。
对于SWA而言,SWB上有效的VLAN只有VLAN2和VLAN3,从PCC返回的到SWB的数据帧可以在VLAN2中转发
【问题】二层通信和三层通信的区别
- 二层网络仅仅通过MAC寻址即可实现通讯,但仅仅是同一个冲突域内;
- 三层网络需要通过IP路由实现跨网段的通讯
Sub VLAN与外部的三层通信 : 等同于SuperVLAN的三层通信
SWA、SWB上的VLAN划分和各PC的IP地址分配,如图所示。
Sub VLAN 2、Sub VLAN 3与外部的三层通信,等同于Super VLAN 10与外部的三层通信。
如图所示,为Sub VLAN与外部的三层通信,
PCA发送IP报文到PCC,
PCA检查发现PCC与自己属于不同的IP网段,所以将报文发送给自己的网关Super VLAN10。
因此PCA检查自己的网关IP地址和MAC地址信息,发现只有IP没有MAC地址信息,于是发送ARP请求报文,请求网关的MAC地址。
请求报文在Sub VLAN2内发送并被SWB接收,SWB没有对应的VLAN2接口,但它发现Sub VLAN2被映射到了Super VLAN10,Super VLAN10提供三层服务,所以交换机给予ARP响应,并在Sub VLAN2内发送。
至此,PCA成功学习到了网关的MAC地址,接下来
PCA发送目的MAC为Super VLAN 10、目的IP为30.1.1.2的报文。
Sub VLAN2接收到报文后,检测到目的MAC,知道应该进行三层转发,就去查找路由表,发现下一跳地址为20.1.1.2,出接口为VLAN 20,于是把报文送给SWA
SWA根据正常的转发流程把报文发送给PCC。
PCC返回给PCA的报文到达SWB时,正常IP转发检查发现出接口为Super VLAN10的三层接口,但在Super VLAN10内没有包含任何物理接口
开启了Super VLAN的交换机注意到,如果存在Super VLAN,那么需要从Super VLAN转发出去的报文都应该寻找其对应的Sub VLAN,并在Sub VLAN 内按照ARP和MAC表项进行匹配。所以最终将报文发给PCA,完成双向通信。
SuperVLAN常见命令
三种ARP代理
ARP代理有三种:
- 路由式Proxy ARP
- VLAN内Proxy ARP
- VLAN间Proxy ARP
arp-proxy enable #路由式Proxy ARP
arp-proxy inner-sub-vlan-proxy enable # VLAN内Proxy ARP
arp-proxy inter-sub-vlan-proxy enable # VLAN间Proxy ARP
SuperVLAN华为模拟器实验
不同SubVLAN通信
[Huawei]sys
[Huawei]sysname SWA
[SWA]vlan batch 2 3 10
1.配置vlan,并把接口加入相应的sub-vlan
[SWA]interface GigabitEthernet0/0/1
[SWA-GigabitEthernet0/0/1]port link-type access
[SWA-GigabitEthernet0/0/1]port default vlan 2
[SWA-GigabitEthernet0/0/1]quit
[SWA]interface GigabitEthernet0/0/2
[SWA-GigabitEthernet0/0/2]port link-type access
[SWA-GigabitEthernet0/0/2]port default vlan 3
[SWA-GigabitEthernet0/0/2]quit
2.配置super-vlan,将sub-vlan聚合为super-vlan
[SWA]vlan 10
[SWA-vlan10]aggregate-vlan #配置端口为连接主机模式
[SWA-vlan10]access-vlan 2 3 #配置vlan 2 3为聚合super-vlan
[SWA]quit
3.配置vlanif
[SWA]interface vlan 10
[SWA-Vlanif10]ip address 10.1.1.1 24
[SWA-vlan10]quit
/* 此时
pc1 ping SWA √
pc1 ping pc2 ×
*/
4.配置arp代理
[SWA]interface vlan 10
[SWA-Vlanif10]arp-proxy inter-sub-vlan-proxy enable #开启 VLAN间Proxy ARP
/* 此时
pc1 ping SWA √
pc1 ping pc2 √
*/
查看配置:
<SWA>display current-configuration
#
sysname SWA
#
vlan batch 2 to 3 10
#
vlan 10
aggregate-vlan
access-vlan 2 to 3
#
interface Vlanif1
#
interface Vlanif10
ip address 10.1.1.1 255.255.255.0
arp-proxy inter-sub-vlan-proxy enable
#
interface MEth0/0/1
#
interface GigabitEthernet0/0/1
port link-type access
port default vlan 2
#
interface GigabitEthernet0/0/2
port link-type access
port default vlan 3
#
interface GigabitEthernet0/0/3
#
interface GigabitEthernet0/0/4
#
Sub VLAN与外部的二层通信
SWA(LSW1)新增加配置
[SWA]interface GigabitEthernet 0/0/3
[SWA-GigabitEthernet0/0/3]
[SWA-GigabitEthernet0/0/3]port link-type trunk
[SWA-GigabitEthernet0/0/3]port trunk allow-pass vlan 2 3 #trunk是不通过supervlan的流量的(vlan10)
[SWA]display current-configuration
#
sysname SWA
#
vlan batch 2 to 3 10
#
vlan 10
aggregate-vlan
access-vlan 2 to 3
#
interface Vlanif1
#
interface Vlanif10
ip address 10.1.1.1 255.255.255.0
arp-proxy inter-sub-vlan-proxy enable
#
interface MEth0/0/1
#
interface GigabitEthernet0/0/1
port link-type access
port default vlan 2
#
interface GigabitEthernet0/0/2
port link-type access
port default vlan 3
#
interface GigabitEthernet0/0/3
port link-type trunk
port trunk allow-pass vlan 2 to 3
#
interface GigabitEthernet0/0/4
#
interface GigabitEthernet0/0/5
SWB(LSW2)
[Huawei]sys
[Huawei]sysname SWB
[SWB]interface GigabitEthernet 0/0/3
[SWB-GigabitEthernet0/0/3]port link-type trunk
[SWB-GigabitEthernet0/0/3]port trunk allow-pass vlan 2 3 #trunk是不通过supervlan的流量的(vlan10)
[SWB-GigabitEthernet0/0/3]quit
[SWB]vlan batch 2
[SWB]interface GigabitEthernet 0/0/1
[SWB-GigabitEthernet0/0/1]port default vlan 2
[SWB-GigabitEthernet0/0/1]display current-configuration
interface MEth0/0/1
#
interface GigabitEthernet0/0/1
port link-type access
port default vlan 2
#
interface GigabitEthernet0/0/2
#
interface GigabitEthernet0/0/3
port link-type trunk
port trunk allow-pass vlan 2 to 3
#
interface GigabitEthernet0/0/4
配置以后,PC3 ping PC1 √
相当于SubVLAN2与VLAN2进行通信,与SuperVLAN无关。