目录
OSPFv3
OSPFv3的概念:
- OSPFv3是基于IPv6的OSPF协议,工作在IPv6上,可支持多协议,OSPFv3在OSPFv2上做了改进,是一个独立的路由协议,可以支持IPv4和IPv6,
OSPFv3与OSPFv2的相同点:
- 网络类型和接口类型
- 接口状态机和邻居状态机
- LSDB
- LSA的泛洪机制
- 报文
- SPF算法及SPF计算过程
OSPFv3与OSPFv2的不同点:
OSPFv3 | OSPFv2 | |
---|---|---|
基于链路 | 基于子网 | |
利用链路本地地址来维持邻居 | 利用本地接口地址来维持邻居 | |
报文中移除了协议地址的字段 |
-
- OSPFV3基于链路,而OSPFv2基于网段,
- OSPFv3运行在IPv6协议上,IPv6是基于链路而不是网段,既不论接口是否配置IPv6地址,也不论路由器间的接口地址是否在同一网段,只要双方在同一条链路上,都可以建立OSPFv3的邻居关系。
-
- OSPFv3利用链路本地地址来维持邻居。
- OSPFv3使用链路本地地址来维持邻居,同步LSDB,链路上的报文,除Vlink外的所有OSPFv3接口都使用链路本地地址作为报文源地址
- 这样的话,不用配置IPv6全局地址,就可以得到OSPFv3拓扑,实现拓扑与地址分离
- 运行IPv6的路由器不转发目的地址为链路本地地址的IPv6报文,此类报文置在本地链路有效。
- OSPFv3的虚链路,如果是非直连的虚链路,那么就不能依赖于链路本地地址了,需要使用全球单播地址来建立
-
- OSPFv3协议报文上移除了协议地址
- OSPFv2中的1/2类LSA中含有太多关于ipv4地址的描述,通过观察OSPFv2的1/2类LSA就可以得知当前运行的协议为IPv4
- OSPFv3中由于IPv6协议地址太长,会过多的占用报文空间,若之后想扩展OSPFv3协议,那么就必须的重新改写了,重新出一个OSPFv4,于是OSPFv3移除了对协议地址的依赖性,用接口ID来取代本地接口的IP地址,对端接口IP地址,就使用链路本地地址
- 这样意味着拓扑与协议地址分离了,建立邻居关系的不在依赖于协议地址,并且OSPFv3的1/2类LSA可以为多种协议簇服务,可以同时为IPv4和IPv6创建协议进程,目前华为不支持,所以在当前的双栈环境下,依旧要创建OSPFv2的进程及OSPFv3的进程
-
- OSPFv3链路间的泛洪范围
- OSPFv3添加了链路间的泛洪范围,新的LSA-8类型仅在可以在邻居之间通告,其LSA不会被泛洪到其他链路,LSA-8承载内容仅在直连的邻居中通告,不会被泛洪到其他链路,LSA-8所承载的内容只在直连邻居之间有用,用于通告该链路上的地址前缀及 link-local地址
-
- OSPFv3支持一条链路上多个进程(实例复用)
- OSPFv3在OSPF报文头中新加了字域:instance id,他是定义在接口上的标识OSPF实例的,取值范围为0-255,OSPFv2下,一个接口只能运行一个OSPF实例,而在OSPFv3中,可以让一个接口运行多个OSPF实例,并且在一条链路上,只有OSPF实例号相同才能建立OSPF邻居关系,OSPF实例只在本地有效。这可以使得同一链路上出现多个OSPF实例,彼此互不干扰,可以充分利用带宽资源,
- 实例号出现在OSPFv3头部报文中,属于OSPFv3头部报文新增字段
-
- OSPFv3移除了头部报文中所有认证字段。
- OSPFv3可以通过IPv6扩展头部报文中的认证及安全机制
-
- OSPFv3只通过R-ID来标识邻居
- OSPFv3只通过R-ID来标识邻居,R-ID一样是一个32位的数,只能自己手工配置,但是没有实际意义。
-
- 新增两种LSA
- Link Lsa :用于在直连链路之间宣告地址前缀及Link Local地址,仅仅在两台设备之间的直连链路上泛洪
- intra-Area Prefix LSA:用于向其他路由器宣告本路由器或本网络地址(BMA/NBMA)的IPv6全局地址信息,在区域内泛。
- 每个设备或DR都会为每一条链路产生一个或多个此类LSA,在所属的区域内传播
- 设备产生此类LSA,描述于Router-LSA相关联的IPv6的前缀地址
- DR产生此类LSA,描述与Network-LSA相关联的IPv6前缀地址。
OSPFv3的泛洪范围:
-
OSPFv3的LAS头中没有Option字域,在OSPFv3头部报文中Link State Type的长度增加到了16位,利用高三位来做了定义,代表泛洪的范围
-
U位:U代表OSPFv3如果不识别该LSA的时候怎么做,如果U位没有置位,仅在直连链路链路泛洪(类似于Link Lsa),如果U位置位了,跟其他LSA做相同处理。储存并转发。
-
S2/S1位:S2组合定义了LSA的泛洪范围
S2/S1位 泛洪的范围 00 Link-Local范围 01 区域内泛洪 10 整个OSPF区域泛洪 11 保留
-
OSPFv3不同类型LSA中Link State id字段的作用:
LSA类型 | 作用 |
---|---|
0x2001 | LSA分片的分片,如若LSA进行了分片,那么通过该值来判断该LSA在分片中的位置 |
0x2002 | DR接口的ID |
0x2003 | 表示该LSA的数量,通过该值来判断该LSA属于第几份LSA |
0x2004 | ASBR的Router-ID |
0x4005 | 表示该LSA的数量,通过该值来判断该LSA属于第几份LSA |
0x2007 | 表示该LSA的数量,通过该值来判断该LSA属于第几份LSA |
0x0008 | |
0x2009 |
OSPFv3中1/2类LSA的作用:
- 1/2类LSA中只用来描述拓扑信息,没有描述网络信息,所以在OSPFv3中,拓扑跟路由是分离的
- OSPFv3通过新增的9类LSA来描述网络信息,在区域内泛洪,根据1类LSA产生描述链路的网络信息,通过2类LSA来描述DR的网络信息
- 但是在9类LSA中,用来描述1类LSA的信息时,通过一条LSA可以来描述多条链路的网络信息。
OSPFv3中不同LSA的描述:
-
一类L(0x2001)
Router-LSA (Area 0.0.0.0) LS Age: 32 LS Type: Router-LSA Link State ID: 0.0.0.0 //分片,如果有分片,代表是第几份LSA Originating Router: 1.1.1.1 //起源R-ID LS Seq Number: 0x80000007 Retransmit Count: 0 Checksum: 0x5EA7 Length: 40 Flags: 0x00 (-|-|-|-|-) Options: 0x000013 (-|R|-|-|E|V6) Link connected to: another Router (point-to-point) //描述P2P网络 Metric: 1 Interface ID: 0x3 //自己的接口ID Neighbor Interface ID: 0x5 //邻居的接口ID Neighbor Router ID: 2.2.2.2 //邻居的R-ID Link connected to: a Transit Network //描述与路由器之间的伪节点网络 Metric: 1 Interface ID: 0x3 //自己的接口ID Neighbor Interface ID: 0x4 //邻居的接口ID Neighbor Router ID: 4.4.4.4 //邻居的R-ID
-
二类LSA (0x2002)
Network-LSA (Area 0.0.0.1) LS Age: 1057 LS Type: Network-LSA Link State ID: 0.0.0.3 //DR的接口ID Originating Router: 4.4.4.4 //起源R-ID(DR的R-ID ) LS Seq Number: 0x80000002 Retransmit Count: 0 Checksum: 0x5399 Length: 36 Options: 0x000013 (-|R|-|-|E|V6) Attached Router: 4.4.4.4 //直连网络中存在的所有设备的R-ID Attached Router: 2.2.2.2 Attached Router: 3.3.3.3 [R2]
-
三类LSA (0x2003)
Inter-Area-Prefix-LSA (Area 0.0.0.0) LS Age: 675 LS Type: Inter-Area-Prefix-LSA Link State ID: 0.0.0.1 //表示这是第几份LSA Originating Router: 2.2.2.2 //起源R-ID(ABR的R-ID) LS Seq Number: 0x80000004 Retransmit Count: 0 Checksum: 0x890A Length: 36 Metric: 1 Prefix: 2000:234::/64 //描述的ipv6前缀 Prefix Options: 0 (-|-|-|-|-) //SA中的Option置位 [R1]
-
四类LSA (0x2004)
Inter-Area-Router-LSA (Area 0.0.0.0) LS Age: 32 LS Type: Inter-Area-Router-LSA Link State ID: 3.3.3.3 //ASBR的R-ID Originating Router: 2.2.2.2 //起源R-ID(ABR的R-ID) LS Seq Number: 0x80000001 Retransmit Count: 0 Checksum: 0xED18 Length: 32 Options: 0x000013 (-|R|-|-|E|V6) Metric: 1 Destination Router ID: 3.3.3.3 //ASBR的R-ID [R1]
-
5类LSA (0x4005)
AS-External-LSA LS Age: 139 LS Type: AS-External-LSA Link State ID: 0.0.0.1 //表示这是第几份LSA Originating Router: 3.3.3.3 //起源R-ID(ASBR的R-ID) LS Seq Number: 0x80000001 Retransmit Count: 0 Checksum: 0x6E4B Length: 40 Flags: (E|-|T) Metric Type: 2 (Larger than any link state path) Metric: 1 Prefix: 3::/64 //描述的外部路由前缀 Prefix Options: 0 (-|-|-|-|-) Tag: 1 [R1]
-
8类LSA (0x0008)
Link-LSA (Interface GigabitEthernet0/0/0) LS Age: 1132 LS Type: Link-LSA Link State ID: 0.0.0.3 Originating Router: 1.1.1.1 LS Seq Number: 0x80000001 Retransmit Count: 0 Checksum: 0x9A48 Length: 56 Priority: 1 Options: 0x000013 (-|R|-|-|E|V6) Link-Local Address: FE80::2E0:FCFF:FE1D:6BE5 //通告自己的链路本地地址 Number of Prefixes: 1 Prefix: 2000:12::/64 通告在该链路上的所有IPv6链路状态信息 Prefix Options: 0 (-|-|-|-|-)
-
9类LSA (0x2009)
Intra-Area-Prefix-LSA (Area 0.0.0.0) LS Age: 1266 LS Type: Intra-Area-Prefix-LSA Link State ID: 0.0.0.1 Originating Router: 1.1.1.1 LS Seq Number: 0x80000004 Retransmit Count: 0 Checksum: 0xE79F Length: 44 Number of Prefixes: 1 Referenced LS Type: 0x2001 //描述1类LSA Referenced Link State ID: 0.0.0.0 //跟一类LSA描述一致 Referenced Originating Router: 1.1.1.1 Prefix: 2000:12::/64 //描述1类LSA中的Stubnet的网络信息 Prefix Options: 0 (-|-|-|-|-) Metric: 1 Intra-Area-Prefix-LSA (Area 0.0.0.1) LS Age: 211 LS Type: Intra-Area-Prefix-LSA Link State ID: 0.0.0.1 Originating Router: 4.4.4.4 LS Seq Number: 0x80000004 Retransmit Count: 0 Checksum: 0x4FF8 Length: 44 Number of Prefixes: 1 Referenced LS Type: 0x2002 //描述2类LSA Referenced Link State ID: 0.0.0.3 //跟2类LSA所描述内容一致 Referenced Originating Router: 4.4.4.4 Prefix: 2000:234::/64 //描述2类LSA中的网络信息 Prefix Options: 0 (-|-|-|-|-) Metric: 0