0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

MPLS技术的基础知识

jf_uPRfTJDa 来源:5G通信 2023-02-06 16:52 次阅读

MPLS(多协议标签交换) 顾名思义,它不考虑协议(多协议),使用标签(标签交换)在网络中移动数据包。多年来,MPLS 一直是网络运营商确保实时应用程序可靠连接的首选技术。

MPLS 通过将标签应用于数据包的报头来封装传入的数据包。MPLS 域中的每个路由器都会查看 MPLS 标签以了解如何处理每个数据包,但其不查看或关心数据包中的内容,它只关心标签。当数据包离开 MPLS 域时,标签将被移除,由标准 IP 路由接管。

可以看出,MPLS技术的核心就是标签交换。本文我们将从标签入手,逐步了解什么是MPLS。

b8804082-9665-11ed-bfe3-dac502259ad0.png

MPLS 为什么要使用标签?

MPLS 为什么要添加标签?什么是标签?参考MPLS-LDP标签分发控制模式、通告模式及保留模式。

我们先看看VLAN 标签是什么样,大概就知道什么是 MPLS 标签了。标签本身基本上只是数字,如下图所示,第 4 行写着“Label:299776”。

b891d4f0-9665-11ed-bfe3-dac502259ad0.png

在此数据包捕获中,标签被插入到“第 2 层”以太网报头和“第 3 层”IP 报头之间。这就是为什么有人说 MPLS 工作在“第2层半”。

这些数字,也就是这些标签,只对接收数据包的路由器有意义。本质上,标签就像一条指令,这条指令通常做两件事:

它告诉接收路由器如何转发数据包

或者,它告诉接收路由器该数据包是特定 VPN 的一部分

当一个标签用于在特定方向转发数据包时,我们称之为传输标签。当一个标签用于告诉路由器该数据包属于一个特定的 VPN 时,它被称为服务标签,有时也称为VPN 标签。MPLS VPN 让许多客户都可以使用相同的私有 IP 范围,因为接收路由器不会查看目标 IP 地址。相反,VPN 标签会告诉路由器数据包属于哪个客户。

b8a73796-9665-11ed-bfe3-dac502259ad0.png

路由器如何学习这些标签?

IP 是一种寻址方案,需要其他协议在各处实际通告 IP。我们可以以类似的方式考虑 MPLS:MPLS 是一种标签方案,需要其他协议在各处实际通告这些标签。

先说说如何通告MPLS传输标签。有四种常见的方法,这四种协议以完全不同的方式工作,并且有不同的用例。

LDP(Label Distribution Protocol)代表标签分发协议。这是一个非常基本的协议,并且易于配置。流量将始终遵循 OSPF/IS-IS 指定的最佳路径。在 MPLS 网络中,两个标签交换路由器(LSR)必须用在它们之间或通过它们转发流量的标签上达成一致。

RSVP是资源预留协议。RSVP 相比LDP 需要手动配置,但优势在于它提供了大量的流量工程功能,能够按照路由协议的要求以不同的方式移动流量,例如绕过带宽问题进行路由,或明确避免网络中的某些链路。

分段路由是一种在 OSPF 或 IS-IS 内部发布标签的方法,这意味着不需要运行额外的协议来通告标签。它可以实时告诉路由器使用哪个标签到达哪个目的地。通过将决策置于中央控制器中,可以获得真正的网络全局视图,甚至在 OSPF 区域或 IS-IS 级别,以及不同的自治系统之间。

BGP-Labelled Unicast是一个特殊的 BGP 地址族,往往只用于一些非常特地的、更高级的场景。

MPLS VPN 标签几乎都是在 BGP 中通告的。毕竟,如果不能在两个路由器之间传输数据包,就不能在它们之间运行 VPN。

b8b3a954-9665-11ed-bfe3-dac502259ad0.png

路由器如何处理这些标签?

两个路由器之间的对话可能是这样的,路由器 B 对路由器 A 说“如果你想让我将数据包转发给路由器Z,包裹寄给我的时候贴上标签123456”。然后路由器 B 会对自己编程,如果数据包带有标签 123456,则该数据包会始终从特定接口发送出去。

路由器 B 并不知道这个传出接口是不是通往路由器 Z 的“最佳”路径。当路由器 B 将此数据包发送到路由器 C 时,路由器 C 也将根据标签知道如何处理该数据包,路由器 D 和路由器 E 等也会如此,一直到终点目的地。只要从一端到另一端有一个标签交换路径,沿途的路由器就能够成功地将数据包从 A 传输到 Z 。

路由器 B 甚至可能在发送标签时将标签更改为其他内容。在 LDP 和 RSVP 中,标签通常只对路由器本身有意义,沿途的每个路由器都可以自己决定它希望前一跳使用什么标签。当标签沿途发生变化时,我们称之为“交换”标签。例如,路由器 A 将标签为 123456 的数据包发送到路由器 B ,路由器 B 在将其发送到路由器 C 之前可以将其“交换”为标签 345678。

