Sorry, your browser cannot access this site
This page requires browser support (enable) JavaScript
Learn more >

1. IP 协议

1.1 IPv4 固定字段

字段名称 位数(比特) 描述
Version 4 IP版本号,固定为 4(表示IPv4)。
IHL 4 头部长度(以32位字为单位),最小值为 5(对应20字节无选项)。
Type of Service 8 服务类型(优先级、延迟、吞吐量等,现用DSCP/ECN替代)。
Total Length 16 整个IP包的总长度(头部+数据),最大为 65535字节
Identification 16 数据包唯一标识符,用于分片重组。
Flags 3 分片标志:
- 第1位:保留;
- 第2位:DF(禁止分片);
- 第3位:MF(更多分片)。
Fragment Offset 13 分片偏移量(以8字节为单位),用于重组原始数据包。
Time to Live 8 生存时间(TTL),每经过一个路由器减1,归零时丢弃。
Protocol 8 上层协议类型(如 6=TCP,17=UDP)。
Header Checksum 16 头部校验和,仅校验IP头部完整性。
Source Address 32 源IPv4地址(4字节,如 192.168.1.1)。
Destination Address 32 目标IPv4地址(4字节,如 192.168.1.2)。

1.2 IPv6 固定字段

字段名称 位数(比特) 描述
Version 4 IP版本号,固定为 6(表示IPv6)。
Traffic Class 8 流量类别(用于QoS优先级,类似IPv4的TOS,支持DSCP/ECN)。
Flow Label 20 流标签(标识同一数据流的包,用于QoS或实时流量管理)。
Payload Length 16 有效载荷长度(扩展头部+数据部分的总字节数,最大 65535字节)。
Next Header 8 下一个头部类型(类似IPv4的协议字段,或指向扩展头部类型)。
Hop Limit 8 跳数限制(类似IPv4的TTL,每经过一个路由器减1,归零时丢弃)。
Source Address 128 源IPv6地址(16字节,如 2001:db8::1)。
Destination Address 128 目标IPv6地址(16字节,如 2001:db8::2)。

2. TCP协议

字段名称 位数(比特) 描述
Source Port 16 源端口号(范围:0-65535)。
Destination Port 16 目标端口号(范围:0-65535)。
Sequence Number 32 序列号(标识数据段的顺序,用于重组和可靠性传输)。
Acknowledgment Number 32 确认号(期望接收的下一个序列号,仅在 ACK 标志为1时有效)。
Data Offset 4 TCP头部长度(以32位字为单位),最小值为 5(对应20字节无选项)。
Reserved 4 保留位(必须设为 0)。
Control Flags 6 控制标志(1位/标志):
- URG(紧急指针有效);
- ACK(确认号有效);
- PSH(接收方应立即推送数据);
- RST(重置连接);
- SYN(同步建立连接);
- FIN(终止连接)。
Window Size 16 接收窗口大小(流量控制,表示可接收的数据量)。
Checksum 16 校验和(覆盖TCP头部、数据和伪头部)。
Urgent Pointer 16 紧急指针(仅在 URG=1 时有效,指向紧急数据的末尾偏移量)。

3. UDP协议

字段名称 位数(比特) 描述
Source Port 16 源端口号(范围:0-65535),可选(若未使用则置为 0)。
Destination Port 16 目标端口号(范围:0-65535)。
Length 16 UDP数据报总长度(头部 + 数据),最小为 8字节(仅头部无数据)。
Checksum 16 校验和(覆盖UDP头部、数据和伪头部,若未使用则置为 0)。

4. SCTP协议

公共头部

字段名称 位数(比特) 描述
Source Port 16 源端口号(范围:0-65535)。
Destination Port 16 目标端口号(范围:0-65535)。
Verification Tag 32 验证标签(用于关联数据包与连接)。
Checksum 32 校验和(覆盖整个SCTP数据包)。

(1)DATA Chunk(正常数据,类型 0x00)

字段名称 位数(比特) 描述
Chunk Type 8 固定为 0x00(标识为DATA Chunk)。
Chunk Flags 8 控制标志:
- U(Unordered,无序交付,1=启用);
- B(Beginning,首分片,1=数据起始);
- E(Ending,末分片,1=数据结束);
- 其余位保留(设为0)。
Chunk Length 16 DATA Chunk总长度(单位:字节),包含头部、数据及可能的填充。
TSN 32 传输序列号(Transmission Sequence Number),唯一标识数据块。
Stream Identifier 16 流标识符(Stream ID),标识数据所属的流。
Stream Sequence Number 16 流内序列号(Stream Sequence Number),标识流内数据的顺序。
Payload Protocol Identifier 32 负载协议标识符(PPID),标识上层协议类型(如HTTP、SIP等)。
Payload Data 可变 实际用户数据(长度由Chunk Length计算得出)。
Padding 可变(0-3B) 填充字节(可选),确保整个Chunk长度为4字节对齐。

