网络中的海底隧道——MPLS

一、MPLS概述

MPLS的定义

MPLS(Multiprotocol Label Switching,多协议标签交换)起源于IPv4(Internet Protocol version 4,因特网协议版本4),最初是为了提高转发速度而提出的,其核心技术可扩展到多种网络协议,包括IPv6(Internet Protocol version 6,因特网协议版本6)、IPX(Internet Packet Exchange,网际报文交换)和CLNP(Connectionless Network Protocol,无连接网络协议)等。MPLS中的“M”指的就是支持多种网络协议。

MPLS是一种IP(Internet Protocol)骨干网技术。MPLS在无连接的IP网络上引入面向连接的标签交换概念,将第三层路由技术和第二层交换技术相结合,充分发挥了IP路由的灵活性和二层交换的简捷性。

它实际上是一种隧道技术。这种技术不仅支持多种高层协议与业务,而且在一定程度上可以保证信息传输的安全性。

当下MPLS存在的意义
  1. 解决BGP的路由黑洞
  2. MPLS VPN
  3. MPLS TE 流量工程

二、MPLS相关概念

  1. 转发等价类

    MPLS作为一种分类转发技术,将具有相同转发处理方式的分组归为一类,称为FEC(Forwarding Equivalence Class,转发等价类)。相同FEC的分组在MPLS网络中将获得完全相同的处理。通常对一个FEC分配唯一的标签。

    FEC的划分方式非常灵活,可以是以源地址、目的地址、源端口、目的端口、协议类型或VPN等为划分依据的任意组合。例如:

    • 属于某特定组的组播报文
    • 目的IP地址匹配了某一个特定前缀的报文
    • 根据DCSP字段,有相同QOS策略的报文
    • MPLS VPN中,属于同一个VPN的报文
  2. 标签

    标签是一个长度固定,仅具有本地意义的短标识符,用于唯一标识一个分组所属的FEC。
    在这里插入图片描述

  3. MPLS domain
    LSR构成的网络区域称为MPLS域(MPLS Domain) ,是MPLS的工作半径。

  4. 标签交换路由器

    LSR(Label Switching Router,标签交换路由器)是MPLS网络中的基本元素,所有LSR都支持MPLS技术。

  5. 标签边界路由器

    LER(Label Edge Router,标签边界路由器)可以转发数据包进入MPLS域,也可以转发IP包进入或离开MPLS域。

    在MPLS域中LSR是转发带标签的数据包,LER可以转发数据包进入MPLS域,也可以转发IP包进入或离开MPLS域。

  6. 标签交换路径

    一个转发等价类在MPLS网络中经过的路径称为LSP(Label Switched Path,标签交换路径)。在一条LSP上,沿数据传送的方向,相邻的LSR分别称为上游LSR和下游LSR。

    LSP是一个单向路径,与数据流方向一致。LSP的入口LER称为入节点(Ingress);位于LSP中间的LSR称为中间节点(Transit);LSP的出口LER称为出节点(Egress)。

  7. MPLS MTU

    MPLS标签栈象“垫层”一样,位于二层数据帧头和数据之间。在MPLS转发过程中,虽然网络层报文长度小于接口的MTU,但是增加MPLS标签后,报文长度可能超过链路层允许发送的范围,从而导致报文无法正常转发。为此,设备上定义了MPLS MTU,MPLS转发时将增加标签后的报文长度与MPLS MTU比较。报文长度大于MPLS MTU时,如果允许分片,则将报文分片后再进行转发;如果不允许分片,则直接丢弃。

三、MPLS结构

在这里插入图片描述
控制平面:负责产生和维护路由信息以及标签信息。

  • IP路由协议:OSPF、ISIS等。
  • 路由信息表RIB(Routing Information Base):由IP路由协议(IP Routing Protocol)生成,用于选择路由。
  • 标签分发协议LDP(Label Distribution Protocol):负责标签的分配、标签转发信息表的建立、标签交换路径的建立、拆除等工作。
  • 标签信息表LIB(Label Information Base):由标签分发协议生成,用于管理标签信息。

转发平面:即数据平面(Data Plane),负责普通IP报文的转发以及带MPLS标签报文的转发。

