【数据链路层】以太网帧包解析

文章目录

    • 以太网的帧结构
    • 解析数据链路层信息


以太网的帧结构

在这里插入图片描述
使用抓包工具,查看数据链路层信息:
在这里插入图片描述


解析数据链路层信息

(1)协议类型:代表上层的协议 (IP=00800 ARP=00806 IPv6=86DD )
如图中所示:
在这里插入图片描述
在每一层中都存在一个字段表示上层的协议 是什么,以太网中协议类型为0x86dd,表明上层协议是IPv6。在IPv6 中下一个协议头字段为58,表明上层协议是IPv6-ICMP。

(2)帧大小范围 :64B~1518B
(3)MTU :最大传输单元,每次发送数据的最大值(默认为1500B,大于或小于该值的数据帧都有问题)
问题一:如何计算包大小?用工具随便抓取一个包计算下大小。
在这里插入图片描述
图中 带有[ ] 符号里的数字单位为字节,具体表示为: [ 从开始到现在的字节数 / 这个字段或这个协议总字节数 ]
以太网 - II[Ethernet - II] [0/14]
    从开始到现在的字节数为0;以太网头总字节数为14
互联网协议版本6[Internet Protocol Version 6] [14/72]
    从开始到现在的字节数为14;IPv6 总字节数为72
ICMPV6 - 互联网控制消息协议版本6[ICMPV6 - Internet Control Message Protocol Version 6] [54/32]
    从开始到现在的字节数为54;ICMPV6 总字节数为32
帧校验序列[FCS - Frame Check Sequence]
    默认4字节
综上所示,包大小为 54+32+4 = 90字节。(与抓包大小显示的字节数一致,正确)

问题二、抓到的包最大1518字节,为什么不是1526字节 ?
以太网最大帧长应该是 7字节前导同步码 + 1字节帧开始定界符 + 6字节的目的MAC + 6字节的源MAC + 2字节的帧类型 + 1500 + 4字节的FCS。最大帧应该是1526字节,但是实际上我们抓包得到的最大帧是1518字节。
在数据帧到达网络接口卡(NIC)的过程中,物理层首先会移除前导同步码和帧的开始定界符。随后,NIC会执行循环冗余校验(CRC)来验证帧的完整性;如果CRC校验失败,则该帧会被丢弃。如果校验通过,NIC将检查目的MAC地址是否与自己的硬件地址匹配,或者是否是一个允许接收的多播或广播地址。只有当地址匹配时,NIC才会将帧传递给设备驱动程序进行进一步处理。此时网络抓包工具才能捕获到数据帧,但捕获内容不包括前导同步码、帧定界符。因此,实际抓取的数据帧长度最大为6字节的目的MAC、6字节的源MAC、2字节的帧类型、4字节的FCS加上最多1500字节的数据负载,总共1518字节。

问题三、ping包解析
命令行中执行:ping www.baidu.com 默认发包32字节,抓包查看32字节是在哪个字段里。
在这里插入图片描述
将ping包字节扩大到1000字节,命令行输入 ping www.baidu.com -l 1000
在这里插入图片描述
(4)FCS帧校验序列 4B :用来检测数据的完整性,不完整的会被之间丢弃(不会重传,靠上层实现重传)
在这里插入图片描述

(5)MAC地址 :代表一个网络接口的物理地址,全球唯一
在这里插入图片描述
MAC地址由两部分组成,分别是供应商代码和序列号。前24位是IEEE电气和电子工程师协会分配给厂商,后24位是厂商分配的用户。
数据链路层基于MAC地址进行帧传输。
上述问题二中有详细解析主机接收到数据帧的动作:1.检测FCS,通过下一步(反则丢弃)2.检测DMAC,通过交给上层(反则丢弃)。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2024 Google I/O - 提前窥探 Android 15 的新功能与适配

今年年初就简单介绍过 Android 15 预览版 的相关内容,而昨天 Google I/O 宣布了 Android 15 Beta2,作为第二个 Beta 版本 ,它已经基本接近它未来的样子,毕竟下个版本就是 Platform Stability 了,所以让我们提前来一睹 …

电脑恢复出厂设置怎么弄?让你的电脑焕然一新!

电脑恢复出厂设置是一种常见的操作,它可以帮助用户将电脑恢复到初始状态,清除所有数据和设置,使其恢复到出厂时的状态。这对于解决系统故障、清除个人数据以及重新配置电脑等情况非常有用。可是电脑恢复出厂设置怎么弄呢?本文将介…

网络安全快速入门(十三)linux及vmware软件的网络配置

13.1 前言 在通过我们前面的了解,我们现在已经对Linux的基础知识有了大致的了解,今天我们来大概讲一下关于linux系统及vmware的网络配置问题,在这之前,我们需要对网络有一个大概的认识和了解,话不多说,我们…

「AI模型瘦身术」——知识蒸馏技术综述

使用KD原因 遇到问题:从产业发展的角度来看工业化将逐渐过渡到智能化,边缘计算逐渐兴起预示着 AI 将逐渐与小型化智能化的设备深度融合,这也要求模型更加的便捷、高效、轻量以适应这些设备的部署。 解决方案:知识蒸馏技术 知识…

记一次:mysql统计的CAST函数与json字段中的某个字段

