以太网帧格式解析

        以太网的正式标准是IEEE802.3,它规定了以太网传输的帧结构。

        以太网帧格式如下图所示:

        以太网传输数据时,是按照上图的格式,自左到右依次传输的。需要注意的是前导码和SFD不属于以太网协议的内容,应该是属于物理层数据同步相关的内容。 具体解析如下:

 名称字节数数值含义
前导码7字节0x55_5555_5555_5555同步码,通过串行数据的“01”交替,实现数据的同步。
帧起始界定符1字节0xD5表示一帧的开始。后面紧跟以太网的帧头
目的MAC地址6字节/以太网协议的第一个字段。指示目标设备(接收端)的MAC地址。分为广播地址、单播地址和多播地址。广播地址的数值为0xFFFF_FFFF_FFFF,用于和所有设备进行通信。
源MAC地址6字节/发送端的MAC地址。
长度/类型2字节/

当该字段的数值小于1536个字节时,表示的是数据的长度。

当为0x0800时,表示该数据包是IPv4协议包。

当为0x08DD时,表示该数据包是IPv6协议包。

当为0x0806时,表示该数据包是ARP协议包。

数据46~1500字节/

以太网中的数据长度最小是46字节,最大1500字节(正常情况下是这样的,但是存在巨帧等数据包)。最大值1500称为以太网的最大传输单元MTU。限制数据包大小的原因是担心单个数据包的发送时间太长,在计算机中排队的数据包队列太长,导致其他应用一直卡住,体验变差。

TCP、IP、UDP、ARP等协议数据,就包含在此部分里。

校验FCS4个字节/

为了确保数据的正确性,在网络包尾部增加了一个CRC32的校验结果,用来检测数据传输是否正确。CRC校验的范围:目的MAC、源MAC、长度/类型、数据。

另外关于CRC校验计算部分,可以参考文章:CRC计算流程详解和FPGA实现_crc32 fpga实现-CSDN博客

        这里需要注意的是,以太网两帧之间的时间间隔,IFG。

        不管10M/100M/1000M的网络,两帧之间最少有96bits的间隔时间。也就是说:

        10M的IFG=96*100ns=9600ns

        100M的IFG=96*10ns=96ns

        1000M的IFG=96*1ns=96ns

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

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

相关文章

Java集合-List

目录 1、List 1.1 List集合特有方法 1.1.1 增加 1.1.2 删除 1.1.3 修改 1.1.4 查找 1.2 ArrayList 1.3 LinkedList 1.4 Vector 1、List ---| Iterable 接口 Iterator iterator() ----| Collection 接口 ------| List 接口 元素可以重复…

学习ArkTS -- 状态管理

装饰器 State 在声明式UI中,是以状态驱动试图更新: 状态(State):指驱动视图更新的数据(被装饰器标记的变量) 视图(View):基于UI描述渲染得到用户界面 说明…

病理验证mIF和TMA路线(自学)

