首页 > 其他分享 >《计算机网络微课堂》4-5 静态路由配置及其可能产生的路由环路问题

《计算机网络微课堂》4-5 静态路由配置及其可能产生的路由环路问题

时间:2024-05-28 09:14:36浏览次数:19  
标签:环路 R1 IP 网络 条目 计算机网络 路由 路由器

本节课我们介绍静态路由配置及其可能产生的路由环路问题,静态路由配置是指用户或网络管理员使用路由器的相关命令,给路由器人工配置路由表,这种人工配置方式简单,开销小,但不能及时适应网络状态(流量、拓扑等)的变化,一般只在小规模网络中。

采用使用静态路由配置,可能出现以下导致产生路由环路的错误,一个是配置错误,另一个是聚合了不存在的网络,还有一个是网络故障。


接下来我们首先举例说明静态路由配置,我们采用如图所示的网络拓扑和相应的 IP 地址配置,这是路由器 R1 的路由表,路由器 R1 通过自己的接口 0 所配置的 IP 地址和地址掩码,可以自动得出接口 0 所在的网络。由于接口 0 与该网络直连,则下一跳不是路由器地址,而是通过接口 0 转发 IP 数据报给该网络中的某个主机,这属于直接交付。这条自动得出的路由条目的类型属于直连路由。同理,R1 还可自行得出接口 1 的直连网络路由条目。

这是路由器 R2 的路由表,这是其接口 0 的直连网络路由条目,这是其接口 1 的直连网络路由条目。

假设 R1 要转发 1 个 IP 数据报给该网络中的某个主机,从图中可以看出,R1 应该将该 IP 数据报转发给路由器 R2 的接口 0,

但 R1 的路由表中并没有关于该目的网络的路由条目,换句话说,R1 并不知道目的网络的存在。因此我们可以使用路由器的相关配置命令,给 R1 添加 1 条到达该目的网络的路由条目,这是该目的网络的地址,下 1 跳为路由器 R2 的接口 0 的地址,该路由条目是我们人工配置的静态路由。

假设 R2 要转发 1 个 IP 数据报给该网络中的某个主机,从图中可以看出,R2 应该将该 IP 数据报转发给路由器 R1 的接口 1,但 R2 的路由表中并没有关于该目的网络的路由条目,因此我们可以给 R2 添加 1 条到达该目的网络的路由条目,这是该目的网络的地址。下 1 跳为路由器 R1 的接口 1 的地址,类型为静态。以上就是我们举例说明的静态路由配置。


接下来我们举例说明默认路由的概念,假设路由器 R 的接口 2 连接到了因特网,这是路由器 R1 的路由表,这是其接口 0 的直连网络路由条目,这是其接口 1 的直连网络路由条目,这是我们人工配置的到达该目的网络的静态路由。假设 R1 要转发 1 个 IP 数据报给因特网中某个网络中的某个主机,从图中可以看出,R1 应该将该 IP 数据报转发给路由器 R 的接口 0。由于因特网中包含了众多的网络,如果我们给 R1 添加针对这些网络的每 1 条路由条目,则会给人工配置带来巨大的工作量,并且使 R1 的路由表变得非常大,降低了查表转发的速度。

实际上对于具有相同下一跳的不同目的网络的路由条目,我们可以用一条默认路由条目来替代。默认路由条目中的目的网络地址为 0.0.0.0,地址掩码也为 0.0.0.0,其 CIDR 形式为 0.0.0.0/0。对于本例默认路由条目中的下一跳,是路由器 R2 的接口 0 的地址。

由于默认路由也是由我们人工配置的,因此其类型也是静态。在配置了默认路由条目后,我们甚至可以删除这条路由条目。


接下来我们举例说明特定主机路由的概念,有时候我们可以给路由器添加针对某个主机的特定主机路由条目,一般用于网络管理人员对网络的管理和测试。另外在需要考虑某种安全问题时,也可以采用特定主机路由,假设这是该网络中的某台特定主机,我们可以在 R1 的路由表中添加 1 条到达该主机的特定主机路由条目。特定主机路由条目中的目的网络地址为该特定主机的 IP 地址,地址掩码为 255.255.255.255,其 CIDR 形式为特定主机 IP 地址斜线 32。对于本例特定主机路由条目中的下一跳,是路由器 R2 的接口 0 的地址。由于特定主机路由也是由我们人工配置的,因此其类型也是静态。

可以看出特定主机路由的目的网络前缀最长,路由最具体,默认路由的目的网络前缀最短,路由最模糊,当路由器查表转发 IP 数据报时,若有多条路由条目可选,则采用最长前缀匹配的原则,选用目的网络前缀最长的路由条目进行转发。


