ARP协议的作用:从网络层使用的IP地址,解析出在数据链路层使用的MAC地址。
工作过程:
① PC1要发送数据给PC2,首先将数据封装好,PC1与PC2不在同一网段,PC1查询自己的ARP高速缓存,发现没有网关的MAC。
② 于是PC1以广播询问的形式发送ARP请求。
③ R1收到ARP请求,将PC1的IP与MAC地址写入自己的ARP高速缓存表中。
④ R1解封装提取目的IP发现是在询问自己的MAC,然后以单播回应的形式向PC1发送ARP响应。
⑤ PC1收到ARP响应,将R1接口1的MAC地址写入自己的ARP高速缓存表中。
⑥ PC1将数据封装好发送数据帧。
⑦ R1收到数据报,解封装取出目的IP地址,发现不是给自己的,要进行转发,查询ARP高速缓存表发现没有目的IP即IP2的IP对应的MAC,数据要从接口2转发出去,因此数据在R1的接口2处重新进行封装。
⑧ R1以广播形式发送ARP请求帧。
⑨ PC2收到ARP请求帧,将R1接口2的IP和MAC添加到自己的ARP高速缓存表中。
⑩ PC2提取目的IP发现是请求自己的MAC地址,于是以单播回应的方式向R1发送ARP响应。
⑪ R1收到响应,将PC2的MAC地址添加到自己的ARP缓存表,再刷新自己的ARP高速缓存表。
⑫ R1将缓存表中的数据重新封装然后发送数据帧。PC2收到数据报,从数据报首部提取目的IP,发现是给自己的,数据发送成功。