WO2024111088A1 - Analysis device, analysis method, and analysis program - Google Patents
Analysis device, analysis method, and analysis program Download PDFInfo
- Publication number
- WO2024111088A1 WO2024111088A1 PCT/JP2022/043380 JP2022043380W WO2024111088A1 WO 2024111088 A1 WO2024111088 A1 WO 2024111088A1 JP 2022043380 W JP2022043380 W JP 2022043380W WO 2024111088 A1 WO2024111088 A1 WO 2024111088A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- processing
- information
- key
- source data
- data
- Prior art date
Links
- 238000004458 analytical method Methods 0.000 title claims abstract description 81
- 238000012545 processing Methods 0.000 claims abstract description 182
- 238000000034 method Methods 0.000 claims abstract description 54
- 238000010586 diagram Methods 0.000 description 18
- 238000006243 chemical reaction Methods 0.000 description 15
- 230000010365 information processing Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 239000002775 capsule Substances 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012946 outsourcing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000010454 slate Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
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/02—Capturing of monitoring data
- H04L43/026—Capturing of monitoring data using flow identification
Definitions
- the present invention relates to an analysis device, an analysis method, and an analysis program.
- xFlow is known as a technology for network monitoring and traffic trend analysis.
- xFlow is a method for collecting and analyzing traffic by transferring statistical information calculated from the header information of sampled packets, or the header portion itself (header sample).
- a packet encapsulation technique that embeds a packet in the payload of another packet on a network and transfers the other packet.
- Elastic's Ingest Pipelines are known as a function for linking information, as they process documents containing information in a specified manner to format them.
- the flow information includes data in a key-value format such as 5-tuple that identifies the flow.
- the analysis device is characterized by having a storage unit that stores association information, which is information that associates definition information that defines the processing content with the source data, the definition information, a receiving unit that receives data in a key-value format that indicates information related to the network as the source data, and a processing unit that identifies the processing content of the source data received by the receiving unit based on the association information and processes the source data in accordance with the processing content.
- association information is information that associates definition information that defines the processing content with the source data, the definition information
- a receiving unit that receives data in a key-value format that indicates information related to the network as the source data
- a processing unit that identifies the processing content of the source data received by the receiving unit based on the association information and processes the source data in accordance with the processing content.
- the processing content of flow information can be easily changed.
- FIG. 1 is a diagram illustrating an example of the configuration of an analysis apparatus according to the first embodiment.
- FIG. 2 is a diagram for explaining a process for changing the processing contents.
- FIG. 3 is a diagram for explaining a process for changing the processing contents.
- FIG. 4 is a diagram showing a change in flow statistical information accompanying a change in processing content.
- FIG. 5 is a diagram showing an example of a process for adding a VPN user.
- FIG. 6 is a diagram for explaining a method for speeding up the process of changing the processing contents.
- FIG. 7 is a diagram for explaining a method for speeding up the process of changing the processing contents.
- FIG. 8 is a diagram for explaining a method for speeding up the process of changing the processing contents.
- FIG. 1 is a diagram illustrating an example of the configuration of an analysis apparatus according to the first embodiment.
- FIG. 2 is a diagram for explaining a process for changing the processing contents.
- FIG. 3 is a diagram for explaining a process for changing the
- FIG. 9 is a diagram for explaining a method for speeding up the process of changing the processing contents.
- FIG. 10 is a diagram illustrating optimization of association information.
- FIG. 11 is a diagram illustrating parallel processing.
- FIG. 12 is a flow chart illustrating the flow of processing performed by the analysis device.
- FIG. 13 is a flow chart illustrating the flow of processing performed by the analysis device.
- FIG. 14 illustrates an example of a computer that executes an analysis program.
- Fig. 1 is a diagram showing an example of the configuration of an analysis device according to a first embodiment.
- the analysis device 10 is connected to an OpS (Operation System) 20, a conversion device 30, and a terminal device 40.
- OpS Operaation System
- OpS20 provides the analysis device 10 with information that associates VPN users with outer information.
- the conversion device 30 obtains xFlow packets from a network (e.g., a core network).
- a network e.g., a core network
- tunnels which are virtual communication paths, are configured.
- communication is performed using a VPN, and encapsulated packets are sent and received.
- a VPN user a user who communicates using a VPN is called a VPN user.
- the conversion device 30 acquires xFlow packets via a network device that samples packets transmitted and received over a network.
- the network device extracts the outer header (header of the outer packet) and inner header (header of the inner packet) of the sampled packet, and transfers the xFlow packet encapsulating each of the extracted headers to the conversion device 30.
- encapsulation means embedding data in the payload section of the xFlow packet.
- the network device transfers xFlow packets encapsulating statistical information about the sampled packets to the conversion device 30.
- the statistical information is calculated based on the inner header or the outer header.
- the statistical information is the number of packets for each flow (inner flow or outer flow) based on the inner header or the outer header, the amount of communication data (example unit: Mbps), etc.
- the conversion device 30 can obtain an xFlow packet that includes the Outer header and Inner header of the sampled packet, and an xFlow packet that includes statistical information.
- the conversion device 30 converts the format of the acquired xFlow packets and transfers the xFlow packets obtained by the conversion to the analysis device 10.
- the conversion device 30 extracts outer flow statistical information (outer statistics) from the acquired xFlow, and transfers the xFlow packet encapsulating the extracted statistical information to the analysis device 10.
- outer flow statistical information outer statistics
- each device on the network forwards packets in the tunnel based on the packet's outer header.
- the analysis device 10 identifies information about the VPN of the flow based on the outer statistics contained in the xFlow packet received from the conversion device 30. For example, the analysis device 10 can identify the user of the VPN that is the source of the flow.
- the analysis device 10 can store a 5-tuple (source IP address, source port number, destination IP address, destination port number, protocol) in association with a VPN user, and identify the VPN user by comparing the stored 5-tuple with a 5-tuple included in the outer statistics.
- the analysis device 10 can obtain information such as the 5-tuple for identifying a VPN from the OpS 20.
- the analysis device 10 processes the outer statistics appropriately (e.g., adds a key) based on the information contained in the xFlow packet and the identified information, and transmits them to the terminal device 40.
- the terminal device 40 is used by a user who analyzes the network.
- the subject of processing by the analysis device 10 is not limited to outer statistics, and may be, for example, inner statistics (statistical information of the inner flow).
- the analysis device 10 includes a collection unit 11, an association information DB 12, a processing unit 13, a receiving unit 14, a flow statistics information DB 15, and a definition information DB 16.
- the association information DB12, the flow statistics information DB15, and the definition information DB16 are stored in a memory unit provided in the analysis device 10.
- the memory unit stores the association information DB12, the flow statistics information DB15, and the definition information DB16.
- the memory unit is a storage device such as a hard disk drive (HDD), a solid state drive (SSD), or an optical disk.
- the memory unit may also be a semiconductor memory in which data can be rewritten, such as a random access memory (RAM), flash memory, or non-volatile static random access memory (NVSRAM).
- RAM random access memory
- NVSRAM non-volatile static random access memory
- the memory unit stores the operating system (OS) and various programs executed by the analysis device 10.
- the collection unit 11, processing unit 13, and receiving unit 14 are realized by a control unit provided in the analysis device 10.
- the control unit controls the entire analysis device 10.
- the control unit is, for example, an electronic circuit such as a CPU (Central Processing Unit), MPU (Micro Processing Unit), or GPU (Graphics Processing Unit), or an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or FPGA (Field Programmable Gate Array).
- the control unit also has an internal memory for storing programs that define various processing procedures and control data, and executes each process using the internal memory.
- FIGS 2 and 3 are diagrams explaining the process of changing the processing content.
- the receiver 14 receives an xFlow packet from the conversion device 30 as source data.
- the xFlow packet received by the receiver 14 is flow statistical information in key-value format.
- the source data "nw_data” contains “key1", “key2”, and "key3" as keys.
- the source data received by the receiver 14 is not limited to xFlow packets sent by the conversion device 30.
- the receiver 14 receives data in a key-value format indicating information related to the network as source data.
- the receiver 14 may receive data provided by Telemetry (Reference: https://www.janog.gr.jp/wg/telemetry-wg/wp-content/uploads/2018/06/20180518_Cisco_Telemetry_WG01.pdf) as source data instead of xFlow packets.
- the processing unit 13 acquires the original data from the receiving unit 14. Then, the processing unit 13 identifies the processing content of the original data received by the receiving unit 14 based on the association information, and processes the original data in accordance with the processing content.
- the definition information DB16 stores definition information that defines the processing content.
- the association information DB12 stores association information that associates the definition information with the source data.
- the processing unit 13 first reads a processing content definition named "VPN user specific" from the definition information DB 16. Then, the processing unit 13 reads association information associated with the processing content definition "VPN user specific" from the association information DB 12.
- association information read by the processing unit 13 shows "key2:yyy” as the condition.
- the association information shows the condition in key-value format. Note that "key2" is an example of a key, and “yyy” is an example of a value.
- the processing unit 13 checks the condition "key2:yyy" against the source data and determines whether the source data contains "key2:yyy". In the example of FIG. 2, since the source data contains "key2:yyy", the processing unit 13 processes the source data according to the processing content indicated by the processing content definition "VPN user identification".
- the "input” in the processing content definition is information that identifies the data to be processed. Also, the “output” in the processing content definition is information that indicates the data to be processed or the data to be output as the result of processing.
- the processing content definition "VPN user identification” defines that a new key “hoge” is added to the original data “nw_data” according to “add new_key:hoge” and output as “nw_data_result”.
- the processing unit 13 outputs "nw_data_result” as the processing result.
- add is a command that means adding a key.
- other commands include “delete,” which deletes a key, “link,” which adds a value, and “calculate,” which performs calculations using a numerical value.
- the processing unit 13 adds "new_key” to the processing result.
- "new_key” corresponds to the first key whose addition is defined by the definition information.
- "key2” corresponds to the second key included in the source data.
- Figure 4 shows the change in flow statistics information associated with a change in processing content.
- the processing unit 13 stores the processed xFlow packets in the flow statistics information DB 15.
- Flow statistical information DB15a is the flow statistical information DB15 before the processing described in Figures 2 and 3 is performed.
- Flow statistical information DB15b is the flow statistical information DB15 after the processing described in Figures 2 and 3 is performed.
- a record to which "new_key" has been added is registered in the flow statistical information DB15 by the processing unit 13.
- FIG. 5 is a diagram showing an example of processing when adding a VPN user.
- the xFlow packet received by the receiver 14 contains the flow statistics information "ExporterIP:10.0.0.1”, “outer srcIP:10.1.0.1”, “outer dstIP:10.2.0.1”, “tunnelID:AAAAA”, and "sessionID:aaa”.
- the processing unit 13 reads the processing content definition named "VPN user specific" from the definition information DB 16. The processing unit 13 then reads the association information associated with the processing content definition "VPN user specific" from the association information DB 12.
- the processing content definition includes information that defines the addition of a key that identifies a VPN user.
- the association information includes information that associates the processing content definition with a key that identifies the VPN.
- the processing unit 13 checks the value "10.1.0.1&10.2.0.1&AAAAA&aaa” separated by "&” in the association information against the values of the keys "outer srcIP”, “outer dstIP”, “tunnelID”, and "sessionID” in the source data.
- the matching result shows that the condition indicated by the association information matches the source data, so the processing unit 13 executes the processing content "link” and performs processing to add the value "User A” to the key "vpn_user”.
- the association information stored in the association information DB 12 and the processing content definition stored in the definition information DB 16 can be set by the user as desired. This allows for flexible definition of the processing content. For example, the user can set the key and value in the range from " ⁇ " to " ⁇ " in the association information. In addition, for example, the user can set the "input” and "output” of the processing content definition and the processing content.
- search target key condition: key name
- search target value condition: value
- assigned value equivalent to " ⁇ hoge ⁇ "
- the receiving unit 14 obtains the original data "nw_data” (e.g., flow statistical information) from the conversion device 30.
- "nw_data” includes “key1", “key2”, and “key3" as keys.
- the processing unit 13 reads "input nw_data" and the search target key "key2" from the definition information DB 16. At this point, the processing unit 13 does not read any information (processing contents, etc.) other than the search target key.
- “key2" is an example of a third key.
- the processing unit 13 searches for the key "key2" among the keys of the source data. If the search is a hit, i.e., if the key "key2" is among the keys of the source data, the processing unit 13 reads information other than the key to be searched for in the processing content definition from the definition information DB 16.
- the processing unit 13 reads the value of the search target and the assigned value associated with the processing content definition "VPN user identification" from the association information DB 12.
- the assigned value is the value of the key added by the command "add”.
- the processing unit 13 adds the key "new_key” to the source data "nw_data” in accordance with the processing content definition "VPN user identification”, sets the value of the key to "hoge”, and outputs the processing result "nw_data_result”.
- Fig. 10 is a diagram for explaining optimization of association information.
- the analysis device 10 extracts the necessary key information from the multiple pieces of association information that have been input, optimizes the association information by combining the information based on the key, and stores the association information in the association information DB 12.
- the analysis device 10 can speed up processing by storing association information that consolidates multiple pieces of information that associate definition information that defines the processing content with the source data.
- the processing unit 13 can execute data processing processes in parallel for multiple source data.
- Fig. 11 is a diagram for explaining parallel processing.
- the data processing process includes a series of processes for each source data, such as referencing association information, matching, processing, and registering the processing results.
- the processing unit 13 performs parallel processing using a multi-core processor.
- the number of parallel processes can be set in advance by the user.
- the receiving unit 14 receives multiple xFlow packets as source data.
- the processing unit 13 identifies the processing content for each of the multiple source data received by the receiving unit 14, and executes in parallel the process of processing the source data in accordance with the processing content.
- Fig. 12 is a flow chart for explaining the flow of processing by the analysis device.
- the analysis device 10 reads the target association information and source data from the processing content definition (step S101).
- the analysis device 10 when the analysis device 10 acquires the source data, it refers to the definition information DB 16, acquires association information corresponding to the processing content definition from the association information DB 12, and further reads the source data (e.g., "input") to be matched as indicated in the processing content definition.
- the source data e.g., "input”
- the analysis device 10 compares the key:value of the original data with that of the association information (step S102). If the key:value of the original data and the association information do not match (step S103, No), the analysis device 10 ends the process.
- step S104 the analysis device 10 executes the processing content of the processing content definition (step S104). Then, the analysis device 10 outputs the result of the processing content (step S105).
- FIG. 13 is a flow chart that explains the process flow of the analysis device.
- the analysis device 10 reads the condition:key name and source data (e.g., "input") from the processing content definition (step S201).
- condition:key name and source data e.g., "input”
- the analysis device 10 searches the source data, and if the data contains the condition:key name, it reads the association information of the processing content definition and the processing content (step S202). Furthermore, the analysis device 10 obtains the condition:value corresponding to the condition:key name from the association information (step S203).
- the analysis device 10 compares the conditions with the key:value of the source data, and if they match, executes the processing content of the processing content definition (step S204).
- the analysis device 10 stores definition information and association information that associates definition information that defines processing contents with source data.
- the analysis device 10 also has a receiving unit 14 and a processing unit 13.
- the receiving unit 14 receives data in a key-value format that indicates information related to the network as source data.
- the processing unit 13 identifies the processing contents of the source data received by the receiving unit 14 based on the association information, and processes the source data in accordance with the processing contents.
- the user can easily change the processing contents of the flow information by setting the definition information and association information.
- the analysis device 10 stores association information that associates definition information that defines the addition of a first key with a second key included in the source data. Furthermore, when the source data includes a second key, the processing unit 13 adds the first key to the source data. This makes it possible to easily execute processing that adds a key.
- the analysis device 10 stores definition information that defines the addition of a first key that identifies a VPN user, and association information that associates a second key that identifies the VPN. This makes it possible to easily perform processing to add a key that identifies a VPN user.
- the analysis device 10 stores information identifying the third key and the processing content as definition information. Furthermore, when the source data received by the receiving unit 14 contains the third key, the processing unit 13 reads the processing content associated with the third key from the definition information and processes the source data according to the read processing content. In this case, the analysis device 10 only needs to read the processing content when the source data contains the third key, which speeds up processing.
- the analysis device 10 stores association information that consolidates multiple pieces of information that associate definition information that defines the processing content with the source data. This reduces the number of times the association information is referenced, and speeds up the processing of the analysis device 10.
- the receiving unit 14 receives multiple pieces of source data.
- the processing unit 13 identifies the processing content for each of the multiple pieces of source data received by the receiving unit 14, and executes in parallel the process of processing the source data according to the processing content. This makes it possible to speed up the processing of the multiple pieces of source data by the analysis device 10.
- each component of each device shown in the figure is functionally conceptual, and does not necessarily have to be physically configured as shown in the figure.
- the specific form of distribution and integration of each device is not limited to that shown in the figure, and all or a part of it can be functionally or physically distributed or integrated in any unit according to various loads, usage conditions, etc.
- each processing function performed by each device can be realized in whole or in any part by a CPU (Central Processing Unit) and a program analyzed and executed by the CPU, or can be realized as hardware by wired logic.
- the program may be executed not only by the CPU but also by other processors such as a GPU.
- the analysis device 10 can be implemented by installing an analysis program that executes the above-mentioned analysis process as package software or online software on a desired computer.
- the above-mentioned analysis program can be executed by an information processing device, causing the information processing device to function as the analysis device 10.
- the information processing device here includes desktop or notebook personal computers.
- the information processing device also includes mobile communication terminals such as smartphones, mobile phones, and PHS (Personal Handyphone Systems), as well as slate terminals such as PDAs (Personal Digital Assistants).
- the analysis device 10 can also be implemented as an analysis server device that provides services related to the above-mentioned analysis processing to a client, the client being a terminal device used by a user.
- the analysis server device is implemented as a server device that provides an analysis service that takes as input key-value format data (e.g., xFlow packets) that indicates information about the network, and outputs the analysis results.
- the analysis server device may be implemented as a web server, or may be implemented as a cloud that provides services related to the above-mentioned analysis processing through outsourcing.
- FIG. 14 is a diagram showing an example of a computer that executes an analysis program.
- the computer 1000 has, for example, a memory 1010 and a CPU 1020.
- the computer 1000 also has a hard disk drive interface 1030, a disk drive interface 1040, a serial port interface 1050, a video adapter 1060, and a network interface 1070. Each of these components is connected by a bus 1080.
- the memory 1010 includes a ROM (Read Only Memory) 1011 and a RAM (Random Access Memory) 1012.
- the ROM 1011 stores a boot program such as a BIOS (Basic Input Output System).
- BIOS Basic Input Output System
- the hard disk drive interface 1030 is connected to a hard disk drive 1090.
- the disk drive interface 1040 is connected to a disk drive 1100.
- a removable storage medium such as a magnetic disk or optical disk is inserted into the disk drive 1100.
- the serial port interface 1050 is connected to a mouse 1110 and a keyboard 1120, for example.
- the video adapter 1060 is connected to a display 1130, for example.
- the hard disk drive 1090 stores, for example, an OS 1091, an application program 1092, a program module 1093, and program data 1094. That is, the programs that define each process of the analysis device 10 are implemented as program modules 1093 in which computer-executable code is written.
- the program modules 1093 are stored, for example, in the hard disk drive 1090.
- a program module 1093 for executing processes similar to the functional configuration of the analysis device 10 is stored in the hard disk drive 1090.
- the hard disk drive 1090 may be replaced by an SSD (Solid State Drive).
- the setting data used in the processing of the above-mentioned embodiment is stored as program data 1094, for example, in memory 1010 or hard disk drive 1090.
- the CPU 1020 reads out the program module 1093 or program data 1094 stored in memory 1010 or hard disk drive 1090 into RAM 1012 as necessary, and executes the processing of the above-mentioned embodiment.
- the program module 1093 and program data 1094 may not necessarily be stored in the hard disk drive 1090, but may be stored in a removable storage medium, for example, and read by the CPU 1020 via the disk drive 1100 or the like.
- the program module 1093 and program data 1094 may be stored in another computer connected via a network (such as a LAN (Local Area Network), WAN (Wide Area Network)).
- the program module 1093 and program data 1094 may then be read by the CPU 1020 from the other computer via the network interface 1070.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
This analysis device (10) stores definition information, which defines processing content, and association information, which is information that associates the definition information with processing source data. The analysis device (10) also has a receiving unit (14) and a processing unit (13). The receiving unit (14) receives key-value format data (e.g., xFlow packets) indicating information about the network as processing source data. The processing unit (13) specifies the processing content of the processing source data received by the receiving unit (14) on the basis of the association information, and processes the processing source data according to the processing content.
Description
本発明は、分析装置、分析方法及び分析プログラムに関する。
The present invention relates to an analysis device, an analysis method, and an analysis program.
従来、ネットワークの監視及びトラヒックの傾向分析のための技術として、xFlowが知られている。
xFlow is known as a technology for network monitoring and traffic trend analysis.
xFlowは、サンプリングされたパケットのヘッダ情報から算出された統計情報、又はヘッダ部分そのもの(ヘッダサンプル)を転送することによりトラヒックの集計及び分析等を行う手法である。
xFlow is a method for collecting and analyzing traffic by transferring statistical information calculated from the header information of sampled packets, or the header portion itself (header sample).
また、従来、ネットワーク上でパケットを別のパケットのペイロードに埋め込み、当該別のパケットを転送するパケットカプセル化技術が知られている。
In addition, a packet encapsulation technique is known that embeds a packet in the payload of another packet on a network and transfers the other packet.
また、RAWパケット、ヘッダサンプルにおけるカプセルの内側のパケット(以降、Innerパケット)を取り出し分析を可能にするフォーマット変換技術が知られている。
In addition, a format conversion technique is known that enables extraction and analysis of raw packets and packets inside capsules (hereafter, inner packets) in header samples.
また、カプセル化パケットについて、Innerパケットのヘッダとカプセルの外側のパケット(以降、Outerパケット)のヘッダとを対応付けてデータベースに登録する技術が知られている(例えば、特許文献1を参照)。
In addition, there is known technology for registering the header of an inner packet and the header of the packet outside the capsule (hereinafter, the outer packet) in a database in association with each other for encapsulated packets (see, for example, Patent Document 1).
また、従来、情報を関連付ける機能として、情報が記載されたドキュメントに対して定められた加工(processor)を行い整形するElastic社のIngest pipelinesが知られている。
Also, Elastic's Ingest Pipelines are known as a function for linking information, as they process documents containing information in a specified manner to format them.
しかしながら、従来の技術には、フロー情報の加工内容を容易に変更することができないという問題がある。
However, the problem with conventional technology is that it is not easy to change the processing content of the flow information.
ここで、xFlowに含まれるフロー情報を、分析手法に応じて適宜加工することが考えられる。なお、フロー情報には、フローを特定する5-tuple等のキーバリュー形式のデータが含まれる。
Here, it is possible to process the flow information contained in xFlow appropriately depending on the analysis method. The flow information includes data in a key-value format such as 5-tuple that identifies the flow.
一方で、加工後のフロー情報におけるキーの追加及び変更等を行うためには、加工のためのプログラムを新たに開発することが必要になる場合がある。そのような場合、フロー情報の加工内容を変更することは容易ではない。
On the other hand, in order to add or change keys in processed flow information, it may be necessary to develop a new program for the processing. In such cases, it is not easy to change the processing content of the flow information.
上述した課題を解決し、目的を達成するために、分析装置は、加工内容を定義する定義情報と加工元データとを関連付ける情報である関連付け情報と、前記定義情報と、を記憶する記憶部と、ネットワークに関する情報を示すキーバリュー形式のデータを加工元データとして受信する受信部と、前記関連付け情報を基に、前記受信部によって受信された加工元データの加工内容を特定し、前記加工内容に従って前記加工元データを加工する加工部と、を有することを特徴とする。
In order to solve the above-mentioned problems and achieve the objective, the analysis device is characterized by having a storage unit that stores association information, which is information that associates definition information that defines the processing content with the source data, the definition information, a receiving unit that receives data in a key-value format that indicates information related to the network as the source data, and a processing unit that identifies the processing content of the source data received by the receiving unit based on the association information and processes the source data in accordance with the processing content.
本発明によれば、フロー情報の加工内容を容易に変更することができる。
According to the present invention, the processing content of flow information can be easily changed.
以下に、本願に係る分析装置、分析方法及び分析プログラムの実施形態を図面に基づいて詳細に説明する。なお、本発明は、以下に説明する実施形態により限定されるものではない。
Below, the embodiments of the analysis device, analysis method, and analysis program according to the present application are described in detail with reference to the drawings. Note that the present invention is not limited to the embodiments described below.
[第1の実施形態の構成]
まず、図1を用いて、第1の実施形態に係る分析装置の構成を説明する。図1は、第1の実施形態に係る分析装置の構成例を示す図である。 [Configuration of the first embodiment]
First, the configuration of an analysis device according to a first embodiment will be described with reference to Fig. 1. Fig. 1 is a diagram showing an example of the configuration of an analysis device according to a first embodiment.
まず、図1を用いて、第1の実施形態に係る分析装置の構成を説明する。図1は、第1の実施形態に係る分析装置の構成例を示す図である。 [Configuration of the first embodiment]
First, the configuration of an analysis device according to a first embodiment will be described with reference to Fig. 1. Fig. 1 is a diagram showing an example of the configuration of an analysis device according to a first embodiment.
図1に示すように、分析装置10は、OpS(Operation System)20、変換装置30、及び端末装置40と接続される。
As shown in FIG. 1, the analysis device 10 is connected to an OpS (Operation System) 20, a conversion device 30, and a terminal device 40.
OpS20は、VPNのユーザとOuter情報とを対応付けた情報を分析装置10に提供する。
OpS20 provides the analysis device 10 with information that associates VPN users with outer information.
変換装置30は、ネットワーク(例えばコア網)からxFlowパケットを取得する。ネットワークにおいては、仮想的な通信経路であるトンネルが構成される。また、ネットワークでは、VPNを利用した通信が行われ、カプセル化されたパケットが送受信される。また、VPNを利用して通信を行うユーザをVPNユーザと呼ぶ。
The conversion device 30 obtains xFlow packets from a network (e.g., a core network). In the network, tunnels, which are virtual communication paths, are configured. In addition, in the network, communication is performed using a VPN, and encapsulated packets are sent and received. In addition, a user who communicates using a VPN is called a VPN user.
例えば、変換装置30は、ネットワークを介して送受信されるパケットのサンプリングを行うネットワーク機器を介してxFlowパケットを取得する。
For example, the conversion device 30 acquires xFlow packets via a network device that samples packets transmitted and received over a network.
ネットワーク機器は、サンプリングしたパケットのOuterヘッダ(Outerパケットのヘッダ)及びInnerヘッダ(Innerパケットのヘッダ)を抽出し、抽出した各ヘッダをカプセル化したxFlowパケットを変換装置30に転送する。
The network device extracts the outer header (header of the outer packet) and inner header (header of the inner packet) of the sampled packet, and transfers the xFlow packet encapsulating each of the extracted headers to the conversion device 30.
なお、ここでのカプセル化とは、xFlowパケットのペイロード部にデータを埋め込むことを意味する。
Note that encapsulation here means embedding data in the payload section of the xFlow packet.
さらに、ネットワーク機器は、サンプリングしたパケットに関する統計情報をカプセル化したxFlowパケットを変換装置30に転送する。
Furthermore, the network device transfers xFlow packets encapsulating statistical information about the sampled packets to the conversion device 30.
ここで、統計情報は、Innerヘッダ又はOuterヘッダを基に算出される。例えば、統計情報は、Innerヘッダ又はOuterヘッダに基づくフロー(Innerフロー又はOuterフロー)ごとのパケット数、通信データ量(単位の例:Mbps)等である。
Here, the statistical information is calculated based on the inner header or the outer header. For example, the statistical information is the number of packets for each flow (inner flow or outer flow) based on the inner header or the outer header, the amount of communication data (example unit: Mbps), etc.
例えば、Outerヘッダを基に算出された統計情報は、OuterヘッダとともにxFlowパケットにカプセル化される。
For example, statistical information calculated based on the Outer header is encapsulated in the xFlow packet along with the Outer header.
これにより、変換装置30は、サンプリングしたパケットのOuterヘッダ及びInnerヘッダを含むxFlowパケットと、統計情報を含むxFlowパケットと、を取得することができる。
As a result, the conversion device 30 can obtain an xFlow packet that includes the Outer header and Inner header of the sampled packet, and an xFlow packet that includes statistical information.
変換装置30は、取得したxFlowパケットのフォーマットを変換し、変換により得られたxFlowパケットを分析装置10に転送する。
The conversion device 30 converts the format of the acquired xFlow packets and transfers the xFlow packets obtained by the conversion to the analysis device 10.
例えば、図1の例では、変換装置30は、取得したxFlowからOuterフローの統計情報(アウター統計)を抽出し、抽出した統計情報をカプセル化したxFlowパケットを分析装置10に転送する。
For example, in the example of FIG. 1, the conversion device 30 extracts outer flow statistical information (outer statistics) from the acquired xFlow, and transfers the xFlow packet encapsulating the extracted statistical information to the analysis device 10.
ここで、ネットワーク上の各機器は、トンネルにおいてパケットのOuterヘッダを基にパケットの転送を行う。
Here, each device on the network forwards packets in the tunnel based on the packet's outer header.
そこで、分析装置10は、変換装置30から受信したxFlowパケットに含まれるアウター統計を基にフローのVPNに関する情報を特定する。例えば、分析装置10は、フローの元となったVPNのユーザを特定することができる。
The analysis device 10 then identifies information about the VPN of the flow based on the outer statistics contained in the xFlow packet received from the conversion device 30. For example, the analysis device 10 can identify the user of the VPN that is the source of the flow.
例えば、分析装置10は5-tuple(送信元IPアドレス、送信元ポート番号、宛先IPアドレス、宛先ポート番号、プロトコル)とVPNユーザを対応付けて記憶しておき、記憶した5-tupleをアウター統計に含まれる5-tupleと突合することによりVPNのユーザを特定することができる。なお、分析装置10には、VPNを特定するための5-tuple等の情報をOpS20から取得することができる。
For example, the analysis device 10 can store a 5-tuple (source IP address, source port number, destination IP address, destination port number, protocol) in association with a VPN user, and identify the VPN user by comparing the stored 5-tuple with a 5-tuple included in the outer statistics. The analysis device 10 can obtain information such as the 5-tuple for identifying a VPN from the OpS 20.
分析装置10は、xFlowパケットに含まれる情報及び特定した情報を基に、アウター統計を適宜加工(例えば、キーの追加)して端末装置40に送信する。端末装置40は、ネットワークの分析を行うユーザによって利用される。なお、分析装置10が加工する対象は、アウター統計に限られず、例えばインナー統計(Innerフローの統計情報)であってもよい。
The analysis device 10 processes the outer statistics appropriately (e.g., adds a key) based on the information contained in the xFlow packet and the identified information, and transmits them to the terminal device 40. The terminal device 40 is used by a user who analyzes the network. Note that the subject of processing by the analysis device 10 is not limited to outer statistics, and may be, for example, inner statistics (statistical information of the inner flow).
図1に示すように、分析装置10は、収集部11、関連付け情報DB12、加工部13、受信部14、フロー統計情報DB15及び定義情報DB16を有する。
As shown in FIG. 1, the analysis device 10 includes a collection unit 11, an association information DB 12, a processing unit 13, a receiving unit 14, a flow statistics information DB 15, and a definition information DB 16.
関連付け情報DB12、フロー統計情報DB15及び定義情報DB16は、分析装置10に備えられた記憶部に記憶される。言い換えると、記憶部は、関連付け情報DB12、フロー統計情報DB15及び定義情報DB16を記憶する。
The association information DB12, the flow statistics information DB15, and the definition information DB16 are stored in a memory unit provided in the analysis device 10. In other words, the memory unit stores the association information DB12, the flow statistics information DB15, and the definition information DB16.
記憶部は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、光ディスク等の記憶装置である。なお、記憶部は、RAM(Random Access Memory)、フラッシュメモリ、NVSRAM(Non Volatile Static Random Access Memory)等のデータを書き換え可能な半導体メモリであってもよい。記憶部は、分析装置10で実行されるOS(Operating System)及び各種プログラムを記憶する。
The memory unit is a storage device such as a hard disk drive (HDD), a solid state drive (SSD), or an optical disk. The memory unit may also be a semiconductor memory in which data can be rewritten, such as a random access memory (RAM), flash memory, or non-volatile static random access memory (NVSRAM). The memory unit stores the operating system (OS) and various programs executed by the analysis device 10.
また、収集部11、加工部13、及び受信部14は、分析装置10に備えられた制御部によって実現される。
The collection unit 11, processing unit 13, and receiving unit 14 are realized by a control unit provided in the analysis device 10.
制御部は、分析装置10全体を制御する。制御部は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)等の電子回路や、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等の集積回路である。また、制御部は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、内部メモリを用いて各処理を実行する。
The control unit controls the entire analysis device 10. The control unit is, for example, an electronic circuit such as a CPU (Central Processing Unit), MPU (Micro Processing Unit), or GPU (Graphics Processing Unit), or an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or FPGA (Field Programmable Gate Array). The control unit also has an internal memory for storing programs that define various processing procedures and control data, and executes each process using the internal memory.
図2及び図3を用いて、分析装置10が加工内容を変更する処理を説明するとともに、分析装置10の各部の詳細を説明する。図2及び図3は、加工内容を変更する処理を説明する図である。
The process of changing the processing content by the analysis device 10 will be explained using Figures 2 and 3, and each part of the analysis device 10 will be explained in detail. Figures 2 and 3 are diagrams explaining the process of changing the processing content.
まず、受信部14は、変換装置30からxFlowパケットを加工元データとして受信する。受信部14が受信するxFlowパケットは、キーバリュー形式のフロー統計情報である。図2の例では、加工元データである「nw_data」は、キーとして「key1」、「key2」、「key3」を含む。
First, the receiver 14 receives an xFlow packet from the conversion device 30 as source data. The xFlow packet received by the receiver 14 is flow statistical information in key-value format. In the example of FIG. 2, the source data "nw_data" contains "key1", "key2", and "key3" as keys.
なお、受信部14が受信する加工元データは、変換装置30によって送信されるxFlowパケットに限られない。受信部14は、ネットワークに関する情報を示すキーバリュー(key:value)形式のデータを加工元データとして受信する。例えば、受信部14は、xFlowパケットではなく、Telemetry(参考文献:https://www.janog.gr.jp/wg/telemetry-wg/wp-content/uploads/2018/06/20180518_Cisco_Telemetry_WG01.pdf)から提供されるデータを加工元データとして受信してもよい。
The source data received by the receiver 14 is not limited to xFlow packets sent by the conversion device 30. The receiver 14 receives data in a key-value format indicating information related to the network as source data. For example, the receiver 14 may receive data provided by Telemetry (Reference: https://www.janog.gr.jp/wg/telemetry-wg/wp-content/uploads/2018/06/20180518_Cisco_Telemetry_WG01.pdf) as source data instead of xFlow packets.
加工部13は、加工元データを受信部14から取得する。そして、加工部13は、関連付け情報を基に、受信部14によって受信された加工元データの加工内容を特定し、加工内容に従って加工元データを加工する。
The processing unit 13 acquires the original data from the receiving unit 14. Then, the processing unit 13 identifies the processing content of the original data received by the receiving unit 14 based on the association information, and processes the original data in accordance with the processing content.
定義情報DB16は、加工内容を定義する定義情報を記憶する。また、関連付け情報DB12は、定義情報と加工元データとを関連付ける情報である関連付け情報を記憶する。
The definition information DB16 stores definition information that defines the processing content. The association information DB12 stores association information that associates the definition information with the source data.
図2の例では、まず、加工部13は、定義情報DB16から、「VPNユーザ特定」という名称の加工内容定義を読み込む。そして、加工部13は、加工内容定義「VPNユーザ特定」と関連付けられた関連付け情報を、関連付け情報DB12から読み込む。
In the example of FIG. 2, the processing unit 13 first reads a processing content definition named "VPN user specific" from the definition information DB 16. Then, the processing unit 13 reads association information associated with the processing content definition "VPN user specific" from the association information DB 12.
ここで、加工部13が読み込んだ関連付け情報には、条件として「key2:yyy」が示されている。このように、関連付け情報においては、条件がキーバリュー形式で示されている。なお、「key2」はキーの一例である。また、「yyy」はバリュー(値)の一例である。
Here, the association information read by the processing unit 13 shows "key2:yyy" as the condition. In this way, the association information shows the condition in key-value format. Note that "key2" is an example of a key, and "yyy" is an example of a value.
続いて、加工部13は、条件「key2:yyy」と加工元データを突合し、加工元データに「key2:yyy」が含まれるか否かを判定する。図2の例では、加工元データに「key2:yyy」が含まれるため、加工部13は、加工内容定義「VPNユーザ特定」が示す加工内容に従って、加工元データを加工する。
Then, the processing unit 13 checks the condition "key2:yyy" against the source data and determines whether the source data contains "key2:yyy". In the example of FIG. 2, since the source data contains "key2:yyy", the processing unit 13 processes the source data according to the processing content indicated by the processing content definition "VPN user identification".
加工内容定義の「input」は、加工元データを特定する情報である。また、加工内容定義の「output」は、加工されるデータ又は加工結果として出力されるデータを示す情報である。
The "input" in the processing content definition is information that identifies the data to be processed. Also, the "output" in the processing content definition is information that indicates the data to be processed or the data to be output as the result of processing.
図3に示すように、加工内容定義「VPNユーザ特定」は、加工元データ「nw_data」に対し、「add new_key:hoge」に従って新たなキーである「hoge」を追加し、「nw_data_result」として出力することを定義している。図3に示すように、加工部13は、加工結果として「nw_data_result」を出力する。
As shown in Figure 3, the processing content definition "VPN user identification" defines that a new key "hoge" is added to the original data "nw_data" according to "add new_key:hoge" and output as "nw_data_result". As shown in Figure 3, the processing unit 13 outputs "nw_data_result" as the processing result.
なお、「add」はキーの追加を意味するコマンドである。コマンドは、「add」の他に、キーを削除する「delete」、バリューを追加する「link」、数値であるバリューを使って計算を行う「calculate」等を含む。
Note that "add" is a command that means adding a key. In addition to "add," other commands include "delete," which deletes a key, "link," which adds a value, and "calculate," which performs calculations using a numerical value.
図2及び図3の例では、加工部13は、加工元データに「key2」が含まれる場合、「new_key」を加工結果に追加する。「new_key」は、定義情報によって追加が定義される第1のキーに相当する。また、「key2」は、加工元データに含まれる第2のキーに相当する。
In the examples of Figures 2 and 3, if the source data includes "key2", the processing unit 13 adds "new_key" to the processing result. "new_key" corresponds to the first key whose addition is defined by the definition information. Also, "key2" corresponds to the second key included in the source data.
図4は、加工内容の変更に伴うフロー統計情報の変化を示す図である。加工部13は、加工したxFlowパケットをフロー統計情報DB15に格納する。
Figure 4 shows the change in flow statistics information associated with a change in processing content. The processing unit 13 stores the processed xFlow packets in the flow statistics information DB 15.
フロー統計情報DB15aは、図2及び図3で説明した加工が行われる前のフロー統計情報DB15である。フロー統計情報DB15bは、図2及び図3で説明した加工が行われた後のフロー統計情報DB15である。図4に示すように、加工部13により、フロー統計情報DB15に「new_key」が追加されたレコードが登録されている。
Flow statistical information DB15a is the flow statistical information DB15 before the processing described in Figures 2 and 3 is performed. Flow statistical information DB15b is the flow statistical information DB15 after the processing described in Figures 2 and 3 is performed. As shown in Figure 4, a record to which "new_key" has been added is registered in the flow statistical information DB15 by the processing unit 13.
図5を用いて、加工部13による他の処理の例を説明する。図5は、VPNユーザを追加する場合の処理の例を示す図である。
Another example of processing by the processing unit 13 will be described with reference to FIG. 5. FIG. 5 is a diagram showing an example of processing when adding a VPN user.
図5に示すように、受信部14が受信したxFlowパケットには、フロー統計情報として、「ExporterIP:10.0.0.1」、「outer srcIP:10.1.0.1」、「outer dstIP:10.2.0.1」、「tunnelID:AAAAA」、「sessionID:aaa」が示されている。
As shown in FIG. 5, the xFlow packet received by the receiver 14 contains the flow statistics information "ExporterIP:10.0.0.1", "outer srcIP:10.1.0.1", "outer dstIP:10.2.0.1", "tunnelID:AAAAA", and "sessionID:aaa".
加工部13は、定義情報DB16から、「VPNユーザ特定」という名称の加工内容定義を読み込む。そして、加工部13は、加工内容定義「VPNユーザ特定」と関連付けられた関連付け情報を、関連付け情報DB12から読み込む。
The processing unit 13 reads the processing content definition named "VPN user specific" from the definition information DB 16. The processing unit 13 then reads the association information associated with the processing content definition "VPN user specific" from the association information DB 12.
図5の例では、加工内容定義は、VPNのユーザを識別するキーの追加を定義する情報を含む。また、関連付け情報は、加工内容定義とVPNを特定するキーとを関連付ける情報を含む。
In the example of FIG. 5, the processing content definition includes information that defines the addition of a key that identifies a VPN user. In addition, the association information includes information that associates the processing content definition with a key that identifies the VPN.
この場合、加工内容定義の「input nw_data」に続く「outer srcIP」、「outer dstIP」、「tunnelID」、「sessionID」は、関連付けのための条件のキーを表している。
In this case, the "outer srcIP", "outer dstIP", "tunnelID", and "sessionID" following "input nw_data" in the processing content definition represent the keys for the association conditions.
すなわち、加工部13は、関連付け情報の「&」で区切られたバリュー「10.1.0.1&10.2.0.1&AAAAA&aaa」を加工元データのキー「outer srcIP」、「outer dstIP」、「tunnelID」、「sessionID」のそれぞれのバリューと突合する。
In other words, the processing unit 13 checks the value "10.1.0.1&10.2.0.1&AAAAA&aaa" separated by "&" in the association information against the values of the keys "outer srcIP", "outer dstIP", "tunnelID", and "sessionID" in the source data.
図5の例では、突合の結果、関連付け情報が示す条件が加工元データと合致するため、加工部13は、加工内容である「link」を実行し、「vpn_user」というキーにバリュー「ユーザA」を追加する加工を行う。
In the example of FIG. 5, the matching result shows that the condition indicated by the association information matches the source data, so the processing unit 13 executes the processing content "link" and performs processing to add the value "User A" to the key "vpn_user".
関連付け情報DB12に格納される関連付け情報、及び定義情報DB16に格納される加工内容定義は、ユーザが任意に設定することができる。これにより、加工内容を柔軟に定義することが可能となる。例えば、ユーザは、関連付け情報の「{」から「}」までの範囲にキー及びバリューを設定することができる。また、例えば、ユーザは、加工内容定義の「input」、「output」及び加工内容を設定することができる。
The association information stored in the association information DB 12 and the processing content definition stored in the definition information DB 16 can be set by the user as desired. This allows for flexible definition of the processing content. For example, the user can set the key and value in the range from "{" to "}" in the association information. In addition, for example, the user can set the "input" and "output" of the processing content definition and the processing content.
[条件指定による高速化]
図6、図7、図8及び図9を用いて、加工内容を変更する処理を高速化する方法を説明する図である。図6、図7、図8及び図9は、加工内容を変更する処理を高速化する方法を説明する図である。 [Speed up by specifying conditions]
A method for speeding up the process of changing the processing contents is explained using Figures 6, 7, 8, and 9. Figures 6, 7, 8, and 9 are diagrams for explaining a method for speeding up the process of changing the processing contents.
図6、図7、図8及び図9を用いて、加工内容を変更する処理を高速化する方法を説明する図である。図6、図7、図8及び図9は、加工内容を変更する処理を高速化する方法を説明する図である。 [Speed up by specifying conditions]
A method for speeding up the process of changing the processing contents is explained using Figures 6, 7, 8, and 9. Figures 6, 7, 8, and 9 are diagrams for explaining a method for speeding up the process of changing the processing contents.
加工元データのkey:value(キーとバリューの組み合わせ)が多くなるに従って、関連付け情報との突合に時間がかかるようになる。ここでは、そのような突合に要する時間を短縮するための方法として、関連付けの対象であるキーの有無を加工元データ内で検索し、加工元データ内にキーがある場合にのみ突合を行う方法を説明する。
As the number of key:values (key and value combinations) in the source data increases, it takes more time to match them with the associated information. Here, we will explain a method to shorten the time required for such matching by searching the source data for the presence or absence of the associated key, and only performing a match if the key is found in the source data.
まず、図6に示すように、加工内容定義には、事前に検索対象のキー(条件:key名)が設定されているものとする。また、関連付け情報には、事前に検索対象のバリュー(条件:値)及び付値(「{hoge}」に相当」)が設定されているものとする。
First, as shown in Figure 6, it is assumed that the search target key (condition: key name) is set in advance in the processing content definition. In addition, it is assumed that the search target value (condition: value) and assigned value (equivalent to "{hoge}") are set in advance in the association information.
図7に示すように、まず、受信部14は、変換装置30から加工元データ「nw_data」(例えば、フロー統計情報)を取得する。「nw_data」は、キーとして「key1」、「key2」、「key3」を含む。
As shown in FIG. 7, first, the receiving unit 14 obtains the original data "nw_data" (e.g., flow statistical information) from the conversion device 30. "nw_data" includes "key1", "key2", and "key3" as keys.
次に、加工部13は、定義情報DB16から、「input nw_data」と検索対象のキー「key2」を定義情報DB16から読み込む。この時点では、加工部13は、検索対象のキー以外の情報(加工内容等)を読み込まない。なお、「key2」は第3のキーの一例である。
Next, the processing unit 13 reads "input nw_data" and the search target key "key2" from the definition information DB 16. At this point, the processing unit 13 does not read any information (processing contents, etc.) other than the search target key. Note that "key2" is an example of a third key.
図8に示すように、加工部13は、加工元データのキーの中からキー「key2」を検索する。加工部13は、検索がヒットした場合、すなわち加工元データのキーの中にキー「key2」がある場合に、定義情報DB16から加工内容定義の検索対象のキー以外の情報を読み込む。
As shown in FIG. 8, the processing unit 13 searches for the key "key2" among the keys of the source data. If the search is a hit, i.e., if the key "key2" is among the keys of the source data, the processing unit 13 reads information other than the key to be searched for in the processing content definition from the definition information DB 16.
そして、加工部13は、加工内容定義「VPNユーザ特定」と関連付けられた検索対象のバリュー及び付値を、関連付け情報DB12から読み込む。なお、付値は、コマンド「add」で追加されるキーのバリューである。
Then, the processing unit 13 reads the value of the search target and the assigned value associated with the processing content definition "VPN user identification" from the association information DB 12. Note that the assigned value is the value of the key added by the command "add".
図9に示すように、加工部13は、読み込んだ情報を基に、加工内容定義「VPNユーザ特定」に従って、加工元データ「nw_data」に対しキー「new_key」を追加(add)し、当該キーの値を「hoge」に設定し、加工結果として「nw_data_result」を出力する。
As shown in FIG. 9, based on the read information, the processing unit 13 adds the key "new_key" to the source data "nw_data" in accordance with the processing content definition "VPN user identification", sets the value of the key to "hoge", and outputs the processing result "nw_data_result".
なお、図9に示すように、1つの加工内容に対して、2つ以上の「output」が存在していてもよい。
As shown in Figure 9, there may be two or more "outputs" for one processing operation.
[関連付け情報の最適化による高速化]
また、複数の関連付け情報が存在する場合、加工部13は、1つ1つの関連付け情報を参照し、突合を行うことになる。これに対して、図10に示すように、複数の関連付け情報を1つにまとめておくことで、加工部13による関連付け情報の参照及び突合が高速化される。図10は、関連付け情報の最適化について説明する図である。 [Improved speed through optimization of association information]
Furthermore, when multiple pieces of association information exist, theprocessing unit 13 refers to each piece of association information and performs matching. In contrast, by consolidating multiple pieces of association information into one as shown in Fig. 10, the speed of referring to and matching the association information by the processing unit 13 can be increased. Fig. 10 is a diagram for explaining optimization of association information.
また、複数の関連付け情報が存在する場合、加工部13は、1つ1つの関連付け情報を参照し、突合を行うことになる。これに対して、図10に示すように、複数の関連付け情報を1つにまとめておくことで、加工部13による関連付け情報の参照及び突合が高速化される。図10は、関連付け情報の最適化について説明する図である。 [Improved speed through optimization of association information]
Furthermore, when multiple pieces of association information exist, the
この場合、分析装置10は、入力された複数の関連付け情報から必要なキーの情報を抜き出して、当該キーに基づく結合処理により関連付け情報を最適化し、関連付け情報DB12に格納する。
In this case, the analysis device 10 extracts the necessary key information from the multiple pieces of association information that have been input, optimizes the association information by combining the information based on the key, and stores the association information in the association information DB 12.
このように、分析装置10は、加工内容を定義する定義情報と加工元データとを関連付ける複数の情報を集約した関連付け情報を記憶することで、処理を高速化させることができる。
In this way, the analysis device 10 can speed up processing by storing association information that consolidates multiple pieces of information that associate definition information that defines the processing content with the source data.
[並列処理による高速化]
また、図11に示すように、加工部13は、複数の加工元データについて、データ加工プロセスを並列して実行することができる。図11は、並列処理について説明する図である。データ加工プロセスは、関連付け情報の参照、突合、加工及び加工結果の登録といった加工元データのそれぞれに対する一連の処理を含む。例えば、加工部13は、マルチコアのプロセッサを用いて並列処理を行う。また、並列数はユーザによって事前に設定可能であるものとする。 [High speed through parallel processing]
As shown in Fig. 11, theprocessing unit 13 can execute data processing processes in parallel for multiple source data. Fig. 11 is a diagram for explaining parallel processing. The data processing process includes a series of processes for each source data, such as referencing association information, matching, processing, and registering the processing results. For example, the processing unit 13 performs parallel processing using a multi-core processor. The number of parallel processes can be set in advance by the user.
また、図11に示すように、加工部13は、複数の加工元データについて、データ加工プロセスを並列して実行することができる。図11は、並列処理について説明する図である。データ加工プロセスは、関連付け情報の参照、突合、加工及び加工結果の登録といった加工元データのそれぞれに対する一連の処理を含む。例えば、加工部13は、マルチコアのプロセッサを用いて並列処理を行う。また、並列数はユーザによって事前に設定可能であるものとする。 [High speed through parallel processing]
As shown in Fig. 11, the
このように、受信部14は、複数のxFlowパケットを加工元データとして受信する。その際、加工部13は、受信部14によって受信された複数の加工元データのそれぞれについて、加工内容を特定し、加工内容に従って加工元データを加工する処理を並列して実行する。
In this way, the receiving unit 14 receives multiple xFlow packets as source data. At that time, the processing unit 13 identifies the processing content for each of the multiple source data received by the receiving unit 14, and executes in parallel the process of processing the source data in accordance with the processing content.
[第1の実施形態の処理の流れ]
図12を用いて、分析装置の処理の流れを説明する。図12は、分析装置の処理の流れを説明するフローチャート図である。図12に示すように、まず、分析装置10は、加工内容定義から対象の関連付け情報、加工元データを読み込む(ステップS101)。 [Processing flow of the first embodiment]
The flow of processing by the analysis device will be described with reference to Fig. 12. Fig. 12 is a flow chart for explaining the flow of processing by the analysis device. As shown in Fig. 12, first, the analysis device 10 reads the target association information and source data from the processing content definition (step S101).
図12を用いて、分析装置の処理の流れを説明する。図12は、分析装置の処理の流れを説明するフローチャート図である。図12に示すように、まず、分析装置10は、加工内容定義から対象の関連付け情報、加工元データを読み込む(ステップS101)。 [Processing flow of the first embodiment]
The flow of processing by the analysis device will be described with reference to Fig. 12. Fig. 12 is a flow chart for explaining the flow of processing by the analysis device. As shown in Fig. 12, first, the analysis device 10 reads the target association information and source data from the processing content definition (step S101).
例えば、分析装置10は、加工元データを取得したタイミングで、定義情報DB16を参照し、加工内容定義に対応する関連付け情報を関連付け情報DB12から取得し、さらに加工内容定義に示される突合対象の加工元データ(例えば「input」)を読み込む。
For example, when the analysis device 10 acquires the source data, it refers to the definition information DB 16, acquires association information corresponding to the processing content definition from the association information DB 12, and further reads the source data (e.g., "input") to be matched as indicated in the processing content definition.
ここで、分析装置10は、加工元データと関連付け情報のkey:valueを突合する(ステップS102)。加工元データと関連付け情報のkey:valueが一致しない場合(ステップS103、No)、分析装置10は処理を終了する。
The analysis device 10 then compares the key:value of the original data with that of the association information (step S102). If the key:value of the original data and the association information do not match (step S103, No), the analysis device 10 ends the process.
一方、加工元データと関連付け情報のkey:valueが一致する場合(ステップS103、Yes)、分析装置10は加工内容定義の加工内容を実行する(ステップS104)。そして、分析装置10は、加工内容の結果を出力する(ステップS105)。
On the other hand, if the key:value of the original data matches the key:value of the association information (step S103, Yes), the analysis device 10 executes the processing content of the processing content definition (step S104). Then, the analysis device 10 outputs the result of the processing content (step S105).
図13を用いて、条件指定による処理の高速化を行う場合の、分析装置の処理の流れを説明する。図13は、分析装置の処理の流れを説明するフローチャート図である。
The process flow of the analysis device when speeding up processing by specifying conditions is explained using FIG. 13. FIG. 13 is a flow chart that explains the process flow of the analysis device.
図13に示すように、まず、分析装置10は、加工内容定義から条件:key名と加工元データ(例えば「input」)を読み込む(ステップS201)。
As shown in FIG. 13, first, the analysis device 10 reads the condition:key name and source data (e.g., "input") from the processing content definition (step S201).
次に、分析装置10は、加工元データを検索し、条件:key名が含まれる場合、加工内容定義の関連付け情報、加工内容を読み込む(ステップS202)。さらに、分析装置10は、条件:key名に対応する条件:値を関連付け情報から取得する(ステップS203)。
The analysis device 10 then searches the source data, and if the data contains the condition:key name, it reads the association information of the processing content definition and the processing content (step S202). Furthermore, the analysis device 10 obtains the condition:value corresponding to the condition:key name from the association information (step S203).
そして、分析装置10は、条件と加工元データのkey:valueを突合し、一致した場合、加工内容定義の加工内容を実行する(ステップS204)。
Then, the analysis device 10 compares the conditions with the key:value of the source data, and if they match, executes the processing content of the processing content definition (step S204).
[第1の実施形態の効果]
これまで説明してきたように、分析装置10は、加工内容を定義する定義情報と加工元データとを関連付ける情報である関連付け情報と、定義情報と、を記憶する。また、分析装置10は、受信部14及び加工部13を有する。受信部14は、ネットワークに関する情報を示すキーバリュー形式のデータを加工元データとして受信する。加工部13は、関連付け情報を基に、受信部14によって受信された加工元データの加工内容を特定し、加工内容に従って加工元データを加工する。この結果、第1の実施形態によれば、ユーザが定義情報と関連付け情報を設定することにより、フロー情報の加工内容を容易に変更することが可能になる。 [Effects of the First Embodiment]
As described above, the analysis device 10 stores definition information and association information that associates definition information that defines processing contents with source data. The analysis device 10 also has a receivingunit 14 and a processing unit 13. The receiving unit 14 receives data in a key-value format that indicates information related to the network as source data. The processing unit 13 identifies the processing contents of the source data received by the receiving unit 14 based on the association information, and processes the source data in accordance with the processing contents. As a result, according to the first embodiment, the user can easily change the processing contents of the flow information by setting the definition information and association information.
これまで説明してきたように、分析装置10は、加工内容を定義する定義情報と加工元データとを関連付ける情報である関連付け情報と、定義情報と、を記憶する。また、分析装置10は、受信部14及び加工部13を有する。受信部14は、ネットワークに関する情報を示すキーバリュー形式のデータを加工元データとして受信する。加工部13は、関連付け情報を基に、受信部14によって受信された加工元データの加工内容を特定し、加工内容に従って加工元データを加工する。この結果、第1の実施形態によれば、ユーザが定義情報と関連付け情報を設定することにより、フロー情報の加工内容を容易に変更することが可能になる。 [Effects of the First Embodiment]
As described above, the analysis device 10 stores definition information and association information that associates definition information that defines processing contents with source data. The analysis device 10 also has a receiving
分析装置10は、第1のキーの追加を定義する定義情報と加工元データに含まれる第2のキーとを関連付ける関連付け情報を記憶する。また、加工部13は、加工元データに第2のキーが含まれる場合、第1のキーを加工元データに追加する。これにより、キーの追加を行う加工を容易に実行することが可能になる。
The analysis device 10 stores association information that associates definition information that defines the addition of a first key with a second key included in the source data. Furthermore, when the source data includes a second key, the processing unit 13 adds the first key to the source data. This makes it possible to easily execute processing that adds a key.
分析装置10は、VPNのユーザを識別する第1のキーの追加を定義する定義情報と、VPNを特定する第2のキーとを関連付ける関連付け情報を記憶する。これにより、VPNユーザを特定するキーの追加を行う加工を容易に実行することが可能になる。
The analysis device 10 stores definition information that defines the addition of a first key that identifies a VPN user, and association information that associates a second key that identifies the VPN. This makes it possible to easily perform processing to add a key that identifies a VPN user.
分析装置10は、第3のキーを特定する情報及び加工内容を定義情報として記憶する。また、加工部13は、受信部14によって受信された加工元データに第3のキーが含まれる場合、第3のキーに関連付けられた加工内容を定義情報から読み込み、読み込んだ加工内容に従って加工元データを加工する。この場合、分析装置10は、第3のキーが加工元データに含まれ場合にのみ加工内容を読み込めばよいため、処理が高速化される。
The analysis device 10 stores information identifying the third key and the processing content as definition information. Furthermore, when the source data received by the receiving unit 14 contains the third key, the processing unit 13 reads the processing content associated with the third key from the definition information and processes the source data according to the read processing content. In this case, the analysis device 10 only needs to read the processing content when the source data contains the third key, which speeds up processing.
分析装置10は、加工内容を定義する定義情報と加工元データとを関連付ける複数の情報を集約した関連付け情報を記憶する。これにより、関連付け情報を参照する回数を低減させ、分析装置10の処理を高速化させることができる。
The analysis device 10 stores association information that consolidates multiple pieces of information that associate definition information that defines the processing content with the source data. This reduces the number of times the association information is referenced, and speeds up the processing of the analysis device 10.
受信部14は、複数の加工元データを受信する。加工部13は、受信部14によって受信された複数の加工元データのそれぞれについて、加工内容を特定し、加工内容に従って加工元データを加工する処理を並列して実行する。これにより、複数の加工元データに対する分析装置10の処理を高速化させることができる。
The receiving unit 14 receives multiple pieces of source data. The processing unit 13 identifies the processing content for each of the multiple pieces of source data received by the receiving unit 14, and executes in parallel the process of processing the source data according to the processing content. This makes it possible to speed up the processing of the multiple pieces of source data by the analysis device 10.
[システム構成等]
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散及び統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散又は統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部又は任意の一部が、CPU(Central Processing Unit)及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。なお、プログラムは、CPUだけでなく、GPU等の他のプロセッサによって実行されてもよい。 [System configuration, etc.]
In addition, each component of each device shown in the figure is functionally conceptual, and does not necessarily have to be physically configured as shown in the figure. In other words, the specific form of distribution and integration of each device is not limited to that shown in the figure, and all or a part of it can be functionally or physically distributed or integrated in any unit according to various loads, usage conditions, etc. Furthermore, each processing function performed by each device can be realized in whole or in any part by a CPU (Central Processing Unit) and a program analyzed and executed by the CPU, or can be realized as hardware by wired logic. Note that the program may be executed not only by the CPU but also by other processors such as a GPU.
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散及び統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散又は統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部又は任意の一部が、CPU(Central Processing Unit)及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。なお、プログラムは、CPUだけでなく、GPU等の他のプロセッサによって実行されてもよい。 [System configuration, etc.]
In addition, each component of each device shown in the figure is functionally conceptual, and does not necessarily have to be physically configured as shown in the figure. In other words, the specific form of distribution and integration of each device is not limited to that shown in the figure, and all or a part of it can be functionally or physically distributed or integrated in any unit according to various loads, usage conditions, etc. Furthermore, each processing function performed by each device can be realized in whole or in any part by a CPU (Central Processing Unit) and a program analyzed and executed by the CPU, or can be realized as hardware by wired logic. Note that the program may be executed not only by the CPU but also by other processors such as a GPU.
また、本実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
Furthermore, among the processes described in this embodiment, all or part of the processes described as being performed automatically can be performed manually, or all or part of the processes described as being performed manually can be performed automatically using known methods. In addition, the information including the processing procedures, control procedures, specific names, various data, and parameters shown in the above documents and drawings can be changed as desired unless otherwise specified.
[プログラム]
一実施形態として、分析装置10は、パッケージソフトウェアやオンラインソフトウェアとして上記の分析処理を実行する分析プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の分析プログラムを情報処理装置に実行させることにより、情報処理装置を分析装置10として機能させることができる。ここで言う情報処理装置には、デスクトップ型又はノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やPHS(Personal Handyphone System)等の移動体通信端末、さらには、PDA(Personal Digital Assistant)等のスレート端末等がその範疇に含まれる。 [program]
In one embodiment, the analysis device 10 can be implemented by installing an analysis program that executes the above-mentioned analysis process as package software or online software on a desired computer. For example, the above-mentioned analysis program can be executed by an information processing device, causing the information processing device to function as the analysis device 10. The information processing device here includes desktop or notebook personal computers. In addition, the information processing device also includes mobile communication terminals such as smartphones, mobile phones, and PHS (Personal Handyphone Systems), as well as slate terminals such as PDAs (Personal Digital Assistants).
一実施形態として、分析装置10は、パッケージソフトウェアやオンラインソフトウェアとして上記の分析処理を実行する分析プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の分析プログラムを情報処理装置に実行させることにより、情報処理装置を分析装置10として機能させることができる。ここで言う情報処理装置には、デスクトップ型又はノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やPHS(Personal Handyphone System)等の移動体通信端末、さらには、PDA(Personal Digital Assistant)等のスレート端末等がその範疇に含まれる。 [program]
In one embodiment, the analysis device 10 can be implemented by installing an analysis program that executes the above-mentioned analysis process as package software or online software on a desired computer. For example, the above-mentioned analysis program can be executed by an information processing device, causing the information processing device to function as the analysis device 10. The information processing device here includes desktop or notebook personal computers. In addition, the information processing device also includes mobile communication terminals such as smartphones, mobile phones, and PHS (Personal Handyphone Systems), as well as slate terminals such as PDAs (Personal Digital Assistants).
また、分析装置10は、ユーザが使用する端末装置をクライアントとし、当該クライアントに上記の分析処理に関するサービスを提供する分析サーバ装置として実装することもできる。例えば、分析サーバ装置は、ネットワークに関する情報を示すキーバリュー形式のデータ(例えば、xFlowパケット)を入力とし、分析結果を出力とする分析サービスを提供するサーバ装置として実装される。この場合、分析サーバ装置は、Webサーバとして実装することとしてもよいし、アウトソーシングによって上記の分析処理に関するサービスを提供するクラウドとして実装することとしてもかまわない。
The analysis device 10 can also be implemented as an analysis server device that provides services related to the above-mentioned analysis processing to a client, the client being a terminal device used by a user. For example, the analysis server device is implemented as a server device that provides an analysis service that takes as input key-value format data (e.g., xFlow packets) that indicates information about the network, and outputs the analysis results. In this case, the analysis server device may be implemented as a web server, or may be implemented as a cloud that provides services related to the above-mentioned analysis processing through outsourcing.
図14は、分析プログラムを実行するコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
FIG. 14 is a diagram showing an example of a computer that executes an analysis program. The computer 1000 has, for example, a memory 1010 and a CPU 1020. The computer 1000 also has a hard disk drive interface 1030, a disk drive interface 1040, a serial port interface 1050, a video adapter 1060, and a network interface 1070. Each of these components is connected by a bus 1080.
メモリ1010は、ROM(Read Only Memory)1011及びRAM(Random Access Memory)1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
The memory 1010 includes a ROM (Read Only Memory) 1011 and a RAM (Random Access Memory) 1012. The ROM 1011 stores a boot program such as a BIOS (Basic Input Output System). The hard disk drive interface 1030 is connected to a hard disk drive 1090. The disk drive interface 1040 is connected to a disk drive 1100. A removable storage medium such as a magnetic disk or optical disk is inserted into the disk drive 1100. The serial port interface 1050 is connected to a mouse 1110 and a keyboard 1120, for example. The video adapter 1060 is connected to a display 1130, for example.
ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、分析装置10の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、分析装置10における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSD(Solid State Drive)により代替されてもよい。
The hard disk drive 1090 stores, for example, an OS 1091, an application program 1092, a program module 1093, and program data 1094. That is, the programs that define each process of the analysis device 10 are implemented as program modules 1093 in which computer-executable code is written. The program modules 1093 are stored, for example, in the hard disk drive 1090. For example, a program module 1093 for executing processes similar to the functional configuration of the analysis device 10 is stored in the hard disk drive 1090. The hard disk drive 1090 may be replaced by an SSD (Solid State Drive).
また、上述した実施形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020は、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して、上述した実施形態の処理を実行する。
Furthermore, the setting data used in the processing of the above-mentioned embodiment is stored as program data 1094, for example, in memory 1010 or hard disk drive 1090. Then, the CPU 1020 reads out the program module 1093 or program data 1094 stored in memory 1010 or hard disk drive 1090 into RAM 1012 as necessary, and executes the processing of the above-mentioned embodiment.
なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
The program module 1093 and program data 1094 may not necessarily be stored in the hard disk drive 1090, but may be stored in a removable storage medium, for example, and read by the CPU 1020 via the disk drive 1100 or the like. Alternatively, the program module 1093 and program data 1094 may be stored in another computer connected via a network (such as a LAN (Local Area Network), WAN (Wide Area Network)). The program module 1093 and program data 1094 may then be read by the CPU 1020 from the other computer via the network interface 1070.
10 分析装置
11 収集部
12 関連付け情報DB
13 加工部
14 受信部
15 フロー統計情報DB
16 定義情報DB
20 OpS
30 変換装置
40 端末装置 10 Analysis device 11 Collection unit 12 Association information DB
13Processing unit 14 Receiving unit 15 Flow statistics information DB
16 Definition information DB
20 OpS
30 Conversion device 40 Terminal device
11 収集部
12 関連付け情報DB
13 加工部
14 受信部
15 フロー統計情報DB
16 定義情報DB
20 OpS
30 変換装置
40 端末装置 10 Analysis device 11 Collection unit 12 Association information DB
13
16 Definition information DB
20 OpS
30 Conversion device 40 Terminal device
Claims (8)
- 加工内容を定義する定義情報と加工元データとを関連付ける情報である関連付け情報と、前記定義情報と、を記憶する記憶部と、
ネットワークに関する情報を示すキーバリュー形式のデータを加工元データとして受信する受信部と、
前記関連付け情報を基に、前記受信部によって受信された加工元データの加工内容を特定し、前記加工内容に従って前記加工元データを加工する加工部と、
を有することを特徴とする分析装置。 A storage unit that stores definition information that defines processing content and association information that associates the processing source data with each other, and the definition information;
A receiving unit that receives data in a key-value format indicating information related to a network as source data;
a processing unit that specifies processing details of the original data received by the receiving unit based on the association information, and processes the original data in accordance with the processing details;
An analytical device comprising: - 前記記憶部は、第1のキーの追加を定義する定義情報と加工元データに含まれる第2のキーとを関連付ける関連付け情報を記憶し、
前記加工部は、前記加工元データに前記第2のキーが含まれる場合、前記第1のキーを前記加工元データに追加することを特徴とする請求項1に記載の分析装置。 the storage unit stores definition information defining the addition of a first key and association information associating a second key included in the original data;
The analysis device according to claim 1 , wherein the processing unit adds the first key to the original data when the original data includes the second key. - 前記記憶部は、VPNのユーザを識別する前記第1のキーの追加を定義する定義情報と、VPNを特定する前記第2のキーとを関連付ける関連付け情報を記憶することを特徴とする請求項2に記載の分析装置。 The analysis device according to claim 2, characterized in that the storage unit stores definition information that defines the addition of the first key that identifies a user of a VPN and association information that associates the second key that identifies the VPN.
- 前記記憶部は、第3のキーを特定する情報及び加工内容を前記定義情報として記憶し、
前記加工部は、前記受信部によって受信された加工元データに前記第3のキーが含まれる場合、前記第3のキーに関連付けられた加工内容を前記定義情報から読み込み、読み込んだ前記加工内容に従って前記加工元データを加工することを特徴とする請求項1に記載の分析装置。 the storage unit stores information for identifying a third key and a processing content as the definition information;
The analysis device according to claim 1, characterized in that, when the original data received by the receiving unit includes the third key, the processing unit reads processing content associated with the third key from the definition information, and processes the original data in accordance with the read processing content. - 前記記憶部は、加工内容を定義する定義情報と加工元データとを関連付ける複数の情報を集約した関連付け情報を記憶することを特徴とする請求項1に記載の分析装置。 The analysis device according to claim 1, characterized in that the storage unit stores association information that consolidates multiple pieces of information that associate definition information that defines processing content with the source data.
- 前記受信部は、複数の加工元データを受信し、
前記加工部は、前記受信部によって受信された複数の加工元データのそれぞれについて、加工内容を特定し、前記加工内容に従って前記加工元データを加工する処理を並列して実行することを特徴とする請求項1に記載の分析装置。 The receiving unit receives a plurality of original data,
The analysis device according to claim 1 , characterized in that the processing unit identifies processing content for each of the plurality of original data received by the receiving unit, and performs a process in parallel to process the original data in accordance with the processing content. - 分析装置によって実行される分析方法であって、
ネットワークに関する情報を示すキーバリュー形式のデータを加工元データとして受信する受信工程と、
加工内容を定義する定義情報と加工元データとを関連付ける情報である関連付け情報と、前記定義情報と、を記憶する記憶部を参照し、前記関連付け情報を基に、前記受信工程によって受信された加工元データの加工内容を特定し、前記加工内容に従って前記加工元データを加工する加工工程と、
を含むことを特徴とする分析方法。 An analytical method performed by an analytical device, comprising:
A receiving step of receiving data in a key-value format indicating information related to a network as source data;
a processing step of referring to a storage unit that stores association information, which is information that associates definition information that defines processing contents with source data, and the definition information, specifying processing contents of the source data received by the receiving step based on the association information, and processing the source data in accordance with the processing contents;
An analytical method comprising the steps of: - 分析装置によって実行される分析方法であって、
ネットワークに関する情報を示すキーバリュー形式のデータを加工元データとして受信する受信ステップと、
加工内容を定義する定義情報と加工元データとを関連付ける情報である関連付け情報と、前記定義情報と、を記憶する記憶部を参照し、前記関連付け情報を基に、前記受信ステップによって受信された加工元データの加工内容を特定し、前記加工内容に従って前記加工元データを加工する加工ステップと、
をコンピュータに実行させることを特徴とする分析プログラム。 An analytical method performed by an analytical device, comprising:
A receiving step of receiving data in a key-value format indicating information related to a network as source data;
a processing step of referring to a storage unit that stores association information, which is information that associates definition information that defines processing contents with original data, and the definition information, specifying processing contents of the original data received in the receiving step based on the association information, and processing the original data in accordance with the processing contents;
An analysis program characterized by causing a computer to execute the above.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2022/043380 WO2024111088A1 (en) | 2022-11-24 | 2022-11-24 | Analysis device, analysis method, and analysis program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2022/043380 WO2024111088A1 (en) | 2022-11-24 | 2022-11-24 | Analysis device, analysis method, and analysis program |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2024111088A1 true WO2024111088A1 (en) | 2024-05-30 |
Family
ID=91196028
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2022/043380 WO2024111088A1 (en) | 2022-11-24 | 2022-11-24 | Analysis device, analysis method, and analysis program |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2024111088A1 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009033215A (en) * | 2007-07-24 | 2009-02-12 | Nippon Telegr & Teleph Corp <Ntt> | Vpn user management method, vpn service network system, vpn connection server, vpn transfer device, and program |
JP2011166375A (en) * | 2010-02-08 | 2011-08-25 | Nippon Telegr & Teleph Corp <Ntt> | Device, method, program and system for setting access control, and access control device |
JP2012044601A (en) * | 2010-08-23 | 2012-03-01 | Nippon Telegr & Teleph Corp <Ntt> | Setting system, setting method, and setting program |
JP2018528699A (en) * | 2015-09-11 | 2018-09-27 | 新華三技術有限公司New H3C Technologies Co., Ltd | Packet processing |
WO2022176035A1 (en) * | 2021-02-16 | 2022-08-25 | 日本電信電話株式会社 | Conversion device, conversion method, and conversion program |
-
2022
- 2022-11-24 WO PCT/JP2022/043380 patent/WO2024111088A1/en unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009033215A (en) * | 2007-07-24 | 2009-02-12 | Nippon Telegr & Teleph Corp <Ntt> | Vpn user management method, vpn service network system, vpn connection server, vpn transfer device, and program |
JP2011166375A (en) * | 2010-02-08 | 2011-08-25 | Nippon Telegr & Teleph Corp <Ntt> | Device, method, program and system for setting access control, and access control device |
JP2012044601A (en) * | 2010-08-23 | 2012-03-01 | Nippon Telegr & Teleph Corp <Ntt> | Setting system, setting method, and setting program |
JP2018528699A (en) * | 2015-09-11 | 2018-09-27 | 新華三技術有限公司New H3C Technologies Co., Ltd | Packet processing |
WO2022176035A1 (en) * | 2021-02-16 | 2022-08-25 | 日本電信電話株式会社 | Conversion device, conversion method, and conversion program |
Non-Patent Citations (1)
Title |
---|
ZEYDAN ENGIN, MANGUES-BAFALLUY JOSEP: "Recent Advances in Data Engineering for Networking", IEEE ACCESS, IEEE, USA, vol. 10, 1 January 2022 (2022-01-01), USA , pages 34449 - 34496, XP093173061, ISSN: 2169-3536, DOI: 10.1109/ACCESS.2022.3162863 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107665191B (en) | Private protocol message format inference method based on extended prefix tree | |
US6324637B1 (en) | Apparatus and method for loading objects from a primary memory hash index | |
US9104582B1 (en) | Optimized data storage | |
RU2608874C2 (en) | Method and device for modifying and forwarding messages in data network | |
CN112154420B (en) | Automatic intelligent cloud service testing tool | |
JPWO2018066228A1 (en) | Flow information analysis apparatus, flow information analysis method, and flow information analysis program | |
CN109948334B (en) | Vulnerability detection method and system, electronic equipment and storage medium | |
EP3364627B1 (en) | Adaptive session intelligence extender | |
CN111683066A (en) | Heterogeneous system integration method and device, computer equipment and storage medium | |
US11558283B2 (en) | Information collecting system and information collecting method | |
CN108845843A (en) | A kind of function processing method, device and relevant device | |
WO2024111088A1 (en) | Analysis device, analysis method, and analysis program | |
US20220400079A1 (en) | Sort device, sort method, and sort program | |
JP7517583B2 (en) | CONVERSION DEVICE, CONVERSION METHOD, AND CONVERSION PROGRAM | |
US20240015049A1 (en) | Transfer device, transfer method, and transfer program | |
US11838322B2 (en) | Phishing site detection device, phishing site detection method and phishing site detection program | |
CN113204683B (en) | Information reconstruction method and device, storage medium and electronic equipment | |
WO2020259704A1 (en) | Data compression and data decompression methods for electronic device, and electronic device | |
WO2023144946A1 (en) | Analysis device, analysis method, and analysis program | |
KR20120084880A (en) | Inputformat for handling network packet data on hadoop mapreduce | |
CN113938462A (en) | Domain name resolution method, domain name resolution device, electronic equipment and storage medium | |
WO2024024058A1 (en) | Analysis device, analysis method, analysis program, and analysis system | |
CN114371808B (en) | Scheduling system-based flow node parameter transmission method and system | |
US20200358706A1 (en) | Computer-readable recording medium recording packet classification program, packet classification method, and information processing apparatus | |
KR102055494B1 (en) | Code processor for signature and PCRE search, and method for searching signature and PCRE using the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22966498 Country of ref document: EP Kind code of ref document: A1 |