mac地址
Mac地址是一种位于网络设备(网卡,手机,路由器等)上面的地址,全球唯一,是在局域网通信时进行寻找的标志,确保在局域网中消息可以发送到对应设备上,由12位16进制数构成,也因为如此大的表示范围,所以可以不像ipv4地址一样需要考虑公网地址复用的问题,位于数字链路层工作。
IP地址
IP地址是被分配给网络中所有设备的一个唯一标识符,与Mac地址不同的是,IP地址是被分配的,意思是可能你在这个网络是一个IP地址,但是在其他网络的IP地址就会改变,然后你回到现在这个网络IP地址又会改变,但是在这个过程中,你网卡的Mac地址是不会改变的。IP地址一般有IPv4和ipv6两种,ipv6的出现也是为了缓解ipv4地址的不足。位于网络层工作。
arp协议
在上面对于IP地址和Mac地址的描述中,我们可以发现,二者都是直接表示网路设备中的唯一性,那么这二者之间是否有一种冗余的感觉呢?是否我们只需要IP地址就可以完整的将数据发送到对应的设备上,但是这是不对的,拿我们日产中的寻宝为例子,假如IP地址就好像告诉了你宝藏在哪个省,那个县,甚至那个屋子里,但是却没有告诉你宝藏在屋子的那个准确位置,当然,你也可以将屋子全部翻遍(也就是在局域网里面进行广播),肯定可以得到宝藏(将消息发送给对应的用户),但是也会将这个屋子全部破坏掉(将消息泄漏给这个局域网的所有设备),所以说这最后确定精确位置的工作就是Mac地址的职责,因为Mac地址是存在于网络设备上面的,不会变动,可以精确定位,所以说arp协议是如何工作的呢?以及工作的情况是什么?
arp协议的工作环境
当我们在知道一个设备的IP地址,但是不知道这个设备的Mac地址的时候,我们就需要得到他的Mac地址,这就是arp协议的任务
-
同一局域网内的通信:
- 当两个设备位于同一个局域网(LAN)内,并且需要相互通信时,ARP协议会被用来解析目标设备的MAC地址。
-
IP地址已知,但MAC地址未知:
- 当一个设备知道目标设备的IP地址,但不知道其对应的MAC地址时,它会发送ARP请求来获取这个信息。
-
数据包发送前:
- 在发送数据包之前,发送设备需要确保它有正确的MAC地址来将数据包发送到正确的设备。如果它没有目标设备的MAC地址,它会使用ARP来查询。
-
路由表更新:
- 当网络中的路由表发生变化,或者设备首次加入网络时,ARP可以用来更新或获取新的路由信息。
-
网络配置变化:
- 如果网络中的设备IP地址发生变化,或者有新设备加入网络,ARP可以用来更新这些设备的MAC地址映射。
-
动态IP地址分配:
- 在使用动态主机配置协议的环境中,设备可能会动态地获得IP地址。在这种情况下,ARP可以用来在IP地址分配后解析MAC地址。
arp协议的工作原理
ARP工作流程大致如下:
■ 发送设备在局域网内广播一个ARP请求,询问“谁拥有IP地址X,请告诉我你的MAC地址”。
■ 拥有该IP地址的设备会回复一个ARP响应,包含其MAC地址。
■ 发送设备收到响应后,会将目标IP地址与MAC地址映射起来,并使用这个MAC地址来发送数据。
◦ ARP协议仅在局域网内有效,不适用于跨网络通信。