网工交换基础——VLAN Maping

news2024/10/6 8:30:47

一、定义

        VLAN Maping通过修改报文携带的VLAN Tag来实现不同VLAN的相互映射。

二、应用场景

        1、场景一:两个VLAN相同的二层用户网络通过骨干网络互联,为了实现用户之间的二层互通,以及二层协议(例如MSTP等)的统一部署,需要实现两个用户网络的无缝连接,此时就需要骨干网可以传输来自用户网络的带有VLAN Tag的二层报文。而在通常情况下,骨干网的VLAN规划和用户网络的VLAN规划是不一致的,所以在骨干网中无法直接传输用户网络的带有VLAN Tag的二层报文。

        解决这个问题的方法有两个,其中一个是通过QinQ或者VPLS等二层隧道技术,将用户带有VLAN Tag的二层报文封装在骨干网报文中进行传输,可以实现用户带有VLAN Tag的二层报文的透传。但是这种方法一方面需要增加额外的报文开销(增加一层封装),另外一方面,二层隧道技术可能会对某些二层协议报文的透传支持不是非常完善。另外一种方法就是通过VLAN Mapping技术,一侧用户网络的带有VLAN Tag的二层报文进入骨干网后,骨干网边缘设备将用户网络的VLAN(C-VLAN)修改为骨干网中可以识别和承载的VLAN(S-VLAN),传输到另一侧之后,边缘设备再将S-VLAN修改为C-VLAN。这样就可以很好的实现两个用户网络二层无缝连接。

       2、场景二:如果由于规划的差异,导致两个直接相连的二层网络中部署的VLAN ID不一致。但是用户又希望可以把两个网络作为单个二层网络进行统一管理,例如用户二层互通和二层协议的统一部署。此时也可以在连接两个网络的交换机上部署VLAN Mapping功能,实现两个网络之间不同VLAN ID的映射,达到二层互通和统一管理的目的。

三、基本原理

交换机收到数据报文后,根据是否带有Tag做以下两种处理:

  • 数据报文带Tag,根据配置的VLAN Mapping方式,决定替换单层、双层或双层中的外层Tag;然后进入MAC地址学习阶段,根据源MAC地址+映射后的VLAN ID刷新MAC地址表项;根据目的MAC+映射后VLAN ID查找MAC地址表项,如果没有找到,则在VLAN ID对应的VLAN内广播,否则从表项对应的接口转发。
  • 数据报文不带Tag,根据配置的VLAN划分方式决定是否添加VLAN Tag,对于不能加入VLAN的数据报文上送CPU或丢弃,否则添加Tag;然后进入MAC地址学习阶段,按照二层转发流程进行转发。此外,要想借助VLAN Mapping实现两个VLAN内设备互相通信,这两个VLAN内设备的IP地址还必须处于同一网段。如果两个VLAN内设备的IP地址不在同一网段,那么设备间的互通需要依赖三层路由实现,这样就失去了VLAN Mapping的意义。

如图所示,当在接口Port1上配置了VLAN2和VLAN3映射后,接口在向外发送VLAN2的帧时,将帧中的VLAN Tag替换成VLAN3的VLAN Tag;在接收VLAN3的帧时,将帧中的VLAN Tag替换成VLAN2的VLAN Tag,然后按照二层转发流程进行数据转发,这样VLAN2和VLAN3就能实现互相通信。 

        此外,要想借助VLAN Mapping实现两个VLAN内设备互相通信,这两个VLAN内设备的IP地址还必须处于同一网段。如果两个VLAN内设备的IP地址不在同一网段,那么设备间的互通需要依赖三层路由实现,这样就失去了VLAN Mapping的意义。

四、映射方式

设备支持基于VLAN和MQC方式实现VLAN Mapping,其中基于VLAN的VLAN Mapping包括以下映射方式:

  • 1 to 1的映射方式

    当部署VLAN Mapping功能设备上的接口收到带有单层VLAN Tag的报文时,将报文中携带的单层VLAN Tag映射为公网的VLAN Tag。包括1:1和N:1两种方式,其中1:1的方式是将指定的一个用户侧VLAN Tag标签映射到一个网络侧VLAN Tag标签,N:1的方式是将指定范围的多个用户侧VLAN Tag标签映射到一个网络侧VLAN Tag标签。

  • 2 to 1的映射方式

    当部署VLAN Mapping功能设备上的接口收到带有双层VLAN Tag的报文时,将报文中携带的外层VLAN Tag映射为公网的VLAN Tag,内层VLAN Tag作为数据透传。也包括1:1和N:1两种方式,其中1:1的方式是指将一个外层VLAN Tag映射到一个公网的VLAN Tag,内层VLAN Tag不变。N:1的方式是指通过多次配置命令将多个外层VLAN Tag映射到一个公网的VLAN Tag,内层VLAN Tag不变。

  • 2 to 2的映射方式

    当部署VLAN Mapping功能设备上的接口收到带有双层VLAN Tag的报文时,将报文中携带的双层VLAN Tag映射为公网的双层VLAN Tag。

        基于MQC实现VLAN Mapping指的是通过MQC可以对分类后的报文实现VLAN Mapping。用户可以根据多种匹配规则对报文进行流分类,然后将流分类与VLAN Mapping的动作相关联,对匹配规则的报文重标记报文的VLAN ID值。基于MQC的VLAN Mapping能够针对业务类型提供差别服务。

