前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >IGP高级特性

IGP高级特性

作者头像
十二惊惶
发布2024-02-28 21:09:19
1160
发布2024-02-28 21:09:19
举报

[TOC]

IGP高级特性

OSPF高级特性

OSPF和IS-IS的高级特性,包括:快速收敛机制、路由控制

  • OSPF和IS-IS都是基于链路状态的内部网关路由协议,运行这两种协议的路由器通过同步LSDB,采用SPF算法计算最优路由

OSPF快速收敛

OSPF快速收敛是为了提高路由的收敛速度而做的扩展特性,包括:**PRC:[Partial Route Calculation]**——部分路由计算和智能定时器。 同时,OSPF支持故障恢复快速收敛,例如通过OSPF IP FRR[Fast reroute,快速重路由]实现备份链路的快速切换,也可以与BFD联动实现对故障的快速感知

PRC 部分路由计算:

PRC的工作原理:当网络上路由发生变化的时候,只对发生变化的路由进行重新计算

  • 在主流的华为和思科设备上,OSPF的PRC功能是默认开启的
发送端配置:

格式:[Huawei-ospf] lsa-originate-interval { 0 | { intelligent-timer max-interval start-interval hold-interval | other-type interval } }

代码语言:javascript
复制
#	0:指定LSA更新的时间间隔为0,即取消LSA的5秒的更新时间间隔。
#	intelligent-timer:指定通过智能定时器设置OSPF Router LSA和Network LSA的更新间隔时间
#	max-interval:指定更新OSPF LSA的最长间隔时间。整数形式,取值范围是1~120000,单位是毫秒。缺省值是5000
#	start-interval:指定更新OSPF LSA的初始间隔时间。整数形式,取值范围是0~60000,单位是毫秒。缺省值是500
#	hold-interval:指定更新OSPF LSA的基数间隔时间。整数形式,取值范围是1~60000,单位是毫秒。缺省值是1000
#	other-type:指定设置除OSPF Router LSA和Network LSA外LSA的更新间隔时间
#	interval:指定LSA更新的时间间隔。整数形式,取值范围是0~10,单位是秒。缺省值是5

缺省情况下,使能智能定时器intelligent-timer,更新LSA的最长间隔时间max-interval为5000毫秒、初始间隔时间start-interval为500毫秒、基数间隔时间hold-interval为1000毫秒

  1. 初次更新LSA的间隔时间由start-interval参数指定
  2. 第n次更新LSA的间隔时间为hold-interval×2^[n-2]
  3. hold-interval×2[n-2]达到指定的最长间隔时间max-interval时,OSPF连续三次更新LSA的时间间隔都是最长间隔时间,之后,再次返回步骤1,按照初始间隔时间start-interval更新LSA

  • 触发路由计算的时间间隔较长,同样会影响网络的收敛速度
  • 智能定时器首次超时时间是一个固定的时间。如果在定时器超时前,又有触发定时器的事件发生,则该定时器下一次的超时时间会增加

接收端配置:

命令:[Huawei-ospf-1] lsa-arrival-interval { interval | intelligent-timer max-interval start-interval hold-interval }

  • interval:指定LSA接收的时间间隔。取值范围是0~10000,单位是毫秒
  • intelligent-timer:指定通过智能定时器设置LSA接收的间隔时间
  • max-interval:指定接收OSPF LSA的最长间隔时间,取值范围是1~120000,单位是毫秒。缺省值是1000
  • start-interval:指定接收OSPF LSA的初始间隔时间,取值范围是0~60000,单位是毫秒。缺省值是500
  • hold-interval:指定接收OSPF LSA的基数间隔时间,取值范围是1~60000,单位是毫秒。缺省值是500

缺省情况下,使能智能定时器intelligent-timer,SPF计算的最长间隔时间max-interval为10000毫秒、初始间隔时间start-interval为500毫秒、基数间隔时间hold-interval为1000毫秒

设置OSPF路由计算时间间隔:**

命令:[Huawei-ospf-1] spf-schedule-interval { interval1 | intelligent-timer max-interval start-interval hold-interval | millisecond interval2 }

缺省情况下,使能智能定时器intelligent-timer,SPF计算的最长间隔时间max-interval为10000毫秒、初始间隔时间start-interval为500毫秒、基数间隔时间hold-interval为1000毫秒

使用智能定时器后,SPF计算的时间间隔如下:

  • 初次计算SPF的间隔时间由start-interval参数指定
  • 第n(n≥2)次计算SPF的间隔时间为hold-interval×2^(n-2)
  • 当hold-interval×2^(n-2)达到指定的最长间隔时间max-interval时,OSPF连续三次计算SPF的时间间隔都是最长间隔时间,之后,再次返回步骤1,按照初始间隔时间start-interval计算SPF
