基于多处理器的数据包处理装置以及数据包处理方法制造方法及图纸

技术编号:3936164 阅读:288 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种基于多处理器的数据包处理装置以及数据包处理方法,可以对每个用户或者每个服务构筑不同的虚拟环境,并且高速地进行数据流处理。作为与网络连接的数据包处理装置,所述数据包处理装置具有多个处理器核心、以及与所述多个处理器核心连接的存储器,当接收到程序的加载请求时,选择所述多个处理器核心中的还没有加载程序的处理器核心,对所述选择的处理器核心加载程序,保存使通过所述加载请求指定的属性信息与加载了所述程序的处理器核心相对应的第一对应信息,当接收到数据包时,确定与所述接收到的数据包对应的属性信息,将所述接收到的数据包传输给与所述确定的属性信息对应的处理器核心。

【技术实现步骤摘要】

本专利技术涉及网络中的数据包流等数据流的处理。
技术介绍
网络中的数据流的处理的一个课题在于,对于多个用户提供无法在网络节点上共 存的多个高功能服务,并且,可以在网络的运用中追加或删除服务,以及可以变更服务的内 容。为了通过一个物理的网络提供这样的服务,需要网络的虚拟化,即需要看成如同使用对 每个用户或者每个用户组独立的网络。并且,在各个网络节点中,为了进行高功能服务的处 理,对于从通信线输入、向通信线输出的数据包流,需要以尽可能接近该通信线的最大传输 速度(线速)的速度进行处理。作为能够用于网络中的数据流处理的现有技术,具有以下四种技术。作为第一现有技术,可以举出一种计算机,其可以并行地,或者通过时间分割即分 时(time sharing)来并行地执行多个用户的程序。作为与分时系统有关的文献,具有非专 利文献1。在安装有Linux (注册商标)或Microsoft Windows (注册商标)等基于分时系统 的通用操作系统(OS)的计算机中,将处理器以及存储器等共享资源虚拟化,各个用户可以 如同独占地使用这些资源。基于任务切换来共享处理器资源。即,在存在多个进程以及线 程时,OS进行它们之间的任务切换。可以使用这样的计算机构成网络节点(所谓的软件路 由器),或者可以进行流数据处理。但是,在任务切换时要清除寄存器文件以及高速缓冲存储器,所以在进行了任务 切换后,立即需要从DRAM(动态随机存取存储器)重新加载数据以及程序。由于该切换导 致的延迟、数据以及程序的重新加载所需要的延迟、以及巨大的处理步骤数,无法进行接近 线速度的处理。作为第二现有技术,具有以下的虚拟软件技术在一个硬件上,通过时间分割使对 于每个用户不同的操作系统进行工作,由此来构筑每个用户的虚拟环境。非专利文献2记 述了使用虚拟化软件Xen (注册商标)对网络接口等硬件资源进行虚拟化,实现虚拟的节点 的方法。在虚拟化软件技术中,因为与分时系统相同也通过时间分割来使用处理器,所以 无法解决上述那样的由于任务切换而产生的问题。此外,虽然在网络中在用于通信的数据 包中包含发送者和接收者的3层(IP层)的地址,但是在交换机根据2层的信息传输数据 包时,在数据包中不包含对数据包进行中继的交换机的地址。但是,存在以下的问题在虚 拟化软件技术中,为了进行通信需要对网络接口附加地址,作为数据包的发送目的地,需要 指定该地址。作为第三现有技术,存在在专利文献1中记载的物理设备虚拟化技术。专利文献1 公开了以下的技术通过将单一的物理设备虚拟地多重化,将输入或者输出的数据分配给 多个用户的程序来进行处理。该物理设备的一例是网络接口。在物理设备虚拟化技术中,因为也和分时系统相同地通过时间分割使用处理器, 所以无法解决上述那样的由于任务切换而产生的问题。此外,作为数据包的发送目的地,需 要指定被虚拟地多重化的网络接口的地址,这也同样是问题。作为第四现有技术,具有可编程的路由器以及交换机。相对于用户无法对现有的 路由器以及交换机进行编程,可编程路由器以及交换机通过搭载网络处理器或FPGA(Field Programmable Gate Array),可以从外部提供程序。在专利文献2中,记述了对于运行这样的程序的多个处理器核心 (processorcore)分配所输入的数据包的方法。但是,在该方法中,处理器核心执行的程序被预先固定,分配数据包的目的地也被 固定,因此无法在网络的运用中追加或者删除服务以及无法进行服务内容的变更。专利文献1特表2008-503015号公报专利文献2特表2008-523729号公报非专利文献1 ] John McCarthy, "REMINISCENCES ON THE HIST0RY0F TIME SHARING",Stanford University,1983 Winter or Spring,http://www-formal. Stanford, edu/jmc/history/timesharing/timesharing. html非专利文献 2Egi,N.,Greenhalgh,A.,Handley,M.,Hoerdt,M. , Mathy, L.,and Schooley, T. , "Evaluating Xen for Router Virtualization,,,16th Int' 1 Conference on Computer Communications and Networks(ICCCN 2007), pp. 1256-1261, August 2007.
技术实现思路
随着网络服务的高功能化,要求网络提供商在短期内开发出对于每个用户组不同 的、多种商务指向的高速服务。此外,为了研究开发新的网络架构,要求实现对于每个用户 (特别是研究者)不同的协议或数据处理。为了提供这样的服务或开发环境,非常希望在各 个网络节点中,在对每个用户组或服务而虚拟化的环境下,实现对于每个虚拟环境(即每 个用户组)不同的网络服务的灵活的程序运行,并且,通过该程序以线速度对数据包流进 行处理。如上所述,在通过一台硬件进行多个处理时,产生基于0S的任务切换,无法进行 线速度的处理。为了实现线速度的处理,并且实现灵活的编程,需要针对每个用户或服务构 成虚拟环境。S卩,第一,在从用户或服务请求加载程序时,需要设定为在不停止网络的动作,并 且不会由于动作延迟等导致数据包损失地,在属于该用户或服务应该所属的虚拟环境的处 理器中执行该程序(即,加载程序)。第二,在从用户或服务请求卸载程序时,需要不停止网络的动作或者不产生由于 延迟引起的数据包损失地,把被加载在属于该用户或服务应该所属的虚拟环境的处理器中 的程序删除(即卸载程序)。第三,在被加载了程序的、对每个虚拟环境分配的处理器中,需要不通过软件进行 任务切换地执行程序。第四,在输入了属于该用户或服务的数据包时,需要求出该用户或服务应该所属 的虚拟环境的识别符,通过线速度并且没有延迟地向分配给该虚拟环境的处理器传输该数据包。本专利技术的目的在于提供一种网络节点装置以及方法,能够解决上述的4个课题, 构筑对于每个用户或服务不同的虚拟环境,并且高速地进行数据流处理。本申请公开的具有代表性的专利技术是与网络连接的数据包处理装置,其中,所述数 据包处理装置具备多个处理器核心、与所述多个处理器核心连接的存储器,当接收到程序 的加载请求时,从所述多个处理器核心中选择还没有加载程序的处理器核心,对所述选择 的处理器核心加载所述程序,保存使通过所述加载请求指定的属性信息和加载了所述程序 的处理器核心相对应的第一对应信息,当接收到数据包时,确定与所述接收到的数据包对 应的属性信息,将所述接收到的数据包传输给与所述确定的属性信息对应的处理器核心。根据本专利技术的一个实施方式,针对每个用户或服务构筑了虚拟环境,将用户的数 据包高速地传输给该用户的程序运行的处理器核心。因此,实现线速度的处理,并且实现灵 活的编程。附图说明图1是表示本专利技术的第一实施方式的数据包处理装置的全体结构的方框图。图2是表示本专利技术的第一实施方式的网络处理单元的结构的方框图。图3是表示本专利技术第一实施方式的网络处理单元的结构的另一例的方框图。图4是本文档来自技高网
...

【技术保护点】
一种数据包处理装置,其与网络连接,其特征在于,所述数据包处理装置具备多个处理器核心以及与所述多个处理器核心连接的存储器,当接收到程序的加载请求时,选择所述多个处理器核心中的还没有加载程序的处理器核心,对所述选择的处理器核心加载所述程序,保存使通过所述加载请求指定的属性信息和加载了所述程序的处理器核心相对应的第一对应信息,当接收到数据包时,确定与所述接收到的数据包对应的属性信息,将所述接收到的数据包传输给与所述确定的属性信息对应的处理器核心。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:金田泰
申请(专利权)人:株式会社日立制作所
类型:发明
国别省市:JP[日本]

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

1