OSPF相关实验

 一.OSPF的详细配置

1.观察OSPF报文交互过程

(1)实验目的

配置基本的OSPF,观察其建立邻居关系时的报文交互过程。

(2)IP地址规划

  • 互联地址采用 10.1.XY.X/24位,比如 AR1与 AR2 的互联接口地址分别为 10.1.12.1/24和 10.1.12.2/24,以此类推。
  • 每台设备都有一个测试用的loopback0口,地址为10.1.X.X/32,比如 AR1的loopback0口地址为 10.1.1.1/32,以此类推。

(3)实验拓扑

(4)实验步骤

【1】基本的IP地址配置(本步骤省略)

【2】在AR1和AR2上配置OSPF,配置之前先在链路上开启抓包

这里先复习一下OSPF报文类型及作用:

  • hello 报文:type 类型为1。作用是自动发现邻居路由器,协商参数并维护邻居关系
  • Database(DD 报文):type类型为2。作用是交互链路状态数据库摘要信息,并完成 Master Slave 的选举。
  • Link State Request(LSR 报文):type 类型为 3。作用是请求特定的链路状态信息
  • Link State Update(LSU 报文):type 类型为 4。作用是发送详细的链路状态信息
  • Link State Ack(LSA 报文):type 类型为 5。作用是对 LSU 报文的确认。

打开Wireshark查看OSPF邻居建立过程中的报文交互过程,如图所示

从上图可以看出,在OPSF邻居建立过程中,涉及到了所有OSPF报文的交互,接下来分析整体的OSPF邻居关系的建立过程及报文内容。

a.先打开AR1与AR2发出的OSPF hello报文,报文如下:

在AR1的初始hello包中,可以得到以下信息:

  • 发送源地址为 AR1 的接口地址 10.1.12.1,目的IP 为组播 IP 地址 224.0.0.5
  • OSPF 协议版本为 V2,信息类型为1 hello packet。
  • 源 OSPF 的 router id 为 1.1.1.1。属于区域 0。
  • 掩码信息为 255.255.255.0,hello 间隔为 10S。
  • Options Ebit置位,表示本区域可以支持外部路由的泛洪。
  • DR BDR 尚未选举。

b.打开AR2发给AR1的hello报文:

  • 与AR1发出的初始报文类似,目的就是探测邻居路由器。当两台设备互相收到邻居的hello包后,就可以进行协商参数了。协商通过后开始发送DD报文。

c.打开AR1发给AR2的DD报文:

从 AR1 发出的 DD 报文得到以下信息

  • DD 报文在 MA 网络中通过单播发送。
  • 初始的 DD 报文中三个 bit 全部置1。(I:表示是初始化的 firstDD报文,M:表示 AR1后面还有更多的 DD报文,MS:表示要竞选 Master。)
  • DD序列号:729

d.打开AR2发送给AR1的DD报文:

从 AR2 的初始化 DD 报文中可以得到以下信息:

  • 依旧使用单播发送。
  • DD 报文中的3个bit 位全部置1,表示此 DD为 first DD,同时后面有更多的 DD 报文,同时 AR2 也要竞选 Master角色。
  • DD 序列号:729


通过上面两个初始化的 DD 报文,可以看出,此 DD 报文只有一个头部信息,没有具体的数据库摘要信息,作用就是为了选举 Master和 Slave。选举 Master和 Slave 的目的是为了控制序列号的顺序,以此保证后期 DD 报文的可靠性。

Master和 Slave 的选举采用 routerid,routerid 大的获胜。所以在本实验中 AR2 会作为Master,AR1 会作为 Slave。当角色选定后,由slave 先发送真正的 DD 报文,同时使用Master 初始 DD 报文的序列号作为初始序列号。

e.如下图所示:

  • 此时AR1为Slave设备,同时DD报文序列号使用了Master的初始序列号,并且携带了LSA的摘要信息。
     

f.继续查看下一个AR2发出的DD报文,内容如下图所示:

  • AR2发送的DD报文,角色为Master,序列号加1为730。并且携带了摘要信息。

当DD报文交互完毕后,设备相互了解到了各自设备所具有的LSA,此时设备会互相发送LSR报文进行LSA请求。

g.AR2向AR1发送1类LSA请求报文如下:

h.当AR1收到AR2的LSA请求后,立即发送LSU报文,LSU报文内容如下:

i.当AR2收到LSU后,AR2回复LSACK进行确认,LSACK报文内容如下所示:

  • 同理,AR1也会向着AR2发送LSR请求,AR2回复LSU,以此同步数据库。

2.观察OSPF状态机变迁

(1)实验目的

配置基本的OSPF,观察其建立邻居关系时的状态变化。

(2)IP地址规划

  • 互联地址采用 10.1.XY.X/24位,比如 AR1与 AR2 的互联接口地址分别为 10.1.12.1/24和 10.1.12.2/24,以此类推。
  • 每台设备都有一个测试用的loopback0口,地址为10.1.X.X/32,比如 AR1的loopback0口地址为 10.1.1.1/32,以此类推。

