02-LDP配置
本章节下载: 02-LDP配置 (575.12 KB)
LDP(Label Distribution Protocol,标签分发协议)用来动态建立LSP。通过LDP,LSR可以把网络层的IP路由信息映射到MPLS的标签交换路径上。
LDP会话是指建立在TCP连接之上的LDP协议连接,用于在LSR之间交换FEC—标签映射(FEC-Label Mapping)。
LDP对等体是指相互之间存在LDP会话,并通过LDP会话交换FEC—标签映射关系的两个LSR。
标签空间是指标签的取值范围。有以下几种类型的标签空间:
· 每接口标签空间(per-interface label space):每个接口使用一个独立的标签空间。不同接口使用的标签空间中包括的标签值可以相同。
· 每平台标签空间(per-platform label space):整个LSR统一使用一个标签空间。
目前,设备上只支持每平台标签空间。
LDP ID(LDP Identifier,LDP标识符)用于标识特定LSR的标签空间,为一个六字节的数值,格式如下:
<LSR ID>:<标签空间序号>
其中,LSR ID占四字节;标签空间序号占两字节,取值为0时表示每平台标签空间,取值为非0值时表示某个接口使用的标签空间。
LDP协议运行在IPv4网络和运行在IPv6网络中使用相同格式的LDP ID,且要求全局唯一。
FEC(Forwarding Equivalence Class,转发等价类)是MPLS中的一个重要概念。MPLS将具有相同特征(目的地相同或具有相同服务等级等)的报文归为一类,称为FEC。属于相同FEC的报文在MPLS网络中将获得完全相同的处理。
LDP支持根据目的IP地址和PW(Pseudowire,伪线)划分FEC。本文只介绍根据目的IP地址划分FEC。
FEC—标签映射也称为FEC—标签绑定(FEC-Label Binding),是本地LSR设备上标签与FEC的对应关系。LDP通过Label Mapping消息将FEC—标签映射通告给对等体。
LDP协议主要使用四类消息:
· 发现(Discovery)消息:用于通告和维护网络中的LSR,例如Hello消息。
· 会话(Session)消息:用于建立、维护和终止LDP对等体之间的会话,例如用来协商会话参数的Initialization消息和用于维护会话的Keepalive消息。
· 通告(Advertisement)消息:用于创建、改变和删除“FEC—标签”映射关系,例如用来通告标签映射的Label Mapping消息。
· 通知(Notification)消息:用于提供建议性信息的消息和差错通知,例如Notification消息。
为保证LDP消息的可靠发送,除了发现消息使用UDP传输外,LDP的会话消息、通告消息和通知消息都使用TCP传输。
LDP协议既可在IPv4网络或IPv6网络中运行,也可在IPv4和IPv6并存的网络中运行,LDP在IPv4和IPv6网络中的工作过程基本相同。
LDP工作过程主要包括对等体发现与维护、会话建立与维护、LSP建立三个阶段。
使能了LDP能力的LSR周期性地发送Hello消息,通告自己的存在。通过Hello消息,LSR可以自动发现它周围的LSR邻居,并与其建立Hello邻接关系。
LDP对等体发现机制分为两种:
· 基本发现机制:用于发现本地直连的LSR邻居,即通过链路层直接相连的LSR。在这种方式下,LSR周期性地向组播地址224.0.0.2(IPv4网络)或FF02:0:0:0:0:0:0:2(IPv6网络)发送LDP的Link Hello消息,以便链路层直接相连的LSR发现此LSR,在IPv4和IPv6共存的网络中,LSR会向直连LSR同时发送IPv4 Link Hello消息和IPv6 Link Hello消息,并与邻接LSR同时保持IPv4 Link Hello邻接关系和IPv6 Link Hello邻接关系。
· 扩展发现机制:可用于发现远端非直连的LSR邻居,即不通过链路层直接相连的LSR。这种方式下,LSR周期性地向指定的IP地址发送LDP的Targeted Hello消息,以便指定IP地址对应的LSR发现此LSR。如果指定的地址为IPv4地址,则发送IPv4 Targeted Hello消息;如果指定的地址为IPv6地址,则发送IPv6 Targeted Hello消息。
LSR可以与直连的邻居同时建立Link Hello和Targeted Hello两种邻接关系。
LDP对等体之间通过周期性地发送Hello消息来维护Hello邻接关系。如果Hello保持定时器超时时仍没有收到新的Hello消息,则删除Hello邻接关系。
通过交互Hello消息发现LSR邻居后,LSR开始与其建立会话。这一过程可分为两步:
(1) 建立传输层连接,即在LSR之间建立TCP连接,在IPv4和IPv6共存的网络中LSR会优先建立IPv6 TCP连接,如果建立IPv6 TCP连接失败,则会尝试建立IPv4 TCP连接;
(2) 通过交换会话初始化消息对LSR之间的会话进行初始化,协商会话中涉及的各种参数,如LDP版本、标签通告方式、Keepalive保持时间等。如果会话参数协商通过,则LSR之间成功建立LDP会话。
会话建立后,LDP对等体之间通过发送LDP PDU(LDP PDU中携带一个或多个LDP消息)来维护这个会话。如果在Keepalive报文发送时间间隔内,LDP对等体之间没有需要交互的信息,则LSR发送Keepalive消息给LDP对等体,以便维持LDP会话。如果Keepalive保持定时器超时时,没有收到任何LDP PDU,LSR将关闭TCP连接,结束LDP会话。
一个LDP会话上可能存在多个Hello邻接关系。当LDP会话上的最后一个Hello邻接关系被删除后,LSR将发送通知消息,结束该LDP会话。
相邻LSR之间只会建立一个LDP会话,但可在此会话中同时交互IPv4 FEC—标签映射和IPv6 FEC—标签映射。
LSR还可以通过发送Shutdown消息,通知它的LDP对等体结束LDP会话。
利用LDP动态建立LSP的过程如图1-1所示。LSR根据IP路由表项中的目的IP地址划分FEC,为不同的FEC分配不同的标签,并将FEC—标签映射通告给对端LSR;对端LSR根据接收到的FEC—标签映射及本地为该FEC分配的标签建立标签转发表项。从Ingress到Egress的所有LSR都为该FEC建立对应的标签转发表项后,就成功地建立了用于转发属于该FEC报文的LSP。
图1-1 动态LSP建立过程
如图1-2所示,根据建立了会话的一对LSR中哪个LSR负责发起标签映射过程,标签通告方式分为:
· DU(Downstream Unsolicited,下游自主方式):下游LSR主动将FEC—标签映射通告给上游LSR,无需等待上游LSR的标签请求。在DU方式中,下游LSR负责发起标签映射过程。
· DoD(Downstream On Demand,下游按需方式):上游LSR请求下游LSR为FEC分配标签,下游LSR收到请求后,才会将该FEC的FEC—标签映射通告给请求标签的上游LSR。在DoD方式中,上游LSR负责发起标签映射过程。
目前,设备只支持DU标签通告方式。
具有标签分发邻接关系的上游LSR和下游LSR之间必须使用相同的标签通告方式,否则LSP无法正常建立。
根据通告FEC—标签映射前是否要求收到下游的FEC—标签映射,标签分发控制方式分为独立标签分发控制方式(Independent)和有序标签分发控制方式(Ordered)。
· 独立标签分发控制方式:LSR可以在任意时间向与它连接的LSR通告FEC—标签映射。使用这种方式时,LSR可能会在收到下游LSR的FEC—标签映射之前就向上游通告了FEC—标签映射。如图1-3所示,如果标签通告方式是DU,则即使没有获得下游的FEC—标签映射,也会直接向上游LSR通告FEC—标签映射;如果标签通告方式是DoD,则接收到标签请求的LSR直接向它的上游LSR通告FEC—标签映射,不必等待来自它的下游的FEC—标签映射。
· 有序标签分发控制方式:LSR只有收到它的下游LSR为某个FEC通告的FEC—标签映射,或该LSR是此FEC的出口节点时,才会向它的上游LSR通告此FEC的FEC—标签映射。图1-2中的标签通告过程采用了有序标签控制方式:如果标签通告方式为DU,则LSR只有收到下游LSR通告的FEC—标签映射,才会向自己的上游LSR通告FEC—标签映射;如果标签通告方式为DoD,则下游LSR(Transit)收到上游LSR(Ingress)的标签请求后,继续向它的下游LSR(Egress)发送标签请求,Transit收到Egress通告的FEC—标签映射后,才会向Ingress通告FEC—标签映射。
根据LSR是否保持收到的、但暂时未使用的FEC—标签映射,标签保持方式分为:
· 自由标签保持方式(Liberal):对于从邻居LSR收到的标签映射,无论邻居LSR是不是指定FEC的下一跳都保留。这种方式的优点是LSR能够迅速适应网络拓扑变化,但是由于需要保留所有不能生成LSP的标签,浪费了内存等系统资源。
· 保守标签保持方式(Conservative):对于从邻居LSR收到的标签映射,只有当邻居LSR是指定FEC的下一跳时才保留。这种方式的优点是节省标签,但是对拓扑变化的响应较慢。
目前,设备只支持自由标签保持方式。
LDP GR(Graceful Restart,平滑重启)利用MPLS转发平面与控制平面分离的特点,在信令协议或控制平面出现异常时,保持标签转发表项,LSR依然根据该表项转发报文,从而保证数据转发不中断。
如图1-4所示,参与LDP GR过程的设备分为以下两种:
· GR restarter:GR重启的LSR,指由管理员手工触发或控制平面异常而重启协议的设备,它必须具备GR能力。
· GR helper:GR restarter的邻居LSR,与重启的GR restarter保持邻居关系,并协助其恢复重启前的转发状态。
设备既可以作为GR restarter,又可以作为GR helper,设备的角色由该设备在LDP GR过程中的作用决定。
图1-5 LDP GR工作过程示意图
如图1-5所示,LDP GR的工作过程为:
(1) LSR之间建立LDP会话时,LSR在发送的Initialization消息中携带FT(Fault Tolerance,容错)会话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—标签映射及对应的标签转发表项。如果在重连定时器超时前,重新建立LDP会话,GR restarter将转发状态保持定时器的剩余时间作为恢复定时器时间值通告给GR helper。
(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—标签映射。
GR restarter在LDP会话协商时,将本地配置的GR重连超时时间和GR转发状态保持定时器的剩余时间发送给GR helper,GR helper分别将其作为重连定时器的值和LDP恢复定时器的值。
LDP NSR(Nonstop Routing,不间断路由)是一种通过在LDP协议主备进程之间备份必要的协议状态和数据(如LDP会话信息和LSP信息),使得LDP协议的主进程中断时,备份进程能够无缝地接管主进程的工作,从而确保对等体感知不到LDP协议中断,保证LDP会话保持Operational状态,并保证转发不会中断的技术。
导致LDP主进程中断的事件包括以下几种:
· LDP主进程重启
· LDP主进程所在的主控板发生故障
· LDP主进程所在的主控板进行ISSU(In-Service Software Upgrade,不中断业务升级)
· 进程分布优化为LDP进程决策出的位置不同于当前运行的位置而进行进程主备倒换
LDP协议的主进程和备进程运行在不同的主控板上,因此要运行LDP NSR功能,设备上必须有两个或两个以上的主控板。
LDP基于IGP最优路由建立LSP,LDP和IGP不同步可能导致MPLS流量转发中断。LDP和IGP不同步包括如下情况:
· 某条链路up后,IGP通告并使用了这条链路,而此时这条链路上LDP LSP尚未建立;
· 当LDP会话down时,IGP继续使用这条链路,而此时这条链路上的LDP LSP已经拆除;
· 标签分发控制方式为有序方式时,还没有收到下游设备通告的标签映射,尚未建立LDP LSP,IGP就已经使用该链路。
启用LDP IGP同步功能后,只有LDP在某条链路上收敛,IGP才会为这条链路通告正常的开销值,否则通告链路开销的最大值,使得这条链路在IGP拓扑中可见,但是在其它链路可用的情况下,IGP不会将该链路选为最优路由,从而确保设备收到MPLS报文时,不会因为最优路由上的LDP LSP没有建立而丢弃MPLS报文。
同时满足如下条件时,设备认为LDP在某条链路上已收敛:
· 在该链路上本地设备至少与一个对等体建立了LDP会话,且该LDP会话已进入operational状态。
· 在该链路上本地设备至少向一个对等体发送完标签映射。
缺省情况下,LDP在某条链路上收敛后立即通知IGP,以便IGP发布该链路的正常开销值。但是,在某些情况下,LDP收敛后立即通知IGP,可能会导致MPLS流量转发中断,例如:
· 对等体的标签分发控制方式为有序方式时,LDP会话进入operational状态后,设备需要等待下游的标签映射。如果尚未收到下游的标签映射就向IGP通知LDP收敛,则可能导致MPLS流量转发中断。
· 下游的标签映射比较多时,如果LDP收敛后立即通知IGP,则下游的标签映射可能尚未通告完成,导致MPLS流量转发中断。
在这些情况下,需要配置恰当的延迟通知时间,即LDP在某条链路上收敛后,等待延迟时间再通知IGP,以最大限度地缩短MPLS流量中断的时间。
LDP协议重启或倒换后,需要等待一段时间LDP才会收敛。如果在协议重启或倒换后,LDP立即将当前所有的LDP IGP同步状态通知给IGP,在LDP收敛后再更新这些状态,则可能会导致IGP频繁地根据不同的同步状态进行处理,增加了IGP的处理开销。
LDP协议重启或倒换后的延迟通知机制可以用来解决上述问题。该机制提供了LDP进程级别的延迟通知时间,即在LDP协议重启或倒换的情况下,等待LDP恢复到重启或倒换前的收敛状态后,再批量通知LDP IGP同步状态,以减少IGP的处理开销。如果到达指定的最大延迟时间时,仍未恢复之前的收敛状态,则立即向IGP批量通告当前的LDP IGP同步状态。
当MPLS网络中的链路或某台路由器发生故障时,需要通过故障链路或故障路由器传送才能到达目的地的MPLS报文将会丢弃,MPLS流量转发将会中断,直到LDP沿着新的路径建立新的LDP LSP,被中断的MPLS流量才能恢复正常的传送。
LDP快速重路由功能可用来缩短网络故障导致的MPLS流量中断时间。LDP快速重路由完全基于IP快速重路由实现,在IP快速重路由使能后,LDP快速重路由即自动使能。IP快速重路由有两种实现方式:
· IGP协议自动计算备份下一跳
· IGP协议通过路由策略指定备份下一跳
图1-6 LDP快速重路由功能示意图
如图1-6所示,LSR A上使能IP快速重路由功能后,IGP将为路由自动计算或通过路由策略指定备份下一跳,建立主备两条路由,LDP基于主备路由建立主备两条LSP。主LSP正常工作时,MPLS流量通过主LSP转发;当主LSP出现故障时,MPLS流量快速切换到备份LSP,从而缩短网络故障导致的流量中断时间。
通过备份LSP转发流量的同时,IGP会根据变化后的网络拓扑重新计算最优路由,LDP也会基于该路由建立新的LSP。LDP LSP的建立在IGP路由收敛之后,如果LDP收敛之前IGP就采用新的路由,则将导致MPLS流量中断。因此在使用LDP快速重路由的情况下,建议同时使能LDP IGP同步功能,以减少故障发生后IGP重新收敛导致的流量中断的时间。
与MPLS相关的协议规范有:
· RFC 5036:LDP Specification
· draft-ietf-mpls-ldp-ipv6-09.txt
LDP配置任务如下:
(1) 使能LDP能力
(2) (可选)调整和优化LDP
(3) (可选)调整和控制LSP的建立
(4) (可选)配置LDP的标签分发和管理
(5) (可选)配置LDP MD5认证
该功能主要用于存在大量非TTL递减设备(如标签控制的ATM交换机)的MPLS网络。
(6) (可选)配置LDP高可靠性
¡ 配置LDP GR
(7) (可选)开启LDP模块的告警功能
要使接口的LDP能力生效,必须先全局使能LDP,然后在相应的接口上使能LDP。
(1) 进入系统视图。
system-view
(2) 使能本节点的LDP能力,或使能指定VPN实例的LDP能力。
¡ 使能本节点的LDP能力,并进入LDP视图。
mpls ldp
¡ 请依次执行以下命令使能指定VPN实例的LDP能力,为该VPN创建LDP实例,并进入LDP-VPN实例视图。
mpls ldp
vpn-instance vpn-instance-name
缺省情况下,LDP能力处于关闭状态。
(3) 配置LDP的LSR ID。
lsr-id lsr-id
缺省情况下,LDP的LSR ID与MPLS LSR ID相同。
(1) 进入系统视图。
system-view
(2) 进入需要建立LDP会话的接口视图。
interface interface-type interface-number
如果该接口绑定了VPN实例,则需要在LDP视图下通过vpn-instance命令使能指定VPN实例的LDP能力。
(3) 使能接口的LDP支持IPv4能力。
mpls ldp enable
缺省情况下,接口的LDP支持IPv4能力处于关闭状态。
(4) 使能接口的LDP支持IPv6能力。
mpls ldp ipv6 enable
缺省情况下,接口的LDP支持IPv6能力处于关闭状态。
LDP的Hello消息分为以下几种:
· 用于发现直连邻居的Link hello消息,如果在接口上同时使能LDP支持IPv4能力和LDP支持IPv6能力,则在接口下配置的Link Hello消息参数可同时应用于IPv4 Link Hello消息和IPv6 Link Hello消息。
· 用于发现非直连邻居的Targeted hello消息。
Hello消息参数包括:
· Link hello保持时间和报文发送时间间隔。
· Targeted hello保持时间和报文发送时间间隔。
修改Hello消息参数,不会对已建立的LDP会话生效。如果要求对已建立的会话生效,则需执行reset mpls ldp命令重启公网或指定LDP实例中的所有会话。
(1) 进入系统视图。
system-view
(2) 进入建立LDP会话的接口视图。
interface interface-type interface-number
(3) 配置Link hello保持时间。
mpls ldp timer hello-hold timeout
缺省情况下,Link hello保持时间为15秒。
(4) 配置Link hello报文发送时间间隔。
mpls ldp timer hello-interval interval
缺省情况下,Link hello报文发送时间间隔为5秒。
(1) 进入系统视图。
system-view
(2) 进入LDP视图。
mpls ldp
(3) 配置主动向指定对等体发送Targeted hello消息来建立LDP会话,允许应答指定对等体的Targeted hello消息,并进入LDP对等体视图。
targeted-peer { ipv4-address | ipv6-address }
缺省情况下,设备不会主动向对等体发送Targeted hello消息,也不会应答对等体的Targeted hello消息。
(4) 配置Targeted hello保持时间。
mpls ldp timer hello-hold timeout
缺省情况下,Targeted hello保持时间为45秒。
(5) 配置Targeted hello报文发送时间间隔。
mpls ldp timer hello-interval interval
缺省情况下,Targeted hello报文发送时间间隔为15秒。
可以通过配置修改如下LDP会话参数:
· Keepalive保持时间和报文发送时间间隔。
· LDP传输地址,即用来建立TCP连接的IP地址。
配置的LDP传输地址应为设备上处于up状态的接口的IP地址,否则LDP会话将无法建立。
两端LSR的LDP传输地址必须路由可达。否则,无法建立TCP连接。
修改LDP会话参数,不会对已建立的LDP会话生效。如果要求对已建立的会话生效,则需执行reset mpls ldp命令重启公网或指定LDP实例中的所有会话。
(1) 进入系统视图。
system-view
(2) 进入建立LDP会话的接口视图。
interface interface-type interface-number
(3) 配置Keepalive保持时间。
mpls ldp timer keepalive-hold timeout
缺省情况下,Keepalive保持时间为45秒。
(4) 配置Keepalive报文发送时间间隔。
mpls ldp timer keepalive-interval interval
缺省情况下,Keepalive报文发送时间间隔为15秒。
(5) 配置LDP IPv4传输地址。
mpls ldp transport-address { ipv4-address | interface }
缺省情况下,如果建立LDP会话的接口属于公网,则传输地址是本LSR的LSR ID;如果该接口属于某个VPN,则传输地址是本接口的主IP地址。
如果建立LDP会话的接口与某个VPN实例绑定,则本命令指定的传输地址所在的接口需要与同一个VPN实例绑定。
(6) 配置LDP IPv6传输地址。
mpls ldp transport-address ipv6-address
缺省情况下,未配置LDP IPv6传输地址。
(1) 进入系统视图。
system-view
(2) 进入LDP视图。
mpls ldp
(3) 配置主动向指定对等体发送Targeted hello消息来建立LDP会话,允许应答指定对等体的Targeted hello消息,并进入LDP对等体视图。
targeted-peer ipv4-address
缺省情况下,设备不会主动向对等体发送Targeted hello消息,也不会应答对等体的Targeted hello消息。
(4) 配置Keepalive保持时间。
mpls ldp timer keepalive-hold timeout
缺省情况下,Keepalive保持时间为45秒。
(5) 配置Keepalive报文发送时间间隔。
mpls ldp timer keepalive-interval interval
缺省情况下,Keepalive报文发送时间间隔为15秒。
(6) 配置LDP传输地址。
mpls ldp transport-address ipv4-address
缺省情况下,传输地址是本LSR的LSR ID。
(1) 进入系统视图。
system-view
(2) 进入LDP视图。
mpls ldp
(3) 配置主动向指定对等体发送Targeted hello消息来建立LDP会话,允许应答指定对等体的Targeted hello消息,并进入LDP对等体视图。
targeted-peer ipv6-address
缺省情况下,设备不会主动向对等体发送Targeted hello消息,也不会应答对等体的Targeted hello消息。
(4) 配置Keepalive保持时间。
mpls ldp timer keepalive-hold timeout
缺省情况下,Keepalive保持时间为45秒。
(5) 配置Keepalive报文发送时间间隔。
mpls ldp timer keepalive-interval interval
缺省情况下,Keepalive报文发送时间间隔为15秒。
(6) 配置LDP传输地址。
mpls ldp transport-address ipv6-address
缺省情况下,未配置LDP IPv6传输地址。
如果LDP对等体上配置的LDP会话参数不兼容(如LDP对等体使用的标签通告方式不同),则会导致会话参数协商失败、LDP对等体无休止地反复尝试建立会话。
LDP倒退机制用来抑制尝试建立会话的频率。如果会话因为参数不兼容而建立失败,LSR将等待初始延迟时间再尝试建立会话;如果会话再次因为参数不兼容而建立失败,则再次尝试建立会话的延迟时间为上一次延迟时间×2;延迟时间达到配置的最大值后,尝试建立会话的等待时间将保持为配置的最大延迟。
(1) 进入系统视图。
system-view
(2) 进入LDP视图或LDP-VPN实例视图。
¡ 进入LDP视图。
mpls ldp
¡ 请依次执行以下命令进入LDP-VPN实例视图。
mpls ldp
vpn-instance vpn-instance-name
(3) 配置LDP倒退机制的初始延迟和最大延迟。
backoff initial initial-time maximum maximum-time
缺省情况下,LDP倒退机制的初始延迟为15秒,最大延迟为120秒。
DSCP(Differentiated Services Code Point,区分服务编码点)携带在IP报文中的ToS字段,用来体现报文自身的优先等级,决定报文传输的优先程度。通过本配置可以指定发送的LDP报文中携带的DSCP优先级的取值。
(1) 进入系统视图。
system-view
(2) 进入LDP视图。
mpls ldp
(3) 配置发送的LDP报文的DSCP优先级。
dscp dscp-value
缺省情况下,发送的LDP报文的DSCP优先级为48。
缺省情况下,LDP自动引入IGP路由(包括已引入到IGP的BGP路由),并为通过LSP触发策略的IGP路由和通过LSP触发策略的带标签BGP路由分配标签,但不自动引入未被引入到IGP的BGP单播路由。这就导致了在一些特殊的组网环境下,如在运营商的运营商组网中,如果一级运营商的PE与二级运营商CE之间未配置OSPF、IS-IS等IGP协议,则无法通过LDP为BGP单播路由分配标签,因而无法建立LDP LSP。
通过配置LDP引入BGP单播路由,可将BGP单播路由强制引入至LDP,如果该路由通过LSP触发策略,则为其分配标签建立LSP。
(1) 进入系统视图。
system-view
(2) 进入LDP视图或LDP-VPN实例视图。
¡ 进入LDP视图。
mpls ldp
¡ 请依次执行以下命令进入LDP-VPN实例视图。
mpls ldp
vpn-instance vpn-instance-name
(3) 配置LDP引入BGP IPv4单播路由。
import bgp [ as-number ]
缺省情况下,LDP不主动引入BGP IPv4单播路由。
(4) 配置LDP引入BGP IPv6单播路由。
ipv6 import bgp [ as-number ]
缺省情况下,LDP不主动引入BGP IPv6单播路由。
使能LDP后,LDP可将路由表项中的路由引入至LDP,并根据其目的网络地址划分FEC。在LSR上配置LSP触发策略,可以限制哪些引入到LDP的路由表项能够触发LDP为其目的网络地址分配标签并建立LSP,从而控制LSP的数量,避免LSP数量过多导致设备运行不稳定。
对于引入到LDP的路由表项,LSP触发策略包括:
· 所有路由表项都会触发LDP建立LSP。
· 利用IP地址前缀列表对路由表项进行过滤,被IP地址前缀列表拒绝的路由表项不能触发建立LSP。采用这种LSP触发策略时,需要创建IP地址前缀列表,创建方法请参见“三层技术-IP路由配置指导”中的“路由策略”。
· 只有32位掩码的IPv4主机路由或128位前缀的IPv6主机路由能够触发LDP建立LSP。
缺省情况下,只有32位掩码的IPv4主机路由或128位前缀的IPv6主机路由能够触发LDP建立LSP。在非必要的情况下,建议用户不要随意修改LSP触发策略,以免建立过多的LSP,占用系统和网络资源。
(1) 进入系统视图。
system-view
(2) 进入LDP视图或LDP-VPN实例视图。
¡ 进入LDP视图。
mpls ldp
¡ 请依次执行以下命令进入LDP-VPN实例视图。
mpls ldp
vpn-instance vpn-instance-name
(3) 配置IPv4 LSP的触发策略。
lsp-trigger { all | prefix-list prefix-list-name }
缺省情况下,只有引入到LDP的32位掩码的IPv4主机路由能够触发LDP建立LSP。
(4) 配置IPv6 LSP的触发策略。
ipv6 lsp-trigger { all | prefix-list prefix-list-name }
缺省情况下,只有引入到LDP的128位前缀的IPv6主机路由能够触发LDP建立LSP。
(1) 进入系统视图。
system-view
(2) 进入LDP视图或LDP-VPN实例视图。
¡ 进入LDP视图。
mpls ldp
¡ 请依次执行以下命令进入LDP-VPN实例视图。
mpls ldp
vpn-instance vpn-instance-name
(3) 配置标签分发控制方式。
label-distribution { independent | ordered }
缺省情况下,标签分发控制方式为有序方式(ordered)。
标签通告控制用来控制向哪些对等体通告哪些FEC—标签映射,即LSR只将指定地址前缀的标签映射通告给指定的对等体。在复杂的MPLS网络环境中,通过标签通告控制可以规划动态建立的LSP,并避免设备通告大量的标签映射。
如图1-7,LSR A将FEC目的地址通过地址前缀列表B过滤的FEC—标签映射通告给LSR B;将FEC目的地址通过地址前缀列表C过滤的FEC—标签映射通告给LSR C。
在下游LSR上配置标签通告控制策略与在上游LSR上配置标签接受控制策略具有相同的效果。如果下游LSR支持配置标签通告控制策略,则推荐使用标签通告控制策略,以减轻网络负担。
在配置LDP标签通告控制策略时,需要创建IP地址前缀列表,创建方法请参见“三层技术-IP路由配置指导”中的“路由策略”。
(1) 进入系统视图。
system-view
(2) 进入LDP视图或LDP-VPN实例视图。
¡ 进入LDP视图。
mpls ldp
¡ 请依次执行以下命令进入LDP-VPN实例视图。
mpls ldp
vpn-instance vpn-instance-name
(3) 配置IPv4 FEC标签通告控制策略。
advertise-label prefix-list prefix-list-name [ peer peer-prefix-list-name ]
缺省情况下,未配置标签通告控制策略,即向所有对等体通告满足LSP触发策略的所有IPv4地址前缀的标签映射。
(4) 配置IPv6 FEC标签通告控制策略。
ipv6 advertise-label prefix-list prefix-list-name [ peer peer-prefix-list-name ]
缺省情况下,未配置标签通告控制策略,即向所有对等体通告满足LSP触发策略的所有IPv6地址前缀的标签映射。
标签接受控制用来实现对从指定对等体接收的FEC—标签映射进行过滤,只接受指定地址前缀的FEC—标签映射。在复杂的MPLS网络环境中,通过标签接受控制可以规划动态建立的LSP,并避免设备保存大量的标签映射。
如图1-8,LSR A对LSR B通告的FEC—标签映射进行过滤,只有FEC的目的地址通过指定地址前缀列表过滤后,才会接受该FEC—标签映射;对LSR C通告的标签不进行过滤。
在下游LSR上配置标签通告控制策略与在上游LSR上配置标签接受控制策略具有相同的效果。如果下游LSR支持配置标签通告控制策略,则推荐使用标签通告控制策略,以减轻网络负担。
在配置LDP标签接受控制策略时,需要创建IP地址前缀列表,创建方法请参见“三层技术-IP路由配置指导”中的“路由策略”。
(1) 进入系统视图。
system-view
(2) 进入LDP视图或LDP-VPN实例视图。
¡ 进入LDP视图。
mpls ldp
¡ 请依次执行以下命令进入LDP-VPN实例视图。
mpls ldp
vpn-instance vpn-instance-name
(3) 配置IPv4 FEC标签接受控制策略。
accept-label peer peer-lsr-id prefix-list prefix-list-name
缺省情况下,未配置标签接受控制策略,接受来自所有对等体的所有IPv4地址前缀的标签映射。
(4) 配置IPv6 FEC标签接受控制策略。
ipv6 accept-label peer peer-lsr-id prefix-list prefix-list-name
缺省情况下,未配置标签接受控制策略,接受来自所有对等体的所有IPv6地址前缀的标签映射。
为了提高LDP会话的安全性,可以配置在LDP会话使用的TCP连接上采用MD5认证,来验证LDP消息的完整性。
要想在LDP对等体之间成功建立LDP会话,必须保证LDP对等体上的LDP MD5认证配置一致。
(1) 进入系统视图。
system-view
(2) 进入LDP视图或LDP-VPN实例视图。
¡ 进入LDP视图。
mpls ldp
¡ 请依次执行以下命令进入LDP-VPN实例视图。
mpls ldp
vpn-instance vpn-instance-name
(3) 使能LDP的MD5认证功能。
md5-authentication peer-lsr-id { cipher | plain } string
缺省情况下,LDP的MD5认证功能处于关闭状态。
会话保护功能实现了基本发现机制失效时,利用扩展发现机制来保持与对等体的会话,确保基本发现机制恢复时,LDP协议能够快速收敛。会话保护功能主要应用在LDP对等体之间存在直连和非直连多条路径的组网环境中。
使能与指定对等体的会话保护功能后,如果通过Link hello消息发现了该直连的LDP对等体,则本地LSR不仅与其建立Link hello邻接关系,还会向该对等体发送Targeted hello消息,与其建立Targeted hello邻接关系。当直连链路出现故障时,Link hello邻接关系将被删除。如果此时非直连链路正常工作,则Targeted hello邻接关系依然存在,因此,LDP会话不会被删除,基于该会话的FEC—标签映射等信息也不会删除。直连链路恢复后,不需要重新建立LDP会话、重新学习FEC—标签映射等信息,从而加快了LDP收敛速度。
使能会话保护功能时,还可以指定会话保护持续时间,即Link hello邻接关系被删除后,用Targeted hello邻接关系继续保持会话的时间。如果在会话保护持续时间内,Link hello邻接关系没有恢复,则删除Targeted hello邻接关系,对应的LDP会话也将被删除。如果未指定会话保护持续时间,则用Targeted hello邻接关系永久保持会话。
LDP会话保护功能仅支持在IPv4网络中进行配置。
(1) 进入系统视图。
system-view
(2) 进入LDP视图。
mpls ldp
(3) 使能会话保护功能。
session protection [ duration time ] [ peer peer-prefix-list-name ]
缺省情况下,会话保护功能处于关闭状态。
配置LDP GR之前,需要在作为GR restarter和作为GR helper的设备上均配置LDP能力。
只需要在作为GR Restarter的设备上进行以下配置,但由于设备在GR过程中的角色不可预知,建议在所有设备上均进行以下配置。
(1) 进入系统视图。
system-view
(2) 进入LDP视图。
mpls ldp
(3) 使能LDP协议的GR能力。
graceful-restart
缺省情况下,LDP协议的GR能力处于关闭状态。
(4) (可选)配置GR重连超时时间。
graceful-restart timer reconnect reconnect-time
缺省情况下,GR重连超时时间为120秒。
(5) (可选)配置GR转发状态保持定时器的值。
graceful-restart timer forwarding-hold hold-time
缺省情况下,GR转发状态保持定时器的值为180秒。
(1) 进入系统视图。
system-view
(2) 进入LDP视图。
mpls ldp
(3) 使能LDP NSR功能。
non-stop-routing
缺省情况下,LDP NSR功能处于关闭状态。
在OSPF进程、OSPF区域或IS-IS进程下使能LDP IGP同步功能后,所有属于该OSPF进程、OSPF区域或IS-IS进程的接口上都会自动使能LDP IGP同步功能。用户可以根据实际需要,在某个接口上关闭LDP IGP同步功能。
LDP IGP同步功能仅支持在IPv4网络中进行配置。
执行ospf命令时,如果通过vpn-instance vpn-instance-name参数指定了OSPF进程所属的VPN实例,则该OSPF进程下、该进程的OSPF区域下不能配置LDP IGP同步功能。
执行isis命令时,如果通过vpn-instance vpn-instance-name参数指定了IS-IS进程所属的VPN实例,则该IS-IS进程下不能配置LDP IGP同步功能。
(1) 进入系统视图。
system-view
(2) 进入OSPF视图。
ospf [ process-id | router-id router-id ] *
(3) 使能LDP OSPF同步功能。
mpls ldp sync
缺省情况下,LDP OSPF同步功能处于关闭状态。
(4) (可选)在接口上关闭LDP IGP同步功能。
a. 退回系统视图。
quit
b. 进入接口视图。
interface interface-type interface-number
c. 关闭接口的LDP IGP同步功能。
mpls ldp igp sync disable
缺省情况下,接口上的LDP IGP同步功能处于开启状态。
(5) (可选)配置LDP OSPF同步相关参数。
a. 退回系统视图。
quit
b. 进入LDP视图。
mpls ldp
c. 配置向IGP通知LDP已收敛的延迟时间。
igp sync delay time
缺省情况下,LDP收敛后立即通知IGP。
d. 配置在LDP协议重启或倒换后,向IGP通告LDP IGP同步状态的最大延迟时间。
igp sync delay on-restart time
缺省情况下,在LDP协议重启或倒换后,向IGP通告LDP IGP同步状态的最大延迟时间为90秒。
(1) 进入系统视图。
system-view
(2) 进入OSPF视图。
ospf [ process-id | router-id router-id ] *
(3) 进入OSPF区域视图。
area area-id
(4) 使能LDP OSPF同步功能。
mpls ldp sync
缺省情况下,LDP OSPF同步功能处于关闭状态。
(5) (可选)在接口上关闭LDP IGP同步功能。
a. 退回系统视图。
quit
b. 进入接口视图。
interface interface-type interface-number
c. 关闭接口的LDP IGP同步功能。
mpls ldp igp sync disable
缺省情况下,接口上的LDP IGP同步功能处于开启状态。
(6) (可选)配置LDP OSPF同步相关参数。
a. 退回系统视图。
quit
b. 进入LDP视图。
mpls ldp
c. 配置向IGP通知LDP已收敛的延迟时间。
igp sync delay time
缺省情况下,LDP收敛后立即通知IGP。
d. 配置在LDP协议重启或倒换后,向IGP通告LDP IGP同步状态的最大延迟时间。
igp sync delay on-restart time
缺省情况下,在LDP协议重启或倒换后,向IGP通告LDP IGP同步状态的最大延迟时间为90秒。
(1) 进入系统视图。
system-view
(2) 进入IS-IS视图。
isis [ process-id ]
(3) 使能LDP IS-IS同步功能。
mpls ldp sync [ level-1 | level-2 ]
缺省情况下,LDP IS-IS同步功能处于关闭状态。
(4) (可选)在接口上关闭LDP IGP同步功能。
a. 退回系统视图。
quit
b. 进入接口视图。
interface interface-type interface-number
c. 关闭接口的LDP IGP同步功能。
mpls ldp igp sync disable
缺省情况下,接口上的LDP IGP同步功能处于开启状态。
(5) (可选)配置LDP IS-IS同步相关参数。
a. 退回系统视图。
quit
b. 进入LDP视图。
mpls ldp
c. 配置向IGP通知LDP已收敛的延迟时间。
igp sync delay time
缺省情况下,LDP收敛后立即通知IGP。
d. 配置在LDP协议重启或倒换后,向IGP通告LDP IGP同步状态的最大延迟时间。
igp sync delay on-restart time
缺省情况下,在LDP协议重启或倒换后,向IGP通告LDP IGP同步状态的最大延迟时间为90秒。
LDP快速重路由完全基于IP快速重路由实现,在IP快速重路由使能后,LDP快速重路由即自动使能。有关IP快速重路由的配置内容请参见“三层技术-IP路由配置指导”。
开启LDP模块的告警功能后,当LDP会话状态发生变化时会产生RFC 3815中规定的告警信息。生成的告警信息将发送到设备的SNMP模块,通过设置SNMP中告警信息的发送参数,来决定告警信息输出的相关属性。
有关告警信息的详细介绍,请参见“网络管理和监控配置指导”中的“SNMP”。
(1) 进入系统视图。
system-view
(2) 开启LDP模块的告警功能。
snmp-agent trap enable ldp
缺省情况下,LDP模块的告警功能处于开启状态。
在完成上述配置后,在任意视图下执行display命令可以显示配置后LDP的运行情况,用户可以通过查看显示信息验证配置的效果。
在用户视图下执行reset mpls ldp命令可以重启LDP会话。
表1-1 显示LDP运行状态
操作 |
命令 |
显示LDP发现过程相关信息 |
display mpls ldp discovery [ vpn-instance vpn-instance-name ] [ [ interface interface-type interface-number | peer peer-lsr-id ] [ ipv6 ] | targeted-peer { ipv4-address | ipv6-address }] [ verbose ] |
显示通过LDP学习到的FEC—标签映射信息 |
display mpls ldp fec [ vpn-instance vpn-instance-name ] [ ipv4-address mask-length | ipv6-address prefix-length | [ ipv6 ] [ summary ] ] |
显示接口的LDP IGP同步信息 |
display mpls ldp igp sync [ interface interface-type interface-number ] |
显示使能了LDP能力的接口的LDP相关信息 |
display mpls ldp interface [ vpn-instance vpn-instance-name ] [ interface-type interface-number ] [ ipv6 ] |
显示LDP协议生成的LSP信息,即LDP LSP信息 |
display mpls ldp lsp [ vpn-instance vpn-instance-name ] [ ipv4-address mask-length | ipv6-address prefix-length | ipv6 ] |
显示LDP的运行参数 |
display mpls ldp parameter [ vpn-instance vpn-instance-name ] |
显示LDP对等体和LDP会话信息 |
display mpls ldp peer [ vpn-instance vpn-instance-name ] [ peer-lsr-id ] [ verbose ] |
显示LDP运行数据汇总信息 |
display mpls ldp summary [ all | vpn-instance vpn-instance-name ] |
重启LDP会话 |
reset mpls ldp [ vpn-instance vpn-instance-name ] [ peer peer-id ] |
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!