当前位置: 首页 > news >正文

实验12 路由重分布

实验12 路由重分布

      • 一、 原理描述
      • 二、 实验目的
      • 三、 实验内容
      • 四、 实验配置
      • 五、 实验步骤

一、 原理描述

在大型网络的组建过程中,隶属不同机构的网络部分往往会根据自身的实际情况来选用路由协议。例如,有些网络规模很小,为了管理简单,部署了RIP;而有些网络很复杂,可以部署OSPF。不同路由协议之间不能直接共享各自的路由信息,因此这些不同机构的网络在完成物理线路连接之后,必须配置路由引入来完成不同路由选择协议之间路由信息的交换,以保证全网内所有的主机都能根据路由将分组发送到正确的目的主机,这个操作称为路由重分布。
获得路由信息一般有3种途径:直连网段、静态配置和路由协议。可以将通过这3种途径获得的路由信息引入路由协议中。

二、 实验目的

掌握路由重分布的配置方法。

三、 实验内容

本实验模拟3家公司互连的场景。路由器R1连接了3家公司,其中公司A内部运行RIP协议,公司B内部运行OSPF协议,公司C通过默认路由连接到R1。由于业务发展需要,3家公司需要能够互相通信。同时,R1通过直连线路连接外部主机PC3,PC3需要能够跟3家公司的所有主机通信。

四、 实验配置

1.实验设备
路由器AR12205台,其中R1上添加4GEW-T模块,PC4台。
2.网络拓扑
路由重分布拓扑结构如图12-1所示。
在这里插入图片描述

图12-1 路由重分布拓扑结构
3.设备编址
设备接口编址如表12-1所示。
在这里插入图片描述

五、 实验步骤

(1)新建网络拓扑结构。
(2)配置好PC1~PC4的网络参数。
(3)为路由器R1~R5配置端口I地址。
(4)搭建RIP和OSPF网络。
第1步:在R1和R4上配置RIP协议。
根据图12-1所示的拓扑配置路由协议,公司A内部运行RIP协议。在R1和R4上配置 RIP,进程号为1,启用RIP v2版本,通告各自接口所在网段,R1在RIP中仅通告GE0/0/1接口所在网段。

[Rl]rip 1
[Rl-rip-1]version 2
[R1-rip-1]network 223.1.4.0
[R4]rip 1
[R4-rip-1]version 2
[R4-rip-1]network 223.1.4.0
[R4-rip-1]network 223.1.14.0

第2步:验证RIP网络的连通情况。
通过PC4和R1之间的连通情况验证自治系统内部的RIP协议配置,经过验证,主机PC4和R1之间可以互相ping通。
在这里插入图片描述

第3步:在R1~R3上配置OSPF协议。
公司B内部运行OSPF协议。在R1、R2和R3上配置OSPF协议,使用进程号1,R1和R2所在的223.1.2.0/24网段属于区域0,R2和R3所在的223.1.3.0/24网段属于区域1,R1在OSPF中仅通告GE0/0/0接口所在网段。

