网络编码研究综述摘要:网络编码是通信网络中信息处理和传输理论研究上的重大突破,它的核心思想是允许网络节点对所传输的信息进行编码处理。
它在提高网络数据吞吐量即数据传输可靠性等方面拥有显著的优势。
本文介绍网络编码的基本原理以及主要优缺点,对网络编码的研究进展进行分析,分析网络编码当前面临的重要问题,以及解决网络编码问题可能采取的方法。
关键词:网络编码;随机网络编码;网络编码机制引言香港中文大学的R. Alshwede 等在2000年的IEEE信息会议上发表的一篇著名论文[1],该论文首次提出了网络编码(Network Coding)的概念,并从理论上证明了:如果允许网络节点对传输的信息按照合适的方式进行编码处理,而不是局限于传统的存储和转发,则基于该方式的网络多播总能够实现理论上的最大传输容量。
网络节点对传输信息进行操作和处理的过程,就称为网络编码。
网络编码的提出是网络通信领域中的一项重要突破,自其被Ahlswede提出以来,已迅速发展成为一个重要的研究领域,对信息论、编码、通信网络、网络交换理论、无线通信、计算机科学、密码学、矩阵论等研究领域产生了深远的影响,已成为当今最热门的研究领域之一。
网络编码是一种融合编码和路由的信息交换技术。
它的原理是,网络中的节点对接收到的多个数据分组进行编码融合,经过编码后的数据被中间节点以多播的方式进行转发,目的结点可依据相应的编码系数进行解码,从融合的数据中还原出原始的数据,网络编码通过允许网络中间节点对不同数据流数据编码获得网络最大流传输理论的上界,从而改变了传统网络节点智能从当存储、转发的角色。
网络编码已引起国内外学者的广泛关注,国外一些著名的院校和实验室都对网络编码进行了研究,例如MIT、普林斯顿大学和微软研究院等,它们的研究侧重点在应用网络编码提高网络吞吐量及提高网络能量利用率,以及编码提高网络传输的可靠性和安全性等方面。
其中,前一个侧重点的研究多集中在传输中编码策略的研究[2-3],而在提高数据传输的可靠性等方面的研究多集中在数据的重传策略方面[4]。
国内香港中文大学和西安电子科技大学等方面的学者对网络编码的研究做出了重要的贡献,网络编码的思想是由杨伟豪和李硕彦首次提出。
他们将网络编码应用于检测和纠正网络错误的研究。
杨伟豪和蔡宁[5]在经典纠错码的基础上引入了网络纠错码的概念,通过引入空间域的冗余代替时间域的冗余来纠正网络通信中的错误,将经典纠错码的Hamming界、Singleton界和Gilbert-Vashamov界推广到网络编码中。
本文对网络编码的基本概念和网络编码的研究现状以及在研究中存在的问题进行描述和分析。
1.网络编码的原理和优缺点1.1网络编码的原理在传统的网络中,节点仅对接收的数据进行存储和转发,难以达到网络传输的最大吞吐量和带宽利用率,若数据传输路径出现瓶颈链路,则网络数据传输性能将受到限制。
为此,引入网络编码技术,增加节点对数据的编码运算能力,节约网络链路的带宽资源,减小网络数据传输中瓶颈链路的影响。
R. Alshwede等以著名的“蝴蝶网络”模型为例,阐述了网络编码的基本原理。
如图1所示,“单信源二信宿”蝴蝶网络,设各链路容量为1,S是信源节点,Y和Z是信宿节点,其余为中间节点。
根据“最大流最小割”定理,该多播模型理论最大传输容量为2,即信宿Y和Z能够同时接收信源S发出的2个单位的信息,也就是说能同时收到b1和b2。
图1(a)表示的是传统的路由传输方式,假定节点W转发信息b1,则链路WX、XY和XZ上传输的信息均为b1,虽然信宿Z收到b1和b2,但是信宿Y时能收到b1,因此信宿Y和Z无法同时收到b1和b2,该多播不能实现最大容量传输。
图1(b)表示的是网络编码方法,节点W对收到的信息不再仅仅是存储、转发了,而是对收到的信息进行异或操作,然后将操作结果b1^b2转发出去,经过链路最终到达信宿Y和Z。
信宿节点收到信息后进行解码操作(对于Y节点,解码操作为b1^(b1^b2))就能解出b1或b2,因此信宿Y和Z就能同时收到信源发出的b1和b2。
因此基于网络编码的多播实现了理论上的最大传输容量。
由此知道,网络编码的核心思想是,具备编码条件的网络节点对收到的信息进行一定方式的处理,然后传传输给下一级的网络节点,如果收到信息的下一级网络节点拥有编码能力,同样进行对信息编码,如此一级级传递下去,直到所有经过处理的信息都汇聚到信宿节点为止。
最后在信宿节点通过逆过程的操作,即译码,解码出信宿节点传递的原始信息。
网络编码是发生在域F q上的操作,如果域F q无限大,则运用网络编码的多播传输能达到理论上的最大传输容量等于各信宿节点的最大流的最小值,即h= min {max flow(t i)}, t i∈T。
图1. 单信源二信宿蝴蝶网络1.2网络编码的优缺点1.2.1网络编码的优点提升网络吞吐量是网络编码带来的最大优势,而且理论证明,对于节点平均度数越大,网络编码在网络吞吐量上的优势越明显。
如果Ω为信源节点的符号空间,|V|为通信网络的节点数目,对于每条链路都是单位容量的通信网络,基于网络编码的多播的吞吐量是路由多播的Ω倍[6]。
网络编码可有效利用除多播树路径外其它的网络链路,可将网络流量分布于更广泛的网络上,从而均衡网络负载,有助于解决网络拥塞等问题。
提高网络带宽利用率是网络编码的另一个显著的优点。
此外,通过网络编码,可以抵抗网络链路和节点的非各态历经性失败对网络连接的影响,提高网络连接的鲁棒性,减少网络管理的开销。
在无线网络中,还能降低网络传输能耗,增加网络传输的安全性[7]。
1.2.2网络编码的缺点虽然网络编码有很多的优势,但是网络编码在带来优势的同时也有伴随着一些不利因素,例如,网络编码增加了计算的复杂性,而且网路节点需要缓存足够的输入信息,因此编码操作增加了网络传输延时和节点的额外的输入输出功耗。
在节点中进行编译码所耗费的时间也是不容忽视的问题,此外,应用网络编码还存在同步问题,也就是说,信宿节点必须等待收到足够的编码信息,才能够开始译码,同步问题给实时系统中应用网络编码提出来挑战。
2.网络编码的研究进展分析2.1经典网络编码的研究目前,编码机制的设计和优化一直是网络编码研究的热门方向。
网络编码机制的研究主要集中在:确定性网络编码、随机性网络编码和现存网络编码的优化。
对于确定性网络编码,编码节点对接收的数据进行编码组合的系数为固定量,而且编码系数向量随编码数据在网络中同时传输。
确定性网络编码的优点在于编码系数稳定,因此在网络中传输编码系数的信息量较少,减小网络的开销。
但是由于信宿节点需要知道整个网络的拓扑信息,因此网络扩展性差,难以适应现实中广泛存在的分布式网络环境。
因此,基于上述原因,Ho等[8]提出了随机网络编码机制,即在编码中,节点携带一个全局编码向量,当编码数据经过每一个节点时,节点根据其编码方式改变信息的同时改变编码向量,信宿节点仅需接收到一定量的编码数据即可解码出原始数据,因此,信宿节点不需要知道整个网络的拓扑结构。
相对于确定性网络编码机制,随机网络编码机制较为灵活,具有较强的实用性。
为了进一步改进网络编码机制,基于上述经典性网络编码机制,研究者从不同角度提出了网络编码机制的优化。
一个代表性的研究表现为具有编码参量动态调整的网络编码机制的改造。
文献[9]提出了数据分批编码传输机制,解决了动态网络环境中的编码问题。
实际网络编码机制的构造和设计逐渐深入过渡到适合网络具体特点方面的探讨,在较大程度上促进了网络编码机制的研究发展。
目前,网络编码研究一个亟待解决的问题是编码机制的复杂性,这包括编码机制产生的优势和其对网络产生的负面效应的平衡等重要问题。
2.2基于网络传输QOS的网络编码研究在网络传输中服务质量是一个很重需要的性能指标,研究者从这一方面出发进一步对网络编码进行了研究。
研究主要集中在一下两个方面:(1) 多速率网络编码机制:在多速率编码机制中,来自不同链路且具有不同数据速率的数据在网络编码决策机制中被分析,以减少编码对网络中具有高数据传输速率数据的影响。
文献[10]提出基于Jaggi多项式算法的非源数据接收速率动态调整的机制,以及基于线性广播算法和减矢量的变速率编码机制。
(2)基于网络链路状态和数据编码传播特点的网络编码机制:在现有的多数网络编码机制中,均假设网络为无环结构、链路数据传输不存在延时和丢失等情况,但是,众所周知这是不符合实际网络传输条件的,实际情况正好与此相反。
对此,文献[11]对网络编解码中数据的传输时延描述模型及相应的解决策略,文献[12]提出单跳网络环境下不同要求数据的编码调度问题,对网络编码中数据传输时延的解决具有一定的启发性。
2.3基于网络传输安全性的网络编码研究数据在网络中传输的安全性一直是人们进行网络研究的热点。
虽然网络数据在传输路径上的中间节点经过编码后可能具有更高的安全性。
但是,数据在中间节点进行编码时也有可能别人利用,在中间节点处对数据进行更改,因此,提高网络编码过程中数据的安全性已经成为网络编码研究的重要问题。
网络编码中数据的安全性研究主要集中在2个方面:(1) 网络编码中数据提供安全性保证,网络编码产生的信息分散性和编译码特性增加了信息被破译的难度,即在网络编码中单个节点上很难解码出经过编码混合机多径传输后的编码数据。
(2)将现有网络安全机制和网络编码机制进行结合是网络编码研究的的一个重要方向,在安全信令交换的基础上进行数据的编码操作,以提高编码过程中数据的安全性。
由此可知,在网络编码方案设计中,对不同编码机制进行数据安全性的分析是网络编码当前研究的一个重要问题,对提高网络数据传输的安全性具有重要意义。
2.4多源网络编码机制的研究多源网络编码不是单源网络编码的简单扩充。
与单源网络编码研究的侧重点不同,单源网络编码研究的目的在于使数据源节点以最大速率向所有信宿节点传输数据,而多源网络编码研究的侧重点在于信息的可达速率域,其研究集中在3个方面:建立多源网络编码的构造算法,算法分为多源多播和多源单播,主要解决不同数据源发送的数据在同一个网络中相互影响的问题;另外两个方面为多源网络编码和分布式信源编码的联合和分离问题,以及多源网络编码信息可达速率域问题这些问题包含相关源数据的压缩机编码的优化问题。
3.网络编码在实际应用的研究目前,网络编码的研究仍主要局限在编码理论方面,对于具体实现和实际应用的研究仍然很少,这是网络编码研究面临的一个主要问题。
Chou 等在文献[13]中讨论了网络编码在实际应用中存在的问题及解决方案,Widmer 等在文献中讨论了在特殊网络环境下具有网络编码的可靠数据传输方案,同时,一些应用网络编码的数据分发系统及圆形系统也被提出,主要为微软公司开发的P2P雪崩软件Avalanche 和MIT应用于无线局域网络的COPE和MORE网络编码原型系统,这些原型系统均为网络编码的优势进行了实际网络环境下的验证。