(2)INIT Chunk(初始化连接,类型 0x01)

字段名称 位数(比特) 描述
Initiate Tag 32 发起方验证标签(用于后续数据包验证)。
Advertised Receiver Window Credit (a_rwnd) 32 接收窗口大小(初始流量控制参数)。
Number of Outbound Streams 16 发起方支持的最大出站流数量。
Number of Inbound Streams 16 发起方支持的最大入站流数量。
Initial TSN 32 初始传输序列号(TSN起始值)。
Optional Parameters 可变 可选参数(如支持的地址列表、Cookie Preservative等)。

(3)INIT ACK Chunk(初始化确认,类型 0x02)

字段名称 位数(比特) 描述
Initiate Tag 32 响应方生成的验证标签。
Advertised Receiver Window Credit (a_rwnd) 32 响应方的接收窗口大小。
Number of Outbound Streams 16 响应方支持的最大出站流数量。
Number of Inbound Streams 16 响应方支持的最大入站流数量。
Initial TSN 32 响应方初始传输序列号。
State Cookie 可变 包含连接状态信息的Cookie(防攻击)。
Optional Parameters 可变 可选参数(如地址列表扩展)。

(4)SACK Chunk(选择性确认,类型 0x03)

字段名称 位数(比特) 描述
Cumulative TSN Ack 32 已确认的最高连续TSN。
Advertised Receiver Window Credit (a_rwnd) 32 更新后的接收窗口大小。
Number of Gap Ack Blocks 16 非连续确认块的数量(标识已接收的非连续TSN范围)。
Number of Duplicate TSNs 16 重复接收的TSN数量(用于检测丢包或重复)。
Gap Ack Blocks 可变 非连续确认块列表(每个块由起始和结束偏移量表示)。
Duplicate TSNs 可变 重复接收的TSN列表。

(5)HEARTBEAT / HEARTBEAT ACK Chunk(心跳检测,类型 0x04/0x05)

字段名称 位数(比特) 描述
Cumulative TSN Ack 32 已确认的最高连续TSN。
Advertised Receiver Window Credit (a_rwnd) 32 更新后的接收窗口大小。
Number of Gap Ack Blocks 16 非连续确认块的数量(标识已接收的非连续TSN范围)。
Number of Duplicate TSNs 16 重复接收的TSN数量(用于检测丢包或重复)。
Gap Ack Blocks 可变 非连续确认块列表(每个块由起始和结束偏移量表示)。
Duplicate TSNs 可变 重复接收的TSN列表。

(6)ABORT Chunk(终止连接,类型 0x06)

字段名称 位数(比特) 描述
Error Causes 可变 终止原因(如协议错误、资源不足等)。

(7)SHUTDOWN Chunk(优雅关闭,类型 0x07)

字段名称 位数(比特) 描述
Cumulative TSN Ack 32 已确认的最高连续TSN(用于关闭前的数据确认)。

(8)ERROR Chunk(错误通知,类型 0x09)

字段名称 位数(比特) 描述
Error Causes 可变 错误原因列表(如无效流ID、Cookie过期等)。

5. GTP-U协议

字段名称 位数(比特) 描述
Version 3 版本号(GTPv1-U为 1)。
Protocol Type 1 协议类型(1=GTP,0=GTP’)。
REserved 1 保留字段。
E 1 扩展头标志(1=存在扩展头,0=无扩展头)。
S 1 序列号标志(1=包含序列号字段)。
PN 1 N-PDU号标志(1=包含N-PDU号字段)。
Message Type 8 消息类型(如 0xFF=G-PDU,0x01=Echo Request)。
Length 16 消息总长度(不包括前8字节)。
TEID 32 隧道端点标识符(标识用户数据所属的隧道)。
Sequence Number 16 序列号(可选,当 S=1 时存在)。
N-PDU Number 8 N-PDU编号(可选,当 PN=1 时存在)。
Extension Header 8 扩展头数目(可选,仅当 Extension Flag=1 时存在,后接扩展头内容)
Payload 可变 封装的用户数据(如 IP 包)

