OSPF邻居建立过程详解

目录

OSPF的五种包:

1、Hello包 

2、DBD包(database description)

3、LSR包(Link State Request)

4、LSU包(Link State Update)

5、LSACK包(Link State Acknowledgment)

OSPF建立邻居过程的7个状态机:

         down——>init——>two-way——>exstart——>exchange——>loading——>full

对OSPF建立邻居过程分析

①建立邻居关系

②建立各自拓扑表

③建立邻接关系

 


 

OSPF的五种包:

1Hello ——只在状态init、状态exstart发送

功能:用于建立和维持邻居关系 (10s相互发送Hello包,若40s内没有发送,则邻居关系删除)

重要字段:路由器的router-id

                  路由器接口的area-id (必须一致)

                  路由器接口的IP地址和掩码

                  路由器接口的认证,hello时间间隔,死亡时间间隔(必须一致)

                  neighbor字段

                  STUB标识(末节标识)(必须一致)

2DBD(database description)——只在状态exchange发送

只在以下状态发送:exchange

功能:用于对OSPF的网络拓扑进行描述

3LSRLink State Request)——只在状态loading发送

功能:用于请求对方的路由信息

4LSULink State Update)——只在状态loading发送

功能:用于存储和传递路由信息

5LSACK(Link State Acknowledgment)——只在状态loading发送

功能:用于对LSU等包进行可靠确认

 


 

OSPF建立邻居过程的7个状态机:

down——>init——>two-way——>exstart——>exchange——>loading——>full

1.down       //双方还没有进行任何交互

2.init          //此状态只交互hello,没有同步任何路由信息

3.two-way  //达到状态two-way,建立邻居关系(形成邻居关系后要进行DR/BDR选举

4.exstart    // 进行主从关系选举,为了确定谁在exchange状态先发送DBD包

5.exchange //通过交互DBD,建立各自的拓扑表

6.loading  //请求对方路由信息,此状态交互LSR包、LSU包、LSACK

7.full           //建立邻接关系  达到LSDB的同步

 


 

OSPF建立邻居过程分析

OSPF建立过程可以简单分为以下三个过程

①建立邻居关系

②建立各自拓扑表

③建立邻接关系

 

 

①建立邻居关系:down ——>init ——>two-way ----->

 

分析:在状态init,路由器会互相发送hello,hello包重要字段如下:

           路由器的router-id

           路由器接口的area-id(必须一致)

           路由器接口的IP地址和掩码

           路由器接口的认证,hello时间间隔,死亡时间间隔(必须一致)

           neighbor字段

           STUB标识(末节标识)(必须一致)

           只有两路由器的接口aera-id字段、接口的认证,hello时间间隔,

           死亡时间间隔、STUB标识一致,路由器才会到状态two-way,建立邻居关系

 

           建立邻居关系后要进行DR/BDR选举

           作用:减少邻接数目,减小链路消耗

           选举规则

           1)比较优先级,越大越优(默认为1,最大255,0表示不参加选举)

           2)比较Router-ID,越大越优

 

 

②建立各自拓扑表:exstart ——>exchange ----->

分析:在状态exstart通过发送hello包进行主从关系选举(master/slave),

          为了确定谁在exchange状态先发送DBD包

          主从关系选举是通过比较两台路由器的Router ID大小,

           Router ID大的为master路由器,由master路由器先交互DBD包

 

          主从关系选举后,进入状态exchange ,在此状态通过交互DBD包,建立各自的拓扑表

 

③建立邻接关系:loading ——>full

分析:建立各自的拓扑表后,进入状态loading,请求对方路由信息,

           如图左边路由器,发送LSR包请求172.16.6.0/24的路由信息

           右边路由器收到LSR包后,会回复LSU包,来告知172.16.6.0/24的路由信息

           左边路由器收到LSU包后,会回复LSACK包,用于对LSU包进行可靠确认

           交互完路由信息,达到full状态,路由器之间建立邻接关系  达到LSDB的同步

  • 55
    点赞
  • 227
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
OSPF(Open Shortest Path First)中,邻居关的建立是通过三个步骤完成的以下是OSPF邻居关系建立过程: 1 发现邻居(Neighbor Discovery):在OSPF网络中,每个OSPF路由器通过发送Hello文来发现潜在邻居。这些Hello报文含了路由器的标识和其他必要信息。当接收到Hello报文时,路由器会检查报文中的信息并确定是否可以成为邻居。 2. 参数协商(Parameter Negotiation):一旦路由器发现了潜在的邻居,接下来就会进行参数协商。这个过程是通过交换Hello报文来完成的。在Hello报文中,路由器会指定OSPF区域ID、路由器ID、优先级等参数。邻居之间会比较这些参数,并选择合适的参数进行协商。 3. 邻居建立(Neighbor Establishment):在参数协商阶段完成后,路由器将发送数据库描述(DBD)报文给邻居。DBD报文中包含了路由器自身所拥有的链路状态数据库(LSDB)的摘要信息。邻居会收到DBD报文后,检查其中的摘要信息并与自己的LSDB进行比较。如果两者之间存在差异,则会请求更详细的LSDB信息。最终,邻居关系将建立起来,并开始交换链路状态更新(LSU)报文。 通过以上三个步骤,OSPF邻居关系在网络建立起来,并且路由器之间可以交换路由信息,构建路由表并计算出最短路径。需要注意的是,OSPF邻居关系的建立是基于Hello报文的周期性交换和验证。如果在一定时间内没有收到邻居的Hello报文,邻居关系可能会被认为是失效的,并且会重新执行邻居关系建立过程

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值