Ethernet_II帧和802.3_Ethernet帧格式比较

2023-11-07

一、Ethernet帧格式的发展 

1980 DEC,Intel,Xerox制订了Ethernet I的标准 
1982 DEC,Intel,Xerox又制订了Ehternet II的标准 
1982 IEEE开始研究Ethernet的国际标准802.3 
1983 迫不及待的Novell基于IEEE的802.3的原始版开发了专用的Ethernet帧格式 
1985 IEEE推出IEEE 802.3规范 
后来为解决EthernetII与802.3帧格式的兼容问题推出折衷的Ethernet SNAP格式 

(其中早期的Ethernet I已经完全被其他帧格式取代了所以现在Ethernet只能见到后面几种Ethernet的帧格式现在大部分的网络设备都支持这几种Ethernet的帧格式如:cisco的路由器再设定Ethernet接口时可以指定不同的以太网的帧格式:arpa,sap,snap,novell-ether) 

二、各种不同的帧格式 
下面介绍一下各个帧格式  

Ethernet II 
就是DIX以太网联盟推出的,它由6个字节的目的MAC地址,6个字节的源MAC地址,2个字节的类型域(用于标示封装在这个Frame、里面数据的类型)以上为Frame Header,接下来是46--1500 字节的数据,和4字节的帧校验)
Novell Ethernet 
它的帧头与Ethernet有所不同其中EthernetII帧头中的类型域变成了长度域,后面接着的两个字节为0xFFFF 
用于标示这个帧是Novell Ether类型的Frame 由于前面的0xFFFF站掉了两个字节所以数据域缩小为44-1498个字节,帧校验不变。
IEEE 802.3/802.2 
802.3的Frame Header和Ethernet II的帧头有所不同EthernetII类型域变成了长度域。其中又引入802.2协议(LLC)在802.3帧头后面添加了一个LLC首部,由DSAP(Destination Service Access Point) 
1 byte,SSAP(Source SAP),一个控制域--1 byte! 
SAP用于标示帧的上层协议
Ethernet SNAP 
SNAP Frame与802.3/802.2 Frame的最大区别是增加了一个5 Bytes的SNAP ID其中前面3个byte通常与源mac地址的前三个bytes相同为厂商代码!有时也可设为0,后2 bytes 与Ethernet II的类型域相同。。。 

三、如何区分不同的帧格式 

Ethernet中存在这四种Frame那些网络设备又是如何识别的呢? 如何区分EthernetII与其他三种格式的Frame 如果帧头跟随source mac地址的2 bytes的值大于1500 则此Frame为EthernetII格式的。 

接着比较紧接着的两bytes如果为0xFFFF则为Novell Ether 类型的Frame 
如果为0xAAAA则为Ethernet SNAP格式的Frame ,如果都不是则为Ethernet 802.3/802.2格式的帧

1 Ethernet II

1.1 Ethernet II协议简介

以太网是当今现有局域网采用的最通用的通信协议标准。该标准定义了在局域网中采用的电缆类型和信号处理方法。Ethernet II由DEC,Intel和Xerox在1982年公布其标准,Etherent II主要更改了Ethernet I的电气特性和物理接口,在帧格式上并无变化。Etherent II采用CSMA/CD的媒体接入和广播机制。

1.2 Ethernet II报头详解

Ethernet II协议报头结构


每个字段的详细解释如下:
?目标地址:此数据包的目标MAC地址。
?源地址:此数据包的源MAC地址。
?协议类型:上层协议,表示网络层使用的协议。
?数据:高层协议、数据和填充符,范围在46~1500字节。
?FCS:数据帧校验序列,用于确定数据包在传输过程中是否损坏。

1.3 数据包解码
下面我们就通过实际解码来学习Ethernet II协议。



以下是对该数据包解码的详细介绍:
?目标地址:00:00:59:AA:93:0D。
?源地址:00:00:41:26:3F:9E。
?协议类型:0x0800表示网络层使用的是IP协议。
?数据:传输层和应用层的数据(UDP和QQ)。 
?FCS:数据帧校验序列。

2 Ethernet 802.2

2.1 Ethernet 802.2协议简介

Ethernet 802.2协议是IEEE正式的802.3标准,它由Ethernet II发展而来。Ethernet 802.2将Ethernet II帧头的协议类型字段替换为帧长度字段,并加入LLC-802.2头,用以标记上层协议。LLC头包含目的服务访问点(DSAP)、源服务访问点 (SSAP)和控制(Control)字段。
2.2 Ethernet 802.2协议报详解

