IGP高级特性

1.前言
 OSPF和IS-IS都是基于链路状态的内部网关路由协议,运行这两种协议的路由器通过同步LSDB,采用SPF算法计算最优路由。
 当网络拓扑发生变化时,OSPF和IS-IS支持多种快速收敛和保护机制,能够降低网络故障导致的流量丢失。
 为了实现对路由表规模的控制,OSPF和IS-IS支持路由选路及路由信息的控制,能够减少特定路由器路由表的大小。
 本节课程将介绍OSPF和IS-IS的高级特性,包括:快速收敛机制、路由控制等。

2.目标
 描述OSPF和IS-IS的各种快速收敛的技术
 实现OSPF和IS-IS等价路由的配置
 实现OSPF和IS-IS发布缺省路由
 描述OSPF和IS-IS多进程使用场景
 描述OSPF转发地址的使用场景
 描述IS-IS的LSP分片扩展的工作原理

3.OSPF快速收敛
 OSPF快速收敛是为了提高路由的收敛速度而做的扩展特性,包括:PRC(Partial Route Calculation,部分路由计算)和智能定时器。
 同时,OSPF支持故障恢复快速收敛,例如通过OSPF IP FRR(Fast reroute,快速重路由)实现备份链路的快速切换,也可以与BFD联动实现对故障的快速感知
 3.1 PRC
 PRC的工作原理:当网络上路由发生变化的时候,只对发生变化的路由进行重新计算。
 PRC不计算节点路径,而是根据SPF算法算出来的最短路径树来更新路由
 价值:
 OSPF网络新增网段时,只关注发生变化的路由,加快了路由的计算。
 3.2智能定时器
 智能定时器是在进行SPF计算和产生LSA的时候用到的一种定时器。
 智能定时器既可以对少量的外界突发事件进行快速响应,又可以避免过度的占用CPU
 A.控制LSA的生成与接收
 B.控制路由计算
 智能定时器的基础配置命令:
 1.设置OSPF LSA更新的时间间隔
 [Huawei-ospf-1] lsa-originate-interval { 0 | { intelligent-timer max-interval start-interval hold-interval | other-type interval } * }
 2.设置OSPF LSA接收的时间间隔
 [Huawei-ospf-1] lsa-arrival-interval { interval | intelligent-timer max-interval start-interval hold-interval }
 3.设置OSPF路由计算时间间隔
 [Huawei-ospf-1] spf-schedule-interval { interval1 | intelligent-timer max-interval start-interval hold-interval | millisecond interval2 }

4.OSPF IP FRR
 OSPF IP FRR(Fast reroute,快速重路由)是动态IP FRR,利用LFA(Loop-Free Alternates)算法预先计算出备份路径,保存在转发表中,以备在故障时将流量快速切换到备份链路上,保证流量不中断,从而达到流量保护的目的,该功能可将故障恢复时间降低到50ms以内
 LFA计算备份链路的基本思路是:
 以可提供备份链路的邻居为根节点,利用SPF算法计算出到目的节点的最短距离。然后,按照不等式计算出开销最小且无环的备份链路
 OSPF IP FRR的流量保护分为链路保护和节点链路双保护

5.OSPF与BFD联动
 网络上的链路故障或拓扑变化都会导致设备重新进行路由计算,所以缩短路由协议的收敛时间对于提高网络的性能是非常重要的。
 OSPF与BFD联动就是将BFD和OSPF关联起来,一旦与邻居之间的链路出现故障,BFD对链路故障的快速感应能够加快OSPF对于网络拓扑变化的响应
 OSPF与BFD联动工作原理:
 三台设备(R1、R2、R3)间建立OSPF邻居关系。邻居状态到达Full时通知BFD建立BFD会话。
 R1到R2间的链路出现故障后,BFD首先感知到并通知R1。R1处理BFD会话Down事件,重新进行路由计算,新的路径为:R1-R3-R2。
  

 OSPF与BFD联动的基础配置命令:
 配置OSPF的BFD特性:
 [Huawei-ospf-1] bfd all-interfaces enable
 [Huawei-ospf-1] bfd all-interfaces { min-rx-interval receive-interval | min-tx-interval transmit-interval | detect-multiplier multiplier-value | frr-binding } 
 配置指定接口的BFD特性
 [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 }