代码语言:javascript
复制
#	interval1:指定OSPF SPF计算间隔时间。整数形式,取值范围是1~10,单位是秒
#	intelligent-timer:指定通过智能定时器设置OSPF SPF计算的间隔时间
#	max-interval:指定OSPF SPF计算的最长间隔时间,取值范围是1~120000毫秒。缺省值是10000
#	start-interval:指定OSPF SPF计算的初始间隔时间,取值范围是1~60000毫秒。缺省值是500
#	hold-interval:指定OSPF SPF计算的基数间隔时间,取值范围是1~60000毫秒。缺省值是1000
#	millisecond interval2:指定OSPF SPF计算间隔时间,取值范围是1~10000毫秒
OSPF IP FRR:

OSPF IP FRR(Fast reroute,快速重路由)是动态IP FRR,利用LFA(Loop-Free Alternates)算法预先计算出备份路径,保存在转发表中,以备在故障时将流量快速切换到备份链路上,保证流量不中断,从而达到流量保护的目的,该功能可将故障恢复时间降低到50ms以内

LFA计算备份链路的基本思路是:

  • 以可提供备份链路的邻居为根节点,利用SPF算法计算出到目的节点的最短距离。然后,按照不等式计算出开销最小且无环的备份链路

OSPF IP FRR的流量保护分为链路保护和节点链路双保护

  • 当需要保护的对象是经过特定链路的流量时,流量保护类型为链路保护
  • 当需要保护的对象是经过特定设备的流量时,流量保护类型为节点链路双保护。节点保护优先级高于链路保护
OSPF IP FRR的基础配置命令

使能OSPF IP FRR

代码语言:javascript
复制
[Huawei-ospf-1] frr
[Huawei-ospf-1-frr]
#	创建并进入OSPF FRR视图。
[Huawei-ospf-1-frr] loop-free-alternate
#	使能OSPF IP FRR功能,利用LFA算法计算备份下一跳和备份出接口。

阻止OSPF接口的FRR能力

代码语言:javascript
复制
[Huawei-GigabitEthernet0/0/1] ospf frr block
#	对于承载重要业务的节点设备,通过该命令在指定接口上禁止OSPF IP FRR功能,从而使此接口相连的对端设备不成为备份链路上的节点设备,避免使能OSPF IP FRR功能后对节点设备上运行的重要业务造成影响。
OSPF与BFD联动:

OSPF与BFD联动就是将BFD和OSPF关联起来,一旦与邻居之间的链路出现故障,BFD对链路故障的快速感应能够加快OSPF对于网络拓扑变化的响应

  • 配置指定进程或指定接口的OSPF与BFD联动功能,可以快速检测链路的状态,故障检测时间可以达到毫秒级,提高链路状态变化时OSPF的收敛速度
OSPF与BFD联动的基础配置命令

1、配置OSPF的BFD特性

如果需要使用BFD功能快速检测链路故障,则必须在系统视图下执行bfd命令,使能全局BFD功能

代码语言:javascript
复制
[Huawei-ospf-1] bfd all-interfaces enable
#	在OSPF进程下使能BFD特性
[Huawei-ospf-1] bfd all-interfaces {min-rx-interval receive-interval | min-tx-interval transmit-interval | detect-multiplier multiplier-value | frr-binding } 
#	配置BFD会话的参数值
  • min-rx-interval receive-interval:指定期望从对端接收BFD报文的最小接收间隔,取值范围是10~2000毫秒。缺省值是1000毫秒
  • min-tx-interval transmit-interval:指定向对端发送BFD报文的最小发送间隔,取值范围是10~2000毫秒。缺省值是1000毫秒
  • detect-multiplier multiplier-value:指定本地检测倍数,取值范围是3~50,缺省值是3
  • frr-binding:将BFD会话状态与接口的链路状态进行绑定。当BFD会话状态变为Down时,接口的物理层链路状态也会变为Down,从而触发流量切换到备份路径

2、配置指定接口的BFD特性

代码语言:javascript
复制
[Huawei-GigabitEthernet0/0/1] ospf bfd enable
#	在使能OSPF的特定接口下使能BFD特性
[Huawei-GigabitEthernet0/0/1] ospf bfd { min-rx-interval receive-interval | min-tx-interval transmit-interval | detect-multiplier multiplier-value | frr-binding }
#	在使能OSPF的特定接口下配置BFD会话的参数值

可以配置OSPF IP FRR与BFD联动:

  • 配置OSPF IP FRR特性时,需要底层能够快速响应链路变化,以便迅速将流量切换到备份链路
  • 将OSPF IP FRR与BFD会话绑定可以达到快速感知故障的目的,确保故障后流量切换的及时性

OSPF路由控制

等价路由:

路由表中存在到达同一目的地址,且同一路由协议发现的多条路由时,若这几条路由的开销值也相同,那么这些路由就是等价路由,可以实现负载分担

代码语言:javascript
复制
#	设置进行负载分担的等价路由的最大数量:
[Huawei-ospf-1] maximum load-balancing number
缺省路由:

区域边界和自治系统边界通常都是由多个路由器组成的多出口冗余备份或者负载分担。配置缺省路由,可以减少路由表的容量,保证网络的高可用性

