概述
- 出现场景:当电脑A发送一个地址请求访问电脑B的时候,首先会使用电脑A的子网掩码计算电脑A的子网号和访问地址的子网号,如果计算的子网号都是一致的,则说明要访问的电脑和电脑A都在同一子网,这时电脑A通过广播目的IP地址得到目的主机的MAC地址,然后在进行数据的传送。其中通过IP地址找到相应的MAC地址的过程,就是ARP协议的主要工作。
- 前提:目的地址和发送地址在同一链路或网络,不能跨网络使用。
- 作用:通过IP地址找到相应的MAC地址。
ARP高速缓冲表
- 功能:记录IP地址和MAC地址的对应关系,以及类型(静态/动态)
· 动态:自动获取,生命周期默认为两分钟。生命周期结束则自动删除,因为IP地址和MAC地址对应关系并不是永久性的。(更换网卡等)
· 静态:手工设置,不同操作系统下生命周期不同(如重启不存在,或重启依然有效)。一般由管理员设置。 - 注意:当一台主机从一个网络移到另一个网络时,必须改变它的IP地址,但不需改变MAC地址。因为MAC地址是网卡地址(固定),IP地址是网络分配的。
- 作用:减少ARP协议使用广播获取MAC地址会耗费大量带宽。
工作原理
发送端知道接收端的IP地址,却不知道MAC地址。
- 首先从ARP高速缓存表中查找接收端的IP地址,若查找到即可得MAC地址;
- 若未找到,发送端需要广播发送ARP请求报文(封装在MAC帧中,目的地址为FF-FF-FF-FF-FF-FF),请求报文内容包括发送端IP地址、MAC地址和接收端IP地址。
- 接收端将接收到的帧交于上层处理,判断IP地址是否一致。若不一致,不理会;
- 若一致,进行响应,将发送端IP地址与MAC地址加到自己ARP高速缓存表中,给发送端发送ARP响应报文(封装在MAC帧中,目的地址是发送端的MAC地址),告知接收端IP地址、MAC地址,接收端所发送的是单播帧,所有主机进行判断MAC是否匹配,不匹配直接丢掉该帧;
- 匹配交付上层处理,将接收端IP地址和MAC地址添加到ARP高速缓存表中。
- 接下来即可发送数据。
免费ARP
- 作用:免费检测所分配的IP地址是否唯一
学习自湖南科技大学-计算机网络微课堂:https://www.bilibili.com/video/BV1c4411d7jb
参考文章:https://zhuanlan.zhihu.com/p/128470208