问答中心

Answer Center

下载中心

视频中心

常见问题

售后服务

arp是什么协议?ARP协议介绍

时间:2023-01-12 10:17:03 

点击:2474 

关键词:arp,arp协议 

问题
arp是什么协议?ARP协议介绍

回答
ARP(Address Resolution Protocol,地址解析协议)是将 IP 地址解析为以太网 MAC 地址(或称物理地址)的协议。
 
在网络中,当主机或其它网络设备有数据要发送给另一个主机或设备时,它必须知道对方的网络层地址(即 IP 地址)。但是仅仅有 IP 地址是不够的,因为 IP 数据报必须封装成帧才能通过物理网络发送,因此发送站还必须有接收站的物理地址,所以需要一个从 IP 地址到物理地址的映射。ARP就是实现这个功能的协议。
 
为什么需要ARP?
 
在发送者给其他的网络设备发送数据的时候, 是以数据帧的形式发送的,数据帧被网卡解析成电信号或者光信号传递到对端。
 
数据帧是由源MAC地址和目的MAC地址组成的,如果发送者只知道目的主机的IP地址, 不知道目的主机的MAC地址, 就不能把这个数据包转化成数据帧发走,而ARP 协议就是负责地址解析的, 使用目的主机IP地址来解析对方的MAC地址。
 
如果发送者和接收者在同一个网络内,arp解析的就是接收者的MAC地址。如果发送者和接收者不在同一个网络内, arp解析的就是这个网络内网关的接口MAC地址。
 
ARP工作流程
 
在网络设备中会存在一个ARP缓存表,这个缓存表记录着这个IP 地址和MAC地址的映射关系,可以在设备终端使用arp -a 来查看本地的arp 缓存表的缓存信息。

 
arp 协议的作用, 就是形成这个arp缓存表,那么,交换机是如何形成这个缓存表的呢?
 
设备需要解析一个IP地址时, 会发出一个arp 请求报文的广播帧,2层报文中目的MAC地址为全F ,目的设备在收到ARP请求报文之后,会向源设备发送一个单播帧,该单播帧是一个ARP的应答报文,该应答报文中包含了目的设备的MAC地址。
 
同一个网络内的ARP请求和应答过程如下:
 
如图:PC 1 只知道PC3 的IP地址是10.1.1.3, 但是不知道PC3的MAC, 现在想获取PC3 的MAC地址:
 
1、发送者PC1:PC 1 会发送一个广播帧, 源IP和源MAC是PC1, 目的IP是PC3,目的MAC为FF-FF-FF-FF-FF-FF, 这个帧是广播发送的, 该网络内所有主机都会接收到,这个报文的载荷内容是一个ARP请求报文,意思是我的MAC地址是MAC1,我想给10.1.1.3发送数据, 谁是10.1.1.3, 请回复一下我。
 
2、非目的主机PC2:由于这个广播帧网络内主机都可以收到,PC2 收到这个帧, 提取IP地址, 发现, 它要找的IP地址是10.1.1.3, 我的IP地址是10.1.1.2, 这个数据包不是发给我的, 丢弃, 不回复。
 
3、 目的主机PC3:PC 3 收到这个广播数据帧后,拆开数据帧, 提取IP地址, 发现和我本地IP地址是一样的, 这个数据包就是发给我的, 然后再拆, 提取报文后, 了解到对方要请求我自己的MAC地址,然后就打包一个ARP的应答报文,源IP和源MAC都是自己的,目的IP和目的MAC是对方的,单播的发送给接收者,这样PC1 就有了PC3的MAC地址。
 
代理ARP
 
如果这两个主机不在同一个网络内, 被3层设备隔离了, 怎么通信?

 
目的IP地址与本机的IP地址位于不同网络, 由于主机A没有配置网关,所以它将会以广播形式发送ARP Request报文,请求主机B的MAC地址。但是,广播报文无法被路由器转发,所以主机B无法收到主机A的ARP请求报文,当然也就无法应答。
 
在路由器上启用代理ARP功能,就可以解决这个问题。
 
启用代理ARP后, 主机A解析网关MAC 地址过程:
 
1、主机A发送arp 请求网关MAC:   在电脑主机要先配置网关地址,主机A给主机B发送数据,发现是不同网段的数据通信,而我本地是没有这个关于B的ARP映射关系的,就会发送一个arp请求报文,解析网关MAC地址,源IP和源MAC地址都是主机A,目的IP是网关IP地址,目的MAC地址是全0。
 
2、网关回复自己的MAC 地址:网关收到这个arp请求报文后, 检查目的主机是否可达,可达,就会把自己的MAC地址以arp reply报文回复给主机A,目的主机不可达就不回复。
 
3:主机A 给主机B 发送数据:主机A收到这个arp应答报文就会把网关MAC和网关的IP地址添加进arp表,A要给主机B发送数据,需要先解析B的MAC地址,发送一个arp请求报文,源IP 和源MAC是A的信息,目的IP地址是B的IP地址,目的MAC是网关MAC。
 
