一、ARP 协议

物理地址需求 :数据链路层 传输数据帧时 , 必须知道 目的 IP 地址的 MAC 地址 ;


ARP 协议 : 主机 IP 地址 / 路由器 IP 地址 , 物理 MAC 地址 , 之间进行映射的协议 ;

即 给定 目的地址 , 查找 下一跳走哪个 物理地址 ;





二、ARP 协议 使用过程

ARP 协议 使用过程 :

① 检查 ARP 高速缓存 :

  • 存在对应物理地址 : 如果有 目的 IP 地址对应的 MAC 地址 , 就直接写入该 MAC 地址 ;
  • 不存在对应物理地址 : 如果没有 目的 IP 地址对应的 MAC 地址 , 则 使用 “FF-FF-FF-FF-FF-FF” 作为 MAC 地址 , 封装并广播 “ARP 请求分组” , 该局域网内所有的主机都能收到该请求 ;

② “ARP 请求分组” 处理 : 目的主机 收到 “ARP 请求分组” 后 , 向源主机 单播 “ARP 请求分组” , 源主机收到 该 “ARP 请求分组” 后 , 将 MAC 地址映射写入到 ARP 缓存中 ;

③ 更新周期 : 每隔 10 10 10 ~ 20 20 20 分钟 , 更新一次 ARP 高速缓存 ;





三、ARP 协议 四种情况

ARP 协议 四种情况 :

① 本网络 源主机 -> 本网络 目的主机 : 使用 ARP 协议找到 目的主机 物理地址 ;

② 本网络 源主机 -> 其它网络 目的主机 : 使用 ARP 协议找到本网络的 路由器 或 网关 物理地址 ;

③ 本网络 路由器 -> 本网络 目的主机 : 直接使用 ARP 协议查找 目的主机 物理地址 ;

④ 本网络 路由器 -> 其它网络 目主机 : 使用 ARP 协议找到本网络的 路由器 或 网关 物理地址 ;





四、ARP 协议规律

目的主机的两种情形 :

① 本网络主机 : 只要是发送给 本网络的主机 , 使用 ARP 协议找到主机 MAC 地址 ;

② 其它网络主机 : 只要是发送给 其它网络的主机 , 使用 ARP 协议找到 默认网关 MAC 地址 ; 后续工作交给默认网关执行 ;





五、ARP 协议 计算示例

源主机 发送 IP 数据报给目的主机 , 经过了 5 5 5 个路由器 , 期间使用了多少次 ARP 协议 ?


源主机 , 使用 ARP 协议 , 获取第 1 1 1 个路由器的 物理地址 ;

1 1 1 个路由器 , 使用 ARP 协议 , 获取第 2 2 2 个路由器的 物理地址 ;

2 2 2 个路由器 , 使用 ARP 协议 , 获取第 3 3 3 个路由器的 物理地址 ;

3 3 3 个路由器 , 使用 ARP 协议 , 获取第 4 4 4 个路由器的 物理地址 ;

4 4 4 个路由器 , 使用 ARP 协议 , 获取第 5 5 5 个路由器的 物理地址 ;

5 5 5 个路由器 , 使用 ARP 协议 , 获取 目的主机 的 物理地址 ;


总共使用了 6 6 6 次 ARP 协议 ;