【网络协议】静态路由详解

网络中的路由器通过以下两种方式之一发现远程网络:

  • 静态配置路由
  • 动态路由协议

在本文,我们将学习关于静态路由的各种概念,例如如何配置静态路由、路由表如何进行决策、路由接口等相关知识。

文章目录

    • 引言
    • 直连网络
    • 静态路由
    • 路由表原则
      • 原则1
      • 原则2
      • 原则3
      • 应用这些原则
        • 原则 1
        • 原则 2
        • 原则 3
      • 在路由器 R2 上的配置
      • 在路由器 R3 上的配置
    • 解决下一跳IP地址的问题
    • 汇总路由和默认路由

引言

路由器的工作是将数据包从源设备转发到目标设备。在两者之间可能有多个路由器。路由器使用一种被称为路由表的数据库来转发这些数据包。

参考下图所示的拓扑结构。

在这里插入图片描述
上图展示了一个由3台路由器和2台主机组成的小型网络。如前所述,每个路由器的连接都应有其独立的网络段,这在图中有所体现。

网络管理员还将R1和R3的串行接口配置为DCE,且所有其他配置均正确。

在此场景中:

  • R1 可以 ping 通主机 A,也可以 ping 通 R2 的 s0/0/0 接口,但无法 ping 通 s0/0/1 接口。
  • R3 可以 ping 通主机 B,也只能 ping 通 R2 的 s0/0/1 接口。
  • 主机 A 和主机 B 无法通信。

如下图所示。

在这里插入图片描述

在本章中,我们将解释为什么这两台计算机无法通信的原因,并解决此问题。

请牢记该拓扑图,因为它将在本章中持续使用。

直连网络

在这里插入图片描述
路由表是一个数据库,包含有关各种网络的信息。我们已经提到,这些远程网络可以通过路由协议学习,也可以通过手动配置的路由获得。

在路由器上执行 show ip route 命令的输出会显示特定路由器可以到达的路由。默认情况下,路由器只能了解直接连接的路由。

在我们的场景中,从 R1 的角度来看,直接连接的网络是连接到 HOST A 的网络以及 R1 和 R2 之间的网络。

由于这些路由器(R2 和 R3)尚未进行其他配置,因此它们应该只具有直接连接的路由。

直接连接的网络是特定路由器可以到达的唯一网络。在我们的场景中,这意味着:

  • HOST A 可以 ping 通 R1。
  • R1 可以 ping 通 R2 的 s0/0/0 接口,但无法 ping 通 s0/0/1 接口。
  • R2 可以 ping 通 R1 的 s0/0/0 接口,但无法 ping 通 fa0/0 接口或 HOST A。
  • R2 可以 ping 通 R3 的 s0/0/0 接口,但无法 ping 通 fa0/0 接口或 HOST B。
  • R3 可以 ping 通 R2 的 s0/0/1 接口,但无法 ping 通 s0/0/0 接口。
  • HOST B 可以 ping 通 R3。
  • 两台主机(HOST A 和 HOST B)无法互相 ping 通。
  • R1 和 R3 无法互相 ping 通。

下图展示了所有直接连接的网络。

在这里插入图片描述

静态路由

静态路由是实现远程网络通信的一种方式。在生产网络中,静态路由主要用于从特定网络到桩网络的路由配置。

桩网络是指只能通过一个点或一个接口访问的网络。

在上述场景中,192.168.1.0/24192.168.4.0/24 网络是桩网络。这意味着,这些网络段中的主机与其他主机通信只有一条路径:对于 192.168.1.0/24 网络是通过 R1,而对于 192.168.4.0/24 网络是通过 R3

理解桩网络对于理解静态路由至关重要。

配置静态路由所需的命令如下:

Router(config)# ip route (网络地址) (子网掩码) (下一跳IP地址/出口接口)

下表解释了 ip route 命令中每个参数的含义,并提供了一个示例,说明如何在 R1 上配置到 R3 的局域网网络(192.168.4.0/24)的静态路由。

