文章目录
五类LSA是可以跨区域,而且在传递过程中是不能被改变的
AS-external-LSA:是自治系统外的路由引入OSPF产生的,描述的ASBR到外部路由(目标网络)的开销,在整个OSPF区域中传递(Stub,NSSA除外),在传递过程中是不会发生改变
Type : External
Ls id : 56.1.1.0 网络前缀
Adv rtr : 5.5.5.5 ASBR的RID
Ls age : 615
Len : 36
Options : E
seq# : 80000001
chksum : 0x760c
Net mask : 255.255.255.0
TOS 0 Metric: 1
四类LSA
ASBR-summary-LSA
汇总LSA,由ABR通告,描述的是ASBR的信息(ABR到达ASBR的开销值),四类LSA是不能跨区域的
<AR7>dis ospf lsdb asbr
OSPF Process 10 with Router ID 7.7.7.7
Area: 0.0.0.10
Link State Database
Type : Sum-Asbr
Ls id : 55.55.55.55 ASBR的Router ID
Adv rtr : 2.2.2.2 ABR的router ID
Ls age : 388
Len : 28
Options : E
seq# : 80000001
chksum : 0x492c
Tos 0 metric: 2
为什么三类LSA不能代替四类LSA
因为三类是路由信息
四类是ASBR的拓扑信息(LS-ID是ASBR的Router ID),ASBR设备上可以没有该地址
五类LSA类型:
OE1,将其他协议引入OSPF时可以修改为OE1,在传递过中传经累计开销(外部开销(引入时的开销)+内部开销值
OE2:将其他协议引入OSPF,默认就是OE2,在传递过程中开销值不会累加,只计算引入时的外部开销值,不计算内部开销值
在OSPF中,OE1的路由是优于OE2
OE1的路由比较的是总开销值(不区分内外)
OE2只看外部开销(忽略内部开销),如果外部开销相等,比较内部开销
OSPF的LSA信息 | 名 称 | 内容 | LInkSate ID | ADV | 传输区域 |
---|---|---|---|---|---|
一类LSA Router LSA | router | 链路状态的集合信息 | 产生LSA的Router ID | 设备的Router ID | Area内 MA网络才会有 |
二类LSA network LSA | network | 链路内的设备的Router ID | DR接口的IP | DR的Router ID | 区域内 |
三类LSA Summary LSA | summary | 路由信息 | 网络前缀 | ABR的Router ID | 可以跨区域(Stub NSSA) |
四类LSA Asbr Summary LSA | asbr | ASBR的信息 | ASBR的Router ID | ABR的RID | 域内 |
五类LSA ASE | ase | 路由信息 | 网络前缀 | ASBR的Router ID | 域间(Stub NSSA) |
转发地址
FA地址:转发地址,作用就是防止 次优路径
[AR3]dis ospf lsdb ase 4.4.4.4
OSPF Process 10 with Router ID 3.3.3.3
Link State Database
Type : External
Ls id : 4.4.4.4
Adv rtr : 1.1.1.1
Ls age : 24
Len : 36
Options : E
seq# : 80000001
chksum : 0x1494
Net mask : 255.255.255.255
TOS 0 Metric: 1
E type : 2
Forwarding Address : 14.1.1.4
Tag : 1
Priority : Medium
携带FA地址的三个条件:
1、接口类型不能是P2P,P2MP
2、 接口不能配置为静默接口(silence接口)
3、 下一跳地址要为域内或域间可达
OSPF的五类LSA如果携带了FA地址,计算路由会优先考虑FA地址,如果没有携带FA地址,则会考虑ASBR
OSPF的进程号只具有本地意义,但是OSPF的多进程则需要互相做路由引入(一个设备启用多个OSPF进程)
OSPF末节区域:
需要在末节区域的所有设备上配置stub命令
ospf 10 router-id 7.7.7.7
area 0.0.0.10
stub
末节区域会过滤五类LSA(四类LSA也会过滤掉),ABR会向该区域下放一条默认路由(三类LSA)
[AR7]dis ospf lsdb summary 0.0.0.0
OSPF Process 10 with Router ID 7.7.7.7
Area: 0.0.0.10
Link State Database
Type : Sum-Net
Ls id : 0.0.0.0
Adv rtr : 2.2.2.2
Ls age : 250
Len : 28
Options : None
seq# : 80000001
chksum : 0x57fe
Net mask : 0.0.0.0
Tos 0 metric: 1
Priority : Low
[AR7]
Totally Stub(完全末节区域)
该命令只需要在ABR上配置
ospf 10 router-id 2.2.2.2
area 0.0.0.10
stub no-summary
本区域内三类LS过多,会耗用太多资源,可以过滤掉三类LSA
Totally Stub区域不但会过滤掉四类,五类LSA,也会过滤三类LSA,ABR同时会向该区域下放一条默认路由
<AR8>dis ospf lsdb summary 0.0.0.0
OSPF Process 10 with Router ID 8.8.8.8
Area: 0.0.0.10
Link State Database
Type : Sum-Net
Ls id : 0.0.0.0
Adv rtr : 2.2.2.2
Ls age : 629
Len : 28
Options : None
seq# : 80000001
chksum : 0x57fe
Net mask : 0.0.0.0
Tos 0 metric: 1
Priority : Low
Stub和TotallyStub的一些条件:
1、建议该区域只能有一个出口(ABR)
2、虚链接不能跨越Stub区域
3、Stub区域不能有ASBR
4、不能将骨干区域配置为Stub区域
5、Stub区域发送的Hello 报文中的En比特位会置0
NSSA区域`:非完全末节区域(7类lsa)
OSPF规定STUB区域是不能引入外部路由的,这样可以避免大量外部路由对STUB区域路由器带宽和存储资源的消耗。对于既需要引入外部路由又要避免外部路由带来的资源消耗的场景,STUB区域就不再满足需求了。因此产生了NSSA区域
将Area 10配置为NSSA区域,该命令需要在整个NSSA区域的所有设备上配置
ospf 10 router-id 2.2.2.2
area 0.0.0.10
nssa
NSSA区域可以过滤掉四类和五类LSA,同时会引入七类lsa
,ABR会向该区域下放一条默认路由(七类LSA)
[AR1]dis ospf lsdb nssa 172.16.1.0
OSPF Process 10 with Router ID 1.1.1.1
Area: 0.0.0.10
Link State Database
Type : NSSA
Ls id : 172.16.1.0
Adv rtr : 7.7.7.7
Ls age : 203
Len : 36
Options : NP
seq# : 80000001
chksum : 0x844e
Net mask : 255.255.255.0
TOS 0 Metric: 1
E type : 2
Forwarding Address : 7.7.7.7
Tag : 1
Priority : Low
七类lsa的优先级两种ON1,ON2
OSPF路由优先级
思科:O>OIA>OE1>ON1>OE2>ON2
华为:O>OE1=ON1>OE2=ON2(五类和七类优先级是一样)
OSPF的Options选项
E位 N位
普通区域 1 0
Stub 0 0
Nssa 0 1
五类lsa的FA是可选条件,七类是必选条件
FA地址:
如果在五类lsa,中,FA地址 只有满足条件,才会携带,携带的是下一跳的地址
如果是七类lsa中,如果满足条件,FA地址是ASBR上外部路由的下一跳地址
如果不满足条件,FA地址是ASBR上某个接口的IP,优选 环回口
七转五的条件:
如果有多个ABR,router id大的做七转五
ospf 10 router-id 2.2.2.2
area 0.0.0.10
nssa translator-always 如果配置了该命令,则有该设备始终做七转五
ospf 10 router-id 33.33.33.33
nssa translator-always suppress-forwarding-address ,做七转五时抑制掉FA地址
Totally Nssa区域
不但可以过滤掉五类,四类LSA,也会过滤掉三类LSA,也会引入外部路由做为七类LSA存在
同时ABR会向该区域通告两条默认路由,三类和七类
ospf 10 router-id 2.2.2.2
area 0.0.0.10
nssa no-summary 将该区域配置为Totaly NSSA区域,只需要 在ABR上做
NSSA后边的参数
default-route-advertise
在ASBR上配置产生缺省的Type7 LSA到NSSA区域。
说明:
在ABR上会自动产生缺省的Type7 LSA到NSSA区域。
在ASBR上只有当路由表中存在缺省路由0.0.0.0/0,才会产生Type7 LSA缺省路由。
[AR7-ospf-10]default cost 100 下放默认路由时开销值为100
backbone-peer-ignore 忽略检查骨干区域的邻居状态。即骨干区域中只要存在Up状态的接口,无论是否存在Full状态的邻居,ABR都会自动产生缺省的Type-7 LSA到NSSA区域。
suppress-default-route 在ABR或者ASBR上禁止产生缺省的Type-7 LSA到NSSA区域。
no-import-route 不向NSSA区域引入外部路由。
Option中的NP位
NSSA区域的Hello报文中的N/P位置位,意味着支持7类LSA
LSA中的N/P位置位,意味着要做七转五类
正常情况下,如果有多个ABR,则有Router ID大的做七转五,如果配置了该命令nssa no-summary translator-always 该设备始终做七转五
三类LSA的汇总:
1、在ABR上,路由的起始区域配置
ospf 10 router-id 2.2.2.2
area 0.0.0.10
abr-summary 10.1.0.0 255.255.248.0
五类LSA的汇总
在ASBR上配置
ospf 10 router-id 5.5.5.5
asbr-summary 192.168.0.0 255.255.248.0 cost 100 对五类LSA汇总时携带开销值
路由的过滤:
方法1:使用filter进行过滤
先做ACL匹配路由
acl number 2001
rule 5 deny source 10.1.0.0 0.0.3.255
rule 10 permit
ospf 10 router-id 2.2.2.2
area 0.0.0.10
filter 2001 export 在路由的起始区域做出方向过滤
ospf 10 router-id 2.2.2.2
area 0.0.0.0
filter 2001 import
acl number 2001
rule 5 deny source 10.1.1.0 0.0.254.255 过滤掉奇数
rule 10 deny source 172.16.0.0 0.0.254.255 过滤掉偶数
rule 15 permit
filter过滤掉三类LSA
方法2:汇总不通告
对路由进行汇总时携带参数not-advertise
ospf 10 router-id 2.2.2.2
area 10
abr-summary 10.1.0.0 255.255.0.0 not-advertise /对三类LSA汇总不通告进行过滤
ospf 10 router-id 5.5.5.5
asbr-summary 192.168.0.0 255.255.0.0 not-advertise、对五类LSA汇总不通告进行过滤
方法3:使用filter-policy进行过滤
ospf 10 router-id 1.1.1.1
filter-policy 2001 import 运行完SPF算法,加入路由表时进行的过滤
该方法在普通设备上只会影响本地,如果在ABR上配置,不但影响本地,也会影响其他设备
如非骨干区域配置,只影响配置了此策略的路由器,如果配置在abr上,会影响abr的路由,也会影响骨干区域的路由(abr会转发3类LSA,3类LSA是描述路由信息的);
ospf 10 router-id 5.5.5.5
filter-policy 2001 export rip 1
import-route rip 1
方法4、在接口下针对LSA进行过滤
interface Serial1/0/0
ospf filter-lsa-out ase 针对五类LSA过滤
interface Serial1/0/0
link-protocol ppp
ip address 12.1.1.2 255.255.255.0
ospf filter-lsa-out summary 针对三类LSA的过滤
ospf filter-lsa-out all 针对所有LSA的过滤
OSPF的的认证
OSPF的认证字段在什么报文中携带(在OSPF的报文头部)
OSPF分几种认证?
三种:1字段为0,不认证 2,字段为1 是简单的明文认证,3字段为2 为MD5认证
ospf 10 router-id 4.4.4.4
area 0.0.0.0
authentication-mode simple cipher
OSPF的认证分为区域和接口,接口优于区域
ospf 10 router-id 5.5.5.5
area 0.0.0.20
vlink-peer 4.4.4.4 simple cipher
缺省路由的下放
:
1、如果是普通区域,可以在ASBR上通过default 下放一条默认路由
ospf 10 router-id 5.5.5.5
default-route-advertise 需要本地有默认路由,才会在OSPF中下放默认路由
ospf 10 router-id 5.5.5.5
default-route-advertise always 即使本地没有默认路由,也会在OSPF中下放默认路由
2、Stub区域;
ABR 会自动下放一条缺省三类LSA,通告到整个Stub区域
3、Totally Stub
ABR 会自动下放一条缺省三类LSA,通告到整个Stub区域
4、Nssa区域
ABR会自动生成一条缺省的七类LSA,通告到整个NSSA区域
ASBR需要手工配置,可以产生一条七类LSA的缺省路由,通告整个NSSA区域
5、Totally NSSA区域
ABR会下放两条缺少的默认路由(3和7),通告到整个OSPF区域
GR(9类lsa)
OSPF的GR(平滑重启) NSF
ospf 10 router-id 1.1.1.1
opaque-capability enable
graceful-restart
graceful-restart period 100
NSF(不间断转发,non-stop forwarding)在控制平面重启时,不会影响转发收层面(FIB)
switchover mode命令用来设置系统HA的工作模式。
缺省情况下,系统HA的工作模式为NSF模式。
NSR(不间断路由)是控制平面重启时,NSR(Non-Stop Routing)直译为不间断路由,是一种在系统控制平面发生故障的且存在备用控制平面的场景下邻居控制平面不感知的一种技术
OSPF IP FRR(Fast reroute)是动态IP FRR,由OSPF利用全网链路状态数据库,预先计算出备份路径,保存在转发表中,以备在故障时提供流量保护,可将故障恢复时间降低到50ms以内。
loop-free-alternate命令用来使能OSPF IP FRR功能,利用LFA算法计算备份下一跳和备份出接口。
undo loop-free-alternate命令用来取消OSPF IP FRR功能。
缺省情况下,不使能OSPF IP FRR功能。
ospf 10 router-id 1.1.1.1
frr
loop-free-alternate
[AR1]dis ospf routing router-id 5.5.5.5
OSPF Process 10 with Router ID 1.1.1.1
Destination : 5.5.5.5 Route Type : Intra-area
Area : 0.0.0.0 AdvRouter : 5.5.5.5
Type : Normal Age : 00h02m47s
URT Cost : 2
NextHop : 12.1.1.2 Interface : GigabitEthernet0/0/0
Backup Nexthop : 14.1.1.4 Backup Interface : GigabitEthernet0/0/1
Backup Type : LFA LINK
[AR1]
OSPF GR
随着路由设备普遍采用了控制和转发分离的技术,在网络拓扑保持稳定的情况下,控制层面的重启并不会影响转发层面,转发层面仍然可以很好地完成数据转发任务,从而保证业务不受影响。
GR技术保证了在重启过程中转发层面能够继续指导数据的转发,同时控制层面邻居关系的重建以及路由计算等动作不会影响转发层面的功能,从而避免了路由振荡引发的业务中断,提高了整网的可靠性。
基本概念
GR是Graceful Restart的简称,又被称为平滑重启,是一种用于保证当路由协议重启时数据正常转发并且不影响关键业务的技术。
如果没有特殊说明,以下所说GR均表示RFC3623所规定的GR技术。
GR技术是属于高可靠性(HA,High Availability)技术的一种。HA是一整套综合技术,主要包括冗余容错、链路保证、节点故障修复及流量工程。GR是一种冗余容错技术,目前已经被广泛的使用在主备切换和系统升级方面,以保证关键业务的不间断转发。
和GR相关的概念如下:
Grace-LSA
OSPF通过新增Grace-LSA来支持GR功能。这种LSA用于在开始GR和退出GR时向邻居通告GR的时间、原因以及接口地址等内容。
路由器在GR中的角色
Restarter:重启路由器。可以通过配置支持完全GR或者部分GR。
Helper:协助重启路由器。可以通过配置支持有计划GR、无计划GR或者通过策略有选择支持GR。
在实际应用中,为了实现业务转发不受主板故障的影响,通常在双主板的硬件环境下配置BGP GR才有意义。
所有款型都支持GR Helper,仅AR3200系列支持GR Restarter。
GR的原因
Unknown:未知原因导致的GR操作。
Software restart:通过命令行主动触发的GR操作。
Software reload/upgrade:软件重启或升级导致的GR操作。
Switch to redundant control processor:异常主备倒换导致的GR操作。
GR的持续时间
GR持续时间最长不超过1800秒。GR成功或失败都可以提前退出,不必等到超时才退出。
GR的分类
完全GR(Totally GR):指当有一个邻居不支持GR功能时,整个路由器退出GR状态。
部分GR(Partly GR):指当有一个邻居不支持GR时,仅该邻居所关联的接口退出GR,其它接口正常进行GR过程。
有计划GR(Planned GR):指手动通过命令使路由器执行重启或主备倒换。在进行重启或主备倒换前Restarter会先发送Grace-LSA。
非计划GR(UnPlanned GR):与Planned GR的区别在于,路由器是由于故障等原因进行重启或主备倒换,并且在主备倒换前不会事先发送Grace-LSA,而是直接开始主备倒换,在备板正常Up后才进入GR过程。以下的步骤同Planned GR。
GR的过程
GR开始
对于Planned GR,主备倒换命令执行后,Restarter会首先向每个邻居发送一个Grace-LSA,通知邻居GR的开始以及GR的周期、原因等,然后进行主备倒换。
对于UnPlanned GR,则不发送这个Grace-LSA。
当备板正常Up后,立即发送一个Grace-LSA,通知邻居自己进入GR,包括GR的周期、原因等。然后会再向每个邻居连续发送5个Grace-LSA。(连续发送5个是为了确保邻居收到该Grace-LSA。此为各厂商实现方案,非协议规定)。
此时发送的Grace-LSA是为了告知邻居自己进入GR状态,邻居会在GR期间保持与Restarter的邻居关系,让其它路由器感知不到Restarter的倒换。
GR过程
图1 OSPF GR过程
GR退出
GR执行情况 | Restarter | Helper |
---|---|---|
GR成功 | Restarter在GR超时前与主备倒换前的所有邻居都重新建立好邻居关系。 | 收到Restarter发送的Age为3600秒的Grace-LSA时与Restarter的邻居关系为Full状态。 |
GR失败 |
|
|
有无GR技术的比较
无GR技术的主备倒换 | 有GR技术的主备倒换 |
---|---|
|
|
影响OSPF邻居建立的因素
OSPF邻居没起来
1、链路层故障
测网线,测光纤,ping
2、接口有没有宣告
[AR1]display ospf int
3、区域ID不一致邻居也无法建立
[AR1]display ospf peer brief
[AR2]dis ospf error interface g0/0/2
4、静默端口(被动接口)
5、Hello时间不一致,导致邻居无法建立
6、Dead时间不一致
7、MA网络掩码不一致
8、Option选项不致,导致邻居无法建立
E位,
N
9、认证类型和认证密码不一致,导致邻居无法建立
10、Router ID冲突,有可能会导致邻居无法建立
直连无法建立
同一区域非直连,序列号一直在增加
不同区域 ,非ABR冲突,邻居正常,路由也正常,
不同区域如果和ASBR冲突,一直在刷新,
11、配置了ACL
12、MTU会影响邻接的建立,不会影响邻居
Hello时间
区域ID
RID
接口Down
链路类型
认证
ACL
静默端口
MA网络的网段
掩码
Option