OSPF状态机详解

Ospf邻居状态机:

1.DOWN

Down:这是邻居的初始状态,表示没有从邻居收到任何信息。在NBMA网络上,此状态下仍然可以向静态配置的邻居发送Hello报文,发送间隔为PollInterval,通常和RouterDeadInterval间隔相同。
Attempt:此状态只在NBMA网络上存在,表示没有收到邻居的任何信息,但是已经周期性的向邻居发送报文,发送间隔为HelloInterval。如果RouterDeadInterval间隔内未收到邻居的Hello报文,则转为Down状态。

*两台路由器直连接口,刚运行ospf,一端接口先向邻居发送hello包,报文中邻居字段为空,邻居收到hello包后,状态置为init,并且向对端发送hello包(hello包的的active neighbor为对端rid,因为从第一个hello包中的source rid已经知晓了对端的rid),对端收到hello后,状态置为2-way

2.Init

在此状态下,路由器已经从邻居收到了Hello报文,但是自己不在所收到的Hello报文的邻居列表中,表示尚未与邻居建立双向通信关系。在此状态下的邻居要被包含在自己所发送的Hello报文的邻居列表中。

3.two-way

2-WayReceived:此事件表示路由器发现与邻居的双向通信已经开始(发现自己在邻居发送的Hello报文的邻居列表中)。Init状态下产生此事件之后,如果需要和邻居建立邻接关系则进入ExStart状态,开始数据库同步过程,如果不能与邻居建立邻接关系则进入2-Way。
2-Way:在此状态下,双向通信已经建立,但是没有与邻居建立邻接关系。这是建立邻接关系以前的最高级状态。
1-WayReceived:此事件表示路由器发现自己没有在邻居发送Hello报文的邻居列表中,通常是由于对端邻居重启造成的。

DR选举:
1.dr与bdr选举的作用:
减少邻接关系的数量,从而减少链路状态信息以及路由信息的交换次数,这样可以节省带宽,减少路由器硬件的负担。一个既不是DR也不是BDR的路由器只与DR和BDR形成邻接关系并交换链路状态信息以及路由信息,这样就大大减少了大型广播型网络和NBMA网络中的邻接关系数量

只有在广播网络和NBMA网络中才会选举DR和BDR

2.DR与BDR的选举规则
(1)首先判断OSPF的Hello报文的Dr字段和BDR字段是否为空,如果两个都为空,首先先举出BDR(比较优先级,优先级取值为0-255,越大越优,默认为1。如果优先级相等话,会比较Router ID,越大越优),BDR选举后,会自动升级为DR,然后重新再选举BDR
(2)如果DR字段为空,BDR字段不为空,BDR升级为DR,重新再选举出BDR(选举规则同上)
(3)如果DR不为空,BDR为空,重新再选举出BDR就行了
DR和BDR是不支持抢占的
优先级为0意味着不参与选举

3.两个设备处于2-way状态,意味着什么?
1、 自己不是Dr或BDR
2、邻居不是DR或BDR
3、两个都是DRother

DR一定要有,BDR可以没有

4.进入2-way后,如果满足以下条件,会建立邻接关系:

1、网络类型为点到点,或点到多
2、路由器自己为DR或BDR时
3、邻居路由器为DR或BDR时

**

4.ExStart:**

当OSPF DR,BDr选举完毕后,需要建立邻接关系,会相互发送DBD报文,第一个DBD报文为空,是为了选举主从。当第一个DBD报文发送出去,路由器会从2-way转换为ExStart。
其中包含I位,M位,M/S位。
主从关系:比较Router-ID,越大越优。
确认机制:
显示确认:通过 LSR LSU LSACK进行的确认
隐式确认:通过主设备的序列号进行确认

5.Exchange:

标志主从关系已经选举完成,开始交互摘要信息。且第一个摘要信息一定是从先发的。
在此状态的路由器通过向邻居发送DD 包,来描述其完整的连接状态数据库。每个DD 包
都有一个DD 序号,并需要被明确地确认。在任何时候,一次只能发送一个DD 包。在此状态下,允许向邻居发送LSR 包来取得较新的LSA

6.Loading:

在此状态下,向邻居发送LSR 包来取得较新的LSA。就是在Exchange状态下发现(但还
没有接收到)的那些LSA。

7.Full:

在此状态下,邻居路由器达到完全邻接。现在开始这些邻接将出现在Router-LSA 和
Network-LSA 中。里写自定义目录标题)

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
五种报文 HELLO报文(类型1 ):用来建立和维护邻接关系,选举DR以及BDR 数据库描述报文(类型2 ):也就是DD 报文,用来描述自己的LSDB,还有空的DD报文,用来确定MSTER和SLAVE关系 链路-状态请求报文(类型3 ):也就是LSR报文,用来向对方请求所需的LSA。内容包括所需要的LSA 链路-状态更新报文(类型4 ):也就是LSU报文,用来向对端路由发送所需要的LSA,内容是多格LSA集合 链路-状态应答报文(类型5 );LSACK报文,用来对接收到的LSU报文进行确认 OSPF有七种类型LSA,详细介绍如下: 1、路由器LSA (Router LSA) 由区域内所有路由器产生,并且只能在本个区域内泛洪广播。 这些最基本的LSA通告列出了路由器所有的链路和接口,并指明了它们的状态和沿每条链路方向出站的代价。 2、网络LSA (Network LSA) 由区域内的DR或BDR路由器产生,报文包括DR和BDR连接的路由器的链路信息。 网络LSA也仅仅在产生这条网络LSA的区域内部进行泛洪。 3、网络汇总LSA (Network summary LSA) 由ABR产生,可以通知本区域内的路由器通往区域外的路由信息。 在一个区域外部但是仍然在一个OSPF自治系统内部的缺省路由也可以通过这种LSA来通告。 如果一台ABR路由器经过骨干区域从其他的ABR路由器收到多条网络汇总LSA,那么这台始发的ABR路由器将会选择这些LSA通告中代价最低的LSA,并且将这个LSA的最低代价通告给与它相连的非骨干区域。 4、ASBR汇总LSA (ASBR summary LSA) 也是由ABR产生,但是它是一条主机路由,指向ASBR路由器地址的路由。 5、自治系统外部LSA (Autonomous system external LSA) 由ASBR产生,告诉相同自治区的路由器通往外部自治区的路径。 自治系统外部LSA是惟一不和具体的区域相关联的LSA通告,将在整个自治系统中进行泛洪。 6、组成员LSA (Group membership LSA) * 目前不支持组播OSPF (MOSPF协议) 7、NSSA外部LSA (NSSA External LSA) 由ASBR产生,几乎和LSA 5通告是相同的,但NSSA外部LSA通告仅仅在始发这个NSSA外部LSA通告的非纯末梢区域内部进行泛洪。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值