ARP(Address Resolution Protocol)地址解析协议初识

标签: 网络 ARP 初识
12人阅读 评论(0) 收藏 举报
分类:

ARP(Address Resolution Protocol)地址解析协议

ARP是什么?

ARP址解析协议是根据IP地址获取物理地址的一个TCP/IP协议。它工作在OSI七层模型的中第二层——数据链路层。

ARP有什么用?

使用ARP地址解析协议,可根据网络层IP数据包包头中的IP地址信息解析出目标硬件地址(MAC地址)信息,以保证通信的顺利进行。

ARP缺点是什么?

  • 可能会受到恶意攻击——ARP欺骗
  • 与IPV6的NDP协议相比,ARP使用广播的效率偏低。

ARP的实现手段

ARP是通过报文工作的,报文的结构如下图所示:
arp报文

ARP的实现原理及工作流程是什么?

假设同一个网络中的主机A要与主机B进行通信,A和B的信息如下:
主机A的IP地址为192.168.1.1,MAC地址为0A-11-22-33-44-01;
主机B的IP地址为192.168.1.2,MAC地址为0A-11-22-33-44-02;

ARP的工作流程如下:

  1. 根据主机A上的路由表信息,得出要到达主机B的转发地址是192.168.1.2。然后主机A在自己的本地ARP缓存中查找该IP对应的MAC地址
  2. 如果在主机A的ARP缓存中没有找到对应的映射,它将向整个网络的所有主机广播询问192.168.1.2的MAC地址,广播信息中包括了源主机A的IP、MAC地址和目的主机的IP地址。本地网络上的每台主机都接收到ARP请求并且检查请求中的目的IP是否与自己的IP地址匹配,如果主机发现请求的IP地址与自己的IP地址不匹配,它将丢弃ARP请求。
  3. 主机B确定ARP请求中的IP地址与自己的IP地址匹配,则将主机A的IP地址和MAC地址映射添加到本地ARP缓存中。
  4. 主机B将包含其MAC地址的ARP回复消息直接发送回主机A。
  5. 当主机A收到从主机B发来的ARP回复消息时,会用主机B的IP和MAC地址映射更新ARP缓存(本地缓存是有生存期的,生存期结束后,将再次重复上面的过程)。主机B的MAC地址一旦确定,主机A就能向主机B发送IP通信了。

ARP缓存

ARP缓存是个用来储存IP地址和MAC地址的缓冲区,其本质就是一个IP地址–>MAC地址的对应表。在windows cmd下输入 “arp -a”就可以看到这个映射信息:

arp

ARP缓存可以包含动态和静态项目。

  • 动态项目随时间推移自动添加和删除。每个动态ARP缓存项的潜在生命周期是10分钟。新加到缓存中的项目带有时间戳,如果某个项目添加后2分钟内没有再使用,则此项目过期并从ARP缓存中删除;如果某个项目已在使用,则又收到2分钟的生命周期;如果某个项目始终在使用,则会另外收到2分钟的生命周期,一直到10分钟的最长生命周期。
  • 静态项目一直保留在缓存中,直到重新启动计算机为止。

ARP欺骗是什么?

ARP请求为广播形式发送的,网络上的主机可以自主发送ARP应答消息,并且当其他主机收到应答报文时不会检测该报文的真实性就将其记录在本地的MAC地址转换表,这样攻击者就可以向目标主机发送伪ARP应答报文,从而篡改本地的MAC地址表。
ARP欺骗可以导致目标计算机与网关通信失败,更会导致通信重定向,所有的数据都会通过攻击者的机器,因此存在极大的安全隐患。

ARP欺骗的防御措施?

  • 设置静态的MAC–>IP对应表,不要让主机刷新设定好的转换表。
  • 使用ARP服务器。
  • 管理员定期轮询,检查主机上的ARP缓存。

