Mac地址
一. 明晰概念
MAC地址是以太网的MAC子层所使用的地址,是设备在以太网中的物理标识,在以太网中是用来实现多媒体接入控制(Media Access Control也是命名的由来),如同学生的学号,校园内可以通过学号(类似于MAC地址)来找到某个唯一确定的学生。
学习时的收获:在学习时尽管查阅了许多资料和定义,但仍感觉对以太网这一概念不太清晰,知道看见了一个很形象的比喻,我瞬间就明白了,在此将其搬运过来:
以太网:更核心的含义是“物理连接范围”。每个节点必须取得电缆或者信道才能传送信息。此时你可以把任意一个以太网看做是一个独立的“村庄”。
互联网:指凡是能相互通信的设备组成的网络,所以,以太网也属于互联网的一种。而当多个以太网组合在一起,就成了“因特网”,它特指使用tcp/ip所建立的网络。
MAC:早期并没有MAC地址,各个以太网(村庄)都是用自己的技术实现通信,后来被统一后开始使用MAC地址。
但这里需要注意的是,MAC地址虽然是物理标识,但它不属于物理层,而属于网络链路层。严格来说,MAC地址是对网络上各接口的唯一标识,而不是网络上各设备的唯一标识。
二. MAC地址的格式与分类
1. 格式与表示
当前使用较多的是EUI-48格式的MAC地址(这里的EUI是一种格式,48代表MAC地址由48个比特位来组成),由下图可以很好的反应:
MAC地址长度为48位二进制数,通常以十六进制表示,其中前3字节称为组织唯一标识符OUI(Organizationally Unique Identifier),后3字节为厂商自行分配,称为“特定网络接口控制器NICS”(Network Interface Controller Specific)用于区分同一厂商不同产品或设备。
我们可以到IEEE的这个网站去查看厂商注册的OUI。
每8个比特位为一个字节,在表示MAC地址时,常把字节又分为2个4字节,并把这些4字节转化为十六进制数表示,不同的设备地址的表示方式不同,常见的有:XX-XX-XX-XX-XX-XX-XX
,XX:XX:XX:XX:XX:XX
,XXXX.XXXX.XXXX
2. 分类
(1) I/G位
IEEE 规定地址字段的第一字节的最低位为** I/G **位。I/G表示 Individual(单独的) / Group(组)。
·当 I/G位 = 0 时,表示单播地址。
单播地址是发送数据包时,只有具有此地址的接收方才会接收到数据包。单播地址通常用于点对点通信,即一对一的通信方式。每个设备都会有一个独特的MAC地址,用于唯一地标识此设备。
·当 I/G位 = 1 时,表示多播(或组播)地址。
组播地址是一组设备所共享的地址,只有特定的一些设备(组成员)才会接收到此地址的数据包。组播地址用于实现一对多的通信方式。
·全部比特位为1时,为广播地址,即FF-FF-FF-FF-FF-FF。
广播地址是发送至网络上所有设备的特殊地址,一旦发送广播数据包,所有连接到这个网络的设备都将收到此广播数据包。
(2)G/L位
IEEE 把地址字段第一字节的最低第 2 位规定为G/L 位,表示 Global / Local。
·当 G/L位 = 0时,是全球管理(保证在全球没有相同的地址),厂商向IEEE购买的 OUI 都属于全球管理。
·当 G/L位 = 1 时,是本地管理,这时用户可任意分配网络上的地址。
这里可能有些读者会和和我刚开始学习时一样产生疑问:既然MAC是物理唯一标识,那么为什么用户可以随意分配网络上的地址呢?这里我们稍后会解释。
3. EUI-48的数量与寿命
有前面知识的铺垫,我们不难得出MAC地址可以组合为四种不同类型“全球单播、全球多播、本地单播、本地多播”,全部的MAC地址有2^48约280万亿个,也就是这四种分类各约有70万亿个,具体请看下表。
EUI-48是否会耗尽:随着设备的不断生产,EUI-48资源也会越来越少,但距离耗尽仍还有较远时间,这并不意味着可以随意乱用,设计EUI-48时就已经计算其寿命约到2080年。尽管如此,现在也已经推出了EUI-64,所以不必过于担心。
4. 便捷查询:
如今网上已经有很多在线查询的工具,可以帮你很快的解析出MAC地址的OUI信息。在了解掌握原理的情况下,个人认为不必去耗费过多时间去自己解析、查询MAC地址信息。下面提供一些在线网址:Itool,MiniWebtool