设为首页收藏本站language→→ 语言切换

鸿鹄论坛

 找回密码
 论坛注册

QQ登录

先注册再绑定QQ

查看: 1668|回复: 6
收起左侧

[分享] LDP(label distribution protocol,标签分发协议)

[复制链接]
 成长值: 59260
发表于 2017-11-7 13:19:44 | 显示全部楼层 |阅读模式
思科知识点汇总贴
http://bbs.hh010.com/thread-529979-1-1.html
(出处: 鸿鹄论坛)
一、标签分发协议
标签发布协议是MPLS的信令协议,负责划分FEC、发布标签、建立维护LSP等。标签发布协议的种类较多,有专为标签发布而制定的协议,如LDP,也有扩展后支持标签发布的协议,如BGP、RSVP-TE。
1.LDP:根据路由表确定LSP路径上的每一跳,LSP路径与原IP分组经过的路由是相同的。LDP建立的LSP没有均衡网络中各链路流量的功能,只能起到建立虚连接的作用。
2.RSVP-TE:携带带宽、部分显式路由、着色等约束参数,通过基于约束的路由算法,可建立满足这些约束条件的LSP,从而实现流量工程、QoS等。RSVP-TE是对原有RSVP的扩展,基于Raw IP。由于Raw IP的传输是不可靠的,RSVP-TE需要对LSP的状态定期刷新。
3.扩展的BGP协议:主要应用于MPLS VPN网络中,可以为VPN分配内层标签,为MPLS VPN建立跨AS域的承载隧道。

二、LDP基本概念
LDP协议规定标签分发过程中的各种消息以及相关的处理进程。通过LDP,LSR可以把网络层的路由信息直接映射到数据链路层的交换路径上,进而建立起LSP。LSP既可以建立在两个相邻的LSR之间,也可以建立在两个非直连的LSR之间,从而在网络中所有中间节点上都使用标签交换。
1.LDP对等体
LDP对等体是指相互之间存在LDP会话、使用LDP来交换标签/FEC映射关系的两个LSR。LDP对等体通过它们之间的LDP会话获得对方的标签映射消息。
2.LDP会话
LDP会话是建立在TCP之上的应用连接,用于在LSR之间交换标签映射、标签释放、差错通知等消息。LDP会话可以分为两种类型:
①本地LDP会话(Local LDP Session):建立会话的两个LSR之间是直连的;
②远端LDP会话(Remote LDP Session):建立会话的两个LSR之间是非直连的。
3.LDP消息类型
①发现(Discovery)消息:用于通告和维护网络中LSR的存在。如Hello消息;
②会话(Session)消息:用于建立、维护和终止LDP对等体之间的会话。如Initialization消息、Keepalive消息;
③通告(Advertisement)消息:用于创建、改变和删除{标签—FEC}绑定。如标签请求消息、标签映射消息;
④通知(Notification)消息:用于提供建议性的消息和差错通知。
注:为保证LDP消息的可靠发送,除了Discovery使用UDP 646端口传输外,LDP的Session消息、Advertisement消息和Notification消息都使用TCP传输,所使用的端口号为646。
4.标签空间与LDP标识符
LDP对等体之间分配标签的范围称为标签空间(Label space)。可以为LSR的每个接口指定一个标签空间(per-interface label space),也可以整个LSR使用一个标签空间(per-platform label space)。一般来说,在帧模式的链路上为全局标签空间,在信元模式的链路上位接口标签空间。
LDP标识符(LDP Identifier)用于标识特定LSR的标签空间,是一个六字节的数值,格式为:{LSR ID}:{标签空间序号}
#其中,LSR ID占四字节,标签空间序号占两字节。标签空间序号取值为1时表示每个接口指定一个标签空间;取值为0时表示整个LSR使用一个标签空间。

