【HCIE备考笔记】【04-OSPF】OSPF知识回顾

本文主要针对HCIE考试对各种技术做一轮复习。
建议读者已经具备其他厂商IE认证,或者具备良好网络基础知识。
本文仅整理重点难点和容易踩坑的知识,对于基础知识一概不整理。

网络界有两个不敢吹牛逼的知识点,OSPF和BGP。这两个知识点几乎没人敢说精通,所以抱着敬畏的心,我们开始整理OSPF的知识点。

一、老生常谈的LS和DV

自行复习一下LS和DV都有哪些

1、LS链路状态路由协议

链路状态协议,通告的是始源的路由信息。
节点可以知道网段的具体始发信息
回想一下STP生成树,虽然不是路由协议,但也是基于链路状态的。

2、DV距离矢量路由协议

距离矢量协议,通告的是逐跳的路由条目。
仅由隔壁邻居向你通告他能去哪里,所以仅能知道网段的下一跳信息。
因此,会有最大条数限制,RIP最大15跳。

3、DV、LS详细解释和分析

在这里插入图片描述

在这里插入图片描述

二、OSPF建立连接过程

神图镇楼
在这里插入图片描述

1、邻居关系建立过程(DOWN->Init->2-Way阶段)

Hello报文组播地址 224.0.0.5,Hello包交互完就可以完成邻居关系建立了。

1.1、过程图

在这里插入图片描述

1.2、报文截图

Hello报文内主要携带以下信息
在这里插入图片描述

1.3、系统debug日志

 OSPF 1: Nbr 10.0.0.1 Rcv HelloReceived State Down -> Init.
 OSPF 1: Nbr 10.0.0.1 Rcv 2WayReceived State Init -> 2Way.

2、邻接关系建立过程(2-way->Full阶段)

2.1、过程图

在这里插入图片描述

2.2、过程详细说明

整个过程的全部状态是2Way -> ExStart -> Exchange -> Loading -> Full
ExStart开始选举DBD交互时的master。注意,在这个macter与DR/BDR概念无关,及时P2P链路在进行DBD摘要交互时,仍然存在主从关系。ExStart是选举完DR/BDR之后的状态
Exchange开始交换DBD摘要。注意,DBD交互时候的隐示确认机制,交互DBD摘要的时候,DD Seq只由主设备产生。
Loading:完成DBD交互同步,开始通过LSR和LSU交互详细信息。
Full完成所有LSU的交互,构建完整的LSDB,进入Full状态。之后,根据本地的完整LSDB数据库,根据SPF算法计算本地OSPF路由表。

2.3、系统ebug日志

 OSPF 1: Nbr 10.0.0.1 Rcv AdjOk? State 2Way -> ExStart.
 OSPF 1: Nbr 10.0.0.1 Rcv NegotiationDone State ExStart -> Exchange.
 OSPF 1: Nbr 10.0.0.1 Rcv ExchangeDone State Exchange -> Loading.
 OSPF 1: Nbr 10.0.0.1 Rcv LoadingDone State Loading -> Full

3、邻居和邻接的区别

注意,建立邻居和建立邻接不一样哟。
举例说明,DR和DRother之间建立的是邻接关系,交换数据。DRother之间只保持在2-Way邻居状态,不交互数据哟。

4、DR/BDR选举

MA广播型链路需要选举DR/BDR
选举时期
2way完成后,Exstart开始前。
选举过程
选举通过Hello包进行,Hello包里携带DR和BDR字段。最初,DR BDR字段为0.0.0.0,无DR和BDR。
从第一个Hello报之后等待2倍dead时间40秒后无人宣告自己是DR或BDR,开始发送Hello包进行选举。
DROther首先选举一个变成BDR,BDR发现无DR后继续变成DR。
在这里插入图片描述

选举原则
1、比较接口优先级,选大的
2、比较routerID,选大的
3、不抢占原则

5、影响OSPF邻居建立的因素

  • RouterID不能重复
  • 区域ID需一致
  • 认证匹配
  • MA网络里面,Netowrk的掩码长度需要一致
  • 区域类型需要一致
  • Hello,Dead计时器时间需要一致
  • MTU检查如果开启的话,接口MTU需要一致
  • 未配置静默端口
  • 链路两端网络类型需一致(P2P MA等)
  • MA网络中,路由器接口优先级不能全是0

