跳到主要内容

4.6. Statistics Summary Report Block (统计摘要报告块)

4.6. Statistics Summary Report Block (统计摘要报告块)

此块报告超出标准 RTCP 数据包格式中携带的信息的统计数据, 但不如之前描述的报告块中携带的那样细粒度。记录了有关丢失数据包, 重复数据包, 抖动测量以及 TTL 或跳数限制值的信息。此类信息对于网络管理很有用。

报告块内容取决于在标头第一部分中携带的一系列标志位。并非所有参数都需要在每个块中报告。标志指示哪些被报告, 哪些未被报告。与未报告参数相对应的字段必须存在, 但设置为零。接收方必须忽略任何在标记为未报告的字段中具有非零值的 Statistics Summary Report Block。

Statistics Summary Report Block 具有以下格式:

 0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| BT=6 |L|D|J|ToH|rsvd.| block length = 9 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SSRC of source |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| begin_seq | end_seq |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| lost_packets |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| dup_packets |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| min_jitter |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| max_jitter |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| mean_jitter |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| dev_jitter |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| min_ttl_or_hl | max_ttl_or_hl |mean_ttl_or_hl | dev_ttl_or_hl |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

block type (BT): 8 位 Statistics Summary Report Block 由常量 6 标识。

loss report flag (L): 1 位 如果 lost_packets 字段包含报告, 则位设置为 1, 否则为 0。

duplicate report flag (D): 1 位 如果 dup_packets 字段包含报告, 则位设置为 1, 否则为 0。

jitter flag (J): 1 位 如果 min_jitter, max_jitter, mean_jitterdev_jitter 字段都包含报告, 则位设置为 1, 如果它们都不包含则为 0。

TTL or Hop Limit flag (ToH): 2 位 如果 min_ttl_or_hl, max_ttl_or_hl, mean_ttl_or_hldev_ttl_or_hl 字段都不包含报告, 则此字段设置为 0。如果字段非零, 则所有这些字段都包含报告。值 1 表示它们报告 IPv4 TTL 值。值 2 表示它们报告 IPv6 跳数限制值。值 3 未定义, 绝对不能使用。

rsvd.: 3 位 此字段保留供将来定义。在没有此类定义的情况下, 此字段中的位必须设置为零, 并且必须被接收方忽略。

block length: 16 位 常量 9, 根据第 3 节中此字段的定义。

SSRC of source: 32 位 如第 4.1 节中定义。

begin_seq: 16 位 如第 4.1 节中定义。

end_seq: 16 位 如第 4.1 节中定义。

lost_packets: 32 位 上述序列号间隔中丢失的数据包数。

dup_packets: 32 位 上述序列号间隔中重复的数据包数。

min_jitter: 32 位 上述序列号间隔中两个数据包之间的最小相对传输时间。所有抖动值都测量为数据包的 RTP 时间戳与到达时报告者时钟之间的差异, 以相同单位测量。

max_jitter: 32 位 上述序列号间隔中两个数据包之间的最大相对传输时间。

mean_jitter: 32 位 上述序列号间隔中每两个数据包系列之间的平均相对传输时间, 舍入为可表达为 RTP 时间戳的最接近值。

dev_jitter: 32 位 上述序列号间隔中每两个数据包系列之间相对传输时间的标准偏差。

min_ttl_or_hl: 8 位 序列号范围内数据包的最小 TTL 或跳数限制值。

max_ttl_or_hl: 8 位 序列号范围内数据包的最大 TTL 或跳数限制值。

mean_ttl_or_hl: 8 位 序列号范围内数据包的平均 TTL 或跳数限制值, 舍入为最接近的整数。

dev_ttl_or_hl: 8 位 序列号范围内数据包 TTL 或跳数限制值的标准偏差。