MPLS动态协议LDP配置示例

一、预习:

        MPLS:Multi-Protocol Label Switching多协议标签交换,是一种根据报文中携带的标签转发的技术;可承载在各种链路层协议之上(如PPP、ATM、帧中继、以太网);同时它还能承载各种网络层报文,如ipv4、ipv6;采用无连接的控制平面,实现路由信息的传递和标签的分发,采用面向连接的数据平面,实现报文在建立的标签转发路径上传送。LSR之间可以运行LDP来告知其他LSR本设备上的标签绑定信息,从而实现标签报文的正确转发。

        MPLS在二层以太网网络协议号中使用8847或8848,IP协议号为0800,端口号646

        MPLS实际应用场景:

  随着硬件技术的发展,ip转发性能也大大提高,MPLS在这方面并未发挥优势,但由于MPLS结合了IP网络强大的三层路由功能和二层网络高效的转发机制,所以目前MPLS主要应用于VPN技术,TE(Traffic Engineering,流量工程)以及QOS(Quality of Service,服务质量)。

        提示:基于MPLS的VPN通过LSP将私有网络的不同分支连接起来,形成一个统一的网络,用户设备无需为VPN配置GRE、L2TP等隧道;网络延时也会被降至最低。

        MPLS体系结构 :

        控制平面:负责产生和维护路由以及标签信息;包括IP路由协议和路由信息表,标签分发协议和标签信息表
        转发平面:也称数据平面,负责普通IP报文的转及带MPLS标签报文的转发;转发平面包括转发信息表和标签转发信息表

        LSR:Label Switching Router,标签交换路由器,由LSR 构成的网络区域称为 MPLS域(MPLS Domain),在 IP 网络内进行传统的 IP 转发,在 MPLS 域内进行标签转发。
        LER:Label EdgeRouter位于 MPLS 域边缘、连接其它网络的 LSR 称为边缘路由器 ;
        Core LSR:区域内部的 LSR 称为核心 LSR。

        LSR分类:
Ingress LSR        入站标签,压入MPLS头部并生成MPLS报文的LSR
Transit LSR        中转LSR,做标签转换操作
Egrss LSR         出站LSR,做剥离MPLS标签操作

        LSP:Label Switch Path 标签交换通道

        LDP:Label Distribution Protocol,标签分发协议是MPLS的一种控制协议,相当于传统网络中的信令协议,负责FEC的分类、标签的分配及LSP的建立和维护等操作。LDP规定了标签分发过程中的各种消息及相关处理过程。

        LSP:Label Switch Path,标签交换路径,是标签报文穿越MPLS网络到达 目的地所走的路径,同一个FEC的报文通常采用相同的LSP穿越MPLS域,所以对同一个FEC,LSR总是用相同的标签转发

        Label Stack:MPLS支持一层或者多层标签头部,这些标签头部的有序集合被称为标签栈

        FEC:Forwarding Equivalence Class,转发等价类,是一组具有某些共性的数据流的集合,这些数据流在转发过程中被网络节点以相同方式处理,MPLS基于FEC发放标签
        在MPLS网络中,FEC可通过多种方式划分,如基于目的IP及网络掩码、DSCP等特征来划分
数据属于另一个LSP,由数据 进入MPLS域时的Ingress LSR 决定
        MPLS标签通常是与FEC相对应的,必须有某种机制使得网络中的LSR获得关于某FEC的标签信息

        LSR ID与LDP ID
