实验7 ARP地址解析的应用(参考答案)

更新时间:2023-10-18 10:13:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验7 ARP地址解析

一、实验目的

1.理解地址解析协议ARP的概念、工作过程及用途; 2.理解IP地址和MAC地址的区别; 3.掌握ARP命令的使用。

二、实验要求

1.设备要求:计算机若干台(装有Windows 2000/XP/2003操作系统、装有网卡且联网) 2.每组2人,合作完成。

三、实验预备知识

1.IP地址与物理地址

在学习IP地址时,很重要的一点就是要分清一个主机的IP地址与物理地址的区别。物理地址就是在单个物理网络内部对一台计算机进行寻址时所使用的地址。在局域网中,由于物理地址已固化在网卡的ROM中,因此常常将物理地址称为硬件地址或MAC地址,而有一些网络并不是物理地址就是MAC地址,比如X.25网络。

在互联网中,IP地址能够屏蔽各个物理网络地址的差异,为上层用户提供“统一”的地址形式,而且这种“统一”是通过在物理网络上覆盖一层IP软件实现的,并不对物理地址做任何修改。高层软件通过IP地址来指定源地址和目的地址,而低层的物理网络通过物理地址发送和接收信息。在数据的封装过程中,网络层将IP地址放入IP数据报(IP协议使用的数据单元)的首部,而数据链路层将物理地址放在MAC帧(数据链路层的数据单元)的首部。IP数据报与MAC帧的关联如图1所示。

图1 IP地址与物理地址的区别

假如一个网络上的两台主机A和B,它们的IP地址分别是IA和IB,物理地址为MA和

MB。在主机A需要将信息传送到主机B时,使用IA和IB作为源地址和目的地址。但是,信息最终的传递必须利用下层的物理地址MA和MB实现。那么,主机A怎么将主机B的IP地址IB映射到它的物理地址MB上呢?

将IP地址映射到物理地址的实现方法有多种,例如静态表格、直接映射等,每种网络都可以根据自身的特点选择适合于自己的映射方法。地址解析协议(Address Resolution Protocol, ARP)是以太网经常使用的映射方法,它充分利用了以太网的广播能力,将IP地址与物理地址进行动态绑定(Dynamic Binding)。

2.地址解析协议的基本思想

以太网一个很大的特点就是具有强大的广播能力。针对这种具备广播能力、物理地址长但长度固定的网络,IP互联网采用动态绑定方式进行IP地址到物理地址的映射,并制定了相应的协议——地址解析协议(ARP)。 假定在一个以太网中,主机A欲获得主机B的IP地址(IB)与MAC地址(MB)的映射关系,如图2所示,相应的ARP协议工作过程为:

(1)主机A广播发送一个带有IB的请求信息包,请求主机B用它的IP地址IB和MAC地址MB的映射关系进行响应;

(2)于是,以太网上的所有主机接收到这个请求信息(包括主机B在内); (3)主机B识别该请求信息,并向主机A发送带有自己的IP地址IB和MAC地址MB映射关系的响应信息包;

(4)主机A得到IB与MB的映射关系,并可以在随后的发送过程中使用该映射关系。

图2 ARP协议的基本思想

3.ARP的工作过程

由于IP地址有32位,而物理地址有48位,因此,它们之间不是一个简单的映射(转换)关系。此外,在一个网络上可能经常出现有新的计算机加入进来,或撤走一些计算机。更换计算机的网卡也会使其物理地址改变。可见在计算机中应存放一个从IP地址到物理地址的映射表,并且能够经常动态更新。ARP协议很好的解决了这些问题。

在每台使用ARP的主机中,都保留了一个专用的高速缓存区(cache),用于保存已知的ARP表项。一旦收到ARP应答,主机就将获得的IP地址与物理地址的映射关系存入高速cache的ARP表中。当发送信息时,主机首先到高速cache的ARP表中查找相应的映射关系,若找不到,再利用ARP进行地址解析。利用高速缓存技术,主机不必为每个发送的IP数据报使用ARP协议,这样就可以减少网络流量,提高处理的效率。为了保证主机中ARP表的正确性,ARP表必须经常更新。为此,ARP表中的每一个表项都被分配了一个计时器,一旦某个表项超过了计时时限,主机就会自动将它删除,以保证ARP表的有效性。

下面举例说明完整的ARP工作过程。假设以太网上有4台计算机,分别是计算机A、

