OSPFv3与OSPFv2的异同点+多实例实验

Ospfv3协议介绍:
与Ospfv2相比,ospfv3在工作机制上与ospfv2基本相同;但为了支持ipv6地址格式,ospfv3对ospfv2做了一些改动。
Ospfv3基于ospfv2基于原理并增强,是一个独立的路由协议,独立于ospfv2,并不是直接在ospfv2协议上进行升级,而是重新被设计的,ospfv3这个协议是独立任何具体网络层的路由协议
协议号仍然是89,,router-id仍然是一个32位的标识
Ospfv2用于ipv4,ospfv3用于ipv6
ospfv2的所有功能被ospfv3所继承,但是ospfv3也做了一定修改

router id是不是IP地址?
不是,没有掩码 router id 1.1.1.1

Ipv6对ospfv3的影响:
在这里插入图片描述

1.ipv6地址是128bit 所以导致了ospfv3的LSA长度也增加
2.开启ipv6协议的设备的接口会多一个link-local地址,所以ospfv3协议中我们是直接使用ipv6的link-local地址来发送ospfv3报文,但是vlink除外(必须使用ipv6全球单播地址或者站点本地地址来发送ospfv3报文,其中站点本地地址已经被收回,所以只能使用全球单播地址)
3.ipv4时代中,一般我们中低端设备没有接口只允许配置一个ipv4地址,但是ipv6时代中的设备一个物理口配置配置多个ipv6地址。
ospfv2是在区域配置 network x.x.x.x 反掩码,还有一种配置:接口上配置ospf enable 1 area 0,此时ospfv2可以基于子网进行通信;但是ospfv3只能基于link来进行通信,所以ospfv3只能在接口上配置ospfv3 1 area 0,ospfv3不能基于子网进行通信(指ospfv2在区域里network)
4.ospfv2时代中,认证方式有接口认证和区域认证,但是ospfv3,此时它的认证和加密全部交给ipv6这个协议 AH ESP(ipv6支持ipsec),也就是ospfv3没有独立的认证方式

Ospfv3和ospfv2相同点:
网络类型:MA(广播)、NBMA、P2P、P2MP、VLINK
接口类型:MA(广播)、NBMA、P2P、P2MP
接口状态机:Down、点到点、waiting、DR、BDR、DRother、loopback
邻居状态机:Down、attempt(仅仅出现NBMA中)、init、2-way、Exstart、Exchange、loading、 Full
链路状态数据库:ospfv3和ospfv2都有LSDB
ospf泛洪机制:就是让同一个区域内的所有路由器都保持内容完全相同的LSDB的过程
五种协议报文:Hello报文,DD报文,LSR报文,LSU报文,LSAck报文
路由计算方式相同:都是使用SPF算法

Ospfv3和ospfv2的不同:
1.基于链路的运行:
ospfv2是基于网络的,两个路由器要形成邻居关系必须在同一个网段;
Ospfv3的实现是基于链路,一个链路可以划分为多个子网,节点即使不在同一个子网内,只要在同一链路上就可以直接通信
在这里插入图片描述

IPv6中重点强调了一个“链路(link)”的概念,在IPv6中,一个链路上可以分配多个IP子网,也就是IPv6前缀。和IPv4中不同的是,同一个链路上的两个节点即使不具有相同的IPv6前缀,也可以直接通过这个链路通信。这一点极大地改变了OSPF的行为。
OSPFv3是基于链路运行的,而不是以前的基于IP子网的运行。在OSPFv3中我们更多的是使用“链路”和“前缀”这两个术语。但这两个概念是分离的,没有必然的对应关系。同一链路上的两个节点不必具有相同的前缀。所以在讨论路由协议时,OSPFv2的术语“网络”和“子网”在这里应该用“链路”替换掉。同样,一个OSPF接口现在是连接到一个链路上,而不再是一个IP子网上了。OSPF协议分组的接收以及Hello分组和LSA的格式也因此做出了相应的修改。
2.使用链路本地地址:
Ospfv3的路由器使用链路本地地址作为发送报文的源地址,那么用link-local地址好处:
(1)我们不需要给ospfv3设备配置ipv6全球单播地址就可以获得ospfv3拓扑,这样可以实现拓扑和地址分离(就是说不必使用全球单播地址来构建ospf的拓扑);
(2)通过链路上泛洪的报文不会传递到其他链路上,这样就可以减少不必要的报文泛洪带来的带宽资源消耗;
(3)link-local地址可以作为下一跳转发报文:
A ----- link-localFE80::1 B -----C2001::1
A可以通过link-local地址FE80::1访问到2001::1。

