VLAN聚合(Super-VLAN)
使用VLSM来节约地址带来的坏处:分成多个网段,会浪费掉多个网络地址和广播地址。如:192.168.1.0/24,这个网段中,192.168.1.0和192.168.1.255两个地址不能用。如果分成两个网段,192.168.1.0/25和192.168.1.128/25,那么就会有4个地址不能用(192.168.1.0/25和192.168.1.128/25的网络地址和广播地址),同样也会造成浪费IP地址。
VLAN聚合指在一个物理网络内,用多个VLAN(称为Sub-VLAN)隔离广播域,并将这些Sub-VLAN聚合成一个逻辑的VLAN(称为Super-VLAN),这些Sub-VLAN使用同一个IP子网和缺省网关,进而达到节约IP地址资源的目的。
Super-VLAN:只建立三层VLANIF接口,不包含物理接口,也不能access或者trunk与子网网关对应。与普通VLAN不同,Super-VLAN的VLANIF接口状态取决于所包含Sub-VLAN的物理接口状态。
Sub-VLAN:只包含物理接口,不能建立三层VLANIF接口,用于隔离广播域。每个Sub-VLAN内的主机与外部的三层通信是靠Super-VLAN的三层VLANIF接口来实现的。
缺省,Sub-VLAN只与Super-VLAN和相同Sub-VLAN内通信,不同Sub-VLAN之间不能通信。(在VLANIF接口开启ARP代理,Sub-VLAN之间可以通信)
VLAN10可以访问VLAN100,VLAN20也可以访问VLAN100,VLAN30……,VLAN40……,但是VLAN10和VLAN20、30、40不可以互访。
VLAN聚合的作用
传统VLAN方式每个VLAN需要使用不同的IP地址网段和网关,浪费IP地址。而Super-VLAN方式只需要分配一个IP地址,Sub-VLAN共用同一个IP网段和网关,同时VLAN之间还保持二层隔离。
在传统VLAN,相同网段,不同VLAN是不能互通的,因为相同网段是走二层通信,而VLAN隔离了二层广播。但VLAN聚合,可以实现相同网段,不同VLAN通信,使用三层进行通信。
基本配置
aggregate-vlan //创建super-vlan,在主vlan视图下执行 access-vlan //把sub-vlan加入到super-vlan中,在主vlan视图下执行 arp-proxy inter-sub-vlan-proxy enable //开启super-vlan对应的vlanif接口下的ARP代理功能,使三层接口可以发送ARP广播,在主vlan视图下执行
案例分析
如上述拓扑图:
SW1的VLAN100为Super-VLAN
SW2的VLAN10为Sub-VLAN
SW3的VLAN20为Sub-VLAN
完成上述配置后,PC1可以ping通PC2,也可以ping通VLANIF100,但是不能pingPC3和PC4;同理,PC3可以ping通PC4,也可以ping通VLANIF100,但是不能ping通PC1和PC2。
得出结论:Sub-VLAN内部可以通信,Sub-VLAN之间不可以通信,且Sub-VLAN都可以与Super-VLAN通信。
那么如果想Sub-VLAN之间可以通信,要怎么做?
答:可以在VLAN100视图下,执行arp-proxy inter-sub-vlan-proxy enable命令,开启VLANIF接口的ARP代理功能,则可以实现Sub-VLAN间的三层通信。
通信过程:PC1pingPC3
1.PC1发现PC3与自己在同一网段,且自己ARP表无PC3对应表项,则直接发送ARP广播请求PC3的MAC地址。
2.作为网关的Super-VLAN对应的VLANIF 100收到PC1的ARP请求,由于网关上使能Sub-VLAN间的ARP代理功能,则向Super-VLAN 100的所有Sub-VLAN接口发送一个ARP广播,请求PC3的MAC地址。
3.PC3收到网关发送的ARP广播后,对此请求进行ARP应答。
4.网关收到PC3的应答后,就把自己的MAC地址回应给PC1,PC1之后要发给PC3的报文都先发送给网关,由网关做三层转发。
如果三层交换机要与外部设备进行通信,由于设置了super-vlan,该VLANIF接口就不能再与物理接口作其他绑定,此时可以再起一个VLANIF接口与外部通信。
MUX VLAN
MUX VLAN分为Principal VLAN(主VLAN)和Subordinate VLAN(从VLAN),Subordinate VLAN又分为Separate VLAN(隔离型从VLAN)和Group VLAN(互通型从VLAN)
Principal port可以和MUX VLAN内的所有接口进行通信。
互通性VLAN只能内部通信,以及和主VLAN通信,互通性VLAN之间不能通信。
每个Group VLAN必须绑定一个Principal VLAN。
隔离性VLAN只能与主VLAN通信。
每个Separate VLAN必须绑定一个Principal VLAN。
当有以下需求时:
VLAN10和VLAN20、VLAN30都可以访问VLAN40内的服务器Server,
但是VLAN10和VLAN20、VLAN30不能互访,且VLAN10和VLAN20内部终端可以互访,VLAN30内部终端不可以互访。
根据以上要求可以配置MUX VLAN,VLAN10和VLAN20配置为互通性VLAN(Group VLAN),VLAN30配置为隔离性VLAN,VLAN40配置为主VLAN。
基本配置
mux-vlan //配置该VLAN为MUX VLAN,即主VLAN subordinate group //配置从VLAN中的互通性VLAN subordinate separate //配置从VLAN中的隔离性VLAN port mux-vlan enable //使能接口的MUX VLAN
QINQ
随着以太网技术在网络中的大量部署,利用VLAN对用户进行隔离和标识受到很大限制。因为IEEE802.1Q中定义的VLAN Tag域只有12个比特,仅能表示4096个VLAN,无法满足城域以太网中标识大量用户的需求,于是QinQ技术应运而生。
QinQ(802.1Q in 802.1Q)技术是一项扩展VLAN空间的技术,通过在802.1Q标签报文的基础上再增加一层802.1Q的Tag来达到扩展VLAN空间的功能。
比如A公司和B公司都有一个VLAN10要在公网上通过,如果运营商在交换机上只放行VLAN10的话,那么B公司的数据可能会传到A公司,为了防止这种情况出现,运营商可以使用QINQ技术,在公网上的交换机设置trunk链路,放行vlan100和vlan200,在原有的Tag10上,打上一层外层标签,用于识别公司,vlan100对应A公司,vlan200对应B公司,这样一来,B发来的数据就会被打上VLAN200的标签在公网上传输,到B公司之后,再拆掉VLAN200的标签,使用VLAN10在B公司内部传输。
QINQ封装结构
802.1 目的MAC 源MAC Type/Length DATA FCS
802.1Q 目的MAC 源MAC 802.1Q VLAN Tag Type/Length DATA FCS
QINQ 目的MAC 源MAC 外层TAG/内层TAG Type DATA FCS
TPID(Tag Protocol Identifier,标签协议标识)表示帧类型。取值为0x8100时表示802.1Q Tag帧。如果不支持802.1Q的设备收到这样的帧,会将其丢弃。
CFI (Canonical Format Indicator,标准格式指示位),表示MAC地址在不同的传输介质中是否以标准格式进行封装,用于兼容以太网和令牌环网。
基本QINQ
报文处理过程:
1.SW1收到VLAN ID为10和20的报文,将该报文发给SW2。
2.SW2收到该报文后,在该报文原有Tag的外侧再添加一层VLAN ID 为100的外层Tag。
3.带着两层Tag的用户数据报文在网络中按照正常的二层转发流程转发。
4.SW3收到VLAN100的报文后,剥离报文的外层Tag(VLAN ID 为100)。将报文发送给SW4,此时报文只有一层Tag(VLAN ID 为10或20)。
5.SW4收到该报文,根据VLAN ID和目的MAC地址进行相应的转发。
基本配置
port link-type dot1q-tunnel //配置接口类型为dot1q-tunnel qinq protocol 9100 //使能QINQ协议,9100是固定值