有了IP地址,为什么还要用MAC地址?

如题所述

世间万物存在即合理,有了IP地址,同时还需要MAC地址最大的原因不外乎MAC地址具有IP地址所不具备的特性,而这些特性是我们所必需的不可缺少。

01 MAC地址概述

明人不说暗语,在我回答这一问题前我是根本就不知道MAC地址是什么东西的,似乎在现实中我们听到比较多的是IP地址,那么MAC 地址到底是“何方妖孽”呢?

MAC 地址 是制造商为网络硬件 (如无线网卡或以太网网卡)分配的唯一代码,它是一个用来确认网络设备位置的位址,MAC地址用于在网络中唯一标示一个网卡,一台设备若有一或多个网卡,则每个网卡都需要并会有一个唯一的MAC地址,即网卡和MAC地址是一一对应的关系。MAC地址也叫物理地址、硬件地址或链路地址,由网络设备制造商生产时写在硬件内部。这个地址与网络无关,也即无论将带有这个地址的硬件(如网卡、集线器、路由器等)接入到网络的何处,它都有相同的MAC地址,MAC地址一般不可改变,不能由用户自己设定。

想必屏幕前的你与我一样,看了半天也没看懂,那么客观的来讲,IP地址和MAC 地址有什么区别吗,这种区别使我们足以在有了IP地址之后还在使用MAC 地址呢?

02 MAC与IP地址区别

1、MAC地址的长度为48位(6个字节);而IP地址为32位。

2、MAC地址应用在OSI第二层,即数据链路层;IP地址应用于OSI第三层,即网络层。3、MAC地址的分配是基于制造商;IP地址的分配是基于网络拓朴。简单地说:ip地址是服务商给你的,mac地址是你的网卡物理地址。

3、MAC地址的分配是基于制造商;IP地址的分配是基于网络拓朴。简单地说:ip地址是服务商给你的,mac地址是你的网卡物理地址。

03 MAC必需性

对于网络上的某一设备,如一台计算机或一台路由器,其IP地址可变(但必须唯一),而MAC地址不可变。我们可以根据需要给一台主机指定任意的IP地址,如我们可以给局域网上的某台计算机分配IP地址为192.168.0.112,也可以将它改成192.168.0.200。而任一网络设备(如网卡,路由器)一旦生产出来以后,其MAC地址永远唯一且不能由用户改变。

IP 地址是基于逻辑的,比较灵活,不受硬件的限制,也容易记忆。而 MAC地址在一定程度上与硬件一致,是基于物理的,能够标识具体的网络节点。这两种地址各有优点,使用时也因条件不同而采取不同的地址。

04 总结

一.   整体与局部

信息传递时候,需要知道的其实是两个地址:终点地址(Final destination address)下一跳的地址(Next hop address)IP地址本质上是终点地址,它在跳过路由器(hop)的时候不会改变,而MAC地址则是下一跳的地址,每跳过一次路由器都会改变。这就是为什么还要用MAC地址的原因之一,它起到了记录下一跳的信息的作用。

注:一般来说IP地址经过路由器是不变的,不过NAT(Network address translation)例外,这也是有些人反对NAT而支持IPV6的原因之一。

二.   分层实现


如果在IP包头(header)中增加了”下一跳IP地址“这个字段,在逻辑上来说,如果IP地址够用,交换机也支持根据IP地址转发(现在的二层交换机不支持这样做),其实MAC地址并不是必要的。但用MAC地址和IP地址两个地址,用于分别表示物理地址和逻辑地址是有好处的。这样分层可以使网络层与链路层的协议更灵活地替换,网络层不一定非要用『IP』协议,链路层也不一定非用『以太网』协议。这就像OSI七层模型,TCP/IP五层模型其实也不是必要的,用双层模型甚至单层模型实现网络也不是不可以的,只是那样做很蛋疼罢了。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2022-09-30

我认为,IP地址和MAC地址可以类比生活中寄快递的过程。

        在整个网络中数据被封装成数据报文进行发送,就像我们生活中寄快递时将物品放进包裹中。而数据在路由器之间的跳转也可以看作是不同地区快递小哥对物流的交接。

IP地址

ip地址等价于快递包裹上的 收件人地址。

