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_jitter 和 dev_jitter 字段都包含报告, 则位设置为 1, 如果它们都不包含则为 0。
TTL or Hop Limit flag (ToH): 2 位
如果 min_ttl_or_hl, max_ttl_or_hl, mean_ttl_or_hl 或 dev_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 或跳数限制值的标准偏差。