路由基础之OSPF邻居邻接关系(ospf邻居正常但学不到路由)

网友投稿 3019 2022-09-18


路由基础之OSPF邻居邻接关系(ospf邻居正常但学不到路由)

OSPF邻居邻接关系

原理概述:

OSPF网络中,路由器在发送任何链路状态信息之前,必须建立起正确的OSPF邻居建立关系。OSPF路由器是使用Hello报文来建立邻居关系的。OSPF路由器会检查所收到的Hello报文中的各种参数,如Router-ID、Area-ID、认证信息、网络掩码、Hello时间间隔等。如果这些参数和接收接口上配置的对应参数都一一保持一致,则邻居关系就会建立起来,否则就无法建立起邻居关系。OSPF路由器的邻居关系建立完成之后,下一步才是建立邻接关系。并不是所有的OSPF邻居关系之间都可以建立邻接关系,这取决于OSPF邻居关系之间的网络类型。例如,在点到点网络上,有效的OSPF邻居关系都可以进一步形成邻接关系。在广播型网络上,后选举DR和BDR;DR和BDR会与所有其他路由器都建立邻接关系,其他路由器都建立邻接关系,其他路由器都只与DR和BDR建立邻接关系。

实验目的:理解OSPF邻居关系和OSPF邻接关系的含义及差别观察OSPF邻居邻接关系的建立过程观察OSPF链路状态数据库的同步过程​

开始实验;实验拓扑如图所示:

1:首先先把接口地址以及网络协议都配置好:

R1:

#interface GigabitEthernet0/0/0 ip address 10.0.123.1 255.255.255.0 #interface GigabitEthernet0/0/1 ip address 10.0.14.1 255.255.255.0 #interface GigabitEthernet0/0/2 ip address 10.0.15.1 255.255.255.0 #interface NULL0#interface LoopBack0 ip address 10.0.1.1 255.255.255.255 #ospf 1 area 0.0.0.0 network 10.0.1.1 0.0.0.0 network 10.0.123.0 0.0.0.255 area 0.0.0.1 network 10.0.14.1 0.0.0.0 area 0.0.0.2 network 10.0.15.1 0.0.0.0

R2:

#interface GigabitEthernet0/0/0 ip address 10.0.123.2 255.255.255.0 #interface GigabitEthernet0/0/1#interface GigabitEthernet0/0/2#interface NULL0#interface LoopBack0 ip address 10.0.2.2 255.255.255.255 #ospf 1 area 0.0.0.0 network 10.0.2.2 0.0.0.0 network 10.0.123.0 0.0.0.255

R3:

#interface GigabitEthernet0/0/0 ip address 10.0.123.3 255.255.255.0 #interface GigabitEthernet0/0/1#interface GigabitEthernet0/0/2#interface NULL0#interface LoopBack0 ip address 10.0.3.3 255.255.255.255 #ospf 1 area 0.0.0.0 network 10.0.3.3 0.0.0.0 network 10.0.123.0 0.0.0.255

R4:

#interface GigabitEthernet0/0/0 ip address 10.0.14.4 255.255.255.0 #interface GigabitEthernet0/0/1#interface GigabitEthernet0/0/2#interface NULL0#interface LoopBack0 ip address 10.0.4.4 255.255.255.255 #ospf 1 area 0.0.0.1 network 10.0.4.4 0.0.0.0 network 10.0.14.4 0.0.0.0

R5:

#interface GigabitEthernet0/0/0 ip address 10.0.15.5 255.255.255.0 #interface GigabitEthernet0/0/1#interface GigabitEthernet0/0/2#interface NULL0#interface LoopBack0 ip address 10.0.5.5 255.255.255.255 #ospf 1 area 0.0.0.2 network 10.0.5.5 0.0.0.0 network 10.0.15.0 0.0.0.255

都配置完毕,在这里解释一下:

本实验模拟一个跨国企业网络场景,国内集团总部的路由器R1,R2,R3组成一个广播型网络,国外分公司1的路由器R4与国内集团总部核心路由器R1组成了一个点到点网络,国外分公司2的路由器R5与国内集团总部核心路由器R1组成了另一个点到点网络。

2:我们在每台路由器上都配置了OSPF协议:

其中我们如开头的图也可以看出,R1,R2,R3之间的链路属于区域0,R1和R4之间的链路属于区域1,R1和R5之间的链路属于区域2。

配置命令如上所示;

我们配置完成后,查看R1的OSPF邻居建立情况:

可以看到,R1的OSPF邻居关系都为FULL,说明邻居邻接关系已经成功建立,在R1上查看OSPF邻居状态的详细信息;

可以看到,包含R1,R2,R3的广播网络已经完成了DR/BDR的选举,选举结果如图所示,10.0.123.2(R2)为DR,10.0.123.3(R3)为BDR。R1和R4之间,R1和R5之间的两个点到点网络都没有进行DR/BDR的选举。

在R1上查看广播型网络接口G0/0/0和点到点网络接口G0/0/1的详细信息

可以看到,广播网络接口和点到点网络接口默认的Hello时间间隔都为10s,失效时间都为40s。

3:观察OSPF邻居邻接关系的建立过程

首先观察在广播网络上OSPF邻居邻接关系的建立过程。为了在R1上清晰地观察到广播网络上OSPF邻居邻接关系的建立过程,先关闭R1上的G0/0/0和G0/0/1接口。