OSPF缺省路由通常应用于下面两种情况:

  • 区域边界路由器[ABR] 发布Type3 LSA,指导区域内路由器进行区域之间报文的转发
  • 自治系统边界路由器[ASBR] 发布Type5 LSAType7 LSA,指导OSPF路由域内路由器进行域外报文的转发

缺省路由是指目的地址和掩码都是0的路由。当设备无精确匹配的路由时,就可以通过缺省路由进行报文转发。由于OSPF路由的分级管理,Type3缺省路由的优先级高于Type5或Type7路由

  • 普通区域:
    • 缺省情况下,普通OSPF区域内的OSPF路由器是不会产生缺省路由。当该路由器需要向OSPF发布缺省路由时,必须手工执行default-route-advertise命令,配置完成后,路由器会产生一个缺省ASE LSA[Type5 LSA],并且通告到整个OSPF自治系统中。
  • Stub区域:
    • Stub区域不允许自治系统外部的路由[Type5 LSA]在区域内传播,区域内的路由器必须通过ABR学到自治系统外部的路由
    • Stub区域的ABR会自动产生一条缺省的Type3 LSA通告到整个Stub区域。ABR通过该缺省路由,将到达AS外部的流量吸引到自己这里,然后通过ABR转发出去。
  • Totally Stub区域:
    • Totally Stub区域既不允许自治系统外部的路由[Type5 LSA]在区域内传播,也不允许区域间路由[Type3 LSA]在区域内传播。区域内的路由器必须通过ABR学到自治系统外部和其他区域的路由
    • Totally Stub区域的ABR会自动产生一条缺省的Type3 LSA通告到整个Stub区域。ABR通过该缺省路由,将到达AS外部和其它区域的流量吸引到自己这里,然后通过ABR转发出去。
  • NSSA区域:
    • 如果希望到达自治系统外部的路由通过本区域[NSSA区域]的ASBR到达,而其它外部路由通过其它区域出去。此时,ABR会产生一条Type7 LSA的缺省路由,通告到整个NSSA区域内。这样,除了某少部分路由通过NSSA的ASBR到达,其它路由都可以通过NSSA的ABR到达其它区域的ASBR出去。这种情况下,在ABR上无论路由表中是否存在缺省路由0.0.0.0,都会产生Type7 LSA的缺省路由
    • 如果希望所有的外部路由只通过本区域[NSSA区域]的ASBR到达,则必须在ASBR上手动执行nssa [default-route-advertise]命令进行配置,使ASBR产生一条缺省的NSSA LSA[Type7 LSA],通告到整个NSSA区域内。这样,所有的外部路由就只能通过本区域NSSA的ASBR到达。这种情况下,在ASBR上只有当路由表中存在缺省路由0.0.0.0时,才会产生Type7 LSA的缺省路由
    • 注意:因为缺省路由只是在本NSSA区域内泛洪,并没有泛洪到整个OSPF域中,所以本NSSA区域内的路由器在找不到路由之后可以从该NSSA的ASBR出去,但不能实现其他OSPF域的路由从这个出口出去。Type7 LSA缺省路由不会在ABR上转换成Type5 LSA缺省路由泛洪到整个OSPF域。
  • Totally NSSA区域:
    • Totally NSSA的ABR会自动向该区域下发使用Type3 LSA描述的缺省路由,而Totally NSSA的ASBR则不会自动下发缺省路由。因此,在该场景下,对于区域内的路由器而言,可以通过ASBR引入的外部路由到达相应的外部网段、通过ABR下发的缺省路由到达其他网段
    • 如果希望Totally NSSA内的路由器选择ASBR作为默认出口,而不是ABR,那么需要让ASBR也下发缺省路由,此时必须在ASBR上手工执行配置
将缺省路由通告到OSPF路由区域

1、将缺省路由通告到普通OSPF区域:

代码语言:javascript
复制
[Huawei-ospf-1] default-route-advertise [ [ always | permit-calculate-other ] | cost cost | type type | route-policy route-policy-name [ match-any ] ]
#	缺省情况下,在普通OSPF区域内的OSPF设备不产生缺省路由
  • always:无论本机是否存在激活的非本OSPF缺省路由,都会产生并发布一个描述缺省路由的LSA
    • 如果配置了always参数,设备不再计算来自其他设备的缺省路由
    • 如果没有配置always参数,本机路由表中必须有激活的非本OSPF缺省路由时才生成缺省路由的LSA
  • permit-calculate-other:本机必须存在激活的非本OSPF缺省路由时才会产生并发布一个缺省路由的LSA,且设备仍然计算来自于其他设备的缺省路由
  • type type:指定外部路由的类型。整数形式,取值为1或2。缺省值是2
    • 1:第一类外部路由
    • 2:第二类外部路由
  • route-policy route-policy-name:通过路由策略,实现在路由表中有匹配的非OSPF产生的缺省路由表项时,按路由策略所配置的参数发布缺省路由
  • match-any:通过路由策略,实现在路由表中有匹配的路由表项时,按路由策略所配置的参数发布缺省路由

