哈工大计算机网络实验报告之六

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

计算机网络课程实验报告

实验6:利用Ethereal分析IP、ARP协议及以太网数据帧格式

实验过程:

利用Ethereal分析IP协议:(12分)得分:通过分析执行traceroute程序发送和接收到的IP数据包,分析IP数据包的各个字段,并详细研究IP分片。

(1)在你的捕获窗口中,应该能看到由你的主机发出的一系列ICMP Echo Request包和中间路由器返回的一系列ICMP TTL-exceeded消息。选择第一个你的主机发出的ICMP Echo Request消息,在packet details窗口展开数据包的Internet Protocol部分。

思考下列问题:

●IP头有多少字节?该IP数据包的净载为多少字节?并解释你是怎样确定该IP数据包的净载

大小的?

IP头20字节,该IP数据包的净载为32字节。计算方法:该IP数据包的总字节数(Total length)为56,其中头长(Header length)为20,Flags长为4,所以净载为(56-20-4)=32字节。

(2)单击Source列按钮,这样将对捕获的数据包按源IP地址排序。选择第一个你的主机发出的ICMP Echo Request消息,在packet details窗口展开数据包的Internet Protocol部分。在“listing of captured packets” 窗口,你会看到许多后续的ICMP消息(或许还有你主机上运行的其他协议的数据包)思考下列问题:

●你主机发出的一系列ICMP消息中IP数据报中哪些字段总是发生改变?哪些字段必须保持常

量?哪些字段必须改变?为什么?

Time to live,seq,checksum,identification,这些字段总是发生改变。Id、源地址、目的地址、服务类型、版本必须保持常量。Time to live,seq,checksum,identification必须改变。

原因:每当数据报经过一台路由器时,ttl减1;

每经过一个路由器,都必须重新计算。

(3)单击Time列按钮,这样将对捕获的数据包按时间排序。找到在将包大小改为2000字节后你的主机发送的第一个ICMP Echo Request消息。

思考下列问题:

●观察第一个IP分片,IP头部的哪些信息表明数据包被进行了分片?IP头部的哪些信息表明数

据包是第一个而不是最后一个分片?该分片的长度是多少?

Flags中More fragements位为1,说明数据包进行了分片;而fragment offset为0说明它是第一个分片,Flags中More fragements位为1说明它不是最后一个分片;该片长度为1480字节

(4)找到在将包大小改为3500字节后你的主机发送的第一个ICMP Echo Request消息。

思考下列问题:

●原始数据包被分成了多少片?IP头部哪些字段如何表明这几个分片是属于同一个组的?如

何标明这几个分片之间的顺序关系?

该数据报被分成了3片;

它们的identification相同说明它们是一个组的;

通过比较fragment offset的大小可以知道它们的顺序关系,也可以通过上图的内容来判断每

个分片的抓包序号。

●实验结论,以及实验中遇到的其他问题是如何解决的?

结论:一个链路层帧能承载的最大数据量叫做最大传输单元(MTU),链路层协议严格地限制着IP数据报的长度,当要传递的数据报大小超过这个值时,就要进行分片。

问题:用icmp作为数据包的筛选条件时只能找到分片的数据报的最后一片,一般把筛选条件设置为空,我们之前找到的最后一片的前几个数据包就是前几个分片。

利用Ethereal分析以太网帧(10分)得分:

(1)选择包含HTTP GET报文的以太网帧,在分组详细信息窗口中,展开Ethernet II信息部分。根据操作,思考以下问题:

●你的主机的48位以太网地址是多少?(操作截图)

●目的主机以太网地址是多少?是服务器的地址吗?如果不是,该地址是什么

设备的以太网地址?

不是服务器的地址,是路由器的以太网地址

(2)选择包含HTTP响应报文第一个字节的以太网帧,根据操作,思考以下问题:

●以太网Frame源地址是多少?该地址是你主机的地址吗?是服务器的地址

吗?如果不是,该地址是什么设备的地址?

不是主机地址,也不是服务器地址,它是路由器的地址

●实验结论,以及实验中遇到的其他问题是如何解决的?

结论:MAC地址只在同一子网中使用,当A子网中的某个节点想要访问B子网中的另一节点时,目的MAC地址是A子网的网关,因为A中发送数据的节点并不知道B子网中期待接收数据的节点的MAC地址。

利用Ethereal分析以ARP协议:(4分)得分:

(1)利用MS-DOS命令:arp 或c:\windows\system32\arp查看主机上ARP缓存的内容。回答下面问题:

●ARP缓存中每一列的含义是什么?

nternet Address 列表示其他主机的IP地址;

Physical Address列表示其他主机的MAC地址;

Type表示该ARP记录的类型。

(2)清除主机上ARP缓存的内容,抓取ping命令时的数据包。分析数据包,回答下面的问题:

●ARP数据包的格式是怎样的?由几部分构成,各个部分所占的字节数是多少?

ARP数据包格式:

ARP数据包

ARP数据包分为9部分

Hardware type:2字节

Protocol type:2字节

Hardware size:1字节

Protocol size:1字节

Opcode:2字节

Sender MAC address:6字节

Sender IP Address:4字节

Target MAC Address:6字节

Target IP Address:4字节

●ARP协议属于哪一层的协议,说明你的理由。

链路层协议。因为它运行在链路层和网络层之间,为链路层寻址提供服务。

●为什么ARP查询要在广播帧中传送,而ARP响应要在一个有着明确目的局域网地址的帧中

传送?

因为ARP进行查询工作时,并不知道目的MAC地址,所以要通过广播的形式,向局域网中所有节点进行查询;但ARP响应时已经知道源MAC地址(就是发送广播帧的节点),所以要在一个有着明确目的局域网地址的帧中传送。

●实验结论,以及实验中遇到的其他问题是如何解决的?

结论:ARP协议适用于把同一子网的其他节点的网络层地址转换成链路层地址,ARP查询报文通过广播发送,ARP响应报文由目的主机发回给发送主机。

问题:报告上的地址ping不过去,后来才知道要ping我所在的局域网中另一台开着的电脑即可。指导教师评语:

相关文档
最新文档