ospf路由选路及路由汇总
一、知识补充
1、ABR和ASBR
1.1 ABR
ABR指的是边界路由,通常位于两个或多个区域之间,用于在不同的OSPF区域之间传递信息。当一个路由器同时连接到两个或多个区域时,它就成为了ABR,它需要维护每个区域的拓扑信息和路由表,并在不同区域之间进行信息传递和路由交换。
1.2 ASBR
ASBR是指自治系统边界路由器,它是连接不同自治系统之间的路由器,用于在不同的自治系统之间传递路由信息。当一个路由器连接到不同的自治系统时,它就成为了ASBR,它需要维护每个自治系统的拓扑信息和路由表,并在不同自治系统之间进行信息传递和路由交换。
2、路由汇总
2.1 介绍
- 路由汇总( Route Aggregation ),又称路由聚合(Route Summarization),指的是把一组明细路由汇聚成一条汇总路由条目的操作
- 路由汇总能够减少路由条目数量、减小路由表规模,从而减轻路由器的资源消耗
- RIP、BGP等协议支持自动或者手工路由汇总,但OSPF仅支持手工路由汇总
- OSPF支持两种汇总:
- 部署在ABR上,域间路由汇总
- 部署在ASBR上,域外路由汇总
域内路由汇总
router ospf 1
area 2 range x.x.x.x y.y.y.y cost *
// x.x.x.x 汇总后的网段
// y.y.y.y 汇总后的子网掩码{非反掩码}
域外路由汇总
router ospf 1
summary-address x.x.x.x y.y.y.y
// x.x.x.x 汇总后的网段
// y.y.y.y 汇总后的子网掩码{非反掩码}
2.2汇总路由的计算
2.2.1例1 计算下述题目中的路由
loopback1-loopback6
lo1:10.1.1.1/24
lo2:10.1.2.1/24
lo3:10.1.3.1/24
lo4:10.1.4.1/24
lo5:10.1.5.1/24
lo6:10.1.6.1/24
1、首先将这6个IP地址转换为二进制,分别对齐排列,观察二进制地址。
2、可以发现,前21位二进制数都一致,由此可以可以得出,前21位二进制数作网络位,剩余位数作主机位。
3、将主机位全部置为0,得出的二进制数转换为十进制,就得网络地址,一共有21个网络位,也就是掩码的简写为21位。
4、由此我们可以得出,汇总路由为10.1.0.0/21
例2 计算R2上的汇总路由
loopback1-loopback6
lo1:10.1.11.1/24
lo2:10.1.12.1/24
lo3:10.1.13.1/24
lo4:10.1.14.1/24
lo5:10.1.15.1/24
lo6:10.1.16.1/24
1、有一个技巧,我们只需要取地址区间的首尾两个地址作运算即可。【这里取10.1.11.1/24 10.1.16.1/24】
2、可以发现前面19位数一致,前19位作网络位,剩余位数作主机位。
3、将主机位全部置为0,转换为十进制,得出网络地址;相同位数即为子网掩码的缩写
4、得出汇总路由为10.1.0.0/19
3、ospf区域认证
- 加密方式分为明文认证和加密认证
- 明文认证:密码在报文中可见
- 密文认证:密码在报文中不可见
- 验证方式分为接口认证、区域认证和虚链路认证
- 接口认证:仅针对一条链路上进行验证
- 区域认证:将路由器上属于某个特定区域的接口全部都激活相应的验证方式
- 虚链路认证:针对虚链路进行认证
接口认证–明文
int g0/0
ip ospf authentication // 为该接口开启明文认证
ip ospf message-digest-key ruijie // 接口下配置明文密钥“ruijie”
exit
接口认证–密文
int g0/0
ip ospf authentication message-digest // 为该接口开启加密认证
ip ospf message-digest-key 1 md5 ruijie // 接口下开启md5密钥“ruijie”
exit
区域认证–明文
router ospf 1
area 0 authentication // 在ospf进程1的骨干区域开启区域认证
exit
int g0/0
ip ospf authentication-key ruijie // 在所有属于骨干区域的接口下配置明文密钥"ruijie"
exit
区域认证–密文
router ospf 1
area 0 authentication message-digest // 在ospf进程1的骨干区域中开启区域认证
exit
int g0/0
ip ospf message-digest-key 1 md5 ruijie // 接口下开启md5密钥“ruijie”
exit
虚链路认证–明文
router ospf 1
area 0 virtual-link x.x.x.x authentication // 开启明文认证
area 0 virtual-link x.x.x.x authentication-key ruijie // 配置md5密钥
exit
虚链路认证–密文
router ospf 1
area 0 virtual-link x.x.x.x authentication message-digest // 开启明文认证
area 0 virtual-link x.x.x.x authentication-key 1 md5 ruijie // 配置md5密钥
exit
4、路由选路
OSPF协议中的"cost"值是指路由器到达目的地的开销,也可以理解为路径的代价。在OSPF协议中,每条链路都会被分配一个开销值,这个开销值取决于链路的带宽。一般来说,带宽越大,开销值就越小,表示该链路的优先级更高,路由器更倾向于通过这样的链路进行数据传输。开销值越小则越优先。
在标准的RFC2328中规定了不同速率链路的默认开销值,一般情况下:
- 10 Mbps链路的默认开销值为 1
- 100 Mbps链路的默认开销值为 1
- 1 Gbps链路的默认开销值为 1
因此,根据链路的带宽,可以计算出其对应的成本值。在实际网络部署中,也可以手动配置链路的成本值,以便根据具体网络情况进行调整和优化。
在路由器计算最短路径时,会考虑到各条路径上的开销值,选择总成本最小的路径作为最佳路径进行数据传输。因此,成本值在OSPF协议中扮演着重要的角色,影响着路由器的路由计算和数据传输路径选择。
二、配置需求及拓扑图
配置需求
1、三层设备间配置ospf路由,进程号为1;R1需要引入本地直连路由;R6、PC2间配置RIP路由;在R6上配置重分发,将RIP发布到OSPF中;OSPF都需要宣告loopback地址。
2、在R1和R2上添加6个loopback地址,,模拟本地用户网段,宣告汇总路由。
3、在R1、R2间配置接口认证,明文密钥为Test@123 ;在R2、R3、R4、R5、R6间配置区域认证,使用md5加密,加密密钥为Test@456。
3、修改相关属性,PC1与PC2互通主链路为R1-R2-R4-R5;主链路故障时可以自动切换到备用链路。
三、配置步骤
基础配置不作描述
1、ospf的配置
R1
R1(config)#router ospf 1
R1(config-router)#router-id 1.1.1.1
Change router-id and update OSPF process! [yes/no]:y
R1(config-router)#network 100.1.1.1 0.0.0.3 area 1
R1(config-router)#netw
R1(config-router)#network 1.1.1.1 0.0.0.0 area 1
R1(config-router)#exit
R2
R2(config)#router ospf 1
R2(config-router)#router-id 2.2.2.2
Change router-id and update OSPF process! [yes/no]:y
R2(config-router)#netw
R2(config-router)#network 100.1.1.2 0.0.0.3 area 1
R2(config-router)#network 200.1.1.1 0.0.0.255 area 0
R2(config-router)#network 2.2.2.2 0.0.0.0 area 0
R2(config-router)#exit
R3
R3(config)#router ospf 1
R3(config-router)#router-id 3.3.3.3
Change router-id and update OSPF process! [yes/no]:y
R3(config-router)#network 200.1.1.2 0.0.0.255 area 0
R3(config-router)#network 3.3.3.3 0.0.0.0 area 0
R3(config-router)#network 204.1.1.1 0.0.0.255 area 2
R3(config-router)#exit
R4
R4(config)#router ospf 1
R4(config-router)#router-id 4.4.4.4
Change router-id and update OSPF process! [yes/no]:y
R4(config-router)#network 4.4.4.4 0.0.0.0 area 0
R4(config-router)#network 100.1.1.3 0.0.0.255 area 0
R4(config-router)#network 204.1.1.2 0.0.0.255 area 2
R4(config-router)#exit
R5
R5(config)#router ospf 1
R5(config-router)#router-id 5.5.5.5
Change router-id and update OSPF process! [yes/no]:y
R5(config-router)#network 5.5.5.5 0.0.0.0 area 2
R5(config-router)#network 204.1.1.3 0.0.0.255 area 2
R5(config-router)#network 205.1.1.1 0.0.0.3 area 3
R5(config-router)#exit
R6
R6(config)#router ospf 1
R6(config-router)#router-id 6.6.6.6
Change router-id and update OSPF process! [yes/no]:y
R6(config-router)#network 6.6.6.6 0.0.0.0 area 3
R6(config-router)#network 205.1.1.2 0.0.0.3 area 3
R6(config-router)#exit
2、ospf虚链路
R3
R3(config)#router ospf 1
R3(config-router)#area 2 virtual-link 5.5.5.5 // 需要配置的为对端路由器ospf的Router-id,如果虚链路没有配置成功,可以查看Router-id是否匹配
R3(config-router)#exit
R4
R4(config)#router ospf 1
R4(config-router)#area 2 virtual-link 5.5.5.5
R4(config-router)#exit
R5
R5(config)#router ospf 1
R5(config-router)#area 2 virtual-link 3.3.3.3
R5(config-router)#area 2 virtual-link 4.4.4.4
R5(config-router)#exit
查看虚链路状态
3、RIP路由的配置及路由引入
重分发的路由必须是本地
show ip route
可以看到的路由
R6
R6(config)#router rip
R6(config-router)#version 2
R6(config-router)#no auto-summary
R6(config-router)#network 172.16.1.0
R6(config-router)#exit
R6(config)#router ospf 1
R6(config-router)#redistribute rip subnets // 重分发RIP路由
R6(config-router)#exit
R1
R1(config)#router ospf 1
R1(config-router)#redistribute connected subnets // 重分发直连路由
R1(config-router)#exit
4、宣告汇总路由
在宣告路由前,查看R2的路由表,可以发现学习了一大坨路由
R1
R1(config)#router ospf 1
R1(config-router)#summary-address 10.1.0.0 255.255.248.0 // 这里使用汇总的掩码,不需要换算为反掩码
R1(config-router)#exit
再次查看R2的路由表,此处替换为一条汇总路由
R2
R2(config)#router ospf 1
R2(config-router)#redistribute connected subnets // 需要先引入直连路由,否则宣告汇总路由无效
R2(config-router)#summary-address 10.1.0.0 255.255.224.0 // 宣告汇总路由
R2(config-router)#exit
查看R3的路由表,可以发现R1和R2的两条汇总路由
5、区域认证
5.1 明文接口认证
R1
R1(config)#int g0/0
R1(config-if-GigabitEthernet 0/0)#ip ospf authentication
R1(config-if-GigabitEthernet 0/0)#ip ospf authentication-key Test@123
R1(config-if-GigabitEthernet 0/0)#exit
因为R2还没有配置认证,所以会弹出错误
R2
R2(config)#int g0/0
R2(config-if-GigabitEthernet 0/0)#ip ospf authentication
R2(config-if-GigabitEthernet 0/0)#ip ospf authentication-key Test@123
R2(config-if-GigabitEthernet 0/0)#exit
5.2 区域md5认证
R2
R3(config)#router ospf 1
R3(config-router)#area 0 authentication message-digest // 开启区域认证
R3(config-router)#exit
R3(config)#int g0/1
R3(config-if-GigabitEthernet 0/1)#ip ospf message-digest-key 1 md5 5 Test@456 // 属于该区域的接口上配置md5密钥
R3(config-if-GigabitEthernet 0/1)#exit
R3
R3(config)#
R3(config)#router ospf 1
R3(config-router)#area 0 authentication message-digest
R3(config-router)#area 2 authentication message-digest
R3(config-router)#exit
R3(config)#int range g0/0-1
R3(config-if-range)#ip ospf message-digest-key 1 md5 Test@456
R3(config-if-range)#exit
R4
R4(config)#router ospf 1
R4(config-router)#area 0 authentication message-digest
R4(config-router)#area 2 authentication message-digest
R4(config-router)#exit
R4(config)#int range g0/0-1
R4(config-if-range)#ip ospf message-digest-key 1 md5 Test@456
R4(config-if-range)#exit
R5
R5(config)#router ospf 1
R5(config-router)#area 2 authentication message-digest
R5(config-router)#area 3 authentication message-digest
R5(config-router)#exit
R5(config)#int range g0/0-1
R5(config-if-range)#ip ospf message-digest-key 1 md5 Test@456
R5(config-if-range)#exit
R6
R6(config)#router ospf 1
R6(config-router)#area 3 authentication message-digest
R6(config-router)#exit
R6(config)#int g0/0
R6(config-if-GigabitEthernet 0/0)#ip ospf message-digest-key 1 md5 Test@456
R6(config-if-GigabitEthernet 0/0)#exit
5.3 虚链路认证
R3
R3(config)#router ospf 1
R3(config-router)#area 2 virtual-link 5.5.5.5 message-digest-key 1 md5 Test@456
R3(config-router)#exit
R4
R4(config)#router ospf 1
R4(config-router)#area 2 virtual-link 5.5.5.5 message-digest-key 1 md5 Test@456
R4(config-router)#exit
R5
R5(config)#router ospf 1
R5(config-router)#area 2 virtual-link 3.3.3.3 authentication message-digest
R5(config-router)#area 2 virtual-link 4.4.4.4 authentication message-digest
R5(config-router)#area 2 virtual-link 3.3.3.3 message-digest-key 1 md5 Test@456
R5(config-router)#area 2 virtual-link 4.4.4.4 message-digest-key 1 md5 Test@456
R5(config-router)#exit
6、路由选路
查看PC1、PC2的默认路径,可以看到默认走的R3
查看R4的g0/0接口的默认开销值
修改R3的开销值
R3(config)#int range g0/0-1
R3(config-if-range)#ip ospf cost 10 // 同时修改开销值为10
R3(config-if-range)#exit
四、效果验证
1、R3查看邻居关系
2、R4查看邻居关系
3、R6查看OSPF路由信息
4、R5查看虚链路状态
5、连通性测试
6、路径追踪
相关文章:

