交换基础之VLAN基础以及相关VLAN扩展技术

文章目录

  • VLAN介绍
    • 802.1Q帧格式以及VLAN的划分方式
    • VLAN扩展技术
    • VLAN端口类型
    • 二层VLAN内通信以及三层VLAN间通信
      • 二层VLAN内通信过程
      • 三层VLAN间通信过程(三层路由子接口)
    • VLAN聚合
      • Sub-VLAN间的通信原理:开启ARP代理
      • Sub-VLAN与外部的三层设备通信原理:
    • MUX VLAN介绍
    • VLAN映射
      • VLAN映射的方式
    • QinQ介绍
      • QinQ映射

VLAN介绍

主要介绍VLAN的802.1Q报文、VLAN的二层通信以及三层通信原理、VLAN相关技术等

802.1Q帧格式以及VLAN的划分方式

交换基础之VLAN基础以及相关VLAN扩展技术_第1张图片

报文字段 说明
前导符 由0101…交替组成,用于是PLS(物理层信号)子层与收到的帧进行时钟同步;
帧起始 数值为10101011,表示一个帧的开始部分;
SMac 源MAC地址
DMac 目的MAC地址
长度/类型 在Ethernet I和II中表示类型,802.3表示长度;
TPID 标签协议标识符字段,表明这是一个802.1q协议,用于与未添加VLAN的数据帧进行区分;固定值为0x8100;
PRI 优先级字段,数值范围为0-7(越大越优),用于QoS服务;
CFI 标准格式化兼容器字段,用于兼容令牌网和以太网,0表示以太网,1表示令牌网,默认为0;
VID VLAN标识字段,表明VLAN的ID,范围为0-4095,可用范围为1-4094;
数据 数据字段
FCS 校验序列字段,用于校验整个数据帧的完整性和可靠性;

VLAN的划分方式:

  • 基于端口划分VLAN:最常见的VLAN划分方式,将物理端口划分进固定的VLAN里,当主机接入改端口就会划分进相应的VLAN里,配置简单;
  • 基于MAC划分VLAN:手动配置好MAC地址与VLAN的对应关系,MAC地址有48位,手动配置好每个MAC地址与VLAN的对应关系,工作量大;
  • 基于IP子网划分VLAN:手动配置好IP地址与VLAN间的对应关系,每次都需要解析IP协议,反响速度慢;
  • 基于协议划分VLAN:手动配置好IP报文中的“协议号”字段与VLAN的对应关系,次都需要解析IP协议,反响速度慢;
  • 基于策略划分VLAN:按照安全策略划分(MAC地址+IP地址策略和MAC地址+IP地址+端口号策略),手动配置每一条策略与VLAN的对应关系工作量大;

VLAN扩展技术

  • 管理VLAN:是一种特殊的VLAN,为用户提供远程访问,该VLAN中不能有业务流量,只能是管理流量
  • VLAN聚合:又称为Super VLAN,用于解决不同VLAN所处同一网段之间的通信(正常情况下,不同VLAN所处的网段是不同的);包含两种VLAN,Super-VLAN(主VLAN,只需配置VLANIF IP地址作为从VLAN的缺省网关,不加入任何物理接口)和Sub-vlan(从VLAN,不能配置IP地址,划分物理接口进入该端口);
  • MUX VLAN实现VLAN间各成员的二层隔离。可以使得同一VLAN同一网段的成员间不能相互访问,分为三种VLAN,Principal VLAN(主VLAN)、Subordinate VLAN(Separate VLAN,隔离型从VLAN;Group VLAN,互通型从VLAN);
  • VLAN 映射:在物理接口上将数据帧的VLAN ID替换为其他的VLAN ID,使得用户能够在公网VLAN里传递;
  • Voice VLAN:语音VLAN,用于语音通信环境,提高语音通信质量和传输速率;
  • VLAN 透传:使交换机直接透明传输指定的VLAN,不用上报CPU,也不用识别数据帧的VLAN标签,提高了传输速率;
  • QinQ:简单的二层隧道技术,在带有标签或未带标签的数据帧中再添加一个公网tag标签,提高了VLAN的使用数量(4094x4094);
  • QinQ映射:在路由子接口上将VLAN ID替换为其他VLAN ID;

