Skip to content

408 > 计算机网络 > IPv4分组格式

一、定位信息

  • 所属圈层:核心层
  • 前置知识:需了解网络层的基本功能(路由与转发),以及比特(bit)和字节(Byte)的基本概念
  • 知识网络位置:IPv4分组格式是理解IP协议的基础,向下关联IPv4地址与子网划分(CN-04-05),向上关联ICMP协议(CN-04-10),是网络层最核心的知识点之一
  • 考点热度等级H级(高频重点) — IPv4分组首部各字段的含义和功能几乎每年必考

二、知识点讲解

2.1 IPv4分组的基本结构

IPv4分组由**首部(Header)数据(Payload)**两部分组成。首部长度为20-60字节(固定部分20字节+可变的选项部分),包含分组转发所需的所有控制信息。

首部各字段如下(按比特位置从高位到低位排列):

字段长度说明
版本(Version)4 bitIPv4的值为4
首部长度(IHL)4 bit以4字节为单位,最小值5(20字节),最大值15(60字节)
区分服务(DSCP/ECN)8 bit服务质量相关,DSCP占6位,ECN占2位
总长度(Total Length)16 bit分组总长度(首部+数据),最大65535字节
标识(Identification)16 bit用于分片重组,同一分组的所有分片标识相同
标志(Flags)3 bitDF(不分片)、MF(更多分片)、保留位
片偏移(Fragment Offset)13 bit以8字节为单位,指示本分片在原分组中的位置
生存时间(TTL)8 bit最大跳数,每经过一个路由器减1,减到0则丢弃
协议(Protocol)8 bit标识上层协议,TCP=6,UDP=17,ICMP=1
首部校验和(Header Checksum)16 bit仅校验首部,每经过一个路由器都重新计算
源IP地址32 bit发送方IP地址
目的IP地址32 bit接收方IP地址
选项(Options)可变0-40字节,用于安全、路由记录、时间戳等
填充(Padding)可变使首部长度为4字节的整数倍

2.2 重要字段详解

首部长度(IHL):以4字节为单位。若IHL=5,表示首部长度为 5×4=205 \times 4 = 20 字节(无选项)。若IHL=15,表示首部长度为 15×4=6015 \times 4 = 60 字节。

总长度:包括首部和数据的总长度。以太网MTU为1500字节,所以以太网上传输的IPv4分组总长度通常不超过1500字节。

标识、标志、片偏移:这三个字段共同用于IP分片与重组。当分组长度超过链路MTU时,路由器将分组分片。每个分片有相同的标识,通过片偏移确定分片顺序,MF标志指示是否还有后续分片。

TTL(生存时间):防止分组在网络中无限循环。每经过一个路由器TTL减1,减到0时路由器丢弃分组并发送ICMP超时报文。

首部校验和:仅校验首部(不校验数据),且每经过一个路由器都要重新计算(因为TTL等字段会变化)。这是IP协议"尽力而为"的体现——不保证数据完整性,由上层协议(如TCP)负责。

2.3 IP分片与重组

当IP分组的长度超过转发链路的MTU时,需要进行分片:

  • 分片:由路由器完成,将大分组拆分为多个小分片
  • 重组:由目的主机完成,路由器不负责重组
  • 每个分片都有独立的首部,其中标识、源/目的IP地址相同
  • 片偏移以8字节为单位,因此分片的数据部分长度必须是8字节的整数倍(最后一个分片除外)

三、记忆与理解辅助

  1. 口诀:"版本首部长,总长标识片偏生存;协议校验源目的,选项填充补四齐。"
  2. 字段长度记忆技巧
    • 4位字段:版本、首部长度
    • 8位字段:区分服务、TTL、协议
    • 16位字段:总长度、标识、首部校验和
    • 3位字段:标志
    • 13位字段:片偏移
    • 32位字段:源IP、目的IP
  3. 分片三要素:标识(谁的分片)、标志(还有没有更多分片)、片偏移(这是第几个分片)

四、例题与精解

