文章目录
- OSPFv2基本概念 - LSA类型
- IPv6路由协议—OSPFv3
- IPv6路由协议—OSPFv3(1)
- IPv6路由协议—OSPFv3(2)
- 报文变化: OSPFv3选项(Options)![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/a1631184fde8e7815bc9d99d95488094.png#pic_center)
- LSA报文格式不同 - LSA头部
- LSA类型,支持对未知类型LSA的处理
- LSA类型 - 功能编码 (Function Code)![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/4816a27288681ca7484a01d8f60a8c13.png#pic_center)
- LSA类型不同 - OSPFv3 LSA的类型![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/60b7f64e82d2ffe57c88941c0e60c95e.png#pic_center)
- 前缀表示方法的变化:Prefix Option 字段
- LSA类型
- OSPFv3和OSPFv2的比较
OSPFv2基本概念 - LSA类型
LSA类型 | LSA作用 |
---|---|
Router-LSA (Type1) | 每个设备都会产生,描述了设备的链路状态和开销,在所属的区域内传播。 |
Network-LSA (Type2) | 由 DR 产生,描述本网段的链路状态,在所属的区域内传播。 |
Network-summary-LSA (Type3) | 由 ABR 产生,描述区域内某个网段的路由,并通告给发布或接收此 LSA的非 Totally STUB 或 NSSA 区域。 |
ASBR-summary-LSA (Type4) | 由 ABR 产生,描述到 ASBR 的路由,通告给除 ASBR 所在区域的其他相关区域。 |
AS-external-LSA (Type5) | 由 ASBR 产生,描述到 AS 外部的路由,通告到所有的区域(除了 STUB区域和 NSSA 区域)。 |
NSSA LSA (Type7) | 由 ASBR 产生,描述到 AS 外部的路由,仅在 NSSA 区域内传播。 |
Opaque LSA(Type9/Type10/Type11) | Opaque LSA 提供用于 OSPF 的扩展的通用机制。其中: Type9 LSA仅在接口所在网段范围内传播。用于支持 GR 的 Grace LSA就是 Type9 LSA 的一种。 Type10 LSA 在区域内传播。用于支持 TE 的 LSA 就是 Type10 LSA 的一种。 Type11 LSA 在自治域内传播,目前还没有实际应用的例子。 |
IPv6路由协议—OSPFv3
OSPFv3简介
OSPF(Open Shortest Path First)是IETF组织开发的一个基于链路状态的内部网关协议(Interior Gateway Protocol)。
目前针对IPv4协议使用的是OSPF Version 2,针对IPv6协议使用OSPF Version 3。
• OSPFv3是OSPF Version 3的简称。
• OSPFv3是运行于IPv6的OSPF路由协议RFC5340,同RFC2740)。
• OSPFv3在OSPFv2基础上进行了修改,是一个独立的路由协议。
IPV6对OSPFv3的影响
IPv6地址的变化 | 对OSPFv3的影响 |
---|---|
IPv6地址扩大为128位 | LSA长度增加 |
本地链路(Link-Local)地址 | 使用Link-local地址进行报文发送(VLink除外) |
接口可以配置多个全球单播地址(Global Unicast IPv6 address) | 运行于每个Link进行通讯,不再基于subnet |
IPv6验证扩展头 | 使用扩展头进行报文的认证和加密 |
OSPFv3和OSPFv2相同点
网络类型和接口类型。
接口状态机和邻居状态机。
链路状态数据库(LSDB)。
洪泛机制(Flooding mechanism)。
五种协议报文: Hello, DD, LSR, LSU, LSAck。
路由计算基本相同。
OSPFv3与OSPFv2的不同
基于链路的运行
使用链路本地地址
链路支持多实例复用
通过 Router ID 唯一标识邻居
认证的变化
Stub 区域的支持
报文的不同
Option 字段的不同
LSA 的类型和内容不同
IPv6路由协议—OSPFv3(1)
OSPFv3协议号仍然为89,在IPv6 Next Header里标识
通过包头的TYPE字段来标识5种包类型;
以组播地址发送协议报文,而IPv6 Hop Limit为1;Virtual-Link则通过单播发送更新;
AllSPfRouters:FF02::5
AllDRouters:FF02::6
IPv6中,除了virtual link之外,都使用link-local地址
基于链路的运行
OSPFv2是基于网络运行的,两个路由器要形成邻居关系必须在同一个网段。
OSPFv3的实现是基于链路, 一个链路可以划分为多个子网, 节点即使不在同一个子网内, 只要在同一链路上就可以直接通信。
使用链路本地地址
OSPFv3的路由器使用链路本地地址作为发送报文的源地址。
在虚连接上, 必须使用全球范围地址或者站点本地地址作为OSPFv3协议报文的源地址。
由于链路本地地址只在本链路上有意义且只能在本链路上泛洪,因此链路本地地址只能出现在Link LSA中。
链路支持多实例复用
OSPFv3支持在同一链路上运行多个实例,实现链路复用并节约成本
通过 Router ID 唯一标识邻居
- 在OSPFv2中,当网络类型为点到点或者通过虚连接与邻居相连时,通过Router ID来标识邻居路由器,当网络类型为广播或NBMA时,通过邻居接口的IP地址来标识邻居路由器。
- OSPFv3取消了这种复杂性,无论对于何种网络类型,都是通过Router ID来唯一标识邻居
认证的变化
- 验证的变化:
OSPFv3报文头中不再包含AuType和Authentication,而一般依赖IPv6的扩展验证头。 - 校验和(Checksum)变化:
OSPFv3使用IPv6标准的CheckSum
Stub区域的支持
由于OSPFv3支持对未知类型LSA的泛洪,为防止大量未知类型LSA泛洪进入Stub区域,对于向Stub区泛洪的未知类型LSA进行了明确规定, 只有当未知类型LSA的泛洪范围是区域或链路而且U比特没有置位时,未知类型LSA才可以向Stub区域泛洪。
报文变化: 头部字段说明
- Version:版本,对于OSPFv2,该值是2;对于OSPFv3则是3;
- Type : 1 - Hello, 2-DD, 3-LSR, 4-LSU, 5-LSAck;
- Packet Length:OSPFv3报文长度,2字节;
- Router ID:路由器ID;
- Area ID:区域ID;
- Checksum:校验和;
- Instance ID:链路实例ID,通过判断该字段就可以区分同一链路上运行的不同OSPF实例。实例ID只在本地链路范围内具有意义;
-
Reserved(保留): 保留字段,总是0。
报文变化 报文变化 : Hello 报文
IPv6路由协议—OSPFv3(2)
Hello报文的option字段
- V6位
表示这个路由器或链路是不是在路由IPv6。如果清零,这个路由器或链路不应该纳入IPv6路由计算。 - E位
描述AS-external-LSA的泛洪方式。在Hello包中,当且仅当这个区域能够处理AS-external-LSA的时候,E位设置为1(例如在非stub区域中),否则为0。如果E位设置不正确,邻接关系就不能形成。
- MC位
这一位描述路由器是否运行了MOSPF(请忽略)。 - N位
描述了路由器对Type-7 LSA的处理。当且仅当一个接口的所属区域为NSSA区域时设置为1。
- R位
路由器位。指出该公告者是否一个路由器。如果清零,则说明该公告者并不能路由数据。所以经过该公告者的路由不能纳入路由计算。如果多宿主机希望分享OSPF路由信息,但又不希望转发数据时,可以使用。 - DC位
描述路由器对按需电路(demand circuits)的处理。
报文变化: OSPFv3选项(Options)
LSA报文格式不同 - LSA头部
LSA类型,支持对未知类型LSA的处理
-
U-bit: 指示路由器如何处理无法识别的LSA。
-
S2/S1,共同标识 LSA 的泛洪范围。
LSA类型 - 功能编码 (Function Code)
LSA类型不同 - OSPFv3 LSA的类型
前缀表示方法的变化:Prefix Option 字段
- 用来表达某个前缀的一些特性,以便在各种不同的路由计算时做相应的判断和处理。
- NU位:非单播位;
- LA位:本地地址位;
- MC位:组播位;
- P位:传播位。
LSA类型
LSA类型 | LSA作用 |
---|---|
Router-LSA(Type 1) | 设备会为每个运行OPSFv3接口所在的区域产生一个LSA,描述了设备的链路状态和开销,在所属区域内传播 |
Network-LSA(Type 2) | 有DR产生,描述本链路的链路状态,在所属的区域内传播 |
Inter-Area-Prefix-LSA(Type 3) | 有ABR产生,描述区域内某个网段的路由,并通告给其它相关区域 |
Inter-Area-Router-LSA(Type 4) | 有ABR产生,描述到ASBR的路由,通告给除ASBR所在区域的其它相关区域 |
AS-external-LSA(Type 5) | 由ASBR产生,描述到AS外部的路由,通告给所有的区域(除了Stub区域和NSSA区域) |
NSSA LSA(Type 7) | 由ASBR产生,描述到AS外部的路由,尽在NSSA区域内传播 |
Link-LSA(Type 8) | 每个设备都会为每个链路产生一个Link-LSA,描述到此Link上的link-local地址,ipv6前缀地址,并提供将会在Network-LSA中设置的链路选项,它仅在此链路内传播 |
Intra-Area-Prefix-LSA(Type 9) | 每个设备及DR都会产生一个或多个此类LSA,在所属 区域内传播。
|
display ospfv3 lsdb命令用来显示OSPFv3的链路状态数据库信息
一类LSA:Router-LSA
LS Type:0x2001;泛洪范围:区域。
每个Router-LSA包含若干链路描述(link description),每个链路描述都描述了路由器的一个接口信息。
可以使用多个Router-LSA描述信息,通过Link-State ID区分多个不同的Router-LSA。
此类LSA同ospfv2相比并不含前缀信息
• W位为1时,mospf使用。
• E位为1时,表示这个路由器是一个ASBR。
• V位为1时,表示这个路由器是跨越本区域的一个virtual link的一个端点
• B位为1时,表示这个路由器是一个ABR
LS Type:0x2001;泛洪范围:区域。
每个Router-LSA包含若干链路描述 (link description),每个链路描述都描述了路由器的一个接口信息。
可以使用多个Router-LSA描述信息,通过Link-State ID区分多个不同的Router-LSA。
Router LSA链接(Link)类型
类型 | 描述 | 邻居Router-ID | 邻居Interface-ID |
---|---|---|---|
1 | 点到点连接到另一台路由器 | 邻居Router-ID | 邻居的Interface ID |
2 | 连接到穿越(Transit)网 | DR的Router-ID | DR的Interface ID |
3 | 保留 | — | — |
4 | 虚连接 | 邻居Router-ID | 邻居的VLINK Interface ID |
Router LSA举例
二类LSA:Network-LSA
- LS Type:0x2002;泛洪范围:区域。
- Attached Router:
本链路所有路由器的Router ID - 具有2个或更多路由器的Broadcast 或NBMA网络都需要由DR建立一个Network-LSA。
- 一个Network-LSA列出了这个链路上所有相连的路由器。
- 取消了IPv6中无关紧要的掩码
Network LSA的变化
DR产生,区域范围内洪泛;
描述该链路上与DR有FULL关系的所有路由器
Network LSA举例
三类LSA:Inter-Area-Prefix-LSA
• 域间前缀LSA
• LS类型值为0x2003,泛洪范围:区域。
• 在IPv4中,Inter-Area-Prefix-LSA称为Type 3 Summary-LSA。
Type-3 LSA的变化 - Inter-Area-Prefix-LSA
- 在OSPFv2中,该类型的LSA称为Type 3 Summary-LSA。在OSPFv3中 ,更名为Inter-Area Prefix-LSA,语义更加明确,它描述了其他区域的前缀信息。
- 边界路由器(ABR)产生的第3类LSA,在Area范围内洪泛;
- 描述了到本AS内其他区域的路由信息;
- 每个Inter-Area-Prefix-LSA包含一条地址前缀信息;
- 该LSA中不包含Link-Local地址信息;
- 使用32位整数作为Link State ID来区分相同的LSA。
Inter-Area-Prefix-LSA结构
Inter-Area-Prefix-LSA举例
四类LSA:Inter-Area-Router-LSA
• 域间路由器LSA
• LS类型值为0x2004,泛洪范围:区域。
• 在IPv4中,Inter-Area-Router-LSA称为Type 4 Summary-LSA。
• 描述如何到达外部路由器所在区域的ABR(非外部路由区域的设备可以观察到)
• ABR向一个区域内始发一条区域间路由器LSA,用来通告一个在该区域外的ASBR路由器。对于所通告的每一个ASBR,ABR都需要始发单独的区域问路由器LSA
Type-4 LSA的变化 - Inter-Area-Router-LSA
- 在OSPFv2中,该类型的LSA称为Type 4 Summary-LSA。在OSPFv3中 ,更名为Inter-Area Router-LSA,语义更加明确,它描述了到达其他区域的ASBR的信息。
- 边界路由器(ABR)产生的第4类LSA,在Area范围内洪泛;
- 描述了到本AS内其他区域的ASBR路由器信息;
- 每个Inter-Area-Router-LSA包含一个ASBR路由器信息;
- LSA中的能力选项(Options)与所描述的ASBR Router LSA中能力选项(Options)保持一致;
- 使用32位整数作为Link State ID来区分相同的LSA。
OSPFv3 Inter-Area-Router-LSA结构
五类LSA:AS-External-LSA
• 外部路由LSA
• LS类型值为0x4005,泛洪范围:AS
• 每个AS-external-LSA描述到达自治系统外部的一个前缀的路径。
• Forwarding address
• 可选的128位Pv6地址。当前面的F位为1时存在。表示到达目的的数据应该转发到这个地址。在公告路由器不是最优的下一跳的时候可以使用
- 由ASBR路由产生,描述了区域外的路由信息;
- 具有自治系统(AS)洪泛范围;
- Link State ID不包含地址信息,只是来和其他AS-External-LSA区分开;
- AS-External-LSA不含有Link-Local地址信息。
- 可选项:
- 转发(Forwarding)地址;
- Tag;
- Referenced Link State ID: 保留字段。
AS-External-LSA结构
AS-External-LSA举例
八类LSA:Link-LSA
8类LSA
| |
---|---|
Link-LSA举例
新增Link-LSA
- Link-LSA是OSPFv3新增的一种LSA类型,它具有链路泛洪范围,路由器会为每个启动了OSPFv3的接口产生一个Link-LSA。它的作用在于:
- 向链路上的其他路由器通告本地链路地址,作为它们的下一跳地址;
- 向链路上的其他路由器通告本地链路上的所有IPv6前缀;
- 在广播网络和NBMA网络上为DR提供Options取值。
Link-LSA结构
Link-LSA举例
九类LSA:Intra-Area-Prefix-LSA
intra-area-prefix-LSA的LS类型为0x2009。具有区域泛洪范围
Referenced LS type 表明这个LSA是参考一个Router-LSA,还是一个Network-LSA
1表示参考一个router-LSA,2表示参考一个Network-LSA。
Referenced Link State ID 当这个LSA是参考一个Router-LSA时,设置为0。当这个LSA是参考一个Network-LSA时,设置为该链路的DR的Interface ID。
Referenced Advertising Router当这个LSA是参考一个Router-LSA时,设置为这个路由器的Router ID。当这个LSA是参考一个Network-LSA时,设置为该链路的DR的Router ID。
Intra-Area-Prefix-LSA
- 为什么引入Intra-Area-Prefix-LSA?
- OSPFv2中,依附于路由器和Stub网络的subnet出现在Router LSA中,依附于Transit网络的subnet出现在Network-LSA中;OSPFv3中, Router-LSA和Network-LSA不再包含地址信息,所以引入Intra-Area-Prefix-LSA。
- Intra-Area-Prefix-LSA携带区域内IPv6 Prefix信息。
- 依附于路由器的Prefix
- 依附于Stub网络的Prefix
- 依附于Transit网络的Prefix
- 每台路由器或Transit网络可以 产生多个Intra-Area-Prefix-LSA 。
- 在OSPFv2中使用Router-LSA和Network-LSA来发布区域内路由,而在OSPFv3中这两类LSA不再包含地址信息,所以引入了Intra-Area-Prefix LSA,用于发布区域内路由。
- #Prefixes:LSA中包含的Prefix个数。
- Referenced Link State Type:
- =1: 携带的Prefix依附于Router(包括Stub网络);
- =2: 携带的Prefix依附于Transit Network。
- Referenced Link State ID:
- Type1: 0;
- Type2:DR接口ID。
- Referenced Advertising Router:
- Type 1:依附的路由器Router ID;
- Type 2:DR Router ID。
- 其他:Prefix三元组信息。
Intra-Area-Prefix-LSA (依附Router)举例
Intra-Area-Prefix-LSA (依附Transit网络 )举例
Intra-Area-Prefix-LSA
- 为什么引入Intra-Area-Prefix-LSA(域内区域前缀LSA)?
- OSPFv2中,依附于路由器和Stub网络的subnet出现在Router LSA中,依附于Transit网络的subnet出现在Network-LSA中;OSPFv3中,Router-LSA和Network-LSA不再包含前缀信息,所以引入Intra-Area-Prefix-LSA;
- Intra-Area-Prefix-LSA
携带区域内IPv6 Prefix信息
- 依附于路由器的Prefix
- 依附于Stub网络的Prefix
- 依附于Transit网络的Prefix
- 每台路由器或Transit网络可以产生多个Intra-Area-Prefix-LSA
- Sh ipv6 ospf database prefix
(在广播网络中DR产生)
OSPFv3和OSPFv2的比较
相同点
• 网络类型和接口类型
• 接口状态机和邻居状态机
• 链路状态数据库(LSDB)
• 洪泛机制
• 相同类型的报文:Hello报文、DD报文、LSR报文、LSU报文和LSAck报文
• 路由计算基本相同