[R1]int g0/0/1[R1-GigabitEthernet0/0/1]sh [R1-GigabitEthernet0/0/1]shutdown [R1-GigabitEthernet0/0/1]int g0/0/2[R1-GigabitEthernet0/0/2]sh [R1-GigabitEthernet0/0/2]shutdown

然后,在R1上查看OSPF邻居关系

可以看到,R1和R2、R3的邻居关系都是Full,说明已经建立好了邻接关系。

现在,在R1上重启OSPF的进程,通过Debugging调试观察R1与R2之间的OSPF邻接关系的建立过程。

debugging ospf packetreset ospf processWarning: The OSPF process will be reset. Continue? [Y/N]:y

[R1]int g0/0/0[R1-GigabitEthernet0/0/0]ospf dr-priority 0[R2]int g0/0/0[R2-GigabitEthernet0/0/0]ospf dr-priority 0

重启R1和R2上的OSPF进程后,先在DR路由器R3上查看OSPF的邻居建立情况

可以看到,R3为DR,网络中没有BDR,R3分别与R1和R2建立了邻接关系。

在路由器R1上查看OSPF邻居关系建立情况。

可以看到,R1与DR路由器R3建立的是邻接关系,状态为FULL,而与DRouthers路由器R2只建立了邻居关系,状态2-Way。

在路由器R1上重启OSPF进程,通过Debugging调试观察OSPF邻居关系的建立过程。

实验观察到点到点网络中OSPF的邻居关系建立情况,开启R1上的两个接口G0/0/1、G0/0/2

[R1]int g0/0/1[R1-GigabitEthernet0/0/1]un sh [R1-GigabitEthernet0/0/1]un shutdown [R1-GigabitEthernet0/0/1]int g0/0/2[R1-GigabitEthernet0/0/2]un sh [R1-GigabitEthernet0/0/2]un shutdown

然后,在R1上查看OSPF邻居建立情况

4:观察OSPF链路状态数据库的同步过程

查看报文情况

从图中我们可以观察到OSPF协议的各种数据报文,它们反映LSDB的同步过程,同时也反映了OSPF邻居邻接关系建立的过程:

首先,R1(10.0.14.1)和R4(10.0.14.4)通过Hello报文进行协商,然后通过数据库描述(DD:Database Description)报文、链路状态请求(LSR:Link State Ruquest)报文,链路状态更新(LSU:Link State Update)报文等,最终实现了LSDB的同步,并建立起OSPF邻接关系。

从图中我们可以观察到OSPF协议的各种数据报文,它们反映LSDB的同步过程,同时也反映了OSPF邻居邻接关系建立的过程:首先,R1(10.0.14.1)和R4(10.0.14.4)通过Hello报文进行协商,然后通过数据库描述(DD:Database Description)报文、链路状态请求(LSR:Link State Ruquest)报文,链路状态更新(LSU:Link State Update)报文等,最终实现了LSDB的同步,并建立起OSPF邻接关系。

下面我们来分析一下R1和R4相互发送的Hello报文:

NO.21(Hello报文):

NO.22(Hello报文):

可以看出Hello报文中,包含了很多基本信息,例如,子网掩码为24位,Hello间隔时间为10s,路由器死亡时间间隔为40s,网络上没有DR和BDR。另外,R4发布的Hello报文中指出了活跃邻居为R1,这说明R1和R4成功建立了OSPF邻居关系;

NO.23(DD报文):

NO:24(DD报文):

可以发现首次交互的DD报文,其中一位、M位、MS位都设置为1。R1和R4都宣称自己为主路由器。这两个DD报文是不包含数据库摘要信息的。首次DD报文交互后,便可选举出Router-ID较大的R4为主路由器。

关于OSPF的知识点(补充)

OSPFv3与OSPFv2的区别

相同点:

1:网络类型和接口类型相同2:五种报文和邻居状态机基本相同(除Hello报文中有些不同)3:链路状态数据库相同(LSDB)4:LSA泛洪和老化机制一样5:路由计算基本相同

不同点:

1:相对于OSPFv2 ,OSPFv3Hello报文中删除了v2中的Network mask和认证字段。增加了instance ID 和interface ID。2:OSPFv2是基于网段,OSPFv3是基于链路。3:OSPFv2中Router-LSA,Network-LSA描述了路由信息和拓扑信息。而OSPFv3中Router-LSA,Network-LSA只描述拓扑信息,路由信息由九类intra-area-prefix-LSA来描述(普通路由器发布一类LSA描述的地址前缀,DR则描述二类LSA描述的地址前缀)。4:OSPFv3支持一个链路上多个进程(通过instance ID来实现)而OSPFv2不行。5:OSPFv3认证是依赖IPV6拓展报头中AH和ESP实现。6:OSPFv3可以不依靠IPV6全局单播地址建立邻居(Vlink需要依靠),而OSPFv2则必须依靠IP地址。7:OSPFv3通过Router-id唯一标识邻居,OSPFv2可以使用IP地址标识。8:Option字段的变化。OSPFv3中新增R位和V6位。都默认为1.为0则表示不计算,当R=0时,除了去访问该路由器,访问其他设备都不会经过此路由器。9:OSPFv3有九种LSA,相对OSPFv2增加了Link-LSA(8类)和Intra Area prefix LSA(九类)。

备注:如有错误,请谅解!

此文章为本人学习笔记,仅供参考!如有重复!!!请联系本人!


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:路由基础之OSPF链路状态数据库(ospf链路状态数据库中保存一个完整的路由表)
下一篇:springboot+rabbitmq实现指定消费者才能消费的方法
相关文章

 发表评论

暂时没有评论,来抢沙发吧~