参数含义示例
Ip route表明正在配置的是静态路由ip route
Network-address目标网络的网络地址,即希望到达的网络地址192.168.4.0
Subnet-mask希望到达的目标网络的子网掩码255.255.255.0
Next hop ip address连接到目标网络的下一跳路由器的IP地址192.168.2.4
Exit interface路由器上连接到将带我到目标网络的路由器的出口接口s0/0/0

请参考示例。
因此,要在 R1 上为网络 192.168.4.0/24 配置静态路由,需在 R1 上输入以下命令:

R1(config)# ip route 192.168.3.0 255.255.255.0 192.168.2.4  
R1(config)# ip route 192.168.4.0 255.255.255.0 192.168.2.4  

或者:

R1(config)# ip route 192.168.3.0 255.255.255.0 s0/0/0  
R1(config)# ip route 192.168.4.0 255.255.255.0 s0/0/0  

注意: 配置静态路由时,
只能使用出口接口下一跳IP地址,而不能同时使用两者。这一点将在后面详细说明。

查看R1上的路由表:

在这里插入图片描述
R1show ip route 输出的底部用红色突出显示的部分,是我们刚刚添加的静态路由。开头的 “S” 表示该路由是通过静态路由配置加入路由表的。

括号中的 “1” 是静态路由的管理距离,“0” 是度量值。

由此我们可以假设从 HOST AHOST B 的 ping 应该可以成功,对吧?

让我们尝试从 HOST A ping HOST B,看看会发生什么。

在这里插入图片描述

正如上图所示,所有从 HOST AHOST B 的四次 ping 都显示请求超时。此外,底部用红色突出显示的部分表明,HOST B 没有接收到任何数据包,这意味着它们无法通信。

在下一部分,我们将探讨为什么两个主机无法通信,尽管 R1 已正确配置了静态路由。

路由表原则

以下是决定路由器如何通信的三条路由表原则。

原则1

“路由器仅根据其路由表中的信息转发数据包。”

R1 有两条路由:192.168.3.0/24(R2R3 之间的连接)和 192.168.4.0/24(HOST B 所在的网络)。因此,根据第一条原则,R1 仅基于这些信息做出转发决策。它不会咨询 R2R3,也不知道这些路由器是否有其他网络的路由信息。作为网络管理员,我们的职责是确保网络中的所有路由器了解远程网络的信息。

原则2

“一个路由器上的路由信息并不意味着域中的其他路由器也有相同的信息。”

R1 并不了解 R2 路由表中的信息,R2R3 也一样。因此,尽管 R1 有通往 R2R3 的网络的路径,但并不意味着 R2R3 也有相同的路由信息。

例如,R1 可以通过 R2 到达网络 192.168.4.0/24,但 R1 并不知道 R2 是否可以到达连接 R3 的网络。因此,我们需要在 R2 上配置到 R3 局域网的路由。

根据原则 2,我们仍需在其他路由器(R2R3)上正确配置路由,以确保它们知道这三个网络的路由。

原则3

“路由器到远程网络的路由并不意味着远程路由器有返回路径。”

此原则意味着,当在一个路由器上配置路由时,必须在远程路由器上配置返回路由。在我们的网络中,大多数通信是双向的,这意味着每次发送消息时都需要收到回复。

以邮局为类比,这就像发送一封没有回信地址的信。收信人无法回复这封信,邮递员也不知道该将信寄往何处。

在我们的场景中,这意味着当我们在 R1 上配置到网络 192.168.4.0/24 的路由时,我们需要在远程路由器上配置通向 R1 的局域网的路由。

根据原则 3 的指导,我们将在其他路由器上正确配置静态路由,以确保它们有返回到网络 192.168.1.0/24 的路由。

应用这些原则

在此场景中,我们需要在所有路由器上应用这三条原则,以使静态路由正常工作。

原则 1

R1 知道如何到达网络 192.168.3.0/24 和 192.168.4.0/24,但 R2R3 并不知道。因此,我们需要在 R2 上配置静态路由,以使其知道如何到达 192.168.4.0/24。

