LDP GR技术白皮书
Copyright © 2019 新华三技术有限公司 版权所有,保留一切权利。
非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。
除新华三技术有限公司的商标外,本手册中出现的其它公司的商标、产品标识及商品名称,由各自权利人拥有。
本文中的内容为通用性技术信息,某些信息可能不适用于您所购买的产品。
MPLS节点(LSR)由控制平面和转发平面两部分组成:
· 控制平面(Control Plane):负责利用LDP等信令协议分发标签、建立标签交换路径、建立标签转发表等。
· 转发平面(Forwarding Plane):依据标签转发表对收到的报文进行转发。
在MPLS网络中,LSR的信令协议或控制平面异常时,LSR会删除转发平面上的标签转发表项,导致数据转发中断。事实上,如果转发平面能够正常工作,利用控制平面和转发平面分离的特点,能够实现信令协议或控制平面的异常不会影响数据传输,提高网络的可靠性。
LDP GR(Graceful Restart,平滑重启)利用MPLS转发平面与控制平面分离的特点,在信令协议或控制平面出现异常时,保留标签转发表项,LSR依然根据该表项转发报文,从而保证数据传输不会中断。同时,信令协议或控制平面恢复(为简单起见,以下简称为协议重启)后,LSR在邻居的协助下恢复到重启之前的状态。
导致信令协议或控制平面异常的情况主要有:
· 在指定时间内未收到LDP对等体的Hello或Keepalive消息
· 承载LDP会话的TCP连接中断
· 手工重启LDP协议
· 主控板异常导致主备倒换
· 主控板版本升级时手工执行主备倒换
LDP GR具有以下优点:
· 保证LDP协议重启或主备倒换等过程中转发业务不中断。
· 减少单点故障对网络的影响,提高整个网络的可靠性。
· 实现简单。对LDP协议进行简单地扩展,便可实现LDP GR功能。
· 具有良好的兼容性。如果某LSR支持LDP GR功能,而其LDP对等体不支持,则二者之间建立的LDP会话不具备LDP GR能力,即该LSR协议重启时,删除在LDP会话上通告的标签转发表项,按照普通的方式重启协议。
如图1所示,参与LDP GR过程的设备分为以下两种:
· GR Restarter:GR重启的LSR,指由管理员手工或设备故障触发而重启协议的设备,它必须具备GR能力。
· GR Helper:GR Restarter的邻居LSR,与重启的GR Restarter保持邻居关系,并协助其恢复重启前的转发状态,它也必须具备GR能力。
设备的角色由该设备在LDP GR过程中的作用决定。在某些情况下,GR Restarter与GR Helper的角色可以互换。
LDP GR机制的核心在于:当某LSR(GR Restarter)进行协议重启时,该LSR和它的LDP对等体(GR Helper)在一定时间内保持从对端获取的标签转发表项。在协议重启完毕后,LDP对等体协助其在尽量短的时间内恢复重启前的标签映射信息。在协议重启过程中报文转发路径没有任何改变,整个系统可以不间断地转发数据。
LSR通过在发送的LDP初始化消息(Initialization)中携带FT会话TLV,并将网络学习标记位(L)置为1,标识其是否具有LDP GR能力。
图2 FT会话TLV格式
FT会话TLV的格式如图2所示,其类型值为0x0503。与LDP GR相关的主要字段含义为:
· L:网络学习标记位。取值为1,表示LSR协议重启后,从LDP对等体重新学习标签转发状态。
· FT Reconnect Timeout:FT重连时间。FT会话TLV的发送者期望接收者在检测到LDP对等体失效后等待LDP会话重建的时间。
· Recovery Time:LDP恢复时间。LDP会话重建后,FT会话TLV的发送者期待接收者在LDP恢复时间内协助其完成标签转发表项的更新。
LDP GR定义了如下几个定时器:
· MPLS转发状态保持定时器:GR Restarter协议重启时,保留转发表项的时间。GR Restarter协议重启时,将转发表项置为Stale状态,并启动该定时器。该定时器超时后,删除状态仍旧为Stale的转发表项。
· 重连定时器:GR Helper等待LDP会话重建的时间。GR Helper发现与GR Restarter之间的LDP会话down后,保留LDP会话上建立的FEC-标签映射,将其置为Stale状态,并启动LDP重连定时器。如果该定时器超时时仍没有重新建立LDP会话,则删除状态为Stale的FEC-标签映射及对应的标签转发表项。GR Restarter在LDP会话协商时,将本地配置的GR重连超时时间发送给GR Helper,GR Helper将其作为重连定时器的值。
· LDP恢复定时器:LDP会话重建后,GR Helper协助GR Restarter更新标签转发表项的时间。LDP会话重建后,在GR Helper上启动该定时器。该定时器超时后,GR Helper删除状态仍旧为Stale的FEC-标签映射及对应的标签转发表项。GR Restarter在LDP会话协商时,将本地MPLS转发状态保持定时器的剩余时间发送给GR Helper,GR Helper将其作为LDP恢复定时器的值。
图3 LDP GR工作过程示意图
如图3所示,LDP GR的工作过程为:
(1) GR Restarter和GR Helper之间建立LDP会话。LDP会话建立过程中,GR Restarter和GR Helper在发送的Initialization消息中携带FT会话TLV,且L标记位置为1,标识它们支持LDP GR。
(2) GR Restarter进行协议重启时,启动MPLS转发状态定时器,并将标签转发表项置为Stale状态。GR Helper发现与GR Restarter之间的LDP会话down后,将通过该LDP会话接收的FEC-标签映射置为Stale状态,并启动重连定时器。
(3) GR Restarter协议重启后,重新建立与GR Helper的LDP会话。如果在重连定时器超时前,没有建立LDP会话,则GR Helper删除标记为Stale的FEC-标签映射及对应的标签转发表项。
(4) GR Restarter和GR Helper之间重新建立LDP会话后,GR Helper启动LDP恢复定时器。
(5) GR Restarter和GR Helper在新建立的LDP会话上交互标签映射,更新标签转发表。GR Restarter接收到标签映射后,与标签转发表进行比较,如果标签转发表中存在与标签映射一致的Stale表项,则删除该表项的Stale标记;否则,按照正常的LDP处理流程,添加新的标签转发表项。GR Helper接收到标签映射后,与本地保存的FEC-标签映射进行比较,如果存在一致的标签映射,则删除该FEC-标签映射的Stale标记;否则,按照正常的LDP处理流程,添加新的FEC-标签映射及对应的标签转发表项。
(6) MPLS转发状态保持定时器超时后,GR Restarter删除标记为Stale的标签转发表项。
(7) LDP恢复定时器超时后,GR Helper删除标记为Stale的FEC-标签映射。
· LDP对等体必须同时支持LDP GR功能,其中一台LSR协议重启时才能实现平滑重启。
· LDP GR通常与IGP路由协议的GR功能(如OSPF GR)配合使用,保证主备倒换时路由及标签转发路径不受影响。
如图4所示,在MPLS域内,私网报文沿着PE 1—P 1—P 2—PE 2的路径转发。该路径上的任意一台P设备进行主备倒换时,都会导致该设备及其相邻设备删除标签转发表项,导致数据转发中断。
图4 LDP GR典型组网应用(主备倒换前)
利用LDP GR功能,可以保证设备进行主备倒换时,仍然保留标签转发表项,即控制平面的协议重启,不会影响转发平面的数据转发。如图5所示,P 1进行主备倒换时,私网报文依然可以沿着PE 1—P 1—P 2—PE 2的路径正常转发。主备倒换后,P 1与相邻的路由器(PE 1和P 2)重新建立LDP会话,并在该会话上交互标签映射,以便及时恢复标签转发表。
图5 LDP GR典型组网应用(主备倒换时)
· RFC 3478:Graceful Restart Mechanism for Label Distribution Protocol
· RFC 3479:Fault Tolerance for the Label Distribution Protocol (LDP)
· RFC 5036:LDP Specification