ARP地址解析协议
一、ARP协议的作用
网络层中使用的是IP地址,但在实际网络的链路上传送数据帧时,最终还是必须使用该网络的硬件地址。ARP协议的作用就是从网络层使用的IP地址解析出在数据链路层使用的硬件地址。
二、ARP协议的工作过程
每一个主机都设有一个ARP高速缓存,里面存放着本局域网上的各个主机和路由器的IP地址到硬件地址的映射表,而且这个映射表还经常动态更新(新增或超时删除,ARP把保存在高速缓存中的每一个映射地址项目都设置生存时间,凡超过生存时间的项目就从高速缓存中删除掉)。
当源主机要向本局域网上的某个目的主机发送IP数据报时,就先在其ARP高速缓存中查看有无目的主机的IP地址,若有,就在ARP高速缓存中查出其对应的硬件地址,再把这个硬件地址写入MAC帧,然后通过局域网把该帧发送往此硬件地址。
若在ARP高速缓存中找不到目的主机的IP地址,则源主机自动运行ARP,按步骤找出目的主机的硬件地址:
(1)源主机的ARP进程在本局域网上广播发送一个ARP请求分组,在请求分组中说明自
己的IP地址和硬件地址,以及目的主机的IP地址,请求得到目的主机的硬件地址。
(2)在本局域网上的所有主机上运行的ARP进程都收到了这个ARP请求分组。
(3)各个主机都将自己的IP地址与ARP请求分组中要查询的IP地址进行比对,由于目的
主机的IP地址与ARP请求分组中要查询的IP地址一致,所以就收下这个ARP请求
分组,并向源主机发送ARP响应分组,在ARP响应分组中写入自己的硬件地址,同
时把源主机的IP地址到硬件地址的映射关系写入自己的ARP高速缓存中。而其余的
所有主机的IP地址都与ARP请求分组中要查询的IP地址不一致,因此都不理睬这个
ARP请求分组。
(4)源主机收到目的主机发送的ARP响应分组后,就在自己的ARP高速缓存中写入目的
主机的IP地址到硬件地址的映射。
注意:
虽然ARP请求分组是广播发送的,但ARP响应分组却是普通的单播,即从一个源地址发送到一个目的地址。
ARP只能解决同一个局域网上的主机或路由器的IP地址到硬件地址的映射问题。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)