【计算机网络】实验7:默认路由和特定主机路由以及路由环路问题

实验 7:默认路由和特定主机路由以及路由环路问题

一、 实验目的

  1. 了解默认路由以及特定主机路由。

  2. 了解静态路由配置错误导致的路由环路问题。

二、 实验环境

• Cisco Packet Tracer 模拟器

三、 实验内容

1、默认路由以及特定主机路由

(1) 第一步:构建网络拓扑:拖动五个主机,四个路由器,使用自动连接类型将其连接起来。其中路由器使用2911。并写好相应的IP地址以及子网掩码注释,以及写好默认网关注释,如图1所示。

img

图 1 构建网络拓扑

(2) 第二步:为左边的主机设置对应的IP地址,以及子网掩码,子网掩码根据CIDR记法中的/24可以确定为255.255.255.0,默认网关填写主机A所连接的路由器的端口的IP地址。如图2所示。

img

图2 配置IP及子网掩码

(3) 第三步:路由器的配置按照图1来即可,已路由器0为例,子网掩码也是通过/24来确定的,配置完。如图3所示。并给路由器配置对应的静态路由。具体的静态路由图1已经给出。

img

图3 配置路由器端口IP及子网掩码

(4) 第四步:可以看到路由器R1的路由表中的第一条记录的子网掩码是255.255.255.255,所以是一条特定主机路由,且IP地址是192.168.4.1,也就是说当路由器R1收到了目的主机是192.168.4.1(也就是主机E)的数据报,那么就会通过下一跳10.0.1.1转发给下一个路由器的某个端口。而第二条数据IP为0.0.0.0并且子网也是0.0.0.0说明为默认路由,因为路由器想要到达主机B,C,D,都会经过路由器R2,所以没有必要设置3个静态路由,而是配置了一个默认路由,如图4所示。

img

图4 特定主机路由以及默认路由

(5) 第五步:来分析一下R2的路由表,第一条记录就是想要到达主机A所在的网络,那么下一跳的地址就是10.0.0.2的R1的下面的端口,那么第二条记录也同理,就是到达主机E所在的那个网络的,最后一条默认路由就是到达主机D和主机C所在的网络,根据下一跳的地址就可以看出来。

(6) 第六步:对于路由器R3来说,只有一条默认路由,想要到达其他非直连的网络就只能通过路由器R1的上面的端口,而R4也是一样的道理,想要到达非直连的网络,下一跳也只能是R2的右边的端口。

(7) 第七步:使用ping指令,让主机A去ping一下主机E,ping 192.168.4.1。如图5所示。

img

图5 此时主机之间可以互通

(8) 第八步:之所以会有两次超时的请求,也是因为ARP广播请求以及接收到的单波响应导致的,并且有两个路由器,每个路由器发送一个ARP广播,然后又会丢掉接收到的ICMP报文,所以就丢了两次,直到第三次请求才成功。

(9) 第九步:使用ping指令,让主机去ping一下主机D,ping 192.168.3.1,如图6所示。之所以会有两次超时的请求,和上面的原理相同。

img

图6 主机之间可以互通

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

(1) 第一步:构建网络拓扑:在逻辑工作空间上,拖动两个普通计算机和三个路由器,选择自动连接把设备连接起来,并设置好IP,并在计算机旁边写好IP注释。并写好默认网关注释。如图7所示。

img

图 7 构建网络拓扑并写好注释

(2) 第二步:通过上图可以看到,给路由器R1配置的静态路由是到达主机H2所在的网络的,给路由器R2配置的静态路由,第一条是到达主机H1所在的网络,第二条是到达主机H2所在的网络,给路由器R3配置的静态路由是到达主机H1所在的网络的。

(3) 第三步:使用ping指令,让主机H2去ping一下主机H1,ping 192.168.1.1。如图8所示。为什么会有三次超时,因为经过了三个路由器,每个路由器发送一个ARP广播,然后又会丢掉接收到的ICMP报文,所以就丢了三次,直到第四次请求才成功。

img

图8 主机之间成功ping通

(4) 第四步:ping通说明,我配置的没有问题,接下来为了更直观的看到路由环路,我修改了路由器R2的第一条路由,将下一跳的地址改为10.0.1.2,即路由器R3的左边的端口IP地址,如图9所示。

img

​ 图9 修改静态路由

(5) 第五步:切换到仿真模式,并且过滤协议,只保留ICMP协议,如图10所示。并添加简单的PDU,让主机H2为源主机,主机H1为目的主机,如图11所示。