VLAN端口类型

  • Access端口:剥离或打上标签,常用于与终端相连的端口,当收到一个没有标签的数据帧,就会打上一个数值为PVID的tag标签;当收到一个带有标签的数据帧,查看数据帧的VID是否与该接口的PVID相同,相同就剥离,不相同就丢弃;
  • Trunk端口:带标签传输的通道,常用于与其他二层设备或三层设备相连的端口,当收到一个没有标签的数据帧,就会打上一个数值为PVID的tag标签(默认为1);当收到一个带有标签的数据帧,查看数据帧的VID是否与端口的PVID相同,相同就剥离,不相同就查看该VLAN ID是否在允许转发表里,在就保留标签转发,不在就丢弃;
  • Hybrid端口:Access与Trunk的混合型,既可用于既可用于终端,也可用于网络设备。该端口有两种形式,untagged(不带标签的)和tagged(带标签的),在这两种形式的端口后面都可以配置允许通过的VLAN ID(允许转发表中的允许VLAN是包含untagged和tagged);当收到一个不带tag标签的数据帧,就会打上一个数值为PVID的tag标签,然后查看允许转发表中是否包含此VLAN,包含就发送,不包含就丢弃;当收到一个带标签的数据帧,查看该标签是否在转发表里,在就发送,不在就丢弃;当发送一个带有标签的数据帧,会查看该数据帧是否在untagged允许转发表里,在就剥离后发送,不在就查看是否在tagged转发表中,在就直接发送,不在就丢弃;所有的端口默认处于hybrid端口1;

二层VLAN内通信以及三层VLAN间通信

VLAN间设备能够实现二层隔离,VLAN内设备能够直接进行二层通信;不同VLAN间是不能直接通信的,但有些时候需要实现不同VLAN间的通信,这是就需要使用相关三层技术进而使得VLAN间能够通信,常用的有:配置三层路由子接口(子接口是虚拟接口)和VLANIF接口(三层交换机)

二层VLAN内通信过程

交换基础之VLAN基础以及相关VLAN扩展技术_第2张图片

  1. PC1访问PC2。PC1会从接口上发送一个数据帧。当SW1从接口G0/0/0收到一个没有tag标签的数据帧后,会打上一个数值为PVID(此处为10)的Tag,然后查看MAC地址表,发现发送端口为G0/0/1;
  2. SW1的trunk口收到带有tag的数据帧后,就会查看该数据帧的VLAN ID是否与存在允许转发VLAN表里,在就转发;
  3. SW2的trunk口g0/0/1收到该数据帧后,就会查看MAC地址表,然后从accessG0/0/0端口发送出去;
  4. SW2的G0/0/0Access口收到数据帧就会剥离tag标签发送给PC2;

三层VLAN间通信过程(三层路由子接口)

交换基础之VLAN基础以及相关VLAN扩展技术_第3张图片

  1. PC1向PC2发送数据帧,PC1发送源IP地址与目的IP地址不同(不同VLAN的网段不同),就会将数据包发给网关设备(网关设备就是Router,客户端的网关地址为相应VLAN的路由子接口的IP地址)。
  2. Switch的g0/0/0Access端口收到后,就会给该数据帧打上一个数值为PVID(10)的tag标签,然后发给G0/0/1Trunk口;
  3. Switch的trunk口收到数据帧后,查看允许转发VLAN表,然后保留tag发送出去;
  4. Router的g0/0/0.10子接口(属于VLAN10)收到该数据帧后,查看路由表,然后修改数据帧的VLAN值为20,从G0/0/0.20子接口(所属VLAN20)发送出去;
  5. Switch的G0/0/1trunk口收到该数据帧后,将其发送给G0/0/2access口;G0/0/2剥离tag发送给PC2;

注:路由子接口方式与三层交换机实现VLAN间通信的基本原理是相同的;

VLAN聚合

VLAN聚合又称为Super-vlan技术,是用于解决普通VLAN部署下,很多IP地址被子网地址、子网定向广播地址、子网缺省网关地址(VLANIF接口IP地址)所消耗掉,不能用于VLAN内的主机,降低了IP地址编址的灵活性的问题;

