Files
notes_estom/计算机网络实验/IPv6-OSPFv3.md
shiyanshi 64951aa6b0 ipv6
2019-11-19 21:24:52 +08:00

9.8 KiB
Raw Permalink Blame History

 # IPv6-OSPFv3

参考文献

1 概述

OSPFv3主要用于在IPv6网络中提供路由功能OSPFv3是基于OSPFv2上开发用于IPv6网络的路由协议。而无论是OSPFv2还是OSPFv3在工作机制上基本相同但为了支持IPv6地址格式OSPFv3对OSPFv2做了一些改动下面将介绍OSPFv3与OSPFv2的异同点。

OSPFv3与OSPFv2类似也使用组播进行工作OSPFv3的DR路由器使用众所周知的IPv6组播地址FF02::6这个地址,它类似于IPv4环境中的224.0.0.6其他的OSPFv3的路由器使用FF02::5这个组播地址它类似于IPv4环境中的224.0.0.5

OSPFv3与OSPFv2相同点

OSPFv3协议设计思路和工作机制与OSPFv2基本一致相同点如下所示:

  • 数据包类型相同其中包括Hello、DBD(数据库描述)、LSR链路状态请求、LSU链路状态更新和LSAck链路状态确定包

  • 区域划分相同包括骨干区域、一般区域、末节区域、NSSA次末节区域和完全末节区域。

  • 路由器类型相同包括内部路由器internalrouter、骨干路由器backbone router、区域边界路由器area border router和自治系统边界路由器autonomoussystem boundary router

  • 使用网络类型相同包括点到点络网、点到多点网络、多路访问网络、NBMA网络。

  • 邻居发现和邻接关系形成机制相同OSPF 路由器启动后,便会通过 OSPF接口向外发送 Hello报文收到 Hello报文的 OSPF路由器会检查报文中所定义的参数如果双方一致就会形成邻居关系。

  • LSA泛洪和同步机制相同为了保证 LSDB内容的正确性需要保证 LSA的可靠泛洪和同步。

  • DR选举机制相同在 NBMA网络和广播网络中DR和BDR的选举过程相同。

  • 路由计算方法相同采用最短路径优先算法SPF计算路由。

OSPFv3与OSPFv2不同点

为适应IPv6运行环境支持IPv6报文的转发OSPFv3相对OSPFv2做出相关的改进使得OSPFv3可以独立于网络层协议并且其扩展性加强可以满足未来的需求。其与OSPFv2不同点如下所示

  • 基于链路的运行

  • 使用IPv6链路本地地址

  • 链路支持多实例复用

  • 通过RouterID唯一标识邻居

  • 认证的变化

  • OPSFv3更灵活的处理未知LSA类型

  • OSPFv3增加了本地链路洪泛扩散的范围

  • OSPFv3取消了寻址的概念

理解基于链路的运行:

OSPFv2是基于网络运行的也就是说两台路由器要形成邻居关系它们必须在同一个子网。OSPFv3是基于链路运行的一个链路可以划分为多个IPv6前缀类似于子网的概念节点即使不在同一个前缀范围只要在同一链路上也可以形成邻居关系这与OSPFv2完全不同因为在IPv6中一条链路可以属于多个子网。

理解使用IPv6链路本地地址

OSPFv3将使用本地链路地址作为报文发送的源地址。一台路由器可以学习到同一链路上相连的所有路由器的本地链路地址并使用这些本地链路地址作为下一跳来转发报文。但是在虚拟链路连接上必须使用全球范围地址或者本地站点地址作为OSPFv3协议报文发送的源地址。本地链路地址只在本地链路上有意义且只能在本地链路上泛洪。

理解链路支持多实例复用:

在OSPFv3中支持链路多实例复用所谓链路多实例复用是指在一条共享型广播链路上可以运行多个OSPF实例Instance。比如如图12.121所示路由器R1与R2属于同一个OSPF路由域路由器R3和R4属于另一个OSPF路由域但是它们连接到同一个广播网络中共享同一条链路且都能相互建立邻居关系正常的行为应该让路由器R1与R2建立邻居关系路由器R3与R4建立邻居关系因为您总不能让路由器R1和R3或者路由器R2和R4建立邻居吧因为它们不处于同一个OSPF路由域。当然在OSPFv2中可以使用OSPF的认证功能来隔离这两个OSPF的路由域但这并不是一种完美的解决方案因为OPSF路由器将不断的记录被其他邻居拒绝的OSPF认证失败的数据包。而在OSPFv3链路支持多实例复用是因为在OSPFv3报文头中添加Instance ID字段。如果接口配置的Instance ID与接收的OSPFv3报文的Instance ID不匹配则丢弃该报文从而无法建立起邻居关系。

理解通过Router ID唯一标识邻居

   在OPSFv2中当OSPF运行在广播网络或者NBMA网络上时OSPFv2的邻居是通过路由器的接口地址进行标识而其他链路的 OSPFv2的邻居则是通过路由器IDRID来表示。在OSPFv3中取消了这种不一致性所有类型的链路全部通过RID来标识邻居而且OPSFv3的RID将会作为配置的必须项在OPSFv2中RID的配置是可选项在OSPFv3中如果不为路由器配置RID那么OSPFv3将无法启动会出现如图12.122所示的提示:

