【计算机网络】IP分片实验

一:实验目的

1:理解IP数据报分片的工作原理。

2:理解IP协议报文类型和格式。

二:实验仪器设备及软件

硬件:RCMS-C服务器、网线、Windows 2019/2003操作系统的计算机等。

软件:记事本、WireShark、Chrome浏览器等。

三:实验方案

【实验的网络拓扑图】

四:实验步骤

1:设计网络拓扑图,执行wireshark。

2:PC1上执行ping,向PC2发送大小为7000个字节的数据报文。

发送固定大小的数据报文的命令为:ping [PC] -l [Byte_size]。其中,PC为接收方的IP地址,Byte_size为数据报文的字节数。

3:停止捕获报文,保存捕获结果。

五:实验结果及分析

1:将属于同一ICMP请求报文的分片找出来截图,pc1向pc2发送的ICMP请求报文分成了几片?

捕获报文的截图如下。可以看到共有4个数据包,每个数据包包含4个ipv4帧和1个icmp帧,这5个帧属于同一个ICMP请求报文。

ICMP请求报文被分成了5片,如下图所示。

2:ICMP报文各分片的数据长度是多少?

第1分片的长度是1480字节。

第2分片的长度是1480字节。

第3分片的长度是1480字节。

第4分片的长度是1480字节。

第5分片的长度是1088字节。

3:若要让pc1向pc2发送的数据分成2个分片,则ping命令中的报文长度应该为多大范围?为什么?

MAC帧的数据部分的最大长度为1500字节,IP数据报会在数据部分加上20个首部字节,ICMP会在整个报文中加上8个字节。因此,假设ping命令的报文长度为X字节,数据分成2个分片需要满足以下方程组。

X + 20 + 8 > 1500

X + 20 * 2 + 8 ≤ 3000

求解可得,1472 < X ≤ 2952。因此,报文长度的范围是1473~2952字节。

六:实验总结及体会

1:虽然wireshark里面一次请求报文中被分割成4个ipv4和1个icmp,但是本质上一次请求报文包含5个ipv4帧信息,最后一个帧由于包含icmp属性才显示为icmp帧。

2:一个完整的ipv4帧的捕获信息,如下图所示。

在上图中,Ethernet Ⅱ处的信息包括接收方的物理地址、发送方的物理地址、类型等,这些内容属于数据链路层。

IPv4处的信息包括接收方的IP地址、发送方的IP地址、首部长度、分片总长度、标识、生存时间、协议类型等,这些内容属于网络层。

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

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

相关文章

Pc端vue2实现横向纵向鼠标滚动布局

类似uniaapp中的scroll-view组件,可横向可竖向,样式需要自己跳整一下 横向:(鼠标按下滑动里面的元素,可滑动,滚动条和左右都可以调整) 纵向: 代码实现:主页面引入组件 <template><div><!-- 调用组件 --><!-- vertical 垂直 写宽高 例如: widt…

失业潮下,有人靠天工AI做副业年入10万?

前言 你好&#xff0c;我是咪咪酱 这篇文章总结2个AI副业项目&#xff0c;不用写代码&#xff0c;就能做的2个副业项目。 第一&#xff1a;AI生成微信表情包&#xff0c;上传到微信表情包平台等&#xff0c;坚持下去&#xff0c;会有可观的收入。 第二&#xff1a;AI生成连载…

MQ消息队列+Lua 脚本实现异步处理下单流程

具体实现和代码可参考我以前做过的笔记&#xff1a;《黑马点评》异步秒杀优化|消息队列 回顾一下下单流程&#xff1a; 用户发起请求 会先请求Nginx,Nginx反向代理到Tomcat&#xff0c;而Tomcat中的程序&#xff0c;会进行串行工作&#xff0c; 分为以下几个操作&#xff1…

KamaCoder 98. 所有可到达路径 + LC 797. All Paths From Source to Target

题目要求 给定一个有 n 个节点的有向无环图&#xff0c;节点编号从 1 到 n。请编写一个函数&#xff0c;找出并返回所有从节点 1 到节点 n 的路径。每条路径应以节点编号的列表形式表示。 输入描述 第一行包含两个整数 N&#xff0c;M&#xff0c;表示图中拥有 N 个节点&…

Apache Nifi挂接MQTT与Kafka实践

目录 1. 说明&#xff1a; 2. 方案设计&#xff1a; 2.1 资源配置&#xff1a; 2.2 交互Topics: 3. 实现步骤 3.1 Nifi 桌面 3.2 MqttToKafka 3.2.1 配置 3.2.2 测试 3.2.3 结果 3.3 KafkaToMqtt 3.3.1 配置 3.3.1 测试 3.3.1 结果 ​编辑 4. 总结&#xff…

HAL STM32 SPI/ABZ/PWM方式读取MT6816磁编码器数据

HAL STM32 SPI/ABZ/PWM方式读取MT6816磁编码器数据 &#x1f4da;MT6816相关资料&#xff08;来自商家的相关资料&#xff09;&#xff1a; 资料&#xff1a;https://pan.baidu.com/s/1CAbdLBRi2dmL4D7cFve1XA?pwd8888 提取码&#xff1a;8888&#x1f4cd;驱动代码编写&…

计科录取75人!常州大学计算机考研考情分析!

