作 者:彭木根 王月新 王文博
在算法设计上,形成了两个极端。一种是完全确定的编码方案。Koettor[5]提出了较为完备的线性网络编码的代数实现。但是他们的方法运算量太高。确定性的编码方案能够保证容许性,并且所需的符号集比较小。但是确定性的网络编码需要了解全网的情况,复杂度比较高,难于分布式的实现。一旦网络拓扑结构发生了变化,就必须对整个编码方案进行修改,所以鲁棒性比较差。
由于确定性网络编码的以上缺点,后来提出了随机编码的概念。随机编码是指每个节点随机地选取一组编码向量,对输入信息进行编码,并把这组随机向量作为报头的一部分发送给收点,以便于解码。随机编码可以分布式地实现,并且可以增加保密性。随机编码可以解决分布式实现的问题,但是可能造成系统传输矩阵奇异,导致在收点无法恢复出原始数据。可以证明,当符号集为无穷大时,采用随机编码,系统传输矩阵满秩的概率为“1”。
其余的算法基本上都是以上两个极端的折衷,例如可以采用半随机的编码方案。整个网络被化分成若干区域,各区域都采用随机编码,但为了保证传输矩阵满秩,区域间要相互传递信息,以使每个区域在选择编码向量时尽量不选可能导致解码失败的那些向量。为了保证随机编码成功概率,编码向量的符号集必须足够大,这可能增加数据包头部的负担,因此符号集的大小必须仔细选择。
此外,还有一些研究人员利用网络编码的思想提出了一些方案,以达到与最大流类似的最小费用、最低能量传输等网络优化目标。
对等网络(P2P)网络中,网络编码策略可以降低下载时间,在大规模的分配式P2P网络中,全局的调度非常复杂,而应用网络编码后,可以采用很简单的机制来构造随机的网络架构,提高系统性能,同时由于已编码文件块的密集性,基于网络编码的解决方案健壮性更强,例如当某种子节点过早离开时,编码机制的应用使网络信息块平等,从而可以降低信息丢失的情况。
在增大流量上,利用网络编码可以达到理论上限,可以应用于带宽有限的无线网络,利用其节点信息可以被周围邻居检测接收的特点。如图1所示,无线网络中当两个无线节点需要通过一个共同的基站来进行通信时,网络编码可以提高双向业务的网络流量,将结论推广到无线网络中的多跳路由中,两个终端节点的业务是双向的,且拥有相同的包要交换,在相邻路由器间应用轮询的时间调度,通过最初几步后,所有的中间节点都存储了要向两个方向传送的数据,当有传送机会时,路由器将要向两个方向传送的数据编码,传送出去,从而充分利用无线传输的特点;而对于接收节点,可以通过相应译码得到所需信息,信道的流量增加了一倍。网络编码还可以在组播、广播场景中应用,于是可以用于无线格状网(Mesh)、自组织(Ad Hoc)网络及无线传感器等多跳网络中。
网络编码机制使信息更加分散,等同于将信息进行了隐藏,更难窃听,提高了信息安全性。节点需要具有译码功能,同时要求得到足够的数据才能正确解码,信息很难被窃听,同时网络编码还可以防止拥塞方面的侵害,因此,将网络编码技术应用于军事等领域,其保密性和鲁棒性方面的潜力很大。
为了不对现有网络的软硬件设备和相应的协议做很大的修改,可以选择在更高层实现网络编码。基于组播覆盖网络节点功能更强、拓扑结构易构建的特点,应用简单的编码策略就可以提高网络容量和降低信息传输时延。基于这种思想,可以考虑在无线传感器网络,无线Mesh网络中应用网络编码,有效降低成本。
4 网络编码的研究热点
作为一种新型的网络传输技术,网络编码的优点不言而喻。但到目前为止,对这一领域的研究还主要集中在理论方面以及应用中局限性的分析方面。
4.1网络编码节点选取方案
在确定的网络结构中,并不是所有的节点都需要进行网络编码,而是选取其中需要编译码的节点,给予编译码功能,对于不需要编译码的节点,只要具有传统的存储转发功能即可。这样不仅可以降低编码算法的复杂度,也减小了对硬件的要求,从而使得网络编码的应用更为广泛。文献[12]根据网络拓扑结构,利用一种子树分解算法来寻找编码节点。将该算法应用于有线网络中并使用确定的网络编码机制,效果较好;但对于无线网络,节点之间的连接关系更为复杂,并且节点传输覆盖范围内的节点都可能接收到网络信息,导致拓扑结构更为紧密,则应用上述方法选择编码节点就不太适合。因此,无线网络中主要考虑节点能量及稳定性的影响,选择编码节点或设计网络拓扑时应尽可能将节点能量较高、具有较强的运算速度和较大的缓存空间的节点,以提高网络的鲁棒性。