4.5、静态路由配置及其可能产生的路由环路问题

news2024/9/23 13:26:34

静态路由配置是指用户或网络管理员使用路由器的相关命令给路由器 人工配置路由表 \color{red}人工配置路由表 人工配置路由表

  • 这种人工配置方式简单、开销小。 但不能及时适应网络状态(流量、拓扑等)的变化。 \color{red}但不能及时适应网络状态(流量、拓扑等)的变化。 但不能及时适应网络状态(流量、拓扑等)的变化。

  • 一般只在小规模网络中采用。

使用静态路由配置可能出现以下 导致 \color{red}导致 导致产生 路由环路 \color{red}路由环路 路由环路的错误口

  • 配置错误

  • 聚合了不存在的网络

  • 网络故障


1、静态路由配置

采用如下所示的网络拓扑和相应的 IP 地址配置

image-20221226205203191

路由器 R1 通过自己的接口 0 0 0 所配置的 IP 地址和地址掩码, 可以自动得出接口 0 0 0 所在的网络

  • 由于接口 0 0 0 与该网络直连,则下一跳不是路由器地址,而是通过接口 0 0 0 转发 IP 数据报给该网络中的某个主机,这属于直接交付
  • 这条自动得出的路由条目的类型属于直连路由

其他同理

image-20221226205502815


image-20221226205809811

假设 R1 要转发一个 IP 数据报给该网络中的某个主机,R1 应该将该 IP 数据报转发给路由器 R2 的接口 0 0 0

但是 R1 的路由表中并没有关于该目的网络的路由条目(R1 并不知道目的网络的存在)

因此我们可以使用路由器相关配置命令,给 R1 添加一条到达该目的网络的路由条目

  • 该目的网络的地址: 192.168.2.0 / 24 192.168.2.0/24 192.168.2.0/24

  • 下一跳为路由器 R2 的接口 0 0 0 的地址: 10.0.0.2 10.0.0.2 10.0.0.2

该路由条目是我们人工配置的静态路由

R2 同理

image-20221226210039144


2、默认路由

假设路由器 R2 的接口 2 2 2 连接到了因特网

image-20221226210149708

假设 R1 要转发一个 IP 数据报给因特网中某个网络中的某个主机

可以看出 R1 应该将该 IP 数据报转发给路由器 R2 的接口 0 0 0

由于因特网中包含了众多的网络

  • 若我们给 R1 添加针对这些网络的每一条路由条目,则会给人工配置带来巨大的工作量,并且使 R1 的路由表变得非常大,降低了查表转发的速度。
  • 实际上,对于具有相同下一跳的不同目的网络的路由条目,我们可以用一条默认路由条目来替代

默认路由条目中的网络地址: 0.0.0.0 0.0.0.0 0.0.0.0,地址掩码也为: 0.0.0.0 0.0.0.0 0.0.0.0

  • CIDR 形式: 0.0.0.0 / 0 0.0.0.0/0 0.0.0.0/0

对于上述,默认路由 R2 的接口 0 0 0 的地址

由于默认路由也是由我们人工配置的,因此其类型也是静态

image-20221226210945146

3、特定主机路由

有时候,我们可以给路由器添加针对某个主机的特定主机路由条目

  • 一般用于网络管理人员对网络的管理和测试
  • 另外,在需要考虑某种安全问题时也可以采用特定主机路由

image-20221226211509498

特定主机路由的目的网络网络前缀最长,路由最具体(直接把目的路由抽象成一个网络号)

默认路由的目的网络网络前缀最短,路由最模糊

当有路由表查表转发 IP 数据报时,当有多条路由条目可选,则采用 “最长前缀匹配” 的原则

image-20221226211820714


4、静态路由配置错误导致路由环路问题

如下所示各路由器自动得出的直连网络,以及人工配置的静态路由

image-20221226211939361


R2 要转发该 IP 数据报到网络 192.168.1.0 / 24 192.168.1.0/24 192.168.1.0/24,正确的配置

image-20221226212052837


假设我们将下一跳错误地配置成了该地址: 10.0.1.2 10.0.1.2 10.0.1.2,也就是错误地指向了 R3 的接口 0 0 0

则当 R2 要转发 IP 数据报到该网络时,下一跳会错误地转发给路由器 R3 地接口 0 0 0

image-20221226212511382

R3 收到该 IP 数据报后,查表转发,找到了匹配地路由条目,下一跳应该转发给该地址

  • 也就是转发给 R2 的接口 1 1 1

image-20221226212700508


image-20221226212721854

5、聚合了不存在的网络而导致路由环路

image-20221226213244899


假设 R2 转发 IP 数据报到该网络: 192.168.2.0 / 24 192.168.2.0/24 192.168.2.0/24

