(1)相同点:
1 网络类型和接口类型
2 接口状态机和邻居状态机
3 链路状态数据库(LSDB)
4 洪泛机制(Flooding mechanism)
5 相同类型的报文:Hello报文、DD报文、LSR报文、LSU报文和LSAck 报文
6 路由计算基本相同
(2)不同点:
1 OSPFv3基于链路,而不是网段 OSPFv3运行在IPv6协议上,IPv6是基于链路而不是网段的。 这样,在配置OSPFv3时,不需要考虑是否配置在同一网段, 只要在同一链路,就可以不配置IPv6全局地址而直接建立联 系。
2 OSPFv3上移除了IP地址的意义 这样做的目的是为了使“拓扑与地址分离”。OSPFv3可以不 依赖IPv6全局地址的配置来计算出OSPFv3的拓扑结构。IPv6 全局地址仅用于Vlink接口及报文的转发。
a)OSPFv3的报文及LSA格式发生改变
b)OSPFv3报文不包含IP地址。
c)OSPFv3的Router LSA和Network LSA里不包含IP地址。IP地址部分由新增的两类LSA(Link LSA和Intra Area Prefix LSA)宣告。
d)OSPFv3的Router ID、Area ID和LSA Link State ID不再表示IP地址,但仍保留IPv4地址格式。
e)广播、NBMA及P2MP网络中,邻居不再由IP地 址标识,只由RouterID标识。
3 OSPFv3的LSA报文里添加LSA的洪泛范围 OSPFv3在LSA报文头的LSAType里,添加LSA的洪泛范围,这
使得OSPFv3的路由器更加灵活,可以处理不能识别类型的
LSA:
a)OSPFv3可存储或洪泛不识别报文,而OSPF只简单 丢弃掉不识别报文。
b)OSPFv3允许洪泛范围为区域或链路本地 (Link-local),并且设置U位(报文可按洪泛范 围为链路本地来处理)的不识别报文存储或通过Stub区域。
例如,RouterA和B都可识别某类LSA,它们之间通过RouterC连接,但RouterC不识别该类LSA。这样, 当RouterA洪泛此类LSA时,RouterC虽然不识别,但还是可以洪泛给RouterB,B收到后继续处理。 如果运行的是OSPF协议,只会丢弃不能识别的报文,RouterB则不能收到此类LSA。
4 OSPFv3支持一个链路上多个进程 一个OSPFv2物理接口,只能和一个多实例绑定。但一个OSPFv3 物理接口,可以和多个多实例绑定,并用不同的InstanceID区 分。这些运行在同一条物理链路上的多个OSPFv3实例,分别 与链路对端设备建立邻居及发送报文,且互不干扰。这样可以充分共享同一链路资源。
5 OSPFv3利用IPv6链路本地地址IPv6使用链路本地(Link-local)地址在同一链路上发现邻居及 自动配置等。运行IPv6的路由器不转发目的地址为链路本地地址 的IPv6报文,此类报文只在同一链路有效。链路本地单播地址从FE80/10开始。OSPFv3是运行在IPv6上的路由协议,同样使用链路本地地址来 维持邻居,同步LSA数据库。除Vlink外的所有OSPFv3接口都使 用链路本地地址作为源地址及下一跳来发送OSPFv3报文。
这样的好处是:
1 不需要配置IPv6全局地址,就可以得到OSPFv3拓扑, 实现拓扑与地址分离。
2 通过在链路上泛洪的报文不会传到其他链路上,来减少报文不必要的泛洪来节省带宽。
6 OSPFv3移除所有认证字段 OSPFv3的认证直接使用IPv6的认证及安全处理,不再 需要其自身来完成认证,使用协议时只需关注协议本身即可。
7 新增两种LSA
a)LinkLSA:用于路由器宣告各个链路上对应的链路本地地 址及其所配置的IPv6全局地址,仅在链路内洪泛。
b)Intra Area Prefix LSA:用于向其他路由器宣告本路由器或本网络(广播网及NBMA)的IPv6全局地址信息,在区域 内洪泛。
8 OSPFv3只通过Router ID来标识邻居
OSPF在广播网,NBMA及P2MP网络中是通过IPv4接口地址来标 识的。OSPFv3只通过RouterID来标识邻居,这样即使没有配置 IPv6全局地址,或是IPv6全局地址配置都不在同一网段,OSPFv3 的邻居还是可以建立并维护的,以达到“拓扑与地址分离”的目的。