2、指定Type3 Summary-LSA的缺省开销值

代码语言:javascript
复制
[Huawei-ospf-1] default-route-advertise summary cost cost

命令:[Huawei-ospf-1] default-route-advertise summary cost cost

  • summary:发布指定缺省路由的Type3 LSA。在选用该参数时,必须首先使能VPN,否则路由不能发布
  • cost cost:指定该LSA的开销值。取值范围是0~16777214,缺省值是1
代码语言:javascript
复制
always参数:
	ASBR已经有缺省路由,执行default-route-advertise命令,将在整个OSPF区域中通告缺省路由0.0.0.0。
	ASBR没有缺省路由,执行default-route-advertise命令时按照以下需求选择是否配置always参数。
		如果配置always参数,无论ASBR是否有缺省路由都将在整个OSPF区域中通告缺省路由0.0.0.0,并且不再计算来自其他设备的缺省路由
		如果没有配置always参数,ASBR的路由表中必须有激活的非OSPF(BGP除外)缺省路由时才生成缺省路由的LSA
match-any参数:
	使用带match-any参数的路由策略时,如果有多条路由通过策略,选取最优者来生成缺省LSA。路由通过策略时,选取最优者的原则按照优先级从高到低的顺序如下:
		路由设置了type的优先于未设置的,如果都设置了type,值越小越优先
		路由设置了cost的优先于未设置的,如果都设置了cost,值越小越优先
		路由设置了tag的优先于未设置的, 如果都设置了tag,值越小越优先

import-route命令不能引入外部路由的缺省路由。当需要引入其他协议产生的缺省路由时,必须在ASBR上配置default-route-advertise命令,发布缺省路由到整个普通OSPF区域

OSPF路由域中在通告缺省路由前,会比较缺省路由的优先级。如果在某OSPF设备上同时配置了静态缺省路由,要使OSPF通告的缺省路由加入到当前的路由表中,则必须保证所配置的静态缺省路由的优先级比OSPF通告的缺省路由的优先级低

过滤LSA
对发送的LSA进行过滤:

在某些链路上通过对发送的LSA进行过滤,减少不必要的重传,节省带宽资源

通过对OSPF接口出方向的LSA进行过滤可以不向邻居发送无用的LSA,从而减少邻居LSDB的大小,提高网络收敛速度

代码语言:javascript
复制
#	配置对OSPF接口出方向的LSA进行过滤:
[Huawei-GigabitEthernet0/0/1] ospf filter-lsa-out { all | { summary [ acl { acl-number | acl-name } ] | ase [ acl { acl-number | acl-name } ] | nssa [ acl { acl-number | acl-name } ] } }
#	对于已经发送的LSA,要到3600秒才能达到老化时间

#	all:对除Grace LSA外的所有LSA进行过滤
#	summary:对Network Summary LSA(Type3 LSA)进行过滤
#	ase:对AS External LSA(Type5 LSA)进行过滤
#	nssa:对NSSA LSA(Type7 LSA)进行过滤
#	acl acl-number:指定基本访问控制列表编号。整数形式,取值范围是2000~2999
#	acl acl-name:指定访问控制列表名称。不支持空格,长度范围是1~32,以英文字母a~z或A~Z开始
对ABR Type3 LSA进行过滤:

对区域内出、入方向ABR Type3 LSA[Summary LSA]设置过滤条件,只有通过过滤的LSA才能被发布和接收

通过对区域内的LSA进行过滤可以不向邻居发送无用的LSA,从而减少LSDB的大小,提高网络收敛速度

代码语言:javascript
复制
#	配置对区域内出方向的Type3 LSA进行过滤:
[Huawei-ospf-1-area-0.0.0.1] filter { acl-number | acl-name acl-name | ip-prefix ip-prefix-name | route-policy route-policy-name } export
#	配置对区域内入方向的Type3 LSA进行过滤
[Huawei-ospf-1-area-0.0.0.1] filter { acl-number | acl-name acl-name | ip-prefix ip-prefix-name | route-policy route-policy-name } import
OSPF Database Overflow:

OSPF要求同一个区域中的路由器保存相同的LSDB,一些路由器由于系统资源有限,不能再承载如此多的路由信息,这种状态就被称为数据库超限 [OSPF Database Overflow]

代码语言:javascript
复制
#	对于路由信息不断增加导致路由器系统资源耗尽而失效的问题,可以通过配置Stub或NSSA区域来解决,但Stub或NSSA区域的方案不能解决动态路由增长导致的数据库超限问题
#	为了解决数据库超限引发的问题,通过设置LSDB中External LSA的最大条目数,可以动态限制链路数据库的规模
[Huawei-ospf-1] lsdb-overflow-limit number
	- number:指定LSDB中External LSA的最大条目数。整数形式,取值范围是1~1000000。
避免OSPF Database Overflow工作原理

为了避免数据库超限,可以设置路由器上非缺省外部路由数量的上限