B、X和Y,如图3所示。现在,计算机A的应用程序需要和计算机B的应用程序交换数据。在计算机A发送信息前,必须首先得到计算机B的IP地址与MAC地址的映射关系。一个完整的ARP软件的工作过程如下:

图3 完整的ARP工作过程

(1)计算机A检查自己高速cache中的ARP表,判断ARP表中是否存有计算机B的IP地址与MAC地址的映射关系。如果找到,则完成ARP地址解析;如果没有找到,则转至下一步;

(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地址解析。

计算机A得到计算机B的IP地址与MAC地址的映射关系后就可以顺利地与计算机B通信了。在整个ARP工作期间,不但计算机A得到了计算机B的IP地址与MAC地址的映射关系,而且计算机B、X和Y也都得到了计算机A的IP地址与MAC地址的映射关系。如果计算机B的应用程序需要立刻返回数据给计算机A的应用程序,那么,计算机B就不必再次执行上面描述的ARP请求过程了。

网络互联离不开路由器,如果一个网络(如以太网)利用ARP协议进行地址解析,那么,与这个网络相连的路由器也应该实现ARP协议。

四 实验内容与步骤

本实验指导可在实验室网络中完成。

1.查看cache中的ARP表 (1)点击“开始”-“运行”,敲入“cmd”然后回车,键入命令“arp -a”相关命令,查看本机的高速Cache中的ARP表项。记录实验结果,并完成下表(此表可增行):

Internet Address 根据实际情况填写 Physical Address 根据实际情况填写 Type 根据实际情况填写

(2)将同组成员的IP地址与MAC地址的映射关系加入到ARP表中。因为主机在向一个站点发送信息之前必须得到目的站点IP地址与MAC地址的映射关系,因此,可以利用ping命令向一个站点发送信息的方法,将这个站点IP地址与MAC地址的映射关系加入到ARP表中;如欲加入172.16.28.7与其MAC地址的对应关系,可使用“ping 172.16.28.7”,如图4所示。

图4 使用ping动态加入ARP表项

2.添加静态表项

(1)在命令行窗口(cmd窗口)用“arp –s”命令将同组成员的IP与其MAC地址的对应关系加入到ARP表中,然后用ARP相关命令查看是否添加成功。请添加一个静态ARP表项,记录下表。(以下为示例,地址以实际实验情况为准) 添加命令 查看命令 查看结果

(2)与用“ping命令”添加的ARP表项进行比较,说明它们之间的异同。

比较结果与结论 使用ping命令添加的表项是动态(dynamic)的。 使用命令arp –s添加的是静态(static)的。 arp -s 157.55.85.212 00-aa-00-62-c6-09 arp -a Internet Address Physical Address Type 157.55.85.212 00-aa-00-62-c6-09 static

3.删除ARP表项

使用“arp -d”命令将ARP表中的所有表项删除,并记录此过程。

截图显示删除成功,类似于下图所示。

4.协议分析

(1)在“cmd”命令行窗口中,使用“arp”相关命令清除系统缓存中的目的主机IP的arp表项,若该表项不存在,可不清除。请记录操作步骤: 查看arp表项 arp -a arp -d 清除相关表项

(2)启动Ethereal(Wireshark)的“Capture”→“Start”,使Wireshark捕获数据包。此时,在“cmd”命令行窗口中,完成“ping 目的主机IP”的命令。

(3)停止Ethereal(Wireshark)的数据捕获,获得相关数据并显示在主界面。

(4)使用显示过滤器Filter,在Filter中输入“arp”,只显示ARP协议的相关数据包,完成如下分析:

解答:这里要捕捉arp数据包,类似于下图所示。(已捕获的arp数据包示意图)

问题 源主机使用什么方法寻找目的主机? 目的主机如何将其MAC地址传送给源主机? 目的主机的MAC地址是多少? 分析ARP请求包和ARP应答包的大小分别是多少字节(Bytes)? 回答 通过发送广播包来寻找 通过发送单播包来传送 根据实际情况填写,比如上图中为: 00:0c:29:3e:46:1c 请求包和应答包都是42字节(包括14字节的以太网帧头,28字节的ARP协议内容两部分),4个字节的帧校验字段(协议分析软件没有捕获)。根据以太网最短帧必须达到64字节的要求,需

本文来源:https://www.bwwdw.com/article/md5f.html

Top