原则 2

尽管我们在 R1 上配置了静态路由,但这并不意味着 R2 知道通往 192.168.4.0/24 的路径。因此,R2 需要知道该网络。

原则 3

即使 R1R2 有到网络 192.168.4.0 的路由,ping 仍然会失败,因为 R2R3 不知道如何返回 R1。因此,我们需要在 R1 上配置到网络 192.168.1.0/24 的返回路由。在本例中,我们在 R2R3 上使用下一跳 IP 地址。

通过以上分析,我们可以在所有路由器上进行必要的配置,以实现 HOST AHOST B 之间的通信。

在路由器 R2 上的配置

R2(config)# ip route 192.168.1.0 255.255.255.0 192.168.2.3
R2(config)# ip route 192.168.4.0 255.255.255.0 192.168.3.3

在路由器 R3 上的配置

R3(config)# ip route 192.168.1.0 255.255.255.0 192.168.3.4
R3(config)# ip route 192.168.4.0 255.255.255.0 192.168.3.4

完成对三台路由器的所有配置后,HOST AHOST B 之间的通信应该是可行的。下图显示了所有三台路由器的路由表,其中静态路由用红色标出。

R1
在这里插入图片描述

R2
在这里插入图片描述

R3
在这里插入图片描述

由于以下输出,我们应该能够从主机A ping到主机B。以下输出显示了从主机A到主机B的ping结果。

在这里插入图片描述
输出显示来自主机B的回复,其IP地址为192.168.4.2,红色高亮部分显示4个数据包已发送,所有4个数据包都已被主机B接收,丢包率为0%。

因此,我们已成功在路由器上配置了静态路由。

解决下一跳IP地址的问题

假设我们在R2上配置了下一跳IP地址,而不是出口接口,路由器如何知道通过哪个接口发送数据包?

下图显示了R2上show ip route命令的输出。

在这里插入图片描述

当路由器想要将数据包发送到192.168.1.0网络时,它将查看路由表。

路由表中有一条通往该网络的路由,下一跳是192.168.2.3。然后,路由器检查是否有与192.168.2.3网络连接的接口。在这种情况下,连接到该网络的接口是蓝色高亮部分所示的网络。出口接口是serial 0/0/0。

只有下一跳IP地址而没有出口接口的路由,必须通过路由表中的路由来解析下一跳IP地址,该路由连接到远程网络。

在大多数情况下,下一跳解析到的路由通常是直接连接的网络。

因此,这通常是一个问题,因为路由器必须处理数据包两次才能确定将其转发到哪里。这被称为递归查找。

建议静态路由使用出口接口,而不是下一跳IP地址。

汇总路由和默认路由

假设一台路由器连接了多个LAN,使用一个覆盖所有LAN的地址并配置一条静态路由会更为实用。以这个场景为例,R1连接了5个LAN:

  • 192.168.1.0/24
  • 192.168.2.0/24
  • 192.168.3.0/24
  • 192.168.4.0/24
  • 192.168.5.0/24

这些路由的汇总如下表所示。

在这里插入图片描述
前两个八位字节和第三个八位字节从左侧开始的前五个位相同。

因此,针对这5个网络的新的汇总网络地址和子网掩码为:192.168.0.0/21,子网掩码为255.255.248.0。

在R2上配置到汇总网络的静态路由,命令如下:

R2(config)# ip route 192.168.0.0 255.255.248.0 s0/0/0

参考下面所示的图示。假设主机A想要发送电子邮件给朋友或查看互联网网站,路由器如何知道将数据包发送到哪里?

在这里插入图片描述
互联网有很多IP地址,配置一条静态路由到特定网络是行不通的。因此,需要配置默认路由。

默认静态路由是一条将匹配所有数据包的路由。默认静态路由的使用场景包括:

  • 当路由表中没有其他路由匹配数据包的目标IP地址时。换句话说,当没有更具体的匹配存在时。一个常见的用途是在将公司的边缘路由器连接到ISP网络时。

  • 当路由器只有一个连接的其他路由器时。这种情况称为“存根路由器”(Stub Router)。

