配置OSPF路由

OSPF路由

1.OSPF路由

1.1 OSPF简介

      OSPF(Open Shortest Path First,开放式最短路径优先)路由协议是另一个比较常用的路由协议之一,它通过路由器之间通告网络接口的状态,使用最短路径算法建立路由表。在生成路由表时,OSPF协议优先考虑线路的速率等因素(费用),而经过的跳数则不是重点参考条件。
     OSPF 路由协议可以支持在一个自治区域中运行,也可以支持在多个自治区域之间运行。
下面主要介绍单区域内OSPF的配置方法。
    如图1所示,在网络拓扑图中,每个路由器都使用OSPF 协议生成路由表,其中RouterO与Router3之间线路的速率比较慢(费用比较高,为100),而其他三条线路的速率比较快(费用比较小,每条都是10)。

2.PC设备配置

2.1 PC设备信息及接口配置

配置PC设备的接口信息,如表1-1所示。

设备

连接的路由器

IP地址

子网掩码

网关地址

PC1

R1

192.168.1.2

255.255.255.0

192.168.1.1

PC2

R1

192.168.2.2

255.255.255.0

192.168.2.1

PC3

R2

172.16.0.2

255.255.0.0

172.16.0.1

PC4

R3

172.18.0.2

255.255.0.0

172.18.0.1

PC5

R4

172.17.0.2

255.255.0.0

172.17.0.1

表1-1

3.路由器接口配置

3.1 路由器接口信息及配置

配置路由器设备的接口信息,如表1-2所示。

路由器

接口

IP地址

子网掩码

OSPF费用

连接设备

R1

GigabitEthernet0/0/0

192.168.1.1

255.255.255.0

-

连接到设备PC1

R1

GigabitEthernet0/0/1

192.168.2.1

255.255.255.0

-

连接到设备PC2

R1

Serial0/1/0

13.0.0.2

255.0.0.0

100

连接到设备R4

R1

Serial0/1/1

10.0.0.1

255.0.0.0

10

连接到设备R2

R2

GigabitEthernet0/0/0

172.16.0.1

255.255.0.0

-

连接到设备PC3

R2

Serial0/1/0

11.0.0.1

255.0.0.0

10

连接到设备R3

R2

Serial0/1/1

10.0.0.2

255.0.0.0

10

连接到设备R1

R3

GigabitEthernet0/0/0

172.18.0.1

255.255.0.0

-

连接到设备PC4

R3

Serial0/1/1

11.0.0.2

255.0.0.0

10

连接到设备R2

R3

Serial0/1/0

12.0.0.1

255.0.0.0

10

连接到设备R4

R4

GigabitEthernet0/0/0

172.17.0.1

255.255.0.0

-

连接到设备PC5

R4

Serial0/1/1

13.0.0.1

255.0.0.0

-

连接到设备R1

R4

Serial0/1/0

12.0.0.2

255.0.0.0

-

连接到设备R3

表1-2

图1 使用OSPF生成路由表的网络拓扑图

4.OSPF配置

4.1 OSPF费用配置

然后在指定接口的配置模式下,使用“ip ospf cost 费用”命令为每一个接口上的线路配置费用。
  在Router0 中配置接口的我用,其中 Se1/0接口连接的线路费用是100,Se0/0费用是10.


R1(config)#interface s0/0 

R1(config-if) #ip ospf cost 10 

R1(config-if)#exit
R1(config) #interface s1/0
R1(config-if)#ip ospf cost 100


  在R2中配置全部接口的费用都是10。

R2(config)#interface s0/0 

R2(config-if)#ip ospf cost 10 

R2(config-if)#exit
Routerl(config)#interface s1/0
Routerl(config-if)#ip ospf cost 10


  在R3中配置全部接口的费用都是10。


R3(config) #interface s0/0 

R3(config-if)#ip ospf cost 10 

R3(config-if)#exit
R3(config)#interface s1/0
R3(config-if)#ip ospf cost 10

4.2 OSPF网络配置

      最后在每个路由器中使用router ospf命令,其后面需要指定一个数字作为OSPF进程的进程号,这样就可以进入指定进程号的OSPF配置环境中了。在这个配置环境中,同样使用network广播本地路由器直接连接的网络IP地址,其后的参数不是子网掩码,而是使用“area区域号”作为最后一个参数(由于实例是在一个区域中,即单区域,因此其区域号都设置为1)。

在路由器R1中配置OSPF协议。

R1(config)# router ospf 1
R1(config-router)#network 192.168.1.0 0.0.0.255 area 1

R1(config-router)#network 192.168.2.0 0.0.0.255 area 1

