首页 > 其他分享 >ARP 地址解析协议

ARP 地址解析协议

时间:2023-11-16 12:03:15浏览次数:32  
标签:ARP 缓存 主机 MAC 地址 IP地址 解析


概念:

  ARP(Address Resolution Protocol)是一种网络协议,用于将网络层的IP地址映射到物理网络接口(MAC地址),以便在局域网(LAN)上进行通信。其主要作用是解决从IP地址到MAC地址的映射关系,使得数据包能够通过物理网段正确地传递。

当计算机发送数据包到目标IP地址时,它需要知道目标IP对应的MAC地址才能正确地转发数据。这时就会使用ARP协议来完成以下过程:

  1. ARP请求(ARP Request):发送方主机向局域网上的广播地址发送一个ARP请求,该请求包含源主机的IP地址和MAC地址,并询问具有目标IP地址的设备的MAC地址。
  2. ARP应答(ARP Reply):拥有目标IP地址的设备收到ARP请求后,会向发送方主机发送一个ARP应答,其中包含它的IP地址和MAC地址。
  3. ARP缓存(ARP Cache):发送方主机在收到ARP应答时,将对应IP地址和MAC地址的映射关系存储在ARP缓存中,在之后的通信中可以直接使用该映射关系。

ARP协议的使用场景:

  1. 在局域网内部,当主机A要发送数据给主机B时,会先通过ARP协议查询目标主机B的MAC地址,并将数据包封装在以太网帧中发送到目标MAC地址。
  2. 当一个路由器接收到一个来自外部网络的数据包,并需要将其转发到目标主机时,也会利用ARP协议查询目标主机的MAC地址。

ARP协议的常用配置:

  • ARP协议的配置通常涉及以下两个方面:
  1. ARP缓存表:每个主机或路由器都维护一个ARP缓存表,其中存储了IP地址和相应的MAC地址的对应关系。该表用于快速查找目标MAC地址,在必要时可以手动添加或删除条目。
  2. ARP请求与回应:当一个主机需要获取另一个主机的MAC地址时,它会发送一个ARP请求广播消息,询问该IP地址对应的MAC地址。而目标主机则会回复一个ARP响应消息,包含自己的MAC地址。

ARP协议的使用过程:

  以下是一个示例说明ARP的使用过程:

假设有两台主机A和B,它们连接在同一个局域网上,具有以下信息:

  • 主机A的IP地址:192.168.0.10,MAC地址:AA:BB:CC:DD:EE:FF
  • 主机B的IP地址:192.168.0.20,MAC地址:11:22:33:44:55:66
  1. 主机A想要向主机B发送数据包。
  2. 主机A首先检查ARP缓存,看是否有目标IP地址(192.168.0.20)对应的MAC地址。
  3. 如果在ARP缓存中找到了目标IP地址对应的MAC地址,则直接使用该映射关系发送数据包。
  4. 如果ARP缓存中没有目标IP地址的映射关系,在主机A上发送一个ARP请求,广播给整个局域网。
  5. 主机B收到ARP请求后,检查请求中的IP地址是否与自己的IP地址相匹配。
  6. 如果匹配,主机B会发送一个ARP应答,将自己的IP地址和MAC地址作为应答发送给主机A。
  7. 主机A收到ARP应答后,将目标IP地址(192.168.0.20)和相应的MAC地址(11:22:33:44:55:66)存储在ARP缓存中,并使用此映射关系发送数据包到主机B。

  这样,通过ARP协议的帮助,主机A成功地获取了主机B的MAC地址,并可以进行正常的通信。

  需要注意的是,ARP协议仅适用于同一物理网络的局域网内部,而不涉及跨越路由器的网络通信。对于跨越子网的通信,使用ARP的方法与上述过程略有不同,包括使用代理ARP或者通过网关进行通信。

  可以看下 一个arp 抓包的内容如下:

ARP 地址解析协议_映射关系

 

 

查看路由器或主机上的ARP缓存表:

  • 在Windows操作系统上,可以使用命令arp -a来查看本地主机的ARP缓存表。在路由器上,具体的查看方法可能因厂商和操作系统而异。
  • 在Linux操作系统上,可以使用命令arp -n来查看本地主机的ARP缓存表。路由器上的具体查看方法可能需要参考相关文档或运行特定的命令。
  • ARP 地址解析协议_缓存_02

  • 在路由交换设备上,可以通过dispaly arp all 命令查看当前所有得arp缓存表。

             

ARP 地址解析协议_IP_03

 

 

 



标签:ARP,缓存,主机,MAC,地址,IP地址,解析
From: https://blog.51cto.com/u_15535797/8416097

相关文章

  • 彻底弄懂ip掩码中的网络地址、广播地址、主机地址
    概念理解:IP掩码(或子网掩码)用于确定一个IP地址的网络部分和主机部分。它是一个32位的二进制数字,与IP地址做逻辑与运算,将IP地址划分为网络地址和主机地址两部分。在理解IP地址段中的网络地址、广播地址和主机地址之前,首先需要了解IP地址的构成。IP地址由网络号和主机号组成,根据IP......
  • 【随手记】解析 JSON 中的 Null 值遇到的问题
    在Java中解析JSON字符串时,不同的库会对JSON中的null值有不同的处理方式。本文探讨阿里巴巴的JSONObject和net.sf.json.JSONObject在处理null值时的差异。阿里巴巴的JSONObject阿里巴巴的JSONObject.parseObject方法,在解析JSON字符串时,会将JSON中的null......
  • KMeans算法全面解析与应用案例
    本文深入探讨了KMeans聚类算法的核心原理、实际应用、优缺点以及在文本聚类中的特殊用途,为您在聚类分析和自然语言处理方面提供有价值的见解和指导。关注TechLead,分享AI全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验......
  • 安装warp-transducer时cmake.. 出现 Building shared library with no GPU
    warp-transducerAfastparallelimplementationofRNNTransducer(Graves2013jointnetwork),onbothCPUandGPU.GPUimplementationisnowavailableforGraves2012addnetwork.GPUPerformanceBenchmarkedonaGeForceGTX1080TiGPU.T=150,L=40,A=2......
  • 第五章 密钥分配与密钥管理 —— 现代密码学(杨波)课后题答案解析
    第五章作业参考答案1.在公钥体制中,每一用户U都有自己的公开钥PKU和秘密钥SKU。如果任意两个用户A,B按以下方式通信,A发给B消息(EPKB(m),A),B收到后,自动向A返回消息(EPKA(m),B),以使A知道B确实收到报文m,(1)问用户C怎样通过攻击手段获取报文m?答:当A发给B消息(EPKB(m),A)时,A的身份......
  • CreateCollection API执行流程_milvus源码解析
    CreateCollectionAPI执行流程源码解析milvus版本:v2.3.2CreateCollection这个API流程较长,也是milvus的核心API之一,涉及的内容比较复杂。这里只介绍和元数据相关的流程。整体架构:CreateCollection的数据流向:1.客户端sdk发出CreateCollectionAPI请求。frompymilvusim......
  • 网页解析_bs4-01
    一:简介1.BeautifulSoup是一个可以从HTML或XML文件中提取数据的Python库,它的使用方式相对于正则来说更加的简单方便,常常能够节省我们大量的时间。2.BeautifulSoup的安装也是非常方便的,pip安装即可。   pipinstallbeautifulsoup4    3.解析器:Be......
  • Kotlin委托的深入解析与实践
    引言在Kotlin编程语言中,委托是一项强大的特性,它能够极大地简化代码,提高代码的可维护性。本文将深入探讨Kotlin中的委托机制,介绍其原理、具体使用方式以及实际应用场景。委托的原理委托是一种通过将实际工作委托给其他对象来实现代码重用的机制。在Kotlin中,委托通过关键字by来实现......
  • CreateCollection API执行流程_milvus源码解析
    CreateCollectionAPI执行流程源码解析milvus版本:v2.3.2CreateCollection这个API流程较长,也是milvus的核心API之一,涉及的内容比较复杂。这里只介绍和元数据相关的流程。整体架构:CreateCollection的数据流向:1.客户端sdk发出CreateCollectionAPI请求。frompymilvusimp......
  • 《全网最细-深度解析 Istio Ambient Mesh 流量路径》摘要
    ----NodeA首次上行--------APREROUTING-jztunnel-PREROUTING-Aztunnel-PREROUTING-ptcp-mset--match-setztunnel-pods-ipssrc-jMARK--set-xmark0x100/0x100-Aztunnel-PREROUTING-mmark--mark0x100/0x100-jACCEPTfromallfwmark0x100/0x100lookup101101......