内容概要:
1、OSPFv3与OSPFv2的相同点
2、OSPFv3与OSPFv2的不同点
3、OSPFv3中LSA的定义
4、OSPFv3中新LSA及其对收敛的影响
5、OSPFv3配置举例
OSPFv3是基于IPv6的OSPF协议,工作在IPv6上;
类似于MP-BGP可以支持多协议,如IPv4及IPv6;
OSPFv3设计时基于OSPFv2,但又区别与OSPFv2,其改进了OSPFv2协议的缺点,增强了协议的扩展性及灵活性;
一、OSPFv3与OSPFv2的相同点
OSPFv3基于OSPFv2,所以有很多相同点:
1、网络类型和接口类型;
2、报文类型:Hello、DD、LSR、LSU和LSAck;
3、接口状态机和邻居状态机;
4、链路状态数据库LSDB
5、算法及路由计算过程
6、泛洪机制
二、OSPFv3与OSPFv2的不同点
1、OSPFv3基于链路,而不是基于网段
2、OSPFv3使用链路本地地址
3、OSPFv3实现了拓扑与协议地址分离
4、OSPFv3实现了拓扑与网络分离
5、OSPFv3 LSA定义了泛洪范围
6、OSPFv3新增8类link LSA、9类LSA
7、OSPFv3报头移除了认证字段
8、OSPFv3支持一个接口运行多个OSPFv3实例
三、OSPFv3中LSA的定义
1、OSPFv3的LSA类型
OSPFv3新增了两个类型LSA:8类link LSA和9类Intra-Area Prefix LSA;
LS Type
0x2001 Router LSA
0x2002 Network LSA
0x2003 Inter-Area Prefix LSA(OSPFv2的Network Summary LSA)
0x2004 Inter-Area Router LSA(OSPFv2的ASBR Summary LSA)
0x4005 AS-External LSA
0x2007 Type-7 LSA(OSPFv2的NSSA LSA)
0x0008 Link LSA
0x2009 Intra-Area Prefix LSA
2、LSA泛洪范围
OSPFv3 LSA头中没有Options字段,Link State Type是16位字段;
与OSPFv2的8位字段不同,OSPFv3对Link State Type的高3位做了定义,代表泛洪范围:
![](https://img.haomeiwen.com/i23835871/ed9b59fdf1863a49.png)
(1)U定义了路由器对不识别的LSA的处理行为;
U比特为0,缺省为0,对未知的LSA仅在直连链路间泛洪;
U比特为1,对未知的LSA像已知的LSA一样,存储并泛洪;
(2)S2和S1比特:S2和S1两个比特定义了LSA的泛洪范围:
高4比特数值含义如下:
0x0代表Link-local范围,OSPFv3新增了Link-local范围;
0x2代表区域内泛洪;
0x4代表整个路由域泛洪;
(3)其他比特作为LSA function code,代表不同类型的LSA;
四、OSPFv3中的两个新增LSA及其对收敛的影响
1、8类Link LSA
每台路由器会为自身的每条链路产生Link LSA;
8类Link LSA用来通告接口对应的Link-local地址和前缀信息;
仅在本链路泛洪;
(1)向链路上的其他路由器通告本地Link-local地址;
OSPFv3使用接口ID描述拓扑连接关系时,不再是接口地址;
路由计算时,访问目的网络需要经过邻居的某个接口,需要在路由表中添加邻居对应接口地址作为下一跳;
OSPFv3路由的下一跳地址一律是Link-local地址,OSPFv3使用8类Link LSA通告接口对应的link-local地址;
(2)向链路上的其他路由器通告该链路上的IPv6前缀信息;
OSPFv3区域内每个节点上的所有前缀都包含在9类Intra-Area Prefix LSA中,但Intra-Area Prefix LSA中并没有说明前缀和具体链路的对应关系;
8类Link LSA负责通告指定链路上的前缀信息;
(3)如果是MA网络,通告2类LSA中选项位的置位情况;
2、9类Intra-Area Prefix LSA
OSPFv2的缺点除了不支持IPv6外,还在于区域内的1/2类LSA会承载与拓扑无关的网络信息;
重新设计OSPFv3时,1/2类LSA只承载拓扑信息,新增9类LSA专门承载区域内的网络信息,即OSPFv2的Router LSA中的Stub网络信息和2类LSA中transnet的网络信息;
每台路由器都会产生9类LSA;
用来描述路由器上的所有网络信息;
仅在区域内泛洪;
8类Link LSA实现了拓扑与协议地址分离
1/2类LSA使用接口ID描述拓扑连接关系,不再是接口地址,移除了对协议地址的依赖,所以8类LSA实现了拓扑与协议地址的分离;
但计算路由时,仍需要接口地址作为下一跳,所以需要8类LSA提供接口对应的Link-local地址;
同时,9类LSA虽然通告区域内的前缀,但是没有指明前缀对应的接口,所以需要8类LSA提供接口指明对应的前缀;
8类LSA通告接口ID、link-local地址和前缀,只需要在直连路由器之间知道,也仅在直连链路泛洪;
9类LSA实现了拓扑与网络信息分离
9类LSA通告每个节点(实节点和虚节点)的网络信息,对应OSPFv2中1类LSA的Stub和2类LSA的transnet的网络信息;
设计9类LSA后,1/2类LSA只包含用于拓扑计算的拓扑信息,区域内的网络信息使用9类LSA携带;
这样网络信息的变化仅影响8/9类LSA,而不会导致拓扑的重新计算,所以9类LSA的设计实现了拓扑和网络信息的解耦;
定义8/9类LSA使得接口前缀变化,不会触发拓扑重新计算,所以OSPFv3具备很强的扩展性和支持多协议的能力,不论支持何种协议,OSPFv3只需要改造8/9类LSA即可,1/2类LSA不需要做任何改动;
3、对收敛的影响
Router LSA和Network LSA在OSPFv3中,不再负责通告前缀,所以在1类LSA中,看不到描述前缀的Stub,在2类LSA中,也看不到定义网络的掩码;
OSPFv3协议设计了9类Intra-Area Prefix LSA,单独做区域内前缀通告;
这对OSPFv3是个改进,OSPFv2中1/2类LSA含有拓扑和网络信息,当网络发生变化时,OSPFv2路由器会更新LSA通告这些变化;
若LSA中含有的拓扑信息发生变化,则新的LSA会触发Full SPF或iSPF计算;
如果仅Stub网络变化了,新的LSA也会触发SPF计算拓扑,拓扑计算的前后的结果一样,浪费资源;
OSPFv3把网络放在9类LSA中,只有1/2类LSA才会触发SPF计算拓扑,所以9类LSA变化或产生,不会触发SPF计算,计算时间缩短;
OSPFv3相比OSPFv2在收敛时间上会快很多,原因在与OSPFv3中,Intra-Area Prefix、Inter-Area Prefix、Inter-Area-Router、As-external LSA及7类LSA,这些传递网络信息的LSA的任何变化,只会触发局部路由计算,拓扑不需要重新计算;
五、OSPFv3的LSA
![](https://img.haomeiwen.com/i23835871/8d267d3c918b205d.png)
(1)Router LSA
![](https://img.haomeiwen.com/i23835871/4837bc8b1656a605.png)
![](https://img.haomeiwen.com/i23835871/f647c2b85b8f8cec.png)
![](https://img.haomeiwen.com/i23835871/4cb8cf108dc209c5.png)
![](https://img.haomeiwen.com/i23835871/a3b5332214b869b4.png)
(2)Network LSA
![](https://img.haomeiwen.com/i23835871/95a8bc78d4ecf0da.png)
(3)9类Intra-Area Prefix LSA
![](https://img.haomeiwen.com/i23835871/e221e677ab7dc66c.png)
(4)8类Link LSA
![](https://img.haomeiwen.com/i23835871/86e290eb735ca7e2.png)
![](https://img.haomeiwen.com/i23835871/800efe1d1b3087bc.png)
网友评论