每一台运行LDP的LSR除了必须 配置LSR ID,还必须有LDP ID
LDP长度为48bit,由32bit的LSR ID与16 bit的空间标识符(Label Space ID)栬 
LDP ID以“LSR ID:标签空间标识 ”的形式呈现,如1.1.1.1:0
值 为0:基于设备(平台)的标签空间
值 非0 :基于接口的标签空间

        PHP: Penultimate Hop Popping,倒数第二跳弹出

        LDP的工作过程主要分为两部分:

        1、LSR之间建立LDP会话
        2、LSR之间基于LDP会话动态交换标签与FEC映射信息,并根据标签信息建立 LSP

        LDP会话:        

        LSR之间交互标签绑定消息之前必须建立 LDP会话,会话分为:
        1、本地LDP会话(Local LDP Session),建立 会话的两个LSP之间是直连的
        2、远程LDP会议(Remote LDP Session):建立 会话的两个LSP可以是直连的,也可以是非直连的。
        两台LSR之间交互Hello消息后,即建立 起邻接体(Adjacency)关系;在建立邻接体关系基础上,两台LSR之间交互LDP会话消息,建立LDP会话,两台设备之间形成LDP对等体关系

        LDP连接过程:

        LDP发现阶段:
设备通过周期性地发送LDP链路Hello报文(LDP Link Hello),实现LDP基本发现机制
LDP链路Hello报文使用UDP报文,目的地址是组播地址224.0.0.2,如果LSR在特定接口接收到LDP链路Hello报文,表明该接口存在LDP邻接体

        TCP连接阶段:
Hello报文携带传输地址,双方后续 将使用传输地址建立 LDP会话
传输地址较大的一方作 为主动方,主动发起建立 TCP连接
经过TCP三次握手之后,双方建立 TCP连接
会议建立 与保持:
邻居发现及TCP三次握手
        Initialization 初始化报文,协商相关参数,
        Opensent    阶段
        Initialization+Keepalive如果被动方接收对方参数,则回应Keepalive报文,并同时发送自己的Initialization报文
        Keepalive 主动方接受,进入OpenRec阶段,进入Operation状态

        LSP连接类型:

MPLS动态协议LDP配置示例_第1张图片

        1、静态LSP是用户通过手工为各个FEC分配标签而建立 的。
        静态不使用标签发布协议,不需要交互控制报文,因此消耗资源比较小
        通过静态方式建立 的LSP不能根据网络拓朴变化 动态调整,需要管理员干预
        适用于拓朴简单且稳定的小型网络
        前一节点出标签值=下一节点入标签值
        2、动态LSP通过标签发布协议动态建立 ,也称为信令协议,负责FEC的分类、标签分发及LSP的建立 和维护等一系列操作
        常用标签分发协议:LDP,Label Distribution Protocol
        LDP广泛应用于VPN服务上,具有组网、配置简单、支持基于路由动态建立 LSP、支持大容量LSP等优点

        MPLS报文解析:

        在二层和三层之间,又称为2.5层,一个标签报文可以包含一个多个MPLS标签

        Label:20bit,用于携带标签值 ,长度20bit
        EXP:Experimental Use,主要用于CoS(Class of Service),长度3bit,(相当于QOS ,如IP的TOS,二层的PRI也都属于QOS标志)
        S:(bottom of Stack)栈底位,用于指示该标签头部 是否为最后一层标签,0表示 当前 标签头部 后还有其他标签头部
        TTL:Time To Live,用于当网络出现环路时,防止标签报文被无限转发,与IP报文的TTL具有相同的意义

        MPLS消息类型:

Discovery Message        Hello             UDP        LDP发现机制中宣告本LSR并发现邻居
Session Message        Initialization      TCP        在LDP Session建立过程中协商参数    
                                     Keepalive          TCP        监控LDP Session的TCP连接的完整性
Advertisement Message    Address     TCP        宣告接口地址
                          Address Withdraw        TCP        撤销接口地址
                            Label Mapping            TCP        宣告FEC、Label映射信息
                            Label Request             TCP       请求FEC的标签映射
                            Label Abort Request    TCP       终止未完成的Label Request Message
                            Label Withdraw            TCP       撤销FEC/Label映射
                            Label Release              TCP       释放标签