OSPF网络中所有路由器都配置相同的上限值,只要路由器上外部路由的数量达到该上限,路由器就进入Overflow状态,并同时启动Overflow状态定时器,路由器在定时器超过5秒后自动退出Overflow状态

OSPF其他特性

OSPF多进程

OSPF支持多进程,在同一台路由器上可以运行多个不同的OSPF进程,它们之间互不影响,彼此独立。不同OSPF进程之间的路由交互相当于不同路由协议之间的路由交互

路由器的一个接口只能属于某一个OSPF进程

OSPF与BGP联动:

当有新的设备加入到网络中,或者设备重启时,可能会出现在BGP收敛期间内网络流量丢失的现象。这是由于IGP收敛速度比BGP快而造成的

  • 通过使能OSPF与BGP联动特性,可以解决流量丢失问题
  • 使能了OSPF与BGP联动特性的设备会在设定的联动时间内保持为Stub路由器,也就是说,该设备发布的LSA中的链路度量值为最大值[65535],从而告知其它OSPF设备不要使用这个路由器来转发数据
  • 配置Stub路由器是一种特殊的路由选路,配置了Stub路由器的路径不被优选
  • 实现方法是将度量值设为最大(65535),尽量避免数据从此路由器转发。用于保护此路由器链路,通常使用在升级等维护操作的场景

命令:[Huawei-ospf-1] stub-router [ on-startup [ interval ] ]

  • **on-startup [ interval ]**:设备在发生重启或故障时保持为Stub路由器的时间间隔。取值范围是5~65535s,缺省值是500s 如果未配置on-startup参数,则表示该设备始终保持为Stub路由器,即所有来自这个设备的路由条目Cost值均设为65535 如果配置了on-startup参数,则表示该设备仅在重启或者故障时保持为Stub路由器,保持时间由interval参数决定。此时若未配置interval参数,则使用interval的缺省值500s
OSPF转发地址:

FA[Forwarding Address,转发地址]:到达所通告的目的地的数据包应该被转发到的地址,如果转发地址为0.0.0.0,那么数据包将被转发到始发ASBR上

FA的取值:
  • 当ASBR引入外部路由时,若Type5 LSA中的FA字段为0,表示路由器认为到达目的网段的数据包应该发往该ASBR
  • 若Type5 LSA中的FA字段不为0,表示路由器认为到达目的网段的数据包应该发往这个FA所标识的设备
  • 当以下条件全部满足时,FA字段才可以被设置为非0
    • ASBR在其连接外部网络的接口(外部路由的出接口)上激活了OSPF
    • 该接口没有被配置为Silent-Interface
    • 该接口的OSPF网络类型为Broadcast或NBMA
    • 该接口的IP地址在OSPF配置的network命令指定的网段范围内
  • 到达FA地址的路由必须是OSPF区域内部路由或区域间路由,这样接收到该外部LSA的路由器才能够加载该LSA进入路由表。加载的外部LSA生成的路由条目下一跳与到达FA地址的下一跳相

NSSA区域Type7 LSA转化为Type5 LSA:

  • 为了将NSSA区域引入的外部路由发布到其它区域,要把Type7 LSA转化为Type5 LSA以便在整个OSPF网络中通告。缺省情况下,转换路由器是NSSA区域中Router ID最大的区域边界路由器[ABR]
  • LSA头部Options字段中的P-bit[Propagate bit]用于告知转化路由器该条Type7 LSA是否需要转化为Type5 LSA只有P-bit置位并且FA不为0的Type7 LSA才能转化为Type5 LSA

区域边界路由器产生的Type7 LSA缺省路由不会置位P-bit

IS-IS高级特性

IS-IS快速收敛

IS-IS快速收敛是为了提高路由的收敛速度而做的扩展特性,包括:I-SPF [ Incremental SPF,增量最短路径优先算法 ]、PRC、智能定时器、LSP快速扩散

  • IS-IS支持故障恢复快速收敛,例如通过IS-IS Auto FRR实现备份链路的快速切换,也可以与BFD联动实现对故障的快速感知
I-SPF

I-SPF的工作原理:当网络拓扑改变的时候,只对受影响的节点进行路由计算,而不是对全部节点重新进行路由计算,从而加快了路由的计算

  • 使用SPF算法进行路由计算:当网络拓扑中有一个节点发生变化时,SPF算法需要重新计算网络中的所有节点,计算时间长,占用过多的CPU资源,影响整个网络的收敛速度
  • I-SPF改进了SPF算法,除了第一次SPF计算时需要计算全部节点外,之后每次都通过I-SPF计算受到影响的节点,而最后生成的最短路径树与原来的算法所计算的结果相同,大大降低了CPU的占用率,提高了网络收敛速度
  • 在IS-IS网络中,I-SPF和PRC结合使用。
    • 如果I-SPF计算后的最短路径树改变,PRC会只处理那个变化的节点上的所有路由
    • 如果经过I-SPF计算后的最短路径树并没有变化,则PRC只处理变化的叶子信息。比如一个节点使能一个IS-IS接口,则整个网络拓扑的最短路径树是不变的,这时PRC只更新这个节点的接口路由,从而节省CPU占用率
