OSPF协议

目录

什么是OSPF协议?

OSPF数据包类型

OSPF中DD包与DBD包的区别 

OSPF的状态机

OSPF的工作过程

区域划分规则


 

什么是OSPF协议?

开放式最短路径优先协议

OSPF(Open Shortest Path First)协议是一种用于动态路由的内部网关协议(IGP)。它是一种开放式协议,用于在大型IP网络中通过选择最佳路径来传递数据。OSPF协议使用链路状态路由算法,它通过收集网络上的路由信息,并计算最短路径。OSPF协议可以根据网络的拓扑结构和链路状态来动态调整路由,并根据实时情况更新路由表。它具有快速收敛、可伸缩性强、支持可区分服务(QoS)等特点,被广泛用于大型企业网络和互联网中。

OSPF数据包类型

  1. Hello 数据包:用于发现和维护邻居关系,周期保活,默认10s为一个周期,交互router_id(RID)
  2. Database Description(DD)数据包:用于交换链路状态数据库(LSDB)的摘要信息。
  3. Link State Request(LSR)数据包:用于请求某个特定的链路状态信息,链路状态请求包
  4. Link State Update(LSU)数据包:用于传输链路状态信息,包括路由器自身的链路状态以及其它路由器的链路状态,链路状态更新包
  5. Link State Acknowledgement(LSAck)数据包:用于确认收到的链路状态信息,链路状态确认包
  6. LSA:链路状态通告   具体的一条一条拓扑或路由信息;基于LSU包进行传递。

OSPF中DD包与DBD包的区别 

DD包用于通知邻居节点本地数据库的摘要信息,判断是否需要进行数据库同步,而DBD包则是用于请求详细的数据库信息,以供邻居节点更新自己的数据库

OSPF协议中的DD包(Database Description packets)与DBD包(Database Description packets)都用于在邻居节点之间交换路由信息,但它们的功能和作用略有不同。

DD包是由Master(即优先级最高的路由器)向Slave(即邻居路由器)发送的,用于通过比较两个节点的LSDB(Link State Database,即链路状态数据库)来确定是否需要更新路由信息。DD包中包含了当前节点的数据库摘要信息,包括LSA(Link State Advertisement,链路状态广播)的数量、版本号、类型、序列号等。Slave(即邻居路由器)节点会根据接收到的DD包中的信息来判断是否需要进行数据库同步,如果需要,则向Master发送DBD包。

DBD包是Slave(即邻居路由器)节点向Master节点发送的,用于请求路由数据库的详细信息。DBD包中包含了Slave(即邻居路由器)节点需要的LSA信息,通过这些信息Slave(即邻居路由器)节点可以更新自己的LSDB。Master节点收到DBD包后会根据其请求发送相应的LSA信息给Slave节点。

OSPF的状态机

Down :     一旦接收到其他设备发送过来的hello包进入下一个状态机

Init :         初始化 接收到的hello包中若存在本地的RID,进入下一个状态机

2way:       双向通讯   邻居关系建立的标志 

关注条件:若点到点网络,邻居间直接进入下一个状态机;在MA网络中将进行DR/BDR选举;(40s)非DR/BDR间不能进入下一个状态机

Exstart 预启动  使用不携带目录信息的DBD包进行主从关系的选举,RID数值大为主,优先进入下一个状态机; --  排序

Exchange 准交换:使用携带目标的DBD包进行共享,由主先进行,从在收到主的DBD包后再发出DBD

Loading 加载 :对比DBD目录后,基于本地未知的LSA信息,使用LSR向邻居发出请求,邻居使用LSU来更新共享这些LSA信息,本地在收到LSU后需要ACK确认;加载过程完成后,邻居间的数据库一致;

Full 转发: 邻接(毗邻)关系建立的标志

OSPF的工作过程

当启动配置完成后,邻居间收发hello包,建立邻居关系,生成邻居表:

邻居邻居hello包中有5个参数必须完全一致,否则无法建立邻居关系;

启动ospf的配置完成后,直连的邻居间组播收发hello包,建立邻居关系,生成邻居表;之后关注条件,条件不满足的邻居间将维持为邻居关系,仅hello周期保活即可;

条件匹配的邻居间可以建立为邻接关系;

先使用DBD包进行主从关系的选举,目的在于有序进行数据的共享;

先使用携带数据库目录的DBD,共享本地数据库目录;之后邻居基于所有的目录比对出本地未知的LSA目录;再使用LSR进行查询,对端使用LSU进行回复,本地LSACK表示确 认; ---- 使用DBD/LSR/LSU/LSack来获取本地未知的LSA信息; 生成数据库(LSDB)表;

当网络中所有路由器的数据库同步完成后,邻接关系建立;本地基于数据库生成有向图--->最短路径树--->计算本地到达所有未知网段的最短路径,然后将其加载到路由表;

收敛完成后,仅hello包每10s周期保活邻居关系;每30min邻接间再使用DBD进行数据库的清查,保障无误;

区域划分规则

  1. 星型结构 --- 区域0为骨干区域  大于0为非骨干  所有的非骨干区域必须直连到骨干
  2. ABR 区域边界路由器  两个区域互联时,必须基于ABR进行
  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

电力小子sp

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值