Ethernet 802.2协议报头结构



每个字段的详细解释如下:
?目标地址:此数据包的目标mac地址;
?源地址:此数据包的源mac地址;
?长度:帧包含的数据量必须小于或等于1500(16进制的05DC);
?DSAP:目标服务存取点(Destination Service Access Point);
?SSAP:源服务存取点(Source Service Access Point);
?控制:无连接或面向连接的LLC;
?数据:高层协议、数据和填充符;
?FCS:数据帧校验序列,用于确定数据包在传输过程中是否损坏。

2.3 Ethernet 802.2协议解码
Ethernet 802.2协议的解码视图:



以下是对该数据包解码的详细介绍:
?目标地址:01:80:C2:00:00:00;
?源地址:00:04:0C:38:CD:C9;
?长度:数包含的数量为38;
?目标服务存取点:0x42;
?源服务存取点:0x42;
?控制:3;

注意:服务存取点标识的功能类似于以太网类型或TCP/IP传输协议中的端口号,为高协议提供相应的接口。

3 Ethernet 802.3

3.1 Ethernet 802.3协议简介

Ethernet 802.3是1983年Novell发布其Netware/86网络套件时采用的私有以太网帧格式,该格式以当时尚未正式发布的IEEE802.3标准为 基础;但是当两年以后IEEE正式发布802.3标准时情况发生了变化(IEEE在802.3帧头中又加入了802.2 LLC头),这使得Novell的Ethernet 802.3协议与正式的IEEE 802.3标准互不兼容;Ethernet 802.3只支持IPX/SPX协议,是目前所用的最普通的一种帧格式,在802.2之前是IPX网络事实上的标准帧类型。

3.2 Ethernet 802.3协议报详解

Ethernet 802.3协议报头结构



每个字段的详细解释如下:
?目标地址:此数据包的目标MAC地址。
?源地址:此数据包的源MAC地址。
?长度:帧包含的数量必须或等于1500。
?数据:高层协议(IPX/SPX)、数据和填充符,范围在46~1500字节。
?FCS:数据帧校验序列,用于确定数据包在传输过程中是否损坏。
       有关IPX/SPX协议可参看http://hi.baidu.com/embedtec/blog/item/bc76924e342c320db3de05f8.html

3.3 Ethernet 802.3协议解码
下面我们就通过实际解码来学习Ethernet 802.3协议.



下面我们对Ethernet 802.3的解码进行详细的介绍:
?目标地址:FF:FF:FF:FF:FF:FF;
?源地址:00:E0:4C:50:6B:2E;
?长度:协议长度为40;
?数据:Ethernet 802.3只支持IPX/SPX协议;
?FCS:数据帧校验序列,用于确定数据包在传输过程中是否损坏。

注意:从这里就能看出Etherent II和Ethernet 802.3的区别,即协议类型和协议长度。

4 Ethernet SNAP

4.1 Ethernet SNAP协议简介

Ethernet SNAP协议是IEEE为保证在802.2 LLC上支持更多的上层协议的同时更好地支持IP协议而发布的标准,与802.3/802.2 LLC一样802.3/802.2 SNAP也带有LLC头,但是扩展了LLC属性,新添加了一个2字节的协议类型域(同时将SAP的值置为AA),从而使其可以标识更多的上层协议类型;另 外添加了一个3字节的厂商代码字段用于标记不同的组织。RFC 1042定义了IP报文在802.2网络中的封装方法和ARP协议在802.2 SANP中的实现方法。

4.2 Ethernet SNAP协议报头详解

Ethernet SNAP协议报头结构.


4.3 Ethernet SNAP解码
下面我们通过解码视图来学习Ethernet SNAP协议


以下是对该数据包解码的详细介绍:
?目标地址:01:00:81:00:01:01
?源地址:00:04:0C:38:CD:C9;
?长度:协议长度为19;
?目标服务存取点:0xAA;
?源服务存取点:0xAA;
?厂商代码:129;
?协议类型:417;

