一些声名显赫的高科技企业,如微软、惠普和英特尔等都正在着手从事一项被称为“网络编码”的技术,该技术可以提高网络的吞吐量,改善从内容分发到无线网络等一系列网络技术的可扩展性和使用效率。
网络编码技术自七年前诞生以来,可以说基本上藏身于各大学和实验室中而鲜为人知。这是一种编码算法,支持者们声称它可以将现有的网络吞吐量提高一倍,同时还能改善网络的可靠性和防范攻击的能力。网络编码技术最热心的支持者们说,该技术将会引发网络的下一代革命;其他人则认为,网络编码技术更有可能会潜移默化地改变目前基于路由的网络架构。
网络编码的工作原理是把不同的信息转化成位数更小的“痕迹”,然后在目标节点进行演绎还原,这样就不必反复传输或者复制全部信息了。痕迹可以在多个中间节点间的多条路径上反复传递,然后再被送往最终的目的端点。它不需要额外的容量和路由—只需把信息的痕迹转换成位流即可,而这种转换现有的网络基础设施是可以支持的。
“这种技术跟窃听技术很相像:你听到了周围有什么事在发生,于是你便形成了某种观点,然后你会根据记忆和你所掌握的信息去增加总体的吞吐量和容量。”英特尔研究部门负责企业无线通信的研究专家Sumeet Sandhu说。
网络编码可以在任何设备上工作,从路由器到无线系统,或者全新形式的所谓网络编码器上工作。英特尔看到了这种技术在扩展无线基站方面的潜力;微软已经在试验用网络编码来提高其内容分发系统的效率;其他网络厂商,比如思科,则对其计划秘而不宣,拒绝发表更多的评论,其发言人只声称:“我们正在研究网络编码能否作为一种区分不同类型的流量,然后划分出优先等级,从而帮助提高网络容量的理论五金|工具。迄今为止,我们并未提供任何专门的网络编码产品。”
解码网络编码
为了让读者能够更好地理解什么是网络编码,我们在此处给出更为详尽的技术解释。
网络编码可以对数据包中的数据位进行操作,这种所谓“按位异或”(xor)操作是将信息与其他数据包相互比对。按位异或首先取两个位组,然后对每一组的对应位执行逻辑操作,如果对应位的值不同则赋值“1”,位值相同则赋“0”。
按位异或操作所得出的这些1或0就是编码,也叫痕迹,端点或任意节点只要具备一定的智能便可将接收到的信息进行演绎还原。按照这种方法,网络编码便可有效地允许目标节点接收多个信息而不必增加它所能接收数据包的数量。换句话说,不必增加网络的整体容量。
“利用数据的这种代数性质,是为了获得更大的自由度,可以对数据包进行各种操作。”麻省理工学院电子工程与计算科学系的助理教授、网络编码领域的主要研究者之一Muriel Medard说。“在网络中能够这么做,就意味着你能够更有效地利用网络,或者用多种方式来使用网络。”
和Medard持相同观点的支持者们认为,网络编码尤其对路由器共享的基础设施(如互联网)、P2P内容分发以及无线网状网络特别有用。在一篇论述网络编码的文章中,Medard和其他研究者指出,网络编码具有极大地提高网络传输速度、改进所有通信系统可靠性的潜力,将会引发下一代网络革命。
不过,Medard也认为,网络运营商如何利用这种异或操作符来实现网络编码尚有待探索。因为它不同于MPLS的流量工程(MPLS是提高网络容量和效率的另一种方法),MPLS无须改变数据包中的数据;而只是给数据包增加一些附属物,比如标签。
“我们不只关心所选择的数据包的各个域的状态,实际上我们还需要考虑对包内数据进行操作和传输的可能性。”Medard说。“不过最终,我们还是要把信息还原到它最初的状态。”
目前的路由器和交换机系统就做不到这一点。它们只是去读数据包中的源地址和目标地址的域,将输入和输出都映射到同一个节点上然后直接传输。它们不会综合两个不同数据包的内容,更不会把输入映射到一个节点,把输出映射到另一个节点。
Medard说,网络编码器或许不会彻底取代路由器,但其功能有可能会覆盖掉一部分路由功能。而随着时间的推移,网络编码便有可能在其优势日益明显之后成为路由操作的一个不可缺少的组成部分,从而彻底改变我们今天所知的路由技术。
Medard说,她两三年前就已经给思科的工程师们展示了她的技术研究成果。她把那次会谈称之为“良好的”,但同时强调说,那次会谈只是一次技术性的会谈,没有探讨过任何商业用途。