img

图10 过滤协议,只保留ICMP

img

图11 添加一个简单的PDU

(6) 第六步:点击捕获前进,然后发现数据报到达R2的时候,R2根据目的IP地址,然后找到了第一条记录,然后按照第一条记录的下一跳进行跳转,然后又回到了路由器R3,然后R3与R2之间来回跳转,形成路由环路,如图12所示。ICMP报文的出站PDU详情,如图13所示。可以看到TTL(跳数)的值为247,每次来回转发,TTL减一,到0之后,路由器丢弃数据报,此时路由环路才停止。

img

图12 形成路由环路

img 图13 出站PDU详情

四、 实验体会

1. 这两个实验的步骤都遵循构建网络拓扑、配置网络环境、跟踪数据包和查看数据包这四个规则。

2. Cisco Packet Tracer 模拟器可以清晰地展示 PDU 在传送过程,设备是如何处理 PDU 的。通过仿真传送过程,有助于我们理解有关的知识。

3. 默认路由和特定主机路由是两种重要的路由策略。默认路由的主要作用是为那些没有明确路由条目的数据包提供转发路径。这种方式简化了路由表的管理,使得网络设备能够高效地处理流量,尤其是在面对大量未知目的地时。

​ 而特定主机路由则针对特定的IP地址或子网进行配置,确保数据包能够精确地到 达目标。这种路由方式在需要对某些流量进行精细控制时非常有效,例如在企业网 络中,特定主机路由可以用来优化内部通信或安全策略。

​ 通过结合这两种路由方式,网络管理员可以实现灵活的流量管理,提高网络的可靠 性和性能。默认路由提供了便利,而特定主机路由则带来了精确性。二者相辅相 成,共同构建了一个高效且可控的网络环境。

4. 静态路由配置错误常常导致路由环路的产生,这对网络稳定性造成严重影响。当路由器错误地指向自身或形成闭环时,数据包会在网络中不断循环,无法到达目的地。这不仅消耗了带宽,还可能导致网络拥塞和服务中断。经历这样的情况后,我深刻认识到在配置路由时,必须仔细检查每一条路由规则,确保逻辑清晰,避免因小失大,维护网络的高效与稳定至关重要。

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

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

相关文章

特殊的数学性质

一个数模9的结果等于它的每一位数相加和模9

JSP知识点总结

jsp九大对象 在jsp中内置了9个对象,无需创建该对象即可使用。其名称为固定名称。 1.out输出对象 - 属于JspWriter print(): 输出 flush(): 刷新 close(): 关闭 2.request请求对象 - 属于HttpServletRequest getParameter(): 获取请求的参数 setCharacterEncodin…

电子信息工程自动化 基于单片机的居室安全报警系统

摘要 本课题设计了基于STM32F103C6T6单片机为主控核心的居室安全报警系统。为了解决家庭居室的安全监控,通过温湿度芯片SHT30、烟雾传感器MQ-2、天然气传感器MQ-4来获取居室的温湿度、烟雾、天然气含量,使用了一个热释电传感器、菲涅耳透镜、红外传感信…

【vue3 for beginner】Pinia基本用法:存储user的信息

🌈Don’t worry , just coding! 内耗与overthinking只会削弱你的精力,虚度你的光阴,每天迈出一小步,回头时发现已经走了很远。 📗概念 Pinia 简介 Pinia 是一个用于 Vue.js 应用的状态管理库,是 Vuex 的…

使用Goland对6.5840项目进行go build出现异常

使用Goland对6.5840项目进行go build出现异常 Lab地址: https://pdos.csail.mit.edu/6.824/labs/lab-mr.html项目地址: git://g.csail.mit.edu/6.5840-golabs-2024 6.5840运行环境: mac系统 goland git clone git://g.csail.mit.edu/6.5840-golabs-2024 6.5840 cd 6.5840/src…

React基础知识四 Hooks

什么是hooks? (coderwhy) hooks是react 16.8(2019年)出的新特性。 react有两种形式来创建组件——类式和函数式。在hooks之前类式组件就是react最主流的编程方式。 这个时候,函数式组件是非常鸡肋的,几乎没什么用。因…

电子病历静态数据脱敏路径探索

一、引言 数据脱敏(Data Masking),屏蔽敏感数据,对某些敏感信息(比如patient_name、ip_no、ad、no、icd11、drug等等 )通过脱敏规则进行数据的变形,实现隐私数据的可靠保护。电子病历作为医疗领…

