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 这个系统视图包含了当前数据库连接的活动…...
Oracle查询表空间大小
1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...
Qt Widget类解析与代码注释
#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码,写上注释 当然可以!这段代码是 Qt …...
理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端
🌟 什么是 MCP? 模型控制协议 (MCP) 是一种创新的协议,旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议,它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...
ESP32读取DHT11温湿度数据
芯片:ESP32 环境:Arduino 一、安装DHT11传感器库 红框的库,别安装错了 二、代码 注意,DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...
Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility
Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...
04-初识css
一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...
爬虫基础学习day2
# 爬虫设计领域 工商:企查查、天眼查短视频:抖音、快手、西瓜 ---> 飞瓜电商:京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空:抓取所有航空公司价格 ---> 去哪儿自媒体:采集自媒体数据进…...
微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据
微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据 Power Query 具有大量专门帮助您清理和准备数据以供分析的功能。 您将了解如何简化复杂模型、更改数据类型、重命名对象和透视数据。 您还将了解如何分析列,以便知晓哪些列包含有价值的数据,…...
Redis的发布订阅模式与专业的 MQ(如 Kafka, RabbitMQ)相比,优缺点是什么?适用于哪些场景?
Redis 的发布订阅(Pub/Sub)模式与专业的 MQ(Message Queue)如 Kafka、RabbitMQ 进行比较,核心的权衡点在于:简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...
Linux离线(zip方式)安装docker
目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1:修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本:CentOS 7 64位 内核版本:3.10.0 相关命令: uname -rcat /etc/os-rele…...