五、VLAN Maping的应用场景

1)1 to 1的VLAN Maping:当接口收到带有单层VLAN Tag的帧后,将报文中携带的单层VLAN Tag映射为指定的单层VLAN Tag。如下图所示:

        如图所示的组网环境中,每个家庭用户的不同业务(HSI、IPTV、VoIP)分别采用不同的VLAN进行传输。但是相同业务规划了相同的CVLAN,为了区分不同的家庭用户,需要在楼道交换机处将不同家庭用户的相同业务采用不同的VLAN进行发送,即进行1 to 1的VLAN Mapping。这样,就需要提供大量的VLAN来隔离不同用户的不同业务,而汇聚层网络接入设备可以提供的VLAN数量有限,所以需要在园区交换机上完成VLAN的汇聚功能,将由多个VLAN发送的不同用户的相同业务采用同一个VLAN进行发送(N to 1的VLAN Mapping)。

2)2 to 1的VLAN Maping:当接口收到带有双层VLAN Tag的帧后,将报文中的外层Tag映射为指定的Tag,内层Tag作为数据透传。如下图所示:

        如图所示,用户通过家庭网关、楼道交换机和小区交换机接入汇聚层网络。为了区分不同的用户和业务,以便进行网络管理和计费等,可以在楼道交换机上部署QinQ功能;同时为了节约VLAN资源,将不同用户的相同业务采用同一个VLAN进行发送,可在小区交换机上分别部署VLAN Mapping功能实现。

3)2 to 2的VLAN Maping:

        如图所示的组网环境中,处于不同地理位置的用户,为了可以规划自己的私网VLAN ID,避免和ISP网络中的VLAN ID冲突,同时便于区分不同的用户和业务,采用了QinQ方式传输,即用户报文中带有双层VLAN Tag。但是由于用户报文中的VLAN ID与ISP网络分配的VLAN ID不一致,将导致用户报文被丢弃,从而导致用户通信中断。此时可以在PE侧部署2 to 2的VLAN Mapping功能,将用户网络的双层Tag替换成运营商网络的双层Tag。

六、配置举例

1)配置1 to 1的VLAN Maping:

LSW1和LSW4的配置:

vlan batch 10 20
#
interface GigabitEthernet0/0/1
 port link-type trunk
 port trunk allow-pass vlan 10 20
#
interface GigabitEthernet0/0/2
 port link-type access
 port default vlan 10
#
interface GigabitEthernet0/0/3
 port link-type access
 port default vlan 20
#

LSW2和LSW3的配置:

vlan batch 100 200
#

interface GigabitEthernet0/0/1
 qinq vlan-translation enable
 port link-type trunk
 port trunk allow-pass vlan 100 200
 port vlan-mapping vlan 10 map-vlan 100
 port vlan-mapping vlan 20 map-vlan 200
#
interface GigabitEthernet0/0/2
 port link-type trunk
 port trunk allow-pass vlan 100 200
#

注意:LSW2的GE0/0/1口在收到数据帧后,先把VLAN10\20转换为100后,才检查该接口是否允许VLAN100通过。

运营商与客户的VLAN是一比一对应的,否则在运营商出口都会被映射为第一条VLAN ID。

2)2 to 2的VLAN Maping:

        某数据中心的两个分支布局在不同的地理位置,分支1和分支2位于相同的网段。为了可以规划自己的私网VLAN ID,采用了QinQ方式传输,即Switch2发往ISP网络的报文带有两层Tag。但是由于这两层VLAN ID与ISP网络提供的VLAN Tag不一致,分支报文无法通过ISP网络,从而导致分支无法正常通信,现需要实现分支1和分支2互通。

1、用户侧接入交换机CE1和CE6的配置:

CE1:

vlan batch 10
#

interface GE1/0/0
 undo shutdown
 port default vlan 10
#
interface GE1/0/1
 undo shutdown
 port link-type trunk
 port trunk allow-pass vlan 10
#
CE6:

vlan batch 30
#

interface GE1/0/0
 undo shutdown
 port default vlan 30
