OSPF是一种链路状态路由协议。它具有标准开放、收敛迅速、无环路、便于层级化设计等众多优点。
IPv4网络中,广泛使用的OSPFv2协议由于在报文内容、运行机制等方面与IPv4地址联系得过于紧密,大大制约了它的可扩展性和适应性。在IPv6网络环境中,为了使OSPF更好的应用,同时保留原有的众多优点,因此,在OSPFv2的基础上作了多方面的修改后产生了OSPFv3协议。
OSPFv3基于链路运行
OSPFv2协议是基于子网运行的,邻居之间形成邻接关系的必要条件之一就是两端的IP地址属于同一网段而且掩码相同。而OSPFv3协议基于链路运行,与具体的IPv6地址、前缀分离开,即使同一链路上的不同节点具有不同网段的IPv6地址时,协议也可以正常运行。
编址性语义的取消
在OSPFv2中,协议分组和LSA中的许多字段都是来自于网络上的某个IP地址、掩码或某个IP子网号。报文的数据内容决定了OSPFv2的多种机制必须基于IPv4来进行,包括邻居路由器标识、邻居建立等等。
在OSPFv3中取消了这些编址性语义,而只保留协议运行必须的核心内容。比如,Router-LSA和Network-LSA中不再包含网络地址,而只用于传递拓扑信息;LSA的Link State ID依然保留32位长度的IPv4地址格式,但只是一个编号,不再包含地址信息;邻居路由器,包括DR和BDR,都是用Router ID来标识。这些保证了OSPFv3协议能够独立于网络协议运行。
链路本地地址的使用
OSPFv2协议要求,每一个运行OSPF的接口都必须有一个全局的IPv4地址,即使是在网络中仅仅用于传输转发的中间节点也必须如此,协议的运行和路由的计算都依赖于这个地址。而在IPv6中,每个接口都会分配本地链路地址(link-local address),这个地址只在本地链路有效,并不会在整个网络中传播。
OSPFv3使用这个本地链路地址作为协议分组发送的源地址(虚连接除外)和路由的下一跳,在网络规划时就不需要在大量的中间节点规划子网,同样也不需要专门配置IPv6地址。这样,一方面可以节省大量的全局地址,另一方面可以说协议的运行独立于IPv6,可以方便的对协议进行扩展,实现组播选路等其他的功能。
专门的LSA发布路由前缀信息
OSPFv2通过Router-LSA和Network-LSA来发布区域内的路由信息和计算拓扑,所以OSPFv2的拓扑结构与IPv4网络信息是密不可分的。为了改变这种状况,在OSPFv3中,Router-LSA和Network-LSA中仅保留拓扑信息;同时增加了Intra-Area-Prefix-LSA和Link-LSA,分别用于传递区域内路由前缀和传递链路范围内的IPv6前缀。拓扑信息与前缀信息的分离,使得OSPFv3的运行更加独立于网络协议。
西部数码网站提供经济高效、广泛适用的IPv6转换服务,无需改造现有架构,即可快速让现有IPv4业务系统具备IPv6终端和用户访问能力。业务开通链接 https://www.west.cn/cloudhost/ipv6.asp