华为OSPF理论知识详解(二)
首页 > HuaWei > 路由配置   作者:杭州清默网络  2015年12月27日 12:18 星期日  字号:   评论:0 条
时间:2015-12-27 12:18   评论:0 条 

2016.8.30 第2次修订

华为OSPF理论知识详解(二)

华为OSPF理论知识详解(一):http://www.023wg.com/lypz/100.html

8OSPF邻居状态机

OSPF共有8种状态机,分别是:DownAttemptInit2-wayExstartExchangeLoadingFull

1Down

邻居会话的初始阶段,表明没有在邻居失效时间间隔内收到来自邻居路由器的Hello数据包。

2Attempt(尝试连接):

该状态仅发生在NBMA网络中,表明对端在邻居失效时间间隔(dead interval)超时后仍然没有回复Hello报文。此时路由器依然每发送轮询Hello报文的时间间隔(poll interval)向对端发送Hello报文。

3Init

收到Hello报文后状态为Init

42-way

收到的Hello报文中包含有自己的Router ID,则状态为2-way;如果不需要形成邻接关系则邻居状态机就停留在此状态,否则进入Exstart状态。

5Exstart(预启动):

开始协商主从关系,并确定DD的序列号,此时状态为Exstart

6Exchange(交换、传输):

主从关系协商完毕后开始交换DD报文,此时状态为Exchange

7Loading

DD报文交换完成即Exchange done,此时状态为Loading

8Full

LSR重传列表为空,此时状态为Full

 

       9OSPF邻接关系建立

初始状态下,所有OSPF接口的邻居状态都是down,没有与任何设备建立邻居关系,更没有建立邻接(邻居关系不等于邻接关系)关系。

整个OSPF邻接关系建立分4个主要阶段:

1、邻居发现阶段:

P2P和广播类型网络中设备为例如下图1

OSPF邻接关系建立示意图.png

                    图1  OSPF邻接关系建立示意图

首先,当R1OSPF接口启动路由进程后,会以组播方式向所连接的同网段所有直连的OSPF设备发送一个hello报文。此时因为R1没有与其他设备建立邻居关系,不知道其他设备的路由器ID,所以此hello报文中只封装了自己OSPF路由区域的路由ID

R2收到来自R1hello报文后,将收到来自R1报文的接口转换为init状态,同时R2从接收到的hello报文中获取R1的路由ID并添加到邻居列表中。

然后在Dead Interval超时前以组播方式向所连接网段中的所有直接连接的OSPF设备发送一个封装了自己路由IDR1路由IDhello报文。

R1收到来自R2hello报文后发现里面有自己的路由ID,则将收到来自R2报文的接口转为2-way状态,同时从收到的报文中获取R2的路由ID并添加到邻居列表中,在Dead Interval超时前以组播方式向所连接的网段中所直连接的OSPF设备发送封装了自己的路由ID R2路由ID hello报文。

R2再次收到来自R1hello报文,发现里面有自己的路由ID后,将收到来自R1报文的接口转换成2-way状态。这是R1R2建立双向2-way邻居关系。

通过以上4步(两次握手)建立起邻居关系,进入主从关系确立阶段。

2、主从关系确立阶段

在双方都进入2-way后,各自通过hello报文进行DR/BDR选举。

DRBDR是由同一网段中所有路由器根据路由优先级和路由器ID选举出来的,只有hello报文中Rtr Pri(优先级)字段大于0 的路由器才具有选举资格。

在与一个或多个邻居之间都进入2-way之后,本地路由器对每个邻居发来的hello包中的优先级、DRBDR域进行检查。此时,所有路由器都宣称自己为DR(将自己的接口地址置于helloDR字段中),也都宣称自己为BDR。(将自己的接口地址置于helloBDR字段中)

DR字段中优先级最高的路由器被宣告为DR,如果优先级一样,则拥有最高路由器ID的邻居被选为DR

BDR字段中优先级最高的路由器被宣告为BDR,如果优先级一样,则拥有最高路由器ID的邻居被选为BDR;如果没有任何路由被选为BDR,则拥有最高优先级的非DR邻居路由器被选为BDR,如果优先级相同,则最高路由ID者被选为BDR