6、OSPF故障及可能性

在这里插入图片描述

三、OSPF区域类型、ABR和ASBR

1、区域类型

1.1、骨干区域

OSPF域内必须有且仅能有一个骨干区域Area 0.0.0.0。

1.2、非骨干区域

所有非骨干区域必须与骨干区域直接连接。
非骨干区域之间不能直接连接。
非骨干区域不能跨过其他非骨干区域与骨干连接。
V-link可以实现跨非骨干区域连接骨干区域。但是,用了会被鄙视。

1.3、特殊区域

Stub 不接收4 5,可以通过3类LSA向区域内通告缺省路由。
Totally Stub 不接3 4 5,通告3类缺省路由。
NSSA 不接4 5 ,通告7类缺省路由。
Totallly NSSA 不接3 4 5,通告3 7 缺省路由,优选3缺省。

2、Option字段对区域类型的标记

OSPF报文中携带Option字段,该字段对
允许路由器和其他路由器进行一些可选性能的通信
在这里插入图片描述
Option字段逐位定义
在这里插入图片描述
其中E位置1表示支持引入LSA5类外部引入路由
N位置1表示支持LSA7类外部引入路由
普通区域,支持LSA5不支持LSA7,STUB区域不支持任何外部引入路由,NSSA仅支持LSA7
普通区域,E=1,N=0
Stub区域,E=0,N=0
NSSA区域,E=0,N=1

3、ABR、ASBR

ABR,区域边界路由器,横跨在两个区域间。
ASBR,OSPF与外部其他路由对接,自治区域边界路由器。
ABR隔断1 2 类LSA泛洪,生成3类LSA通告达到其他区域。

四、OSPF路由计算

1、路由比较原则

区域内>区域间>Type1外部引入路由>Type2外部引入路由
1类2类>3类LSA>5类7类LSA

2、区域内SPF算法

区域内用SPF算法,区域间LSA3类收敛类似于距离矢量算法。
基本步骤:
1、泛洪1类2类LSA获取邻居信息,完善本地LSDB数据库
2、全网同步LSDB数据库,每个节点都能计算出一样的全网拓扑
3、每个节点,根据链路开销,遍历所有节点生成以自己为根的SPF树

插一嘴,到这为止,可以回想一下BPDU报文是怎么泛洪的,以及STP树是怎么计算的
4、根据LSDB数据库,为每个节点挂载子网信息
5、生成基于自己为视角的,计算全网路由
在这里插入图片描述
在这里插入图片描述

3、区域间路由传递

区域间路由信息由ABR汇总,以三类LSA向其他区域传递。
区域间传递时,可以把每个区域看成一个节点,节点间通过类似距离矢量的方式进行传递。
在这里插入图片描述

4、OSPF防环机制

区域内SPF算法保证算不出环!
区域间由于是类似于距离矢量算法计算邻接路由,因此需要一些特别的方式来防环
1、非骨干区域之间不能邻接,仅能与骨干区域直接连接
2、对于双ABR邻接的两个区域,ABR对于非骨干区域收到的3类LSA不参与计算。

四、OSPF报文大全

1、OSPF报文类型

Hello,DBD,LSR,LSU,LSAck
在这里插入图片描述

2、OSPF报文截图

OSPFv2
在这里插入图片描述
OSPFv3
在这里插入图片描述

3、LSA通告类型

注意:LSA通告通过LSU报文发送,LSA并不是一种报文,是LSU报文中的信息。
出去不要说,LSA报文这种东西,丢人!
在这里插入图片描述
顺便说一下1类和2类LSA
1类LSA会通告链路类型,并且根据链路类型不同,通告的字段值也不同,具体见下表
在这里插入图片描述
2类LSA仅会在涉及广播型链路时通告,由DR发出。关于广播型链路的OSPF邻居,后面几篇文章会说明。

4、LSA通告截图

在这里插入图片描述


版权声明:本文为ytlzq0228原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。