1、RAW 802.3帧格式

前导字段 帧起始符 DMAC SMAC Length Data FCS
7字节 1字节 6字节 6字节 2字节 46-1500字节 4字节

前导字段:每个帧以7个字节的前导字段开头,以0、1间隔代码组成,用以通知目标端作好接收准备(10101010 10101010 10101010 10101010 10101010 10101010 10101010)。

帧起始符:紧跟前导字段,值为10101011,最后两位‘11’表示帧的实际开始。前导字段与起始符由物理设备自动加上用以同步两台通讯的设备,所以对端接收到的数据并不包含这两个字段,故帧长计算与帧校验也不包含这两个字段。

DMAC:目标MAC地址。

SMAC:源MAC地址。

Length:数据字段的长度,记录其后一字段Data的实际长度。

Data:数据字段,存放帧数据。在802.3中规定了一个帧的最小长度为64字节,帧长计算方法如下:

帧长= DMAC + SMAC + Length + Data + FCS

其中DMAC、SMAC、Length、FCS的和为18字节,所以Data字段的最小长度为64-18=46字节。

若帧长确实小于64字节,则发送端会自动在Data字段中填充0直到帧长等于64字节为止。

FCS:帧校验序列,接收端用以判断传输过程中是否有误,若发现错误则丢弃此帧。

2、EthernetII帧格式

前导字段 DMAC SMAC Type Data FCS
8字节 6字节 6字节 2字节 46-1500字节 4字节

EthernetII与802.3帧格式相近,区别在于EthernetII没有帧起始符,而前导字段占据了8个字节,作用与802.3中前导字段+帧起始符功能一致,都是实现两台设备的通讯同步。

另一个区别在于802.3的Length字段由Type字段代替,用以表明该帧的协议类型。这是因为EthernetII帧支持多种协议类型,而RAW 802.3帧仅支持一种。

3、802.3与EthernetII的异同

为方便802.3与EthernetII两种帧格式可以同时在网络中使用,人们规定802.3和EthernetII中Data字段的最大长度必须小于1500字节,也就是说802.3中Length字段的值必定是小于1500的。同时又规定了EthernetII中协议类型从数字1536(0x0600)开始分配,这样只要Type或Length字段的值小于1536那就说明这是一个802.3帧,值大于1536则证明其是一个EthernetII帧。

在使用中EthernetII较802.3更适合传输大量的数据,而802.3的优势在于其具备严格的传输控制。所以大多数应用的以太网数据包使用EthernetII的帧格式(如HTTP、FTP、SMTP、POP3等),而交换机之间的BPDU数据包、思科的发现协议则是使用802.3的帧格式

4、以太网帧格式的发展

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

Ethernet V2(1982):也就是我们说的EthernetII,由DEC、Intel和Xerox在1982年公布的标准,主要更改了V1的电气特性和物理接口,帧格式并无变化。V2出现后取代V1成为沿用至今的以太网帧标准格式。

EthernetII帧格式
前导字段 DMAC SMAC Type Data FCS
8字节 6字节 6字节 2字节 46-1500字节 4字节

RAW 802.3(Novell, 1983):1983年Novell发布其Netware/86网络套件时使用了此以太网帧格式,该格式借鉴了还未发布的IEEE802.3标准将Ethernet V2中的Type字段改为Length字段,因当时使用的RAW 802.3帧只需要支持IPX/SPX这一类协议。而两年后正式发布的IEEE802.3加入了LLC头,导致Novell使用的标准与IEEE正式标准互不兼容。为了与新推出的IEEE标准兼容,规定了RAW 802.3的Data字段前两个字节为RAW字段且值为0xFFFF用以区分RAW和后面发布的LLC标准。

802.3 RAW帧格式
前导字段 帧起始符 DMAC SMAC Length Data(46-1500) FCS
7字节 1字节 6字节 6字节 2字节 RAW(0xFFFF) data 4字节

IEEE802.3 LLC(1985):这是IEEE正式的802.3标准,由Ethernet V2发展而来,它将Ethernet V2的Type字段替换为Length字段,同时将Data字段中的前3个字节命名为LLC头用以标识上层协议类型。LLC中包含了DSAP、SSAP、Control三个字段,每个字段的长度都为1字节。DSAP是目标端的协议类型,SSAP是源端协议类型。

802.3 LLC帧格式
前导字段 帧起始符 DMAC SMAC Length Data(46-1500) FCS
7字节 1字节 6字节 6字节 2字节 LLC(DSAP/SSAP/Control) data 4字节

IEEE802.3 SNAP(1985):为了使802.3支持除LLC之外更多的上层协议类型并更好地支持IP协议而发布的标准,在加入了LLC头的基础上,将Data字段中LLC头之后的5个字节划分为SNAP头,其中包含了一个3字节的OUI字段用于代表不同的组织(通常等于MAC地址中网络适配器厂商的代码)和一个2字节的Type字段用以支持更多的上层协议类型。为了与LLC帧相区别,SNAP将LLC头的值固化,DSAP、SSAP的值固定为0xAA,Control的值固定为0x03(即Data字段前3个字节值为0xAAAA03则说明其是一个SNAP帧)。

