三、多终端协作,颠覆“存储-转发”模式。

如图所示,在传统的路由机制中,需要将数据从S1和S2发给D1和D2。作为中继点R,需要将S1发送的数据a储存后,转发给D2,同样将数据b储存后转发给D1。这样的效率是很低的(原因我们在蝴蝶网络里分析过)。而通过网络编码后,R节点将a+b分发给D1和D2,网络传输速率得到很大提升。
四、容错能力,网络编码下的鲁棒性设计

如图所示,在S点要传递数据a和b到目的地D。R1和R2两个中继点分别传输数据a、数据b。而中继点R3将通过网络编码的数据a+b传递到D。这样,无论R1还是R2线路,在传递过程中出现故障,都可以通过R3传递来的a+b数据,来解码出缺失的部分。这样,就提高了网络的容错能力(鲁棒性)。
五、多用户ARQ(自动重传请求),一次解决所有人的问题。

如图所示,当发送端S向用户D1和D2传送一组数据时,如果分别出现丢失的情况,D1和D2会自动将丢失的部分请求重传。传统方式下,会对每个用户的请求排队后,将各自的缺失部分进行重新传递,效率较低。在网络编码模式下,在上图的例子里,只需要将数据“1”和数据“3”进行编码后,将1+3分发给D1和D2,一次性解决了所有用户的请求。
六、协同网络编码,中继模型里的容错能力。

NCBC(协同网络编码)用于处理网络传送中的丢帧情况。例如,从信号源发出一个长度为10的数列,分别到目的地d1、d2以及中继站r。由于网络问题,导致分别有数据丢失。这时候,d1和d2会将丢失的信息发送给中继r,请求补充。r在收到后,首先将自己也没有收到的数据(1和10)排除,请求信号源进行重发,而对于d1和d2共同缺失的数据(7),进行分发,最后,对于d1和d2各自缺少的部分(3、4、5、9),进行编码后,分发给d1和d2,然后有各自直接获取或解码获取。