OSPF -- (开放式最短路径优先协议)(公共协议)
1、属性:无类别链路状态IGP协议
- 无类别:更新携带精确掩码
- 链路状态:共享拓扑(共享LSA)本地计算路由
- IGP: 基于AS进行分类,AS内部使用
2、版本:存在V1-V3(通用V2,V3是IPV6使用)
OSPF有水平分割,支持区域水平分割,不支持接口水平分割。
3、更新
(1)更新方式:每30min周期更新+触发更新
基于组播更新 --- 224.0.0.5--all ospf 224.0.0.6--DB/BDR
(2)更新量大:
链路状态协议的更新量随着网络范围的扩大指数性的上升,因此OSPF协议为了在中大型网路中工作,需要结构化部署(结构化部署:区域划分,合理IP地址规划)需要在更新等各个细节点进行良好设计
4、数据包、状态机
(1)5种数据包:
- Hello(邻居的发现;关系的建立;周期10s的保活[携带RID])
- DBD(数据库描述包:本地数据库目录)
- LSR(链路状态请求)
- LSU(链路状态更新)
- LSACK(链路状态确认)
LSA(链路状态通告)具体的一条一条路由信息或者拓扑信息,不是一个包,被LSU数据包来携带
(2)7个状态机:
- DOWN:(接收到Hello包,进入下一个状态机)
- INIT(初始化):(接受到的Hello包,存在本地的RID,进入下一个状态)
- 2way(双向通讯):(邻居关系建立的标志)
(关注条件:已经成为邻接关系,首先在Exstart state进行选举,发送DBD包)
条件匹配:点到点网络类型直接进入下一个状态机,MA网络中进行DR/BDR选举,非DR/BDR之间不能进入下一个状态机
- Exstart(预启动):使用不携带目录信息的DBD包,进行主从关系的选举;RID大为主,优先进入下一个状态。解决的目录共享时的无序。
- Exchange(准交换):使用携带目录信息的DBD包,共享本地的数据库目录
- Loading(加载):查看完邻接的DBD信息后,对比本地,而后基于本地未知的LSA进行查询,使用LSR向对端查询,对端使用LSU来传输这些LSA信息,本地收到后,需要LSACK来进行确认。
- FULL:邻接关系建立的标志,意味着邻接间本地数据库同步(一致)
5、工作过程:
(1)启动配置完成后,邻居间开始收发Hello包,Hello包中将携带本地以及本地所有已知邻居的RID,之后生成邻居表。
邻居间需要关注是否可以成为邻接的条件:如果不能建立为邻接,将保持为邻居关系,仅Hello包周期保活即可。如果可以建立为邻接关系,将使用DBD进行本地数据库目录的对比,基于对比的结果,使用LSR/LSU/LSACK来获取本地未知的LSA信息。
(2)若可以建立为邻接关系,使得邻接关系间的数据库(LSDB)完成同步(一致),生成数据库表
(3)之后本地基于LSDB,使用SPF算法,生成有向图-->最短路径树-->计算本地到达所有未知网段的路径,将其加载到本地的路由表中-->收敛完成。
(4)收敛完成后,邻居和邻接关系的Hello包,每10s保活;每30min一次邻接关系间的周期数据库比对,保障一致。
6、结构突变:
- 新增网段:直连新增网段的设备,直接使用更新包告知本地的所有的邻接
- 断开网段:直连断开网段的设备,直接使用更新包告知本地的所有的邻接
- 无法沟通:dead time 是hello time 的4倍。在4次周期内未收到对端的hello包,将断开与其的邻居关系,删除通过该邻居计算所得路由
LSDB -- (链路状态数据库)--- 所有LSA的集合
7、基础配置:
[r1]ospf 1 router-id 1.1.1.1 --- 启动时可以定义进程号、RID。默认进程号是1。
建议配置RID—全网唯一—手工配置—本地环回接口最大数值---物理接口最大数值
RID—格式为IPV4地址,全网唯一。RID取名顺序:手工>自动取值。(自动取值:环回接口取最大数值;无环回取物理接口最大数值)
[r1-ospf-1]
[r1-ospf-1]area 0
[r1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0 ---(OSPF在宣告时,需要使用反掩码,匹配宣告的地址范围)
[r1-ospf-1-area-0.0.0.0]network 12.1.1.1 0.0.0.255 ---(反掩码的作用:定义范围)
(1)OSPF的宣告的特点:
[1] 找到接口并且激活—可以收发OSPF的信息
[2] 被选中接口的拓扑信息可以共享给邻接
[3] 进行区域划分:
规则:
a.星型结构 – 编号为0为骨干区域(中心),编号大于0为非骨干区域(分支)(非骨干区域直连骨干区域)
b.必须存在ABR(ABR:区域边界路由器。两个接口间互连的设备)
(2)配置完成后,开始工作:
邻居间收发Hello包,然后建立邻居关系,生成邻居表
PS:
Hello包携带的参数:
邻居间在进行邻居关系建立时,hello包中以下几个参数几个参数必须完全一致,否则无法建立邻居关系:Hello time和dead time、区域ID(ABR)、认证字段、末梢区域标记
(华为设备还要求邻居间建立邻居的接口ip地址子网掩码必须一致)
<r1>display ospf peer --- 查看邻居关系
<r1>display ospf peer brief --- 查看邻居简表
邻居关系建立后,关注条件:匹配失败后,保持为邻居关系,仅Hello包周期保活;匹配成功后,可以建立为邻接(毗邻)关系。
邻接关系间,将使用DBD/LSR/LSU/LSACK来获取本地未知的LSA信息,完成本地的LSDB(数据库表)。
首先使用DBD进行主从关系选举,再使用DBD进行数据库目录的交互
<r1>display ospf lsdb --- 查看数据库表
当数据库同步完成后,本地基于SPF算法,将数据库转换为有向图,再将有向图转换为树形结构,之后基于树形结构,以本地为起点到达所有未知网段的最短路径,加载到路由表。
<r1>display ip routing-table protocol ospf --- 查看OSPF路由
(3)注意事项:
[1] 优先级为10。度量为cost值(cost值=开销值)
[2] (OSPF cost = 参考带宽/接口带宽)默认参考带宽为100M。
[3] OSPF优选cost值之和最小的为最佳路径;若两条链路cost值相同,则形成等开销负载均衡。
若接口带宽大于参考带宽,cost值为1,将可能导致选路不佳,建议修改默认参考带宽
[r1]ospf 1
[r1-ospf-1]bandwidth-reference ?
INTEGER<1-2147483648> The reference bandwidth (Mbits/s)
[r1-ospf-1]bandwidth-reference 1000
PS:修改参考带宽,全网须一致
(4)DBD包
[1] MTU:OSPF协议会在DBD包中携带与邻居直连接口的MTU值;要求邻居的MTU值必须完全一致,否则将卡在exstart或exchange状态机
(默认华为设备间不检测这个MTU值)
[r1]interface GigabitEthernet 0/0/1
[r1-GigabitEthernet0/0/1]ospf mtu-enable --- 在于邻居间直连的接口上开启MTU检测;若一端开启,另一端也必须开启。
[2] 隐性确认:一台设备使用和另一台设备一样的序列号来确认对端的数据 OSPF中从来对主进行隐性确认。
[3] 描述字段:I为1标识本地发出的第一个DBD,M为0本地发出的最后一个DBD。
[4] OSPF标记位: I M MS
#用抓包工具抓包后,打开ospf的DBD包,可看到这些数据
I为1,表示本地发出的第一个DBD包
M为0,表示本地发出的最后一个DBD包
MS为1,代表主,为0代表从
#ospf的主从关系表示的BR,BDR
8、拓展配置:
(1)DR/BDR(指定路由器/备份指定路由器)选举:是邻居成为邻接关系的条件,与网络类型有关。
网络类型:
a.点到点 – 在一个网段内,只能存在两个节点。 -- (串线链路)
b.MA – 多路访问—一个网段内的节点数量不限制。不是当下连接几个节点,而是该网络类型允许连接多个节点。--(以太网)
邻居成为邻接关系:
(点到点网络邻居关系直接成为邻接关系;在MA网络中,将进行DR/BDR选举。)(dead time 和选举时间相同)
(在一个网段中,仅DR/BDR与其他路由器为邻接关系;非DR/BDR之间的路由器为邻居关系。)
例:一个网络中出现纯粹的邻居关系,至少需要4台路由器
[1] 选举规则:首先比较该网段所有参选设备接口的优先级,越大越优先(默认优先级为1,取值范围0-255,0标识不参选);如果所有参选设备的优先级相同,就比较参选设备的RID,数值大就优先。
[2] 干涉选举:
<1> DR优先级改为最大,BDR优先级次大。-- OSPF选举是非抢占性的,所以在修改完优先级后,需要需要所有路由器重启OSPF进程。
[r1]int g0/0/0
[r1-GigabitEthernet0/0/0]ospf dr-priority 3 --- 修改接口优先级
<r1>reset ospf process --- 重启OSPF进程
Warning: The OSPF process will be reset. Continue? [Y/N]:y
<2> DR优先级改为最大,BDR优先级次大,其他设备修改为0,无需重启进程。
(3)区域汇总:OSPF协议不支持接口汇总,只能在ABR上将A区域拓扑计算所得路由,共享给B区域时汇总。
[r2]ospf 1
[r2-ospf-1-area-0.0.0.0]ab
[r2-ospf-1-area-0.0.0.0]abr-summary 1.1.0.0 255.252.0.0
以上操作为,R2为一台连接区域0和其它区域的ABR,R2将通过区域0通过拓扑计算所得的路由,传递给其它区域时进行汇总,汇总网段为1.1.0.0/22
(4)被动接口(沉默接口):仅接受不发送路由协议信息,用于连接用户终端的接口,不得用于连接邻居路由器的接口,否则无法建立邻居关系。
[r2]ospf 1
[r2-ospf-1]silent-interface g0/0/0
(5)认证(接口认证):在直连邻居或者邻接的接口上配置,保障更新的安全。
[r1-GigabitEthernet0/0/0]ospf authentication-mode md5 1 cipher 123456
模式(md5)、编号(1)、密码(123456)(都要求邻居间一致)
(6)加快收敛
邻居间计时器:10s Hello time 40s dead time
邻居间,修改本端的hello time,本端的dead time自动4倍关系匹配;但OSPF中邻居间的hello time 和dead time 必须完全一致,否则无法建立邻居关系。
[r1]int g0/0/0
[r1-GigabitEthernet0/0/0] ospf timer hello 5 --- 修改hello时间
(7)缺省路由:边界路由器配置后,自动向内网发布一条缺省路由,之后内网设备将自动生成一条缺省路由
[r2]ospf 1
[r2-ospf-1]default-route-advertise always -- 发布缺省路由
9、接口网络类型
(ospf的协议在不同网路类型的接口上,其工作方式不同)
<r1>display ospf interface GigabitEthernet 0/0/1 --- 查看OSPF协议在该接口的工作方式
OSPF工作方式 | |||
环回 | P2P | 无HELLO包 | 32位主机路由共享 |
点到点(串线上的HDLC、PPP、GRE) | P2P | hello time10s | 不选DR/BDR,直接建立邻居关系 |
BMA(以太网) | Broadcast | hello time 10s | 选DR/BDR(40S) |
NBMA | P2P | 该工作方式仅允许建立一个邻居关系 |
OSPF在tunnel接口上工作方式为点到点,该方式仅允许建立一个邻居关系。所以在MGRE中将无法正常建邻。
[r1-Tunnel0/0/0]ospf network-type broadcast
PS:在MGRE环境下,若一个网段的部分接口修改为broadcast,其他依然为点到点;由于建邻的条件匹配,故可以建立邻居关系;但broadcast需要DR,点到点不需要,所以最终不能正常收敛;需要该网段所有节点均改为broadcast。
p2mp -- 不选DR hello 30s
[r1-Tunnel0/0/0]ospf network-type p2mp --- 将接口类型修改为点到多点
[r2-Tunnel0/0/0]ospf network-type p2mp
[r3-Tunnel0/0/0]ospf network-type p2mp
10、拓扑类型
- 星型---中心到站点 DR必须定在中心站点,没有BDR
- 全连网状 --- 基于实际环境关注是否固定DR
- 部分网状 --- DR/BDR选举正常
11、不规则区域
(1)远离骨干的非骨干区域
(2)不连续的骨干区域 --- 本地学习到来自区域x的路由后,不得共享到x区域
[r1]display ospf routing --- 显示本地发出的和本地学到的所有OSPF路由
(3)解决方法:
[1] 普通GRE,tunnel 隧道:合法ABR与非法ABR之间建立tunnel,而后将tunnel宣告到OSPF中
缺点:周期和触发的信息对中间穿越区资源的不断占用;(骨干和非骨干链路都传来一条路由,默认选择骨干链路的路由)选路不佳
[2] OSPF虚链路:非法ABR获取合法ABR授权后,具有区域间路由共享功能。(合法ABR与非法ABR在同一区域)
[r2]ospf 1
[r2-ospf-1]area 1 -- 进入穿越区域
[r2-ospf-1-area-0.0.0.1]vlink-peer 4.4.4.4 -- 对端ABR的RID
优点:没有新生链路,不存在选路不佳
缺点:两台ABR设备间的周期信息,依然对中间照成影响---华为。两台ABR设备间不保活,取消周期信息,即可不可靠—cisco。
[3] 多进程双向重发布
重发布:一台路由器上,同时允许多种路由协议运行,或者运行同一种协议的多个进程。可同时学习到两端的路由信息,但是默认不共享。(重发布可以实现路由共享)
(条件:两种协议或者两个进程之间存在ASBR)
ASBR:自治系统边界路由器、协议边界路由器
多进程:在一台设备上若同时启动多个OSPF进程,不同的进程将宣告不同的接口,拥有各自的数据库,且不共享;仅将计算所得路由条目加载于同一张路由表中。
在非法ABR处,将不同区域的接口宣告到不同进程中,形成独立的数据库;之后使用重发布技术来实现路由共享,全网可达。不担心选路问题,资源占用问题。
[r4]ospf
[r4-ospf-1]import-route ospf 2
[r4]ospf 2
[r4-ospf-2]import-route ospf 1
12、数据库表
(OSPF协议在不同的环境下,将会产生不同的LSA)
[r1]display ospf lsdb --- 查看数据库目录
[r1]display ospf lsdb router 1.1.1.1 --- 详细查看该条目的信息
以下信息为所有数据库表条目均拥有信息:
- Type : Router 类别名
- Ls id : 1.1.1.1 link-id(页码)
- Adv rtr : 1.1.1.1 通告者的RID,来源
- Ls age : 723 老化时间,1秒加1;1800s周期归0,触发当下归0,最大老化3609
- Len : 48 长度
- Options : E 标记位
- seq# : 80000016 序列号
- chksum : 0x6d96 校验盒码
具体类别划分:
类别 | 传播范围 | 通告者 | 携带信息 | link-id |
1 Router | 单区域 | 该区域每台路由器 | 本地直连拓扑 | 通告者的RID |
2 Network | 单区域 | 该网段的DR | 单个MA网段的拓扑 | DR的接口ip地址 |
3 summary | 整个OSPF的域 | ABR,经过下一台ABR时,修改为新的ABR | 域间路由(其他区域的路由) | 域间路由网络号 |
4 asbr | 除ASBR所在区域外,整个OSPF域 | ABR,经过下一台ABR时,修改为新的ABR | ASBR的位置 | ASBR的RID |
5 External | 整个OSPF的域 | ASBR(不变化) | 域外路由(重发布进入的路由) | 域外路由目标网络号 |
7 nssa | 单个NSSA | ASBR(在通过该区域的ABR转发到其他区域时,转换为5类) | 域外路由 | 域外路由目标网络号 |
ASBR所在区域,通过1类告知位置;通告者为与ASBR在同一区域连接其他区域的ABR
13、优化OSPF更新量
(1)汇总:针对骨干区域的LSA的减少
汇总:单区域内,OSPF通过1、2类传递拓扑信息(拓扑不可以汇总)(1、2类LSA不能汇总)
[1] 域间路由汇总 – 汇总3类
[r1] ospf 1
[r1-ospf-1] area 1 --- 来源区域(一定是ABR通过该区域的1、2类计算所得路由)
[r1-ospf-1-area-0.0.0.1] abr-summary 5.5.4.0 255.255.254.0
[2] 域外路由汇总 – 汇总5/7类
(在ABSR上配置即可)
[r1] ospf 1
[r1-ospf-1] import-route rip ---(重发布)
[r1-ospf-1] asbr-summary 99.1.0.0 255.255.252.0
(2)特殊区域:针对非骨干区域的LSA的减少(不能是骨干区域,不能存在OSPF虚链路)
[1] 不存在ASBR
<1> 末梢区域:该区域将拒绝4、5类的LSA,该区域同时连接骨干区域的ABR,由该区域连接骨干区域的ABR向该区域发布一条3类的缺省
[r1] ospf 1
[r1-ospf-1] area 1
[r1-ospf-1-area-0.0.0.1] stub
PS:该区域所有设备均需配置,否则无法建立邻居关系
<2> 完全末梢区域:在末梢区域的基础上,进一步拒绝3类的LSA,仅保留一条ABR发送的3类的缺省。先将该区域配置为末梢区域,而后在ABR上完成配置,定义完全。
[r1] ospf 1
[r1-ospf-1] area 1
[r1-ospf-1-area-0.0.0.1] stub no-summary
[2] 存在ASBR
<1> NSSA:非完全末梢区域。
(拒绝4、5类的LSA。本地ASBR不再产生五类而是使用7类将路由向骨干区域进行共享。NSSA区域连接骨干的ABR进行7转5动作,让NSSA外的区域正常学习5类的LSA,通告者为进行7转5的ABR。)
NSSA的意义:不是为了拒绝本地区域产生的域外路由,而是为了拒绝本区域外的其他ASBR产生的域外路由
厂家区别:
华为在NSSA配置完成后,由该区域连接骨干区域的ABR向该区域发布一条7类缺省。
思科在NSSA配置完成后,不会自动产生缺省路由,而是管理员在确定网络无环得前提下,手工发布缺省路由。
[r2]ospf 1
[r2-ospf-1]area 1
[r2-ospf-1-area-0.0.0.1]nssa --- 该区域每台设备均需配置
B.完全NSSA – 在NSSA的基础上,进一步拒绝3类的NSSA,由连接骨干的ABR发布一条3类缺省
(先将该区域配置为NSSA,然后仅在ABR上定义完全即可)
[r2]ospf 1
[r2-ospf-1]area 1
[r2-ospf-1-area-0.0.0.1]nssa no-summary
PS:在使用NSSA或完全NSSA时,一定要关注该网络连接ISP的接口所在位置;小心环路的出现
14、扩展配置深层理解:
(1)认证:邻居间进行身份核实的作用---共享秘钥
[1] 接口认证
[r1-GigabitEthernet0/0/1]ospf authentication-mode md5 1 cipher 123456
(对端与红字标识的模式、编号、密码都必须相同)
[2] 区域认证 – 批量配置
[r2]ospf 1
[r2-ospf-1]area 0
[r2-ospf-1-area-0.0.0.0]authentication-mode md5 1 cipher 123456
配置完成后,该设备所有属于区域0的接口全部基于该秘钥认证
[3] 虚链路认证 -- 在虚链路建立后,进行配置
[r2-ospf-1-area-0.0.0.1]vlink-peer 2.2.2.2 md5 1 cipher 123456
(2)汇总:
- 域间路由汇总(3类)-- ABR
- 域外路由汇总(5、7类)-- ASBR
(3)被动接口(沉默接口):用于连接用户终端的PC接口,仅接收不发送路由协议信息,不得用于连接邻居的接口。
[r1]ospf 1
[r1-ospf-1]silent-interface GigabitEthernet 0/0/2
(4)加快收敛
修改本端的hello time,修改后本端的dead time自动4倍关系匹配。要求和对端hello time、dead time必须完全一致,否则无法建立邻居关系。修改时维持原有倍数关系。
[r1-GigabitEthernet0/0/1]ospf timer hello 10
修改时不宜修改的过小
(5)缺省路由
[1] 3类缺省:自动产生、特殊区域产生
在末梢、完全末梢、完全NSSA三种特殊区域中,会有连接骨干区域的ABR向内发布一条3类的缺省路由。
[2] 5类缺省
[r5] ospf 1
[r5-ospf-1]default-route-advertise
在边界路由器上,先静态或通过其他动态设备产生缺省路由,然后将本地路由表中通过其他方式产生的缺省路由重发布到OSPF的协议中
[r5-ospf-1]default-route-advertise always
强制发布,无论本地路由表是否存在缺省路由,均向内网发布一条缺省信息
(默认所有的5类LSA基于类型2传递。)
类型1 显示总cost值 类型2 仅显示起始cost值
[3] 7类缺省:普通的NSSA区域,该区域连接骨干区域的ABR,将向该区域发布7类缺省
[r5-ospf-1-area-0.0.0.1]nssa default-route-advertise (默认为类型2)
本设备处于NSSA,而后在该设备的路由表中,通过其他协议产生了一条缺省路由,通过上方命令发布到该NSSA区域
PS:选路口诀:
拓扑优于路由 1、2类优于 3、4、5、7
内部优于外部 3类优于5、7
类型1优于类型2
5类优于7类
15、ospf拓展知识点
(1)附录E:link-id 相同的问题
若一台ABR将两条3类LSA导入其他区域;同时这两条LSA的link-id会相同
20.1.0.0/16--link-id 20.1.0.0 短掩码网段先进入,link-id正常显示
20.1.0.0/24--link-id 20.1.0.255 长掩码进入时link-id加反掩码
(若长掩码先进入,再短掩码进入时,长掩码的信息被刷新为反掩码)
(2)OSPF选路规则
[1] AD(管理距离)无关的第一种情况:
r2(config)#router ospf 1
r2(config-router)#distance 109 1.1.1.1 0.0.0.0
本地从RID为1.1.1.1的设备处学习到路由条目,管理距离修改109;
(本设备为思科设备)
一台路由器从两个OSPF邻居处学习到了两条相同的路由时,仅比较度量值,不关注管理距离。因为仅针对一台邻居进行管理距离修改的结果是要么两台都被改,要么修改失败。
关注IOS版本---有时修改RID大路由器管理距离生效,有时需要修改RID小的设备。
[2] AD(管理距离)无关的第二种情况: O IA 3类
O IA 与 O IA路由相遇,到达相同目标的两条3类路由,这两条路由均通过非骨干传递,仅关注cost值,不关注管理距离。
若一条通过骨干区域传递,另一条同过非骨干区域传递--非骨干传递的路由无效
OSPF的区域水平分割:区域标号为A的3类LSA,不能回到区域A;
先比类型 --> 区域 --> cost
[3] OE 与ON:E为5类,N 为7类。默认所有重发布进入路由条目均为类型2,类型2在路由表中cost值不会显示沿途的累加,仅显示起始度量。
两条均为OE2或者均为N2,起始度量相同。关注沿途的累加度量 (OE2路由在表中度量默认不显示内部度量,仅显示起始度量)
两条均为OE2或者均为N2,起始度量不同,则优先起始度量小的路径
PS:以上设计是便于管理员快速干涉选路
OE1路由仅比较总度量(起始度量+沿途累加),仅修改起始度量不一定能干涉选路,必须在修改后使得总度量产生区别才能干涉选路
[4] 优选路径总结:
拓扑优于路由 1/2LSA计算所得路由优于3/4/5/7类计算所得
内部优于外部 3类优于4/5/7类
类型1优于类型2 E1优于E2,N1优于N2,E1优于N2,N1优于E2;
E1与N1相遇,或E2与N2相遇,先比总度量(起始+沿途)小优;度量一致5类优于7类
PS:
类型1优于类型2(仅在5、7类的LSA中出现)
E1/2(5类的类型1或2) N1/2(7类的类型1或2)
默认5、7类的LSA进入OSPF域时,仅显示起始度量,不显示内部叠加的总度量。但选路时,基于总度量选路。
(若修改为类型1,将显示总度量,且选路也是优先总度量小的;若学习到两条路由,一条类型1,一条类型2,优选类型1)
(3)FA(转发地址)
(正常OSPF区域收到的5类LSA不存在FA值)
产生FA的条件:
<1> 5类LSA:假设R2为ASBR,g0/0/0口工作的OSPF中,g0/0/1口工作在非ospf协议或不同ospf进程中;若g0/0/1也同时宣告在和g0/0/0相同的OSPF进程中,同时该接口的工作方式为广播型。
将在5类LSA中出现FA地址,地址为R2连接R3网段中R3的接口IP
<2> 7类LSA:必然出现FA地址
例:假设R9为ASBR,S0/0/0口工作的OSPF中,S0/0/1口工作在非ospf协议或不同进程中。
S0/0/1未运行OSPF--FA地址为R9上最后宣告的环回地址(个别IOS也可能是最大环回接口ip地址),若R9没有环回接口;FA地址为R9上最后宣告的物理接口地址(个别IOS也可能是最大的物理接口ip地址)
R9的S0/0/1也工作OSPF协议中,S0/0/1接口工作方式为广播,那么FA地址为R10接口IP
S0/0/1的工作方式为点到点,那么FA地址为R9的s0/0/1口IP
PS:
在FA地址出现后,4类LSA无效;人为过滤掉4类LSA,依然可达域外。
当4类LSA存在,却人为过滤了到达FA地址的路由,那么将无法访问域外。
一旦出现FA地址,所有的选路计算均基于FA地址进行。
针对存在FA的5/7类路由,4类LSA无意义,仅递归到FA地址,若FA地址被策略过滤导致不可达。
路由表中的度量是到FA地址的度量,不是到ASBR的度量。
(4)NP位+E位 (P位被加密,故抓包时看不见P位)
正常NSSA区域内的1类LSA中,N=1,E=0,标识该区域转发7类LSA,不转发5类。
非NSSA区域中,E=1,N=0,标识可以转发5类,不能转发7类
P位为1,标识该区域将执行7类转5类。P为0,不能7转5
区域0连接到两个非骨干区域,这两个非骨干假设为区域1和区域2。区域1/2同时连接同一个外部协议,且同时进行了重发布配置。区域1为NSSA区域,区域2为非NSSA区域。那么此时的区域1,P位=0不能进行7转5;故骨干区域只能收到从区域2来的外部路由。
若NSSA和非NSSA均将同一条域外路由向内部传递,仅非NSSA区域可以实现
若区域1和区域2均为NSSA区域,那么ABR的RID大区域进行7转5,另一个区域不转。故同一条域外路由,骨干区域只能收到从一个区域传递的外部路由;若以上条件中,两个区域均为非NSSA区域,那么P位无效,故两个区域的路由均回进入骨干区域。
(5)SFP算法:OSPF防环机制
- 在同一个区域每台路由具有一致的LSDB
- 每台路由器以自己为根计算到达每个目标的最短路径(最小cost值)
- 必须进行区域划分
优势:
1.域间汇总减少路由条目数量
2.汇总路由是在所有明细路由均消失后才删除,网络更稳定
3.区域划分后不同类别的LSA传播范围不同,控制更新量
过程:基于本地LSDB(1/2类LSA)生成 --> 生成有向图 --> 基于有向图来进行最短路径树生成
最短路径树关注本地LINK-ID的LSA开始 --> 基于该LSA内提及到点到点或传输网络信息再查看link-id递归到下一条信息,基于所有点到点和传输网络信息生成最短路径树主干,然后用树中每台设备的末梢网络信息补充路由表,完成收敛。