03-LDP配置
本章节下载: 03-LDP配置 (486.85 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值时表示某个接口使用的标签空间。
FEC(Forwarding Equivalence Class,转发等价类)是MPLS中的一个重要概念。MPLS将具有相同特征(目的地相同或具有相同服务等级等)的报文归为一类,称为FEC。属于相同FEC的报文在MPLS网络中将获得完全相同的处理。
LDP支持根据目的IP地址和PW(Pseudo Wire,伪线)划分FEC。本文只介绍根据目的IP地址划分FEC。根据PW划分FEC的详细介绍,请参见“MPLS配置指导”中的“MPLS L2VPN”和“VPLS”。
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能力的LSR周期性地发送Hello消息,通告自己的存在。通过Hello消息,LSR可以自动发现它周围的LSR邻居,并与其建立Hello邻接关系。
LDP对等体发现机制分为两种:
· 基本发现机制:用于发现本地直连的LSR邻居,即通过链路层直接相连的LSR。这种方式下,LSR周期性地向“子网内所有路由器”的组播地址224.0.0.2发送LDP的Link Hello消息,以便链路层直接相连的LSR发现此LSR。
· 扩展发现机制:用于发现远端非直连的LSR邻居,即不通过链路层直接相连的LSR。这种方式下,LSR周期性地向指定的IP地址发送LDP的Targeted Hello消息,以便指定IP地址对应的LSR发现此LSR。扩展发现机制主要应用于MPLS L2VPN和VPLS,详细介绍请参见“MPLS配置指导”中的“MPLS L2VPN”和“VPLS”。
LSR可以与直连的邻居同时建立Link Hello和Targeted Hello两种邻接关系。
LDP对等体之间通过周期性地发送Hello消息来维护Hello邻接关系。如果Hello保持定时器超时时仍没有收到新的Hello消息,则删除Hello邻接关系。
通过交互Hello消息发现LSR邻居后,LSR开始与其建立会话。这一过程又可分为两步:
(1) 建立传输层连接,即在LSR之间建立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还可以通过发送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恢复定时器的值。
与MPLS相关的协议规范有:
· RFC 5036:LDP Specification
表1-1 LDP配置任务简介
配置任务 |
说明 |
详细配置 |
|
使能LDP能力 |
全局使能LDP能力 |
必选 |
|
在接口上使能LDP能力 |
必选 |
||
配置Hello消息参数 |
可选 |
||
配置LDP会话参数 |
可选 |
||
配置LDP倒退机制的延迟时间 |
可选 |
||
配置LDP MD5认证 |
可选 |
||
配置LSP触发策略 |
可选 |
||
配置LDP标签分发控制方式 |
可选 |
||
配置标签通告控制策略 |
可选 |
||
配置标签接受控制策略 |
可选 |
||
配置LDP环路检测 |
可选 |
||
配置LDP会话保护 |
可选 |
||
配置LDP GR |
可选 |
||
重启LDP会话 |
可选 |
||
开启告警功能 |
可选 |
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
使能本节点的LDP能力,或使能指定VPN实例的LDP能力 |
使能本节点的LDP能力,并进入LDP视图 |
mpls ldp |
缺省情况下,未使能LDP能力 |
使能指定VPN实例的LDP能力,为该VPN创建LDP实例,并进入LDP-VPN实例视图 |
mpls ldp |
||
vpn-instance vpn-instance-name |
|||
配置LDP的LSR ID |
lsr-id lsr-id |
缺省情况下,LDP的LSR ID与MPLS LSR ID相同 |
表1-3 在接口上使能LDP能力
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入需要建立LDP会话的接口视图 |
interface interface-type interface-number |
如果该接口绑定了VPN实例,则需要在LDP视图下通过vpn-instance命令使能指定VPN实例的LDP能力 |
使能接口的LDP能力 |
mpls ldp enable |
缺省情况下,在接口上未使能LDP能力 |
LDP的Hello消息分为以下几种:
· 用于发现直连邻居的Link hello消息
· 用于发现非直连邻居的Targeted hello消息
Hello消息参数包括:
· Link hello保持时间和报文发送时间间隔
· Targeted hello保持时间和报文发送时间间隔
表1-4 配置Link hello消息参数
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入建立LDP会话的接口视图 |
interface interface-type interface-number |
- |
配置Link hello保持时间 |
mpls ldp timer hello-hold timeout |
缺省情况下,Link hello保持时间为15秒 |
配置Link hello报文发送时间间隔 |
mpls ldp timer hello-interval interval |
缺省情况下,Link hello报文发送时间间隔为5秒 |
表1-5 配置Targeted hello消息参数
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入LDP视图 |
mpls ldp |
- |
配置主动向指定对等体发送Targeted hello消息来建立LDP会话,允许应答指定对等体的Targeted hello消息,并进入LDP对等体视图 |
targeted-peer peer-lsr-id |
缺省情况下,设备不会主动向对等体发送Targeted hello消息,也不会应答对等体的Targeted hello消息 |
配置Targeted hello保持时间 |
mpls ldp timer hello-hold timeout |
缺省情况下,Targeted hello保持时间为45秒 |
配置Targeted hello报文发送时间间隔 |
mpls ldp timer hello-interval interval |
缺省情况下,Targeted hello报文发送时间间隔为15秒 |
可以通过配置修改如下LDP会话参数:
· Keepalive保持时间和报文发送时间间隔。
· LDP传输地址,即用来建立TCP连接的IP地址。
LDP可以通过基本发现和扩展发现两种机制来发现LSR邻居。LSR与通过基本发现机制发现的LSR邻居建立LDP会话时,采用的LDP会话参数配置方法如表1-6所示;LSR与通过扩展发现机制发现的LSR邻居建立LDP会话时,采用的LDP会话参数配置方法如表1-7所示。
配置LDP会话参数时,需要注意:
· 配置的LDP传输地址应为设备上处于up状态的接口的IP地址,否则LDP会话将无法建立。
· 两端LSR的LDP传输地址必须路由可达。否则,无法建立TCP连接。
表1-6 配置基本发现机制的LDP会话参数
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入建立LDP会话的接口视图 |
interface interface-type interface-number |
- |
配置Keepalive保持时间 |
mpls ldp timer keepalive-hold timeout |
缺省情况下,Keepalive保持时间为45秒 |
配置Keepalive报文发送时间间隔 |
mpls ldp timer keepalive-interval interval |
缺省情况下,Keepalive报文发送时间间隔为15秒 |
配置LDP传输地址 |
mpls ldp transport-address { ip-address | interface } |
缺省情况下,如果建立LDP会话的接口属于公网,则传输地址是本LSR的LSR ID;如果该接口属于某个VPN,则传输地址是本接口的主IP地址 如果建立LDP会话的接口与某个VPN实例绑定,则本命令指定的接口或指定的传输地址所在的接口需要与同一个VPN实例绑定 |
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入LDP视图 |
mpls ldp |
- |
配置主动向指定对等体发送Targeted hello消息来建立LDP会话,允许应答指定对等体的Targeted hello消息,并进入LDP对等体视图 |
targeted-peer peer-lsr-id |
缺省情况下,设备不会主动向对等体发送Targeted hello消息,也不会应答对等体的Targeted hello消息 |
配置Keepalive保持时间 |
mpls ldp timer keepalive-hold timeout |
缺省情况下,Keepalive保持时间为45秒 |
配置Keepalive报文发送时间间隔 |
mpls ldp timer keepalive-interval interval |
缺省情况下,Keepalive报文发送时间间隔为15秒 |
配置LDP传输地址 |
mpls ldp transport-address ip-address |
缺省情况下,传输地址是本LSR的LSR ID |
如果LDP对等体上配置的LDP会话参数不兼容(如LDP对等体使用的标签通告方式不同),则会导致会话参数协商失败、LDP对等体无休止地反复尝试建立会话。
LDP倒退机制用来抑制尝试建立会话的频率。如果会话因为参数不兼容而建立失败,LSR将等待初始延迟时间再尝试建立会话;如果会话再次因为参数不兼容而建立失败,则再次尝试建立会话的延迟时间为上一次延迟时间×2;延迟时间达到配置的最大值后,尝试建立会话的等待时间将保持为配置的最大延迟。
表1-8 配置LDP倒退机制的延迟时间
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入LDP视图或LDP-VPN实例视图 |
进入LDP视图 |
mpls ldp |
- |
进入LDP-VPN实例视图 |
mpls ldp |
||
vpn-instance vpn-instance-name |
|||
配置LDP倒退机制的初始延迟和最大延迟 |
backoff initial initial-time maximum maximum-time |
缺省情况下,LDP倒退机制的初始延迟为15秒,最大延迟为120秒 |
为了提高LDP会话的安全性,可以配置在LDP会话使用的TCP连接上采用MD5认证,来验证LDP消息的完整性。
要想在LDP对等体之间成功建立LDP会话,必须保证LDP对等体上的LDP MD5认证配置一致。
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入LDP视图或LDP-VPN实例视图 |
进入LDP视图 |
mpls ldp |
- |
进入LDP-VPN实例视图 |
mpls ldp |
||
vpn-instance vpn-instance-name |
|||
使能LDP的MD5认证功能 |
md5-authentication peer-lsr-id { cipher | plain } password |
缺省情况下,未使能LDP的MD5认证功能 |
LDP根据路由表项中的目的网络地址划分FEC。在LSR上配置LSP触发策略,可以限制哪些路由表项能够触发LDP为其目的网络地址分配标签并建立LSP,从而控制LSP的数量,避免LSP数量过多导致设备运行不稳定。
LSP触发策略包括:
· 所有路由表项都会触发LDP建立LSP。
· 利用IP地址前缀列表对路由表项进行过滤,被IP地址前缀列表拒绝的路由表项不能触发建立LSP。采用这种LSP触发策略时,需要创建IP地址前缀列表,创建方法请参见“三层技术-IP路由配置指导”中的“路由策略”。
· 只有32位掩码的主机路由能够触发LDP建立LSP。
缺省情况下,只有32位掩码的主机路由能够触发LDP建立LSP。在非必要的情况下,建议用户不要随意修改LSP触发策略,以免建立过多的LSP,占用系统和网络资源。
表1-10 配置LSP触发策略
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入LDP视图或LDP-VPN实例视图 |
进入LDP视图 |
mpls ldp |
- |
进入LDP-VPN实例视图 |
mpls ldp |
||
vpn-instance vpn-instance-name |
|||
配置LSP的触发策略 |
lsp-trigger { all | prefix-list prefix-list-name } |
缺省情况下,只有32位掩码的主机路由能够触发LDP建立LSP |
表1-11 配置LDP标签分配控制方式
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入LDP视图或LDP-VPN实例视图 |
进入LDP视图 |
mpls ldp |
- |
进入LDP-VPN实例视图 |
mpls ldp |
||
vpn-instance vpn-instance-name |
|||
配置标签分发控制方式 |
label-distribution { independent | ordered } |
缺省情况下,标签分发控制方式为有序方式(ordered) 会话建立后,需重启LDP会话,本命令的配置才能生效 |
标签通告控制用来控制向哪些对等体通告哪些FEC—标签映射,即LSR只将指定地址前缀的标签映射通告给指定的对等体。在复杂的MPLS网络环境中,通过标签通告控制可以规划动态建立的LSP,并避免设备通告大量的标签映射。
如图1-6,LSR A将FEC目的地址通过地址前缀列表B过滤的FEC—标签映射通告给LSR B;将FEC目的地址通过地址前缀列表C过滤的FEC—标签映射通告给LSR C。
在下游LSR上配置标签通告控制策略与在上游LSR上配置标签接受控制策略具有相同的效果。如果下游LSR支持配置标签通告控制策略,则推荐使用标签通告控制策略,以减轻网络负担。
在配置LDP标签通告控制策略时,需要创建IP地址前缀列表,创建方法请参见“三层技术-IP路由配置指导”中的“路由策略”。
表1-12 配置LDP标签通告控制策略
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入LDP视图或LDP-VPN实例视图 |
进入LDP视图 |
mpls ldp |
- |
进入LDP-VPN实例视图 |
mpls ldp |
||
vpn-instance vpn-instance-name |
|||
配置标签通告控制策略 |
advertise-label prefix-list prefix-list-name [ peer peer-prefix-list-name ] |
缺省情况下,未配置标签通告控制策略,即向所有对等体通告满足LSP触发策略的所有IP地址前缀的标签映射 |
标签接受控制用来实现对从指定对等体接收的FEC—标签映射进行过滤,只接受指定地址前缀的FEC—标签映射。在复杂的MPLS网络环境中,通过标签接受控制可以规划动态建立的LSP,并避免设备保存大量的标签映射。
如图1-7,LSR A对LSR B通告的FEC—标签映射进行过滤,只有FEC的目的地址通过指定地址前缀列表过滤后,才会接受该FEC—标签映射;对LSR C通告的标签不进行过滤。
在下游LSR上配置标签通告控制策略与在上游LSR上配置标签接受控制策略具有相同的效果。如果下游LSR支持配置标签通告控制策略,则推荐使用标签通告控制策略,以减轻网络负担。
在配置LDP标签接受控制策略时,需要创建IP地址前缀列表,创建方法请参见“三层技术-IP路由配置指导”中的“路由策略”。
表1-13 配置LDP标签接受控制策略
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入LDP视图或LDP-VPN实例视图 |
进入LDP视图 |
mpls ldp |
- |
进入LDP-VPN实例视图 |
mpls ldp |
||
vpn-instance vpn-instance-name |
|||
配置标签接受控制策略 |
accept-label peer peer-lsr-id prefix-list prefix-list-name |
缺省情况下,未配置标签接受控制策略,接受来自所有对等体的所有IP地址前缀的标签映射 |
环路检测机制用于非TTL递减设备(如标签控制的ATM交换机)组成的网络。支持TTL递减的设备上启动LDP环路检测功能没有实际用途,还会因为频繁发送标签请求或标签映射消息来更新环路检测的路径向量或跳数,而产生额外处理开销。因此,不推荐用户使用环路检测功能。
LDP环路检测机制可以检测LSP环路,并避免在MPLS网络中发生环路。
LDP环路检测有两种方式:
(1) 最大跳数
在传递标签映射(或者标签请求)的消息中包含跳数信息,每经过一跳该值就加一。当该值达到规定的最大值时即认为出现环路,终止LSP的建立过程。
(2) 路径向量
在传递标签映射(或者标签请求)的消息中记录路径信息,每经过一跳,相应的设备就检查自己的LSR ID是否在此记录中。如果记录中没有自身的LSR ID,就会将自身的LSR ID添加到该记录中;如果记录中已有本LSR的记录,则认为出现环路,终止LSP的建立过程。
采用路径向量方式进行环路检测时,也需要规定LSP路径的最大跳数,当路径的跳数达到配置的最大值时,也会认为出现环路,终止LSP的建立过程。
表1-14 配置LDP环路检测
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入LDP视图或LDP-VPN实例视图 |
进入LDP视图 |
mpls ldp |
- |
进入LDP-VPN实例视图 |
mpls ldp |
||
vpn-instance vpn-instance-name |
|||
开启环路检测功能 |
loop-detect |
缺省情况下,环路检测功能处于关闭状态 开启环路检测功能后,将同时使用最大跳数和路径向量两种方法检测环路 |
|
配置最大跳数环路检测方式下LSP的最大跳数 |
maxhops hop-number |
缺省情况下,最大跳数环路检测方式下LSP的最大跳数为32 |
|
配置路径向量环路检测方式下LSP的最大跳数 |
pv-limit pv-number |
缺省情况下,路径向量环路检测方式下LSP的最大跳数为32 |
会话保护功能实现了基本发现机制失效时,利用扩展发现机制来保持与对等体的会话,确保基本发现机制恢复时,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邻接关系永久保持会话。
表1-15 配置LDP会话保护
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入LDP视图 |
mpls ldp |
- |
使能会话保护功能 |
session protection [ duration time ] [ peer peer-prefix-list-name ] |
缺省情况下,未使能会话保护功能 |
配置LDP GR之前,需要在作为GR restarter和作为GR helper的设备上均配置LDP能力。
表1-16 配置LDP GR
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入LDP视图 |
mpls ldp |
- |
使能LDP协议的GR能力 |
graceful-restart |
缺省情况下,LDP协议的GR能力处于关闭状态 |
配置GR重连超时时间 |
graceful-restart timer reconnect reconnect-time |
缺省情况下,GR重连超时时间为120秒 |
配置GR转发状态保持定时器的值 |
graceful-restart timer forwarding-hold hold-time |
缺省情况下,GR转发状态保持定时器的值为180秒 |
LDP会话状态为up后,修改LDP会话参数不会立即生效。此时,需要重启LDP会话,重新协商各种参数,建立LDP会话,使得修改后的LDP会话参数生效。
在用户视图下执行reset mpls ldp命令可以重启LDP会话。
表1-17 重启LDP会话
操作 |
命令 |
重启LDP会话 |
reset mpls ldp [ vpn-instance vpn-instance-name ] [ peer peer-id ] |
开启LDP模块的告警功能后,当LDP会话状态发生变化时会产生RFC 3815中规定的告警信息。生成的告警信息将发送到设备的SNMP模块,通过设置SNMP中告警信息的发送参数,来决定告警信息输出的相关属性。
有关告警信息的详细介绍,请参见“网络管理和监控配置指导”中的“SNMP”。
表1-18 开启告警功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
开启LDP模块的告警功能 |
snmp-agent trap enable ldp |
缺省情况下,LDP模块的告警功能处于开启状态 |
在完成上述配置后,在任意视图下执行display命令可以显示配置后LDP的运行情况,用户可以通过查看显示信息验证配置的效果。
表1-19 显示LDP运行状态
操作 |
命令 |
显示LDP发现过程相关信息 |
display mpls ldp discovery [ vpn-instance vpn-instance-name ] [ interface interface-type interface-number | peer peer-lsr-id | targeted-peer peer-lsr-id ] [ verbose ] |
显示通过LDP学习到的FEC—标签映射信息 |
display mpls ldp fec [ vpn-instance vpn-instance-name ] [ destination-address mask-length | summary ] |
显示使能了LDP能力的接口的LDP相关信息 |
display mpls ldp interface [ interface-type interface-number ] |
显示LDP协议生成的LSP信息,即LDP LSP信息 |
display mpls ldp lsp [ vpn-instance vpn-instance-name ] [ destination-address mask-length ] |
显示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 ] |
· Switch A、Switch B和Switch C均支持MPLS。
· 在Switch A和Switch C之间使用LDP动态建立LSP,使11.1.1.0/24和21.1.1.0/24这两个网段中互访的报文能够通过MPLS进行传输。
· Switch A、Switch B和Switch C上只允许目的地址为1.1.1.9/32、2.2.2.9/32、3.3.3.9/32、11.1.1.0/24和21.1.1.0/24的路由表项触发LDP建立LSP,其他路由表项不能触发LDP建立LSP,以避免建立的LSP数量过多,影响设备性能。
图1-8 利用LDP动态建立LSP配置组网图
· LDP根据路由信息动态分配标签,因此,利用LDP动态建立LSP时,需要配置路由协议,使得各交换机之间路由可达。本例中,采用的路由协议为OSPF。
· 在各台路由器上启动LDP协议。
· 为了控制建立的LSP数量,在Switch A、Switch B和Switch C上需要配置LSP触发策略。
(1) 配置各接口的IP地址
按照图1-8配置各接口IP地址和掩码,包括VLAN接口和Loopback接口,具体配置过程略。
(2) 配置OSPF,以保证各交换机之间路由可达
# 配置Switch A。
<SwitchA> system-view
[SwitchA] ospf
[SwitchA-ospf-1] area 0
[SwitchA-ospf-1-area-0.0.0.0] network 1.1.1.9 0.0.0.0
[SwitchA-ospf-1-area-0.0.0.0] network 10.1.1.0 0.0.0.255
[SwitchA-ospf-1-area-0.0.0.0] network 11.1.1.0 0.0.0.255
[SwitchA-ospf-1-area-0.0.0.0] quit
[SwitchA-ospf-1] quit
# 配置Switch B。
<SwitchB> system-view
[SwitchB] ospf
[SwitchB-ospf-1] area 0
[SwitchB-ospf-1-area-0.0.0.0] network 2.2.2.9 0.0.0.0
[SwitchB-ospf-1-area-0.0.0.0] network 10.1.1.0 0.0.0.255
[SwitchB-ospf-1-area-0.0.0.0] network 20.1.1.0 0.0.0.255
[SwitchB-ospf-1-area-0.0.0.0] quit
[SwitchB-ospf-1] quit
# 配置Switch C。
<SwitchC> system-view
[SwitchC] ospf
[SwitchC-ospf-1] area 0
[SwitchC-ospf-1-area-0.0.0.0] network 3.3.3.9 0.0.0.0
[SwitchC-ospf-1-area-0.0.0.0] network 20.1.1.0 0.0.0.255
[SwitchC-ospf-1-area-0.0.0.0] network 21.1.1.0 0.0.0.255
[SwitchC-ospf-1-area-0.0.0.0] quit
[SwitchC-ospf-1] quit
# 配置完成后,在各交换机上执行display ip routing-table命令,可以看到相互之间都学到了到对方的主机路由。以Switch A为例:
[SwitchA] display ip routing-table
Destinations : 21 Routes : 21
Destination/Mask Proto Pre Cost NextHop Interface
0.0.0.0/32 Direct 0 0 127.0.0.1 InLoop0
1.1.1.9/32 Direct 0 0 127.0.0.1 InLoop0
2.2.2.9/32 OSPF 10 1 10.1.1.2 Vlan2
3.3.3.9/32 OSPF 10 2 10.1.1.2 Vlan2
10.1.1.0/24 Direct 0 0 10.1.1.1 Vlan2
10.1.1.0/32 Direct 0 0 10.1.1.1 Vlan2
10.1.1.1/32 Direct 0 0 127.0.0.1 InLoop0
10.1.1.255/32 Direct 0 0 10.1.1.1 Vlan2
11.1.1.0/24 Direct 0 0 11.1.1.1 Vlan4
11.1.1.0/32 Direct 0 0 11.1.1.1 Vlan4
11.1.1.1/32 Direct 0 0 127.0.0.1 InLoop0
11.1.1.255/32 Direct 0 0 11.1.1.1 Vlan4
20.1.1.0/24 OSPF 10 2 10.1.1.2 Vlan2
21.1.1.0/24 OSPF 10 3 10.1.1.2 Vlan2
127.0.0.0/8 Direct 0 0 127.0.0.1 InLoop0
127.0.0.0/32 Direct 0 0 127.0.0.1 InLoop0
127.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0
127.255.255.255/32 Direct 0 0 127.0.0.1 InLoop0
224.0.0.0/4 Direct 0 0 0.0.0.0 NULL0
224.0.0.0/24 Direct 0 0 0.0.0.0 NULL0
255.255.255.255/32 Direct 0 0 127.0.0.1 InLoop0
(3) 使能MPLS和LDP功能
# 配置Switch A。
[SwitchA] mpls lsr-id 1.1.1.9
[SwitchA] mpls ldp
[SwitchA-ldp] quit
[SwitchA] interface vlan-interface 2
[SwitchA-Vlan-interface2] mpls enable
[SwitchA-Vlan-interface2] mpls ldp enable
[SwitchA-Vlan-interface2] quit
# 配置Switch B。
[SwitchB] mpls lsr-id 2.2.2.9
[SwitchB] mpls ldp
[SwitchB-ldp] quit
[SwitchB] interface vlan-interface 2
[SwitchB-Vlan-interface2] mpls enable
[SwitchB-Vlan-interface2] mpls ldp enable
[SwitchB-Vlan-interface2] quit
[SwitchB] interface vlan-interface 3
[SwitchB-Vlan-interface3] mpls enable
[SwitchB-Vlan-interface3] mpls ldp enable
[SwitchB-Vlan-interface3] quit
# 配置Switch C。
[SwitchC] mpls lsr-id 3.3.3.9
[SwitchC] mpls ldp
[SwitchC-ldp] quit
[SwitchC] interface vlan-interface 3
[SwitchC-Vlan-interface3] mpls enable
[SwitchC-Vlan-interface3] mpls ldp enable
[SwitchC-Vlan-interface3] quit
(4) 配置LSP触发策略
# 在Switch A上创建IP地址前缀列表switcha,并配置只有通过该列表过滤的路由表项能够触发LDP建立LSP。
[SwitchA] ip prefix-list switcha index 10 permit 1.1.1.9 32
[SwitchA] ip prefix-list switcha index 20 permit 2.2.2.9 32
[SwitchA] ip prefix-list switcha index 30 permit 3.3.3.9 32
[SwitchA] ip prefix-list switcha index 40 permit 11.1.1.0 24
[SwitchA] ip prefix-list switcha index 50 permit 21.1.1.0 24
[SwitchA] mpls ldp
[SwitchA-ldp] lsp-trigger prefix-list switcha
[SwitchA-ldp] quit
# 在Switch B上创建IP地址前缀列表switchb,并配置只有通过该列表过滤的路由表项能够触发LDP建立LSP。
[SwitchB] ip prefix-list switchb index 10 permit 1.1.1.9 32
[SwitchB] ip prefix-list switchb index 20 permit 2.2.2.9 32
[SwitchB] ip prefix-list switchb index 30 permit 3.3.3.9 32
[SwitchB] ip prefix-list switchb index 40 permit 11.1.1.0 24
[SwitchB] ip prefix-list switchb index 50 permit 21.1.1.0 24
[SwitchB] mpls ldp
[SwitchB-ldp] lsp-trigger prefix-list switchb
[SwitchB-ldp] quit
# 在Switch C上创建IP地址前缀列表switchc,并配置只有通过该列表过滤的路由表项能够触发LDP建立LSP。
[SwitchC] ip prefix-list switchc index 10 permit 1.1.1.9 32
[SwitchC] ip prefix-list switchc index 20 permit 2.2.2.9 32
[SwitchC] ip prefix-list switchc index 30 permit 3.3.3.9 32
[SwitchC] ip prefix-list switchc index 40 permit 11.1.1.0 24
[SwitchC] ip prefix-list switchc index 50 permit 21.1.1.0 24
[SwitchC] mpls ldp
[SwitchC-ldp] lsp-trigger prefix-list switchc
[SwitchC-ldp] quit
# 配置完成后,在各交换机上执行display mpls ldp lsp命令,可以看到LDP LSP的建立情况。以Switch A为例:
[SwitchA] display mpls ldp lsp
Status Flags: * - stale, L - liberal
Statistics:
FECs: 5 Ingress LSPs: 3 Transit LSPs: 3 Egress LSPs: 2
FEC In/Out Label Nexthop OutInterface
1.1.1.9/32 3/-
-/1279(L)
2.2.2.9/32 -/3 10.1.1.2 Vlan-int2
1279/3 10.1.1.2 Vlan-int2
3.3.3.9/32 -/1278 10.1.1.2 Vlan-int2
1278/1278 10.1.1.2 Vlan-int2
11.1.1.0/24 1277/-
-/1277(L)
21.1.1.0/24 -/1276 10.1.1.2 Vlan-int2
1276/1276 10.1.1.2 Vlan-int2
# 在Switch A上检测Switch A到Switch C的LDP LSP的可达性。
[SwitchA] ping mpls -a 11.1.1.1 ipv4 21.1.1.0 24
MPLS Ping FEC: 21.1.1.0/24 : 100 data bytes
100 bytes from 20.1.1.2: Sequence=1 time=1 ms
100 bytes from 20.1.1.2: Sequence=2 time=1 ms
100 bytes from 20.1.1.2: Sequence=3 time=8 ms
100 bytes from 20.1.1.2: Sequence=4 time=2 ms
100 bytes from 20.1.1.2: Sequence=5 time=1 ms
--- FEC: 21.1.1.0/24 ping statistics ---
5 packets transmitted, 5 packets received, 0.0% packet loss
round-trip min/avg/max = 1/2/8 ms
# 在Switch C上检测Switch C到Switch A的LDP LSP的可达性。
[SwitchC] ping mpls -a 21.1.1.1 ipv4 11.1.1.0 24
MPLS Ping FEC: 11.1.1.0/24 : 100 data bytes
100 bytes from 10.1.1.1: Sequence=1 time=1 ms
100 bytes from 10.1.1.1: Sequence=2 time=1 ms
100 bytes from 10.1.1.1: Sequence=3 time=1 ms
100 bytes from 10.1.1.1: Sequence=4 time=1 ms
100 bytes from 10.1.1.1: Sequence=5 time=1 ms
--- FEC: 11.1.1.0/24 ping statistics ---
5 packets transmitted, 5 packets received, 0.0% packet loss
round-trip min/avg/max = 1/1/1 ms
11.1.1.0/24和21.1.1.0/24网段之间存在两条路径:Switch A—Switch B—Switch C和Switch A—Switch D—Switch C。通过配置标签接受控制策略,实现只沿着路径Switch A—Switch B—Switch C建立LSP,11.1.1.0/24和21.1.1.0/24网段之间互访的报文通过该LSP进行MPLS转发。
(1) 在各台交换机上配置路由协议,使得各交换机之间路由可达。本例中,采用的路由协议为OSPF。
(2) 在各台交换机上启动LDP协议。
(3) 在各台交换机上配置LSP触发策略,使得目的地址为11.1.1.0/24和21.1.1.0/24的路由表项能够触发LDP建立LSP。
(4) 配置标签接受控制策略,使得LDP仅沿着路径Switch A—Switch B—Switch C建立LSP。具体配置方法为:
· Switch A只接受Switch B通告的FEC目的地址为21.1.1.0/24的FEC—标签映射;Switch A拒绝Switch D通告的FEC目的地址为21.1.1.0/24的FEC—标签映射。
· Switch C只接受Switch B通告的FEC目的地址为11.1.1.0/24的FEC—标签映射;Switch C拒绝Switch D通告的FEC目的地址为11.1.1.0/24的FEC—标签映射。
(1) 配置各接口的IP地址
按照图1-9配置各接口IP地址和掩码,包括Loopback接口,具体配置过程略。
(2) 配置OSPF
在各台交换机上配置OSPF,以保证各交换机之间路由可达,具体配置过程略。
(3) 使能MPLS和LDP功能
# 配置Switch A。
<SwitchA> system-view
[SwitchA] mpls lsr-id 1.1.1.9
[SwitchA] mpls ldp
[SwitchA-ldp] quit
[SwitchA] interface vlan-interface 2
[SwitchA-Vlan-interface2] mpls enable
[SwitchA-Vlan-interface2] mpls ldp enable
[SwitchA-Vlan-interface2] quit
[SwitchA] interface vlan-interface 6
[SwitchA-Vlan-interface6] mpls enable
[SwitchA-Vlan-interface6] mpls ldp enable
[SwitchA-Vlan-interface6] quit
# 配置Switch B。
<SwitchB> system-view
[SwitchB] mpls lsr-id 2.2.2.9
[SwitchB] mpls ldp
[SwitchB-ldp] quit
[SwitchB] interface vlan-interface 2
[SwitchB-Vlan-interface2] mpls enable
[SwitchB-Vlan-interface2] mpls ldp enable
[SwitchB-Vlan-interface2] quit
[SwitchB] interface vlan-interface 3
[SwitchB-Vlan-interface3] mpls enable
[SwitchB-Vlan-interface3] mpls ldp enable
[SwitchB-Vlan-interface3] quit
# 配置Switch C。
<SwitchC> system-view
[SwitchC] mpls lsr-id 3.3.3.9
[SwitchC] mpls ldp
[SwitchC-ldp] quit
[SwitchC] interface vlan-interface 3
[SwitchC-Vlan-interface3] mpls enable
[SwitchC-Vlan-interface3] mpls ldp enable
[SwitchC-Vlan-interface3] quit
[SwitchC] interface vlan-interface 7
[SwitchC-Vlan-interface7] mpls enable
[SwitchC-Vlan-interface7] mpls ldp enable
[SwitchC-Vlan-interface7] quit
# 配置Switch D。
<SwitchD> system-view
[SwitchD] mpls lsr-id 4.4.4.9
[SwitchD] mpls ldp
[SwitchD-ldp] quit
[SwitchD] interface vlan-interface 6
[SwitchD-Vlan-interface6] mpls enable
[SwitchD-Vlan-interface6] mpls ldp enable
[SwitchD-Vlan-interface6] quit
[SwitchD] interface vlan-interface 7
[SwitchD-Vlan-interface7] mpls enable
[SwitchD-Vlan-interface7] mpls ldp enable
[SwitchD-Vlan-interface7] quit
(4) 配置LSP触发策略
# 在Switch A上创建IP地址前缀列表switcha,并配置只有通过该列表过滤的路由表项能够触发LDP建立LSP。
[SwitchA] ip prefix-list switcha index 10 permit 11.1.1.0 24
[SwitchA] ip prefix-list switcha index 20 permit 21.1.1.0 24
[SwitchA] mpls ldp
[SwitchA-ldp] lsp-trigger prefix-list switcha
[SwitchA-ldp] quit
# 在Switch B上创建IP地址前缀列表switchb,并配置只有通过该列表过滤的路由表项能够触发LDP建立LSP。
[SwitchB] ip prefix-list switchb index 10 permit 11.1.1.0 24
[SwitchB] ip prefix-list switchb index 20 permit 21.1.1.0 24
[SwitchB] mpls ldp
[SwitchB-ldp] lsp-trigger prefix-list switchb
[SwitchB-ldp] quit
# 在Switch C上创建IP地址前缀列表switchc,并配置只有通过该列表过滤的路由表项能够触发LDP建立LSP。
[SwitchC] ip prefix-list switchc index 10 permit 11.1.1.0 24
[SwitchC] ip prefix-list switchc index 20 permit 21.1.1.0 24
[SwitchC] mpls ldp
[SwitchC-ldp] lsp-trigger prefix-list switchc
[SwitchC-ldp] quit
# 在Switch D上创建IP地址前缀列表switchd,并配置只有通过该列表过滤的路由表项能够触发LDP建立LSP。
[SwitchD] ip prefix-list switchd index 10 permit 11.1.1.0 24
[SwitchD] ip prefix-list switchd index 20 permit 21.1.1.0 24
[SwitchD] mpls ldp
[SwitchD-ldp] lsp-trigger prefix-list switchd
[SwitchD-ldp] quit
(5) 配置标签接受控制策略
# 在Switch A上创建允许21.1.1.0/24通过的IP地址前缀列表prefix-from-b,该列表用来过滤Switch B通告给Switch A的FEC—标签映射。
[SwitchA] ip prefix-list prefix-from-b index 10 permit 21.1.1.0 24
# 在Switch A上创建拒绝21.1.1.0/24通过的IP地址前缀列表prefix-from-d,该列表用来过滤Switch D通告给Switch A的FEC—标签映射。
[SwitchA] ip prefix-list prefix-from-d index 10 deny 21.1.1.0 24
# 在Switch A上配置过滤Switch B和Switch D通告的FEC—标签映射的标签接受控制策略。
[SwitchA] mpls ldp
[SwitchA-ldp] accept-label peer 2.2.2.9 prefix-list prefix-from-b
[SwitchA-ldp] accept-label peer 4.4.4.9 prefix-list prefix-from-d
[SwitchA-ldp] quit
# 在Switch C上创建允许11.1.1.0/24通过的IP地址前缀列表prefix-from-b,该列表用来过滤Switch B通告给Switch C的FEC—标签映射。
[SwitchC] ip prefix-list prefix-from-b index 10 permit 11.1.1.0 24
# 在Switch C上创建拒绝11.1.1.0/24通过的IP地址前缀列表prefix-from-d,该列表用来过滤Switch D通告给Switch C的FEC—标签映射。
[SwitchC] ip prefix-list prefix-from-d index 10 deny 11.1.1.0 24
# 在Switch C上配置过滤Switch B和Switch D通告的FEC—标签映射的标签接受控制策略。
[SwitchC] mpls ldp
[SwitchC-ldp] accept-label peer 2.2.2.9 prefix-list prefix-from-b
[SwitchC-ldp] accept-label peer 4.4.4.9 prefix-list prefix-from-d
[SwitchC-ldp] quit
# 配置完成后,在各设备上执行display mpls ldp lsp命令,可以看到LDP LSP的建立情况。以Switch A为例,在Switch A上FEC目的地址为21.1.1.0/24的LSP的下一跳为Switch B(地址为10.1.1.2),即只沿着路径Switch A—Switch B—Switch C建立了LSP,路径Switch A—Switch D—Switch C上未建立LSP。
[SwitchA] display mpls ldp lsp
Status Flags: * - stale, L - liberal
Statistics:
FECs: 2 Ingress LSPs: 1 Transit LSPs: 1 Egress LSPs: 1
FEC In/Out Label Nexthop OutInterface
11.1.1.0/24 1277/-
-/1148(L)
21.1.1.0/24 -/1149(L)
-/1276 10.1.1.2 Vlan-int2
1276/1276 10.1.1.2 Vlan-int2
# 在Switch A上检测Switch A到Switch C的LDP LSP的可达性。
[SwitchA] ping mpls -a 11.1.1.1 ipv4 21.1.1.0 24
MPLS Ping FEC: 21.1.1.0/24 : 100 data bytes
100 bytes from 20.1.1.2: Sequence=1 time=1 ms
100 bytes from 20.1.1.2: Sequence=2 time=1 ms
100 bytes from 20.1.1.2: Sequence=3 time=8 ms
100 bytes from 20.1.1.2: Sequence=4 time=2 ms
100 bytes from 20.1.1.2: Sequence=5 time=1 ms
--- FEC: 21.1.1.0/24 ping statistics ---
5 packets transmitted, 5 packets received, 0.0% packet loss
round-trip min/avg/max = 1/2/8 ms
# 在Switch C上检测Switch C到Switch A的LDP LSP的可达性。
[SwitchC] ping mpls -a 21.1.1.1 ipv4 11.1.1.0 24
MPLS Ping FEC: 11.1.1.0/24 : 100 data bytes
100 bytes from 10.1.1.1: Sequence=1 time=1 ms
100 bytes from 10.1.1.1: Sequence=2 time=1 ms
100 bytes from 10.1.1.1: Sequence=3 time=1 ms
100 bytes from 10.1.1.1: Sequence=4 time=1 ms
100 bytes from 10.1.1.1: Sequence=5 time=1 ms
--- FEC: 11.1.1.0/24 ping statistics ---
5 packets transmitted, 5 packets received, 0.0% packet loss
round-trip min/avg/max = 1/1/1 ms
11.1.1.0/24和21.1.1.0/24网段之间存在两条路径:Switch A—Switch B—Switch C和Switch A—Switch D—Switch C。通过配置标签通告控制策略,实现只沿着路径Switch A—Switch B—Switch C建立LSP,11.1.1.0/24和21.1.1.0/24网段之间互访的报文通过该LSP进行MPLS转发。
(1) 在各台交换机上配置路由协议,使得各交换机之间路由可达。本例中,采用的路由协议为OSPF。
(2) 在各台交换机上启动LDP协议。
(3) 在各台交换机上配置LSP触发策略,使得目的地址为11.1.1.0/24和21.1.1.0/24的路由表项能够触发LDP建立LSP。
(4) 配置标签通告控制策略,使得LDP仅沿着路径Switch A—Switch B—Switch C建立LSP。具体配置方法为:
· Switch A只将FEC目的地址为11.1.1.0/24的FEC—标签映射通告给Switch B;Switch A不通告任何其他的FEC—标签映射。
· Switch C只将FEC目的地址为21.1.1.0/24的FEC—标签映射通告给Switch B;Switch C不通告任何其他的FEC—标签映射。
· Switch D不将FEC目的地址为21.1.1.0/24的FEC—标签映射通告给Switch A;Switch D不将FEC目的地址为11.1.1.0/24的FEC—标签映射通告给Switch C。
(1) 配置各接口的IP地址
按照图1-10配置各接口IP地址和掩码,包括Loopback接口,具体配置过程略。
(2) 配置OSPF
在各台交换机上配置OSPF,以保证各交换机之间路由可达,具体配置过程略。
(3) 使能MPLS和LDP功能
# 配置Switch A。
<SwitchA> system-view
[SwitchA] mpls lsr-id 1.1.1.9
[SwitchA] mpls ldp
[SwitchA-ldp] quit
[SwitchA] interface vlan-interface 2
[SwitchA-Vlan-interface2] mpls enable
[SwitchA-Vlan-interface2] mpls ldp enable
[SwitchA-Vlan-interface2] quit
[SwitchA] interface vlan-interface 6
[SwitchA-Vlan-interface6] mpls enable
[SwitchA-Vlan-interface6] mpls ldp enable
[SwitchA-Vlan-interface6] quit
# 配置Switch B。
<SwitchB> system-view
[SwitchB] mpls lsr-id 2.2.2.9
[SwitchB] mpls ldp
[SwitchB-ldp] quit
[SwitchB] interface vlan-interface 2
[SwitchB-Vlan-interface2] mpls enable
[SwitchB-Vlan-interface2] mpls ldp enable
[SwitchB-Vlan-interface2] quit
[SwitchB] interface vlan-interface 3
[SwitchB-Vlan-interface3] mpls enable
[SwitchB-Vlan-interface3] mpls ldp enable
[SwitchB-Vlan-interface3] quit
# 配置Switch C。
<SwitchC> system-view
[SwitchC] mpls lsr-id 3.3.3.9
[SwitchC] mpls ldp
[SwitchC-ldp] quit
[SwitchC] interface vlan-interface 3
[SwitchC-Vlan-interface3] mpls enable
[SwitchC-Vlan-interface3] mpls ldp enable
[SwitchC-Vlan-interface3] quit
[SwitchC] interface vlan-interface 7
[SwitchC-Vlan-interface7] mpls enable
[SwitchC-Vlan-interface7] mpls ldp enable
[SwitchC-Vlan-interface7] quit
# 配置Switch D。
<SwitchD> system-view
[SwitchD] mpls lsr-id 4.4.4.9
[SwitchD] mpls ldp
[SwitchD-ldp] quit
[SwitchD] interface vlan-interface 6
[SwitchD-Vlan-interface6] mpls enable
[SwitchD-Vlan-interface6] mpls ldp enable
[SwitchD-Vlan-interface6] quit
[SwitchD] interface vlan-interface 7
[SwitchD-Vlan-interface7] mpls enable
[SwitchD-Vlan-interface7] mpls ldp enable
[SwitchD-Vlan-interface7] quit
(4) 配置LSP触发策略
# 在Switch A上创建IP地址前缀列表switcha,并配置只有通过该列表过滤的路由表项能够触发LDP建立LSP。
[SwitchA] ip prefix-list switcha index 10 permit 11.1.1.0 24
[SwitchA] ip prefix-list switcha index 20 permit 21.1.1.0 24
[SwitchA] mpls ldp
[SwitchA-ldp] lsp-trigger prefix-list switcha
[SwitchA-ldp] quit
# 在Switch B上创建IP地址前缀列表switchb,并配置只有通过该列表过滤的路由表项能够触发LDP建立LSP。
[SwitchB] ip prefix-list switchb index 10 permit 11.1.1.0 24
[SwitchB] ip prefix-list switchb index 20 permit 21.1.1.0 24
[SwitchB] mpls ldp
[SwitchB-ldp] lsp-trigger prefix-list switchb
[SwitchB-ldp] quit
# 在Switch C上创建IP地址前缀列表switchc,并配置只有通过该列表过滤的路由表项能够触发LDP建立LSP。
[SwitchC] ip prefix-list switchc index 10 permit 11.1.1.0 24
[SwitchC] ip prefix-list switchc index 20 permit 21.1.1.0 24
[SwitchC] mpls ldp
[SwitchC-ldp] lsp-trigger prefix-list switchc
[SwitchC-ldp] quit
# 在Switch D上创建IP地址前缀列表switchd,并配置只有通过该列表过滤的路由表项能够触发LDP建立LSP。
[SwitchD] ip prefix-list switchd index 10 permit 11.1.1.0 24
[SwitchD] ip prefix-list switchd index 20 permit 21.1.1.0 24
[SwitchD] mpls ldp
[SwitchD-ldp] lsp-trigger prefix-list switchd
[SwitchD-ldp] quit
(5) 配置标签通告控制策略
# 在Switch A上创建允许11.1.1.0/24通过的IP地址前缀列表prefix-to-b,该列表用来过滤通告给Switch B的FEC—标签映射。
[SwitchA] ip prefix-list prefix-to-b index 10 permit 11.1.1.0 24
# 在Switch A上创建允许2.2.2.9/32通过的IP地址前缀列表peer-b,该列表用来过滤LDP对等体。
[SwitchA] ip prefix-list peer-b index 10 permit 2.2.2.9 32
# 在Switch A上配置标签通告控制策略:只将FEC目的地址为11.1.1.0/24的FEC—标签映射通告给Switch B。
[SwitchA] mpls ldp
[SwitchA-ldp] advertise-label prefix-list prefix-to-b peer peer-b
[SwitchA-ldp] quit
# 在Switch C上创建允许21.1.1.0/24通过的IP地址前缀列表prefix-to-b,该列表用来过滤通告给Switch B的FEC—标签映射。
[SwitchC] ip prefix-list prefix-to-b index 10 permit 21.1.1.0 24
# 在Switch C上创建允许2.2.2.9/32通过的IP地址前缀列表peer-b,该列表用来过滤LDP对等体。
[SwitchC] ip prefix-list peer-b index 10 permit 2.2.2.9 32
# 在Switch C上配置标签通告控制策略:只将FEC目的地址为21.1.1.0/24的FEC—标签映射通告给Switch B。
[SwitchC] mpls ldp
[SwitchC-ldp] advertise-label prefix-list prefix-to-b peer peer-b
[SwitchC-ldp] quit
# 在Switch D上创建拒绝21.1.1.0/24通过的IP地址前缀列表prefix-to-a,该列表用来过滤通告给Switch A的FEC—标签映射。
[SwitchD] ip prefix-list prefix-to-a index 10 deny 21.1.1.0 24
[SwitchD] ip prefix-list prefix-to-a index 20 permit 0.0.0.0 0 less-equal 32
# 在Switch D上创建允许1.1.1.9/32通过的IP地址前缀列表peer-a,该列表用来过滤LDP对等体。
[SwitchD] ip prefix-list peer-a index 10 permit 1.1.1.9 32
# 在Switch D上创建拒绝11.1.1.0/24通过的IP地址前缀列表prefix-to-c,该列表用来过滤通告给Switch C的FEC—标签映射。
[SwitchD] ip prefix-list prefix-to-c index 10 deny 11.1.1.0 24
[SwitchD] ip prefix-list prefix-to-c index 20 permit 0.0.0.0 0 less-equal 32
# 在Switch D上创建允许3.3.3.9/32通过的IP地址前缀列表peer-c,该列表用来过滤LDP对等体。
[SwitchD] ip prefix-list peer-c index 10 permit 3.3.3.9 32
# 在Switch D上配置标签通告控制策略:不将FEC目的地址为21.1.1.0/24的FEC—标签映射通告给Switch A;不将FEC目的地址为11.1.1.0/24的FEC—标签映射通告给Switch C。
[SwitchD] mpls ldp
[SwitchD-ldp] advertise-label prefix-list prefix-to-a peer peer-a
[SwitchD-ldp] advertise-label prefix-list prefix-to-c peer peer-c
[SwitchD-ldp] quit
# 配置完成后,在各设备上执行display mpls ldp lsp命令,可以看到LDP LSP的建立情况。Switch A和Switch C只接收到Switch B通告的FEC—标签映射;Switch B接收到了Switch A和Switch C通告的FEC—标签映射; Switch D没有接收到Switch A和Switch C通告的FEC—标签映射;即只沿着路径Switch A—Switch B—Switch C建立了LSP。
[SwitchA] display mpls ldp lsp
Status Flags: * - stale, L - liberal
Statistics:
FECs: 2 Ingress LSPs: 1 Transit LSPs: 1 Egress LSPs: 1
FEC In/Out Label Nexthop OutInterface
11.1.1.0/24 1277/-
-/1151(L)
-/1277(L)
21.1.1.0/24 -/1276 10.1.1.2 Vlan-int2
1276/1276 10.1.1.2 Vlan-int2
[SwitchB] display mpls ldp lsp
Status Flags: * - stale, L - liberal
Statistics:
FECs: 2 Ingress LSPs: 2 Transit LSPs: 2 Egress LSPs: 0
FEC In/Out Label Nexthop OutInterface
11.1.1.0/24 -/1277 10.1.1.1 Vlan-int2
1277/1277 10.1.1.1 Vlan-int2
21.1.1.0/24 -/1149 20.1.1.2 Vlan-int3
1276/1149 20.1.1.2 Vlan-int3
[SwitchC] display mpls ldp lsp
Status Flags: * - stale, L - liberal
Statistics:
FECs: 2 Ingress LSPs: 1 Transit LSPs: 1 Egress LSPs: 1
FEC In/Out Label Nexthop OutInterface
11.1.1.0/24 -/1277 20.1.1.1 Vlan-int3
1148/1277 20.1.1.1 Vlan-int3
21.1.1.0/24 1149/-
-/1276(L)
-/1150(L)
[SwitchD] display mpls ldp lsp
Status Flags: * - stale, L - liberal
Statistics:
FECs: 2 Ingress LSPs: 0 Transit LSPs: 0 Egress LSPs: 2
FEC In/Out Label Nexthop OutInterface
11.1.1.0/24 1151/-
-/1277(L)
21.1.1.0/24 1150/-
# 在Switch A上检测Switch A到Switch C的LDP LSP的可达性。
[SwitchA] ping mpls -a 11.1.1.1 ipv4 21.1.1.0 24
MPLS Ping FEC: 21.1.1.0/24 : 100 data bytes
100 bytes from 20.1.1.2: Sequence=1 time=1 ms
100 bytes from 20.1.1.2: Sequence=2 time=1 ms
100 bytes from 20.1.1.2: Sequence=3 time=8 ms
100 bytes from 20.1.1.2: Sequence=4 time=2 ms
100 bytes from 20.1.1.2: Sequence=5 time=1 ms
--- FEC: 21.1.1.0/24 ping statistics ---
5 packets transmitted, 5 packets received, 0.0% packet loss
round-trip min/avg/max = 1/2/8 ms
# 在Switch C上检测Switch C到Switch A的LDP LSP的可达性。
[SwitchC] ping mpls -a 21.1.1.1 ipv4 11.1.1.0 24
MPLS Ping FEC: 11.1.1.0/24 : 100 data bytes
100 bytes from 10.1.1.1: Sequence=1 time=1 ms
100 bytes from 10.1.1.1: Sequence=2 time=1 ms
100 bytes from 10.1.1.1: Sequence=3 time=1 ms
100 bytes from 10.1.1.1: Sequence=4 time=1 ms
100 bytes from 10.1.1.1: Sequence=5 time=1 ms
--- FEC: 11.1.1.0/24 ping statistics ---
5 packets transmitted, 5 packets received, 0.0% packet loss
round-trip min/avg/max = 1/1/1 ms
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!