n
个包为一个Group, 在这个Group中, 任意丢k个包, 都可以通过收到的m个包恢复. 这里的k个包可以是数据包或者FEC包.
所以在给定丢包率
l
, 给定源数据包的个数
m
, 给定源数据丢失的概率, 可以推算出
n
. 不过在有重传的网络中, 如何来推算
n
呢?
为了简单起见, 假定FEC只存在于数据包的发送, 重传包不参与FEC过程.
在给定丢包率l的网络, 单个数据包被收到的概率
ϱ=1−l
n个包,都收到的概率为:
ϱ=(1−l)n
n个包, 收到m个包的概率为:
ϱ=Cmn(1−l)ml(n−m)
根据FEC Pattern, 只要收到
m
个或者更多的包, 源数据可以被恢复, 则恢复的概率为:
ϱ=∑i=mnCin(1−l)il(n−i)
当传输层存在重传机制时, 数据包不能恢复的时候, 还可以通过重传来恢复, 假定传输层的RTT为
r
, 通信的最大时延要求为
d
, 则可以大致推测出可以容忍的最大重传次数
x
, 重传只针对数据包, FEC包不做重传. 于是, 数据包丢失的概率变为
l(x+1)
, FEC包丢失的概率依然是
l 数据源可恢复的概率为: