地址解析协议-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处理
相关推荐
黑客Ash1 小时前
【D01】网络安全概论
网络·安全·web安全·php
->yjy1 小时前
计算机网络(第一章)
网络·计算机网络·php
sinat_384241091 小时前
使用 npm 安装 Electron 作为开发依赖
服务器
朝九晚五ฺ2 小时前
【Linux探索学习】第十四弹——进程优先级:深入理解操作系统中的进程优先级
linux·运维·学习
摘星星ʕ•̫͡•ʔ3 小时前
计算机网络 第三章:数据链路层(关于争用期的超详细内容)
网络·计算机网络
Kkooe3 小时前
GitLab|数据迁移
运维·服务器·git
.Ayang3 小时前
SSRF漏洞利用
网络·安全·web安全·网络安全·系统安全·网络攻击模型·安全架构
久醉不在酒3 小时前
MySQL数据库运维及集群搭建
运维·数据库·mysql
好想打kuo碎3 小时前
1、HCIP之RSTP协议与STP相关安全配置
网络·安全