Windows SDK PGM相关文章翻译之三PGM Sender Options

PGM Sender Options

PGM senders are provided with certain default settings that affect the performance of data transmission, and how long data is buffered to account for packet loss and associated PGM client retransmission requests. The following paragraphs describe these default settings.

Window Size and Transmission Rate

The capability to set window size and transmission rate enables applications to control the amount of data the transport buffers for retransmission, and the rate at which the byte-stream is transmitted.

Retransmission data is stored in a file, therefore the maximum window size is limited by disk space usable by the transport. The default window size is 10MB. Although it is possible for a send or message size to exceed the window or buffer size, the data stream remain uninterrupted; the send is pended until the all the data has been sent out.

Note   The maximum buffer space is limited by the maximum number of packets that can be held in the window at any given time, which is equal to 2^31 – 1.

The transmission rate is the combined outflow of original data packets (ODATA), retransmitted data packets (RDATA) and transport-specific bookkeeping packets (SPMs), expressed per second. If the rate limit is set to to 56 kilobits per sec by default. The default window size is 10 megabytes, with a default rate of 56 kilobits per second. Due to the relationship between the three members of the RM_SEND_WINDOW structure, the default window size is therefore 1428 seconds. See RM_SEND_WINDOW for more information.

Window Advance Rate

The window advance rate is set by the RM_SENDER_WINDOW_ADV_RATE socket option. This option enables applications to specify the increment at which the PGM sender's window is advanced, expressed as a non-zero percentage value of the window size. The default value is 15%, and the maximum rate is 50%. If the PGM sender has repair data pending that falls in the space of the increment window, the window is advanced partially as each repair packet in the window is sent out.

Forward Error Correction (FEC)

Forward error correction is set through use of the RM_USE_FEC socket option. This socket option enables the PGM sender to send repair packets as parity packets instead of regular data packets. Doing so minimizes the number of repair packets sent to repair different sequences lost by multiple receivers from within the same data group. Enabling FEC is only set on the PGM sender. PGM receivers automatically follow the policy set by the sender. For a detailed discussion on FEC, refer to the PGM RFC located on the IETF website.

PGM发送选项

PGM 发送方设置特定的默认设置能影响数据传输的性能,和数据为包丢失重传做的缓存时间,和相关客户端的重传请求。以下章节将描述3个默认选项。

窗口大小和传输速率

应用程序可以通过设置窗口大小和传输速率来控制为重新传输所准备的缓存的大小和数据传输的速率。

重新传输的数据是存储在一个文件里面的,因此最大的窗口尺寸被限制为传输能使用的最大磁盘空间。默认的窗口尺寸是10MB。尽管发送大小超过窗口尺寸的数据包是可能的,数据流也不会间断;发送方会挂起直到所有的数据都发送完毕。

注意:在任何时间,缓存的最大空间受到窗口能够容纳的最大包数量,等同于2^31 – 1

     每秒钟传输的原始数据包(ODATA),重传数据包(RDATA)和transport-specific bookkeeping packets (SPMs)组合形成传输速率。如果速率限制默认设置为56kb/秒。默认的窗口尺寸为1000*1000*10字节(大约10M),并且默认传输速率为56kb/秒。由于RM_SEND_WINDOW结构的三个参数之间是存在关系的,计算出来的默认窗口数据缓存时间大约为1428秒。请查看RM_SEND_WINDOW的定义了解三个参数的关系。

窗口高级速率

窗口高级速率通过RM_SENDER_WINDOW_ADV_RATE socket选项来设置。这个选项允许应用程序指定PGM发送窗口的预先增长方式,表示为窗口尺寸的一个非零比例值。默认值是15%,最大比例不能设置超过50%。如果PGM发送者在增长的窗口大小范围内修复丢失挂起的数据包,If the PGM sender has repair data pending that falls in the space of the increment window, the window is advanced partially as each repair packet in the window is sent out.

向前错误校正(FEC

向前错误校正通过RM_USE_FEC socket选项来设置。这个选项允许PGM发送者像发生正常数据包一样发送补救数据包。Doing so minimizes the number of repair packets sent to repair different sequences lost by multiple receivers from within the same data group.FEC选项仅仅能够在PGM发送方设置。PGM接收方自动使用PGM发送方的策略。需要了解关于FEC的详细信息,请参考IETF网站上的PGM RFC

注:红字部分是不知道怎么翻译的,需要再理解下。

原文地址:https://www.cnblogs.com/dunnice/p/2844586.html