配置单区域OSPF
目录
引言
一、搭建基础网络
1.1 配置网络拓扑图如下
1.2 IP地址表
二、测试每个网段都能单独连通
2.1 PC0 ping通Router1所有接口
2.2 PC1 ping通Router1所有接口
2.3 PC2 ping通Router2所有接口
2.4 PC3 ping通Router2所有接口
2.5 PC4 ping通Router3所有接口
2.6 PC5 ping通Router3所有接口
2.7 PC6 ping通Router4所有接口
2.8 PC7 ping通Router4所有接口
三、配置OSPF
3.1 为router1配置OSPF
3.2 为router2配置OSPF
3.3 为router3配置OSPF
3.4 为router4配置OSPF
四、以PC0为例,ping其他路由或主机
4.1 PC0 ping通 Router2
4.2 PC0 ping通 Router3
4.3 PC0 ping通 Router4
4.4 PC0 ping通 PC2和PC3
4.5 PC0 ping通 PC4和PC5
4.6 PC0 ping通 PC6和PC7
五、校验、诊断工具
六、思考体会
6.1 OSPF配置完成后,每个路由器都有相同的链路状态数据库。那么每个路由器的路由表是相同的吗?为什么?
6.2 为什么交换机不需要配置ip地址?
引言
在一个小型企业网络中有四个路由器,均运行在OSPF协议环境。
(1)搭建基础网络;
(2)配置OSPF协议,使得各网络之间可以通信;
(3)学习OSPF的配置命令及测试诊断工具。
一、搭建基础网络
1.1 配置网络拓扑图如下

1.2 IP地址表
网络地址是计算出来的,不是在设备中进行配置。
| 设备 | 接口 | IP地址 | 子网掩码 | 默认网关 | 网络地址 |
| Router1 | FastEthemet0/0 | 172.16.0.1 | 255.255.0.0 | 172.16.0.0/24 | |
| Router1 | Serial1/0 | 192.168.0.1 | 255.255.255.0 | 192.168.0.0/24 | |
| Router2 | FastEthemet0/0 | 172.17.0.1 | 255.255.0.0 | 172.17.0.0/24 | |
| Router2 | Serial1/0 | 192.168.0.2 | 255.255.255.0 | 192.168.0.0/24 | |
| Router2 | Serial1/1 | 192.168.1.1 | 255.255.255.0 | 192.168.1.0/24 | |
| Router3 | FastEthemet0/0 | 172.18.0.1 | 255.255.0.0 | 172.18.0.0/24 | |
| Router3 | Serial1/0 | 192.168.1.2 | 255.255.255.0 | 192.168.1.0/24 | |
| Router3 | Serial1/1 | 192.168.2.1 | 255.255.255.0 | 192.168.2.0/24 | |
| Router4 | FastEthemet0/0 | 10.1.1.1 | 255.0.0.0 | 10.1.1.0/24 | |
| Router4 | Serial1/0 | 192.168.2.2 | 255.255.255.0 | 192.168.2.0/24 | |
| PC0 | FastEthemet0 | 172.16.0.10 | 255.255.0.0 | 172.16.0.1 | 172.16.0.0/24 |
| PC1 | FastEthemet0 | 172.16.0.20 | 255.255.0.0 | 172.16.0.1 | 172.16.0.0/24 |
| PC2 | FastEthemet0 | 172.17.0.10 | 255.255.0.0 | 172.17.0.1 | 172.17.0.0/24 |
| PC3 | FastEthemet0 | 172.17.0.20 | 255.255.0.0 | 172.17.0.1 | 172.17.0.0/24 |
| PC4 | FastEthemet0 | 172.18.0.10 | 255.255.0.0 | 172.18.0.1 | 172.18.0.0/24 |
| PC5 | FastEthemet0 | 172.18.0.20 | 255.255.0.0 | 172.18.0.1 | 172.18.0.0/24 |
| PC6 | FastEthemet0 | 10.1.1.10 | 255.0.0.0 | 10.1.1.1 | 10.1.1.0/24 |
| PC7 | FastEthemet0 | 10.1.1.20 | 255.0.0.0 | 10.1.1.1 | 10.1.1.0/24 |
二、测试每个网段都能单独连通
2.1 PC0 ping通Router1所有接口

2.2 PC1 ping通Router1所有接口

