• MPLS-LDP(个人学习笔记)


     定义 

    标签分发协议LDP(Label Distribution Protocol)是多协议标签交换MPLS的一种控制协议,负责转发等价类FEC的分类、标签的分配以及标签交换路径LSP的建立和维护等操作。LDP规定了标签分发过程中的各种消息以及相关处理过程

    术语

    LDP会话:LDP会话用于LSR之间交换标签映射、释放等消息。(两种可以共存)

    1、远端LDP会话(Remote LDP Session):建立会话的两个LSR之间可以是直连的,也可以是非直连的

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

    LDP邻接体 :两台LSR之间交互Hello消息之后,即建立起邻接体(Adjacency)关系

        两种邻接体

        1、本地邻接体(Local Adjacency):以组播形式发送Hello消息(即链路Hello消息)发现的邻接体叫做本地邻接体。

        2、远端邻接体(Remote Adjacency):以单播形式发送Hello消息(即目标Hello消息)发现的邻接体叫做远端邻接体

    LDP对等体 :指相互之间存在LDP会话、使用LDP来交换标签消息的两个LSR

    LSR ID与LDP ID

    每一台运行了LDP的LSR除了必须配置LSR ID,还必须拥有LDP ID。

    • LDP ID长度为48 bit32 bitLSR ID16 bit的标签空间标识符Label Space ID)构成。
    • LDP ID以“LSR ID : 标签空间标识”的形式呈现。例如2.2.2.2:0

    标签空间标识一般存在两种形态:

    • 值为0:表示基于设备(或基于平台)的标签空间(现在都是用这个)
    • 值非0:表示基于接口的标签空间

    LDP工作机制

    LDP消息类型

    • 发现(Discovery)消息:用于通告和维护网络中LSR的存在,如Hello消息。
    • 会话(Session)消息:用于建立、维护和终止LDP对等体之间的会话,如Initialization消息、Keepalive消息。
    • 通告(Advertisement)消息:用于创建、改变和删除FEC的标签映射。
    • 通知(Notification)消息:用于提供建议性的消息和差错通知。

     

    LDP会话建立

    基本发现机制:用于发现链路上直连的LSR。

            LSR通过周期性地发送LDP链路Hello消息(LDP Link Hello),实现LDP基本发现机制,建立本地LDP会话。
            LDP链路Hello消息使用UDP报文,目的地址是组播地址224.0.0.2。如果LSR在特定接口接收到LDP链路Hello消息,表明该接口存在LDP对等体。

    建立连接阶段

    Hello报文中携带传输地址,双方后续将使用传输地址建立LDP会话。

    传输地址较大的一方作为主动方,主动发起建立TCP连接。

            经过TCP三次握手之后,两者建立起TCP连接

    1、传输地址较大的一方作为主动方,主动方发送初始化消息,协商建立LDP会话参数

    LDP会话的相关参数包括LDP协议版本、标签分发方式、Keepalive保持定时器的值、最大PDU长度和标签空间等

    2、被动方收到初始化报文后,若接受的相关参数,则回应Keepalive报文作为确认,为了提高发送效率同时发送自己的初始化报文。如果被动方不能接受相关参数,则发送Notification消息终止LDP会话的建立

    3、当主动方收到被动方的初始化报文后,若接受相关参数,则回复Keepalive报文给被动方

    4、双方都收到对端的Keepalive报文后,会话建立成功,后续通过周期性发送的Keepalive报文保持会话

    LDP标签分发

    发布方式

            下游自主方式DU:对于一个特定的FEC,LSR无需从上游获得标签请求消息即进行标签分配与分发。(缺省情况下

            下游按需方式DoD:对于一个特定的FEC,LSR获得标签请求消息之后才进行标签分配与分发。

    特别说明:

            标签发布方式为DU时,系统默认支持LDP为所有对等体分标签,即每个节点都可以向所有的对等体发送标签映射消息,不再区分上下游关系。因为在只给上游对等体分标签情况下,发送标签映射消息的时候,要根据路由信息对会话的上下游关系进行确认。如果发生路由变化,上下游关系倒换,新的下游需要重新给上游节点发送标签映射消息,收敛比较慢。

    两种发布方式如图所示:

     

    标签分配控制方式

            独立标签分配控制方式(Independent):本地LSR可以自主地分配一个标签绑定到某个FEC,并通告给上游LSR,而无需等待下游的标签。

            有序标签分配控制方式(Ordered):对于LSR上某个FEC的标签映射,只有当该LSR已经具有此FEC下一跳的标签映射消息、或者该LSR就是此FEC的出节点时,该LSR才可以向上游发送此FEC的标签映射。(缺省情况下

    组合方式:

    DU + Independent:LSR(Transit)无需等待下游(Egress)的标签,就会直接向上游(Ingress)分发标签。

    DoD+Independent:发送标签请求的LSR(Ingress)的直连下游(Transit)会直接回应标签,而不必等待来自最终下游(Egress)的标签。


    DU + Ordered:LSR(Transit)只有收到下游(Egress)的标签映射消息,才会向上游(Ingress)分发标签。

    DoD + Ordered:发送标签请求的LSR(Ingress)的直连下游(Transit)只有收到最终下游(Egress)的标签映射消息,才会向上游(Ingress)分发标签。

    标签保留方式

    自由模式:对于从邻居LSR收到的标签映射,无论邻居LSR是不是自己的下一跳都保留。

    保守模式对于从邻居LSR收到的标签映射,只有当邻居LSR是自己的下一跳时才保留。

    说明:

            使用自由标签保持方式,LSR可以直接利用原来非下一跳邻居发来的标签,迅速重建LSP,但需要更多的内存和标签空间。

            使用保守标签保持方式,LSR只保留来自下一跳邻居的标签,节省了内存和标签空间,但LSP的重建会比较慢。
            保守标签保持方式通常与DoD方式一起,用于标签空间有限的LSR

    目前设备支持如下组合方式:

            下游自主方式(DU)+ 有序标签分配控制方式(Ordered)+ 自由标签保持方式(Liberal,该方式为缺省方式

            下游按需方式(DoD)+ 有序标签分配控制方式(Ordered)+ 保守标签保持方式(Conservative)。

  • 相关阅读:
    腾讯音乐回港上市,抖音取代网易云,成为腾讯音乐终极对手?
    一位3年经验的测试工程师水平能差到什么程度?面试后,感叹都是人才呀...
    Endnote 用户自定义Field
    【Flutter】设计原则(2)深入解析 SOLID 原则的应用
    如何发挥影响力,达成目标(一对一场景)
    Kotlin中的List集合
    刘伟光:超大型金融机构国产数据库全面迁移成功实践
    微服务 | Nacos安装指南
    VR开发(一)——SteamVR实现摇杆移动
    10以内字符与数字的转化(与ASCII码无关)
  • 原文地址:https://blog.csdn.net/weixin_50281314/article/details/139869999