首页 > 其他分享 >计算机网络 ARP协议(地址解析协议)

计算机网络 ARP协议(地址解析协议)

时间:2024-07-12 17:30:04浏览次数:17  
标签:ARP 协议 缓存 主机 地址 计算机网络 MAC IP地址

        ARP(Address Resolution Protocol)是一种用于解析网络层地址(如IPv4地址)和数据链路层地址(如MAC地址)之间对应关系的协议。它主要用于在局域网(LAN)中根据目标设备的IP地址获取其对应的MAC地址,以便在数据链路层进行准确的数据传输。

ARP 协议工作原理:

  1. ARP 请求和响应

    • ARP请求(ARP Request):当主机A知道目标主机B的IP地址,但不知道B的MAC地址时,A会在本地网络广播一个ARP请求帧。这个帧中包含了A自己的IP地址、MAC地址、目标IP地址(即B的IP地址)以及一个目标MAC地址(通常设置为全0,表示请求)

    • ARP响应(ARP Reply):收到ARP请求的主机B会检查请求中的目标IP地址是否与自己的IP地址匹配。如果匹配,B会向A单播发送一个ARP响应帧,包含自己的IP地址和MAC地址。这样,主机A就能更新自己的ARP缓存,将B的IP地址和MAC地址的对应关系保存起来,以便将来的数据传输。

  2. ARP 缓存

    每台主机和路由器在收到有效的ARP响应后,会将IP地址和MAC地址的对应关系存储在本地的ARP缓存中,这样在发送数据时就不需要再次发送ARP请求,提高了数据传输的效率。
  3. ARP 重试和超时处理

    如果主机在一定时间内未收到对应的ARP响应,则会进行重试,通常会重试几次(通常为3次),如果仍未收到响应,则会认为目标不可达。ARP缓存中的对应关系会有一个超时时间,如果一段时间内没有使用某个条目,就会从缓存中删除,以确保ARP缓存中的条目是最新和有效的。
  4. ARP 欺骗(ARP Spoofing)

    ARP协议是基于广播的,并且没有身份验证机制,因此存在ARP欺骗的安全风险。攻击者可以伪造ARP响应,向网络中的主机发送虚假的IP地址与MAC地址对应关系,导致数据被发送到错误的目的地或中间人攻击等安全问题。
  5. ARP代理(ARP Proxy)

    ARP代理是一种网络设备或路由器的功能,用于帮助解析非本地子网的IP地址和MAC地址映射关系。具体来说,当一个主机A需要与另一个子网内的主机B通信时,A向其所在子网的ARP代理发送ARP请求,而不是直接广播整个子网。ARP代理在收到ARP请求后,会代表主机A向目标子网内的主机B发送ARP请求,并将B的MAC地址作为响应返回给主机A。当发送端广播ARP请求时,本地网络上不会有主机回应 (因为IP地址是外网的),此时路由器将会回应该清求,则发送源误认为路由器就是目的主机,会将报文全部转发给它,再由路由器转发报文到外网,则该路由器就被称为ARP代理。

  6. 免费ARP(Gratuitous ARP)

    免费ARP是一种特殊形式的ARP请求,通常不是用来请求解析IP地址对应的MAC地址,而是用来通知局域网中的其他主机自己的IP地址与MAC地址的对应关系已经发生变化。在主机开机配置时,会发送一个目的IP地址为自己IP地址的ARP请求报文,该报文称为免费ARP其作用如下: 1、让主机确认本地网络上是否有与自己IP地相同的主机,若有,则会返回一个错误报文 2、告诉整个广播域,目前某个IP所对应的MAC地址是什么---这一行为就像是在发宣传单,而宣传单是不需要回应的。若接收主机ARP缓存中本身就有发送源主机的IP---MAC对,则会更新,否则,会缓存发送源的IP---MAC对。下图的第一个红框免费ARP数据链路层destinationMAC为广播地址。

ARP 协议的应用场景:

  • 局域网内部通信:当主机需要向同一局域网内的其他主机发送数据时,首先通过ARP协议获取目标主机的MAC地址,然后封装成数据链路层帧发送出去。

  • 路由器转发:路由器在进行数据包转发时,通常也需要先通过ARP协议获取目标主机的MAC地址,然后才能将数据包转发到正确的出口。

  • 网络故障排查:通过ARP缓存可以查看当前主机与其他设备的IP地址和MAC地址对应关系,有助于网络管理员诊断和解决网络连接问题。

