MPLS隧道——单域基础理论讲解

目录

基本概念

MPLS隧道基本概念

涉及的相关概念

MPLS 隧道模型

私网互通所遇到的问题及解决方法

PE本地私网路由冲突问题

BGP对引入的路由无法区分的问题

PE无法区分将Vpnv4路由引入到哪个VPN实例的问题

如何解决私网路由互访问题

路由交换与数据交换过程

路由发布过程——路由交换主要通过RD、RT、MP-BGP实现

数据转发过程——数据转发通过私网标签和公网标签实现


基本概念

MPLS隧道基本概念

关于隧道的相关概念

防火墙——隧道技术_静下心来敲木鱼的博客-CSDN博客_隧道技术icon-default.png?t=N7T8https://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单播地址族

关于MPLS VPN,就通过MP-BGP来传递PE两端的路由信息(并且地址簇为Vpnv4地址簇)

VPN实例(VPN-instrance  也称VRF)

VPN实例的作用

主要用来进行路由隔离

一台设备上可能运行着多个VPN,不同VPN之间的路由就可以通过VPN实例隔离

VPN实例包含的信息

IP路由表、标签转发表、与VPN实例绑定的接口、RD(路由标识符)等

VPN、Site、VPN实例之间的关系

  1. 一个Site可以属于多个VPN,VPN是由多个Sitte组成的
  2. 每一个Site在PE上都会关联一个VPN实例
  3. 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值携带在BGP报文的MP_REACH_NLRI(多协议可达NLRI)中

RD——路由区分符(解决IP地址重叠问题)

每个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地址族格式

  • PE从CE接收到IPv4地址后,转换为全局唯一的Vpnv4地址
  • Vpnv4路由通过MP-BGP协议传播,所以PE之间要建立MP-BGP邻居关系,才可以互相交换Vpnv4路由
  • MP-BGP为了传递Vpnv4路由引入了两个可选非过渡属性(MP_REACH_NLRL 多协议可达NLRL、MP_UNREACH_NLRL  多协议不可达NLRL)
  •  MP_REACH_NLRI用于发布可达的路由信息以及下一跳信息,包含一个或多个三元组信息

PE无法区分将Vpnv4路由引入到哪个VPN实例的问题

当PE收到邻居传来的vpnv4路由后,如何确定将此路由引入到哪个VPN实例中?

通过RT解决vpnv4路由交换的问题,事先给Vpn实例配置RT值

RT属于BGP的扩展团体属性,携带在BGP报文的Extended_Communities中

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单域实验配置_静下心来敲木鱼的博客-CSDN博客icon-default.png?t=N7T8https://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博客icon-default.png?t=N7T8https://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

  • 6
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

静下心来敲木鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值