OSPF的基本工作原理
1.定义
开放最短路径优先OSPF,是为了克服RIP的缺点在1989年开发出来的。
"开放" 表明OSPF协议不是受某一家产商控制,而是公开发表的。
“最短路径优先”是因为使用了dijkstra提出的最短路径算法SPF。
2.特点
①OSPF-->基于链路状态,而不是RIP-->基于距离向量
②OSPF采用SPF算法计算路由,从算法上保证了不会发生路由环路。
③OSPF不限制网络的规模,更新效率高,收敛速度快。
3.基本概念
(1)链路状态:本路由器和哪些路由器相邻,以及相应链路状态的“代价”(cost)。
cost:指费用、距离、时延、带宽等。
(2)使用OSPF的路由器都会产生链路状态通告LSA。其中内容一般为
①直连网络的链路状态信息
②邻居路由器的链路状态信息
(3)LSA被封装在链路状态更新分组LSU中 --->洪泛法发送。
(4)使用OSPF的每一个路由器都有一个链路状态数据库LSDB,用于存储LSA。
(5)通过路由器洪泛法发送封装有自己的LSA的LSU分组。
-->各路由器的LSDB最终将达到一致
(6)使用OSPF的路由器基于LSDB进行SPF计算,构建出各自到达其他各路由器的最短路径,即构建各自路由表。
4.OSPF有以下五种分组类型
①问候(hello)分组
②数据库描述(DBD)分组
③链路状态请求分组(LSR)
④链路状态更新分组(LSU)
⑤链路状态确认分组(LSAck)
从OSPF建立邻居,到LSA的互换,到路由表的计算,需要经过一系列的数据包交换过程,过程如下:
两路由器之间首先建立邻居关系互相发送hello分组,然后双方都发送各自的数据库描述分组(DBD),若其中一方发现对方的LSDB中有自己LSDB中所没有的LSA则向对方发送链路状态请求分组(LSR),对方则将其没有的LSA通过链路状态更新分组(LSU)发送,该路由器接收并回一个链路状态确认(LSAck)。最终达到收敛状态。
5.DR/BDR
OSPF在多点接入网络中路由器邻居关系 的建立:
当多台OSPF路由器连到同一个多路访问网段时,如果每两台路由器之间都相互交换LSA,那么该网段将充满着众多LSA条目,为了能够尽量减少LSA的传播数量,通过在多路访问网段中选择出一个核心路由器,称为DR(Designated Router),网段中所有的OSPF路由器都和DR互换LSA,这样一来,DR就会拥有所有的LSA,并且将所有的LSA转发给每一台路由器;DR就像是该网段的LSA中转站,所有的路由器都与该中转站互换LSA,如果DR失效后,那么就会造成LSA的丢失与不完整,所以在多路访问网络中除了选举出DR之外,还会选举出一台路由器作为DR的备份,称为BDR(Backup Designated Router)。
①选举指定路由器DR和备用的指定路由器BDR
(1).DR与BDR并没有任何本质与功能的区别,只有在多路访问的网络环境,才需要DR和BDR,DR与BDR的选举是在一个二层网段内选举的,即在多个路由器互连的接口范围内,与OSPF区域没有任何关系,一个区域可能有多个多路访问网段,那么就会存在多个DR和BDR,但一个多路访问网段,只能有一个DR和BDR;选举DR和BDR的规则为:
比较接口优先级
选举优先级最高的成为DR,优先级数字越大,表示优先级越高,被选为DR的几率就越大,次优先级的为BDR,优先级范围是0-255,默认为1,优先级为0表示没有资格选举DR和BDR。
Route-Id大小
如果在优先级都相同的情况下,Route-Id 最大的成为DR,其次是BDR,数字越大,被选为DR的几率就越大。
(2).在一个多路访问网络中,选举DR和BDR是有时间限制的,该时间为Wait时间,默认为4倍的Hello时间,即与Dead时间相同,如果OSPF路由器在超过Wait时间后也没有其它路由器与自己竞争DR与BDR的选举,那么就选自己为DR;当一个多路访问网络中选举出DR与BDR之后,在DR与BDR没有失效的情况下,不会进行重新选举,也就是在选举出DR与BDR之后,即使有更高优先级的路由器加入网络,也不会影响DR与BDR的角色,在越出选举时间(Wait时间)后,只有DR与BDR失效后,才会重新选举。DR失效后,会同时重新选举DR与BDR,而在BDR失效后,只会重新选举BDR。
②所有的非DR/BDR只与DR/BDR建立邻居关系。
③非DR/BDR之间通过DR/BDR交换信息。
6.区域
为了使OSPF能够用于规模很大的网络,OSPF把一个自治系统分为若干个更小的范围-->区域
好处:把利用洪泛法交换链路状态信息的范围局限于每个区域而不是整个AS,减少了整个网络的通信量。
网友评论