概述
MAC 的全称 medium acess control 即媒体访问控制,以太网的数据链路层。
概述
以太网(Ethernet)是数字设备、英特尔、施乐在1982年联合公布的标准(实际上这是以太网的第二版,即Ethernet II)。它采用CSMA/CD介质访问控制,传输速率仅为10Mbps。
1985年,IEEE的802委员会公布一个系列的以太网标准,见下图:
在帧格式上,主要有过六种:
1. Ethernet I
最原始的以太网标准,它由施乐公司提出,它是3Mbps+CSMA/CD的封装格式。其中最关键的字段是Type(类型)字段,以便支持多种网络层的协议包,如TCP/IP、IPX/SPX等。但应用不广泛,随后被新的以太网版本取代。
2. Ethernet II
由上述提到DIX三家公司在1982年发布的,即DIX2.0以太网帧格式。主要更改了上一版本的电气特性和物理接口,帧格式无变化。最小帧(含首尾信息块)长度为64字节,最长为1518字节。如下图所示:
- 目标MAC 地址:数据的接收方 MAC 地址;
- 源 MAC 地址:数据的发送方 MAC 地址;
- 协议类型: 该MAC数据报中包装的网络层数据报协议类型,此字段值域小于0600H值是用于IEEE802的,表示数据包的长度;若该字段大于0600H值,它就定义该数据报的网络层数据报文类型;
如:0800 IP数据报,0806 ARP请求报文,8035表示RARP 报文(ARP应答报), 8100 表示 802.1Q 协议( VLAN 协议), - 数据 :该数据报的数据内容;
- CRC 校验: 4byte的CRC检验码。
3. Ethernet 802.3 Raw
这是Novell公司在1983年公布的以太网标准,仅支持IPS/SPX协议。当时以并未正式发布的802.3标准,相对Ethernet II帧来说,就多了2个字节的0xFFFF用于区分,由于总的帧长度不变,所以数据字段中的最小和最大长度也相应减少2个字节,为44~1498字节。如下图所示:
4. Ethernet 802.3 SAP
这是IEEE在1985年发布的第一个以太网帧标准,SAP是服务点的意思,该标准添加了LLC头,其包含目的服务访问点(DSAP)、源服务访问点(SSAP)和控制(Control)三个字段,另外源Ethernet II的Type字段更换成了Length字段。因为添加了三个字段,所以数据长度范围相应改为43~1497字节。该版本很快就被IEEE更新为LLC和SNAP版本。其格式如下图所示:
5. 802.3/802.2 LLC
IEEE在1997年正式发布,由SAP版本发展而来,帧格式保持一致,但这是IEEE正式划分LLC子层后第一个以太网标准,第一次把DSAP、SSAP、Control三个字段当做LLC头。
6. 802.3/802.2 SNAP
这是为了在保证支持LLC标准上支持更多上层协议,主要是更好的支持IP协议,该标准于1998年发布,SNAP(Sub Network Access Protocol)是子网访问协议,支持传输多种协议的网络访问协议。
与LLC帧格式一样,SNAP也有LLC头,但扩展了其属性:添加了2个字节的类型字段,用于标识更多上层协议类型;另新增了3字节的OUI(组织唯一标识)字段,用于所选上层协议的组织。对应的,数据字段长度范围也调整为38~1492字节。如下图所示:
上述就是6种主要帧格式的介绍,曾经或现在主流应用的是II、LLC、SNAP三种,其主要差别如下图所示:
被广泛应用的是DIX Ethernet V2标准。
IEEE发布的以太网协议对应的字段取值如下:
协议 ID | 以太网协议 |
---|---|
0x0800 | Internet Protocol, Version 4 (IPv4) |
0x0806 | Address Resolution Protocol (ARP) |
0x0842 | Wake-on-LAN Magic Packet |
0x1337 | SYN-3 Heartbeat Protocol (SYNdog) |
0x22F3 | IETF TRILL Protocol |
0x6003 | DECnet Phase IV |
0x8035 | Reverse Address Resolution Protocol (RARP) |
0x809B | AppleTalk (Ethertalk) |
0x80F3 | AppleTalk Address Resolution Protocol (AARP) |
0x8100 | VLAN-tagged frame(IEEE 802.1Q) |
0x8137 | Novell IPX (alt) |
0x8138 | Novell |
0x8204 | QNX Qnet |
0x86DD | Internet Protocol, Version 6 (IPv6) |
0x8808 | MAC Control |
0x8809 | Slow Protocols (IEEE 802.3) |
0x8819 | CobraNet |
0x8847 | MPLS unicast |
0x8848 | MPLS multicast |
0x8863 | PPPoE Discovery Stage |
0x8864 | PPPoE Session Stage |
0x886F | Microsoft NLB heartbeat |
0x8870 | Jumbo Frames |
0x887B | HomePlug 1.0 MME |
0x888E | EAP over LAN (IEEE 802.1X) |
0x8892 | PROFINET Protocol |
0x889A | HyperSCSI (SCSI over Ethernet) |
0x88A2 | ATA over Ethernet |
0x88A4 | EtherCat Protocol |
0x88A8 | Provider Bridging (IEEE 802.1ad) |
0x88AB | Ethernet Powerlink |
0x88CC | LLDP |
0x88CD | sercos III |
0x88D8 | Circuit Emulation Services over Ethernet (MEF-8) |
0x88E1 | HomePlug AV MME |
0x88E3 | Media Redundancy Protocol (IEC62439-2) |
0x88E5 | MAC security (IEEE 802.1AE) |
0x88F7 | Precision Time Protocol (IEEE 1588) |
0x8902 | IEEE 802.1ag Connectivity Fault Management(CFM) Protocol / ITU-T Recommendation Y.1731(OAM) |
0x8906 | Fibre Channel over Ethernet |
0x8914 | FCoE Initialization Protocol |
0x9000 | Configuration Test Protocol(Loop) |
0x9100 | Q-in-Q |
通过此表可以清晰梳理链路协议类别,如传输网经常使用的协议,VLAN、Q-in-Q、MPLS等传输协议。
最后
以上就是壮观黄蜂为你收集整理的6 --> MAC层协议的全部内容,希望文章能够帮你解决6 --> MAC层协议所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复