当前位置: 首页 > news >正文

eNSP-IP数据包分析

一、IP数据包 基本知识

1.包头基本格式

IP数据报是可变长度的,它由两部分组成:首部和数据

首部由两部分组成:固定部分和可变部分

固定部分20字节,可变部分由一些选项组成,最长40字节

上图中,每一行是32位,4字节,前五行就是20字节。

 2.关键字段说明

  1. 版本 (Version - 4 bits)

    • 意思: 这个包裹使用的是哪个“版本”的快递协议?现在最常用的是 IPv4 和 IPv6。

    • 可能的值:

      • 4: 代表 IPv4 (目前互联网上使用最多的版本)

      • 6: 代表 IPv6 (新一代的互联网协议,地址空间更大,正在逐步普及)

    • 重要性: 告诉处理这个包裹(数据包)的路由器和电脑,应该用哪套规则来解释这个面单(包头)和里面的东西(数据)。就像快递员一看就知道是按国内件还是国际件的规则处理。

  2. 首部长度 (IHL - Internet Header Length - 4 bits)

    • 意思: 这个“快递面单”(IP 包头)本身有多长?

    • 可能的值: 通常为 5 (代表 5 * 4 = 20 字节)。因为选项字段很少用,所以大多数情况下 IP 包头就是 20 字节长。

    • 重要性: 告诉处理数据的设备,从哪里开始是包裹里的实际“货物”(传输层数据,如 TCP/UDP 数据),而不是面单信息。就像快递员需要知道面单贴到哪里结束,包裹本身从哪里开始。

  3. 服务类型 (ToS - Type of Service - 8 bits) / 区分服务 (DS - Differentiated Services - 6 bits)

    • 意思: 这个包裹的“优先级”和“特殊要求”是什么?(比如加急件、易碎品?)

    • 可能的值: 这个字段比较复杂,演变过。

      • 早期 (ToS):可以设置优先级(如 最低延时最大吞吐量最高可靠性最小成本)。

      • 现在更常用 (DS):用来标记数据包的服务质量 (QoS) 类别。网络设备可以根据这个值决定优先转发哪些包(比如视频通话的包优先级高于网页浏览的包),或者在网络拥塞时先丢弃哪些包。值由网络管理员定义(如 EF - 加速转发,用于语音/视频;AF - 确保转发,有不同丢弃优先级;BE - 尽力而为,默认)。

    • 重要性: 让网络知道这个包裹(数据)有多重要/紧急,以便更好地管理和调度网络资源,提供更好的服务质量。就像你在快递单上勾选“加急”或者“易碎品小心轻放”。

  4. 总长度 (Total Length - 16 bits)

    • 意思: 整个包裹(IP 数据包)的总大小是多少?包括“面单”(IP 包头)和里面的“货物”(数据)。

    • 可能的值: 范围是 20 字节 (最小,只有包头无数据) 到 65535 字节 (最大)。

    • 重要性: 告诉接收方这个包裹有多大,以便它知道需要接收多少数据。也帮助网络设备判断一个包是否完整、是否需要分片(见下)。就像快递单上写着包裹的总重量或体积。

  5. 标识 (Identification - 16 bits)

    • 意思: 给这个包裹分配的一个唯一编号(在一个特定的会话或数据流中相对唯一)。

    • 可能的值: 一个由发送方生成的数字(如 36754)。

    • 重要性: 主要用于分片和重组。 如果一个包裹太大(超过网络链路允许的最大大小,称为 MTU),就需要被拆分成几个小包裹(分片)。所有属于同一个原始大包裹的小分片,它们的 标识 字段值都是一样的!这样接收方才能知道哪些小包裹原来是属于同一个大包裹的,需要把它们重新拼起来。就像你把一个大箱子分成几个小箱子邮寄,每个小箱子上都写着同一个原始运单号。

  6. 标志 (Flags - 3 bits)

    • 意思: 控制包裹是否可以拆开(分片),以及当前这个小包裹是不是原始大包裹的最后一块。

    • 可能的值 (3个开关):

      • 第一位 (Reserved): 保留位,总是 0

      • 第二位 (DF - Don't Fragment): 禁止分片开关。

        • 0: 允许路由器在需要时把这个包裹拆小(分片)。

        • 1: 不允许拆包!如果包裹太大,路由器直接丢掉它,并给发件人发个错误消息(ICMP 错误)。用于某些不能忍受分片的应用(如一些 VPN)。

      • 第三位 (MF - More Fragments): 还有更多分片开关。

        • 0: 这个包裹是原始大包裹的最后一个分片(或者它本身就没被分片)。

        • 1: 这个包裹后面还有属于同一个原始大包裹的其他分片(这个不是最后一个)。

    • 重要性: 明确告诉路由器能不能拆包,并告诉接收方还有没有后续分片需要等待。

  7. 片偏移 (Fragment Offset - 13 bits)

    • 意思: 如果包裹被拆开了(分片了),当前这个小包裹里的“货物”(数据)在原始大包裹的“货物”中,是从哪个位置开始的?

    • 可能的值: 以 8 字节 为单位计数。比如:

      • 0: 表示这是第一个分片,数据从原始数据的开头开始。

      • 185: 表示这个分片的数据是从原始数据 185 * 8 = 1480 字节的位置开始的。

    • 重要性: 接收方收到所有属于同一个原始大包裹的分片后,需要按照 片偏移 的值,像拼图一样,把各个小包裹里的数据按顺序拼接起来,还原出原始数据。就像你收到几个小箱子,要根据箱子编号(偏移量)按顺序打开,把里面的东西放回原位。

  8. 生存时间 (TTL - Time to Live - 8 bits)

    • 意思: 这个包裹最多还能经过多少个“驿站”(路由器)。每经过一个路由器,这个值就减 1。重点:这个不是时间(秒),是跳数!

    • 可能的值: 范围是 1 到 255。常见的起始值是 64 (Linux/Mac) 或 128 (Windows)。

    • 重要性: 防止包裹在网络里迷路(形成路由环路)永远转圈。如果某个路由器发现这个包裹的 TTL 减到 0 了,它就会把包裹丢掉,并给发件人发一个错误消息(ICMP 超时)。就像快递单上写着“最多中转5次”,每过一个中转站就划掉一次,划没了就退回。

  9. 协议 (Protocol - 8 bits)

    • 意思: 包裹里面装的“货物”是什么类型的?也就是 IP 包头后面紧跟着的是哪种高层协议的数据。

    • 可能的值 (常见):

      • 1: ICMP (网络控制消息,如 ping)

      • 6: TCP (可靠传输,如网页、邮件)

      • 17: UDP (快速传输,如视频、DNS 查询)

      • 89: OSPF (路由协议)

      • (还有很多其他协议号)

    • 重要性: 告诉最终接收方(目的主机)的 IP 层,它需要把这个包裹里的“货物”(数据)交给哪个“部门”(传输层协议,如 TCP 或 UDP)去处理。就像快递单上写着“内件品名:文件”或“电子产品”,方便分拣中心把包裹送到正确的处理部门(文件部/电子部)。

  10. 首部校验和 (Header Checksum - 16 bits)

    • 意思: 用来检查“快递面单”(IP 包头)本身在传输过程中有没有被意外损坏(比如电磁干扰导致的比特翻转)。

    • 计算方式: 发送方根据包头内容计算出一个数值填在这里。每个路由器或接收方收到包后,会用同样的方法再计算一遍包头校验和,如果和自己算出来的不一样,就说明包头在传输中出错了。

    • 可能的值: 计算得出的数值(如 0x4A5B)。

    • 重要性: 保证面单信息的准确性。如果面单错了(比如目的IP错了),包裹就送错地方了。所以需要校验。注意: 这个只校验包头,不校验包裹里的“货物”(数据),数据的校验由高层协议(如TCP)负责。

  11. 源IP地址 (Source Address - 32 bits for IPv4, 128 bits for IPv6)

    • 意思: 发件人的地址! 发送这个包裹的电脑/设备的唯一网络地址。

    • 可能的值: 一个合法的 IP 地址 (如 192.168.1.100 对于 IPv4, 2001:0db8:85a3::8a2e:0370:7334 对于 IPv6)。

    • 重要性: 这是包裹的起点。接收方需要知道是谁发来的,才能回复。路由器(快递中转站)主要根据目的地址转发,但有时也会看源地址(比如做安全策略)。就像快递单上的发件人地址和电话。

  12. 目的IP地址 (Destination Address - 32 bits for IPv4, 128 bits for IPv6)

    • 意思: 收件人的地址! 这个包裹最终要送达的电脑/设备的唯一网络地址。

    • 可能的值: 一个合法的 IP 地址 (如 8.8.8.8 对于 IPv4, 2001:4860:4860::8888 对于 IPv6)。

    • 重要性: 这是最重要的字段! 网络中的路由器(快递中转站)主要就是查看这个地址来决定包裹下一步该往哪个方向(哪个接口/线路)发送,直到最终到达目的地。就像快递单上的收件人地址和电话,是整个快递流程的核心依据。

二、实验分析

1.搭建拓扑结构

2.配置电脑

3.配置路由器

<Huawei>sys    #进入系统视图
[Huawei]int g0/0/0     #进入0号接口
[Huawei-GigabitEthernet0/0/0]ip address 192.168.1.1 24     #设置IP和掩码[Huawei-GigabitEthernet0/0/1]int g0/0/1  #进入1号接口
[Huawei-GigabitEthernet0/0/1]ip address 192.168.2.1 24      #设置IP和掩码

4.打开抓包软件

5.ping测试

6.分析

相关文章:

  • (纳芯微)NST86-DSCR 精度±0.5℃,低功耗模拟输出温度传感器(-10.9mV/℃)负温度系数
  • CMIP6气候模式资料概览
  • 云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地
  • 软件性能测试报告由谁出具?第三方软件测试机构
  • 医疗AI模型可解释性编程研究:基于SHAP、LIME与Anchor
  • linux中如何在日志里面检索nowStage不等于1的数据的指令
  • Unit 1 深度强化学习简介
  • 机器人模仿学习调研
  • Infrastructure-Based Calibration of a Multi-Camera Rig
  • 基于TurtleBot3在Gazebo地图实现机器人远程控制
  • SQL注入篇-sqlmap的配置和使用
  • 拟合问题处理
  • 【C++进阶篇】智能指针
  • Java并发编程实战 Day 15:并发编程调试与问题排查
  • 论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)
  • LeetCode - 199. 二叉树的右视图
  • 动态元素绑定事件总失效?通过AI 对话框的开发,详解绑定逻辑!
  • stm32wle5 lpuart DMA数据不接收
  • 机器人模仿学习调研(二)
  • 使用Spring Cloud Stream 模拟生产者消费者group destination的介绍(整合rabbitMQ)
  • 村级网站建设系统/合肥seo关键词排名
  • ppt网站哪家比较好/关键词都有哪些
  • 打开网站说建设中是什么问题/网络销售平台
  • 厦门 外贸商城网站/官网seo关键词排名系统
  • 自己的网站怎么做的/新闻软文广告
  • 商城门户网站源码/自建网站