OSPF路由协议基本知识点

概述
开放式最短路径优先(Open Shortest Path First,OSPF)是目前广泛使用的一种动态路由协议,它属于链路状态路由协议,具有路由变化收敛速度快、无路由环路、支持变长子网掩码(VLSM)和汇总、层次区域划分等优点。在网络中使用OSPF协议后,大部分路由将由OSPF协议自行计算和生成,无须网络管理员人工配置,当网络拓扑发生变化时,协议可以自动计算、更正路由,极大地方便了网络管理。但如果使用时不结合具体网络应用环境,不做好细致的规划,OSPF协议的使用效果会大打折扣,甚至引发故障。 

OSPF协议是一种链路状态协议。每个路由器负责发现、维护与邻居的关系,并将已知的邻居列表和链路费用LSU(Link State Update)报文描述,通过可靠的泛洪与自治系统AS(Autonomous System)内的其他路由器周期性的交互,学习到整个自治系统的网络拓扑结构;并通过自治系统边界的路由器注入其他AS的路由信息,从而得到整个Internet的路由信息。每隔一个特定时间或当链路状态发生变化时,重新生成LSA,路由器通过泛洪机制将新LSA通告出去,以便实现路由的实时更新

一、四种路由类型 
   

       
                                       
DR 指定理由器

当多路访问网络发生变化时,DR负责更新其他所有路由器。
BDR备份指定路由器

BDR会监控DR 的状态,并在当前DR发生故障时接替其角色。
ABR区域边界路由器
ABR用来连接骨干区域和非骨干区域,它与骨干区域之间既可以是物理连接,也可以是逻辑上的连接。
ASBR自治系统边界路由器

ASBR路由器是用来把其他路由选择协议学习到的路由通过路由选择重分配的方式注入到OSPF域的路由器。
二、五大区域
1.骨干区域(Area0)

2.非骨干区域——根据能够学习的路有种类来区分

(1)标准区域

(2)末梢区域(stub)

(3)完全末梢(Totally stubbby)

(4)非纯末梢区域(NSSA)

三、五大数据包类型
 
                                                 
hello包
是周期发送(直连网段),该包有router ID,保持时间40s,router优先级,邻居信息,area ID,DR、BDR、password,stub area标记;(就是发送看对方挂了没有)
数据库描述包(DBD)
该包其实是对LSA的摘要,是用来进行比较的(就像一本书的目录)
链路状态请求包(LSR)
进行DBD比较后发现自己DBD中少lsa,会发送该包(两本书的目录不一样,少的向多的要)
链路状态更新包(LSU)
收到LSR后把自己lsa发送给少的路由器,(把自己多的目录给他,让他和我的一样,少的向多的要)
链路状态确认包(LSAck)
收到LSA后发送确认,(我收到了!谢了!)
四、OSPF链路状态
1.链路状态数据库的组成
(1)每个路由器都创建了由每个接口、对应的相邻节点和接口速度组成的数据库

(2)链路状态数据库中的每个条目称为LSA(链路状态通告),常见的有六种LSA类型

2.链路状态通告(LSA)类型
 
Type1 路由器LSA 由区域内的路由器发出的(所有路由)
Type2 网络LSA 由区域内的DR发出的(宣告网络状态信息)
Type3 网络汇总LSA ABR发出的,其他区域的汇总链路通告(汇总交换)
Type4 ASBR汇总LSA ABR发出的,用于通告ASBR信息(告知ASBR位置)
Type5 AS外部LSA ABR发出的,用于通告外部路由(外交官)
Type6 NSSA外部LSA NSSA区域内的ASBR发出的,用于本区域连接的外部路由
五、OSPF邻接关系的建立(七种状态)
1.OSPF启动的第一个阶段是使用hello报文建立双向通信的过程

2.OSPF启动的第二个阶段是建立完全邻接关系

Down
在Down状态下,OSPF进程还没有与任何邻居交换信息。OSPF在等待进入Init状态。
Init OSPF路由器以固定的时间间隔(缺省10s)发送类型1(Hello)的分组,以便与邻居路由器建立特殊的关系。
2-Way
每台OSPF路由器都使用分组试图与同一个IP网络中的所有邻居路由器建立双向状态或双向通信。Hello分组中含有发送者已知的OSPF邻居列表。当路由器看到它自己出现在一个邻居路由器的Hello分组中时,它就进入了双向状态。
ExStart
每台OSPF路由器都使用分组试图与同一个IP网络中的所有邻居路由器建立双向状态或双向通信。Hello分组中含有发送者已知的OSPF邻居列表。当路由器看到它自己出现在一个邻居路由器的Hello分组中时,它就进入了双向状态。
Exchange
在交换状态下,邻居路由器使用类型2的DBD分组来互相发送它们的链路状态信息,也就是说路由器相互描述它们的链路状态数据库。路由器将它们所学到的信息与其现存的链路状态数据库进行比较,并且单独确认每个DBD分组,如果任何一台路由器接收到不在其数据库中的链路信息,该路由器就向其邻居请求有关该链路的完整更新信息。完整的路由信息在“Loading(加载)”状态下被交换。
Loading 
在交换状态下,邻居路由器使用类型2的DBD分组来互相发送它们的链路状态信息,也就是说路由器相互描述它们的链路状态数据库。路由器将它们所学到的信息与其现存的链路状态数据库进行比较,并且单独确认每个DBD分组,如果任何一台路由器接收到不在其数据库中的链路信息,该路由器就向其邻居请求有关该链路的完整更新信息。完整的路由信息在“Loading(加载)”状态下被交换。
Full
加载状态结束之后,路由器就进入全毗邻状态。每台路由器都保存着一张毗邻路由器列表,它就是称为毗邻数据库。

六、OSPF工作过程

OSPF路由协议基本知识点

七、内部网关协议和外部网关协议
(1)自治系统(AS)

(2)内部网关协议(IGP),例如:RIP、OSPF、ISIS等

(3)外部网关协议(EGP),例如:BGP等

八、OSPF的基本概念
1.OSPF区域
(1)为了适应大型的网络,OSPF在AS内划分多个区域

(2)每个OSPF路由器只维护所在区域的完整链路状态信息

2.区域ID
(1)区域ID可以是表示成一个十进制的数字

(2)也可以表示成一个IP

3.骨干区域Area 0
(1)负责区域间路由信息传播

4.Router ID
(1)OSPF区域内唯一标识路由器的IP地址

5.Router ID选取规则
(1)选取路由器loopback接口上数值最高的IP地址(推荐)

(2)如果没有loopback接口,在屋里端口中选取IP地址最高的(不推荐)

(3)也可以使用router-id命令指定Router ID

6.DR和BDR的选举方法
自动选举:

网段上Router ID最大的路由器将被选举为DR,第二大的将被选举为BDR

手动选举:

(1)优先级范围0-255,数值越大,优先级越高,默认1

(2)如果优先级相同,则需要比较Router ID

(3)如果路由器优先级被设置为0,它将不参与DR和BDR的选举方式

7.DR 和BDR的选举过程
(1)路由器的优先级可以影响一个选举过程,但是它不能强制更换已经存在的DR或BDR路由器

8.OSPF的组播地址
(1)224.0.0.5

(2)224.0.0.6

9.OSPF的度量值COST
(1)COST=10^8/BW       代价(数值越小越好)

(2)最短路径是基于接口指定的代价(cost)计算的

     
10.OSPF数据包

(1)承载在IP数据包内,使用协议号89

11.OSPF的网络类型
(1)点到点

(2)广播多路访问网络

(3)非广播多路访问网络

(4)点到多点

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。