1.前言

Ethernet 和 802.3 并不是一回事,虽然我们经常混用这两个术语

2.历史上以太网帧格式

2.1 Ethernet V1

这是最原始的一种格式,是由Xerox PARC提出的3Mbps CSMA/CD以太网标准的封装格式,后来在1980年由DEC,Intel和Xerox标准化形成Ethernet V1标准

2.2 Ethernet V2(ARPA)

  • Ethernet V2帧头结构

这是最常见的一种以太网帧格式,也是今天以太网的事实标准,由DEC,Intel和Xerox在1982年公布其标准,

主要更改了Ethernet V1的电气特性和物理接口,在帧格式上并无变化;

Ethernet V2出现后迅速取代Ethernet V1成为以太网事实标准;

Ethernet V2帧头结构为6bytes的源地址+6bytes的目标地址+2Bytes的协议类型字段+数据

  • 常见协议类型

0800 IP 
0806 ARP 
8137 Novell IPX 
809b Apple Talk 
如果协议类型字段取值为0000-05dc(十进制的0-1500),则该帧就不是Ethernet V2(ARPA)类型了,而是下面讲到的三种802.3帧类型之一;

Ethernet可以支持TCP/IP,Novell IPX/SPX,Apple Talk Phase I等协议;

RFC 894定义了IP报文在Ethernet V2上的封装格式;

  • Ethernet_II中所包含的字段

(1)前导字符

在每种格式的以太网帧的开始处都有64比特(8字节)的前导字符,如图所示。其中,前7个字节称为前同步码(Preamble),内容是16进制数0xAA,最后1字节为帧起始标志符0xAB,它标识着以太网帧的开始。

前导字符的作用是使接收节点进行同步并做好接收数据帧的准备

(2)PR

同步位,用于收发双方的时钟同步,同时也指明了传输的速率(10M和100M的时钟频率不一样,所以100M网卡可以兼容10M网卡),是56位的二进制数101010101010.....

(3)SD:

分隔位,表示下面跟着的是真正的数据,而不是同步时钟,为8位的10101011,跟同步位不同的是最后2位是11而不是10. 
(4)DA

目的地址,以太网的地址为48位(6个字节)二进制地址,表明该帧传输给哪个网卡.如果为FFFFFFFFFFFF,则是广播地址,广播地址的数据可以被任何网卡接收到. 
(5)SA

源地址,48位,表明该帧的数据是哪个网卡发的,即发送端的网卡地址,同样是6个字节. 
(6)TYPE

类型字段,表明该帧的数据是什么类型的数据,不同的协议的类型字段不同。

如:0800H 表示数据为IP包,0806H 表示数据为ARP包,814CH是SNMP包,8137H为IPX/SPX包,(小于0600H的值是用于IEEE802的,表示数据包的长度。) 
(7)DATA

数据段 ,该段数据不能超过1500字节。因为以太网规定整个传输包的最大长度不能超过1514字节。(14字节为DA,SA,TYPE) 
(8)PAD

填充位。由于以太网帧传输的数据包最小不能小于60字节, 除去(DA,SA,TYPE 14字节),还必须传输46字节的数据,当数据段的数据不足46字节时,后面补000000.....(当然也可以补其它值) 
(9)FCS

32位数据校验位.为32位的CRC校验,该校验由网卡自动计算,自动生成,自动校验,自动在数据段后面填入.对于数据的校验算法,我们无需了解. 
注:

[1]事实上,PR,SD,PAD,FCS这几个数据段我们不用理它 ,它是由网卡自动产生的,我们要理的是DA,SA,TYPE,DATA四个段的内容. 
[2]所有数据位的传输由低位开始(但传输的位流是用曼彻斯特编码的) 
[3]以太网的冲突退避算法就不介绍了,它是由硬件自动执行的. 
[4]DA+SA+TYPE+DATA+PAD最小为60字节,最大为1514字节. 
[5]以太网卡可以接收三种地址的数据,一个是广播地位,一个是多播地址(我们用不上),一个是它自已的地址.但网卡也可以设置为接收任何数据包(用于网络分析和监控). 
[6]任何两个网卡的物理地址都是不一样的,是世界上唯一的,网卡地址由专门机构分配.不同厂家使用不同地址段,同一厂家的任何两个网卡的地址也是唯一的.

[7]根据网卡的地址段(网卡地址的前三个字节),可以知道网卡的生产厂家.有些网卡的地址也可以由用户去设定,但一般不需要. 
[8]Ethernet_II的主要特点是通过类型域标识了封装在帧里的数据包所采用的协议,类型域是一个有效的指针,通过它,数据链路层就可以承载多个上层(网络层)协议。

