天下网吧 >> 网吧方案 >> 网络方案 >> 正文

OSPF算法详细说明

播和计算这些链路信息将耗费大量内存和CPU资源。OSPF解决这个问题的办法是把较大的网络划分成多个Area,每个Area内部使用Router LSA和Network LSA把Area内部网络拓扑描述清楚,并据此使用Dijkstra算法计算出本Area内的最短路径树和路由。至于Area外的网络拓扑,区域边界路由器ABR并不把相邻Area的Router LSA和Network LSA传入本Area,而是把自己在相邻Area范围内计算得到的该Area内各个网段的路由进行汇总,把这些网段当做直接连接在自己上面,并生成Network Summary LSA来对这些网段进行描述,传入本Area。这样,对于一个有n个网段和多台路由器的相邻Area,ABR只需要生成n条网络描述信息并传入本Area即可,大大减少了进入本Area的链路描述信息,减少了存储、传播和计算消耗。需要注意的是,划分Area的做法导致了Area内部路由器中的链路状态数据库描述的Area外部分并不是真实的网络拓扑,从而计算时可能出现环路,为了避免环路出现,要求所有的Area之间的相连必须经过Backbone区域即Area 0。     另外,OSPF被设计为一个IGP,所以除了处理本自治系统内的路由外,还需要处理自治系统外的路由,这类路由在ASBR处引入,可以看做是直接连接在ASBR上,OSPF引入AS External LSA来描述这类自治系统外路由。另外,因为AS External LSA在传入其他Area时并不在ABR上重新生成,所以从计算的角度看,其他Area还必须知道自治系统外路由从哪个节点引入,所以需要引入ASBR Summary LSA来描述外部路由从哪个节点引入,ASBR Summary LSA在ABR上生成,从其他Area看,可以认为于ASBR直接连在ABR上,自治系统外部路由对应的网段又直接连在ASBR上。  

上一页  [1] [2] [3] [4] 下一页

      2.2 OSPF中最短路径的计算     下面简单介绍一下OSPF的最短路径计算过程,具体的细节处理请参考RFC2328:     首先,计算Area内部路由。因为Router LSA和Network LSA精确的描述出了整个Area内部的网络拓扑,所以根据Dijkstra算法,可以计算出到各个节点(路由器)的最短路径。然后根据Router LSA描述的与路由器相连的网段情况,就得到了到各个网段的最短路径。注意,计算过程中,如果有多条代价相同的最短路径,都保留。     其次,计算跨Area的路由。因为从一个Area内部看,相邻Area的路由对应的网段就好像是直接连在ABR上,而到ABR的最短路径已经在上一步算出,所以直接检查Nerwork Summary LSA,就可以很容易得到这些网段的最短路径值。另外,ASBR也被看做是直接连接在ABR上,所以到ASBR的最短路径也可在这一步计算出来。注意:在这一步,如果发起计算的路由器是ABR,那么很自然,应该只考虑骨干区域的Network Summary LSA;但是对于启用了Virtual Link的拓扑来说,跨Area的路由只是逻辑上通过骨干区域,而实际是通过Transit Area到达的,因为逻辑链路可能并不是物理上最优的,所以在连接到Transit Area的ABR上,考察骨干区域的Network Summary LSA得到的跨Area路由的路径可能不最优,还需要考察Transit Area的Network Summary LSA,以得到最短路径。     最后,计算AS外部路由,因为AS外部路由可以看做是直接连接在ASBR上,而到ASBR的最短路径在上一步已经计算出来,所以逐条检查AS External LSA就可以得到到各个外部网络的最短路径。     2.3 下一跳和出接口     路由表中还有两个重要元素:下一跳和出接口。因为确定这两个元素和计算过程有一定关系,这里也提一下。     其实,一个简单事实是,对于任何一条路径来说,其下一跳和出接口,必然和他的父路径的下一跳和出接口相同。因此,求所有路径的下一跳和出接口,最后可以归结为求到“和V0直接相连的节点”的下一跳和出接口。对于OSPF来说,因为使用了DR模拟伪节点,所以“和V0直接相连的节点”是一台路由器或者是一个伪节点(即广播网、NBMA网络)。     前面Dijkstra算法已经提到,求到各个节点或网段的最短路径的过程,是一个候选路

本文来源:天下网吧 作者:网吧方案

声明
声明:本站所发表的文章、评论及图片仅代表作者本人观点,与本站立场无关。若文章侵犯了您的相关权益,请及时与我们联系,我们会及时处理,感谢您对本站的支持!联系Email:support@txwb.com,系统开号,技术支持,服务联系QQ:1175525021本站所有有注明来源为天下网吧或天下网吧论坛的原创作品,各位转载时请注明来源链接!
天下网吧·网吧天下