计算机网络(3.11)数据链路层- 以太网的MAC层

1、MAC 层的硬件地址 

在局域网中,硬件地址又称为物理地址,或MAC地址。 802标准所说的“地址”严格地讲应当是每一个站的“名字”或标识符。但鉴于大家都早已习惯了将这种48位的“名字”称为“地址”。

请注意,如果连接在局域网上的主机或路由器安装有多个适配器,那么这样的主机或路由器就有多个“地址”。更准确些说,这种48 位“地址”应当是某个接口的标识符。

48 位的MAC 地址 

IEEE 802 标准规定MAC地址字段可采用6字节 (48位) 或2字节(16位) 这两种中的一种。

IEEE 的注册管理机构RA负责向厂家分配地址字段 6 个字节中的前三个字节 (即高位24位),称为组织唯一标识符OUI。地址字段 6 个字节中的后三个字节 (即低位 24 位) 由厂家自行指派,称为扩展唯一标识符,必须保证生产出的适配器没有重复地址。
            

一个地址块可以生成224个不同的地址。这种48位地址称为MAC-48,它的通用名称是EUI-48。

生产适配器时,6 字节的MAC地址已被固化在适配器的ROM,因此,MAC 地址也叫做硬件地址 (hardware address)或物理地址。 “MAC地址”实际上就是适配器地址或适配器标识符EUI-48。

IEEE规定地址字段的第一字节的最低位为I/G 位。 I/G 表示 Individual / Group。

当I/G位 = 0 时,地址字段表示一个单站地址。

当I/G位 = 1 时,表示组地址,用来进行多播(以前曾译为组播)。此时,IEEE只分配地址字段前三个字节中的23 位。

当I/G 位分别为 0 和1 时,一个地址块可分别生成 224 个单个站地址和 224 个组地址。

所有 48 位都为 1 时,为广播地址。只能作为目的地址使用。

IEEE 把地址字段第一字节的最低第2位规定为G/L 位,表示Global / Local。

当G/L位 = 0 时,是全球管理(保证在全球没有相同的地址),厂商向IEEE购买的OUI都属于全球管理。

当G/L位 = 1 时,是本地管理,这时用户可任意分配网络上的地址。246 个地址,超过70万亿个,2020年前不会出现枯竭 的问题。

适配器检查MAC 地址

适配器从网络上每收到一个MAC帧就首先用硬件检查MAC帧中的MAC地址。如果是发往本站的帧则收下,然后再进行其他的处理。否则就将此帧丢弃,不再进行其他的处理。

“发往本站的帧”包括以下三种帧:1、单播(unicast) 帧(一对一)。2、广播(broadcast) 帧(一对全体) 。3、多播(multicast) 帧(一对多)

所有的适配器都至少能够识别前两种帧,即能够识别单播地址和广播地址。有的适配器可用编程方法识别多播地址。只有目的地址才能使用广播地址和多播地址。

以混杂方式 (promiscuous mode) 工作的以太网适配器只要“听到”有帧在以太网上传输就都接收下来。 “窃听”其他站点通信且并不中断的这种工作方式, 也会被“黑客”所利用。同样,这也可以用来进行对网络流量进行监视和分析,以找出提高网络性能 的有效办法。

2、MAC帧的格式

常用的以太网MAC帧格式有两种标准 :

  • DIX Ethernet V2 标准

  • IEEE 的 802.3 标准

最常用的 MAC 帧是以太网V2的格式。

以太网V2的 MAC 帧格式

        

在帧的前面插入(硬件生成)的8字节中,第一个字段共7个字节,是前同步码,用来迅速实现MAC帧的比特同步。第二个字段1个字节是帧开始定界符,表示后面的信息就是MAC帧。

目的地址字段 6 字节。

源地址字段 6 字节。

类型字段 2 字节。类型字段用来标志上一层使用的是什么协议, 以便把收到的 MAC 帧的数据上交给上一层的这个协议。

数据字段 46 ~ 1500 字节。当数据字段的长度小于 46 字节时, 应在数据字段的后面加入整数字节的填充字段, 以保证以太网的MAC帧长不小于 64 字节。

FCS 字段 4 字节。当传输媒体的误码率为 1*10^8 时, MAC 子层可使未检测到的差错小于 1*10^14。

无效的MAC 帧

帧的长度不是整数个字节;

用收到的帧检验序列 FCS 查出有差错;

数据字段的长度不在 46 ~ 1500 字节之间。

有效的 MAC 帧长度为 64 ~ 1518 字节之间

对于检查出的无效 MAC 帧就简单地丢弃。 以太网不负责重传丢弃的帧。

IEEE 802.3 MAC 帧格式:与以太网V2 MAC 帧格式相似,区别在于:

(1) IEEE 802.3 规定的MAC 帧的第三个字段是“长度/ 类 型”。当这个字段值大于0x0600 时(相当于十进制的1536), 就表示“类型”。这样的帧和以太网V2 MAC 帧完全一样。 当这个字段值小于0x0600 时才表示“长度”。

(2) 当“长度/类型”字段值小于0x0600 时,数据字段必 须装入上面的逻辑链路控制LLC 子层的LLC 帧。

现在市场上流行的都是以太网V2 的 MAC 帧,但大家也常常把它称为IEEE802.3 标准的MAC 帧。

猜你喜欢

转载自blog.csdn.net/qq_40452317/article/details/89677170