【计算机网络】lab2 Ethernet(链路层Ethernet frame结构细节)

🌈 个人主页:十二月的猫-CSDN博客
🔥 系列专栏: 🏀计算机网络_十二月的猫的博客-CSDN博客💪🏻 十二月的寒冬阻挡不了春天的脚步,十二点的黑夜遮蔽不住黎明的曙光
目录
1. 前言
2. 实验目的
3. 实验内容和实验步骤
4. 实验环境
5. 实验过程记录
step1:捕获一个ping数据包
step2:分析帧的结构
6. 实验结果分析
a. Ethernet帧结构(WireShark显示的结构会相对简单,也是帧中最重要的结构)
b. 以太网地址范围
c. Broadcast Frames 广播帧
7. 总结
1. 前言
本系列重点针对山东大学-软件学院-计算机网络实验的任务。
希望通过实验,一方面加强大家对理论知识的认识,另一方面提升大家的动手能力。
也希望我的博客能够给学弟学妹们的学习提供一些帮助。
2. 实验目的
前一篇文章:【计算机网络】lab1 Protocol Layers(物理层 传输数据 结构细节)-CSDN博客
通过WireShark工具对物理层传输的数据进行抓包,直观看到了物理层数据的结构特点:
这和我们学习的知识相吻合:因为物理层上有链路层、网络层、传输层和应用层四个层次,每一个层次遵循一种协议,因此会给数据加上一种协议头,总共有四个协议头(如上图)。
本篇文章,通过这次实验,我们来探索以太网帧Ethernet frame的结构细节。
Ethernet是一种流行的链路层协议,现代计算机连接到以太网交换机,而不是使用传统以太网。
Ethernet:以太网
帧:通常称为以太网帧
以太网协议:数据链路层遵循的协议
3. 实验内容和实验步骤
实验内容:
1、掌握网络抓包工具Wireshark、网络诊断工具ping的用法;
2、使用网络诊断工具ping触发网络消息;
3、使用网络抓包工具Wireshark获取并分析以太网数据帧;
4、掌握以太网帧的结构;
5、分析以太网地址范围;
6、分析以太网的广播帧。
实验步骤:
1. Capture a Trace
2. inspect the trace
3. Ethernet Frame Structure
4. Scope of Ethernet Addresses
5. Broadcast Frames
4. 实验环境
-
Wireshark
Wireshark 是一个网络协议分析工具,用于捕获和分析通过计算机网络传输的数据包。它能详细显示每个数据包的协议、源地址、目标地址、数据内容等信息,帮助用户诊断网络问题和分析网络流量。 -
ping
ping是一个简单的网络诊断工具,用于测试计算机与另一台计算机之间的网络连接是否正常。它通过发送 ICMP Echo 请求并等待响应,来检查目标主机是否在线以及网络延迟情况。
5. 实验过程记录
step1:捕获一个ping数据包
ping 数据包 是一种使用 ICMP(Internet Control Message Protocol,互联网控制消息协议)协议的网络数据包,通常用于测试网络连接的可达性和延迟。
- 检查是否有ping数据包:选择远程web服务器或者其他可公开访问的Internet主机,使用ping发送一些ping messages;检查它是否回复(如果ping继续从远程服务器上弹出消息,可以用^C作为信号终止)。
a. 打开cmd,输入ping www.bing.com:

2.捕获ping数据包:启动wireshark,利用icmp这个filter捕获以太网帧;
a. 在WireShark上设置好参数:

b. 点击“开始”,则WireShark开始捕获ICMP协议的数据:
c. 再次进行ping操作。得到结果如下:

step2:分析帧的结构
有两种以太网:IEEE802.3(很少见)、DIX以太网(wireshark中称为Ethernet II),其结构如下:

a. 点击Ethernet,查看详细信息。各字段解释如下:
- preamble:前导码,wireshark中没有显示。功能:使接收端的适配器在接收MAC帧时迅速调整时钟频率,使它和发送端的频率相同
- SFD :帧开始定界符,wireshark中没有显示
- Destination:目的地址
- Source:源地址
- Type:表明使用的是IPv4还是IPv6
- MAC CLIENT DATA:数据字段的Data,wireshark中没有显示
- pad:填充,wireshark中没有显示
- FCS:校验位,wireshark中没有显示
Destination:

Source:

Type:

CheckSum:

广播帧MAC地址:

6. 实验结果分析
a. Ethernet帧结构(WireShark显示的结构会相对简单,也是帧中最重要的结构)


b. 以太网地址范围
这个问题其实包括两个部分:MAC地址范围和IP地址范围
MAC地址范围:以太网帧中,destination address和source address都是MAC地址,也就是硬件地址,和具体硬件有关。在帧传输中,需要路由器进行转发,因此在转发中路由器发生改变,硬件也就发生变化,MAC地址也将发生变化,所以说数据链路层的是负责节点到节点的通信的。MAC地址是在路由器转发过程中不停发生变化的。
IP地址范围:输入命令 ping www.bing.com 时,输入的是域名,经过DNS解析后得到目标IP地址,我自己的电脑又有一个源IP地址。因为网络层传输是主机到主机的,和硬件地址没有直接关系,所以传输过程中IP地址是不会变化的,保持不变。

c. Broadcast Frames 广播帧
以太网中,单播、组播、广播会使用不同的DMAC。
- unicast 单播:主机之间一对一通信。
- multicast 多播:主机之间一对一组通信。
- broadcast 广播:主机之间一对所有通信。
1、wireshark中显示的标准格式的广播以太网地址(DMAC)是:FF:FF:FF:FF:FF:FF
2、以太网地址的哪一位用于确定单播or多播/广播:802.11、802.5/802.6标准中是第一个字节的最后一位,即第8位;802.3/802.4中是第一位。0表示单播;1表示多播/广播。
7. 总结
本文到这里就结束啦~~
如果觉得对你有帮助,辛苦友友点个赞哦~

