合肥学院TCPIP协议分析及应用实验报告 4.docx
《合肥学院TCPIP协议分析及应用实验报告 4.docx》由会员分享,可在线阅读,更多相关《合肥学院TCPIP协议分析及应用实验报告 4.docx(12页珍藏版)》请在冰豆网上搜索。
合肥学院TCPIP协议分析及应用实验报告4
计算机科学与技术系
实验报告
专业名称网络工程
课程名称TCP/IP协议
项目名称网际协议IP
班级
学号
姓名
同组人员
实验日期2014.11.14
1、实验目的与要求:
1、实验目的:
(1)掌握IP数据报的报文格式
(2)掌握IP校验和计算方法
(3)掌握子网掩码和路由转发
(4)理解特殊IP地址的含义
(5)理解IP分片过程
2、实验环境(标明拓扑结构、源主机、目的主机的IP地址及MAC地址)
2、实验内容
1、实验原理
(1)IP报文格式:
IP数据报是由IP首部加数据组成的,IP首部的最大长度不超过60字节。
IP数据报文格式如下图所示:
4位版本
4位首部长度
8位服务类型
16位总长度(字节数)
16位标识
3位标志
13位片偏移
8位生存时间
8位协议类型
16位首部检验和
32位源IP地址
32位目的IP地址
选项(如果有)
数据
(2)IP分片:
链路层具有最大传输单元(MTU)这个特性,它限制了数据帧的最大长度。
不同的网络类型都有一个上限值。
以太网通常是1500字节。
如果IP层有数据包要传输,而数据包的长度超过了MTU,那么IP层就要对数据包进行分片操作。
使每一片长度都小于MTU。
IP首部中“16位标识”、“3位标志”和“13位片偏移”包含了分片和重组所需的信息。
另外,当数据被分片后,每个片的“16位总长度”值要改为该片的长度值。
(3)路由表:
大部分网络层设备都存储着一张记录路由信息的表格,称为路由表。
它由许多条项目组成。
网络层设备收到数据报后,根据其目的IP地址查找路由表确定数据报传输的最佳路径(下一跳)。
然后利用网络层的协议重新封装数据报,利用下层提供的服务把数据报转发出去。
路由表的项目一般含有五个基本字段:
目的地址、网络掩码、下一跳地址、接口、度量。
路由表按如下顺序匹配:
直接交付->特定主机交付->特定网络交付->默认交付
(4)路由选择过程:
路由选择模块从IP处理模块接收到IP分组后,使用该分组的目的IP地址同路由表中的每一个项目按特定的顺序(按照前面介绍的“路由表匹配顺序”)查找匹配项,当找到第一个匹配项后就不再继续寻找了,这样就完成了路由选择过程。
匹配路由表项的方法是将IP地址与路由表中的一个项目的“子网掩码”进行按位“与”操作,然后判断运算结果是否等于该项目的“目的地址”,如果等于,则匹配成功,否则,匹配失败。
2、实验流程概述
(1)编辑并发送IP数据包
(2)对于一些特殊IP地址的报文编辑及发送
(3)IP数据包分片的报文发送
3、实验具体步骤及结果
练习一:
编辑并发送IP数据包
1)主机A启动仿真编辑器,编辑一个IP数据报:
MAC层:
目的MAC地址:
主机B的MAC地址(对应于172.16.1.1接口的MAC)
源MAC地址:
主机A的MAC地址
协议类型或数据长度:
0800
IP层:
总长度:
IP层长度
生存时间:
128
源IP地址:
主机A的IP地址(172.16.1.2)
目的IP地址:
主机E的IP地址(172.16.0.2)
校验和:
在其他所有字段填充完毕后计算并填充
【说明】先使用仿真编辑器的“手动计算”校验和,再使用仿真编辑器的“自动计算”校验和,将两次计算结果相比较,若结果不一致,则重新计算。
IP在计算校验和时包括哪些内容?
答:
IP的首部校验和只检验数据报的首部,但不包括数据部分。
2)在主机B(两块网卡分别打开两个捕获窗口)、E上启动协议分析器,设置过滤条件(提取IP协议),开始捕获数据。
3)主机A发送第1步中编辑好的报文。
4)主机B、E停止捕获数据,在捕获到的数据中查找主机A所发送的数据报,并回答以下问题:
第1步中主机A所编辑的报文,经过主机B到达主机E后,报文数据是否发生变化?
若发生变化,记录变化的字段,并简述发生变化的原因。
答:
发生了变化,发生变化的字段有“生存空间”和“首部校验和”。
原因:
主机B为路由器,数据包每经过一路由器“生存时间”字段的值会减1并重新计算校验和。
5)将第2步中主机A所编辑的报文的“生存时间”设置为1。
重新计算校验和。
6)主机B、E重新开始捕获数据。
7)主机A发送第5步中编辑好的报文。
8)主机B、E停止捕获数据,在捕获到的数据中查找主机A所发送的数据报,并回答以下问题:
主机B、E是否能捕获到主机A所发送的报文?
简述产生这种现象的原因。
答:
主机B对应于172.16.1.1的接口可以捕获到主机A发送的报文。
主机B对应于172.16.0.1的接口和主机E并不能捕获到主机A发送的报文。
原因:
当“生存时间”字段的值减到0时,路由器将该报文因为报文丢弃不转发。
练习二:
特殊的IP地址
1、直接广播地址。
主机A编辑IP数据报1,其中:
目的MAC地址:
FFFFFF-FFFFFF。
源MAC地址:
A的MAC地址。
源IP地址:
A的IP地址。
目的IP地址:
172.16.0.255。
校验和:
在其他字段填充完毕后,计算并填充。
主机A再编辑IP数据报2,其中:
目的MAC地址:
主机B的MAC地址(对应于172.16.1.1接口的MAC)。
源MAC地址:
A的MAC地址。
源IP地址:
A的IP地址。
目的IP地址:
172.16.0.255。
校验和:
在其他字段填充完毕后,计算并填充。
主机B、C、D、E、F启动协议分析器并设置过滤条件(提取IP协议,捕获172.16.1.2接收和发送的所有IP数据包,设置地址过滤条件如下:
172.16.1.2<->Any)。
主机B、C、D、E、F开始捕获数据。
主机A发送这两个数据报。
主机B、C、D、E、F停止捕获数据。
记录实验结果:
主机号
收到IP数据报1
B、C、D、E、F
收到IP数据报2
B、E、F
结合实验结果,简述直接广播地址的作用。
答:
直接广播地址的作用是限制在同一网络的都能收到报文。
2、受限广播地址。
主机A编辑一个IP数据报,其中:
“目的MAC地址”设置为FFFFFF-FFFFFF。
“目的IP地址”设置为255.255.255.255。
主机B、C、D、E、F重新启动协议分析器并设置过滤条件(提取IP协议,172.16.1.2<->Any)。
主机B、C、D、E、F重新开始捕获数据。
主机A发送这个数据报。
主机B、C、D、E、F停止捕获数据。
记录实验结果:
主机号
收到主机A发送的IP数据报
B、C、D
未收到主机A发送的IP数据报
E、F
结合实验结果,简述受限广播地址的作用。
答:
受限广播地址只可以向本网段内广播。
练习三:
IP数据报分片
1、在主机B上使用“MTU工具”设置以太网端口的MTU为800字节(两个端口都设置)。
2、主机A、B、E启动协议分析器,打开捕获窗口进行数据捕获并设置过滤条件(提取ICMP协议)。
3、在主机A上,执行命令ping-l1000172.16.0.2。
4、主机A、E停止捕获数据。
主机E如下图所示,重新定义过滤条件(取一个ICMP数据包,按照其上层协议IP的Identification字段设置过滤)。
将ICMP的报文分片信息填入下表:
字段名称
分片序号1
分片序号2
Identification字段值
2249
2248
Morefragments字段值
1
0
Fragmentoffset字段值
0
776
传输的数据量
768
232
分析表格内容,理解分片的过程。
答:
IP分片:
MTU限制了数据帧的最大长度。
不同的类型都有一个上限值。
如果IP层有数据包要传输,而数据包超过了MTU,那么IP层就要对数据包进行分片传输。
5.主机E恢复默认过滤器。
主机A、E重新开始捕获数据。
6.在主机A上,执行命令ping-l2000172.16.0.2。
7.主机A、E停止捕获数据。
察看主机A、E捕获到的数据,比较两者的差异,体会两次分片过程。
8.主机B上使用“开始\程序\网络协议仿真教学系统通用版\工具\MTU工具”恢复以太网端口的MTU为1500字节。
三、实验分析与小结:
实验问题解决方案:
1、初次实验,发现主机网卡指示灯不亮,或者在同一共享模块的主机之间不能连通?
主要原因在于机柜上的网线插接错误,要严格按照实验拓扑要求进行实验网线的插接;同时主机后的网卡要连接正确的网线,双网卡的主机两块网卡要注意区分。
2、编辑好的报文不能发送,提示有长度错误、校验和错误?
报文编辑除相应的ip地址和MAC地址要填写,报文的总长度和校验和也要通过手动计算获得后进行填写。
实验总结:
做tcp/ip课程的实验着重加强对理论的理解,平时看理论搭拓扑、编报文都是记忆理解,等到真正实验插接网卡连接主机时,会出现各种问题;同样,编辑报文都需要细心,关键词的填写不能遗忘。
填写ip地址mac地址时,可以双击侧面的主机列表,直接替换报文中的地址,方便且不容易出错。
四、其它
1、试说明IP地址与硬件地址的区别。
为什么要使用这两种不同的地址?
答:
IP地址在IP数据报的首部,而硬件地址则放在MAC帧的首部。
在网络层以上使用的是IP地址,而链路层以下使用的是硬件地址。
每个路由器都有IP地址和硬件地址。
使用IP地址与硬件地址,尽管连接在一起的网络的硬件地址体系各不相同,IP层抽象的互联网却屏蔽了下层这些很复杂的细节,并使我们能够使用统一的、抽象的IP地址进行通信。
2、不同协议的MTU的范围从296到65535。
使用大的MTU有什么好处?
使用小的MTU有什么好处?
答:
使用大的MTU会减少分片数目,实现报文的快速传输,减少出错;使用小的MTU会减少每次传输性能的要求。
3、IP数据报中的首部检验和并不检验数据报中的数据。
这样做的最大好处是什么?
坏处是什么?
答:
IP数据报对传输的数据不做检验,这样做的最大好处是减少IP数据报的处理复杂度,提高数据报的传输速度。
坏处是,这样做实际上把检验的任务交给了上层协议,增加了上层协议的复杂性。
得分(百分制)