学习笔记——动态路由协议——OSPF(OSPF基本术语)

OSPF基本术语

1、链路状态(LS)链路状态通告(LSA)

链路(LINK):路由器上的一个接口。 状态(State):描述接口以及其与邻居路由器之间的关系。

(1)链路状态(LS)

OSPF是一种链路状态协议,所谓的链路状态,其实就是路由器的接口状态。有关各条链路的状态的信息,用来描述路由器接口以及与邻居路由器的关系

在OSPF中路由器的某一接口的链路状态包含了如下信息:

① 该接口的链路的类型、IP地址及掩码

② 该接口的带宽(开销)

③ 该接口所连接的邻居

OSPF核心思想是每台路由器都将自己的各个接口的接口状态(即链路状态)共享给其他路由器

路由器接口状态

该接口的IP地址及掩码

该接口所属区域的Area-ID

该接口所属路由器的Router-ID

该接口的接口类型(也就是该接口的网络类型,如P2P,广播型)

该接口的接口开销(通常以接口带宽来定义接口开销,带宽越大,开销越小)

该接口所属的路由器的Router Priority(这个参数是用来选举DR与BDR的)

该接口所在二层网络中的DR、BDR

该接口的Hello Dead Interval(接口发送Hello报文的间隔时间)

该接口的Router Dead Interval(实效时间)

该接口所有邻居路由器

该接口认证类型

该接口秘钥等等

(2)链路状态通告(LSA)

LSA(Link State Advertisement)是路由器之间链路状态信息的载体。LSA用来描述路由器和链路的状态。LSA是LSDB的最小组成单位,也就是说LSDB由一条条LSA构成的

LSA(链路状态通告)包含:链路上的网络类型、接口IP地址及子网掩码、链路上所连接的邻居以及链路开销。

链路状态通告同步前提条件:相同区域中,如果相同区域中设备数量过多,导致设备负担加大,可以不同的区域进行区分,从而减少不同区域中LSDB的大小,优化设备的性能。

2、最短路径算法(SPF)

SPF算法是OSPF路由协议的基础。SPF算法也称为Dijkstra算法。OSPF路由器利用SPF独立地计算出到达目标网络的最佳路由;

3路由器ID(Router-ID)

(1)概念

路由器ID(Router-ID RID,路由器标识符)OSPF每个路由器都有一个唯一的路由器ID,用于标识自己路由器ID可以是一个IPv4地址通常是路由器的一个接口IP地址。如果没有明确配置路由器ID,OSPF会根据一组规则自动选择一个

例如,假设我们有三个路由器,它们的接口IP地址分别是192.168.1.1、192.168.1.2和192.168.1.3。在这种情况下,路由器ID可以是其中任意一个IP地址。

注意:设备缺省会用使用最大IP地址的环回口地址为RID(Router ID),如果没有环回口启用最大IP地址物理口作为Router ID。

注意1:第一个UP的接口,该接口的地址成为Router-ID,如果同时UP,优选IP地址最大的,形成全局的RID。

注意2:在一个OSPF网络里面,每台路由器的Router ID都必须是独一无二没有Router-ID是无法工作的。

作用: 1.在网络中标识自己 2.虚连接会用router-id。

(2)Router-ID的选举规则

配置协议时选择人为指定的方式,默认是自动生成,人为配置的优于自动产生的。

1.手动配置OSPF路由器的Router ID:1.1.1.1 手动指定最优先。(首选)

2.如果没有手动配置Router ID, 那么将使用全局Router ID作为,OSPF的Router ID。

设备第一个配置的IP地址为全局Router ID。只有当前被选举为Router ID的接口地址发生了变化,或者说接口地址被删除,全局Router ID才会改变。

如果重启设备后,最先UP的接口地址作为全局的Router ID

如果全局RouterID发生了变化,OSPF的RouterID不会变化,再重启了OSPF的进程后,才会改变。

3.若有loopback则选最大的loopbackIP地址

若无则选活跃的物理接口中IP地址最大的作为Router ID(Router-ID不具有抢占性)(物理接口必须是活动状态)

(3)全局RouterID和OSPF协议的RouterID

容易混淆的概念:全局Router ID和OSPF协议的Router ID

如果在OSPF协议里面没有手工配置Router ID,那么就会选择使用全局的Router ID作为OSPF的Router ID。

1)全局Router ID

默认华为的路由器启动后,会自动生成一个全局的Router-id。

全局的router-id默认使用的是设备上配置的第一个IP地址。

通过display router id可以查看设备的全局router-id:

2)OSPF的router-id

默认情况下,使用ospf 1创建的OSPF默认使用的router-id为全局router-id。

当然手动指定ospf的router-id也是可以的:ospf 1 router-id 1.1.1.1

同时也是建议使用手动指定的方式配置OSPF的router-id。

