CN106209680B - 信息处理装置以及信息处理方法 - Google Patents
信息处理装置以及信息处理方法 Download PDFInfo
- Publication number
- CN106209680B CN106209680B CN201510456016.8A CN201510456016A CN106209680B CN 106209680 B CN106209680 B CN 106209680B CN 201510456016 A CN201510456016 A CN 201510456016A CN 106209680 B CN106209680 B CN 106209680B
- Authority
- CN
- China
- Prior art keywords
- packet
- unit
- processing
- core
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/12—Network monitoring probes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/026—Capturing of monitoring data using flow identification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Maintenance And Management Of Digital Transmission (AREA)
Abstract
本发明涉及信息处理装置以及方法,以在向多个核分配接收信息包而进行处理的情况下,缩短存储器上的共有区域被锁定的时间为课题。在将所接收到的信息包的解析分配给多个核的信息处理装置中,判定各个核是否适合作为解析所分配了的信息包的核,在判定为不适合的情况下,在共用存储器中记录用于将该信息包的解析委托给其他核的委托信息。
Description
技术领域
本公开涉及用于向多个核分配接收信息包而进行处理的技术。
背景技术
以往,作为多个独立的网络服务处理器,提出了根据工作的标签来动态地调度由处理器并行地执行的工作,以便对工作的执行进行排序并且进行同步化的网络服务处理器(参照专利文献1)。
另外,提出了为了由多个核处理多个连接(Connection)而改写端口号的技术(参照专利文献2)。
现有技术文献
专利文献
专利文献1:日本特表2008-512950号公报
专利文献2:美国专利申请公开第2010/0322252号说明书
发明内容
发明要解决的技术问题
以往,存在在网络装置中搭载多核CPU,将所接收到的信息包分配给各个核而进行处理,由此分散处理负荷而使处理高速化的技术。但是,即使是属于相同会话的信息包,也可能产生被分配给与以前不同的核的情况。例如,即使是属于相同会话(用于进行一件事情的由多个连接构成的连接群)的通信,也有时包括发送方/目的地IP地址、协议、发送方/目的地端口号(所谓5-tuple)不同的连接,在这种情况下,进行向各个核的分配的单元有时无法识别信息包所属的会话,将信息包分配给与以前不同的核。在这种情况下,接受了分配的核不具有以前解析与该会话关联的连接时的信息,所以需要从其他核所管理的存储器区域、或者在核之间共同管理的存储器区域获得信息。在这种情况下,需要针对该存储器区域进行与其他核的排他控制,处理速度能够降低。
本公开鉴于上述的问题,以在向多个核分配接收信息包而进行处理的情况下,缩短存储器上的共有区域被锁定的时间作为课题。
解决技术问题的技术手段
本公开的一个例子涉及一种信息处理装置,具有:能够进行并行动作的多个处理单元、被该多个处理单元共有的存储器、以及根据所接收到的信息包中包括的信息来将该信息包的解析分配给某一个处理单元的分配单元,所述信息处理装置的特征在于,所述多个处理单元的各个处理单元具备:管理信息记录单元,在所述存储器中,记录能够把握通信连接、与负责该通信连接所涉及的信息包的解析的处理单元的关系的管理信息;判定单元,通过参照所述管理信息,判定本处理单元是否适合作为解析通过所述分配单元分配了的信息包的处理单元;解析单元,在本处理单元被判断为适合作为解析通过所述分配单元分配了的信息包的处理单元的情况下,解析该信息包;委托信息记录单元,在本处理单元被判定为不适合作为解析通过所述分配单元分配了的信息包的处理单元的情况下,将用于向其他处理单元委托该信息包的解析的委托信息记录到所述存储器中;以及确定单元,通过参照所述存储器,确定给本处理单元的委托信息所涉及的信息包,所述解析单元还解析通过所述确定单元来确定了的信息包。
本公开能够作为信息处理装置、系统、通过计算机来执行的方法或者使计算机执行的程序来把握。另外,本公开也能够将这样的程序作为在计算机等其他装置、设备等可读的记录介质中记录了的程序来把握。在这里,计算机等可读的记录介质是指:能够通过电、磁、光学、机械或者化学作用来累积数据、程序等信息并且从计算机等读取的记录介质。
发明效果
根据本公开,在向多个核分配接收信息包而进行处理的情况下,能够缩短存储器上的共有区域被锁定的时间。
附图说明
图1是示出实施方式的系统的结构的概略图。
图2是示出实施方式的网络监视装置的硬件结构的图。
图3是示出实施方式的网络监视装置的功能结构的概略的图。
图4是示出实施方式的主处理的流程的概要的流程图。
图5是示出实施方式的接收信息包处理的流程的概要的流程图。
图6是示出实施方式的变更信息包处理的流程的概要的流程图。
图7是示出在实施方式中通过核1确立FTP的控制连接的情形的图。
图8是示出在实施方式中通过控制连接来实施数据连接信息的协商的情形的图。
图9是示出在实施方式中在数据连接的确立处理被分配给核2的情况下变更负责核的情形的图。
图10是示出实施方式的系统的结构的变形的概略图。
符号说明
1 系统
20 网络监视装置
90 节点
具体实施方式
下面,根据附图来说明本公开的信息处理装置、方法以及程序的实施方式。但是,下面说明的实施方式是例示实施方式,并非将本公开的信息处理装置、方法以及程序限定于下面说明的具体结构。在实施时,可以适当采用与实施的形式相应的具体结构,另外,也可以进行各种改进、变形。
在本实施方式中,说明当在用于监视网络的系统中实施了本公开的信息处理装置、方法以及程序的情况下的实施方式。但是,本公开的信息处理装置、方法以及程序能够针对用于向多个核分配接收信息包而进行处理的技术广泛地使用,本公开的应用对象不限定于本实施方式中示出的例子。
<系统的结构>
图1是示出本实施方式的系统1的结构的概略图。本实施方式的系统1具备连接多个信息处理终端90(下面,称为“节点90”)的网络段2、以及用于监视节点90所涉及的通信的网络监视装置20。另外,网络段2内的节点90能够经由路由器10,与经由因特网、广域网而在远程位置处被连接了的各种服务器进行通信。在本实施方式中,网络监视装置20被连接在网络段2的开关或者路由器(在图1所示的例子中,为路由器10)、与位于其上一级的其他开关或者路由器之间,由此获取通过的信息包、帧等。在这种情况下,网络监视装置20在针对所获取到的信息包中的、不切断也行的信息包进行转送的内联模式下进行动作。
图2是示出本实施方式的网络监视装置20的硬件结构的图。此外,在图2中,关于网络监视装置20以外的结构(路由器10、节点90等),省略了图示。网络监视装置20是具备CPU(Central Processing Unit,中央处理单元)11、RAM(Random Access Memory,随机存取存储器)13、ROM(Read Only Memory,只读存储器)12、EEPROM(Electrically Erasable andProgrammable Read Only Memory,电可擦除和可编程只读存储器)、HDD(Hard DiskDrive,硬盘驱动器)等存储装置14、NIC(Network Interface Card,网络接口卡)15等通信单元等的计算机。
在这里,CPU11是具有多个核(处理单元)的多核CPU。在本实施方式中,例示2个核(核1和核2)的CPU来进行说明,但核数量不限定于本公开中的例子。另外,RAM13被这些多个核共有。因此,针对RAM13的区域中的、能够从多个核访问的区域,需要进行排他控制。
图3是示出本实施方式的网络监视装置20的功能结构的概略的图。网络监视装置20通过存储装置14中记录了的程序被读出到RAM13,并通过CPU11来执行,由此作为具备通信获取部21、分配单元22、管理信息记录部23、判定部24.1、24.2(在指某一个判定部的情况下仅记载为“判定部24”)、解析部25.1、25.2(在指某一个解析部的情况下仅记载为“解析部25”)、委托信息记录部26.1、26.2(在指某一个委托信息记录部的情况下仅记载为“委托信息记录部26”)以及确定部27.1、27.2(在指某一个确定部的情况下仅记载为“确定部27”)的信息处理装置而发挥功能。此外,在本实施方式中,网络监视装置20所具备的各功能通过作为通用处理器的CPU11来执行,但这些功能的一部分或者全部也可以通过一个或者多个专用处理器来执行。另外,这些功能的一部分或者全部也可以使用云技术等,通过在远程位置设置的装置、被分散设置了的多个装置来执行。
NIC15作为通信获取部21以及分配单元22而发挥功能。
通信获取部21获取通过与网络连接了的终端发送接收的信息包,将所获取到的信息包记录到RAM13中。此外,在本实施方式中,在成为由网络监视装置20实施的监视以及探测的对象的“终端”中,除了与网络段2连接了的节点90之外,还包括经由路由器10而与节点90进行通信的其他装置(属于其他网络的节点、外部服务器等)。
分配单元22根据所接收到的信息包中包括的信息,将接收信息包的解析分配给某一个核。分配单元22依照将包括在所接收到的信息包中的包括发送方地址、目的地地址、发送方端口号、目的地端口号以及协议编号(所谓5-tuple)中的至少某一个的信息作为种而进行散列运算得到的结果,来决定分配信息包的核。然后,分配部通过将RAM13中记录了的信息包的地址通知给某一个核来分配信息包。针对全部的信息包而应用相同算法的散列运算,所以具有相同的5-tuple的信息包被分配给相同的核。通过这样,各个核能够通过参照本核无需进行排他控制而能够访问的区域的解析信息表格,来解析属于相同连接的信息包。但是,作为分配方法而使用将5-tuple作为种的散列运算是一个例子,作为在分配中使用的算法,也可以采用其他算法。
管理信息记录部23在RAM13中,将能够把握通信连接与负责该通信连接所涉及的信息包的解析的核的关系的管理信息(连接信息)记录到连接信息管理队列中,由此管理连接信息。在本实施方式中,作为连接信息,与负责属于该连接的信息包的解析的核的核ID关联起来地,管理该连接的发送方地址、目的地地址、发送方端口号、目的地端口号以及协议编号。此外,连接信息管理队列是能够从多个核访问的核间共同区域,所以在核之间需要进行排他控制。
能够进行并行动作的多个核的各个核通过执行RAM13中展开了的程序,作为判定部24、解析部25、委托信息记录部26以及确定部27而发挥功能。并且,在本实施方式中,通过多个核同时进行动作,来并行地处理多个信息包。不论其他核的状态如何,各个核每当接收到属于本核所负责的连接的信息包时,接受由分配单元22实施的分配而解析信息包。
判定部24通过参照连接信息,判定本核是否适合作为解析通过分配单元22分配了的信息包的核。具体地说,在该信息包是(1)属于地址变换后的连接的信息包、(2)属于具有母子关系的连接的信息包、以及(3)ICMP的错误信息包中的某一个的情况下,判定部24将该信息包判定为是应该变更处理负责核的信息包。
(1)属于地址变换后的连接的信息包
在处理地址变换(在由网络监视装置20接收、发送IP地址或者端口号时需要更换的连接)的连接中,由本装置进行了地址变换的连接的返回信息包在5-tuple核分配方式中,可以分配给与处理了地址变换前的连接的核不同的核。因此,在虽然是属于其他核所负责的连接的信息包,但由于地址变换而发送方/目的地IP地址以及发送方/目的地端口号中的某一个发生了变更,结果该信息包被分配给不同的核的情况下,进行负责核的变更,以便能够通过相同的核来处理地址变换前与变换后的连接。即,判定部24参照连接信息管理队列,在记录有表示在成为地址变换的对象之前由其他核负责了该连接的信息包解析的连接信息的情况下,判定为本核不适合作为解析信息包的核。
(2)属于具有母子关系的连接的信息包
在存在如FTP的控制连接(母)与FTP的数据连接(子)那样的具有母子关系的多个连接的情况下,进行核变更,以便能够通过相同的核来处理这些多个连接所涉及的信息包。当开始文件转送时,由于实际的数据通信是与控制连接独立的连接,所以至少5-tuple中的端口号为另外的编号,被分配给另外的核。在是属于与其他核所负责的连接存在母子关系的连接的信息包的情况下,子连接进行向正处理母连接的核的变更。即,判定部24参照连接信息管理队列,在记录有表示由其他核负责了与信息包所属的连接关联(例如,存在母子关系的)其他连接的信息包解析的连接信息的情况下,判定为本核不适合作为解析信息包的核。
(3)ICMP的错误信息包
关于ICMP的错误信息包(响应信息包时),向处理了信息包中包括的原始信息包(请求信息包时)的假想ICMP连接的核变更。即,判定部24参照连接信息管理队列,在记录有表示信息包包含以前发送接收了的信息包并且由其他核负责了所包含有的信息包的解析的连接信息的情况下,判定为本核不适合作为解析信息包的核。
另外,判定部24通过在核变更对象信息包队列中排列被判定为应该变更处理负责核的信息包的地址(RAM13中的地址),对委托信息记录部26委托信息包的处理负责核的变更。在这里,核变更对象信息包队列是仅能够从执行该判定部24的核访问的核内区域,所以不需要进行核之间的排他控制。
解析部25在本核被判断为适合作为解析通过分配单元22分配了的信息包的核的情况下,解析该信息包。另外,解析部25解析作为从其他核给本核发出了的变更委托所涉及的信息包的、通过后述的确定部27来确定了的信息包。解析部25参照解析信息表格,同时进行信息包的解析,另外,关于解析的结果,也记录到解析信息表格中。在这里,解析信息表格是仅能够从执行该解析部25的核访问的核内区域,所以不需要进行核之间的排他控制。
在本实施方式中,通过分配单元22来向解析了相同连接的以前的信息包的核分配信息包,另外,在由分配单元22实施的分配有误的情况下,也通过判定部24以及委托信息记录部26等来将处理负责变更成适合的核,所以解析部25无需参照其他核的解析信息表格,能够参照仅能够从执行该解析部25的核访问的解析信息表格,进行信息包的解析。
委托信息记录部26在本核被判定为不适合作为解析通过分配单元22分配了的信息包的核的情况下,将用于将该信息包的解析委托给其他核的委托信息(变更委托以及信息包的地址)记录到在RAM13上准备了的队列中。具体地说,委托信息记录部26通过参照连接信息,确定适合于解析信息包的其他核(变更目标核),在由变更目标核参照的核变更信息包队列(与核变更对象信息包队列不同)中排列信息包的地址,在由变更目标核参照的任务队列中排列变更委托。此外,核变更信息包队列是能够从多个核访问的核间共同区域,所以在核之间需要进行排他控制。
确定部27通过参照RAM13上的核变更信息包队列,确定给本核的变更委托所涉及的信息包。
<处理的流程>
接着,使用流程图,说明通过本实施方式的系统1来执行的处理的流程。此外,下面说明的流程图所示的处理的具体内容以及处理顺序是用于实施本公开的一个例子。具体的处理内容以及处理顺序也可以根据本公开的实施方式而适当选择。
图4是示出在本实施方式中针对每个核执行的主处理的流程的概要的流程图。本流程图所示的处理在网络监视装置20起动后,通过各个核来反复执行。
在步骤S101以及步骤S102中,在有发送信息包的情况下,进行信息包的发送处理。执行主处理的核确认RAM13上的发送信息包队列(省略图示),当在此处排列有发送信息包的情况下(步骤S101),将该发送信息包经由NIC15送出到网络(步骤S102)。其后,处理前进到步骤S103。
在步骤S103以及步骤S104中,在有接收信息包的情况下,进行接收信息包处理。执行主处理的核确认RAM13上的接收信息包队列,当在此处排列有接收信息包的情况下(步骤S103),解析该接收信息包(步骤S104)。关于接收信息包处理的详细情况,将使用图5在后面叙述。其后,处理前进到步骤S105。
在步骤S105以及步骤S106中,在有该核应该处理的任务的情况下,处理任务。执行主处理的核确认本核的任务队列,当在此处排列有任务的情况下(步骤S105),处理该任务(步骤S106)。此外,在本实施方式中,说明当在任务队列中排列有由其他核发出了的信息包处理负责核的变更委托的情况下,进行变更委托所涉及的接收信息包处理。关于从其他核委托并进行的接收信息包处理的详细情况,将使用图6在后面叙述。其后,处理前进到步骤S107。
在步骤S107以及步骤S108中,在有被定时器设定了的处理的情况下,执行该处理。执行主处理的核确认当前时刻,在有被定时器设定了的任务的情况下(步骤S107),处理该任务(步骤S108)。其后,处理回到步骤S101。即,在网络监视装置20起动的期间,反复执行本流程图所示的处理。
图5是示出在本实施方式中针对每个核执行的接收信息包处理的流程的概要的流程图。如上所述,针对每个核准备了判定部24、解析部25以及委托信息记录部26,每当接收信息包被分配给核时,通过接受了分配的核来执行本实施方式的接收信息包处理(图4的步骤S104)。即,在本实施方式中,每当接收到信息包时,调用某一个核的判定部24等,由此通过多个核来同时处理多个信息包。
在从步骤S201到步骤S203中,参照接收信息包,判定是否是本核所负责的连接的信息包、以及、是否是需要核变更的信息包。判定部24通过参照从分配部通知了的RAM13上的地址,来参照被分配给本核的信息包(步骤S201)。然后,判定部24从连接信息管理队列检索出记录有与信息包中的发送方/目的地IP地址、发送方/目的地端口号以及协议编号相同的信息的连接信息(步骤S202)。在所检索出的连接信息中记录了的负责核ID是本核的ID的情况下,被分配了的信息包被判定为本核所负责的连接的信息包,处理前进到步骤S207。
另一方面,在未检索出对应的连接信息、或者所检索出的连接信息中所记录的负责核ID是其他核的ID的情况下,判定部24判定该信息包是否是应该变更处理负责核的信息包(步骤S203)。此外,在本实施方式中,分配单元22根据5-tuple来决定作为分配目标的核,所以通常不会出现所检索出的连接信息中记录了的负责核ID是其他核的ID这样的状态。另外,关于在判定是否是应该变更处理负责核的信息包时的具体判定基准,按照在判定部24的说明中已叙述的那样。在该信息包被判定为应该变更处理负责核的信息包的情况下,处理前进到步骤S204。另一方面,在该信息包没有被判定为应该变更处理负责核的信息包的情况下,处理前进到步骤S206。
在步骤S204以及步骤S205中,进行接收信息包的处理负责核的变更委托。判定部24在核变更对象信息包队列(与核变更信息包队列不同)中排列被判定为应该变更处理负责核的信息包的地址(RAM13中的地址),由此对委托信息记录部26委托信息包的处理负责核的变更(步骤S204)。
委托信息记录部26当在核变更对象信息包队列中排列有信息包的地址的情况下,通过参照连接信息,确定适合于解析信息包的其他核(变更目标核),在由变更目标核参照的核变更信息包队列中排列信息包的地址,在由变更目标核参照的任务队列中排列变更委托(步骤S205)。即,在本实施方式的网络监视装置20中,在找出过去解析了该通信的核(步骤S202以及步骤S203)并且存在的情况下,变更担负接收信息包处理的核(步骤S204以及步骤S205),能够通过过去进行了解析的核来实施解析。
在步骤S206中,开始作为新连接的管理。管理信息记录部23将未检索出对应的连接信息(步骤S202的“否”)并且也未发现成为处理负责的变更目标的核(步骤S203的“否”)的信息包,判断为新连接所涉及的信息包,在连接信息管理队列中登记新连接信息。其后,处理前进到步骤S207。
在步骤S207中,解析信息包。解析部25通过参照从分配部通知了的RAM13上的地址,来参照被分配给本核的信息包、以及仅本核访问的解析信息表格,进行信息包的解析。具体地说,也可以通过预先定义了的协议的数据模型、与已知的攻击模型的比较等来进行解析。但是,解析的具体的内容以及方法不限定于本公开中的例示。另外,解析部25依照作为解析的结果得到的信息,更新解析信息表格。其后,处理前进到步骤S208。
在步骤S208中,更新连接信息管理队列。如果信息包的解析结束,则管理信息记录部23依照作为解析的结果得到的信息,更新连接信息管理队列中的、该信息包所属的连接的连接信息。其后,处理前进到步骤S209。
在步骤S209中,进行信息包的发送委托。解析部25通过在发送队列中排列解析的结束了的信息包的RAM13上的地址,进行信息包的发送委托。在发送队列中排列了的信息包通过上述的步骤S101以及步骤S102的处理(参照图4)而被送出到网络。其后,结束本流程图所示的处理。
图6是示出在本实施方式中针对每个核执行的变更信息包处理的流程的概要的流程图。本流程图所示的处理是以在主处理的步骤S105中确认了在接收信息包处理的步骤S205中在任务队列中排列了的变更委托作为契机来执行的。即,本流程图是对图4的步骤S106所示的处理进行详细说明的流程图。
在步骤S301中,参照变更信息包,获取对应的连接信息。确定部27如果确认到在任务队列中排列了的变更委托,则通过参照被分派给本核的核变更信息包队列中排列的RAM13上的地址,确定变更委托到本核的信息包(步骤S301)。然后,判定部24从连接信息管理队列检索出记录有与信息包中的发送方/目的地IP地址、发送方/目的地端口号以及协议编号相同的信息的连接信息(步骤S302)。其后,处理前进到步骤S303。
在步骤S303中,解析信息包。解析部25通过参照在步骤S302中获取到的RAM13上的地址,来参照被分配给本核的信息包、以及仅本核访问的解析信息表格,进行信息包的解析。关于具体的解析的方法等,与在步骤S207中说明了的内容相同,所以省略说明。其后,处理前进到步骤S304。
在步骤S304以及步骤S305中,更新连接信息管理队列,并进行信息包的发送委托。关于具体的更新以及发送委托的处理内容,与在步骤S208以及步骤S209中说明了的内容相同,所以省略说明。其后,结束本流程图所示的处理。
<实施例1:进行FTP处理的连接>
在这里,参照图7到图9,说明在通过本实施方式的网络监视装置20处理用于FTP的连接的情况下的实施例。
图7是示出在本实施方式中确立FTP的控制连接的情形的图。首先,如果通过通信获取部21获取到从FTP客户端到FTP服务器(端口:20)的FTP连接信息包,则分配单元22根据5-tuple而向某一个核(在图7所示的例子中是核1)分配信息包。然后,判定部24.1参照连接信息管理队列(需要排他控制),确认是否需要核变更。在这里,由于不需要核变更,所以处理被转送到解析部25.1。信息包在通过解析部25.1解析之后,被发送到FTP服务器。在这里,在连接信息管理队列中制作该连接所涉及的连接信息。其后,获取从FTP服务器发送了的向FTP客户端的响应信息包,但由于5-tuple相同,所以分配单元22将响应信息包分配给核1,核1进行处理。在这里,确立FTP的控制连接。
图8是示出在本实施方式中通过控制连接来实施数据连接信息(通信用的端口号)的协商的情形的图。首先,FTP服务器接受从FTP客户端发送了的文件获取委托,确立数据连接。在这里,连接信息管理队列使用5-tuple来管理连接信息,进一步地,将FTP的控制连接信息与数据连接信息关联起来,保持处理中的核编号信息等。
图9是示出在本实施方式中在将数据连接的确立处理分配给核2的情况下变更负责核的情形的图。如果从FTP服务器对FTP客户端的被指定了的端口(数据连接)发送文件的信息包,则分配单元22根据5-tuple来决定作为分配目标的核。在这里,由于图7的时间点和端口号不同,所以信息包的处理被分配给不同的核(例如,核2)。于是,判定部24.2参照连接信息管理队列(需要排他控制),判定为需要核变更,向核变更对象信息包队列排列接收信息包。然后,委托信息记录部26.2汇总所需的信息包,并排列到核1的核变更信息包队列,进一步地,向核1的任务队列排列变更委托(向核1委托核变更)。核1在任务队列中探测变更委托的存在,从核1的核变更信息包队列获取核变更信息包(需要排他控制),在通过核1进行解析后,发送到FTP客户端。
<实施例2:进行地址变换处理的连接>
接着,说明在通过本实施方式的网络监视装置20处理进行地址变换处理的连接的情况下的实施例。此外,该实施例是在网络监视装置20被包括在路由器等中并且是进行地址变换的装置的情况下的实施例。
首先,如果通过通信获取部21获取到从终端(IP地址:A)到服务器(IP地址:X)的信息包,则分配单元22根据5-tuple而向某一个核(在这里,设为核1)分配信息包。然后,判定部24.1参照连接信息管理队列(需要排他控制),确认是否需要核变更。在这里,由于不需要核变更,所以处理被转送到解析部25.1。信息包在通过解析部25.1解析之后,进行地址变换(将服务器的地址从X变换到Y),并被发送到服务器。在这里,连接信息管理队列使用5-tuple来管理连接信息,进一步地,将地址变换前后的连接信息关联起来,保持处理中的核编号信息等。
其后,如果获取到从服务器(IP地址:Y)发送到终端(IP地址:A)的信息包,则分配单元22根据5-tuple来决定分配目标的核。在这里,由于服务器的地址与上次的信息包不同,所以信息包的处理被分配给不同的核(例如,核2)。于是,判定部24.2参照连接信息管理队列(需要排他控制),判定为需要核变更,向核变更对象信息包队列排列接收信息包。然后,委托信息记录部26.2汇总所需的信息包,并排列到核1的核变更信息包队列,进一步地,向核1的任务队列排列变更委托(向核1委托核变更)。核1在任务队列中探测变更委托的存在,从核1的核变更信息包队列获取核变更信息包(需要排他控制),在通过核1进行解析后,进行地址变换(从服务器的地址Y变换到X),并发送到终端。
<变形>
在上述实施方式中,说明了网络监视装置20被连接于开关或者路由器、与位于其上一级的其他开关或者路由器之间,由此获取通过节点90发送接收的信息包、帧等,并且在针对不切断也行的信息包进行转送的内联模式下进行动作的例子(参照图1)。但是,上述实施方式所示的网络结构是用于实施本公开的一个例子,也可以在实施时采用其他网络结构。
例如,网络监视装置20也可以通过与开关或者路由器(在图1所示的例子中,为路由器10)的监控端口(镜像端口)连接,获取通过节点90发送接收的信息包、帧等(参照图10)。在这种情况下,网络监视装置20在不转送所获取到的信息包的被动模式下进行动作。另外,例如,网络监视装置20在不与监控端口(镜像端口)连接而仅与网络段2连接的情况下,通过还包括不是发给自身的MAC地址的帧地全部获取流过网络段2的帧,也能够获取通过节点90发送接收的信息包、帧等。在这种情况下,网络监视装置20也在被动模式下进行动作。另外,例如,网络监视装置20也可以包括在路由器或者开关中。
<效果>
根据本实施方式的信息处理装置、方法以及程序,在向多个核分配接收信息包而进行处理的情况下,能够缩短存储器上的共有区域被锁定的时间。另外,根据本实施方式的控制,各核能够具有仅本核访问的解析信息表格,所以无需对存储器上的记录有解析信息的区域进行排他控制,能够分配给各核来处理信息包。
Claims (10)
1.一种信息处理装置,其特征在于,具有:能够进行并行动作的多个处理单元、被该多个处理单元共有并记录有能够把握通信连接与负责该通信连接所涉及的信息包的解析的处理单元的关系的管理信息的存储器、以及根据所接收到的信息包中包括的信息来将该信息包的解析分配给某一个处理单元的分配单元,所述分配单元与所述处理单元不同,
所述多个处理单元的各个处理单元具备:
判定单元,通过参照所述管理信息,判定本处理单元是否适合作为解析通过所述分配单元已分配的信息包的处理单元;
解析单元,在本处理单元被判断为适合作为解析通过所述分配单元已分配的信息包的处理单元的情况下,解析该信息包;
委托信息记录单元,在本处理单元被判定为不适合作为解析通过所述分配单元已分配的信息包的处理单元的情况下,不论由所述分配单元实施的分配结果如何,将用于向其他处理单元委托该信息包的解析的委托信息记录到所述存储器中;以及
确定单元,通过参照所述存储器,确定给本处理单元的委托信息所涉及的信息包,
所述解析单元还解析通过所述确定单元确定的信息包。
2.根据权利要求1所述的信息处理装置,其特征在于,
所述判定单元在记录有表示由其他处理单元负责与通过所述分配单元分配了的信息包所属的连接关联的其他连接的信息包解析的管理信息的情况下,判定为本处理单元不适合作为解析所述信息包的处理单元。
3.根据权利要求2所述的信息处理装置,其特征在于,
所述判定单元在记录有表示由其他处理单元负责与通过所述分配单元分配的信息包所属的连接存在母子关系的其他连接的信息包解析的管理信息的情况下,判定为本处理单元不适合作为解析所述信息包的处理单元。
4.根据权利要求1所述的信息处理装置,其特征在于,
所述判定单元在记录有表示在通过所述分配单元分配的信息包所属的连接成为地址变换的对象之前由其他处理单元负责了该连接的信息包解析的管理信息的情况下,判定为本处理单元不适合作为解析所述信息包的处理单元。
5.根据权利要求1所述的信息处理装置,其特征在于,
所述判定单元在记录有表示通过所述分配单元分配的信息包包含以前发送接收了的信息包、并且由其他处理单元负责了所包含的信息包的解析的管理信息的情况下,判定为本处理单元不适合作为解析所述信息包的处理单元。
6.根据权利要求1所述的信息处理装置,其特征在于,
所述委托信息记录单元在所述存储器上准备了的队列中记录所述委托信息。
7.根据权利要求6所述的信息处理装置,其特征在于,
所述委托信息记录单元在由通过参照所述管理信息而确定的、适合于解析所述信息包的其他处理单元参照的队列中,记录所述委托信息。
8.根据权利要求1所述的信息处理装置,其特征在于,
所述分配单元依照对包括在所接收到的信息包中的包括发送方地址、目的地地址、发送方端口号、目的地端口号以及协议编号中的至少某一个的信息进行散列运算而得到的结果,来决定分配所述信息包的处理单元。
9.根据权利要求1至8中的任一项所述的信息处理装置,其特征在于,还具备:
通信获取单元,获取利用与网络连接了的终端的通信。
10.一种信息处理方法,其特征在于,
在具有能够进行并行动作的多个处理单元、被该多个处理单元共有并记录有能够把握通信连接与负责该通信连接所涉及的信息包的解析的处理单元的关系的管理信息的存储器、以及根据所接收到的信息包中包括的信息来将该信息包的解析分配给某一个处理单元的分配单元的信息处理装置中,所述分配单元与所述处理单元不同,所述多个处理单元的各个处理单元执行:
判定步骤,通过参照所述管理信息,判定本处理单元是否适合作为解析通过所述分配单元已分配了的信息包的处理单元;
解析步骤,在本处理单元被判断为适合作为解析通过所述分配单元已分配了的信息包的处理单元的情况下,解析该信息包;
委托信息记录步骤,在本处理单元被判定为不适合作为解析通过所述分配单元已分配了的信息包的处理单元的情况下,不论所述分配单元的分配结果如何,将用于向其他处理单元委托该信息包的解析的委托信息记录到所述存储器中;以及
确定步骤,通过参照所述存储器,确定给本处理单元的委托信息所涉及的信息包,
在所述解析步骤中,还解析在所述确定步骤中确定了的信息包。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014265805A JP5917678B1 (ja) | 2014-12-26 | 2014-12-26 | 情報処理装置、方法およびプログラム |
JP2014-265805 | 2014-12-26 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106209680A CN106209680A (zh) | 2016-12-07 |
CN106209680B true CN106209680B (zh) | 2019-12-13 |
Family
ID=55974010
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510456016.8A Expired - Fee Related CN106209680B (zh) | 2014-12-26 | 2015-07-29 | 信息处理装置以及信息处理方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9847927B2 (zh) |
JP (1) | JP5917678B1 (zh) |
CN (1) | CN106209680B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016162266A (ja) * | 2015-03-03 | 2016-09-05 | 富士通株式会社 | 通信装置及びそのプロセッサ割当方法 |
US10554554B2 (en) | 2016-12-06 | 2020-02-04 | Microsoft Technology Licensing, Llc | Hybrid network processing load distribution in computing systems |
US10715424B2 (en) * | 2016-12-06 | 2020-07-14 | Microsoft Technology Licensing, Llc | Network traffic management with queues affinitized to one or more cores |
US10826841B2 (en) * | 2016-12-06 | 2020-11-03 | Microsoft Technology Licensing, Llc | Modification of queue affinity to cores based on utilization |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101577705A (zh) * | 2008-05-08 | 2009-11-11 | 北京东华合创数码科技股份有限公司 | 一种多核并行的网络业务流负载均衡方法及其系统 |
CN101610209A (zh) * | 2008-11-28 | 2009-12-23 | 北京网康科技有限公司 | 一种多核并行的网络业务流处理方法及设备 |
CN101730885A (zh) * | 2007-06-28 | 2010-06-09 | 英特尔公司 | 用于多线程和多核心系统的高速缓存及其方法 |
CN103957154A (zh) * | 2014-04-11 | 2014-07-30 | 国家计算机网络与信息安全管理中心 | 网络数据包url过滤方法 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6831893B1 (en) * | 2000-04-03 | 2004-12-14 | P-Cube, Ltd. | Apparatus and method for wire-speed classification and pre-processing of data packets in a full duplex network |
US20060059221A1 (en) | 2004-09-10 | 2006-03-16 | Cavium Networks | Multiply instructions for modular exponentiation |
US8560475B2 (en) | 2004-09-10 | 2013-10-15 | Cavium, Inc. | Content search mechanism that uses a deterministic finite automata (DFA) graph, a DFA state machine, and a walker process |
US7613813B2 (en) | 2004-09-10 | 2009-11-03 | Cavium Networks, Inc. | Method and apparatus for reducing host overhead in a socket server implementation |
US7594081B2 (en) | 2004-09-10 | 2009-09-22 | Cavium Networks, Inc. | Direct access to low-latency memory |
DK1794979T3 (en) | 2004-09-10 | 2017-07-24 | Cavium Inc | Selective copying of data structure |
US8301788B2 (en) | 2004-09-10 | 2012-10-30 | Cavium, Inc. | Deterministic finite automata (DFA) instruction |
US7606998B2 (en) | 2004-09-10 | 2009-10-20 | Cavium Networks, Inc. | Store instruction ordering for multi-core processor |
US7941585B2 (en) | 2004-09-10 | 2011-05-10 | Cavium Networks, Inc. | Local scratchpad and data caching system |
US7895431B2 (en) * | 2004-09-10 | 2011-02-22 | Cavium Networks, Inc. | Packet queuing, scheduling and ordering |
US8392590B2 (en) | 2004-09-10 | 2013-03-05 | Cavium, Inc. | Deterministic finite automata (DFA) processing |
JP4068106B2 (ja) * | 2005-08-05 | 2008-03-26 | 三菱電機株式会社 | リアルタイム組込み簡易モニタプログラム |
US8321614B2 (en) * | 2009-04-24 | 2012-11-27 | Empire Technology Development Llc | Dynamic scheduling interrupt controller for multiprocessors |
US8811223B2 (en) * | 2009-06-22 | 2014-08-19 | Citrix Systems, Inc. | Systems and methods for distributing crypto cards to multiple cores |
US8289975B2 (en) | 2009-06-22 | 2012-10-16 | Citrix Systems, Inc. | Systems and methods for handling a multi-connection protocol between a client and server traversing a multi-core system |
JPWO2011096307A1 (ja) * | 2010-02-03 | 2013-06-10 | 日本電気株式会社 | プロキシ装置とその動作方法 |
JP5900352B2 (ja) * | 2011-02-04 | 2016-04-06 | 日本電気株式会社 | パケット処理装置、パケット処理方法およびプログラム |
JP5672504B2 (ja) * | 2012-02-28 | 2015-02-18 | 日本電信電話株式会社 | 振分先を切り替える並列パケット処理方法および装置 |
JP2014175781A (ja) * | 2013-03-07 | 2014-09-22 | Hitachi High-Technologies Corp | 並列パケット処理装置、方法およびプログラム |
-
2014
- 2014-12-26 JP JP2014265805A patent/JP5917678B1/ja active Active
-
2015
- 2015-04-10 US US14/683,411 patent/US9847927B2/en active Active
- 2015-07-29 CN CN201510456016.8A patent/CN106209680B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101730885A (zh) * | 2007-06-28 | 2010-06-09 | 英特尔公司 | 用于多线程和多核心系统的高速缓存及其方法 |
CN101577705A (zh) * | 2008-05-08 | 2009-11-11 | 北京东华合创数码科技股份有限公司 | 一种多核并行的网络业务流负载均衡方法及其系统 |
CN101610209A (zh) * | 2008-11-28 | 2009-12-23 | 北京网康科技有限公司 | 一种多核并行的网络业务流处理方法及设备 |
CN103957154A (zh) * | 2014-04-11 | 2014-07-30 | 国家计算机网络与信息安全管理中心 | 网络数据包url过滤方法 |
Also Published As
Publication number | Publication date |
---|---|
US20160191368A1 (en) | 2016-06-30 |
JP5917678B1 (ja) | 2016-05-18 |
US9847927B2 (en) | 2017-12-19 |
CN106209680A (zh) | 2016-12-07 |
JP2016127393A (ja) | 2016-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101583325B1 (ko) | 가상 패킷을 처리하는 네트워크 인터페이스 장치 및 그 방법 | |
CN106209680B (zh) | 信息处理装置以及信息处理方法 | |
US20140067914A1 (en) | Computer system and packet transfer method | |
US9197566B2 (en) | Information processing method, recording medium, and information processing apparatus | |
EP2824872A1 (en) | Host providing system and communication control method | |
CN110609746B (zh) | 管理网络系统的方法、设备和计算机可读介质 | |
US7047292B1 (en) | Prioritizing network management traffic | |
CN111837358B (zh) | 网络中时间同步的方法及系统 | |
EP4068725A1 (en) | Load balancing method and related device | |
EP2916516A1 (en) | Packet processing method and apparatus | |
US20160028628A1 (en) | Communication system, control apparatus, address allocation method, and program | |
CN107070719B (zh) | 一种设备管理方法和装置 | |
CN109587082B (zh) | 一种基于Linux操作系统的报文异步转发系统及方法 | |
US8995269B2 (en) | Computer readable storage medium storing congestion control program, information processing apparatus, and congestion control method | |
KR101880705B1 (ko) | 인터넷을 이용하여 장치정보를 수집하는 시스템 및 그 방법 | |
EP3618407A1 (en) | Method for implementing three-layer communication | |
WO2017193814A1 (zh) | 一种业务链生成方法及系统 | |
CN113904871A (zh) | 网络切片的接入方法、pcf实体、终端和通信系统 | |
US10791088B1 (en) | Methods for disaggregating subscribers via DHCP address translation and devices thereof | |
CN112596893B (zh) | 用于多节点边缘计算设备的监控方法和系统 | |
CN106603473B (zh) | 网络安全信息的处理方法及网络安全信息的处理系统 | |
CN112291340B (zh) | 服务分配方法、控制器及虚拟网元 | |
WO2017041509A1 (zh) | 一种基于多处理单元的报文采样方法和装置 | |
CN115118473B (zh) | 数据处理方法、装置、设备及存储介质 | |
WO2024103783A1 (zh) | 动态主机配置协议测试方法、电子设备、计算机存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20191213 |
|
CF01 | Termination of patent right due to non-payment of annual fee |