OSPF基础

0x00 前言

本篇简述OSPF相关知识

0x01 正文

为什么需要动态路由协议

  • 静态路由无法适应较大的网络
  • 无法动态的随着网络的变化而自动化,耗费人力

动态路由协议

什么是BGP协议

基于距离矢量算法修改后的算法形成协议,被称为路径矢量路由协议

BGP工作原理是什么

通过周期性的泛洪自己的路由表,通过路由表的交互,每台路由器从相邻的路由器学习路由,并加载进自己的路由表中。

链路状态路由的四个步骤

  • 建立相邻路由器之间的邻居关系
  • 邻居之间交互链路状态信息和同步LSDB
  • 优选路径计算
  • 根据最短路径树生成路由表加载到路由表

OSPF

什么是OSPF

典型的链路状态路由协议。

什么是OSPF的区域

OSPF Area用于表示一个OSPF的区域,通过逻辑上将设备分为不同的组。

什么是OSPF的Router-ID

用于在一个OSPF域中唯一的标识一条路由器,相当于路由器的名字。(通常用ip来进行命名)

什么是OSPF的度量值

OSPF使用cost作为路由的度量值,默认cost=100mbit/s 除以接口宽带。cost的值为一条链路上所有的cost的和。

什么是OSPF邻居表

用来保存OSPF邻居状态的表

什么是LSDB表

保存自己产生的从邻居收到的LSA信息。

什么是OSPF路由表

路由表包含Destination、cost以及nextHop内容

什么是OSPF邻居关系

路由器在发送Hello报文之后,发现彼此,则形成邻居关系。

什么是OSPF邻接关系

当两台路由器LSDB同步完成之后,开始计算路由的时候,这两个路由器就是邻接关系。

邻接关系建立过程

在这里插入图片描述

邻居关系建立

在这里插入图片描述

OSPF网络类型有

  • Broadcast
  • NBMA
  • P2MP
  • P2P

什么是P2P

P2P指的是在一段链路上只能连接两台网络设备的环境

什么是Broadcast?

BMA,一个允许多台设备接入的,支持广播的环境

什么是NBMA?

允许多台设备记入,不支持广播

什么是P2MP

相当于多条p2p链路的一段捆绑得到的网络

什么是DR?

DR就是Designated Router,指定路由器

什么是BDR

BDR Backup designated Router 备用指定路由器

什么是OSPF域

一系列使用相同策略的连续OSPF网络设备所构成的网络

什么是OSPF路由器的类型

  • 区域内路由器,路由器所有接口都属于同一个OSPF区域
  • 区域边界路由器ABR,接口同属于两个以上的区域,并且有一个接口属于骨干区域
  • 骨干路由器,至少有一个接口属于骨干区域
  • 自治系统边界路由器ASBR,与其他SA交换路由信息。相当于引入了外部路由。

补充知识

OSPF的来源

OSPF(Open Shortest Path First)是一种链路状态路由协议,由IETF(Internet Engineering Task Force)定义。它是一种开放的协议,通过收集网络中所有路由器的链路状态信息,计算最短路径并将这些信息交换给所有路由器,以找到最佳路径。OSPF最初由John T. Moy在1987年开发,并在RFC 1131中进行了描述。

OSPF的设计目标是提供一种灵活、可扩展和高度可靠的路由协议。它使用Dijkstra算法来计算最短路径,并使用分层的网络结构来支持大规模网络。OSPF支持多种网络层协议,包括IPv4和IPv6,并提供了多种路由选择指标,如带宽、延迟、可靠性等。

OSPF是一种自治系统内部的路由协议,用于在单个自治系统(AS)中的路由器之间交换路由信息。它使用路由器之间的邻居关系来交换链路状态信息,并计算最短路径。OSPF支持VLSM(可变长度子网掩码),允许将IP地址空间划分为不同大小的子网,以满足网络需求。

OSPF的来源是为了解决传统的距离向量路由协议(如RIP)的一些限制。它提供了更好的性能、可扩展性和可靠性,并适用于大规模的复杂网络。OSPF广泛应用于企业网络、互联网服务提供商和大型组织的网络中,成为主流的内部路由协议之一。

类似OSPF的协议

