计算机网络实验报告
实验题目:网际协议IP 学号:201200301106 日期:2014/11/20 班级:2012级软工3班 姓名: 李凯峰 实验目的: 1.掌握IP数据报的报文格式; 2.掌握IP校验和计算方法; 3.掌握子网掩码和路由转发; 4.理解特殊IP地址的含义; 5.理解IP分片过程; 6.理解协议栈对IP协议的处理方法; 7.理解IP路由表作用以及IP路由表的管理。 实验环境: 该实验采用网络结构二 实验原理: IP协议简介、IP地址及其表示方法、IP报文格式、路由选择等知识。 实验内容及结果: 练习1: 各主机打开协议分析器,进入相应的网络结构并验证网络拓扑的正确性,如果通过拓扑验证,关闭协议分析器继续进行实验,如果没有通过拓扑验证,请检查网络连接。 本练习将主机A、B、C、D、E、F作为一组进行实验。 1.主机B在命令行方式下输入staticroute_config命令,开启静态路由服务。 2.主机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)。 校验和:在其它所有字段填充完毕后计算并填充。 自定义字段: 数据:填入大于1字节的用户数据。 说明:先使用协议编辑器的“手动计算”校验和,再使用协议编辑器的“自动计算”校验和,将两次计算结果相比较,若结果不一致,则重新计算。 IP在计算校验和时包括哪些内容? 答:IP计算校验和包括在主机端计算校验和和在接收端计算校验和两部分:在发送端先计算校验和,并把得到的结果与数据包一起发送出去。接收端对整个数据包重复进行同样的计算。若得到的结果正确则接受这个数据包;否则就把它丢弃。 1.在发送端计算校验和 在发送端,将数据包按16位长度分段。把这些段用反码算数运算相加,将相加后得到的和再取反码就得出了校验和。 2.在接收端计算校验和 接收端把收到的数据包按16位长度分段,并把这些段相加。把得到的和取反码。若结果为0,则接受这个数据包;否则就拒绝这个数据包。IP数据包的校验和只校验IP首部部分而不校验IP数据部分。这是因为所有将数据封装在IP数据报中的高层协议,都有覆盖整个数据包的校验和。因此,IP数据报的校验和就不必再检验所封装的数据部分。其次,每经过一个路由器,IP数据包的首部就要改变一次,但数据部分不改变。 3.在主机B(两块网卡分别打开两个捕获窗口)、E上启动协议分析器,设置过滤条 件(提取IP协议),开始捕获数据。 4.主机A发送第1步中编辑好的报文 5.主机B、E停止捕获数据,在捕获到的数据中查找主机A所发送的数据报,并回答以下问题: 第1步中主机A所编辑的报文,经过主机B到达主机E后,报文数据是否发生变化?若发生变化,记录变化的字段,并简述发生变化的原因。 答:发生了变化。B和E收到的报文MAC地址不同,A到B的传输B收到的是B在A所属子网的MAC地址,而E收到的是A在所属E的子网中的另一个MAC地址。另外,生存时间不一样。 6.将第1步中主机A所编辑的报文的“生存时间”设置为1,重新计算校验和。 7.主机B、E重新开始捕获数据。 8.主机A发送第5步中编辑好的报文。 9.主机B、E停止捕获数据,在捕获到的数据中查找主机A所发送的数据报,并回答以下问题: ?主机B、E是否能捕获到主机A所发送的报文?简述产生这种现象的原因。 答:B可以捕获到A的报文 ,但是E捕获不到,由于超出生存时间 ,被丢弃。