VLAN聚合分为两种VLAN:

  • Super-VLAN:作为所有成员Sub-VLAN的缺省网关,Super-vlan在三层交换机上才能配置,该VLAN中不能包含任何的端口,只用来配置IP地址(VLANIF)作为所有Sub-VLAN的缺省网关;
    注:不管是Trunk口还是Super-VLAN口都不能包含Super-VLAN;先配置Super-vlan,再配置Trunk允许所有VLAN,设备会自动过滤Super-vlan;先配置Trunk允许所有VLAN,就无法配置super-vlan;
  • Sub-VlAN:是Super-VLAN的成员,一个Super-vlan可以包含一个或多个Sub-VLAN成员,所有成员都处于同一个IP网段。Sub-VLAN可以添加端口,但不能配置IP地址,所有Sub-VLAN中用户的缺省网关都是Super-vlan的IP地址,以便实现Sub-VLAN成员之间互通及与外部三层的通信;

交换基础之VLAN基础以及相关VLAN扩展技术_第4张图片

Sub-VLAN间的通信原理:开启ARP代理

交换基础之VLAN基础以及相关VLAN扩展技术_第5张图片

  1. PC1访问PC2。PC1将PC2的IP地址进行比较,发现PC1与PC2处于同一网段,就会在本VLAN中发送ARP报文,请求获取PC2的MAC地址;
  2. 由于PC1与PC2处于不同的VLAN,故PC1不能直接获取到PC2的MAC地址。但在Switch网关设备上开启了Sub-VLAN间的ARP代理功能,所以当Switch网关收到ARP报文后,就会查看路由表,发现ARP请求的目的IP地址就是自己直连接口IP地址,就会向PC1发送ARP回复报文,并向其他Sub-VLAM发送ARP请求报文,代替PC1获取PC2的MAC地址并建立相关ARP表项;
  3. PC1收到网关发送的ARP请求报文后建立相关ARP表项,就会开始发送数据报文(目的MA地址为Super-VLAN的MAC地址),然后发送给Switch;
  4. Switch网关收到数据帧后,会打上一个数值为PVID(10)的tag,然后根据路由表和之前创建的ARP表项修改数据帧的Tag为20,源MAC为网关MAC(VLANIF 4的MAC地址),目的MAC为PC2的MAC地址,最终从G0/0/2剥离tag后将数据帧发送给PC2;

Sub-VLAN与外部的三层设备通信原理:

交换基础之VLAN基础以及相关VLAN扩展技术_第6张图片

  1. PC1访问PC3。PC1比较PC3的IP地址,发现PC1和PC3的IP地址处于不同网段。PC1就发送ARP请求报文,请求网关的MAC地址;
  2. Switch1网关收到ARP请求报文之后,就会查看Super-vlan和Sub-VLAN对应关系,然后将Super-vlan的MAC地址通过ARP回应报文发送给PC1;
  3. PC1收到ARP报文后建立ARP表项,然后将数据帧发送给网关设备(目的MA地址为Super-VLAN的MAC地址,目的IP地址为172.16.1);
  4. Switch网关设备收到从G0/0/0接口数据帧后,会给数据帧打上VLAN 4标签,然后查看路由表,发现下一跳为172.16.1.254,出接口为VLANIF30;最终数据帧会从G0/0/3接口发送给Switch2(VLAN ID为30,源MAC地址为VLANIF30的MAC地址);
  5. Switch2收到后,会将数据帧发送给PC3;
  6. PC3向PC1发送回复报文。最终发送到Switch1设备,该设备收到报文后(VLAN ID为30,源MAC地址为PC3的MAC地址),查看路由表,发现目的IP地址对应Sub-VLAN 10,出接口为G0/0/0,最后将报文封装为VLAN 10,从G0/0/0接口发送给PC1。

MUX VLAN介绍

MUX VLAN是用于解决同VLAN内的成员之间不能相互通信的问题。同一MUX的所有VLANIP网段都相同;

