图2.1(a)给出了一个组播网络,不考虑时延和传输差错。其中S是源节点,
t1,t2是目的节点,每条边的信息速率均为1比特每单位时间。假如网络中的节点
只对其收到的信息进行复制转发,则此网络多播速率无法达到2比特每单位时间。因为接收节点3在一个单位时间内只能转发从节点1和2过来的两个比特中的一个,如果3转发从l节点过来的信息,则接收节点t1可以收到2比特每单位时间,但是接收节点t2只能收到1比特每单位时间。假设从源发向节点1的信息比特为b1,从源发向节点2的信息比特为b2。2.1(b)图中的3节点将分别从节点l和2过来的信息b1和b2进行模2加,然后发向节点4,于是接收节点t1在一个单位时间内收到了b1和b1+b2,于是可以通过b1 “b1+b2户b2运算来得到b2,也就是说,接收节点t1在一个单位时间内相当于收到了b1和b2。同理我们可以知道接收节点t2在一个单位时间内也相当于收到了b1和b2。于是2.1(b)图的传送方法达到了多播速率2比特每单位时间
二、网络编码的好处
Ahlswcde等在提出网络编码时指出,通过网络编码可以提高网络多播的容量,达到网络多播的最大流限,这是网络多播的理论上限。通过对网络编码的研究,人们发现网络编码多播较传统的路由多播的好处不仅仅局限在网络多播的容量方面。下面我们将具体讨论网络编码多播的好处。
(一)、网络多播容量的改善
网络编码最主要的应用就是提高多播系统的信息传输速率,即达到网络拓扑图的最大流,而传统的路由方式则无法实现。对于一个单源多播网络,最大的信息传输速率为C?mint?TC?s,t?,其中T是多播接收节点集合,该值是多播传输速率的理论上限值,称之为多播容量,网络编码可以达到该多播容量。
我们通过一个典型的网络拓扑指出,只有采用网络编码才能获得网络多播的
11
最大流限,而无法通过传统的路由多播获得。但是这并不能完全刻画基于网络编码的多播与传统的IP多播在多播容量性能上的差异,因为网络编码的容量依赖于网络节点的连接情况以及网络中每一条链路的容量的变化情况。因此在评价网络编码多播的容量时,我们必须考虑多种网络拓扑结构以及链路的容量。
对一编码和多播的容量性能进行了比较[15]。其随机生成节点数为50的网络拓扑结构,并随机选取10个接收节点。对于网络链路的容量,采用两种模型:一种是链路的容量在[1,10]区间内随机的选取的非均有模型(heterogeneous model),另一种是链路容量为常数5的均匀模型(homogeneous model)。因为多会话IP多播更能有效的利用网络的资源,所以将网络编码多播和多会话IP多播的多播容量进行了比较。
我们可以看到,在均匀和非均匀的两种链路容量模型下,基于网络编码的多播通常较多会话IP多播获得更高的多播容量。此外,网络编码多播和多会话IP多播的容量差异随着网络节点的平均度数的增加而增加。
(二)、负载均衡
现有的口多播路由经常造成网络流量的不均衡分布,因此在多播通信中,链路流量的负载平衡一直是人们关注的问题。现有的多播路由协议主要可分为基于核心的路由协议和基于信源的多播路由协议。基于核心的路由协议经常造成流量过分集中于某一节点。而基于信源的多播路由协议也会由于多个多播树的叠加,造成某一链路流量的过载,影响网络的服务质量。基于网络编码的多播利用多条路径进行信息数据的传输,可以平衡网络链路的负载。
12
S21222R1R222232a,bSa,b12a,b31aa,ba,babaSb2ba+ba+b3R3R1a,bR2a,bR3a,bR1a,bR2a,bR3a,b (a) (b) (c) 图2.2 路由方式与网络编码方式的网络负载的比较
Fig.2.2 Load comparision of IP and network coding based multicast
如图2.2所示的链路容量为2的网络,源节点s将信息多播到接收节点Rl,R2, R3.假设网络编码多播使用一半的链路容量,在这种情形下,路由方式与网络编码方式多播速率均为2比特每单位时间。但采用路由方式(如(b)所示)时,2比特的信息是通过5条链路来传输的,另外5条链路空闲。当使用网络编码方式(如(c)所示)时,1比特的信息是通过9条链路来传输的。因此,通过网络编码,负载被分配到了整个网络中。另一方面,在路由方式中,共有10比特的信息量需要传输,而使用网络编码时,仅需要传输9比特,这就意味着网络编码可以节省10%的带宽。当网络编码多播使用链路的全部容量时,不但可以获得4比特每单位时间的多播速率,而且此时的链路资源的利用率达到了最佳。
(三)、减少节点能量消耗
在一些Ad hoc网络中尤其是无线传感器网络中,节点是通过有限的电池来提供能量的,因此有效能量利用成为衡量一个无线能量受限网络性能的重要指标。
13
x1+x2et2x1dx1sbax1sct1e
(a) (b) 图2.3 通过网络编码节省节点的能量消耗 Fig.2.3 Energy saving through network coding
图2.3(a)是一个由8个节点组成的无线网络,信源节点s多播信息到接收节点
t1和t2,节点传输范围有限且仅能与周围的两个节点直接通信。假设一次物理层
的传输要消耗1个单位的能量,则传统的路由方式多播单位比特信息需要消耗的总能量为5。图2.3b)基于网络编码实现了信息的多播传输,信源节点将两比特信息x1和x2分别传输到接收节点t1和t2,节点t1和t2再将其传输到中间节点e,节点e对x1和x2做模2运算后,再将其广播到节点t1和t2,这样两个接收节点就可以同时恢复出信源的信息比特x1和x2。在采用网络编码的多播过程中,我们总共用到了9次物理层广播,所以每比特消耗的能量为4.5。因此采用基于网络编码方式的多播,可以有效地降低无线网络信息传输过程中的能量消耗。
另外,无线多播网络中,通过跨层的设计可以将网络编码与物理层无线广播传输特性相结合,实现网络的最小能量多播,最大限度的延长网络的生存期。
(四)、减小信息传播时延
考虑具有链路时延的网络,相对于路由方式,通过网络编码进行多播传输时可以获得较小的传播时延。
14
SSabbaR3aR2R1bR2a+bbba+b
(a) (b)
图2.4 路由和网络编码多播的路径时延比较
Fig.2.4 Delay comparision of route and network coding based multicast
对于图2.4所示的单信源三个接收节点的多播网络。设每条链路具有单位时间的传播时延,节点的处理时延相对于链路的传播时延可以忽略不计。我们可以发现基于传统路由方式(如(a)所示)多播,信息从信源发送到接收节点的最大时延为3,而对于基于网络编码(如(b)所示)的多播来说,最大的传输时延是2。因此对于特定的多播网络来说,通过网络编码可以减小信息传输的路径时延。
另外,还可以通过网络编码对相关信源的数据进行压缩,减少网络中传输的信息量,从而减少节点能量消耗,延长网络的生存周期。通过网络编码可以抵抗网络中的链路和节点的非各态历经失败对网络链接的影响,提高网络链接的鲁棒性,减少网络管理的开销。网络编码在信息安全领域的应用产生了一种基于数据包的随机网络编码检测策略,对原数据进行的简单多项式函数哈希变换,然后把得到的结果添加到原始数据包中。接收节点通过比较解码后的数据和哈希值就可以判断数据包是否被修改过,这样就可以防止中间人攻击,提高数据的安全系数。
15