地址解析协议-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处理
相关推荐
疯狂吧小飞牛7 小时前
GPG基础指令
linux·服务器·网络
C++ 老炮儿的技术栈8 小时前
volatile使用场景
linux·服务器·c语言·开发语言·c++
小饕8 小时前
苏格拉底式提问对抗315 AI投毒:实操指南
网络·人工智能
hjxu20168 小时前
【OpenClaw 龙虾养成笔记一】在远程服务器,使用Docker安装OpenClaw
服务器·笔记·docker
斯安8 小时前
车载总线与网络总结
网络
czxyvX9 小时前
009-数据链路层
网络
todoitbo9 小时前
用虚拟局域网打通 Win/Mac/Linux 三端:跨设备协作的实用方案
linux·运维·macos
源远流长jerry9 小时前
RDMA 基本操作类型详解:从双端通信到单端直访
linux·网络·tcp/ip·ip
森林猿9 小时前
java-modbus-读取-modbus4j
java·网络·python
csdn_aspnet9 小时前
AD域网络位置异常深度排错指南:从DNS到GPO的完整诊断链
网络·ad·dns··netlogon