ospf路由选路及路由汇总
一、知识补充 1、ABR和ASBR 1.1 ABR ABR指的是边界路由,通常位于两个或多个区域之间,用于在不同的OSPF区域之间传递信息。当一个路由器同时连接到两个或多个区域时,它就成为了ABR,它需要维护每个区域的拓扑信息和路由表&#x…...

Oracle 11g 多数据库环境下的TDE设置
19c的TDE wallet的设置是在数据库中设置的,也就是粒度为数据库,因此不会有冲突。 而11g的设置是在sqlnet.ora中,因此有可能产生冲突。 这里先将一个重要概念,按照文档的说法,wallet是不能被数据库共享的。 If there …...

vue3使用pinia实现数据缓存
文章目录 前言一、pinia是什么?二、安装pinia三、注册pinia四、使用pinia定义数据及方法使用 优化如有启发,可点赞收藏哟~ 前言 vue2以前一直使用vuex实现状态管理 vue3之后推出了pinia… 一、pinia是什么? 直观、类型安全、轻便灵活的Vue …...

【CSS】min 和 max 函数(设置最大最小值)
文章目录 min() 函数:允许你从逗号分隔符表达式中选择一个最小值作为 CSS 的属性值 width: min(1vw, 4em, 80px);max() 函数:让你可以从一个逗号分隔的表达式列表中选择最大(正方向)的值作为属性的值 width: max(10vw, 4em, 80p…...

ip地址跟wifi有关系吗
你可能已经听说过IP地址和Wi-Fi这两个词,但你有没有想过它们之间是否有关系呢?在这篇文章中,我们将深入探讨IP地址与Wi-Fi之间的密切联系。从基本概念到应用实例,虎观代理小二二将为您解答这个问题。 首先,让我们来了…...
[算法学习笔记](超全)概率与期望
引子 先来讲个故事 话说在神奇的OI大陆上,有一只paper mouse 有一天,它去商场购物,正好是11.11,商店有活动 它很荣幸被选上给1832抽奖 在抽奖箱里,有3个篮蓝球,12个红球 paper mouse能抽3次 蒟蒻的p…...

SpringCloud相关
文章目录 Gateway动态路由灰度策略 FeignRibbon SpringCloud五大组件分别对应(1)服务注册与发现(2)客服端负载均衡(3)断路器(4)服务网关(5)分布式配置 Gatewa…...

在 Linux 和 Windows 系统下查看 CUDA 和 cuDNN 版本的方法,包括使用 nvcc 命令
一直都比较头疼cuda与cudnn版本查看问题,两个系统不一样也不好查看,命令不通用 Linux 查看 CUDA 版本 方法一: nvcc --version或 nvcc -V如果 nvcc 没有安装,那么用方法二。 方法二: 去安装目录下查看ÿ…...

idea项目中java类名出现带 j 小红点,如何解决?
目录 一、问题描述 二、问题解决方案 1、寻找异常问题 2、解决方案 2.1常规操作方法 2.2 快速操作方法 一、问题描述 一打开idea的java项目,发现所有的文件边上都有带J的大红点 虽然,在 git bash 中进行编译时无异常。 但是视觉上给人的感受就是…...

生产环境_移动目标轨迹压缩应用和算法处理-Douglas-Peucker轨迹压缩算法
场景: 我目前设计到的场景是:即在地图应用中,对GPS轨迹数据进行压缩,减少数据传输和存储开销,因为轨迹点太频繁了,占用空间太大,运行节点太慢了,经过小组讨论需要上这个算法&#x…...

HINSTANCE是什么?
HINSTANCE 就是 HMODULE:...

uniapp小程序定位;解决调试可以,发布不行的问题
遇见这个问题;一般情况就两种 1、域名配置问题; 2、隐私协议问题 当然,如果你的微信小程序定位接口没开启;定位也会有问题; 第一种,小程序一般是腾讯地图;所以一般都会用https://apis.map.qq.co…...

C++学习 --pair
目录 1, 什么是pair 2, 创建pair 2-1, 标准数据类型 2-2, 自定义数据类型 3, 查询元素 3-1, 标准数据类型 3-2, 自定义数据类型 1, 什么是pair 数据以键值对形式存放的容器&…...

Android Frgment中onActivityResult无效的问题
前言 最近在fragment中使用二维码扫描 发现拿不到onActivityResult返回 查了资料说是启动模式 或者是返回值为负数 断点调试 发现根本没走onActivityResult方法 问题 onActivityResult 在附属Activity中被拦截了 所以没有触发该方法 解决 在Fragment所依赖的Activity中执…...

【C#二开业务冠邑】通过界面查看数据来源
前言 重构框架(CS【C#】转BS【Java】)时,突然发现公司的代码和数据库,有部分都没有写注释,嘎嘎,这不非常影响开发效率,于是乎,开始帮公司整理表结构和数据来源,也从而加…...

使用大语言模型 LLM 做文本分析
本文主要分享 传统聚类算法 LLM与嵌入算法 嵌入算法聚类 LLM的其他用法 聚类是一种无监督机器学习技术,旨在根据相似的数据点的特征将其分组在一起。使用聚类成簇,有助于解决各种问题,例如客户细分、异常检测和文本分类等。尽管传统的聚…...

Windows本地搭建rtmp推流服务
前言 开发时偶尔需要使用rtmp直播流做视频流测试,苦于网上开源的rtmp视频流都已经失效,无奈只好尝试在本地自己搭建一个rtmp的推流服务,方便测试使用。 一、工具准备 Nginx:使用nginx-rtmp-win64推流工具FFmpeg:官方…...

机器学习二元分类 二元交叉熵 二元分类例子
二元交叉熵损失函数 深度学习中的二元分类损失函数通常采用二元交叉熵(Binary Cross-Entropy)作为损失函数。 二元交叉熵损失函数的基本公式是: L(y, y_pred) -y * log(y_pred) - (1 - y) * log(1 - y_pred)其中,y是真实标签&…...

Postgresql运维信息(一)
1. 运维系统视图 PostgreSQL 提供了一系列系统视图和函数,可以用于获取数据库的运维统计信息。这些信息对于监控和优化数据库性能非常有用。以下是一些常用的 PostgreSQL 运维统计信息: 1.1. pg_stat_activity 这个系统视图包含了当前数据库连接的活动…...

Jupyter Notebook的下载安装与使用教程_Python数据分析与可视化
Jupyter Notebook的下载安装与使用 Jupyter简介下载与安装启动与创建NotebookJupyter基本操作 在计算机编程领域,有一个很强大的工具叫做Jupyter。它不仅是一个集成的开发环境,还是一个交互式文档平台。对于初学者来说,Jupyter提供了友好的界…...

快速入门:构建您的第一个 .NET Aspire 应用程序
##前言 云原生应用程序通常需要连接到各种服务,例如数据库、存储和缓存解决方案、消息传递提供商或其他 Web 服务。.NET Aspire 旨在简化这些类型服务之间的连接和配置。在本快速入门中,您将了解如何创建 .NET Aspire Starter 应用程序模板解决方案。 …...

主流开源大语言模型的微调方法
文章目录 模型ChatGLM2网址原生支持微调方式 ChatGLM3网址原生支持微调方式 Baichuan 2网址原生支持微调方式 Qwen网址原生支持微调方式 框架FireflyEfficient-Tuning-LLMsSuperAdapters 模型 ChatGLM2 网址 https://github.com/thudm/chatglm2-6b 原生支持微调方式 https…...

Django DRF权限组件
在Django的drf框架内的权限组件,如果遇到多个权限认证类,是需要所有的权限类都要通过验证,才能访问视图。 一、简单示例 1、per.py 自定义权限类 from rest_framework.permissions import BasePermission import randomclass MyPerssion(B…...

leetcode每日一题31
搜索旋转排序数组 那……二分法呗 数组中的数可以相同 比 33. 搜索旋转排序数组 多了一个「有重复元素」,导致无法根据 num > nums[0] 来判断 num 在哪一半,比如 [1,1,1,1,1,2,1,1,1] 旋转数组两头相等,元素 1 可能在左半边可能在右半边 …...

使用Pytorch测试cuda设备的性能(单卡或多卡并行)
以下CUDA设备泛指NVIDIA显卡 或 启用ROCm的AMD显卡 测试环境: Distributor ID: UbuntuDescription: Ubuntu 22.04.3 LTSRelease: 22.04Codename: jammy 1.首先,简单使用torch.ones测试CUDA设备 import torch import timedef cuda_benchmark(device_id…...

SpringBoot-AOP-基础到进阶
SpringBoot-AOP AOP基础 学习完spring的事务管理之后,接下来我们进入到AOP的学习。 AOP也是spring框架的第二大核心,我们先来学习AOP的基础。 在AOP基础这个阶段,我们首先介绍一下什么是AOP,再通过一个快速入门程序,…...

Midjourney绘画提示词Prompt参考学习教程
一、工具 SparkAi: SparkAi创作系统是基于OpenAI很火的ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统,支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软…...

美国费米实验室SQMS启动“量子车库”计划!30+顶尖机构积极参与
11月6日,美国能源部费米国家加速器实验室(SQMS)正式启动了名为“量子车库”的全新旗舰量子研究设施。这个6,000平方英尺的实验室是由超导量子材料与系统中心负责设计和建造,旨在联合国内外的科学界、工业领域和初创企业,共同推动量子信息科…...

DCDC同步降压控制器SCT82A30\SCT82630
SCT82A30是一款100V电压模式控制同步降压控制器,具有线路前馈。40ns受控高压侧MOSFET的最小导通时间支持高转换比,实现从48V输入到低压轨的直接降压转换,降低了系统复杂性和解决方案成本。如果需要,在低至6V的输入电压下降期间&am…...