(相比之下,Segment Routing 中的某些标签是全局的,因此它不是MPLS 的通用规则。参考MPLS Segment Routing)

上面的例子要理解的关键是,当路由器 B 收到数据包并将其转发到路由器 C 时,路由器 B 根本没有查看目标 IP。相反,是传输标签告诉路由器 B 如何处理数据包。

因为没有查看底层目标地址,所以协议可以是 IP、IPv6 或任何其他协议,所以说是多协议标签交换。

b8c533e0-9665-11ed-bfe3-dac502259ad0.png

向数据包添加标签有何意义?

到目前为止所说的一切听起来都非常像常规 IP 路由。如果没有 MPLS,路由器也会查看目标 IP 地址,然后将数据包发送到下一跳。那么MPLS 有什么意义呢?

如果将网络设置为每个路由器都知道整个网络中的每个 IP 地址,那么路由器 B 肯定可以从路由器 A 接收数据包,查看目标地址,检查自己的路由表,找到“最佳”路线,然后发送数据包。

但这里有一个问题:如果不想让一切都发送到所谓的“最佳”路径,会发生什么?

例如,如果所有内容都沿着一条“最佳”路径发送,则该链接可能会开始被大量使用,甚至可能达到极限。很可能会有其他根本没有被使用的潜在路径,最好将一些选择性流量发送到次优路径,以充分利用网络。

当存在另一条不太好且带宽可用的路径时,该如何解决链路饱和的问题?

如果从路由协议的角度来看,有两条或多条到达目的地的路径同样“好”,那么可以利用ECMP 或等价多路径,对流量进行负载平衡,并充分利用链接。

SD-WAN可以根据目的 IP 地址以外的质量,有选择地将流量路由到不同的链路,也许是基于应用程序本身,也可能是源 IP 地址。这对分支机构来说非常好,但对于每秒有很多千兆流量的服务提供商规模的网络,以及数以万计的用户前往数百万目的地的网络来说,很难真正的扩展。

我们需要的是某种可扩展的、功能丰富的协议,它允许以选择的任何方式发送流量,而不总是遵循“最佳”路径。

几十年前,这个问题正是服务提供商和大型企业面临的问题之一,而MPLS 就是解决答案。

标签交换路径

基于标签转发数据包的系统的优点在于,中转路由器不需要知道,甚至不需要关心数据包上的 IPv4 或 IPv6 地址。它们只关心数据包进入了带有标签 X 的接口,因此应该从带有标签 Y 的不同接口发送出去,以便路径上的下一个路由器知道如何处理它。

我们称这个端到端标记路径为LSP,或标签交换路径,参考SR-MPLS:多协议标签交换的段路由。

从路由器 1 开始检查 LSP ,一直到路由器 10。为了方便起见,我们假设它是通过RSVP创建的。给 RSVP LSP 一个名字和一个目的地,结果如下所示:

b8d829b4-9665-11ed-bfe3-dac502259ad0.png

LSP 是单向的,如果要使流量在真实网络中正常工作,需要在相反的方向上建立第二个 LSP。但为了简单演示,我们只关注一个 LSP 。

如上图所示:

路由器 1 和路由器 10 是PE 路由器,或Provider Edge。

路由器 2、3、4 和 5 都是中转路由器,简称为P(Provider)路由器。

路由器 1 称为首端或入口路由器,将 LSP 想象成流量进入的隧道。

同样,路由器 10 称为尾端或出口路由器。

假设R1 和 R10 正在进行BGP,R10 对 R1 说:“如果你想到达 69.69.69.0/24,请将流量发送给我。”之后,R10 会将通告其环回为该前缀的下一跳。LSP 进入R10 的环回。

路由器 2、3、4 和 5 不需要运行 BGP,它们只查看数据包上的标签,不查看 IP 地址。然后计算出需要从哪个接口传出,相应地交换标签。

b93a998c-9665-11ed-bfe3-dac502259ad0.png

MPLS VPN

假设客户需要为其各个办公室购买 100 个 WAN 链接,但要求将其放在自己的专用网络中,不要放在公共互联网上。服务提供商该如何实现这一点?

可以通过在 WAN 链接的末端添加一些额外的配置。

服务提供商会在一个路由器内部创建多个“虚拟”路由表,这些路由表相互独立,互不通信。客户有自己专门的路由表,称为 VRF,代表Virtual Routing and Forward。

除了客户和服务提供商之外,没有人可以“看到”流量。客户之间无法相互通信,因为他们在完全独立的路由表中。