#
interface GE1/0/1
 undo shutdown
 port link-type trunk
 port trunk allow-pass vlan 30
#
2、用户侧接运营商网络的交换机CE2和CE5的配置:

CE2:

vlan batch 20
#

interface GE1/0/0
 undo shutdown
 port link-type dot1q-tunnel
 port default vlan 20
#
interface GE1/0/1
 undo shutdown
 port link-type trunk
 port trunk allow-pass vlan 20
#
CE5 :

vlan batch 40
#
interface GE1/0/0
 undo shutdown
 port link-type dot1q-tunnel
 port default vlan 40
#
interface GE1/0/1
 undo shutdown
 port link-type trunk
 port trunk allow-pass vlan 40
#
3、运营商接用户的边缘设备CE3和CE4的配置:

CE3:

vlan batch 50
#
interface GE1/0/0
 undo shutdown
 port link-type trunk
 port trunk allow-pass vlan 50
 port vlan-mapping vlan 20 inner-vlan 10 map-vlan 50 map-inner-vlan 60
#
interface GE1/0/1
 undo shutdown
 port link-type trunk
 port trunk allow-pass vlan 50
#
CE4:

vlan batch 50
#
interface GE1/0/0
 undo shutdown
 port link-type trunk
 port trunk allow-pass vlan 50
 port vlan-mapping vlan 40 inner-vlan 30 map-vlan 50 map-inner-vlan 60
#
interface GE1/0/1
 undo shutdown
 port link-type trunk
 port trunk allow-pass vlan 50
#

验证结果:

3)N to 1的VLAN-Maping:

应用背景:为了区分不同的家庭用户,需要在楼道交换机处用不同的VLAN来承载不同用户的相同业务,这样需要用到多个VLAN。因此需要在园区交换机上完成VLAN的汇聚功能(N:1),将由多个VLAN发送的不同用户的相同业务采用同一个VLAN进行发送,节约VLAN资源。

 4)2 to 1的VLAN-Maping:

组网需求背景:用户通过家庭网关、楼道交换机和小区交换机接入汇聚层网络,为了节省运营商网络VLAN资源,及实现不同用户相同业务在传输过程中相互隔离,可以在楼道交换机上部署QinQ功能,在小区交换机上部署VLAN Mapping功能。

(用户的各种业务在用户侧家庭网关用内层VLAN区分,在家庭网关向上接入相对应用户业务VLAN打上外层VLAN;在接入运营商边缘设备将外层VLAN映射为运营商公网传输VLAN,共用一个该VLAN传输数据,到用户侧去掉外层VLAN,用内层VLAN区分业务)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1660709.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何内网穿透,远程访问内网设备

文章目录 0.前言1.准备工作2.内网穿透原理3.配置公网服务器的frp5.配置访问内网主机6.配置win10的远程桌面访问(win11类似)7.参考资料 0.前言 最近想研究一些新东西,公司的机器不敢乱搞,公司测试的服务器安装软件太多&#xff0c…

React - Input框绑定动态State和监听onChange事件,输入时失去焦点

React - Input框绑定动态State和监听onChange事件,输入时失去焦点 一. 案例复现二. 解决方案 一. 案例复现 案例代码如下: import React, { useState } from react; import { Table, Input } from antd; const Column Table.Column; const mockData …

CSP-j 计算机硬件

计算机系统 计算机系统由计算机硬件和软件两部分组成。硬件包括中央处理器、存储器和外部设备等;软件是计算机的运行程序和相应的文档。计算机系统具有接收和存储信息、按程序快速计算和判断并输出处理结果等功能。 主要技术指标 字长:字长是指CPU能够同…

anaconda虚拟环境pytorch安装

1.先创建conda的虚拟环境 conda create -n gputorch python3.102.激活刚刚创建好的虚拟环境 conda activate gputorch3.设置镜像源 这一步是后面安装pytorch相关包所需要的来源 pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple4.查看电脑的显卡…

【C++进阶】C++中的map和set

一、关联式容器 在初阶阶段,我们已经接触过STL 中的部分容器,比如: vector 、 list 、 deque, forward_list 等,这些容器统称为序列式容器,因为其底层为线性序列的数据结构,里面存储的是元素本…

PyQt5的布局管理

文章目录 1.垂直布局和水平布局垂直布局(QVBoxLayout):水平布局(QHBoxLayout): 2. 布局中的addStrech2.1 我们首先看只有一个Strech的情况,比较容易理解2.2 两个Strech2.3 多个Strech 3.栅格布局…

linux下使用jexus部署aspnet站点