-转发信息表FIB(Forwarding Information Base):从RIB提取必要的路由信息生成,负责普通IP报文的转发。
-标签转发信息表LFIB(Label Forwarding Information Base):简称标签转发表,由标签分发协议在LSR上建立LFIB,负责带MPLS标签报文的转发。

四、MPLS标签报文格式

采用帧模式。在二层报头和三层报头之间插入MPLS报头。可以插入一个或多个,这种标签模式也被称为帧模式。
在这里插入图片描述

靠近二层报头的叫外层或者高层;靠近三层的叫内层或者低层标签。当查看完二层报头发现标签之后就不再关心三层报头,直接进行转发。理论上,MPLS标签可以无限嵌套。目前MPLS标签嵌套主要应用在MPLS VPN、TE FRR(Traffic Engineering Fast ReRoute)中。

怎么判断一个数据包是通过MPLS还是IP转发呢?

在二层头部中有一个PID(协议号字段)
PID标识二层头部后面的报文类型,LSR判断报文类型

  • Ethernet :
    0x0800 IPv4
    0x8847 MPLS单播报文
    0x8848 MPLS多播报文

  • PPP :0x8021 IPv4
    0x8281 MPLS单播报文
    0x8283 MPLS多播报文

MPLS标签空间:

标签空间就是指标签的取值范围。标签空间划分如下:

  • 0~15:特殊标签。
  • 16~1023:静态LSP和静态CR-LSP(Constraint-based Routed Label Switched Path)共享的标签空间。
  • 1024及以上:LDP、RSVP-TE(Resource Reservation Protocol-Traffic Engineering)、MP-BGP(MultiProtocol Border Gateway Protocol)等动态信令协议的标签空间。

PS:MPLS有一些特殊的固定标签值,在后面会细说,这里不方便理解。

标签操作类型(Label Operations)
  • Push:指当IP报文进入MPLS域时,MPLS边界设备在报文二层首部和IP首部之间插入一个新标签;或者MPLS中间设备根据需要,在标签栈顶增加一个新的标签(即标签嵌套封装)。

  • Swap: 当报文在MPLS域内转发时,根据标签转发表,用下一跳分配的标签,替换MPLS报文的栈顶标签。

  • Pop: 当报文离开MPLS域时,将MPLS报文的标签去掉。

五、LDP标签分发协议

LDP简述

LDP(Label Distribution Protocol,标签分发协议)是MPLS的控制协议,它相当于传统网络中的信令协议,负责FEC的分类、标签的分配以及LSP之间LDP Session的建立并交换Lebel/FEC映射信息等一系列操作。

通过LDP,LSR可以把网络层的路由信息直接映射到数据链路层的交换路径上,进而建立起LSP。LSP既可以建立在两个相邻的LSR之间,也可以建立在两个非直连的LSR之间,从而在网络中所有中间节点上都使用标签交换。

LDP对等体

LDP对等体(LDP Peer)是指相互之间存在LDP会话、使用LDP来交换标签/FEC映射关系的两个LSR。LDP对等体通过它们之间的LDP会话获得对方的标签映射消息。

LDP会话

LDP会话用于在LSR之间交换标签映射、释放等消息。LDP会话可以分为两种类型:

  • 本地LDP会话(Local LDP Session):建立会话的两个LSR之间是直连的;

  • 远端LDP会话(Remote LDP Session):建立会话的两个LSR之间是非直连的。

标签空间与LDP标识符

LDP对等体之间分配标签的范围称为标签空间(Label space)。可以为LSR的每个接口指定一个标签空间(per-interface label space),也可以整个LSR使用一个标签空间(per-platform label space)。

LDP标识符(LDP Identifier)用于标识特定LSR的标签空间,是一个六字节的数值,格式如下:

LSR ID标签空间序号
4Byte2Byte,标签空间序号取值为1时表示每个接口指定一个标签空间;取值为0时表示整个LSR使用一个标签空间
LDP消息类型:
  • 发现(Discovery message):宣告和维护网络中一个LSR的存在。
  • 会话(Session message):建立、维护和终止LDP Peers之间的LDP Session。
  • 通知(Advertisement message):生成、改变和删除FEC的标签映射。
  • 通告(Notification message):宣告告警和错误信息。

