您好,欢迎来电子发烧友网! ,新用户?[免费注册]

您的位置:电子发烧友网>电子百科>通信技术>

mac地址和ip地址有什么区别

2018年03月06日 14:17 网络整理 作者: 用户评论(0

  MAC地址是什么

  首先,说明一下MAC地址是啥?MAC地址是MAC(Media Access Control)协议所使用的地址,最早是在以太网中使用的,后来在IEEE中定义的802协议中被广泛使用,但也不是全部。因此,MAC地址只在802协议的网络中才有,MAC协议是数据链路层的子层,并不能说MAC地址就是数据链路层地址。什么是802协议,就是IEEE定义的一些协议,常见的由802.3(以太网)802.11(无线局域网)等等。那难道还有其他类型的吗?当然!比如移动蜂窝网络、ATM网络、IBM开发的SAN网络等等,这些都是没有MAC地址的。

  所以,这也就解释了为啥有了IP,IP是网络层的地址,而网络层的出现目的之一就是屏蔽底层硬件的差异化,也就是在LAN上,到底用什么样的方式来找到目标主机并发送消息,IP是不管的。

  所以,这个问题也变得容易回答了,可不可以没有MAC地址,答案是可以的。只要你能有种方式可以准确无误的将数据传送给目标主机即可。由于现在LAN中以太网占据了统治地位,所以MAC地址也相应的水涨船高了。

  

  IP地址是什么

  上面提到了IP地址的一个用途是屏蔽底层的差异化,实际上却远不止如此,IP地址包含两部分,一部分是网络号,一部分是主机号。对于中间路由器而言,并不关心它的主机号,而只关注网络号,在路由表中有如下对应《网络号,输出端口》(路由表由路由算法生成),然后转发。路由通过一些算法,如距离矢量协议和链路状态协议来更新路由表,这些在协议通过在路由器之间交换信息,使得路由器对整个网络拓扑有个清楚的认识。IP协议还有很多其他方面,比如拥塞控制(当路由器检测到拥塞时,可以发送源端抑制的ICMP分组,请求降低发送速度,不过现在更多在传输层做)、分段等方面。

  

  MAC地址的长度、表示方法、分配方法及其唯一性

  MAC地址的长度为48位(6个字节),通常表示为12个16进制数,每2个16进制数之间用冒号隔开,如:08:00:20:0A:8C:6D就是一个MAC地址,其中前6位16进制数08:00:20代表网络硬件制造商的编号,它由IEEE(Istitute of Electrical and Electronics Engineers电气电子工程师协会)分配,而后3位16进制数0A:8C:6D代表该制造商所制造的某个网络产品(如网卡)的系列号。每个网络制造商必须确保它所制造的每个以太网设备都具有相同的前三字节以及不同的后三个字节。这样就可保证世界上每个以太网设备都具有唯一的MAC地址。

  IP地址与MAC地址在互连网中的作用

  既然每个以太网设备在出厂时都有一个唯一的MAC地址了,那为什么还需要为每台主机再分配一个IP地址呢?或者说为什么每台主机都分配唯一的IP地址了,为什么还要在网络设备(如网卡,集线器,路由器等)生产时内嵌一个唯一的MAC地址呢?主要原因有以下几点:

  (1)IP地址的分配是根据网络的拓朴结构,而不是根据谁制造了网络设置。若将高效的路由选择方案建立在设备制造商的基础上而不是网络所处的拓朴位置基础上,这种方案是不可行的。

  (2)当存在一个附加层的地址寻址时,设备更易于移动和维修。例如,如果一个以太网卡坏了,可以被更换,而无须取得一个新的IP地址。如果一个IP主机从一个网络移到另一个网络,可以给它一个新的IP地址,而无须换一个新的网卡。

  (3)无论是局域网,还是广域网中的计算机之间的通信,最终都表现为将数据包从某种形式的链路上的初始节点出发,从一个节点传递到另一个节点,最终传送到目的节点。数据包在这些节点之间的移动都是由ARP(Address Resolution Protocol:地址解析协议)负责将IP地址映射到MAC地址上来完成的。下面我们来通过一个例子看看IP地址和MAC地址是怎样结合来传送数据包的。

  

  假设网络上要将一个数据包(名为PAC)由北京的一台主机(名称为A,IP地址为IP_A,MAC地址为MAC_A)发送到华盛顿的一台主机(名称为B,IP地址为IP_B,MAC地址为MAC_B)。这两台主机之间不可能是直接连接起来的,因而数据包在传递时必然要经过许多中间节点(如路由器,服务器等等),我们假定在传输过程中要经过C1、C2、C3(其MAC地址分别为M1,M2,M3)三个节点。

  A在将PAC发出之前,先发送一个ARP请求,找到其要到达IP_B所必须经历的第一个中间节点C1的MAC地址M1,然后在其数据包中封装(Encapsulation)这些地址:IP_A、IP_B,MAC_A和M1。当PAC传到C1后,再由ARP根据其目的IP地址IP_B,找到其要经历的第二个中间节点C2的MAC地址M2,然后再将带有M2的数据包传送到C2。如此类推,直到最后找到带有IP地址为IP_B的B主机的地址MAC_B,最终传送给主机B。在传输过程中,IP_A、IP_B和MAC_A不变,而中间节点的MAC地址通过ARP在不断改变(M1,M2,M3),直至目的地址MAC_B。

  mac地址和ip地址有什么区别

  综合上面所述,我们可以归纳出IP地址和MAC地址相同点是它们都唯一,不同的特点主要有:

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

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

  3、分配依据不同。IP地址的分配是基于网络拓朴,MAC地址的分配是基于制造商。

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

非常好我支持^.^

(10) 76.9%

不好我反对

(3) 23.1%

( 发表人:陈翠 )

      发表评论

      用户评论
      评价:好评中评差评

      发表评论,获取积分! 请遵守相关规定!