一些类似OSPF的协议包括:

  1. IS-IS(Intermediate System to Intermediate System):IS-IS是一种内部网关协议(IGP),它与OSPF一样,用于在自治系统(AS)内部进行路由选择。IS-IS运行在ISO的OSI参考模型的第二层和第三层,支持IP以及其他网络层协议。

  2. EIGRP(Enhanced Interior Gateway Routing Protocol):EIGRP是思科开发的一种增强型内部网关路由协议,与OSPF一样,用于在AS内部进行路由选择。EIGRP通过多路径和快速收敛,提供了高可靠性和高性能的路由选择。

  3. RIP(Routing Information Protocol):RIP是一种基于距离向量的内部网关协议,与OSPF不同,它使用跳数作为路由度量,而不是OSPF的链路状态数据库。RIP是早期的路由协议,适用于小型网络。

  4. OSPFv3:OSPFv3是OSPF协议的IPv6版本,用于在IPv6网络中进行路由选择。它与OSPF相似,但引入了一些与IPv6相关的改进。

这些协议与OSPF类似,都是用于在自治系统内部进行路由选择的内部网关协议。它们有不同的特点和适用场景,可以根据网络规模和需求选择合适的协议。

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

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

相关文章

Spring MVC中JSON数据处理方式!!!

添加json依赖 <!--spring-json依赖--><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.9.0</version></dependency> 注解 RequestBody&#xff1a;作…

prometheus 监控 Hyperledger Fabric 网络

本例中使用的 fabric 版本为 2.4.1 修改 orderer , peer 节点 docker-compose 文件 orderer 节点&#xff1a; environment:- ORDERER_METRICS_PROVIDERprometheus- ORDERER_OPERATIONS_LISTENADDRESS0.0.0.0:8443 ports:- 8443:8443peer 节点&#xff1a; environment:- CO…

AGX更新Jetpack后无法SSH报错:写入管道指定不存在

AGX更新Jetpack后无法SSH报错&#xff1a;写入管道指定不存在 报错内容 > IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! > Someone could be eavesdropping on you right now (man-in-the-middle attack)! > It is also possible that a host key has ju…

Python正则表达式(python系列29)

前言&#xff1a;在实际开发中&#xff0c;正则表达式主要用在模式匹配&#xff08;检查一个字符是否符合某种格式&#xff09;和处理复杂的文本数据&#xff0c;例如查找&#xff0c;替换&#xff0c;分割。 定义&#xff1a;使用元字符&#xff08;具有特殊意义的专用字符&a…

【数据库原理】(16)关系数据理论的函数依赖

一.函数依赖的概念 函数依赖是关系数据库中核心的概念&#xff0c;它指的是在属性集之间存在的一种特定的关系。这种关系表明&#xff0c;一个属性集的值可以唯一确定另一个属性集的值。 属性子集&#xff1a;在关系模式中&#xff0c;X和Y可以是单个属性&#xff0c;也可以是…

scVI与MultiVI

scVI&#xff1a;https://docs.scvi-tools.org/en/stable/user_guide/models/scvi.html MultiVI&#xff1a;https://docs.scvi-tools.org/en/stable/user_guide/models/multivi.html 目录 scVI生成推理任务 MultiVI生成推理 scVI single cell variational inference提出了一个…

elementui dialog 回车时却刷新整个页面

到处都是坑&#xff0c;这个坑填完另一个坑还在等你。。。坑坑相连&#xff0c;坑坑不同。。。 使用el-dialog弹出一个表单&#xff0c;当我无意间敲到回车键时&#xff0c;整个页面被刷新了&#xff0c;又是一脸的懵逼。。。 经过查找文档发现解决方案为上述截图标记。。。 e…

科锐16位汇编学习笔记 03 汇编指令

指令种类 数据传送指令算数运算类指令位操作类指令串操作类指令控制转移类指令处理器控制类指令 数据传送类指令 传送类指令不影响标志位&#xff0c;**除了标志位传送指令外。** 传送指令MOV&#xff08;move&#xff09; 说明 ​ 把一个字节或字的操作数从源地址传送至…

用golang 实现给图片添加文字水印

