配置单区域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的特点 完全复制:集群中的每个节点都可以使用完整的存档高…...

8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂
蛋白质结合剂(如抗体、抑制肽)在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上,高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术,但这类方法普遍面临资源消耗巨大、研发周期冗长…...
React Native在HarmonyOS 5.0阅读类应用开发中的实践
一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强,React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 (1)使用React Native…...
【C语言练习】080. 使用C语言实现简单的数据库操作
080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...

Maven 概述、安装、配置、仓库、私服详解
目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...
docker 部署发现spring.profiles.active 问题
报错: org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...

C++:多态机制详解
目录 一. 多态的概念 1.静态多态(编译时多态) 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1).协变 2).析构函数的重写 5.override 和 final关键字 1&#…...

【Redis】笔记|第8节|大厂高并发缓存架构实战与优化
缓存架构 代码结构 代码详情 功能点: 多级缓存,先查本地缓存,再查Redis,最后才查数据库热点数据重建逻辑使用分布式锁,二次查询更新缓存采用读写锁提升性能采用Redis的发布订阅机制通知所有实例更新本地缓存适用读多…...

uniapp手机号一键登录保姆级教程(包含前端和后端)
目录 前置条件创建uniapp项目并关联uniClound云空间开启一键登录模块并开通一键登录服务编写云函数并上传部署获取手机号流程(第一种) 前端直接调用云函数获取手机号(第三种)后台调用云函数获取手机号 错误码常见问题 前置条件 手机安装有sim卡手机开启…...
4. TypeScript 类型推断与类型组合
一、类型推断 (一) 什么是类型推断 TypeScript 的类型推断会根据变量、函数返回值、对象和数组的赋值和使用方式,自动确定它们的类型。 这一特性减少了显式类型注解的需要,在保持类型安全的同时简化了代码。通过分析上下文和初始值,TypeSc…...

破解路内监管盲区:免布线低位视频桩重塑停车管理新标准
城市路内停车管理常因行道树遮挡、高位设备盲区等问题,导致车牌识别率低、逃费率高,传统模式在复杂路段束手无策。免布线低位视频桩凭借超低视角部署与智能算法,正成为破局关键。该设备安装于车位侧方0.5-0.7米高度,直接规避树枝遮…...