机会主义网络编码:原理、算法与性能评估
1. 机会主义网络编码简介
机会主义网络编码是一种可应用于具有网状拓扑和多个单播流的无线网络的编码方式。“机会主义”体现在只有当编码机会出现时才对数据包进行编码,且没有专门机制来增加编码机会。这种编码方式能有效减少传输次数,提高网络吞吐量和降低延迟。
例如,在一个三节点链拓扑中,节点 V1 有数据包 p1 要发送给节点 V2,节点 V2 有数据包 p2 要发送给节点 V1,通过中间中继节点 VR 进行交换。在传统系统中,VR 需先传输 p1,再传输 p2,共需 4 次传输;而采用网络编码,VR 对 p1 和 p2 进行代数运算(如异或)得到编码数据包 pR = p1 ⊕ p2 并发送,节点 V1 和 V2 分别用自己的数据包与 pR 异或即可得到对方的数据包,只需 3 次传输。
2. 机会主义编码过程所需信息
在机会主义编码过程中,编码决策至关重要。编码决策需平衡编码数据包数量和成功解码率,同时使用较小的网络编码开销。
- 基于知识的决策 :每个节点记录其相邻节点的流量状态,但这仅能满足部分编码决策需求。
- 猜测机制 :
- COPE 算法 :利用路由协议收集的信息,通过预期传输计数矩阵(ETX)进行猜测。ETX 计算公式为:$ETX = \frac{1}{P_{V_i V_l} P_{V_l V_i}}$,其中 $P_{V_i V_l}$ 和 $P_{V_l V_i}$ 分别是节点 $V_i$ 到 $V_l$ 和 $V_l$ 到 $V_i$ 的数据包传输成功概率。