实验三 ARP地址解析协议一实验目的
1 掌握ARP协议的作用和格式;
2 理解IP地址与MAC地址的对应关系;
3 了解ARP命令。
二实验内容
1 学习ARP协议的工作原理;
2 掌握ARP协议的作用和使用方法;
3 理解IP地址与MAC地址的对应关系;
4 学习使用ARP命令。
三实验环境
四实验流程
五实验原理
IP数据包常通过以太网传输,在以太网中是以48位的物理地址传输数据包而不是32位的IP地址。因此当我们知道IP地址不知道MAC地址时,就要用到ARP协议。ARP协议的功能是将网络层的IP地址转换为数据链路层的MAC地址。ARP协议的请求包是以广播方式发送的,网段中的所有主机都会接收到这个包。如果一个主机的IP地址和ARP请求中的目的IP地址相同,该主机会对这个请求数据包作出ARP应答,将其MAC地址发送给请求端。
1 ARP请求或应答的分组格式:
硬件类型(2字节)协议类型(2字节)
物理地址长度协议地址长度操作码(2字节)
发送节点物理地址(6字节)
发送节点协议地址(4字节)
目的节点物理地址(6字节)
目的节点协议地址(4字节)
字段说明:
硬件类型:表示硬件类型,例如:0001表示以太网。
协议类型:表示要映射的协议类型,例如 0x0800表示IP地址。
硬件长度:指明硬件地址长度,单位是字节,MAC是48位,6个字节。06。
协议长度:高层协议地址的长度,对于IP地址,长度是4个字节。04。
操作字段:共有二种操作类型,0001表示ARP请求,0002表示ARP应答。
发送方MAC:6个字节的发送方MAC地址。
发送方IP: 4个字节的发送方IP地址。
目的MAC:6个字节的目的MAC地址。
目的IP: 4个字节的目的IP地址。
2 ARP缓存和ARP命令
为减少广播通信量和提高ARP解析速度,每个主机都有ARP高速缓存,用于存放解析过的MAC和IP的映射关系。ARP缓存表是可以通过命令查询的。在命令提示符下,输入“arp -a”可以查看ARP缓存表中的内容,“arp -d”清除ARP缓存,“arp -s”添加ARP缓存。
3 ARP工作过程
假设网络中的计算机A要和计算机B交换数据,首先计算机A要得到计算机B的IP地址和MAC地址的映射关系,工作过程如下:1)计算机A检查自己的高速缓存中的ARP表,判断ARP表中是否存有计算机B的IP地址与MAC地址的映射关系。如果找到,则完成ARP地址解析;如果没有找到,则转至2)。
2)计算机A广播含有自身IP地址与MAC地址映射关系的请求信息包,请求解析计算机B的IP的地址与MAC地址映射关系。
3)包括计算机B在内的所有计算机接收到计算机A的请求信息,然后将计算机A的IP地址与MAC地址的映射关系存入各自的ARP表中。
4)计算机B发送ARP响应信息,通知自己的IP地址与MAC地址的对应关系。
5)计算机A收到计算机B的响应信息,并将计算机B的IP地址与MAC地址的映射关系存入自己的ARP表中,从而完成计算机B的ARP地址解析。
六实验步骤
步骤1: ARP相关命令简要说明
1)查看本地主机MAC地址
2)查看ARP缓存表
3)添加ARP记录
步骤2:分析ARP协议
1)在本机命令arp -a 可以查看ARP缓存表中的ARP记录,用arp -d 命令删除ARP缓存中的记录。
2)在本机开启数据包分析器进行数据包捕获。
3)用命令ping 172.16.1.253.
4)捕获ARP报文进行分析。
捕获的ARP请求报文如下:
捕获的ARP应答报文如下:
在ARP请求报文的数据帧头中,源物理地址为发送请求的主机物理地址:00-1b-fc-a6-ae-e2,目的物理地址为广播地址ff-ff-ff-ff-ff-ff-ff,协议类型为0806,表示上层协议为ARP协议。
在ARP应答报文中的数据帧头中,源物理地址为发送ARP应答的物理地址,目的物理地址为发送ARP请求的物理地址。
步骤3:同一子网发送ARP请求数据包
1)在命令提示符下运行:C:>arp –d 清空ARP高速缓存。
2)编辑并发送ARP请求报文,如图所示
3)在本地上开启数据包分析器,进行数据包捕获分析,捕获报文如下图所示:
从上图可以看到,当编辑ARP请求报文发送给目的端后,目的端会发送操作码为2的应答报文,通告自己的IP地址与MAC地址对应关系。
4)用命令arp -a可以查看到ARP缓存中的远程主机172.16.1.253的ARP记录,如下图所示。
七思考问题
结合实验过程中的实验结果,回答下列问题:
1)观察实验过程中捕获网络上的多个ARP请求帧,观察这些帧的以太网目的地址是否相同,分析其原因。
2)观察实验过程中捕获网络上的多个ARP应答帧,观察这些帧的以太网目的地址是否相同,分析其原因。
3)ARP缓存的作用?