ospf的运行过程?

ospf路由协议建立邻接关系后的的步骤是什么?

第1个回答  2013-05-28
OSPF运行过程——总结
OSPF分组类型

Type1:Hello

Type2:DBD(数据库描述)

Type3:LSR(链路状态请求)

Type4:LSU(链路状态更新)

Type5:LSAck(链路状态确认)

OSPF数据库

毗邻数据库(邻居表)

LSDB(链路状态数据库即拓扑表)

转发数据库(路由表)

OSPF接口出于下面7种状态

Down

Init

Two-way

建立双向关系

ExStart

进入准启动状态,此状态是用type2分组类型DBD建立的,选举DR和BDR,具有最高RID的路由器将胜出成为“主”,建立主从角色。

Exchange

在exchange状态下,邻居路由器使用type2分组类型DBD来相互发送他们的两路状态信息。换句话说路由器仅相互发送描述自己的链路状态数据库LSDB。不做任何更新操作。

Loading

在相互描述过各自的DB后,路由器用type3分组类型LSR请求更完整的信息。当邻居路由器接收到一个LSR时,会用一个type4分组类型LSU进行回应。对方再接收到LSU后发送LSAcks进行确认。(注:loading状态下DR和DROther各自接收到对方的LSDB后进行对比,彼此互补,向对方请求发送自己缺少的链路状态条目,使自己和邻居达成一致的LSDB即链路状态拓扑表。)

Full adjacency

Loading状态结束后,区域中所有路由器都具有相同的LSDB,路由器就变成full adjacency状态。再run spf to calculate routing table,在LSDB上运行SPF算法产生路由,每台路由器上的路由表是不同的。建立好路由表后可以正常传输数据了。。。

维护和保持路由信息过程

维护和保持路由信息仅发送LSU,原因是链路出现更新或变动,只需更新LSU使区域中所有路由器具有相同的拓扑表,即LSDB。

简要过程:直接将更新的LSU→DR,再由DR组播→其它路由器。

详细过程:路由器注意到链路状态的变化,并组播传送含有已知更新LSA条目的LSU分组到224.0.0.6,该地址是DROther→DR的地址。

当DR接收并确认了发送到组播地址224.0.0.6的LSU后,它用组播地址224.0.0.5将该LSU泛洪给网络上的所有OSPF路由器。每台路由器用LSAck分组确认收到了LSU。

环回地址

为保证OSPF稳定性,配置环回地址(loop back address)作为RID

Loopback接口是逻辑接口,逻辑接口优先级超越所有物理接口,故RID最高被选为DR。

Router(config)#int loopback0

Router(config-if)#ip add 192.168.1.1 255.255.255.255→主机掩码(与物理接口ip地址掩码不同)

使用环回地址作为路由器的ID可以确保稳定性,因为该接口不会出现链路失效的情况。要取代最高优先级的物理接口,该环回接口必须在OSPF进程开始之前配置本回答被网友采纳
相似回答