常州大学&#xff08;Changzhou University&#xff09;&#xff0c;简称“常大”&#xff0c;位于江苏省常州市&#xff0c;是江苏省人民政府与中国石油天然气集团有限公司、中国石油化工集团有限公司及中国海洋石油集团有限公司共建的省属全日制本科院校&#xff0c;为全国深…

repo中的default.xml文件project name为什么一样?

文章目录 default.xml文件介绍为什么 name 是一样的&#xff0c;path 不一样&#xff1f;总结 default.xml文件介绍 在 repo 工具的 default.xml 文件中&#xff0c;定义了多个 project 元素&#xff0c;每个元素都代表一个 Git 仓库。 XML 定义了多个不同的 project 元素&…

Vue常用指令及其生命周期

作者&#xff1a;CSDN-PleaSure乐事 欢迎大家阅读我的博客 希望大家喜欢 目录 1.常用指令 1.1 v-bind 1.2 v-model 注意事项 1.3 v-on 注意事项 1.4 v-if / v-else-if / v-else 1.5 v-show 1.6 v-for 无索引 有索引 生命周期 定义 流程 1.常用指令 Vue当中的指令…

【MySQL进阶篇】锁:全局锁、表级锁以及行级锁

一、锁的概述 锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中除传统的计算资源&#xff08;CPU、RAM、I/O&#xff09;的争用以外&#xff0c;数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须要解决的一个问题&am…

vs2019配置MySQL记录

vs2019配置MySQL记录 一、安装MySQL 参考&#xff1a;MySQL5.5.19的安装步骤 基本上就是一路默认安装就行。 二、验证 左下角打开MySQL 输入秘密能看到如下界面&#xff0c;即表示MySQL安装成功 三、安装vs2019的MySQL驱动 这里主要参考&#xff1a;Visual Studio 201…

MySQL练习03

题目 步骤 创建数据库 create database mydb11_stu; #创建 use mydb11_stu; #使用 创建表 student表 create table student( id int(10) not null unique primary key, name varchar(20) not null, sex varchar(4),birth year, department varchar(20), address var…

AR 眼镜之-充电动画定制-实现方案

目录 &#x1f4c2; 前言 AR 眼镜系统版本 充电动画 1. &#x1f531; 技术方案 1.1 方案介绍 1.2 实现方案 关机充电动画 亮屏/锁屏充电动画 2. &#x1f4a0; 关机充电动画 2.1 关机充电动画核心处理类与路径 2.2 实现细节 步骤一&#xff1a;1&#xff09;定制 …

从零开始学习网络安全渗透测试之基础入门篇——(二)Web架构前后端分离站Docker容器站OSS存储负载均衡CDN加速反向代理WAF防护

Web架构 Web架构是指构建和管理Web应用程序的方法和模式。随着技术的发展&#xff0c;Web架构也在不断演进。当前&#xff0c;最常用的Web架构包括以下几种&#xff1a; 单页面应用&#xff08;SPA&#xff09;&#xff1a; 特点&#xff1a;所有用户界面逻辑和数据处理都包含…

VSCode切换默认终端

我的VSCode默认终端为PowerShell&#xff0c;每次新建都会自动打开PowerShell。但是我想让每次都变为cmd&#xff0c;也就是Command Prompt 更改默认终端的操作方法如下&#xff1a; 键盘调出命令面板&#xff08;CtrlShiftP&#xff09;中,输入Terminal: Select Default Prof…

【记忆化搜索】【超详细】力扣3186. 施咒的最大总伤害

一个魔法师有许多不同的咒语。 给你一个数组 power &#xff0c;其中每个元素表示一个咒语的伤害值&#xff0c;可能会有多个咒语有相同的伤害值。 已知魔法师使用伤害值为 power[i] 的咒语时&#xff0c;他们就 不能 使用伤害为 power[i] - 2 &#xff0c;power[i] - 1 &…

记录安装android studio踩的坑 win7系统

最近在一台新电脑上安装android studio,报了很多错误&#xff0c;也是费了大劲才解决&#xff0c;发出来大家一起避免一些问题&#xff0c;找到解决方法。 安装时一定要先安装jdk&#xff0c;cmd命令行用java -version查当前的版本&#xff0c;没有的话&#xff0c;先安装jdk,g…

地形材质制作(能使地面湿润)

如图&#xff0c;创建一个材质并写以下逻辑 Landscape Layer Blend节点能使在地形模式绘制中有三个选择&#xff0c;根据以上逻辑&#xff0c;Red是原材质,Green是绿色材质也就是草&#xff0c;Blue为水&#xff08;这个我认为比较重要&#xff09; Blue的颜色最好为这个 这个节…

QEMU源码全解析 —— CPU虚拟化(11)

接前一篇文章: 本文内容参考: 《趣谈Linux操作系统》 —— 刘超,极客时间 《QEMU/KVM》源码解析与应用 —— 李强,机械工业出版社 《深度探索Linux系统虚拟化原理与实现》—— 王柏生 谢广军, 机械工业出版社 特此致谢! 前边几回又再次讲了一下VMX,本回开始讲解VCPU…

docker安装部署elasticsearch7.15.2

docker安装部署elasticsearch7.15.2 1.拉取es镜像 docker pull docker.elastic.co/elasticsearch/elasticsearch:7.15.2如果不想下载或者镜像拉去太慢可以直接下载文章上面的镜像压缩包 使用镜像解压命令 docker load -i elasticsearch-7-15-2.tar如下图所示就表示镜像解压成…