暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

华为路由技术:OSPF router-id优先级顺序深入详解

爱婷如命一生一世 2017-12-15
3354


在OSPF网络中,路由器发送任何链路状态信息之前,都必须建立起正确的OSPF邻居邻接关系,而建立邻居邻接关系是依靠hello报文来实现,OSPF路由器会检查所收到hello报文中的各种参数,比如router-ID,area-id,认证信息,子网掩码......

hello报文中这么多的参数信息,我今天便分享的是router-id。

 OSPF router-id 指定优先级


在讨论router-ID 之前,复习下OSPF的基础配置:首先要明白的是network使能后,接口发送的信息可不是单单一个网络信息而是汇总后的:

 如下图



OSPF动态路由协议是具有大局意识的特点


这个协议能够看到整个网络拓扑中每一个目标网络的路由方向。

之前,我在分享is-is动态路由协议的时候,说过网络实体名的概念,在is-is中网络实体名叫做network,每一台路由器都有一个唯一的网络实体名,而在OSPF中叫做router-id,而这个route-ID也是用来标识自己的。


关于OSPF中的router-id;是如何指定的呢?

华为官方是这样的定义的:缺省情况下,系统会从当前设备IP地址中选取一个最大值作为router-ID。


通常情况下,router-id指定会出现以下的三种方式(优先级级别也是从1--->3的)

①手工指定。

②‘取环回接口中最大IP地址作为router-id’。华为官方在router-ID优先顺序中并没有说明这一条,注意这里我用的是引号标注的

取物理接口上(活动)最大的IP地址作为 router-id。(但是我在做实验时,却发现即使 把IP地址最大的接口down时,也认为是此设备的router-id)


OSPF网络架构是十分具有智慧型的这一特点,以自己为中心,能够找到去往目标网络最优的路由方向。

router-ID的作用:(很像人类社会中的身份中。)使OSPF网络更加稳定可靠,路由器通常会启用Loopback接口,并配置特定的IP地址,且将此地址作为自己的router-id,从而在网络中标识自己。





router-id优先级顺序论证实验


拓扑如下:(为了验证优先级,我先把loopback接口去掉)

①把loopback接口去掉:

先查看下R1设备下所有接口的信息情况:

[R1]display ip interface brief 

[R1]interface LoopBack 1

[R1-LoopBack1]undo  ip address 192.168.1.1 24

[R1-LoopBack1]int loopback 2

[R1-LoopBack2]undo ip add 192.168.100.1 24

配置完成后查看各接口状态:只看到了s4/0/0的物理接口地址了,loopback接口是消失的就是对的。


同样的,也需要在r2这台设备上清除掉环回接口的地址:



②重新配置R1和R2的OSPF协议:

[r1-ospf-1-area-0.0.0.1]dis this 

 area 0.0.0.1 

  network 10.0.0.0 0.0.0.3 


配置完成后,R1和R2这两台设备就建立起了OSPF的邻接关系:


那除了查看路由表证明OSPF关系建立成功以外,还有没有别的办法查看邻居关系呢?

③查看邻居邻接关系

[r1-ospf-1]dis ospf peer 

从这张图我们可以看出处于区域1的IP地址是10.0.0.1的接口是s4/0/0的邻居router-id是10.0.3.1,IP地址是10.0.0.2.


从router-ID的优先级上来看:我第一二条并没有配置,之前我也是删除掉的,

①手工指定。

②取环回接口中最大IP地址作为router-id。

③取物理接口上(活动)最大的IP地址作为 router-id。


所以,我站在R2上来查看它的IP地址,是哪个最大且状态是down的:

很明显是10.0.3.1/30这个,因此R1就认为自己的s4/0/0接口所对应的邻居的router-id就是10.0.3.1



R1是如何知道R2有10.0.3.1这个网段呢?

这个分析的角度不能站在R1上,我们一定要站在R2上去分析,这肯定是R2通告给了R1的。因为建立邻接关系是依靠hello报文的,OSPF的相关报文后续文章我会详细分享。


讨论router-id的优先级顺序:

①手工指定。

②取环回接口中最大IP地址作为router-id。

③取物理接口上(活动)最大的IP地址作为 router-id。



①R2上新增一个环回接口地址:

[R2]int LoopBack 1

[R2-LoopBack1]ip add 192.168.2.1 24


②我们按照优先级的官方理论的字面意思上来分析,如果我将添加了环回接口地址的话,理应在R1上就能看到其邻居的router-id应该是192.168.2.1了。

可是站在R1上观察邻接关系:依旧还是10.0.3.1

这样看起来ospf的router-ID优先级的优先顺序并没有成立。


但是不要被表面现象所迷惑,我下一步的操作便是将R1和R2的OSPF重置!

③站在R1和R2上进行重置OSPF进程:

<r1>reset ospf 1 process 


观察R1和R2邻接关系的router-id 依旧没有变化:


这么一看,还真的是跟华为官方的所说的router-id的优先级顺序是违背的。

但是我保存设备配置后,重启设备,再次观察:还是依旧没有变化,这就说明不是很稳定,除非我们将OSPF重新删除掉,重新配置,也不一定能看到router-ID的变化。这就说明了华为在这一方面确实没有思科那样的稳定,思科方面只要有环回接口地址的存在,一执行重置OSPF进程,router-id就可以里面更改回来。




手工指定router-id


①先删除之前的R1和R2上的OSPF配置:

[r1]undo ospf 1

Warning: The OSPF process will be deleted. Continue? [Y/N]:y



②手工指定router-id命令:

我先在R1上配置后在R2上配置

[r1]ospf 1 router-id 192.168.1.1


配置完成后,查看R1和R2的OSPF邻接关系状态:

结果显示手工配置有效。


其实,今天的分享的只是单单一个区域,知识的深度远远不够,OSPF网络本身就是针对中大型网络而生,后续的文章中会深入讲解,而学习OSPF的基本思路无非就是要熟悉OSPF的运作原理,其中包括:(初学者学习时可以先从4 3 1 2 这样的由浅入深的学习。)

①OSPF的报文类型。

②OSPF的LSA类型。

③OSPF的路由器类型。

④OSPF的区域类型






下回文章我会分享的是OSPF的区域类型。



文章转载自爱婷如命一生一世,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论