当前位置: 首页 > news >正文

[计算机通信网络]以太网的帧格式详解

目录

一、前言

二、以太网的帧格式

Preamble(前导码):

SFD(帧开始定界符):

Destination Address,Source Address:

Type/Len(类型/长度):

Data(数据):

FCS(Frame Check Sequence)(帧校验码):


一、前言

以太网的帧格式对于我们理解mac地址与局域网间通信有着很大的帮助。

这篇博客主要记录了以太网的帧格式与各个字段对应的内容。

二、以太网的帧格式

以太网的帧格式有两种,如下图,其中RFC 894与RFC 1042的主要区别就是 有两个字节的命名方式不同,分别是Type和Len,其余字段相同。

 

---------------------------------------------------------------------------------------------------------------------------------

Preamble(前导码):

preamble是以太网帧的前七个字节,其中每个字节的内容都相同,都为 10101010

具体长下面这样

 preamble:10101010 10101010 10101010 10101010 10101010 10101010 10101010

 前导码的作用为进行发送方与接收方的时钟同步,比如发送方物理设备一秒发送十个比特,则通过接收前导码,接收方的就可以通过前导码的01变换来判断发送方发送比特的速度,以便在出现如00这样的相同比特(电平相同,但是持续时间为两倍)时能通过时间将他们区分开来。

---------------------------------------------------------------------------------------------------------------------------------

SFD(帧开始定界符):

SFD(start of frame delimiter)——帧开始定界符。

长度为一字节,也就是8比特。

内容为:10101011

前面的101010可以看作时钟同步的一部分。后面的11代表着时钟同步结束,接收到11时接收方已经通过前面的10知道了发送方的发送速度,因此能识别出这个11,这个11代表着后面的内容为真正的数据。

---------------------------------------------------------------------------------------------------------------------------------

Destination Address,Source Address:

Destination Address:目的MAC地址,标志着帧的接收方的MAC地址。

Source Address:源MAC地址,也就是帧的发送方的MAC地址。

两者大小都为6字节.

---------------------------------------------------------------------------------------------------------------------------------

Type/Len(类型/长度):

长度为两个字节,也就是16位。

这两个字节被解读为Type还是Len取决于这两个字节组成的整数的数字大小。

当数值>=1536时,这两字节为类型(Type)。

当数值<=1500时,这两个字节被解释为长度,长度为其数值。

Type:类型,如0x0800为ip协议帧,0x0806 为ARP协议帧,还有各种上层网络层协议。

Len:表示这Data字段有多少个字节

---------------------------------------------------------------------------------------------------------------------------------

Data(数据):

Data(数据):也就是真正要发送的信息,其他字段都是用来描述这段信息的。

如 MAC 为1 的发送方对MAC为2的发送方发送了“你好!”则“你好!”就为Data。

DATA的长度len应有  46字节<=len<=1500字节

---------------------------------------------------------------------------------------------------------------------------------

FCS(Frame Check Sequence)(帧校验码):

FCS:长4个字节,用于检验数据在传输过程中数据是否出现了错误。为CRC32校验码。

两个不同的帧只有很小的几率有相同的校验码,故如果出现比特位翻转,很容易通过CRC32发现。

相关文章:

  • [图像识别]10.OpenCV的特征点检测 SIFT和SURF算法
  • 牛客网专项练习30天Pytnon篇第02天
  • Controller部分
  • Lambda表达式与Stream API
  • Python语言程序设计 习题5
  • 分享制作Docker镜像的两种方式
  • MySQL表的约束
  • Axios源码仿写与二次封装
  • PHP学习笔记(才贯二酉)
  • 基于Springboot+vue的电影院管理系统(Java毕业设计)
  • 沉睡者IT - 闪剪AI数字人助你快速占领流量市
  • 4个Python推导式相关的开发技巧
  • 计算机网络——媒体接入控制
  • 一起来学反射
  • 一文了解Java序列化与反序列化
  • 2017-08-04 前端日报
  • 4个实用的微服务测试策略
  • Apache Pulsar 2.1 重磅发布
  • iOS编译提示和导航提示
  • k8s如何管理Pod
  • Puppeteer:浏览器控制器
  • Redux 中间件分析
  • spring学习第二天
  • tensorflow学习笔记3——MNIST应用篇
  • Twitter赢在开放,三年创造奇迹
  • vue从创建到完整的饿了么(18)购物车详细信息的展示与删除
  • 从 Android Sample ApiDemos 中学习 android.animation API 的用法
  • 构建工具 - 收藏集 - 掘金
  • 机器学习学习笔记一
  • 基于HAProxy的高性能缓存服务器nuster
  • 让你成为前端,后端或全栈开发程序员的进阶指南,一门学到老的技术
  • 使用iElevator.js模拟segmentfault的文章标题导航
  • 适配iPhoneX、iPhoneXs、iPhoneXs Max、iPhoneXr 屏幕尺寸及安全区域
  • 思否第一天
  • 线上 python http server profile 实践
  • CMake 入门1/5:基于阿里云 ECS搭建体验环境
  • ​插件化DPI在商用WIFI中的价值
  • (2)MFC+openGL单文档框架glFrame
  • (Matlab)基于蝙蝠算法实现电力系统经济调度
  • (react踩过的坑)Antd Select(设置了labelInValue)在FormItem中initialValue的问题
  • (二开)Flink 修改源码拓展 SQL 语法
  • (附源码)springboot宠物管理系统 毕业设计 121654
  • (附源码)ssm基于jsp高校选课系统 毕业设计 291627
  • (附源码)计算机毕业设计ssm电影分享网站
  • (论文阅读26/100)Weakly-supervised learning with convolutional neural networks
  • (求助)用傲游上csdn博客时标签栏和网址栏一直显示袁萌 的头像
  • (三)Hyperledger Fabric 1.1安装部署-chaincode测试
  • (使用vite搭建vue3项目(vite + vue3 + vue router + pinia + element plus))
  • (转)自己动手搭建Nginx+memcache+xdebug+php运行环境绿色版 For windows版
  • (轉貼) 資訊相關科系畢業的學生,未來會是什麼樣子?(Misc)
  • **python多态
  • .Net 8.0 新的变化
  • .NET Core日志内容详解,详解不同日志级别的区别和有关日志记录的实用工具和第三方库详解与示例
  • .net Stream篇(六)
  • .net 使用ajax控件后如何调用前端脚本