802.3 SNAP帧格式
前导字段 帧起始符 DMAC SMAC Length Data(46-1500) FCS
7字节 1字节 6字节 6字节 2字节 LLC(0xAAAA03) SNAP(OUI/Type) data 4字节

5、不同帧格式的区分

EthernetII与802.3:如果帧中Length或Type字段的值小于1536说明这是一个EthernetII帧,反之则是一个802.3的帧。

RAW、LLC、SNAP:如果Data字段前两个字节为0xFFFF则说明这是一个802.3(RAW)帧;如果Data字段中前三个字节为0xAAAA03则说明这是一个802.3(SNAP)帧;剩余的则是802.3(LLC)帧。

【上层协议类型的标识】802.3多达3种标准的原因就是他们使用了不同的上层协议类型标识方法,那么什么是上层协议类型的标识呢。

IEEE将网络划分为OSI 7层模型,其中第一层为物理层,第二层为数据链路层,第三层为网络层,数据链路层又被细分为LLC层和MAC层。我们知道MAC层是用于物理寻址的,在数据帧上体现为DMAC和SMAC两个字段,分别记录了目标MAC地址和源MAC地址,网卡凭借这两个字段就能知道数据包是从那台设备来的目的地是那台设备。帧到达后应交由谁处理呢?在设备中不同的协议是交由不同进程处理的,LLC层的作用就是指明了该进程的协议类型,也就是EthernetII的Type字段(在IP报文中将进一步指定具体协议,定位数据的接收进程)。在RAW 802.3中只需要支持IPX/SPX这一类协议所以没有Type字段,802.3 LLC中使用LLC头中的DSAP和SSAP标识目标端的协议类型和源端协议类型,802.3 SNAP使用SNAP头中的Type字段标识协议类型与EthernetII类似。

【帧校验】数据帧在网络中传输时难免会出现数据丢失或位错误等情况,网卡在接收到帧后是如何判断这个数据帧在传输的过程中没有发生意外呢。

这里不讲真实的校验方法(太复杂),只讲一个简单的例子。例如一组二进制数0111 1101 1001 0011从一个设备传输到另一个设备,接收设备并不能预防传输过程中错误的发生,只能对这组数据进行验证,如果不符合某种规则就判定为错误则将这个帧丢掉。校验规则由协议规定,不同的帧协议可能使用不同的校验规则,而FCS字段中则保存着这个规则执行的结果。比如发送端可以将二进制数每8位进行两两相加:0111 1101 + 1001 0011 = 0001 0001 0000;取其中后八位0001 0000,并将后八位存入FCS字段中。接收端收到帧后重复发送端的校验规则,并将计算结果与FCS字段中保存的结果进行比对,如果一致则表明传输过程无误,反之表明此帧无法使用。

【802.3名称由来】我们可以理解EthernetII是以太网协议的V2版本,可为啥802.3要叫802.3呢。

以太网出现后,先是由DEC、Intel和Xerox对该网络进行了标准化制定了Ethernet V1协议,其中规定了实现以太网的物理层连线、电信号和介质等等内容,帧格式的定义只是其中的一部分。而后很快又推出了Ethernet V2,也就是现在最常用的EthernetII协议。两年后,由于以太网的发展成熟,IEEE协会在EthernetII的基础上对以太网进行了更加详细的规定,也就是IEEE802.3协议。IEEE协会由多个不同专业的协会和委员会组成,如IEEE航空和电子系统协会、IEEE通讯协会、IEEE生物测定学委员会等等,其中制定802.3协议的委员会叫做IEEE局域网/城域网标准委员会,成立的时间是1980年2月所以又称802委员会,该协会发布的这一系列标准名称均是以IEEE 802开头的,802后的.3则表明这是一系列标准的第三号。下面感受一下这个系列的标准中的一部分名称:

IEEE 802.1 :局域网体系结构、寻址、网络互联和网络

IEEE 802.1A:概述和系统结构

IEEE 802.1B:网络管理和网络互连

IEEE 802.2 :逻辑链路控制子层(LLC)的定义。

IEEE 802.3 : 以太网介质访问控制协议 ( CSMA/CD)及物理层技术规范。

IEEE 802.4 :令牌总线网(Token-Bus)的介质访问控制协议及物理层技术规范。

IEEE 802.5 : 令牌环网(Token-Ring)的介质访问控制协议及物理层技术规范。

【以太网名称由来】在早些年的时候,科学家认为这个世界是由一种看不见摸不着的介质“以太”所充斥的,而后以太的存在被证伪了,那么以太网跟以太是否有什么关联呢。

有网上的段子说当年以太网之父Metcalfe在自己的博士论文中就是研究APRA网的,可他的论文答辩没过,被认为是缺乏理论支持,但是他的技术得到了很多厂商的看好,后来Metcalfe想到自己当年的论文没过就很不爽,于是就把自己设计的局域网技术称为以太网,调侃这是一种看不见,摸不着的技术。以上段子说明以太网就是局域网,是发明者自己瞎取的,没啥特别含义。

转载于:https://blog.51cto.com/bigmaomao/1841416