全局的Router IDOSPF手工配置的Router ID是不同的概念,也可以是不同的数值。

第一种情况:我们在OSPF的协议配置的时候,不手动配置Router ID。(如下左图)

1、首先我们并没有配置全局的Router ID,现在是0.0.0.0,表示的是现在没有Router ID。

2、开启OSPF的一个进程,没有配置Router ID,我们查看ospf bri,现在的Router ID是没有的。

3、随便配置一个接口的IP地址,这里配置的是环回口loo0的ip地址,然后我们再次查看OSPF的进程配置,Router ID使用了全局的Router ID

第二种情况:(如上右图)

我们不配置全局的Router ID,在开始ospf进程的时候手工配置一个Router ID,之后我们再配置一个全局的Router ID。然后重启ospf进程,看下Router ID是否会发生改变。

我们得出结论:手工配置的ospf-router-id并不会改变。

注意1:RouterID是在OSPF进程刚启动时开始选举,如果有必要更改RouterID,则需要重启OSPF进程。

注意2:由于接口的IP地址变动,可能引发OSPF Router ID的变动,进而对网络产生影响,建议给OSPF手动指定固定的Router ID。

注意4:Router ID并不一定是路由器接口的IP地址。

(4)手动配置Router-ID

手工配置的Router ID命令后面的 P地址可以随意不需要必须是存在的地址

Router ID一旦定下来以后,即使重新修改了接口地址也不会使其变更,必须通过clear ip ospf process的方式或者reload的方式来改变。

配置格式:Router-ID以IP地址的格式(点分十进制)来定义的,和本设备的IP地址没有关系,只是一个名字。

通常的做法是将Router-ID配置为与该设备某个接口(通常为Loopback接口)IP地址一致。

手工指定命令:

(1)全局下指定 

[AR1] router id  1.1.1.1   //指定OSPF进程中的router-id。如果没有手工指定router-id,该路由器中所有的动态路由协议都使用该地址作为协议的router-id

(2)进程下指定 

[AR1]  ospf  10  router-id  1.1.1.1  //指定OSPF进程中的router-id

注意:如果重新配置了Router ID,不会立刻生效 ,可以重置进程 (重启设备 )

    <AR1>  reset ospf process     //重置ospf进程

<R3>  dis ospf  peer  brief  //查看邻居表

特点:一经确定,除非设备重置或者OSPF协议重置,否则不会改变。

4度量值Cost

OSPF使用Cost(开销)作为路由的度量值。OSPF默认情况以太网链路开销值为1

在每一个激活了OSPF的接口上,都会维护一个接口COST,接口COST=100M/接口带宽,其中100M为OSPF的参考带宽。

    一条路由的COST由该路由从来路由的起源一路过来的所有入接口cost值的总和。

 P2P网络带宽越大开销越小越优先。

以太网链路开销:100/1000M= 0.1约等于1 真机串行链路开销:100/1.544=64

ensp串行链路开销:100/2.048 =48

(2)度量值修改

在规划流量路径时,推荐将汇聚层直连链路Cost值>接入所有链路Cost值之和,这样可以保证从接入层访问R1或R2时,流量可通过接入层路由器直达R1或R2。

以(上图)为例。R1和R2位于企业网中的汇聚层,R1和R2的直连链路属于区域0,R1有一个直连网段10.0.1.1/32通过在区域0。

缺省情况下R4到达10.0.1.1/32的路由存在两个下一跳修改Cost之后,R4到达10.0.1.1的路由仅存在一个下一跳

两种方式:

1、接口修改开销                ospf cost 50                     //优先选举接口

2、根据参考带宽修改开销        bandwidth-reference 10000

[RTC] ospf

[RTC-ospf-1]bandwidth-reference 500  //修改开销计算的参考值,默认为100M。修改最好在整个OSPF网络中统一修改

Info:OSPF i Reference bandwidth is changed

Please ensure reference bandidth is consistent across all routers

[RTC-ospf-1]quit

[RTB]interface Ethernet 0/0

[RTB-Etherneto/0]ospf cost 5  //修改开销,范围1~65532

[RTB-Etherneto/0]quit

(3)度量值计算的方向

到一个目标网络的度量值  =  从源到目标的所有出站接口的Cost值累加(数据方向)

                            从目标到源沿途所有的入站接口的Cost值累计(路由方向)

如(上右图):

按路由方向:

  路由器A保存了1.1.1.0/24网段的路由,B从A学习该条路由时,从路由的入接口累计cost值;

B学习A的路由的入接口是B左边的接口,B左接口的cost是64,cost=原来的cost+64=1+64=65;

同理,C学习A的路由时,cost在前面的基础上,加上C路由方向入接口的cost;cost=65+1=66;

按数据方向:

  C要向1.1.1.0/24发送数据,数据方向向左;

  需要经过三个路由器,数据的出接口为路由器左边的接口,cost = 1 + 64 + 1 = 66;

