地址解析协议-ARP

ARP协议

无论网络层使用何种协议,在实际网络的链路上传输数据帧时,最终必须使用硬件地址
地址解析协议(Address Resolution Protocol,ARP):完成IP地址到MAC地址的映射,每个主机都有一个ARP高速缓存,存放着IP地址到MAC地址的关系映射表(ARP表,由ARP来动态维护此表)
ARP协议的工作原理:

当需要进行数据帧的传输时进行有两种情况:

  1. ARP高速缓存表中有主机B的IP地址:可以直接查找其对应的物理地址并向目的主机发送MAC帧
  2. ARP高速缓存表中没有主机B的IP地址:找不到对应的物理地址,此时通过使用目的MAC地址为全一(即FF-FF-FF-FF-FF-FF)的帧 来封装并广播ARP请求分组,当目的主机B收到此广播帧后,向主机A发回一个**ARP响应分组(分组中包含主机B的物理地址和IP地址的映射关系),**主机A收到来自目的主机B的响应分组后,将对应的信息写入其ARP高速缓存表中,然后按照查询到的物理地址发送MAC帧

值得注意的是:源主机发送的ARP请求分组中也包含自己的IP地址和MAC地址的映射关系,因此当目的主机收到该ARP请求分组后会将源主机的IP地址和MAC地址的映射关系写入自己的ARP高速缓存表中
ARP用于解决同一个局域网上的主机或路由器的IP地址和硬件地址的映射问题 。如果所要找的主机和源主机不在同一个局域网上,那么就要通过ARP找到一个位于本局域网上的某个路由器的硬件地址,然后把分组发送给这个路由器,让这个路由器把分组转发给下一个网络。 剩下的工作就由下一个网络来做,尽管ARP请求分组是广播发送 的,但ARP响应分组是普通的单播,即从一个源地址发送到一个目的地址

  • 如图当主机H1要向主机H2发送数据时,这时主机H1在网络1中使用ARP找到目的主机H2的物理地址
  • 当主机H2要将数据传输到目的主机H3时,这是H1在网络1中使用ARP找到路由器R1的物理地址,并将数据传输给R1,剩下的工作由R1完成(将数据从R1传输到目的注意H3)
  • 当路由器R1要将数据发送到与R1连接的网络2中的主机H3时,R1在网络2中使用ARP找到目的主机H3的物理地址
  • 发送方是路由器R1,要把数据发送到网络3中的主机H4上。这是R1通过网络2使用ARP找到与网络3相连的路由器R2的物理地址,并将剩下的工作交给R2处理
相关推荐
bugtraq202125 分钟前
XiaoMi Mi5(gemini) 刷入Ubuntu Touch 16.04——安卓手机刷入Linux
linux·运维·ubuntu
xmweisi31 分钟前
【华为】报文统计的技术NetStream
运维·服务器·网络·华为认证
VVVVWeiYee36 分钟前
BGP配置华为——路径优选验证
运维·网络·华为·信息与通信
陆鳐LuLu1 小时前
日志管理利器:基于 ELK 的日志收集、存储与可视化实战
运维·elk·jenkins
DC_BLOG1 小时前
Linux-GlusterFS进阶分布式卷
linux·运维·服务器·分布式
yourkin6661 小时前
TCP...
服务器·网络·tcp/ip
cookies_s_s2 小时前
Linux--进程(进程虚拟地址空间、页表、进程控制、实现简易shell)
linux·运维·服务器·数据结构·c++·算法·哈希算法
zhouwu_linux3 小时前
MT7628基于原厂的SDK包, 修改ra1网卡的MAC方法。
linux·运维·macos
诶尔法Alpha3 小时前
Linux上使用dify构建RAG
linux·运维·服务器
Jditinpc3 小时前
计算机网络抄手 运输层
计算机网络