4:网关收到数据包后的处理:网关收到这样的请求,会查找路由表,如果存在主机B的路由表项,路由器将会使用自己的G0/0/0接口的MAC地址来回应该ARP request。主机A收到ARP reply后,将以路由器的G0/0/0接口MAC地址作为目的MAC地址进行数据转发。
 
arp协议具体用法
 
ARP是IPv4中网络层必不可少的协议,不过在IPv6中已不再适用,并被邻居发现协议(NDP)所替代。说白了,就是把通过ip地址找到设备mac地址。
 
ARP的命令一般有三个用法,就是查询显示、添加记录、与删除记录,这个在我们做网络项目时经常会用到。
 
1、arp -a ,当你需要显示当期ip地址对应的mac地址时使用
 
当你需要了解你网络中设备对应的mac地址时,你可以使用arp地址进行显示,这个有利于我们可以清楚了解到ip地址对应的mac地址是哪台设备。
 
在命令提示符中输入“arp -a”并回车;自动在缓存中,读取IP地址和mac地址的对应关系表;

 
2、arp -s ,当你需要手动添加或绑定一条arp记录时使用。
 
手工输入一条ARP项目,格式为“ARP+空格+-a+IP地址+MAC地址”;
 
在网络中,通常在办公网络或监控项目中,为了防止用户乱改ip地址或ip地址冲突,我们需要给ip地址绑定设备的mac地址。
 
如下图,先用ARP -s 192.168.1.1 3c-22-3f-5d-f6-77绑定一条记录,然后用arp -a查询了ARP记录添加是否成功。
 
其实这个命令也叫作绑定mac地址的命令,例如一个公司的网络,员工经常喜欢改自己电脑的ip地址,经常会造成ip地址混乱,无法管理,那么这个时候你只需要把它的ip地址与它电脑mac地址进行绑定,那么下次出现网络故障,就可以直接mac地址定位到那几台电脑。
 
3、arp -d,当你觉得某条arp记录有问题时,可以删除。
 
功能为:删除所有ARP记录
 
其实如果想彻底清空ARP列表,需要您禁止所有网络连接,否则网络数据交互过程中仍然会产生新的ARP列表。
 
当你网络中出了问题,可能是有某些ip地址发生冲突了,mac对应的ip地址有误,那么你可以对它进行删除这条arp记录,然后重新添加新的记录,网络问题就会得到解决。

 

免责声明:本网站部分文章、图片等信息来源于网络,版权归原作者平台所有,仅用于学术分享,如不慎侵犯了你的权益,请联系我们,我们将做删除处理!


产品系列

工业智能网关
物通博联·WG系列工业智能网关是一款支持采集各种PLC,仪器仪表,水环保,电力设备,CNC等各种工业设备数据,具有协议解析,边缘计算的高可靠性工业智能网关,是构建工业互联网系统的核心边缘节点。
了解更多
工业数采终端
物通博联·WD系列工业数采终端,主要实现对现场工业设备的数字量DI、DO,模拟量AI,AO的采集和控制,实现LORA本地组网和4G数据上云的功能,从而实现对现场传感器、执行机构、指示灯等数采和控制。
LoRa终端
LoRa网关
DTU
RTU
4G无线IO
WIFI无线IO
了解更多
工业联网终端
物通博联·工业联系终端包含WR系列工业无线路由、WC系列网段隔离器和WS系列工业交换机。 支持5G/4G/WIFI/以太网等方式联网接入,支持VPN组网,为现场设备提供低时延、高可靠、高安全的网络接入,从而实现大规模设备组网应用。
了解更多
设备远程维护系统
物通博联·设备远程维护系统是一套实现对分散式设备远程维护和运营的软硬件系统,为工程师搭建一条通往远端设备现场的安全数据通道,实现对现场设备(PLC)的远程配置、远程诊断、远程调试和远程升级程序。
设备远程配置
设备远程调试
远程上下载程序
设备远程维护
设备远程监控
设备预防式维护
了解更多
工业设备数据平台
物通博联·工业设备数据平台是一款高并发的工业设备远程管理和工业设备数据可视化的云平台,广泛应用于智能工厂数采中台、远程设备运营管理平台、各行业的物联网数据云平台等。
海量设备接入
高效数据采集
丰富组态控件
强大的数据分析
预防式设备维护
丰富的API接口
了解更多
设备远程接入平台
物通博联·设备远程接入云平台是一款针对分布式设备数据实时监测的快速接入平台,采用SAAS云服务方式为工业现场的各种工业设备的数据互通互联建立实时在线的数据通道。
分布式项目监控
设备互通互联
无需公网IP
快速低成本接入
实时在线通道
点对点通信
了解更多

物通博联,助您开启工业数字化和智能化之路

申请样机
在线
咨询
免费
试用