IP

实验六

​ IP 是整个 TCP/IP 协议族的核心,也是构成互联网的基础。IP 位于 TCP/IP 模型的网络层(相当于OSI模型的网络层),对上可载送传输层各种协议的信息,例如 TCP、UDP 等;对下可将 IP 信息包放到链路层,通过以太网、令牌环网络等各种技术来传送。为了能适应异构网络,IP 强调适应性、简洁性和可操作性,并在可靠性做了一定的牺牲。IP 不保证分组的交付时限和可靠性,所传送分组有可能出现丢失、重复、延迟或乱序等问题。——百度百科


1.从执行跟踪路线中捕获数据包

  • ​ 打开wireshark捕获,
  • ​ 设置一下pingplotter 首先是interval设置为10s 然后我们在输入框输入gaia.cs.umass.edu,
  • ​ 每次点击之后刷新完了暂停之后去包那里设置packet size为2000 再次点击开始即重新发送reset再暂停再设置为3500再次开始等线再次刷新完了就暂停去把wireshark的捕获暂停下面是我的pingplotter 和 wireshark的捕获截图

image.png

image.png

2.查看捕获的痕迹

​ 1.选择发送的第一个 ICMP Echo Request 消息,然后在 packet details window 中展开数据包的 Internet 协议部分。您的计算机的 IP 地址是多少?

source = 192.168.31.1

​ 2.在 IP header中,上层协议字段中值是什么?

上层协议字段中值是 1

​ 3.IP header 有多少 bytes? IP datagram 的有效负载中有多少 bytes?
IP header 20 bytes,数据报一共有 56 bytes,因此有效负载中有 36 bytes。

​ 4.此 IP 数据报是否已被分段(fragmented)?

应该没有,因为第一个包的 TTL 是 255,如果被分段就会出现多个 TTL 为 255 的包,可是没发现,所以没分段。

​ 5.查看第一个 ICMP 及其所有后续 ICMP 消息。

image.png

​ 6.在您的计算器发送的这一系列 ICMP 消息中,IP 数据报中的哪些字段一直改变?

image.png

image.png

标识符(Identification)、存活时间(Time To Live,TTL)、首部检验和 (Header Checksum)一直在变。

​ 7.哪些字段保持不变?哪个字段必须保持不变?哪些字段必须更改?

  • ID 字段和 TTL 字段的值是多少?

    ID是27749,TTL是1

  • 对于第一跳路由器发送到您的计算器的所有 ICMP TTL 超出的回复,这些值是否保持不变?为什么?

  • 在将 pingplotter 中的数据包大小更改为 2000 后,查找计算机发送的第一个 ICMP Echo Request 消息。该消息是否已碎片化为多个 IP 数据报?

    image.png

    可以看出该消息被碎片化为 2 个 IP 数据报

  • IP 数据报的第一个片段。 IP 头中的哪些信息表明数据报已碎片化? IP 头中的哪些信息表明这是第一个片段还是后一个片段? 这个 IP 数据报有多长?

    image.png

    More fragments字段为 1 表示 Set,即该数据包被分片。通过 ID 字段判断这是第一个片段,分片长度为 1480 bytes。

  • 找到碎片 IP 数据报的第二个片段。 IP 标头中的哪些信息表明这不是第一个数据报片段? 是否还有更多的片段?你是如何知道的?

    image.png

  • 在第一个和第二个片段中,IP 标头中哪些字段发生了变化?

    分片偏移 (Fragment Offset)

  • 从原始数据报创建了多少个片段?

    image.png

    创建了三个片段