返回顶部
首页 > 资讯 > 移动开发 >详解以太网MAC帧格式
  • 675
分享到

详解以太网MAC帧格式

网络网络协议tcp/ip 2023-10-25 17:10:39 675人浏览 独家记忆
摘要

目录 一、引入 1. 前言 2. 网络通信协议 3. 终端之间的通信 二、帧格式 三、Ethernet Ⅱ 帧格式 1. 各字段说明 2. 两个问题 3. 抓包示意 4. 参考标准 四、IEEE 802.3 帧格式 1. 字段说明 2.

目录

一、引入

1. 前言

2. 网络通信协议

3. 终端之间的通信

二、帧格式

三、Ethernet Ⅱ 帧格式

1. 各字段说明

2. 两个问题

3. 抓包示意

4. 参考标准

四、IEEE 802.3 帧格式

1. 字段说明

2. 抓包示意

3. 参考标准


一、引入

1. 前言

20 世纪60 年代以来,计算机网络得到了飞速发展。各大厂商和标准组织为了在数据通信网
络领域占据主导地位,纷纷推出了各自的网络架构体系和标准,如IBM 公司的SNA 协议,
Novell 公司的IPX/SPX 协议,以及广泛流行的OSI 参考模型和tcp/IP协议。同时,各大厂
商根据这些协议生产出了不同的硬件和软件。标准组织和厂商的共同努力促进了网络技术
的快速发展和网络设备种类的迅速增长。
网络通信中, " 协议" 和" 标准" 这两个词汇常常可以混用。同时, 协议或标准本身又常
常具有层次的特点。一般地, 关注于逻辑数据关系的协议通常被称为上层协议, 而关注于
物理数据流的协议通常被称为底层协议。IEEE 802 就是一套用来管理物理数据流在局域网
中传输的标准, 包括在局域网中传输物理数据的802.3 以太网标准。除以太外, 还有一些用
来管理物理数据流在广域网中传输的标准, 如PPP ( Point-to- Poi nt Protocol ) , 高级数
据钅连路控制HDLC ( High-LeveI Data Link ControI ) 。

2. 网络通信协议

3. 终端之间的通信

 数据包在以太网物理介质上传播之前必须封装头部和尾部信息, 封装后的数据包称为数据
帧, 数据帧中封装的信息决定了数据如何传输。以太网上传输的数据帧有两种格式, 选择
哪种格式由TCP/IP 协议簇中的网络层决定。

二、帧格式

以太网上使用两种标准帧格式。第一种是世纪80 年代初提出的DIX v2 格式, 即Ethernet
II 帧格式。Ethernet II 后来被IEEE802 标准接纳, 并写进了IEEE 802.3x-1997 的3.2.6 节。

Ethernet Ⅱ 帧格式


第二种是1983 年提出的IEEE 802.3 格式。这两种格式的主要区别在于Ethernet II 格式中包
含一个Type 字段, 标识以太帧处理完成之后将被发送到哪个上层协议进行处理, IEEE
802.3格式中, 同样的位置是长度(length)字段。

IEEE  802.3 帧格式


不同的Type 字段值可以用来区别这两种帧的类型, 当Type 字段值小于等于1500 ( 或者十
六进制的0x05DC) 时, 帧使用的是IEEE 802.3 格式。当Type 字段值大于等于1536 ( 或者
十六进制的0x0600)时, 帧使用的是Ethernet II 格式。以太网中大多数的数据帧使用的是
Ethernet II 格式


以太帧中还包括源和目的Mac 地址分别代表发送者的MAC 和接收者的MAC , 此外还有
帧校验序列字段, 用于检验传输过程中帧的完整性。

以太网帧格式

三、Ethernet Ⅱ 帧格式

1. 各字段说明

DMAC6字节目的MAC地址,IPV4为6字节,该字段确定帧的接收者。
SMAC6字节源MAC地址,IPV4为6字节,该字段标识发送帧的工作站。
Type2字节协议类型。取值表示了数据字段包含的高层协议。下表列出了链路直接封装的协议。
Data变长

数据字段的最小长度必须为46字节以保证帧长至少为64字节,这意味着传输一字节信息也必须使用46字节的数据字段。

如果填入该字段的信息少于46字节,该字段的其余部分也必须进行填充。数据字段的最大长度为1500字节。

CRC4字节用于帧内后续字节差错的循环冗余检验(也称为FCS或帧检验序列)。这个字段只是提供检错功能,并不提供纠错功能。该效验和效验的范围为:目的地址,源地址,类型,数据等字段。CRC效验的生成多项式为:

G(x)=X(32)+X(26)+X(23)+X(22)+X(16)+X(12)+X(11)+X(10)+X(8)+X(7)+X(5)+X(4)+X(2)+X(1)+1

对于Type 字段来说,不同的取值代表数据字段封装的不同上层协议,具体如下:

0x0800Internet Protocol (IP) [RFC894]
0x0801X.75 Internet
0x0805X.25 Level 3
0x0806Address Resolution Protocol (ARP)[RFC7042]
0x0808Frame Relay ARP [RFC1701]
0x8000IS-IS
0x8035Reverse Address Resolution Protocol (RARP) [RFC903]
0x8137Novell NetWare IPX/SPX (old)
0x8138Novell, Inc.
0x8100IEEE Std 802.1Q - Customer VLAN Tag Type
0x814CSNMP over Ethernet [RFC1089]
0x86DDIP Protocol version 6 (IPv6) [RFC7042]
0x8808IEEE Std 802.3 - Ethernet Passive Optical Network (EPON) [RFC7042]
0x880BPoint-to-Point Protocol (PPP) [RFC7042]
0x880CGeneral Switch Management Protocol (GSMP)
0x8847MPLS (multiprotocol label switching) label stack - unicast [RFC 3032]
0x8848MPLS (multiprotocol label switching) label stack - multicast [RFC 3032]
0x8863PPP over Ethernet (PPPoE) Discovery Stage [RFC2516]
0x8864PPP over Ethernet (PPPoE) Session Stage [RFC2516]
0x888EIEEE Std 802.1X - Port-based network access control
0x88A8IEEE Std 802.1Q - Service VLAN tag identifier (S-Tag)
0x88B7IEEE Std 802 - OUI Extended Ethertype
0x88C7IEEE Std 802.11 - Pre-Authentication (802.11i)
0x88CCIEEE Std 802.1AB - Link Layer Discovery Protocol (LLDP)
0x88E5IEEE Std 802.1AE - Media Access Control Security
0x88F5IEEE Std 802.1Q - Multiple VLAN ReGIStration Protocol (MVRP)
0x88F6IEEE Std 802.1Q - Multiple Multicast Registration Protocol (MMRP)

这个以太网V2的前导域为8B,而IEEE802.3的前导域为7B,将空余出来的一个字节用作帧起始分解符,它的位模式为10101011,这样做的目的就是为了和IEEE802.4和IEEE802.5兼容。

还有的就是IEEE802.3帧规定的第三个字段是“长度/类型域”。当这个字段值大于1536时,表示类型,这个就是和V2以太网一样的标准了;当这个字段值小于1500时,才表示“长度”,这时,接收方无法确定对接收到的帧做如何处理,必须通过在数据部分增加一个小的LLC头部,用它来提供帧类型的

2. 两个问题

在以太网V2的MAC帧中,其首部并没有一个帧长度(或数据长度)的字段,那么MAC子层如何知道从接收到的以太网帧中取出多少字节的数据交给上一层的协议?

D:  这是因为以太网采用曼彻斯特编码,曼彻斯特编码的一个重要特点是:在曼彻斯特的每一个码元的正中间一定有一次电压的转化(从高到低或者从低到高)。当发送方把一个以太网帧发送完毕后,就不再发送其他码元(帧之间有着一定的间隔),这样发送方适配器上的电压就不再变化,于是接收方就可以很容易地找到以太网帧的结束位置,这个位置上往前数4B(效验和),就能确定数据字段的结束位置。

当数据字段不足46B时候,必须通过填充字段来扩充数据字段的长度,使其满足最小长度64B的要求,那么接收端的MAC子层在从接收到的帧中剥去首部和尾部后把数据字段交给上一层协议后,上一层协议如何识别有效的数据字段的长度?

D: 上一层协议要识别数据帧的数据字段的有效长度,一般是通过上层协议的类似“总长度”字段推断出来的。例如,如果上层协议使用的是IP协议的时候,其IP头中就有一个“总长度字段”,因此“总长度”字段加上填充字段,应当等于MAC帧中数据字段的长度。例如,当IP数据包的总长度为42B时,填充字段共有4B,当MAC帧将46B的数据交给IP层时,IP层就把其中的4B的填充字段丢弃。

3. 抓包示意

抓包实例

4. 参考标准

标准描述
IEEE 802.3Carrier sense multiple access with collision detection (CSMA/CD) access method and physical layer specifications
IEEE 802.3aeMedia Access Control (MAC) Parameters, Physical Layers, and Management parameters for 10Gb/s Operation
RFC 894A Standard for the Transmission of IP Datagrams over Ethernet Networks
RFC 1042A Standard for the Transmission of IP Datagrams over IEEE 802 Networks

