本公開涉及用于向多個核分配接收信息包而進行處理的技術。
背景技術:
以往,作為多個獨立的網(wǎng)絡服務處理器,提出了根據(jù)工作的標簽來動態(tài)地調(diào)度由處理器并行地執(zhí)行的工作,以便對工作的執(zhí)行進行排序并且進行同步化的網(wǎng)絡服務處理器(參照專利文獻1)。
另外,提出了為了由多個核處理多個連接(Connection)而改寫端口號的技術(參照專利文獻2)。
現(xiàn)有技術文獻
專利文獻
專利文獻1:日本特表2008-512950號公報
專利文獻2:美國專利申請公開第2010/0322252號說明書
技術實現(xiàn)要素:
發(fā)明要解決的技術問題
以往,存在在網(wǎng)絡裝置中搭載多核CPU,將所接收到的信息包分配給各個核而進行處理,由此分散處理負荷而使處理高速化的技術。但是,即使是屬于相同會話的信息包,也可能產(chǎn)生被分配給與以前不同的核的情況。例如,即使是屬于相同會話(用于進行一件事情的由多個連接構成的連接群)的通信,也有時包括發(fā)送方/目的地IP地址、協(xié)議、發(fā)送方/目的地端口號(所謂5-tuple)不同的連接,在這種情況下,進行向各個核的 分配的單元有時無法識別信息包所屬的會話,將信息包分配給與以前不同的核。在這種情況下,接受了分配的核不具有以前解析與該會話關聯(lián)的連接時的信息,所以需要從其他核所管理的存儲器區(qū)域、或者在核之間共同管理的存儲器區(qū)域獲得信息。在這種情況下,需要針對該存儲器區(qū)域進行與其他核的排他控制,處理速度能夠降低。
本公開鑒于上述的問題,以在向多個核分配接收信息包而進行處理的情況下,縮短存儲器上的共有區(qū)域被鎖定的時間作為課題。
解決技術問題的技術手段
本公開的一個例子涉及一種信息處理裝置,具有:能夠進行并行動作的多個處理單元、被該多個處理單元共有的存儲器、以及根據(jù)所接收到的信息包中包括的信息來將該信息包的解析分配給某一個處理單元的分配單元,所述信息處理裝置的特征在于,所述多個處理單元的各個處理單元具備:管理信息記錄單元,在所述存儲器中,記錄能夠把握通信連接、與負責該通信連接所涉及的信息包的解析的處理單元的關系的管理信息;判定單元,通過參照所述管理信息,判定本處理單元是否適合作為解析通過所述分配單元分配了的信息包的處理單元;解析單元,在本處理單元被判斷為適合作為解析通過所述分配單元分配了的信息包的處理單元的情況下,解析該信息包;委托信息記錄單元,在本處理單元被判定為不適合作為解析通過所述分配單元分配了的信息包的處理單元的情況下,將用于向其他處理單元委托該信息包的解析的委托信息記錄到所述存儲器中;以及確定單元,通過參照所述存儲器,確定給本處理單元的委托信息所涉及的信息包,所述解析單元還解析通過所述確定單元來確定了的信息包。
本公開能夠作為信息處理裝置、系統(tǒng)、通過計算機來執(zhí)行的方法或者使計算機執(zhí)行的程序來把握。另外,本公開也能夠?qū)⑦@樣的程序作為在計算機等其他裝置、設備等可讀的記錄介質(zhì)中記錄了的程序來把握。在這里,計算機等可讀的記錄介質(zhì)是指:能夠通過電、磁、光學、機械或者化學作用來累積數(shù)據(jù)、程序等信息并且從計算機等讀取的記錄介質(zhì)。
發(fā)明效果
根據(jù)本公開,在向多個核分配接收信息包而進行處理的情況下,能夠縮短存儲器上的共有區(qū)域被鎖定的時間。
附圖說明
圖1是示出實施方式的系統(tǒng)的結構的概略圖。
圖2是示出實施方式的網(wǎng)絡監(jiān)視裝置的硬件結構的圖。
圖3是示出實施方式的網(wǎng)絡監(jiān)視裝置的功能結構的概略的圖。
圖4是示出實施方式的主處理的流程的概要的流程圖。
圖5是示出實施方式的接收信息包處理的流程的概要的流程圖。
圖6是示出實施方式的變更信息包處理的流程的概要的流程圖。
圖7是示出在實施方式中通過核1確立FTP的控制連接的情形的圖。
圖8是示出在實施方式中通過控制連接來實施數(shù)據(jù)連接信息的協(xié)商的情形的圖。
圖9是示出在實施方式中在數(shù)據(jù)連接的確立處理被分配給核2的情況下變更負責核的情形的圖。
圖10是示出實施方式的系統(tǒng)的結構的變形的概略圖。
符號說明
1 系統(tǒng)
20 網(wǎng)絡監(jiān)視裝置
90 節(jié)點
具體實施方式
下面,根據(jù)附圖來說明本公開的信息處理裝置、方法以及程序的實施方式。但是,下面說明的實施方式是例示實施方式,并非將本公開的信息處理裝置、方法以及程序限定于下面說明的具體結構。在實施時,可以適當采用與實施的形式相應的具體結構,另外,也可以進行各種改進、變形。
在本實施方式中,說明當在用于監(jiān)視網(wǎng)絡的系統(tǒng)中實施了本公開的信息處理裝置、方法以及程序的情況下的實施方式。但是,本公開的信息處理裝置、方法以及程序能夠 針對用于向多個核分配接收信息包而進行處理的技術廣泛地使用,本公開的應用對象不限定于本實施方式中示出的例子。
<系統(tǒng)的結構>
圖1是示出本實施方式的系統(tǒng)1的結構的概略圖。本實施方式的系統(tǒng)1具備連接多個信息處理終端90(下面,稱為“節(jié)點90”)的網(wǎng)絡段2、以及用于監(jiān)視節(jié)點90所涉及的通信的網(wǎng)絡監(jiān)視裝置20。另外,網(wǎng)絡段2內(nèi)的節(jié)點90能夠經(jīng)由路由器10,與經(jīng)由因特網(wǎng)、廣域網(wǎng)而在遠程位置處被連接了的各種服務器進行通信。在本實施方式中,網(wǎng)絡監(jiān)視裝置20被連接在網(wǎng)絡段2的開關或者路由器(在圖1所示的例子中,為路由器10)、與位于其上一級的其他開關或者路由器之間,由此獲取通過的信息包、幀等。在這種情況下,網(wǎng)絡監(jiān)視裝置20在針對所獲取到的信息包中的、不切斷也行的信息包進行轉(zhuǎn)送的內(nèi)聯(lián)模式下進行動作。
圖2是示出本實施方式的網(wǎng)絡監(jiān)視裝置20的硬件結構的圖。此外,在圖2中,關于網(wǎng)絡監(jiān)視裝置20以外的結構(路由器10、節(jié)點90等),省略了圖示。網(wǎng)絡監(jiān)視裝置20是具備CPU(Central Processing Unit,中央處理單元)11、RAM(Random Access Memory,隨機存取存儲器)13、ROM(Read Only Memory,只讀存儲器)12、EEPROM(Electrically Erasable and Programmable Read Only Memory,電可擦除和可編程只讀存儲器)、HDD(Hard Disk Drive,硬盤驅(qū)動器)等存儲裝置14、NIC(Network Interface Card,網(wǎng)絡接口卡)15等通信單元等的計算機。
在這里,CPU11是具有多個核(處理單元)的多核CPU。在本實施方式中,例示2個核(核1和核2)的CPU來進行說明,但核數(shù)量不限定于本公開中的例子。另外,RAM13被這些多個核共有。因此,針對RAM13的區(qū)域中的、能夠從多個核訪問的區(qū)域,需要進行排他控制。
圖3是示出本實施方式的網(wǎng)絡監(jiān)視裝置20的功能結構的概略的圖。網(wǎng)絡監(jiān)視裝置20通過存儲裝置14中記錄了的程序被讀出到RAM13,并通過CPU11來執(zhí)行,由此作為具備通信獲取部21、分配單元22、管理信息記錄部23、判定部24.1、24.2(在指某一個判定部的情況下僅記載為“判定部24”)、解析部25.1、25.2(在指某一個解析部的情況 下僅記載為“解析部25”)、委托信息記錄部26.1、26.2(在指某一個委托信息記錄部的情況下僅記載為“委托信息記錄部26”)以及確定部27.1、27.2(在指某一個確定部的情況下僅記載為“確定部27”)的信息處理裝置而發(fā)揮功能。此外,在本實施方式中,網(wǎng)絡監(jiān)視裝置20所具備的各功能通過作為通用處理器的CPU11來執(zhí)行,但這些功能的一部分或者全部也可以通過一個或者多個專用處理器來執(zhí)行。另外,這些功能的一部分或者全部也可以使用云技術等,通過在遠程位置設置的裝置、被分散設置了的多個裝置來執(zhí)行。
NIC15作為通信獲取部21以及分配單元22而發(fā)揮功能。
通信獲取部21獲取通過與網(wǎng)絡連接了的終端發(fā)送接收的信息包,將所獲取到的信息包記錄到RAM13中。此外,在本實施方式中,在成為由網(wǎng)絡監(jiān)視裝置20實施的監(jiān)視以及探測的對象的“終端”中,除了與網(wǎng)絡段2連接了的節(jié)點90之外,還包括經(jīng)由路由器10而與節(jié)點90進行通信的其他裝置(屬于其他網(wǎng)絡的節(jié)點、外部服務器等)。
分配單元22根據(jù)所接收到的信息包中包括的信息,將接收信息包的解析分配給某一個核。分配單元22依照將包括在所接收到的信息包中的包括發(fā)送方地址、目的地地址、發(fā)送方端口號、目的地端口號以及協(xié)議編號(所謂5-tuple)中的至少某一個的信息作為種而進行散列運算得到的結果,來決定分配信息包的核。然后,分配部通過將RAM13中記錄了的信息包的地址通知給某一個核來分配信息包。針對全部的信息包而應用相同算法的散列運算,所以具有相同的5-tuple的信息包被分配給相同的核。通過這樣,各個核能夠通過參照本核無需進行排他控制而能夠訪問的區(qū)域的解析信息表格,來解析屬于相同連接的信息包。但是,作為分配方法而使用將5-tuple作為種的散列運算是一個例子,作為在分配中使用的算法,也可以采用其他算法。
管理信息記錄部23在RAM13中,將能夠把握通信連接與負責該通信連接所涉及的信息包的解析的核的關系的管理信息(連接信息)記錄到連接信息管理隊列中,由此管理連接信息。在本實施方式中,作為連接信息,與負責屬于該連接的信息包的解析的核的核ID關聯(lián)起來地,管理該連接的發(fā)送方地址、目的地地址、發(fā)送方端口號、目的地端 口號以及協(xié)議編號。此外,連接信息管理隊列是能夠從多個核訪問的核間共同區(qū)域,所以在核之間需要進行排他控制。
能夠進行并行動作的多個核的各個核通過執(zhí)行RAM13中展開了的程序,作為判定部24、解析部25、委托信息記錄部26以及確定部27而發(fā)揮功能。并且,在本實施方式中,通過多個核同時進行動作,來并行地處理多個信息包。不論其他核的狀態(tài)如何,各個核每當接收到屬于本核所負責的連接的信息包時,接受由分配單元22實施的分配而解析信息包。
判定部24通過參照連接信息,判定本核是否適合作為解析通過分配單元22分配了的信息包的核。具體地說,在該信息包是(1)屬于地址變換后的連接的信息包、(2)屬于具有母子關系的連接的信息包、以及(3)ICMP的錯誤信息包中的某一個的情況下,判定部24將該信息包判定為是應該變更處理負責核的信息包。
(1)屬于地址變換后的連接的信息包
在處理地址變換(在由網(wǎng)絡監(jiān)視裝置20接收、發(fā)送IP地址或者端口號時需要更換的連接)的連接中,由本裝置進行了地址變換的連接的返回信息包在5-tuple核分配方式中,可以分配給與處理了地址變換前的連接的核不同的核。因此,在雖然是屬于其他核所負責的連接的信息包,但由于地址變換而發(fā)送方/目的地IP地址以及發(fā)送方/目的地端口號中的某一個發(fā)生了變更,結果該信息包被分配給不同的核的情況下,進行負責核的變更,以便能夠通過相同的核來處理地址變換前與變換后的連接。即,判定部24參照連接信息管理隊列,在記錄有表示在成為地址變換的對象之前由其他核負責了該連接的信息包解析的連接信息的情況下,判定為本核不適合作為解析信息包的核。
(2)屬于具有母子關系的連接的信息包
在存在如FTP的控制連接(母)與FTP的數(shù)據(jù)連接(子)那樣的具有母子關系的多個連接的情況下,進行核變更,以便能夠通過相同的核來處理這些多個連接所涉及的信息包。當開始文件轉(zhuǎn)送時,由于實際的數(shù)據(jù)通信是與控制連接獨立的連接,所以至少5-tuple中的端口號為另外的編號,被分配給另外的核。在是屬于與其他核所負責的連接存在母子關系的連接的信息包的情況下,子連接進行向正處理母連接的核的變更。即,判 定部24參照連接信息管理隊列,在記錄有表示由其他核負責了與信息包所屬的連接關聯(lián)(例如,存在母子關系的)其他連接的信息包解析的連接信息的情況下,判定為本核不適合作為解析信息包的核。
(3)ICMP的錯誤信息包
關于ICMP的錯誤信息包(響應信息包時),向處理了信息包中包括的原始信息包(請求信息包時)的假想ICMP連接的核變更。即,判定部24參照連接信息管理隊列,在記錄有表示信息包包含以前發(fā)送接收了的信息包并且由其他核負責了所包含有的信息包的解析的連接信息的情況下,判定為本核不適合作為解析信息包的核。
另外,判定部24通過在核變更對象信息包隊列中排列被判定為應該變更處理負責核的信息包的地址(RAM13中的地址),對委托信息記錄部26委托信息包的處理負責核的變更。在這里,核變更對象信息包隊列是僅能夠從執(zhí)行該判定部24的核訪問的核內(nèi)區(qū)域,所以不需要進行核之間的排他控制。
解析部25在本核被判斷為適合作為解析通過分配單元22分配了的信息包的核的情況下,解析該信息包。另外,解析部25解析作為從其他核給本核發(fā)出了的變更委托所涉及的信息包的、通過后述的確定部27來確定了的信息包。解析部25參照解析信息表格,同時進行信息包的解析,另外,關于解析的結果,也記錄到解析信息表格中。在這里,解析信息表格是僅能夠從執(zhí)行該解析部25的核訪問的核內(nèi)區(qū)域,所以不需要進行核之間的排他控制。
在本實施方式中,通過分配單元22來向解析了相同連接的以前的信息包的核分配信息包,另外,在由分配單元22實施的分配有誤的情況下,也通過判定部24以及委托信息記錄部26等來將處理負責變更成適合的核,所以解析部25無需參照其他核的解析信息表格,能夠參照僅能夠從執(zhí)行該解析部25的核訪問的解析信息表格,進行信息包的解析。
委托信息記錄部26在本核被判定為不適合作為解析通過分配單元22分配了的信息包的核的情況下,將用于將該信息包的解析委托給其他核的委托信息(變更委托以及信 息包的地址)記錄到在RAM13上準備了的隊列中。具體地說,委托信息記錄部26通過參照連接信息,確定適合于解析信息包的其他核(變更目標核),在由變更目標核參照的核變更信息包隊列(與核變更對象信息包隊列不同)中排列信息包的地址,在由變更目標核參照的任務隊列中排列變更委托。此外,核變更信息包隊列是能夠從多個核訪問的核間共同區(qū)域,所以在核之間需要進行排他控制。
確定部27通過參照RAM13上的核變更信息包隊列,確定給本核的變更委托所涉及的信息包。
<處理的流程>
接著,使用流程圖,說明通過本實施方式的系統(tǒng)1來執(zhí)行的處理的流程。此外,下面說明的流程圖所示的處理的具體內(nèi)容以及處理順序是用于實施本公開的一個例子。具體的處理內(nèi)容以及處理順序也可以根據(jù)本公開的實施方式而適當選擇。
圖4是示出在本實施方式中針對每個核執(zhí)行的主處理的流程的概要的流程圖。本流程圖所示的處理在網(wǎng)絡監(jiān)視裝置20起動后,通過各個核來反復執(zhí)行。
在步驟S101以及步驟S102中,在有發(fā)送信息包的情況下,進行信息包的發(fā)送處理。執(zhí)行主處理的核確認RAM13上的發(fā)送信息包隊列(省略圖示),當在此處排列有發(fā)送信息包的情況下(步驟S101),將該發(fā)送信息包經(jīng)由NIC15送出到網(wǎng)絡(步驟S102)。其后,處理前進到步驟S103。
在步驟S103以及步驟S104中,在有接收信息包的情況下,進行接收信息包處理。執(zhí)行主處理的核確認RAM13上的接收信息包隊列,當在此處排列有接收信息包的情況下(步驟S103),解析該接收信息包(步驟S104)。關于接收信息包處理的詳細情況,將使用圖5在后面敘述。其后,處理前進到步驟S105。
在步驟S105以及步驟S106中,在有該核應該處理的任務的情況下,處理任務。執(zhí)行主處理的核確認本核的任務隊列,當在此處排列有任務的情況下(步驟S105),處理該任務(步驟S106)。此外,在本實施方式中,說明當在任務隊列中排列有由其他核發(fā) 出了的信息包處理負責核的變更委托的情況下,進行變更委托所涉及的接收信息包處理。關于從其他核委托并進行的接收信息包處理的詳細情況,將使用圖6在后面敘述。其后,處理前進到步驟S107。
在步驟S107以及步驟S108中,在有被定時器設定了的處理的情況下,執(zhí)行該處理。執(zhí)行主處理的核確認當前時刻,在有被定時器設定了的任務的情況下(步驟S107),處理該任務(步驟S108)。其后,處理回到步驟S101。即,在網(wǎng)絡監(jiān)視裝置20起動的期間,反復執(zhí)行本流程圖所示的處理。
圖5是示出在本實施方式中針對每個核執(zhí)行的接收信息包處理的流程的概要的流程圖。如上所述,針對每個核準備了判定部24、解析部25以及委托信息記錄部26,每當接收信息包被分配給核時,通過接受了分配的核來執(zhí)行本實施方式的接收信息包處理(圖4的步驟S104)。即,在本實施方式中,每當接收到信息包時,調(diào)用某一個核的判定部24等,由此通過多個核來同時處理多個信息包。
在從步驟S201到步驟S203中,參照接收信息包,判定是否是本核所負責的連接的信息包、以及、是否是需要核變更的信息包。判定部24通過參照從分配部通知了的RAM13上的地址,來參照被分配給本核的信息包(步驟S201)。然后,判定部24從連接信息管理隊列檢索出記錄有與信息包中的發(fā)送方/目的地IP地址、發(fā)送方/目的地端口號以及協(xié)議編號相同的信息的連接信息(步驟S202)。在所檢索出的連接信息中記錄了的負責核ID是本核的ID的情況下,被分配了的信息包被判定為本核所負責的連接的信息包,處理前進到步驟S207。
另一方面,在未檢索出對應的連接信息、或者所檢索出的連接信息中所記錄的負責核ID是其他核的ID的情況下,判定部24判定該信息包是否是應該變更處理負責核的信息包(步驟S203)。此外,在本實施方式中,分配單元22根據(jù)5-tuple來決定作為分配目標的核,所以通常不會出現(xiàn)所檢索出的連接信息中記錄了的負責核ID是其他核的ID這樣的狀態(tài)。另外,關于在判定是否是應該變更處理負責核的信息包時的具體判定基準,按照在判定部24的說明中已敘述的那樣。在該信息包被判定為應該變更處理負責核 的信息包的情況下,處理前進到步驟S204。另一方面,在該信息包沒有被判定為應該變更處理負責核的信息包的情況下,處理前進到步驟S206。
在步驟S204以及步驟S205中,進行接收信息包的處理負責核的變更委托。判定部24在核變更對象信息包隊列(與核變更信息包隊列不同)中排列被判定為應該變更處理負責核的信息包的地址(RAM13中的地址),由此對委托信息記錄部26委托信息包的處理負責核的變更(步驟S204)。
委托信息記錄部26當在核變更對象信息包隊列中排列有信息包的地址的情況下,通過參照連接信息,確定適合于解析信息包的其他核(變更目標核),在由變更目標核參照的核變更信息包隊列中排列信息包的地址,在由變更目標核參照的任務隊列中排列變更委托(步驟S205)。即,在本實施方式的網(wǎng)絡監(jiān)視裝置20中,在找出過去解析了該通信的核(步驟S202以及步驟S203)并且存在的情況下,變更擔負接收信息包處理的核(步驟S204以及步驟S205),能夠通過過去進行了解析的核來實施解析。
在步驟S206中,開始作為新連接的管理。管理信息記錄部23將未檢索出對應的連接信息(步驟S202的“否”)并且也未發(fā)現(xiàn)成為處理負責的變更目標的核(步驟S203的“否”)的信息包,判斷為新連接所涉及的信息包,在連接信息管理隊列中登記新連接信息。其后,處理前進到步驟S207。
在步驟S207中,解析信息包。解析部25通過參照從分配部通知了的RAM13上的地址,來參照被分配給本核的信息包、以及僅本核訪問的解析信息表格,進行信息包的解析。具體地說,也可以通過預先定義了的協(xié)議的數(shù)據(jù)模型、與已知的攻擊模型的比較等來進行解析。但是,解析的具體的內(nèi)容以及方法不限定于本公開中的例示。另外,解析部25依照作為解析的結果得到的信息,更新解析信息表格。其后,處理前進到步驟S208。
在步驟S208中,更新連接信息管理隊列。如果信息包的解析結束,則管理信息記錄部23依照作為解析的結果得到的信息,更新連接信息管理隊列中的、該信息包所屬的連接的連接信息。其后,處理前進到步驟S209。
在步驟S209中,進行信息包的發(fā)送委托。解析部25通過在發(fā)送隊列中排列解析的結束了的信息包的RAM13上的地址,進行信息包的發(fā)送委托。在發(fā)送隊列中排列了的信息包通過上述的步驟S101以及步驟S102的處理(參照圖4)而被送出到網(wǎng)絡。其后,結束本流程圖所示的處理。
圖6是示出在本實施方式中針對每個核執(zhí)行的變更信息包處理的流程的概要的流程圖。本流程圖所示的處理是以在主處理的步驟S105中確認了在接收信息包處理的步驟S205中在任務隊列中排列了的變更委托作為契機來執(zhí)行的。即,本流程圖是對圖4的步驟S106所示的處理進行詳細說明的流程圖。
在步驟S301中,參照變更信息包,獲取對應的連接信息。確定部27如果確認到在任務隊列中排列了的變更委托,則通過參照被分派給本核的核變更信息包隊列中排列的RAM13上的地址,確定變更委托到本核的信息包(步驟S301)。然后,判定部24從連接信息管理隊列檢索出記錄有與信息包中的發(fā)送方/目的地IP地址、發(fā)送方/目的地端口號以及協(xié)議編號相同的信息的連接信息(步驟S302)。其后,處理前進到步驟S303。
在步驟S303中,解析信息包。解析部25通過參照在步驟S302中獲取到的RAM13上的地址,來參照被分配給本核的信息包、以及僅本核訪問的解析信息表格,進行信息包的解析。關于具體的解析的方法等,與在步驟S207中說明了的內(nèi)容相同,所以省略說明。其后,處理前進到步驟S304。
在步驟S304以及步驟S305中,更新連接信息管理隊列,并進行信息包的發(fā)送委托。關于具體的更新以及發(fā)送委托的處理內(nèi)容,與在步驟S208以及步驟S209中說明了的內(nèi)容相同,所以省略說明。其后,結束本流程圖所示的處理。
<實施例1:進行FTP處理的連接>
在這里,參照圖7到圖9,說明在通過本實施方式的網(wǎng)絡監(jiān)視裝置20處理用于FTP的連接的情況下的實施例。
圖7是示出在本實施方式中確立FTP的控制連接的情形的圖。首先,如果通過通信獲取部21獲取到從FTP客戶端到FTP服務器(端口:20)的FTP連接信息包,則分配單元22根據(jù)5-tuple而向某一個核(在圖7所示的例子中是核1)分配信息包。然后,判定部24.1參照連接信息管理隊列(需要排他控制),確認是否需要核變更。在這里,由于不需要核變更,所以處理被轉(zhuǎn)送到解析部25.1。信息包在通過解析部25.1解析之后,被發(fā)送到FTP服務器。在這里,在連接信息管理隊列中制作該連接所涉及的連接信息。其后,獲取從FTP服務器發(fā)送了的向FTP客戶端的響應信息包,但由于5-tuple相同,所以分配單元22將響應信息包分配給核1,核1進行處理。在這里,確立FTP的控制連接。
圖8是示出在本實施方式中通過控制連接來實施數(shù)據(jù)連接信息(通信用的端口號)的協(xié)商的情形的圖。首先,F(xiàn)TP服務器接受從FTP客戶端發(fā)送了的文件獲取委托,確立數(shù)據(jù)連接。在這里,連接信息管理隊列使用5-tuple來管理連接信息,進一步地,將FTP的控制連接信息與數(shù)據(jù)連接信息關聯(lián)起來,保持處理中的核編號信息等。
圖9是示出在本實施方式中在將數(shù)據(jù)連接的確立處理分配給核2的情況下變更負責核的情形的圖。如果從FTP服務器對FTP客戶端的被指定了的端口(數(shù)據(jù)連接)發(fā)送文件的信息包,則分配單元22根據(jù)5-tuple來決定作為分配目標的核。在這里,由于圖7的時間點和端口號不同,所以信息包的處理被分配給不同的核(例如,核2)。于是,判定部24.2參照連接信息管理隊列(需要排他控制),判定為需要核變更,向核變更對象信息包隊列排列接收信息包。然后,委托信息記錄部26.2匯總所需的信息包,并排列到核1的核變更信息包隊列,進一步地,向核1的任務隊列排列變更委托(向核1委托核變更)。核1在任務隊列中探測變更委托的存在,從核1的核變更信息包隊列獲取核變更信息包(需要排他控制),在通過核1進行解析后,發(fā)送到FTP客戶端。
<實施例2:進行地址變換處理的連接>
接著,說明在通過本實施方式的網(wǎng)絡監(jiān)視裝置20處理進行地址變換處理的連接的情況下的實施例。此外,該實施例是在網(wǎng)絡監(jiān)視裝置20被包括在路由器等中并且是進行地址變換的裝置的情況下的實施例。
首先,如果通過通信獲取部21獲取到從終端(IP地址:A)到服務器(IP地址:X)的信息包,則分配單元22根據(jù)5-tuple而向某一個核(在這里,設為核1)分配信息包。然后,判定部24.1參照連接信息管理隊列(需要排他控制),確認是否需要核變更。在這里,由于不需要核變更,所以處理被轉(zhuǎn)送到解析部25.1。信息包在通過解析部25.1解析之后,進行地址變換(將服務器的地址從X變換到Y),并被發(fā)送到服務器。在這里,連接信息管理隊列使用5-tuple來管理連接信息,進一步地,將地址變換前后的連接信息關聯(lián)起來,保持處理中的核編號信息等。
其后,如果獲取到從服務器(IP地址:Y)發(fā)送到終端(IP地址:A)的信息包,則分配單元22根據(jù)5-tuple來決定分配目標的核。在這里,由于服務器的地址與上次的信息包不同,所以信息包的處理被分配給不同的核(例如,核2)。于是,判定部24.2參照連接信息管理隊列(需要排他控制),判定為需要核變更,向核變更對象信息包隊列排列接收信息包。然后,委托信息記錄部26.2匯總所需的信息包,并排列到核1的核變更信息包隊列,進一步地,向核1的任務隊列排列變更委托(向核1委托核變更)。核1在任務隊列中探測變更委托的存在,從核1的核變更信息包隊列獲取核變更信息包(需要排他控制),在通過核1進行解析后,進行地址變換(從服務器的地址Y變換到X),并發(fā)送到終端。
<變形>
在上述實施方式中,說明了網(wǎng)絡監(jiān)視裝置20被連接于開關或者路由器、與位于其上一級的其他開關或者路由器之間,由此獲取通過節(jié)點90發(fā)送接收的信息包、幀等,并且在針對不切斷也行的信息包進行轉(zhuǎn)送的內(nèi)聯(lián)模式下進行動作的例子(參照圖1)。但是,上述實施方式所示的網(wǎng)絡結構是用于實施本公開的一個例子,也可以在實施時采用其他網(wǎng)絡結構。
例如,網(wǎng)絡監(jiān)視裝置20也可以通過與開關或者路由器(在圖1所示的例子中,為路由器10)的監(jiān)控端口(鏡像端口)連接,獲取通過節(jié)點90發(fā)送接收的信息包、幀等(參照圖10)。在這種情況下,網(wǎng)絡監(jiān)視裝置20在不轉(zhuǎn)送所獲取到的信息包的被動模式下進行動作。另外,例如,網(wǎng)絡監(jiān)視裝置20在不與監(jiān)控端口(鏡像端口)連接而僅與網(wǎng)絡段2連接的情況下,通過還包括不是發(fā)給自身的MAC地址的幀地全部獲取流過網(wǎng)絡段2的 幀,也能夠獲取通過節(jié)點90發(fā)送接收的信息包、幀等。在這種情況下,網(wǎng)絡監(jiān)視裝置20也在被動模式下進行動作。另外,例如,網(wǎng)絡監(jiān)視裝置20也可以包括在路由器或者開關中。
<效果>
根據(jù)本實施方式的信息處理裝置、方法以及程序,在向多個核分配接收信息包而進行處理的情況下,能夠縮短存儲器上的共有區(qū)域被鎖定的時間。另外,根據(jù)本實施方式的控制,各核能夠具有僅本核訪問的解析信息表格,所以無需對存儲器上的記錄有解析信息的區(qū)域進行排他控制,能夠分配給各核來處理信息包。