2.3 PC2 ping通Router2所有接口

2.4 PC3 ping通Router2所有接口

2.5 PC4 ping通Router3所有接口

2.6 PC5 ping通Router3所有接口

2.7 PC6 ping通Router4所有接口

2.8 PC7 ping通Router4所有接口

三、配置OSPF
3.1 为router1配置OSPF

查看router1的路由表

3.2 为router2配置OSPF

查看router2的路由表

3.3 为router3配置OSPF

查看router3的路由表

3.4 为router4配置OSPF

查看router4的路由表

四、以PC0为例,ping其他路由或主机
4.1 PC0 ping通 Router2

4.2 PC0 ping通 Router3

4.3 PC0 ping通 Router4

4.4 PC0 ping通 PC2和PC3

4.5 PC0 ping通 PC4和PC5

4.6 PC0 ping通 PC6和PC7

五、校验、诊断工具






六、思考体会
6.1 OSPF配置完成后,每个路由器都有相同的链路状态数据库。那么每个路由器的路由表是相同的吗?为什么?
在一个 OSPF 网络中,每个路由器都维护着自己的路由表,该路由表记录了该路由器到各个目的地的最优路径。在一个 OSPF 网络中,每个路由器都会从其他路由器收集链路状态信息,建立一个链路状态数据库 (LSDB)。当一个路由器收集到其他路由器的 LSDB 之后,会通过 Dijkstra 算法计算出自己到达网络中其他子网的最优路径,并根据此更新自己的路由表。
因此,虽然每个路由器都有相同的链路状态数据库,但是每个路由器的路由表可能并不完全相同。这是因为每个路由器到达目的地的最优路径可能与其他路由器不同,而不同的路径可能导致不同的路由表。
另外,如果路由器使用相同的优先级和本地参考带宽,那么在 OSPF 中,多个路由器的路由表可能会是相同的,因为它们会选择相同的路径作为最优路径。但是,在实际的网络中,不同的路由器可能有不同的配置,因此它们的路由表也可能不同。
6.2 为什么交换机不需要配置ip地址?
交换机的主要功能是在局域网内转发数据帧,它根据目标 MAC 地址来决定将数据帧发送到哪个接口。交换机通过学习源 MAC 地址和端口的对应关系,建立了一个 MAC 地址表(也称为转发表或 CAM 表),用于快速转发数据帧。
由于交换机的工作是基于 MAC 地址而不是 IP 地址,因此它不需要进行 IP 配置。交换机只需关注数据帧的转发,不涉及网络层的路由功能。它仅负责查找目标 MAC 地址并将数据帧转发到正确的接口,而不关心数据帧中的 IP 地址。
相比之下,路由器则是一种网络层设备,负责在不同网络之间进行数据包的路由。路由器需要配置 IP 地址,并根据 IP 地址进行路由决策。它能够识别不同网络的 IP 子网,并根据目标 IP 地址将数据包转发到适当的接口。计算机需要配置 IP 地址以与网络通信,并与其他设备进行交互。计算机通过 IP 地址与其他主机进行通信,而交换机则负责将数据帧转发到正确的目标主机。
因此,交换机不需要配置 IP 地址,而是通过 MAC 地址表来实现数据帧的转发。
相关文章:
配置单区域OSPF
目录 引言 一、搭建基础网络 1.1 配置网络拓扑图如下 1.2 IP地址表 二、测试每个网段都能单独连通 2.1 PC0 ping通Router1所有接口 2.2 PC1 ping通Router1所有接口 2.3 PC2 ping通Router2所有接口 2.4 PC3 ping通Router2所有接口 2.5 PC4 ping通Router3所有接口 2.…...
SQL中的游标是什么?
在 SQL 中,游标(Cursor)是一种用于遍历结果集的数据库对象。它允许开发者在 SQL 查询的结果集中逐行或逐批处理数据。 具体来说,SQL 中的游标通常用于以下目的: 遍历结果集:当一个 SQL 查询返回多行结果时…...
7. LangChain4j如何使用统一api调用?
前言 当我们对接LangChain4j的时候,面对复杂的各种各样的大模型的api的对接,让很多开发者感到力不从心。在每个大模型的api都不一样的时候?该如何快捷的切换模型的使用呢? 这时,One-API应运而生,它以其简洁…...
RPM、YUM 安装 xtrabackup 8 (mysql 热备系列一)包含rpm安装 mysql 8 配置主从
RPM安装 percona-xtrabackup-80-8.0.35-30.1.el7.x86_64.rpm 官网: https://www.percona.com/ 下载地址: https://www.percona.com/downloads wget https://downloads.percona.com/downloads/percona-distribution-mysql-ps/percona-distribution-mysq…...
maven项目打成可运行的jar及pom中的依赖一同打包
maven项目打jar及pom中的依赖一同打包 最近开发中有个需求,不部署新的服务,只jar包执行 那maven项目中,代码如何以jar的方式运行、如何把代码打成jar、pom中的依赖如何与代码一同打到jar包中? 1、代码如何以jar的方式运行&…...
Gettler‘s Screep World 笔记 Ⅰ
夏促时候刚刚入坑,写个笔记叭~ 环境配置 参考 HoPGoldy 大佬的简书,先配置下开发环境 萌新去看大佬的详细教程,我这里比较简单,有前端基础的可以直接抄 VSCode 跳过 node 我配的是v18.18.2 换源 npm config set registry h…...
联合体(union)的定义以及如何与结构体(struct)不同
联合体(Union)是一种特殊的数据类型,它允许在相同的内存位置存储不同的数据类型。但是,在任何给定的时间点,联合体只能存储其中的一个值;这意味着联合体的大小是其最大成员的大小,因为它必须足够…...
【Spark官方文档部分翻译】RDD编程指南(RDD Programming Guide)
写在前面 内容如何选择 本翻译只翻译本人认为精华的部分,本人认为的Spark的一些核心理念,编程思想。一些特别基础的操作包括但不限于搭建环境就不在此赘述了。 配套版本 本系列基于Spark 3.3.1,Scala 2.12.10,进行翻译总结 原…...
前端八股文 $set
为什么会有$set vue2中对数组中新增的属性是监听不到的 如图 vue 插件中有但是 视图中没有刷新 解决方法 解决就是 $set() 就是在数组中新增属性的时候可以重新渲染视图 具体的写法 写法 就是 第一个 是在那个对象上新增 第二个参数 是新增的属性 第三个参数是 新增的属性…...
Connecting weaviate with langflow across docker containers
题意:在Docker容器之间连接Weaviate与Langflow 问题背景: I am trying to build a local RAG application using Langflow. For my vectore store, I want to use a local Weaviate instance, hosted in a separate docker container on the same netwo…...
【linux vim使用说明】
基本概念 提示:本文是网络资源整理 模式: vim 有多种模式,每种模式都有不同的功能。 普通模式 (Normal Mode): 默认模式,用于导航和执行命令。插入模式 (Insert Mode): 用于文本输入。可以通过按 i 进入。可视模式 (Visual Mode): 用于选择…...
cocos2d-x安装和项目
首先多方查找资料发现教程很简洁,发现对自己的操作方面没多大帮助,后来干脆去官网,好像也很简洁。基于这样一个原因,加上我首次碰cocos2d-x,决定记录一下整个流程,解决实际操作上的疑惑。 涉及的方面&…...
因果推断 | 双重机器学习(DML)算法原理和实例应用
文章目录 1 引言2 DML算法原理2.1 问题阐述2.2 DML算法 3 DML代码实现3.1 策略变量为0/1变量3.2 策略变量为连续变量 4 总结5 相关阅读 1 引言 小伙伴们,好久不见呀。 距离上次更新已经过去了一个半月,上次发文章时还信誓旦旦地表达自己后续目标是3周更…...
Flutter 开源库学习
网上看了好多歌词实现逻辑相关资料,封装比较的好的 就 flutter_lyric,核心类是LyricsReader,而且如果实现逐字逐句歌词编辑功能还需要自己实现很多细节 ,网友原话是 :歌词的功能真的是不少,写起来也是挺难的…...
自主巡航,目标射击
中国机器人及人工智能大赛 参赛经验: 自主巡航赛道 【机器人和人工智能——自主巡航赛项】动手实践篇-CSDN博客 主要逻辑代码 #!/usr/bin/env python #coding: utf-8import rospy from geometry_msgs.msg import Point import threading import actionlib impor…...
MySQL中EXPLAIN关键字详解
昨天领导突然问到,MySQL中explain获取到的type字段中index和ref的区别是什么。 这两种状态都是在使用索引后产生的,但具体区别却了解不多,只知道ref相比于index效率更高。 因此,本文较为详细地记录了MySQL性能中返回字段的含义、状…...
如何理解ref toRef和toRefs
是什么 ref 生成值类型的响应式数据可用于模板和reactive通过.value修改值 ref也可以像vue2中的ref那样使用 toRef 针对一个响应式对象(reactive)的prop创建一个ref两者保持引用关系 toRefs 将响应式对象(reactive封装)转换…...
【linux】kernel-trace
文章目录 linux kernel trace配置trace内核配置trace接口使用通用配置Events配置Function配置Function graph配置Stack trace设置 跟踪器tracer功能描述 使用示例1.irqsoff2.preemptoff3.preemptirqsoff linux kernel trace 配置 源码路径: kernel/trace trace内…...
【Golang 面试基础题】每日 5 题(一)
✍个人博客:Pandaconda-CSDN博客 📣专栏地址:http://t.csdnimg.cn/UWz06 📚专栏简介:在这个专栏中,我将会分享 Golang 面试中常见的面试题给大家~ ❤️如果有收获的话,欢迎点赞👍收藏…...
ETCD介绍以及Go语言中使用ETCD详解
ETCD介绍以及Go语言中使用ETCD详解 什么是etcd ETCD是一个分布式、可靠的key-value存储的分布式系统,用于存储分布式系统中的关键数据;当然,它不仅仅用于存储,还提供配置共享及服务发现;基于Go语言实现 。 etcd的特点 完全复制:集群中的每个节点都可以使用完整的存档高…...
SciencePlots——绘制论文中的图片
文章目录 安装一、风格二、1 资源 安装 # 安装最新版 pip install githttps://github.com/garrettj403/SciencePlots.git# 安装稳定版 pip install SciencePlots一、风格 简单好用的深度学习论文绘图专用工具包–Science Plot 二、 1 资源 论文绘图神器来了:一行…...
解锁数据库简洁之道:FastAPI与SQLModel实战指南
在构建现代Web应用程序时,与数据库的交互无疑是核心环节。虽然传统的数据库操作方式(如直接编写SQL语句与psycopg2交互)赋予了我们精细的控制权,但在面对日益复杂的业务逻辑和快速迭代的需求时,这种方式的开发效率和可…...
dedecms 织梦自定义表单留言增加ajax验证码功能
增加ajax功能模块,用户不点击提交按钮,只要输入框失去焦点,就会提前提示验证码是否正确。 一,模板上增加验证码 <input name"vdcode"id"vdcode" placeholder"请输入验证码" type"text&quo…...
spring:实例工厂方法获取bean
spring处理使用静态工厂方法获取bean实例,也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下: 定义实例工厂类(Java代码),定义实例工厂(xml),定义调用实例工厂ÿ…...
GitHub 趋势日报 (2025年06月08日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...
Spring AI与Spring Modulith核心技术解析
Spring AI核心架构解析 Spring AI(https://spring.io/projects/spring-ai)作为Spring生态中的AI集成框架,其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似,但特别为多语…...
使用Spring AI和MCP协议构建图片搜索服务
目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式(本地调用) SSE模式(远程调用) 4. 注册工具提…...
Razor编程中@Html的方法使用大全
文章目录 1. 基础HTML辅助方法1.1 Html.ActionLink()1.2 Html.RouteLink()1.3 Html.Display() / Html.DisplayFor()1.4 Html.Editor() / Html.EditorFor()1.5 Html.Label() / Html.LabelFor()1.6 Html.TextBox() / Html.TextBoxFor() 2. 表单相关辅助方法2.1 Html.BeginForm() …...
群晖NAS如何在虚拟机创建飞牛NAS
套件中心下载安装Virtual Machine Manager 创建虚拟机 配置虚拟机 飞牛官网下载 https://iso.liveupdate.fnnas.com/x86_64/trim/fnos-0.9.2-863.iso 群晖NAS如何在虚拟机创建飞牛NAS - 个人信息分享...
Web后端基础(基础知识)
BS架构:Browser/Server,浏览器/服务器架构模式。客户端只需要浏览器,应用程序的逻辑和数据都存储在服务端。 优点:维护方便缺点:体验一般 CS架构:Client/Server,客户端/服务器架构模式。需要单独…...