目录 技术 使用配对病理切片 mIF验证 单基因使用TMA验证 技术 多重荧光免疫组化技术 (Multiplex immunohistochemical,mIHC) 也称作酪氨酸信号放大 (Tyramide dignal amplification,TSA) 技术,是一类利用辣根过氧化酶 (Horseradish Pero…

MyBatis 面试题(六)

1. MyBatis 有几种分页方式? MyBatis 的分页方式主要可以分为两大类:逻辑分页和物理分页。 逻辑分页是一次性把全部数据查询加载进内存,然后再进行分页。这种方式减少了IO次数,适合频繁访问、数据量少的情况,但不适合…

weblogic反序列化漏洞(CVE-2017-10271)复现

直接用vuluhub搭建现成的靶场做 访问靶场 打开是这样表示成功 想反弹shell 就先开启kali1的nc监听,这就监听2233端口吧 linux:nc -l -p 2233 抓包修改为攻击数据包 ip和端口可以任意修改 反弹的shell 还可以写入文件shell 只需要把提供的poc POS…

【代码随想录】day44

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、完全背包理论基础二、518零钱兑换 II三、377组合总和 Ⅳ总结 一、完全背包理论基础 完全背包:每个物品可以使用无数次。 二、518零钱兑换 II cla…

修复Windows搜索不工作的几种方法,总有一种适合你

序言 Windows搜索是Windows 10中一个非常有用的功能,它允许你搜索特定的程序、应用程序、文档、图片、文件、设置等,以便快速访问它们。但有时Windows搜索找不到我们预期的结果,甚至没有响应,这会给Windows用户带来很多不便。如果Windows 10中的搜索栏不工作,该怎么办?你…

【MySQL】SQL优化

SQL优化 插入数据 insert 一次插入数据和批量插入数据 insert into tb_test (id, name) values (1,Tom); insert into tb_test (id, name) values (1,Tom),(2,Jack),(3,Jerry);优化方案: 手动控制事务,且按主键顺序插入。start transaction; insert …

机器人实验室LAAS-CNRS介绍

一、LAAS-CNRS介绍 1、缩写介绍 同样的,给出英文缩写的全称,以便理解。这里的LAAS(Laboratory for Analysis and Architecture of Systems)指法国的系统分析与架构实验室,CNRS(Centre National de la Rec…

[leetcode]jump-game-iv

. - 力扣&#xff08;LeetCode&#xff09; 给你一个整数数组 arr &#xff0c;你一开始在数组的第一个元素处&#xff08;下标为 0&#xff09;。 每一步&#xff0c;你可以从下标 i 跳到下标 i 1 、i - 1 或者 j &#xff1a; i 1 需满足&#xff1a;i 1 < arr.lengt…

oracle存储过程—游标

游标 CURSOR --隐式游标 select into--只能返回一行数据 --显示游标 :处理多行数据,一行一行去处理数据的循环 语法1: DECLAREcursor c_emp ISselect ename,sal from emp;---把查询到的emp表的数据放到游标c_emp中v_row c_emp%rowtype; --引用数据库中的一行(所有字段)作…

C# 十进制数转换为十六进制

在C#中&#xff0c;将十进制数转换为十六进制可以通过以下几种方式实现&#xff1a; 方法一&#xff1a;使用 ToString() 方法 对于整数类型的十进制数&#xff0c;可以直接调用其 ToString() 方法&#xff0c;并传入格式字符串 "X" 或 "x" 来表示转换为…

OpenHarmony实战开发-提升应用响应速度。

应用对用户的输入需要快速反馈&#xff0c;以提升交互体验&#xff0c;因此本文提供了以下方法来提升应用响应速度。 避免主线程被非UI任务阻塞减少组件刷新的数量 避免主线程被非UI任务阻塞 在应用响应用户输入期间&#xff0c;应用主线程应尽可能只执行UI任务&#xff08;…

【电控笔记6.3】采样-Z转换-零阶保持器

本质 数字转模拟:零阶保持器 采样 z-1所描述的物理意义即为延迟T时间的拉氏转换e-sT 信号采样延时

Python --- 新手小白自己动手安装Anaconda+Jupyter Notebook全记录(Windows平台)

新手小白自己动手安装AnacondaJupyter Notebook全记录 这两天在家学Pythonmathine learning&#xff0c;在我刚刚入手python的时候&#xff0c;我写了一篇新手的入手文章&#xff0c;是基于Vs code编译器的入手指南&#xff0c;里面包括如何安装python&#xff0c;以及如何在Vs…

【通信原理笔记】【四】数字基带传输——4.1 数字基带信号

文章目录 前言一、数字信号二、数字基带信号波形2.1 码元波形2.2 相对码2.3 多电平码 总结 前言 从这一节开始介绍数字通信系统中的数字基带传输部分。与模拟通信系统相比&#xff0c;数字通信系统传输的对象是数字的离散信号而非连续的模拟信号&#xff0c;本节先学习什么是数…

bfs解答迷宫

bfs解答迷宫问题 #include<bits/stdc.h> using namespace std; int dir[4][2]{-1,0,0,-1,0,1,1,0};//方向数组规律去记忆&#xff08;有对称规律&#xff09; int bfs(vector<vector<char> >& maze,vector<vector<bool> >& vis,int sx…

在传统云安全失败时提供帮助的六种策略

随着基于内存的攻击的激增继续挑战传统的云安全防御&#xff0c;对主动和全面的安全措施的需求变得至关重要。采用结合端点检测和响应、内存完整性保护和定期更新的多层方法可以加强对这些难以捉摸的威胁的防御。 随着云计算技术在各行各业的迅速普及&#xff0c;数据保护和安全…

linux系统安全与应用【下】

目录 1.开关机安全控制 1.1GRUB限制 2.终端登录安全控制 2.1 限制root只在安全终端登录 2.2 禁止普通用户登录 3.弱口令检测 3.1 Joth the Ripper&#xff08;JR&#xff09; 4.网络端口扫描 4.1 nmap命令 1.开关机安全控制 1.1GRUB限制 通常情况下在系统开机进入GRU…

详解:老阳说的temu电商项目怎么做才更赚钱?

近年来&#xff0c;电商行业蓬勃发展&#xff0c;temu电商项目作为其中的一员&#xff0c;也受到了广泛关注。老阳作为行业内的资深人士&#xff0c;对于temu电商项目有着独到的见解。那么&#xff0c;如何才能做好temu电商项目呢? 首先&#xff0c;要明确temu电商项目的定位和…