为保证LDP消息的可靠发送,除了发现阶段使用UDP传输外,LDP的Session消息、Advertisement消息和Notification消息都使用TCP传输。

LDP消息的作用
消息类型作用
Discovery MessageHelloLDP发现机制中宜告本LSR并发现邻居
Session MessageInitialization在LDP Session建立过程中协商参数
Session MessageKeepAlive监控LDP Session的TCP连接的完整性
Advertisement MessageAddress宣告接口地址
Advertisement MessageAddress Withdraw撤消接口地址
Advertisement MessageLabel Mapping直告FEC/Label映射信息
Advertisement MessageLabel Request请求FEC的标签映射
Advertisement MessageLabel Abort Request终止未完成的abel Request Message
Advertisement MessageLabel Withdraw撤消FEC/LabeI映射
Advertisement MessageLabel Release释放标签
Notification MessageNotification通知LDP Peer错误信息
LDP的邻居发现机制
基本发现机制

基本发现机制用于发现本地的LDP对等体,即通过链路层直接相连的LSR,建立本地LDP会话。

LSR通过周期性**(5S)地发送Hello Message表明自己的存在。这个消息是封装在UDP报文中的,源和目的端口号为646**。在LDP基本发现机制中,该消息的目的IP地址为组播I P地址224.0.0.2

LDP链路Hello消息带有接口的LDP标识符及其他相关信息,如果LSR在某个接口收到了LDP链路Hello消息,则表明在该接口(链路层)存在LDP对等体。

扩展发现机制

扩展发现机制用于发现远端的LDP对等体,即不通过链路层直接相连的LSR,建立远端LDP会话。

这种方式下,LSR周期性以UDP报文形式向指定的IP地址发送LDP目标Hello消息(LDP Targeted Hello)。

LDP目标Hello消息带有LSR的LDP标识符及其他相关信息,如果LSR收到LDP目标Hello消息,则表明在网络层存在LDP对等体。

LDP Session的建立和维护
过程简述

发送Hello报文之后发现了邻居,建立TCP连接(两端都会发送TCP,transport ip地址大的主动发起连接,目的端口是646,源端口任意)之后发送初始化消息(协商会话中涉及的各种参数,如LDP版本、标签分发方式、定时器值、标签空间等),再发送keepalive消息这样LDP会话就建立完成了,完成之后两个LSR就成为了LDP Peers,并会交换Advertisement Message。
如果协商过程中发现某些参数不匹配,就会发送Notification错误消息。

PS:Transport id默认是和配置的lsr-id一致,因为要用它来建立TCP连接,所以lsr-id一定要是可达的,如果不可达就要手动配置transport id。

LDP状态机

在这里插入图片描述
一开始没有建立LDP Session的时候是non existent状态,之后就进入一个初始化状态INITIALIZED,如果是TCP的主动方(transport id大,处于active状态的一方),会主动发送初始化消息(在LDP Session建立过程中协商参数),然后自身状态变成OPENSENT,在此状态是在等待对方回复他初始化信息,被动方接收到主动方的初始化消息后,他会同时发送init和KeepAlive消息,然后将自身状态变为OPENREC并等待接收主动方的KeepAlive,主动方接收到被动方的init和KeepAlive消息后,变为OPENREC状态同时发送KeepAlive消息,被动方收到了主动方的KeepAlive后,二者回变为OPERATIONAL状态,这样LDP Session就建立完成了并发送其他LDP消息。

会话撤销

LDP通过检测Hello消息来判断邻接关系;通过检测Keepalive消息来判断会话的完整性。

LDP在维持邻接关系和LDP会话时使用不同的定时器:

  • Hello保持定时器:LDP对等体之间,通过周期性发送Hello消息表明自己希望继续维持邻接关系。如果Hello保持定时器超时仍没有收到新的Hello消息,则删除Hello邻接关系。

  • Keepalive定时器:LDP对等体之间通过LDP会话连接上传送的Keepalive消息来维持LDP会话。如果会话保持定时器超时仍没有收到任何Keepalive消息,则关闭连接,结束LDP会话。

六、LSP的建立

LSP介绍