接下来我们举例说明,静态路由配置错误可能导致的路由环路问题,如图所示,这是各路由器自动得出的直连网络,这是我们给各路由器人工配置的静态路由。

我们来看看路由器 R 中的这条人工配置的静态路由条目,它表明 R2 要转发 IP 数据报到该网络,下一跳,应转发给 R1 的接口 1。

假设我们将下一跳错误的配置成了该地址,也就是错误的指向了 R3 的接口 0,则当 R2 要转发 IP 数据报到该网络时,下一跳会错误的转发给路由器 R3 的接口 0,R3 收到该 IP 数据报后进行查表转发,找到了匹配的路由条目,下一跳,应该转发给该地址,也就是转发给 R 的接口 1。

R2 收到该 IP 数据报后进行查表转发,找到了匹配的路由条目,下一跳应该转发给该地址,也就是转发给 R3 的接口 0。

很显然由于我们静态路由配置错误,导致 R2 和 R3 之间产生了路由环路。为了防止 IP 数据报在路由环路中永久兜圈,在 IP 数据报首部设有生存时间、TTL 字段。IP 数据报进入路由器后,TTL 字段的值被路由器减 1,若 TTL 字段的值减 1 号不等于 0,则被路由器转发,否则被丢弃。


我们再来举例说明,聚合了不存在的网络可能导致的路由环路问题,这是路由器 R1 的路由表,这是其自动得出的直连网络,这是我们给其人工配置的默认路由,下一跳指向路由器 R2 的接口 0:

这是路由器 R2 的路由表,这是其自动得出的直连网络,这是我们给其人工配置的 1 条聚合路由,它是由这两个网络地址聚合而来的,具体方法就是找这两个网络地址的共同前缀,然后将共同前缀保持不变,将剩余比特全部取 0,写成点分 10 进制形式,在其后面写上斜线,斜线后面写上共同前缀的数量:

假设 R2 要转发 IP 数据报到该网络,进行查表转发,找到了匹配的路由条目,下一跳应该转发给该地址,也就是转发给 R1 的接口 1。

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

我们再来看看这条聚合路由的细节,它实际上包含了以下 4 个网络,该网络存在于我们的网络拓扑中,该网络也存在于我们的网络拓扑中,而该网络不存在,该网络也不存在。

当 R2 要转发 IP 数据报到这个不存在的网络时,进行查表转发,找到了匹配的路由条目,下一跳应该转发给该地址,也就是转发给 R1 的接口 1,但对于这个不存在的网络,路由器 R2 应该不予转发,却错把它转发给了路由器 R1。

R1 收到该 IP 数据报后进行查表转发,只能走默认路由,下一跳,应该转发给该地址,也就是转发给 R 的接口 0。很显然 R1 和 R2 之间产生了路由环路。

针对这种情况,我们可以在 R2 的路由表中添加针对所聚合的不存在的网络的黑洞路由,黑洞路由的下一跳为 null0,这是路由器内部的虚拟接口,可以把它形象的看成是 1 个黑洞,IP 数据报进入它后就有去无回了,也就是路由器丢弃了该 IP 数据报,而不是转发该 IP 数据报。

现在假设 R2 要转发 IP 数据报到这个不存在的网络,进行查表转发,找到了两条可选的路由条目,根据最长前缀匹配的原则,将会选择这条到达该不存在网络的黑洞路由,下一跳为虚拟接口 null0,因此该 IP 数据报会进入这个黑洞


接下来我们再来举例说明,网络故障可能导致的路由环路问题,假设路由器 R1 检测到其接口 0 所直连的网络出现了故障,而不可达,就会自动在其路由表中删除该直连网络的路由条目。

之后,R2 要转发 IP 数据报到该网络,进行查表转发,找到匹配的路由条目,下一跳,应该转发给该地址,也就是转发给 R1 的接口 1。

R1 收到该 IP 数据报后进行查表转发,找不到该 IP 数据报的目的,网络的相关路由条目,只能走默认路由,下一跳应该转发给该地址,也就是转发给 R2 的接口 0,

这样就将该 IP 数据报错误的转发给了 R2,,很显然 R1 和 R 之间产生了路由环路。

针对这种情况,我们可以在 R1 的路由表中添加针对该直连网络的黑洞路由,这样当 R2 要转发 IP 数据报到该网络时,进行查表转发,找到匹配的路由条目,下一跳转发给 R1 的接口 1,R1 收到该 IP 数据报后,进行查表转发,找到匹配的路由条目,这是 1 条黑洞路由,下一跳为虚拟接口 null0,因此该 IP 数据报会进入这个黑洞。

