不再难懂的Super VLAN聚合原理

简介:

 以下内容摘自即将于明年1月份出版上市的《Cisco/H3C交换机配置与管理完全手册》(第2版)。本书相对第一版中其中一个重要改变就是增加了大量的H3C交换机配置与管理内容,使得在本书中Cisco和H3C交换机两部分同样非常系统、非常全面。本书正接受内部预订,需要预订者请联系我。

    Super VLAN(超级VLAN)也是主要应用于服务提供商网络中,用于解决目前IPv4地址资源日趋紧张的问题。Super VLAN又称为VLAN聚合(VLAN Aggregation),其原理就是将一个Super VLAN和多个Sub VLAN(子VLAN)关联(与前面介绍的Isolate-user-VLAN有些类似),但Super VLAN内不能加入物理端口,却可以创建对应的VLAN接口,在该VLAN接口下可以配置IP地址(这点有些特别,因为普通VLAN中是需要有至少一个活跃的端口才可以激活VLAN的);Sub VLAN可以加入物理端口,但不能创建对应的VLAN接口,所有Sub VLAN内的端口共用Super VLANVLAN接口IP地址作为默认网关,从而节省了IP地址资源;不同Sub VLAN之间仍像普通VLAN一样采用二层相互隔离。

    在H3C交换机中并不是所有系列都支持Isolate-user-VLAN,主要是H3C S5500S7500两个系列支持。


    前面说了,Super VLAN就是VLAN AggregationVLAN聚合)技术,它可以使同一个交换机连接的多个不同VLAN、相同IP网段中的主机分配使用同一个默认网关进行三层通信我们知道,在普通VLAN中即使所有VLAN都是处于同一IP网段,都得为每个VLAN配置一个VLAN接口IP地址作为本VLAN的默认网关。当然,普通VLAN的应用主要是一个VLAN 对应一个子网(如图20-5所示)同样在网络中的VLAN数量较多时,浪费了大量的IP地址资源


20-5  普通VLAN中的IP地址分配

    在图2-5所示的示例中,VLAN 2预计未来有10个主机地址的需求,给其分配一个掩码长度是28的子网1.1.1.0/28,其中1.1.1.0为子网号,1.1.1.15为子网定向广播地址,这两个地址都不能用作主机地址,此外1.1.1.1作为子网缺省网关地址也不可作为主机地址,剩下范围在1.1.1.21.1.1.14的地址可以被主机使用,共13个。这样,尽管VLAN2只需要10个地址,但是按照子网划分却要分给它13个地址。同理,VLAN 3预计未来有5个主机地址的需求,至少需要分配一个掩码长度是29的子网1.1.1.16/29VLAN 4预计未来只有1个主机,则分配一个掩码长度是30的子网1.1.1.24/30。如表20-6所示。

20-6   普通VLAN主机IP地址分配示例

VLAN

对应子网

对应网关地址

可用地址数

可用主机数

实际需求

2

1.1.1.0/28

1.1.1.1

14

13

10

3

1.1.1.16/29

1.1.1.17

6

5

5

4

1.1.1.24/30

1.1.1.25

2

1

1

    上述三个VLAN一共需要10+5+116个地址,但是按照普通VLAN的编址方式,即使最优化的方案也需要占用168428个地址,浪费了将近一半的地址。而且,如果VLAN2后来并没有10台主机,而实际只接入了3台主机,那么多出来的地址也会因不能再被其他VLAN使用而被浪费掉。

    同时,这种划分也给后续的网络升级和扩展带来了很大不便。假设VLAN 4今后需要再增加2台主机,而又不愿意改变已经分配的IP地址。并且在1.1.1.24后面的地址已经分配给了其他人的情况下,只能再给VLAN 4的新用户重新分配一个的29位掩码的子网和一个新的VLAN。这样VLAN4中的客户虽然只有3台主机,但是却被分配在两个子网中,并且也不在同一个VLAN内,不利于网络管理。

    从上可以看出,很多IP地址被子网号、子网定向广播地址、子网缺省网关地址消耗掉,而不能用于VLAN内的主机地址。同时,这种地址分配的约束也降低了编址的灵活性,使许多闲置地址也被浪费掉。为了解决这一问题VLAN聚合(就像端口聚合一样的道理)就应运而生。

    VLAN聚合的主要优点是节省IP地址它通常将多个不同的VLAN划分至同一IP子网,而不是每个VLAN单独占用一个子网,然后将整个IP子网映射成一个VLAN聚合(Super VLAN),它包含整个IP子网内的所有VLANSub VLAN)。这样一来,不同的Sub VLAN仍保留各自独立的广播域,而一个或多个Sub VLAN同属于一个Super VLAN,并且都使用Super VLAN的接口地址为默认网关IP地址。当不同Sub VLAN中的主机需要相互之间三层通讯时,需要在Super VLAN开启ARP代理。ARP代理(ARP Proxy)在Super VLAN和内部Sub VLAN主机之间起着传递ARP包的作用,用于把各主机的网络层地址映射到对应主机的数据链路层地址。

   Super VLAN引入Super VLANSub VLAN的概念。一个Super VLAN可以包含一个或多个保持着不同广播域的Sub VLAN。在同一个Super VLAN中,无论主机属于哪一个Sub VLAN,它的IP地址都在Super VLAN对应的子网网段内,各个Sub VLAN不再占用一个独立的子网网段。这样,通过Sub VLAN间共用同一个三层接口,既减少了一部分子网号、子网缺省网关地址和子网定向广播地址的消耗,又实现了不同广播域使用同一子网网段地址,增加了编址的灵活性,减少了闲置地址浪费。从而在保证了各个Sub VLAN作为一个独立广播域实现了广播隔离的同时,将以前使用普通VLAN浪费掉的IP地址节省下来。

    仍用图20-5所示的例子进行说明。用户需求不变,仍旧是VLAN 2预计未来有10个主机地址的需求,VLAN 3预计未来有5个主机地址的需求,VLAN 4预计未来有1个主机地址的需求。按照VLAN聚合的实现方式,新建一个VLAN 10并配置为Super VLAN,给其分配一个掩码长度是24的子网1.1.1.0/24,其中1.1.1.0为子网号,1.1.1.1为子网网关地址。三个Sub VLANVLAN2VLAN3VLAN4)的地址分配就如表20-7所示了。图20-5就变成了图20-6所示了,