三、标签的发布和管理
在MPLS体系中,由下游LSR决定将标签分配给特定FEC,再通知上游LSR。即,标签由下游指定,对应FEC标签的分配顺序是从下游到上游的方向(与路由通告方向相同,数据流的转发方向相反)。
1.标签发布方式(Label Advertisement Mode)
①下游按需方式DoD(Downstream On Demand):对于一个特定的FEC,LSR从上游获得标签请求消息之后才进行标签分配与分发;
②下游自主方式DU(Downstream Unsolicited):对于一个特定的FEC,LSR无须从上游获得标签请求消息即进行标签分配与分发。
注:具有标签分发邻接关系的上游LSR和下游LSR之间必须使用相同的标签发布方式,否则LSP无法正常建立。
2.标签分配控制方式(Label Distribution Control Mode)
①独立标签分配控制(Independent):LSR可以在任意时间向与它连接的上游LSR通告标签映射。这种方式可能导致在收到下游标签之前就向上游发布了标签。
②有序标签控制方式(Ordered):对于LSR上某个FEC的标签映射,只有当该LSR已经具有此FEC下一跳的标签映射消息或者该LSR就是此FEC的出口节点时,该LSR才可以向上游发送此FEC的标签映射。
3.标签保留模式(Label Retention Mode)
标签保留模式是指LSR对收到无效的(路由表中没有对应的IP路由条目或路由通告与Lable通告的下一跳不一致)、目前暂时用不到的{标签—FEC}绑定的处理方式。标签保留模式也分为两种:
①自由标签保留模式(Liberal):对于从邻居LSR收到的标签映射,无论该映射是否有效都保留,并且LSR在向上游通告其他{标签—FEC}绑定时也不会占用这些标签。这种模式的优点是LSR能够迅速适应路由变化;缺点则是浪费标签。
②保守标签保留模式(Conservative):对于从邻居LSR收到的标签映射,只有该映射条目有效时才会保留。这种模式的优点就是LSR可以分配和保存较少的标签数量。
注:保守标签保留模式通常与DoD方式一起,用于标签空间有限的LSR。
4.标签交换中的几个基本概念
①NHLFE(Next Hop Label Forwarding Entry):下一跳标签转发项。用于描述对标签执行的操作,包括压入(Push)操作和交换(Swap)操作。
②FTN(FEC to NHLFE map):在Ingress节点将转发等价类FEC映射到NHLFE的过程。
③ILM(Incoming Label Map):入标签映射。对于接收的标签分组,LSR将标签映射到NHLFE的过程,包括空(Null)操作、弹出(Pop)操作。
5.标签交换的过程
入口LER(Ingress)将进入网络的分组划分成转发等价类FEC。属于相同FEC的分组在MPLS域中将经过相同的路径,即使用同一条LSP。LSR对收到的FEC分组分配一个标签,然后从相应的接口转发出去。标签交换的具体操作描述如下:
①LSP沿途的所有LSR都先建立ILM,入标签是根据ILM表项进行映射的;
②对于接收到的标签分组,LSR将标签映射到NHLFE;
③LSR只需根据标签从标签信息表中找到相应的NHLFE,用新的标签替换原来的标签,然后对标签分组继续转发。

