24、IGP高级特性
OSPF快速收敛
OSPF快速收敛是为了提高路由的收敛速度而做的扩展特性,包括:PRC(Partial Route Calculation,部分路由计算)和智能定时器。
同时,OSPF支持故障恢复快速收敛,例如通过OSPF IP FRR(Fastreroute,快速重路由)实现备份链路的快速切换,也可以与BFD联动实现对故障的快速感知。
PRC(部分路由计算)
PRC的工作原理:当网络上路由发生变化的时候,只对发生变化的路由进行重新计算。
PRC不计算节点路径,而是根据SPF算法算出来的最短路径树来更新路由。
R1收到该LSA后会创建新的路由,继承原有访问节点R5的路径及下一跳,即最短路径树不变,只在节点R5上新增叶子。
智能定时器
智能定时器是在进行SPF计算和产生LSA的时候用到的一种定时器。
智能定时器既可以对少量的外界突发事件进行快速响应,又可以避免过度的占用CPU。
OSPF通过如下两个规定来避免网络连接或者路由频繁动荡引起的过多占用设备资源的情况。
- 同一条LSA在1秒内不能再次生成,即LSA的更新时间间隔5秒。
- LSA被接收的时间间隔为1秒。
配置命令:
# 设置OSFP LSA更新的时间间隔
[Huawei-ospf-1] lsa-originate-interval {0|{intelligent-timer max-interval start-interval hold-interval | other-type interval }}
# 设置接收间隔
[Huawei-ospf-1]lsa-arrival-interval{interval|intelligent-timermax-intervalstart-intervalhold-interval}
# 路由计算
[Huawei-ospf-1] spf-schedule-interval {interval1 | intelligent-timer max-interval start-interval hold-interval | millisecond interval2}
缺省情况下,使能智能定时器intelligent-timer,更新LSA的(以毫秒为单位的时间间隔)
- 最长间隔时间max-interva为5000毫秒、
- 初始间隔时间start-interva为500毫秒、
- 基数间隔时间hold-interva为1000毫秒。
使用智能定时器后(更新、接收、路由计算都是下面的策略):
- 初次更新LSA的间隔时间由start-interval决定。
- 第n(n>=2)此更新LSA的间隔时间为
hold-interval*2^(n-2)
。 - 当hold-interval*2^(n-2)达到指定的最长时间间隔max-interval时,OSPF连续三次更新LSA的时间间隔都是最长时间间隔时间,之后,再次返回步骤1,按照初始间隔时间start-interval更新LSA。
IP FRR(快速重路由)
OSPF IP FRR(Fast reroute,快速重路由)是动态IP FRR,利用LFA(Loop-Free Alternates)算法预先计算出备份路径,保存在转发表中,以备在故障时将流量快速切换到备份链路上,保证流量不中断,从而达到流量保护的目的,该功能可将故障恢复时间降低到50ms以内。
LFA计算备份链路的基本思路是:
以可提供备份链路的邻居为根节点,利用SPF算法计算出到目的节点的最短距离。然后,按照不等式计算出开销最小且无环的备份链路。
- 链路保护公式:中间节点到目的<中间节点到源+源到目的
- 节点保护公式:中间节点到目的<中间节点到故障节点+故障节点到目的
配置命令:
1、使能FRR
# 创建并加入FRR视图
[Huawei-ospf-1] frr
[Huawei-ospf-1-frr]
# 使能OSPF IP FRR功能,利用LFA算法计算备份下一跳和备份出接口。
[Huawei-ospf-1-frr]loop-free-alternate
2、组织OSPF接口的FRR能力
[Huawei-GigabitEtherneto/o/1]ospffrrblock
对于承载重要业务的节点设备,通过该命令在指定接口上禁止OSPFIPFRR功能,从而使此接口相连的对端设备不成为备份链路上的节点设备,避免使能OSPF IP FRR功能后对节点设备上运行的重要业务造成影响。
与BFD联动
OSPF路由控制
等价路由
等价路由:同一目的地址、同一协议、且开销相同。
设备将按照负载分担的方式从多条等价路由发送报文到同一目的地址。
# 设置就行负载分担的等价路由的最大数量
[Huawei-ospf-1] maximunm load-balancing number
缺省路由
OSPF缺省路由通常应用于下面两种情况:
- 由区域边界路由器(ABR)发布Type3LSA,用来指导区域内路由器进行区域之间报文的转发。
- 由自治系统边界路由器(ASBR)发布Type5LSA或Type7LSA,用来指导OSPF路由域内路由器进行域外报文的转发。
缺省路由是指目的地址和掩码都是0的路由。
Type3缺省路由的优先级高于Type5或Type7路由。
配置命令
# 将缺省路由通告到普通OSPF区域
[Huawei-ospf-1] default-route-advertise [[always permit-calculate-other ] | cost cost| type type | route-policy route-policy-name [ match-any ]]
# 指定type-3 Summary-LSA的缺省开销值
[Huawei-ospf-1] default-route-advertise summary cost cost
always:无论本机是否存在激活的非本OSPF缺省路由,都会产生并发布一个描述缺省路由的LSA。
- 如果配置了always参数,设备不再计算来自其他设备的缺省路由。
- 如果没有配置always参数,本机路由表中必须有激活的非本OSPF缺省路由时才生成缺省路由的LSA。
过滤LSA
当两台路由器之间存在多条链路时,可以在某些链路上通过对发送的LSA进行过滤,减少不必要的重传,节省带宽资源。
对发送的LSA进行过滤:
[Huawei-GigabitEtherneto/0/1]ospf filter-lsa-out {all | {summary [acl {acl-number | ac-name} | ase [acl {acl-number | acl-name } | nssa [acl {acl-number | acl-name]}}
对于已经发送的LSA,要到3600秒才能达到老化时间。
对ABR Type3 LSA进行过:
# 配置对区域内出方向的Type3LSA进行过滤:
[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
# 配置对区域内入方向的Type3LSA进行过滤
[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)。
通过设置LSDB中External LSA的最大条目数,可以动态限制链路数据库的规模。
# 设置OSPF的LSDB中External LSA的最大条目数
[Huawei-ospf-1] lsdb-overflow-limit number
为了避免数据库超限,可以设置路由器上非缺省外部路由数量的上限。
OSPF网络中所有路由器都配置相同的上限值,只要路由器上外部路由的数量达到该上限,路由器就进入Overflow状态,并同时启动Overflow.状态定时器(默认超时时间为5秒),路由器在定时器超过5秒后自动退出Overflow状态。
OSPF路由控制案例
这个案例挺有意思的,有时间可以做一下
OSFP其他特性
多进程
OSPF支持多进程,在同一台路由器上可以运行多个不同的OSPF进程,它们之间互不影响,彼此独立。不同OSPF进程之间的路由交互相当于不同路由协议之间的路由交互。
路由器的一个接口只能属于某一个OSPF进程。
OSPF与BGP联动
OSPF与BGP收敛速度不匹配,OSPF收敛后,BGP还没收敛,导致流量丢失。
通过使能OSPF与BGP联动特性,可以解决流量丢失问题。
使能了OSPF与BGP联动特性的设备会在设定的联动时间内保持为Stub路由器,也就是说,该设备发布的LSA中的链路度量值为最大值(65535),从而告知其它OSPF设备不要使用这个路由器来转发数据。
OSPF转发地址
FA(Forwarding Address,转发地址):
- FA不为0,路由器则认为到达目的网段的数据包应该发到FA所标识的地址。
- 如果转发地址为0.0.0.0,那么数据包将被转发到始发ASBR上。
当以下条件全部满足时,FA字段才可以被设置为非0:
- ASBR在其连接外部网络的接口(外部路由的出接口)上激活了OSPF;
- 该接口没有被配置为Silent-Interface(静默接口);
- 该接口的OSPF网络类型为Broadcast或NBMA;
- 该接口的IP地址在OSPF配置的network命令指定的网段范围内。
OSPF的Type5LSA和Type7LSA中包含一个特别的字段FA,FA的引入使得OSPF在某些特殊的场景下可以避免次优路径问题。
没有FA引发的问题:
利用FA解决次优路径问题:
NSSA下FA的应用场景:
IS-IS高级特性
快速收敛
IS-lS快速收敛是为了提高路由的收敛速度而做的扩展特性,包括:
- I-SPF(Incremental SPF,增量最短路径优先算法)
- PRC(部分路由计算)
- 智能定时器
- LSP快速扩散
同时,IS-S支持故障恢复快速收敛,例如通过IS-IS Auto FRR:实现备份链路的快速切换,也可以与BFD联动实现对故障的快速感知。
IS-IS的PRC、智能定时器、FRR等功能与OSPF类似。
I-SPF
I-SPF的工作原理:当网络拓扑改变的时候,只对受影响的节点进行路由计算,而不是对全部节点重新进行路由计算,从而加快了路由的计算。
LSP快速扩散
正常情况:先更新lSDB中的LSP,再扩散。
快速扩散特性:先扩散出去,再进行路由计算。
配置LSP快速扩散
[Huawei-isis-1]flash-flood [lsp-count | max-timer-interval interval | [level-1] | [level-2]]
注意:用户可以指定每次扩散的LSP数量,这个数量是针对所有引S-S接口的。如果需要发送的LSP的数量大于这个数,则就发送lsp-count个LSP。如果配置了定时器,在路由计算之前如果这个定时器未超时,则立即扩散;否则在该定时器超时后发送。
IS-IS路由控制
出现等价路由时,可采取两种方式:
- 配置负载分担。流量均匀分配到每条链路上。
- 配置等价路由优先级。优先级高的将被优选,其他的作为备份。
# 配置路由负载分担
[Huawei-isis-1] maximum load-balancing number
# 配置等价路由优先级(值越小越优)
[Huawei-isis-1] nexthop ip-address weight value
# 缺省情况,不设置isis等价路由优先级
缺省路由
在IS-IS中,主要通过以下3种方式控制缺省路由的生成和发布。
- 在Level-1-2设备上,控制其产生的Level-1LSP中ATT位的置位情况。
- 在Level-1设备上,通过配置使其即使收到ATT位置位的Level-1LSP也不会自动产生缺省路由。
- 在IS-IS中发布缺省路由。
# 1.(Leve-1-2设备)设置IS-IS LSP:报文的ATT比特位置位规则。
[Huawei-isis-1]attached-bit advertise always never
缺省情况下,Levl-1-2设备发布的LSP的ATT位根据缺省置位规则来决定置位情况。
# 2.((Level-1设备)控制Level-1设备不因为ATT位下发缺省路由到路由表。
[Huawei-isis-1]attached-bit avoid-learning
缺省情况下,IS-IS按ATT位缺省使用规则生成缺省路由。
# 配置运行1S-S的设备生成缺省路由
[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]
缺省情况下,运行S-S协议的设备不生成缺省路由。
其他特性
多进程
IS-IS多实例是指在同一台路由器上,可以配置多个VPN实例与多个IS-IS进程相关联。
IS-IS多进程指在同一个VPN下(或者同在公网下)可以创建多个IS-IS进程,每个进程之间互不影响,彼此独立。不同进程之间的路由交互相当于不同路由协议之间的路由交互。
LSP分片
当IS-S要发布的PDU中信息量太大时,IS-S路由器将会生成多个LSP分片,用来携带更多的1S-S
信息。
分片扩展:
在IS-IS中,每个系统ID都标识一个系统,每个系统都最多可生成256个LSP分片。通过增加附加系统ID,可以最多配置50个虚拟系统,从而使得IS-IS进程最多可生成13056个LSP分片。
LSP分片扩展特性的两种模式:
-
Mode-1:设备不支持,把虚拟系统也当成独立的路由器。
-
Mode-2:设备都支持,把虚拟系统发布的信息也视为初始系统的信息。
配置命令
思考题
1.CD
2.B
3.A