动态路由协议——OSPF

目录

一.OSPF来源

二.OSPF术语

1.area id——区域的划分

2.cost——路径开销值

3.route id

4.LSDB表

5.邻居表

6.OSPF路由表

三.OSPF工作过程

1.交互hello报文建立邻居关系

2.选举主从

3.交互LSDB摘要信息

4.LSR,LSU,LSACK同步LSDB表项

5.各自计算路由

四.OSPF交互过程

1.hello报文

2.DD报文

3.LSR报文

4.LSU报文

5.LASK报文

五.DR/BDR


一.OSPF来源

动态路由协议中,IGP类型的有ospf 和RIP已经ISIS,

RIP的缺点就是有跳数限制,最多15跳,不适合大型网络,且属于距离矢量路由协议,不清楚网络拓扑,通过泛洪路由表学习,可靠性低。

那么就有了ospf动态路由协议,属于链路状态路由协议,每台路由器都清楚网络拓扑,可以自行计算路由

链路状态路由协议工作过程

1.建立邻居关系,在hello报文之后

2.泛洪LSA,同步LSDB(链路状态数据库)

3.通过SPF算法计算出一根以自己为根的,无环的,拥有最短路径的书

4.通过路径信息,生成路由,加载到路由表里(OSPF协议路由表)

网络类型

1.p2p

串行,一点对一点(点就是网络中的一个设备)

2.p2mp

点到多点

3.BMA

广播式多路访问,以太网

4.NBMA

非广播式多路访问

二.OSPF术语

现在我们用以下拓扑来学习这些术语

我们下面都用r2来举例

1.area id——区域的划分

不划分区域,一旦出现泛洪,路由器需维持较大的LSDB,网络出现改变会出现大量广播报文,影响网络正常运行。可以通过划分区域控制广播域在较小的范围,减小LSDB规模,减低设备负担

area 0是骨干区域,area 非零是非骨干区域

路由器r2有骨干区域也有非骨干区域  

非骨干区域不能直接相连,需要骨干区域连接

2.cost——路径开销值

目的地址到源地址之间所有入接口之和的开销值,路径优选的因素:最好是100Mbit

3.route id

唯一标识,可以手动指定也可以自行计算。如果配置了环回地址,则选择环回地址IP大的成为route id。没有环回地址就选择接口ip大的(实验中按照配置ip地址的顺序选择)

4.LSDB表

里面包含所有的LSA

5.邻居表

交互HELLO报文后建立邻居关系,加入邻居表

里面有route id ,区域,和接口开销

6.OSPF路由表

ospf 查看命令

来源:《eNSP - OSPF 查看命令》_enfp查看ospf设置命令-CSDN博客

三.OSPF工作过程

1.交互hello报文建立邻居关系

DOWN——INIT——2WAY——邻居建立成功

INIT:从邻居接收报文,但报文邻居列表中还没有自身的route-id

2WAY:收到hello报文,邻居列表中有了自身的route-id

2.选举主从

通过第一个空的DD报文选择主从路由器,route-id大的是主

3.交互LSDB摘要信息

通过DD报文交互

4.LSR,LSU,LSACK同步LSDB表项

同步完LSDB就是邻接关系了

5.各自计算路由

四.OSPF交互过程

1.hello报文

建立并维护邻居关系,属于周期性发送,10S一次

2.DD报文

第一个DD报文是空的,通过第一个空的DD报文选择主从路由器,交互LSDB摘要

3.LSR报文

请求缺少的LSA,注意是一条一条请求

4.LSU报文

响应发送的LSA请求,发送具体LSA ,LSA放在LSU报文上发送

5.LASK报文

确认接受的LSA,FULL,变邻接关系

五.DR/BDR

为了优化网络中邻接数量,有DR/BDR/DRother三种角色,DR/BDR可以和DRother建立邻接关系(FULL),DRother之间停留在邻居关系(2—WAY)

现网中会将BMA改为P2P,避免选举DR

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

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

相关文章

maven手动上传的第三方包 打包项目报错 Could not find xxx in central 解决办法

背景: 在Maven私服手动上传了第三方的jar包, 只有jar包, 没有pom文件, 项目在ide中可以正常编译启动,但打包报错无法找到jar包 解决办法: 上传jar包的时候, 点击生成pom. 则打包的时候不会报错

pyrealsense2获取保存点云

一、第一种实现代码 Python import sys import cv2 import pyrealsense2 as rs import numpy as np import keyboard import open3d as o3d import osif __name__ "__main__":output_folder output_data/os.makedirs(output_folder, exist_okTrue)pipeline rs.p…

三级数据库技术知识点(详解!!!)

1、从功能角度数据库应用系统可以划分为表示层、业务逻辑层、数据访问层、数据持久层四个层次,其中负责向表示层直接传送数据的是业务逻辑层。 【解析】表示层负责所有与用户交互的功能;业务逻辑层负责根据业务逻辑需要将表示层获取的数据进行组织后,传…

阅读MySQL知识4

一、MySQL数据库主从同步延迟产生的原因 MySQL的主从复制都是单线程的操作,主库对所有DDL和DML产生的日志写进binlog,由于binlog是顺序写,所以效率很高。 Slave的SQL Thread线程将主库的DDL和DML操作事件在slave中重放。DML和DDL的IO操作…

SpringBoot如何替换启动图标

SpringBoot项目在启动时会出现一个默认的启动图案 . ____ _ __ _ _/\\ / ____ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | _ | _| | _ \/ _ | \ \ \ \\\/ ___)| |_)| | | | | || (_| | ) ) ) ) |____| .__|_| |_|_| |_\__, | / / / /|_||___//_/_/_/::…

软件架构和基于架构的软件开发方法知识总结