LSP快速扩散:
  • LSP快速扩散:此特性可以加快LSP的扩散速度。
    • 正常情况下,当IS-IS路由器收到其它路由器发来的LSP时,如果此LSP比本地LSDB中相应的LSP要新,则更新LSDB中的LSP,并用一个定时器定期将LSDB内已更新的LSP扩散出去
    • LSP快速扩散特性改进了这种方式,使能了此特性的设备收到一个或多个较新的LSP时,在路由计算之前,先将小于指定数目的LSP扩散出去,加快LSDB的同步过程。这种方式在很大程度上可以提高整个网络的收敛速度
代码语言:javascript
复制
#	     配置LSP快速扩散
[Huawei-isis-1] flash-flood [ lsp-count | max-timer-interval interval | [ level-1 | level-2 ] ]
#	lsp-count:指定每个接口一次扩散LSP的最大数量。整数形式,取值范围是1~15。缺省值是5。
#	max-timer-interval interval:指定LSP扩散的最大间隔时间。取值范围是10~50000毫秒。缺省值是10毫秒
#	level-1:表示在Level-1中使能此特性。如果命令中没有指定级别,则缺省同时在Level-1和Level-2中使能此功能
#	level-2:表示在Level-2中使能此特性。同上

IS-IS路由控制

等价路由

当IS-IS网络中有多条冗余链路时,可能会出现多条等价路由,此时可以采取两种方式:

  • 配置负载分担。流量会被均匀的分配到每条链路上
    • 该方式可以提高网络中链路的利用率及减少某些链路负担过重造成阻塞发生的情况。但是由于对流量转发具有一定的随机性,因此可能不利于对业务流量的管理
  • 配置等价路由优先级。针对等价路由中的每一条路由,明确指定其优先级,优先级高的路由将被优选,优先级低的路由可以作为备用链路
    • 当IS-IS网络中有多条冗余链路时,可能会出现多条等价路由,即达到某一目的网段有多条等开销路径。配置等价路由优先级可以在不修改原有配置的基础上,指定某条路由被优选,便于业务的管理,同时提高网络的可靠性

注意:配置等价路由优先级后,IS-IS设备在转发到达目的网段的流量时,将不采用负载分担方式,而是将流量转发到优先级最高的下一跳

配置IS-IS对等价路由的处理方式

1、配置IS-IS路由负载分担

代码语言:javascript
复制
[Huawei-isis-1] maximum load-balancing number
#	配置在负载分担方式下的等价路由的最大数量。
#	number:指定在负载分担方式下等价路由的最大数量。不同设备型号取值不同

2、配置IS-IS等价路由的优先级

代码语言:javascript
复制
[Huawei-isis-1] nexthop ip-address weight value
#	缺省情况下,不设置IS-IS等价路由的优先级。value值越小,表示优先级越高。
#	ip-address:指定下一跳的IP地址
#	weight value:指定下一跳权重。value越小则优先级越高。value是整数形式,取值范围是1~254

当组网中存在的等价路由数量大于maximum load-balancing命令配置的等价路由数量时,按照下面原则选取有效路由进行负载分担:

  1. 路由优先级:选取优先级小[优先级高]的路由进行负载分担
  2. 下一跳设备的System ID:如果路由的优先级相同,则比较下一跳设备的System ID,选取System ID小的路由进行负载分担
  3. 本地设备出接口索引:如果路由优先级和下一跳设备的System ID都相同,则比较出接口的接口索引,选取接口索引较小的路由进行负载分担
缺省路由

在IS-IS中,主要通过以下3种方式控制缺省路由的生成和发布。

  • 在Level-1-2设备上,控制其产生的Level-1 LSP中ATT位的置位情况
  • 在Level-1设备上,通过配置使其即使收到ATT位置位的Level-1 LSP也不会自动产生缺省路由
  • 在IS-IS中发布缺省路由
LSP的报文格式:

**ATT [Attachment]**:由Level-1-2路由器产生,用来指明始发路由器是否与其它区域相连。此字段有4bit,华为数通产品只使用了其中1bit

通过设置ATT位控制缺省路由生成:
  • IS-IS规定,如果IS-IS Level-1-2设备根据LSDB判断通过Level-2区域比Level-1区域能够到达更多的区域,该设备会在所发布的Level-1 LSP内将ATT位置位
  • 对于收到ATT位置位的LSP报文的Level-1设备,会生成一条目的地为发送该LSP的Level-1-2设备地址的缺省路由

在实际应用中,可以根据需要对ATT比特位进行手动配置以更好地为网络服务:

1、[Level-1-2设备] 设置IS-IS LSP报文的ATT比特位置位规则

代码语言:javascript
复制
[Huawei-isis-1] attached-bit advertise { always | never }
#	缺省情况下,Level-1-2设备发布的LSP的ATT位根据缺省置位规则来决定置位情况。
	-always:指定ATT位永远置位,收到该LSP的Level-1设备会生成缺省路由
	-never:指定ATT位永不置位,可以避免Level-1设备生成缺省路由,减小路由表的规模
