超详细MPLS学习指南 手把手带你实现IP与二层网络的无缝融合

      最后更新:2022-06-17 18:07:17 手机定位技术交流文章

      今天的文章有点长,但是都是粗糙的,耐心的看,它不会让你失望哦!

      随着ASIC技术的发展,路由搜索速度不再是网络开发的瓶颈,这意味着MPLS不再具有提高传输速度的明显优势。

      但由于MPLS结合了IP网络的三层路由功能和传统的两层网络高效传输机制,在输送机上采用连接导向的方法,传输方法与现有的两层网络非常相似,这些功能使MPLS能够实现IP和ATM、帧继电器和其他两级网络的无缝集成。它还为诸如交通工程(TE)、虚拟私人网络(VPN)和服务质量(QoS)等应用提供更好的解决方案。

      因此,我们今天将得到MPLS多协议标签交换MPLS的一份认真理解的副本:

      在传统知识产权转让机制中,路由器基于CPU(软传输)和模糊匹配的方式传输数据,传输效率非常低;MPLS的目的是取代传统的IP传输机制;通过在IP包之前添加标签,在路由器上形成一个LFIB表,路由器基于ASIC准确匹配标签的数据传输,从而大大提高了三层的传输效率。

      注: 随着ASIC技术的发展,当前路由器的硬件性能和速度相对较高,MPLS的优点并不显而易见,现在 MPLS的优点主要体现在其广泛应用中,例如MPLS-VPN、MPLS-TE交通工程和服务质量 QoS。

      1

      工作原理

      MPLS是一种旨在提高网络间IP数据包传输速度的技术,需要在一个传输网络(网络内运营商)内部署一次。

      对于使用MPLS部署的网络,流量在网络入口的路由器上分类,然后为不同类型的流量设置标签。

      在进入网络后,流量被标记不同;在接收流量时,由内部路由器按照标记发送流量,不再搜索IP路由表;在发送到网络时,流量被删除。

      MPLS的标题和消息包装:

      Layer2/MPLS*x/IPv4/DATA/FCS,可以包含多个标签

      • 标签长度: 20 位, 值 0-1048575, 0-15 是特殊标签, 其他正常使用.
      • EXP长度3位,用于双重QOS
      • S(标记位)长度1位,用于表示外部标签/内部标签。
      • TTL长度8位

      MPLS有两个封装模式:帧模式和消息模式(ATM)。

      框架模式封装是将MPLS标签头直接添加到消息的两层和三层头之间,以使Ethernet/PP使用这个封装模式。

      2

      路由器的交换机制

      1.过程交换:路由器需要对每个接收的包查询三级和二级表项,使用三层表项查询来确定输出接口和下一个,双层表项查询(ARP)用于获取目标MAC地址的双层重新编码,并基于CPU查询。效率很低。

      快速切换(英语:Fast switching):又称网络电流切换(英语:Network-current switching)。

      对于基于数据流的传输,路由器可以调用基于七个数据流的统计数据群(源IP地址、源端口号码、协议号码、ToS字段和相同的输入)。

      满足相同的七个元素群条件的数据包构成一个流,在数据传输时,首先提取该流的数据包,确定三层表,确定输出接口,确定两层表,确定封闭信息,并集成输入和数据包信息,用于将第一个数据包传输到缓存和ASTIC芯片中的延迟,此流的后续包不再直接基于ASIC缓存进行三层数据查询和传输缓存。

      3.Cisco Rapid Transfer CEF:Cisco的私有传输机制,允许CEF的路由器,形成两个存储在ASIC的表。

      3

      转发信息库FIB

      它是一个三层表,配备了优化路由项,基于要下载的路由表,主要是优化下一跳地址,然后下载所有路由的非线性下一跳地址,将集成到直接链接的下一跳地址。

      当路由表条目发生变化时,FIB表也适应变化,确定输出接口后,FIB中还有一个资源关联的邻接表,可以确定二进制加密信息。

      附属表:

      这是一个双层表,它包含了数据包装的最佳双层信息。

      注:在Cisco设备上,如果首先启用MPLS需要启用CEF,则运行MPLS的路由器需要标签插入,而路由器的IP路由表不支持标签插入,只有FIB支持标签插入,只有启用CEF后才会有FIB表。

      转发等价类FEC:

      MPLS是一个数据级分类传输技术,它以相同的传输处理方法(例如,相同的目标地址、相同的输出、相同的VPN目标地址、相同的QOS)标记子集作为类,这个类被称为EEC传输等价类。

      路由器可以根据路由输入分发标签,而属于ECC的流量具有相同的传输方法、传输路径和传输处理。

      然而,并非所有具有相同的标签的报告都属于一个ECF,因为这些报告的EX值可能不相同,执行可能不同,因此它们可能是不同的ECF。

      注: MPLS完成后,无法在MPLS域内编译或合并任何路由,因为不同的路由输入可以在不同的路由器上导致数据级别的黑洞。

      4

      MPLS架构

      • 控制级别:使用静态或动态路由选择协议生成路由,形成一个FIB路由表。
      • 控制级别:标记分配协议TDP(Scook private/precursor),标签分配协议LDP(public),MP-BGP,资源储备协议RSVP。
      • 标签分配,创建基于FIB路由表中的路由项的标签,并将其添加到FIB路由表中。
      • 标签分配只是有意义的, 两个路由器可以分配相同的路由项目不同的标签.

      路由器需要通知路由项的本地生成标签的邻居,并实现标签共享;

      当邻居向路由条发送相应的标签时,会形成一个LIB拓扑表。

      在 两 个 邻国 之间 的 标签 分享 完成 后, 当地 建立 一 个 LFIB 表, 以便 随后 转让 标签 数据 。

      数据级别: 按照LFIB表发送MPLS标签的讯息,以及发送一般的IPv4讯息.

      5

      MPLS的工作过程

      标签输入:将标签添加到包中;边界标签交换路由器通过外部接口接收IPv4包,路由器发现,为了传输数据包,必须通过与MPLS连接的接口运行数据包,并按由邻近在FIB表中分配的标签(请参阅日程优化机制查看表)。

      标签交换:MPLS域的路由器接收一个带标签的数据包,不再查看三层消息的目标IP地址;路由器将标签添加到路由器被分配的标签上,然后根据标签传输信息库LFIB中的邻居的下一个跳跃发送它。

      标签弹出:删除顶层标签;标签删除:删除协议堆栈中的所有标签

      边界标签交换路由器R1接收从内部到外部的交通,路由器接收一个只有查询LFIB的标签的消息,路由器发现LFIB没有确认传输信息,路由器查询未能返回,并试图检索标签。下一个尝试是检索标签并将其发送到FIB,以便在三层消息中的IP地址查询。

      Cisco路由器优化LSR标签除去,开发的PHP(反向的第二个弹出标签或最后的弹出标签),路由器将根据路径判断它们是否是逆跳路由器,反过来,第二个跳跃路由器接收了最后一个路由器发送的路由标签,用于标记3,逆路由器在发送消息到最后的跳跃路由器时,删除标签。

      LFIB:标签传输库,基于标签路由表;包含下列内容:路由条目/本地分配标签/邻域分配标签/输出/下一个跳跃

      FIB:标签信息库/拓扑表,什么是路由项目局部分布的标签,什么是邻近分布的标签。

      • FIB:传输库,允许CEF生成基于IPv4的路由表。
      • 标签交换路径LSP:MPLS域内传输的路径,在传输之前由控制级别协议定义和建立;在特定LSP上传输的;由于PHP机制的存在,LSP不一定从端到端一致。
      • 输入标签:由接收的路径传递的标签,由本地生成的标签
      • 输出标签: 向邻居发送的标签,并生成给邻居.
      • 本地标签:为路由项目分配的本地标签
      • 远程标签:由邻居分配给路由物品的标签
      • MPLS的顶部和底部:根据数据层路由方向,最接近源的路由器是最低路由器,最接近数据传输器的路由器是上路由器,最低路由器跳到顶部,而上路由器跳到底部。

      6

      MPLS电路检测及处理

      IGP环检测机制及处理

      TTL环路检测

      在MPLS帧模式中使用TTL

      在消息模式中的MPL中没有TTL

      LDP环路检测机制

      距离向量方法:通过检测它是否在TLV中包含自己的路由器ID,如果包含,则丢弃

      最大跳跃方法:通过检测TLV来设置LSP最大跳跃

      MPLS如何处理TTL:默认使用1

      方法1:在MPLS域内实现网络结构,无需外部隐藏

      方法2:在外部隐藏MPLS域中实现网络结构

      MPLS解决BGP数据层黑洞的原理:

      R4--R2--R1--R3--R5

      当路由器使用BGP路由来从外部传送消息时,IGP路由与此BGP路由的下一次跳跃地址查询相符,根据远程标签包装数据的IPP路由,当R2发送到R1时,它带有相应的标签,因为R1是逆向的第二跳路由器,当R1发送数据到R3时,标签就会出现。R3通过EBGP路由传输数据。

      标签分配协议LDP:

      该端口代码使用TCP和UDP的646,通过UDP建立邻域,并在邻域建立后通过TCP发送更新和其他通知;支持认证。

      LDP头条/消息包:层2/IPv4/TCP或UDP/LDP/FCS

      LDP Header:

      版本: 目前版本编号为1。

      PDU长度: 除版本和PDU长度外,其他部件的总长度.

      LDP标识符:前面的4位标识符代表了路由器ID,后两个位数表示LSR标签空间是路由器空间或接口空间(路由器空间是路由器条的单个标签,标签少,它也较少资源密集;接口空间为路由条目的分配一个标签给输出接口,接口空间占用了大量的资源,但提高了安全性)。

      LDP message:

      U:未知消息位。 当LSR接收U=0的未知消息时,LSR返回消息生成器的通知,忽略了未知消息。

      类型:表示特定消息类型,目前,LDP定义的常见消息包括通知,Hello,Initialization,KeepAlive,Address,Address Withdraw,Label Mapping,Label Request,Label Abort Request,Label Withdraw,Label Release。

      消息长度: M ID 、 M 参数和 Optiona 的总长度。

      消息ID:仅用于识别一个消息。

      强制参数和可选参数是变长消息的强制参数和可选参数。

      LDP消息类型:

      1.发现消息:通知本身存在,并自动建立一个邻居,将广播地址组为224.0.0。

      2.会议消息:设置TCP连接,查询参数等,设置或切断连接

      3.广告信息:生成、通知和删除标签

      4.通知消息

      LDP状态机:

      LDP运行的路由器也需要默认选择RID来使用循环后端的最大地址。如果没有循环后端,物理接口的最大地址通常是手动指定的。

      发送LDP问候消息的路由器的传输地址不是物理接口的IP地址。相反,它是路由器ID;因此路由器在构建LDP邻居时使用的路由器ID值必须访问(直接构建邻居)。

      路由器的邻居标签信息基于路由器LDP邻居表中的路由器路由器环端口地址。

      而在FIB表中,所有传送信息都基于直接连接端口的下一个跳地址。为了将循环返回端口与直接连接端口的下一个跳地址关联,路由器通过LDP建立邻居后,将所有其他本地可用接口的IP地址发送给邻居,除了环口之外的其他地址是默认隐藏的。

      在启用MPLS后,路由器将自动启用LDP协议;定期发送问候以建立LDP邻居;

      标签分配:对于FIB表中的每个IPP路由项目,每个运行LDP协议的LSR将自动分配本地标签;

      独立: 接收IGP路由并分配本地标签,不管下游路由发送的标签是否被接收。

      订购:接收IPP路由,只有由下游路由发送的标签接收本地标签。

      标签通知:LSR将分配的标签分配给所有LSR邻居,这些 neighbors将转换为远程标签,然后邻居将远程标签和本地标签存储在标签信息库LIB中;

      根据需要通知DU: 邻域是否收到标签请求,标签映射被主动发送到邻域。

      请求通知DoD: 未经邀请向邻居发送标签映射,邻居收到的标签通知请求会根据邻居发送的请求映射向邻居发送相应的标签消息。

      标签保持:通常,LDP路由器有多个LDP邻居,所以这些邻居将标签分配给路由器并将其传递给自己。在所有绑定到特定前缀的远程标签中,LSR只使用一个远程标签来确定前缀的输出标签。

      LSR从下一个邻居接收的远程标签中选择FIB表中的接头的下一个跳跃,并使用这个信息创建自己的标签转移库LFIB。

      保守党:只接受由较低的邻国发送关于下一个跳跃路线的标签,而关于其他路线的标签则不会接受。

      自由库:所有由邻居发送的标签被接收,只有有关路径下一个跳跃的标签被添加到LFIB

      LDP的特性:

      双类型字段描述MPLS协议单播 0x8847;MPLS协议群播 0x8848

      路由器不能为不同的路由分配相同的标签,每个路由项目都与一个唯一的本地标签相符,但保留0-15个标签;

      • 标签0 - 明确的空标签, 接收邻居发送的路径, 删除标签本身;
      • 标签1-路由器报警标签;
      • 标签3 - 隐藏的空标签, 邻居在删除它之前通过路由发送标签;

      建立LDP 建立邻居时,较大的运输地址的一端的主动目的地码646是给另一端的

      LDP的基本发现机制是发现同一个链中直接连接的LSR邻居。

      LDP扩展检测机制:检测非线性LSR邻域,只能使用单播邻域构建。

      LDP可以通过IPP路由协议将标签分配给直接链接、静态和动态路由学习。

      BGP路由的标签由BGP本身分配,而BGP只分配VPNv4和VPNv6路由的标签。

      它不是基于前缀的BGP路由分配标签,而是与BGP路由的下一个跳跃相符的IGP路由标签。

      RSVP可以保存资源和分发标签;标签可以根据MPLS TE的 Qos分发。

      MPLS-VPN:

      采用MPLS技术,在企业IP专用网络上构建了运营商的宽带IP网络。实现跨区域、安全、高速、可靠的数据、语音和图像多业务通信,并结合不同服务、流动工程和其他相关技术,结合公共网络的可靠性能、良好的扩充和丰富的功能,与专用网络的安全性、灵活性和效率,为用户提供高质量的服务。

      MPLS-VPN网络主要由CE路由器、PE路由器和P路由器组成。

      PE路由器:操作者端路由器设备,直接与用户CE路由器连接,负责 VPN业务访问,处理 VPNv4路由,是MPLS三级 VPN的主要实现者;

      CE路由器:用户网络边界路由器的设备,直接连接到运营商网络,不“感知” VPN的存在;

      P路由器:操作器的核心路由器设备负责快速传输数据,并不直接与CE连接。

      控制层面:

      虚拟路由传送(VRF):

      为了解决不同客户端使用相同的私人地址的问题,PE路由器为每个客户端创建一个独立的VRF路由表。

      VRF routing tables support names, and VRF names have only local meaning, and when the PE router associates the CE-connected interface with the VRF, the control and data levels are transferred based on the VRF routing table (VRF can only be associated with the CE-connected interface).

      PE路由器为了将VRF路由发送到相反端的Pe路由器,必须使用MP-BGP来传输数据。

      首先,两个PE路由器之间建立VPNv4邻域,当PE路由器使用MP-BGP传输数据时,VRF路由器转换为VPNv4路由器(x:y路由项)并添加到VPNv4BGP表中。

      路由器可以有多个VRF表,但只有一个VPNv4BGP表,因此可能存在路由重复的情况,为了避免路由重复,路由器需要在加入BGP路由表之前添加RD。

      • 路由区分器:在VPNv4BGP表中识别VRF路由条目
      • 路由目标(英语:Route Targets,RT)是BGP中的一个扩展群属性,允许对应路由器知道哪些VPNv4路由在接收公开传输的VPNv4路由时添加到VRF路由表。

      输出:当VRF路径被添加到VPNv4BGP表时,PE所携带的RT值

      输入:PE接收VPNv4路由,并将RT值路由添加到相应的VRF路由表中

      • VPNv4路由:带有RT和RD属性的IPv4私人网络路由,然后通过BGP
      • BGP通过MP-BGP重新分配标签到VPNv4

      Layer2/VPNv4路由下跳地址的IPGP路由标签 | VPNv4 labels/IPv4/DATA/FCS

      如果你对考试有任何问题,如果你不知道行业,但想继续,如果你不知道自己的技术,或者你准备考试时心情不好,我们会尽力帮助你。

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/27576.html

          热门文章

          文章分类