R1(config-router)#network 10.0.0.0 0.255.255.255 area 1

R1(config-router)#network 11.0.0.0 0.255.255.255 area 1

在路由器 Routerl中配置 OSPF协议。


R2(config) #router ospf 1
Routerl(config-router)#network 172.16.0.0 0.0.255.255 area 1 

Roüterl(config-router)#network 10.0.0.0 0.255.255.255 area 1 

Routerl(config-router)#network 11.0.0.0 0.255.255.255 area 1


  在路由器R3中配置OSPF协议。


outer(config)#router ospf 1
R3(config-router)#network 172.17.0.0 0.0.255.255 area 1 

R3(config-router)#network 11.0.0.00.255.255.255 area 1 

R3(config-router)#network 12.0.0.0 0.255.255.255 area 1

5.路由表查看

5.1 查看路由表

查看路由器R1中的路由表,其中以O开头的路由记录都是由OSPF协议计算得
到的。

R1#show ip route ospf

O 11.0.0.0 [110/20] via 10.0.0.2, 00:30:17, Serial0/1/1

O 12.0.0.0 [110/30] via 10.0.0.2, 00:30:07, Serial0/1/1

O 172.16.0.0 [110/11] via 10.0.0.2, 00:30:17, Serial0/1/1

O 172.17.0.0 [110/31] via 10.0.0.2, 00:30:07, Serial0/1/1

O 172.18.0.0 [110/21] via 10.0.0.2, 00:30:07, Serial0/1/1

R1#

结合线路的费用,OSPF 协议没有使用R1与R4之间的线路,而是使用了R1→R2→R3→R4路径(到 172.17.0.0 网络的下一跳路由是R2,其入口地址是10.0.0.2)。
在 PC1中使用tracert 命令检查实际路径是否与路由表中的记录相符合。

Cisco Packet Tracer PC Command Line 1.0

C:\>tracert 172.18.0.2

Tracing route to 172.18.0.2 over a maximum of 30 hops:

  1   0 ms      0 ms      0 ms      192.168.2.1

  2   0 ms      0 ms      5 ms      10.0.0.2

  3   0 ms      20 ms     1 ms      11.0.0.2

  4   *         11 ms     0 ms      172.18.0.2

Trace complete.

C:\>

路由器中还提供了多条命令用于查看OSPF协议的详细信息。
Show ip ospf neighbor 可以显示本地路由的OSPF邻居的信息,包括它们的路由器ID,接口地址和IP地址等。

R1#show ip ospf neighbor

Neighbor ID     Pri   State           Dead Time   Address         Interface

2.2.2.2           0   FULL/  -        00:00:30    10.0.0.2        Serial0/1/1

4.4.4.4           0   FULL/  -        00:00:31    13.0.0.1        Serial0/1/0

R1#


Show ip ospf database 用于显示本地路由的OSPF库内容(与路由表内容相似)。

R1#show ip ospf database

OSPF Router with ID (1.1.1.1) (Process ID 1)

Router Link States (Area 1)

Link ID     ADV Router    Age    Seq#          Checksum Link count

1.1.1.1    1.1.1.1        607   0x80000008     0x00ac4f 6

4.4.4.4    4.4.4.4        608   0x80000007     0x009f4e 5

3.3.3.3    3.3.3.3        607   0x80000007     0x00cbfd 5

2.2.2.2    2.2.2.2        607   0x80000007     0x006679 5

R1#

Show ip protocols 命令用于显示与路由协议相关的参数与定时器信息,本命令也可以在启用了RIP路由协议的路由器中使用。

R1#show ip protocols

Routing Protocol is "ospf 1"

  Outgoing update filter list for all interfaces is not set

  Incoming update filter list for all interfaces is not set

  Router ID 1.1.1.1

  Number of areas in this router is 1. 1 normal 0 stub 0 nssa

  Maximum path: 4

  Routing for Networks:

    192.168.1.0 0.0.0.255 area 1

    192.168.2.0 0.0.0.255 area 1

    10.0.0.0 0.0.0.255 area 1

    13.0.0.0 0.0.0.255 area 1

  Routing Information Sources: 

    Gateway         Distance      Last Update

    1.1.1.1              110      00:15:02

    2.2.2.2              110      00:15:01

    3.3.3.3              110      00:15:03

    4.4.4.4              110      00:15:03

  Distance: (default is 110)

R1#

6.实验脚本

6.1 脚本示例

//R1