理解认证的变化:

在OSPFv2中OSPF拥有自己特有的认证方式这些认证消息被包含在OSPFv2的数据包中。OSPFv3自身不再提供认证功能而是通过使用IPv6提供的安全机制来保证自身报文的合法性。所以OSPFv2报文中的认证字段在OSPFv3报文头中被取消。

理解OPSFv3更灵活的处理未知LSA类型

在OSPFv2上会对未知的LSA作丢弃在OSPFv3中可以把这些未知的LSA当作本地链路洪泛扩散范围这类似于这些未知的LSA被识别一样但是在它们自己的SPF算法中将被忽略这样做的结果是OSPFv3处理网络的变化比v2更容易。

理解OSPFv3增加了本地链路洪泛扩散的范围

  因为IPv6的本地链路地址有广泛的用途所以OSPFv3增加了一个本地链路洪泛扩散的范围新增加的LSA叫做链路LSA它用来携带单个链路上邻居相关联的信息这种类型的LSA只在本地链路范围内洪泛所以它不能超出路由器以外进行扩散。

理解OSPFv3取消了寻址的概念

OSPFv3的路由器LSA和网络LSA不再携带IP地址这加强了OSPF的扩展性。

2 OSPFv3报文

OSPFv3用IPv6报文直接封装协议报文协议号为89。OSPFv3分为5种报文Hello报文、DD报文、LSR报文、LSU报文和LSAck报文。

字段名 长度 含义
Version 8比特 OSPF的版本号。对于OSPFv3其值为3。
Type 8比特 OSPFv3报文的类型1Hello报文。2DD报文。3LSR报文。4LSU报文。5LSAck报文。
Packet length 16比特 OSPFv3报文的总长度包括报文头在内单位为字节。
Router ID 32比特 发送该报文的路由器标识。
Area ID 32比特 发送该报文的路由器的所属区域。
Checksum 16比特 包含除了认证字段的整个报文的校验和。
Instance ID 8比特 OSPFv3多实例ID。
0 8比特 预留值。

3 LSA格式

LSA 分类

在AS内的每台路由器根据路由器的分类产生一种或多种LSA。LSA的集合形成了LSDBLink-state Database。OSPFv3中对路由信息的描述都是封装在LSA中发布出去的。常用的LSA包括

  • Router-LSAType1每个路由器都会产生描述了路由器的链路状态和花费在所属的区域内传播。
  • Network-LSAType2由广播网或NBMA网络中的DR产生Network-LSA中记录了这一网络上所有路由器的Router ID描述本网段的链路状态在所属的区域内传播。
  • Inter-Area-Prefix-LSAType3描述区域内某个网段的路由由ABR产生并通告给其他相关区域。
  • Inter-Area-Router-LSAType4由ABR产生描述到ASBR的路由通告给除ASBR所在区域的其他相关区域。
  • AS-external-LSAType5AS-External-LSA描述到AS外部的路由由ASBR产生。
  • NSSA LSAType7NSSA-LSA描述到AS外部的路由由ASBR产生。
  • Link-LSAType8每个路由器都会为每个链路产生一个Link-LSA描述到此Link上的link-local地址、IPv6前缀地址并提供将会在Network-LSA中设置的链路选项它仅在此链路内传播。
  • Intra-Area-Prefix-LSAType9每个路由器及DR都会产生一个或多个此类LSA在所属的区域内传播。路由器产生的此类LSA描述与Route-LSA相关联的IPv6前缀地址。DR产生的此类LSA描述与Network-LSA相关联的IPv6前缀地址。

LSA 格式

字段名 长度 含义
LS age 16比特 LSA产生后所经过的时间单位是秒。无论LSA是在链路上传输还是保存在LSDB中其值都会在不停的增长。
LS type 16比特 LSA的类型Type1Router-LSA。Type2Network-LSA。Type3Inter-Area-Prefix-LSA。Type4Inter-Area-Router-LSA。Type5AS-external-LSA。Type7NSSA-LSA。Type8Link-LSA。Type9Intra-Area-Prefix-LSA。
Link State ID 32比特 与LS Type一起描述路由域中唯一一个LSA。
Advertising Router 32比特 产生此LSA的路由器的Router ID
LS sequence number 32比特 LSA的序列号。其他路由器根据这个值可以判断哪个LSA是最新的。
LS checksum 16比特 除了LS age外其它各域的校验和。
Length 16比特 LSA的总长度包括LSA Header以字节为单位。

LSA洪泛范围

  • 链路本地范围只在本地链路上洪泛用于Link LSA
  • 区域范围覆盖OSPFv3区域。Router LSA、Network LSA、Inter Area Prefix LSA、Inter Area Router LSA、Intra Prefix LSA
  • 自制系统范围整个路由域。AS External LSA。