IP报文在MPLS网络中经过的路径称为标签交换路径LSP (Label Switched Path),这条路径是在转发报文之前就已经.通过各种协议确定并建立的,报文会在特定的LSP上传递
LSP是一个单向路径,与数据流的方向一致。LSP的入口LER称为入节点(Ingress) ;位于LSP中间的LSR称为中间节点(Transit) ; LSP的出PLER称为出节点(Egress) 。一条LSP可以有0个、1个或多个中间节点,但有且只有一个入节点和一个出节点。

静态LSP的建立

静态LSP是用户通过手工为各个转发等价类分配标签而建立的。手工分配标签需要遵循的原则是:上游节点出标签的值就是下游节点入标签的值

由于静态LSP各节点上不能相互感知到整个LSP的情况,因此静态LSP是一个本地的概念

静态LSP不使用标签发布协议,不需要交互控制报文,因此消耗资源比较小,适用于拓扑结构简单并且稳定的小型网络。但通过静态方式分配标签建立的LSP不能根据网络拓扑变化动态调整,需要管理员干预。

动态LSP的建立

动态LSP通过标签发布协议动态建立。标签发布协议是MPLS的控制协议(也可称为信令协议),负责FEC的分类、标签的分发以及LSP的建立和维护等一系列操作。
在这里插入图片描述

LDP协议分配原则

①路由器LDP默认会为/32主机路由分配标签。(前提是设备从/32路由的下一跳设备得到了标签)也可以为/24的网段去分
②如果通过多个邻居收到一个FEC的标签,设备会使用本FEC(路由前缀)下一跳设备分配的标签

七、MPLS与路由协议

LDP通过逐跳方式建立LSP时,利用沿途各LSR路由转发表中的信息来确定下一跳,而路由转发表中的信息一般是通过IGP、BGP等路由协议收集的。LDP并不直接和各种路由协议关联,只是间接使用路由信息。另一方面,通过对BGP、RSVP等已有协议进行扩展,也可以支持标签的分发。

在MPLS的应用中,也可能需要对某些路由协议进行扩展。例如,基于MPLS的VPN应用需要对BGP进行扩展,使BGP能够传播VPN(Virtual Private Network,虚拟专用网)的路由信息;基于MPLS的TE(Traffic Engineering,流量工程)需要对OSPF或IS-IS协议进行扩展,以携带链路状态信息。

八、MPLS数据转发

转发过程中涉及到的表项

①NHLFE
下一跳标签转发表项NHLFE (Next Hop Label Forwarding Entry) 用于指导MPLS报文的转发。NHLFE包括: Tunnel ID、出接口、下一跳、出标签、标签操作类型等信息。

②FTN
FEC到一组NHLFE的映射称为FTN (FEC-to-NHLFE) 。
通过查看FIB表中Tunnel ID值不为0x0的表项,能够获得FTN的详细信息。FTN只在Ingress(入节点)存在。

③ILM
入标签到一组下一跳标签转发表项的映射称为入标签映射ILM (Incoming Label Map)。ILM包括: Tunnel ID、入标签、入接口、标签操作类型等信息。

ILM在Transit节点(并不是Ingress节点)的作用是将标签和NHLFE绑定。通过标签索引LM表,就相当于使用目的IP地址查询FIB,能够得到所有的标签转发信息。

④Tunnel ID
为了给使用隧道的上层应用(如VPN、路由管理)提供统一的接口,系统自动为隧道分配了一个ID,也称为Tunnel ID。 该Tunnel ID的长度为32比特,只是本地有效。

※当IP报文进入MPLS域时,首先查看FIB表,检查目的IP地址对应的Tunnel ID值是否为0x0。
如果Tunnel ID值为0x0,则进入正常的IP转发流程。
如果Tunnel ID值不为0x0,则进入MPLS转发流程。

MPLS查表流程图

