前言:本博客仅作记录学习使用,部分图片出自网络,如有侵犯您的权益,请联系删除

一、相关知识

地址解析协议(Address Resolution Protocol,ARP)用来解决局域网内一个广播域中的IP地址和MAC地址的映射问题

如图,PC1发送给PC2的IP数据报经由路由器R1和R2转发,即PC1首先发送给R1(间接交付),然后R1再转发给R2(间接交付),最后R2发送给PC2(直接交付),IP数据报在每条链路上的转发都要封装在MAC帧中进行传输,并且使用的是MAC地址

ARP的作用就是根据下一跳的IP地址来获取下一跳的MAC地址。ARP请求MAC广播帧的形式向本地网络广播,ARP响应以MAC单播帧的形式发送给请求方。

APR报文的格式

ARP报文是直接封装在MAC帧中的,在MAC帧中的类型值为0x0806

为提高效率,主机或路由都设有ARP高速缓存,用来将请求到的映射保存起来且设有时间限制,防止因地址变化且没有及时更新造成发送失败的情况。

在华为路由器设备中执行display arp命令查看ARP映射表

 [Huawei]display arp
 IP ADDRESS      MAC ADDRESS     EXPIRE(M) TYPE INTERFACE      VPN-INSTANCE      
                                           VLAN 
 ------------------------------------------------------------------------------
 ------------------------------------------------------------------------------
 Total:0         Dynamic:0       Static:0     Interface:0

其中:EXPIRE(M)表示ARP表项的剩余存活时间TYPE表示表项类型及获取该表项的槽位号:共有3种:I(Interface)表示接口本身的MAC地址D(Dynamic)表示通过ARP报文获取的动态表项S(Static)表示通过静态配置获取的静态表项

可执行reset arp命令来清除ARP映射表中的ARP表项;执行reset arp dynamic命令清除ARP映射表中的动态ARP表项;

 <Huawei>reset arp ?
   all           Reset static and dynamic ARP entry
   dynamic       Reset dynamic ARP entry
   interface     Reset ARP entry by interface
   packet        ARP packet
   static        Reset static ARP entry

二、建立网络拓扑

路由器R1(Router)、S3700交换机;如果路由器选择AR系列,配置接口的IP地址时,需要在接口模式下执行undo portswitch将默认的二层接口模式转换为三层接口模式,这样才能配置IP地址;

三、分析同一网络内通信时ARP的工作过程

清空PC1的ARP缓存,由PC1 ping PC2,在交换机LSW1的e0/0/2和e0/0/3接口同时抓取数据包。设置显示过滤器,仅显示ARP或ICMP分组,观察交互过程及分组结构:

1、查看交换机接口

在LSW1的E0/0/2接口上捕获的ARP和ICMP分组:

在LSW1的E0/0/3接口上捕获的ARP和ICMP分组:

2、查看PC1发送的ARP请求分组,查看该分组的详细内容与结构:
3、查看PC发送的ARP响应分组
4、抓包分析

四、分析不同网络通信间通信时ARP的工作过程

由PC1 ping PC3,在G0/0/0和G0/0/1接口上抓包观察ARP分组交互过程及分组结构

查看ARP缓存:

 <Huawei>display arp
 IP ADDRESS      MAC ADDRESS     EXPIRE(M) TYPE        INTERFACE   VPN-INSTANCE 
                                           VLAN/CEVLAN PVC                      
 ------------------------------------------------------------------------------
 210.1.1.254     5489-987b-4cdf            I -         GE0/0/0
 210.1.1.1       5489-9810-0e15  19        D-0         GE0/0/0
 210.1.2.254     5489-987b-4ce0            I -         GE0/0/1
 210.1.2.1       5489-981d-13b1  19        D-0         GE0/0/1
 ------------------------------------------------------------------------------
 Total:4         Dynamic:2       Static:0     Interface:2

五、总结

  • 同一网络内通信时,ARP直接询问目的IP地址对应的MAC地址,将IP数据报直接发送给目的主机,即直接交付
  • 不同网络间通信时,ARP只需询问网关IP地址对应的MAC地址,将IP数据报交给网关,由路由器进行转发,即间接交付
  • ARP请求使用的是数据链路层广播,而ARP响应使用的是数据链路层单播

致谢

在此,我要对所有为知识共享做出贡献的个人和机构表示最深切的感谢。同时也感谢每一位花时间阅读这篇文章的读者,如果文章中有任何错误,欢迎留言指正。 

学习永无止境,让我们共同进步!!

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