《实验7-ARP地址解析的应用(参考答案)》由会员分享,可在线阅读,更多相关《实验7-ARP地址解析的应用(参考答案)(7页珍藏版)》请在金锄头文库上搜索。
1、实验实验 7 7ARPARP 地址解析地址解析一、实验目的一、实验目的1.理解地址解析协议 ARP 的概念、工作过程及用途;2.理解 IP 地址和 MAC 地址的区别;3.掌握 ARP 命令的使用。二、实验要求二、实验要求1.设备要求: 电脑假设干台 装有 Windows 2000/XP/2003操作系统、 装有网卡且联网组 2 人,合作完成。三、实验预备知识三、实验预备知识1.IP1.IP 地址与物理地址地址与物理地址在学习 IP 地址时,很重要的一点就是要分清一个主机的IP 地址与物理地址的区别。 物理地址就是在单个物理网络内部对一台电脑进行寻址时所使用的地址。 在局域网中, 由于物理地址
2、已固化在网卡的ROM 中,因此常常将物理地址称为硬件地址或MAC 地址,而有一些网络并不是物理地址就是MAC 地址,比方 X.25 网络。在互联网中,IP 地址能够屏蔽各个物理网络地址的差异, 为上层用户提供“统一”的地址形式,而且这种“统一”是通过在物理网络上覆盖一层 IP 软件实现的,并不对物理地址做任何修改。高层软件通过 IP 地址来指定源地址和目的地址,而低层的物理网络通过物理地址发送和接收信息。在数据的封装过程中,网络层将 IP 地址放入 IP 数据报IP 协议使用的数据单元的首部,而数据链路层将物理地址放在MAC 帧数据链路层的数据单元的首部。IP 数据报与 MAC 帧的关联如图
3、1 所示。图 1 IP 地址与物理地址的区别假设一个网络上的两台主机A 和 B, 它们的 IP 地址分别是IA和IB, 物理地址为MA和学习文档 仅供参考MB。在主机 A 需要将信息传送到主机B 时,使用IA和IB作为源地址和目的地址。但是,信息最终的传递必须利用下层的物理地址MA和MB实现。那么,主机 A 怎么将主机 B 的IP 地址IB映射到它的物理地址MB上呢?将 IP 地址映射到物理地址的实现方法有多种,例如静态表格、直接映射等,每种网络都可以根据自身的特点选择适合于自己的映射方法。地址解析协议 Address ResolutionProtocol, ARP是以太网经常使用的映射方法,
4、它充分利用了以太网的广播能力,将IP 地址与物理地址进行动态绑定Dynamic Binding 。2.2.地址解析协议的基本思想地址解析协议的基本思想以太网一个很大的特点就是具有强大的广播能力。 针对这种具备广播能力、 物理地址长但长度固定的网络,IP 互联网采用动态绑定方式进行IP 地址到物理地址的映射,并制定了相应的协议地址解析协议ARP 。假定在一个以太网中,主机A 欲获得主机 B 的 IP 地址IB与MAC 地址MB的映射关系,如图 2 所示,相应的 ARP 协议工作过程为:1 主机 A 广播发送一个带有IB的请求信息包, 请求主机 B 用它的 IP 地址IB和 MAC地址MB的映射关
5、系进行响应;2于是,以太网上的所有主机接收到这个请求信息包括主机B 在内 ;3 主机 B 识别该请求信息, 并向主机 A 发送带有自己的 IP 地址IB和 MAC 地址MB映射关系的响应信息包;4主机 A 得到IB与MB的映射关系,并可以在随后的发送过程中使用该映射关系。图 2 ARP 协议的基本思想由于 IP 地址有 32 位,而物理地址有48 位,因此,它们之间不是一个简单的映射转换关系。此外,在一个网络上可能经常出现有新的电脑加入进来,或撤走一些电脑。更换电脑的网卡也会使其物理地址改变。可见在电脑中应存放一个从IP 地址到物理地址的映射表,并且能够经常动态更新。ARP 协议很好的解决了这
6、些问题。在每台使用 ARP 的主机中,都保留了一个专用的高速缓存区 cache ,用于保存已知的 ARP 表项。一旦收到 ARP 应答,主机就将获得的IP 地址与物理地址的映射关系存入高速 cache 的 ARP 表中。当发送信息时,主机首先到高速cache 的 ARP 表中查找相应的映射关系,假设找不到,再利用ARP 进行地址解析。利用高速缓存技术,主机不必为每个发送的 IP 数据报使用 ARP 协议,这样就可以减少网络流量, 提高处理的效率。为了保证主机中 ARP 表的正确性,ARP 表必须经常更新。为此,ARP 表中的每一个表项都被分配了一个计时器,一旦某个表项超过了计时时限,主机就会自
7、动将它删除,以保证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 广播含有自身
8、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 得到
9、了电脑 B 的 IP 地址与 MAC 地址的映射关系,而且电脑 B、X 和 Y 也都得到了电脑 A 的 IP 地址与 MAC 地址的映射关系。如果电脑B 的应用程序需要立刻返回数据给电脑 A 的应用程序,那么,电脑 B 就不必再次执行上面描述的ARP 请求过程了。网络互联离不开路由器,如果一个网络如以太网利用ARP 协议进行地址解析,那么,与这个网络相连的路由器也应该实现ARP 协议。四四 实验内容与步骤实验内容与步骤本实验指导可在实验室网络中完成。1.1.查看查看 cachecache 中的中的 ARPARP 表表1点击“开始”-“运行” ,敲入“cmd”然后回车,键入命令“arp -a”相
10、关命令,查看本机的高速 Cache 中的 ARP 表项。记录实验结果,并完成下表此表可增行 :Internet Address根据实际情况填写Physical Address根据实际情况填写Type根据实际学习文档 仅供参考情况填写2将同组成员的 IP 地址与 MAC 地址的映射关系加入到 ARP 表中。因为主机在向一个站点发送信息之前必须得到目的站点 IP 地址与 MAC 地址的映射关系,因此,可以利用 ping 命令向一个站点发送信息的方法,将这个站点IP 地址与 MAC 地址的映射关系加入到 ARP 表中;如欲加入 172.16.28.7 与其 MAC 地址的对应关系,可使用“ping
11、172.16.” ,如图 4 所示。图 4 使用 ping 动态加入 ARP 表项2.2.添加静态表项添加静态表项1在命令行窗口 cmd 窗口用“ arp s”命令将同组成员的IP 与其 MAC 地址的对应关系加入到 ARP 表中, 然后用 ARP 相关命令查看是否添加成功。 请添加一个静态 ARP表项,记录下表。 以下为例如,地址以实际实验情况为准添加命令查看命令查看结果2与用“ping 命令”添加的 ARP 表项进行比较,说明它们之间的异同。比较结果与结论使用 ping 命令添加的表项是动态dynamic的。使用命令 arp s 添加的是静态static的。arp -s 157.55.85
12、.21200-aa-00-62-c6-09arp -aInternet AddressPhysical AddressType157.55.85.21200-aa-00-62-c6-09static3.3.删除删除 ARPARP 表项表项使用“arp -d”命令将 ARP 表中的所有表项删除,并记录此过程。学习文档 仅供参考截图显示删除成功,类似于以下图所示。1在“cmd”命令行窗口中,使用“ arp”相关命令清除系统缓存中的目的主机IP 的arp 表项,假设该表项不存在,可不清除。请记录操作步骤:查看 arp 表项arp -aarp -d清除相关表项2启动EtherealWiresharkW
13、ireshark的“Capture”“Start” ,使 WiresharkWireshark捕获数据包。此时,在“cmd”命令行窗口中,完成“ping 目的主机 IP”的命令。3停止 EtherealWiresharkWireshark的数据捕获,获得相关数据并显示在主界面。4使用显示过滤器 Filter,在 Filter 中输入“arp” ,只显示 ARP 协议的相关数据包,完成如下分析:解答:这里要捕捉 arp 数据包,类似于以下图所示。 已捕获的 arp 数据包示意图问题源主机使用什么方法寻找目的主机?目的主机如何将其 MAC 地址传送给源主机?目的主机的 MAC 地址是多少?分析 A
14、RP 请求包和 ARP 应答包的大小分别是多少字节Bytes?答复通过发送广播包来寻找通过发送单播包来传送根据实际情况填写,比方上图中为:00:0c:29:3e:46:1c请求包和应答包都是 42 字节 包括 14 字节的以太网帧头,28 字节的 ARP 协议内容两部分 ,4个字节的帧校验字段 协议分析软件没有捕获 。根据以太网最短帧必须到达 64 字节的要求,需学习文档 仅供参考要填充一定数量的无效字符。例如中填充的字体部分示意图:查看 ARP 分组的填充字符是什么?长度是多少?0,长度为 18 字节五五 练习与思考练习与思考1.1.完成以下选择题。完成以下选择题。试题2在通常情况下,以下说
15、法是错误的选项是A.高速缓冲区中的 ARP 表是由人工建立的B.高速缓冲区中的 ARP 表是由主机自动建立的C.高速缓冲区中的 ARP 表是动态的D.高速缓冲区中的 ARP 表保存了主机 IP 地址与物理地址的映射关系3以下情况中需要启动ARP 请求的是A.主机需要接受信息,但ARP 表中没有源 IP 地址与 MAC 地址的映射关系B.主机需要接受信息,但ARP 表中已具有源 IP 地址与 MAC 地址的映射关系C.主机需要发送信息,但ARP 表中没有目的 IP 地址与 MAC 地址的映射关系D.主机需要发送信息,但ARP 表中已具有目的 IP 地址与 MAC 地址的映射关系1有人将 ARP
16、列入网络接口层,即认为ARP 不在 IP 层,这样对吗?答:错,因为 ARP 是将 IP 地址映射到物理地址,而IP 地址是 IP 层的概念。2假定在一个局域网中电脑 A 发送 ARP 请求分组,希望找出电脑 B 的硬件地址。这时局域网上的所有电脑都能收到这个广播发送的ARP 请求分组。试问这时由哪一个电脑使用 ARP 响应分组将电脑B 的硬件地址告诉电脑A?答:由 IP 地址为需要查找的那个地址的那台主机响应,即B 响应。3一个主机要向另一个主机发送 IP 数据报。是否使用 ARP 就可以得到该目的主机的硬件地址,然后直接用这个硬件地址将IP 数据报发送给目的主机?答:不一定。如果该主机在同
17、一局域网内,则可以得到这台主机的硬件地址。如果该主学习文档 仅供参考机不在同一局域网内,则需要通过路由器进行转发。这样得到的是路由器接口的地址。4为了验证 ARP 协议的工作过程,请设计并实现以下实验: 假设一台电脑广播了一个ARP 请求之后, 收到两个应答, 第一个应答说明硬件地址是 H1,第二个应答声明硬件地址是 H2,那么 ARP 软件首先从第一个应答中取出 H1 与 IP的绑定信息,放入高速缓存中,然后从第二个应答中取出 H2 与 IP 地绑定信息后,检测高速缓存中已存在发送方 IP 的地址绑定信息,这时会以H2 与 IP 的绑定信息替代高速缓存中已有的 H1 与 IP 的绑定。请设计
18、实验验证ARP 以上的工作,并描述实验方法与实验过程。解答:实验设计可以通过修改 MAC 地址来完成。步骤如下:第一步,先清空两台主机A 与 B 的 arp 表。第二步,在 A 上 ping B 的 IP 地址,以获取 B 的 MAC 地址。第三步,在 B 上通过控制面板,找到网卡设备,在其属性上修改物理地址。第四步,在 A 上再 ping B 的 IP 地址,以重新获取 MAC 地址。第五步,查看主机 A 上的 arp 表是否进行了更新。效果如以下图所示。 ARP 还引入了一种优化策略:在一台电脑答复了一个 ARP 请求之后,此电脑将会把报文中的发送方地址绑定加入自己的高速缓存中,以便以后加以利用。请设计实验验证ARP 以上的工作,并描述实验方法和实验过程。解答:可以用 ping 命令实现。实验步骤如下:第一步,两台主机 A 与 B,都清空 arp 表,设置同一网段的 IP 地址。第二步,在 B 上使用 ping 命令 pingA。第三步,在 A 上使用 apr a 命令查看 arp 表,查看是否添加了B 的 MAC 地址。学习文档 仅供参考