欢迎光临散文网 会员登陆 & 注册

IP 数据包的解析-计算机网络

2022-08-03 15:45 作者:老师-忘记密码  | 我要投稿

一、 实验目的

1.1  学习并分析 IP 数据包的结构、含义

二、 实验环境

2.1  Wireshark 网络分析软件  

2.2  实验文件“计算机网络实验.cap”

三、 实验内容

3.1 ARP 地址解析协议数据

打开文件“计算机网络实验”,这是一个网络通信记录,详细记录了分组的序号、相对时间、源地址、目标地址、协议类型、内容,如图 1 是对第 26 个分组的详细信息。在协议框内,分别显示了该分组的各层协议:接口层以太网协议(eth)、arp 地址解析协议。

 

图 1 第 26 个分组 MAC 帧格式的结构和含义


从图中的 Frame 26 为例,可以发现该 MAC 帧目标 address 是 ff:ff:ff:ff:ff:ff,是一个广播帧(broadcast),源地址是 00 25 11 4e 02 34 ,帧类型是地址解析协议 ARP(0806),本机查询网关的物理地址。

图 2 第 27 个分组 MAC 帧格式的结构和含义


第 27 个分组是对 26 分组的应答,网关给出了其物理地址发给本地主机,数据字段的长度小于 46 字节,在数据字段的后面加入整数字节的填充字段 Trailer,以保证以太网的MAC 帧长不小于 64 字节(含 FCS)。(注意:最下栏左面的序号为 16 进制,如 0010 是 16十进制),填充内容一般常见是连续的 0。

3.2 IP 数据包的解析

观察文件内第 71 个分组的 IP 数据包详细信息,见图 3。

l 它的前 8 位是 45(H)=0100 0101(B),其中 0100(B)=4 ,表示 IP 协议的版本是4; 0101(B)=5,表示首部长度是 20 字节(一个单位为 4 字节,合计 5 个单位)。

l 差异服务类型字段为 00000000(B),没有使用。

l 总长度——占 16 bit,指首部和数据之和的长度,00 40(H)=64 字节(64byte)

l 标识(identification) 占 16 bit,它是一个计数器,用来产生数据报的标识,便于重装分片的同一数据报,当前值为 4EA8;

l 标志(flag) 占 3 bit,,当前值是 000,表明可以分片(注:如果数据报的长度超过网络的MTU,需将数据包分片;否则事实上不进行分片),该分组是最后的一个分片,再结合后面的片偏移,可以确定它是完整的未分片。

l 片偏移占 13 bit,当前值是 0 0000 0000 0000 ;

l 生存时间(8 bit)记为 TTL (Time To Live),这是为了限制数据报在网络中的生存时间,当前值是 127,数据报每经过一个路由器,其值就减 1;

l 协议(8 bit)字段指出此数据报携带的数据使用何种协议,当前值是 06(H)=06,为 TCP 协议。

l 首部检验和(16 bit)字段检验数据报的首部,当前值是 baf1;

l IP 源地址当前值是 172.30.0.19;

l IP 目的地址当前值是 219.222.170.14。

 

图 3 第 71 个分组的 IP 数据包详细信息

四、 实验问题

问题一:什么是 IP 地址?IP 数据包的结构和含义是怎样的?

答:

IP地址(Internet Protocol Address)是指互联网协议地址,又译为网际协议地址。IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。

IP数据报结构如下图

 


1) 版本(version)

占 4 位,表示 IP 协议的版本。通信双方使用的 IP 协议版本必须一致。目前广泛使用的IP协议版本号为 4,即 IPv4。

2) 首部长度(网际报头长度IHL)

占 4 位,可表示的最大十进制数值是 15。这个字段所表示数的单位是 32 位字长(1 个 32 位字长是 4 字节)。因此,当 IP 的首部长度为 1111 时(即十进制的 15),首部长度就达到 60 字节。当 IP 分组的首部长度不是 4 字节的整数倍时,必须利用最后的填充字段加以填充。
数据部分永远在 4 字节的整数倍开始,这样在实现 IP 协议时较为方便。首部长度限制为 60 字节的缺点是,长度有时可能不够用,之所以限制长度为 60 字节,是希望用户尽量减少开销。最常用的首部长度就是 20 字节(即首部长度为 0101),这时不使用任何选项。

3) 区分服务(tos)

也被称为服务类型,占 8 位,用来获得更好的服务。这个字段在旧标准中叫做服务类型,但实际上一直没有被使用过。1998 年 IETF 把这个字段改名为区分服务(Differentiated Services,DS)。只有在使用区分服务时,这个字段才起作用。

4) 总长度(totlen)

首部和数据之和,单位为字节。总长度字段为 16 位,因此数据报的最大长度为 2^16-1=65535 字节。

5) 标识(identification)

