OSPF协议

OSPF:开放式最短路径优先协议

无类别链路状态型路由协议;组播更新224.0.0.5、224.0.0.6支持等开销负载均衡;

链路状态协议,邻居间共享拓扑,优势在于防环和选路,缺点为更新量和计算量很大;

故OSPF为了能够在大型网络生成,设计了结构化部署规则

1)良好的地址规划

2)区域划分

触发更新,每30min一次周期更新;

一、OSPF的5种数据包

hello包 --邻居、邻接关系的发现、建立、周期保活(10s)

DBD包 -- 数据库描述包 ---本地数据库目录
LSR包-- 链路状态请求 --用于询问本地未知的LSA信息

LSU包--链路状态更新 --- 用于共享具体的LSA信息

LSack包--链路状态确认

LSA--链路状态通告--具体的一条一条拓扑或者路由信息

二、OSPF的状态机

Down     一旦接到到其他设备发出的hello包进入下一个状态

init初始化  一旦接收到的hello包中,本地我方RID进入下一状态

2way双向通讯 邻居关系建立的标志

条件:点到点直接进入下一状态;MA网络将进行DR/BDR选举(40S),非DR/BDR之间不能进入下一状态;

Exstart预启动  使用不携带数据库目录的DBD包,进行主从关系的选举,RID数值大的为主,优先进入下一个状态--其目的在于对DBD包进行排序,避免更新量同一时间的激增

exchange准交换  --- 使用DBD包进行数据库目录信息的交换

loadling加载 -- 基于接收的数据库目录和本地比对,然后基于本地未知的LSA信息,使用LSR进行查询,对端使用LSU来应答,需要本地最后ack确认--获取本地未知的LSA信息

full转发  --- 邻接(毗邻)关系建立的标志

三、OSPF的工作过程

启动配置完成后,本地路由器开始收发ospf的hello包,建立邻居关系,生成邻居表

之后与邻居表中所有邻居进行条件的匹配,匹配失败者间维持邻居关系,仅hello包周期保活即可;

匹配成功者间,将建立邻接关系;先使用类hello的DBD进行主从关系选举,之后使用DBD包进行数据库目录的共享;再使用LSR进行查询,LSU进行应答,ack确认;

----  使用DBD/LSR/LSU/LSack来获取本地未知的LSA信息;

当本地的数据库与邻居的数据库一致时,同步完成--本地存在数据库表(LSDB链路状态数据库--所有LSA集合)

同步完成后,本地启动SFP算法,将数据库转换为有向图-->最短路径树;然后以本地为起点,到达所有未知网段的最短路径,加载于本地的路由表中;

收敛完成后,仅hello每10s周期保活邻居、邻接关系;再每1800s周期和邻接比对数据库;

结构的突变:

  1. 新增网段 -- 直连新增网段的设备,将直接使用LSU告知本地所有的邻接,再扩散到全网;需要邻接关系确认该更新包;
  2. 断开网段--直连断开网段的设备,将直接使用LSU告知本地所有的邻接,再扩散到全网;需要邻接关系确认该更新包;
  3. 无法沟通 ---  存在dead time ,默认为hello time的4倍;dead time到时时,将断开邻居关系,删除信息

四、OSPF的基础配置

[r1]ospf 1 router-id 1.1.1.1 启动时可以定义进程号,仅具有本地意义;默认为1;建议同时定义该设备的RID -- 使用IPV4地址,全网唯一;手工配置--环回接口最大数值的ip地址---物理接口最大数值的ip地址  一旦RID生效,默认不能直接修改

[r1-ospf-1]

宣告:1、激活接口协议  2、共享接口信息  3、区域划分

[r1-ospf-1]area  0

[r1-ospf-1-area-0.0.0.0]network  192.168.1.65 0.0.0.0

[r1-ospf-1-area-0.0.0.0]network  192.168.1.0 0.0.0.255

[r2-ospf-1]area  1

[r2-ospf-1-area-0.0.0.1]net

[r2-ospf-1-area-0.0.0.1]network 192.168.1.5 0.0.0.0  

宣告时,使用反掩码精确的匹配