假设一段时间后之前的故障消失了,则 R1 又自动的得出了其接口 0 的直连网络的路由条目,并将我们之前人工配置的针对该直连网络的黑洞路由条目设置为失效状态。

假设 R1 再次检测到其接口 0 所直连的网络出现了故障而不可达,则会自动在其路由表中删除该直连网络的路由条目,并将我们之前人工配置的针对该直连网络的黑洞路由条目设置为生效状态。

本节课的内容小节如下:

标签:环路,R1,IP,网络,条目,计算机网络,路由,路由器
From: https://www.cnblogs.com/PeterJXL/p/18214953

相关文章

  • 《计算机网络微课堂》4-4 IP数据报的发送和转发过程
    本节课我们介绍IP数据报的发送和转发过程。IP数据报的发送和转发过程包含以下两部分,一部分是主机发送IP数据报,另一部分是路由器转发IP数据报。需要说明的是为了将重点放在TCP协议站的网际层,发送和转发IP数据报的过程上,在本节课的举例中,我们将忽略使用ARP协议来获取......
  • 《计算机网络微课堂》4-3 IPv4地址
    开始讲IP地址。‍4.3.1IPv4地址概述本节课我们介绍IPv4地址的基本概念:在TCPIP体系中,IP地址是一个最基本的概念,我们必须把它弄清楚IPv4地址就是给因特网上的一台主机或路由器的每一个接口,分配一个在全世界范围内是唯一的32比特的标识符IP地址,由因特网名字和数字......
  • 《计算机网络微课堂》第四章 网络层
    4-1网络层概述从本节课开始,我们进入第4章网络层的学习。本节课我们对网络层进行概述。网络层的主要任务是实现网络互连,进而实现数据包在各网络之间的传输,如图所示。这些异构型网络,如果只是需要各自内部通信,他们只要实现各自的物理层和数据链入层即可,但是如果需要将这些异构......
  • 《计算机网络微课堂》4-2 网络层提供的两种服务
    本节课我们介绍网络层提供的两种服务,一种是面向连接的虚电路服务,另一种是无连接的数据报服务。‍我们首先来看面向连接的蓄电路服务,如图所示,这是一个小型的互联网,这是主机中的五层原理体系结构。虚电路服务的核心思想是:可靠通信,应由网络自身来保证当两台计算机进行通信时,应......
  • 《计算机网络微课堂》4-8 网际控制报文协议ICMP
    本节课我们介绍网际控制报文协议ICMP(InternetControlMessageProtocol):‍为了更有效的转发IP数据报和提高交付成功的机会,在网际层使用了网际控制报文协议ICMP主机或路由器使用ICMP协议来发送差错报告报文和询问报文ICMP报文被封装在IP数据报中发送ICMP差错报告......
  • 《计算机网络微课堂》4-7 IPv4数据报的首部格式
    本节课我们介绍IPv4数据报的首部格式,为了简单起见,之后我们将IPv4数据报简称为IP数据报,而不指出、版本号。IP数据报的首部格式及其内容是实现IP协议主要功能的基础,因此我们有必要搞清楚这部分内容,如图所示:​​这是IP数据报的首部格式,它由20字节的固定部分和最大40......
  • 计算机网络中的三种通信方式
    计算机网络是现代信息技术的基石,它使得计算机之间可以进行数据传输和共享资源。在计算机网络中,通信方式是指数据在通信系统中的传输方式。根据数据传输的方向和模式,通信方式可以分为三种:单工、半双工和全双工。这三种通信方式各有特点,适用于不同的应用场景。本文将详细介绍这三......
  • Vue框架-路由
    VueRouter笔记1.路由管理安装方式一:采用单页面CDN引入方式使用.方式二:基于vite构建的前端项目工程,安装依赖:在项目根目录下,安装:npminstallvue-router@4-s检查项目根目录下package.json中的dependencies是否多出:"vue-router"依赖.路由简单使用在sr......
  • (附nuclei yaml文件)H3C多款企业路由器actionpolicy_status信息泄露漏洞复现(管理员密码
    (附nucleiyaml文件)H3C多款企业路由器actionpolicy_status信息泄露漏洞复现(管理员密码泄露)声明本文仅用于技术交流,请勿用于非法用途由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任。1、漏洞简介漏......
  • 路由_传递params参数和query参数
    传递params参数传递params参数可以直接在路径后面加上参数:上述就是在路径变化的时候传过去三个值分别为哈哈、嘿嘿、呵呵的参数但是这样的话会被认为三个参数是路径的一部分,计算机没有办法区分哪些是路径哪些是参数,所以首先要在这条路由规则下面占位当路由器遇到"/news/d......