快递员通过收件人地址将包裹在出发地到目的地之间连出一条线,然后通过不同地区之间的物流中转最后将包裹送到收件人的手中。

        同理 ,ip地址也具备此功能 ,通过IP地址的网络位可以确定某个主机所在网络的位置,从而明确一条数据传送的路径。例如目的地址为192.168.10.110/26,则该地址所在的网络为192.168.10.64

用之前图示地址的寻址方式,我们可以模拟这一过程

那么,还是那个问题,为什么还要MAC地址呢?

MAC地址

MAC地址等价于快递包裹上的 收件人姓名。

MAC地址更多是用于确认对方信息而存在的。就如同快递跨越几个城市来到你面前,快递员需要和你确认以下收件人是否正确,才会把包裹交给你一样。

这里我们模拟一个场景,比如在学校里同一个班级的学生大家互相都认识,互相交流就不需要借助学号(这里抽象成ip地址),直接喊名字即可。“喂,那个谁,把你作业让我抄一下”。

这个过程可对应网络中同一个交换机或集线器连接的局域网通信。在局域网中通信需要通过MAC地址进行通信。将数据封装成帧时会插入源mac地址和目的mac地址(如果不知到对方mac地址会发送arp广播报文获取对方mac地址)。以太网帧结构:


而后,帧结构再次添加IP头部信息。

        虽然这里有ip地址,但是它在局域网中不起作用,因为arp是用于网络中寻址的,而在局域网中所有主机互相可见。(除此之外,局域网中ip地址最多是在arp广播时,作为收到包的主机解包时判定的依据,判定自己是否为目的主机,从而选择是否回应arp应答)。

        而IP地址的使用条件,是在跨网络之后。两个网络之间想要进行通信需要通过一个媒介,因为在网络内部的主机定位不到网络外的某个主机,即使他们只隔了一个网段也是一样。(欢迎关注公众号:网络工程师阿龙)而跨网段的媒介就是路由器,只要把ip地址告诉它,他就能找到对方所在的网络。


终于,我们理清楚了整个IP与MAC的关系。总结一下:

    各个设备之间传递数据时,需要使用到MAC地址以确定对方的身份(场景:两个路由器之间跳转,局域网内主机通信)。

    各个网路之间通行需要使用到IP地址,主要是为了定位目的地址所在的位置,通过IP的分段机制推演出 从源IP到目的IP的一条路径,而后数据包通过这条路径将数据送达。

第2个回答  2022-09-28

首先我们需要明确的是,MAC地址的诞生早于IP地址。在计算机设计之初,设备之间使用MAC地址互相确认身份,因为当时的网络拓扑并不大,我们完全可以让两台计算机之间两两互相发送数据。如果有5个主机需要互通的话,那么它的拓扑结构可能是这样,如图所示。

每台主机发送数据前需要携带自己和对方的目的MAC地址,因为hub集线器只是将所有数据从其他接口发送出去,它将数据的是否接收留给了主机自己判断。

各个设备之间传递数据时,需要使用到MAC地址以确定对方的身份(场景:两个路由器之间跳转,局域网内主机通信)。各个网路之间通行需要使用到IP地址,主要是为了定位目的地址所在的位置。

虽然这里有ip地址,但是它在局域网中不起作用,因为arp是用于网络中寻址的,而在局域网中所有主机互相可见。除此之外,局域网中ip地址最多是在arp广播时,作为收到包的主机解包时判定的依据,判定自己是否为目的主机,从而选择是否回应arp应答。

如果在学校网络内部向访问某个研究机构共享的资料,这就是跨网络访问了。此时IP地址才派上用场。ip地址给出一段段具备层级关系的数字地址,它就像思维导图一样可以通过给定地址高效的找出我们想要的那一项。

当有网络连接上互联网时,给它分配一个ip地址,这样就能通过这些ip地址确定对方网络(或设备)在互联网络中的位置,从而进行访问。

以上集线器和交换机都是局域网的通行,无需IP地址参与。而随着网络的扩大,局域网规则已经不再适合了。

许多个类似上述的局域网组成一个大的互联网。它们彼此相连互相通信。

