ARP协议的工作原理

地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。

为什么要有ARP协议

我们都知道,OSI 模式把网络工作分为七层,彼此不直接打交道,而是通过接口通信。 IP地址在第三层网络层, 物理地址(MAC地址)在第二层数据链路层。
协议在发生数据包时,首先要封装第三层 (IP地址)和第二层 (MAC地址)的报头, 但协议只知道目的节点的IP地址,不知道其物理地址,又不能跨第二、三层,这时候ARP协议应运而生。

ARP协议的工作原理如下:

(1)每台主机都会在自己的ARP缓冲区中 建立一个 ARP列表(地址转换表) ,以表示IP地址和MAC地址的对应关系;

(2)当源主机需要将一个数据包要发送到目的主机时,会首先检 查自己 ARP列表中 是否存在该 IP地址对应的MAC地址,如果有,就 直接将数据包发送到这个MAC地址 ;如果没有,就向本地网段 发起一个ARP请求的广播包 ,查询此目的主机对应的MAC地址。 此ARP请求数据包里包括 源主机的IP地址 、硬件地址、以及目的主机的IP地址

(3)网络中所有的主机收到这个ARP请求后,会 检查数据包中的目的IP是否和自己的IP地址一致 。如果 不相同就忽略此数据包 ;如果相同,该主机首先将发送端的MAC地址和IP地址 添加到自己的ARP列表中 ,如果ARP表中 已经存在该IP的信息,则将其覆盖 ,然后给源主机 发送一个 ARP响应数据包,告诉对方自己是它需要查找的MAC地址

(4)源主机收到这个ARP响应数据包后,将得到的目的主机的IP地址和MAC地址 添加到自己的ARP列表中 ,并利用此信息 开始数据的传输 。如果源主机一直没有收到ARP响应数据包,表示ARP查询失败。

你可能感兴趣的:(计算机网络)