以太网帧格式解析

        以太网的正式标准是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

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

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

相关文章

AI检索增强生成引擎-RAGFlow-深度理解知识文档,提取真知灼见

💡 RAGFlow 是什么? RAGFlow是一款基于深度文档理解构建的开源RAG(Retrieval-Augmented Generation)引擎。RAGFlow个人可以为各种规模的企业及提供一套专业的RAG工作流程,结合针对用户群体的大语言模型(LL…

我独自升级崛起怎么下载 一文分享我独自升级崛起游戏下载教程

我独自升级崛起怎么下载 一文分享我独自升级崛起游戏下载教程 我独自升级:崛起是一款由韩国漫画改编而成的热门多人网络在线联机游戏,这款游戏是一款的角色扮演类型游戏,游戏有着独一无二的剧情模式。小伙伴们在游戏中可以体验到独特的成长系…

Meta提出全新文档级嵌入框架,利用LLM来增强信息检索能力

近年来,基于嵌入式检索(embedding-based search)或密集检索(dense retrieval)相比传统的稀疏检索(sparse retrieval)或基于词袋(bag of words)的方法,已经展示…

王道C语言督学营OJ课后习题(课时20)

#include<stdio.h> int main() {printf("%3d%3d",0,13);return 0; }

图深度学习——2.图的理论知识

1.图 1.1 图的定义 图是由节点&#xff08;顶点&#xff09;和边构成的数学结构。图用于表示对象之间的关系&#xff0c;其中节点表示对象&#xff0c;边表示对象之间的关系。 一个图&#xff0c;记为 G <V, E> &#xff0c;它包括以下两个要素&#xff1a; 1.节点&am…

函数的内容

一&#xff0c;概念 封装一份可以被重复执行的代码块&#xff0c;让大量代码重复使用 二&#xff0c;函数使用 大体分两步&#xff1a;声明函数&#xff0c;调用函数 声明函数有关键字&#xff1a;function 函数名&#xff08;&#xff09;{ 函数体 } 为基本格式&#xf…

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…

哈希表实现[很详细!]

目录 哈希表 定义节点类 根据hash码获取value 向hash表存入新key value,如果key重复,则更新value 根据hash码删除,返回删除的value 关于resize()一些问题的解答 冲突测试 MurmurHash 设计思考 练习 Leetcode01 Leetcode03 Leetcode49 Leetcode217 Leetcode136 L…

人工智能大模型培训老师叶梓 探索知识库问答中的查询图生成:处理多跳复杂问题的新方法

在人工智能领域&#xff0c;基于知识库的问答&#xff08;KBQA&#xff09;技术正变得越来越重要。它使得机器能够理解自然语言问题&#xff0c;并从结构化的知识库中检索答案。然而&#xff0c;面对多跳复杂问题&#xff0c;传统的KBQA方法往往力不从心。近期&#xff0c;研究…

账号安全基本措施1

一、系统账号清理 1.1 将用户设置为无法登录 useradd -s /sbin/nologin lisi shell类型设置为/sbin/nologin用户将无法使用bash或其他shell来登录系统。 1.2 锁定用户。passwd -l 用户名 正常情况下是可以送普通用户切换到其他普通用户的 当锁定密码后passwd -l lisi就用普…

第22天:安全开发-PHP应用留言板功能超全局变量数据库操作第三方插件引用

第二十二天 一、PHP留言板前后端功能实现 开发环境&#xff1a; DW PHPStorm PhpStudy Navicat Premium DW : HTML&JS&CSS开发 PHPStorm : 专业PHP开发IDE PhpStudy &#xff1a;Apache MYSQL环境 Navicat Premium: 全能数据库管理工具 二、数据库创建&架…

【解决】echarts条形图纵坐标显示不全

先说结论&#xff1a; option:{...grid: {containLabel: true},... }这个属性是控制整体的坐标标签的。加上这个就可以显示完整了。然后再根据其他属性调整标签的字体、颜色之类的 yAxis : [{...axisLabel:{width:100,overflow:break,truncate:...,color:red,fontSize:10,},..…

JavaScript进阶部分知识总结

作用域 局部作用域 作用域规定了变量能够被访问的范围&#xff0c;离开了这个范围变量就不能被访问作用域分为&#xff1a;局部作用域和全局作用域 局部作用域分为函数作用域和块作用域 1.函数作用域&#xff1a; 在函数内部声明的变量只能在函数内部被访问&#xff0c;外…

AWD线下攻防万字最完整战术(记第一届“长城杯”半决赛战术)

目录 准备阶段 1.登录比赛平台&#xff08;获取资产&#xff09; 查看账号账号修改 服务器SSH口令mysqlWEB服务口令(后台密码)数据库后台管理员密码 账号用户检查 2.dump源码&#xff08;方便应急响应恢复靶机&#xff09; 网站源码备份 压缩文件解压文件备份到服务器本地上传…

这10款VS Code神仙插件,嵌入式程序员必备

大家好&#xff0c;我是知微&#xff01; 嵌入式软件开发工程师平时可能更多的是使用Source Insight、Keil、IAR来阅读代码&#xff0c;写代码。 VSCode大家都听说过&#xff0c;功能十分强大&#xff0c;而且免费&#xff01; 或许是因为这款软件上手有一定的学习成本&…

css:echarts渐变色转换为css渐变色

通过一个下拉框来选择渐变类型&#xff0c;为了简化&#xff0c;我设置了三种&#xff1a;水平方向的渐变、垂直方向的渐变和径向渐变用&#xff0c;表格来配置echarts渐变色的百分比位置和颜色。 config是表格里的数据格式如下&#xff1a; offset是百分比位置&#xff0c;co…

C语言项目实践——贪吃蛇

引言&#xff1a;本篇博客中&#xff0c;我将会使用结构体&#xff0c;链表&#xff0c;WIN32 API等一系列知识完成C语言项目——贪吃蛇的实现。在观看此篇博客之前&#xff0c;请将这些知识所熟悉&#xff0c;不然可能会造成理解困难。 更多有关C语言的知识详解可前往个人主页…

[C++][算法基础]求组合数(IV)

输入 &#x1d44e;,&#x1d44f;&#xff0c;求 的值。 注意结果可能很大&#xff0c;需要使用高精度计算。 输入格式 共一行&#xff0c;包含两个整数 &#x1d44e; 和 &#x1d44f;。 输出格式 共一行&#xff0c;输出 的值。 数据范围 1≤b≤a≤5000 输入样例…

一线实战:国产数据库Mogdb双网卡同步最佳实践

前言 大家都知道Oracle数据库无论是单机还是RAC集群在进行生产部署实施时&#xff0c;我们都会对网卡做冗余考虑&#xff0c;使用双网卡&#xff0c;比如public、心跳网络。这样的目的主要是为了安全&#xff0c;避免单点故障。当然双网卡Bond不仅是可以做主备还可以支持负载均…

安装mysql的流程

安装mysql的步骤 安装流程 [rootlocalhost z]# cd /mnt/share/share[rootlocalhost share]# ll[rootlocalhost share]# cp mysql157-community-release-el7-10.noarch.rmp /usr/localcp: cannot stat ‘mysql157-community-release-el7-10.noarch.rmp’: No such file or direc…