前面我们分别介绍了以太网标准中定义的四种不同的帧类型,即Ethernet II、Ethernet802.3、Ethernet SNAP和Ethernet 802.2,这每一种帧类型都由不同的实体为不同的目的而设计。它们可以共存于一个网络中,但互不兼容,当用不同封装类型的工作站要交换信息时,必须通过 支持的路由器来通信。
关于Ethernet 帧格式 (3)
2008年09月30日 星期二 10:48
历史上以太网帧格式有五种: 
  1.Ethernet V1:这是最原始的一种格式,是由Xerox PARC提出的3Mbps CSMA/CD以太网标准的封装格式,后来在1980年由DEC,Intel和Xerox标准化形成Ethernet V1标准. 
  2.Ethernet V2(ARPA):由DEC,Intel和Xerox在1982年公布其标准,主要更改了Ethernet V1的电气特性和物理接口,在帧格式上并无变化;Ethernet V2出现后迅速取代Ethernet V1成为以太网事实标准;Ethernet V2帧头结构为6bytes的源地址+6bytes的目标地址+2Bytes的协议类型字段+数据。 
  3.RAW 802.3:这是1983年Novell发布其划时代的Netware/86网络套件时采用的私有以太网帧格式,该格式以当时尚未正式发布的802.3标准为基础;但是当两年以后IEEE正式发布802.3标准时情况发生了变化—IEEE在802.3帧头中又加入了802.2 LLC(Logical Link Control)头,这使得Novell的RAW 802.3格式跟正式的IEEE 802.3标准互不兼容. 
  4.802.3/802.2 LLC:这是IEEE 正式的802.3标准,它由Ethernet V2发展而来。它将Ethernet V2帧头的协议类型字段替换为帧长度字段(取值为0000-05dc;十进制的1500);并加入802.2 LLC头用以标志上层协议,LLC头中包含DSAP,SSAP以及Crontrol字段. 
  5.802.3/802.2 SNAP:这是IEEE为保证在802.2 LLC上支持更多的上层协议同时更好的支持IP协议而发布的标准,与802.3/802.2 LLC一样802.3/802.2 SNAP也带有LLC头,但是扩展了LLC属性,新添加了一个2Bytes的协议类型域(同时将SAP的值置为AA),从而使其可以标识更多的上层协议类型;另外添加了一个3Bytes的OUI字段用于代表不同的组织,RFC 1042定义了IP报文在802.2网络中的封装方法和ARP协议在802.2 SANP中的实现.
  802.3以太网帧格式备注:
  前导码(7字节)、帧起始定界符(1字节)、目的MAC地址(6字节)、源MAC地址(6字节)、类型/长度(2字节)、数据(46~1500字节)、帧校验序列(4字节)[MAC地址可以用2-6字节来表示,原则上是这样,实际都是6字节]
