1.OSPFv3与OSPFv2的比较
2.与OSPFv2的不同点介绍
2.1 不同点介绍
OSPFv3基于链路,而不是网段
- OSPFv3运行在IPv6协议上,IPv6是基于链路而不是网段的。
在配置OSPFv3时,不需要考虑是否配置在同一网段,只要在同一链路,就可以不配置IPv6全局地址而直接建立联系。
OSPFv3上移除了IP地址的意义这样做的目的是为了使“拓扑与地址分离”。OSPFv3可以不依赖IPv6全局地址的配置来计算出OSPFv3的拓扑结构。IPv6全局地址仅用于Vlink接口及报文的转发。
OSPFv3的报文及LSA格式发生改变OSPFv3报文不包含IP地址。
- OSPFv3的Router LSA和Network LSA里不包含IP地址。IP地址部分由新增的两类LSA(Link LSA和Intra Area Prefix LSA)宣告。
- OSPFv3的Router ID、Area ID和LSA Link State ID不再表示IP地址,但仍保留IPv4地址格式。
广播、NBMA及P2MP网络中,邻居不再由IP地址标识,只由Router ID标识。
OSPFv3的LSA报文里添加LSA的洪泛范围OSPFv3在LSA报文头的LSA Type里,添加LSA的洪泛范围,这使得OSPFv3的路由器更加灵活,可以处理不能识别类型的LSA:
- OSPFv3可存储或洪泛不识别报文,而OSPF只简单丢弃掉不识别报文。
- OSPFv3允许洪泛范围为区域或链路本地(Link-local),并且设置U位(报文可按洪泛范围为链路本地来处理)的不识别报文存储或通过Stub区域。
OSPFv3支持一个链路上多个进程一个OSPFv2物理接口,只能和一个多实例绑定。但一个OSPFv3物理接口,可以和多个多实例绑定,并用不同的Instance ID区分。
OSPFv3利用IPv6链路本地地址OSPFv3是运行在IPv6上的路由协议,同样使用链路本地地址来维持邻居,同步LSA数据库。除Vlink外的所有OSPFv3接口都使用链路本地地址作为源地址及下一跳来发送OSPFv3报文,带来的好处:
- 不需要配置IPv6全局地址,就可以得到OSPFv3拓扑,实现拓扑与地址分离。
- 通过在链路上泛洪的报文不会传到其他链路上,来减少报文不必要的泛洪来节省带宽。
OSPFv3移除所有认证字段OSPFv3的认证直接使用IPv6的认证及安全处理,不再需要其自身来完成认证,使用协议时只需关注协议本身即可。
新增两种LSALink LSA:用于路由器宣告各个链路上对应的链路本地地址及其所配置的IPv6全局地址,仅在链路内洪泛。
Intra Area Prefix LSA:用于向其他路由器宣告本路由器或本网络(广播网及NBMA)的IPv6全局地址信息,在区域内洪泛。
OSPFv3只通过Router ID来标识邻居OSPF在广播网,NBMA及P2MP网络中是通过IPv4接口地址来标识的。
- OSPFv3只通过Router ID来标识邻居,这样即使没有配置IPv6全局地址,或是IPv6全局地址配置都不在同一网段,OSPFv3的邻居还是可以建立并维护的,以达到“拓扑与地址分离”的目的。(这也意味着,如果不配置Router ID,那么是无法建立OSPFv3邻居的)
2.2 OSPFv3基于链路运行
- 基于链路运行也可以,是因为发送OSPFv3的各种报文是使用Link-Local地址作为源地址发送的。
2.3 OSPFv3移除IP地址
- 前缀信息其实就是路由信息。
2.4 OSPFv3链路多进程
- 区域号+实例号相同才能形成邻居关系。
- 首先,需要形成多个OSPFv3邻居,则每个邻居关系都需要通过不同的进程建立;
- 其次,即使是不同的OSPFv3进程,如果需要存在多个进程,则需要不同的实例进行标识;
- 否则会出现下面的提示:
因为默认使用的都是实例0,即不管进程号是否相同,实例号都是基于所有进程的。默认属于实例0。
应用场景
- E需要和C进程通信,F和D需要进行通信,但是除此之外它们都不能进行互通;
- 可以在A和B上运行两个进程,其中进程1为实例1,进程2为实例2;
- 在A上,与E相连的接口运行在进程1实例1,在B上,与C相连的接口运行在进程1实例1,这样就形成了E-A-B-C的OSPFv3进程1实例1的邻居关系;
- F-A-B-D的OSPFv3进程2实例2邻居关系类似;
- 这样不同进程之间的OSPFv3数据库是不会相互关联的,就达到了上面的需求。
2.5 使用Link-local地址
2.6 OSPFv3报文格式变化
- OSPFv3报文头部变化
- 因为IPv6头部没有校验和,而IPv4头部是有校验和的。
- Hello包变化
- Interface ID:当接口运行了OSPFv3,会随机分配一个接口ID。
- 作用:通过接口ID来描述在哪个接口上与哪个路由器有邻居关系(会记录本地的接口ID与对端的接口ID的映射,这样就可以用来描述拓扑信息了);
- LSA报头变化
- 应该是:DR所在的接口IP地址,而不是网段。
2.7 Router LSA(1类LSA)
- 实际上就是描述拓扑信息
2.8 Network LSA(2类LSA)
2.9 Intra-Area-Prefix-LSA(9类LSA)
2.10 Link LSA(8类LSA)
2.11 Inter-Area-Prefix-LSA(3类LSA)
- R1将Area 0的9类LSA转成3类LSA再发送到Area3中,但是对于Area 1中的9类LSA,是由R3进行转换的,而不是R1,此时R1只是将通告路由器改成自己;