FEC and RTX

FEC 的 Pattern定义为

[m,k],n=m+k,m,kFEC,n

n 个包为一个Group, 在这个Group中, 任意丢k个包, 都可以通过收到的m个包恢复. 这里的k个包可以是数据包或者FEC包.
所以在给定丢包率 l , 给定源数据包的个数 m , 给定源数据丢失的概率, 可以推算出 n . 不过在有重传的网络中, 如何来推算 n 呢?
为了简单起见, 假定FEC只存在于数据包的发送, 重传包不参与FEC过程.

在给定丢包率 l 的网络, 单个数据包被收到的概率

ϱ=1l

n个包,都收到的概率为:
ϱ=(1l)n

n个包, 收到m个包的概率为:
ϱ=Cmn(1l)ml(nm)

根据FEC Pattern, 只要收到 m 个或者更多的包, 源数据可以被恢复, 则恢复的概率为:
ϱ=i=mnCin(1l)il(ni)

当传输层存在重传机制时, 数据包不能恢复的时候, 还可以通过重传来恢复, 假定传输层的RTT为 r , 通信的最大时延要求为 d , 则可以大致推测出可以容忍的最大重传次数 x , 重传只针对数据包, FEC包不做重传. 于是, 数据包丢失的概率变为 l(x+1) , FEC包丢失的概率依然是 l
数据源可恢复的概率为:
ϱ=i+j>=m(Cim(1l(x+1))il(x+1)(mi))×(Cjk(1l)jl(kj)))

给定数据恢复的最低概率, 就可以计算出最小 n , 从而推算出 k , 也就是FEC的最低冗余度.

猜你喜欢

转载自blog.csdn.net/volvet/article/details/78235234
RTX
RTX