核心路由器不运行 BGP,它们不知道涉及的 IP,甚至不查看 IP 标头。它们只看标签,然后进行相应地转发。MPLS VPN 的工作方式完全相同。VPN 只需要被边缘路由器知道即可。可以沿着标签交换路径发送 VPN 流量,这意味着核心设备甚至不需要知道 VPN 的存在,它们只需要知道将流量发送到哪个远程 PE。

但这里有一个问题:在刚才看到的拓扑中,如果 R1 发送一个数据包到私有 IP 地址 10.0.6.9,在数百个 VPN 客户中,R10 如何知道这个前缀属于哪一个?

这就是标签堆栈思想由来。我们可以在数据包内添加第二个标签,告诉 R10 该数据包属于哪个 VPN。数据包捕获如下:

以太网报头

外层传输标签<--逐跳更改

内部 VPN 标签 <–仅对 R10 有意义

IP报头

TCP/UDP 等报头

有效载荷

沿途的每一跳只查看外部标签,然后当数据包到达 R10 时,该 PE 可以查看内部 VPN 标签并确定它的真正目的地。

这个 MPLS 标签保留在服务提供商核心中,从 PE 到现场客户路由器的实际 WAN 链路将是纯 IP。只有在穿过服务提供商网络时才需要标签:从服务提供商到客户的流量没有标签。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 路由器
    +关注

    关注

    22

    文章

    3729

    浏览量

    113747
  • MPLS
    +关注

    关注

    0

    文章

    131

    浏览量

    24142
  • 移动数据
    +关注

    关注

    0

    文章

    42

    浏览量

    10560

原文标题:到底什么是MPLS技术?

文章出处:【微信号:5G通信,微信公众号:5G通信】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    品质管理基础知识

    品质管理基础知识
    的头像 发表于 11-01 11:08 351次阅读
    品质管理<b class='flag-5'>基础知识</b>

    TWL6030气体监测基础知识

    电子发烧友网站提供《TWL6030气体监测基础知识.pdf》资料免费下载
    发表于 10-29 10:02 0次下载
    TWL6030气体监测<b class='flag-5'>基础知识</b>

    Verilog HDL的基础知识

    本文继续介绍Verilog HDL基础知识,重点介绍赋值语句、阻塞与非阻塞、循环语句、同步与异步、函数与任务语法知识
    的头像 发表于 10-24 15:00 366次阅读
    Verilog HDL的<b class='flag-5'>基础知识</b>

    负载开关基础知识

    电子发烧友网站提供《负载开关基础知识.pdf》资料免费下载
    发表于 10-08 09:56 1次下载
    负载开关<b class='flag-5'>基础知识</b>

    全新的半导体基础知识

    《全新的半导体基础知识》首先对流行于电子书刊上数十年之久的经典半导体基础知识中存在的谬误进行了全方位的讨论,然后以半导体内部结构为抓手,以G型半导体(客供电子型半导体)、H型半导体(主供电子型半导体
    的头像 发表于 09-20 11:30 1223次阅读
    全新的半导体<b class='flag-5'>基础知识</b>

    超声波传感基础知识

    电子发烧友网站提供《超声波传感基础知识.pdf》资料免费下载
    发表于 09-04 10:21 0次下载
    超声波传感<b class='flag-5'>基础知识</b>

    C++语言基础知识

    电子发烧友网站提供《C++语言基础知识.pdf》资料免费下载
    发表于 07-19 10:58 7次下载

    哪有FPGA的verilog编程基础知识

    没接触过FPGA开发,那个verilog编程有什么入门基础知识学习的?
    发表于 04-29 23:09

    mpls组网价格费用

    在当今数字化时代,无论是大型企业还是中小型企业,稳定高效的网络都是顺利开展业务 的关键。而MPLS(多协议标签交换)技术作为一种广泛应用于企业网络的解决方案,备受 关注。但是,对于很多企业来说
    的头像 发表于 03-29 15:57 341次阅读

    电子元件基础知识介绍

    电子发烧友网站提供《电子元件基础知识介绍.pptx》资料免费下载
    发表于 03-15 16:48 84次下载

    光纤通信技术基础知识

    电子发烧友网站提供《光纤通信技术基础知识.ppt》资料免费下载
    发表于 03-06 15:53 0次下载

    FPGA基础知识介绍

    电子发烧友网站提供《FPGA基础知识介绍.pdf》资料免费下载
    发表于 02-23 09:45 30次下载

    鸿蒙开发【设备开发基础知识

    鸿蒙开发基础知识讲解
    的头像 发表于 01-29 18:44 1016次阅读
    鸿蒙开发【设备开发<b class='flag-5'>基础知识</b>】

    射频与微波基础知识

    射频与微波基础知识
    的头像 发表于 01-16 10:05 842次阅读
    射频与微波<b class='flag-5'>基础知识</b>

    Access数据库基础知识介绍

    电子发烧友网站提供《Access数据库基础知识介绍.pdf》资料免费下载
    发表于 01-02 10:24 3次下载