[R1]ospf 1
[Rl-ospf-1larea 0
[Rl-ospf-1-area-0.0.0.0]network 223.1.2.0 0.0.0.255
[R2]ospf 1
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]network 223.1.2.0 0.0.0.255
[R2-opf-1-area-0.0.0.0]area 1
[R2-ospf-1-area-0.0.0.1]network 223.1.3.0 0.0.0.255
[R3]ospf 1
[R3-ospf-1larea 1
[R3-ospf-1-area-0.0.0.1]network 223.1.3.0 0.0.0.255
[R3-ospf-1-area-0.0.0.1]network 223.1.11.0 0.0.0.255

第4步:验证OSPF网络的连通情况。
通过 PC1和R1之间的连通情况验证OSPF 协议配置,经过验证,主机PC1和R1之间可以互相ping通。
在这里插入图片描述

(5)配置静态路由和默认路由。
第1步:在R5上配置默认路由。

[R5]ip route-static 0.0.0.0 0.0.0.0 223.1.5.1

第2步:在R1上配置静态路由。

[R1]ip route-static 223.1.12.0 255.255.255.0 223.1.5.2

配置完成后,查看R1的路由表。
在这里插入图片描述

由于R1上同时运行了RIP协议和OSPF协议,并配置了静态路由,可以观察到R1同时拥有公司A、公司B和公司C的路由信息。
(6)配置路由重分布。
为了保证公司间的互相通信,需要在一种路由协议中引入其他路由协议的路由信息。这里有两种方式:一种是配置路由引入;另一种是发布默认路由。下面分别介绍这两种配置方式的作用和配置方法。
①配置路由引入。为了使3个公司网络能够互相访问,并保证主机 PC3能够访问3个公司网络,需要把公司A的RIP协议的路由、公司C的静态路由以及主机PC3的直连路由引入公司B的OSPF中,同样,把公司B的OSPF协议的路由、公司C的静态路由以及主机PC3的直连路由引入公司A的RIP协议中。
第1步:在R1的OSPF进程中使用import-route rip命令引入RIP 路由,通过import-route direct 命令引入直连路由,通过import-route static命令引入静态路由。

[R1]ospf 1
[Rl-ospf-1]import-route rip 1
[R1-ospf-1]import-route direct
[Rl-ospf-1]import-route static

配置完成之后,查看R2和R3的路由表。
在这里插入图片描述
在这里插入图片描述

可以看到,R2和R3上现在拥有来自公司A、公司C和主机PC3的路由信息。
在R1的RIP进程中使用import-route ospf命令引入OSPF 路由,通过import-routedirect命令引入直连路由,通过import-route static命令引入静态路由。

[R1]rip 1
[Rl-rip-1]import-route ospf 1
[R1-rip-1]import-route direct
[Rl-rip-1]import-route static

配置完成后,查看R4的路由表。
在这里插入图片描述

可以看到,R4上现在拥有来自公司A、公司C和主机PC3的路由信息,且路由的开销值默认都为1。
当配置路由引入后可以获得对方网络的路由信息,但是在各自的路由表中,开销都为默认值1。为了能够反映真实的网络拓扑情况,更好地进行路由控制,网络管理员在将OSPF引入RIP时需要手动配置路由开销值。例如,在R1的RIP 进程中使用import-route ospf 1 cost 3命令修改开销值为3。

[R1]rip 1
[Rl-rip-1]import-route ospf 1 cost 3

配置完成后,在R4上查看路由开销值的变化情况。
在这里插入图片描述

可以观察到,在R4 路由器中两条路由的Cost 值已经变为4,这是因为还加上了R4接口上的Cost值1。
②使用RIP和OSPF发布默认路由。使用路由引入方式可以获得其他路由协议的路由信息,但是也会让其他机构知晓本网络内部的网络构成。实际中很多情况下,为了保证自身网络的私密性,双方并不愿意让对方知道自己网络的明细路由,而又想能够互相通信。这种情况下需要配置路由协议以自动发布默认路由的方式来完成此需求。
公司A需要能够访问公司B的网络,而公司B为了保护自身网络的私密性,不希望公司A获知自身内部网络的明细路由,这时可以在R1的RIP协议进程中发布默认路由,使公司A能在没有公司B的明细路由的情况下访问公司B的网络。
在R1的RIP进程中,使用default-route originate命令发布默认路由。

[Rl]rip 1
[Rl-rip-1]default-route originate

配置完成后,在R4上查看路由表。
在这里插入图片描述

可以观察到R4上有一条从RIP 协议获取来的默认路由,通过这条默认路由,公司A可以访问公司B的网络。
为了能够实现双向通信,公司B也需要访问公司A的网络,而公司A同样为了保护自身网络私密性,不希望公司B获知自身内部网络的明细路由。这时可以在R1的OSPF 协议进程中发布默认路由,使公司B能够在没有公司A的明细路由的情况下访问公司A的网络。

在R1的OSPF进程中,使用default-route-advertise always命令发布默认路由。

[R1]ospf 1
[Rl-ospf-1]default-route-advertise always

配置完成后,在R2和R3上查看路由表。
在这里插入图片描述
在这里插入图片描述

可以看到,R2和R3上有一条通过OSPF 协议获得的默认路由,公司B可以访问公司A的网络。
(7)验证各公司PC之间的连通性。
在PC1、PC2、PC3、PC4上测试主机之间是否能够ping通,通过观察可以看到主机之间均可以直接通信。

注:此为记录笔记,如有不足,还望海涵,可留言斧正
上一个实验: 实验11 OSPF协议配置
链接: 主页

相关文章:

实验12 路由重分布

实验12 路由重分布 一、 原理描述二、 实验目的三、 实验内容四、 实验配置五、 实验步骤 一、 原理描述 在大型网络的组建过程中,隶属不同机构的网络部分往往会根据自身的实际情况来选用路由协议。例如,有些网络规模很小,为了管理简单&…...

version-manager最好用的SDK版本管理器,v0.6.2发布

项目地址:https://github.com/gvcgo/version-manager 中文文档:https://gvcgo.github.io/vdocs/#/zh-cn/introduction 功能特点: 跨平台,支持Windows,Linux,MacOS支持多种语言和工具,省心受到…...

MFC工控项目实例之三theApp变量传递对话框参数

承接专栏《MFC工控项目实例之二主菜单制作》 用theApp变量传递对话框参数实时改变iPlotX坐标轴最小值、最大值。 1、新建IDD_SYS_DATA对话框,类名SYS_DATA。 三个编辑框IDC_EDIT1、IDC_EDIT2、IDC_EDIT3变量如图 2、SEAL_PRESSURE.h中添加代码 #include "re…...

C# OpenCvSharp 图像处理函数-图像拼接-hconcat、vconcat、Stitcher

在图像处理和计算机视觉领域,图像拼接是一个常见的操作。OpenCvSharp是一个用于.NET平台的OpenCV封装库,可以方便地进行图像处理。本文将详细介绍如何使用OpenCvSharp中的hconcat、vconcat函数以及Stitcher类进行图像拼接,并通过具体示例帮助读者理解和掌握这些知识点。 函…...

软件方案评审与模块优化:从FOC模块出发的电控平台建设

一、背景 洞悉模块发展趋势,定制行业应用特点,明确优化方向与阶段性目标 随着科技进步的飞速发展,模块化设计已成为众多行业产品开发的核心理念。无论是软件系统、硬件组件,还是复杂系统中的功能模块,都需要对其发展…...

emoji_call_read

这道题我觉得可以记录一下。 主要函数,一样,先考虑怎么泄露libc基址。 但,0x20实在太小,组成不了连续3个ret syscall。 而且文件中也没pop rdi;ret这个gadget,只能另寻他法。 我们注意到: main函数中的这…...

一键自动粘贴,高效处理邮箱地址,让你的工作效率翻倍提升!

在信息爆炸的时代,邮箱地址已成为我们日常工作和生活中的必备元素。无论是商务沟通、报名注册还是信息传递,邮箱地址都扮演着至关重要的角色。然而,手动复制粘贴邮箱地址的繁琐操作往往让人头疼不已,不仅效率低下,还容…...

【Java】Java 使用 Graphics2D 在图片上添加文字,并解决图片变红问题

文章目录 【Java】Java 使用 Graphics2D 在图片上添加文字,并解决图片变红问题完整案例 【Java】Java 使用 Graphics2D 在图片上添加文字,并解决图片变红问题 完整案例 public static void main(String[] args) {try {String filePath "D:\\Works…...

初识docker插件

文章目录 一、Docker插件概述二、Docker插件的优势三、Docker插件的使用例子1. 安装Docker插件2. 启用Docker插件3. 创建卷并使用 四、常用的Docker插件五、总结 Docker插件(Docker Plugin)是Docker扩展功能的一种重要方式,它允许用户为Docke…...

springboot整合redis以及使用

在Spring Boot中整合Redis,并使用Redis作为缓存或数据存储,是非常常见和有用的场景。Redis作为一种高性能的键值存储系统,可以用来加速数据访问、会话管理、消息队列等多种用途。下面是整合和使用Redis的基本步骤: 1. 添加Redis依…...

ARM32开发--电源管理单元

知不足而奋进 望远山而前行 目录 文章目录 前言 学习目标 学习内容 PMU 电源域 VDD/VDDA域 备份域 1.2V域 省电模式 睡眠模式 深度睡眠模式 待机模式 几种模式总结 WFI和WFE指令 案例需求 模式初始化 源码 总结 前言 在嵌入式系统中,有效的电池管…...

Android Studio项目升级报错:Namespace not specified

原项目升级AGP到8.0时报错: Namespace not specified. Specify a namespace in the modules build file: C:\Users\Administrator\Desktop\MyJetpack\app\build.gradle. See https://d.android.com/r/tools/upgrade-assistant/set-namespace for information about…...

渗透测试nginx增加400,500报错页面

nginx增加400,500报错页面 在Nginx中增加自定义的400和500错误页面,你需要编辑Nginx配置文件,通常这个文件位于 /etc/nginx/nginx.conf 或者 /etc/nginx/conf.d/default.conf,或者在 /usr/local/nginx/conf/nginx.conf (如果你是…...

OpenCV读取和显示和保存图像

# 导入 OpenCV import cv2 as cv # 读取图像 image cv.imread(F:\\mytupian\\xihuduanqiao.jpg) # 创建窗口 #显示图像后,允许用户随意调整窗口大小 cv.namedWindow(image, cv.WINDOW_NORMAL) # 显示图像 cv.imshow(image, image)# 将图像保存到文件 success cv…...

【面经总结】Java集合 - Map

Map 概述 Map 架构 HashMap 要点 以 散列(哈希表) 方式存储键值对,访问速度快没有顺序性允许使用空值和空键有两个影响其性能的参数:初始容量和负载因子。 初始容量:哈希表创建时的容量负载因子:其容量自动扩容之前被允许的最大…...

CompletableFuture方法介绍及代码示例

CompletableFuture 是 Java 8 引入的一个类,用于支持异步编程。它实现了 Future 接口,并提供了非常强大的功能来处理异步操作。下面是 CompletableFuture 的一些关键内部方法及其详细解释。 基础方法 1. supplyAsync 和 runAsync: - supplyA…...

基于springboot的宠物商城网站

文章目录 项目介绍主要功能截图:部分代码展示设计总结项目获取方式🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 项目介绍 基于springboot的宠物商城网站,java项目…...

DM存储ontap系统修改管理IP

存储已配置完成在使用,修改管理ip不会影响生产 旧管理IP新管理IP192.0.2.1/24192.0.10.1/24192.0.2.2/24192.0.10.2/24192.0.2.3/24192.0.10.3/24 旧网关:192.0.2.254 新网关:192.0.10.254 查看现有的管理IP信息 cluster1::> network …...

Web前端商业素材:挖掘价值,释放创意的无限可能

Web前端商业素材:挖掘价值,释放创意的无限可能 在数字化时代,Web前端作为用户与互联网世界交互的桥梁,其重要性不言而喻。而商业素材,作为Web前端设计的重要组成部分,更是承载着品牌形象、传递商业信息的重…...

LeetCode206-反转链表

题目 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 代码 /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}* ListNode(int val) { this.val val; }* …...

大话软工笔记—需求分析概述

需求分析,就是要对需求调研收集到的资料信息逐个地进行拆分、研究,从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要,后续设计的依据主要来自于需求分析的成果,包括: 项目的目的…...

centos 7 部署awstats 网站访问检测

一、基础环境准备(两种安装方式都要做) bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats&#xff0…...

CMake基础:构建流程详解

目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...

376. Wiggle Subsequence

376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...

C++中string流知识详解和示例

一、概览与类体系 C 提供三种基于内存字符串的流&#xff0c;定义在 <sstream> 中&#xff1a; std::istringstream&#xff1a;输入流&#xff0c;从已有字符串中读取并解析。std::ostringstream&#xff1a;输出流&#xff0c;向内部缓冲区写入内容&#xff0c;最终取…...

大模型多显卡多服务器并行计算方法与实践指南

一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...

JavaScript 数据类型详解

JavaScript 数据类型详解 JavaScript 数据类型分为 原始类型&#xff08;Primitive&#xff09; 和 对象类型&#xff08;Object&#xff09; 两大类&#xff0c;共 8 种&#xff08;ES11&#xff09;&#xff1a; 一、原始类型&#xff08;7种&#xff09; 1. undefined 定…...

Caliper 负载(Workload)详细解析

Caliper 负载(Workload)详细解析 负载(Workload)是 Caliper 性能测试的核心部分,它定义了测试期间要执行的具体合约调用行为和交易模式。下面我将全面深入地讲解负载的各个方面。 一、负载模块基本结构 一个典型的负载模块(如 workload.js)包含以下基本结构: use strict;/…...

PHP 8.5 即将发布:管道操作符、强力调试

前不久&#xff0c;PHP宣布了即将在 2025 年 11 月 20 日 正式发布的 PHP 8.5&#xff01;作为 PHP 语言的又一次重要迭代&#xff0c;PHP 8.5 承诺带来一系列旨在提升代码可读性、健壮性以及开发者效率的改进。而更令人兴奋的是&#xff0c;借助强大的本地开发环境 ServBay&am…...

系统掌握PyTorch:图解张量、Autograd、DataLoader、nn.Module与实战模型

本文较长&#xff0c;建议点赞收藏&#xff0c;以免遗失。更多AI大模型应用开发学习视频及资料&#xff0c;尽在聚客AI学院。 本文通过代码驱动的方式&#xff0c;系统讲解PyTorch核心概念和实战技巧&#xff0c;涵盖张量操作、自动微分、数据加载、模型构建和训练全流程&#…...