6.OSPF路由控制
 OSPF的路由控制包括:
 调整OSPF的接口开销
 设置等价路由
 引入外部路由
 路由聚合
 缺省路由通告
 Filter-Policy
 对发送的LSA进行过滤
 对ABR Type3 LSA进行过滤
 设置LSDB中External LSA的最大数量
 6.1 等价路由
 当路由表中存在到达同一目的地址,且同一路由协议发现的多条路由时,若这几条路由的开销值也相同,那么这些路由就是等价路由,可以实现负载分担。
 设备将按照负载分担的方式从多条等价路由发送报文到同一目的地址。
  

 设置进行负载分担的等价路由的最大数量:
 [Huawei-ospf-1] maximum load-balancing number
 A.配置举例:
 R1配置路由负载分担
 [R1] ospf
 [R1-ospf-1] maximum load-balancing 2
 6.2 缺省路由
 OSPF实际组网应用中,区域边界和自治系统边界通常都是由多个路由器组成的多出口冗余备份或者负载分担。此时,为了减少路由表的容量,可以配置缺省路由,保证网络的高可用性。
 OSPF缺省路由通常应用于下面两种情况:
  由区域边界路由器(ABR)发布Type3 LSA,用来指导区域内路由器进行区域之间报文的转发。
  由自治系统边界路由器(ASBR)发布Type5 LSA或Type7 LSA,用来指导OSPF路由域内路由器进行域外报文的转发。
 6.3 对发送的LSA进行过滤
 当两台路由器之间存在多条链路时,可以在某些链路上通过对发送的LSA进行过滤,减少不必要的重传,节省带宽资源。
 通过对OSPF接口出方向的LSA进行过滤可以不向邻居发送无用的LSA,从而减少邻居LSDB的大小,提高网络收敛速度
 6.4 OSPF Database Overflow
 OSPF要求同一个区域中的路由器保存相同的LSDB。随着网络上路由数量不断增加,一些路由器由于系统资源有限,不能再承载如此多的路由信息,这种状态就被称为数据库超限(OSPF Database Overflow)。
 对于路由信息不断增加导致路由器系统资源耗尽而失效的问题,可以通过配置Stub或NSSA区域来解决,但Stub或NSSA区域的方案不能解决动态路由增长导致的数据库超限问题。为了解决数据库超限引发的问题,通过设置LSDB中External LSA的最大条目数,可以动态限制链路数据库的规模。
 [Huawei-ospf-1] lsdb-overflow-limit number
 为了避免数据库超限,可以设置路由器上非缺省外部路由数量的上限。
 OSPF网络中所有路由器都配置相同的上限值,只要路由器上外部路由的数量达到该上限,路由器就进入Overflow状态,并同时启动Overflow状态定时器(默认超时时间为5秒),路由器在定时器超过5秒后自动退出Overflow状态。
 A.进入Overflow状态时
  路由器删除所有自己产生的非缺省外部路由
  启动Overflow状态定时器
 B.处于Overflow状态中
  不产生非缺省外部路由
  丢弃新收到的非缺省外部路由,不回复确认报文
  当Overflow状态定时器超时,检查外部路由数量是否仍然超过上限
  N=>退出Overflow状态
  Y=>重启Overflow定时器
 C.退出Overflow状态时
  删除Overflow状态定时器
  产生非缺省外部路由
  接收新收到的非缺省外部路由,回复确认报文
  准备下一次进入Overflow状态
 6.4调整核心到边界开销(cost值)

7.OSPF其他特性
 7.1 OSPF多进程
 OSPF支持多进程,在同一台路由器上可以运行多个不同的OSPF进程,它们之间互不影响,彼此独立。不同OSPF进程之间的路由交互相当于不同路由协议之间的路由交互。
 路由器的一个接口只能属于某一个OSPF进程。
  

 应用场景:
 OSPF多进程的一个典型应用就是在VPN场景。
 如图,同一台PE设备连接了两个不同的VPN客户,并且PE和CE之间均部署OSPF,因此可以通过在PE设备上部署多进程实现VPN客户之间的隔离。
 7.2 OSPF与BGP联动
 问题:
 当有新的设备加入到网络中,或者设备重启时,可能会出现在BGP收敛期间内网络流量丢失的现象。这是由于IGP收敛速度比BGP快而造成的
 当R2故障时,流量路径切换到:R1-R3-R4-R5。
 当R2故障恢复后,由于IGP收敛速度比BGP快,因此OSPF先收敛。此时R1若要访问10.1.5.5/32,先查BGP路由,下一跳为R5;再查IGP路由,会根据IGP路由传递给R2。
 R2收到该流量后,会查BGP路由。由于BGP还未完成收敛,发现没有到达10.1.5.5/32的路由,则不会转发数据,造成流量丢失。
  

 解决:
 通过使能OSPF与BGP联动特性,可以解决流量丢失问题。
 使能了OSPF与BGP联动特性的设备会在设定的联动时间内保持为Stub路由器,也就是说,该设备发布的LSA中的链路度量值为最大值(65535),从而告知其它OSPF设备不要使用这个路由器来转发数据。
 在R2上使能BGP联动,这样,在BGP收敛完成前,R1不把流量转发到R2上,而是继续使用备份设备R3转发流量,直到R2上的BGP路由完成收敛。
  

 7.3 OSPF转发地址
 FA(Forwarding Address,转发地址)
 没有FA引发的问题:会产生次优路径转发报文
  