四、LDP基本操作
按照先后顺序,LDP的操作主要包括以下四个阶段:发现阶段;会话建立与维护;LSP建立与维护;会话撤销。
1.发现阶段
在这一阶段,希望建立会话的LSR向相邻LSR周期性地发送Hello消息(端口号:UDP 646),通知相邻节点自己的存在。通过这一过程,LSR可以自动发现它的LDP对等体,而无需进行手工配置。LDP有两种发现机制:
①基本发现机制
基本发现机制用于发现本地的LDP对等体,即通过链路层直接相连的LSR,建立本地LDP会话。
这种方式下,LSR周期性以UDP报文形式从接口发送LDP链路Hello消息(LDP Link Hello),发往标识“子网内所有路由器”的组播地址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对等体。
2.会话建立与维护
发现邻居之后,LSR开始建立会话。这一过程又可分为两步:
①建立传输层连接,即,在LSR之间建立TCP连接(使用Router ID来建立连接);
②随后对LSR之间的会话进行初始化,协商会话中涉及的各种参数,如LDP版本、标签发布方式、Keepalive定时器值、接收路由器的LDP标识符等。会话建立后,通过不断地发送Keepalive消息来维护这个会话。
3.LSP建立与维护
LSP的建立过程实际就是将FEC和标签进行绑定,并将这种绑定通告给相邻LSR的过程。这个过程是通过LDP实现的,以DU模式、有序标签控制方式为例,主要步骤如下:
①当网络的路由改变时,如果有一个边缘节点发现自己的路由表中出现了新的目的地址,并且这一地址不属于任何现有的FEC,则该边缘节点需要为这一目的地址建立一个新的FEC。
②如果此边缘节点存在上游LSR,并且尚有可供分配的标签,则该节点为FEC分配标签,并向上游发出标签映射消息,其中包含分配的标签等信息。
③收到标签映射消息的LSR记录相应的标签映射信息,若消息由对应FEC的下一跳发送,则将在其标签转发表中增加相应的条目。此LSR为它的上游LSR分配标签,并继续向上游LSR发送标签映射消息。
④当入口LSR收到标签映射消息时,在标签转发表中增加相应的条目。这时,就完成了LSP的建立,接下来就可以对该FEC对应的数据分组进行标签转发了。
4.会话撤销
LDP通过检测Hello消息来判断邻接关系;通过检测Keepalive消息来判断会话的完整性。LDP在维持邻接关系和LDP会话时使用不同的定时器。在以下情况下,LSR将撤销LDP会话:
①LSR通过周期性发送Hello消息表明自己希望与邻居LSR继续维持这种邻接关系。如果Hello保持定时器超时仍没有收到新的Hello消息,则删除Hello邻接关系。一个LDP会话上可能存在多个Hello邻接关系。当LDP会话上的最后一个Hello邻接关系被删除后,LSR将发送Notification消息,结束该LDP会话。
②LSR通过LDP会话上传送的LDP PDU(LDP PDU中携带一个或多个LDP消息)来判断LDP会话的连通性。如果会话保持定时器(Keepalive定时器)超时仍没有收到任何LDP PDU,LSR将关闭TCP连接,结束LDP会话。如果在Keepalive定时器超时前,LDP对等体之间没有需要交互的信息,LSR将发送Keepalive消息给LDP对等体,以便维持LDP会话。
③LSR还可以发送Shutdown消息,通知它的LDP对等体结束LDP会话。

五、LDP环路检测
在MPLS域中建立LSP也要防止产生环路,LDP环路检测机制可以检测LSP环路的出现,并避免发生环路。如果对MPLS域进行环路检测,则必须在所有LSR上都配置环路检测。但在建立LDP会话时,并不要求双方的环路检测配置一致。
LDP环路检测有两种方式:
1.最大跳数
在传递标签绑定(或者标签请求)的消息中包含跳数信息,每经过一跳该值就加1。当该值达到规定的最大值时即认为出现环路,LSP建立失败。
2.路径向量
在传递标签绑定(或者标签请求)的消息中记录路径信息,每经过一跳,相应的设备就检查自己的LSR ID是否在此记录中。如果记录中没有自己的LSR ID,就会将其添加到该记录中。
注:在以下条件之一时认为出现环路,LSP建立失败:
①路径向量记录表中已有本LSR的记录;
②路径的跳数达到设置的最大值。

六、LDP 标签过滤
LDP协议在缺省的情况下,从下游邻居接收到的所有FEC的标签映射(标签-FEC绑定)都将接受;并按照水平分割的原则向各个上游邻居通告FEC的标签映射。
LDP标签过滤提供了两种机制,可以有选择的接受从指定LDP下游邻居接收到的标签映射、也可以选择性地向指定LDP上游邻居通告指定地址前缀的标签映射。


发表于 2018-6-12 17:03:27 | 显示全部楼层
感谢楼主分享
5# 2018-6-12 17:03:27 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2018-6-29 17:18:49 | 显示全部楼层
感谢楼主分享
6# 2018-6-29 17:18:49 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2020-7-25 18:48:36 | 显示全部楼层
感谢小乔分享
7# 2020-7-25 18:48:36 回复 收起回复
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2024-5-2 18:32 , Processed in 0.063358 second(s), 9 queries , Redis On.  

  Powered by Discuz!

  © 2001-2024 HH010.COM

快速回复 返回顶部 返回列表