进入exstart(预启动)状态后,双方路由器开始以DD报文进行交互,确定双方的主从关系(不是DRBDR),确定用于数据交换的初始DD报文的序列号,以保证路由器得到的永远是最新的链路状态信息。

通过双方的路由器ID来确定主从关系,路由器ID大的为主设备。确定好主从关系后,从设备以主设备的DD报文序列号向主设备发送DD报文,并转换自己接收DD报文的接口为exchange状态;主设备收到从设备DD报文后也将收到DD报文的接口转换为exchange状态。

3、数据库同步阶段

主设备开始向从设备发送带有LSA header字段的报文,对从设备进行数据更新。当主设备向从设备发送最后一个DD报文时,将接收DD报文的接口转换为loading状态;当从设备收到最后一个DD报文时也将收到报文的接口转换为loading状态。

当主设备发送完DD报文后,从设备开始依据所接收的DD报文中的LSA header字段检查自己的LSDB,如果没有,从设备会以LSR报文向主设备发出更新请求;当主设备收到从设备发送来的LSU会向从设备发送对应的LSA;从设备收到主设备的LSU报文后会以LSAck报文进行确认。

DD报文交换中,主从角色不是固定的,因为双方都可能没有对方的LSA,或者一方的LSA的版本更新,双方都可以向对方发送LSR报文请求更新。

4、完全邻接阶段

当双方的LSDB完全同步后,双方均转为FULL状态,双方OSPF接口间整数建立完全邻接关系。

 

10OSPF  LSA类型

OSPF是一种典型的链路状态路由协议,缺省情况下每个路由器通过向邻居发送LSALink State Advertisement,链路状态通告)来彼此交换并保存整个网络的链路状态信息,从而掌握全网拓扑结构,并独立计算路由。

划分区域后,OPSF设备收集其所在网络上各个设备的的链路状态信息,并生成链路状态数据库(LSDB),然后OSPF设备根据SPFShortest Path First,最短路径优先)路由算法独立算出到达任意目的地的路由。

所以不同的OSPF设备所发送的LSA的用途和可以通告的范围各不相同。

      OSPF LSA类型示例图.png

                         OSPF  LSA类型示例图

1Router-LSAType1

每个设备都会产生,描述了该设备直连链路状态和开销,在所属的区域内传播。

2Network-LSAType2

DRDesignated Router,指定路由)产生,描述本网段的链路状态(即DR所在网段网络掩码和该网段内有哪些设备),在所属的区域内传播。

3Summary-Network -LSAType3

ABR产生,ABR将自己所在区域的Type1Type2转换成Type3,来描述区域间的路由信息(包括缺省路由),可以在整个AS内泛洪,但不能泛洪到 Totally STUB(完全末梢)和NSSA(非纯末梢)区域。

4Summary- ASBR -LSAType4

ABR产生,描述到其它各区域ASBR的路由,通告给除本ASBR所在区域的其他相关区域,仅可向普通区域泛洪,不能泛洪到 STUBNSSA Totally STUBTotally NSSA区域

5External- AS-LSAType5),也称为Autonomous system external LSA

ASBR产生,描述到AS外部的路由,通告到所有的区域(除了STUBNSSA Totally STUBTotally NSSA区域)。

6LSAType6

用于OSPF组播

7NSSA LSAType7

NSSATotally NSSA区域的ASBR产生,描述到AS外部的路由,仅在NSSA(非纯末梢)或Totally NSSA区域内传播。

8Opaque LSAType9/Type10/Type11

Opaque LSA提供用于OSPF的扩展的通用机制。其中:

Type9 LSA仅在接口所在网段范围内传播。用于支持GRGrace LSA就是Type9 LSA的一种。

Type10 LSA在区域内传播。用于支持TELSA就是Type10 LSA的一种。

Type11 LSA在自治域内传播,目前还没有实际应用的例子。


OSPF理论知识详解(三):http://www.023wg.com/lypz/106.html

 您阅读这篇文章共花了: 
二维码加载中...
技术交流:欢迎在本文下方留言或加入QQ群:647682417 互相学习。     
本文地址:http://www.023wg.com/lypz/102.html
版权声明:若无注明,本文皆为“杭州清默网络”原创,转载请保留文章出处。
返回顶部    首页   
版权所有:杭州清默网络    杭州清默网络