实验三

更新时间:2024-03-18 19:11:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验三 网际协议IP

【实验目的】

1. 掌握IP数据报的报文格式 2. 掌握IP校验和计算方法 3. 掌握子网掩码和路由转发 4. 理解特殊IP地址的含义 5. 理解IP分片过程

【实验学时】

建议4学时

【实验环境配置】

该实验采用网络结构二

【实验原理】

一. IP报文格式

IP数据报是由IP首部加数据组成的,IP首部的最大长度不超过60字节。 下图 IP数据报文格式:

4位版本 4位首部长度 8位服务类型 16位标识 8位生存时间 8位协议类型 32位源IP地址 32位目的IP地址 选项(如果有) 数据 二. IP分片

链路层具有最大传输单元(MTU)这个特性,它限制了数据帧的最大长度。不同的网络类型都有一个上限值。以太网通常是1500。 如果IP层有数据包要传输,而数据包的长度超过了MTU,那么IP层就要对数据包进行分片操作,使每一片长度都小于MTU。 IP首部中

16位总长度(字节数) 3位标志 13位片偏移 16位首部检验和

“16位标识”、“3位标志”和“13位片偏移”包含了分片和重组所需的信息。另外,当数据被分片后,每个片的“16位总长度” 值要改为该片的长度值。 三. IP路由表

大部分网络层设备(包括PC机、三层交换机、路由器等)都存储着一张记录路由信息的表格,称为路由表。一张路由表由许多表项组成。网络层设备收到数据报后,根据其目的IP地址查找路由表确定数据报传输的最佳路径(下一跳)。然后利用网络层的协议重新封装数据报,利用下层提供的服务把数据报转发出去。

路由表的项目一般含有五个基本字段:目的地址、网络掩码、下一跳地址、接口、度量。

路由表匹配顺序如下: ? ? ? ?

直接交付:路由表项的“目的地址”字段是交付主机的本网络地址。 特定主机交付:路由表项的“目的地址”字段是某台特定主机的IP地址。 特定网络交付:路由表项的“目的地址”字段是另一个网络的地址。 默认交付:路由表项的“目的地址”字段是一个默认路由器(默认网关)。

四. 路由选择过程

路由选择模块从IP处理模块接收到IP分组后,使用该分组的目的IP地址同路由表中的每一个项目按特定的顺序(路由表匹配顺序)查找匹配项,当找到第一个匹配项后就不再继续寻找了,这样就完成了路由选择过程。

匹配路由表项的方法是将IP地址与路由表中的一个项目的“子网掩码”进行按位“与”操作,然后判断运算结果是否等于该项目的“目的地址”,如果等于,则匹配成功,否则,匹配失败。

路由选择模块的工作过程:

对路由表中的每一个项目使用分组的目的IP地址与项目相匹配匹配成功YNN该项目的“目的地址”是另一个网络Y该项目的“目的地址”是本网络使用分组的目的IP地址作为下一跳地址使用该项目路由表中的“下一跳地址/网关”作为下一跳地址发送ICMP差错报文把分组连同下一跳地址发送到分片模块停止【实验步骤】

练习一:编辑并发送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在计算校验和时包括那些内容?

2. 在主机B、E上启动协议分析器并设置过滤条件(提取IP协议)开始捕获数据。 3. 主机A发送第2步中编辑好的报文。

4. 主机B、E停止捕获数据,在捕获到的数据中查找主机A所发送的数据报,并回答以

下问题:

? 第2步中主机A所编辑的报文,经过主机B到达主机E后,报文数据是否发生

主机B启动静态路由服务(方法:在命令行方式下,输入“staticroute_config”)。 按照拓扑结构图连接网络,使用拓扑验证检查连接的正确性。

变化?若发生变化,记录变化的字段,并简述发生变化的原因。

A:20 E:48

5. 将第2步中主机A所编辑的报文的“生存时间”设置为1。重新计算校验和。 6. 主机B、E重新开始捕获数据。 7. 主机A发送第6步中编辑好的报文。

8. 主机B、E停止捕获数据,在捕获到的数据中查找主机A所发送的数据报,并回答以

下问题:

? 主机B、E是否能捕获到主机A所发送的报文?简述产生这种现象的原因。