四、IEEE 802.3 帧格式

 

1. 字段说明

DMAC6目的MAC地址
SMAC6源MAC地址
Length2指后续数据的字节长度,但不包括CRC检验码
DSAP1目的服务访问点
SSAP1源服务访问点
Data44~1498负载
CRC4用于帧内后续字节差错的循环冗余检验(也称为FCS或帧检验序列)
IEEE  802.3 帧格式

IEEE802.3 帧格式类似于Ethernet II 帧, 只是Ethernet II 帧的Type 域被802.3 帧的Length
域取代, 并且占用了Data 字段的8 个字节作为LLC 和SNAP 字段。
Length 字段定义了Data 字段包含的字节数。
逻辑链路控制LLC ( Logical Link Control ) 由目的服务访问点DSAP ( Destination
Service Access Point )、源服务访问点SSAP ( Source Service Access Point ) 和
Control 字段组成
SNAP ( Sub-network Access Protocol ) 由机构代码( Org Code ) 和类型( Type ) 字段组成。Org Code 三个字节都为0 。Type 字段的含义与Ethernet II 帧中的Type 字段相同。
IEEE802.3 帧根据DSAP 和SSAP 字段的取值又可分为以下几类:
1. 当DSAP 和SSAP 都取特定值0xff时,802.3 帧就变成了Netware-ETHERNET 帧, 用
来承载NetWare 类型的数据。
2. 当DSAP 和SSAP 都取特定值0xaa时,802.3 帧就变成了ETHERNET_SNAP帧
ETHERNET_SNAP 帧可以用于传输多种协议。

DSAP和SSAP取值为其它时,就是纯的IEEE 802.3 帧。

2. 抓包示意

3. 参考标准

标准描述
IEEE 802.3Carrier sense multiple access with collision detection (CSMA/CD) access method and physical layer specifications
IEEE 802.3aeMedia Access Control (MAC) Parameters, Physical Layers, and Management parameters for 10Gb/s Operation
RFC 894A Standard for the Transmission of IP Datagrams over Ethernet Networks
RFC 1042A Standard for the Transmission of IP Datagrams over IEEE 802 Networks

来源地址:https://blog.csdn.net/m0_53662978/article/details/123445930

--结束END--

本文标题: 详解以太网MAC帧格式