用来标识数据报,占 16 位。IP 协议在存储器中维持一个计数器。每产生一个数据报,计数器就加 1,并将此值赋给标识字段。当数据报的长度超过网络的 MTU,而必须分片时,这个标识字段的值就被复制到所有的数据报的标识字段中。具有相同的标识字段值的分片报文会被重组成原来的数据报。

6) 标志(flag)

占 3 位。第一位未使用,其值为 0。第二位称为 DF(不分片),表示是否允许分片。取值为 0 时,表示允许分片;取值为 1 时,表示不允许分片。第三位称为 MF(更多分片),表示是否还有分片正在传输,设置为 0 时,表示没有更多分片需要发送,或数据报没有分片。

7) 片偏移(offsetfrag)

占 13 位。当报文被分片后,该字段标记该分片在原报文中的相对位置。片偏移以 8 个字节为偏移单位。所以,除了最后一个分片,其他分片的偏移值都是 8 字节(64 位)的整数倍。

8) 生存时间(TTL)

表示数据报在网络中的寿命,占 8 位。该字段由发出数据报的源主机设置。其目的是防止无法交付的数据报无限制地在网络中传输,从而消耗网络资源。

路由器在转发数据报之前,先把 TTL 值减 1。若 TTL 值减少到 0,则丢弃这个数据报,不再转发。因此,TTL 指明数据报在网络中最多可经过多少个路由器。TTL 的最大数值为 255。若把 TTL 的初始值设为 1,则表示这个数据报只能在本局域网中传送。 

9) 协议

表示该数据报文所携带的数据所使用的协议类型,占 8 位。该字段可以方便目的主机的 IP 层知道按照什么协议来处理数据部分。不同的协议有专门不同的协议号。

例如,TCP 的协议号为 6,UDP 的协议号为 17,ICMP 的协议号为 1。

10) 首部检验和(checksum)

用于校验数据报的首部,占 16 位。数据报每经过一个路由器,首部的字段都可能发生变化(如TTL),所以需要重新校验。而数据部分不发生变化,所以不用重新生成校验值。

11) 源地址

表示数据报的源 IP 地址,占 32 位。

12) 目的地址

表示数据报的目的 IP 地址,占 32 位。该字段用于校验发送是否正确。

13) 可选字段

该字段用于一些可选的报头设置,主要用于测试、调试和安全的目的。这些选项包括严格源路由(数据报必须经过指定的路由)、网际时间戳(经过每个路由器时的时间戳记录)和安全限制。

14) 填充

由于可选字段中的长度不是固定的,使用若干个 0 填充该字段,可以保证整个报头的长度是 32 位的整数倍。

15) 数据部分

表示传输层的数据,如保存 TCP、UDP、ICMP 或 IGMP 的数据。数据部分的长度不固定。

 

问题二:根据文件“计算机网络实验.cap”,参照实验 4.2 回答以下问题:

1、 分析第 2 个 IP 数据包的结构和含义?

答:

IP协议版本号 IPv4

服务类型 0x00(DSCP:CS0,ECN:Not-ECT)

IP报文头长度 20 bytes ,说明没有使用可选字段

数据报总长度 39

标识 0x1669(5737)

数据报是否要求分段  Not set

分段偏移量 0

生存时间: 127

上层协议名称 ICMP

报文头校验和 0x947a

源地址 10.10.0.252

目标地址 219.222.170.14

 

2、 分析第 35 个 IP 数据包的结构和含义?

答:

IP协议版本号 IPv4

服务类型 0x00(DSCP:CS0,ECN:Not-ECT)

IP报文头长度 20 bytes ,说明没有使用可选字段

数据报总长度 52

标识 0x25bf(9663)

数据报是否要求分段  Not set

分段偏移量 0

生存时间: 128

上层协议名称 TCP

报文头校验和 0xa2e6

源地址 219.222.170.14

目标地址 172.30.0.19

 

3、 分析第 95 个 IP 数据包的结构和含义?

答:

IP协议版本号 IPv4

服务类型 0x00(DSCP:CS0,ECN:Not-ECT)

IP报文头长度 20 bytes ,说明没有使用可选字段

数据报总长度 58

标识 0x25e7(9703)

数据报是否要求分段  Not set

分段偏移量 0

生存时间: 128

上层协议名称 UDP

报文头校验和 0xf3f6

源地址 219.222.170.14

目标地址 219.222.191.9

 

4、 分析第 197 个 IP 数据包的结构和含义?

答:

IP协议版本号 IPv4

服务类型 0x00(DSCP:CS0,ECN:Not-ECT)

IP报文头长度 20 bytes ,说明没有使用可选字段

数据报总长度 92

标识 0x2615(9749)

数据报是否要求分段  Not set

分段偏移量 0

生存时间: 12

上层协议名称 ICMP

报文头校验和 0xdc44

源地址 219.222.170.14

目标地址 58.63.236.27

 


IP 数据包的解析-计算机网络的评论 (共 条)

分享到微博请遵守国家法律