我是靠谱客的博主 壮观黄蜂,最近开发中收集的这篇文章主要介绍6 --> MAC层协议,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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以太网协议
0x0800Internet Protocol, Version 4 (IPv4)
0x0806Address Resolution Protocol (ARP)
0x0842Wake-on-LAN Magic Packet
0x1337SYN-3 Heartbeat Protocol (SYNdog)
0x22F3IETF TRILL Protocol
0x6003DECnet Phase IV
0x8035Reverse Address Resolution Protocol (RARP)
0x809BAppleTalk (Ethertalk)
0x80F3AppleTalk Address Resolution Protocol (AARP)
0x8100VLAN-tagged frame(IEEE 802.1Q)
0x8137Novell IPX (alt)
0x8138Novell
0x8204QNX Qnet
0x86DDInternet Protocol, Version 6 (IPv6)
0x8808MAC Control
0x8809Slow Protocols (IEEE 802.3)
0x8819CobraNet
0x8847MPLS unicast
0x8848MPLS multicast
0x8863PPPoE Discovery Stage
0x8864PPPoE Session Stage
0x886FMicrosoft NLB heartbeat
0x8870Jumbo Frames
0x887BHomePlug 1.0 MME
0x888EEAP over LAN (IEEE 802.1X)
0x8892PROFINET Protocol
0x889AHyperSCSI (SCSI over Ethernet)
0x88A2ATA over Ethernet
0x88A4EtherCat Protocol
0x88A8Provider Bridging (IEEE 802.1ad)
0x88ABEthernet Powerlink
0x88CCLLDP
0x88CDsercos III
0x88D8Circuit Emulation Services over Ethernet (MEF-8)
0x88E1HomePlug AV MME
0x88E3Media Redundancy Protocol (IEC62439-2)
0x88E5MAC security (IEEE 802.1AE)
0x88F7Precision Time Protocol (IEEE 1588)
0x8902IEEE 802.1ag Connectivity Fault Management(CFM) Protocol / ITU-T Recommendation Y.1731(OAM)
0x8906Fibre Channel over Ethernet
0x8914FCoE Initialization Protocol
0x9000Configuration Test Protocol(Loop)
0x9100Q-in-Q

通过此表可以清晰梳理链路协议类别,如传输网经常使用的协议,VLAN、Q-in-Q、MPLS等传输协议。

最后

以上就是壮观黄蜂为你收集整理的6 --> MAC层协议的全部内容,希望文章能够帮你解决6 --> MAC层协议所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(153)

评论列表共有 0 条评论

立即
投稿
返回
顶部