实验报告 2
一. 实验名称
IP 协议分析实验、IP 数据报分片实验
二. 环境(详细说明运行的操作系统,网络平台,机器的 IP 地址)
操作系统:Windows 7
网络平台:实验室局域网
机器的 IP:PC1
172.22.30.23;PC2 172.22.10.22
三. 实验目的
使用 Ping 命令在两台计算机之间发送数据报,用 Ethereal 截获数据报,
分析 IP 数据 报的格式,理解 IP V4 地址的编址方法,加深对 IP 协议的理
解。
使用 Ping 命令在两台计算机之间发送发送大于 MTU 的数据报,验证分片过
程,加深对 IP 协议的理解。
四.实验内容及步骤
网络拓扑图:
配置清单:一台锐捷 R1760 路由器,两台 PC 机
实验步骤:
步骤 1:按照如图 24 所示连接好设备;
步骤 2:完成路由器和 PC1、PC2 的相关配置。将 PC1 的 IP 地址改为
172.22.30.23,用另一网段机器代理。
步骤 3:PC1 和 PC2 上运行 Ethereal 截获报文,截获 PC1 上 ping PC2
的报文,结果保存为 IP-学号。
步骤 4:任取一个数据报,分析 IP 协议的报文格式,完成下列各题。(转
实验结果)
1) 分析 IP 数据报头的格式,完成表 9;
字段
版本
报文信息
0100…=vers
ion:4
说明
4bits,指 IP 协议的版本为 IPV4。
...0101=Hea
头长
der Length:20
bytes(5)
IP 包头长度(Internet Header Length):长度 4
比特。这个字段的作用是为了描述 IP 包头的长度,因为
在 IP 包头中有变长的可选部分。该部分占 4 个 bit 位,
单位为 32bit(4 个字节),一个 IP 包头的长度最长为
15=1111,即 15*4=60 个字节。IP 包头最小长度为 20
服务类型
0x00(DSC:
CS0,ECN:Not-ECT
)
字节即该字段至少为 5。
服务类型,8bits,组成如下:
过程字段:3 位,设置了数据包的重要性,取值越大
数据越重要,取值范围为:0(正常)~ 7(网络控制)
延迟字段:1 位,取值:0(正常)、1(期特低的延迟)
流量字段:1 位,取值:0(正常)、1(期特高的流量)
可靠性字段:1 位,取值:0(正常)、1(期特高的可
靠性)
成本字段:1 位,取值:0(正常)、1(期特最小成本)
保留字段:1 位 ,未使用
总长度,16bits,首部加上数据的长度总和,单位
为字节,故数据报最大长度为 2^16-1=65525 字节。另外
总长度必须不超过最大传送单元 MTU。
标识,16bits,计数器,作为数据报标识。当数据
报需要分片时,该标识用来表示同属一个数据报的分片。
需要分片时结合以下 flags、fragment offset 一起使用。
用来标记一个数据包是否是一组分片数据包的一部
分
13 位字段,指出与源数据报的起始端相关的分片数
据位置,支持目标 IP 适当重建源数据报
表示数据报在网络中的寿命,单位为跳,经过一个
路由表示一跳,该值减 一,到零则丢弃。
IP 数据部分由哪一种协议发送
对 IP 报头的头部进行校验,保证头部的完整性
32bits,发出数据包的主机 IP 地址。
32bits,数据包目的地 IP 地址
总长度
60
标识
标志
片偏移
生存周期
协议
校验和
源地址
目的地址
0x0e0c(3596
)
0x00
0
63
ICMP
0xed5b
172.22.10.2
2
172.22.30.2
3
2) 查看该数据报的源 IP 地址和目的 IP 地址,他们分别是哪类地址?体会
IP 地址的 编址方法。
答:源地址为:172.22.30.23 属于 B 类地址
目标地址为:172.22.10.22 属于 B 类地址
IP 地址编址方法:
IP 地址分为 A,B,C,D,E 五类,其中 A、B、C 类地址为可分配主机
地址,而 D 类地址为组播地址,E 类地址保留以备将来的特殊使用。IP 地址
采用点分十进制方式记录,每个地址表被视为 4 个以点分隔开的十进制整数,
每个整数对应一个字节。
B、C 三类地址由两部分组成:网络地址和主机地址,这三类地址的网络
地址部分的长度不一样。使用子网和子网掩码来实现对 A、B、C 三类地址的更
细划分。
当某个单位申请到一个 IP 地址时,实际上是获得了具有同样网络号的一
块地址。其中具体的各个主机号则是由该单位自行分配,只需要做到在该单位
管辖的范围内无重复的主机号即可。
实验步骤:
步骤 1:与上面实验完全相同
步骤 2:在 PC1 上执行如下 Ping 命令,向主机 PC2 发送 4500B 的数据
报文: ping –l 4500 –n 2 172.22.10.22
步骤 3:停止截获报文,分析截获的报文,回答下列问题:
1)以太网的 MTU 是多少?
以太网的 MTU(最大传输单元)是 1500,由下图可见头部长度为 20 字节,数
据部分为 1480 字节,由于 ping 命令指定发送数据长度为 4500,而每个数据报
的长度只有 1500,这说明了以太网 MTU=1500。
2)对截获的报文分析,将属于同一 ICMP 请求报文的分片找出来,主机 PC1
向主机 PC2 发送的 ICMP 请求报文分成了几个分片?
数据包的 Identification 字段相同的即为同一 ICMP 请求报文的分片。
可见 PC1 向 PC2 发送的 2 个不同的 ICMP 报文每个有 4 个分片,总共有 8 个分
片。
3)若要让主机 PC1 向主机 PC2 发送的数据分为 3 个分片,则 Ping 命
令中的报文长度 应为多大?为什么?
答:Ping 命令中的报文长度应是区间(2952,4432]之中的一个整数(字节)。
ping 命令指定长度为 ICMP 报文的数据长度,每个 ICMP 报文有 8 字节的首部,
故 IP 的数据部分需要传输的总长度为(ping 命令指定长度+8)。因为每个分片
头部占 20 字节,MTU=1500 字节,故数据部分最大为 1480 字节。若要分为 3
个分片,一方面 IP 数据部分长度必须大于 2 个分片的 IP 数据最大总长度
(1480+1480=2960)字节;另一方面 IP 数据部分长度必须小于等于 3 个分片的
IP 数据部分的最大总长度(1480*3=4440)字节。IP 数据总长度要求在区间
(2960,4440]中的一个整数(字节),则 ping 命令中的报文长度应该在区间
(2960-8,4440-8]即区间(2952,4432]中的一个整数(字节)。
4)将第二个 ICMP 请求报文的分片信息填入表 5.10:
表 5.10 ICMP 请求报文分片信息
分片
序号
标识
(Identification)
标志
(Flag)
片偏移(Fragment
Offset)
21
0x3f09(16137)
2
3
4
0x3f09(16137)
0x3f09(16137)
0x3f09(16137)
0x01
0x01
0x01
0x00
0
1480
2960
4440
数据
长度
(byte
s)
1480
1480
1480
68
五.实验中的问题及心得
实验中的问题:主机所在控制机箱无法打开,不能成功连接路由器,导致
实验前大半部分时间无法进行实验操作,而在 Cisco 软件上模拟实验过程中,
遇到问题难以解决,直到其他同学完成实验才开始实验,导致实验过程较为仓
促。
实验心得:通过本次实验,了解了 IP 地址的编址方法以及 IP 报文格式每
个字段的功能和意义,知道了 IP 数据报是怎么进行传输的。通过 IP 数据报分
片实验,学会辨别并分析 ICMP 的分片信息及分片数量的控制