MAC地址和IP地址是如何转换的

计算机网络系列文章汇总

通过ARP协议可以实现通过IP地址查找到这个主机或路由器的MAC地址,所以接下来会先了解下MAC地址和IP地址,以及ARP协议

网络适配器

MAC地址是网络适配器的标识符,所以先了解下网络适配器

计算机通过适配器用来与外界局域网进行连接,适配器有自己的处理器和存储器(包括RAM和ROM),是一个半自治的设备。通常我们会称其为网卡,是主机机箱中插入的一块网络接口板。

  • 适配器的一个重要功能就是进行数据串行和并行传输的转换
    • 适配器和局域网之间的通信是通过电缆或双绞线以串行传输的方式进行的
    • 适配器与计算机之间的通信则是通过计算机主板上的I/O总线以并行传输的方式进行的
  • 适配器必须装有存储数据的芯片
    • 网络上的数据率和计算机总线上的数据率并不相同,所以需要对数据进行存储
  • 把管理该适配器的设备驱动程序安装在计算机的操作系统上
    • 这个驱动程序以后就会告诉适配器,应当从存储器的什么位置把多长的数据库发送到局域网中
    • 应当把局域网传送过来的数据存储在存储器的什么位置上
  • 适配器还要能实现局域网数据链路层和物理层的协议

计算机的硬件地址就存储在网络适配器的ROM中,而计算机的软件地址IP地址就存储在计算机中

MAC地址

  • MAC地址是适配器的标识符,也就是说它是唯一标识这个适配器的,
  • 在广播信道上是需要地址,每个站点都必须带有一个该站点的唯一标识,以供广播信号查找地址,这个地址就是MAC地址,主机发送的帧中必须携带标识放主机和接收主机的地址。
  • MAC地址是以太网的MAC子层所使用的地址

MAC地址严格来说并不是设备的唯一标识,而是对网络上各接口的唯一标识,因为一个主机或一个路由器都可以有好多个网卡。比如一般情况下,用户主机都会包含有线局域网卡,和无线局域网卡。

注意:

  • MAC地址也叫做计算机的硬件地址或物理地址
  • 如果把一个主机的适配器更换,那么主机的Mac地址也就被更换了
  • 与主机的实际地理位置也没有关系,只与适配器有关
  • 世界上所有的适配器的地址都是不一样的,

IP地址

IP地址是主机或路由器使用的地址,用于表示主机在网络中的逻辑地址,作用在网络层,在上层经常会使用,就不再赘述

ARP协议(地址解析协议)

IP地址和MAC地址的转换过程.png

说明:

  • Mac地址是在数据链路层
  • IP地址是在网络层
  • IP地址是主机用来在网络上进行查找目的主机的地址,而不是通过MAC地址
  • 但是在IP地址查找后还需要转换成MAC地址,供数据报的传输,这个转换的过程就需要通过ARP协议了

ARP的作用就是通过IP地址查找到这个主机或路由器的MAC地址,通过ARP高速缓存表存储对应关系,重点在于如何创建缓存表

ARP高速缓存表的查找

高速缓存表的查找.png

说明:

  • 在高速缓存表中存储有IP地址和MAC地址的对应关系
  • 从数据层向网络层传数据就通过MAC地址查找IP地址
  • 从网络层向数据链路层传数据就通过IP地址查找MAC地址

ARP高速缓存表的创建

先发送广播


发送广播.png

响应后记录到表中


响应后记录到表中.png

说明:
1、源主机先发送广播帧,将自己的IP地址和MAC地址带上,并且带上需要查找的IP地址
2、其他主机接收到后如果发现IP地址就是自己,就需要返回自己的IP地址和MAC地址,单播发送给源主机,并且在自己的高速缓存表中记录源主机的对应关系
3、源主机接收到后在高速缓存表中记录

总结:

  • 源主机咋自己的ARP高速缓存表中查找目的主机的IP地址所对应的MAC地址,如果找到了,就可以直接封装MAC帧进行发送,如果找不到就发送ARP请求进行查找
  • 目的主机收到ARP请求后,将源主机的IP地址与MAC地址记录到自己的ARP高速缓存表中,然后给源主机发送ARP响应,ARP响应中包含有目的主机的IP地址和MAC地址
  • 源主机收到ARP响应后,将目的主机的IP地址与MAC地址记录到自己的ARP高速缓存表中,然后就可以封装之前想发送的MAC帧并发送给目的主机
  • ARP的作用范围:逐段链路或逐个网络使用,也就是不可以跨网段

你可能感兴趣的:(MAC地址和IP地址是如何转换的)