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

很多初学者都不太能理解,为什么有了IP地址还要MAC地址

先上一张参考图:

 

TCP/IP的网络环境下,IP地址是TCP/IP第三层网络层的地址标识方案,IP地址是一种逻辑地址,这个地址是可以改的,它标识的是自己在一个网络中的位置,而且在这个网络中不能重复,必须唯一。

而MAC地址不同于IP地址,它是数据链路层协议以太网中的地址标识方案,数据链路层只工作在链路的两端,所以它标识的地址有效范围仅仅是在一个以太网的链路中,而不是整个大网络中。

MAC地址只存在于以太网中,像我们的电脑、手机、平板的有线和无线网络,都是以太网的格式,所以这些设备都有MAC地址。

 

还有一点,我们要搞清楚:数据链路层的组网方案不仅仅只有以太网,还有一些其他的通信协议,比如上图中的PPP、HDLC、Frame-Relay、ATM,如果网络设备的网卡在数据链路层激活的是这些协议,那它们是没有MAC地址的,但是有IP地址。

 

下面是一台Cisco路由器的以太网接口检查的命令,可以看到其中是有MAC地址和IP地址的。

MAC地址是固定在以太网卡里的,一般都不会改,所以MAC地址也叫bia地址(Burned In Address,烧录的地址)

R1#show interfaces f0/0
FastEthernet0/0 is up, line protocol is up 
  Hardware is AmdFE, address is cc01.234c.0000 (bia cc01.234c.0000)
  Internet address is 10.1.1.1/24

而下面,是HDLC协议网络接口检查的命令,其中只有IP地址没有MAC地址。

R1#show interfaces s1/0
Serial1/0 is up, line protocol is up 
  Hardware is M4T
  Internet address is 10.10.1.254/24
  Encapsulation HDLC, crc 16, loopback not set

所以,总结一下,MAC+IP是以太网环境的地址解决方案,如上图中802.11 Wireless和以太网链路都是以太网的协议,它们都有MAC地址。

另外,其他类型的网络则有不同的地址方案,比如在Frame-Relay网络的环境下,是DLCI+IP的地址解决方案;而ATM网络的环境下,则是VPI/VCI+IP的地址解决方案;还有HDLC、PPP这种类型的网络环境下,则是单独的IP地址解决方案。

 

以太网中IP地址与MAC地址的关系

以太网有一个协议叫做ARP,它会将网络中已知节点的IP与MAC进行映射,当我们的电脑想去往某个IP时,就会自动关联对应的MAC地址,将数据送到这个MAC上去。

如下图,四台设备,IP和MAC如图所示,它们用一台以太网交换机连接在一起,下面R1上关于ARP的命令行输出,可以看到R1有R2、R3、R4的IP和MAC的ARP映射关系的,所以R1能正常去往其他3台路由器。

如果R1没有去往其中某台设备的IP和MAC的ARP映射,那它就不能与这台设备通讯,它的数据无法完成网络层到数据链路层的封装。

IP地址与MAC地址的关系
R1的show arp检查自己的ARP关联表:

R1#show arp 
Protocol  Address          Age (min)  Hardware Addr   Type   Interface
Internet  10.1.1.1                -   0001.0001.0001  ARPA   FastEthernet0/0
Internet  10.1.1.2                0   0002.0002.0002  ARPA   FastEthernet0/0
Internet  10.1.1.3                0   0003.0003.0003  ARPA   FastEthernet0/0
Internet  10.1.1.4                0   0004.0004.0004  ARPA   FastEthernet0/0

未经允许不得转载:CTO十万个为什么 » 为什么有了IP地址,还要MAC地址?

赞 (0)