最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

MAC地址与帧结构

网站源码admin3浏览0评论

MAC地址与帧结构

一、MAC地址

定义

MAC地址(Media Access Control address)是物理地址,也称为硬件地址或链路地址。它是一个用来确认网络设备位置的地址。在OSI模型中,MAC地址工作在数据链路层。

格式

MAC地址是一个48位的二进制数。通常以12位十六进制数表示。例如:00 - 1A - 2B - 3C - 4D - 5E。

这48位可以分为两部分:

前24位是组织唯一标识符(OUI,Organizationally Unique Identifier)。它是由IEEE(电气和电子工程师协会)分配给各个网络设备制造商的。例如,00 - 1A - 2B这部分就是某个网络设备制造商的唯一标识。不同的制造商有自己独特的OUI,通过它可以识别出设备是由哪家公司生产的。

后24位是由制造商自己分配的扩展标识符。这部分用于区分同一制造商生产的不同设备。例如,3C - 4D - 5E就是同一制造商内部用来区分设备的编号。

作用

设备识别:在局域网中,MAC地址是网络接口卡(NIC)的唯一标识。当数据在局域网内传输时,源设备会使用目的设备的MAC地址来确定数据应该发送到哪个设备。例如,在一个公司的办公网络中,计算机A要向计算机B发送文件,计算机A会查找计算机B的MAC地址,然后将数据帧封装好发送出去。

链路层通信:在数据链路层,MAC地址用于在相邻节点之间进行数据传输。它与IP地址不同,IP地址是网络层的逻辑地址,用于在不同网络之间进行路由选择,而MAC地址是物理地址,用于在同一个局域网内部的设备之间进行通信。

二、帧结构

定义

帧是数据链路层的协议数据单元(PDU)。它是网络通信中数据链路层交换和传输的数据单元。帧就像一个“信封”,把网络层的协议数据单元(通常是IP数据报)封装起来,加上一些必要的控制信息,以便在物理链路上进行传输。

典型帧结构(以以太网帧为例)

前导码

长度为7个字节。它是一个特殊的位模式(10101010),用于同步发送方和接收方的时钟。在数据传输过程中,接收设备需要通过前导码来调整自己的接收时钟,以便能够正确地接收后续的数据。例如,当一个网络接口卡开始接收数据时,它会先检测到前导码的这个特定模式,从而知道数据即将开始传输。

帧开始定界符

长度为1个字节,其值为10101011。它标志着帧的正式开始。接收设备在检测到SFD后,就知道后面的数据是帧的内容,而不是其他无效的信号。

目的MAC地址

长度为6个字节。它标识了帧的接收方的MAC地址。就像邮件上的收件人地址一样,数据链路层会根据这个地址将帧发送到正确的设备。

源MAC地址

长度为6个字节。它标识了帧的发送方的MAC地址。这个地址用于标识数据是从哪里发送过来的,接收方可以根据这个地址进行回应或者记录等操作。

类型/长度字段

长度为2个字节。

如果值小于或等于1500,表示该字段是长度字段,用于标识后面数据字段的长度(以字节为单位)。例如,如果这个字段的值是500,那么后面的数据字段长度就是500字节。

如果值大于1536,表示该字段是类型字段,用于标识帧所携带的网络层协议类型。例如,值为0x0800表示该帧携带的是IPv4协议的数据。

数据字段

长度为46 - 1500字节。它存放的是上层协议(如网络层)的数据。例如,如果是IPv4协议的数据,这里就包含了IP数据报的内容。数据字段是帧的核心部分,承载了实际要传输的信息。

帧校验序列

长度为4个字节。它用于检测帧在传输过程中是否发生了错误。发送方在发送帧之前,会根据帧的内容(包括目的MAC地址、源MAC地址、类型/长度字段和数据字段)计算一个校验值,并将其放在FCS字段中。接收方收到帧后,会使用相同的算法对收到的帧内容进行校验,如果计算出的校验值和FCS字段中的值相同,就认为帧在传输过程中没有错误;如果不同,就认为帧出现了错误,接收方可能会丢弃该帧并要求发送方重新发送。

与本文相关的文章

发布评论

评论列表(0)

  1. 暂无评论