(3)实验拓扑

(4)实验步骤

【1】配置基本的IP地址及基本的OSPF配置。(本步骤省略)

【2】在AR1上开启以下命令来查看OSFP的状态变迁:

【3】在AR2上查看OSPF 信息,如下:

  • 从邻居那收到了hello包,邻居状态由down进入init

  • 再次收到邻居发来的hello包,同时在hello包中包含自己的router-id,此时状态由init进入到2way

  • 发送DD报文进入Exstart状态

  • 交互DD报文并发送LSR请求LSU,并进入Exchange状态

  • 交互完毕进入Loading状态

  • 最后邻居状态为Full

3.观察OSPF各类LSA

(1)实验目的

通过基础实验,观察各类LSA的内容,并理解每种LSA的作用。

(2)IP地址规划

  • 互联地址采用 10.1.XY.X/24位,比如 AR1与 AR2 的互联接口地址分别为 10.1.12.1/24和 10.1.12.2/24,以此类推。
  • 每台设备都有一个测试用的loopback0口,地址为10.1.X.X/32,比如 AR1的loopback0口地址为 10.1.1.1/32,以此类推。

(3)实验拓扑

(4)实验步骤

【1】根据以下需求独立完成基础配置

  • 在 AR5与 AR1 之间配置 RIPv2,关闭自动汇总,将AR5 的所有接口及 AR1 的 G0/0/1口宣告进入 RIP。
  • 将AR1的 G0/0/0口、loopback0口、AR2的 G0/0/0 口宣告进入 OSPF 的区域1。
  • 将AR2的G0/0/1口、loopback0口、AR3的G0/0/1 口、AR3 的 loopback0口宣告进入区域0。
  • 将 AR3 的 G0/0/0 口及 AR4 的所有接口宣告进入 OSPF 区域 2。

【2】完成基础配置后,在AR1上通过以下命令检查路由学习情况。

  • 在AR1上查看从RIP学习到的路由

  • 在AR1上查看从OSPF学习到的路由

【3】在AR1上执行RIP与OSPF的双向引入

【4】在AR2上查看引入的外部路由是否存在

【5】接下来观察各类LSA。首先在AR1上观察1类LSA(Router LSA)。

  • 通过命令可以看到在区域1中只有两个1类LSA,分别由AR1和 AR2产生。作业就是为了描述本区域的拓扑数据库及传递路由信息,只能在所属区域内泛红。在该区域1中,AR1的 loopback0 口在 LSA 中携带了其掩码信息,但是两台路由器互联网段没有包含掩码信息。此时需要在此处查看2类LSA。

【6】对于2类LSA是由 DR产生的,通过以下命令查看实际内容。

  • 通过以上信息得知,2类LSA只能在所属区域泛洪,通告者为 DR,传递的内容为 transit网络掩码及拓扑信息。
  • 实际1类和 2类结合起来就是用来传递区域内的网络拓扑及域内路由信息。

【7】接下来查看 3类 LSA,在 AR4 上输入以下命令查看 3类 LSA;

  • 在 AR4 上看到大量的3类LSA,3类 LSA 全部属于区域 2,表示这些 3类 LSA 传递范围为区域 2。通过 3类LSA的内容可以得知,3类 LSA 就是传递的其他区域的路由信息(域间路由),由本区域的 ABR AR3 进行了通告。
  • 在 OSPF 区域中引入了外部路由,就会产生5类LSA,同时也会伴随 4类LSA 的产生在本实验中区域1中的 AR1上引入了外部路由,此时AR1为 ASBR路由器。

【8】所以在 AR1上输入以下命令可以查看自身是否产生了5类LSA。

  • 从5类LSA 中可以看到,5类 LSA主要用来传递外部路由,并且它不像1类、2 类、3 类有区域所属,它不属于任何一个区域,所有5类 LSA 的泛洪范围为整个 OSPF 区域,并且在整个 OSPF 区域中进行泛洪时所有信息保持不变,那么此时其他区域就无法知道通告者是谁,无法知道通告者也就无法进行路由计算。(本区域有本区域的完整的数据库,很清楚的知道通告者 1.1.1.1 是谁,但是其他区域,比如区域0、区域2不知道谁是1.1.1.1,此时就需要使用 4类 LSA。)

【9】所以在本实验拓扑中在区域0或者区域2中可以观察看到4类LSA,区域1中是没有四类LSA。

  • 此 4类 LSA 表达的意思为可以通过 AR2 设备,到达目标设备 ASBR 1.1.1.1,且开销为此时其他区域有了4类LSA的指引,就知道了5类LSA的方向,就可以计算外部路由。接下来将区域1 配置为 NSSA 区域。(本基本配置省略)

【10】配置完毕后在AR2上查看7类LSA如下:

  • 其实 7 类 LSA 和 5 类 LSA 基本保持一致,只不过7类 LSA 只能在 ASBR 所在区域泛洪当需要泛洪到其他区域的时候,由ASBR所在区域的ABR进行7转5的操作。

