- 1 -
中国科技论文在线
基于喷泉码的应用层组播
徐聪*
作者简介:徐聪,(1986-),男,硕士研究生,主要研究方向:移动通信与宽带信息网络
(北京邮电大学信息与通信工程学院,北京 100876)
摘要:随着各种具有一对多、多对多通信特点的应用的出现,组播技术已经成为互联网研究
中的一个重要方向。应用层组播的模型有效的解决了 IP 层组播方案存在的部署困难、扩展
性差等问题,然而应用层组播本身也存在着稳定性和可靠性上的缺点。喷泉码是一类码率不
受限的纠删码,本文提出将喷泉码思想融合于应用层组播,选取一种应用层组播方案 NICE
协议进行研究,并且在 P2P 仿真平台 OverSim 上进行仿真,实现大规模数据组播的可靠传输。
关键词:应用层组播;喷泉码;NICE 协议
中图分类号:
Application Layer Multicast Based on Fountain Codes
Xu Cong
(School of Information and Communication Engineering, BeiJing University of Posts and
Telecommunications, BeiJing 100876)
Abstract: With the emergence of one to many, many to many applications, multicast technology has
become an important direction of research. Application layer multicast model solve the problems of IP
multicast effectively, such as deployment difficulty, and poor scalability. But application layer
multicast itself has shortcomings of stability and reliability. Fountain codes are rateless erasure filling
codes, this paper proposed application layer multicast based on fountain codes method, and select
NICE protocol as research target, and finish the simulation on P2P simulation platform OverSim,
achieving the aim of reliable transmission of large-scale multicast.
Keywords:Application Layer Multicast; Fountain Code; NICE protocol
0 引言
组播是一种高效的一对多的通信方式,它提高了数据传送效率,减少了骨干网络出现拥
塞的可能性。组播常用于视频会议、内容发布、远程教学、网络多人游戏等网络应用。IP
组播是一种较早的组播实现机制,虽然具有较高的传输效率,但是对底层的网络设备有支持
组播协议的要求,不利于大规模部署[1]。为此,人们提出了应用层组播[2],应用层组播数据
的复制转发功能由终端主机完成,不涉及现有网络基础设施的更新,在 Internet上容易实现,
它既能继承组播的传输特性,例如节约带宽、传输快捷,也可以脱离对底层基础网络提升的
依赖,但终端主机的稳定性和安全性不如组播路由器,容易导致单点失效,且数据恢复困难。
喷泉码[3]是一类分组级前向纠错编码(FEC)技术,是针对大规模数据分发和可靠广播的应
用特点而提出的一种理想的解决方案。为解决应用层组播存在的可靠性问题,本文提出将应
用层组播技术与喷泉码相结合的方案,利用喷泉码,在应用层对信息源进行保护,有效地解
决网络丢包问题,保证了端到端的可靠性。
- 2 -
中国科技论文在线
1 理论基础
应用层组播理论基础
应用层组播的主要思想是屏蔽底层物理网络的拓扑细节,由端系统实现组播转发功能。
将组成员节点直接自组织成一个叠加在 IP 网络之上的逻辑覆盖网络(OverlayNetwork),
并在应用层提供组播路由协议来构建和维护应用层组播树,为数据传输提供高效、可靠服务。
应用层组播将所有组播功能完全集成在主机节点中,由应用层软件具体实现,而在覆盖网络
任意两点之间的传输仍然是传统的单播通信。
应用层组播节点的转发树(DeliveryTree)构建在应用层之上。树的根节点是数据源,
树中每个节点在接收数据的同时转发数据,通过每个父-子节点对的单播转发形成组播。因
此,通过节点之间的充分共享、有效协作就能覆盖到最大范围的节点群。
与 IP组播相比,应用层组播的优势在于:
(1) 方便部署:应用层组播不需要路由器支持,不需要任何网络底层架构的改变,只需
要改变端系统,组播服务的部署容易。
(2) 扩展性好:不需要在路由器上维护组播组的状态,因此可以支持大量的组。
(3) 服务定制功能:可以根据网络条件的变化,动态的优化组播树的结构。
(4) 可靠性强:可以利用单播中的流量控制、拥塞控制等成熟算法使应用层组播具有更
好的可靠性。
(5) 应用层组播可以很好的解决 IP播组地址分配不足的问题。
目前应用层组播主要应用于实时的多媒体传输,这利用了多媒体在传输链路质量下降
时,用户仍可利用收到的低速率或者不完整的信息的性质;另一方面也发挥了组播“时间上
集中、空间上分布”的特点。
喷泉码理论基础
喷泉码采用随机编码思想,无需反馈信道,码率动态可变,解决了传统删除编码中码率
固定的问题。主要包括 LT码[4]、Raptor 码[5]等。由 k个原始数据分组生成任意数量的编码
分组,而接收方只要收到其中任意 m 个编码分组,即可通过译码以高概率成功恢复全部原
始数据分组。一般情况下,这里的 m 略大于 k,从而引入一定的译码开销 ε,则有 m=k(1+ε)。
可以看到,上述编码过程就如同源源不断产生水滴(编码分组)的喷泉(编码器),而我们
只要用杯子(译码器)接收足够数量的水滴,即可达到饮用(成功译码)的目的,如图 1
所示。正因如此, 这种编码被称为喷泉码。
图 1 喷泉码示意图
- 3 -
中国科技论文在线
与传统的分组级 FEC技术(如 RS码)相比,喷泉码具有更短的编译码时延,特别在信
道特性存在异构性的应用中,如数据广播分发等,具有更高的分发效率,因此,该技术已经
被第 3代蜂窝网络多媒体广播/多点传送服务(MBMS)和 DVB-H标准(手机电视标准)所
采用,并在卫星数据广播分发系统中有所应用。
2 基于喷泉码的应用层组播实现
在对现有的喷泉码和应用层组播算法的分析与总结之后,在应用层组播中加入喷泉码的
思想,利用喷泉码在应用层对组播数据进行保护,实现应用层组播的可靠传输。本文选取了
NICE(NICE is the Internet Cooperative Environment)协议作为应用层组播的仿真协议,并在
P2P仿真平台 OverSim[6]上对改进后的协议进行仿真。
NICE协议介绍
NICE是美国马里兰大学开发的一种可扩展的应用层组播协议,主要针对大量接收者的
低带宽的数据流应用。协议中使用了“分层”(Hierarchical)和“分群”(Cluster)的思路。
每个层次都使用分布式集群协议把该层次的成员分成多个成员集群,并选择出每个集群的领
导节点,该层的领导节点构成上一层,以此类推。
这样,大部分组成员位于分层结构的底层,只和少量固定数目的节点存在联系,大大降
低了大部分组播成员的处理开销[7],如图 2所示。
Layer0
Layer1
RP
图 2 NICE协议示意图
基于喷泉码的 NICE实现
在 NICE协议数据分发中加入喷泉编码,对发送端的视频文件进行分块,对每一块进行
喷泉编码,本文采用的是 LT编码的方式,即每个经过编码产生的码元 nt 都遵从以下法则由
源文件 Ksss ",, 21 产生:
首先从度概率分布 )(dμ 中随意选择每一个码元的度 nd 。这里的度分布采用公式(1)
所示的改进的孤波分布:
Z
ddd )()()( τρμ += (1)
其中理想孤波分布如公式(2)所示:
- 4 -
中国科技论文在线
⎪⎪⎩
⎪⎪⎨
⎧
=−
=
=
;,3,2
)1(
1
;11
)(
Kd
dd
d
Kd
"""
""""
ρ (2)
改进因子如公式(3)所示:
⎪⎪
⎪
⎩
⎪⎪
⎪
⎨
⎧
>
=
−=
=
时;
时;
时
sKd
sKds
K
s
sKd
dK
s
d e
/0
/)/(log
;1)/(,,3,2,11
)(
"""""""
"""
"""""""
δτ (3)
而 ∑ += d ddZ )()( τρ 。
然后对源文件 Ksss ",, 21 进行随机选择, nd 表示参与编码的 Ks 的个数,编码器输出的
码元是由任意的 nd 个 Ks 异或而得,如图 3所示。
最后将编码后的包送到下层进行传输,接收端收到组播包后进行 LT译码,恢复出所要
的视频文件。
------1------
------2------
------3------
------4------
------5------
------6------
.
.
.
Z
file
block1
block2
encoded packets
fountain encode
S1
S2
Sk
S3
T1
T2
Tn
T3
T4
)(dμ
图 3 喷泉编码示意图
3 仿真结果与分析
使用 OverSim平台上对 100 个节点进行网络的仿真,建立如图 4 所示的节点拓扑,选
择其中的一个节点作为发送端进行数据传输。在不同的丢包率的条件下对采用喷泉码和不采
用喷泉码分别进行仿真。块内的包数为 400,每个包的大小为 80bit,丢包率分别为 0、、
和 ,喷泉码的编码倍率取 1-2之间的不同值,仿真时间为 1000秒(快速模式)。产
生的数据在 matlab下进行分析处理,并绘成图 5。
- 5 -
中国科技论文在线
图 4 仿真示意图
图 5 不同丢包率下的译码误比特率
图 5是在不同丢包率条件下的译码误比特率,可以看出,随着丢包率的增大,采用喷泉
编码所需要的编码倍率是不断减小的,一般在 的倍率下,所有包都能成功译码。所以在
网络条件较差的情况下,采用喷泉码比不采用更具优势,虽然增加了一些冗余,但是带来的
译码成功率的改善是显而易见的。
4 结论
本文对应用层组播协议进行深入研究后,给出了一种基于喷泉码的应用层组播协议,并
在 OverSim仿真平台上对 NICE协议进行了仿真。由于仿真时间和环境的不同,仿真结果会
出现一定差异,但总体趋势一致。对协议的改进虽然在一定程度上解决了在丢包率较大的环
- 6 -
中国科技论文在线
境下的可靠传输问题,但由于仿真的复杂度较高,更大规模数据量的仿真还需要验证。在不
同的应用领域,比如在流媒体中的应用会成为日后研究的重点。
[参考文献] (References)
[1] Diot C, Levine BN, Lyles B, et al. Deployment issues for the IP multicast service and architecture[J]. IEEE
Network, 2000,14(1):78~88.
[2] 章森,徐明伟,吴建平. 应用层组播研究综述[J]. 电子学报,2004,32(12):23-25.
[3] J W Byers, M Luby, M Mitzenmacher. A digital fountain approach to reliable distribution of bulk data[A].
Proceedings of the ACM SIGCOMM’98 conference on Applications, technologies, architectures, and
protocols for computer communication[C]. Canada: Vancouver, 1998. 56-67.
[4] Luby, M. LT codes[A]. Annual IEEE Symposium on Foundations of Computer Science[C]. Canada:
Vancouver, 2002. 271-282.
[5] . Raptor codes. Information Theory, IEEE Transactions[J]. 2006, 52(6): 2551-2567.
[6] Ingmar Baumgart and Bernhard Heep and Stephan Krause. A Flexible Overlay Network Simulation
Framework. Proceedings of 10th IEEE Global Internet Symposium (GI '07) in conjunction with IEEE
INFOCOM[C]. USA, 2007. 79-84.
[7] Suman Banerjee, Bobby Bhattacharjee. Analysis of the NICE Application Layer Multicast Protocol[D].
Department of Computer Science, University of Maryland, College Park, 2002.