相关文章:
【计算机网络】lab2 Ethernet(链路层Ethernet frame结构细节)
🌈 个人主页:十二月的猫-CSDN博客 🔥 系列专栏: 🏀计算机网络_十二月的猫的博客-CSDN博客 💪🏻 十二月的寒冬阻挡不了春天的脚步,十二点的黑夜遮蔽不住黎明的曙光 目录 1. 前言 2.…...
路径规划之启发式算法之二十:麻雀搜索算法(Sparrow Search Algorithm,SSA)
麻雀搜索算法(Sparrow Search Algorithm,SSA)是一种受麻雀觅食和反捕食行为启发的新型的群智能优化算法,它模拟了麻雀种群的觅食行为和反捕食行为的生物学群体特征。该算法由薛建凯在2020年首次提出,旨在解决全局优化问题,具有求解精度高、效率高等特点。 一、算法原理 S…...
音频开发中常见的知识体系
在 Linux 系统中,/dev/snd 目录包含与声音设备相关的文件。每个文件代表系统中的一部分音频硬件或音频控制接口。以下是你列出的文件及其含义: 一.基本术语 样本长度(sample):样本是记录音频数据最基本的单位,计算机对每个通道采…...
【返璞归真】score检验:似然比的得分检验(Likelihood Ratio Score Test)
Score检验(Score Test)是一种用于假设检验的方法,特别是在统计建模中,常用于估计模型参数时检验某个假设是否成立。它的全名是“似然比的得分检验”(Likelihood Ratio Score Test),通常用于大样…...
三维重建(六)——3D Representation Methods: A Survey(北大总结三维表征--2024.10出版)
文章目录 一、摘要二、引言2.1 研究焦点和发展历程三、3D表征3.1 体素网格3.2 点云3.3 网格3.4 符号距离函数(SDF)3.5 神经辐射场(NeRF)3.6 三维高斯溅射(3D Gaussian Splatting, 3DGS)3.7 混合方法3.7.1 深度步进四面体(Deep Marching Tetrahedra, DMTet)3.7.2 三平面…...
html基础-认识html
1.什么是html html是浏览器可以识别的的标记语言,我们在浏览器浏览的网页就是一个个的html文档 <!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>认识html</title> </head> <body><h1…...
UE5 跟踪能力的简单小怪
A、思路 1、用素材的骨骼网格体创建小怪BP,绑定新的小怪控制器。 2、控制器的事件开始时,获取玩家状态,指定AI小怪自动向玩家移动。 复杂的AI需要用强大功能如黑板、行为树。 而简单的AI则可以用简单方法实现,杀鸡不用牛刀。视…...
Ubantu22系统安装Miniconda3
1、Anaconda和Miniconda异同 清华源镜像的Miniconda3和Anaconda都是用于管理Python环境和软件包的工具,但它们之间存在一些关键的不同之处。下面将分别介绍它们的特点以及使用清华源镜像的差异。 相同点: (1)功能相似:…...
130、java中在使用new ArrayList<>(),在参数中传入一个集合的作用
在Java中,当你使用new ArrayList<>()时,你正在创建一个新的ArrayList实例。如果你在其后跟一对尖括号,并在内部传入一个集合,那么这实际上是一个"初始容量"的概念。 例如,如果你有一个集合otherList&…...
Mybatis-plus-Join--分页查询
数据表四张: user: id,username,create_time,update_time product: id,name,price,number(库存),create_time,update_times order: id,quantity,order_time(下单时间),update_time order_detail:id,product_id,order_id,quant…...
对BG兼并点的理解-不断刷新版
常想常新,每次接触都有新理解,不确定想的是否正确,拿出来讨论,以最新结论为准 2024-9-19 1、仿真简并点时需要断开启动电路:启动电路会干扰DC结果的计算,可能看到加启动电路后简并点减少,但在…...
python的游标是什么
CURSOR(私有SQL 区)就是一个句柄,即指针或引用,指向sql私有区(一个用户的能打开的cursor数由参数open_cursors决定)【确切说,指向sql私有区里的固定部分(The persistentarea…...
硬件---14---PCB学习:PCB封装库及布局操作
一PCB封装元素的组成与介绍 二实例-贴片0603封装的创建 1封装命名 找不到封装库创建页面,可以配合右下角的Panels去找。 找到0603电阻或者电容的PCB封装,根据提供尺寸去设计PCB的封装。 <1>双击PCB器件封装 <2>命名 2放置焊盘ÿ…...
什么是MyBatis
MyBatis 简介 MyBatis 是一个流行的 Java 持久层框架(Persistence Framework),它主要用于简化数据库操作,提供了对数据库的映射支持,使得开发人员能够通过简单的配置和映射文件来执行数据库操作(如增、删、…...
开发技术-Java改变图片格式
图片上传页未做控制,导致上传的是GIF格式,导致图片识别失败。需要将GIF格式转为JPEG格式。 代码,是找AI写的,记录一下: import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; im…...
基于DockerCompose搭建Redis主从哨兵模式
linux目录结构 内网配置 哨兵配置文件如下,创建3个哨兵配置文件 # sentinel26379.conf sentinel26380.conf sentinel26381.conf 内容如下 protected-mode no sentinel monitor mymaster redis-master 6379 2 sentinel down-after-milliseconds mymaster 60000 s…...
aioice里面candidate固定UDP端口测试
环境: aioice0.9.0 问题描述: aioice里面candidate固定UDP端口测试 解决方案: /miniconda3/envs/nerfstream/lib/python3.10/site-packages/aioice import hashlib import ipaddress import random from typing import Optional import…...
Git使用教程-分支使用/合并分支提交
Git使用教程-分支使用 文章目录 Git使用教程-分支使用一、分支(branch)的基本操作:二、查看分支:参考 一、分支(branch)的基本操作: git clone https://.git git status …...
单元测试使用记录
什么是单元测试 简单来说就是对一个类中的方法进行测试,对输出的结果检查判断是否符合预期结果 但是在多年的工作中,从来没有哪个项目中真正系统的用到了单元测试,因此对它还是很陌生的,也就造成更加不会在项目中区使用它。 如何…...
LabVIEW实时信号采集与频谱分析
系统通过LabVIEW与PXIe硬件结合,实现高精度模拟信号的实时采集、频谱分析与可视化显示。核心功能包括采样率配置、快速傅里叶变换(FFT)、功率谱图生成及动态缩放调整,同时支持信号平均与噪声抑制。系统设计灵活,适用于…...
GaussDB定时任务管理:从基础到高级实践
一、定时任务体系架构1.1 双引擎调度架构GaussDB采用内置调度器外部集成的混合架构:内置调度器:基于PostgreSQL的pgAgent增强实现 外部集成:支持与Linux cron、Kubernetes CronJob联动 分布式调度࿱…...
5分钟快速上手:LuckyLilliaBot QQ机器人完整部署指南
5分钟快速上手:LuckyLilliaBot QQ机器人完整部署指南 【免费下载链接】LuckyLilliaBot 支持 OneBot 11、Satori 和 Milky 协议 项目地址: https://gitcode.com/gh_mirrors/li/LuckyLilliaBot 你是否正在寻找一款简单易用、功能强大的QQ机器人框架?…...
在Taotoken控制台中查看与分析API用量明细的实际操作
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 在Taotoken控制台中查看与分析API用量明细的实际操作 对于使用大模型API进行开发的团队或个人而言,清晰、准确地掌握AP…...
苹果防线全线血崩,Mythos5天攻破最强硬件,全球20亿台设备危了
太震撼了,苹果花5年数十亿美元造出最强硬件安全防线MIE,三个黑客加一个AI,5天就把它打穿了!20亿台苹果设备的安全逻辑正在被改写,人类安全系统正迎来「奥本海默时刻」 。 就在刚刚,苹果这座「永不陷落的堡…...
两轮车租赁数字化升级:从物联网架构到运营效率提升
1. 两轮车租赁模式升级:从传统痛点看数字化解决方案最近和几个在欧洲做短途出行和即时配送的朋友聊天,大家不约而同地提到了一个趋势:两轮车,特别是电动两轮车的租赁市场,正在经历一场静悄悄但深刻的模式升级。这背后&…...
Win10下CUDA 11.7和PyTorch保姆级安装避坑指南(含Anaconda换源与驱动检查)
Win10深度学习环境配置全攻略:从CUDA到PyTorch的零失败实践 刚接触深度学习的新手往往在第一步——环境配置上就遭遇重重阻碍。驱动版本混乱、下载速度缓慢、环境变量缺失、版本兼容性问题……这些看似简单的步骤背后隐藏着无数可能让初学者崩溃的"坑"。本…...
从PI到PR:静止坐标系下永磁同步电机电流控制的新范式
1. 永磁同步电机控制的痛点与变革 每次调试永磁同步电机(PMSM)时,最让人头疼的就是参数漂移问题。记得去年做伺服系统项目,电机运行半小时后电流波形就开始畸变——电感值因温升变化了15%,导致PI控制器输出的d轴电流出…...
C加加开发者如何通过Taotoken快速接入多模型API服务
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 C开发者如何通过Taotoken快速接入多模型API服务 1. 场景与需求 在C后端服务中集成大模型能力时,开发者常面临几个实际…...
CRM系统哪家好?十大热门crm产品实测
2026年企业数字化转型已进入深水区,CRM早已从单一的销售跟单工具,进化为贯穿获客、销售、供应链、生产、服务全链路的核心业务载体。面对海内外五花八门的CRM产品,不少企业选型时容易陷入“追大牌”“功能越多越好”的误区,最终出…...
CursorTouch/Operator-Use:融合光标与触摸的交互范式设计与实现
1. 项目概述:从“CursorTouch”到“Operator-Use”的交互范式演进最近在琢磨一个挺有意思的交互设计项目,我把它暂命名为“CursorTouch/Operator-Use”。这个名字听起来有点技术范儿,但核心想解决的问题其实很接地气:我们如何让电…...

