当前位置: 首页 > 专利查询>复旦大学专利>正文

一种基于网络处理器的网络编码路由器制造技术

技术编号:4169031 阅读:249 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种基于单个和多个网络处理器的网络编码路由器及其实现网络编码的方法。采用英特尔IXP2400网络处理器作为处理器设计架构,为支持网络编码,在负责处理IP报文的微引擎上增加网络编码模块,网络编码模块包含代查找子模块、编解码子模块和转发子模块,在XScale核上增加路由维护子模块、组管理子模块、缓存管理子模块及性能预测子模块的实现方式。同时本发明专利技术还分别提供了基于单个或多个网络处理器的路由器的编码实现流程。采用本发明专利技术提供的解决方案,能有效提高网络编码在网络吞吐率提升方面的优势,降低在应用中编解码上的开销,满足网络应用中路由器设计的需求。

Network coding router based on network processor

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组播,还可以继续节省接入带宽和接入时间,网络编码不需要在 端节点进行,从而减小了端节点功能的复杂度。但这种方案需要对当前现有的组网方式、路由协议、组管理、路由器 体系结构等进行较大的改变,这些都是很大的挑战。对于组网,为了满足 网络编码的需要,在网络规划时就要考虑每个路由器的直接连接的相邻路 由器的数量,以保证在信源与信宿之间存在着多条路径。基于当前已有应用中具有网络编码功能的路由器(如图1中标识2所 示)及其数据分发模型(如图l所示),如何能尽可能发挥网络编码在网络 吞吐率提升方面的优势,以及如何尽可能地减少应用中在编解码开销上的 影响,采用什么样的体系结构,如何设计网络编码流程,为本专利技术所要解 决的网络编码技术的问题。
技术实现思路
本专利技术目的提供一种基于网络处理器的网络编码路由器,采用单个或 多个网络处理器(networkprocessor,简称NP)实现网络编码路由器结构设 计及编码流程。能有效提升网络数据吞吐量,节省接入带宽和接入时间, 节约应用中硬件资源。本专利技术基于英特尔公司的IXP2400网络处理器(Internet eXchangeProcessor2400)实现的,包含采用单个或多个IXP2400网络处理器的实现 方式。基于单个IXP2400网络处理器的路由器,包含以下内容IXP2400网络处理器,包含XScale核、8个微引擎(ME, Microengine)、 用于连接外部设备的媒体或交换结构访问接口 (Media or Switch Fabric Interface, MSF)单元和连接各种存储器和总线的接口 I/O单元,用于对 数据包进行转发,实现路由功能。SRAM (Static Random Access Memory),用于存放对数据包包头进行 处理所需的重要信息和数据包的队列描述等内容。DRAM (Dynamic Random-Access Memory),用于存方文需要处理和转发 的数据包、路由表等大型数据结构。协处理器,用于进行协同网络处理器进行处理操作;它主要用于为网 络处理器进行哈希和加密计算。闪存,用于存放网络处理器启动时的初始化文件。包含3个文件一 个文件用于在IXP2400网络处理器启动时将加载到XScale上的压縮的 VxWorks内核二进制文件; 一个文件用于在IXP2400网络处理器启动时将 加载到各个微引擎上的指令二进制文件; 一个文件用于在IXP2400网络处 理器启动时设置各个端口的IP地址以及访问控制等的配置文本文件。输入输出接口及总线,用于外部模块或设备与网络处理器的连接。其 中,MSF用于控制对外部设备的访问。MSF接口上连接了高速接收总线、高 速发送总线。这两个总线分别用于从外部模块或设备上接收、发送报文。 PCI (Peripheral Component Interconnect)总线允许网络处理器连接各种遵守PCI接口标准的外围设备。PCI总线还可以连接通用处理器(CPU)。 上述IXP2400网络处理器,其XScale核执行在慢速的控制管理层面, 用于执行路由协议、网络管理、异常处理、测量统计等任务;各个微引擎 执行在快速报文通道的数据层面,用于执行报文的识别、分类、路由表査 找、转发等任务。各个微引擎分别承担其中的不同子任务,并按照流水线 的方式组织在一起。8个微引擎分为两组0组与1组。O组的微引擎分别 编号为0:0、 0:1、 0:2、 0:3。 1组的微引擎分别编号为1:0、 1:1、 1:2、 1:3。 每个微引擎上又可以运行8个线程,0:0负责从外部媒介接收物理层帧;0:1、 0:2或1:3负责分析IP报文的头部并进行处理;0:3负责报文队列的管理; l:O负责报文的调度;1:1、 l:2负责把物理层帧发送到外部媒介。为支持网络编码,在负责处理IP报文的微引擎上增加网络编码模块, 其包含代(genemtion)查找子模块、编解码子模块和转发子模块代査找子模块,用于根据报文头部的4个关键字段,査找报文对应的 代及其缓存;编解码子模块,用于为每个代计算它相应的缓存中各个系数矢量所形 成的矩阵是否达到满秩,如果达到满秩,则执行编解码,产生新的数据块, 然后用网络编码协议(Network coding protocol,简称NCP)与IP协议进行 封装,生成新的IP报文,最后释放该缓存,放入空闲链表中;转代发子模块,用于根据网络编码专用的一张转发表,查找出由编码 所产生的新报文的输出端口 ,并由此把这些新报文发送出去。在XScale核上增加路由维护子模块、组管理子模块、缓存管理子模块及性能预测子模块路由维护子模块,用于获取物理网络拓扑信息,为每个组播连接建立 传输路径,并相应在内存中维护一张转发表,用于决定由编码所产生的新 报文的输出端口;组管理子模块,用于维护组的新建和删除、组成员的加入和退出等状 态信息;缓存管理子模块,用于处理在缓存中报文停留时间过久,剩余缓存空 间不足等异常情况;性能预测模块,用于判断一个报文是否有网络编码的必要性。在上述基于单个IXP2400网络处理器的路由器的
技术实现思路
中,网络编 码协议采用在原有的IP协议头中新增一个协议头(NC头),用于保存网络 编码所需的信息,其中包括全局编码系数矢量(Global encoding coefficient vector)。 NC协议头插在IP协议头和传输层协议头之间。上述路由器的实现中,其IP有效负荷参与编码, 一个IP报文的载荷 先被分裂为若干个等字节长度的片段,然后对于每一个片段,用NC协议头 和IP协议头部进行封装,其产生的报文从外部看与其它普通的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[]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1