Notication Message        Notification      TCP      通知LDP Peer错误信息

        标签的发布和管理:

        在MPLS网络中,下游LSR决定标签和FEC的绑定关系,并将这种绑定关系发布给上游LSR
        标签发布方式Label Advertisement Mode:
        DU模式Downloadstream Unsolicited:下游自主方式
            对于一个特定的FEC,LSR无需从上游获得标签请求消息即进行标签分配与分发
            LSR会主动将自己为FEC捆绑的标签通告给上游邻居,无需邻居先发起请求再通行
        DoD模式Downstream on Demand:下游按需方式
            对于一个特定的FEC,LSR获得标签请求消息之后才进行标签分配与分发
            一般情况下,对特定FEC的访问需求会触发标签请求消息
        标签分配控制方式Label Distribution Control Mode:
            Independent独立方式:本地LSR可以自主地分配一个标签绑定到某个FEC,并通告给上游LSR,而无需等待下游的标签
            Ordered有序方式:对于LSR上某个FEC的标签映射 ,只有当该LSR已经已经具有此FEC下一跳的标签映射 消息、或者该LSR就是此FEC的出节点时,该LSR才向上游发送此标签的映射 
            配置命令:label distribution control-mode {independent | ordered}
        标签保持方式Label Retention Mode:
            Liberal自由模式:LSR收到的标签映射 可能 来自下一跳,也可能来自非下一跳;对于从邻居LSR收到的标签映射 ,无论邻居LSR是不是自己的下一跳都保留
            Conservative保守模式:对于从邻居LSR收到的标签映射 ,只有当邻居LSR是自己的下一跳时才保留

        标签操作:

        Push:当IP报文进入MPLS域时,LER在报文二层头部和IP头部之间插入一个新标签;或者中间设备根据需要,要标签栈顶增加一个新标签(标签嵌套封装)
        Swap:当报文在MPLS域内转发时,根据LFIB表,用下一跳分配的标签,替换MPLS的栈顶标签
        Pop:当报文离开MPLS域时,将MPLS报文的标签剥掉

        MPLS报文label字段(0-19位)标签值解析:

        0-15:特殊标签
         值为0:IPV4 Explicit NULL Label 显式空标签,给QOS用的,LER需要看的空标签,表示里面还有EXP位要看
        值为1:Router Alert Label
        值为2:IPV6显式空标签
        值为3:隐式空标签,LER不需要看的空标签,次末跳,倒数第二跳,PHP(pemultimate hop popping)次末跳弹 出,置换给它一个3标签,让出站的LER直接剥离MPLS头部,即不再查LFIB(Label Forwarding Imformation Base)表,直接剥离LSP,直接进入IP转发或者下一层标签转发(减少最后一跳的负担,减少查表次数)
        4~13、15:保留
        14:OAM Router Alert Label,Operation Administration &Maintenance,通过发送OAM报文检测和通告LSP故障,使用MPLS承载,对于Transit LSR和Penultimate LSR是透明的
        16-1023:静态LSP和静态CR-LSP(Constraint-Based Routed Label Switched Path)共享的标签空间
        1024及以上:动态信令协议的标签空间

二、拓朴图:

MPLS动态协议LDP配置示例_第2张图片

三、主要配置步骤:
  1. 配置IGP协议,使MPLS域内路由互通
  2. 配置MPLS lsr-id,开启mpls协议,为IGP路由触发建立标签,默认情况下,只为32位路由建立 标签,这里设置为所有非32位的路由都发标签
  3. 接口开启mpls、开启mpls ldp标签分发协议
四、主要配置命令:
#
mpls lsr-id 2.2.2.2
mpls
 lsp-trigger all 
#
int G0/0/0
 mpls
 mpls ldp
#
dis mpls lsp
dis mpls ldp peer
dis mpls ldp session

五、测试:

ping测试中抓包,可以看到mpls是在2层和3层之间的协议:

MPLS动态协议LDP配置示例_第3张图片

你可能感兴趣的:(数通,运维,网络,运维)