802.3和以太网帧结构-路由交换原理1-【HCNA笔记】相关推荐

  1. 搞一下 车载以太网实战 | 01 车载以太网帧结构详解

    前言 搞SOA.搞 AP & CP AUTOSAR.搞异构SoC.搞车载以太网.搞车载OS等就找搞一下汽车电子. 全系内容可在<搞一下汽车电子>后台回复 "系列" ...

  2. HCNA之网络基础【以太网帧结构】

    一.分层结构 OSI七层模型:应用层.表示层.会话层.传输层.网络层.数据链路层.物理层.其中:程序员负责应用层.表示层.以及会话层的工作,而网工负责网络层的路由寻址,以及数据链路层交换机的配置,物理 ...

  3. 【计算机网络学习笔记06】以太网帧结构、HDLC协议

    [计算机网络学习笔记06]以太网帧结构.HDLC协议 一.以太网帧结构 1.1 两种帧格式 1)Ethernet_II帧格式 2)IEEE802.3帧格式 1.2 帧的3种发送方式 1)单播: 帧从单 ...

  4. HCIP Datacom学习——企业网络基本架构、传输介质、冲突域、以太网帧结构

    ** HCIPDatacom Day01学习笔记 ** 一.企业网络基本架构 1.核心层: 承载着整个企业网络的数据转发,核心层存在大量路由器,一般来说要求性能最强的设备担当. 2.汇聚层: 收集底层 ...

  5. 802.11n PHY-MAC层帧结构解析

    802.11n PHY-MAC层帧结构解析 数据转换过程 MPDU(MAC帧)结构 1. 帧控制结构(Frame Control): 2. 持续时间/标识(Duration/ID) 3. 地址域 4. ...

  6. 华为RS3 封层模型及以太网帧结构

    前言: 网络中传输数据时需要定义并遵循一些标准,以太网是根据(EEE 802.3标准来售理和控制数据帧的.了解EEE802.3标准是充分理解以太网中链路层通信的基础.为了将降低通信的复杂性,需要将协议 ...

  7. wireshark分析以太网帧结构_以太网帧结构分析

    实 验 报 告 实验名称 以太网帧分层结构分析 队 别 姓 名 学 号 实验日期 2015.3.15 实验报告要求: 1. 实验目的 2. 实验要求 3. 实验环境 4. 实验作业 5. 问题及解决 ...

  8. 【无标题】以太网帧结构

    网络传输数据时遵循------IEEE 802.3标准来管理和控制数据帧的. IEEE 802.3 :有线以太网的物理层和数据链路层的介质访问控制(MAC)-------------medium ac ...

  9. 分析以太网帧结构_车辆网络 | 汽车网络中融合以太网的有效解决方案RELYTSNREC...

    在未来的几年里,汽车线束将从不同协议的异构网络转向分层的同质以太网网络.在这种新的情况下,实验室试验台,反映真实的车辆网络,将需要分析工具,能够支持他们在验证过程中的车内通信. 1.以太网融入到汽车网 ...

最新文章

  1. 超级挂载 实现过程-代码
  2. php四排序-选择排序
  3. Ubuntu(Linux) 下 unzip 命令使用详解
  4. boost::mp11::mp_is_map相关用法的测试程序
  5. CVS Branch 和 Merge 在 Eclipse 中的使用
  6. hue是不是集成了oozie_在hue里面集成spark2,使用oozie的调度
  7. 2021考研初试成绩多少分过线?
  8. 异步tcp通信——APM.ConsoleDemo
  9. c语言双精度型输出小数位数_C语言的double与float类型最多只能默认输出小数位数都取6位?...
  10. m227fdw恢复出厂设置_惠普M227fdw说明书
  11. C语言之迷宫小游戏2.0版(随机生成地图,可变颜色,优化游戏体验)
  12. 前端自适应图片留白解决
  13. 虾皮运营之不实折扣有多严重?堪比双十一 虾皮运营技巧
  14. SPSS多选题数据如何录入与分析?——SPSS多重响应分析的详细讲解
  15. arctanx麦克劳林公式推导过程_徒手搭建三角函数公式推导体系
  16. 1.2.2 网络抓包工具之:Fiddler
  17. 周志华老师报告Boasting 25years
  18. 新版chrome浏览器字体编码插件Charset v0.5.5
  19. 计算机毕业设计ssm基于vuejs的二手车交易平台ue120系统+程序+源码+lw+远程部署
  20. leetcode题目——Happy Number

热门文章

  1. Apache,php配置
  2. git 基于发布分支的开发
  3. 关于DELLR710/R910(rhel5.3-5.5) Broadcom netxtreme 5709网卡间歇性的停止接收数据包的问题解决方案...
  4. Linux下静态编译的一个TIP
  5. Nagios监控linux服务器
  6. Loj #3111. 「SDOI2019」染色
  7. 干货 | 华尔街留下的指标之王(附代码展示)
  8. 图的单源最短路径,Floyd算法(数据结构c++)
  9. 【朱-刘算法】【最小树形图】hdu6141 I am your Father!
  10. Android系统源码编译最重要的一步