MUX VLAN VLAN类型 通信权限
Principal VLAN(主VLAN) —— Principal VLAN内的主机能够和任何类型的MUX VLAN进行二层通信;
Subordinate VLAN(从VLAN) Separate VLAN(隔离型VLAN) Separate VLAN内的主机之间不能进行二层通信,也不能与其他Separate VLAN和Group VLAN进行二层通信,只能和Principal VLAN二层通信;
Subordinate VLAN(从VLAN) Group VLAN(互通型VLAN) Group VLAN内的主机之间能够进行二层通信,也能和Principal VLAN进行二层通信,但不能与其他Group VLAN和Separate VLAN进行二层通信;

VLAN映射

VLAN映射就是在物理接口上将数据帧中的标签进行替换;

VLAN映射的两种处理方式:

  • 数据帧带有VLAN标签:按照用户配置的VLAN映射,决定替换单层、双层或双层的外层VLAN标签;
  • 数据帧没有VLAN标签:按照用户配置的VLAN映射,决定是否为数据帧添加VLAN标签,对于不能添加VLAN的数据帧直接丢弃,否则添加数据帧

VLAN映射的方式

VLAN映射的实现方法:

VLAN映射的实现方法 映射原理
基于VLAN映射 依据数据帧的VLAN ID进行映射,将数据帧的VLAN ID映射为公网VLAN ID;
基于VLAN映射的可以替换单层、双层或双层的外层VLAN标签;
基于802.1Q优先级映射 基于数据帧的tag标签的优先级(PRI),将不同优先级的VLAN ID映射为不同公网VLAN ID;
基于802.1q优先级映射的可以替换单层的VLAN标签;
基于VLAN+802.1Q优先级映射 依据数据帧中的VLAN ID和tag标签的优先级(PRI),将其VLAN ID替换为不同的VLAN;
基于VLAN+802.1q映射的可以替换单层的VLAN标签;
基于流策略映射 通过配置流策略,对数据帧的VLAN ID进行流分类,不同的流替换为不同的VLAN ID;
基于流策略映射的可以替换单层、双层或双层的外层VLAN标签;

VLAN的映射方法:

VLAN映射方式 说明
1 to 1映射 对带有单层标签数据帧的VLAN ID进行替换;
2 to 1映射 对带有双层标签数据帧的外层VLAN ID进行替换;
2 to 2映射 对带有双层标签数据帧的内外双层BLAN ID替换为相应的VLAN ID

QinQ介绍

QinQ是为了解决VLAN不够用的问题,在802.1Q数据帧中再添加一个802.1q tag标签(相当于有两层tag标签),从而实现数据帧能够在公网VLAN中传输,是一种简单的二层隧道技术。VLAN被划分为私网VLAN和公网VLAN。

QinQ解决了用户VLAN ID的安全性问题和由用户自己规划私网VLAN ID的需求,也解决了ISP的VLAN不够用问题;

QinQ封装形式分为两种形式:

  • 基本QinQ的封装:将进入一个端口的所有流量全部封装为一个相同的VLAN标签;
  • 灵活QinQ的封装:基于端口封装与基于VLAN封装方式结合。形式有基于VLAN ID、基于8021q的优先级、基于流策略;

注:QinQ外层标签的剥离,是需要使用hybrid untagged接口和路由子接口(dot1Q);

QinQ映射

QinQ映射是作用在路由子接口上,VLAN映射是作用于物理接口上;QinQ映射的子接口在向外发送本地VLAN的数据帧时,将数据帧中的VLAN替换为外部VLAN;在接收到外部VLAN的数据帧后,会将数据帧中的VLAN替换内部VLAN;

QinQ的映射方式:

  • 1 to 1映射:子接口发送一个数据帧时,将数据帧的最外层tag标签的VLAN ID替换为用户指定的VLAN ID,接收时将其替换回来;
  • 1 to 2映射:子接口发送一个带有两层标签的数据帧时,将数据帧的两层标签都替换为用户指定VLAN ID;

注:QinQ映射相当于VLAN映射的简略版。QinQ映射主要应用于QinQ场景,VLAN映射主要应用于非QinQ场景

你可能感兴趣的:(网络基础知识)