enconf thostn R1int g0/0/0ip add 192.168.1.1 255.255.255.0no shint g0/0/1ip add 192.168.2.1 255.255.255.0no shint s0/1/0ip add 13.0.0.2 255.0.0.0no ship ospf cost 100int s0/1/1ip add 10.0.0.1 255.0.0.0no ship ospf cost 10exitrouter ospf 1router-id 1.1.1.1network 192.168.1.0 0.0.0.255 area 1network 192.168.2.0 0.0.0.255 area 1network 10.0.0.0 255.255.255.0 area 1network 13.0.0.0 255.255.255.0 area 1endw!

//R2

enconf thostn R2int g0/0/0ip add 172.16.0.1 255.255.0.0no shint s0/1/0ip add 11.0.0.1 255.0.0.0no ship ospf cost 10int s0/1/1ip add 10.0.0.2 255.0.0.0no ship ospf cost 10exitrouter ospf 1router-id 2.2.2.2network 172.16.0.0 0.0.255.255 area 1network 11.0.0.0 255.255.255.0 area 1network 10.0.0.0 255.255.255.0 area 1endw!

//R3

enconf thostn R3int g0/0/0ip add 172.18.0.1 255.255.0.0no shint s0/1/1ip add 11.0.0.2 255.0.0.0no ship ospf cost 10int s0/1/0ip add 12.0.0.1 255.0.0.0no ship ospf cost 10exitrouter ospf 1router-id 3.3.3.3network 172.18.0.0 0.0.255.255 area 1network 11.0.0.0 255.255.255.0 area 1network 12.0.0.0 255.255.255.0 area 1endw!

//R4

enconf thostn R4int g0/0/0ip add 172.17.0.1 255.255.0.0no shint s0/1/1ip add 13.0.0.1 255.0.0.0no shint s0/1/0ip add 12.0.0.2 255.0.0.0no shexitrouter ospf 1router-id 4.4.4.4network 172.17.0.0 0.0.255.255 area 1network 12.0.0.0 255.255.255.0 area 1network 13.0.0.0 255.255.255.0 area 1endw!

当面对挑战时,不要害怕失败,因为每次失败都是成功的一步。相信自己,勇往直前,你能够战胜一切!

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

【通意千问】大模型GitHub开源工程学习笔记(2)--使用Qwen进行推理的示例代码解析,及transformers的库使用

使用Transformers来使用模型 如希望使用Qwen-chat进行推理,所需要写的只是如下所示的数行代码。请确保你使用的是最新代码,并指定正确的模型名称和路径,如Qwen/Qwen-7B-Chat和Qwen/Qwen-14B-Chat 这里给出了一段代码 from transformers import AutoModelForCausalLM, Aut…

机器学习笔记 - 基于强化学习的贪吃蛇玩游戏

一、关于深度强化学习 如果不了解深度强化学习的一般流程的可以考虑看一下下面的链接。因为这里的示例因为在PyTorch 之上实现深度强化学习算法。 机器学习笔记 - Deep Q-Learning算法概览深度Q学习是一种强化学习算法,它使用深度神经网络来逼近Q函数,用于确定在给定状态下采…

ROS2 中的轻量级、自动化、受控回放

一、说明 这篇文章描述了一种在 ROS2 中实现受控重播器的轻量级方法。用以测试中将现象重新播放一遍,以实现调参或故障定位的目的。所有源代码都可以在这里找到。该帖子也可在此处获得。 二、问题:不同步重播 任何曾经认真开发过 ROS2 的人都会知道这个问…

springboot和vue:八、vue快速入门

vue快速入门 新建一个html文件 导入 vue.js 的 script 脚本文件 <script src"https://unpkg.com/vuenext"></script>在页面中声明一个将要被 vue 所控制的 DOM 区域&#xff0c;既MVVM中的View <div id"app">{{ message }} </div…

uboot启动流程涉及reset汇编函数

一. uboot启动流程中函数 之前了解了uboot链接脚本文件 u-boot.lds。 从 u-boot.lds 中我们已经知道了入口点是 arch/arm/lib/vectors.S 文件中的 _start。 本文了解 一下&#xff0c;uboot启动过程中涉及的 reset 函数。本文继上一篇文章学习&#xff0c;地址如下&#xff…

统计模型----决策树

决策树 &#xff08;1&#xff09;决策树是一种基本分类与回归方法。它的关键在于如何构建这样一棵树。决策树的建立过程中&#xff0c;使用基尼系数来评估节点的纯度和划分的效果。基尼系数是用来度量一个数据集的不确定性的指标&#xff0c;其数值越小表示数据集的纯度越高。…

揭秘:机构招生电子传单制作的五个黄金法则

