07-RSVP配置
本章节下载: 07-RSVP配置 (393.20 KB)
目 录
RSVP(Resource Reservation Protocol,资源预留协议)是一种用来在网络上请求预留资源的信令协议。RSVP经扩展后支持MPLS标签的分发,在传送标签绑定消息的同时携带资源预留信息。这种扩展后的RSVP可以作为MPLS TE的标签分发协议,沿着指定路径分发MPLS标签并预留资源,以建立CRLSP(Constraint-based Routed Label Switched Paths,基于约束路由的LSP)。扩展后的RSVP称为RSVP-TE。
RSVP消息分为以下几种:
· Path消息:由发送者沿数据报文传输的方向向下游发送,在沿途所有节点上保存路径状态。
· Resv消息:由接收者沿与数据报文传输相反的方向发送,在沿途所有节点上进行资源预留,并创建和维护预留状态。
· PathTear消息:由发送者或中间节点向下游发送,用来删除沿途节点的路径状态和相关的预留状态。
· ResvTear消息:由接收者或中间节点向上游发送,用来删除沿途节点的预留状态。
· PathErr消息:如果接收者或中间节点在处理Path消息的过程中发生了错误,就会向上游发送PathErr消息,PathErr消息不影响沿途节点的状态,只是把错误报告给发送者。
· ResvErr消息:如果发送者或中间节点在处理Resv消息的过程中发生了错误,或者由于抢占导致预留被破坏,就会向下游节点发送ResvErr消息。
· ResvConf消息:该消息发往接收者,用于对预留消息进行确认。
· Hello消息:用来在两个直连的RSVP邻居之间建立和维持邻居关系,以检测邻居的状态。只有开启RSVP的Hello扩展功能后,才会发送该消息。
RSVP-TE对RSVP消息的扩展主要是在Path消息和Resv消息中增加了新的对象。新增对象除了可以携带标签信息外,还可以携带在沿途寻找路径时的限制信息,从而实现对约束条件和快速重路由的支持。
Path消息新增的对象包括:
· LABEL_REQUEST:用来请求下游节点分配标签。
· EXPLICIT_ROUTE:用来携带Ingress节点计算出的路径信息,确保沿着该路径建立CRLSP。
· RECORD_ROUTE:用来记录CRLSP实际经过的路径及各个节点分配的标签。
· SESSION_ATTRIBUTE:用来携带MPLS TE隧道的属性信息,如建立优先级、保持优先级、亲和属性等。
Resv消息新增的对象包括:
· LABEL:用来将下游节点分配的标签通告给上游节点。
· RECORD_ROUTE:用来记录CRLSP实际经过的路径及各个节点分配的标签。
图1-1 CRLSP建立过程
如图1-1所示,使用RSVP-TE建立CRLSP的过程为:
(1) Ingress LSR产生携带LABEL_REQUEST对象的Path消息,沿着通过CSPF计算出的路径逐跳发送给Egress LSR。Path消息经过的LSR,都依据Path消息生成路径状态。
(2) Egress LSR收到Path消息后,产生携带预留信息和LABEL对象的Resv消息,沿着Path消息的相反路径逐跳发送给Ingress LSR。Resv消息通告标签的同时,在沿途的LSR上预留一定的资源,并生成预留状态。
(3) 当Ingress LSR收到Resv消息时,CRLSP建立成功。
由于RSVP是软状态协议,因此需要定时发送消息来维护节点上的资源预留状态。
资源预留状态包括路径状态和预留状态,分别保存在如下状态块中:
· PSB(Path State Block,路径状态块):由Path消息创建,用来保存LABEL_REQUEST对象。
· RSB(Reservation State Block,预留状态块):由Resv消息创建,用来保存LABEL对象。
路径状态和预留状态分别由周期性发送的Path消息和Resv消息来刷新。对于某个状态,如果在一定时间内没有收到刷新消息,则PSB或RSB中相应的状态将被删除,根据该状态建立的CRLSP也将被删除。
用来刷新资源预留状态的Path和Resv消息,统称为Refresh消息。Refresh消息除了刷新资源预留状态外,还可以用于恢复丢失的RSVP消息。
由于Refresh消息是周期性发送的,当网络中的RSVP会话比较多时,Refresh消息会加重网络负担,此时Path和Resv消息的刷新时间间隔不易过小;而对于时延敏感的应用,当RSVP消息丢失时,希望能够尽快通过Refresh消息恢复丢失的消息,此时Path和Resv消息的刷新时间间隔不易过大。简单地调整刷新间隔并不能同时解决这两类问题。
Srefresh(Summary Refresh,摘要刷新)和RSVP消息的可靠传递功能可以很好地解决上述问题。
摘要刷新功能的工作机制为:发送Path和Resv消息时,在消息中携带Message ID,用来唯一标识一个消息;RSVP通过发送携带待刷新消息Message ID的Srefresh消息,来刷新对应的Path和Resv消息。
采用摘要刷新功能后,不必传送标准的Path和Resv消息,只需传递携带Path和Resv消息摘要的Srefresh消息,即可实现对RSVP路径和预留状态进行刷新,减少了网络上的Refresh消息流量,并加快了节点对刷新消息的处理速度。
RSVP消息没有重传机制,消息丢失后发送端无法获悉,无法重传丢失的消息。通过RSVP消息的可靠性传递功能可以提高消息传递的可靠性。
RSVP消息的可靠传递功能是指对端设备需要应答本端发送的RSVP消息,否则将会重传此消息。其工作机制为:节点发送了携带Message_ID对象的消息,且Message_ID对象的ACK_Desired标识(是否需要应答标识)置位后,如果在重传时间Rf内没有收到携带对应Message_ID_ACK对象的消息,则重传时间Rf超时后重传此消息,并将重传时间置为(1+Delta)×Rf。节点持续按照上述方法重传此消息,直到节点在重传时间超时前接收到对应的应答消息,或消息传送次数达到3次。
RSVP认证功能可以用来确保RSVP消息不会被篡改,以防止伪造的资源预留请求非法占用网络资源。
RSVP认证功能是指:发送RSVP消息时使用MD5算法对认证密钥和消息内容计算出消息摘要,并将消息摘要添加到发送的RSVP消息中。对端接收到RSVP消息后,进行同样地计算,并将计算结果和消息中的摘要进行比较。如果一致,则认证通过,接收该消息;否则认证失败,丢弃该消息。
通过在消息中携带序列号,RSVP认证功能还可以用来防止报文重放攻击。设备记录接收到的RSVP消息的序列号,并根据记录的序列号判断后续消息是否符合要求。只有收到的消息的序列号在允许的范围内时,才接收该消息;否则,丢弃该消息。
RSVP GR(Graceful Restart,平滑重启)功能是指在信令协议或控制平面出现异常时,保持转发表项信息,以保证数据转发不中断。
参与RSVP GR过程的设备分为以下两种角色:
· GR Restarter:GR重启路由器,指由管理员手工或设备故障触发而重启协议的设备,它必须具备GR能力。
· GR Helper:GR Restarter的邻居,与重启的GR Restarter保持邻居关系,并协助其恢复重启前的转发状态,它也必须具备GR能力。
目前,设备只能作为RSVP GR的GR Helper。
RSVP GR依赖于RSVP的Hello扩展能力,通过Hello消息向邻居通告自己的GR能力和相关时间参数。设备和邻居如果都具备RSVP GR能力,那么在完成GR参数的交互后,就可以在检测到对方发生GR重启时,充当对方的GR Helper,保证在GR Restarter重启的过程中,数据转发不会中断。
当GR Restarter发生重启时,GR Helper连续丢失或错误的Hello消息次数达到了配置的值,GR Helper由此判定GR Restarter发生了重启。此时GR Helper会保留与该邻居相关的软状态信息,并保持向对方周期性发送Hello消息,直到重启定时器(Restart Timer)超时。
在重启定时器超时前,如果GR Helper接收到了GR Restarter发送的Hello消息,那么启动恢复定时器,并触发信令消息交互以恢复原有的软状态;否则,将删除与该邻居相关的所有RSVP软状态信息和转发表项。恢复定时器超时后,删除仍然没有恢复的软状态和转发表项。
RSVP P2MP(Point-to-MultiPoint,点到多点)用于建立点到多点类型的CR-LSP(简称P2MP LSP)。一条或多条P2MP LSP构成了点到多点类型的MPLS TE隧道(简称P2MP TE隧道)。
P2MP LSP有多个目的节点。P2MP LSP头节点到各目的节点的点对点类型的LSP称为Sub-LSP。一条P2MP LSP由多条Sub-LSP组成。
RSVP P2MP新增P2MP SESSION对象用于唯一标识一条P2MP TE隧道。P2MP SESSION包含如下字段:
· P2MP ID:头节点为不同的P2MP TE隧道分配不同的P2MP ID。
· Tunnel ID:隧道ID。
· Extended Tunnel ID:扩展隧道ID,取值为P2MP TE隧道的源地址。
一条P2MP LSP是由P2MP SESSION对象以及P2MP SENDER_TEMPLATE对象中的LSP ID字段来确定的。
RSVP P2MP在Path消息和Resv消息中增加了新的对象。
Path消息新增的对象包括:
· S2L_SUB_LSP:用来携带P2MP LSP的目的地址。一个S2L_SUB_LSP只能携带一个目的地址,一个Path消息只能携带一个S2L_SUB_LSP。P2MP LSP支持多个目的地址,所以一条P2MP LSP需要使用多个Path消息。
· SENDER_TEMPLATE:在P2P SENDER_TEMPLATE基础上增加Sub-Group Originator ID、Sub-Group ID字段,用来标识同一个P2MP LSP的不同Path消息。节点使用自己的LSR ID作为Sub-Group Originator ID,并为不同Path消息分配不同的Sub-Group ID。
Resv消息新增的对象包括:
· S2L_SUB_LSP:同Path消息中的S2L_SUB_LSP,用来携带P2MP LSP的目的地址。
· FILTER_SPEC:在P2P FILTER_SPEC基础上增加Sub-Group Originator ID、Sub-Group ID字段,用来标识同一个P2MP LSP的不同Resv消息。节点使用自己的LSR ID作为Sub-Group Originator ID,并为不同Resv消息分配不同的Sub-Group ID。
与RSVP相关的协议规范有:
· RFC 2205:Resource ReSerVation Protocol
· RFC 3209:RSVP-TE: Extensions to RSVP for LSP Tunnels
· RFC 2961:RSVP Refresh Overhead Reduction Extensions
如果设备上已经配置了MPLS功能,请勿再配置FCoE功能,否则可能导致FCoE功能不可用。
RSVP配置任务如下:
(1) 开启RSVP能力
在MPLS TE隧道经过的所有节点和接口上都需要开启RSVP能力。
(2) (可选)配置RSVP的Refresh消息刷新功能
(3) (可选)配置RSVP摘要刷新功能
(4) (可选)配置RSVP消息的可靠传递功能
(5) (可选)配置RSVP的Hello扩展功能
(6) (可选)配置RSVP认证功能
(7) (可选)配置发送的RSVP报文的DSCP优先级
(8) (可选)在GR helper设备上配置RSVP GR
(9) (可选)配置RSVP与BFD联动
为了建立MPLS TE隧道,在MPLS TE隧道经过的所有节点和接口上都需要开启RSVP能力。
(1) 进入系统视图。
system-view
(2) 全局开启RSVP能力,并进入RSVP视图。
rsvp
缺省情况下,全局RSVP能力处于关闭状态。
(3) 退回系统视图。
quit
(4) 进入接口视图。
interface interface-type interface-number
(5) 开启接口的RSVP能力。
rsvp enable
缺省情况下,接口的RSVP能力处于关闭状态。
(1) 进入系统视图。
system-view
(2) 进入RSVP视图。
rsvp
(3) 配置路径消息和预留消息的刷新时间间隔。
refresh interval interval
缺省情况下,路径消息和预留消息的刷新时间间隔为30秒。
(4) 配置PSB和RSB的老化超时倍数。
keep-multiplier number
缺省情况下,PSB和RSB的老化超时倍数为3。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 开启RSVP摘要刷新功能。
rsvp reduction srefresh
缺省情况下,RSVP摘要刷新功能处于关闭状态。
开启摘要刷新功能后,将不会周期性发送Refresh消息维护路径和预留状态。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 开启RSVP消息的可靠传递功能。
rsvp reduction srefresh reliability
缺省情况下, RSVP消息的可靠传递功能处于关闭状态。
(4) (可选)配置RSVP消息可靠传递功能的重传参数
¡ 配置RSVP消息可靠传递功能的重传增量。
rsvp reduction retransmit increment increment-value
缺省情况下,RSVP消息可靠传递功能的重传增量为1。
¡ 配置RSVP消息可靠传递功能的重传时间间隔。
rsvp reduction retransmit interval interval
缺省情况下,RSVP消息可靠传递功能的重传时间间隔为500毫秒。
RSVP消息的可靠传递功能的重传时间为(1+Delta)×Rf,其中Delta为重传增量,Rf为重传时间间隔。
在接口视图下开启RSVP的Hello扩展功能后,设备会通过该接口发送和接收Hello消息,通过Hello消息检测邻居的状态。
在hello interval命令指定的时间内,如果没有收到邻居发送的Hello Request消息,则主动向邻居发送Hello Request消息;如果收到了邻居发送的Hello Request消息,则立即向邻居回应Hello Ack消息。
当连续未收到Hello消息或收到错误的Hello消息的次数达到hello lost命令配置的次数时,认为邻居设备发生故障。如果配置了GR功能,则本地设备作为GR Helper协助邻居进行GR重启;如果没有配置GR功能,但配置了FRR(Fast Reroute,快速重路由)功能,则进行FRR切换。
FRR的详细介绍,请参见“MPLS配置指导”中的“MPLS TE”。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 开启RSVP的Hello扩展功能。
rsvp hello enable
缺省情况下,RSVP的Hello扩展功能处于关闭状态。
(4) (可选)配置RSVP的Hello扩展功能的参数。
a. 退回系统视图。
quit
b. 进入RSVP视图。
rsvp
c. 配置Hello消息连续丢失或错误的最大次数。
hello lost times
缺省情况下,Hello消息连续丢失或错误的最大次数为4次。
d. 配置Hello Request消息的发送时间间隔。
hello interval interval
缺省情况下,Hello Request消息的发送时间间隔为5秒。
为防止伪造的资源预留请求非法占用网络资源,RSVP采用逐跳认证机制来验证RSVP消息的合法性。一条链路两端的接口上需要配置相同的认证密钥,只有这样,接口之间才可以正确地交互RSVP消息。
建议不要在同一个接口上同时配置快速重路由功能和RSVP认证功能,否则可能导致认证失败。
RSVP认证功能可以在如下视图配置:
· RSVP视图:该视图下的配置对所有RSVP SA生效。
· RSVP邻居视图:该视图下的配置只对与指定RSVP邻居之间的RSVP SA生效。
· 接口视图:该视图下的配置只对根据指定接口下的配置生成的RSVP SA生效。
三个视图下配置的优先级从高到低依次为:RSVP邻居视图、接口视图、RSVP视图。
(1) 进入系统视图。
system-view
(2) 进入RSVP视图。
rsvp
(3) 创建RSVP认证邻居,并进入RSVP邻居视图。
peer ip-address
(4) 为指定RSVP邻居开启RSVP认证功能,并配置认证密钥。
authentication key { cipher | plain } string
缺省情况下,RSVP认证功能处于关闭状态,即不进行RSVP认证。
(5) (可选)为指定RSVP邻居开启RSVP认证的challenge-response握手功能。
authentication challenge
缺省情况下,认证的challenge-response握手功能处于关闭状态。
(6) (可选)为指定RSVP邻居配置RSVP SA(Security Association,安全联盟)的空闲老化时间。
authentication lifetime life-time
缺省情况下,RSVP SA的空闲老化时间为1800秒(30分钟)。
(7) (可选)为指定RSVP邻居配置对于带有认证信息的RSVP消息,最大可允许的乱序消息数量。
authentication window-size number
缺省情况下,对于带有认证信息的RSVP消息,最大可允许的乱序消息数量为1。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 在接口下开启RSVP认证功能,并配置认证密钥。
rsvp authentication key { cipher | plain } string
缺省情况下,RSVP认证功能处于关闭状态,即不进行RSVP认证。
(4) (可选)在接口下开启RSVP认证的challenge-response握手功能。
rsvp authentication challenge
缺省情况下,RSVP认证的challenge-response握手功能处于关闭状态。
(5) (可选)在接口下配置RSVP SA的空闲老化时间。
rsvp authentication lifetime life-time
缺省情况下,RSVP SA的空闲老化时间为1800秒(30分钟)。
(6) (可选)在接口下配置对于带有认证信息的RSVP消息,最大可允许的乱序消息数量。
rsvp authentication window-size number
缺省情况下,对于带有认证信息的RSVP消息,最大可允许的乱序消息数量为1。
(1) 进入系统视图。
system-view
(2) 进入RSVP视图。
rsvp
(3) 全局开启RSVP认证功能,并配置认证密钥。
authentication key { cipher | plain } string
缺省情况下,RSVP认证功能处于关闭状态,即不进行RSVP认证。
(4) (可选)全局开启RSVP认证的challenge-response握手功能。
authentication challenge
缺省情况下,认证的challenge-response握手功能处于关闭状态。
(5) (可选)全局配置RSVP SA的空闲老化时间。
authentication lifetime life-time
缺省情况下,RSVP SA的空闲老化时间为1800秒(30分钟)。
(6) (可选)全局配置对于带有认证信息的RSVP消息,最大可允许的乱序消息数量。
authentication window-size number
缺省情况下,对于带有认证信息的RSVP消息,最大可允许的乱序消息数量为1。
DSCP(Differentiated Services Code Point,区分服务编码点)携带在IP报文中的ToS字段,用来体现报文自身的优先等级,决定报文传输的优先程度。通过本配置可以指定发送的RSVP报文中携带的DSCP优先级的取值。
(1) 进入系统视图。
system-view
(2) 进入RSVP视图。
rsvp
(3) 配置发送的RSVP报文的DSCP优先级。
dscp dscp-value
缺省情况下,RSVP报文的DSCP优先级为48。
RSVP GR功能依赖于RSVP的Hello扩展能力,因此在配置RSVP GR功能时必须开启RSVP的Hello扩展能力。
(1) 进入系统视图。
system-view
(2) 进入RSVP视图。
rsvp
(3) 开启RSVP的GR功能。
graceful-restart enable
缺省情况下,RSVP的GR功能处于关闭状态。
在MPLS TE网络中,LSR邻居之间的链路发生故障将导致MPLS TE转发报文失败,而MPLS TE本身无法快速检测到链路故障。通过在MPLS TE隧道内的两个RSVP邻居上分别配置RSVP与BFD(Bidirectional Forwarding Detection,双向转发检测)联动,可以快速地感知邻居之间链路的故障,确保链路出现故障时将业务从主路径切换到备份路径上。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
该接口上需要开启RSVP能力。
(3) 配置通过BFD检测本地设备和RSVP邻居之间链路的状态。
rsvp bfd enable
缺省情况下,不会通过BFD检测本地设备和RSVP邻居之间链路的状态。
在完成上述配置后,在任意视图下执行display命令可以显示配置后RSVP的运行情况,用户可以通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除RSVP统计信息。
表1-1 RSVP的显示和维护
操作 |
命令 |
显示RSVP的信息 |
display rsvp [ interface [ interface-type interface-number ] ] |
显示本地设备与RSVP邻居建立的RSVP SA信息 |
display rsvp authentication [ from ip-address ] [ to ip-address ] [ verbose ] |
显示RSVP建立的CR-LSP信息 |
display rsvp lsp [ destination ip-address ] [ source ip-address ] [ tunnel-id tunnel-id ] [ lsp-id lsp-id ] [ verbose ] |
显示RSVP P2MP建立的点到多点类型的CR-LSP信息 |
display rsvp p2mp lsp [ destination ip-address ] [ source ip-address ] [ tunnel-id tunnel-id ] [ lsp-id lsp-id ] [ verbose ] |
显示向上游设备发送的RSVP P2MP资源预留请求的信息 |
display rsvp p2mp request [ destination ip-address ] [ source ip-address ] [ tunnel-id tunnel-id ] [ prevhop ip-address ] [ verbose ] |
显示RSVP P2MP资源预留状态信息 |
display rsvp p2mp reservation [ destination ip-address ] [ source ip-address ] [ tunnel-id tunnel-id ] [ nexthop nexthop ] [ verbose ] |
显示RSVP P2MP路径状态信息 |
display rsvp p2mp sender [ destination ip-address ] [ source ip-address ] [ tunnel-id tunnel-id ] [ lsp-id lsp-id ] [ verbose ] |
显示RSVP邻居的信息 |
display rsvp peer [ interface interface-type interface-number ] [ ip ip-address ] [ verbose ] |
显示向上游设备发送的RSVP资源预留请求的信息 |
display rsvp request [ destination ip-address ] [ source ip-address ] [ tunnel-id tunnel-id ] [ prevhop ip-address ] [ verbose ] |
显示RSVP资源预留状态信息 |
display rsvp reservation [ destination ip-address ] [ source ip-address ] [ tunnel-id tunnel-id ] [ nexthop ip-address ] [ verbose ] |
显示RSVP路径状态信息 |
display rsvp sender [ destination ip-address ] [ source ip-address ] [ tunnel-id tunnel-id ] [ lsp-id lsp-id ] [ verbose ] |
显示RSVP统计信息 |
display rsvp statistics [ interface [ interface-type interface-number ] ] |
手工清除RSVP SA |
reset rsvp authentication [ from ip-address to ip-address ] |
清除RSVP的统计信息 |
reset rsvp statistics [ interface [ interface-type interface-number ] |
· 设备Switch A、Switch B、Switch C和Switch D运行IS-IS,都是Level-2设备;
· 使用RSVP-TE建立一条从Switch A到Switch D的MPLS TE隧道,实现两个IP网络通过MPLS TE隧道传输数据流量,该隧道需要的带宽为2000kbps;
· 隧道沿途的链路最大带宽为10000kbps,最大可预留带宽为5000kbps。
图1-2 RSVP-TE配置MPLS TE隧道组网图
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
|
Switch A |
Loop0 |
1.1.1.9/32 |
Switch D |
Loop0 |
4.4.4.9/32 |
|
Vlan-int1 |
10.1.1.1/24 |
|
Vlan-int3 |
30.1.1.2/24 |
|
Vlan-int10 |
100.1.1.1/24 |
|
Vlan-int10 |
100.1.2.1/24 |
Switch B |
Loop0 |
2.2.2.9/32 |
Switch C |
Loop0 |
3.3.3.9/32 |
|
Vlan-int1 |
10.1.1.2/24 |
|
Vlan-int3 |
30.1.1.1/24 |
|
Vlan-int2 |
20.1.1.1/24 |
|
Vlan-int2 |
20.1.1.2/24 |
(1) 配置各接口的IP地址
按照图1-2配置各接口的IP地址和掩码,具体配置过程略。
(2) 配置IS-IS协议发布接口所在网段的路由,包括Loopback接口
# 配置Switch A。
<SwitchA> system-view
[SwitchA] isis 1
[SwitchA-isis-1] network-entity 00.0005.0000.0000.0001.00
[SwitchA-isis-1] quit
[SwitchA] interface vlan-interface 1
[SwitchA-Vlan-interface1] isis enable 1
[SwitchA-Vlan-interface1] isis circuit-level level-2
[SwitchA-Vlan-interface1] quit
[SwitchA] interface loopback 0
[SwitchA-LoopBack0] isis enable 1
[SwitchA-LoopBack0] isis circuit-level level-2
[SwitchA-LoopBack0] quit
# 配置Switch B。
<SwitchB> system-view
[SwitchB] isis 1
[SwitchB-isis-1] network-entity 00.0005.0000.0000.0002.00
[SwitchB-isis-1] quit
[SwitchB] interface vlan-interface 1
[SwitchB-Vlan-interface1] isis enable 1
[SwitchB-Vlan-interface1] isis circuit-level level-2
[SwitchB-Vlan-interface1] quit
[SwitchB] interface vlan-interface 2
[SwitchB-Vlan-interface2] isis enable 1
[SwitchB-Vlan-interface2] isis circuit-level level-2
[SwitchB-Vlan-interface2] quit
[SwitchB] interface loopback 0
[SwitchB-LoopBack0] isis enable 1
[SwitchB-LoopBack0] isis circuit-level level-2
[SwitchB-LoopBack0] quit
# 配置Switch C。
<SwitchC> system-view
[SwitchC] isis 1
[SwitchC-isis-1] network-entity 00.0005.0000.0000.0003.00
[SwitchC-isis-1] quit
[SwitchC] interface vlan-interface 3
[SwitchC-Vlan-interface3] isis enable 1
[SwitchC-Vlan-interface3] isis circuit-level level-2
[SwitchC-Vlan-interface3] quit
[SwitchC] interface vlan-interface 2
[SwitchC-Vlan-interface2] isis enable 1
[SwitchC-Vlan-interface2] isis circuit-level level-2
[SwitchC-Vlan-interface2] quit
[SwitchC] interface loopback 0
[SwitchC-LoopBack0] isis enable 1
[SwitchC-LoopBack0] isis circuit-level level-2
[SwitchC-LoopBack0] quit
# 配置Switch D。
<SwitchD> system-view
[SwitchD] isis 1
[SwitchD-isis-1] network-entity 00.0005.0000.0000.0004.00
[SwitchD-isis-1] quit
[SwitchD] interface vlan-interface 3
[SwitchD-Vlan-interface3] isis enable 1
[SwitchD-Vlan-interface3] isis circuit-level level-2
[SwitchD-Vlan-interface3] quit
[SwitchD] interface loopback 0
[SwitchD-LoopBack0] isis enable 1
[SwitchD-LoopBack0] isis circuit-level level-2
[SwitchD-LoopBack0] quit
# 配置完成后,在各设备上执行display ip routing-table命令,可以看到相互之间都学到了到对方的路由,包括Loopback接口对应的主机路由。
(3) 配置LSR ID,开启MPLS、MPLS TE和RSVP能力
# 配置Switch A。
[SwitchA] mpls lsr-id 1.1.1.9
[SwitchA] mpls te
[SwitchA-te] quit
[SwitchA] rsvp
[SwitchA-rsvp] quit
[SwitchA] interface vlan-interface 1
[SwitchA-Vlan-interface1] mpls enable
[SwitchA-Vlan-interface1] mpls te enable
[SwitchA-Vlan-interface1] rsvp enable
[SwitchA-Vlan-interface1] quit
# 配置Switch B。
[SwitchB] mpls lsr-id 2.2.2.9
[SwitchB] mpls te
[SwitchB-te] quit
[SwitchB] rsvp
[SwitchB-rsvp] quit
[SwitchB] interface vlan-interface 1
[SwitchB-Vlan-interface1] mpls enable
[SwitchB-Vlan-interface1] mpls te enable
[SwitchB-Vlan-interface1] rsvp enable
[SwitchB-Vlan-interface1] quit
[SwitchB] interface vlan-interface 2
[SwitchB-Vlan-interface2] mpls enable
[SwitchB-Vlan-interface2] mpls te enable
[SwitchB-Vlan-interface2] rsvp enable
[SwitchB-Vlan-interface2] quit
# 配置Switch C。
[SwitchC] mpls lsr-id 3.3.3.9
[SwitchC] mpls te
[SwitchC-te] quit
[SwitchC] rsvp
[SwitchC-rsvp] quit
[SwitchC] interface vlan-interface 3
[SwitchC-Vlan-interface3] mpls enable
[SwitchC-Vlan-interface3] mpls te enable
[SwitchC-Vlan-interface3] rsvp eanble
[SwitchC-Vlan-interface3] quit
[SwitchC] interface vlan-interface 2
[SwitchC-Vlan-interface2] mpls enable
[SwitchC-Vlan-interface2] mpls te enable
[SwitchC-Vlan-interface2] rsvp enable
[SwitchC-Vlan-interface2] quit
# 配置Switch D。
[SwitchD] mpls lsr-id 4.4.4.9
[SwitchD] mpls te
[SwitchD-te] quit
[SwitchD] rsvp
[SwitchD-rsvp] quit
[SwitchD] interface vlan-interface 3
[SwitchD-Vlan-interface3] mpls enable
[SwitchD-Vlan-interface3] mpls te enable
[SwitchD-Vlan-interface3] rsvp enable
[SwitchD-Vlan-interface3] quit
(4) 配置IS-IS TE
# 配置Switch A。
[SwitchA] isis 1
[SwitchA-isis-1] cost-style wide
[SwitchA-isis-1] mpls te enable level-2
[SwitchA-isis-1] quit
# 配置Switch B。
[SwitchB] isis 1
[SwitchB-isis-1] cost-style wide
[SwitchB-isis-1] mpls te enable level-2
[SwitchB-isis-1] quit
# 配置Switch C。
[SwitchC] isis 1
[SwitchC-isis-1] cost-style wide
[SwitchC-isis-1] mpls te enable level-2
[SwitchC-isis-1] quit
# 配置SwitchD。
[SwitchD] isis 1
[SwitchD-isis-1] cost-style wide
[SwitchD-isis-1] mpls te enable level-2
[SwitchD-isis-1] quit
(5) 配置链路的MPLS TE属性
# 在Switch A上配置链路的最大带宽和最大可预留带宽。
[SwitchA] interface vlan-interface 1
[SwitchA-Vlan-interface1] mpls te max-link-bandwidth 10000
[SwitchA-Vlan-interface1] mpls te max-reservable-bandwidth 5000
[SwitchA-Vlan-interface1] quit
# 在Switch B上配置链路的最大带宽和最大可预留带宽。
[SwitchB] interface vlan-interface 1
[SwitchB-Vlan-interface1] mpls te max-link-bandwidth 10000
[SwitchB-Vlan-interface1] mpls te max-reservable-bandwidth 5000
[SwitchB-Vlan-interface1] quit
[SwitchB] interface vlan-interface 2
[SwitchB-Vlan-interface2] mpls te max-link-bandwidth 10000
[SwitchB-Vlan-interface2] mpls te max-reservable-bandwidth 5000
[SwitchB-Vlan-interface2] quit
# 在Switch C上配置链路的最大带宽和最大可预留带宽。
[SwitchC] interface vlan-interface 3
[SwitchC-Vlan-interface3] mpls te max-link-bandwidth 10000
[SwitchC-Vlan-interface3] mpls te max-reservable-bandwidth 5000
[SwitchC-Vlan-interface3] quit
[SwitchC] interface vlan-interface 2
[SwitchC-Vlan-interface2] mpls te max-link-bandwidth 10000
[SwitchC-Vlan-interface2] mpls te max-reservable-bandwidth 5000
[SwitchC-Vlan-interface2] quit
# 在Switch D上配置链路的最大带宽和最大可预留带宽。
[SwitchD] interface vlan-interface 3
[SwitchD-Vlan-interface3] mpls te max-link-bandwidth 10000
[SwitchD-Vlan-interface3] mpls te max-reservable-bandwidth 5000
[SwitchD-Vlan-interface3] quit
(6) 配置MPLS TE隧道
# 在Switch A上配置MPLS TE隧道Tunnel1:目的地址为Switch D的LSR ID(4.4.4.9);采用RSVP-TE信令协议建立MPLS TE隧道;隧道所需的带宽为2000kbps。
[SwitchA] interface tunnel 1 mode mpls-te
[SwitchA-Tunnel1] ip address 7.1.1.1 255.255.255.0
[SwitchA-Tunnel1] destination 4.4.4.9
[SwitchA-Tunnel1] mpls te signaling rsvp-te
[SwitchA-Tunnel1] mpls te bandwidth 2000
[SwitchA-Tunnel1] quit
(7) 配置静态路由使流量沿MPLS TE隧道转发
# 在Switch A上配置静态路由,使得到达网络100.1.2.0/24的流量通过MPLS TE隧道接口Tunnel1转发。
[SwitchA] ip route-static 100.1.2.0 24 tunnel 1 preference 1
# 配置完成后,在Switch A上执行display interface tunnel命令可以看到隧道接口状态为up。
[SwitchA] display interface tunnel
Tunnel1
Current state: UP
Line protocol state: UP
Description: Tunnel1 Interface
Bandwidth: 64kbps
Maximum transmission unit: 64000
Internet address: 7.1.1.1/24 (primary)
Tunnel source unknown, destination 4.4.4.9
Tunnel TTL 255
Tunnel protocol/transport CR_LSP
Last clearing of counters: Never
Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Last 300 seconds output rate: 6 bytes/sec, 48 bits/sec, 0 packets/sec
Input: 0 packets, 0 bytes, 0 drops
Output: 177 packets, 11428 bytes, 0 drops
# 在Switch A上执行display mpls te tunnel-interface命令可以看到隧道的详细信息。
[SwitchA] display mpls te tunnel-interface
Tunnel Name : Tunnel 1
Tunnel State : Up (Main CRLSP up, Shared-resource CRLSP down)
Tunnel Attributes :
LSP ID : 23331 Tunnel ID : 1
Admin State : Normal
Ingress LSR ID : 1.1.1.9 Egress LSR ID : 4.4.4.9
Signaling : RSVP-TE Static CRLSP Name : -
Resv Style : SE
Tunnel mode : -
Reverse-LSP name : -
Reverse-LSP LSR ID : - Reverse-LSP Tunnel ID: -
Class Type : CT0 Tunnel Bandwidth : 2000 kbps
Reserved Bandwidth : 2000 kbps
Setup Priority : 7 Holding Priority : 7
Affinity Attr/Mask : 0/0
Explicit Path : -
Backup Explicit Path : -
Metric Type : TE
Record Route : Disabled Record Label : Disabled
FRR Flag : Disabled Backup Bandwidth Flag: Disabled
Backup Bandwidth Type: - Backup Bandwidth : -
Route Pinning : Disabled
Retry Limit : 3 Retry Interval : 2 sec
Reoptimization : Disabled Reoptimization Freq : -
Backup Type : None Backup LSP ID : -
Auto Bandwidth : Disabled Auto Bandwidth Freq : -
Min Bandwidth : - Max Bandwidth : -
Collected Bandwidth : - Service-Class : -
# 在Switch A上执行display ip routing-table命令,可以看到路由表中有以Tunnel1为出接口的静态路由信息。
· 设备Switch A、Switch B和Switch C运行IS-IS,都是Level-2设备;
· 使用RSVP-TE建立从Switch A到Switch C的MPLS TE隧道;
· 设备Switch A、Switch B和Switch C支持RSVP的Hello扩展能力;
· Switch A、Switch B和Switch C为RSVP邻居,通过开启GR能力,邻居之间可以在对方发生GR Restart的时候提供GR Helper支持。
图1-3 RSVP GR配置组网图
(1) 配置各接口的IP地址
按照图1-3配置各接口的IP地址和掩码,具体配置过程略。
(2) 配置IS-IS协议发布接口所在网段的路由,包括Loopback接口(具体配置过程略)
(3) 配置LSR ID,开启MPLS、MPLS TE、RSVP和RSVP的Hello扩展能力
# 配置Switch A
<SwitchA> system-view
[SwitchA] mpls lsr-id 1.1.1.9
[SwitchA] mpls te
[SwitchA-te] quit
[SwitchA] rsvp
[SwitchA-rsvp] quit
[SwitchA] interface vlan-interface 1
[SwitchA-Vlan-interface1] mpls enable
[SwitchA-Vlan-interface1] mpls te enable
[SwitchA-Vlan-interface1] rsvp enable
[SwitchA-Vlan-interface1] rsvp hello enable
[SwitchA-Vlan-interface1] quit
# 配置Switch B
<SwitchB> system-view
[SwitchB] mpls lsr-id 2.2.2.9
[SwitchB] mpls te
[SwitchB-te] quit
[SwitchB] rsvp
[SwitchB-rsvp] quit
[SwitchB-mpls] interface vlan-interface 1
[SwitchB-Vlan-interface1] mpls enable
[SwitchB-Vlan-interface1] mpls te enable
[SwitchB-Vlan-interface1] rsvp enable
[SwitchB-Vlan-interface1] rsvp hello enable
[SwitchB-Vlan-interface1] quit
[SwitchB] interface vlan-interface 2
[SwitchB-Vlan-interface2] mpls enable
[SwitchB-Vlan-interface2] mpls te enable
[SwitchB-Vlan-interface2] rsvp enable
[SwitchB-Vlan-interface2] rsvp hello enable
[SwitchB-Vlan-interface2] quit
# 配置Switch C
<SwitchC> system-view
[SwitchC] mpls lsr-id 3.3.3.9
[SwitchC] mpls te
[SwitchC-te] quit
[SwitchC] rsvp
[SwitchC-rsvp] quit
[SwitchC] interface vlan-interface 2
[SwitchC-Vlan-interface2] mpls enable
[SwitchC-Vlan-interface2] mpls te enable
[SwitchC-Vlan-interface2] rsvp enable
[SwitchC-Vlan-interface2] rsvp hello enable
[SwitchC-Vlan-interface2] quit
(4) 配置IS-IS TE(具体配置过程略)
(5) 配置MPLS TE隧道(具体配置过程略)
(6) 配置RSVP GR
# 配置Switch A
[SwitchA] rsvp
[SwitchA-rsvp] graceful-restart enable
[SwitchA-rsvp] quit
# 配置Switch B
[SwitchB] rsvp
[SwitchB-rsvp] graceful-restart enable
[SwitchB-rsvp] quit
# 配置Switch C
[SwitchC] rsvp
[SwitchC-rsvp] graceful-restart enable
[SwitchC-rsvp] quit
# 在Switch A和Switch C之间创建隧道且运行稳定后,通过命令可以看到邻居的GR状态已经为Ready状态。
<SwitchA> display rsvp peer verbose
Peer: 10.1.1.2 Interface: Vlan1
Hello state: Up Hello type: Active
P2P PSB count: 0 P2P RSB count: 1
P2MP PSB count: 0 P2MP RSB count: 0
Src instance: 0x1f08 Dst instance: 0x22
Summary refresh: Disabled Graceful Restart state: Ready
Peer GR restart time: 120000 ms Peer GR recovery time: 0 ms
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!