转载自:http://jiangqiaosun.blog.163.com/blog/static/260981820101022114138277/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ethernet_II帧和802.3_Ethernet帧格式比较 的相关文章

  • vs+vm双机调试

    基础 VS2017安装成功 wdk10 注意事项 关闭 主机 客户机 防火墙 互相ping都能ping通 一 具体操作步骤 工具安装就不说了 不会的百度一下 只说一下一些关键的地方 1 安装好虚拟机后 给虚拟机增加一个串口设备 具体操作见图
  • 汇编基础(2) -- ARM64

    简介 ARM架构中 ARM64 也称为AArch64 是一种64位处理器架构 它是ARMv8指令集的一部分 与之前的32位ARM架构相比 ARM64提供了更大的寄存器容量 更广阔的地址空间和更高的计算能力 64位版本的指令集和32位版本的指
  • Linux上查找最大文件的3种方法

    Linux上查找最大文件的3种方法 第一种 ls 最简单的方法就是借助 ls 命令 因为 ls 命令本身输出是带文件大小信息的 比如 我要列出 data log 目录中的20个最大文件 可以 ls lSh data log head 20
  • mongouve的使用

    http my oschina net u 1026531 blog 188336
  • HTML的基础知识及(页面、多媒体、表格)标签

    1 HTML 什么是HTML 网络协议 hypertext markup language 超文本标记语言 2 环境准备 开发环境 sublime VScode editplus IDE hbuilder webstorm 运行环境 浏览器
  • 1-9九个数字不重复组成一个三位数加法算式,求出所有组合

    import java util ArrayList import java util List public class TestNumber public static void main String args int count 0
  • Java开发中的常见问题和解决方法:如何解决常见的性能和bug问题

    章节一 引言 在Java开发中 我们经常会面临各种各样的问题 包括性能问题和Bug 这些问题可能会导致应用程序的运行变慢 不稳定甚至崩溃 本文将介绍一些常见的Java开发问题 并提供解决这些问题的方法和技巧 帮助开发人员更好地处理性能和Bu
  • html 发件人怎么设置,a标签创建mailto链接发送电子邮箱用法详解

    在html5中 利用标签的mailto可以创建发送邮件到一个或多个电子邮箱的超链接功能 其用法详解如下 标签mailto最常见用法 这个用法是最常见的用法 在大多数情况下 我们都会使用这个方式发送电子邮件 1 发送一个邮箱 书写格式 联系博
  • STM32 开机一直进IDLE空闲中断的解决思路

    串口IDLE空闲中断 常用于串口DMA IDLE中断接收不定长数据 一开始玩DMA 调试程序在一直进入IDLE中断时候 可能是没有软件清零 STM32中文参考手册这么描述的 IDLE 检测到空闲线路 IDLE line detected 检
  • 热更新_ToLua学习示例 06_LuaCoroutine2

    function CoExample WaitForSeconds 1 作者封装的协程等待一秒 print WaitForSeconds end time UnityEngine Time time WaitForFixedUpdate 等
  • cas单点登录系列1.3:自定义登录页

    cas单点登录系列1 3 自定义登录页 cas提供登录页比较大众 我们根据需求进行自定义 所以本节会介绍登录页的一些内容 比较简单 大家可根据情况进行学习 文章目录 cas单点登录系列1 3 自定义登录页 前言 一 登录页组成 二 登录接口
  • java中使用jxls导出excel,excel单元格换行,多sheet页导出

    一 模板 jxls通过模板中的批注语法来渲染数据 所以写好模板已经成功了一大半 我的模板如下 这里我定义了两个sheet页 第一个sheet页就是汇总的 直接取数据遍历 第二个sheet页就是动态sheet页的模板 注意模板作用域的定义一定
  • Python总复习——简答题篇

    简答题篇 1 简述元祖 列表和字典的区别 2 简述局部变量和全部局变量的区别 3 简述闭包满足的三个条件 4 简述导入模块的方法 1 简述元祖 列表和字典的区别 名称 外形 存储结构 访问方式 是否可变类型 列表 中括号括起来的数据 可以存
  • 软件测试工程师技术发展规划 (2022初稿)

    软件测试工程师技术发展规划 2022 2022年3月18日22 19 04 1 不同Level的技术标准 1 1 级别一 测试工程师TE 1 1 1 主要工作内容 1 2 级别二 测试开发工程师 1 2 1 主要工作内容 1 2 2 工作组
  • Java中static关键字详解

    1 1概述 static是静态修饰符 什么叫静态修饰符呢 大家都知道 在程序中任何变量或者代码都是在编译时由系统自动分配内存来存储的 而所谓静态就是指在编译后所分配的内存会一直存在 直到程序退出内存才会释放这个空间 也就是只要程序在运行 那
  • Azure Blob Storage 基本用法上传/下载(Java)

    文章目录 简单概念 Blob Storage Azure Blob Storage的存储结构 Azure Storage Account Container Blob 操作 Maven依赖 创建Container对象 获取Blob列表 下载
  • 图像识别最好的算法,图片相似度识别算法

    现在人脸识别最有效的算法是什么 最好的人脸识别系统在理想情况下比人类识别的表现要好的多 但是一旦环境情况变糟 系统的表现就差强人意了 而计算机科学家们当然是非常想要开发出一种算法 在各种情况下都能够表现优异 现在 中国香港大学的汤晓鸥教授和

