10. 拥塞控制 (Congestion Control)
Internet 上使用的所有传输协议都需要以某种方式解决拥塞控制问题 [31]。RTP 也不例外, 但由于通过 RTP 传输的数据常常是不可伸缩的 (inelastic, 以固定或受控速率生成), 在 RTP 中控制拥塞的手段可能与其他传输协议 (如 TCP) 大不相同。从某种意义上说, 不可伸缩性降低了拥塞的风险, 因为 RTP 流不会像 TCP 流那样扩张以消耗所有可用带宽。然而, 不可伸缩性也意味着当拥塞发生时, RTP 流无法任意减小其对网络的负载以消除拥塞。
由于 RTP 可能用于许多不同语境下的各类应用, 不存在一种适用于所有的单一拥塞控制机制。因此, 拥塞控制应当在每个 RTP 配置文件中根据需要进行定义。对于某些配置文件, 可能只需包含一个适用性声明 (applicability statement), 将该配置文件的使用限制在通过工程设计来避免拥塞的环境即可。对于其他配置文件, 则可能需要特定的方法, 例如基于 RTCP 反馈的数据速率自适应。