《计算机网络技术导论》实验报告
地址转换协议ARP
一. 实验目的
1.掌握ARP协议的报文格式
2.掌握ARP协议的工作原理
3.理解ARP高速缓存的作用
二. 实验原理
1. 网络结构
2. 原理
一、 使用IP协议的以太网中ARP报文格式
字段说明:
硬件类型:表示硬件类型,例如:1表示以太网。
协议类型:表示要映射的协议类型,例如 0x0800表示IP地址。
硬件长度:指明硬件地址长度,单位是字节,MAC是48位,长度是6个字节。
协议长度:高层协议地址的长度,对于IP地址,长度是4个字节。
操作字段:共有二种操作类型,1表示ARP请求,2表示ARP应答。
发送方MAC:6个字节的发送方MAC地址。
发送方IP: 4个字节的发送方IP地址。
目的MAC:6个字节的目的MAC地址。
目的IP: 4个字节的目的IP地址。
二、 ARP地址解析过程
三.实验步骤及结果
主机B启动静态路由服务(方法:在命令行方式下,输入“staticroute_config”)。按照拓扑结构图连接网络,使用拓扑验证检查连接的正确性
练习一:领略真实的ARP(同一子网)
1. 主机A、B、C、D、E、F在命令行下运行“arp -a”命令,察看ARP高速缓存表,并回答以下问题:
* ARP高速缓存表由哪几项组成?
答:高速缓存表用项目数组来实现,每个项目包括以下字段:
状态:表示项目的状态.其值为FREE(已超时),PENDING(已发送请求但未应答)或RESOLVED(已经应答).
硬件类型,协议类型,硬件地址长度,协议地址长度:与ARP分组中的相应字段相同.
接口号:对应路由器的不同接口.
队列号:ARP使用不同的队列将等待地址解析的分组进行排队.发往同一个目的地的分组通常放在同一个队列中.
尝试:表示这个项目发送出了多少次的ARP请求.
超时:表示一个项目以秒为单位的寿命.
硬件地址:目的硬件地址,应答返回前保持为空.
协议地址:目的高层协议地址如IP地址
2. 主机A、B、C、D启动协议分析器,打开捕获窗口进行数据捕获并设置过滤条件(提取ARP、ICMP)。
3. 主机A、B、C、D在命令行下运行“arp -d”命令,清空ARP高速缓存。
4. 主机A ping 主机D(172.16.1.4)。
5. 主机A、B、C、D停止捕获数据,并立即在命令行下运行“arp -a”命令察看ARP高速缓存。
* 结合协议分析器上采集到的ARP报文和ARP高速缓存表中新增加的条目,简述ARP协议的报文交互过程以及ARP高速缓存表的更新过程。
答:以主机Aping主机D为例,当发送数据时,主机A会在自己的ARP缓存表中寻找是否有目标IP地址。如果找到了,也就知道了目标MAC地址,直接把目标MAC地址写入帧里面发送就可以了;如果在ARP缓存表中没有找到目标IP地址,主机A就会在网络上发送一个广播,这表示向同一网段内的所有主机发出这样的询问:“我是172.16.0.51,我的硬件地址是"0025B3-188783".请问IP地址为172.16.0.54的MAC地址是什么?”网络上其他主机并不响应ARP询问,只有主机D接收到这个帧时,才向主机A做出这样的回应,这样,主机A就知道了主机D的MAC地址,它就可以向主机D发送信息了。同时A和D还同时都更新了自己的ARP缓存表(因为A在询问的时候把自己的IP和MAC地址一起告诉了D),下次A再向主机D或者D向A发送信息时,直接从各自的ARP缓存表里查找就可以了。
练习二:编辑并发送ARP报文(同一子网)
1. 在主机E上启动仿真编辑器,并编辑一个ARP请求报文。其中:
MAC层:
目的MAC地址:设置为FFFFFF-FFFFFF。
源MAC地址:设置为主机E的MAC地址。
协议类型或数据长度:0806。
ARP层:
发送端MAC地址:设置为主机E的MAC地址。
发送端IP地址:设置为主机E的IP地址(172.16.0.2)。
目的端MAC地址:设置为000000-000000。
目的端IP地址:设置为主机F的IP地址(172.16.0.3)。
2. 主机B、F启动协议分析器,打开捕获窗口进行数据捕获并设置过滤条件(提取ARP协议)。
3. 主机E、B、F在命令行下运行“arp -d”命令,清空ARP高速缓存。
4. 主机E发送已编辑好的ARP报文。
5. 主机E立即在命令行下运行“arp -a”命令察看ARP高速缓存。
6. 主机B、F停止捕获数据,分析捕获到的数据,进一步体会ARP报文交互过程。
练习三:跨路由地址解析(不同子网)
1. 主机A、B、C、D、E、F在命令行下运行“arp -d”命令,清空ARP高速缓存。
2. 主机A、B、C、D、E、F重新启动协议分析器,打开捕获窗口进行数据捕获并设置过滤条件(提取ARP、ICMP)。
3. 主机A ping 主机E(172.16.0.2)。
4. 主机A、B、C、D、E、F停止数据捕获,察看协议分析器中采集到的ARP报文,并回答以下问题:
* 单一ARP请求报文是否能够跨越子网进行地址解析?为什么?
答:不能,由于ARP请求是以广播的方式进行而广播报文不能跨越子网因此单一ARP
请求报文不能够跨越子网进行地址解析。
* ARP地址解析在跨越子网的通信中所起到的作用?
答:作用是解析网关的MAC地址,ARP本身无法跨跃不同网段。当数据要发往外部网络时,通常是首先使用ARP请求网关路由器的MAC地址,之后将数据发往网关路由器,由网关路由器进行转发。
展开阅读全文