PGM 发送方选项

为 PGM 发送方提供了影响数据传输性能的某些默认设置,以及为解释数据包丢失和关联的 PGM 客户端重新传输请求而缓冲数据的时长。 以下段落介绍了这些默认设置。

窗口大小和传输速率

设置窗口大小和传输速率的功能使应用程序能够控制传输缓冲区用于重新传输的数据量,以及字节流的传输速率。

重新传输数据存储在文件中,因此最大窗口大小受传输可用磁盘空间的限制。 默认窗口大小为 10MB。 尽管发送或消息大小可能会超过窗口或缓冲区大小,但数据流保持不间断;发送将一直等待,直到发送完所有数据。

注意

最大缓冲区空间受任何给定时间窗口内可保存的最大数据包数(等于 2^31 – 1)的限制。

 

传输速率是原始数据包 (ODATA) 的组合外流、 (RDATA) 重新传输数据包和传输特定记账数据包 (SPM) (每秒表示)。 如果速率限制默认设置为每秒 56 千位。 默认窗口大小为 10 兆字节,默认速率为每秒 56 千位。 由于 RM_SEND_WINDOW 结构的三个成员之间的关系,因此默认窗口大小为 1428 秒。 有关详细信息 ,请参阅RM_SEND_WINDOW

窗口预付费率

窗口预付费率由 RM_SENDER_WINDOW_ADV_RATE 套接字选项设置。 此选项使应用程序能够指定 PGM 发送方窗口的进阶增量,以窗口大小的非零百分比值表示。 默认值为 15%,最大速率为 50%。 如果 PGM 发送方具有位于增量窗口空间中的待定修复数据,则会在发送窗口中的每个修复数据包时部分提前该窗口。

前向纠错 (FEC)

使用 RM_USE_FEC 套接字选项设置正向纠错。 此套接字选项使 PGM 发送方能够将修复数据包作为奇偶校验数据包而不是常规数据包发送。 这样做可以最大程度地减少发送的修复数据包数,以修复同一数据组中多个接收方丢失的不同序列。 仅在 PGM 发送方上设置启用 FEC。 PGM 接收方自动遵循发送方设置的策略。 有关 FEC 的详细讨论,请参阅 IETF 网站上的 PGM RFC。