跳到主要内容

4.2. Basic AVP Data Formats

Data 字段是零个或多个八位字节,包含特定于属性的信息.Data 字段的格式和长度由 AVP Code 和 AVP Length 字段确定.Data 字段的格式必须 (MUST) 是以下基本数据类型之一或从基本数据类型派生的数据类型.如果需要新的基本 AVP 数据格式,则必须 (MUST) 创建此 RFC 的新版本.

OctetString​

数据包含可变长度的任意数据.除非另有说明,否则 AVP Length 字段必须 (MUST) 设置为至少 8 (如果启用了 'V' 位则为 12).此类型的 AVP 值如果长度不是 4 个八位字节的倍数,则后跟必要的填充,以便下一个 AVP (如果有) 将从 32 位边界开始.

Integer32​

32 位有符号值,以网络字节序表示.AVP Length 字段必须 (MUST) 设置为 12 (如果启用了 'V' 位则为 16).

Integer64​

64 位有符号值,以网络字节序表示.AVP Length 字段必须 (MUST) 设置为 16 (如果启用了 'V' 位则为 20).

Unsigned32​

32 位无符号值,以网络字节序表示.AVP Length 字段必须 (MUST) 设置为 12 (如果启用了 'V' 位则为 16).

Unsigned64​

64 位无符号值,以网络字节序表示.AVP Length 字段必须 (MUST) 设置为 16 (如果启用了 'V' 位则为 20).

Float32​

这表示 [FLOATPOINT] 描述的单精度浮点值.32 位值以网络字节序传输.AVP Length 字段必须 (MUST) 设置为 12 (如果启用了 'V' 位则为 16).

Float64​

这表示 [FLOATPOINT] 描述的双精度浮点值.64 位值以网络字节序传输.AVP Length 字段必须 (MUST) 设置为 16 (如果启用了 'V' 位则为 20).

Grouped​

Data 字段被指定为 AVP 序列.这些 AVP 按照指定的顺序连接 (包括它们的头部和填充),结果封装在 Data 字段中.AVP Length 字段设置为 8 (如果启用了 'V' 位则为 12) 加上所有包含的 AVP 的总长度,包括它们的头部和填充.因此,Grouped 类型的 AVP 的 AVP Length 字段始终是 4 的倍数.