23-IP数据包分析实验
00 分钟
2023-12-1
2023/11/27

实验目的

本实验旨在深入理解和掌握IP协议的数据报文格式和传输过程。通过对IP数据包的分析,我们可以更好地理解网络层的工作机制,包括数据报的封装与拆封、首部格式、分片和重组机制等。这有助于我们在网络设计和故障排除中更有效地应用这些知识。

实验原理

IP协议是一种无连接的、不可靠的传输协议,用于在网络层进行数据传输。实验涉及到IP数据报的首部格式、不同字段的功能以及如何封装和拆封数据。包括版本、首部长度、区分服务、总长度、标识、标志、片偏移、生存时间、协议、首部检验和以及源地址和目的地址。此外,实验也涉及IP数据报的选项处理、分段处理、以及路由选择等高级特性。

实验设备

  • 操作系统:Windows 11
  • 网络环境:局域网
  • 软件:Cisco Packet Tracer虚拟实验环境

实验步骤

  1. 打开Cisco Packet Tracer虚拟实验环境,按照下面的网络结构图连线
    1. notion image
  1. 设置web服务器
    1. 增加一台sever,并为其配置静态IP
      notion image
  1. 打开PC1的Web Browser,输入配置web服务器的IP地址(http://192.163.1.13),产生IP数据报文
    1. notion image
      notion image
  1. 分析所产生的报文
  1. 用WireShark抓取本机的IP数据包,解读报文情况

实验现象

  1. Cisco Packet Tracer虚拟实验环境中的报文
    1. 如在Switch1->Router0的报文中
      notion image
      • OSI Model分析:
        • Layer 3 Inbound: 数据包进入的IP头部显示源IP地址为192.168.2.12,目的IP地址为192.168.1.13
        • Layer 2 Inbound: 以太网II帧的源MAC地址是0010.1123.C50E,目的MAC地址是路由器接口的MAC地址0007.EC20.5202
        • Layer 1 Inbound: 数据包通过GigabitEthernet0/1接口进入。
        • 当数据包通过路由器Router0时,路由器处理了数据包的MAC地址。在数据链路层,路由器将自身的出站接口MAC地址作为新的源MAC地址,并将下一个跳点的MAC地址设置为目的MAC地址,以确保数据包能正确地在局域网中传递至下一个设备。
      • IP报文分析:
        • notion image
          结合上图对本实验过程中的IP报文进行分析有:
        • 版本(Version):4,代表使用的是IPv4协议。
        • 首部长度(IHL, Internet Header Length):通常表示IP数据包头部的长度,以32位字为单位。这里的值是5(即5个32位字,或者20字节)。
        • 区分服务(DSCP, Differentiated Services Code Point):用于标识数据包的服务类型,这里为0x0,表示没有特殊的区分服务。
        • 总长度(Total Length):表示整个IP数据包的长度,包括头部和数据。这里没有具体数值显示。
        • 标识(Identification):用于唯一识别主机发送的每一个数据报,这里为0x1f。
        • 标志(Flags)和片偏移(Fragment Offset):标志位通常用于控制和识别数据包的分片行为,片偏移表示数据片在原始数据报文中的位置。这里的片偏移为0x0,通常表示这是未分片的数据包或者是第一个分片。
        • 生存时间(TTL, Time To Live):<u>表示数据包在网络中可以经过的最大路由器数。在左侧的TTL是128,右侧的TTL是127,表明数据包经过了一个路由器,TTL减少了1。</u>
        • 协议(Protocol):表示数据包的上层协议,这里是0x06,代表TCP协议。
        • 头部校验和(Header Checksum):用于错误检测,保证头部信息的正确性。这个值在每个跳(hop)的基础上可能会变化,因为TTL的变化需要重新计算校验和。
        • 源IP地址(Source IP):发送数据包的主机IP地址,这里为192.168.2.12。
        • 目的IP地址(Destination IP):接收数据包的主机IP地址,这里为192.168.1.13。
        • 选项(Options):可选字段,通常用于网络测试等高级功能,这里为0x0,表示没有使用选项。
  1. 解析本机的IP报文情况
    1. 使用WireShark截取了一段报文如下:
      notion image
      对其IP报文进行分析有:
      • 版本(Version):4,这表示使用的是IPv4协议。
      • 首部长度(Header Length):20字节(5个32位字),这是不包含任何选项的标准IPv4头部长度。
      • 区分服务字段(Differentiated Services Field,也被称为DSCP):0x00,表示没有特殊的区分服务或流量优先级被设置。
      • 总长度(Total Length):这个字段指定了整个IP数据包的长度,包括头部和数据。在这个截图中,该字段的值是45,但这个值似乎与实际的数据包长度不符,因为总长度应该是一个较大的数值,可能是截图中未显示完全。
      • 标识(Identification):0xf4ac,这是一个用于唯一标识主机发送的每一个数据报的值,它在数据报的分片和重组过程中起到关键作用。
      • 标志(Flags):Don't fragment,表示该数据包不应被分片。
      • 片偏移(Fragment Offset):0,这表明该数据包不是一个更大数据包的分片,或者是一系列分片中的第一个。
      • 生存时间(Time to Live,TTL):这个字段的值是43,它减少的次数通常等于数据包经过的路由器数量。
      • 协议(Protocol):TCP(6),这表明上层协议是TCP。
      • 头部校验和(Header Checksum):这是一个用于检测头部信息在传输过程中是否出现错误的校验和。
      • 源IP地址(Source Address):110.249.194.68,发送数据包的设备的IP地址。
      • 目的IP地址(Destination Address):100.80.165.198,接收数据包的设备的IP地址。

分析讨论

  1. 在Cisco中一开始发送HTTP请求,出现的是TCP数据块,这是为什么?
    1. HTTP是应用层上的协议,TCP是传输层上的协议,HTTP(超文本传输协议)是一种用于分布式、协作式和超媒体信息系统的应用层协议。HTTP协议基于TCP协议,原因如下:
      • 可靠性:HTTP需要可靠的数据传输方式来确保网页内容准确无误地传达到用户。TCP通过其错误检测和纠正功能提供了这种可靠性。
      • 顺序保证:网页可能包含多个资源(如文本、图片、视频等),这些资源的加载顺序很重要。TCP保证数据包的顺序性,确保所有资源正确地组装在一起。
      • 面向连接的特性:HTTP通常需要与服务器建立持久的连接,以便有效地传输多个资源。TCP的面向连接的特性使得这种持续的通信成为可能。
      • 拥塞控制:在网络拥塞时,TCP可以调整数据发送速率,这有助于维持网络的稳定性和效率。

评论
Loading...