分析ARP及IP协议 

实     

实验名称    分析ARPIP协议      日期 2020 06 01

一、实验目的:

1.学会使用PacketTracer进行包跟踪及数据包协议格式分析。

2.理解ARP工作机制,熟悉ARP协议格式。

3.熟悉典型的IP协议格式。

4.理解IP分段机制。

二、实验环境:

Cisco Packet Tracer

三、实验内容:

1、用PacketTracer(5.3或以上版本)打开文件31_ARP&IP_Testing.pkt.pkt。注意:Router1的Eth1/0的MTU=1420Byte,其余均为1500Byte。

2、分析ARP的工作原理。

(1)在Realtime模式下,尽量清除所有设备(PC机及路由器)中的ARP缓存信息,对于不能清除(有些路由器中的ARP缓存信息不能清除)的记录下相关缓存信息。

注:PC机中查看ARP缓存的命令为arp –a,清除ARP缓存的命令为arp –d。

路由器中查看ARP缓存的命令为Router#show arp,清除的命令为Router#clear arp-cache。

(2)在simulation模式下,由PC(1.10)向PC(1.20)发送一个Ping包,观察包(ICMP及ARP)的传递过程,同时注意相关PC机、路由器的ARP缓存变化情况,记录下相关信息,并对其中的ARP包进行协议格式分析。注意:在Filter中同时选中ICMP及ARP。

在simulation模式下选择ICMP及ARP:

这是PC1.10的ARP:

这是Switch0的ARP:

这是PC1.20的ARP:

(3)重复(2)一次,观察结果有何不同,分析原因。

第一次ping时:

第二次ping时:

分析:数据报传送时会先到达交换机,到达PC1.20时也会传送到路由器上但发生错误;返回时只经过交换机。第二次ping时不再经过路由器,因为交换机已经把MAC地址记录在它的内存中了。

(4)在simulation模式下,由PC(1.10)向PC(3.11)发送一个Ping包,观察包的传递过程,同时注意相关PC机、路由器的ARP缓存变化情况,记录下相关信息,并对其中的ARP包进行协议格式分析。

分析:数据包到达路由器后,再次点击,直接返回交换机

此时路由器中多了一个ARP记录:

增加的ARP是PC3.11的默认网关:

PC1.0也多了一个ARP:

(5)重复(4)一次,观察结果有何不同,分析原因。

分析:此时发现可以经路由器到达PC3.11

此时路由器中也多了一个ARP:

(6)试分析此时,由PC(1.20)向PC(12.12)发送一个Ping包的处理过程,并验证之。

分析:数据包从PC1.20发送后经过路由器1转发,直接返回PC1.20

此时PC1.20保存了PC12.12的默认网关:

再次发送,这时可以经过路由器1,到达路由器2,但又返回,最后可到达PC12.12:

路由器2中多了一个ARP:

最后可原路返回PC1.20:

(7)总结ARP工作机器,包括什么时候启动ARP、APR高速缓存更新机制、ARP数据包协议格式,

总结:PC主机都有自己的ARP缓冲区,用来对应MAC地址和IP地址之间的关系,当主机发送数据到目的主机时,就会启动ARP协议,首先会查看自己的ARP列表是否存在,如果有就直接发送出去;否则就向它所在的网段发起一个ARP广播请求,查询能够到达目的主机对应的MAC地址。

ARP更新机制:主机发送数据后,此网段就会检查数据包中的目的IP地址是否和自己的IP地址一致,如果不相同就忽略,如果相同就把该主机的IP地址和MAC地址添加到自己的ARP列表中;如果存在就直接覆盖。

ARP数据包协议:路由器的ARP列表包括三个信息:主机的IP地址、主机所在的物理地址、接口名称。IP地址包括源主机的IP地址和主机的默认网关,还包括所在的网段。

3、IP协议格式分析:在simulation模式下,由PC(1.10)向PC(3.11)发送一个Ping包(开始几次有可能失败,试分析原因),从其中随机取几个包,分析该包的MAC首部及IP首部信息,特别注意该包进入该设备及离开该设备时相关信息的变化情况。注意:在Filter中仅选中ICMP或者仅选中IP。

分析:源IP地址和目标IP地址不变,但是MAC地址是变化的,因为数据包经过了不同的设备。

4.IP分段机制分析。

(1)在Realtime模式下,由PC(1.10)向PC(12.12)发送一个Ping包。(试分析此步骤的作用)

指定路线:

(2)在simulation模式下,由PC(1.10)向PC(12.12)发送一个自定义Ping包(长度为2000字节),跟踪数据包的流动情况,特别注意:该包在PC(1.10)出来时是否进行了分段,该包在Router1出来时是否进行了分段,该包在Router2出来时是否进行了重组,该包到达PC(12.12)后是否进行了重组,回复的Ping命令包是否在PC(12.12)处进行了分段,回复的Ping命令包是否在Router2出来时进行了分段。在每一处发生了分段的地方,观察包中与分段有关的几个字段的信息(数据包长度、标识号、标志、偏移值),并记录下必要的信息。

