新闻中心

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

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

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

  系统实现的整体设计方案说明

本文引用地址://m.amcfsurvey.com/article/118085.htm

  如图2所示,是拟采用的组播通信网络的拓扑图。为了易于在工程上实现,将路由器分为编码路由器EC和解码路由器DC,分别专门负责编码和解码。具体讲,如图2所示,信源S1,S2,S3发送数据包,编码路由器EC0和EC1负责将接收到的数据包以随机的系数进行线性编码后发送给组播路由器R,注意,这里的组播路由器更准确地说是转发路由器,因为它的功能只是将收到的数据包转发到其三个输出端口,而没有IGMP(组播管理)和相应的组播路由功能。当然,我们也可以直接在EC上实现转发的功能,增加R的原因是考虑到NetFPGA端口数量的限制(每块NetFPGA只有4个端口)。解码路由器DC接收编码的数据并解码,并将它发送给下游的信宿主机。

  编码策略与方案

  作为一种编码结构的提出,我们将编码只限于不同信源数据包之间,暂不考虑信源包内部编码。相同信源的数据包之间分“代”,以便在解码时区分信息先后顺序[6]。不同信源的包之间不区分代的概念。

  定义:为了讨论的方便性和简洁性,我们将信源S1的第1代记为S(1,1),信源S2的第3代记为S(2,3),⋯⋯依此类推。依据包头和缓存,每个信源的代的编号从0开始,至1023结束,即信源n的最大的代编号为S(n,1023)。

  在编码路由器EC上对不同信源的IP数据包进行编码,编码系数矢量随机选择,编码方法是线性编码。例如,在上图中的编码路由器EC0,设两个链路的输入的全局编码向量为:

,由于只有两个信源之间的编码有且只有一条边输出,则本地编码向量为(α β),依据文章[7]的公式:

  out(e)=(α β)=αS(1,x)+βS(2,y)。编码后的数据以NCP(network coding protocol)包头封装,然后再封装在IP数据报中,如图3所示。

  为减小相应的编码负担和提高编码效率,我们只对网络中的IP数据报中的有效载荷进行编码(已经编码过的数据包可以再进行编码),不对ARP等其他数据包编码。在编码路由器中,我们为不同的输入通道开辟不同的FIFO以进行顺序存取和编码,编码流程如图4所示。

  转发(组播)路由器R工作流程

  在实际的应用中,R应该是具有组播功能的路由器,即可以运行网际组播管理协议IGMP和多播路由选择协议DVMRP等,从而它可以知道网络的局部的拓扑和满足组播成员的要求。为了初期容易实现,我们将其功能简化为转发功能(即广播功能),具体工作流程如图5。



评论


技术专区

关闭