实验四 ARP 协议分析实验
2.2 ARP 协议分析实验
1.ARP 协议介绍
ARP 是地址解析协议 (Reverse Address Resolution Protocol)的缩写,负责实现从IP 地址到物理地址 (如以太网MAC 地址)的映射。在实际通信中,物理网络使用硬件地址进行报文传输。IP 报文在封装为数据链路层帧进行传送时,就有必要把 IP 地址转换为对应的硬件地址,ARP 正是动态地完成这一功能的。
(1)ARP 报文格式
图1 ARP 报文格式
ARP 协议报文是定长的,其格式如图26 所示,报文中每一字段的含义如下:
* 硬件类型:表示物理网络的类型,“0X0001”表示以太网;
* 协议类型:表示网络网络协议类型,“0X0800”表示IP 协议;
* 硬件地址长度:指定源/ 目的站物理地址的长度,单位为字节;
* 协议地址长度:指定源/ 目的站IP 地址的长度,单位为字节;
* 操作:指定该报文的类型,“1”为ARP 请求报文,“2”为ARP 响应报文;
* 源端硬件/IP 地址:由ARP 请求者填充;
* 目的站物理地址:在请求报文中为0,在响应报文中,由由发送响应报文的主机填写接收该报文的目的主机的物理地址;
* 目的站IP 地址:由ARP 请求者填充,指源端想要知道的主机的IP 地址。只有IP 地址等于该IP 地址的主机才向源主机发送相应报文。
(2)ARP 的工作方式
在以太网中,每台使用ARP 协议实现地址解析的主机都在自己的高速缓存中维护着一个 地址映射表,这个ARP表中存放着最近和它通信的同网络中的计算机的 IP 地址和对应的MAC 地址。
注意:不同网络中的IP地址将对应网关。
当两台计算机通信时,源主机首先查看自己的ARP 表中是否有目的主机的 IP 地址项,
若有则使用对应的MAC 地址直接向目的主机发送信息;否则就向网络中广播一个ARP 请求
报文,当网络中的主机收到该ARP 请求报文时,首先查看报文中的目的IP 地址是否与自己
的IP 地址相符,若相符则将请求报文中的源IP 地址和MAC 地址写入自己的ARP 表中;然
后,创建一个ARP 响应报文,将自己的MAC 地址填入该响应报文中,发送给原主机。
注意:ARP响应报文不再广播,而是直接发送给请求者。
源主机收到响应报文后,取出目的IP 地址和 MAC 地址加入到自己的 ARP 表中,并利
用获得的目的MAC 地址向目的端主机发送信息。
在实际中,为了节省内存空间和ARP 表的查询时间,若某一个ARP 地址项很久没有使
用,则会从地址映射表中删除。
2.Arp 命令简介
本次实验使用的Windows 自带的Arp 命令提供了显示和修改地址解析协议所使用的地址映射表的功能。
Arp 命令的格式要求如下:
ARP -s inet_addr eth_addr [if_addr]
ARP -d inet_addr [if_addr]
ARP -a [inet_addr] [-N if_addr]
其中:
* -s:在 ARP 缓存中添加表项:将 IP 地址 inet_addr 和物理地址 ether_addr 关联,物理地址由以连字符分隔的 6 个十六进制数给定,使用点分十进制标记指定IP 地址,添加
项是永久性的;
* -d:删除由inet_addr 指定的表项;
* -a:显示当前ARP 表,如果指定了inet_addr 则只显示指定计算机的IP 和物理地址;
* inet_addr:以点分十进制标记指定IP 地址;
* -N:显示由if_addr 指定的ARP 表项;
* if_addr:指定需要选择或修改其地址映射表接口的IP 地址;
* ether_addr:指定物理地址;
3.实验环境与说明
(1)实验目的
分析ARP 协议的报文格式,理解ARP 协议的解析过程。
(2)实验设备和连接
实验设备和连接图如图27 所示,一台S2126G 交换机连接了2 台PC 机,分别命名为
PC1、PC2,交换机命名为Switch。
图2 ARP 协议分析实验连接图
(3)实验分组
每四名同学为一组,其中每两人一小组,每小组各自独立完成实验。
4.实验步骤
步骤1:按照如图2 所示连接好设备,配置PC1 和PC2 的IP 地址;
步骤2:在: PC1、PC2 两台计算机上执行如下命令,清除ARP 缓存: ARP –d
步骤3:在PC1、PC2 两台计算机上执行如下命令,查看高速缓存中的ARP 地址映射表
的内容: ARP –a
步骤 4:在PC1 和 PC2 上运行 Wireshark 截获报文
步骤5:在主机PC1 上执行Ping 命令向PC2 发送数据报;
步骤6:执行完毕,保存截获的报文并命名为arp-1-学号;
步骤7:在PC1、PC2 两台计算机上再次执行ARP–a 命令,查看高速缓存中的ARP 地
址映射表的内容:
1)这次看到的内容和步骤3 的内容相同吗?结合两次看到的结果,理解ARP 高速缓存
的作用。
不同·
ARP高速缓存里边保存了之前进行ARP会话时返回的ARP应答中的IP地址和MAC地址对应列表。一般一条记录保存20分钟左右。目的是:下次再要访问ARP高速缓存中的IP地址的主机时,不需要再次发送ARP请求去获取MAC地址。直接从高速缓存中读取就可以了。可以有效缓解链路的压力。
2)把这次看到到的高速缓存中的ARP 地址映射表写出来。
步骤8:重复步骤: 4—5,将此结果保存为arp-2-学号;
步骤9:打开arp-1-学号,完成以下各题:
1)在截获的报文中由几个ARP 报文?在以太帧中,ARP 协议类型的
2个,0x0800
2)打开arp-2-学号,比较两次截获的报文有何区别?分析其原因。
不需要再进行广播arp,因为第一次连接时已经有了记录。
3)分析arp-1 中ARP 报文的结构,完成表1。
表1 ARP 报文分析
ARP 请求报文 ARP 应答报文
字段 报文信息及参数 字段 报文信息及参数
硬件类型 (0x0001) 硬件类型 (0x0001)
协议类型 IP (0x0800) 协议类型 IP (0x0800)
硬件地址长度 6 硬件地址长度 6
协议地址长度 4 协议地址长度 4
操作 request (0x0001) 操作 reply (0x0002)
源站物理地址 74:27:ea:c1:40:c7 (74:27:ea:c1:40:c7) 源站物理地址 14:14:4b:81:92:8b (14:14:4b:81:92:8b)
源站IP 地址 172.27.64.93 (172.27.64.93) 源站IP 地址 172.27.64.126 (172.27.64.126)
目的站物理地址 00:00:00_00:00:00 (00:00:00:00:00:00) 目的站物理地址 74:27:ea:c0💿a4 (74:27:ea:c0💿a4)
目的站IP 地址 172.27.64.126 (172.27.64.126) 目的站IP 地址 172.27.64.119 (172.27.64.119)