ARP的相关或类似协议

  • RARP(Reverse Address Resolution Protocol 反向地址转换协议):它是根据MAC地址请求IP地址的协议,其功能与地址解析协议相反。
  • PARP(Proxy ARP 代理ARP):ARP工作在一个网段中,而代理ARP则工作在不同的网段之间。网关收到源计算机的 ARP 请求后,会使用自己的 MAC 地址与目标计算机的 IP地址对源计算机进行应答。
  • NDP(Neighbor Discovery Protocol邻居发现协议):地址解析协议是IPv4中必不可少的协议,但在IPv6中将不再存在地址解析协议。在IPv6中,地址解析协议的功能将由NDP实现,它使用一系列IPv6控制信息报文(ICMPv6)来实现相邻节点(同一链路上的节点)的交互管理,并在一个子网中保持网络层地址和数据链路层地址之间的映射。地址解析协议以及ICMPv4路由器发现和ICMPv4重定向报文基于广播,而NDP的邻居发现报文基于高效的组播和单播。



参考文章:https://baike.baidu.com/item/ARP/609343?fr=aladdin

查看评论

ARP Address Resolution Protocol”(地址解析协议)的缩写

查看设备的ip地址和mac地址的对应关系,局域网是根据这张表来通信的,也叫arp缓存。 ARP协议是“Address Resolution Protocol”(地址解析协议)的缩写。在局域网中,...
  • happypolo
  • happypolo
  • 2012年05月30日 11:41
  • 1441

ARP, Address Resolution Protocol

http://www.networksorcery.com/enp/protocol/arp.htm
  • robertcarlos
  • robertcarlos
  • 2011年06月21日 21:16
  • 222

BIOS/UEFI基础——UEFI网络框架之ARP

BIOS/UEFI基础——UEFI网络框架之ARP
  • jiangwei0512
  • jiangwei0512
  • 2016年11月13日 20:41
  • 860

ARP地址解析协议工作原理

ARP 是地址解析协议,简单解释一下工作原理。 ( 1 )首先,每个主机都会在自己的 ARP 缓冲区中建立一个 ARP 列表,以表示 IP 地址和 MAC 地址之间的对应关系。 ( 2 )当源主机...
  • Tanganq
  • Tanganq
  • 2017年10月17日 14:57
  • 598

ARP地址解析协议

我们假设这样一个场景:你需要和你网络中的一个设备进行通信,这个设备可能是某种服务器。你用来创建这个通信的应用已经得到了这个远程主机的ip地址,也意味着系统已经有了用来构建它想要在第三层到第7层传递数据...
  • rongdeguoqian
  • rongdeguoqian
  • 2014年01月03日 23:22
  • 3744

tcp-ip ARP: Address Resolution Protocol

When an Ethernet frame is sent from one host on a LAN to another, it is the 48-bit Ethernet address ...
  • u014211079
  • u014211079
  • 2014年12月26日 13:49
  • 552

2.1. Address Resolution Protocol (ARP)

 原贴:http://linux-ip.net/html/ether-arp.html 2.1. Address Resolution Protocol ...
  • chinalinuxzend
  • chinalinuxzend
  • 2007年10月08日 20:56
  • 2095

ARP地址解析协议原理

理解ARP协议 ARP地址解析协议,是一个很重要的协议。当一个数据帧经过多次路由到达目的网络时,路由器只能知道其数据帧中的目的IP地址,而不知目标主机的硬件地址(网络层使用的是IP地址,但是在实际网...
  • D_leo
  • D_leo
  • 2017年06月25日 23:19
  • 918

TCP-IP详解卷1-04:ARP:地址解析协议(Address Resolution Protocol)

ARP
  • chpdirector84
  • chpdirector84
  • 2010年11月24日 23:05
  • 1296
    个人资料
    专栏达人 持之以恒
    等级:
    访问量: 32万+
    积分: 3541
    排名: 1万+
    博客专栏
    最新评论