接收不到数据

练习二:特殊的IP地址

1. 直接广播地址

①主机A编辑IP数据报1,其中:

“目的MAC地址”设置为FFFFFF-FFFFFF; “目的IP地址”设置为172.16.1.255。 ②主机A再编辑IP数据报2,其中:

“目的MAC地址”设置为主机B的MAC地址(对应于172.16.1.1接口的MAC);“目的IP地址”设置为172.16.0.255。

③主机B、C、D、E、F启动协议分析器并设置过滤条件(提取IP协议,172.16.1.2<->Any)。

④主机B、C、D、E、F开始捕获数据。 ⑤主机A发送这两个数据报。 ⑥主机B、C、D、E、F停止捕获数据。 ? 记录实验结果

收到IP数据报1 收到IP数据报2 ? 结合实验结果,简述直接广播地址的作用。 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数据报 未收到主机A发送的IP数据报 ? 结合实验结果,简述受限广播地址的作用。 3. 环回地址

①主机F重新启动协议分析器开始捕获数据并设置过滤条件(提取IP协议)。 ②主机E ping 127.0.0.1。 ③主机F停止捕获数据。

主机号

? 主机F是否收到主机E发送的目的地址为127.0.0.1的IP数据报?为什么?

练习三:IP数据报分片

1. 在主机B上使用“开始\\程序\\网络协议仿真教学系统 通用版\\工具\\MTU工具” 设

置以太网端口的MTU为800字节(两个端口都设置)。

2. 主机A、B、E启动协议分析器,打开捕获窗口进行数据捕获并设置过滤条件(提取

ICMP协议)。

3. 在主机A上,执行命令ping -l 1000 172.16.0.2。

4. 主机A、B、E停止捕获数据。主机E如下图所示,重新定义过滤条件(取一个ICMP

数据包,按照其上层协议IP的Identification字段设置过滤)。

? 将ICMP报文分片信息填入下表,分析表格内容,理解分片的过程。

字段名称 Identification字段值 More fragments字段值 Fragment offset字段值 传输的数据量 分片序号1 分片序号2 分片序号3 676 0 677 0 776 678 0 776 776 5. 主机E恢复默认过滤器。主机A、B、E重新开始捕获数据。 6. 在主机A上,执行命令ping -l 2000 172.16.0.2。

7. 主机A、B、E停止捕获数据。察看主机A、E捕获到的数据,比较两者的差异,体会

两次分片过程。

8. 主机B上使用“开始\\程序\\网络协议仿真教学系统 通用版\\工具\\MTU工具”恢复以

太网端口的MTU为1500字节

练习四:子网掩码与路由转发

1. 所有主机取消网关。

2. 主机A、C、E设置子网掩码为255.255.255.224,主机B(172.16.1.1)、D、F设置

子网掩码为255.255.255.240。

3. 主机A ping 主机B(172.16.1.1),主机C ping 主机D(172.16.1.4),主机E ping

主机F(172.16.0.3)。 ? 记录实验结果

主机A----主机B 主机C----主机D 主机E----主机F 是否ping 通 ? 回答什么情况下两主机的子网掩码不同,却可以相互通信?

4. 主机A设置子网掩码为255.255.255.252,主机C设置子网掩码为255.255.255.254,

用主机A ping 主机C。 ? 记录实验结果

主机A--主机C 是否ping 通 为什么 【思考问题】

1. 说明IP地址与硬件地址的区别,为什么要使用这两种不同的地址?

答:IP地址是分给每个用户与网上进行数据传输的地址,属于逻辑地址;

硬件地址是物理地址,是物理层用的。

2. 不同协议的MTU的范围从296到65535,使用大的MTU有什么好处?使用小的MTU

有什么好处?

答:大的好处是:可以在较少的报文包含较多数据。小的好处是:可减

少路由分片。

3. IP数据报中的首部检验和并不检验数据报中的数据,这样做的最大好处是什么?

缺点是什么?

答:好处是:所有降数据封装在IP数据报中的高层协议,都有覆盖整个

分组的校验和。

缺点是:在数据包转发的过程中,不能及时发现错误,只有到目的地的时候才能发现。

本文来源:https://www.bwwdw.com/article/b728.html

Top