一、原理
ARP(地址解析协议,Address Resolution Protocol)是一种计算机网络协议,用于将网络层的IP地址映射到物理层的MAC地址,以便在局域网络中准确传递数据帧。
ARP协议的主要工作就是建立、查询、更新、删除ARP表项。
1.主机A首先检查自己的ARP缓存表,以确认其中是否已包含主机B的ARP表项。如果已存在主机B的MAC地址记录,主机A可以直接使用该MAC地址,将IP数据包进行帧封装,并将数据包发送给主机B。
2.如果主机A在ARP表中找不到主机B的MAC地址,它会将数据报文缓存起来,并随后以广播方式发送一个ARP请求报文。ARP请求报文中包括了主机A的IP地址和MAC地址,以及目标IP地址(主机B的IP地址)和目标MAC地址(通常设置为全0的MAC地址)。这个ARP请求以广播方式发送,因此该局域网络内的所有主机都会接收到它,但只有被请求的主机(即主机B)会对该请求进行响应。
3.主机B接收到ARP请求后,会比较其中的目标IP地址与自己的IP地址是否匹配。如果匹配,主机B将ARP请求中的主机A的IP地址和MAC地址存储到自己的ARP表中。随后,主机B以单播方式向主机A发送ARP响应报文,其中包含了自己的MAC地址。
4.主机A收到ARP响应后,将主机B的MAC地址添加到自己的ARP缓存表中,以备将来的通信。同时,主机A可以将IP数据包封装,并使用主机B的MAC地址将数据包发送出去。
二、作用
1.检测地址冲突
2.将IP地址转换成mac地址