ARP协议是TCP/IP协议族中重要的一部分,负责解析IP地址与MAC地址之间的映射关系,使得网络通信能够在数据链路层正确进行。

标签:ARP,协议,缓存,主机,地址,计算机网络,MAC,IP地址
From: https://blog.csdn.net/weixin_63162063/article/details/140315450

相关文章

  • python读写西门子S7协议的传感器数据
    下列示例读写200smartPLC设备importtimefromsnap7importutil,clientimportthreadingdefread_plc_valve():whileTrue:try:#建立一个客户端对象my_plc=client.Client()#如果是200smart,必须有此段代码......
  • 计算机网络 DNS协议---域名解析
    域名解析是计算机网络中的重要过程,它指的是将人类可读的域名(例如www.example.com)转换为计算机可理解的IP地址(例如192.0.2.1)的过程。这个过程依赖于域名系统(DNS)协议的支持。 DNS协议基本概念DNS(DomainNameSystem)是互联网中用于将域名解析为IP地址的分布式命名系统。它......
  • 探索JT808协议在车辆远程视频监控系统中的应用
    一、部标JT808协议概述随着物联网技术的迅猛发展,智能交通系统(ITS)已成为现代交通领域的重要组成部分。其中,车辆远程监控与管理技术作为ITS的核心技术之一,对于提升交通管理效率、保障道路安全具有重要意义。JT808协议,全称《道路运输车辆卫星定位系统终端通讯协议及数据格式》,是我......
  • rsyslog配置(服务端、客户端)-relp协议转发
    rpm下载:https://centos.pkgs.org/7/centos-x86_64/RELP转发方式场景:日志服务器接收user.notice输出级别的日志,当然可以配置成任何其他级别。在日志服务器我们做了配置:user.notice/var/log/remote-operation.log。在client端,我们通过logger命令发送日志,其默认输出级别就是use......
  • 计算机网络——子网划分 笔记
    题型定长给出主机先确定主机位比如说主机数50台,则主机位26-2,主机位为6位,32-6=网络位26位。要求:2()-2>确定的主机数子网划分192.168.18.0/24:192.168.18.00/000001、192.168.18.01/000001、192.168.18.10/000001、192.168.18.11/000001网络地址为192.168.18.0,子......
  • Arpa’s overnight party and Mehrdad’s silent entering
    Arpa’sovernightpartyandMehrdad’ssilententering题目大意给\(n\)对情侣染色,要求情侣不能然相同颜色而且相邻\(3\)人的颜色不同,求合法方案。数据范围满足\(1\len\le10^5\)。思路钦定\(2i-1\)与\(2i\)的人吃的食物不一样,那么这样建图跑出来的一定是二分图......
  • 在Linux中,我们都知道,dns采用了tcp协议,又采用了udp协议,什么时候采用tcp协议?什么 时候采
    DNS(DomainNameSystem)确实既使用UDP协议也使用TCP协议,这是因为不同的DNS操作有不同的需求和优化目标。1.UDP协议的使用DNS主要使用UDP协议,这是由于UDP的无连接性质和较低的开销。以下是使用UDP的一些情况及其原因:标准查询:何时使用:对于大多数DNS查询,特别是常见的域名解......
  • 深入了解代理IP常见协议:区别与选择
    代理服务器在网络使用中扮演着重要的角色,是您设备和互联网之间的中间层。它不仅可以增强网络访问的安全性和隐私保护,还可以提供许多灵活的应用。使用代理时,不同的协议类型对数据交换具有不同的规则和特征。常见的代理协议包括HTTP代理、HTTPS代理和SOCKS5代理。它们有什么区别......
  • ARP协议介绍与投毒攻击
    目录ARP是什么?ARP协议工作原理ARP攻击原理攻击软件防范ReferenceARP是什么?ARP是通过网络地址(IP)来定位机器MAC地址的协议,它通过解析网络层地址(IP)来找寻数据链路层地址(MAC)的网络传输协议。ARP已经在很多网路层和数据链接层之间得以实现。不过在IPv6中用邻居发现协议(NDP)代替地址......
  • TCP协议的三次握手和四次挥手(面试)
    三次握手首先可以简单的回答:      1、第一次握手:客户端给服务器发送一个SYN报文。     2、第二次握手:服务器收到SYN报文之后,会应答一个SYN+ACK报文。     3、第三次握手:客户端收到SYN+ACK报文之后,会回应一个ACK报文。     4、服务器收......