理解OSPF Router-ID

1:原理概述:

一些动态路由协议要求使用Router-ID作为路由器的身份标示,如果在启动这些路由协议时没有指定Router-ID,则路由进程可能无法正常启动。

Router-ID选举规则为,如果通过Router-ID命令配置了Router-ID,则按照配置结果设置。在没有配置Router-ID的情况下,如果存在配置了IP地址的Loopback接口,则选择Loopback接口地址中最大的地址作为Router-ID;如果没有已配置IP地址的Loopback接口,则从其他接口的IP地址中选择最大的地址作为Router-ID(不考虑接口的UpDown状态).

当且仅当被选为Router-ID的接口IP地址被删除/修改,才触发重新选择过程,其他情况(例如接口处于DOWN状态;已经选取了一个非Loopback接口地址后又配置了一个Loopback接口地址;配置了一个更大的接口地址等)不触发重新选择的过程。

Router-ID改变之后,各协议需要通过手工执行reset命令才会重新选取新的Router-ID。

2:实验目的:

理解Router-ID的选举规则

掌握OSPF手动配置Router-ID的方法

理解OSPF中Router-ID必须唯一的意义

3:连接拓扑图,开始实验:

4:我们首先配置好接口和OSPF:

AR1:interface GigabitEthernet0/0/0ip address 10.0.1.254 255.255.255.0#interface GigabitEthernet0/0/1ip address 10.0.12.1 255.255.255.0#interface NULL0#ospf 1area 0.0.0.0network 10.0.0.0 0.0.0.255network 10.0.1.0 0.0.0.255network 10.0.12.0 0.0.0.255AR2:interface GigabitEthernet0/0/0ip address 10.0.12.254 255.255.255.0#interface GigabitEthernet0/0/1ip address 10.0.23.254 255.255.255.0#interface GigabitEthernet2/0/0ip address 10.0.24.1 255.255.255.0#interface NULL0#ospf 1area 0.0.0.0network 10.0.0.0 0.0.0.255network 10.0.12.0 0.0.0.255network 10.0.23.0 0.0.0.255network 10.0.24.0 0.0.0.255AR3:interface GigabitEthernet0/0/0ip address 10.0.23.1 255.255.255.0#interface GigabitEthernet0/0/1ip address 10.0.2.254 255.255.255.0#interface NULL0#ospf 1area 0.0.0.0network 10.0.0.0 0.0.0.255network 10.0.2.0 0.0.0.255network 10.0.23.0 0.0.0.255AR4:interface GigabitEthernet0/0/0ip address 10.0.24.254 255.255.255.0#interface GigabitEthernet0/0/1ip address 10.0.3.254 255.255.255.0#interface NULL0#ospf 1area 0.0.0.0network 10.0.3.0 0.0.0.255network 10.0.24.0 0.0.0.255

配置完成后,我们查看各个路由器的路由表:

AR1:

AR2:

AR3:

AR4:

我们验证网络的连通性:

PC1与PC2和PC3互通;

我们开始下一步:

5:我们验证Router-ID选举规则:

在进行基础配置之前,在AR1上使用display router id 命令来查看当前设备上

的Router-ID

因为我们刚刚配置了接口。所以我们查看Router-ID是有信息的;

如果我们没有配置的话,它是没有的,

我们查看AR1的接口信息:

我们接下来在AR1上配置环回端口:

我们查看当前设备的router id 可以观察到,当前端口router id为10.0.1.254,而不是loopback环回接口地址1.1.1.1,这是为什么呢?

原因是接口配置顺序会影响Router-ID的选举,因为设备上第一次配置的物理接口的地址,该动作会触发Router-ID的选举,而此刻,设备上也有且仅有该物理地址,所以该地址便会Router-ID所使用,后续即使再配置了环回接口地址也不会使用。同理,如果第一次配置的是其他接口物理接口的地址,或者是环回接口的地址,都会被Router-ID所使用;在AR1上删除G0/0/0接口的IP地址,并再次查看此时设备的Router-ID

我们再次查看AR1的Router-ID

我们发现删除当前Router-ID所使用的IP地址时。便会触发重新选举,按照环回接口优先的规则选择用1.1.1.1作为Router-ID;