在这里插入图片描述在MPLS转发过程中, FIB、ILM和NHLFE表项是通过Tunnel ID关联的

  • ingress的处理
  1. 查看FIB表,根据目的IP地址找到对应的Tunnel ID。
  2. 根据FIB表的Tunnel ID找到对应的NHLFE表项,将FIB表项和NHLFE表项关联起来。
  3. 查看NHLFE表项,可以得到出接口、下一跳、出标签和标签操作类型,标签操作类型为Push。
  4. 在IP报文中压入出标签,并根据QoS策略处理EXP,同时处理TTL,然后将封装好的MPL S报文发送给下一跳。
  • Transit的处理
  1. 根据MPLS的标签值查看对应的ILM表,可以得到Tunnel ID。
  2. 根据ILM表的Tunnel ID找到对应的NHLFE表项。
  3. 查看NHLFE表项,可以得到出接口、下一跳、出标签和标签操作类型。
  4. MPLS报文的处理方式根据不同的标签值而不同。.
    • 如果标签值>=16,则用新标签替换MPLS报文中的旧标签,同时处理EXP和TTL,然后将替换完标签的MPLS报文发送给下一跳。
    • 如果标签值为3,则直接弹出标签(次末跳弹出,这是针对FEC),同时处理EXP和TTL,然后进行IP转发或下一层标签转发。
  • Egress的处理:通过查询ILM表指导MPLS报文的转发或查询路由表指导IP报文转发。
  1. 如果Egress收到IP报文,则查看路由表,进行IP转发。
  2. 如果Egress收到MPLS报文,则查看ILM表获得标签操作类型,同时处理EXP和TTL。
    • 如果标签中的栈底标识S=1,表明该标签是栈底标签,直接进行IP转发。
    • 如果标签中的栈底标识S=0,表明还有下一层标签,继续进行下一层标签转发。

PS:PHP次末跳弹出
为了减轻Egress节点的负担,提高MPLS网络对报文的处理能力,可以使最后一跳路由器只进行一次IP查表,但是当需要通过EXP位进行QoS策略时,次末跳弹出会让QoS非常繁琐,需要对两个网段分别配置IP和MPLS的QoS。

固定标签值
标签值名称详细信息
0IPV4 Explicit Null Lable IPV4显式空标签表示该标签必须被弹出(即标签被剥掉),且报文的转发必须基于IPv4。如果出节点分配给倒数第二跳节点的标签值为0,则倒数第二跳LSR需要将值为0的标签正常压入报文标签值顶部,转发给最后一跳。最后一跳发现报文携带的标签值为0,则将标签弹出。
1Router Alert Label 路由器报警标签只有出现在非栈底时才有效。类似于IP报文的“Router Alert Option”字段,节点收到Router Alert Label时,需要将其送往本地软件模块进一步处理。实际报文转发由下一层标签决定。如果报文需要继续转发,则节点需要将Router Alert Label压回标签栈顶。
2IPv6 Explicit NULL Label IPV6显式空标签表示该标签必须被弹出,且报文的转发必须基于IPv6。如果出节点分配给倒数第二跳节点的标签值为2,则倒数第二跳节点需要将值为2的标签正常压入报文标签值顶部,转发给最后一跳。最后一跳发现报文携带的标签值为2,则直接将标签弹出。
3lmplicit NULL Label 隐式空标签倒数第二跳LSR进行标签交换时,如果发现交换后的标签值为3,则将标签弹出,并将报文发给最后一跳。最后一跳收到该报文直接进行IP转发或下一层标签转发。
4~13、15保留
14OAM Router Alert LabelMPLS OAM(Operation Administration & Maintenance)通过发送OAM报文检测和通告LSP故障。OAM报文使用MPLS承载。OAM报文对于Transit LSR和倒数第二跳LSR(penultimate LSR)是透明的。
16~1023静态LSP使用
1024以上LDP、RSVP-TE、 MP-BGP使用

九、MPLS环路检测

MPLS对TTL的处理——Uniform(统一)模式

在这里插入图片描述

IP报文经过MPLS网络时,在入节点,IP TTL减1映射到MPLS TTL字段,此后报文在MPLS网络中按照标准的TTL处理方式处理。在出节点将MPLS TTL减1后映射到IP TTL字段。如上图所示。

MPLS对TTL的处理二——Pipe(管道)模式

在这里插入图片描述在入节点,IP TTL值减1,MPLS TTL字段为固定值,此后报文在MPLS网络中按照标准的TTL处理方式处理。在出节点会将IP TTL字段的值减1。即IP分组经过MPLS网络时,无论经过多少跳,IP TTL只在入节点和出节点分别减1。如上图所示。

