本人程序员,经常与数据通信打交道,这个问题偶来回答一下:
其实光有MAC地址没有IP地址,或是只有IP地址没有MAC地址都是没法正常准确通信的。
MAC地址定义:MAC(Access Control)地址,俗称,物理地址或是硬件地址。构成:MAC地址是有48比特的十六进制进制数据构成,分为24字节和后24字节,前24位叫做组织唯一标识符(Organizationally Unique Identifier,即OUI),是由IEEE的注册管理机构分配给不同的厂家,用于区分不同的网络硬件生产厂家,后24位为扩展标示符,是同一厂家对不同设备的区分,每一台网络设备具有固定的MAC地址,在其出厂时就确定了。用途:MAC地址用于区分同一网段内的不同主机,MAC地址就像大家的身份证号,用来唯一的标识一台主机。与IP地址有何异同构成:IP地址由32比特的二进制来表示,为了好记和美观将IP用十进制来表示,像192.128.1.1。在OSI网络模型中所处的位置:IP地址位于OSI模型的网络层用来标识不同的网络断,而MAC地址位于OSI的数据链路层,用来标识不同的主机。为什么有唯一的MAC地址还需要IP地址准确通信的前提:MAC地址相当于人的身份证号,与人唯一匹配,人的身份证号和拥有人的出生日期等相关,但是跟拥有人所在的位置没有关系,只知道身份证号并不能找到这个人,除非知道这个人所在的城市以及街道和门牌号,MAC地址类似,在出厂后位于哪里被使用并不知道,所以通信的时候除非两台主机位于同一网段内,否则不能通信,有了IP地址将确定了通信对象所在的网段,这样就能准确通信了。便于网络维护:当一个通信的网络主机发生故障时,有IP更容易地为主机位置,否则只有mac地址,就需要将所有的主机检查一遍。有利于数据传输:无论是局域网还是广域网,数据在通信链路上的传播,表现为数据包从一个节点传到另一个节点,有了IP地址,通过路由器的路由表更容易定位主机位置,就像你将一个仅知道身份证号的人在全国这么多人中找出来的难度远大于找出一个即知道身份证又知道街道门牌号的人。这样数据传输更有效。更高效的利用网络资源:二层次地址的寻址比单层次的寻址要更多的节省网络资源,如果在仅有MAC的网络拓扑结构之间通信,那将是极大的网络开销,不值得采用。当然,仅有IP没有MAC,也是不可取的,有IP地址的通信比起仅有MAC的通信,由于历史原因早起的通信只有集线器没有交换机,所以发出去的包能被同一网段内的所有主机监听到,有MAC地址后,只有与MAC地址的主机才接受数据包,有利于主机之间的屏蔽。
总上:仅有MAC地址的通信是不高效,不值得采用的,二层次地址寻址结构更有利于网络的拓展如果偶的回答对你有帮助,烦请点赞和转发,也可以留言共同交流,共同成长。