OSPF协议介绍( 二 )


在点对点网络中,路由器将直接和对端路由器建立起邻接关系,并且该路由器将直接进入到第三步操作:发现其他路由器 。若为MultiAccess 网络, 该路由器将进入选举步骤 。
第二步:选举DR/BDR
不同类型的网络选举DR和BDR的方式不同 。
MultiAccess网络支持多个路由器,在这种状况下, OSPF需要建立起作为链路状态和LSA更新的中心节点 。选举利用Hello报文内的ID和优先权(Priority)字段值来确定 。优先权字段值大小从0到255,优先权值最高的路由器成为DR 。假如优先权值大小一样,则ID值最高的路由器选举为DR,优先权值次高的路由器选举为BDR 。优先权值和ID值都可以直接设置 。
第三步:发现路由器
在这个步骤中,路由器与路由器之间首先利用Hello报文的ID信息确认主从关系,然后主从路由器相互交换部分链路状态信息 。每个路由器对信息进行分析比较,假如收到的信息有新的内容,路由器将要求对方发送完整的链路状态信息 。这个状态完成后,路由器之间建立完全相邻(Full Adjacency)关系,同时邻接路由器拥有自己独立的、完整的链路状态数据库 。
在MultiAccess网络内,DR与BDR互换信息,并同时与本子网内其他路由器交换链路状态信息 。
在Point-to-Point 或 Point-to-MultiPoint网络中,相邻路由器之间互换链路状态信息 。
第四步: 选择适当的路由器
当一个路由器拥有完整独立的链路状态数据库后,它将采用SPF算法计算并创建路由表 。OSPF路由器依据链路状态数据库的内容,独立地用SPF算法计算出到每一个目的网络的路径,并将路径存入路由表中 。
OSPF 利用量度(Cost)计算目的路径,Cost最小者即为最短路径 。在配置OSPF路由器时可根据实际情况,如链路带宽、时延或经济上的费用设置链路Cost大小 。Cost越小,则该链路被选为路由的可能性越大 。
第五步:维护路由信息
当链路状态发生变化时,OSPF通过Flooding 过程通告网络上其他路由器 。OSPF路由器接收到包含有新信息的链路状态更新报文,将更新自己的链路状态数据库,然后用SPF算法重新计算路由表 。在重新计算过程中,路由器继续使用旧路由表,直到SPF完成新的路由表计算 。新的链路状态信息将发送给其他路由器 。值得注重的是,即使链路状态没有发生改变,OSPF路由信息也会自动更新,默认时间为30分钟 。(未完待续)

推荐阅读