MPLS域透明化,在IP上将其看为一跳。

TTL对ICMP响应报文的影响

在MPLS网络中,当LSR收到TTL为1的含有标签的MPLS报文时,LSR生成ICMP的TTL超时消息。

  • 如果LSR上存在到达报文发送者的路由,则可以通过IP路由,直接向发送者回应TTL超时消息。
  • 如果LSR上不存在到达报文发送者的路由,则ICMP响应报文将按照LSP继续传送,到达LSP出节点后,由Egress节点将该消息返回给发送者。

通常情况下,收到的MPLS报文只带一层标签时,LSR可以采用第一种方式回应TTL超时消息;收到的MPLS报文包含多层标签时,LSR采用第二种方式回应TTL超时消息。

但是,在MPLS VPN中,ASBR(Autonomous System Boundary Router,自治系统边界路由器)和HoVPN组网应用中的SPE(Superstratum PE or Sevice Provider-end PE,上层PE或运营商侧PE),接收到的承载VPN报文的MPLS报文可能只有一层标签,此时,这些设备上并不存在到达报文发送者的路由,则采用第二种方法回应TTL超时消息。

十、对MPLS LSP的检测

在MPLS中,如果LSP转发数据失败,负责建立LSP的MPLS控制平面将无法检测到这种错误,这会给网络维护带来困难。

MPLS LSP Ping/Traceroute为用户提供了发现LSP错误、并及时定位失效节点的机制。类似于普通IP的Ping/Traceroute,MPLS LSP Ping/Traceroute使用MPLS Echo Request报文和MPLS Echo Reply报文检测LSP的可用性。MPLS Echo Request中携带需要检测的FEC信息,和其他属于此FEC的报文一样沿LSP发送,从而实现对LSP的检测。

  • MPLS LSP Ping是用于对LSP的有效性、可达性进行检测的工具。采取方法是通过发送一个叫做MPLS Echo Request的报文,通过LSP的数据转发,到达出口后,在MPLS域的Egress,由Egress节点的控制平面确认本LSR是否为该FEC的出口,返回一个叫做MPLS Echo Reply的报文,如果发送方收到该报文,则说明这条LSP可以正确用于数据转发。

  • MPLS LSP Traceroute是对LSP的错误进行定位的工具。采取方法是Echo Request数据包被发送到每一个中间LSR的控制平面,以确定本LSR是否是此路径的中间节点。

十一、LDP的标签管理

LDP标签空间

①基于平台的标签空间
在这里插入图片描述不管是通过哪个接口,分发给哪个邻居,一个FEC分发的标签是一样的。

弊端:攻击人可以根据要攻击的FEC的标签值,发送一个不合法但标签值相同的数据。
在这里插入图片描述不管用多少接口,都要为每个接口分配不同的标签值,标签数据库会非常大,但是比较安全

LDP标签分发方式
  • DU(Downstream Unsolicited下游自主)
    对于一个特定的FEC,LSR无需从上游获得标签请求消息即进行标签分配与分发。下游LSR在LDP会话建立成功后,主动向其上游LSR发布标签映射消息。上游LSR保存标签映射信息,并根据路由表信息来处理收到的标签映射信息。

  • DoD(Downstream on Demand下游按需)
    游LSR向下游LSR发送标签请求消息(Label Request Message),其中包含FEC的描述信息。下游LSR为此FEC分配标签,并将绑定的标签通过标签映射消息(Label Mapping Message)反馈给上游LSR。

具有标签分发邻接关系的上游LSR和下游LSR之间必须使用相同的标签发布方式,否则LSP无法正常建立。

LDP标签控制方式
  • Independent独立
    采用Independent独立控制方式时,每个LSR随时可以向邻居发送标签帧映射。(不管有没有收到它的下游返回的标签映射消息,都立即向其上游发送标签映射消息)

  • Ordered有序
    当标签控制方式时Ordered,只有当LSR收到特定FEC下一跳发送的特定FEC标签映射消息或者LSR是LSP的出口节点时,LSR才可以向上游发送标签映射消息。(只有收到它的下游返回的标签映射消息后,才向其上游发送标签映射消息)