本文链接: https://lsjlt.com/news/442610.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 详解以太网MAC帧格式
    目录 一、引入 1. 前言 2. 网络通信协议 3. 终端之间的通信 二、帧格式 三、Ethernet Ⅱ 帧格式 1. 各字段说明 2. 两个问题 3. 抓包示意 4. 参考标准 四、IEEE 802.3 帧格式 1. 字段说明 2. ...
    99+
    2023-10-25
    网络 网络协议 tcp/ip
  • 4.2.2 以太网技术(二) MAC地址和MAC帧的格式
    4.2.2 以太网技术(二) MAC地址和MAC帧的格式 前面我们提出了两个问题中第一个是在总线式的广播信道中我们如何实现计算机之间一对一的通信?为了在总线上实现一对一的通信我们可以使每一台计算机都拥...
    99+
    2023-10-19
    macos 网络 运维
  • 【网络设备】交换机的概念、工作原理、功能以及以太网帧格式
    个人主页:insist--个人主页​​​​​​ 本文专栏:网络基础——带你走进网络世界 本专栏会持续更新网络基础知识,希望大家多多支持,让我们一起探索这个神奇而广阔的网络世界。 目录 一、认识交换机 二、交换机的主要功能 1、数据...
    99+
    2023-08-31
    网络 网络设备 运维 交换机
  • 以太网MAC与PHY(二)
    目录 一、概述 二、MAC控制器 三、PHY 四、SMI协议 一、概述         以太网硬件主要包括OSI的最下面两层,物理层和数据链路层 物理层:定义了数据传送与接收所需要的电与光信号、线路状态、时钟基准、数据编码和电路等,并...
    99+
    2023-09-22
    网络 mcu 嵌入式硬件
  • 交换机与路由器技术:以太网MAC和以太网帧、交换机工作原理及基本配置
    目录 一、以太网MAC和以太网帧二、以太网交换机工作原理三、交换机的基本配置1、思科设备命令行基础1.1、要想进入设备的命令行界面1.2、命令行基础1.3、常见配置 一、以太网MAC和以太网帧 交换机的工作原理 1、交...
    99+
    2023-08-16
    macos 网络 网络协议
  • 【网络编程·数据链路层】MAC帧/以太网协议/ARP协议/RARP协议
     需要云服务器等云产品来学习Linux的同学可以移步/-->腾讯云-->阿里云-->华为云...
    99+
    2023-09-16
    网络 计算机网络
  • 以太网(一)MAC、MII、PHY 介绍
    系列文章目录 以太网(二)PHY、网卡、SWITCH介绍 [link] 文章目录 系列文章目录1、CPU/MAC/PHY 硬件架构2、网卡(MAC和PHY)工作原理3、什么是 MAC4、什么...
    99+
    2023-10-06
    网络 网络协议
  • 以太网基础理论—MAC+PHY
    MAC (Medium Access Control),简称媒体访问控制。MAC层在OSI模型中是属于数据链路层,其主要任务是解决数据包发给谁。数据链路层包含MAC(介质访问控制)子层和LLC(逻辑链路控制)子层。   PHY(physic...
    99+
    2023-09-05
    macos 网络 服务器
  • 3.9、以太网交换机自学习和转发帧的流程
    3.9、以太网交换机自学习和转发帧的流程 以太网交换机工作在数据链路层(也包括物理层) 说明:目前市场上也有包含网络层部分功能的交换机,称为三层交换机 以太网交换机收到帧后,在帧交换表中查找 ...
    99+
    2023-10-23
    学习 网络 服务器
  • 网络抓包分析【IP,ICMP,ARP】以及 IP数据报,MAC帧,ICMP报和ARP报的数据报格式
    网络抓包分析,IP数据报,MAC帧,ICMP报,ARP报格式以及不同网络通信的过程。 网络抓包工具 wireshark以太网v2MAC帧IP数据报格式ICMP报文格式ARP协议及ARP报文格式...
    99+
    2023-09-20
    网络 tcp/ip macos
  • win10以太网无internet怎么解决
    这篇文章主要讲解了“win10以太网无internet怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“win10以太网无internet怎么解决”吧!方便快捷的win10以太网无Int...
    99+
    2023-07-01
  • 解决win10以太网无法上网的问题
    win10以太网连接不上网怎么办?近来有不少小伙伴来反馈这个问题,想必是遇到了难题吧~相信大家都很感兴趣,下面小白就和大家分享一下操作方法,希望对有需要的朋友有所帮助~。解决win10以太网无法上网的问题。首先按下win+i键,进入Wind...
    99+
    2023-07-19
  • win10以太网不见了怎么解决
    这篇文章主要介绍“win10以太网不见了怎么解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“win10以太网不见了怎么解决”文章能帮助大家解决问题。第一步:打开设备管理器,先选择网络适配器,然后选...
    99+
    2023-07-01
  • nginx日志格式分析以及修改详解
    目录一. 打开终端,登录服务器并输入服务器密码二. 切换到nginx目录三. 查看nginx日志四. 修改nginx日志格式五. 其他日志参数说明总结修改nginx日志打印格式 一....
    99+
    2024-04-02
  • win10网络连接没有以太网如何解决
    如果Windows 10中没有以太网连接,可以尝试以下解决方法:1. 检查硬件连接:确保以太网线正确插入计算机和路由器或调制解调器的...
    99+
    2023-10-09
    win10
  • Json格式详解
    目录一 JSON构建于两种结构:二 JSON的形式1.对象2. 数组  三 值的内容四 范例总结JSON(JavaScript Object Notation)是一种轻量级的数据交换...
    99+
    2024-04-02
  • win10以太网已连接无法上网该怎么办win10以太网已连接无法上网解决方案
    有的win10客户体现本来以太网已连接,可是便是无法上网,这样的事情要怎么办呢?你先打开设置控制面板,寻找互联网和Internet,在打开界面中挑选以太网,随后点击变更电源适配器,以后开启以太网的属性对话框,选中Internet协议版本4设...
    99+
    2023-07-10
  • win10以太网属性空白如何解决
    如果你在Windows 10上遇到以太网属性空白的问题,可以尝试以下解决方法:1. 检查以太网驱动程序:确保你的计算机已安装最新的以...
    99+
    2023-09-02
    win10
  • win10以太网未启用dhcp怎么解决
    本文小编为大家详细介绍“win10以太网未启用dhcp怎么解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“win10以太网未启用dhcp怎么解决”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。第一步:右击win...
    99+
    2023-07-01
  • windows以太网默认网关不可用如何解决
    这篇文章主要介绍“windows以太网默认网关不可用如何解决”,在日常操作中,相信很多人在windows以太网默认网关不可用如何解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”windows以太网默认网关不...
    99+
    2023-07-01
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作