例题1(基础巩固)

题目:一个IPv4分组的首部长度字段值为7,总长度字段值为100。请问该分组的数据部分长度是多少字节?

命题意图:考查对首部长度字段和总长度字段的理解与计算。

精解

  1. 审题分析:已知IHL=7,Total Length=100,求数据长度。
  2. 解题思路:数据长度 = 总长度 - 首部长度。
  3. 完整步骤
    • 首部长度 = IHL × 4 = 7 × 4 = 28 字节
    • 数据长度 = 总长度 - 首部长度 = 100 - 28 = 72 字节
  4. 方法反思:IHL以4字节为单位,总长度以字节为单位,两者单位不同,计算时要注意单位转换。

例题2(中等提升)

题目:一个长度为4000字节的IPv4分组(首部20字节,数据3980字节)需要经过MTU为1500字节的链路。请给出分片后各分片的首部关键字段值(标识设为12345)。

命题意图:考查IP分片的具体计算能力,这是408高频考点。

精解

  1. 审题分析:原分组数据3980字节,MTU=1500字节,需分片。每个分片首部20字节,所以每个分片最大数据量 = 1500 - 20 = 1480字节。
  2. 解题思路:将3980字节数据按1480字节为单位分片,注意片偏移以8字节为单位。
  3. 完整步骤

分片1

  • 数据量:1480字节(1480/8=185,是8的倍数,合法)
  • 标识:12345
  • MF=1(还有后续分片)
  • DF=0(允许分片)
  • 片偏移:0
  • 总长度:1480 + 20 = 1500

分片2

  • 数据量:1480字节
  • 标识:12345
  • MF=1
  • 片偏移:1480 / 8 = 185
  • 总长度:1500

分片3

  • 数据量:3980 - 1480 - 1480 = 1020字节(1020/8=127.5,需取整为1016字节,但最后一片不需要是8的倍数...实际上最后一片可以不是8的倍数)
  • 标识:12345
  • MF=0(最后一个分片)
  • 片偏移:(1480 + 1480) / 8 = 2960 / 8 = 370
  • 总长度:1020 + 20 = 1040

分片结果汇总

分片总长度标识MF片偏移数据量
1150012345101480
215001234511851480
310401234503701020
  1. 方法反思:分片计算的关键步骤:①计算每片最大数据量=MTU-首部长度;②除最后一个分片外,每个分片的数据量必须是8字节的整数倍;③片偏移=前面分片数据总字节数÷8。

五、考情分析

  • 考查频次:近5年每年必考,出现5次以上
  • 常见题型:选择题考查各字段含义;综合题考查IP分片计算
  • 分值占比:选择题2-4分,综合题5-8分
  • 命题趋势:IP分片计算是稳定考点,近年增加了对TTL、首部校验和等字段功能细节的考查

六、易错点提醒

  1. 错误表现:混淆首部长度的单位(以为是字节)

    • 错误原因:首部长度字段以4字节为单位,但容易误认为直接就是字节数
    • 正确理解:IHL=5表示首部20字节(5×4),不是5字节
  2. 错误表现:分片时忘记片偏移以8字节为单位

    • 错误原因:总长度以字节为单位,片偏移以8字节为单位,两者单位不同
    • 正确理解:片偏移 = 前面所有分片数据字节数之和 ÷ 8
  3. 错误表现:认为路由器负责IP分片的重组

    • 错误原因:直觉上认为分片和重组应该在同一设备完成
    • 正确理解:路由器只负责分片,重组由目的主机完成。中间路由器可能对分片再次分片
  4. 错误表现:认为首部校验和包含数据部分

    • 错误原因:与以太网CRC校验混淆
    • 正确理解:IPv4首部校验和仅校验首部,数据完整性由上层协议保证

七、来源标注

  • 依据2026考研统考大纲
  • 依据《计算机网络(第8版)》谢希仁版
  • 依据RFC 791(Internet Protocol)

考研全科复习资料 - 基于2026考研统考大纲