LDP标签保持方式
  • Conservative保守
    当使用DU标签分发方式时,LSR可能从多个LDP Peer收到到同一网段的标签映射消息,如果采用Conservative保持方式,则路由器只保留IP路由表中下一跳发来的标签,丢弃非下一跳发来的标签。

  • Liberal自由
    如果采用Liberal保持方式,路由器会保留所有LDP Peer发来的标签,无论该LDP Peer是否为到达目的网段的下一跳。

使用自由标签保持方式,LSR能够迅速适应路由变化;而使用保守标签保持方式,LSR可以分配和保存较少的标签数量。

保守标签保持方式通常与DoD方式一起,用于对于标签空间有限的LSR。

十二、LDP 标签过滤

LDP协议在缺省的情况下,从下游邻居接收到的所有FEC的标签映射(标签-FEC绑定)都将接受;并按照水平分割的原则向各个上游邻居通告FEC的标签映射。

LDP标签过滤提供了两种机制,可以有选择的接受从指定LDP下游邻居接收到的标签映射、也可以选择性地向指定LDP上游邻居通告指定地址前缀的标签映射。

标签接受控制

标签接受控制(Label Acceptance Control)或入站标签过滤(Inbound Filtering),选择性地接受指定下游设备通告过来的、指定地址前缀的标签映射。
在这里插入图片描述

标签通告控制

标签通告控制(Label Advertisement Control)或出站标签过滤(Outbound Filtering),选择性地向指定上游设备通告指定地址前缀的标签映射。

在这里插入图片描述

十三、MPLS与路由协议

LDP通过逐跳方式建立LSP时,利用沿途各LSR路由转发表中的信息来确定下一跳,而路由转发表中的信息一般是通过IGP、BGP等路由协议收集的。LDP并不直接和各种路由协议关联,只是间接使用路由信息。另一方面,通过对BGP、RSVP等已有协议进行扩展,也可以支持标签的分发。

在MPLS的应用中,也可能需要对某些路由协议进行扩展。例如,基于MPLS的VPN应用需要对BGP进行扩展,使BGP能够传播VPN(Virtual Private Network,虚拟专用网)的路由信息;基于MPLS的TE(Traffic Engineering,流量工程)需要对OSPF或IS-IS协议进行扩展,以携带链路状态信息。

LDP IGP同步

LDP和IGP同步功能主要用来解决在LSP存在主备链路的组网中,主LSP发生故障,导致的流量丢失问题。

具体情况如下:
当主链路发生故障时,IGP流量和LSP流量均切换到备份链路上。但当主链路从故障中恢复时,由于IGP比LDP收敛速度快,IGP会 先于LDP切换回主链路,因此造成LSP流量丢失。

当主链路正常,但主链路节点间的LDP会话发生故障时,LSP流量从主链路切换到备份链路,而IGP流量继续从主链路转发,导致LSP流量丢失。

十四、MPLS常问问题

  1. 路由器是如何判断一个数据包是IP包还是标签包。
    答:在二屋协议号中,如果协议号为:0X0800就是IP包,如果是0X8847或0X8848就是MPLS包。
  2. MPLS在OSI参考模型中是几层?
    答:MPLS介于二层与三层之间,插入了4个BYTE的长度。
    3 .分发标签的方式有哪些?
    答:有下游请求(down-stream on demand,简称DoD)和主动分发(DU)两种
    4.有哪些独立的标签分发协议?
    答:协议就是TDP和LDP啊!
    5 .谈谈TDP和LDP的区别
    答:TDP是思科的私有协议,用TCP/UDP 711端口,LDP是业界标准,用TCP/LDP 646端口
  3. 在ip路由表中,LDP为每一条前缀都会进行一个本地绑定,这句话对吗?如果不对请说明原因。
    答:不精确,LDP是不对BGP路由分标签的。
  4. 标签交换有哪几种动作。
    答:压标签、弹标签、交换标签
  5. 哪些标签是被用于保留的.
    答:其中4至13、15是被保留的。
  6. 哪一个标签用于通知倒数第二跳LSR使用倒数第二跳标签移除(POP)机制?
    答:就是标签3,又叫隐式空标签。
  • 4
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值