区域划分规则:

  1. 星型结构   中间为骨干区域,区域编号0;大于0为非骨干编号,所有非骨干区域必须连接骨干区域,否则无法正常收敛
  2. 必须存在ABR -- 区域边界路由器

宣告配置完成后,邻居间开始收发hello包,获取对端的RID,建立邻居关系,生成邻居表

[r2]display ospf peer 查看邻居表-详细

[r2]display  ospf peer brief  查看邻居关系简表

邻居关系建立后,邻居间进行条件的匹配;匹配失败,仅hello保活邻居关系即可;匹配成功者间,可建立邻接关系,基于DBD/LSR/LSU/LSack来获取本地未知的所有LSA信息;完整本地的数据库

[r2]display  ospf lsdb

当本地数据库同步完成后,本地启动SFP(最短路径优先算法),将数据库中所有的1/2类LSA整合为有向图,再生成最短路径树;然后以本地为起点计算到达本地所有未知网段的最短路径,将它们加载于本地的路由表中来完成收敛;

<r1>display  ip routing-table protocol  ospf

华为设备通过OSPF协议学习到的路由,正常其优先级为10;使用的度量为cost值;

cost值=开销值= 参考带宽/接口带宽

默认参考带宽为100兆;若接口带宽大于参考带宽,cost值为1;可能导致选路不佳,建议修改参考带宽

[r1]ospf 1

[r1-ospf-1]bandwidth-reference ?

  INTEGER<1-2147483648>  The reference bandwidth (Mbits/s)

[r1-ospf-1]bandwidth-reference 1000  若修改参考带宽,全网设备需要修改为一致

OSPF默认选择cost值之和最小的路径,为最佳路径来加载到路由表中;

五、OSPF的扩展配置

1、从邻居关系建立成为邻接关系的条件

需要关注网络类型

点到点 --- 一个网段内只能存在两个节点--物理限制,无法添加第三个节点--串行链路(串线)

MA--多路访问 -- 在一个网段内节点的数量不限制,不由当下连接了几个节点来决定,而是该网络是否限制了连接数量来决定--以太网(RJ-45双绞线、光纤、同轴电缆、WIFI)

在点到点网络中,所有邻居关系直接建立为邻接关系;

在MA网络中,若两两之间皆为邻接,那么将出现大量的重复更新,且ospf需要和邻接之间对比数据库,故不能像RIP协议一样,使用接口水平分割来规避;

最终OSPF协议在MA中进行DR/BDR选举来解决重复更新;

在一个网段,只有非DR/BDR路由器之间为邻居关系

选举规则:

先比较参选接口的优先级,0-255,大优;默认为1;若优先级相同,比较参选设备的RID,数值大优;

通过修改接口优先级,可以干涉选举

[r7]interface g0/0/0 在参选接口上配置

[r7-GigabitEthernet0/0/0]ospf dr-priority 2 

该选举是非抢占性;因此在修改优先级后,需要手工重启所有参选设备的OSPF进程;

<r6>reset ospf process

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

建议将非DR/BDR的设备优先级修改为0,0代表不参选,不用重启进程;

切记:在一个ma网段,有且至少有一台参选,否则该网段无任何邻接关系;

2、认证 --- 邻居间使用共享秘钥核实身份,华为设备同时可以加密ospf信息

[r1]interface g0/0/1 在直连邻居的接口上配置

[r1-GigabitEthernet0/0/1]ospf authentication-mode md5 1 cipher 123456

                                                                                模式 编号  加密   秘钥

要求邻居间模式、编号、秘钥、加密完全一致

3、汇总 --- OSPF不支持接口汇总,因为区域内部传递拓扑信息,不可能修改;区域之间传递的路由条目信息,可以进行汇总--- ospf支持区域汇总

[r2]ospf 1

[r2-ospf-1]area  0 该区域编号为,明细路由的来源区域

[r2-ospf-1-area-0.0.0.0]abr-summary 192.168.1.64 255.255.255.192

4、沉默接口 -- 仅接收不发送路由协议信息,仅用于连接终端用户的接口,不得用于连接邻居的接口,否则邻居间无法收发hello,无法建立邻居关系

[r1]ospf 1

