在实际应用中,我们经常会遇到这样的问题:我们已经知道一个机器的IP地址,要如何知道它的MAC地址呢?这个时候我们的ARP地址解析协议就是为此而生的.
ARP地址解析协议就是为了从网络层使用的IP解析出在数据链路层使用的硬件地址
我们来了解一下ARP地址解析协议的工作原理
目前有网A,网B,网C,路由器1,路由器2,电脑a和电脑c
网A和网B连接在路由器1上,网B又和网C连接在路由器2上.
现在呢,处于网A的电脑a想要发送信息给网c的电脑c,但是它只知道电脑c的IP地址,不知道电脑c的MAC地址
于是呢,这个时候电脑a对这个网A广播发送了一个ARP请求分组.
ARP请求分组里面包括了电脑a的IP地址,MAC地址和电脑c的IP地址.只有IP地址满足和电脑c相同的客户端才会相应该分组
如果这个时候电脑c在网A中,电脑c发现其中的电脑c的IP地址和自己一样,那么电脑c接受下该请求分组,记录下电脑a的IP地址和MAC地址,存入自己的ARP高速缓存中.然后在该分组中填入自己的MAC地址对电脑a进行回送.(此时为点对点通信)电脑a接收到该回送后也将电脑c的MAC地址和IP地址存入自己的ARP告诉缓存.
但是电脑c是在网C中,所以电脑a找到了路由器1,它将剩下的工作交给了路由器1.路由器1对网B继续广播发送这个ARP请求分组,可是电脑c也不在这个网B里面.于是路由器1找到了路由器2,它将工作交给了路由器2,路由器2对网C继续广播这个ARP请求分组,终于到了电脑c.注意这里电脑c不记录电脑a的MAC地址,电脑a也不记录电脑c的MAC地址.ARP高速缓存只保存本局域网上的IP地址和MAC地址映射.
此外ARP还把高速缓存中的每个IP地址和MAC地址的映射项目都设置了生存时间,一旦项目的生存时间到期,那么将其从高速缓存中删除.