#	虽然ATT位同时在Level-1 LSP和Level-2 LSP中进行了定义,但是它只会在Level-1 LSP中被置位,并且只有Level-1-2设备会设置这个字段,因此,该命令仅对Level-1-2设备生效

2、[Level-1设备] 控制Level-1设备不因为ATT位下发缺省路由到路由表

代码语言:javascript
复制
[Huawei-isis-1] attached-bit avoid-learning
#	缺省情况下,IS-IS按ATT位缺省使用规则生成缺省路由
#	配置Level-1设备不将缺省路由下发到路由表,有以下两种方式可以实现:
	-在Level-1-2设备上配置attached-bit advertise never命令,使得其不会发布ATT位置位的LSP
	-在与Level-1-2设备相连的Level-1设备上配置attached-bit avoid-learning命令
#	attached-bit avoid-learning命令适用于需要针对指定设备配置的情况
IS-IS发布缺省路由

具有外部路由的边界设备上配置IS-IS发布缺省路由可以使该设备在IS-IS路由域内发布一条0.0.0.0/0的缺省路由

在执行此配置后,IS-IS域内的其他设备在转发流量时,将所有去往外部路由域的流量首先转发到该设备,然后通过该设备去往外部路由域

  • 网络中部署了IS-IS和其他路由协议时,为了实现IS-IS域内的流量可以到达IS-IS域外,通常有如下两种方式:
    • 在边界设备上配置IS-IS设备向IS-IS域发布缺省路由,该方式不需要学习外部路由
    • 在边界设备上将其他路由域的路由引入到IS-IS中

配置运行IS-IS的设备生成缺省路由:

代码语言:javascript
复制
[Huawei-isis-1] default-route-advertise [ always | match default | route-policy route-policy-name ] [ cost cost | tag tag | [ level-1 | level-1-2 | level-2 ] ] [ avoid-learning ]
#	缺省情况下,运行IS-IS协议的设备不生成缺省路由
	-always:指定设备无条件的发布缺省路由,且发布的缺省路由中将自己作为下一跳
	-match default:如果路由表中存在其他路由协议或其它IS-IS进程生成的缺省路由,则在LSP中发布该缺省路由
	-route-policy route-policy-name:指定路由策略名称。当该边界设备的路由表中存在满足路由策略的外部路由时,才向IS-IS域发布缺省路由,避免由于链路故障等原因造成该设备已经不存在某些重要的外部路由时,仍然发布缺省路由从而造成路由黑洞。此处的路由策略不影响IS-IS引入外部路由
	-cost cost:指定缺省路由的开销值。整数形式。取值范围根据cost-style而定:当cost-style为narrow、narrow-compatible或compatible时,取值范围是0~63;当cost-style为wide或wide-compatible时,取值范围是0~4261412864
	-tag tag:指定发布的缺省路由的标记值。只有当IS-IS的开销类型为wide、wide-compatible或compatible时,发布的LSP中才会携带tag值。取值范围为1~4294967295
	-level-1:指定发布的缺省路由级别为Level-1。如果不指定级别,则默认为生成Level-2级别的缺省路由
	-level-2:指定发布的缺省路由级别为Level-2。如果不指定级别,则默认为生成Level-2级别的缺省路由
	-level-1-2:指定发布的缺省路由级别为Level-1-2。如果不指定级别,则默认为生成Level-2级别的缺省路由
	-avoid-learning:避免IS-IS进程学到其他路由协议或其它IS-IS进程生成的缺省路由并添加到路由表。如果路由表中已存在学到的缺省路由为活跃状态,则将此路由置为不活跃状态
  • 配置该命令后,IS-IS域内所有去往外部的流量将首先会被转发到该设备来进行转发。相比于在每台设备上配置静态缺省路由,使用该命令可以简化操作,即只需在边界设备配置即可。此外,该命令是动态发布缺省路由,使用更加灵活,有多种发布缺省路由的方式可供选择
  • 如果在Level-1设备上配置了该命令,那么该设备只会向Level-1区域发布缺省路由,不会将缺省路由发布到Level-2区域
IS-IS多实例和多进程

IS-IS多实例是指在同一台路由器上,可以配置多个VPN实例与多个IS-IS进程相关联

IS-IS多进程指在同一个VPN下 [或者同在公网下],可以创建多个IS-IS进程,每个进程之间互不影响,彼此独立。不同进程之间的路由交互相当于不同路由协议之间的路由交互

