本文内容:
Ø MAC地址概述
Ø MAC地址组成
Ø 单播、组播、广播MAC地址
Ø 本地管理和全球管理MAC地址
一、MAC地址概述
MAC地址(Media Access Control Address)的全称叫做媒体访问控制地址,也称作局域网地址,以太网地址或者物理地址。我们可以根据网卡的MAC地址直接就能查到设备厂商的信息,比如:
二、MAC地址组成
MAC地址(Media Access Control address)是烧录在Network Interfac Card(网卡,NIC)里的,MAC地址也叫硬件地址,是由48比特长(6字节),16进制的数字组成;0-23位是由厂家自己分配,24-47位叫做组织唯一标志符(OUI),MAC地址的格式如下:
-
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公司自己定义的部分,只要保证网卡没有重复地址即可,如下图所示:
比如MAC地址为:00-14-78-00-00-01,前面三个字节是TP-LINK公司向RAC申请的地址块,后面三个字节为TP-LINK公司自己定义的部分,只要保证网卡没有重复地址即可,如下图所示:
三、单播地址、多播地址和广播地址
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中,如下图所示:
比如MAC地址为00-14-78-00-00-01,由于第一个字节的最低位为0,所以此地址为单播地址,如下图所示:
广播地址格式为全1:FF-FF-FF-FF-FF-FF,主要应用于局域网里数据的广播,局域网里面所有电脑都能够收到,比如ARP请求。
三种类型的MAC地址应用如下:
-
单播地址(unicast address):主要应用于一对一的站点数据传输,相应的单播帧只有一个站点收到。
-
广播地址(broadcast address):主要应用于广播的应用,比如ARP请求,相应的广播帧局域网内的所有站点都能够收到。
-
多播地址(multicast address):主要应用于一对多的应用,比如在802.1X认证,STP/RSTP/MSTP协议等,常用的多播MAC地址有:
四、本地管理地址和全球管理地址
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)购买,如下图所示。
比如MAC地址为02-14-78-00-00-01,由于第一个字节的最低第2位为1比特,所以为本地管理地址,该地址不需要向RAC(Registration Authority Committee)购买,那么我们就可以使用很多本地管理地址来充当设备的MAC地址。(一般情况下,没有厂商会使用这些本地管理地址),如下图所示:
虽然在网络设备上一般不使用本地管理地址,但是在某些网络应用上可以使用,比如在多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地址。
扫描下方二维码关注微信公众号:小云君网络
原创不易,感谢大家支持!!