6. GPRS-NS 协议概述

公共头部

字段名称 位数(比特) 描述
PDU Type 8 NS-PDU 的类型标识符(详见下方具体报文)。
Spare 8 保留位,通常设为 0
PDU Length 16 NS-PDU 的总长度(单位:字节),包括头部和数据部分。
Variable Parameters/Data 可变 根据不同的 PDU Type,此部分承载特定的参数或用户数据。

(1)NS-DATA(传输数据,类型 0x01)

字段名称 位数(比特) 描述
PDU Type 8 固定为 0x01
Spare 8 保留位。
PDU Length 16 NS-PDU 的总长度。
N-PDU Number 8 网络层 PDU 编号(用于网络服务管理,可能与 LLC 层交互)。
Spare 8 保留位。
GTP-PDU 可变 承载的完整 GTP 协议数据单元(GTP-C 信令或 GTP-U 用户数据)。

(2)NS-ALIVE(心跳请求,类型 0x02)

字段名称 位数(比特) 描述
PDU Type 8 固定为 0x02
Spare 8 保留位。
PDU Length 16 固定为 0x0004(4字节),因为只有头部,无可变部分。
Destination Reference Number 24 目标节点参考号,用于标识对端。
Source Reference Number 24 源节点参考号,用于标识本端。

(3)NS-ALIVE-ACK(心跳确认,类型 0x03)

字段名称 位数(比特) 描述
PDU Type 8 固定为 0x03
Spare 8 保留位。
PDU Length 16 固定为 0x0004
Destination Reference Number 24 对端在 NS-ALIVE 中提供的源参考号。
Source Reference Number 24 本端的参考号。

(4)NS-UNITDATA(非可靠数据传输,类型 0x04)

字段名称 位数(比特) 描述
PDU Type 8 固定为 0x04
Spare 8 保留位。
PDU Length 16 NS-PDU 的总长度。
N-PDU Number 8 网络层 PDU 编号。
Spare 8 保留位。
GTP-PDU 可变 承载的 GTP 协议数据单元。

(5)NS-BLOCK(阻塞通知,类型 0x05)

字段名称 位数(比特) 描述
PDU Type 8 固定为 0x05
Spare 8 保留位。
PDU Length 16 固定为 0x0004
Destination Reference Number 24 目标节点参考号。
Source Reference Number 24 源节点参考号。

(6)NS-BLOCK-ACK(阻塞确认,类型 0x06)

字段名称 位数(比特) 描述
PDU Type 8 固定为 0x06
Spare 8 保留位。
PDU Length 16 固定为 0x0004
Destination Reference Number 24 对端在 NS-BLOCK 中提供的源参考号。
Source Reference Number 24 本端的参考号。

(7)NS-UNBLOCK(解阻塞通知,类型 0x07)

字段名称 位数(比特) 描述
PDU Type 8 固定为 0x07
Spare 8 保留位。
PDU Length 16 固定为 0x0004
Destination Reference Number 24 目标节点参考号。
Source Reference Number 24 源节点参考号。

(8)NS-UNBLOCK-ACK(解阻塞确认,类型 0x08)

字段名称 位数(比特) 描述
PDU Type 8 固定为 0x08
Spare 8 保留位。
PDU Length 16 固定为 0x0004
Destination Reference Number 24 对端在 NS-UNBLOCK 中提供的源参考号。
Source Reference Number 24 本端的参考号。

(9)NS-RESET(重置请求,类型 0x09)

字段名称 位数(比特) 描述
PDU Type 8 固定为 0x09
Spare 8 保留位。
PDU Length 16 固定为 0x0004
Destination Reference Number 24 目标节点参考号。
Source Reference Number 24 源节点参考号。

(10)NS-RESET-ACK(重置确认,类型 0x0A)

字段名称 位数(比特) 描述
PDU Type 8 固定为 0x0A
Spare 8 保留位。
PDU Length 16 固定为 0x0004
Destination Reference Number 24 对端在 NS-RESET 中提供的源参考号。
Source Reference Number 24 本端的参考号。

(11)NS-STATUS(状态指示,类型 0xFE)

字段名称 位数(比特) 描述
PDU Type 8 固定为 0xFE
Spare 8 保留位。
PDU Length 16 NS-PDU 的总长度。
Cause 8 指示错误原因(如:未知的 PDU 类型)。
Spare 8 保留位。
Erroneous PDU 可变 (可选)引发错误的那部分 NS-PDU 内容。

评论