[r1-ospf-1]silent-interface GigabitEthernet 0/0/2

5、缺省路由 -- 在边界路由器上配置后,将内部所有运行OSPF协议的路由器发送缺省路由信息,使得内部所有运行ospf协议的路由,自动生成缺省路由,指向边界路由器方向

[r3]ospf 1

[r3-ospf-1]default-route-advertise always

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

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

相关文章

Windows 下使用C#开启蓝牙(未解决的坑)

需求 当程序检测到蓝牙未打开时需要程序自动将W10的蓝牙开启。 资料 Turn on/off Bluetooth radio/adapter from cmd/powershell in Windows 10 - Super User 上的这个连接是通过powershell 开启蓝牙具体代码如下 [CmdletBinding()] Param ([Parameter(Mandatory$true)][V…

python脚本多个文件夹下多个文件中sql语句片段比对

一、需求: 日常测试授权脚本,需要检查多个行业文件夹下单独的授权脚本和汇总授权脚本,一个文件根目录下有多个子文件夹,子文件夹下有多个sql文件,人为比对较为耗时。 需要实现在文件中找到某个sql语句片段,然后遍历比对此sql语句片段在各目录各文件中是否一致。 二、思路…

MySQL入门篇:事物操作(开启事物,提交事物,回滚事物),事物四大特性(ACID),并发事物问题(脏读,不可重复读,幻读),事物隔离级别

目录 1.事物简介2.事物操作1.查看/设置事物提交方式&#xff08;方式1&#xff09;2.开启事物&#xff08;方式2&#xff09;3.提交事物4.回滚事物 3.事物四大特性(ACID)1.原子性&#xff08;Atomicity)2.一致性&#xff08;Consistency)3.隔离性&#xff08;lsolation)4.持久性…

MyBatisPlus学习笔记四-扩展功能

1、代码生成器 1.1、官方的1 1.3、官方的2-idea插件 1.3、非官方的-idea插件 2、静态工具 先查询&#xff0c;再分组 3、逻辑删除 4、枚举处理器 5、JSON处理器

使用mininet快速入门ONOS路由交换技术与原理

在SDN下路由交换与传统硬件集成方式的路由交换技术有许多相似之处。其中一个比较重要的点是传统交换机中ASIC (Application Specific Integrated Circuit&#xff0c;专用集成电路)决定了其数据平面所支持的功能&#xff0c;而在SDN中&#xff0c;实现了控制面与数据面的分离。…

UI学习-入门

教程&#xff1a;零基础学UI设计&#xff0c;应该先从哪些设计软件入手&#xff1f;【酸梅干超人出品】 一 软件 云端协作工具&#xff1a;即时设计、figma 原型设计&#xff1a;protopie 平面设计&#xff1a; PS 即时设计可设置动态交互、可设置样机。该平台教学方便做的…

selenium上传单个文件及上传多个文件

单个文件 直接传入文件路径 element driver.find_element_by_xpath(//input[type"file"]) element.send_keys(/home/data/download/test.png)多个文件 使用 \n 或者 \t\n 分割文件路径 element driver.find_element_by_xpath(//input[type"file"]) e…

数组练习 Leetcode 566.重塑矩阵

在 MATLAB 中&#xff0c;有一个非常有用的函数 reshape &#xff0c;它可以将一个 m x n 矩阵重塑为另一个大小不同&#xff08;r x c&#xff09;的新矩阵&#xff0c;但保留其原始数据。 给你一个由二维数组 mat 表示的 m x n 矩阵&#xff0c;以及两个正整数 r 和 c &#…

第五天业务题

5-1 你们项目中签到为什么要使用bitmap bitmap是Redis中的String类型里的一种类型&#xff0c;存储数据是以二进制&#xff08;bit位&#xff09;为单位进行存储的。在处理大量数据统计和判断时&#xff0c;只占用非常小的一部分内存&#xff0c;且计算速度非常高效。 在项目中…

网络工程师:数据库基础知识面试题(八)

84.数据库技术是什么&#xff1f;主流的数据库管理系统软件有哪些? 数据库技术是指用于存储、管理和操作大量结构化数据的技术。它涉及数据库的设计、建模、查询语言、事务处理、数据安全性、性能优化等方面。 主流的数据库管理系统&#xff08;DBMS&#xff09;软件有以下几…

貌似起名可以用这个

貌似起名可以用这个 很多变量或者函数起名字都会移除元音字符&#xff0c;可以考虑使用tr的-d参数&#xff0c;如下&#xff1a; $ echo "Hello World, Welcome to Linux!" | tr -d a,o,e,i Hll Wrld Wlcm t Lnux!不过感觉删除的多了&#xff0c;也不一定是好事。。…

《设计模式的艺术》笔记 - 原型模式

介绍 使用原型实例指定创建对象的种类&#xff0c;并且通过克隆这些原型创建新的对象。原型模式是一种对象创建型模式。 实现 myclass.h // // Created by yuwp on 2024/1/12. //#ifndef DESIGNPATTERNS_MYCLASS_H #define DESIGNPATTERNS_MYCLASS_H#include <iostream&g…

Day32- 贪心算法part06

一、单调递增的数字 题目一&#xff1a;738. 单调递增的数字 738. 单调递增的数字 当且仅当每个相邻位数上的数字 x 和 y 满足 x < y 时&#xff0c;我们称这个整数是单调递增的。 给定一个整数 n &#xff0c;返回 小于或等于 n 的最大数字&#xff0c;且数字呈 单调递…

k8s---ingress对外服务(ingress-controller)

ingress 概念 k8s的对外服务&#xff0c;ingress service作用现在两个方面&#xff1a; 1、集群内部&#xff1a;不断跟踪的变化&#xff0c;更新endpoint中的pod对象&#xff0c;基于pod的ip地址不断变化的一种服务发现机制。 2、集群外部&#xff1a;类似于负载均衡器&a…

进阶Docker3:Dokerfile构建镜像

目录 Dockerfile 构建基础镜像 基本机构 命令&#xff1a; 命令解释&#xff1a; 准备工作 创建镜像 上传镜像 Dockerfile Dockerfile 是一个文本格式的配置文件&#xff0c; 用户可以使用 Dockerfile 来快速创建自定义的镜像&#xff0c;另外&#xff0c;使 用Docke…

Docker 安装 MySQ

Docker 安装 MySQL MySQL 是世界上最受欢迎的开源数据库。凭借其可靠性、易用性和性能&#xff0c;MySQL 已成为 Web 应用程序的数据库优先选择。 1、查看可用的 MySQL 版本 访问 MySQL 镜像库地址&#xff1a;https://hub.docker.com/_/mysql?tabtags 。 可以通过 Sort b…

使用docker部署RStudio容器并结合内网穿透实现公网访问

文章目录 前言1. 安装RStudio Server2. 本地访问3. Linux 安装cpolar4. 配置RStudio server公网访问地址5. 公网远程访问RStudio6. 固定RStudio公网地址 前言 RStudio Server 使你能够在 Linux 服务器上运行你所熟悉和喜爱的 RStudio IDE&#xff0c;并通过 Web 浏览器进行访问…

旅游项目day04

1. JWT有效期 封装用户登录对象&#xff0c; 在指定时间过期 2. 有些接口需要登录&#xff1f;有些不需要登录&#xff1f; 后端如何知道a需要登录&#xff0c;b不需要登录&#xff1f; 注解。 3. 目的地 一个区域下面包含多个目的地 数据库表&#xff1a; 1. 区域表 2.…

交互设计:提升用户动机

之前给大家介绍了交互设计的底层模型——最新版福格行为模型。 模型告诉我们想让用户进行某个行为有3个步骤&#xff0c;第一个步骤是检查有没有&#xff08;合理的&#xff09;行为提示&#xff0c;我把它翻译成能否吸引用户注意&#xff0c;感兴趣的同学可以查看《交互设计之…

Linux--进程控制

进程终止 进程终止是指一个正在运行的进程结束其执行并释放占用的系统资源的过程。进程可以通过以下几种方式终止&#xff1a; 正常终止&#xff1a;进程完成了它的任务&#xff0c;或者遇到了终止条件&#xff0c;例如调用了exit()函数或主函数执行完毕。 异常终止&#xff1…