4.2.4 理解路由器数据包过程

1、实验目的

通过本实验可以掌握:

  1. 了解IP路由原理
  2. 了解数据包封装和解封装的概念
  3. 了解路由器路由和交换过程

2、实验拓扑

观察路由器路由数据包过程的实验拓扑如图4-3所示,设备接口地址信息如表4-2所示。

图4-3 观察路由器路由数据包过程的实验拓扑

        本实验强烈建议利用Cisco Packet Tracer软件完成,可以清晰查看数据包的结构。本实验的配置在后续章节中介绍,此处只注重路由器对数据包封装、解封装和转发过程。本实验就是在Cisco Packet Tracer7.1环境下完成的,假设所有计算机和路由器的ARP表为空。提示:计算机可以使用arp -d命令清空ARP缓存表项,路由器可以使用clear arp命令清空ARP缓存表项。

3、实验步骤

        数据包从计算机PC1到达服务器Server1的工作过程如下所述。

路由过程

        1、在计算机 PC1上执行ping 172.16.2.100命令,此时PC1首先判断目的IP地址和本机IP地址不在同一个网段,于是向网关(172.16.1.1))发送ARP请求,此数据包为二层广播包,二层地址信息如下:

源MAC地址目的MAC地址类型

0090.0CD9.63D3

FFFF.FFFF.FFFF0x0800

        路由器R1收到ARP请求包后,以单播方式回复ARP应答包,二层地址信息如下:

源MAC地址目的MAC地址类型

0060.47b5.d001

0090.0CD9.63D30x0800

        计算机PC1收到路由器R1回复的ARP应答后,更新自己的ARP表,此时 PC1的 ARP表如下:

C:\>arp -aInternet Address      Physical Address      Type172.16.1.1            0060.47b5.d001        dynamic

【技术要点】

        实际应用环境中,当路由器的G0/0接口启动后,会主动发送 Gratuitous ARP(免费ARP),处在同一网段的计算机收到该数据包后,就会更新自己的ARP缓存表;当计算机网卡启动时,会主动周期性发送ARP请求,以便获得网关的MAC地址,因此上述①的过程实际是自动完成的,不需要用户发送数据包来触发。

        2、计算机PC1收到路由器Rl的ARP应答包后,可以进行以太网封装,地址信息如下:

源MAC地址目的MAC地址类型源IP地址目的IP地址协议
0090.0CD9.63D30060.47b5.d0010x0800172.16.1.100172.16.2.0000x01

        3、计算机PCl将该数据包送到默认网关,即路由器R1,R1 从 G0/0接口收到该以太帧后,将数据包解封装(删除二层帧头和帧尾),然后路由器RI使用数据包的目的IP地址172.16.2.100搜索路由表,查找匹配的路由条目。在路由表中找到匹配的目的网络地址后,确定出接口为S0/0/0,Rl将数据包重新封装(二层重写)到PPP帧中,然后将数据包转发到路由器R2,地址信息如下:

PPP地址类型源IP地址目的IP地址协议
0xFF0x0021172.16.1.100172.16.2.1000x01

        4、路由器R2收到R1发送的数据包后,将数据包解封装(删除二层帧头和帧尾),路由器R2使用数据包的目的P地址172.16.2.100搜索路由表,查找匹配的路由条目。在路由表中找到目的网络地址后,发现目的主机位置和自己直连的GO/0接口网络相同,此时如果路由器R2的ARP表中没有172.16.2.100对应的ARP缓存,就发送ARP请求,以便获得 Server1网卡的MAC地址信息,地址信息如下:

源MAC地址目的MAC地址类型

0040.0b60.a601

FFFF.FFFF.FFFF0x0806

        5、 Server1收到路由器R2发送的ARP请求后,更新自己的ARP表,此时Serverl的ARP表如下:

C:\>arp -aInternet Address      Physical Address      Type172.16.2.2            0040.0b60.a601        dynamic

        6、Server1收到路由器R2发送的ARP请求后会以单播方式回复ARP应答包,地址信息如下:

源MAC地址目的MAC地址类型

0090.21ED.4390

0040.0b60.a601

