01-MPLS SR配置
本章节下载: 01-MPLS SR配置 (265.34 KB)
SR(Segment Routing,分段路由)采用源路径选择机制,预先在源节点封装好路径所要经过节点分配的SID(Segment Identifier,段标识),当报文经过SR节点时,该节点根据报文的SID对报文进行转发。除源节点外,其它节点无需维护路径状态。MPLS SR(Segment Routing with MPLS,MPLS段路由)是指在MPLS网络中使用SR、将标签作为SID对报文进行转发。
MPLS SR具有以下优点:
· 直接应用现有的MPLS框架进行转发,无需对网络进行改造。MPLS网络架构的详细介绍,请参见“MPLS配置指导”中的“MPLS基础”。
SR主要涉及如下概念:
· SR节点:开启MPLS SR功能的设备通常被称为SR节点。其中,负责为进入MPLS SR网络的报文添加标签的入口节点称为源节点;负责剥离报文中标签、并将报文转发给目的网络的出口节点称为尾节点。
· 段:用来指明节点对入报文所执行的操作。
· SID:段标识,在MPLS SR中为MPLS标签。
· 分段类型:根据SID分配形式不同,SR的分段类型有如下两种:
¡ Prefix Segment:前缀类型的段,按目的IP地址前缀为网络的节点分配SID并建立转发表项。
¡ Adjacency Segment:邻接类型的段,为节点的不同邻接链路分别分配SID。
· SRLSP(Segment Routing Label Switched Path,基于段路由的LSP):以标签作为SID对报文进行段路由转发,报文所经过的路径称为SRLSP。
要想通过SRLSP转发报文,需要完成以下工作:
(1) 进行标签分配,为报文转发路径中的每个节点和链路规划标签信息。
(2) 建立标签转发表项,运行MPLS SR的设备组成的分段路由域内的设备根据分配的标签信息形成本地的标签转发表项。
(3) 建立SRLSP。
完成上述步骤后,SRLSP即可用来转发流量。当源节点接收到用户网络的报文后,会为报文封装所经过路径上的标签信息,并通过SRLSP将报文转发给尾节点;尾节点从SRLSP接收到报文后,会剥离报文中的标签,根据原始报文的目的地址查找路由表进行报文转发。
静态配置Segment的方式为:
· Prefix Segment:在每台SR节点上为目的IP地址前缀手工指定入标签、出标签和下一跳。
· Adjacency Segment:在每台SR节点上为与邻接设备相连的链路手工指定入标签和下一跳对应关系。
根据转发路径需要,在隧道头节点上指定报文转发时携带的标签栈。标签栈中的每个标签对应一个Prefix SID或Adjacency SID,根据Prefix SID或Adjacency SID可以找到报文的出标签、下一跳等信息。
根据SID分配方式的不同,MPLS SR报文转发过程主要分为以下几种:
· Prefix方式:在源节点将为尾节点分配的Prefix SID封装到报文中,各中间节点查找标签转发表项进行转发。
· Adjacency方式:在源节点将所有经过节点为邻接链路分配的Adjacency SID组成的标签栈封装到报文中,各中间节点根据标签栈最外层标签查找下一跳邻居,并在转发报文时删除标签栈最外层标签。
· Prefix/Adjacency方式:采用Prefix和Adjacency组合方式进行报文转发。
如图1-1所示,Device A通过SRLSP将报文转发到Device E时,需要为报文指定出标签为16201。Prefix方式报文转发过程如下:
(1) 在源节点Device A根据16201查找标签转发表项,判断该标签对应的下一跳为Device B,出标签为16201,Device A为报文封装标签16201,发送给中间节点Device B。
(2) 中间节点Device B的入标签为16201,出标签为16201,将16201替换为16201,发送给下一个中间节点Device C继续转发。
(3) 中间节点Device C及Device D的转发过程和Device B类似。
(4) 报文到达尾节点Device E后,Device E删除报文中的标签16201,按IP继续转发即可。
图1-1 Prefix方式报文转发过程示意图
如图1-2所示,Device A、Device B、Device C、Deivce D为链路分配的Adjacency SID分别为200、201、202、203。Device A通过SRLSP将报文转发到Device E时,需要为报文指定出标签栈为(200,201,202,203)。Adjacency方式报文转发过程如下:
(1) 在源节点Device A根据栈顶标签200查找标签转发表项,判断该标签对应的下一跳为Device B。Device A为报文封装标签栈(201,202,203)后,将该报文转发给Device B。
(2) 中间节点Device B接收到报文后,根据入标签201查找标签转发表项,判断该标签对应的下一跳为Device C。Device B删除标签栈最外层标签201后,发送给下一个中间节点Device C继续转发。
(3) 中间节点Device C接收到报文后,根据入标签202查找标签转发表项,判断该标签对应的下一跳为Device D。Device C删除标签栈最外层标签202后,发送给下一个中间节点Device D继续转发。
(4) 中间节点Device D接收到报文后,根据入标签203查找标签转发表项,判断该标签对应的下一跳为Device E。Device D删除标签栈最外层标签203后,发送给Device E继续转发。
(5) Device E收到是一个IP报文,按IP转发即可。
图1-2 Adjacency方式报文转发过程示意图
如图1-3所示,Device C为本节点分配的Prefix SID索引值为1,Device A、Device B、Device C上对应的Prefix SID分别为16001、16001、16001,Device C、Device D为邻接链路分配的Adjacency SID分别为16、17,Device A通过SRLSP将报文转发到Device E时,需要为报文指定出标签栈为(16001,16,17)。
Adjacency/Prefix组合方式报文转发过程如下:
(1) 在源节点Device A根据16001查找标签转发表项,判断该标签对应的下一跳为Device B,出标签为16001,Device A为报文封装标签栈(16001,16,17),发送给中间节点Device B。
(2) 中间节点Device B前缀路径入标签为16001,出标签为16001,将16001替换为16001,发送给下一个中间节点Device C继续转发。
(3) 中间节点DeviceC前缀路径入标签16001,邻接路径入标签为16,删除标签栈最外层标签(16001,16)后,根据邻接路径将报文发送给下一个中间节点Device D继续转发。
(4) 中间节点Device D删除标签栈最外层标签17后,将报文发送给尾节点Device E,Device E收到是一个IP报文,按IP转发即可。
图1-3 Adjacency/Prefix组合方式报文转发过程示意图
与MPLS SR相关的协议规范有:
· draft-ietf-spring-segment-routing-mpls-00
· draft-ietf-spring-segment-routing-02
SRLSP转发IP流量配置任务如下:
(1) 配置Segment
MPLS TE隧道采用静态SRLSP转发流量配置任务如下:
(1) 配置Segment
请选择以下一项任务进行配置:
在静态配置Segment之前,需完成以下任务:
· 确定静态SRLSP的头节点、中间节点和尾节点。
· 规划每个节点到下一跳的邻接路径的入标签值,规划每个节点的前缀路径标签值。需要注意的是,静态SRLSP与静态LSP使用相同的标签空间,在同一台设备上静态SRLSP和静态LSP的入标签不能相同。
· 在参与MPLS转发的各个节点和接口上开启MPLS能力,配置方法请参见“MPLS配置指导”中的“MPLS基础”。
如果指定下一跳IP地址,设备上必须存在到达该地址的路由且路由出接口上必须使能MPLS能力;如果指定出接口,该出接口必须处于UP状态并且能够接收到直连路由,且必须使能MPLS能力。
如果所指定的入标签与已经存在的静态LSP/静态PW的入标签相同,则会导致标签冲突,所配置的邻接路径不可用。即使修改静态LSP/静态PW的入标签,该邻接路径仍不可用,需要手工删除该邻接路径并重新配置。
本命令需要在静态SRLSP的所有节点上执行。
如果多条静态SRLSP存在公共路径,公共路径节点的邻接路径信息一致,不需要进行多次配置。
(1) 进入系统视图。
system-view
static-sr-mpls adjacency adjacency-path-name in-label label-value { nexthop ip-address | outgoing-interface interface-type interface-number }
指定的下一跳地址不能是本地设备上的公网IP地址。
指定的下一跳或出接口必须与路由表中最优路由(非BGP路由)的下一跳或出接口保持一致,同一台设备上,如果最优路由有多个下一跳或者出接口,那么就能配置多个到该目的地址的前缀路径用于负载分担,但是需要注意的是到达同一目的地址前缀路径的名称、入标签值需要保持一致。
本命令需要在静态SRLSP的所有节点上执行。
如果多条静态SRLSP的目的地址相同,公共路径节点的前缀路径信息一致,不需要进行多次配置。
(1) 进入系统视图。
system-view
(2) 配置静态Prefix Segment。
static-sr-mpls prefix prefix-path-name destination ip-address { mask-length | mask } in-label in-label-value [ { nexthop ip-address | outgoing-interface interface-type interface-number } out-label out-label-value ]
指定的下一跳地址不能是本地设备上的公网IP地址。
(1) 进入系统视图。
system-view
(2) 配置用于MPLS TE隧道的静态SRLSP。
static-sr-mpls lsp lsp-name out-label out-label-value&<1-4>
在完成上述配置后,在任意视图下执行display命令可以显示配置MPLS SR后的运行情况,用户可以通过查看显示信息验证配置的效果。
表1-1 MPLS SR显示和维护
操作 |
命令 |
显示静态SRLSP信息或静态配置的邻接段信息 |
display mpls static-sr-mpls { lsp [ lsp-name ] | adjacency [ adjacency-path-name ] } |
显示静态配置的前缀段信息 |
display mpls static-sr-mpls prefix [ path lsp-name | destination ip-address [ mask | mask-length ] ] |
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!