• 注册 / 登录
  • 切换到窄版
  • 查看: 1217|回复: 0

    网卡唯一标识MAC地址详解

    [复制链接]

    665

    主题

    679

    帖子

    6476

    积分

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    6476
    发表于 2024-1-15 13:37:09 | 显示全部楼层 |阅读模式

    路线栈欢迎您!

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    一、MAC地址概述

    MAC地址(Media Access Control Address)的全称叫做媒体访问控制地址,也称作局域网地址,以太网地址或者物理地址。我们可以根据网卡的MAC地址直接就能查到设备厂商的信息,比如:

    1.png

    二、MAC地址组成

    MAC地址(Media Access Control address)是烧录在Network Interfac Card(网卡,NIC)里的,MAC地址也叫硬件地址,是由48比特长(6字节),16进制的数字组成;0-23位是由厂家自己分配,24-47位叫做组织唯一标志符(OUI),MAC地址的格式如下:

    2.png

    OUI(Organisationally Unique Identifier)即为机构惟一标示符,通常也叫做公司标识符(company_id),世界上凡要生产网络设备或者网卡的厂家都必须向IEEE的注册管理委员会RAC(Registration Authority Committee)购买由这3个字节构成的地址块,这个地址块名称是机构唯一标识符OUI。

    NIC(Network Interface Controller)即为网络接口控制器,也可以叫做扩展标识符,由厂商自己指定,只要保证生产出的网卡没有重复地址即可。可见一个地址块可以生成224个不同地址,用这种方式得到的48 bit地址称为MAC-48,它的通用名字是EUI-48。

    比如MAC地址为00-1E-10-00-00-01,前面三个字节是Huawei公司向RAC申请的地址块,后面三个字节为Huawei公司自己定义的部分,只要保证网卡没有重复地址即可,如下图所示:

    3.png

    比如MAC地址为:00-14-78-00-00-01,前面三个字节是TP-LINK公司向RAC申请的地址块,后面三个字节为TP-LINK公司自己定义的部分,只要保证网卡没有重复地址即可,如下图所示:

    4.png

    三、单播地址、多播地址和广播地址

    MAC地址可以分为单播地址、多播地址和广播地址。IEEE规定地址字段的第一个字节的最低位为I/G比特,I/G表示Individual/Group。当I/G比特为0时,地址字段表示单播地址;当I/G比特为1时表示多播地址。

    比如MAC地址为01-14-78-00-00-01,由于第一个字节的最低位为1,所以此地址为多播地址,多播地址应用于802.1D和802.1Q中,如下图所示:

    5.png

    比如MAC地址为00-14-78-00-00-01,由于第一个字节的最低位为0,所以此地址为单播地址,如下图所示:

    6.png

    广播地址格式为全1:FF-FF-FF-FF-FF-FF,主要应用于局域网里数据的广播,局域网里面所有电脑都能够收到,比如ARP请求。

    三种类型的MAC地址应用如下:

    单播地址(unicast address):主要应用于一对一的站点数据传输,相应的单播帧只有一个站点收到。

    广播地址(broadcast address):主要应用于广播的应用,比如ARP请求,相应的广播帧局域网内的所有站点都能够收到。

    多播地址(multicast address):主要应用于一对多的应用,比如在802.1X认证,STP/RSTP/MSTP协议等,常用的多播MAC地址有:

    7.png

    四、本地管理地址和全球管理地址

    MAC地址也可以分为本地管理地址和全球管理地址。IEEE还考虑到可能有人并不愿意向IEEE的RAC购买机构惟一标识符OUI。为此,IEEE将地址字段第一个字节的最低第2位规定为G/L比特,标示Global/Local。当G/L比特为0时全球管理地址(保证在全球没有相同的地址),厂商向IEEE购买的OUI都属于全球管理地址。当地址字段的G/L比特为1时是本地管理地址,这时用户可任意分配网络上的地址,但是以太网几乎不使用这个G/L比特。

    比如,MAC地址为00-14-78-00-00-01,由于第一个字节的最低第2为0比特,所以为全球管理地址,该地址需要向RAC(Registration Authority Committee)购买,如下图所示。

    8.png

    比如MAC地址为02-14-78-00-00-01,由于第一个字节的最低第2位为1比特,所以为本地管理地址,该地址不需要向RAC(Registration Authority Committee)购买,那么我们就可以使用很多本地管理地址来充当设备的MAC地址。(一般情况下,没有厂商会使用这些本地管理地址),如下图所示:

    9.png

    虽然在网络设备上一般不使用本地管理地址,但是在某些网络应用上可以使用,比如在多PVC的DSL设备上,每条PVC类似一个虚拟的网络接口,每个接口必须配有一个MAC地址,假如有7条PVC,那么意味着需要7个MAC地址。针对这个问题,可以有两种解决方案:

    方案一:给7条PVC分配7个全球管理地址。虽然这种方案可以解决每条PVC需要一个MAC地址问题,但是容易出现MAC地址冲突和MAC地址的浪费。

    方案二:给7条PVC分配7个本地管理地址,这样既不浪费MAC地址,也不容易出现MAC地址冲突的情况。

    比如一个ADSL产品的LAN口MAC地址为00-00-0C-00-30-10,那么各个PVC的MAC地址是以把LAN口MAC地址的第一字节的低两位改为02为基数,第一条到第六条PVC的MAC地址依次递增8来处理的。那么整个设备的MAC地址为:

    LAN      00-00-0C-00-30-10
    PVC0    0a-00-0C-00-30-10
    PVC1    12-00-0C-00-30-10
    PVC2    1a-00-0C-00-30-10
    PVC3    22-00-0C-00-30-10
    PVC4    2a-00-0C-00-30-10
    PVC5    32-00-0C-00-30-10
    PVC6    3a-00-0C-00-30-10


    这种方法就是利用了本地管理地址的这个概念,没有违反IEEE的规定,也不会出现MAC地址冲突的问题。

    五、总结

    MAC地址 XX-XX-XX-XX-XX-XX

    第二位为1/3/5/7/9/B/D/F时表示为组播MAC地址;
    第二位为2/3/6/7/A/B/E/F时表示为本地管理MAC地址;
    第二位为4/8/C时表示为全球管理MAC地址。

    相关内容请看:网络IP协议详细解析

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    小黑屋|路丝栈 ( 粤ICP备2021053448号 )

    GMT+8, 2024-9-17 03:45 , Processed in 0.070298 second(s), 22 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表