简而言之,标识网络中的一台计算机,比较常用的就是IP地址和MAC地址。如果只用MAC地址的话,路由器则需要记住每个MAC地址在哪个子网,这需要路由器有极大的存储空间,是无法实现的。IP地址可以比作为地址,MAC地址为收件人,在一次通信过程中,两者是缺一不可的。

第3个回答  2022-09-27

      ⭐作为一名计算机科学与技术专业大三学生,在经过计算机网络的学习,IP地址和MAC地址是标志在网络上每一个主机的一系列二进制数字地址,它们在互联网上一定是唯一的。但是它们还是有很大不同的,都有各自的功能,都是不可或缺的,不能说有了IP地址,MAC地址就不需要了。


    🧡IP地址


      🧡TCP/IP协议是为互联网开发的系统架构和协议标准规范。主要目的是处理异种计算机网络的通信问题,是隐藏网络互联后的技术细节,为用户提供通用一致的通信服务

      🧡IP地址处于OSI协议的第三网络,地址长度为为32位,属于逻辑地址,可以被改变,它承担选择到达目标网的一条路由,并负责从一个网络向另一个网络传送数据包


    🍑MAC地址


      🍑对于MAC地址,网络设备生产厂家生产制造硬件时,将其写入硬件内部结构。这一地址与网络不相干,这就意味着网口、网络交换机、无线路由器等硬件设备在哪里用的什么网络,都具备同样的MAC地址。

      🍑MAC地址处于OSI第二层的数据链路层,地址长度为48位,能将数据信息从同一网络中的一个节点(Node)传送到另一个节点(Node),MAC地址能够识别主机


    🔶功能之间的区别与联系


      🔶可是,在物理层上发送IP数据包时,需要经过ARP(地址解析)将IP地址转变为物理地址(也就是MAC地址),因为最后的通信务必经过硬件配置提供的MAC地址。

      🔶也就是事实上,IP地址和MAC地址在通信环节中应当同时存在只有将IP地址和MAC地址结合在一起,才可以一起进行全部互联网的寻址全过程。


    🍊结束语


      🍊总的来说,全世界互联网大多数根据以太网连接。在根据TCP/IP协议的互联网中,IP地址和MAC地址是网络通讯中不可或缺的两种地址种类。

      🍊IP地址具备灵便、逻辑思维、易识别的特性。MAC地址是唯一的、不可更改的、固定于硬件上的,能够有效识别计算机网络中所有主机(包括终端以及中间的交换器、路由等)。

      🍊IP地址和MAC地址虽然没有必然的联系,但能创建一定的映射关系,借助ARP和RARP协议的紧密结合来承担和进行计算机网络里的数据通信任务。

本回答被网友采纳
第4个回答  2022-10-01

举个例子,身份证号是你的唯一标识(不会重复),小孩一出生就会有唯一标识(相当于网卡一出厂就有MAC)。如果我给你寄信,通过你的名字和身份证号就一定能把信寄给你吗?是的不一定,因为我不知道你现在的居住地(类似IP)在哪里。同理IP地址和MAC地址作用也是这样。



1.Ip地址的定义

 IP地址是指互联网协议地址(英语:Internet Protocol Address,又译为网际协议地址),是IP Address的缩写。Ip地址分为五类,类别如下

2.MAC地址的定义

MAC地址(英语:Media Access Control Address),直译为媒体访问控制地址,也称为局域网地址(LAN Address),以太网地址(Ethernet Address)或物理地址(Physical Address),它是一个用来确认网上设备位置的地址。

3.二者的分配地址不同

MAC地址用于在网络中唯一标示一个网卡,一台设备若有一或多个网卡,则每个网卡都需要并会有一个唯一的MAC地址。

IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,每个Internet包必须带有IP地址,每个Internet 服务提供商(ISP)必须向有关组织申请一组IP地址,然后一般是动态分配给其用户,一般让系统给自动分配IP地址。

4.二者的关系

IP地址与MAC地址之间并没有什么必然的联系,MAC地址是Ethernet NIC(网卡)上带的地址,为48位长。MAC地址是网卡一出厂就有的,基本不会修改。但是IP地址会根据你连的网络不同而更改。

5.总结

IP地址描述的是路途总体的 起点 和 终点;
MAC地址描述的是路途上的每一个区间的起点和终点;