网络中可能需要同时承载不同的业务,为保证各业务的安全性,需要将业务进行隔离,此时,可以配置与VPN实例绑定

  • IS-IS多实例和多进程的特点如下:
    • IS-IS多进程共用同一个全局路由表。而IS-IS多实例使用VPN中的路由表,并且每个VPN都有自己单独的路由表
    • IS-IS多进程允许为一个指定的IS-IS进程关联一组接口,从而保证该进程进行的所有协议操作都仅限于这一组接口。这样,就可以实现一台路由器有多个IS-IS协议进程,每个进程负责唯一的一组接口
    • IS-IS进程在创建时可以选择绑定一个VPN实例,于是这个IS-IS进程就与此VPN实例相关联,并且只接收和处理此VPN实例内的事件。当VPN实例删除时,IS-IS进程也会跟着被删除
代码语言:javascript
复制
[Huawei] isis [ process-id ] [ vpn-instance vpn-instance-name ]
	-process-id:指定IS-IS进程号。如果不指定进程,则启动进程号为1的IS-IS进程,取值范围是1~65535。缺省值是1
	-vpn-instance vpn-instance-name:指定VPN实例名。如果不指定此参数,则就不会配置VPN实例与相应的IS-IS进程相关联
LSP分片

当IS-IS要发布的PDU中信息量太大时,IS-IS路由器将会生成多个LSP分片,用来携带更多的IS-IS信息

IS-IS LSP分片由LSP ID中的分片号 [LSP Number]字段进行标识,这个字段的长度是1Byte。因此,一个IS-IS进程最多可产生256个LSP分片,携带的信息量有限

LSP分片扩展工作原理:

在IS-IS中,每个系统ID都标识一个系统,每个系统都最多可生成256个LSP分片。通过增加附加系统ID,可以最多配置50个虚拟系统,从而使得IS-IS进程最多可生成13056个LSP分片

IS-IS路由器可以在两种模式下运行LSP分片扩展特性:

  • Mode-1工作原理:
    • 虚拟系统参与路由SPF计算,初始系统发布的LSP中携带了到每个虚拟系统的链路信息。虚拟系统发布的LSP也包含到初始系统的链路信息。网络中虚拟系统看起来与初始系统相连的真实路由器是一样的
    • 这种方式是为了兼容不支持分片扩展的老版本所做的一个过渡模式。老版本IS-IS无法识别24号TLV,所以虚拟系统的LSP必须表现的像一个普通IS-IS发出的报文
    • 注意事项:
      • 虚拟系统的LSP中包含和原LSP中相同的区域地址和过载标志位,其它特性的TLV,也必须保持一致
      • 虚拟系统的邻居信息指向初始系统,metric为最大值减1;初始系统的邻居信息指向虚拟系统,metric必须为0。这样就保证了其它路由器在进行路由计算的时候,虚拟系统一定会成为初始系统的下游节点
  • Mode-2工作原理:
    • 虚拟系统不参与路由SPF计算,网络中所有路由器都知道虚拟系统生成的LSP实际属于初始系统
    • 在该模式下工作的IS-IS,可以识别24号TLV的内容,并作为计算树和路由的依据
LSP分片扩展的基本配置命令:

1、使能IS-IS进程的LSP分片扩展:

代码语言:javascript
复制
[Huawei-isis-1]lsp-fragments-extend [[ level-1 | level-2| level-1-2 ]|[mode-1 |mode-2] ] 
#	缺省情况下,设备未使能IS-IS进程的LSP分片扩展功能
#	配置LSP分片扩展时,如果不指定mode和level级别,则默认为mode-1和level-1-2
	-level-1:指定在Level-1级别使能分片扩展
	-level-2:指定在Level-2级别使能分片扩展
	-level-1-2:指定在Level-1-2级别使能分片扩展
	-mode-1:该模式可以兼容以前老版本不支持LSP分片扩展特性的情况
	-mode-2:该模式要求所有路由器都支持LSP分片扩展特性

2、配置一个虚拟系统:

代码语言:javascript
复制
[Huawei-isis-1] virtual-system virtual-system-id 
#	缺省情况下,设备没有配置虚拟系统
#	为了使设备生成扩展LSP分片,应至少配置一个虚拟系统的系统ID。这个虚拟系统的系统ID在整个路由域中必须唯一
#	一个IS-IS进程最多可配置50个虚拟系统的System ID
	-virtual-system-id:指定IS-IS进程的虚拟系统ID。长度是6字节(48比特),格式是XXXX.XXXX.XXXX

以上两条命令是配合使用的,只有使能了LSP分片扩展,并用reset isis all命令重启了IS-IS进程后,配置的虚拟系统ID才会生效

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2024-01-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • IGP高级特性
    • OSPF高级特性
      • OSPF快速收敛
      • OSPF路由控制
      • OSPF其他特性
    • IS-IS高级特性
      • IS-IS快速收敛
      • IS-IS路由控制
相关产品与服务
VPN 连接
VPN 连接(VPN Connections)是一种基于网络隧道技术,实现本地数据中心与腾讯云上资源连通的传输服务,它能帮您在 Internet 上快速构建一条安全、可靠的加密通道。VPN 连接具有配置简单,云端配置实时生效、可靠性高等特点,其网关可用性达到 99.95%,保证稳定、持续的业务连接,帮您轻松实现异地容灾、混合云部署等复杂业务场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档