配置静态默认路由的语法为:

Router(config)# ip route 0.0.0.0 0.0.0.0 [下一跳IP地址/出口接口]

到这个网络的路由会告诉路由器转发任何没有路由匹配的包,指向指定的下一跳IP地址或出口接口。

在这种情况下,要配置默认静态路由,R1上的命令序列将是:

R1(config)# ip route 0.0.0.0 0.0.0.0 12.145.3.2

或者

R1(config)# ip route 0.0.0.0 0.0.0.0 s0/0/0

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

(长期更新)《零基础入门 ArcGIS(ArcScene) 》实验七----城市三维建模与分析(超超超详细!!!)

城市三维建模与分析 三维城市模型已经成为一种非常普遍的地理空间数据资源,成为城市的必需品,对城市能化管理至关重要。语义信息丰富的三维城市模型可以有效实现不同领域数据与IS相信息的高层次集成及互操作,从而在城市规划、环境模拟、应急响应和辅助决策等众多领域公挥作用、…

计算机网络--路由器问题

一、路由器问题 1.计算下一跳 计算机网络--根据IP地址和路由表计算下一跳-CSDN博客 2.更新路由表 计算机网络--路由表的更新-CSDN博客 3.根据题目要求给出路由表 4.路由器收到某个分组,解释这个分组是如何被转发的 5.转发分组之路由器的选择 二、举个例子 …

通过Android Studio修改第三方jar包并重新生成jar包

最近接手了来自公司其他同事的一个Unity项目,里面有一个封装的jar包要改动一下,无奈关于这个jar包的原工程文件丢失了,于是自己动手来修改下jar包,并做下记录。 一、导入第三方jar包 1、新建项目EditJarDemo(项目名随便取) 2、新建libs文件夹,把你要修改的third.jar 复制…

33.3K 的Freqtrade:开启加密货币自动化交易之旅

