VLAN高级技术

简介: VLAN高级技术

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的报文后,剥离报文的外层TagVLAN ID 100)。将报文发送给SW4,此时报文只有一层TagVLAN ID 1020)。

5.SW4收到该报文,根据VLAN ID和目的MAC地址进行相应的转发。

基本配置

port link-type dot1q-tunnel  //配置接口类型为dot1q-tunnel
qinq protocol 9100    //使能QINQ协议,9100是固定值
相关文章
|
存储 分布式计算 Hadoop
Hadoop【基础知识 01】【分布式文件系统HDFS设计原理+特点+存储原理】(部分图片来源于网络)
【4月更文挑战第3天】Hadoop【基础知识 01】【分布式文件系统HDFS设计原理+特点+存储原理】(部分图片来源于网络)
855 3
|
SQL
数仓规范之sql编写规范
编写SQL时,应遵循以下规范:所有关键字小写,表别名按a, b, c...顺序使用,复杂逻辑多行书写,提高可读性。SELECT字段需逐行列出,避免使用*,GROUP BY字段同样处理。WHERE条件多于一个时,每条件一行。JOIN子表推荐使用嵌套查询方式1,明确关联条件,避免笛卡尔积。关键逻辑需注释,INSERT SELECT后最外层字段加注释说明用途。示例中展示了推荐的JOIN替代子查询的写法,以提高代码的可读性和维护性。
659 1
|
机器人 Python
【Leetcode刷题Python】62. 不同路径
LeetCode 62题 "不同路径" 的Python解决方案,使用动态规划算法计算机器人从网格左上角到右下角的所有可能路径数量。
304 0
|
存储 中间件 程序员
一文晓得SaaS、IaaS和 PaaS 是什么,三者的区别是?
一文晓得SaaS、IaaS和 PaaS 是什么,三者的区别是?
10063 0
|
SQL 存储 分布式计算
MaxCompute 入门:大数据处理的第一步
【8月更文第31天】在当今数字化转型的时代,企业和组织每天都在产生大量的数据。有效地管理和分析这些数据变得至关重要。阿里云的 MaxCompute(原名 ODPS)是一个用于处理海量数据的大规模分布式计算服务。它提供了强大的存储能力以及丰富的数据处理功能,让开发者能够快速构建数据仓库、实时报表系统、数据挖掘等应用。本文将介绍 MaxCompute 的基本概念、架构,并演示如何开始使用这一大数据处理平台。
2029 0
|
安全 5G 网络安全
什么是无线广域网 (WWAN) ?
【4月更文挑战第12天】
1835 0
什么是无线广域网 (WWAN) ?
|
存储 JavaScript 前端开发
javascript中字符串处理,常用的方法汇总
javascript中字符串处理,常用的方法汇总
267 0
|
存储 Linux 网络安全
【网络安全/CTF】unseping 江苏工匠杯
【网络安全/CTF】unseping 江苏工匠杯
279 0
【网络安全/CTF】unseping 江苏工匠杯
|
人工智能 并行计算 PyTorch
YOLOv5项目搭建(AI识别皮卡丘)
在网上看了很多关于yolov5的博客,很多都是解读参数配置,或者是解析它的底层原理什么的,对新手不是特别友好,我认为学一样东西,先不管其他的,先把这个东西做出来,然后再去学习内部的原理,这样学习起来就不会那么枯燥乏味了,本篇博客就是纯手把手教你yolov5的搭建、训练、识别。
591 2
|
关系型数据库 MySQL 数据库
【mysql】当前读和快照读,幻读和可重复读
【mysql】当前读和快照读,幻读和可重复读