资源描述
重庆师范大学
课程名称:计算机网络
实验题目:网际协议IP
姓 名:
专 业:
学 院:
指导老师:
时
实验三 网际协议IP
实验目的:
1、 掌握IP数据报的报文格式
2、 掌握IP检验和计算方法
3、 掌握子网掩码和路由转发
4、 理解特殊IP地址的含义
5、 理解IP分片过程
实验环境配置
采用网络结构二
实验原理
一、 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地址与路由表中的一个项目的“子网掩码”进行按位“与”操作,然后判断运算结果是否等于该项目的“目的地址”,如果等于,则匹配成功,否则匹配失败。
路由选择模块的工作过程:
对路由表中的每一个表项使用分组的目的IP地址与项目 相匹配
匹配成功
该项目的“目的地址”是另一个网络
使用该项目路由表中的“下一跳地址/网关”作为下一跳地址
该项目的“目的地址”是本网络,使用分组的目的IP地址作为下一跳地址
发送ICMP差错报文
把分组连同下一跳地址发送到分片模块
停止
实验步骤
主机B启动静态路由服务(方法:在命令行方式下,输入“staticroute_config”)。
按照拓扑结构图连接网络,使用拓扑验证检查连接的正确性。
练习一:编辑并发送IP报文
1、 主机A启动仿真编辑器,编辑一个IP数据报,其中:
MAC层:
目的MAC地址:主机B的MAC地址(对应于172.16. 1. 71接口的MAC)。
源MAC地址:主机A的MAC地址。
协议类型或数据长度:0800。
IP层:
总长度:IP层长度。
生存时间:128。
源IP地址:主机A的IP地址(172.16. 1. 72)。
目的IP地址:主机E的IP地址(172.16. 0. 72)。
校验和:在其他所有字段填充完毕后计算并填充。
IP在计算校验和时包括哪些内容?
答:校验和包括IP报文首部
2、 在主机B(两块网卡分别打开两个捕获窗口)、E上启动协议分析器,设置过滤条件(提取IP协议),开始捕获数据。
3、 主机A发送第1步中编辑好的报文。
4、 主机B、E停止捕获数据,在捕获到的数据中查找主机A所发送的数据报,并回答以下问题:
第1步中主机A所编辑的报文,经过主机B到达主机E后,报文数据是否发生变化?若发生变化,记录变化的字段,并简述发生变化的原因。
答:会发生变化。MAC地址会发生变化,因为在主机B转发报文时,数据链路层是依据MAC层地址来转发的。所以MAC地址会发生变化。
5、 将第1步中主机A所编辑饿报文的“生存时间”设置为1,重新计算校验和。
6、 主机B、E重新开始捕获数据。
7、 主机A发生第5步中编辑好的报文。
8、 主机B、E停止捕获数据,在捕获到的数据中查找主机A所发送的数据报,并回答以下问题:
主机B、E是否能捕获到主机A所发送的报文?简述产生这种现象的原因。
答:主机B能捕获主机A所发送的报文,但是主机E不能捕获。因为主机A所发送的报文把生存时间设置为1,当报文到达主机B时,就会将生存时间减为0,当生存时间为0时,就会丢弃报文。所以B能收到报文,但是却不转发,致使E不能捕获报文。
练习二:特殊的IP地址
1、 直接广播地址
(1) 主机A编辑IP数据报1,其中:
目的MAC地址:FFFFFF-FFFFFF。
源MAC地址:A的MAC地址。
源IP地址:A的IP地址。
目的IP地址:172.16.1.255。
校验和:在其他字段填充完毕后,计算并填充。
(2) 主机A再编辑IP数据报2,其中:
目的MAC地址:主机B的MAC地址(对应于172.16.1.71接口的MAC)。
源MAC地址:A的MAC地址。
源IP地址:A的IP地址。
目的IP地址:172.16.0.255。
校验和:在其他字段填充完毕后,计算并填充。
(3) 主机B、C、D、E、F启动协议分析器并设置过滤条件(提取IP协议捕获172.16.1.72接收和发送的所有IP数据包,设置地址过滤条件如下:172.16.1.2<->Any)。
(4) 主机B、C、D、E、F开始捕获数据。
(5) 主机A同时发送这两个数据报。
(6) 主机B、C、D、E、F停止捕获数据。
记录实验结果
主机号
B、C、D
收到IP数据报1
E、F
收到IP数据报2
结合实验结果简述直接广播地址的作用。
答:直接广播地址的作用是,在本网段的所有主机都可以收到这个报文,但是不在本网段内的主机就不能收到这个报文。
2、 受限广播地址
(1) 主机A编辑一个IP数据报,其中:
目的MAC地址:FFFFFF-FFFFFF。
源MAC地址:A的MAC地址。
源IP地址:A的IP地址。
目的IP地址:255.255.255.255
校验和:在其他字段填充完毕后,计算并填充。
(2) 主机B、C、D、E、F重新启动协议分析器并设置过滤条件(提取IP协议捕获172.16.1.72接收和发送的所有IP数据包,设置地址过滤条件如下:172.16.1.2<->Any)。
(3) 主机B、C、D、E、F开始捕获数据。
(4) 主机A同时发送这两个数据报。
(5) 主机B、C、D、E、F停止捕获数据。
记录实验结果
主机号
B、C、D、E、F
收到主机A发送的IP数据报
无
未收到主机A发送的IP数据报
3、 环回地址
(1) 主机F重新启动协议分析器开始捕获数据并设置过滤条件(提取IP协议)。
(2) 主机E ping 127.0.0.1。
(3) 主机F停止捕获数据。
主机F是否收到主机E发送的目的地址为127.0.0.1的IP数据报?为什么?
答:F能捕获E的数据报。因为127.0.0.1是环回地址,所以在本网段的主机F能收到E发送的数据报。
练习三:IP数据报分片
1、 在主机B上使用“开始\程序\网络协议仿真教学系统 通用版\工具\MTU工具”设置以太网端口的MTU为800字节(两个端口都设置)。
2、 主机A、B、E启动协议分析器,打开捕获窗口进行数据捕获并设置过滤条件(提取ICMP协议)。
3、 在主机A上,执行命令ping -1 1000 172.16.0.2 。
4、 主机A、B、E停止捕获数据。在主机E上重新定义过滤条件(取一个ICMP数据包,按照其IP层的Identification字段设置过滤)。
将ICMP报文分片信息填入下表,分析表格内容,理解分片的过程。
字段名称
分片序号1
分片序号2
分片序号3
Identification 字段值
63234
63234
63234
More fragments字段值
1
1
0
Fragment offset字段值
0
499
999
传输的数据量
548
548
49
5、 主机E恢复默认过滤器。主机A、B、E重新开始捕获数据。
6、 在主机A上,执行命令ping -1 2000 172.16.0.72 。
7、 主机A、B、E停止捕获数据。察看主机A、E捕获到的数据,比较两者的差异,体会两次分片过程。
8、 主机B上使用“开始\程序\网络协议仿真教学系统 通用版\工具\MTU工具”恢复以太网端口的MTU为1500字节。
练习四:子网掩码与路由转发
1、 所有主机取消网关。
2、 主机A、C、E设置子网掩码为255.255.255.224,主机B(172.16.1.71)、D、F设置子网掩码为255.255.255.240 。
3、 主机A ping 主机B(172.16.1.71),主机 C ping 主机D (172.16.1.74),主机E ping 主机F (172.16.0.73)。
记录实验结果
是否ping通
主机A----主机B
是
主机C----主机D
否
主机E----主机F
否
请问什么情况下两主机的子网掩码不同,却可以相互通信?
答:当两主机之间有路由转发,即使子网掩码不同,也可以相互通信。
4、 主机A 设置子网掩码为255.255.255.252,主机C 设置子网掩码为255.255.255.254,用主机A ping 主机C(172.16.1.3)。
记录实验结果
是否ping通
为什么
主机A----主机C
否
不在同一个网段
展开阅读全文