新闻中心

EEPW首页 > 网络与存储 > 设计应用 > 基于网络编码的多信源组播通信系统

基于网络编码的多信源组播通信系统

作者:时间:2011-03-25来源:电子产品世界收藏

  摘要:本文首先介绍理论的基本概念,回顾了近年来的研究动态。接着在使用NetFPGA开发平台的基础上,提出组播通信系统及其整体设计方案。由于本系统的主要功能是由硬件实现,所以和传统组播通信网络相比,具有时延小,没有了调度和排队时间,使得网络中链路负载更均衡,体现出了网络编码的优势。

本文引用地址:http://www.eepw.com.cn/article/118085.htm

  关键词:网络编码;组播;NetFPGA

  网络编码理论基本概念

  《科学美国人》杂志2007年6月,以“Breaking Network Logjams”(《打破网络僵局》)为题,详细介绍了17年前诞生于香港中文大学的网络编码理论[2]。其中指出,网络编码是继60年前C.E.Shannon发表“通信的数学原理”后,网络通信理论的一个全新突破。传统网络通信理论把信息流当成管道中流动的水,是不可压缩的;故传统网络节点上的路由交换机只是完成存储转发功能。NC理论的划时代意义在于:提出网络路由交换节点对输入的信息流进行编码再发送,可进一步提升网络吞吐量!从而改变了比特不能再被压缩的经典结论,即网络信息流可以被压缩。

  网络编码最简单的概念来自“蝴蝶网”,如图1所示。

  图1所示的网络中,源节点S1想把信息流ai传送给R1和R2。另一方面,源节点S2也希望在相同时间、以相同速度,把信息流bi传送给同样的接收节点R1和R2。假设每个路径每秒可携带一个位元,而且只能顺着箭号所指的方向前进。如果路由器只传输其所接收到的信息,那么中间链路将是个瓶颈,因为每秒总共接收到二位元的资料,但其容量只有一位元,路由器每秒只能传送一位元资料给中间链路,这种瓶颈会造成可怕的塞车。相反,如果把一般的路由器换成编码器,它可以把两个信息通过异或或者线性组合运算成单一位元输送给中间链路,并且发送ai + bi (或者ai和bi的任意线性组合),这样就轻而易举地解决了塞车问题[1][3]。网络编码另一个与路由系统不同之处在于充分利用网络资源。图1中,S1通过路径S1R1把ai传给R1,S2通过路径S2R2把bi传给R2,这在路由系统中是不会使用到的。节点R1接收到ai,并且根据每次编码器运算结果,输入到与编码器使用的相同函数(异或或者线性组合)内,推导出bi。节点R2解出ai也是同样的道理。

  系统结构及整体设计方案

  本项目的主要研究目标是基于网络编码的系统的实现。基于国内外网络编码理论在组播通信中的最新研究成果和技术,对网络编码理论进行深入学习和探讨,提出一种基于网络编码的系统和网络。然后依据此系统设计出可实现组播的通信协议和相关算法,再利用开放式的网络设计硬件平台NetFPGA[4],使提出的协议和算法在硬件上实现,最后在实际的环境中用若干电脑和NetFPGA组成一个小型组播通信网络进行系统测试和性能评估。

  利用NetFPGA实现本设计的总体构想

  由斯坦福大学开发的NetFPGA是一个基于Linux操作系统的可重用开放性硬件平台,允许用户在实验室内搭建高性能的网络模型进行仿真和研究[5]。它具有以下特点:⒈很好地支持模块化设计,它可以使研究人员在硬件上搭建Gbit/s高性能网络系统模型;⒉NetFPGA是一个基于Linux系统的开放性平台,可以利用平台上现有的资源,在前人开发的基础上添加自己的模块和修改现有的系统,而不需要重复地搭建外围模块、开发驱动和GUI等,大大减轻了网络研究的任务。

  基于网络编码的组播通信系统将充分运用NetFPGA上面的各种硬件和软件资源,实现系统的设计目标,具体是:⒈根据项目的需求,合理且充分利用NetFPGA卡上面的各种硬件资源,如FPGA、存储芯片和输入输出接口。⒉由于基于NetFPGA实现的IPv4原理性路由器是一个开源的系统,因此我们可以运用其提供的部分代码和已经设计好的底层硬件平台,来帮助我们实现设计目标。例如,系统的编码、解码工作主要在网络层完成,因此可以利用NetFPGA中已有的物理层、MAC层硬件逻辑来实现数据的接收和发送。⒊在软件方面,由于NetFPGA平台选择了CentOS操作系统,并且开发了软硬件接口的驱动程序,基于Linux内核的设备驱动程序和Java程序开发的图形用户界面(Java GUI)等,因此我们可以对其应用、改进,使我们的系统更加完善,方便调试和后续的进一步研究。


上一页 1 2 3 下一页

评论


技术专区

关闭