一、实验目的:
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。
路由器直接相连的端口无法清除ARP
(2)在simulation模式下,由PC(1.10)向PC(1.20)发送一个Ping包,观察包(ICMP及ARP)的传递过程,同时注意相关PC机、路由器的ARP缓存变化情况,记录下相关信息,并对其中的ARP包进行协议格式分析。注意:在Filter中同时选中ICMP及ARP。
(3)重复(2)一次,观察结果有何不同,分析原因。
第一次传送ping数据包:
第二次传送ping数据包:
分析:因为第一次没有ARP的缓存,所以先发出ARP广播,第二次在主机中的ARP缓存中有MAC地址和ip地址的对应关系,所以直接转发,不需要转发。
(4)在simulation模式下,由PC(1.10)向PC(3.11)发送一个Ping包,观察包的传递过程,同时注意相关PC机、路由器的ARP缓存变化情况,记录下相关信息,并对其中的ARP包进行协议格式分析。
(5)重复(4)一次,观察结果有何不同,分析原因。
(6)试分析此时,由PC(1.20)向PC(12.12)发送一个Ping包的处理过程,并验证之。
PC(1.20)向PC(12.12)发送一个数据包的过程分析:
1. PC(1.20)发出一个ARP请求包,请求默认网关的MAC地址,路由器1响应,并返回ARP响应包。
2. 然后发送ping包到路由器后,路由器1查找下一跳ip地址的MAC地址,如果高速缓存中没有ARP发出的广播包,路由器2响应。
3. 路由器2响应请求,并响应路由器1,路由器1把PC(1.20)的ping包发送给路由器2。
4. 路由器2查找下一跳IP地址的MAC地址,如果高速缓存中没有,就发怵ARP广播包,PC(12.12)响应请求。
5. PC(12.12)最后响应请求,发送ARP响应给路由器2,到这里,ping包就找到了目的IP地址。
6. 下一次在ping PC(12.12)时,就不再发送ARP请求包,二直接发送ping包。
(7)总结ARP工作机器,包括什么时候启动ARP、APR高速缓存更新机制、ARP数据包协议格式,
答:
1. 当主机、交换机或者路由器没有找到相连网络的下一跳IP地址对应的MAC地址时,就会启动ARP.
2. 当一段时间后,没有使用的ARP地址就是删除。
3. ARP数据报协议格式:
3、IP协议格式分析:在simulation模式下,由PC(1.10)向PC(3.11)发送一个Ping包(开始几次有可能失败,试分析原因),从其中随机取几个包,分析该包的MAC首部及IP首部信息,特别注意该包进入该设备及离开该设备时相关信息的变化情况。注意:在Filter中仅选中ICMP或者仅选中IP。
答:因为路由器的ARP表原来没有到PC(3.11)的MAC地址
4. IP分段机制分析。
(1)在Realtime模式下,由PC(1.10)向PC(12.12)发送一个Ping包。(试分析此步骤的作用)
答:让交换机和路由器上都有ARP缓冲表
(2)在simulation模式下,由PC(1.10)向PC(12.12)发送一个自定义Ping包(长度为2000字节),跟踪数据包的流动情况,特别注意:
1.该包在PC(1.10)出来时是否进行了分段:
答:是的,1500字节:1480个字节是数据长度,和20字节ip头部长度。
548字节:520个字节数据长度,20个字节ip头部长度,还有8字节的ICMP包长度。
2. 该包在Router1出来时是否进行了分段:
答:是,同理,由于路由器1的Eth1/0的MTU=1420Byte。所以,1500的数据包被分段。
3. 该包在Router2出来时是否进行了重组:
答:否,三个包分别到达PC(12.12)。
4. 该包到达PC(12.12)后是否进行了重组:
答:是,1420和100的数据包进行了重组。
5. 回复的Ping命令包是否在PC(12.12)处进行了分段:
答:是,ping包分段成1500和548字节。
6. 回复的Ping命令包是否在Router2出来时进行了分段:
答:否,1500和548的数据包在进入R2时,没有在分段。
(3)总结IP分段的条件与方法。
答:ip数据包分段条件是:当数据报的大小大于路由器宋初段的MUT是,会进行分段。
方法:吧ip数据部分分段,一段大小为MUT-20字节的值,把数据部分剩下的再比较MUT-20(ip首部),然后分段。
4.测试TTL的作用。
(1)在Realtime模式下,由PC(1.10)向PC(12.12)发送一个Ping包。
(2)在simulation模式下,由PC(1.10)向PC(12.12)发送一个自定义Ping包(长度为32字节,TTL的值为1),跟踪数据包的流动情况,观察TTL的值的变化情况,并记录下必要的信息。
(4)在simulation模式下,由PC(1.10)向PC(12.12)发送一个自定义Ping包(长度为32字节,TTL的值为2),跟踪数据包的流动情况,观察TTL的值的变化情况,并记录下必要的信息。
(5)在simulation模式下,由PC(1.10)向PC(12.12)发送一个自定义Ping包(长度为32字节,TTL的值为3或更大),跟踪数据包的流动情况,观察TTL的值的变化情况,并记录下必要的信息。
(6)总结TTL的变化规律及其作用。
答: TL值,是数据包每经过 跳后,TTL值减1.当减到0时,数据包将会丟弃,丢弃者会发送一个ICMP数据包,通知发送者。
作用:用来防止出现路由环路,当数据包无限循环转发,就会造成网络拥堵,而当TTL减到0时,数据包将会被丢弃,从而减少环路。而TTL使用一个字节表示,最大是255,如果两个通讯之间经过的路由超过255时,它是不能通过IP进行通讯的。