“ 如何更高效、智能地进行交易成为众多投资者关注的焦点。” Freqtrade 是一款用 Python 编写的免费开源加密货币交易机器人。它就像一位不知疲倦的智能交易助手,能够连接到众多主流加密货币交易所,如 Binance、Bitmart、Bybit 等(支…

计算机网络 (26)互联网的路由选择协议

一、路由选择协议的基本概念 路由选择协议是计算机网络中用于确定数据包在网络中传输路径的一种协议。它帮助路由器构建和维护路由表,以便根据目的地址将数据包转发到正确的下一跳路由器。路由选择协议分为静态路由选择协议和动态路由选择协议两大类。 二、静态路由…

【MySQL实战】Centos安装MySQL

在CentOS上安装MySQL以及进行性能分析:2种方式,第一种直接装;第二种用docker安装: 直接安装MySQL 首先,更新系统软件包列表: sudo yum update然后,安装MySQL服务器: sudo yum in…

centOS7

特殊权限 set_uid 赋予所有者身份 chmod us 文件 set_gid 赋予所有组身份 chmod gs 文件/目录 sticky_bit 防火墙 firewall-cmd 开启端口 firewall-cmd --zonepublic --add-port8080/tcp --permanent 重启防火墙 systemctl restart firewalld 查看开启的所有端口 fi…

Java后端开发单元测试

测试概览 测试是用于促进鉴定软件正确性、完整性、安全性和软件质量的过程。在开发的过程中测试是必不可少的,测试一般分为四个阶段:单元测试,集成测试,系统测试,验收测试;对于后端开发人员而言&#xff0…

LAMP搭建

LAMP搭建 引子:本篇文章为LAMP的搭建流程,其中L(Ubuntu)、A(Apache)、M(Mysql)、P(PHP)。 一、L → Ubuntu Step 1:在Vmware Workstation中使…

LabVIEW 系统诊断

LabVIEW 系统诊断是指通过各种工具和方法检测、评估、分析和解决 LabVIEW 程序和硬件系统中可能存在的故障和性能问题。系统诊断不仅涵盖软件层面的调试与优化,还包括硬件交互、数据传输、实时性能等方面的检查和分析。一个成功的系统诊断能够显著提升LabVIEW应用程…

基于 GEE 提取白莲种植范围

目录 1 方法原理 1.1 步骤一 1.2 步骤二 1.3 步骤三 1.4 步骤四 2 完整代码 3 运行结果 近年来,随着乡村振兴战略的提出,我国的农业种植模式呈现出多元化的趋势。白莲具有易种植、经济效益高的特点,由此被广泛种植,本文介绍…

el-table 自定义表头颜色

第一种方法&#xff1a;计算属性 <template><div><el-table:data"formData.detail"border stripehighlight-current-row:cell-style"{ text-align: center }":header-cell-style"headerCellStyle"><el-table-column fixed…

c++类和对象---上

文章目录 类的介绍 类的声明 1.1 类名 1.2 成员变量 1.3 成员函数 1.4 访问权限 类的定义 2.1 成员变量的初始化 2.2 成员函数的实现 对象的创建和销毁 3.1 默认构造函数 3.2 析构函数 3.3 拷贝构造函数 3.4 对象的实例化 3.5 对象的销毁 成员访问控制 4.1 公有成员 4.2 私有…

上汽乘用车研发流程

目的 最近刚入职主机厂&#xff0c;工作中所提到各个阶段名称与之前在供应商那边不一致&#xff0c;概念有点模糊&#xff0c;所以打算学习了解一番 概念 术语 EP: enginerring prototype car 工程样车 Mule Car: 骡子车 Simulator Car&#xff1a;模拟样车 PPV&#xff1a;…

阿里云发现后门webshell,怎么处理,怎么解决?

当收到如下阿里云通知邮件时&#xff0c;大部分管理员都会心里一惊吧&#xff01;出现Webshell&#xff0c;大概是网站被入侵了。 尊敬的 xxxaliyun.com&#xff1a; 云盾云安全中心检测到您的服务器&#xff1a;47.108.x.xx&#xff08;xx机&#xff09;出现了紧急安全事件…

vite5.x配置https

旧版的vite直接在config里面配置https&#xff1a;true即可&#xff0c;新版的麻烦一些。 1.准备工作 需要安装openssl 下载地址&#xff1a;Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions 找到合适的版本安装&#xff0c;配置好环境变量&#x…

深度学习与计算机视觉 (博士)

文章目录 零、计算机视觉概述一、深度学习相关概念1.学习率η2.batchsize和epoch3.端到端(End-to-End)、序列到序列(Seq-to-Seq)4.消融实验5.学习方式6.监督学习的方式(1)有监督学习(2)强监督学习(3)弱监督学习(4)半监督学习(5)自监督学习(6)无监督学习(7)总结&#xff1a;不同…

在AI浪潮中,RSS3为何会被低估其价值?有何潜力

​​RSS3 简介&#xff1a; RSS3 是一个去中心化网络索引和结构化开放信息&#xff0c;使其对于下一个 Twitter、Google 和 OpenAI 来说易于访问且有价值。凭借独特的数据子层价值子层设计&#xff0c; RSS3 网络推动了开放信息从索引到消费等的全生命周期&#xff0c;并建立了…

BMS应用软件开发 — 3 电池系统的组成

目录 1 电池的基本拓扑 2 已经被淘汰的CTM 3 早已经普及的CTP 4 集成度更高的CTC 5 刚性更好的CTB 1 电池的基本拓扑 相比于燃油车&#xff0c;虽然电动车在结构空间上灵活度更高&#xff0c;空间利用率也更好&#xff0c;但现有条件下无法像燃油车一样快速补能&#xff…

UE5 打包要点

------------------------- 1、需要环境 win sdk &#xff0c;大约3G VS&#xff0c;大约10G 不安装就无法打包&#xff0c;就是这么简单。 ----------------------- 2、打包设置 编译类型&#xff0c;开发、调试、发行 项目设置-地图和模式&#xff0c;默认地图 项目…