【11】所以在本实验环境中,在 AR2、AR3、AR4 上看到的会是5类LSA。

  • 在AR3上是看不到nssa的LSA的。


4.配置OSPF汇总

(1)实验目的

理解并掌握OSPF汇总的配置

(2)IP地址规划

  • 互联地址采用 10.1.XY.X/24位,比如 AR1与 AR2 的互联接口地址分别为 10.1.12.1/24和 10.1.12.2/24,以此类推。
  • 每台设备都有一个测试用的loopback0口,地址为10.1.X.X/32,比如 AR1的loopback0口地址为 10.1.1.1/32,以此类推。

(3)实验拓扑

(4)实验步骤

在实验三的基础之上完成OSPF汇总实验。

对于OSPF的汇总,有两种汇总:

  • 在ABR上对域间路由进行汇总。
  • 在ASBR上对外部路由进行汇总。

【1】在AR4上查看AR2的环回口路由,显示如下:

【2】现在需要对AR4收到的这条AR2的路由进行汇总,此时需要再本区域中的ABR设备AR3上进行汇总,命令如下:

  • 继续在AR4上查看AR2的Lookback路由:

【3】在AR4上查看AR5的lookback0的路由:

【4】在AR1上进行外部路由的汇总,在AR1上配置以下命令:

【5】在AR4上继续查看AR5的lookaback0的路由:

5.配置OSPF认证并查看认证报文

(1)实验目的

能够熟练的配置OSPF认证,并掌握OSPF认证报文的封装格式。

(2)IP地址规划

  • 互联地址采用 10.1.XY.X/24位,比如 AR1与 AR2 的互联接口地址分别为 10.1.12.1/24和 10.1.12.2/24,以此类推。
  • 每台设备都有一个测试用的loopback0口,地址为10.1.X.X/32,比如 AR1的loopback0口地址为 10.1.1.1/32,以此类推。

(3)实验拓扑

(4)实验步骤

OSPF认证有以下三种类型:

  • 接口认证,直接配置在接口,通过本接口发出的 OSPF 报文都会携带认证信息。
  • 区域认证,配置在某个区域,在本设备上属于本区域的接口发出的 OSPF 报文都会携带认证信息。
  • 虚链路认证,在虚链路上配置的认证。本质属于接口认证,在虚链路上配置了认证,在虚链路上发出的 OSPF 报文都会携带认证信息。

【1】首先在 AR1与 AR2 互联链路上配置接口认证,配置命令如下:

【2】在AR1的G0/0/0开启抓包,OSPF认证信息如下:

所以 OSPF 的认证信息是封装在 OSPF 报头中,而不是说封装在 OSPF的 hello 包、LSR、LSU 等报文。

  • Auth Type:认证类型,此处为 MD5。
  • Auth Crypt Key ID:配置的ID 号
  • Auth Crypt Data Length:数据长度为 16
  • Auth Crypt Data:经过 HMAC-MD5 哈希得到的字符串

【3】接下来在Area0中配置区域认证,要求区域0所有设备都必须配置,配置命令如下:


6.OSPF IP FRR实验

(1)实验目的

配置并观察OSPF IP FRR

(2)IP地址规划

  • 互联地址采用 10.1.XY.X/24位,比如 AR1与 AR2 的互联接口地址分别为 10.1.12.1/24和 10.1.12.2/24,以此类推。
  • 每台设备都有一个测试用的loopback0口,地址为10.1.X.X/32,比如 AR1的loopback0口地址为 10.1.1.1/32,以此类推。

(3)实验拓扑

(4)实验步骤

  • 完成拓扑的底层配置,配置接口的IP地址,每台路由器都运行 OSPF,全部宣告到区域1中。R3 新建环回口 10.1.3.3 也宣告到区域1中,修改链路上的 OSPF 开销值为上图中的数值。
  • 这时候我们如果将 R2上的0口 Down 掉,因为是直连的缘故,所以 R1很快能将路线从下一跳 R2 切换到下一跳 R4。我们这中间是重新经历了一次 SPF 计算,在这个拓扑中我们网络规模不大,所以 OSPF 很快就可以完成收敛,没有发生丢包现象,但如果网络规模变大,OSPF链路状态数据库中存在上万条或者数万条链路状态信息,可能就会导致收敛非常缓慢。

  • 所以,在生产中我们可能会运用到一项技术就是 OSPF IP FRR,这项技术的原理是在主链路正常的时候就将备用链路提前计算好,方便如果主链路产生故障的时候在 50 毫秒内切换到备用链路上,保证通信的正常进行,但是配置 FRR后,被选成备用链路是有条件的,必须要满足链路保护公式:就是图中  R4到R3的开销 < R4到R1+R1到R3的。这样可以保证没有环路产生。
  • 打开R2的0口,然后在R1上查看R3的路由,可以看到是没有备份路由的。

  • 这时候我们去使能FRR,然后开启LFA计算

  • 然后我们再看去往R3的路由

可以看到是有备份链路的,如果主链路发生故障,切换到备份链路会在50ms内完成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值