1.运行环境 Centos 7 安装dos2unix工具 yum install dos2unix 安装jexus curl https://jexus.org/release/x64/install.sh|sudo sh2.网站部署 2.1. 将windows下的网站发布包Msc_qingdao_admin.zip上传到linux中, 然后解压后放入/var/www(没有则创建)目录下 r…

二叉树的遍历(前序 中序 后序)

一、前序遍历 顺序为: 根-->左子树---->右子树 先访问根节点,再递归进入根节点的左子树(通过递归不断往下遍历),直到访问的节点没有左子树,此时递归进入其右子树(通过递归进行相同操作&a…

简单问题汇总

一、vector和list 1.vector vector是可变大小数组的序列容器,拥有一段连续的内存空间,并且起始地址不变,因此能高效的进行随机存取,时间复杂度为o(1);但因为内存空间是连续的,所以在进行插入和删除操作时…

机器学习算法应用——关联规则分析(4-4)

关联规则分析(4-4) 关联规则分析(Association Rule Mining)是一种基于频繁项集的分析方法,它以最常出现在一起的元素之间的关系作为分析对象,主要用于发掘大数据中隐藏的关联规则,是数据挖掘技术…

【吃透Java手写】4-Tomcat-简易版

【吃透Java手写】Tomcat-简易版-源码解析 1 准备工作1.1 引入依赖1.2 创建一个Tomcat的启动类 2 线程池技术回顾2.1 线程池的使用流程2.2 线程池的参数2.2.1 任务队列(workQueue)2.2.2 线程工厂(threadFactory)2.2.3 拒绝策略&…

求阶乘n!末尾0的个数溢出了怎么办

小林最近遇到一个问题:“对于任意给定的一个正整数n,统计其阶乘n!的末尾中0的个数”,这个问题究竟该如何解决? 先用n5来解决这个问题。n的阶乘即n!5!5*4*3*2*1120,显然应该为2个数相乘等于10才能得到一个结…

记录minio的bug(Object name contains unsupported characters.)

场景是我将后端服务从121.xxx.xxx.xxx服务器上转移到了另一台服务器10.xxx.xxx.xxx 但图片都还在121.xxx.xxx.xxx服务器上,同样我10.xxx.xxx.xxx也安装了minio并且我的后端服务配置的minio地址也是10.xxx.xxx.xxx 此时有一个业务通过minio客户端获取图片&#xf…

自动化中遇到的问题归纳总结

1、动态元素定位不到 解决方法:尽量使用固定元素定位,如没有固定元素,则采用绝对路径进行定位,因为元素路径是唯一且不变的 2、自动化脚本执行速度较慢 尽量使用css方法定位元素,使用等待时,少用sleep方…

websocket最大数量的限制问题

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码: https://gitee.com/nbacheng/ruoyi-nbcio 演示地址:RuoYi-Nbcio后台管理系统 http://218.75.87.38:9666/ 更多nbcio-boot功能请看演示系统 gitee源代码地址 后端代码: h…

C++类和对象项目:斗地主残局(做为程序员怎么能被人机虐)

斗地主残局解析项目 项目工程化 由于这是一个项目,所以我们需要按照标准的项目工程化来进行设计。 分析大体框架 1. 如何读取牌 如何进行文件读取,可以参看我这篇博客:C语言笔记:文件操作 //创建两个数组进行存储自己和对手的牌 int a[MAX_N 5] {…

一文了解spring事务特性

推荐工具 objectlog 对于重要的一些数据,我们需要记录一条记录的所有版本变化过程,做到持续追踪,为后续问题追踪提供思路。objectlog工具是一个记录单个对象属性变化的日志工具,工具采用spring切面和mybatis拦截器相关技术编写了api依赖包&a…

【Java】HOT100+代码随想录 动态规划(上)背包问题

目录 理论基础 一、基础题目 LeetCode509:斐波那契数 LeetCode70:爬楼梯 LeetCode746:使用最小花费爬楼梯 LeetCode62:不同路径 LeetCode63:不同路径ii LeetCode343:整数拆分 LeetCode96:不…

P8802 [蓝桥杯 2022 国 B] 出差

P8802 [蓝桥杯 2022 国 B] 出差 分析 很明显:单源最短路径 没有负权边 dijkstra 1.存图 2.准备两个数组 dis[]:更新源点到各个点的距离 vis[]:标记是否访问 3.从源点开始,更新源点到与其邻接的点的距离,每次选…

探索 Joomla! CMS:打造个性化网站的利器

上周我们的Hostease客户咨询建站服务。他想要用Joomla建站。Hostease提供免费安装Joomla CMS服务。这可以让客户搭建网站变得更加简单和高效。下面是针对Joomla建站的一些使用心得。 Joomla CMS是一款开放自由的软件,为用户提供了创建和维护网站的自由度。它经过全…