(4)计算cost的实例

Router C上路由表存放的192.168.100.0的路由,COST是多少?

从C到192.168.100.0,有两条路:C-A和C-B-A;C向A学习路由,看得是路由方向的入接口;

   C-A: ->1 + 64 =65 C-B-A: ->1 + 64 +64 = 129   选cost小的那条路由,因此cost = 65

5network 宣告

如何将接口"放"到OSPF中,宣告方式:

(1)区域下宣告 

宣告(Network)格式: 接口信息 及 反掩码信息

反掩码:255.255.255.255 - 255.255.255.0 = 0.0.0.255       //接口所属网络的反掩码

192.168.1.1 某一个接口 /32=255.255.255.255

255.255.255.255--255.255.255.255=0.0.0.0

Network 0.0.0.0 代表将本设备的所有接口都宣告进入OSPF中 

命令: Network 192.168.1.1 0.0.0.0

192.168.1.1/24 =>255.255.255.0[正掩码] ==>192.168.1.0

(2)接口下宣告 

命令:进入接口下     ospf enable  area 0 

前题:请首先保证全局的OSPF协议,建立了该进程,以及创建了该区域0。


整个华为数通学习笔记系列中,本人是以网络视频与网络文章的方式自学的,并按自己理解的方式总结了学习笔记,某些笔记段落中可能有部分文字或图片与网络中有雷同,并非抄袭。完处于学习态度,觉得这段文字更通俗易懂,融入了自己的学习笔记中。如有相关文字涉及到某个人的版权利益,可以直接联系我,我会把相关文字删除。【VX:czlingyun    暗号:CSDN】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/844777.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

QGIS开发笔记(三):Windows安装版二次开发环境搭建(下):将QGis融入QtDemo,添加QGis并加载tif遥感图的Demo

若该文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/139136356 长沙红胖子Qt&#xff08;长沙创微智科&#xff09;博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、OpenCV…

29-ESP32-S3-WIFI篇-00 STA模式扫描全部 AP

ESP32-S3 WIFI_Driver 引言 ESP32-S3是一款集成了Wi-Fi和蓝牙功能的芯片。关于WIFI的部分&#xff0c;其实内容比我想象的要多得多。所以通常来说&#xff0c;如果你想要编写自己的Wi-Fi应用程序&#xff0c;最快捷的方法就是先找一个类似的示例应用&#xff0c;然后将它的相…

实战项目:飞机坦克大战 —— 面向对象编程之旅

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一、项目概览与背景介绍 二、面向对象编程基本概念解析 1. 类与对象 2. 构造函数与属性封…

Java对象的揭秘

前言 作为一个 Java 程序员&#xff0c;我们在开发中最多的操作要属创建对象了。那么你了解对象多少&#xff1f;它是如何创建&#xff1f;如何存储布局以及如何使用的&#xff1f;本文将对 Java 对象进行揭秘&#xff0c;以及讲解如何使用 JOL 查看对象内存使用情况。 本文是基…

车载客流统计设备:双目3D还原智能统计算法的应用与优势

随着城市交通的日益繁忙和公共交通系统的不断完善&#xff0c;对公交车等交通工具的客流统计和分析变得越来越重要。传统的客流统计方法往往存在效率低下、精度不足等问题&#xff0c;难以满足现代城市交通管理的需求。而基于双目3D还原智能统计算法的车载客流统计设备&#xf…

智能家居ZigBee网关选型定制指南:主控,操作系统,天线设计,助力IoT开发者

随着科技的发展和人们生活水平的提高&#xff0c;智能家居以其便捷、舒适、安全等特点&#xff0c;逐渐走进千家万户&#xff0c;成为家装消费品换新升级的重要方向。在智能家居系统中&#xff0c;网关扮演着中枢控制器的角色&#xff0c;负责将各种设备连接到互联网上&#xf…

分布式数据库OceanBase的安装

OceanBase是阿里自研的分布式数据库&#xff0c;单集群规模超过 1500 节点&#xff0c;具有云原生、强一致性、高度兼容 Oracle/MySQL 等特性。今天讲一讲OceanBase的安装&#xff0c;官网上面有详细的介绍&#xff0c;这里主要是针对容器部署详细介绍安装步骤一些过程中遇到的…

【单片机毕设选题】-智能语音控制风扇

一. 系统功能 此设计采用STM32和SU-03T离线语音模块来控制风扇, 主要功能如下: 1. 通过DHT11温湿度模块来采集环境温湿度。 2. 通过SU-03T语音模块来控制风扇启停加减速等。 3. 通过OLED显示系统状态。 4. 可以通过按键控制风扇启停加减速等。 5. 通过蓝牙模块监视系统状…

Tomcat启动过程