package mainimport ("fmt""github.com/golang/freetype""image""image/draw""image/jpeg""io""os""time" )func main() {// 打开原始图片file, err : os.Open("004.jpeg")if err …

解决Qt Creator中文乱码的问题

方法1 使用QStringLiteral()包裹中文字符串 QString str1"中文测试&#xff01;"; QString str2QStringLiteral("中文测试&#xff01;");方法2 #if _MSC_VER > 1600//MSVC2015>1899,MSVC_VER14.0 #pragma execution_character_set("utf-8&qu…

L1-011 A-B(Java)

题目 本题要求你计算A−B。不过麻烦的是&#xff0c;A和B都是字符串 —— 即从字符串A中把字符串B所包含的字符全删掉&#xff0c;剩下的字符组成的就是字符串A−B。 输入格式&#xff1a; 输入在2行中先后给出字符串A和B。两字符串的长度都不超过10的四次方&#xff0c;并且…

软文营销无效的原因,这些细节容易被忽略

不管你是卖产品还是做服务&#xff0c;不管是大公司还是小企业&#xff0c;都需要软文营销&#xff0c;然而营销也有好坏之分&#xff0c;好的营销会给客户带来更多企业和利润&#xff0c;无效营销不仅会耽误市场竞争的效率还会带来负面影响&#xff0c;今天媒介盒子就来和大家…

SpringMVC执行流程

SpringMVC执行流程 具体步骤 第一步&#xff1a;发起请求到前端控制器(DispatcherServlet) 第二步&#xff1a;前端控制器请求HandlerMapping查找 Handler 第三步&#xff1a;处理器映射器HandlerMapping向前端控制器返回Handler&#xff0c;HandlerMapping会把请求映射为Ha…

HTML---JQurey的基本使用

文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据总结 本章目标 &#xff08;1&#xff09;能够搭建jQuery开发环境 &#xff08;2&#xff09;使用ready( )方法加载页面、掌握jQuery语法 使用addClass( )方法和css( )方法为元素添加CSS样式使用n…

echarts设置tooltip的层级

echarts设置tooltip的层级 tooltip: {trigger: "axis",extraCssText: z-index:3, // 修改层级borderColor: "rgba(0, 170, 255)",}, 完整的option示例如下&#xff1a; option {tooltip: {trigger: "axis",extraCssText: z-index:3,axisPoin…

Python 架构模式:附录 A 到 E

附录 A&#xff1a;摘要图和表 原文&#xff1a;Appendix A: Summary Diagram and Table 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 这是我们在书的最后看到的架构&#xff1a; 表 A-1 总结了每个模式及其功能。 表 A-1. 我们的架构组件及其功能 层组件描述领域…

Linux 进程和计划任务管理

一 内核功用 进程管理、内存管理、文件系统、网络功能、驱动程序、安全功能等 1 程序 是一组计算机能识别和执行的指令&#xff0c;运行于电子计算机上&#xff0c;满足人们某种需求的信息化工具 用于描述进程要完成的功能&#xff0c;是控制进程执行的指令集 2 进程 运行…

1877_SHA512校验的使用

全部学习汇总&#xff1a; GreyZhang/toolbox: 常用的工具使用查询&#xff0c;非教程&#xff0c;仅作为自我参考&#xff01; (github.com) 之前下载很多软件&#xff0c;尤其是开源软件的文件包的时候通常会看到一个校验文件。之前下载的时候我一般都是直接忽略&#xff0c;…

41-随机数.random(),ceil,floor,abs,比较两者或多者为较大值或较小值,round,找数组和对象的随机数

JavaScript数值操作&#xff0c;内置对象有&#xff1a;Math&#xff0c;Date&#xff0c;Array&#xff0c;String 1.Math内置对象 1.1向上取整ceil // 向上取整 ceil //有小数部分小数部分不要&#xff0c;整数部分1console.log(Math.ceil(3.14)); 1…

sqlalchemy expire_all 方法详解,强制刷新会话缓存

在 SQLAlchemy 中&#xff0c;expire_all() 方法是 Session 类的一个重要方法&#xff0c;用于使会话&#xff08;Session&#xff09;中所有当前加载的对象过期。这意味着下次访问任何已加载对象的属性时&#xff0c;SQLAlchemy 将从数据库中重新加载这些对象的最新状态。这是…