但是,Ethernet_II的缺点是没有标识帧长度的字段。

2.3 RAW 802.3:(NOVELL Ethernet 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标准互不兼容;

可以看到在Novell的RAW 802.3帧结构中并没有标志协议类型的字段,而只有Length 字段(2bytes,取值为0000-05dc,即十进制的0-1500),因为RAW 802.3帧只支持IPX/SPX一种协议;

原始的802.3帧是早期的Novell NetWare网络的默认封装。它使用802.3的帧类型,但没有LLC域。同Ethernet_II的区别:将类型域改为长度域,其取值范围为:46-1500。

解决了原先存在的问题。但是由于缺省了类型域,因此不能区分不同的上层协议。 接下来的2个字节是固定不变的16进制数0xFFFF,它标识此帧为Novell以太类型数据帧。

2.4.IEEE 802.3/802.2 LLC

  • IEEE 802.3/802.2 LLC帧格式

这是IEEE 正式的802.3标准,它由Ethernet V2发展而来。它将Ethernet V2帧头的协议类型字段替换为帧长度字段(取值为0000-05dc;十进制的1500 );

并加入802.2 LLC头用以标志上层协议,LLC头中包含DSAP,SSAP以及Crontrol字段;

  • 802.2SAP

为了区别802.3数据帧中所封装的数据类型, IEEE引入了802.2SAP和SNAP的标准。它们工作在数据链路层的LLC(逻辑链路控制)子层。

通过在802.3帧的数据字段中划分出被称为服务访问点(SAP)的新区域来解决识别上层协议的问题,这就是802.2SAP。

  • LLC标准

LLC标准包括两个服务访问点,源服务访问点(SSAP)和目标服务访问点(DSAP)。每个SAP只有1字节长,而其中仅保留了6比特用于标识上层协议,所能标识的协议数有限。

因此,又开发出另外一种解决方案,在802.2SAP的基础上又新添加了一个2字节长的类型域(同时将SAP的值置为AA),使其可以标识更多的上层协议类型,这就是802.2SNAP。

  • 常见SAP值

0:Null LSAP[IEEE] 
4:SNA Path Control[IEEE] 
6:DOD IP[79,JBP] 
AA:SNAP[IEEE] 
FE:ISO DIS 8473[52,JXJ] 
FF:Global DSAP[IEEE]

  • Ethernet 802.3 SAP帧

在Ethernet 802.3 SAP帧中,将原Ethernet 802.3 raw帧中2个字节的0xFFFF变为各1个字节的DSAP和SSAP,同时增加了1个字节的"控制"字段,构成了802.2逻辑链路控制(LLC)的首部。

LLC提供了无连接(LLC类型1)和面向连接(LLC类型2)的网络服务。LLC1是应用于以太网中,而LLC2应用在IBM SNA网络环境中。

2.5.IEEE 802.3/802.2 SNAP

  • IEEE 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 SNAP中的实现;

今天的实际环境中大多数 TCP/IP设备都使用Ethernet V2格式的帧。

这是因为第一种大规模使用的TCP/IP系统(4.2/3 BSD UNIX)的出现时间介于RFC 894和RFC 1042之间,它为了避免不能和别的主机互操作的风险而采用了RFC 894的实现;

也由于大家都抱着这种想法,所以802. 3标准并没有如预期那样得到普及;

CISCO设备的Ethernet Interface默认封装格式是ARPA(Ethernet V2)

3.不同厂商对这几种帧格式通常有不同的叫法

比如:

Frame Type----------------------------------Novell/ ----------------------------Cisco 
Ethernet Version 2 : -----------------------Ethernet_II/--- -----------------arpa 
802.3------------------------------------------ Raw : Ethernet_802.3/ novell_ether 
IEEE 802.3/802.2 : -------------------------Ethernet_802.2/-------- -------- sap 
IEEE 802.3/802.2 SNAP : ------------------ETHERNET_SNAP/-------------- snap

Ethernet和802.3的区别及历史相关推荐

  1. Ethernet帧和802.3帧区别

    首先说明一下,Ethernet和802.3并不是一回事,虽然我们经常混用这两个术语: 历史上以太网帧格式有五种: 1.Ethernet V1:这是最原始的一种格式,是由Xerox PARC提出的3Mb ...

  2. 以太网头数据和802.3的区别

    上一篇文章<以太网数据包结构>讲解了以太网数据包结构,其中牵扯到了802.3,以太网数据包等名词,本文将详解讲解一下这方面的内容. 在TCP/IP世界中,以太网IP数据报的封装是在RFC8 ...

  3. IEEE 802.11n IEEE 802.11g IEEE 802.11b什么区别?

    IEEE 802.11 ,1997年,原始标准(2Mbit/s,工作在bai2.4GHz). IEEE 802.11a,1999年,物du理层补zhi充(dao54Mbit/s,工作在5GHz). I ...

  4. 802.11abgn与802.11ac的区别以及详细的介绍

     1,无线局域网的发展简史和目前所面临的挑战 从1997年第一代802.11标准802.11发布至今已有18年的时间,在这18年时间内WIFI经历了巨大的发展和普及.在今天,WIFI成为越来越多的 ...

  5. PTP同步(1588协议与802.1区别)

    目录 概念 版本 区别 概念 IEEE 1588英文全称是IEEE Standard for a Precision Clock Synchronization Protocol for Networ ...

  6. 以太网帧与ieee 802.3帧

    http://zhidao.baidu.com/question/93567501.html http://blog.csdn.net/wzw200/archive/2009/07/23/437305 ...

  7. 802.11相关术语及其设计(二)

    2.1  802.11网络的运作方式 802.11在设计之初就是做为较上层协议的另一个链路层.其与 Ethernet 渊源之深,有时甚至被称为「无线 Ethernet 」802.11里同样可以找到 E ...

  8. 【以太网硬件一】802.3xx标准怎么这么多?它们有什么关系?

    一.802.3标准是什么? 802.3标准的全称为:以"载波侦听多路复用/冲突检测"(CSMA/CD,Carrier Sense Multiple Access/Collision ...

  9. 奔跑吧linux内核知乎,802.11ah(HaLow)协议解析7:NDP控制帧(NDP CMAC Frame)

    序言 终于到了802.11ah MAC优化的第一节,帧长度压缩的最后一个部分,NDP控制帧的优化.其实802.11ah的帧长度优化思路是挺明确的,一开始讨论的是S1G MAC Header的压缩,这个 ...

  10. 802.11 无线网络权威指南-第1章 无线网络导论

    相关背景知识 1.IEEE 802网络(Ethernet) 以太网是当今现有局域网采用的最通用的通信协议标准.该标准定义了在局域网(LAN)中采用的电缆类型和信号处理方法.以太网在互联设备之间以10~ ...

最新文章

  1. 转 Wireshark和TcpDump抓包分析心得
  2. Redis简介 与Memcache的区别
  3. OSI参考模型和网络编程
  4. eclipse3.6默认指向 WebContent 目录 修改为 webRoot
  5. 数据结构(严蔚敏)之六——链式队列c语言实现
  6. Java黑皮书课后题第8章:*8.15(几何:在一条直线上吗)编程练习题6.39给出了一个方法,用于测试三个点是否在一条直线上。编写下面的方法,检测points数组中所有的点是否都在同一条直线上
  7. ALGO-221 数据交换
  8. 【iOS】Quartz2D图片剪切
  9. CDH中文文档下载,Cloudera中文手册,CM中文文档
  10. Python数据结构与算法(一)--算法和时间复杂度
  11. Chaos网络库(三)- 主循环及异步消息的实现
  12. swagger openapi开放平台 pyhton3.7实现http发送请求,pyhon中代码中发送http请求控制4g物联网开关
  13. python 下载文件-python爬虫之下载文件的方式总结以及程序实例
  14. java 区位码转中文_国标码、区位码、机内码之间的转换关系
  15. 梯度散度旋度常用基本关系
  16. 传奇人物____Anders Hejlsberg
  17. GYM 101350 M. Make Cents? ( STL
  18. node js+sql 后端分页查询效率越来越低解决方案
  19. 用计算机视觉描述机器人,一文读懂计算机视觉和机器人视觉
  20. Excel表中查找、去除重复项方法合集

热门文章

  1. 计算机windows错误恢复,教你“Windows错误恢复”的修复方法技巧
  2. 未认证小程序关联已认证公众号,复用公众号资质快速进行认证
  3. linux cab文件怎么安装包,IE控件cab包手动安装
  4. 计算机电缆对绞外径怎样算,电线电缆外径计算方法
  5. 10.5 Vue电商后台管理完善--订单详情页面显示商品信息,添加备注
  6. 如何用c语言word文件页数,word文件页码怎么设置
  7. 半导体封装测试英语词汇量的软件,半导体英语
  8. 开博尔android播放器,高端安卓播放器的选择——开博尔Q10Plus 二代 4K高清播放器...
  9. 显示网站Alexa世界排名的代码
  10. 从零开始学《离散数学》-电子科技大学