我们也可以采用手动配置的方式强制指定AR1的Router-ID为1.1.1.1,这样配置的优点是,即使该地址现在已经不是AR1的任何接口地址,也可以修改为Router-ID(删除该环回接口也不会触发重新选举,验证省略)

该信息表示Router-ID已经被修改,请重启相应的路由协议进行更新。即当前全局配置的Router-ID已经被更新,如果目前设备上已经运行了OSPF协议,需要重置OSPF协议进程或者重启整合路由器才可以使得OSPF协议中Router-ID也同步更新使用该新的全局Router-ID,需要使用reset ospf process 命令来重置OSPF协议进程;

6:我在开始的时候就做了基础配置,实现了全网互通,接下来我们给其他三个路由器配置上OSPF协议的私有Router-ID,如果不配置,则默认使用全局下的Router-ID。

注意分区设备全局下的Router-ID和路由协议的Router-ID,因为环回接口是逻辑接口比物理接口更加稳定。在对网络操作时,网络管理员有可能误操作导致物理接口地址删除,或者改动,而环回接口则一般不会去改动;

AR1:

AR2:

AR3:

AR4:

我们将每台路由器的Router-id都配置了一遍,也都查看了一遍,目的是理解OSPF的Router-ID

我们查看各个路由器的OSPF的邻居关系:

AR1:

AR2:

AR3:

AR4:

我们现在的截图是为了下面的实验,用来做对比:

7:我们现在修改AR2的Router-ID为3.3.3.3,即AR3的Router-ID,使AR3和AR2的Router-ID重叠,并重置协议进程使该配置生效;

待协议收敛后,再次查看AR2的OSPF的邻居信息;

可以观察到,AR2和AR3的邻居关系消失;

此时,我们测试其连通性;

网络已经发生故障,无法正常通信。验证了OSPF建立了直连邻居关系时,Router-ID一定不能重叠。

那么如果OSPF非直连邻居Router-ID重叠会产生什么现象,我们不用想也知道,肯定是不通;(此处实验我们就省略喽)

实验结论:

OSPF协议的Router-ID务必要在整个路由选择域内保持唯一;

知识拓展:

在OSPF路由中会使用router id来标识路由器的序列号,竞选DR和BDR根据router-id的大小进行。

Loopback口叫回环口,是一个虚拟的接口,如果路由器不关机,即使物理接口全都down了,loopback口还是会存在的,一般loopback口是用来检测和管理主机等,因为它在正常的情况下是非常稳定的。

Router-ID在OSPF中,起到了一个表明身份的作用,不同的router-id表明了一个OSPF进程中不同路由器的身份。一般如果不手工指定的话,会默认用loopback口来作为router-id,就如同我前面说的,因为loopback口非常稳定,不会受链路的up/down的影响。

如果loopback口没有地址,会用物理接口上最大的IP地址作为router-id,如果连物理接口都没有,路由器会提示手工指定一个router-id.

这篇博文,是为了下一篇博文在OSPF中DR和BDR如何选举而做铺垫的,所以请耐心看完这篇博文的小白们,敬请期待!

今天就说到这里吧!感谢各位的阅读,写的不好的地方,希望各位多多包涵,您的鼓励就是我写博客前进的动力!

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

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

