首页 理论教育以太网MAC地址:改善明确化

以太网MAC地址:改善明确化

【摘要】:在一个稳定的网络中,IP 地址和MAC 地址是成对出现的。IP 地址和MAC 地址的这种映射关系由ARP 协议完成。这样,每个网卡的MAC 地址就实现了全球唯一。与广播MAC 地址相对的,是可以唯一标识目的地址的全局唯一MAC 地址,这种MAC地址称为单播MAC 地址。IP 地址为32 位,MAC 地址为48 位。IP 地址的分配基于网络拓扑,MAC 地址的分配基于制造商。IP 地址应用于OSI/RM 第三层,即网络层;MAC 地址应用于OSI/RM 第二层,即数据链路层。

MAC 地址即介质访问控制或物理地址、硬件地址,用来定义网络设备的位置。在OSI/RM 中,网络层负责IP 地址,数据链路层负责MAC 地址。因此,一个主机会有一个MAC 地址,而每个网络位置会有一个专属于它的IP 地址。在一个稳定的网络中,IP 地址和MAC 地址是成对出现的。如果一台计算机要和网络中的另一台计算机通信,就要配置这两台计算机的IP 地址。MAC 地址是网卡出厂时设定的,这样配置的IP 地址就和MAC 地址形成了一种对应关系。在数据通信时,IP 地址负责表示计算机的网络层地址,网络层设备(如路由器)根据IP 地址进行操作;MAC 地址负责表示计算机的数据链路层地址,数据链路层设备(如交换机)根据MAC 地址进行操作。IP 地址和MAC 地址的这种映射关系由ARP 协议完成。

以太网帧格式的目的MAC 地址字段和源MAC 地址字段都占6 字节,这6 字节的地址表示一个12 位的十六进制数,如6A5 E.0285.AC60 或6A-5E-02-85- AC-60,这就是MAC 地址的表示方式。当设备在局域网中转发数据时,需要知道目的设备的MAC 地址后才能封装数据帧,因此,MAC 地址在局域网中应是唯一的,只有这样才能保障其唯一标识一个目的地。MAC 地址是由硬件设备生产商固化在接口板卡上的地址,该地址的分配随着产品的销售随机流入各个局域网中,要想确保MAC 地址在局域网中是唯一的,必须保障它是全球唯一的。因此,为了让MAC 地址是全球唯一的,IEEE 为各个硬件设备生产商分配了一个唯一的3 字节代码,即MAC 地址的前3 字节,称为厂商唯一标识符(Organizationally Unique Identifier,OUI);剩下的3 字节由各个硬件生产商分配给网卡,称为设备标识符。这样,每个网卡的MAC 地址就实现了全球唯一。

在设备发送ARP 请求时,它要把数据帧的目的MAC 地址设置为一个广播MAC 地址,设备封装这样一个数据帧,是因为它不知道目的设备的MAC 地址。为了让目的设备作出响应,它必须以一个所有设备都会查看的地址作为目的地址来封装这个数据帧,而广播MAC地址就是这样的地址。具体来说,广播MAC 地址就是最大值,所有位都是进制“1”,即FFFF.FFFF.FFFF 或FF-FF-FF-FF-FF-FF。

与广播MAC 地址相对的,是可以唯一标识目的地址的全局唯一MAC 地址,这种MAC地址称为单播MAC 地址。介于单播MAC 地址和广播MAC 地址之间还有一种情形,主机希望将数据帧发送给LAN 中的一部分设备,因此,它的目的MAC 地址既不能是标识全体设备的广播MAC 地址,也不能是标识某一台设备的单播MAC 地址,这时,帧中的目的地址就需要填写一个组播MAC 地址。MAC 地址区分单播和组播的方式与IP 地址不同,IP 地址是划分出一段连续的地址范围用作组播,而MAC 地址是以二进制中的一位来表示该地址是单播地址还是组播地址。MAC 地址由6 个十六进制8 位组构成,IEEE 802.3 中规定第1 个8 位组的最低有效位用来标识单播和组播,0 为单播,1 为组播。例如,01-a6-03-ef-69-3c 中第1 个8 位组01 转换为二进制即00000001,最低有效位为1,所以该地址为组播地址。

IP 地址就如同一个职位,而MAC 地址则好像去应聘这个职位的人才。同样的道理,一个节点的IP 地址对于网卡不进行要求,基本上任何厂家都可以用,即IP 地址与MAC 地址并不存在绑定关系。有的计算机流动性较强,正如同人才可以给不同的单位工作一样。职位和人才的对应关系与IP 地址和MAC 地址的对应关系类似。例如,如果一个网卡坏了,可以被更换,而无须取得一个新的IP 地址;如果一个IP 主机从一个网络移到另一个网络,可以给它一个新的IP 地址,而无须换一个新的网卡。当然,MAC 地址仅有这个功能是不够的,用人类社会与网络进行类比,可以发现它们的相似之处,有助于更好地理解MAC 地址的作用。无论是局域网还是广域网中的计算机之间的通信,最终都表现为将数据包从某种形式的链路上的初始节点出发,从一个节点传递到另一个节点,最终传送到目的节点。数据包在这些节点之间的移动都是由ARP 负责将IP 地址映射到MAC 地址上来完成的。人类社会和网络是相似的,在人际关系网络中,甲要传递信息给丁,可以通过乙和丙进行中转,最后由丙转告给丁。在网络中,这个信息就像网络中的一个数据包。数据包在传送过程中会不断询问相邻节点的MAC 地址,这个过程就像人类社会中的信息传送过程。通过这两个例子,可以进一步理解MAC 地址的作用。

IP 地址和MAC 地址的相同点是它们都是唯一的,不同点有以下几个:(www.chuimin.cn)

(1)对于网络上的某一设备,如一台计算机或一台路由器,其IP 地址是基于网络拓扑设计的,在同一台设备或计算机上改动IP 地址是很容易的(但必须唯一);而MAC 则是生产厂商烧录好的,一般不能改动。可以根据需要给一台主机指定任意的IP 地址,如可以给局域网上的某台计算机分配IP 地址为192.168.0.112,也可以将它改成192.168.0.200。而任一网络设备(如网卡、路由器)一旦生产出来以后,其MAC 地址不可由本地连接内的配置进行修改。如果一个计算机的网卡坏了,在更换网卡之后,该计算机的MAC 地址就变了。

(2)长度不同。IP 地址为32 位,MAC 地址为48 位。

(3)分配依据不同。IP 地址的分配基于网络拓扑,MAC 地址的分配基于制造商。

(4)寻址协议层不同。IP 地址应用于OSI/RM 第三层,即网络层;MAC 地址应用于OSI/RM 第二层,即数据链路层。数据链路层协议可以使数据从一个节点传递到相同链路的另一个节点上(通过MAC 地址),而网络层协议可以使数据从一个网络传递到另一个网络上(ARP 根据目的IP 地址找到中间节点的MAC 地址,通过中间节点传送,最终到达目的网络)。

微课4-4