前言:因为需求的问题,会遇到将某个json存入到一个字段中,但在统计的时候,又需要将这个json中的某个字段作为条件来统计,所以整理了一下cast函数和json中某个字段的条件判断 一、浅谈mysql的json 1.1 上例子 SELECTli…

管仲故乡是颍川,何分颍上或颍下

第一仲父管仲,故乡在哪里?依然像许多名人故里一样存在争议,但是这个争议却很不一般,引出了一个大话题。 管子是安徽颍上县人,《史记》记载: “管仲,颍上人也。”颍上县有管鲍祠,是安徽省重点文物…

【小项目】简单实现博客系统(一)(前后端结合)

一、实现逻辑 1)实现博客列表页 让页面从服务器拿到博客数据(数据库) 2)实现博客详情页 点击博客的时候,可以从服务器拿到博客的完整数据 3)实现登录功能(跟之前写的登录页面逻辑一致&…

羊大师解析,春季羊奶助力健康成长

羊大师解析,春季羊奶助力健康成长 随着春天的到来,万物复苏,大自然呈现出一派生机勃勃的景象。在这个充满希望的季节里,我们不仅要关注外界环境的变化,更要关注身体的健康和成长。羊大师发现羊奶作为一种营养丰富的食…

探索未来:苹果如何在 Apple Vision Pro 上进行创新

视觉体验的演进 在当今快节奏的数字化时代,技术创新不断塑造着我们与周围世界互动的方式。在这些进步中,苹果视觉专业技术凭借其创新精神脱颖而出,彻底改变了我们感知和参与视觉内容的方式。 无与伦比的显示技术 苹果视觉专业技术的核心是…

error Component name “Child4“ should always be multi-word

error Component name "Child4" should always be multi-word 这个错误是来自于ESLint的规则,它强制要求组件的名称必须是多单词的。这是因为单单一个单词可能与HTML的内建标签或者其他组件的名称产生冲突,从而导致意外的行为。 解决方法&am…

C#知识|(实例)大乐透双色球随机选号器项目实现(二)

哈喽,你好,我是雷工! 前面记录了UI设计,接下来记录类的设计,及相关代码。 04 类的设计 4.1、创建文件夹 为了使分类更加清晰,添加Models文件夹; 4.2、添加大乐透类 添加SuperLotto.cs类 该类的代码如下: namespace LeiGongNotes {/// <summary>/// 大乐透类…

el-upload 上传多个视频

<el-form-item label="视频" prop="video_url"><el-uploadclass="upload-demo"ref="uploadRef":multiple="true":on-change="handleChange":before-remove="beforeRemove":before-upload=&quo…

Typescript 哲学 - d.ts文件

The .d.ts syntax intentionally looks like ES Modules syntax. ES Modules was ratified by TC39 in 2015 as part of ES2015 (ES6), while it has been available via transpilers for a long time default export (esModuleInterop:true) / export 讲一个 d.ts export 的…

PCB供电夹子DIY

在刷小红书的时候&#xff0c;看到了清华卓晴教授【https://zhuoqing.blog.csdn.net/】DIY的供电夹子&#xff0c;感觉对于自己DIY PCB的时候供电会比较方便&#xff0c;物料也比较简单&#xff0c;打算复刻一下。 使用物料 1、小夹子&#xff0c;文具店都有卖&#xff0c;选…

Android手动下载Gradle的使用方法

导入新项目通常会自动下载gradle版本&#xff0c;这种方式很慢而且经常下载失败&#xff0c;按照提示手动下载的gradle应该放在那里&#xff0c;如何使用&#xff0c;本篇文章为你提供一种亲测有效的方法&#xff1a; 在Android Studio打开Setting搜索Gradle找到Gradle的存放目…

亚马逊测评真人号与自养号:如何选择?区别与作用全面解析

亚马逊卖家都希望能打造出热销产品的产品列表&#xff0c;因为评论对于列表的曝光和流量有着巨大的影响。然而&#xff0c;获取有效的产品评论并不容易&#xff0c;许多卖家为了提高自己产品在同类别中的竞争力&#xff0c;选择进行测评。测评可以快速提高产品的排名、权重和销…

Python自学之路--004:Python使用注意点(原始字符串‘r’\字符转换\‘wb’与‘w区别’\‘\‘与‘\\’区别)

目录 1、原始字符串‘r’ 2、字符转换问题 3、open与write函数’wb’与’w’区分 4、Python里面\与\\的区别 1、原始字符串‘r’ 以前的脚本通过Python2.7写的&#xff0c;通过Python3.12去编译发现不通用了&#xff0c;其实也是从一个初学者的角度去看待这些问题。 其中的\…

ROS2 - 创建项目( Ubuntu 22.04 )

本文简述&#xff1a;在 Ubuntu22.04 系统中使用 VS Code 来搭建一个ROS2开发项目。 ROS2 安装&#xff1a; 可以运行下面的命令&#xff0c;一键安装&#xff1a; wget http://fishros.com/install -O fishros && . fishros 1. 创建工作空间 本文假设配置完成 VS …

探索未来:Google I/O 2024 AI重磅发布一览

亲爱的读者们&#xff0c;大家期待已久的Google I/O开发者大会终于到来了&#xff01;今年的大会尤为特别&#xff0c;Google在发布会上大力强调了人工智能&#xff08;AI&#xff09;的重要性&#xff0c;可以说AI成为了绝对的主角。为了让大家快速了解今年的重点内容&#xf…