ClassLoader初始化 发生在org.apache.catalina.startup.Bootstrap#init() Catalina初始化 1、加载Digester工具 发生在org.apache.catalina.startup.Catalina#load() 2、容器启动&#xff0c;启用StandardContext维持Socket连接 Digester工具初始化 发生在org.apache.catali…

攀爬二叉树,发现新的美

二叉树 什么是二叉树? 二叉树的基础概念? 性质? 问题? 文章目录 二叉树一、二叉树的概念(一)认识二叉树(二)二叉树的性质 二、遍历二叉树1.前序遍历2.中序遍历3.后序遍历4.层序遍历 三丶创建二叉树总结 一、二叉树的概念 (一)认识二叉树 二叉树是一种非线性的数据结构,…

HAL库+LWIP+LAN8720+热插拔

定时任务中&#xff0c;查询LAN8720的状态寄存器 PHY_BSR 0x01&#xff0c;成功读取后&#xff0c;检查16位数据的BIT2&#xff0c;即可获取网线连接状态 uint32_t phyreg 0;if(HAL_ETH_ReadPHYRegister(&g_eth_handler, PHY_BSR, &phyreg) HAL_OK){if(((phyreg >…

Java内存模型(JMM)

1.背景 JMM(Java Memory Model)的提出&#xff0c;主要基于以下的几种原因&#xff1a; 不同操作系统平台的内存模型不同&#xff0c;而Java又想做到Write Once Run Everywhere(即跨平台)&#xff0c;那么必须要自己提供一套内存模型以屏蔽不同操作系统在内存模型方面的差异。…

断开自定义模块与自定义库的链接

断开自定义模块与自定义库的链接 1、断开模块与库的链接 1、断开模块与库的链接 如果摸个库文件添加到模型中&#xff0c;无法“Disable Link”时&#xff0c;可以使用save_system命令进行断开到模型中用户定义的库模块的链接&#xff1b; 参考链接&#xff1a; 传送门 save…

docker占用磁盘空间大小排查

首先进入到 /var/lib/docker/overlay2 目录下,查看谁占用的较多 cd /var/lib/docker/overlay2/du -s ./* | sort -rn | more再通过目录名查找容器名 docker ps -q | xargs docker inspect --format {{.State.Pid}}, {{.Id}}, {{.Name}}, {{.GraphDriver.Data.WorkDir}} | gre…

《C语言深度解剖》(16):C语言的文件读写操作

&#x1f921;博客主页&#xff1a;醉竺 &#x1f970;本文专栏&#xff1a;《C语言深度解剖》 &#x1f63b;欢迎关注&#xff1a;感谢大家的点赞评论关注&#xff0c;祝您学有所成&#xff01; ✨✨&#x1f49c;&#x1f49b;想要学习更多C语言深度解剖点击专栏链接查看&…

n后问题 回溯笔记

问题描述 在nn格的棋盘上放置彼此不受攻击的n个皇后。 按照国际象棋的规则&#xff0c;皇后可以攻击与之处在同 一行或同一列或同一斜线上的棋子。n后问题等价于在nn格的棋盘上放置n个皇后&#xff0c;任何2个皇后不放在同一行或同一列或同一斜线上。 代码 import java.uti…

在 iCloud.com 上导入、导出或打印联系人

想将iPhone上的电话本备份一份到本地电脑上&#xff0c;发现iTunes好像只是音乐播放了&#xff0c;不再支持像电话本等功能&#xff0c;也不想通过其他第三方软件&#xff0c;好在可以通过iCloud进行导入导出。下面只是对操作过程进行一个图片记录而已&#xff0c;文字说明可以…

总是不能盈利?试着用这两个观点去学习现货白银的技巧

一进入现货白银市场&#xff0c;投资者都想着如何去找到现货白银交易的机会&#xff0c;学习现货白银投资的方法。其实这些都是手段&#xff0c;而最终的目的还是为我们的盈利服务。而对于盈利来说&#xff0c;其实胜率和风险报酬比才是影响盈利的重要因素&#xff0c;我们带着…

centos8stream 编译安装 php-rabbit-mq模块

官方GitHub&#xff1a;https://github.com/php-amqp/php-amqp 环境依赖安装 dnf install cmake make -y 1.安装rabbitmq-c cd /usr/local/src/ wget https://github.com/alanxz/rabbitmq-c/archive/refs/tags/v0.14.0.tar.gz tar xvf v0.14.0.tar.gz cd rabbitmq-c-0.14.0/…

不用写采集规则的网页采集软件

传统的网页采集工具采集网页数据&#xff0c;需要查看和研究网页代码&#xff0c;编写复杂繁琐的采集规则&#xff0c;对于有技术基础的人&#xff0c;配置一个采集规则也要花费不少时间&#xff0c;更何况对于不懂技术的普通用户来说&#xff0c;简直是一项不太可能完成的任务…