随机推荐

  • Three.js3D可视化介绍,以及本地搭建three.js官网

    一 什么是Three js three js官网 https threejs org Three js是一个基于WebGL的JavaScript 3D图形库 它可以轻松地在浏览器中创建3D场景和动画 同时 它支持外部模型和纹理的导入 让开发
  • Windows Server2012R2 VisualSVN4.2.2-Server在线修改密码搭建

    最近有个3 0 0的svn环境要升级可以web界面自助修改密码的 为了找到这个解决方案 我搜索了很多文章与资料 有不少文章提供的总是各种很隐约 好像它要藏着啥好东西似的 我觉得既然你选择了分享你的成果 那就应该把整个过程整理顺畅 而不是在文
  • python解决数组奇数和偶数位置排序问题

    题目描述 输入一个整数数组 实现一个函数来调整该数组中数字的顺序 使得所有的奇数位于数组的前半部分 所有的偶数位于数组的后半部分 并保证奇数和奇数 偶数和偶数之间的相对位置不变 题目解析 这个题目很简单 只需要判断数组中的元素是奇数还是偶数
  • 生成随机数函数:rand和srand

    头文件为 stdlib h rand 会随机生成一个位于 0 RAND MAX 之间的整数 RAND MAX 是
  • [算法] 深搜整理

    深搜 之前在leetcode上刷题一直都对这个知识点比较模糊 最近 集中写了几道深搜的题目 将自己的思路和题目做了整理写下此篇博客 博客很多题目是网上提供的一些深搜题目 另外一些是leetcode上关于深搜的题目 六角填数 如下图所示六角形
  • 转 C#中的委托和事件 - Part.1

    http www tracefact net tech 009 html C 中的委托和事件 Part 1 2007 9 23 作者 张子阳 分类 C 语言 注意 文中代码在VS2005下通过 由于VS2003 Net Framework
  • jquery mobile实现拨打电话功能

    在做一个便民服务电话 用到移动web中列出的电话 点击需要实现调用通讯录 拨打电话功能 如果需要在移动浏览器中实现拨打电话 发送email 调用sns等功能 jquery mobile提供的接口是一个好办法 采用url链接的方式 实现在Sa
  • mipi-CSI2驱动接口调试 LCD 的CLK时钟频率与显示分辨率及帧率的关系

    锋影 email 174176320 qq com 我们先来看一个公式 Mipiclock width hsync hfp hbp x height vsync vfp vbp x bus width x fps lane num 2 即m
  • 让Unity中的多个模型共用同一个材质球

    如何让Unity中的多个模型共用同一个材质球呢 下面我就来分享一下我之前在做模型的时候所使用的方法和思路 供大家学习 Unity文档中曾明确提到 尽可能的共用Material 这主要是因为渲染引擎一般会按照材质对需要渲染的对象进行排序 同一
  • SCJP认证试题(十三)

    1public class A 2 private int counter 0 3 4 public static int getInstanceCount 5 return counter 6 7 8 public A 9 counter
  • 令牌桶 客户端请求_使用刷新的令牌和cookie进行安全的客户端身份验证

    令牌桶 客户端请求 To start off this is my first article here I ve thought about writing it for a while now Ever since we planned
  • vue3.0 生命周期简介

    setup 替代 beforecreate gt use setup created gt use setup 前面加on beforeMount gt onBeforeMount mounted gt onMounted beforeUp
  • MySQL之2003错误的解决方法

    今天装了MySQL 结果发现到了晚上打开Command Line Client是已输入密码就错误 然后出现一个error2003瞬间窗口关闭 后来找了一下发现是没有开启MySQL server的原因 解决方法 在命令行输入net start
  • OpenStack的部署(六)------Neutron项目

    目录 一 CT控制节点 1 创建数据库neutron 并进行授权 2 创建用户 服务并赋权 3 注册API 4 安装提供者网络 桥接 并修改相关配置文件 5 重启相关服务 二 C1 C2计算节点操作 1 部署neutron服务 2 配置Li
  • ssh安全登录

    ssh远程登录安全协议 1 ssh keygen 一直按回车即可 2 cd home hadoop ssh 验证公钥和私钥是否生成 注意 服务器想免密登录自己也需要配置免密登录 如果执行ssh copy id hostname报命令不存在那
  • 重写QTabWidget,在标签后面添加图标按钮

    原本的QTabWidget没有支持在标签后面添加自定义的按钮的方法 想在后面添加自定义的功能按钮需要重写QTabWidget类 自己实现按钮图标的重绘和鼠标点击判断等操作 1 使用到的主要事件函数 1 void paintEvent QPa
  • scrollview嵌套recyclerview滑动冲突

    给recyclerview设置下面这个属性就行了 recycler setNestedScrollingEnabled false
  • Guns入门

    一 下载源码包 下载地址 https gitee com stylefeng guns 先将项目的guns admin sql下的SQL文件导入到数据库中 主要数据表
  • Java中常见的运行时异常

    ArithmeticException 算数运算异常 由于除数为0引起的异常 ClassCast Exception 类型转换异常 当把一个对象归为某个类 但实际上此对象并不是由这个类创建的 也不是其子类创建的 则会引起异常 ArraySt
  • Ethernet_II帧和802.3_Ethernet帧格式比较

    一 Ethernet帧格式的发展 1980 DEC Intel Xerox制订了Ethernet I的标准 1982 DEC Intel Xerox又制订了Ehternet II的标准 1982 IEEE开始研究Ethernet的国际标准8