超详细解读OSPF Router-ID相关推荐

  1. 经典神经网络论文超详细解读(三)——GoogLeNet InceptionV1学习笔记(翻译+精读+代码复现)

    前言 在上一期中介绍了VGG,VGG在2014年ImageNet 中获得了定位任务第1名和分类任务第2名的好成绩,而今天要介绍的就是同年分类任务的第一名--GoogLeNet . 作为2014年Ima ...

  2. 经典神经网络论文超详细解读(八)——ResNeXt学习笔记(翻译+精读+代码复现)

    前言 今天我们一起来学习何恺明大神的又一经典之作: ResNeXt(<Aggregated Residual Transformations for Deep Neural Networks&g ...

  3. 【YOLO系列】YOLOv1论文超详细解读(翻译 +学习笔记)

    前言 从这篇开始,我们将进入YOLO的学习.YOLO是目前比较流行的目标检测算法,速度快且结构简单,其他的目标检测算法如RCNN系列,以后有时间的话再介绍. 本文主要介绍的是YOLOV1,这是由以Jo ...

  4. 【YOLO系列】--YOLOv1超详细解读/总结

    文章目录 前言 摘要 一.Introduction-介绍 二. Unified Detection-统一检测 三.Comparison to Other Detection Systems-与其他目标 ...

  5. 经典神经网络论文超详细解读(二)——VGGNet学习笔记(翻译+精读)

    前言 上一篇我们介绍了经典神经网络的开山力作--AlexNet:经典神经网络论文超详细解读(一)--AlexNet学习笔记(翻译+精读) 在文章最后提及了深度对网络结果很重要.今天我们要读的这篇VGG ...

  6. EfficientDet(EfficientNet+BiFPN)论文超详细解读(翻译+学习笔记+代码实现)

    前言 在之前我们介绍过EfficientNet(直通车:[轻量化网络系列(6)]EfficientNetV1论文超详细解读(翻译 +学习笔记+代码实现) [轻量化网络系列(7)]EfficientNe ...

  7. java算法竞赛必备之快读快写(超详细解读)

    java算法竞赛必备之快读快写(超详细解读) java写算法的缺点:速度慢.读写复杂.莫名WA(错误答案).TL(超时).CL(超内存)- (那我们还学个啥啊,都转c++写算法不香嘛.)别急别急,有缺 ...

  8. 【YOLO系列】YOLOv5超详细解读(网络详解)

    前言 吼吼!终于来到了YOLOv5啦! 首先,一个热知识:YOLOv5没有发表正式论文哦~ 为什么呢?可能YOLOv5项目的作者Glenn Jocher还在吃帽子吧,hh 目录 前言 一.YOLOv5 ...

  9. 【轻量化网络系列(2)】MobileNetV2论文超详细解读(翻译 +学习笔记+代码实现)

    前言 上一篇我们介绍了MobileNetV1,主要是将普通Conv转换为dw和pw,但是在dw中训练出来可能会很多0,也就是depthwise部分得到卷积核会废掉,即卷积核参数大部分为0,因为权重数量 ...

最新文章

  1. 自学ng2 -生命周期钩子
  2. 11gR2 RAC手动添加节点数据库实例
  3. 计算机网络项目化实训教程,计算机网络项目实训教程
  4. 在终端设备上实现语音识别:ARM开源了TensorFlow预训练模型
  5. C#中对XML文件的一些基本操作[转载]
  6. backbond Model实现
  7. Elite Model的NetSuite ERP国内成功实例!
  8. 金蝶K3 Wise—BOM批量多级展开
  9. 货币制度 - 异想天开
  10. 自动驾驶(十五)---------再论轨迹规划
  11. 397. 整数替换【我亦无他唯手熟尔】
  12. ARM_kafka搭建
  13. c语言字符串删掉小写字母
  14. 【开源】23个优秀的机器学习数据集
  15. Spring RMI反序列化漏洞分析
  16. Oracle技巧:如何诊断一些未预料的 Oracle 错误(ORA-NNNN)
  17. selenium.common.exceptions.SessionNotCreatedException浏览器版本不匹配报错
  18. 大数据基础之Hadoop(三)—— MapReduce
  19. 使用Java开发人脸融合(换军装等)并接入微信小程序
  20. CentOS 8 安装golang

热门文章

  1. 二、PC连接上tello edu并通过python进行简单控制
  2. @angular/http和@angular/common/http 区别
  3. 前端实训-----摆弄形状、浮动,高度塌陷等
  4. 许永鑫 南京理工大学计算机学院,南京理工大学计算机学院导师介绍:付安民...
  5. 查看SQL查询数据所话费时间
  6. 小程序canvas绘图保存至相册
  7. maven之插件仓库
  8. 【数据分析师---数据可视化】第二章:plotly绘图基础篇
  9. “好奇号”火星探测器正在利用AI自主寻找探测目标
  10. 植物叶片——相对电导率Relative conductivity