您当前的位置:首页 > 计算机 > 网络通信

局域网协议:地址解析协议(ARP,Address Resolution Protocol)

时间:03-23来源:作者:点击数:

地址解析协议(ARP,Address Resolution Protocol)是一种用于在IP网络中将IP地址映射到物理MAC地址的协议。在IP网络中,IP是用于寻址,真正将数据包从一个设备发送到另外一个设备,用于通信的是物理MAC地址。

ARP的工作原理

1. IP地址与MAC地址映射

当设备A知道目标设备B的IP地址但不知道其MAC地址时,设备A会发送一个ARP请求广播到局域网中的所有设备,询问“谁拥有这个IP地址对应的MAC地址?”。

这个ARP请求包含了设备A自己的IP地址和MAC地址,以及要查询的目标IP地址。

在这里插入图片描述
2. 目标设备响应

当目标设备B收到ARP请求时,会检查其中的目标IP地址是否与自己的IP地址匹配。

如果匹配,设备B会向设备A发送一个ARP响应,包含自己的IP地址和MAC地址。

3. ARP缓存:

设备A收到来自设备B的ARP响应后,会将这个IP地址和MAC地址的映射关系存储在自己的ARP缓存中,以便将来的通信不再需要发送ARP请求。

这个映射会在一段时间内保持有效,在缓存过期之前,设备A可以直接使用这个映射进行通信。

ARP的重要性

1. 局域网通信

在局域网中,设备之间的通信经常需要ARP来确定目标设备的物理地址,以便找到正确的路径来传输数据包。

2. 动态网络配置

ARP允许设备在连接到网络时动态地获取其他设备的MAC地址,无需手动配置。这种自动化的过程简化了网络管理,并使设备更容易加入网络。

在动态网络环境中,设备可能会更改其IP地址或移动到不同的子网。ARP允许设备动态地更新地址映射,适应网络中不断变化的情况。

3. 协议间互通

ARP连接了网络层(使用IP地址)和数据链路层(使用MAC地址),促进了不同协议层之间的通信。它帮助不同层级的协议正确交换数据。

ARP的类型

1. Proxy ARP

Proxy ARP(代理ARP)是一种ARP扩展,用于在一个子网上的设备代理响应其他设备的ARP请求。通常情况下,ARP用于获取在同一子网上的设备的MAC地址。但在某些情况下,设备可能需要与不在同一子网上的设备进行通信,这时候就可以使用代理ARP。

2. 免费ARP

由设备发送的ARP请求或应答消息,即使它没有被请求。这种类型的ARP用于更新网络中其他设备的ARP缓存,并检测网络中重复的IP地址。

3. 反向APR

反向ARP是与标准ARP相反的过程。允许设备在只知道自己的物理(MAC)地址的情况下确定自己的IP地址的协议。它通常用于无磁盘工作站,这些工作站需要在开始在网络上通信之前找到它们的IP地址。在RARP中,设备根据自己的MAC地址发送一个RARP请求广播,请求分配一个IP地址。RARP服务器会响应该请求,提供一个IP地址给这个设备使用。

4. 标准ARP

标准ARP用于将IPv4地址映射到MAC地址。当一个设备知道要与另一个设备通信的IP地址但不知道该IP地址对应的MAC地址时,它会发送ARP请求广播,询问“谁拥有这个IP地址对应的MAC地址?”其他设备中有该IP地址的设备会响应包含其MAC地址的ARP响应,从而建立起地址映射关系。

ARP存在的安全风险

1. ARP欺骗

恶意用户可以发送虚假的ARP响应,欺骗其他设备将通信路由到错误的目标。这可能导致中间人攻击等安全问题。

如何预防ARP欺骗,可以参考:Cisco交换机关于DHCP SNOOPING的配置指令

2. ARP缓存溢出

ARP缓存有限,恶意攻击者可以通过发送大量虚假ARP请求使得缓存溢出,导致网络服务中断或拒绝服务攻击。

Cisco 交换机清除arp-cache指令:

switch#clear arp-cache ?
  interface  Clear the entire ARP cache on the interface
  <cr>
switch#clear arp-cache interface ?
  Async              Async interface
  Auto-Template      Auto-Template interface
  BVI                Bridge-Group Virtual Interface
  CTunnel            CTunnel interface
  Dialer             Dialer interface
  FastEthernet       FastEthernet IEEE 802.3
  Filter             Filter interface
  Filtergroup        Filter Group interface
  GigabitEthernet    GigabitEthernet IEEE 802.3z
  Group-Async        Async Group interface
  GroupVI            Group Virtual interface
  Lex                Lex interface
  Loopback           Loopback interface
  Null               Null interface
  Port-channel       Ethernet Channel of interfaces
  Portgroup          Portgroup interface
  Pos-channel        POS Channel of interfaces
  Tunnel             Tunnel interface
  Vif                PGM Multicast Host interface
  Virtual-Template   Virtual Template interface
  Virtual-TokenRing  Virtual TokenRing
  Vlan               Catalyst Vlans
  fcpa               Fiber Channel

Cisco Switch常用ARP配置

1. 查看ARP缓存
show arp

这个命令可以显示交换机当前的ARP缓存,列出了IP地址和相应的MAC地址。

2. 清除ARP缓存
clear arp-cache

这个命令会清除交换机上的ARP缓存,往往会在网络拓扑发生较大的变化、网络故障排除过程中会用到。但是这个指令也要谨慎使用,清除ARP缓存后,可能会短暂中断网络。

3. 配置静态ARP

范例参考如下:

arp <IP地址> <MAC地址> arpa
switch(config)#arp 172.30.99.31 f84f.574f.2cc2 ?
  arpa   ARP type ARPA
  sap    ARP type SAP (HP's ARP type)
  smds   ARP type SMDS
  snap   ARP type SNAP (FDDI and TokenRing)
  srp-a  ARP type SRP (side A)
  srp-b  ARP type SRP (side B)
4. 接口禁用RARP

在接口模式下,禁用该接口处理ARPA流量。

switch(config-if)#no arp arpa ?
  <cr>
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门