北信科大计算机网络实验二Word文档格式.docx
《北信科大计算机网络实验二Word文档格式.docx》由会员分享,可在线阅读,更多相关《北信科大计算机网络实验二Word文档格式.docx(10页珍藏版)》请在冰豆网上搜索。
1.掌握IP数据报的报文格式
2.掌握IP校验和计算方法
3.掌握子网掩码和路由转发
4.理解特殊IP地址的含义
5.理解IP分片过程
【实验学时】
建议4学时
【实验环境配置】
该实验采用网络结构二(我作为主机A参与本次实验)
【实验原理】
一.IP报文格式
IP数据报是由IP首部加数据组成的,IP首部的最大长度不超过60字节。
下图IP数据报文格式:
4位版本
4位首部长度
8位服务类型
16位总长度(字节数)
16位标识
3位标志
13位片偏移
8位生存时间
8位协议类型
16位首部检验和
32位源IP地址
32位目的IP地址
选项(如果有)
数据
二.IP分片
链路层具有最大传输单元(MTU)这个特性,它限制了数据帧的最大长度。
不同的网络类型都有一个上限值。
以太网通常是1500。
如果IP层有数据包要传输,而数据包的长度超过了MTU,那么IP层就要对数据包进行分片操作,使每一片长度都小于MTU。
IP首部中“16位标识”、“3位标志”和“13位片偏移”包含了分片和重组所需的信息。
另外,当数据被分片后,每个片的“16位总长度”值要改为该片的长度值。
三.IP路由表
大部分网络层设备(包括PC机、三层交换机、路由器等)都存储着一张记录路由信息的表格,称为路由表。
一张路由表由许多表项组成。
网络层设备收到数据报后,根据其目的IP地址查找路由表确定数据报传输的最佳路径(下一跳)。
然后利用网络层的协议重新封装数据报,利用下层提供的服务把数据报转发出去。
路由表的项目一般含有五个基本字段:
目的地址、网络掩码、下一跳地址、接口、度量。
路由表匹配顺序如下:
●直接交付:
路由表项的“目的地址”字段是交付主机的本网络地址。
●特定主机交付:
路由表项的“目的地址”字段是某台特定主机的IP地址。
●特定网络交付:
路由表项的“目的地址”字段是另一个网络的地址。
●默认交付:
路由表项的“目的地址”字段是一个默认路由器(默认网关)。
四.路由选择过程
路由选择模块从IP处理模块接收到IP分组后,使用该分组的目的IP地址同路由表中的每一个项目按特定的顺序(路由表匹配顺序)查找匹配项,当找到第一个匹配项后就不再继续寻找了,这样就完成了路由选择过程。
匹配路由表项的方法是将IP地址与路由表中的一个项目的“子网掩码”进行按位“与”操作,然后判断运算结果是否等于该项目的“目的地址”,如果等于,则匹配成功,否则,匹配失败。
路由选择模块的工作过程:
【实验步骤】
主机B启动静态路由服务(方法:
在命令行方式下,输入“staticroute_config”)。
按照拓扑结构图连接网络,使用拓扑验证检查连接的正确性。
练习一:
编辑并发送IP数据报
1.主机A启动仿真编辑器,编辑一个IP数据报,其中:
MAC层:
“目的MAC地址”设置为主机B的MAC地址(对应于172.16.1.1接口的MAC)。
IP层:
“生存时间”设置为128;
“源IP地址”设置为主机A的IP地址(172.16.1.2);
“目的IP地址”设置为主机E的IP地址(172.16.0.2)。
使用仿真编辑器的“手动计算”校验和;
再使用仿真编辑器的“自动计算”校验和,将两次计算结果相比较,若结果不一致,则重新计算。
●IP在计算校验和时包括那些内容?
答:
IPv4分组中的校验和只对头部进行,而不再数据部分进行。
2.在主机B、E上启动协议分析器并设置过滤条件(提取IP协议)开始捕获数据。
3.主机A发送第2步中编辑好的报文。
4.主机B、E停止捕获数据,在捕获到的数据中查找主机A所发送的数据报,并回答以下问题:
●第2步中主机A所编辑的报文,经过主机B到达主机E后,报文数据是否发生变化?
若发生变化,记录变化的字段,并简述发生变化的原因。
报文数据发生变化。
发生变化的字段有:
“生存时间”和“首部校验和”。
原因是主机B为路由器,数据包每经过一路由器“生存时间”字段的值会减1,并重新计算校验和。
5.将第2步中主机A所编辑的报文的“生存时间”设置为1。
重新计算校验和。
6.主机B、E重新开始捕获数据。
7.主机A发送第6步中编辑好的报文。
8.主机B、E停止捕获数据,在捕获到的数据中查找主机A所发送的数据报,并回答以下问题:
●主机B、E是否能捕获到主机A所发送的报文?
简述产生这种现象的原因。
当主机B对应于172.16.1.1的接口可以捕获到主机A所发送的报文,这时的报文生存时间为1,当主机B接收到A发送的报文后,生存时间减一;
但当主机B对应于172.16.0.1的接口转发时,主机E就不能捕获到主机A所发送的报文。
原因是当“生存时间”字段的值减至为0时,路由器将该报文丢弃不进行转发。
练习三:
IP数据报分片
1.在主机B上使用“开始\程序\网络协议仿真教学系统通用版\工具\MTU工具”设置以太网端口的MTU为800字节(两个端口都设置)。
2.主机A、B、E启动协议分析器,打开捕获窗口进行数据捕获并设置过滤条件(提取ICMP协议)。
3.在主机A上,执行命令ping-l1000172.16.0.2。
4.主机A、B、E停止捕获数据。
主机E如下图所示,重新定义过滤条件(取一个ICMP数据包,按照其上层协议IP的Identification字段设置过滤)。
5.主机E恢复默认过滤器。
主机A、B、E重新开始捕获数据。
6.在主机A上,执行命令ping-l2000172.16.0.2。
7.主机A、B、E停止捕获数据。
察看主机A、E捕获到的数据,比较两者的差异,体会两次分片过程。
第一次传输的数据长度为1000bytes,而MTU为800,因此需要进行1次分片,第二次传输的数据长度为2000bytes,而MTU为800,因此需要进行2次分片。
Morefragments字段值为1表示之后还有分片;
Fragmentoffset字段指明了当前分片包在与其它分片包被重新组装成一个单独数据包时,应该位于数据包的什么位置上。
值为8的整数倍。
在本实验中,MTU为800,因此传输的数据量最大为800-20(IP首部长度)=780,而780不是8的整数倍,因此分片序号2的Fragmentoffset字段值为776(8的整数倍且最接近780)。
8.主机B上使用“开始\程序\网络协议仿真教学系统通用版\工具\MTU工具”恢复以太网端口的MTU为1500字节
【思考问题】
1.说明IP地址与硬件地址的区别,为什么要使用这两种不同的地址?
IP地址基于逻辑,比较灵活,不受硬件限制,也容易记忆。
MAC地址在一定程度上与硬件一致,基于物理,能够标识具体。
这两种地址各有好处,使用时也因条件而采取不同的地址。
由于IP只是逻辑上标识,任何人都随意修改,因此不能用来标识用户;
而MAC地址则不然,它是固化在网卡里面的。
从理论上讲,除非盗来硬件(网卡),否则是没有办法冒名顶替的。
这就是MAC地址的好处。
2.不同协议的MTU的范围从296到65535,使用大的MTU有什么好处?
使用小的MTU有什么好处?
使用大的MTU可以有效的提高数据传输速率(提高效率),但MTU值越大支持的物理网络就会越少。
使用小的MTU可以获得多数物理网络的支持,但传输速率明显降低(降低效率)。
3.IP数据报中的首部检验和并不检验数据报中的数据,这样做的最大好处是什么?
缺点是什么?
只校验首部数据可最大的好处是降低校验和的运算量,有效地提高了网络层对IP数据报的处理效率。
缺点是无法对数据进行校验,无法判断报文的正确与否,报文对不对都会转发,而不进行修定、无法对首部以外的数据部分进行校验,所以IP数据报数据部分的正确性必须等传送到目的端依靠高层协议(TCP,UDP)来校验。
【实验总结】
在学习本章内容的时候,无法彻底理解本章的重点。
通过本次实验我掌握了IP数据报的报文格式以及IP校验和计算方法(只校验首部——首部校验和)并理解了IP分段过程。
对MTU(最大传输单元)的要求和格式有了深刻的理解。
为了使IPv4协议与物理网络无关,协议设计者决定使IPv4数据包的最大长度等于最大传输单元,其目前定义值是65535字节。
如果使用具有此值的MTU协议,那么可是传输更加有效。
对其他一些物理网络,我们就要将数据进行分割,使其能够通过这些网络。
这章主要要求我们队IPv4和IPv6的数据报的格式。
和数据报与分段的相关的字段。
还有IPv4分组中的校验和过程和功能。