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

news/2024/12/22 14:36:07/

🌈 个人主页:十二月的猫-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. 实验环境

  1. Wireshark
    Wireshark 是一个网络协议分析工具,用于捕获和分析通过网络>计算机网络传输的数据包。它能详细显示每个数据包的协议、源地址、目标地址、数据内容等信息,帮助用户诊断网络问题和分析网络流量。

  2. ping
    ping 是一个简单的网络诊断工具,用于测试计算机与另一台计算机之间的网络连接是否正常。它通过发送 ICMP Echo 请求并等待响应,来检查目标主机是否在线以及网络延迟情况。

5. 实验过程记录

step1:捕获一个ping数据包

       ping 数据包 是一种使用 ICMP(Internet Control Message Protocol,互联网控制消息协议)协议的网络数据包,通常用于测试网络连接的可达性和延迟。

  1. 检查是否有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. 总结 

本文到这里就结束啦~~
如果觉得对你有帮助,辛苦友友点个赞哦~


http://www.ppmy.cn/news/1557211.html

相关文章

图漾相机-ROS1_SDK_ubuntu版本编译(新版本)

文章目录 官网编译文档链接官网SDK下载链接1、下载 Camport ROS1 SDK1.下载git2、下载链接 2、准备编译工作1、安装 catkin2、配置环境变量3. 将Camport3中的linux库文件拷贝到 user/lib目录下4、修改lunch文件制定相机(可以放在最后可以参考在线文档)**…

数据结构(C语言版)-6.查找

1. 查找的基本概念 2. 静态查找 2.1 顺序查找 typedef int KeyType; typedef int InfoType; typedef struct {KeyType key;InfoType otherdata; }SeqList; // 顺序表类型 // 顺序查找int SeqSearch(SeqList R[], int n, int k) {int i n;R[0].key k; // R[0].key为查找不成…

【Java并发】创建和使用线程常用方法总结

目录 什么是线程 线程和进程、协程(虚拟线程)的区别 线程和进程的区别 线程和协程的区别 线程的六种状态 1.NEW 2.RUNNABLE 3.BLOCKED 4.WAITING 5.TIME_WAITING 6.TERMINATED 创建线程 方法一:通过继承Thread类 方法二&#xf…

sql server msdb数据库备份恢复

备份 BACKUP DATABASE [msdb] TO DISK ND:\liyuanshuai\test\sqlserver_bakfile\msdb20241219.bak WITH NOFORMAT, NOINIT, NAME Nlys-完整 数据库 备份, SKIP, NOREWIND, NOUNLOAD, COMPRESSION, STATS 10 GO然后删除2个测试的job,停止 SQL Server 代理…

第19天:信息收集-Web应用源码获取闭源备份开发泄漏WebPack打包资源搜索ICO定位

#知识点 1、信息收集-Web应用-源码获取-已知指纹&未知指纹 2、信息收集-Web应用-源码获取-泄漏问题&发现指纹 一、参考文章: https://www.secpulse.com/archives/124398.html https://mp.weixin.qq.com/s/QgLDdaefXlZtvlSiFQShZw 二、源码泄漏原因&#xff…

第十四届蓝桥杯Scratch国赛真题—转动的车轮

转动的车轮 编程实现: 转动的车轮(车轮使用画笔绘制,画面中不能出现其他角色,否则0分)。 注:角色、背景非源素材。 具体要求: 1). 点击绿旗,背景如图所示; 2). 等待1…

练习题 最小栈

最小栈 最小栈 class MinStack {private Stack<Integer> stack;private Stack<Integer> minstack;public MinStack() {stacknew Stack<>();minstacknew Stack<>();}public void push(int val) {stack.push(val);if(minstack.empty()){minstack.push(…

【C++11】可变模板参数

目录 可变模板的定义方式 参数包的展开方式 递归的方式展开参数包 STL中的emplace相关接口函数 STL容器中emplace相关插入接口函数 ​编辑 模拟实现&#xff1a;emplace接口 C11的新特性可变参数模板能够让您创建可以接受可变参数的函数模板和类模板&#xff0c;相比 C9…