AIGC 012-Video LDM-更进一步,SD作者将LDM扩展到视频生成任务!

AIGC 012-Video LDM-Stable Video diffusion前身,将LDM扩展到视频生成任务! 文章目录 0 论文工作1论文方法实验结果 0 论文工作 Video LDM作者也是Stable diffusion的作者,作者在SD的架构上进行扩展,实现了视频的生成。后续在Vid…

ABAP DIALOG屏幕编程1

一、DIALOG屏幕编程 DIALOG屏幕编程是SAP ABAP中用于创建用户交互界面的一种技术,主要用于开发事务性应用程序。它允许用户通过屏幕输入或操作数据,程序根据用户的操作执行逻辑处理。 1、DIALOG编程的主要组件 a、屏幕 (Screen) DIALOG程序的核心部分…

青训营-豆包MarsCode技术训练营试题解析二十七

介绍 ‌豆包青训营‌是由字节跳动和稀土掘金社区共同发起的技术培训和人才选拔项目。该项目的目标是培养具有职业竞争力的优秀开发工程师,并提供全程免费的课程,不收取任何费用‌。 课程内容和方向 豆包青训营的课程涵盖前端、后端和AI方向。在这个飞…

人工智能学习用的电脑安装cuda、torch、conda等软件,版本的选择以及多版本切换

接触人工智能的学习三个月了,每天与各种安装包作斗争,缺少依赖包、版本高了、版本低了、不兼容了、系统做一半从头再来了。。。这些都是常态。三个月把单位几台电脑折腾了不下几十次安装,是时候总结一下踩过的坑和积累的经验了。 以一个典型的…

华为关键词覆盖应用市场ASO优化覆盖技巧

在我国的消费者群体当中,华为的品牌形象较高,且产品质量过硬,因此用户基数也大。与此同时,随着影响力的增大,华为不断向外扩张,也逐渐成为了海外市场的香饽饽。作为开发者和运营者,我们要认识到…

Vue+Vite 组件开发的环境配置(超级简单)

vite是什么 Vite 是一个现代化的前端构建工具和开发服务器,它特别适用于构建大型的单页面应用(SPA)。Vite 旨在提供极快的冷启动速度,并且能够即时地(几乎实时地)更新模块,这得益于其利用原生 …

从仪表盘探索 MongoDB 关键指标

这是 MongoDB 监控系列文章的第七篇,前面几篇文章的链接如下: MongoDB 监控(一)MongoDB 监控(二)MongoDB 监控(三)MongoDB 监控(四)MongoDB 监控&#xff08…

mac安装php和xdebug调试

要在Mac上安装PHP 7.4,你可以通过几种方式来完成,但鉴于PHP7.4官方已不再维护,并且Homebrew默认仓库中不再提供此版本,我们需要从第三方仓库或直接从源代码进行安装。本文以brew方式安装,如果安装的是8.0以上&#xff…

UIlicious - 自动化端到端测试

在现代软件开发中,测试自动化已然成为产品交付质量的基石。而端到端测试(E2E),作为验证整个应用流畅运行的关键,常常是测试工作中最具挑战性的一环。这时,一款简单高效的自动化测试工具——UIlicious&#…

新一代零样本无训练目标检测

🏡作者主页:点击! 🤖编程探索专栏:点击! ⏰️创作时间:2024年12月2日21点02分 神秘男子影, 秘而不宣藏。 泣意深不见, 男子自持重, 子夜独自沉。 论文链接 点击开启你的论文编程之旅h…

Python_Flask01

所有人都不许学Java了,都来学Python! 如果不来学的话请网爆我的老师---蔡老师 Flask的前世姻缘 我不知道,没啥用,要学好这个框架,其实多读书,多看报就行了,真心想了解的话! Welcom…

微信小程序版小米商城的搭建流程详解!

很多初学微信小程序语法的同学,可能不知道如何布局和搭建一个项目,下面我将讲解初学者如何搭建项目和注意事项。 目录 一、 app.json的配置 二、引入vant 三、主页banner携带参数跳转 四、点击商品项跳转详情页 一、 app.json的配置 {"pages&q…

Neo4j启动时指定JDK版本

项目使用jdk1.8,同时需要安装neo4j5.15版本,使用jdk17. 1.mac或者liunx,找到neo4j目录bin的下neo4j文件 设置JAVA_HOME: 2.windows,找到bin下面的neo4j.bat文件 set "JAVA_HOME{JDK文件目录}" 重启后生效。