网络层笔记七、地址解析协议ARP
引言:在上一篇笔记中,我们介绍了硬件地址与IP地址的关系,以理解数据在协议栈的流动。本篇笔记将介绍地址解析协议ARP(IP地址->硬件地址),介绍其产生由来、实现原理、常用情景。
一、地址解析协议ARP需求
在上一篇笔记中,我们介绍了数据在协议栈中的流动。我们知道,在网络层使用的是IP地址,但在实际网络的链路中传送数据帧时,最终还是必须使用该网络的硬件地址。但IP地址和硬件地址之间由于格式不同而不存在简单的映射关系,(例如IP地址有32位,而局域网的硬件地址有48位)。我们需要已知一个机器(主机或者路由器)的IP地址,找到其对应的硬件地址。
地址解析协议ARP(Address Resolve Protocal)就是用来解决这样的问题 的,图1说明了ARP协议的作用。
图1、ARP协议的作用
由于是IP协议使用了ARP协议,因此通常就把ARP协议划归网络层,但ARP协议的用途是为了从网络层使用的IP协议解析出在数据链路层使用的硬件地址。
二、地址解析协议ARP的实现
地址解析协议的用途是完成IP协议至硬件地址的解析,ARP解决这个问题的办法是在主机ARP高速缓存中存放一个从IP地址到硬件地址的映射表,并且这个映射表还经常动态更新(新增或者超时删除)。