在虚连接上,必须使用全球范围地址或站点本地地址作为ospfv3协议报文的源地址
由于链路本地地址只在本链路上有意义且只能在本链路上泛洪,因此链路本地地址只能出现在link-LSA中,也就是说Link-LSA中存在的是链路本地地址,link-local地址只能存在于Link-LSA中
3.链路支持多实例复用:
下图RTA,RTB,RTC组建实例1,实例1中三台路由器形成ospfv3邻居关系,RTA,RTB,RTD组建实例2,实例2中三台路由器形成ospfv3邻居关系,实例1和实例2互不干扰
不同实例之间不能进行通信,RTC不能和RTD通信
Ospfv3设备的物理口默认和实例0进行绑定,也可以将物理口和别的实例绑定
ospfv2设备物理口只能和实例0进行绑定(ospfv2设备物理口没有实例这个说法)
在这里插入图片描述

Router A、 Router B、 Router C和Router D连接到同一个广播网上,它们共享同一条链路且都能建立邻居关系,通过在Router A的Eth1/1、 Router B的Eth1/1、Router C的Eth1/2上指定实例1、在Router A的Eth1/1、 Router B的Eth1/1、 RouterD的Eth1/3上指定实例2,实现了Router A、 Router B和Router C可以建立邻居关系, Router A、 Router B和Router D可以建立邻居关系。
这是通过在OSPFv3报文头中添加Instance ID字段来实现的。如果接口配置的Instance ID与接收的OSPF v3报文的Instance ID不匹配,则丢弃该报文,从而无法建立起邻居关系。
配置ospfv3的实验必须要手工配置router id号

4.认证的变化:
验证的变化:ospfv3报文头中不在包含autype和authentication,而一般依赖ipv6的扩展验证头
校验和变化:ospfv3使用ipv6标准的checksum
OSPFv3协议一般自身不再提供认证功能,而是通过使用IPv6提供的安全机制来保证自身报文的合法性。所以, OSPFv2报文中的认证字段,在OSPFv3报文头中被取消。

5.Stub区域的支持:
由于ospfv3支持对未知类型LSA的泛洪,为防止大量未知类型LSA泛洪进入stub区域,对于向stub区域泛洪的未知类型LSA进行明确规定,只有当未知类型LSA的泛洪范围是区域或链路而且U比特没有置位时(0),未知类型LSA才可以向stub区域泛洪
凡是不能被识别的lSA报文,在ospfv2中是直接被丢弃的
但是ospfv3保留了stub区域,stub区域有1 2 3 8 9类LSA
ospfv3允许不能识别类型的lsa被当做已知类型泛洪。
只有符合如下两种条件的未知类型lsa才能泛洪到stub区域:

  1. LSA的泛洪范围是area或者本地链路范围
    2.LSA的ubit为置位为0

6.报文的不同:
在这里插入图片描述

与OSPFv2一样, OSPFv3的五种报文都有同样的报文头,只是报文中的字段有些不同。
OSPFv3的LSU和LSAck报文与OSPFv2相比没有什么变化,但OSPFv3的报文头、 Hello、 DD以及LSR报文中的字段与OSPFv2略有不同(LSU,LSAck相同),报文的改变包括以下几点:
版本号从 2 升级到 3。
报文头的不同:与 OSPFv2 报文头相比, OSPFv3 报文头长度只有 16 字节,去掉了认证字段但加了 Instance ID 字段。 Instance ID 字段用来支持在同一条链路上运行多个实例,且只在链路本地范围内有效,如果路由器接收到的 Hello 报文的 Instance ID 与当前接口配置的 Instance ID 不同,将无法建立邻居关系。
虚线上边是ospf头部的不同,下边是hello报文的不同
在这里插入图片描述

Hello 报文的不同:与 OSPFv2 Hello 报文相比, OSPFv3 Hello 报文去掉了网络掩码字段,增加了 Interface ID 字, 用来标识发送该 Hello 报文的接口ID。
Interface ID: 4字节。报文发送者的发送接口标识,仅用来区分同一路由器上的不同接口,不包含地址信息。
Rtr Pri: 1字节。路由器优先级,优先级高者成为DR。
Options: 3字节。 OSPFv3中将Options字段扩展为24位。
在这里插入图片描述

Interface ID是华为通过算法算出来的3,不用去计较
Router priority(路由优先级):1,为0不参与DR,BDR选举
在这里插入图片描述

Hello时间:10s
Dead时间40s
DR:3.3.3.3
BDR:1.1.1.1
邻居:3.3.3.3

7.Option字段的不同:
在这里插入图片描述