20-7  VLAN Aggregation主机地址划分示例

VLAN

对应子网

对应网关地址

可用地址数

可用主机数

实际需求

2

1.1.1.0/24

1.1.1.1

10

1.1.1.21.1.1.11

10

3

2

1.1.1.121.1.1.16

5

4

1

1.1.1.17

1

20-6  采用VLAN聚合方案后的主机地址分配示例

    从以上可以看出,在VLAN聚合方案中,各Sub VLAN间的界线也不再是从前的子网界线了,它们可以根据其各自主机的需求数目在Super VLAN对应子网内灵活的划分地址范围。

    从表20-7中可以看到,VLAN2VLAN3VLAN4共用同一个子网(1.1.1.0/24)、子网缺省网关地址(1.1.1.1)和子网定向广播地址(1.1.1.255)。这样,普通VLAN实现方式中用到的其他子网号(1.1.1.161.1.1.24)和子网缺省网关(1.1.1.171.1.1.25),以及子网定向广播地址(1.1.1.151.1.1.231.1.1.27)就都可以用来作为主机IP地址使用。

    这样,3VLAN一共需要105+116个地址,实际上在这个子网里就刚好分配了16个地址给(1.1.1.21.1.1.17)。这16个主机地址加上子网号(1.1.1.0)、子网缺省网关(1.1.1.1)和子网定向广播地址(1.1.1.255),一共用去了19IP地址,网段内仍剩余255-19236的地址可以被任意Sub VLAN内的主机使用。相比之下,VLAN聚合方案节省了大量的IP地址资源。

本文转自王达博客51CTO博客,原文链接http://blog.51cto.com/winda/729941如需转载请自行联系原作者


茶乡浪子

相关文章
|
3月前
|
Java
Albert 源码解析:分组复用
Albert 源码解析:分组复用
|
15天前
|
算法 项目管理 数据中心
【数据结构】拓扑网络(AOE算法举例+源码)
【数据结构】拓扑网络(AOE算法举例+源码)
【数据结构】拓扑网络(AOE算法举例+源码)
|
9月前
|
前端开发 JavaScript
怎样实现路由封装
怎样实现路由封装
|
算法 C++ 容器
【STL终极奥义❀解耦合思想的实现❀】函数对象、谓词与函数适配器——从for_each、transform、count_if、sort算法源码的角度分析(一)
【STL终极奥义❀解耦合思想的实现❀】函数对象、谓词与函数适配器——从for_each、transform、count_if、sort算法源码的角度分析
106 0
【STL终极奥义❀解耦合思想的实现❀】函数对象、谓词与函数适配器——从for_each、transform、count_if、sort算法源码的角度分析(一)
|
算法 C++ 容器
【STL终极奥义❀解耦合思想的实现❀】函数对象、谓词与函数适配器——从for_each、transform、count_if、sort算法源码的角度分析(二)
【STL终极奥义❀解耦合思想的实现❀】函数对象、谓词与函数适配器——从for_each、transform、count_if、sort算法源码的角度分析
104 0
【STL终极奥义❀解耦合思想的实现❀】函数对象、谓词与函数适配器——从for_each、transform、count_if、sort算法源码的角度分析(二)
|
算法 C++
【STL终极奥义❀解耦合思想的实现❀】函数对象、谓词与函数适配器——从for_each、transform、count_if、sort算法源码的角度分析(三)
【STL终极奥义❀解耦合思想的实现❀】函数对象、谓词与函数适配器——从for_each、transform、count_if、sort算法源码的角度分析
89 0
【STL终极奥义❀解耦合思想的实现❀】函数对象、谓词与函数适配器——从for_each、transform、count_if、sort算法源码的角度分析(三)
|
算法 前端开发 Java
Delegate 委派模式和代理模式strategy的区别?策略模式如何实现消除多层if else?(上)
Delegate 委派模式和代理模式strategy的区别?策略模式如何实现消除多层if else?
186 0
Delegate 委派模式和代理模式strategy的区别?策略模式如何实现消除多层if else?(上)
|
存储 测试技术 网络架构
软件测试面试题:请问交换机和路由器分别的实现原理是什么?分别在哪个层次上面实现的?
软件测试面试题:请问交换机和路由器分别的实现原理是什么?分别在哪个层次上面实现的?
222 0
|
搜索推荐
# 设计原则与思想--- 里式替换原则(LSP)与多态的区别
# 设计原则与思想--- 里式替换原则(LSP)与多态的区别