R2 进行查表转发,找到了匹配的路由条目,下一跳应该转发给该地址,也就是转发给 R1 的接口 1 1 1

R1 收到该 IP 数据报后,进行查表转发,找到了匹配的路由条目,下一跳是通过接口 2 2 2 直接交付

image-20221226213322785


image-20221226213649509

192 192 192C 类地址,但聚合路由的网络地址只有 22 22 22 位,还剩 2 2 2 位就可以表示 4 4 4 各网络

R2 要转发 IP 数据报到这个不存在的网络时( 192.168.3.0 / 24 192.168.3.0/24 192.168.3.0/24

进行查表转发,找到了匹配的路由条目,下一跳应该转发给该地址: 10.0.0.1 10.0.0.1 10.0.0.1,也就是转发给 R1 的接口 1 1 1

但对于这个不存在的网络,路由器 R2 应该不予转发,却错把它转发给了 路由器 R1

image-20221226214400620

R1 收到该 IP 数据报后进行查表转发,只能走默认路由

  • 下一跳应该转发给该地址: 10.0.0.2 10.0.0.2 10.0.0.2
  • 也就是转发给 R2 的接口 0 0 0

很显然,R1R2 之间产生了路由环路

image-20221226214730995


我们可以在 R2 的路由表中添加针对所聚合的、不存在的网络的黑洞路由

黑洞路由的下一跳为 null0,这是路由器内部的虚拟接口

  • IP 数据报进入其后就有去无回了
  • 也就是路由器丢弃了该 IP 数据报

image-20221226214907585


假设 R2 要转发 IP 数据报到这个不存在的网络

进行查表转发,找到了两条可选择的路由条目,根据 “最长前缀匹配” 的原则

image-20221226215047402

将会选择这条到达不存在网络的黑洞路由,下一跳为虚拟接口 null0

image-20221226215133451


6、网络故障而导致路由环路

假设路由器 R1 检测到接口 0 0 0 所直连的网络出现了故障而不可达

  • 就会自动在其路由表中删除该直连网络的路由条目

image-20221226215426245


R2 要转发 IP 数据报到该故障的网络

image-20221226215545397


可以在 R1 的路由表中添加针对该直连网络的黑洞路由

image-20221226215629531


这样,R2 要转发 IP 数据报到该故障的网络

image-20221226215703625


假设一段时间后,该故障消失了

  • R1 又自动地得出了其接口 0 0 0 的直连网络的路由条目
  • 并将我们之前人工配置的针对该直连网络的黑洞路由条目设置为失效状态

image-20221226215905592


假设 R1 再次检测到其接口 0 0 0 所直连的网络出现了故障而不可达

  • 则会自动在其路由表中删除该直连网络的路由条目
  • 并将我们之前人工配置的针对该直连网络的黑洞路由条目设置为生效状态

routerBad

7、小结

image-20221226220437325

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

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

相关文章

我的世界Bukkit服务器插件开发教程(十三)资源包与玩家资料

十三、资源包与玩家资料 1.资源包(Resource Pack) 早期的 Minecraft 并没有资源包一说,而是被叫做材质包。有些服务器为了让玩家拥有更好的游戏体验,一般会在自己特制的客户端中存放一些资源包供玩家加载。 显然,使用…

自动梯度计算

神经网络的参数主要通过梯度下降来进行优化. 当确定了风险函数以及网络结构后, 我们就可以手动用链式法则来计算风险函数对每个参数的梯度, 并用代码进行实现. 但是手动求导并转换为计算机程序的过程非常琐碎并容易出错&#xff0…

二叉树的基础oj题(单值二叉树、相同的树、对称二叉树、二叉树的前序、中序、后序遍历、另一棵树的子树、二叉树的构建和遍历、翻转二叉树)

今天,我带来二叉树的基础oj题 目录单值二叉树:[链接](https://leetcode.cn/problems/univalued-binary-tree/)相同的树:[链接](https://leetcode.cn/problems/same-tree/)对称二叉树:[链接](https://leetcode.cn/problems/symmetr…

syzkaller 黑盒测试1:环境搭建

syzkaller 黑盒测试1:环境搭建 近期需要使用syzkaller对某Linux发行版系统内核进行测试,但是未提供内核源码,只能在黑盒条件下测试。这是笔者第一次接触syzkaller,对测试流程不太熟悉。另外,网上很少有syzkaller黑盒测…

C语言版扫雷——从0到1实现扫雷小游戏

🐒博客名:平凡的小苏 📚学习格言:有志者,事竟成,破釜沉舟,百二秦关终属楚;苦心人,天不负,卧薪尝胆,三千越甲可吞吴。 扫雷思维导图 目录 扫雷思维…

9_2、Java基本语法之常用类日期、时间类的使用

一、JDK 8之前时间日期API jdk8之前的日期时间类 1.System的currentTimeMillis() 2.java.util.Date以及子类java.sql.Date 3.SimpleDateFormat 4.Calender类:日历类 1、获取系统当前时间:System类下的currentTimeMillis(); //返回的是当前时间与1970年…

MySQL--整合Keepalived进行双机热备自动切换(升级版)

原文网址:MySQL--整合Keepalived进行双机热备自动切换(升级版)_IT利刃出鞘的博客-CSDN博客 简介 本文介绍MySQL整合Keepalived进行双机热备自动切换(升级版)。 服务器要考虑高可用问题。nginx、tomcat、缓存、队列、数…

Java开发的古董拍卖系统竞标系统拍卖网

简介 古董展品拍卖网站 用户可以注册成为买家也可以申请开店成为卖家,发布古董展品,设置拍卖起止时间进行展品的拍卖。如果早于拍卖开始时间或者晚于拍卖结束时间,则不可以竞拍。多人竞拍,买家可以根据最高价设置谁中标&#xff…

系分 - 结构化方法【概念】

个人总结,仅供参考,欢迎加好友一起讨论 系分 - (概念)结构化方法 结构化方法贯穿整个软件工程全部,可以单独细分出来作为某个软件工程环节的技术指引 结构化方法,由结构化分析(SA,St…

【C语言进阶】速学,不会用数据库可不能再错过文本与二进制文件操作

目录 ✨前言✨: 🎈一、文本文件与二进制文件🎈: 🎁二、文件读取结束的判定🎁: 1.错误使用 feof 函数: 2.判断文件读取结束: 🎊三、文件缓冲区&#x1f38…

Ubuntu虚拟机图文安装详细教程

Hello, 小伙伴们,大家好!今天教大家一步一步进行ubuntu虚拟机的安装。俗话说的好:“工欲善其事必先利其器”,作为一名嵌入式软件开发人员,我们必须熟悉Linux系统的操作及使用,熟练掌握Linux系统下的开发&am…

java 接口的私有方法

其实java8就已经做下伏笔了 在拥有静态和默认 两种拥有方法体的方法之后 接口出现私有方法也是一种必然 然后我们来创建一个包 包下创建一个接口 subInterface 参考代码如下 public interface subInterface {private void show2() {System.out.println("我是一个私有方…

头条权重在线查询,头条号增加权重的4个妙招

头条号权重可以简单理解为头条号指数,刚开通头条号的时候,会根据头条号的领域、介绍等等给予相应的权重。后期会根据账号使用情况进行调整权重,提高或者降低。 头条权重在线查询方法 打开“站长工具”之后,输入网站网址。…

LeetCodeday04

24. 两两交换链表中的节点 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。 示例 1: 输入:head [1,2,3…

JavaScript篇.day08-DOM,节点,事件,定时器,位置及坐标

目录 1.DOM 2.DOM相关操作 (1)获取元素 (2)操作元素 (3)操作元素属性 (4)操作元素类名 (5)操作元素样式 3.节点操作 4.事件 5.事件传播 6.定时器 7.位置及坐标 1.DOM Document Object Model 文档对象模型一整套操作文档流相关内容的属性和方法可以做的操作: 修改样…

前端框架搭建(六)搭建页面框架【vite】

1.安装所需依赖 需要安装 vue-routernaive视图框架 npm npm install vue-router4 yarn yarn add vue-router4npm i -D naive-ui2.搭建naive适配框架 创建文件夹——存放通用组件 在components下创建文件夹common 全局配置常用组件 在之前创建的global.d.ts中添加Window…

枚举的应用

枚举: 在数学和计算机科学理论中,一个集的枚举是列出某些有穷序列集的所有成员的程序,或者是一种特定类型对象的计数。这两种类型经常(但不总是)重叠。 [1] 是一个被命名的整型常数的集合,枚举在日常生活…

基于CAS操作的atomic原子类型

原子操作 C A S (compare And Swap)也叫比较交换,是一种无锁原子算法,映射到操作系统就是一条cmpxchg硬件汇编指令(保证原子性),其作用是让CPU将内存值更新为新值,但是有个条件,内存值必须与期望…

站长权重在线查询,怎么查询网站权重是多少?

什么是网站权重 当站长们辛辛苦苦建立起来一个网站,怎么才能知道自己的网站在搜索引擎中的权重情况呢? 对于很多人而言,权重这个词可能听到最多的场景就是淘宝京东店铺权重。淘宝或京东会根据商家网店的浏览量、好评率、转化率、是否…

4A(统一安全管控平台)解析

4A是指帐号(Account)、认证(Authentication)、授权(Authorization)和审计(Audit),4A统一安全管控平台是以身份为中心,实现帐号、认证、授权和审计统一管控的安…