OSPF协议router—id冲突研究

2013-04-29 07:54陈俊张燕君
无线互联科技 2013年5期
关键词:子网路由器路由

陈俊 张燕君

摘 要:本文根据RFC2328 draft简单介绍动态路由协议OSPFv2的技术特点,重点分析OSPF 链路状态数据库以及route-id冲突引起的严重后果,特别指出网络规划中OSPF router-id正确分配的重要性。

关键词:动态路由协议;链路状态路由协议;OSPF;router-id冲突;自治系统;CE;RFC2328

1 OSPFv2协议研究

1.1 OSPF协议概述

IETF为了满足建造越来越大基于IP网络的需要,形成了一个工作组,专门用于开发开放式的、链路状态路由协议,以便用在大型、异构的IP网络中。新的路由协议已经取得一些成功的一系列私人的、和生产商相关的、最短路径优先(SPF)路由协议为基础,在市场上广泛使用。包括OSPF在内,所有的SPF路由协议基于一个数学算法Dijkstra算法。这个算法能使路由选择基于链路状态,而不是距离向量。

OSPF由IETF在20世纪80年代末期开发,OSPF是SPF类路由协议中的开放式版本。最初的OSPF规范体现在RFC1131中,第1版(OSPF版本1)很快被进行重大改进的版本所代替,新版本体现在RFC1247文档中,RFC1247OSPF称为OSPF版本2是为了明确指出其在稳定性和功能性方面的实质性改进。OSPF版本2中有许多更新文档,每一个更新都是对开放标准的精心改进,后续的规范出现在RFC 1583、2178和2328中。

链路是路由器接口的另一种说法,因此OSPF也称为接口状态路由协议。OSPF通过路由器之间通告网络接口的状态来建立链路状态数据库,生成最短路径树,每个OSPF路由器使用这些最短路径构造路由表。

OSPF路由协议是一种典型的链路状态(Link-state)的路由协议,一般用于同一个路由域内。在这里,路由域是指一个自治系统(Autonomous System),即AS,它是指一组通过统一的路由政策或路由协议互相交换路由信息的网络。在这个AS中,所有的OSPF路由器都维护一个相同的描述这个AS结构的数据库,该数据库中存放的是路由域中相应链路的状态信息,OSPF路由器正是通过这个数据库计算出其OSPF路由表的。作为一种链路状态的路由协议,OSPF将链路状态广播数据LSA(Link State Advertisement)传送给在某一区域内的所有路由器,这一点与距离矢量路由协议不同,运行距离矢量路由协议的路由器是将部分或全部的路由表传递给与其相邻的路由器。

1.2 OSPFv2协议研究

RFC2328中明确OSPF仅通过在IP包头中的目标地址来转发IP包,IP包在AS中被转发,而没有被其他协议再次封装。OSPF是一种动态路由协议,它可以快速地探知AS中拓扑的改变(例如路由器接口的失效),并在一段时间的收敛后计算出无环路的新路径,收敛的时间很短且只使用很小的路由流量。

在连接状态路由协议中,每台路由器都维持着一个数据库以描述AS的拓扑结构,这个数据库被称为连接状态数据库,所有参与的路由器都有着同样的数据库,数据库中的各项说明特定路由器自身的状态(如该路由器的可用接口和可以到达的邻居)。该路由器通过洪泛将其自身的状态传送到整个AS中。所有的路由器同步地运行完全相同的算法。根据连接状态数据库,每台路由器构建出一棵以其自身为树根的最短路径树,最短路径树给出了到达AS中各个目标的路径,路由信息的起源在树中表现为树叶。当有多条等值的路径到达同一目标时,数据流量将在这些路径上平均分摊,路径的距离值表现为一个无量纲数。

OSPF允许将一些网络组合到一起。这样的组被称为区域area。区域对AS中的其他部分隐藏其内部的拓扑结构,信息的隐藏极大地减少了路由流量;同时,区域内的路由仅由区域自身的拓扑来决定,这可使区域抵御错误的路由信息,区域通常是一个子网化的IP网络。OSPF允许灵活的配置IP子网,由OSPF发布的每条路径都包含目标和掩码,同一个IP网络的两个子网可以有不同的大小(即不同的掩码),这常被称为变长子网variable length subnetting,数据包按照最佳匹配(最长匹配)来转发,主机路径被看作掩码为“全1”(0xffffffff)的子网来处理。

OSPF协议中所有的信息交换都经过验证。这意味着,在AS中只有被信任的路由器才能参与路由,有多种验证方法可以被选择;事实上,可以为每个IP子网选用不同的验证方法。来源于外部的路由信息(如路由器从诸如BGP的外部网关协议中得到的路径)向整个AS内部宣告,外部数据与OSPF协议的连接状态数据相对独立,每条外部路径可以由所宣告的路由器作出标记,在自制系统边界路由器(ASBR)之间传递额外的信息。

2 OSPF域router-id冲突研究

两台路由器R1与R2之间建立域内OSPF,当R1和R2出现router-id 10.1.1.1重复时,通过查看OSPF数据库可以得到以下信息,详情请查阅下图3、图4。

我们从以上数据分析得出,每种LSA的age数值都非常的小,每种LSA的seq数值都非常的大,这也说明当出现router-id重复,那么LSDB中的LSA表现得非常不稳定,最终将导致SPF算法不停的工作、路由表不稳定、路由条目丢失。通过查看路由器日志告警文件可以见一旦出现router-id重复,那么日志信息表现为下图5的形式,其中adv-rtr为重复的router-id。

综上所述,从router-id冲突分析后得出以下结论:

(1)整个ospf域内会泛洪错误LSA,database不断更新(seq很大,age很小),网络极其不稳定;

(2)由于整个ospf域database不断更新,导致整个ospf域中routing-table抖动(route flapping),丢失路由条目。

3 结束语

移动通信网络IP承载网工程建设中涉及IP地址分配,工程建设过程中使用分配的IP地址开启建立动态路由协议OSPF的router-id,需重视并严格按照设计规范及要求,加强IP地址的分配及使用,杜绝分配IP地址冲突导致OSPF域router-id的重复使用,避免因router-id冲突影响OSPF协议的正常工作,避免因router-id冲突导致的网络事故影响用户业务的发生。

[参考文献]

[1]Development.Routing.TCP.IP.Volume.I.by Jeff Doyle.

[2]RFC draft 2328 by Network Working Group J.Moy.

猜你喜欢
子网路由器路由
一种简单子网划分方法及教学案例*
买千兆路由器看接口参数
子网划分问题研究及应用
探究路由与环路的问题
子网划分的简易方法
PRIME和G3-PLC路由机制对比
WSN中基于等高度路由的源位置隐私保护
基于安全协议的虚拟专用子网研究
eNSP在路由交换课程教学改革中的应用
无线路由器辐射可忽略