在多播情况下,再多FEC也不能确保对大量接收端的数据传输总是可靠的。许多可靠多播协议将不同的技术(如ARQ和FEC)结合起来,以达到有效性和可扩展性。结合ARQ和FEC可以有多种方式。H-ARQ方式1中,发送端仅通过一种纠错码生成奇偶校验分组添加到一组数据分组中以降低误分组率,错误的数据分组以一种普通方式传输,就像常规ARQ一样。与不使用奇偶校验分组相比,预先加上奇偶校验分组可以得到低的分组丢失率。数据分组丢失时再重传原始数据有一种好处,那就是使得负责FEC和可靠多播的协议层保持分离,且分组时延可以维持在最低水平。这种方案不需要接收端有一个大的缓冲区,但是在信道效率上不是最理想的。
H-ARQ方式2中有进一步改善。数据分组丢失时,发送附加的奇偶校验分组而不是重传错误的数据分组,因为奇偶校验分组可以恢复接收端不同的分组丢失。然而,这种方案需要将FEC和ARQ整合到一个层里,反过来又增加了复杂度和分组时延。接收端在缓冲区存储接收到的错误的分组,以便在与随后重传的分组合并时重新使用它们。
如果没有反向信道可用,可以采用数据循环传输的方式。在该方式下,发送端不停地循环遍历并发送源数据分组(仅数据分组或带有奇偶校验分组的数据分组),接收端不断地接收数据分组,直到它们接收到所有的数据分组为止。
我们研究几种方案,它们将像H-ARQ和数据循环传输这样的可靠性策略结合起来。我们假定,对于使用反向信道的方案,反馈是可管理的,并且在接收端不会导致反馈拥塞。
我们考虑使用像Raptor码或者Reed-Solomon码这样的纠错码(McAuley,1990;Rizzo,1997),它们采取k个块或数据分组,并生成h个奇偶校验分组。k个数据分组被称为传输组,总和为n=k+h的数据分组加奇偶校验分组称为FEC块(Nonnenmacher,1998)。在接收端,如果传输组中n个数据分组中的k个能被正确接收,无论以何种顺序,都将足够重建原始的k个分组。
1.HARQ1
对第一种方案,发送端在最初传输中预先传输校验位,如果数据分组被错误接收,则重传原始数据分组。这种方案实现复杂度非常低,但是不能最大限度地提高信道效率。我们称之为HARQ1。HARQ1详细操作过程如下:
1)基于分组的编码器对k个数据分组编码,并在传输组上添加a=h个奇偶校验分组。
2)n=k+a个分组组成的FEC块在信道上传输。
3)如果接收端接收到k个数据分组,就无需再进行解码。如果接收到数据分组和奇偶校验分组中的任何k个分组,那么整个传输组可以被解码。
4)如果接收端在一个给定的FEC块中检测到的正确的分组少于k个,接收端向发送端发回NACK,其中包括传输组标识和错误分组标识。
5)发送端将需要重传的原始数据加入新的传输组中,与奇偶校验分组一起,发送给所有的接收端。
2.HARQ2(www.xing528.com)
传输附加奇偶校验分组以应对数据分组错误,在很大程度上提高了可靠多播的带宽要求。在HARQ2下,在一个传输组中的数据分组传输错误时,发送端仅传输单个的附加奇偶校验分组。HARQ2详细操作过程如下:
1)发送端向所有接收端发送k个数据分组和一个奇偶校验分组。
2)如果接收端接收到的数据分组少于k个,则发送NACK给发送端,其中详细指明传输组标识和错误分组标识。
3)发送端对于每个它接收到NACK的传输组,仅发送一个奇偶校验分组。
4)接收端利用附加的奇偶校验分组解码FEC块。
5)如果FEC块中的所有奇偶校验分组都已经被发送,导致发送端没有奇偶校验分组可用,像HARQ1一样,发送端开始重传原始数据分组。
3.HARQ3
在HARQ3下,为了尽可能降低时延,发送端总是给所有接收端发送所需的最大数目的奇偶校验分组。所有接收端执行与HARQ2相同的流程。另一方面,发送端发送给接收端用于恢复分组丢失所需的最大数目的奇偶校验分组。考虑每个接收端i在单个传输组中有ri个分组丢失。发送端收集返回的NACK,根据每个NACK中丢失分组的标识计算每个接收端的ri,然后发送Rmax=max(ri)个奇偶校验分组给接收端(Rossi,Fitzek和Zorzi,2003)。重复该步骤,直到所有接收端都能准确解码k个分组,或者发送端所有h个奇偶校验分组都已用完,这时就需要重传原始数据了。
4.HARQ4
最后,我们考虑的第四种方案没有反向信道,从而发送端在发送原始数据分组后立即发送奇偶校验分组。接收端在收到所有需要的数据分组后尽快离开该多播组。我们将这种循环传输机制称为HARQ4,避免了发送端的反馈拥塞问题。当接收端在某个传输组中接收到足够的奇偶校验分组时,立即离开多播组并停止接收数据分组。该机制不取决于反馈,但是要求接收端快速地离开多播组,以此避免奇偶校验分组的多余传输。
作为最后的建议,当接收端数目较小时,HARQ2和HARQ3由于增加了奇偶校验分组而导致性能降低(Nonnenmacher,1998),我们通常不考虑奇偶校验数据的发送,且a=0。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。