关于OSPF协议,你都知道吗?

网络 网络管理
OSPF是一种基于SPF算法的链路状态路由协议,今天来给大家讲讲OSPF协议之详细图解。

今天来给大家讲讲OSPF协议之详细图解。

OSPF是一种基于SPF算法的链路状态路由协议。

上图是在一个OSPF区域里面添入一台新的路由器的时候,OSPF协议的工作过程,如果你能非常详细的叙述出这张图的话,基本上OSPF协议的工作过程你就掌握了。

首先大家要清楚,一台运行了OSPF协议的路由器,最终都会存储三张表:邻居表、拓扑表、路由表。下面以这三张表的产生过程为线索,来分析在这个过程中,路由器发生了那些变化,从而说明OSPF协议的工作过程。

一、邻居表的建立

一台新加入OSPF区域的路由器首先要跟邻居路由器建立邻接关系,过程如下:

新路由器发出第一个hello分组以后等待应答,等待的时间间隔为hello分组的四倍等待期间的状态称为路由器的初始状态,等待期间,新路由器从另外一台路由器那里收到hello分组,并获知DE和BDR,如果没有,则开始选择。网络上的其他路由器收到新路由器发的hello0分组以后将该路由器的router Tn加入到拓扑数据库中,并发一回应hello分组,其中包含自己的router ID所有邻居组成的列表。

新路由器看到自己的ID出现在其他路由器应答的邻居列表中建立了邻接关系,新路由器将其状态改为双向。

通过上面3步,新加入的路由器和其邻居路由器已经建立了邻接关系。

二、拓扑表的建立

在建立拓扑表的时候,新加入的路由器要经历预启动状态、交换状态、加载状态、完全邻接状态。下面就将此过程,以图的形式展示给大家:

[[315553]]

(2)交换状态:两台路由器都发送DBD,DR发送一系列的DBD,其中包括含了存储在其database中的网络。DBD中没有包含详细的必要信息,只是为了从其他邻居路由器接收到DBD消息报文之后,与自己的数据库进行比较。

(3)加载状态:新路由器需要更详细的信息,将使用LSR(链路状态请求包)进行特定某LSA的详细信息的请求,而被请求端则会响应,并且会发送LSU(链路状态更新包),此包包含了信息的LSA信息。

经过以上四步,此OSPF区域的所有路由器的数据拓扑图都达到了同步。

三、 然后每个路由器按照产生的全区域数据拓扑图,在运行SPF算法,产生到达目标网络的路由条目。

经过以上三大步,OSPF协议的运行过程基本结束。

在上面的过程当中有几个很重要的问题需要注意:

(1) 此协议的管理距离是110、OSPF路由进程ID的范围必须在1-65535之间,而且只具有本地含义,不同路由器的路由进程ID可以不同、区域ID在0至4294967295,当区域值取0时本区域称为主干区域;

(2) 确定router ID遵循如下顺序:

  • 用router ID 命令指定的路由器ID的优先级最高
  • 如果没有指定,那么选IP地址最大的环回接口的IP地址为route ID
  • 如果没有换回接口,就选择UP端口中IP值最大的为router ID
  • 但还是建议使用命令指定,这样可控性比较好;

(3) DR选举的原则

首要因素是时间,最先启动的路由器被选举成为DR。

如果同时启动,或者重新选举,则看接口优先级(0-255),优先级最高的被选举成DR,在默认情况下,多路访问网络的接口优先级为1,点到点网络的接口优先级为0,修改接口优先级的命令是“ip ospf priority”,如果接口的优先级被设置为0,那么该接口不参与DR选举。

如果前两者相同,最后看路由器ID,路由器ID最高的被选举成DR。

DR选举时非抢占的,除非人为地重新选举。重新选举DR的方法有两种,一是路由器重新启动;二是执行“clear ip ospf process"命令。

以上就是为你带来的OSPF详细图解,希望对你能有所启发~

 

责任编辑:赵宁宁 来源: 思科CCIE俱乐部
相关推荐

2016-03-18 19:03:35

认知计算IBM

2020-09-28 11:14:57

线程数据语言

2024-01-15 12:16:37

2023-08-30 07:39:16

PawSQL数据库

2017-10-16 13:45:04

2020-09-11 06:39:29

ThreadLocal线程

2023-08-29 09:31:01

Scrapy网页爬虫

2016-01-11 09:48:07

2021-11-17 11:03:14

Python代码语法

2023-04-28 12:37:59

Spring@Bean使用方式

2021-08-05 18:21:29

Autowired代码spring

2023-04-23 09:50:50

@BeanSpring

2015-06-29 09:06:51

2021-08-29 18:01:57

HTTP协议版本

2023-02-01 08:31:36

JavaScript循环遍历

2018-07-04 11:02:23

无线传输模式

2022-11-10 09:00:41

2021-09-19 22:53:48

5G4G手机

2019-02-12 11:15:15

Spring设计模式Java

2023-07-04 08:48:24

静态代码分析工具
点赞
收藏

51CTO技术栈公众号