到达R1时:

到达R2时:

(3)总结IP分段的条件与方法。

当数据包超过规定的MUT时,系统会将数据包分段发送。

4.测试TTL的作用。

(1)在Realtime模式下,由PC(1.10)向PC(12.12)发送一个Ping包。

(2)在simulation模式下,由PC(1.10)向PC(12.12)发送一个自定义Ping包(长度为32字节,TTL的值为1),跟踪数据包的流动情况,观察TTL的值的变化情况,并记录下必要的信息。

发送之前的TTL值:

发送之后的:

(3)在simulation模式下,由PC(1.10)向PC(12.12)发送一个自定义Ping包(长度为32字节,TTL的值为2),跟踪数据包的流动情况,观察TTL的值的变化情况,并记录下必要的信息。

发送之前的TTL值:

发送之后的:

(4)在simulation模式下,由PC(1.10)向PC(12.12)发送一个自定义Ping包(长度为32字节,TTL的值为3或更大),跟踪数据包的流动情况,观察TTL的值的变化情况,并记录下必要的信息。

发送之前的TTL值:

发送之后的:

可以发送成功:

(5)总结TTL的变化规律及其作用。

TTL值代表着可通过路由的数量,TTL的值越大,能够传送数据包在不同的网路更多。

5.进行其它你认为必要的测试。 

四、实验后应能回答的问题

1.关于ARP协议:

(1)ARP请求数据包内容是什么,ARP应答数据包内容是什么?

请求内容是主机的IP地址和物理地址,以及目的主机的IP地址和物理地址;应答内容是将网络层地址解析为数据链路层的MAC地址,并把经过的ARP地址记录下来。

(2)ARP协议的工作方式是怎样的?比如:谁发出ARP请求,谁回复ARP应答。

当主机发送数据包时,就启用ARP协议,如果目的主机在同一网段,就可以直接通信;否则不能直接通信,需要保存一条能够到达目的主机的MAC地址。

(3)什么时候会调用ARP?调用ARP时是希望获取谁的MAC地址?比如:在不考虑高速缓存影响的情况下,PC(1.10)访问PC(1.30)时,会调用ARP吗,若调用ARP是用来获得谁的MAC地址;PC(1.10)访问PC(3.22)呢;PC(1.10)访问PC(12.12)呢。

当源主机发送数据包请求时就启用了ARP协议;希望获取的是目的主机的MAC地址;PC1.10访问PC1.30时,就会调用ARP,希望来获取PC1.30的MAC地址。其他的依然如此。

2.关于ARP高速缓存:

(1)ARP高速缓存中每条记录包含哪些信息?

包含了源主机的IP地址,源主机所在的网段,源主机的默认网关,目的主机的IP地址,以及目的主机所在的网段和默认网关。

(2)什么时候会向ARP高速缓存中添加记录,添加的记录是什么?

主机发送数据后,此网段的主机就会检查数据包中的目的IP地址是否和自己的IP地址一致,如果不相同就忽略;如果相同就把源主机的MAC地址和IP地址添加到自己的ARP列表中;如果ARP列表已经存在,则直接覆盖以完成更新。

(3)ARP高速缓存可以起到什么样的作用,是如何起作用的?

MAC首部格式是:000n(n代表不同的数字),IP首部是4位,可表示的最大十进制数值是15。主要是通过主机所在局域网决定的。

3.关于IP协议:

(1)IP数据包中MAC首部及IP首部的格式是怎样的,相关信息是如何获得的?

(2)若PC(1.10)用IP包传输信息到PC(12.12),整个过程中MAC首部及IP首部中哪些信息会发生变化,是如何发生变化的?

4.关于IP分片与重组:

(1)什么条件下,在什么地方会发生IP分片?比如:当PC(1.10)向PC(12.12)发送一个长度为2000字节(包括IP首部,但不包括MAC首部)时,在哪些地方会发生分片;若是PC(12.12)向PC(1.10)发送数据呢。

数据链路层具有最大传输单元MTU这个特性,它限制了数据帧的最大长度,如果IP层有数据包要传送,而且数据包的长度超过了MTU,那么IP层就会对数据包进行分段,每一个小片都小于或等于MTU;分片后的IP数据包,只有到达目的主机下进行重新组装。

(2)一个IP数据包如何进行分片?比如:分片时哪些信息会被继承,哪些信息会发生改变;如何识别同一个IP数据包的多个分片;如何对同一个IP数据包的多个分片进行排序。

对于发送端发送的每份IP数据包来说,其标识符都包含一个唯一的值,该值在数据包分片时被复制到每个分片中。除了最后一片外,其他每个分组数据包的片都要把该片的自己置为1。分片时除了最后一片外,其他每一片中的额数据部分,必须是8字节的整数倍。

四、心得体会:

1、学会了如何使用PacketTracer进行包跟踪及数据包协议格式分析;理解了ARP协议是如何工作的及ARP协议的格式。

2、熟悉了典型的IP协议格式;理解了IP的分段机制。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值