8.IS-IS高级特性
 8.1 IS-IS快速收敛
 IS-IS快速收敛是为了提高路由的收敛速度而做的扩展特性,包括:I-SPF(Incremental SPF,增量最短路径优先算法)、PRC、智能定时器、LSP快速扩散。
 同时,IS-IS支持故障恢复快速收敛,例如通过IS-IS Auto FRR实现备份链路的快速切换,也可以与BFD联动实现对故障的快速感知
 8.2 I-SPF
 I-SPF的工作原理:当网络拓扑改变的时候,只对受影响的节点进行路由计算,而不是对全部节点重新进行路由计算,从而加快了路由的计算
 场景介绍:
 某网络运行IS-IS,网络收敛后,左图是以R1为根的最短路径树。此时R1访问节点R5时,通过[R1下行链路的出接口,R3上行链路接口的IP地址]到达该目的地。
 R5下游新增设备R6,R6开启IS-IS,即IS-IS网络内有新增网络节点。
 I-SPF计算:
 R5和R6全网泛洪LSP,包含新增邻居关系。
 R1收到该LSP后会对变化的节点R5和R6进行I-SPF计算,生成新的最短路径树节点,而其他节点不变。
 因此R1访问节点R5和R6时,通过[R1下行链路的出接口,R3上行链路接口的IP地址]到达该目的地。
 8.3 LSP快速扩散
 LSP快速扩散:此特性可以加快LSP的扩散速度。
 正常情况下,当IS-IS路由器收到其它路由器发来的LSP时,如果此LSP比本地LSDB中相应的LSP要新,则更新LSDB中的LSP,并用一个定时器定期将LSDB内已更新的LSP扩散出去。
 LSP快速扩散特性改进了这种方式,使能了此特性的设备收到一个或多个较新的LSP时,在路由计算之前,先将小于指定数目的LSP扩散出去,加快LSDB的同步过程。这种方式在很大程度上可以提高整个网络的收敛速度
 8.4 IS-IS路由控制
 在实际应用中,IS-IS根据SPF算法计算出来的路由有时并不能满足网络所需,可能出现如下弊端:如路由表中条目过多降低路由查找的速度、网络中链路利用率不均衡等,这些都不能很好地满足网络规划和流量管理的需要。为了达到优化IS-IS网络和便于流量管理的目的,需要对网络中的路由进行更加精确的控制。IS-IS的路由控制包括:
 调整IS-IS的优先级
 调整IS-IS的接口开销
 设置等价路由
 IS-IS路由渗透
 通告缺省路由
 引入外部路由
 Filter-Policy
1.等价路由
  配置负载分担。流量会被均匀的分配到每条链路上。
  该方式可以提高网络中链路的利用率及减少某些链路负担过重造成阻塞发生的情况。但是由于对流量转发具有一定的随机性,因此可能不利于对业务流量的管理。
  配置等价路由优先级。针对等价路由中的每一条路由,明确指定其优先级,优先级高的路由将被优选,优先级低的路由可以作为备用链路。
  当IS-IS网络中有多条冗余链路时,可能会出现多条等价路由,即达到某一目的网段有多条等开销路径。配置等价路由优先级可以在不修改原有配置的基础上,指定某条路由被优选,便于业务的管理,同时提高网络的可靠性。
  注意:配置等价路由优先级后,IS-IS设备在转发到达目的网段的流量时,将不采用负载分担方式,而是将流量转发到优先级最高的下一跳
2.缺省路由
 在IS-IS中,主要通过以下3种方式控制缺省路由的生成和发布。
 在Level-1-2设备上,控制其产生的Level-1 LSP中ATT位的置位情况。
 在Level-1设备上,通过配置使其即使收到ATT位置位的Level-1 LSP也不会自动产生缺省路由。
 在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中
3.IS-IS多实例和多进程
 IS-IS多实例是指在同一台路由器上,可以配置多个VPN实例与多个IS-IS进程相关联。
 IS-IS多进程指在同一个VPN下(或者同在公网下)可以创建多个IS-IS进程,每个进程之间互不影响,彼此独立。不同进程之间的路由交互相当于不同路由协议之间的路由交互。
 网络中可能需要同时承载不同的业务,为保证各业务的安全性,需要将业务进行隔离,此时,可以配置与VPN实例绑定
4.LSP分片
 当IS-IS要发布的PDU中信息量太大时,IS-IS路由器将会生成多个LSP分片,用来携带更多的IS-IS信息
 IS-IS LSP分片由LSP ID中的分片号(LSP Number)字段进行标识,这个字段的长度是1Byte。因此,一个IS-IS进程最多可产生256个LSP分片,携带的信息量有限