01-IP路由基础配置
本章节下载: 01-IP路由基础配置 (368.48 KB)
1.9 配置不同协议间快速重路由或等价路由通过BFD检测主路由的下一跳是否可达
1.13.4 配置清除下一跳循环迭代惩罚计数的时间间隔(IPv4)
1.13.6 配置清除下一跳循环迭代惩罚计数的时间间隔(IPv6)
本手册仅介绍单播路由协议,组播路由协议请参见“IP组播配置指导”。
在网络中路由器根据所收到的报文的目的地址选择一条合适的路径,并将报文转发到下一个路由器。路径中最后一个路由器负责将报文转发给目的主机。路由就是报文在转发过程中的路径信息,用来指导报文转发。
RIB(Routing Information Base,路由信息库),是一个集中管理路由信息的数据库,包含路由表信息以及路由周边信息(路由迭代信息、路由共享信息以及路由扩展信息)等。
路由器通过对路由表进行优选,把优选路由下发到FIB(Forwarding Information Base,转发信息库)表中,通过FIB表指导报文转发。FIB表中每条转发项都指明了要到达某子网或某主机的报文应通过路由器的哪个物理接口发送,就可以到达该路径的下一个路由器,或者不需再经过别的路由器便可传送到直接相连的网络中的目的主机。FIB表的具体内容,请参见“三层技术-IP业务配置指导”中的“IP转发基础”。
表1-1 路由分类
分类标准 |
具体分类 |
根据来源不同 |
· 直连路由:链路层协议发现的路由,也称为接口路由 · 静态路由:网络管理员手工配置的路由。静态路由配置方便,对系统要求低,适用于拓扑结构简单并且稳定的小型网络。其缺点是每当网络拓扑结构发生变化,都需要手工重新配置,不能自动适应 · 动态路由:路由协议发现的路由 |
根据路由目的地的不同 |
· 网段路由:目的地为网段,子网掩码长度小于32位 · 主机路由:目的地为主机,子网掩码长度为32位 |
根据目的地与该路由器是否直接相连 |
· 直接路由:目的地所在网络与路由器直接相连 · 间接路由:目的地所在网络与路由器非直接相连 |
路由协议有自己的路由算法,能够自动适应网络拓扑的变化,适用于具有一定规模的网络拓扑。其缺点是配置比较复杂,对系统的要求高于静态路由,并占用一定的网络资源。
对路由协议的分类可采用以下不同标准。
表1-2 路由协议分类
分类标准 |
具体分类 |
根据作用范围 |
· IGP(Interior Gateway Protocol,内部网关协议):在一个自治系统内部运行,常见的IGP协议包括RIP、OSPF和IS-IS · EGP(Exterior Gateway Protocol,外部网关协议):运行于不同自治系统之间,BGP是目前最常用的EGP |
根据使用算法 |
· 距离矢量(Distance-Vector)协议:包括RIP和BGP。其中,BGP也被称为路径矢量协议(Path-Vector) · 链路状态(Link-State)协议:包括OSPF和IS-IS |
根据目的地址类型 |
· 单播路由协议:包括RIP、OSPF、BGP和IS-IS等 · 组播路由协议:包括PIM-SM、PIM-DM等 |
根据IP协议版本 |
· IPv4路由协议:包括RIP、OSPF、BGP和IS-IS等 · IPv6路由协议:包括RIPng、OSPFv3、IPv6 BGP和IPv6 IS-IS等 |
AS(Autonomous System,自治系统)是拥有同一选路策略,并在同一技术管理部门下运行的一组路由器。
对于相同的目的地,不同的路由协议、直连路由和静态路由可能会发现不同的路由,但这些路由并不都是最优的。为了判断最优路由,各路由协议、直连路由和静态路由都被赋予了一个优先级,具有较高优先级的路由协议发现的路由将成为最优路由。
除直连路由外,各路由协议的优先级都可由用户手工进行配置。另外,每条静态路由的优先级都可以不相同。缺省的路由优先级如表1-3所示,数值越小表明优先级越高。
路由协议或路由种类 |
缺省的路由优先级 |
DIRECT(直连路由) |
0 |
组播静态路由 |
1 |
OSPF |
10 |
IS-IS |
15 |
单播静态路由 |
60 |
RIP |
100 |
OSPF ASE |
150 |
OSPF NSSA |
150 |
IBGP |
255 |
EBGP |
255 |
UNKNOWN(来自不可信源端的路由) |
256 |
对同一路由协议来说,允许配置多条目的地相同且开销也相同的路由。当到同一目的地的路由中,没有更高优先级的路由时,这几条路由都被采纳,在转发去往该目的地的报文时,依次通过各条路径发送,从而实现网络的负载分担。
目前支持负载分担有静态路由/IPv6静态路由、RIP/RIPng、OSPF/OSPFv3、BGP/IPv6 BGP和IS-IS/IPv6 IS-IS。
使用路由备份可以提高网络的可靠性。用户可根据实际情况,配置到同一目的地的多条路由,其中优先级最高的一条路由作为主路由,其余优先级较低的路由作为备份路由。
正常情况下,路由器采用主路由转发数据。当链路出现故障时,主路由变为非激活状态,路由器选择备份路由中优先级最高的转发数据,实现从主路由到备份路由的切换;当链路恢复正常时,路由器重新选择路由,由于主路由的优先级最高,路由器选择主路由来发送数据,实现从备份路由到主路由的切换。
对于BGP路由(直连EBGP路由除外)和静态路由(配置了下一跳)以及多跳RIP路由而言,其所携带的下一跳信息可能并不是直接可达,需要找到到达下一跳的直连出接口。路由迭代的过程就是通过路由的下一跳信息来找到直连出接口的过程。
而对于OSPF和IS-IS等链路状态路由协议而言,其下一跳是直接在路由计算时得到的,不需要进行路由迭代。
路由迭代信息记录并保存路由迭代的结果,包括依赖路由的概要信息、迭代路径、迭代深度等。
由于各路由协议采用的路由算法不同,不同的路由协议可能会发现不同的路由。如果网络规模较大,当使用多种路由协议时,往往需要在不同的路由协议间能够共享各自发现的路由。
各路由协议都可以引入其它路由协议的路由、直连路由和静态路由,具体内容请参见本手册中各路由协议模块有关引入外部路由的描述。
路由共享信息记录了路由协议之间的引入关系。
路由扩展属性主要是指BGP路由的扩展团体属性以及OSPF路由的区域ID、路由类型和Router ID等。同路由共享一样,路由协议可以引入其它路由协议的路由扩展属性。
路由扩展信息记录了各路由协议的路由扩展属性以及路由协议扩展属性之间的引入关系。
配置负载分担的内容包括:
· 配置负载分担方式:设备上存在多条等价路由时,可以根据报文中的信息(源IP地址、目的IP地址、源端口、目的端口和IP协议号)配置逐流进行负载分担。
· 配置负载分担算法切换:在某些复杂的组网环境中,单一的负载分担算法不能满足负载分担的需求,可能出现设备负载分担不均匀的时候。这种情况下可以通过指定不同的负载分担算法来实现设备负载分担算法切换,保证负载分担均匀。
(1) 进入系统视图。
system-view
(2) 配置负载分担方式。
ip load-sharing mode per-flow [ algorithm algorithm-number [ shift shift-number ] | [ dest-ip | dest-port | flow-label | ingress-port | ip-pro | src-ip | src-port ] * ] { global | slot slot-number }
缺省情况下,基于报文的源IP地址、目的IP地址、源端口、目的端口和IP协议号逐流进行负载分担。
在业务流量和转发报文的接口均固定的场景下,逐包负载分担的性能比逐流负载分担稍高。在设备采取全局逐流负载分担的场景下,通过本命令可以指定接口为逐包负载分担,多用于测试设备的性能。配置完成后,接口将保持逐包负载分担,不再继承系统视图下负载分担方式的配置。
(1) 进入系统视图。
system-view
(2) 进入三层接口视图。
interface interface-type interface-number
(3) 指定接口采用逐包方式进行负载分担。
ip load-sharing mode per-packet
缺省情况下,不指定接口的负载分担方式,接口的负载分担方式继承系统视图下负载分担方式的配置。
使能基于带宽的负载分担功能情况下,如果转发时查到多个出接口/下一跳,则按照接口的带宽值计算出各个接口应该分配的报文比例,然后按照带宽比例对报文进行转发。
支持负载分担的协议(如LISP)的设备,无论是否配置负载分担命令,负载分担比例以协议定义的负载分担比例为准。
(1) 进入系统视图。
system-view
(2) 开启IPv4基于带宽的负载分担功能。
bandwidth-based-sharing
缺省情况下,IPv4基于带宽的负载分担功能处于关闭状态。
(3) (可选)配置接口的期望带宽值。
a. 进入接口视图。
interface interface-type interface-number
b. 配置接口的期望带宽值。
bandwidth bandwidth
缺省情况下,接口期望带宽为接口的物理带宽。
开启对称负载分担功能后,对于源IP为A、目的IP为B的流量,和源IP为B、目的IP为A的流量,将负载分担到同一条路径。
(1) 进入系统视图。
system-view
(2) 开启对称负载分担功能。
ip load-sharing symmetric enable
缺省情况下,对称负载分担功能处于关闭状态。
可在任意视图下执行以下命令:
· 显示当前使用的负载分担方式。
display ip load-sharing mode slot slot-number
· 显示接口视图下配置了逐包负载分担方式的接口信息。
display ip load-sharing mode per-packet interface
· 指定计算等价路由哈希选路的参数并显示计算出的等价路由哈希选路信息。
display ip load-sharing path ingress-port interface-type interface-number packet-format { ipv4oe dest-ip ip-address [ src-ip ip-address ] | ipv6oe dest-ipv6 ipv6-address [ src-ipv6 ipv6-address | flow-label flow-label ] } [ dest-port port-id | ip-pro protocol-id | src-port port-id | vpn-instance vpn-instance-name ] *
当协议路由表项较多或协议GR时间较长时,由于协议收敛速度较慢,可能会出现协议路由表项提前老化的问题。通过调节路由在RIB中的最大存活时间,可以解决上面的问题。
该配置在下一次协议进程倒换或者RIB进程倒换时才生效。
(1) 进入系统视图。
system-view
(2) 进入RIB视图。
rib
(3) 创建RIB IPv4地址族,并进入RIB IPv4地址族视图。
address-family ipv4
(4) 配置IPv4路由在RIB中的最大存活时间。
protocol protocol [ instance instance-name ] lifetime seconds
缺省情况下,IPv4路由在RIB中的最大存活时间为900秒。
(1) 进入系统视图。
system-view
(2) 进入RIB视图。
rib
(3) 创建RIB IPv6地址族,并进入RIB IPv6地址族视图。
address-family ipv6
(4) 配置IPv6路由在RIB中的最大存活时间。
protocol protocol [ instance instance-name ] lifetime seconds
缺省情况下,IPv6路由在RIB中的最大存活时间为900秒。
当协议进程倒换或RIB进程倒换后,如果协议进程没有配置GR,需要多保留一段时间FIB表项;如果协议进程配置了GR,需要立刻删除FIB表项,避免FIB表项长时间存在导致问题。通过调节路由在FIB中的最大存活时间,可以解决上面的问题。
(1) 进入系统视图。
system-view
(2) 进入RIB视图。
rib
(3) 创建RIB IPv4地址族,并进入RIB IPv4地址族视图。
address-family ipv4
(4) 配置IPv4路由在FIB中的最大存活时间。
fib lifetime seconds
缺省情况下,IPv4路由在FIB中的最大存活时间为600秒。
(1) 进入系统视图。
system-view
(2) 进入RIB视图。
rib
(3) 创建RIB IPv6地址族,并进入RIB IPv6地址族视图。
address-family ipv6
(4) 配置IPv6路由在FIB中的最大存活时间。
fib lifetime seconds
缺省情况下,IPv6路由在FIB中的最大存活时间为600秒。
配置本功能后,RIB向FIB下刷路由时会携带属性消息。
(1) 进入系统视图。
system-view
(2) 进入RIB视图。
rib
(3) 创建RIB IPv4地址族,并进入RIB IPv4地址族视图。
address-family ipv4
(4) 配置RIB向FIB下发路由时携带属性消息。
flush route-attribute protocol
缺省情况下,RIB向FIB下发路由时不携带属性消息。
该配置在设备重启后才能生效,进行设备重启前请评估重启对网络造成的影响,做好相关准备工作。
(1) 进入系统视图。
system-view
(2) 配置系统支持最大等价路由的条数。
max-ecmp-num number
缺省情况下,系统支持的最大等价路由条数为8。
当去往同一目的地址存在多条等价路由时,设备在转发去往该目的地址的报文时,会在各条路径间实现负载分担;如果其中一条或者多条路径失效,所有业务流量会在剩余的可用路径间重新进行一次分配,实现新的负载均衡。
如果为了保持业务的连续性,需要保持在可用路径上转发的业务流量不改变转发路径,仅将故障路径上的原业务流量在可用路径上进行平均分配,可以配置等价路由增强模式功能。
该配置在设备重启后才能生效,进行设备重启前请评估重启对网络造成的影响,做好相关准备工作。
(1) 进入系统视图。
system-view
(2) 开启IPv4/IPv6等价路由增强模式。
ecmp mode enhanced
缺省情况下,IPv4/IPv6等价路由增强模式处于关闭状态。
本功能适用于网络中对丢包、延时非常敏感的业务。当RIB表中存在去往同一目的地的多条路由时,路由器会将优先级较高的路由下发到FIB表,当该路由的下一跳不可达时,数据流量将会被中断,路由器会重新进行路由优选,优选完毕后,使用新的最优路由来指导报文转发。配置本功能后,设备会在RIB表中选择一个其他协议的路由作为备用路由,当主用路由的下一跳不可达时,设备会立即使用备份路由将报文转发出去,从而将链路故障对业务流量的影响降低到最小限度。
使用不同协议间的快速重路由功能生成备份下一跳时可能会造成环路。
同时配置本功能和指定路由协议的快速重路由功能时,优先使用指定路由协议的快速重路由功能来备份路由。
(1) 进入系统视图。
system-view
(2) 进入RIB视图。
rib
(3) 创建RIB IPv4地址族,并进入RIB IPv4地址族视图。
address-family ipv4
(4) 配置IPv4路由不同协议间快速重路由功能。
inter-protocol fast-reroute [ vpn-instance vpn-instance-name ]
缺省情况下,不同协议间快速重路由处于关闭状态。
不指定VPN时,开启公网的不同协议间快速重路由功能。
(1) 进入系统视图。
system-view
(2) 进入RIB视图。
rib
(3) 创建RIB IPv6地址族,并进入RIB IPv6地址族视图。
address-family ipv6
(4) 配置IPv6路由不同协议间快速重路由功能。
inter-protocol fast-reroute [ vpn-instance vpn-instance-name ]
缺省情况下,不同协议间快速重路由处于关闭状态。
不指定VPN时,开启公网的不同协议间快速重路由功能。
本功能使用BFD(Bidirectional Forwarding Detection,双向转发检测)检测不同协议间快速重路由或等价路由的主路由下一跳是否可达,可以更快地检测到链路故障,使上层协议将业务流量快速切换到备用下一跳上或在等价路由剩余可用下一跳上重新进行负载分担,从而减少报文丢失。
· 对于不同协议间的快速重路由,主路由指的是去往同一目的地的多条路由中优先级最高的路由。配置不同协议间快速重路由通过BFD检测主路由的下一跳是否可达功能后,设备将通过BFD会话检测主路由的下一跳是否可达。当BFD检测到主路由的下一跳不可达时,BFD会通知设备使用备份下一跳指导报文转发。
· 对于同一路由协议的等价路由,主路由指的是形成等价路由的每一条路由。配置等价路由通过BFD检测主路由的下一跳是否可达功能后,设备将通过BFD会话检测指定路由协议的每一条等价路由。当BFD检测到等价路由的下一跳不可达时,BFD通知路由协议,路由协议将业务流量在剩余可用下一跳上重新进行负载分担。当BFD检测到所有等价路由的下一跳都失效时,BFD通知路由协议撤销失效路由,同时设备会重新进行路由优选。
关于BFD的详细介绍,请参见“可靠性配置指导”中的“BFD”。
只有存在已经生成了备份下一跳的主路由时,本功能才会生效并自动创建BFD会话。
如果在配置路由协议的快速重路由功能时指定了ecmp-shared参数,设备会为包含等价路由的所有路由通过LFA算法选取备份下一跳信息。自动计算的备份下一跳也作为等价路由添加到路由表中,状态为backup,该路由不是主路由,BFD不会检测这种等价路由。
通过BFD控制报文可以检测两个方向上的链路状态,实现毫秒级别的链路故障检测。
通过控制报文方式的BFD会话检测主路由的下一跳是否可达时,由于控制报文方式的BFD会话需要两端进行协商才能成功建立,用户需要在下一跳设备上手工创建一个静态BFD会话。该BFD会话为控制报文方式的单跳BFD会话,并且会话源IP地址为本端自动创建的BFD会话的目的IP地址、会话目的IP地址为本端自动创建的BFD会话的源IP地址、远端标识符为本端自动创建的BFD会话的本地标识符。主路由下一跳设备上创建满足上述要求的静态BFD会话后,本端设备才能使用控制报文方式的BFD会话来检测主路由的下一跳。
(1) 进入系统视图。
system-view
(2) 进入RIB视图。
rib
(3) 创建RIB IPv4/IPv6地址族,并进入RIB IPv4/IPv6地址族视图。
(IPv4网络)
address-family ipv4
(IPv6网络)
address-family ipv6
(4) 配置不同协议间快速重路由或等价路由主用链路的BFD检测功能。
primary-path-detect bfd ctrl [ inter-protocol-frr | protocol-ecmp protocol ]
缺省情况下,不同协议间快速重路由或等价路由主用链路的BFD检测功能处于关闭状态。
通过BFD echo报文检测链路状态,可以实现毫秒级别的链路故障检测。echo报文的目的地址为本端接口地址,下一跳设备接收到echo报文后会直接转发给本端设备。
只需要在本端配置echo报文方式的BFD检测。
(1) 进入系统视图。
system-view
(2) (可选)配置echo报文的源IP地址。
(IPv4网络)
bfd echo-source-ip ip-address
缺省情况下,未配置echo报文的源IPv4地址。
建议配置本命令,且配置的源IPv4地址不属于该设备任何一个接口所在网段,以避免对端发送大量的ICMP重定向报文造成网络拥塞。
本命令的详细介绍请参见“可靠性命令参考”中的“BFD”。
(IPv6网络)
bfd echo-source-ipv6 ipv6-address
缺省情况下,未配置echo报文的源IPv6地址。
建议配置本命令,且配置的源IPv6地址不属于该设备任何一个接口所在网段,以避免对端发送大量的ICMPv6重定向报文造成网络拥塞。
echo报文源IPv6地址仅支持全球单播地址。
本命令的详细介绍请参见“可靠性命令参考”中的“BFD”。
(3) 进入RIB视图。
rib
(4) 创建RIB IPv4/IPv6地址族,并进入RIB IPv4/IPv6地址族视图。
(IPv4网络)
address-family ipv4
(IPv6网络)
address-family ipv6
(5) 配置不同协议间快速重路由或等价路由主用链路的BFD检测功能。
primary-path-detect bfd echo [ inter-protocol-frr | protocol-ecmp protocol ]
缺省情况下,不同协议间快速重路由或等价路由主用链路的BFD检测功能处于关闭状态。
通过本配置可以根据Track项的状态调整直连路由的开销值,具体的工作机制如下:
· 如果直连路由关联的Track项不存在,或者关联的Track项的状态为NotReady或Positive,则接口的直连路由的开销值为0。
· 如果直连路由关联的Track项的状态为Negative,则该接口的直连路由的开销值为用户通过本功能设置的值。
有关Track的详细介绍,请参见“可靠性配置指导”中的“Track”。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置直连路由与Track项关联。
route-direct track track-entry-number degrade-cost cost-value
缺省情况下,未配置直连路由与Track项关联。
如需修改直连路由关联的Track项,请先通过undo route-direct track命令取消直连路由关联的Track项,再执行本命令。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置IPv6直连路由与Track项关联。
ipv6 route-direct track track-entry-number degrade-cost cost-value
缺省情况下,未配置IPv6直连路由与Track项关联。
如需修改IPv6直连路由关联的Track项,请先通过undo ipv6 route-direct track命令取消IPv6直连路由关联的Track项,再执行本命令。
在未开启本功能的情况下,当某个物理接口为大量路由(包括等价路由和主备路由的主路由)连接下一跳的出接口时,如果该接口所在的链路故障时,设备需要先删除失效链路对应的所有ARP/ND表项,然后通知FIB删除失效的FIB表项,处理时间过长,流量无法快速切换到可用路径。通过开启本功能,当接口所在的链路故障时,设备直接通知FIB删除失效的FIB表项,以加快路由的切换、缩短流量中断的时间。
(1) 进入系统视图。
system-view
(2) 配置开启IPv6路由快速切换功能。
ipv6 route fast-switchover enable
缺省情况下,IPv6路由快速切换功能处于关闭状态。
通过配置按路由策略迭代下一跳,可以对路由迭代的结果进行控制。例如:当路由发生变化时,路由管理需要对非直连的下一跳重新进行迭代。如果不对迭代的结果路由进行任何限制,则路由管理可能会将下一跳迭代到一个错误的转发路径上,从而造成流量丢失。此时,可以通过配置本功能,将错误的依赖路由过滤掉,使路由迭代到通过路由策略过滤的指定依赖路由上。
配置路由策略时,如果配置了apply子句,apply子句不会生效。
配置路由策略时,请确保至少有一个正确的依赖路由能够通过该策略的过滤,否则可能导致相关路由不可达,无法正确指导转发。
(1) 进入系统视图。
system-view
(2) 进入RIB视图。
rib
(3) 创建RIB IPv4地址族,并进入RIB IPv4地址族视图。
address-family ipv4
(4) 配置路由按照路由策略进行迭代下一跳查找。
protocol protocol nexthop recursive-lookup route-policy route-policy-name
缺省情况下,未配置路由按路由策略进行下一跳迭代查找。
(1) 进入系统视图。
system-view
(2) 进入RIB视图。
rib
(3) 创建RIB IPv6地址族,并进入RIB IPv6地址族视图。
address-family ipv6
(4) 配置路由按照路由策略进行迭代下一跳查找。
protocol protocol nexthop recursive-lookup route-policy route-policy-name
缺省情况下,未配置路由按路由策略进行下一跳迭代查找。
在路由迭代过程中,若迭代路径包含该路由本身,则认为发生循环迭代。循环迭代将导致本次迭代失败并触发继续查找其他依赖路由。当大量路由的下一跳相同,且该下一跳因不断进行循环迭代导致路由频繁震荡时,系统会频繁处理大量的路由变化,这样会占用大量系统资源,导致CPU占用率升高,影响设备性能。
不断进行循环迭代时,迭代失败次数(下一跳循环迭代惩罚计数)会累计一次,当惩罚计数达到20次时,将不再进行路由迭代,从而解决上述问题。
关闭循环迭代抑制的配置会立即生效。
清除惩罚计数时间间隔的配置在下一次进入迭代抑制状态时生效。
(1) 进入系统视图。
system-view
(2) 进入RIB视图。
rib
(3) 创建RIB IPv4地址族,并进入RIB IPv4地址族视图。
address-family ipv4
(4) 关闭下一跳循环迭代抑制功能。
nexthop recursive-lookup restrain disable
缺省情况下,下一跳循环迭代抑制功能处于开启状态。
用户不关心循环迭代造成的CPU占用率升高时,可以关闭下一跳循环迭代抑制功能。
(1) 进入系统视图。
system-view
(2) 进入RIB视图。
rib
(3) 创建RIB IPv4地址族,并进入RIB IPv4地址族视图。
address-family ipv4
(4) 配置清除下一跳循环迭代惩罚计数的时间间隔。
nexthop recursive-lookup restrain clear-interval interval
缺省情况下,清除下一跳循环迭代惩罚计数的时间间隔为600秒。
(1) 进入系统视图。
system-view
(2) 进入RIB视图。
rib
(3) 创建RIB IPv6地址族,并进入RIB IPv6地址族视图。
address-family ipv6
(4) 关闭IPv6路由下一跳循环迭代抑制功能。
nexthop recursive-lookup restrain disable
缺省情况下,下一跳循环迭代抑制功能处于开启状态。
用户不关心循环迭代造成的CPU占用率升高时,可以关闭下一跳循环迭代抑制功能。
(1) 进入系统视图。
system-view
(2) 进入RIB视图。
rib
(3) 创建RIB IPv6地址族,并进入RIB IPv6地址族视图。
address-family ipv6
(4) 配置清除下一跳循环迭代惩罚计数的时间间隔。
nexthop recursive-lookup restrain clear-interval interval
缺省情况下,清除下一跳循环迭代惩罚计数的时间间隔为600秒。
配置设备支持的最大IPv4/IPv6激活路由前缀数后:
· 如果配置了激活路由前缀数目告警阈值,当设备上的激活路由前缀数占最大支持激活路由前缀数的百分比达到告警阈值时,可以继续激活路由前缀,但会产生一条日志信息提示用户,以便用户及时执行必要的操作,以免IPv4/IPv6激活路由前缀占用过多的资源。当设备中的激活路由前缀数达到最大激活路由前缀数目时,将不再激活新的路由前缀,新增的路由前缀将被丢弃。
· 如果配置了simply-alert参数,当设备上的IPv4/IPv6激活路由前缀数超过最大支持的激活路由前缀数目时,可以继续激活新的路由前缀,但会产生一条日志信息提示用户,以便用户及时执行必要的操作,以免IPv4/IPv6激活路由前缀占用过多的资源。
(1) 进入系统视图。
system-view
(2) 进入RIB视图。
rib
(3) 创建RIB IPv4地址族,并进入RIB IPv4地址族视图。
address-family ipv4
(4) 配置最大IPv4激活路由前缀数。
routing-table limit number { warn-threshold | simply-alert }
缺省情况下,不限制设备支持的最大IPv4激活路由前缀数。
RIB IPv4地址族视图下的配置用于控制公网和所有VPN实例内IPv4激活路由的总数。
(1) 进入系统视图。
system-view
(2) 进入RIB视图。
rib
(3) 创建RIB IPv6地址族,并进入RIB IPv6地址族视图。
address-family ipv6
(4) 配置最大IPv6激活路由前缀数。
routing-table limit number { warn-threshold | simply-alert }
缺省情况下,不限制设备支持的最大IPv6激活路由前缀数。
RIB IPv6地址族视图下的配置用于控制公网和所有VPN实例内IPv6激活路由的总数。
设备在新增、修改、删除RIB下一跳或路由表项时,会记录相关信息,从而方便用户进行故障定位。记录的信息可以通过display rib nib record等显示命令查看。
为避免RIB下一跳或路由表项记录信息占用过多的系统资源,建议配置合理的最大数目。当RIB下一跳或路由表项记录信息达到最大数目时,可以继续记录新的信息,但新的信息会覆盖最早的信息。
(1) 进入系统视图。
system-view
(2) 进入RIB视图。
rib
(3) 创建RIB IPv4地址族,并进入RIB IPv4地址族视图。
address-family ipv4
(4) 配置IPv4 RIB下一跳或路由表项记录信息的最大数目。
record-limit limit [ rib nib [ flush [ delete | update ] | receive [ add | delete | update ] ] ]
record-limit limit [ routing-table [ flush [ delete | update ] | notify [ delete | update ] | receive [ add | delete | update ] ] ]
缺省情况下,IPv4 RIB下一跳或路由表项记录信息的最大数目均为1000。
(1) 进入系统视图。
system-view
(2) 进入RIB视图。
rib
(3) 创建RIB IPv6地址族,并进入RIB IPv6地址族视图。
address-family ipv6
(4) 配置IPv6 RIB下一跳或路由表项记录信息的最大数目。
record-limit limit [ rib nib [ flush [ delete | update ] | receive [ add | delete | update ] ] ]
record-limit limit [ routing-table [ flush [ delete | update ] | notify [ delete | update ] | receive [ add | delete | update ] ] ]
缺省情况下,IPv6 RIB下一跳或路由表项记录信息的最大数目均为1000。
MTP(Maintain Probe,维护探测器)功能主要用来辅助路由协议实现故障定位,用户可根据网络维护的需要选择是否开启MTP功能。开启MTP功能后,当与邻居间的路由协议报文超时时,设备会向超时的邻居发起Ping操作和Tracert操作并记录结果,相关信息可以通过display bgp troubleshooting等显示命令查看,也可以通过display logbuffer命令查看MTP的详细信息。
(1) 进入系统视图。
system-view
(2) 开启MTP功能。
maintenance-probe enable
缺省情况下,MTP功能处于关闭状态。
可在任意视图下执行以下命令:
· 显示路由表的信息。
display ip routing-table [ all-vpn-instance | vpn-instance vpn-instance-name ] [ verbose ]
display ip routing-table all-routes
· 显示通过指定基本访问控制列表过滤的路由信息。
display ip routing-table [ vpn-instance vpn-instance-name ] acl ipv4-acl-number [ verbose ]
· 显示指定目的地址的路由。
display ip routing-table [ vpn-instance vpn-instance-name ] ip-address [ mask-length | mask ] [ longer-match ] [ verbose ]
· 显示指定目的地址范围内的路由。
display ip routing-table [ vpn-instance vpn-instance-name ] ip-address1 to ip-address2 [ verbose ]
· 显示通过指定前缀列表过滤的路由信息。
display ip routing-table [ vpn-instance vpn-instance-name ] prefix-list prefix-list-name [ verbose ]
· 显示指定协议生成或发现的路由信息。
display ip routing-table [ vpn-instance vpn-instance-name ] protocol protocol [ inactive | verbose ]
· 显示路由表的概要信息,包括最大等价路由数、最大可激活路由前缀数、剩余可激活路由前缀数等。
display ip routing-table [ vpn-instance vpn-instance-name ] summary
可在任意视图下执行以下命令,显示路由表中路由或前缀的统计信息。
display ip routing-table [ all-routes | all-vpn-instance | vpn-instance vpn-instance-name ] [ prefix ] statistics
请在用户视图下执行以下命令,清除路由表中的综合路由统计信息。
· reset ip routing-table statistics protocol [ vpn-instance vpn-instance-name ] { protocol | all }
· reset ip routing-table [ all-routes | all-vpn-instance ] statistics protocol { protocol | all }
可在任意视图下执行以下命令,显示路由表项的记录信息
· display ip routing-table record flush [ delete | update ] [ verbose ]
· display ip routing-table record notify [ delete | update ] [ verbose ]
· display ip routing-table record receive [ add | delete | update ] [ verbose ]
请在用户视图下执行以下命令,清除路由表项的记录信息。
· reset ip routing-table record
可在任意视图下执行以下命令:
· 显示系统支持最大等价路由的条数。
display max-ecmp-num
· 显示等价路由模式信息。
display ecmp mode
可在任意视图下执行以下命令:
· 显示RIB的路由属性信息。
display rib attribute [ attribute-id ]
· 显示RIB的GR状态信息。
display rib graceful-restart
· 显示RIB的下一跳信息。
display rib nib [ self-originated ] [ nib-id ] [ verbose ]
display rib nib [ sub-nib nib-id ] [ verbose ]
display rib nib protocol protocol [ verbose ]
· 显示直连路由下一跳信息。
display route-direct nib [ nib-id ] [ verbose ]
可在任意视图下执行以下命令,显示RIB下一跳的记录信息。
· display rib nib record flush [ delete | update ] [ verbose ]
· display rib nib record receive [ add | delete | update ] [ verbose ]
请在用户视图下执行以下命令,清除IPv4 RIB下一跳的记录信息。
· reset rib nib record
可在任意视图下执行以下命令:
· 显示IPv6路由表的信息。
display ipv6 routing-table [ all-vpn-instance | vpn-instance vpn-instance-name ] [ verbose ]
display ipv6 routing-table all-routes
· 显示指定目的地址的IPv6路由信息。
display ipv6 routing-table [ vpn-instance vpn-instance-name ] ipv6-address [ prefix-length ] [ longer-match ] [ verbose ]
· 显示通过指定基本IPv6 ACL过滤的IPv6路由信息。
display ipv6 routing-table [ vpn-instance vpn-instance-name ] acl ipv6-acl-number [ verbose ]
· 显示指定目的地址范围内的IPv6路由信息。
display ipv6 routing-table [ vpn-instance vpn-instance-name ] ipv6-address1 to ipv6-address2 [ verbose ]
· 显示通过指定前缀列表过滤的IPv6路由信息。
display ipv6 routing-table [ vpn-instance vpn-instance-name ] prefix-list prefix-list-name [ verbose ]
· 显示指定协议生成或发现的IPv6路由信息。
display ipv6 routing-table [ vpn-instance vpn-instance-name ] protocol protocol [ inactive | verbose ]
· 显示IPv6路由表的概要信息,包括最大等价路由数、最大可激活路由前缀数、剩余可激活路由前缀数等。
display ipv6 routing-table [ vpn-instance vpn-instance-name ] summary
可在任意视图下执行以下命令,显示IPv6路由表中路由或前缀的统计信息。
display ipv6 routing-table [ all-routes | all-vpn-instance | vpn-instance vpn-instance-name ] [ prefix ] statistics
请在用户视图下执行以下命令,清除IPv6路由表中的综合路由统计信息。
· reset ipv6 routing-table statistics protocol [ vpn-instance vpn-instance-name ] { protocol | all }
· reset ipv6 routing-table [ all-routes | all-vpn-instance ] statistics protocol { protocol | all }
可在任意视图下执行以下命令,显示IPv6路由表项的记录信息
· display ipv6 routing-table record flush [ delete | update ] [ verbose ]
· display ipv6 routing-table record notify [ delete | update ] [ verbose ]
· display ipv6 routing-table record receive [ add | delete | update ] [ verbose ]
请在用户视图下执行以下命令,清除IPv6路由表项的记录信息。
· reset ipv6 routing-table record
可在任意视图下执行以下命令:
· 显示等价路由模式信息。
display ecmp mode
可在任意视图下执行以下命令:
· 显示IPv6 RIB的路由属性信息。
display ipv6 rib attribute [ attribute-id ]
· 显示IPv6 RIB的GR状态信息。
display ipv6 rib graceful-restart
· 显示IPv6 RIB的下一跳信息。
display ipv6 rib nib [ self-originated ] [ nib-id ] [ verbose ]
display ipv6 rib nib [ sub-nib nib-id ] [ verbose ]
display ipv6 rib nib protocol protocol [ verbose ]
· 显示IPv6直连路由下一跳信息。
display ipv6 route-direct nib [ nib-id ] [ verbose ]
可在任意视图下执行以下命令,显示IPv6 RIB下一跳的记录信息。
· display ipv6 rib nib record flush [ delete | update ] [ verbose ]
· display ipv6 rib nib record receive [ add | delete | update ] [ verbose ]
请在用户视图下执行以下命令,清除IPv6 RIB下一跳的记录信息。
· reset ipv6 rib nib record
在Switch A和Switch B之间存在两条等价路由,要求实现通过Switch B到达目的地址为1.2.3.4/24的报文在两条等价路由上基于源和目的地址进行负载分担。
图1-1 负载分担配置举例组网图
# 配置Switch A
<SwitchA> system-view
[SwitchA] vlan 10
[SwitchA-vlan10] port gigabitethernet 1/0/1
[SwitchA-vlan10] quit
[SwitchA] vlan 20
[SwitchA-vlan20] port gigabitethernet 1/0/2
[SwitchA-vlan20] quit
# 配置接口Vlan-interface10和Vlan-interface20的IP地址。
[SwitchA] interface vlan-interface 10
[SwitchA-Vlan-interface10] ip address 10.1.1.1 24
[SwitchA-Vlan-interface10] quit
[SwitchA] interface vlan-interface 20
[SwitchA-Vlan-interface20] ip address 20.1.1.1 24
[SwitchA-Vlan-interface20] quit
# 配置Switch B
<SwitchB> system-view
[SwitchB] vlan 10
[SwitchB-vlan10] port gigabitethernet 1/0/1
[SwitchB-vlan10] quit
[SwitchB] vlan 20
[SwitchB-vlan20] port gigabitethernet 1/0/2
[SwitchB-vlan20] quit
# 配置接口Vlan-interface10和Vlan-interface20的IP地址。
[SwitchB] interface vlan-interface 10
[SwitchB-Vlan-interface10] ip address 10.1.1.2 24
[SwitchB-Vlan-interface10] quit
[SwitchB] interface vlan-interface 20
[SwitchB-Vlan-interface20] ip address 20.1.1.2 24
[SwitchB-Vlan-interface20] quit
# 在Switch A上配置静态路由
<SwitchA> system-view
[SwitchA] ip route-static 1.2.3.4 24 10.1.1.2
[SwitchA] ip route-static 1.2.3.4 24 20.1.1.2
[SwitchA] quit
# 通过查看转发表观察两条等价路由
<SwitchA> display fib 1.2.3.4
Destination count: 1 FIB entry count: 2
Flag:
U:Useable G:Gateway H:Host B:Blackhole D:Dynamic S:Static
R:Relay F:FRR
Destination/Mask Nexthop Flag OutInterface/Token Label
1.2.3.0/24 10.1.1.2 USGR Vlan10 Null
1.2.3.0/24 20.1.1.2 USGR Vlan20 Null
# 配置基于源IP地址和目的IP地址的负载分担
<SwitchA> system-view
[SwitchA] ip load-sharing mode per-flow dest-ip src-ip global
[SwitchA] quit
<SwitchA> display counters outbound interface GigabitEthernet
Interface Total (pkts) Broadcast (pkts) Multicast (pkts) Err (pkts)
GE1/0/1 1045 0 0 0
GE1/0/2 1044 0 0 0
由上表可以看出来,通过Switch A的两个接口的报文数量基本相同,实现了负载分担。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!