0x0806

        7、路由器R2收到Server1回复的ARP应答后,更新自己的ARP表,此时路由器R2可以对数据包进行重新封装(二层重写),然后将数据包转发到服务器Serverl,地址信息如下:

源MAC地址目的MAC地址类型源IP地址目的IP地址协议
0040.0b60.a6010090.21ED.43900x0800172.16.1.100172.16.2.1000x01

        8、路由器R2收到数据包后,继续执行和上述类似的过程,数据包最后到达 PC1,完成一次ping的过程。

        以上过程表明,在数据包从计算机 PCl到达服务器Serverl的整个传递过程中,二层地址信息会被重写,但是三层IP地址信息保持不变。(变的是MAC地址不变的是IP地址)

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

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

相关文章

用Python编写GUI程序实现WebP文件批量转换为JPEG格式

在Python编程中,经常会遇到需要处理图片格式的情况。最近,我遇到了一个有趣的问题:如何通过编写一个GUI程序来实现将WebP格式的图片批量转换为JPEG格式?在这篇博客中,我将分享我使用Python、wxPython模块和Pillow库实现…

linux系统离线安装nginx

perlnginx是一个高性能的http和反向代理服务器,并发能力很强,一般用来做负载均衡比较多,分布式系统开发中用作web服务器。 一、下载 地址:nginx: download 我们下载这个稳定版本 二、环境依赖检查 nginx安装需要很多外部依赖&…

浅拷贝和深拷贝

1、两者区别: 首先对于一个对象中的基本数据类型,来做浅拷贝和深拷贝其实没有什么区别,都是将原始值复制一份给新的对象,但是对于对象中的引用数据类型来说,浅拷贝只是将引用数据类型的地址值复制一份给新的对象&#…

python开发poc,fofa爬虫批量化扫洞

学习使用python做到批量化的漏洞脚本 1.通过fofa搜索结果来采集脚本 2.批量化扫描漏洞 ---glassfish存在任意文件读取在默认48484端口,漏洞验证的poc为: "glassfish" && port"4848" && country"CN" http://loca…

Sybase ASE中的char(N)的坑以及与PostgreSQL的对比

1背景 昨天,一朋友向我咨询Sybase ASE中定长字符串类型的行为,说他们的客户反映,同样的char类型的数据,通过jdbc来查,Sybase库不会带空格,而PostgreSQL会带。是不是这样的?他是PostgreSQL的专业大拿,但因为他手头没有现成的Sybase ASE环境,刚好我手上有,便于一试。 …

flutter 安卓打包自定义名字