一、软件架构定义 软件架构为软件系统提供了一个结构、行为和属性的高级抽象 软件架构是一种表达,使软件工程师能够: (1)分析设计在满足所规定的需求方面的有效性 (2)在设计变更相对容易的阶段,…

题目:异或森林(蓝桥OJ 3400)

问题描述&#xff1a; 解题思路&#xff1a; 一个数也可以看作是一段区间&#xff0c;当该区间的异或和为完全平方数时则符合题意。 我们需要注意枚举的完全平方的上限。 异或前缀和减小时间复杂度。 题解&#xff1a; #include <bits/stdc.h> using namespace std; usi…

vi\vim编辑器详解

vi\vim编辑器介绍 vi\vim是visual interface的简称, 是Linux中最经典的文本编辑器 同图形化界面中的 文本编辑器一样&#xff0c;vi是命令行下对文本文件进行编辑的绝佳选择。 vim 是 vi 的加强版本&#xff0c;兼容 vi 的所有指令&#xff0c;不仅能编辑文本&#xff0c;而…

鸿蒙一次开发,多端部署(九)应用市场首页

本小节将以应用市场首页为例&#xff0c;介绍如何使用自适应布局能力和响应式布局能力适配不同尺寸窗口。 页面设计 一个典型的应用市场首页的UX设计如下所示。 观察应用市场首页的页面设计&#xff0c;不同断点下的页面设计有较多相似的地方。 据此&#xff0c;我们可以将页…

python的BBS论坛系统flask-django-nodejs-php

为了更好地发挥本系统的技术优势&#xff0c;根据BBS论坛系统的需求&#xff0c;本文尝试以B/S架构设计模式中的django/flask框架&#xff0c;python语言为基础&#xff0c;通过必要的编码处理、BBS论坛系统整体框架、功能服务多样化和有效性的高级经验和技术实现方法&#xff…

WebClient上载文件——实现将本地文件同步到远端服务器上

问题描述 用户上传产品示例图片到服务器端上&#xff0c;客户端在请求图片资源时&#xff0c;当服务端架设了多个节点的情况下&#xff0c;由于没有负载均衡请求到保存图片资源的服务器&#xff0c;出现图片访问404的问题。 这里保存上传文件时&#xff0c;同时需要将该文件保…

数学建模(层次分析法 python代码 案例)

目录 介绍&#xff1a; 模板&#xff1a; 例题&#xff1a;从景色、花费、饮食&#xff0c;男女比例四个方面去选取目的地 准则重要性矩阵&#xff1a; 每个准则的方案矩阵&#xff1a;​ 一致性检验&#xff1a; 特征值法求权值&#xff1a; 完整代码&#xff1a; 运行结…

1.6 学Python能干什么,Python的应用领域有哪些

Python能干什么&#xff0c;Python的应用领域 Python 作为一种功能强大的编程语言&#xff0c;因其简单易学而受到很多开发者的青睐。那么&#xff0c;Python 的应用领域有哪些呢&#xff1f; Python 有着非广泛的应用&#xff0c;几乎所有大中型互联网公司都在使用 Python&a…

基于甘特图的资源调度优化策略

资源在项目管理中是一个永恒的话题。无论人力、物力还是财力资源,总是捉襟见肘,都希望用最少的资源完成最大的工作。这就要求我们在资源调度方面果断精准,做到最优化。而甘特图作为项目时间规划的重要工具,恰恰能为资源调度提供绝佳帮助。 甘特图能反映出任务之间的制约关系,有…

Flutter 项目架构技术指南

Flutter 项目架构技术指南 视频 https://www.bilibili.com/video/BV1rx4y127kN/ 前言 原文 https://ducafecat.com/blog/flutter-clean-architecture-guide 探讨Flutter项目代码组织架构的关键方面和建议。了解设计原则SOLID、Clean Architecture&#xff0c;以及架构模式MVC…

(MATLAB)第二十一章 Simulink仿真设计初步

Simulink是MATLAB的重要组成部分&#xff0c;可以非常容易地实现可视化建模&#xff0c;并把理论研究和工程实践有机地结合在一起&#xff0c;不需要书写大量程序&#xff0c;只需要使用鼠标和键盘对已有模块进行简单的操作和设置。 21.1 Simulink简介 Simulink是MATLAB软件的…

linux热键,man手册介绍

目录 热键 tab ctrl c ctrl r man 区段 快捷键 热键 tab 可以看到以输入的内容为开头的指令,但无法选择: 当输入的内容匹配到的内容只有一个时,可以自动补全 可以用于输入路径时,自动补全文件名 ctrl c 让当前的程序停掉,可以在 程序或指令出问题而自己无法停止时 使用…

LeetCode---126双周赛

题目列表 3079. 求出加密整数的和 3080. 执行操作标记数组中的元素 3081. 替换字符串中的问号使分数最小 3082. 求出所有子序列的能量和 一、求出加密整数的和 按照题目要求&#xff0c;直接模拟即可&#xff0c;代码如下 class Solution { public:int sumOfEncryptedInt…

设计模式 适配器模式

1.背景 适配器模式&#xff0c;这个模式也很简单&#xff0c;你笔记本上的那个拖在外面的黑盒子就是个适配器&#xff0c;一般你在中国能用&#xff0c;在日本也能用&#xff0c;虽然两个国家的的电源电压不同&#xff0c;中国是 220V&#xff0c;日本是 110V&#xff0c;但是这…

ES的集群节点发现故障排除指南(2)

本文是ES官方文档关于集群节点发现与互联互通的问题排查指南内容&#xff0c;第二部分。 原文参考及相关内容&#xff1a; 英文原文&#xff08;官网&#xff09; 第一部分-&#xff08;1&#xff09; 已选出主节点但状态不稳定&#xff1f; 当一个节点赢得主节点选举时&…