地址解析协议-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处理
相关推荐
小哈里1 分钟前
【运维】云计算的发展历程,云原生时代的运维理念&工具技术栈,高可用系统的云运维 —— 以K8S集群调度算法与命令为例
运维·云原生·kubernetes·云计算·架构设计
前端极客探险家3 分钟前
WebSocket 详解:构建一个复杂的实时聊天应用
网络·websocket·网络协议
啊哦11119 分钟前
配置防火墙和SELinux(1)
linux·服务器·网络
走狗游世俗22 分钟前
计算机网络复习 吉林大学
网络·计算机网络
A charmer36 分钟前
【Linux】文件系统知识梳理:从磁盘硬件到文件管理
linux·运维·服务器
Cynthia的梦1 小时前
Linux学习-Linux进程间通信(IPC)聊天程序实践指南
linux·运维·学习
卡戎-caryon1 小时前
【Linux网络与网络编程】03.UDP Socket编程
linux·服务器·网络·笔记·单例模式·udp·网络通信
張萠飛1 小时前
Linux的TCP连接数到达2万,其中tcp_tw、tcp_alloc、tcp_inuse都很高,可能出现什么问题
linux·网络·tcp/ip
神秘的t2 小时前
javaSE————网络原理
java·网络