打包的名字如 app.1.0.1_relase_201283893.apk 实现 配置安卓项目的中的build.gradle (android/app/build.gradle ) 新增 android { 内 applicationVariants.all { variant ->variant.outputs.all {def appName "拓车服管家" // 文件名…

Python实现读取dxf文件的所有字符

Python实现读取dxf文件的所有字符 import ezdxfdef read_dxf_and_print_text(filename):# 加载DXF文件doc ezdxf.readfile(filename)# 遍历所有的实体for entity in doc.entities:# 检查实体是否是TEXT、MTEXT或DIMENSIONif isinstance(entity, ezdxf.entities.Text):print(f…

SparkBug解决:Type mismatch; found : org.apache.spark.sql.Column required: Double

def assginFlag(aizmuth:Double):Option[Int] {val interval 0.5val index (aizmuth / interval ).toIntif (index > 0 && index < 720 ) Some(index 1) else None} assginFlag方法中的条件判断条件 (index > 0 && index < 720) 返回的是一个布…

计算机视觉——图像特征提取D2D先描述后检测特征提取算法原理

概述 局部特征提取是计算机视觉中的一个重要任务&#xff0c;它旨在从图像中提取出能够代表图像局部结构和外观信息的特征。这些特征通常用于图像匹配、物体识别、三维重建、跟踪和许多其他应用。传统方法&#xff0c;如尺度不变特征变换&#xff08;SIFT&#xff09;&#xf…

每天学习一个Linux命令之hostnamectl

每天学习一个Linux命令之hostnamectl 介绍 在Linux系统中&#xff0c;有许多命令都可以用来管理系统的各种配置&#xff0c;其中之一就是hostnamectl命令。hostnamectl命令可以用于查看和更改系统的主机名及相关设置。本篇博客将为您详细介绍hostnamectl命令&#xff0c;并列…

使用R语言计算矩形分布(均匀分布)并绘制图形

理论部分 矩形分布&#xff08;均匀分布&#xff09;&#xff0c;是指在某一区间内&#xff0c;随机变量取任何值的概率都是相同的。这种分布的概率密度函数在一个特定的区间内是一个常数&#xff0c;因此其图形呈现出一个矩形的形状&#xff0c;故得名为“矩形分布”。在概率…

【Spring进阶系列丨第八篇】Spring整合junit 面向切面编程(AOP)详解

文章目录 一、Spring整合junit1.1、导入spring整合junit的jar1.2、在测试类上添加注解1.3、说明 二、面向切面编程(AOP)2.1、问题引出2.2、AOP2.2.1、概念2.2.2、作用2.2.3、优势2.2.4、实现方式2.2.5、专业术语2.2.5.1、连接点2.2.5.2、切入点2.2.5.3、通知/增强2.2.5.4、织入…

5款最值得推荐的电脑监控软件丨高人气甄选

在企业和学校等场所&#xff0c;电脑监控软件被广泛应用于员工或学生的行为管理。 通过监控软件&#xff0c;管理者可以了解员工或学生的学习和工作情况&#xff0c;及时发现并纠正不当行为&#xff0c;提高工作效率和学习效果。同时&#xff0c;这类软件还可以用于保护企业机…

世链空投|zkLink空投代撸有哪些好处?zkLink空投代撸需要啥条件

世链空投(shilian.com)报道&#xff0c;随着2024年zkLink空投越来越火&#xff0c;zkLink空投代撸已经成为普通人一种常见的参与方式&#xff0c;并且越来越受到大众的欢迎。但是&#xff0c;普通人想要参与zkLink空投代撸&#xff0c;仍然需要了解什么是zkLink空投代撸&#x…

CMD 操作

修复磁盘 打开命令提示符&#xff0c;输入“chkdsk G: /f”&#xff08;G:代表你需要修复的硬盘驱动器&#xff0c;/f代表修复错误&#xff09; 安装软件 python安装包&#xff0c;打开CMD, pip install 〔*包〕

AI概念普及-LangChain

文章目录 概念产品架构核心特性核心组件使用场景其他资源开发支持结论Langchain详细介绍LangChain的具体实现原理LangChain如何与其他大型语言模型&#xff08;LLM&#xff09;集成&#xff0c;有哪些具体的接口或协议&#xff1f;LangChain的性能表现和优化策略有哪些&#xf…

【多线程】线程(线程的概念+线程的创建)

文章目录 线程一、线程的概念1.引入线程的目的2.什么叫线程&#xff08;Thread&#xff09;1.线程的特点&#xff1a;2.进程和线程的区别&#xff08;面试题&#xff09;&#xff1a;3.Java的多线程编程 二、创建线程1.继承Thread重写run入口方法&#xff1a;使用jconsolesleep…

Games101-光线追踪(加速结构)

Bounding Volumes 包围盒&#xff1a;用一个简单形状把物体包围起来&#xff0c;如果物体连包围盒都无法碰撞&#xff0c;一定无法碰撞包围盒内的物体 将长方体理解成三个不同对面形成的交集&#xff0c;一定是在x&#xff0c;y&#xff0c;z轴上的范围。没有旋转 Ray Inters…

适用于 Windows 10 的 10 大免费数据恢复软件

数据丢失可能是一场噩梦&#xff0c;尤其是在涉及重要文件和文档时。无论是由于意外删除、系统崩溃还是病毒攻击&#xff0c;找到适合 Windows 10 的文件夹恢复软件都可以在恢复丢失的数据方面发挥重要作用。在本指南中&#xff0c;我们将探索适用于 Windows 10 用户的 10 大免…

加密方法字段uuid标识

58b16292-260b-60bd-44a7-796e3ed4f20e 是uuid python实现 import uuidprint(uuid.uuid4())是的&#xff0c;7bff3132-952a-4338-9df4-544383e81a2a 是一个典型的UUID&#xff08;Universally Unique Identifier&#xff0c;通用唯一识别码&#xff09;格式的字符串。UUID是一…