This application is a National Stage application under 35 U.S.C. § 371 of International Application No. PCT/JP2021/005778, having an International Filing Date of Feb. 16, 2021.
The disclosure of the prior application is considered part of the disclosure of this application, and is incorporated by reference in its entirety into this application.
The present invention relates to a conversion device, a conversion method, and a conversion program.
There is an xFlow technique of performing packing sampling for network monitoring and traffic trend analysis and aggregating and analyzing traffic by transferring flow statistical information calculated from header information and a header itself (header sample).
Also, as a technique of analyzing an encapsulated packet, there is a format conversion technique of allowing a packet inside a capsule to be extracted and analyzed in a RAW packet and a header sample xFlow packet. Furthermore, there is a technique of registering, in a database, the correspondence between a packet header inside a capsule and a packet header outside the capsule for an encapsulated packet.
However, a format conversion technique in the related art has a problem that it is not possible to perform flexible processing and analysis which varies in accordance with the attributes of the business operator. For example, a format conversion technique in the related art can only perform uniform processing according to an encapsulation format of an input packet and cannot branch processing depending on the contents of the packet headers inside and outside the capsule. Thus, there is a problem that it is not possible to perform different processing or analysis for each attribute of a business operator or the like for encapsulated packets on a network which is used by a plurality of business operators.
The present invention was made in view of the above circumferences, and an object of the present invention is to provide a conversion device, a conversion method, and a conversion program capable of performing flexible processing and analysis which is different for each attribute of a business operator or the like.
In order to solve the above problem and to achieve the purpose, a conversion device of the present invention includes: an analysis unit which analyzes input packets and acquires header information included in each of the packets; a grouping unit which classifies the packets into one of a plurality of groups on the basis of the header information acquired using the analysis unit and set grouping conditions; and a generation unit which generates packets for analysis on the basis of processing corresponding to the groups classified using the grouping unit.
Also, a conversion method of the present invention is a conversion method performed by a conversion device including: an analysis step of analyzing input packets and acquiring header information included in each of the packets; a grouping step of classifying the packets into one of a plurality of groups on the basis of the header information obtained through the analyzing step and set grouping conditions; and a generation step of generating packets for analysis on the basis of processing corresponding to the groups classified through the grouping step.
Moreover, a conversion program of to the present invention causes a computer to execute: an analysis step of analyzing input packets and acquiring header information included in each of the packets; a grouping step of classifying the packets into one of a plurality of groups on the basis of the header information obtained through the analyzing step and set grouping conditions; and a generation step of generating packets for analysis on the basis of processing corresponding to the groups classified through the grouping step.
According to the present invention, it is possible to perform flexible processing and analysis which is different for each attribute of a business operator or the like.
Embodiments of a conversion device, a conversion method, and a conversion program according to the present application will be described below in detail with reference to the drawings. Moreover, the present invention is not limited to the embodiments described below.
First, an embodiment will be described. When converting a format of an encapsulated packet, the conversion device 10 according to the embodiment provides a group identifier (group ID) to each packet on the basis of the conditions of either one or both of the packet header outside the capsule (outer header) and the packet header inside the capsule (inner header) set in advance. Also, the conversion device 10 performs different processing for each group, such as deletion of the capsule outer packet header, statistical processing, change of the transmission destination IP address, or the like on the basis of the group ID to enable individual processing and analysis for each attribute of the network use business operator or the like.
[Configuration of Communication System]
Each of the NW devices 2 samples packets in traffic to be monitored. The NW device 2, for example, may transfer a mirrored encapsulated packet to the conversion device 10 and may cut sampled packet header samples and transfer an xFlow packet obtained by encapsulating the cut header samples to the conversion device 10. At this time, the NW device 2 may transfer statistical information about a flow such as the number of packets to the conversion device 10 by adding it to the xFlow packet to be transferred or as another xFlow packet.
The conversion device 10 converts xFlow packets input from various NW devices 2 into xFlow packets having a format corresponding to the processing content of the external analysis device 3. Specifically, the conversion device 10 identifies header information using protocol analysis and performs grouping on the basis of conditions. Also, the conversion device 10 performs processing defined for each group and transmits the generated packet to the analysis device 3. For example, as processing defined for each group, the conversion device 10 obtains statistics of inner headers of xFlow packets input from various NW devices 2, generates an xFlow packet including at least statistical information indicating the obtained statistics of the inner header, and transmits the generated xFlow packet to the external analysis device 3.
Each analysis device 3 analyzes the traffic to be monitored and aggregates the packets in the traffic to be monitored. For example, the analysis device 3 uses the statistical information included in the xFlow packets converted by the conversion device 10 to perform analysis and aggregation.
[Configuration of Conversion Device]
A configuration of the conversion device 10 will be described below.
As shown in
A grouping condition DB 14 stores grouping conditions which are conditions for grouping input packets. The grouping conditions are set in advance by an operator and can be changed, added, or deleted as appropriate. Also, the grouping condition DB 14 stores information about either one or both of the outer header and the inner header as grouping conditions.
Here, an example of information stored in the grouping condition DB 14 will be described with reference to
As illustrated in
Also, the grouping conditions exemplified in
The group processing DB 15 stores processing defined for each group. That is, the group processing DB 15 stores details of processing to be performed for each group of packets classified by the grouping unit 12 which will be described later. For example, the group processing DB 15 stores the processing content and the transmission destination of the generated analysis packet in association with the group ID.
The conditions and processes stored in the grouping condition DB 14 and the group processing DB 15 are set in advance by the operator and can be changed, added, and deleted as appropriate. That is, in the conversion device 10, the grouping condition DB 14 and the group processing DB 15 can store conditions for narrowing down packets to be statistically processed and processing for transmitting information necessary for analysis to the analysis device 3 to perform different processing and analysis for each attribute of business operators or the like.
The packet analysis unit 11 analyzes the information of the input packet and acquires the header information included in the packet. For example, the packet analysis unit 11 performs protocol analysis on encapsulated packets or xFlow packets if receiving an input of an xFlow packet including a header sample which is an encapsulated packet (RAW packet) or a header part itself and identifies header information by extracting one or both of the outer header and the inner header.
The grouping unit 12 classifies packets into one of a plurality of groups on the basis of the header information acquired using the packet analysis unit 11 and the set grouping condition. For example, the grouping unit 12 classifies the packets into one of a plurality of groups on the basis of one or both of the outer header and the inner header, which are header information, as grouping conditions. Specifically, the grouping unit 12 refers to the grouping conditions stored in the grouping condition DB 14 and uses one or both of the outer header and the inner header extracted using the packet analysis unit 11 to classify the input packets into groups in which the grouping conditions are satisfied.
The generation unit 13 generates analysis packets corresponding to the groups classified using the grouping unit 12. For example, the generation unit 13 acquires statistics of inner headers as processing corresponding to groups, acquires a process of generating an xFlow packet including at least statistical information indicative of inner header statistics and the statistics of the outer header, removes the process of generating an xFlow packet including at least statistical information indicative of the statistics of the outer header, and performs one or more of the processes of generating (shaping) a packet whose transmission destination is rewritten to the external analysis device 3. Note that the process of generating a packet by the generation unit 13 includes a process of generating a new packet for analysis and a process of rewriting or deleting information in the input encapsulated packet to shape it into a packet for analysis.
Specifically, the generation unit 13 refers to the information of the processing defined for each group stored in the group processing DB 15 and performs the processing corresponding to the group for each grouped packet to generate packets for analysis.
Here, the flow of processing in the conversion device 10 will be described with reference to
Also, the conversion device 10 groups the input packets on the basis of the grouping conditions (refer to (2) of
Subsequently, the conversion device 10 performs processing defined for each group (refer to (3) in
Also, for example, the conversion device 10 obtains statistics of inner headers for packets classified into Group “#2” and generates xFlow packets including at least statistical information indicating the statistics of the inner headers. Furthermore, the conversion device 10 transmits the generated xFlow packet using the xFlow analysis device 3B (also described as transmission destination “analysis B” in
Also, for example, the conversion device 10 removes the outer header from the packets classified into Group “#3” and generates (shapes) the packets using the transmission destination rewritten to the external analysis device 3. Furthermore, the conversion device 10 transmits the generated packet using a packet capture device 3C (also described as transmission destination “capture C” in
For example, when performing statistical processing like processing corresponding to Groups “#1” and “#2”, the conversion device 10 performs statistical processing to generate and transmit packets when the number of grouped packets reaches a predetermined number. Also, for example, the conversion device 10 generates and transmits a packet each time it is grouped into Group “#3” when removing the outer header and rewriting the transmission destination to the external analysis device 3 as in the processing corresponding to Group “#3”.
Furthermore, the conversion device 10 may automatically optimize the grouping conditions. That is, in the conversion device 10, for example, it is possible to minimize the number of times the conditions are referred to and improve the processing speed by optimizing the conditions when reading the set grouping conditions.
For example, in the grouping unit 12 of the conversion device 10, as grouping conditions, a plurality of conditions of the same kind may be set as conditions of the same group, and when it is possible to change to a higher-level condition which includes all of the plurality of conditions of the same type, the plurality of conditions of the same type may be changed to a higher-level condition.
Here, the optimization processing of grouping conditions will be described using the example of
That is, both the grouping conditions “#1” and “#2” are classified into a group “A” using the Src IP as a condition and a plurality of conditions of the same kind are set as conditions of the same group.
In such a case, the grouping unit 12 includes both conditions “192.168.0.0/24” and “192.168.1.0/24” for the grouping conditions “#1” and “#2” and changes the upper condition to “192.168.0.0/23” which is the same condition. For example, in the example of
Also, the grouping condition DB 14 stores a grouping condition “#3” in which the corresponding packet is classified into group ID “B” when the protocol contained in the inner header is “TCP” and the Src Port is “443” and a grouping condition “#4” in which the corresponding packet is classified into group ID “B” when the protocol included in the inner header is “UDP” and the Src Port is “443”. That is, the grouping conditions “#3” and “#4” are both classified into a group “B” using protocol and Src Port as conditions and are set using a plurality of conditions of the same kind as conditions of the same group.
In such a case, the grouping unit 12 includes conditions for both protocols “TCP” and “UDP” for the grouping conditions “#3” and “#4”, performs change to “*” which is a wild card as a higher-level condition and uses “443” as it is because the Src Port is common. For example, in the example of
[Processing Procedure of Conversion Processing]
A processing procedure of packet conversion processing performed by the conversion device 10 will be described below.
As shown in
Also, the grouping unit 12 provides a group ID to each packet (Step S103). For example, the grouping unit 12 classifies the packets into one of a plurality of groups on the basis of one or both of the outer header and the inner header, which are header information, as grouping conditions.
Subsequently, the generation unit 13 performs a process defined for each group (Step S104) and transmits packets for analysis to the analysis device 3 (Step S105). For example, the generation unit 13 refers to information about processing defined for each group stored in the group processing DB 15 and generates packets for analysis by performing a process corresponding to each grouped packet.
As described above, the conversion device 10 according to the embodiment analyzes an input packet and acquires header information included in the packet. Also, the conversion device 10 classifies the packets into one of the plurality of groups on the basis of the acquired header information and the set grouping condition. Subsequently, the conversion device 10 generates packets for analysis on the basis of processing corresponding to the classified groups. Therefore, the conversion device 10 can perform flexible processing and analysis which differ for each attribute of a business operator.
That is, the conversion device 10 can group input packets and perform different processing for each group, such as deleting the capsule outer packet header, statistical processing, and changing the transmission destination IP address, thereby flexibly performing individual processing and analysis for each attribute of the network user or the like.
The conversion device 10 identifies a packet on the basis of the packet header information in a network to which an encapsulated packet used by a plurality of business operators is transferred, and can perform different processing and analysis for each attribute of the business operators or the like.
Each constituent element of the conversion device 10 shown in
Also, each process performed in the conversion device 10 may be implemented entirely or in part by a CPU and a program which is analyzed and executed by the CPU. Also, each process performed in the conversion device 10 may be realized as hardware by wired logic.
In addition, of the processes described in the embodiments, all or a part of the processes described as being automatically performed can also be performed manually. Alternatively, all or a part of the processes described as being performed manually can be performed automatically by known methods. Besides, the above-described and illustrated processing procedures, control procedures, specific names, and information including various data and parameters can be changed as appropriate unless otherwise specified.
[Program]
A memory 1010 includes a ROM 1011 and a RAM 1012. The ROM 1011 stores, for example, a boot program such as a basic input output system (BIOS). 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. For example, a removable storage medium such as a magnetic disk or an optical disc is inserted into the disk drive 1100. The serial port interface 1050 is connected to, for example, a mouse 1110 and a keyboard 1120. The video adapter 1060 is connected to, for example, a display 1130.
The hard disk drive 1090 stores, for example, an operating system (OS) 1091, an application program 1092, a program module 1093, and program data 1094. That is, a program which defines each process of the conversion device 10 is implemented as a program module 1093 in which a code which can be executed using the computer 1000 is described. The program module 1093 is stored in, for example, the hard disk drive 1090. For example, the hard disk drive 1090 stores a program module 1093 for performing processing similar to the functional configuration in the conversion device 10. Note that the hard disk drive 1090 may be replaced with a solid state drive (SSD).
Furthermore, the setting data used in the processing of the above-described embodiment is stored, for example, in the memory 1010 or the hard disk drive 1090 as the program data 1094. Also, the CPU 1020 reads the program module 1093 and the program data 1094 stored in the memory 1010 or the hard disk drive 1090 into the RAM 1012 and performs them as necessary.
Note that the program module 1093 and the program data 1094 are not limited to being stored in the hard disk drive 1090 and may be stored in a removable storage medium, for example, and read using the CPU 1020 via disk drive 1100 or the like. Alternatively, the program module 1093 and the program data 1094 may be stored in another computer connected via a network (local area network (LAN), a wide area network (WAN), or the like). Moreover, the program module 1093 and the program data 1094 may be read using the CPU 1020 via the network interface 1070 from other computers.
Although the embodiments to which the invention made by the present inventor is applied have been described above, the present invention is not limited by the descriptions and drawings forming part of the disclosure of the present invention according to the embodiments. That is, other embodiments, examples, operation techniques, and the like made by those skilled in the art on the basis of the embodiment are all included in the scope of the present invention.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2021/005778 | 2/16/2021 | WO |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2022/176034 | 8/25/2022 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
7290134 | Buer | Oct 2007 | B2 |
7969882 | Matsunaga | Jun 2011 | B2 |
8166227 | Choi | Apr 2012 | B2 |
8284776 | Petersen | Oct 2012 | B2 |
9253061 | Nagaraj | Feb 2016 | B2 |
10659571 | Volpe | May 2020 | B1 |
10666775 | Volpe | May 2020 | B1 |
10686568 | Elhaddad | Jun 2020 | B2 |
11210406 | Moss | Dec 2021 | B2 |
11570284 | Suzuki | Jan 2023 | B2 |
20040066746 | Matsunaga | Apr 2004 | A1 |
20110145469 | Choi | Jun 2011 | A1 |
20140075243 | Nagaraj | Mar 2014 | A1 |
20180018469 | Moss | Jan 2018 | A1 |
20200304607 | Suzuki | Sep 2020 | A1 |
20220182361 | Hayashi | Jun 2022 | A1 |
20220400079 | Hayashi | Dec 2022 | A1 |
Number | Date | Country |
---|---|---|
202088517 | Jun 2020 | JP |
Entry |
---|
Nishioka et al., “A Proposal of Fast x Flow Proxy System for Traffic Visualization in Carrier Network Accommodating Multiple Telecom Operators,” 2021 IEICE General Conference Web Version Program, online, Mar. 9-12, 2021, 3 pages (with machine translation). |
Miyoshi et al., “Format Changing Method for Header Sample in Flow Information Packet,” Proceedings of 2020 IEICE General Conference, Higashihiroshima, Japan, Mar. 17-20, 2020, 3 pages (with machine translation). |
Number | Date | Country | |
---|---|---|---|
20240129218 A1 | Apr 2024 | US |