在OSPFv2中, Option字段出现在每一个Hello报文、 DD报文以及每一个LSA中。
在 OSPFv3中, Option字段只在 Hello报文、 DD报文、 Router LSA、 Network LSA、 Inter Area Router LSA以及Link LSA中出现。
从上图可以看出,与OSPFv2相比, OSPFv3的Option字段增加了R比特、 V比特。
R 比特:用来标识设备是否是具备转发能力的路由器。如果 R 比特置 0,宣告该节点的路由信息将不会参加路由计算,如果当前设备是一个不想转发非本地地址的报文,可以将 R 比特置 0。
V6 比特:如果 V6 比特置 0,该路由器或链路也不会参加IPv6路由计算。置为1表示参加ipv6路由计算,一般都会置为1
E: 如果为0,不支持AS-External-LSA洪泛;置为1表示普通区域
MC: 与多播(组播)相关;
N: 是否在NSSA (Not So Stub Area)区域;置为1表示NSSA区域
DC: 是否支持按需拨号。
Ospfv2中的DN:用于防止环路,如下图
在这里插入图片描述

PE1将自己的回环口路由传递给PE2和PE3,由于PE间运行的是BGP,PE2和PE3通过下行接口运行ospf,ospf优先级优先于BGP,所以PE2也会从PE3学习到达PE1的路由,这时PE2找PE1通信就会先经过PE3,产生环路。这时PE2将通过ospf路由学到的LSA打上DN置为1的值,这时他们都不学习这个LSA,避免了环路
Ospfv2中的O:置为1表示支持9,10,11类LSA
Ospfv2中的EA置为1表示始发路由器具有接受和转发外部属性LSA,表明路由器支持8类LSA
Ospfv2中的N/P:如果在hello报文和DD报文中置为1,表明这个ospf报文来自NSSA区域,如果在LSA报文类型中发现置为1,要执行7类LSA转5类LSA的动作
Ospfv2中的MT:支持多拓扑ospf,目前没有被部署过,不用管

8.LSA的类型和内容不同:
在这里插入图片描述

OSPFv2中的LS Type长度为8比特,指定LSA的类型; OSPFv3的LSA Type字段由OSPFv2的8比特扩充为16比特。
1.U 位:描述了路由器收到一个类型未知的 LSA 时如何处理,取值为 0 表示把类型未知 LSA 当成具有链路本地范围的 LSA 一样处理,取值为 1 表示按照S2/S1 位标识的泛洪范围来处理。
2.S2/S1 位:共同标识 LSA 的泛洪范围,取值 00 表示 LSA 只在产生该 LSA 的本地链路上泛洪;取值 01 表示 LSA 的泛洪范围为产生该 LSA 的路由器所在区域;取值 10 表示 LSA 将在整个自治系统内进行泛洪;取值 11 保留。
3.LSA Function Code: LSA 类型编码,描述 LSA 的类型。
看顺序应该从3-2-1看,首先看LSA Function Code,其次S2/S1,最后看U位,如果前面两步已经看出来LSA类型,就不用再看U位

在这里插入图片描述

在OSPFv2中,收到类型未知的LSA将直接丢弃。
OSPFv3在LSA的LS Type字段中增加了一个U比特位来位标识对未知类型LSA的处理方式:
如果 U 比特置 1,则对于未知类型的 LSA 按照 LSA 中的 LS Type 字段描述的泛洪范围进行泛洪;
如果 U 比特置 0,对于未知类型的 LSA 仅在链路范围内泛洪。
LSA的泛洪范围已经被明确地定义在LSA的LS Type字段,目前,有三种LSA泛洪范围。
1.链路本地范围(Link-local Scope)8类。
LSA 只在本地链路上泛洪,不会超出这个范围, Link-LSA(新增)。

2.区域范围(Area Scope)。
Router-LSA(1类), Network-LSA(2类), Inter-Area-Prefix-LSA(3类), Inter-Area-Router-LSA(9类), Intra-Area-Prefix-LSA(7类)(新增)都是区域范围泛洪的 LSA。

3.自治系统范围(AS Scope)。
LSA 将被泛洪到整个路由域,AS-External-LSA(5类)。

多实例实验:注,不同的进程号需要配置不同的router-id
拓扑图
在这里插入图片描述

根据拓扑实验图完成:

  1. 配置IP,手动指定接口的link-local地址
    AR1:
    在这里插入图片描述

AR2:
在这里插入图片描述

AR3:
在这里插入图片描述

  1. R1和R3在instance 1 中建立ospfv3邻接关系
    AR1:
    在这里插入图片描述

AR3:
在这里插入图片描述

  1. R2和R3在instance2中建立ospfv3邻接关系
    AR2:
    在这里插入图片描述

AR3:
在这里插入图片描述

查看对等体
在这里插入图片描述

  1. 测试:ping环回口
    AR3 ping AR1通
    在这里插入图片描述

AR3 ping AR2通
在这里插入图片描述

AR1 ping AR2不通
在这里插入图片描述

在AR2抓包分析为什么不通,查看AR1发送的hello报文
在这里插入图片描述

  • 3
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值