The invention provides a network coding router based on a single and a plurality of network processors and a network coding method thereof. The Intel IXP2400 network processor as the processor architecture, to support network encoding, increase network encoding module in the micro engine is responsible for processing the IP message on the network encoding module contains search generation module, encoding & decoding module and packet forwarding module, routing maintenance sub-system and the realization of group management module, cache management module and the performance prediction module in the core XScale. At the same time, the invention also provides the coding realization process of the router based on a single or a plurality of network processors. The solution provided by the invention can effectively improve the advantages of network coding in improving the network throughput, reduce the overhead in coding and decoding in the application, and meet the requirements of router design in network applications.
【技术实现步骤摘要】
-本专利技术涉及一种路由器,尤其涉及一种基于网络处理器的网络编码路 由器。
技术介绍
当前网络中的组播应用变得日益流行且不可或缺,但主要是面向单播业务的传统网络,目前还无法对组播提供良好的支持。网络编码(network coding)为组播网络的设计和应用提供了一种有效的途径。在由各种端节点 所构建的应用层网络上采用网络编码,可以利用端节点自身的存储和计算 能力进行网络编码和转发,不需要对底层的网络和设备做任何修改,此种 方案具有切实可行的优点。但是这种方案存在一些明显的缺点不能取得 很高的网络容量;端节点通常不能清楚地知道底层网络拓扑的特性任何一条端到端的连接通常跨越多跳物理链接,而不同的端到端连接也可能共 享同一条物理链接。另外,这种方案还存在端节点性能无法保障和编解码 累计开销大等问题。在路由器所组成的网络上实行网络编码,与在应用层上的网络编码不 同,它可以使网络吞吐量更加逼近理论上界,还可以提升端到端的性能。 它采用在组播网络上允许路由器对从不同输入链路上接收到的几个IP报文(packet)的载荷进行编码、封装,然后把新产生的报文向特定的下行链 路发送出去。这样可以进一步提升网络吞吐量以及端到端的性能,还可以获得其他有益效果,如网络编码算法可以集中在路由器上优化,而不是分 散在端节点上优化;可以很大地简化底层分发拓扑,减少端到端的实际跳 数,进而减少编码次数和端到端延迟;避免了由于终端主机编码相关性大 而引起的延迟。另外,如果从接入路由器到它所管辖的各个终端节点之间 再采用IP组播,还可以继续节省接入带宽和接入时间,网络编码不需要在 端节点进行, ...
【技术保护点】
一种基于单个IXP2400网络处理器的路由器,由IXP2400网络处理器、SRAM、DRAM、协处理器、闪存、输入输出接口及总线构成,其特征在于:IXP2400网络处理器中负责处理IP报文的微引擎上增加网络编码模块,在XP2400网络处理器的XScale核上增加路由维护子模块、组管理子模块、缓存管理子模块及性能预测子模块。
【技术特征摘要】
1、一种基于单个IXP2400网络处理器的路由器,由IXP2400网络处理器、SRAM、DRAM、协处理器、闪存、输入输出接口及总线构成,其特征在于IXP2400网络处理器中负责处理IP报文的微引擎上增加网络编码模块,在XP2400网络处理器的XScale核上增加路由维护子模块、组管理子模块、缓存管理子模块及性能预测子模块。2、 如权利要求1所述的一种基于单个IXP2400网络处理器的路由器,其特 征在于所述网络编码模块由代查找子模块、编解码子模块和转发子模块 构成。3、 一种基于单个IXP2400网络处理器的路由器网络编码的实现方法,包含 以下步骤(1) 微引擎O:O从外部媒介接收物理层帧,并把这个物理层帧放入一 个接收队列等待处理IP报文的微引擎将其取走;(2) 微引擎(0:1、 0:2或1:3)首先从接收队列中取出一个物理层帧, 如果接收队列是空的,则微引擎继续等待,直到有一个物理层帧被接收到;(3) 微引擎删除物理层的帧头,只留下IP头部和载荷;(4) 从IP头部中提取第3层协议字段,判断是否属于网络编码协议。 如果是,则执行网络编码的处理,进入网络编码过程;否则作为普通的IP 报文进行处理;(5) 网络编码开始,先从IP头部中提取源IP地址、目的IP地址、 第4层协议、代的编号四个字段;(6) 以这4个字段作为关键词,判断是否已经存在相应代的缓存;(7) 如果相应代的缓存存在,则判断这个缓存中各个块的编码系数矢 量所组成的矩阵是否达到了满秩。如果满秩,则执行编码操作;如果不满 秩,则只进行存储,等待下一块的到达,直到缓存中达到满秩为止。如果 相应的代的缓存不存在,则要建立新的缓存。如果剩余空间不足而无法建 立新的缓存,则不进行网络编码;(8) 完成编码之后,根据报文头部的关键字段查找相关的转发表,确 定由编码所产生的新报文的输出端口;(9) 微引擎(0:1、 0:2或1:3)把编码后的载荷封装为新的IP报文, 并把这个IP报文的内存地址以及其它元信息,放到对应端口的发送队列中, 等待发送微引擎(1:1或1:2)把报文取走,沿着组播路径的指定的下行链 路发送出去。4、 如权利要求3所述的一种基于单个IXP2400网络处理器的路由器网络编 码的实现方法,其特征在于所述网络编码协议采用在原有的IP协议头中 新增一个协议头,用于保存网络编码所需的信息,NC协议头插在IP协议头 和传输层协议头之间的实现方式。5、 一种基于多个I...
【专利技术属性】
技术研发人员:王新,林珉,赵进,薛向阳,
申请(专利权)人:复旦大学,
类型:发明
国别省市:31[]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。