MPLS隧道——单域基础理论讲解
目录
基本概念
MPLS隧道基本概念
涉及的相关概念
MPLS 隧道模型
私网互通所遇到的问题及解决方法
PE本地私网路由冲突问题
BGP对引入的路由无法区分的问题
PE无法区分将Vpnv4路由引入到哪个VPN实例的问题
如何解决私网路由互访问题
路由交换与数据交换过程
路由发布过程——路由交换主要通过RD、RT、MP-BGP实现
数据转发过程——数据转发通过私网标签和公网标签实现
MPLS隧道迭代
什么情况下需要隧道迭代
解决方法
基本概念
MPLS隧道基本概念
关于隧道的相关概念
防火墙——隧道技术_静下心来敲木鱼的博客-CSDN博客_隧道技术https://blog.csdn.net/m0_49864110/article/details/124528965?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166623209116782425171208%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=166623209116782425171208&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-15-124528965-null-null.nonecase&utm_term=%E9%9A%A7%E9%81%93&spm=1018.2226.3001.4450
为什么出现MPLS VPN
由于目前硬件性能的提升,单纯的MPLS技术已经失去了价值
Mpls目前更多的是利用其隧道能力,支持MPLS VPN、VPLS、MPLS -TE等业务
什么是MPLS VPN
MPLS VPN是一种基于MPLS的隧道技术,其可以分为二层MPLS VPN和三层MPLS VPN
我们接下来主要讲解三层MPLS VPN
涉及的相关概念
Site(站点)
是指相互之间具备IP连通性的一组IP网络,并且这组IP网络的连通性不需要运营商网络实现
一般一个企业内网就是一个Site,是根据设备的拓扑关系划分的,而不是地理位置。
Site通过CE连接到运营商网络,一个Site可以包含多个CE,但是一个CE只能属于一个Site
MP-BGP
什么是MP-BGP
传统的BGP-4只能管理IPv4单播路由信息,对于使用其它网络层协议(IPv6、组播等的应用)的应用,在传播时收到了一定的限制
MP-BGP(BGP多协议扩展)就是为了支持对多种网络层的支持,对BGP-4进行的扩展
如何支持多种网络层协议
MP-BGP引入了两个新的可选非过渡路径属性
MP_Reach_NLRI:多协议可达NLRI,发布可达路由以及下一跳信息
MP_Unreach_NLRI:多协议不可达NLRI,用于撤销不可达路由
如何区分不同的协议
MP-BGP采用地址族(Address Family来区分不同的网络层协议)
目前支持:IPv4单播/组播、IPv4/IPv6 VPN实例、Vpnv4、IPv6单播地址族
VPN实例(VPN-instrance)
VPN实例的作用
主要用来进行路由隔离
一台设备上可能运行着多个VPN,不同VPN之间的路由就可以通过VPN实例隔离
VPN实例包含的信息
IP路由表、标签转发表、与VPN实例绑定的接口、RD(路由标识符)等
VPN、Site、VPN实例之间的关系
- 一个Site可以属于多个VPN,VPN是由多个Sitte组成的
- 每一个Site在PE上都会关联一个VPN实例
- VPN与VPN实例不是一一对应关系,而VPN实例与Site之间存在一一对应关系
MPLS 隧道模型
主要由三部分组成:CE、PE、P
P :运营商网络的骨干设备,不予CE直接相连
PE:运营商边缘设备,与CE直接相连,负责企业私网路由的接入
CE:用户边缘设备,有接口直接与运营商网络相连(可以是路由器、交换机、主机)
注意
CE感知不到VPN隧道的存在,也不需要支持MPLS
PE和P设备由服务提供商管理,CE由用户自己管理
私网互通所遇到的问题及解决方法
PE本地私网路由冲突问题
当有多个企业私网接入到PE设备,而多个企业私网之间存在路由冲突,导致PE无法正确处理,PE如何解决本地私网路由冲突问题?
每个Site独享一个PE 通过不同的PE解决PE上私网路由冲突问题
多个Site共享一个PE 在PE上创建虚拟的路由表和CE进行私网路由的学习
每张虚拟的路由表运行独立的路由协议和独立的地址空间
每张虚拟的路由表对应一个Site
虚拟的路由表之间相互隔离,避免路由冲突
虚拟的路由表绑定一组接口,运行独立的路由协议,称为VPN-instance
所以,PE要维护公网路由信息,也要维护不同VPN-instance路由信息
BGP对引入的路由无法区分的问题
将VPN实例中的路由引入到BGP协议时,BGP如何解决路由无法区分的问题?
当将VPN实例中的路由引入到BGP协议时,为这些路由添加RD值,并和IPv4前缀组合起来,形成vpnv4形式的路由
RD——路由区分符
每个Vpn-instance只能配置一个RD,在同一台PE上不同的Vpn-instance配置不同的RD(RD的长度为8字节)
RD如何规划
方法一:所有的VPN实例配置全网唯一RD
方法二:同一个VPN的不同VPN实例配置相同的RD,不同VPN的不同VPN实例配置不同的RD
RD的作用
区分不同VPN实例中相同的私网路由
PE收到Vpnv4路由,根据RD可以判断vpnv4路由是否来自同一个vpn实例
Vpnv4路由——添加了RD参数的ipv4路由
192.168.0.1/24 IPv4地址族格式
RD 192.168.0.1/24 vpnv4地址族格式
Vpnv4路由通过MP-BGP协议传播,所以PE之间要建立MP-BGP邻居关系,才可以互相交换Vpnv4路由
PE无法区分将Vpnv4路由引入到哪个VPN实例的问题
当PE收到邻居传来的vpnv4路由后,如何确定将此路由引入到哪个VPN实例中?
通过RT解决vpnv4路由交换的问题,事先给Vpn实例配置RT值
RT分为两种——export rt 和 import rt
Export RT属性:表示我发出的路由属性,vpnv4路由发送时会添加该属性
Import RT属性:表示我对哪些vpnv4路由该兴趣,会将该兴趣的vpnv4路由引入到此Vpn实例
注意
每个VPN都可以配置多个Export RT和Import RT
当收到远端发送的ex rt属性,与自己本端im rt属性对比,只要有一个相同,就可以引入到该VPN实例中
例子
如何解决私网路由互访问题
私网路由传递的问题解决了,私网报文如果直接发送到公网,肯定不通,如何解决?
通过LSP来解决(即隧道技术)
LSP本质上也是一种隧道技术,当私网路由传输时,LSP会为其封装公网标签
当PE从网络侧收到一个私网报文后,该决定用哪张路由表进行转发呢?
PE上的MP-BGP协议会为本地所有的vpnv4路由分配一个本地唯一的私网标签,并和vpnv4路由一起传递出去
当远端PE收到后,根据私网标签就知道使用哪张路由表转发
私网标签与公网标签
私网标签:PE根据私网标签判断报文应用于本地哪个VPN实例路由表转发,MP-BGP分配
公网标签:将私网报文迭代到该私网路由的下一跳LSP的隧道中时,进行公网转发,LDP分配
即:在进行数据传输时,MP-BGP会为报文封装一层私网标签,LDP还会为报文封装一层公网标签
路由交换与数据交换过程
路由发布过程——路由交换主要通过RD、RT、MP-BGP实现
在MPLS VPN中路由交换可以分为以下几个阶段
CE到PE之间的路由交换
通过IGP、BGP、静态等路由协议交换路由信息(PE要将接口与相关路由协议绑定VPN实例)
PE将VPN实例中的路由注入MP-BGP,将ipv4路由转为vpnv4路由
在BGP的VPN实例视图下,引入IPv4私网路由,将其转为VPNV4路由(在IPv4前缀添加RD形成vpnv4路由)
然后在vpnv4路由通告中携带ex rt值,并为其分配一个私网标签
Vpnv4路由在骨干网中传播
在PE之间建立MP-BGP邻居关系,传输Vpnv4路由
PE将传递的Vpnv4路由加入到自身vpnv4路由表中
PE收到邻居的vpnv4路由后,根据vpnv4路由的ex rt值与本地vpn实例的im rt值,将VpnV4路由加入到本端Vpnv4路由表中,并将Vpnv4携带的私网标签存放在LSP表项中,用于数据转发。
PE将vpnv4转为ipv4路由
PE将Vpnv4路由加入到本地Vpnv4路由表中后,剥离其RD值,将路由加入到对应实例的IPv4路由表中
PE将IPv4下发给CE
PE在PE与CE连接的路由协议实例中引入BGP路由
当PE与CE通过OSPF连接时,在OSPF [进程号] [实例]下import-route BGP
数据转发过程——数据转发通过私网标签和公网标签实现
数据从CE到入站PE
直接通过CE的路由表转发给PE
数据从入站PE到出站PE
PE根据CE发来数据包的入接口,查找相应的VPN实例转发表,找到对应的下一跳和私网标签,将数据报文封装私网标签
再通过公网的标签转发表,查找去往公网中下一跳地址的标签,该标签作为公网地址封装进数据包
封装完两层标签后,数据包被转发进MPLS网路,通过外层公网标签(LSP)转发到达出站PE
数据从出站PE到远端CE
当数据包由MPLS骨干网转发到达出站PE时,只剩下一层私网标签(公网标签在倒数第二跳弹出)
出站PE利用该私网标签判断对应的VPN实例,通过相应VPN实例表项进行转发(转发时移除私网标签)
相关表项
VPN实例表
VPNV4表
MPLS隧道迭代
什么情况下需要隧道迭代
解决方法
两种解决方法
将IBGP邻居更改为Vpnv4的IBGP邻居(为目标网段产生私网标签,然后此带标签的BGP路由直接进入标签隧道进行转发)
开启隧道迭代(使得非标签的BGP路由进入标签隧道进行转发,默认不会转发)
具体工作原理
当去往目标网段无标签时,拿着去往目标网段的下一跳的标签进行封装访问
到达下一跳后弹出标签就可以看到目标网段,这就是隧道迭代
(LDP为下一跳产生LSP,不会为目标网段产生LSP,只是将目标网段的报文封装在标签中)
注意事项
LDP会为1.1.1.1产生LSP,但是默认情况不会将非标签的BGP路由封装进标签隧道
开启隧道迭代后,才会将10.0.0.1的非标签路由封装进关于1.1.1.1的标签隧道
华为MPLS单域实验配置_静下心来敲木鱼的博客-CSDN博客https://blog.csdn.net/m0_49864110/article/details/128698457?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22128698457%22%2C%22source%22%3A%22m0_49864110%22%7D 锐捷MPLS隧道单域实验配置_address-family ipv4 unicast_静下心来敲木鱼的博客-CSDN博客https://blog.csdn.net/m0_49864110/article/details/127994864?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167379205816800211545341%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=167379205816800211545341&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-8-127994864-null-null.blog_rank_default&utm_term=mpls&spm=1018.2226.3001.4450
MPLS隧道——单域基础理论讲解相关推荐
- MPLS隧道——跨域解决方案A、B讲解
目录 OptionA 基本概念 路由传递过程 数据转发过程 OptionB 基本概念 路由传递过程 数据转发过程 OptionA和B的优缺点 OptionA OptionB 跨域VPN指的是将AS内的 ...
- MPLS隧道——跨域解决方案C1、C2讲解
目录 基本概念 OptionC1 PE1和PE2如何建立邻居关系 第一步 先获取到对端的IP地址 第二步 为路由手工分配标签(此时邻居关系已经建立,CE之间也已经获取搭配对端的路由,但是CE之间无法通 ...
- MPLS *** 高级教程(张洋讲解演示版)
MPLS *** 高级教程(张洋讲解演示版) 课程目标: ü LDP的实施和特性 ü PE-CE路由协议以的实施,以及它们在MPLS ***中的特性: ü 如 ...
- 华为数通笔记-MPLS BGP跨域
简介 一般MPLS VPN体系结构都是在一个自治系统内运行,任何VPN信息只是在一个AS内按需扩散.因此为了支持不同运营商之间的VPN路由交换,就需要扩展现有的协议和修改体系框架,提供一个不同与基本的 ...
- RHEL5.1单域主/从NIS服务器配置及测试
企业需求 公司准备在DMZ区域中放置多台服务器,服务器包括samba服务器.邮件服务器.WEB服务器.代理服务器,他们的IP分别是192.168.8.1.192.168.8.2.192.168.8.3 ...
- 零基础前端笔记(2)html,表格,列表,标签,文本域,表单域
XHTML可扩展超文本标记语言(2) (1)创建表格 (2)表格属性 表头单元格标签th 表格标题caption 小说排行榜 (3)合并单元格 (4)划分表格结构 (5)列表标签 无序列表 有序列表 ...
- Symfony2CookBook:如何创建自定义的表单域类型
原文出处:http://symfony.com/doc/2.1/cookbook/form/create_custom_field_type.html 原文作者:symfony.com 授权许可:创作 ...
- java 填充pdf_Java如何创建和填充PDF表单域(代码示例)
本篇文章给大家带来的内容是关于Java如何创建和填充PDF表单域(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 表单域,可以按用途分为多种不同的类型,常见的有文本框.多行 ...
- html js文件域val,js实现文件上传表单域美化特效
一款效果非常时尚的文件上传表单域美化特效,下面给出制作的简要教程. 先上几个效果饱饱眼福: 使用方法 这些文件上传域的美化使用的方法都是隐藏原生的元素,然后使用一个元素来制作美化效果. @H_502_ ...
最新文章
- 1.3 使用jmeter进行http接口测试
- Application summary please elaborate on how you plan to use our API
- Python爬虫实战之(五)| 模拟登录wechat 1
- python中isalpha的用法_python函数--isalpha()方法
- maven的profile详解
- 数组的属性、foreach遍历、交错数组与矩形数组的区别
- 硅谷NewGen:AI棋至拐点,推动下一代技术变革
- jQuery 图片轮播插件–GalleryView
- linux 手机遥控器,哪一个最适用?五款常用手机万能遥控器对比体验
- 反向题在测试问卷信效度_防御方式问卷 (DSQ)信度和效度研究
- 计算机桌面图标被挡怎么办,电脑桌面图标偏左,被挡住了大半,就连网页窗口也...
- 电商运营风向标:数据分析。
- Linux环境下MySql卸载
- 从头开始学51单片机之4:C51程序设计基础
- UltraISO制作U盘启动盘安装Win10系统
- 二、基础SpringBoot2.0.0M4项目目录讲解
- Windows Server 2012 R2配置IIS搭载PHP发生HTTP500解决办法
- springboot+vue3物资管理系统实战
- 微信小程序自定义导航栏与自带下拉刷新冲突
- 拂面微风之项目一:皖新传媒(新华书店)项目