机构招生微传单制作一直都是让很多人在意的事情。一款好的微传单不仅可以吸引更多的学生&#xff0c;还可以省去很多招生工作的时间和精力。但是&#xff0c;很多人却不知道如何制作一款精美的微传单。下面就让我们来学习一下如何制作一款机构招生的微传单吧。 首先&#xff0c…

Egg 封装接口返回信息

中间件封装 代码 const msgArr {"200":成功,"401":token失效 } module.exports (option, app) > {return async function(ctx, next) {try{//成功是返回的信息ctx.emit(code,data,msg)>{console.log(1111,code,data,msg)ctx.body {code,data:dat…

springboot 简单配置mongodb多数据源

准备工作&#xff1a; 本地mongodb一个创建两个数据库 student 和 student-two 所需jar包&#xff1a; # springboot基于的版本 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId>&l…

C++之std::atomic解决多线程7个问题(二百四)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 人生格言&#xff1a; 人生…

竞赛选题 多目标跟踪算法 实时检测 - opencv 深度学习 机器视觉

文章目录 0 前言2 先上成果3 多目标跟踪的两种方法3.1 方法13.2 方法2 4 Tracking By Detecting的跟踪过程4.1 存在的问题4.2 基于轨迹预测的跟踪方式 5 训练代码6 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 深度学习多目标跟踪 …

uniapp使用scroll-into-view实现锚点定位和滚动监听功能【楼层效果 / 侧边导航联动效果】

大佬网址&#xff1a; https://blog.csdn.net/weixin_47136265/article/details/132303570 效果 代码 <template><!-- 这里面有2个bug&#xff0c;已经解决&#xff0c;需要知道的地方1.methods里的scrollEvt(e)方法里面的 this.tabIndex index ! -1 ? index :…

MySQL - DML数据增删改

功能介绍&#xff1a; DML&#xff08;Data Manipulation Language&#xff09;数据操作语言&#xff0c;用来对数据库中表的数据记录进 行增、删、改操作。 添加数据&#xff08;INSERT&#xff09; 基本语法&#xff1a;insert into 表名(字段列表) values (值列表); …

el-collapse 嵌套中 el-checkbox作为标题,选中复选框与el-tree联动

<el-drawertitle"应用授权":visible.sync"menuDrawer"><el-collapse accordion style"padding: 15px"><el-collapse-item v-for"item in platList"><template slot"title"><el-checkbox v-model…

Mysql各种锁

一.不同存储引擎支持的锁机制 Mysql数据库有多种数据存储引擎&#xff0c;Mysql中不同的存储引擎支持不同的锁机制 MyISAM和MEMORY存储引擎采用的表级锁 InnoDB存储引擎支持行级锁&#xff0c;也支持表级锁&#xff0c;默认情况下采用行级锁 二.锁类型的划分 按照数据操作…

postgresql-管理数据表

postgresql-管理数据表 创建表数据类型字段约束表级约束模式搜索路径 修改表添加字段删除字段添加约束删除约束修改字段默认值修改字段数据类型重命名字段重命名表 删除表 创建表 在 PostgreSQL 中&#xff0c;使用 CREATE TABLE 语句创建一个新表&#xff1a; CREATE TABLE …

深度学习笔记_1、定义神经网络

1、使用了PyTorch的nn.Module类来定义神经网络模型;使用nn.Linear来创建全连接层。(CPU) import torch.nn as nn import torch.nn.functional as F from torchsummary import summary# 定义神经网络模型 class Net(nn.Module):def __init__(self):super(Net, self).__init__()…

湖南软件测评公司简析:软件功能测试和非功能测试的联系和区别

一、软件功能测试   软件功能测试旨在验证软件是否按照需求规格说明书的要求正常工作。具体而言&#xff0c;功能测试会对软件的所有功能进行测试&#xff0c;以确保其满足用户的需求和预期。在进行功能测试时&#xff0c;根据需求规格说明书编写测试用例&#xff0c;并在测试…

std::initializer_list详解

std::initializer_list介绍 initializer_list是C11提供的一种新类型&#xff0c;其定义于头文件<initializer_list>中&#xff0c;此头文件是工具库的一部分&#xff0c; <initializer_list>定义如下&#xff1a; namespace std {template<class E> class…

ubuntu22.04使用共享文件设置

从ubuntu20.04开始&#xff0c;设置共享文件就很麻烦 第一步&#xff1a; 安装samba&#xff1a; sudo apt install samba第二步; 创建一个共享文件夹 我以桌面Desktop为例子 第三步&#xff1a; 设置密码&#xff1a; sudo smbpasswd -a ygc第四步&#xff1a; sudo vim …