WO2024038523A1 - Conversion device, conversion method, and conversion program - Google Patents

Conversion device, conversion method, and conversion program Download PDF

Info

Publication number
WO2024038523A1
WO2024038523A1 PCT/JP2022/031106 JP2022031106W WO2024038523A1 WO 2024038523 A1 WO2024038523 A1 WO 2024038523A1 JP 2022031106 W JP2022031106 W JP 2022031106W WO 2024038523 A1 WO2024038523 A1 WO 2024038523A1
Authority
WO
WIPO (PCT)
Prior art keywords
packet
header
hardware
processing
packets
Prior art date
Application number
PCT/JP2022/031106
Other languages
French (fr)
Japanese (ja)
Inventor
勇樹 三好
千晴 森岡
裕平 林
里美 井上
Original Assignee
日本電信電話株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電信電話株式会社 filed Critical 日本電信電話株式会社
Priority to PCT/JP2022/031106 priority Critical patent/WO2024038523A1/en
Publication of WO2024038523A1 publication Critical patent/WO2024038523A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/022Capturing of monitoring data by sampling

Definitions

  • the present invention relates to a conversion device, a conversion method, and a conversion program.
  • xFlow technology performs traffic aggregation and analysis by sampling packets and transmitting flow statistical information calculated from header information and the header part itself (header sample). be.
  • header sample the header information and the header part itself
  • packet encapsulation technique that embeds a packet in the payload of another packet and transfers it over a network.
  • JP2019-097069A JP2021-090161A International Publication No. 2021/149245 Japanese Patent Application Publication No. 2020-174257
  • the multiple header samples are split and reassembled into a single header sample, statistics are aggregated, and the analyzer is sent to the analyzer. Need to send.
  • the present invention has been made in view of the above, and provides a conversion device, a conversion method, and a conversion program that can reduce software processing load, speed up processing, and increase the amount of traffic that can be processed.
  • the purpose is to
  • a conversion device analyzes input packet information using hardware, and determines whether or not to perform predetermined pre-processing using the hardware.
  • an analysis unit that determines whether a packet to be subjected to predetermined pre-processing by the hardware is a packet equipped with a plurality of header samples or a packet equipped with a single header sample; a reconstruction unit that reconstructs a packet carrying a single header sample into a packet carrying a single header sample; and a packet carrying a single header sample determined by the analysis unit; For packets equipped with a single header sample reconstructed by the reconstruction unit, an identification indicating a group of the packets based on information in a fixed length header of the packet equipped with the single header sample.
  • an attaching unit that performs a process of attaching metadata including information to the packet using the hardware; and a process of generating an analysis packet corresponding to the group of packets using the metadata attached by the attaching unit.
  • the invention is characterized in that it has a generation unit that performs this using software.
  • FIG. 1 is a block diagram showing an example of the configuration of a communication system according to an embodiment.
  • FIG. 2 is a diagram illustrating the flow of processing in the conversion apparatus shown in FIG. 1.
  • FIG. 3 is a block diagram showing an example of the configuration of the conversion device shown in FIG. 1.
  • FIG. 4 is a diagram illustrating reconstruction processing by the reconstruction unit shown in FIG. 3.
  • FIG. 5 is a diagram illustrating reconstruction processing by the reconstruction unit shown in FIG. 3.
  • FIG. 6 is a diagram illustrating adding metadata to an IPFIX packet.
  • FIG. 7 is a diagram illustrating the flow of processing in the conversion device shown in FIG. 1.
  • FIG. 8 is a diagram illustrating the flow of processing in the conversion device shown in FIG. 1.
  • FIG. 9 is a diagram illustrating the circuit architecture of the reconstruction unit shown in FIG. 3.
  • FIG. 10 is a flowchart illustrating an example of the processing procedure of the conversion process according to the embodiment.
  • FIG. 11 is a diagram illustrating a conventional conversion technique.
  • FIG. 12 is a diagram illustrating an example of a computer that implements a conversion device by executing a program.
  • the conversion device 10 offloads some processing to the preceding hardware and analyzes packets using the hardware.
  • the conversion device 10 determines whether to perform hardware processing or subsequent software processing.
  • the conversion device 10 When determining that hardware processing is to be performed, the conversion device 10 further identifies the header information by protocol analysis, and converts the packet to either a packet with multiple header samples (multi-header sample packet) or a single header sample. packet (single header sample packet). For multiple header sample packets, the conversion device 10 uses upstream hardware to divide the multiple header samples and reconstruct them into a single header sample packet.
  • the conversion device 10 writes metadata including grouping information to the end of the packet as a result of the analysis performed on the packet by the preceding hardware. Then, the conversion device 10 identifies the metadata in the subsequent software, and performs coordination between hardware and software by replacing the protocol analysis and grouping processing.
  • the conversion device 10 by offloading some processing to the hardware, it is possible to reduce the amount of processing on the software side and perform flexible processing that differs depending on the attributes of the operator etc. at high speed. do. Furthermore, in the conversion device 10, by using hardware to process the division and reassembly of packets equipped with multiple header samples, it is possible to reduce the software processing load, which requires high calculation costs, and to process large volumes of traffic information at high speed. It becomes possible to do so.
  • FIG. 1 is a block diagram showing an example of the configuration of a communication system according to an embodiment.
  • the communication system 1 includes a plurality of NW devices 2, a conversion device 10, and a plurality of analysis devices 3 (external devices).
  • NW devices 2 and the conversion device 10 communicate via the network N.
  • the configuration shown in FIG. 1 is only an example, and the specific configuration and number of each device are not particularly limited.
  • the NW device 2 samples packets in the traffic to be monitored. For example, the NW device 2 may transfer the mirrored encapsulated packet to the conversion device 10, or may cut out the sampled packet header sample and transfer the xFlow packet in which the cut header sample is encapsulated to the conversion device 10. It's okay. At this time, the NW device 2 may include statistical information regarding the flow, such as the number of packets, in the xFlow packet to be transferred, or may transfer it to the conversion device 10 as a separate xFlow packet.
  • the conversion device 10 converts xFlow packets input from various NW devices 2 into xFlow packets in a format according to the processing content of the external analysis device 3. Specifically, the conversion device 10 identifies header information through protocol analysis, divides and reconstructs multiple header sample packets into single header sample packets, and then performs grouping based on conditions. Then, the conversion device 10 performs processing defined for each group and transmits the generated packets to the analysis device 3. For example, as a process defined for each group, the conversion device 10 aggregates statistics of inner headers of xFlow packets input from various NW devices 2, and converts xFlow packets that include at least statistical information indicating statistics of the determined inner headers. is generated and sent to the external analysis device 3.
  • Each analysis device 3 analyzes the traffic to be monitored and aggregates packets in the traffic to be monitored. For example, the analysis device 3 performs analysis and aggregation using statistical information included in the xFlow packet converted by the conversion device 10.
  • the conversion device 10 performs flexible format conversion processing based on packet header information.
  • FIG. 2 is a diagram illustrating the flow of processing in the conversion apparatus shown in FIG. 1.
  • explanations such as processing in which the conversion device 10 offloads some processing to hardware are omitted, and it is not stated whether the processing is performed by hardware or software. The overall flow of processing will be explained. Furthermore, processing for offloading some processing to hardware will be described later.
  • the conversion device 10 upon receiving an input of an encapsulated packet mirrored by the NW device 2 or an xFlow packet including a header sample, the conversion device 10 identifies the header information by protocol analysis (see FIG. 2). (See (1)).
  • the conversion device 10 reconstructs the multiple header sample packets into single header sample packets (see (2) in FIG. 2), and then performs grouping based on conditions (see (2) in FIG. 2). (See 2 (3)).
  • the example in FIG. 2 illustrates a case where the conversion device 10 classifies a packet into one of a plurality of groups "groups #1 to #3" based on conditions regarding both the outer header and the inner header. are doing.
  • the conversion device 10 performs information shaping processing defined for each group (see (4) in FIG. 2). For example, in the example shown in FIG. 2, the conversion device 10 obtains inner header statistics for packets classified into group "#1" and generates an xFlow packet that includes at least statistical information indicating the inner header statistics. Then, the conversion device 10 transmits the generated xFlow packet to the xFlow analysis device 3A (also described as the destination “analysis A” in FIG. 2) as the destination.
  • the xFlow analysis device 3A also described as the destination “analysis A” in FIG. 2
  • the conversion device 10 obtains statistics of the outer header for packets classified into group "#2" and generates an xFlow packet that includes at least statistical information indicating the statistics of the outer header. Then, the conversion device 10 transmits the generated xFlow packet to the xFlow analysis device 3B (also described as the destination “analysis B” in FIG. 2) as the destination.
  • the xFlow analysis device 3B also described as the destination “analysis B” in FIG. 2
  • the conversion device 10 performs a process of removing the capsule header from the packets classified into the group “#3” and generating (formatting) the packets with the transmission destination rewritten to the external analysis device 3C. Then, the conversion device 10 transmits the generated packet to the packet capture device 3C (also described as the destination “capture C” in FIG. 2) as the destination. Note that the conversion device 10 may generate and transmit packets at any timing for each of the above-described processes.
  • the conversion device 10 when performing statistical processing such as processing corresponding to groups "#1" and "#2", the conversion device 10 performs statistical processing when the number of grouped packets reaches a predetermined number, Generate and send a packet. Further, for example, when the conversion device 10 removes the capsule header and rewrites the transmission destination to the external analysis device 3 as in the process corresponding to the group “#3”, the conversion device 10 is grouped into the group “#3”. Each time, a packet is generated and sent.
  • the conversion device 10 groups input packets and performs different processing for each group, such as deleting the outer packet header of the capsule, statistical processing, and changing the destination IP address. This makes it possible to flexibly perform individual processing and analysis.
  • the conversion device 10 by offloading some processing to hardware, the amount of processing on the software side is reduced, and it is possible to perform flexible processing that differs depending on the attributes of the business operator, etc. at high speed. . Furthermore, in the conversion device 10, hardware processes the division and reassembly of a plurality of header samples for packets equipped with a plurality of header samples, thereby reducing the software processing load that requires large calculation costs, and reducing the burden on large-volume traffic. It becomes possible to process information at high speed.
  • FIG. 3 is a block diagram showing an example of the configuration of the conversion device 10 shown in FIG. 1.
  • the conversion device 10 includes a packet analysis section 11, a reconstruction section 12, a metadata adding section 13, a generation section 14, and a rule information DB 15.
  • the conversion device 10 is configured such that a predetermined program is loaded into a computer, etc., including, for example, ROM (Read Only Memory), RAM (Random Access Memory), CPU (Central Processing Unit), etc., and the CPU executes the predetermined program. This is achieved by doing.
  • the conversion device 10 has a communication interface that transmits and receives various information to and from other devices connected via a network or the like.
  • the conversion device 10 includes a NIC (Network Interface Card) and the like, and performs communication with other devices via a telecommunication line such as a LAN (Local Area Network) or the Internet.
  • NIC Network Interface Card
  • the rule information DB 15 is a preset rule, and stores a rule for determining whether to offload some processing to the preceding hardware. For example, the rule information DB 15 determines which packets are to be subjected to predetermined pre-processing by hardware (packets to be hardware offloaded), depending on the information in one or both of the outer header and inner header of the input packet. , a determination rule for determining whether a packet is to be processed by software without performing predetermined pre-processing by hardware (a packet other than hardware offload) is stored. The rule information DB 15 stores a determination rule for determining whether a packet to be subjected to hardware processing is a multiple header sample packet or a single header sample packet.
  • the rule information DB 15 stores rules for specifying a hardware processing portion and a software processing portion in a packet.
  • the rule information DB 15 stores rules for specifying a hardware processing portion and a software processing portion for each type of packet.
  • the rule information DB 15 stores grouping conditions, which are conditions for grouping input packets. Further, for example, the rule information DB 15 stores, as a grouping condition, a condition regarding information included in one or both of the outer header and the inner header.
  • the rule information DB 15 stores processes defined for each group. That is, the rule information DB 15 stores the details of the processing to be performed for each group for each grouped packet. For example, the rule information DB 15 stores processing details and destinations of generated analysis packets in association with group IDs. Note that the information stored in the rule information DB 15 described above is set in advance by the operator, and can be changed, added, or deleted as appropriate.
  • the packet analysis unit 11 analyzes the input packet information using hardware, and determines whether or not to perform predetermined pre-processing using the hardware. For example, upon receiving an input of an encapsulated packet (RAW packet) or an xFlow packet including a header sample that is the header portion itself, the packet analysis unit 11 performs protocol analysis on the encapsulated packet or xFlow packet using hardware.
  • RAW packet encapsulated packet
  • xFlow packet including a header sample that is the header portion itself
  • the packet analysis unit 11 determines whether or not to perform predetermined pre-processing by hardware, and also determines whether or not to perform predetermined pre-processing using hardware, and also determines whether or not to perform predetermined pre-processing using hardware. Determine if there is.
  • the packet analysis unit 11 refers to the determination rules stored in the rule information DB 15 and determines whether the input packet is a hardware offload target packet and a multi-header sample packet, or a hardware offload target packet. to determine whether it is a single header sample packet or a packet other than hardware offload.
  • the packet analysis unit 11 determines that the packet is a non-hardware offload packet, it causes the generation unit 14 (software) to perform the following processing.
  • the packet analysis unit 11 determines that the packet is a hardware offload target packet and is a multi-header sample packet
  • the packet analysis unit 11 refers to the information stored in the rule information DB 15, and the reconstruction unit 12 (hardware) performs the following processing.
  • the packet analysis unit 11 determines that the packet is a hardware offload target packet and is a single header sample packet, the packet analysis unit 11 refers to the information stored in the rule information DB 15 and determines the hardware processing portion of the packet.
  • the software processing part is specified, and the metadata adding unit 13 (hardware) is made to perform the following processing.
  • the packet analysis unit 11 when the packet analysis unit 11 receives an input of an L2TP packet that is an encapsulated packet, it includes the "first Ether header", “first IPv4/IPv6 header” and “UDP (User Datagram Protocol)".
  • the "header” is specified as the hardware processing part
  • the "second IPv4/IPv6 header” is specified as the software processing part.
  • the information in the fixed-length header outside the capsule is easily determined even if it is processed in hardware, so it is processed in hardware.
  • the information in the variable length header and the capsule inner header needs to be read in bit units and is a hardware processing part.
  • the packet analysis unit 11 when the packet analysis unit 11 receives an input of an IPFIX packet that is an xFlow packet including a header sample, the packet analysis unit 11 inputs the "IPFIX Ether header", the "IPFIX IPv4/IPv6 header”, and the L2TP header in the IPFIX set.
  • the "first Ether header,” “first IPv4/IPv6 header,” and “UDP header” in sampling are identified as the hardware processing part, and the "second IPv4/IPv6 header" in L2TP header sampling is identified as the software processing part. do.
  • the reconstruction unit 12 reconstructs the multiple header sample packet into a single header sample packet.
  • the reconstruction unit 12 divides the multiple header sample packet into a header part and each data part. Then, the reconstruction unit 12 reconstructs it into a single header sample packet according to the number of data.
  • the reconstruction unit 12 outputs each reconstructed single header sample packet to the metadata adding unit 13.
  • 4 and 5 are diagrams illustrating the reconstruction process by the reconstruction unit 12 shown in FIG. 3. 4 and 5, the reconstruction process of an IPFIX packet having two samples will be described.
  • the reconstruction unit 12 obtains the data length of the entire IPFIX multisample and the data length of each sample from FlowSet Length and string_len_short stored in the IPFIX header, and Divide into parts.
  • the data is divided into an L2/L3 header section, an IPFIX header section, sample data S1, and sample data S2.
  • the reconstruction unit 12 reconstructs the IPFIX packet of the single header sample according to the number of samples.
  • the reconstruction unit 12 reconstructs a single header sample IPFIX packet including the sample data S1 based on the L2/L3 header section, the IPFIX header section, and the sample data S1.
  • the reconstruction unit 12 reconstructs a single header sample IPFIX packet including the sample data S2 based on the L2/L3 header section, the IPFIX header section, and the sample data S2.
  • the metadata adding unit 13 inputs metadata including identification information indicating a group of input packets based on the fixed length header information in the single header sample packet input by the packet analysis unit 11 or the reconstruction unit 12.
  • the processing to add to the packet is performed by hardware.
  • the metadata adding unit 13 refers to the rules stored in the rule information DB 15, obtains information in the header identified by the packet analysis unit 11 as a hardware processing part, and performs grouping based on the information in the header.
  • the processing for determining the grouping ID and adding metadata including the grouping ID to the packet is performed by hardware.
  • the metadata adding unit 13 performs information shaping processing to change the source IP address of the packet to the IP address of the conversion device 10 and change the destination IP address to the IP address of the analysis device 3.
  • the metadata adding unit 13 adds metadata that follows the rules based on the information in the header identified as the hardware processing part.
  • the metadata includes protocol analysis results such as the protocol type and header length of each header, and grouping primary identification results.
  • FIG. 6 is a diagram illustrating adding metadata to IPFIX packets. As illustrated in FIG. 6, for example, the metadata adding unit 13 creates metadata (Meta1, Meta2) corresponding to each sample and adds it to the IPFIX packet.
  • Meta1, Meta2 metadata adding unit 13 creates metadata (Meta1, Meta2) corresponding to each sample and adds it to the IPFIX packet.
  • the metadata adding unit 13 adds metadata including "number of VLANs", “number of MPLS labels”, “various header positions”, and "xFlow packet type” to the IPFIX packet.
  • the metadata adding unit 13 inserts 0 to 3 bytes of padding between the reconfigured IPFIX packet and the metadata, aligns it to 4 bytes, and adds the metadata.
  • the metadata adding unit 13 performs padding according to the packet length after reconfiguration.
  • the metadata adding unit 13 may also add, for the L2TP packet, "VLAN number,” “MPLS label number,” “IP header position,” “grouping ID based on the rule table,” “transmission source before information shaping.” IP address and destination IP address.
  • the generation unit 14 performs a process of generating analysis packets corresponding to a group of packets using the metadata added by the metadata addition unit 13 when predetermined pre-processing by hardware is performed. This is done by software. For example, the generation unit 14 acquires a grouping ID included in the metadata assigned by the metadata assignment unit 13, and refers to the rule information DB 15 to determine a process corresponding to the grouping ID.
  • the generation unit 14 performs packet protocol analysis processing and grouping processing by software, and then performs processing corresponding to the group to generate packets. Perform the process to generate. Thereafter, the generation unit 14 transmits the generated packet to the analysis device 3.
  • the generation unit 14 may perform a process of generating an analysis packet corresponding to a group by aggregating the statistics of the inner header and generating an xFlow packet that includes at least statistical information indicating the statistics of the inner header; A process of aggregating statistics and generating an xFlow packet that includes at least statistical information indicating the statistics of the outer header, and a process of generating (shaping) a packet with the outer header removed and the destination rewritten to the external analysis device 3. Execute one or more of the following processes. Note that the process of generating a packet by the generation unit 14 includes a process of generating a new packet for analysis, and a process of rewriting or deleting the information of the input packet to format it into a packet for analysis. shall include.
  • FIGS. 7 and 8 are diagrams illustrating the flow of processing in the conversion device 10 shown in FIG. 1.
  • FIG. 8 a case will be described in which, as a process of generating a packet for analysis, statistics of the inner header are totaled and an xFlow packet including statistical information indicating the statistics of the inner header is generated.
  • the input packet is either a non-hardware offload packet or a single header sample packet of a hardware offload target packet. It is determined whether there is a sample packet with multiple headers of the packet to be hardware offloaded (for example, xFlow).
  • the conversion device 10 analyzes the packet using the front-end hardware, and depending on the analysis result, it determines whether the packet is a multiple-header sample packet to be processed by the front-end hardware (high-speed processing), or whether it is a single-header sample packet to be processed by the front-end hardware. Analyze whether the packet is a sample packet or a packet to be subjected to subsequent software processing (low-speed processing).
  • the conversion device 10 performs packet protocol analysis processing and grouping processing using software as internal software processing, and then performs group processing.
  • statistics of the inner header are totaled, and an xFlow packet including at least statistical information indicating the statistics of the inner header is generated.
  • the hardware at the front stage of the conversion device 10 determines whether the input packet is a packet equipped with a plurality of header samples based on the variable in the xFlow IP header of the input packet (( 1)).
  • the front-end hardware determines that the packet has multiple header samples, it divides the multiple header samples, reconstructs the packet, and collaborates with other existing functional units. For example, as shown in FIG. 8, the front-end hardware divides and restores a packet carrying three header samples to reconstruct it into three single header sample packets. In this way, by adding the function of reassembling a single header sample packet to the front-end hardware, there is no need to change the rear-end hardware (HW) processing and software (SW) processing (see Figure 8). (2)).
  • HW rear-end hardware
  • SW software
  • the conversion device 10 performs in-hardware processing on the single header sample packet that is the input packet or the reconstructed single header sample packet, and performs grouping based on the information in the header. After performing information shaping processing (chaining destination selection, etc.) to change the IP address and destination IP address, metadata that conforms to the rules is added based on the information in the header identified as the hardware processing part.
  • information shaping processing chaining destination selection, etc.
  • the conversion device 10 identifies the metadata added in the hardware processing as the software processing, and determines the processing content using the grouping ID included in the metadata. Then, the conversion device 10 performs a process within the software to analyze the inner header, aggregate the statistics of the inner header, and generate an xFlow packet that includes at least statistical information indicating the statistics of the inner header.
  • the conversion device 10 divides the multiple header samples and reconstructs them into a single header sample packet based on the analysis result performed by the previous stage hardware, and then converts the grouping information into a single header sample packet. Writes the included metadata to the end of the packet.
  • the metadata identification process replaces the computationally expensive protocol analysis and grouping process in the subsequent software, allowing hardware and software to cooperate.
  • the conversion device 10 realizes the protocol analysis processing and grouping processing using software through the metadata adding processing using hardware and the metadata reading processing using software, thereby making it possible to omit software protocol analysis with high calculation costs. can. Therefore, by offloading some processing to hardware, it is possible to reduce the amount of processing on the software side.
  • the front-stage hardware performs processing that the hardware is good at, such as uniformity processing
  • the rear-stage software performs flexible judgments and complex processing, such as processing based on internal information of encapsulated packets. This makes it possible to process even large-volume traffic at high speed while reducing the amount of processing on the software side.
  • the conversion device 10 by using hardware to process the division and reassembly of packets equipped with multiple header samples, it is possible to reduce the software processing load, which requires high calculation costs, and to process large volumes of traffic information at high speed. It becomes possible to do so.
  • FIG. 9 is a diagram illustrating the circuit architecture of the reconstruction unit 12 shown in FIG. 3.
  • the circuit architecture of the reconstruction unit 12 includes a write address calculation/data distribution unit, a plurality of block RAMs, and a data selection/shaping unit.
  • As the Block RAM a Block RAM corresponding to the MAC to IPFIX header section, a Block RAM corresponding to sample data, and a Block RAM corresponding to each metadata are provided.
  • the header section, sample data, and metadata are stored in corresponding block RAMs.
  • the front-end hardware reconstructs an IPFIX packet of a single header sample according to the number of samples at the time of output.
  • Block RAM records the memory address information ((1) in FIG. 9).
  • the write address calculation/data distribution unit sends various information and data addresses for the number of samples to the data selection/formation unit ((2) in FIG. 9).
  • the write address calculation/data distribution unit transmits the address information and the number of multi-samples to the data selection/formation unit via a FIFO (First-In First Out).
  • the data selection/shaping unit reconstructs a single header sample packet by reading data for the number of samples from each Block RAM according to the received address information and the number of multi-samples ((3) in FIG. 9).
  • FIFO First-In First Out
  • the reconstruction unit 12 divides a multi-header sample packet and reconstructs it into a single header sample packet.
  • the reconstruction unit 12 can process the division of a multi-header sample packet into multiple header samples and the reassembly into a single header sample packet using hardware, thereby processing large amounts of traffic information at high speed. becomes possible.
  • FIG. 10 is a flowchart illustrating an example of the processing procedure of the conversion process according to the embodiment.
  • step S101 when the packet analysis unit 11 of the conversion device 10 receives a packet input (step S101: Yes), it analyzes the information of the input packet using hardware, and performs pre-processing using the hardware. It is determined whether to do so (step S102).
  • step S102 determines whether the information of the input packet is to be analyzed by hardware.
  • step S103 determines whether the input packet is a multi-header sample packet.
  • the reconstruction unit 12 performs packet reconstruction in which the plural header samples of the multi-header sample packet are divided and reconstructed into a single header sample packet (step S104). ).
  • the metadata adding unit 13 adds information based on the fixed-length header information of the single-header sample packet. Then, metadata is added (step S105).
  • the generation unit 14 uses software to identify the metadata (step S106), and uses software to generate an analysis packet according to the grouping ID included in the metadata (step S109).
  • step S102 if the packet analysis unit 11 determines that the input packet information is not to be analyzed by hardware (step S102: No), the generation unit 14 performs protocol processing by software (step S107), grouping processing is performed by software (step S108). Next, the generation unit 14 generates an analysis packet using software according to the grouping result (step S109).
  • FIG. 11 is a diagram illustrating a conventional conversion technique.
  • the format is converted by performing software processing as a packet that is not subject to hardware offload.
  • multi-header sample packets are not subject to hardware offloading, resulting in software processing with high calculation costs, resulting in an increase in calculation costs. For this reason, with conventional conversion techniques, it has been difficult to process large amounts of traffic information contained in a multi-header sample packet at high speed using software.
  • the conversion device 10 analyzes the information of the input packet using hardware, determines whether or not to perform predetermined pre-processing by the hardware, and determines whether or not to perform predetermined pre-processing on the packets that are to be processed by the hardware. It is determined whether the packet is a multiple header sample packet or a single header sample packet. If the conversion device 10 determines to perform the pre-processing and determines that the packet is a multi-header sample packet, the converter 10 uses hardware to divide the multiple header samples of the multi-header sample packet and re-create it into a single header sample packet. To construct.
  • a single header sample packet that has been determined to undergo pre-processing or a single header sample packet after reassembly is processed by hardware with identification information indicating a group of packets based on the information in the fixed length header of the packet.
  • the process of adding the included metadata to the packet is performed by hardware.
  • the conversion device 10 uses software to generate a packet for analysis corresponding to the group of packets using the attached metadata. Therefore, the conversion device 10 can perform flexible processing that differs depending on the attributes of business operators and the like at high speed.
  • the conversion device 10 writes metadata including the analysis results performed by the preceding hardware and grouping information to the end of the packet.
  • the metadata identification process replaces the protocol analysis and grouping process in the subsequent software, so that the hardware and software can cooperate.
  • the conversion device 10 when the conversion device 10 receives a packet equipped with a plurality of header samples, by processing the division and reconstruction of the plurality of header samples using hardware, it is possible to reduce the software processing load that requires a large calculation cost.
  • Each component of the conversion device 10 shown in FIG. 1 is functionally conceptual, and does not necessarily need to be physically configured as shown.
  • the specific form of distributing and integrating the functions of the conversion device 10 is not limited to what is shown in the diagram, and all or part of it can be functionally or physically distributed in arbitrary units depending on various loads and usage conditions. It can be configured to be distributed or integrated.
  • each process performed in the conversion device 10 may be realized by a CPU and a program that is analyzed and executed by the CPU. Moreover, each process performed in the conversion device 10 may be realized as hardware using wired logic.
  • FIG. 12 is a diagram showing an example of a computer that implements the conversion device 10 by executing a program.
  • Computer 1000 includes, for example, a memory 1010 and a CPU 1020.
  • the computer 1000 also includes 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. These parts are connected by a bus 1080.
  • the memory 1010 includes a ROM 1011 and a RAM 1012.
  • the ROM 1011 stores, for example, a boot program such as BIOS (Basic Input Output System).
  • Hard disk drive interface 1030 is connected to hard disk drive 1090.
  • Disk drive interface 1040 is connected to disk drive 1100.
  • Serial port interface 1050 is connected to, for example, mouse 1110 and keyboard 1120.
  • Video adapter 1060 is connected to display 1130, for example.
  • the hard disk drive 1090 stores, for example, an OS (Operating System) 1091, an application program 1092, a program module 1093, and program data 1094. That is, a program that defines each process of the conversion device 10 is implemented as a program module 1093 in which code executable by the computer 1000 is written.
  • Program module 1093 is stored in hard disk drive 1090, for example.
  • a program module 1093 for executing processing similar to the functional configuration of the conversion 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 embodiment described above is stored as program data 1094 in, for example, the memory 1010 or the hard disk drive 1090. Then, the CPU 1020 reads out the program module 1093 and program data 1094 stored in the memory 1010 and the hard disk drive 1090 to the RAM 1012 as necessary and executes them.
  • program module 1093 and the program data 1094 are not limited to being 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 the program data 1094 may be stored in another computer connected via a network (LAN (Local Area Network), WAN (Wide Area Network), etc.).
  • Program module 1093 and program data 1094 may then be read by CPU 1020 from another computer via network interface 1070.

Abstract

A conversion device (10) analyzes information concerning an input packet by means of hardware, determines whether or not to perform predetermined pre-processing by means of the hardware, and determines whether a packet to be subjected to the predetermined pre-processing by means of the hardware is a packet having a plurality of header samples contained therein or a packet having a single header sample contained therein. The conversion device (10) reconstructs a packet having a plurality of header samples contained therein into a packet having a single header sample contained therein. On the basis of fixed-length in-header information in the packet having a single header sample contained therein, the conversion device (10) performs, by means of the hardware, processing for attaching, to the packet, metadata including identification information indicating a group of the packet. The conversion device (10) performs, by means of software, processing for generating an analyzing packet corresponding to the group of the packet by using the attached metadata.

Description

変換装置、変換方法及び変換プログラムConversion device, conversion method and conversion program
 本発明は、変換装置、変換方法及び変換プログラムに関する。 The present invention relates to a conversion device, a conversion method, and a conversion program.
 ネットワークの監視やトラヒックの傾向分析のため、パケットのサンプリングを行い、ヘッダ情報から算出したフロー統計情報や、ヘッダ部分そのもの(ヘッダサンプル)を転送することによりトラヒックの集計や分析等を行うxFlow技術がある。また、ネットワーク上でパケットを別のパケットのペイロードに埋め込み転送するパケットカプセル化技術がある。 For network monitoring and traffic trend analysis, xFlow technology performs traffic aggregation and analysis by sampling packets and transmitting flow statistical information calculated from header information and the header part itself (header sample). be. There is also a packet encapsulation technique that embeds a packet in the payload of another packet and transfers it over a network.
 カプセル化パケットの分析手法として、カプセル化パケットおよびヘッダサンプルxFlowパケットにおける、カプセル内側のパケットを取り出し分析を可能にするフォーマット変換技術が存在する。また、カプセル化パケットについて、カプセル内側のパケットヘッダとカプセル外側のパケットヘッダの対応づけをデータベースに登録する技術が存在する。 As a method for analyzing encapsulated packets, there is a format conversion technique that enables extraction and analysis of packets inside the capsule in encapsulated packets and header sample xFlow packets. Furthermore, for encapsulated packets, there is a technique for registering in a database the correspondence between the packet header inside the capsule and the packet header outside the capsule.
 また、カプセル化パケットが転送されるネットワークにおいて、カプセル内側トラヒックの効率的な集計・分析が可能になる技術が存在する。そして、カプセル化パケットが転送されるネットワークにおいて、カプセル外側/内側のパケットヘッダ情報に基づきプロトコル・グループを識別し、事業者等の属性ごとに異なった処理・分析を行うことが可能になる技術が提案されている。 Additionally, there is a technology that enables efficient aggregation and analysis of traffic inside the capsule in networks where encapsulated packets are transferred. In networks where encapsulated packets are transferred, technology is being developed that enables protocol groups to be identified based on the packet header information outside/inside the capsule, and to perform different processing and analysis for each attribute of the carrier, etc. Proposed.
 また、前段ハードウェアにてパケット解析を行い、解析結果に応じて、前段ハードウェア処理、後段ソフトウェア処理、処理対象外によるフィルタリングを実施する技術が提案されている。 In addition, a technology has been proposed in which packet analysis is performed in front-end hardware, and depending on the analysis result, front-end hardware processing, back-end software processing, and filtering based on non-processing targets are performed.
特開2019-097069号公報JP2019-097069A 特開2021-090161号公報JP2021-090161A 国際公開第2021/149245号International Publication No. 2021/149245 特開2020-174257号公報Japanese Patent Application Publication No. 2020-174257
 複数のヘッダサンプルが搭載されたxFlowパケットについては、外部分析装置での分析を可能とするために、複数のヘッダサンプルを分割し、単一ヘッダサンプルに再構築して統計を集計し分析装置に送信する必要がある。 For xFlow packets with multiple header samples, in order to enable analysis by an external analyzer, the multiple header samples are split and reassembled into a single header sample, statistics are aggregated, and the analyzer is sent to the analyzer. Need to send.
 従来では、複数のヘッダサンプルが搭載されたxFlowパケットを受信した場合、複数のヘッダサンプルの分割及び再構築をソフトウェアで処理していた。 Conventionally, when an xFlow packet with multiple header samples is received, software processes the division and reconstruction of the multiple header samples.
 しかしながら、当該処理はソフトウェア処理による計算コストが大きいため、複数ヘッダサンプルに含まれた大容量のトラヒック情報を高速にソフトウェアで処理することは困難であった。 However, since this processing requires a high calculation cost due to software processing, it has been difficult to process a large amount of traffic information included in multiple header samples at high speed using software.
 本発明は、上記に鑑みてなされたものであって、ソフトウェア処理負荷を低減し、処理の高速化及び処理可能トラヒックの大容量化を実現することができる変換装置、変換方法及び変換プログラムを提供することを目的とする。 The present invention has been made in view of the above, and provides a conversion device, a conversion method, and a conversion program that can reduce software processing load, speed up processing, and increase the amount of traffic that can be processed. The purpose is to
 上述した課題を解決し、目的を達成するために、本発明に係る変換装置は、入力されたパケットの情報をハードウェアにより解析し、該ハードウェアによる所定の前段処理を行うか否かを判定するとともに、前記ハードウェアによる所定の前段処理を行うパケットが、複数のヘッダサンプルが搭載されたパケット、または、単一のヘッダサンプルが搭載されたパケットであるかを判定する解析部と、前記複数のヘッダサンプルが搭載されたパケットを、単一のヘッダサンプルが搭載されたパケットに再構築する再構築部と、前記解析部によって判定された単一のヘッダサンプルが搭載されたパケット、または、前記再構築部によって再構築された単一のヘッダサンプルがカ搭載されたパケットについて、前記単一のヘッダサンプルが搭載されたパケットにおける固定長のヘッダ内情報に基づいて、前記パケットのグループを示す識別情報を含むメタデータを前記パケットに付与する処理を前記ハードウェアにより行う付与部と、前記付与部によって付与されたメタデータを用いて、前記パケットのグループに対応する分析用のパケットを生成する処理をソフトウェアにより行う生成部と、を有することを特徴とする。 In order to solve the above-mentioned problems and achieve the purpose, a conversion device according to the present invention analyzes input packet information using hardware, and determines whether or not to perform predetermined pre-processing using the hardware. and an analysis unit that determines whether a packet to be subjected to predetermined pre-processing by the hardware is a packet equipped with a plurality of header samples or a packet equipped with a single header sample; a reconstruction unit that reconstructs a packet carrying a single header sample into a packet carrying a single header sample; and a packet carrying a single header sample determined by the analysis unit; For packets equipped with a single header sample reconstructed by the reconstruction unit, an identification indicating a group of the packets based on information in a fixed length header of the packet equipped with the single header sample. an attaching unit that performs a process of attaching metadata including information to the packet using the hardware; and a process of generating an analysis packet corresponding to the group of packets using the metadata attached by the attaching unit. The invention is characterized in that it has a generation unit that performs this using software.
 本発明によれば、ソフトウェア処理負荷を低減し、処理の高速化及び処理可能トラヒックの大容量化を実現することができる。 According to the present invention, it is possible to reduce the software processing load, increase the speed of processing, and increase the capacity of processable traffic.
図1は、実施の形態に係る通信システムの構成の一例を示すブロック図である。FIG. 1 is a block diagram showing an example of the configuration of a communication system according to an embodiment. 図2は、図1に示す変換装置における処理の流れを説明する図である。FIG. 2 is a diagram illustrating the flow of processing in the conversion apparatus shown in FIG. 1. 図3は、図1に示す変換装置の構成の一例を示すブロック図である。FIG. 3 is a block diagram showing an example of the configuration of the conversion device shown in FIG. 1. 図4は、図3に示す再構築部による再構築処理について説明する図である。FIG. 4 is a diagram illustrating reconstruction processing by the reconstruction unit shown in FIG. 3. 図5は、図3に示す再構築部による再構築処理について説明する図である。FIG. 5 is a diagram illustrating reconstruction processing by the reconstruction unit shown in FIG. 3. 図6は、IPFIXパケットに対するメタデータの付与について説明する図である。FIG. 6 is a diagram illustrating adding metadata to an IPFIX packet. 図7は、図1に示す変換装置における処理の流れを説明する図である。FIG. 7 is a diagram illustrating the flow of processing in the conversion device shown in FIG. 1. 図8は、図1に示す変換装置における処理の流れを説明する図である。FIG. 8 is a diagram illustrating the flow of processing in the conversion device shown in FIG. 1. 図9は、図3に示す再構築部の回路アーキテクチャを例示する図である。FIG. 9 is a diagram illustrating the circuit architecture of the reconstruction unit shown in FIG. 3. 図10は、実施の形態に係る変換処理の処理手順の一例を示すフローチャートである。FIG. 10 is a flowchart illustrating an example of the processing procedure of the conversion process according to the embodiment. 図11は、従来の変換技術を説明する図である。FIG. 11 is a diagram illustrating a conventional conversion technique. 図12は、プログラムが実行されることにより、変換装置が実現されるコンピュータの一例を示す図である。FIG. 12 is a diagram illustrating an example of a computer that implements a conversion device by executing a program.
 以下に、本願に係る変換装置、変換方法及び変換プログラムの実施の形態を図面に基づいて詳細に説明する。また、本発明は、以下に説明する実施の形態により限定されるものではない。 Below, embodiments of a conversion device, a conversion method, and a conversion program according to the present application will be described in detail based on the drawings. Further, the present invention is not limited to the embodiments described below.
[実施の形態]
 まず、実施の形態について説明する。本実施の形態に係る変換装置10は、前段ハードウェアに一部処理をオフロードして、ハードウェアにてパケットの解析を実施する。変換装置10は、ハードウェア処理を行うか、後段ソフトウェアにて処理を行うかを判別する。
[Embodiment]
First, an embodiment will be described. The conversion device 10 according to the present embodiment offloads some processing to the preceding hardware and analyzes packets using the hardware. The conversion device 10 determines whether to perform hardware processing or subsequent software processing.
 変換装置10は、ハードウェア処理を行うと判別した場合、さらに、プロトコル解析によりヘッダ情報を識別し、複数のヘッダサンプルが搭載されたパケット(複数ヘッダサンプルパケット)か、単一のヘッダサンプルが搭載されたパケット(単一ヘッダサンプルパケット)かを判定する。変換装置10は、複数ヘッダサンプルパケットに対しては、前段ハードウェアで、複数のヘッダサンプルを分割し、単一ヘッダサンプルパケットに再構築する。 When determining that hardware processing is to be performed, the conversion device 10 further identifies the header information by protocol analysis, and converts the packet to either a packet with multiple header samples (multi-header sample packet) or a single header sample. packet (single header sample packet). For multiple header sample packets, the conversion device 10 uses upstream hardware to divide the multiple header samples and reconstruct them into a single header sample packet.
 そして、変換装置10は、前段ハードウェアにてパケットに対して実施した解析結果、グルーピング情報を含むメタデータをパケット末尾へ書き込みを行う。そして、変換装置10は、後段ソフトウェアにおいて、メタデータを識別し、プロトコル解析・グルーピング処理の代わりとなることで、ハードウェアとソフトウェアの連携を行う。 Then, the conversion device 10 writes metadata including grouping information to the end of the packet as a result of the analysis performed on the packet by the preceding hardware. Then, the conversion device 10 identifies the metadata in the subsequent software, and performs coordination between hardware and software by replacing the protocol analysis and grouping processing.
 これにより、変換装置10では、一部処理をハードウェアにオフロードすることで、ソフトウェア側の処理量を低減し、事業者等の属性ごとに異なった柔軟な処理を高速に行うことを可能とする。さらに、変換装置10では、複数のヘッダサンプルが搭載されたパケットに対する分割及び再構築をハードウェアで処理することで、計算コストが大きいソフトウェア処理負荷を低減でき、大容量のトラヒック情報を高速に処理することが可能となる。 As a result, in the conversion device 10, by offloading some processing to the hardware, it is possible to reduce the amount of processing on the software side and perform flexible processing that differs depending on the attributes of the operator etc. at high speed. do. Furthermore, in the conversion device 10, by using hardware to process the division and reassembly of packets equipped with multiple header samples, it is possible to reduce the software processing load, which requires high calculation costs, and to process large volumes of traffic information at high speed. It becomes possible to do so.
[通信システムの構成]
 図1は、実施の形態に係る通信システムの構成の一例を示すブロック図である。図1に示すように、実施の形態に係る通信システム1では、複数のNW装置2と、変換装置10と、複数の分析装置3(外部装置)とを有する。例えば、複数のNW装置2と、変換装置10とは、ネットワークNを介して通信を行う。なお、図1に示す構成は一例にすぎず、具体的な構成や各装置の数は特に限定されない。
[Communication system configuration]
FIG. 1 is a block diagram showing an example of the configuration of a communication system according to an embodiment. As shown in FIG. 1, the communication system 1 according to the embodiment includes a plurality of NW devices 2, a conversion device 10, and a plurality of analysis devices 3 (external devices). For example, the plurality of NW devices 2 and the conversion device 10 communicate via the network N. Note that the configuration shown in FIG. 1 is only an example, and the specific configuration and number of each device are not particularly limited.
 NW装置2は、監視対象のトラヒックにおいてパケットのサンプリングを行う。NW装置2は、例えば、ミラーリングされたカプセル化パケットを変換装置10に転送してもよいし、サンプリングしたパケットヘッダサンプルを切り取り、切り取ったヘッダサンプルをカプセル化したxFlowパケットを変換装置10に転送してもよい。この際、NW装置2は、パケット数等のフローに関する統計情報を、転送するxFlowパケットに載せて、或いは、別のxFlowパケットとして、変換装置10に転送するようにしてもよい。 The NW device 2 samples packets in the traffic to be monitored. For example, the NW device 2 may transfer the mirrored encapsulated packet to the conversion device 10, or may cut out the sampled packet header sample and transfer the xFlow packet in which the cut header sample is encapsulated to the conversion device 10. It's okay. At this time, the NW device 2 may include statistical information regarding the flow, such as the number of packets, in the xFlow packet to be transferred, or may transfer it to the conversion device 10 as a separate xFlow packet.
 変換装置10は、各種NW装置2から入力されたxFlowパケットを、外部の分析装置3の処理内容に応じた形式のxFlowパケットに変換する。具体的には、変換装置10は、プロトコル解析によりヘッダ情報を識別し、複数ヘッダサンプルパケットについては分割及び単一ヘッダサンプルパケットへの再構築を行ってから、条件に基づいてグルーピングを行う。そして、変換装置10は、グループごとに定義された処理を行い、生成したパケットを分析装置3に送信する。例えば、グループごとに定義された処理として、変換装置10は、各種NW装置2から入力されたxFlowパケットのinnerヘッダの統計を集計し、求めたinnerヘッダの統計を示す統計情報を少なくとも含むxFlowパケットを生成し、外部の分析装置3に送信する。 The conversion device 10 converts xFlow packets input from various NW devices 2 into xFlow packets in a format according to the processing content of the external analysis device 3. Specifically, the conversion device 10 identifies header information through protocol analysis, divides and reconstructs multiple header sample packets into single header sample packets, and then performs grouping based on conditions. Then, the conversion device 10 performs processing defined for each group and transmits the generated packets to the analysis device 3. For example, as a process defined for each group, the conversion device 10 aggregates statistics of inner headers of xFlow packets input from various NW devices 2, and converts xFlow packets that include at least statistical information indicating statistics of the determined inner headers. is generated and sent to the external analysis device 3.
 各分析装置3は、監視対象のトラヒックに対する分析や、監視対象のトラヒックにおけるパケットの集計を行う。例えば、分析装置3は、変換装置10が変換したxFlowパケットに含まれる統計情報を用いて、分析や集計を行う。 Each analysis device 3 analyzes the traffic to be monitored and aggregates packets in the traffic to be monitored. For example, the analysis device 3 performs analysis and aggregation using statistical information included in the xFlow packet converted by the conversion device 10.
 変換装置10では、パケットヘッダ情報に基づく柔軟なフォーマット変換処理を行っている。ここで図2を用いて、変換装置におけるフォーマット変換処理の流れを説明する。図2は、図1に示す変換装置における処理の流れを説明する図である。なお、ここでの説明では、変換装置10が、ハードウェアに一部処理をオフロードする処理等の説明は省略し、ハードウェア、ソフトウェアのいずれの処理であるかは記載せずに、フォーマット変換処理の全体の流れを説明する。また、ハードウェアに一部処理をオフロードする処理等は後述するものとする。 The conversion device 10 performs flexible format conversion processing based on packet header information. Here, the flow of format conversion processing in the conversion device will be explained using FIG. 2. FIG. 2 is a diagram illustrating the flow of processing in the conversion apparatus shown in FIG. 1. In addition, in the explanation here, explanations such as processing in which the conversion device 10 offloads some processing to hardware are omitted, and it is not stated whether the processing is performed by hardware or software. The overall flow of processing will be explained. Furthermore, processing for offloading some processing to hardware will be described later.
 図2に例示するように、変換装置10は、NW装置2によってミラーリングされたカプセル化パケット、または、ヘッダサンプルを含むxFlowパケットの入力を受け付けると、プロトコル解析によりヘッダ情報を識別する(図2の(1)参照)。 As illustrated in FIG. 2, upon receiving an input of an encapsulated packet mirrored by the NW device 2 or an xFlow packet including a header sample, the conversion device 10 identifies the header information by protocol analysis (see FIG. 2). (See (1)).
 そして、変換装置10は、入力されたパケットのうち、複数ヘッダサンプルパケットは、単一ヘッダサンプルパケットへ再構築してから(図2の(2)参照)、条件に基づいてグルーピングを行う(図2の(3)参照)。図2の例では、変換装置10が、outerヘッダおよびinnerヘッダの両方に関する条件に基づいて、複数のグループ「グループ#1~#3」のうちのいずれかのグループにパケットを分類する場合を例示している。 Then, among the input packets, the conversion device 10 reconstructs the multiple header sample packets into single header sample packets (see (2) in FIG. 2), and then performs grouping based on conditions (see (2) in FIG. 2). (See 2 (3)). The example in FIG. 2 illustrates a case where the conversion device 10 classifies a packet into one of a plurality of groups "groups #1 to #3" based on conditions regarding both the outer header and the inner header. are doing.
 続いて、変換装置10は、グループごとに定義された情報整形処理を行う(図2の(4)参照)。例えば、図2の例では、変換装置10は、グループ「#1」に分類されたパケットについては、innerヘッダの統計を求め、innerヘッダの統計を示す統計情報を少なくとも含むxFlowパケットを生成する。そして、変換装置10は、送信先をxFlow分析装置3A(図2では、送信先「分析A」とも記載)として、生成したxFlowパケットを送信する。 Next, the conversion device 10 performs information shaping processing defined for each group (see (4) in FIG. 2). For example, in the example shown in FIG. 2, the conversion device 10 obtains inner header statistics for packets classified into group "#1" and generates an xFlow packet that includes at least statistical information indicating the inner header statistics. Then, the conversion device 10 transmits the generated xFlow packet to the xFlow analysis device 3A (also described as the destination “analysis A” in FIG. 2) as the destination.
 また、例えば、変換装置10は、グループ「#2」に分類されたパケットについては、Outerヘッダの統計を求め、Outerヘッダの統計を示す統計情報を少なくとも含むxFlowパケットを生成する。そして、変換装置10は、送信先をxFlow分析装置3B(図2では、送信先「分析B」とも記載)として、生成したxFlowパケットを送信する。 Furthermore, for example, the conversion device 10 obtains statistics of the outer header for packets classified into group "#2" and generates an xFlow packet that includes at least statistical information indicating the statistics of the outer header. Then, the conversion device 10 transmits the generated xFlow packet to the xFlow analysis device 3B (also described as the destination “analysis B” in FIG. 2) as the destination.
 また、例えば、変換装置10は、グループ「#3」に分類されたパケットについては、カプセルヘッダを除去し、送信先を外部の分析装置3Cに書き換えたパケットを生成(整形)する処理を行う。そして、変換装置10は、送信先をパケットキャプチャ装置3C(図2では、送信先「キャプチャC」とも記載)として、生成したパケットを送信する。なお、変換装置10は、上記した各処理について、パケットを生成して送信するタイミングは、どのようなタイミングであってもよい。 Furthermore, for example, the conversion device 10 performs a process of removing the capsule header from the packets classified into the group “#3” and generating (formatting) the packets with the transmission destination rewritten to the external analysis device 3C. Then, the conversion device 10 transmits the generated packet to the packet capture device 3C (also described as the destination “capture C” in FIG. 2) as the destination. Note that the conversion device 10 may generate and transmit packets at any timing for each of the above-described processes.
 例えば、変換装置10は、グループ「#1」、「#2」に対応する処理のように統計処理を行う場合には、グルーピングされたパケット数が所定数になった場合に統計処理を行い、パケットを生成して送信する。また、例えば、変換装置10は、グループ「#3」に対応する処理のようにカプセルヘッダを除去して送信先を外部の分析装置3に書き換える場合には、グループ「#3」にグルーピングされるたびに、パケットを生成して送信する。 For example, when performing statistical processing such as processing corresponding to groups "#1" and "#2", the conversion device 10 performs statistical processing when the number of grouped packets reaches a predetermined number, Generate and send a packet. Further, for example, when the conversion device 10 removes the capsule header and rewrites the transmission destination to the external analysis device 3 as in the process corresponding to the group “#3”, the conversion device 10 is grouped into the group “#3”. Each time, a packet is generated and sent.
 つまり、変換装置10は、入力されたパケットをグルーピングし、カプセル外側パケットヘッダの削除や統計処理、送信先IPアドレス変更等グループ毎に異なる処理を実施することにより、ネットワーク利用事業者等の属性ごとに、個別の処理や分析を柔軟に実施することが可能とする。 In other words, the conversion device 10 groups input packets and performs different processing for each group, such as deleting the outer packet header of the capsule, statistical processing, and changing the destination IP address. This makes it possible to flexibly perform individual processing and analysis.
 さらに、変換装置10では、一部処理をハードウェアにオフロードすることで、ソフトウェア側の処理量を低減し、事業者等の属性ごとに異なった柔軟な処理を高速に行うことを可能とする。さらに、変換装置10では、複数のヘッダサンプルが搭載されたパケットに対する複数のヘッダサンプルの分割及び再構築をハードウェアで処理することで、計算コストが大きいソフトウェア処理負荷を低減し、大容量のトラヒック情報を高速に処理することが可能となる。 Furthermore, in the conversion device 10, by offloading some processing to hardware, the amount of processing on the software side is reduced, and it is possible to perform flexible processing that differs depending on the attributes of the business operator, etc. at high speed. . Furthermore, in the conversion device 10, hardware processes the division and reassembly of a plurality of header samples for packets equipped with a plurality of header samples, thereby reducing the software processing load that requires large calculation costs, and reducing the burden on large-volume traffic. It becomes possible to process information at high speed.
[変換装置の構成]
 次に、変換装置10の構成について説明する。図3は、図1に示す変換装置10の構成の一例を示すブロック図である。
[Configuration of conversion device]
Next, the configuration of the conversion device 10 will be explained. FIG. 3 is a block diagram showing an example of the configuration of the conversion device 10 shown in FIG. 1.
 図3に示すように、変換装置10は、パケット解析部11、再構築部12、メタデータ付与部13、生成部14、及び、ルール情報DB15を有する。なお、変換装置10は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)、CPU(Central Processing Unit)等を含むコンピュータ等に所定のプログラムが読み込まれて、CPUが所定のプログラムを実行することで実現される。また、変換装置10は、ネットワーク等を介して接続された他の装置との間で、各種情報を送受信する通信インタフェースを有する。例えば、変換装置10は、NIC(Network Interface Card)等を有し、LAN(Local Area Network)やインターネットなどの電気通信回線を介した他の装置との間の通信を行う。 As shown in FIG. 3, the conversion device 10 includes a packet analysis section 11, a reconstruction section 12, a metadata adding section 13, a generation section 14, and a rule information DB 15. Note that the conversion device 10 is configured such that a predetermined program is loaded into a computer, etc., including, for example, ROM (Read Only Memory), RAM (Random Access Memory), CPU (Central Processing Unit), etc., and the CPU executes the predetermined program. This is achieved by doing. Furthermore, the conversion device 10 has a communication interface that transmits and receives various information to and from other devices connected via a network or the like. For example, the conversion device 10 includes a NIC (Network Interface Card) and the like, and performs communication with other devices via a telecommunication line such as a LAN (Local Area Network) or the Internet.
 ルール情報DB15は、予め設定されたルールであり、前段ハードウェアにて一部の処理をオフロードするか判別するためのルールを記憶する。例えば、ルール情報DB15は、入力されるパケットのouterヘッダおよびinnerヘッダのうちいずれか一つまたは両方の情報に応じて、ハードウェアによる所定の前段処理を行うパケット(ハードウェアオフロード対象パケット)か、ハードウェアによる所定の前段処理を行わずにソフトウェアで処理を行うパケット(ハードウェアオフロード外パケット)かを判別する判別ルールを記憶する。ルール情報DB15は、ハードウェア処理を行うパケットに対して、複数ヘッダサンプルパケットであるか、または、単一ヘッダサンプルパケットであるかを判別する判別ルールを記憶する。 The rule information DB 15 is a preset rule, and stores a rule for determining whether to offload some processing to the preceding hardware. For example, the rule information DB 15 determines which packets are to be subjected to predetermined pre-processing by hardware (packets to be hardware offloaded), depending on the information in one or both of the outer header and inner header of the input packet. , a determination rule for determining whether a packet is to be processed by software without performing predetermined pre-processing by hardware (a packet other than hardware offload) is stored. The rule information DB 15 stores a determination rule for determining whether a packet to be subjected to hardware processing is a multiple header sample packet or a single header sample packet.
 また、ルール情報DB15は、パケットにおけるハードウェア処理部分と、ソフトウェア処理部分とを特定するためのルールを記憶する。例えば、ルール情報DB15は、パケットの種別ごとに、ハードウェア処理部分と、ソフトウェア処理部分とを特定するためのルールを記憶する。 Additionally, the rule information DB 15 stores rules for specifying a hardware processing portion and a software processing portion in a packet. For example, the rule information DB 15 stores rules for specifying a hardware processing portion and a software processing portion for each type of packet.
 また、ルール情報DB15は、グルーピング条件として、入力されたパケットをグルーピングするための条件であるグルーピング条件を記憶する。また、例えば、ルール情報DB15は、グルーピング条件として、outerヘッダおよびinnerヘッダのうちいずれか一つまたは両方に含まれる情報に関する条件を記憶する。 Additionally, the rule information DB 15 stores grouping conditions, which are conditions for grouping input packets. Further, for example, the rule information DB 15 stores, as a grouping condition, a condition regarding information included in one or both of the outer header and the inner header.
 また、ルール情報DB15は、グループごとに定義された処理を記憶する。つまり、ルール情報DB15は、グルーピングされた各パケットについて、グループごとに実施すべき処理の内容を記憶する。例えば、ルール情報DB15は、グループIDに対応付けて処理内容および生成した分析用のパケットの送信先を記憶する。なお、上記したルール情報DB15によって記憶された情報は、運用者によって予め設定されたものであり、適宜変更、追加、削除を行うことができるものとする。 Additionally, the rule information DB 15 stores processes defined for each group. That is, the rule information DB 15 stores the details of the processing to be performed for each group for each grouped packet. For example, the rule information DB 15 stores processing details and destinations of generated analysis packets in association with group IDs. Note that the information stored in the rule information DB 15 described above is set in advance by the operator, and can be changed, added, or deleted as appropriate.
 パケット解析部11は、入力されたパケットの情報をハードウェアにより解析し、該ハードウェアによる所定の前段処理を行うか否かを判定する。例えば、パケット解析部11は、カプセル化パケット(RAWパケット)またはヘッダ部分そのものであるヘッダサンプルを含むxFlowパケットの入力を受け付けると、カプセル化パケットまたはxFlowパケットに対してプロトコル解析をハードウェアにより行う。 The packet analysis unit 11 analyzes the input packet information using hardware, and determines whether or not to perform predetermined pre-processing using the hardware. For example, upon receiving an input of an encapsulated packet (RAW packet) or an xFlow packet including a header sample that is the header portion itself, the packet analysis unit 11 performs protocol analysis on the encapsulated packet or xFlow packet using hardware.
 そして、例えば、パケット解析部11は、ハードウェアによる所定の前段処理を行うか否かを判定するとともに、ハードウェア処理を行うパケットに対して、複数ヘッダサンプルパケット、または、単一ヘッダサンプルパケットであるかを判定する。つまり、パケット解析部11は、ルール情報DB15に記憶された判別ルールを参照し、入力パケットが、ハードウェアオフロード対象パケットであって複数ヘッダサンプルパケットであるか、ハードウェアオフロード対象パケットであって単一ヘッダサンプルパケットであるか、ハードウェアオフロード外パケットであるかを判定する。 Then, for example, the packet analysis unit 11 determines whether or not to perform predetermined pre-processing by hardware, and also determines whether or not to perform predetermined pre-processing using hardware, and also determines whether or not to perform predetermined pre-processing using hardware. Determine if there is. In other words, the packet analysis unit 11 refers to the determination rules stored in the rule information DB 15 and determines whether the input packet is a hardware offload target packet and a multi-header sample packet, or a hardware offload target packet. to determine whether it is a single header sample packet or a packet other than hardware offload.
 この結果、例えば、パケット解析部11は、ハードウェアオフロード外パケットであると判定した場合には、生成部14(ソフトウェア)に次の処理を行わせる。 As a result, for example, if the packet analysis unit 11 determines that the packet is a non-hardware offload packet, it causes the generation unit 14 (software) to perform the following processing.
 また、例えば、パケット解析部11は、ハードウェアオフロード対象パケットであって複数ヘッダサンプルパケットであると判定した場合、ルール情報DB15に記憶された情報を参照し、再構築部12(ハードウェア)に次の処理を行わせる。 For example, when the packet analysis unit 11 determines that the packet is a hardware offload target packet and is a multi-header sample packet, the packet analysis unit 11 refers to the information stored in the rule information DB 15, and the reconstruction unit 12 (hardware) performs the following processing.
 また、例えば、パケット解析部11は、ハードウェアオフロード対象パケットであって単一ヘッダサンプルパケットであると判定した場合、ルール情報DB15に記憶された情報を参照し、パケットにおけるハードウェア処理部分とソフトウェア処理部分とを特定し、メタデータ付与部13(ハードウェア)に次の処理を行わせる。 For example, if the packet analysis unit 11 determines that the packet is a hardware offload target packet and is a single header sample packet, the packet analysis unit 11 refers to the information stored in the rule information DB 15 and determines the hardware processing portion of the packet. The software processing part is specified, and the metadata adding unit 13 (hardware) is made to perform the following processing.
 ここで、例えば、パケット解析部11は、カプセル化パケットであるL2TPパケットの入力を受け付けた場合には、「第1 Etherヘッダ」、「第1 IPv4/IPv6ヘッダ」および「UDP(User Datagram Protocol)ヘッダ」をハードウェア処理部分と特定し、「第2 IPv4/IPv6ヘッダ」をソフトウェア処理部分と特定する。例えば、カプセル外側の固定長ヘッダ内情報は、ハードウェア内処理であっても判定が容易なものであるため、ハードウェア処理部分となる。また、例えば、可変長ヘッダ内、カプセル内側ヘッダ内情報は、読み込みがビット単位で判別が必要であり、ハードウェア処理部分となる。 Here, for example, when the packet analysis unit 11 receives an input of an L2TP packet that is an encapsulated packet, it includes the "first Ether header", "first IPv4/IPv6 header" and "UDP (User Datagram Protocol)". The "header" is specified as the hardware processing part, and the "second IPv4/IPv6 header" is specified as the software processing part. For example, the information in the fixed-length header outside the capsule is easily determined even if it is processed in hardware, so it is processed in hardware. Further, for example, the information in the variable length header and the capsule inner header needs to be read in bit units and is a hardware processing part.
 また、例えば、パケット解析部11は、ヘッダサンプルを含むxFlowパケットであるIPFIXパケットの入力を受け付けた場合には、「IPFIX Etherヘッダ」および「IPFIX IPv4/IPv6ヘッダ」と、IPFIX set内のL2TPヘッダサンプリングにおける「第1 Etherヘッダ」、「第1 IPv4/IPv6ヘッダ」および「UDPヘッダ」とをハードウェア処理部分と特定し、L2TPヘッダサンプリングにおける「第2 IPv4/IPv6ヘッダ」をソフトウェア処理部分と特定する。 For example, when the packet analysis unit 11 receives an input of an IPFIX packet that is an xFlow packet including a header sample, the packet analysis unit 11 inputs the "IPFIX Ether header", the "IPFIX IPv4/IPv6 header", and the L2TP header in the IPFIX set. The "first Ether header," "first IPv4/IPv6 header," and "UDP header" in sampling are identified as the hardware processing part, and the "second IPv4/IPv6 header" in L2TP header sampling is identified as the software processing part. do.
 再構築部12は、複数ヘッダサンプルパケットを、単一ヘッダサンプルパケットに再構築する。再構築部12は、複数ヘッダサンプルパケットをヘッダ部と各データ部とに分割する。そして、再構築部12は、データ数に応じて、単一ヘッダサンプルパケットに再構築する。再構築部12は、再構築した各単一ヘッダサンプルパケットをメタデータ付与部13に出力する。 The reconstruction unit 12 reconstructs the multiple header sample packet into a single header sample packet. The reconstruction unit 12 divides the multiple header sample packet into a header part and each data part. Then, the reconstruction unit 12 reconstructs it into a single header sample packet according to the number of data. The reconstruction unit 12 outputs each reconstructed single header sample packet to the metadata adding unit 13.
 図4及び図5は、図3に示す再構築部12による再構築処理について説明する図である。図4及び図5では、IPFIXパケットであって、サンプル数が2であるパケットの再構築処理について説明する。 4 and 5 are diagrams illustrating the reconstruction process by the reconstruction unit 12 shown in FIG. 3. 4 and 5, the reconstruction process of an IPFIX packet having two samples will be described.
 図4に示すように、再構築部12では、IPFIXヘッダに格納されているFlowSet Length、string_len_shortから、IPFIXのマルチサンプル全体のデータ長、各サンプルのデータ長を取得し、ヘッダ部と、各データ部とに分割する。図4の例では、L2/L3ヘッダ部、IPFIXヘッダ部と、サンプルデータS1、サンプルデータS2とに分割する。 As shown in FIG. 4, the reconstruction unit 12 obtains the data length of the entire IPFIX multisample and the data length of each sample from FlowSet Length and string_len_short stored in the IPFIX header, and Divide into parts. In the example of FIG. 4, the data is divided into an L2/L3 header section, an IPFIX header section, sample data S1, and sample data S2.
 そして、再構築部12は、図5に示すように、サンプル数に応じた単一ヘッダサンプルのIPFIXパケットを再構築する。再構築部12は、L2/L3ヘッダ部、IPFIXヘッダ部及びサンプルデータS1を基に、サンプルデータS1を含む単一ヘッダサンプルのIPFIXパケットを再構築する。そして、再構築部12は、L2/L3ヘッダ部、IPFIXヘッダ部及びサンプルデータS2を基に、サンプルデータS2を含む単一ヘッダサンプルのIPFIXパケットを再構築する。 Then, as shown in FIG. 5, the reconstruction unit 12 reconstructs the IPFIX packet of the single header sample according to the number of samples. The reconstruction unit 12 reconstructs a single header sample IPFIX packet including the sample data S1 based on the L2/L3 header section, the IPFIX header section, and the sample data S1. Then, the reconstruction unit 12 reconstructs a single header sample IPFIX packet including the sample data S2 based on the L2/L3 header section, the IPFIX header section, and the sample data S2.
 メタデータ付与部13は、パケット解析部11または再構築部12によって入力された単一ヘッダサンプルパケットにおける固定長のヘッダ内情報に基づいて、入力パケットのグループを示す識別情報を含むメタデータを入力パケットに付与する処理をハードウェアにより行う。 The metadata adding unit 13 inputs metadata including identification information indicating a group of input packets based on the fixed length header information in the single header sample packet input by the packet analysis unit 11 or the reconstruction unit 12. The processing to add to the packet is performed by hardware.
 例えば、メタデータ付与部13は、ルール情報DB15に記憶されたルールを参照して、パケット解析部11によってハードウェア処理部分と特定されたヘッダ内情報を取得し、ヘッダ内情報を基にグルーピングを行ってグルーピングIDを決定し、該グルーピングIDを含むメタデータをパケットに付与する処理をハードウェアにより行う。また、例えば、メタデータ付与部13は、パケットの送信元IPアドレスを変換装置10のIPアドレスに変更し、宛先IPアドレスを分析装置3のIPアドレスに変更する情報整形処理を行う。 For example, the metadata adding unit 13 refers to the rules stored in the rule information DB 15, obtains information in the header identified by the packet analysis unit 11 as a hardware processing part, and performs grouping based on the information in the header. The processing for determining the grouping ID and adding metadata including the grouping ID to the packet is performed by hardware. Further, for example, the metadata adding unit 13 performs information shaping processing to change the source IP address of the packet to the IP address of the conversion device 10 and change the destination IP address to the IP address of the analysis device 3.
 その後、メタデータ付与部13は、ハードウェア処理部分と特定されたヘッダ内情報を基に、ルールに沿うメタデータを付与する。例えば、メタデータには、各ヘッダのプロトコル種類、ヘッダ長などのプロトコル解析結果や、グルーピング一次識別結果が含まれる。 Thereafter, the metadata adding unit 13 adds metadata that follows the rules based on the information in the header identified as the hardware processing part. For example, the metadata includes protocol analysis results such as the protocol type and header length of each header, and grouping primary identification results.
 図6は、IPFIXパケットに対するメタデータの付与について説明する図である。図6に例示するように、例えば、メタデータ付与部13は、各サンプルに対応したメタデータ(Meta1,Meta2)を作成し、IPFIXパケットに付与する。 FIG. 6 is a diagram illustrating adding metadata to IPFIX packets. As illustrated in FIG. 6, for example, the metadata adding unit 13 creates metadata (Meta1, Meta2) corresponding to each sample and adds it to the IPFIX packet.
 例えば、メタデータ付与部13は、IPFIXパケットに対して、「VLAN数」、「MPLSラベル数」、「各種ヘッダ位置」および「xFlowパケット種別」を含むメタデータを付与する。メタデータ付与部13は、再構成後のIPFIXパケットとメタデータとの間に、0~3Byteパディングを入れ、4Byteにアライメントした上でメタデータを付加する。メタデータ付与部13は、再構成後のパケット長に合わせてパディングを実施する。 For example, the metadata adding unit 13 adds metadata including "number of VLANs", "number of MPLS labels", "various header positions", and "xFlow packet type" to the IPFIX packet. The metadata adding unit 13 inserts 0 to 3 bytes of padding between the reconfigured IPFIX packet and the metadata, aligns it to 4 bytes, and adds the metadata. The metadata adding unit 13 performs padding according to the packet length after reconfiguration.
 また、例えば、メタデータ付与部13は、L2TPパケットに対して、「VLAN数」、「MPLSラベル数」、「IPヘッダ位置」、「ルールテーブルに基づくグルーピングID」、「情報整形前の送信元IPアドレスおよび宛先IPアドレス」を含むメタデータを付与する。 For example, the metadata adding unit 13 may also add, for the L2TP packet, "VLAN number," "MPLS label number," "IP header position," "grouping ID based on the rule table," "transmission source before information shaping." IP address and destination IP address.
 生成部14は、ハードウェアによる所定の前段処理が行われた場合には、メタデータ付与部13によって付与されたメタデータを用いて、パケットのグループに対応する分析用のパケットを生成する処理をソフトウェアにより行う。例えば、生成部14は、メタデータ付与部13によって付与されたメタデータに含まれるグルーピングIDを取得し、ルール情報DB15を参照してグルーピングIDに対応する処理を決定する。 The generation unit 14 performs a process of generating analysis packets corresponding to a group of packets using the metadata added by the metadata addition unit 13 when predetermined pre-processing by hardware is performed. This is done by software. For example, the generation unit 14 acquires a grouping ID included in the metadata assigned by the metadata assignment unit 13, and refers to the rule information DB 15 to determine a process corresponding to the grouping ID.
 また、生成部14は、ハードウェアによる所定の前段処理が行われていない場合には、ソフトウェアによりパケットのプロトコル解析処理およびグルーピング処理を行ったうえで、グループに対応する処理を行うことでパケットを生成する処理を行う。その後、生成部14は、生成したパケットを分析装置3に送信する。 In addition, if predetermined pre-processing by hardware is not performed, the generation unit 14 performs packet protocol analysis processing and grouping processing by software, and then performs processing corresponding to the group to generate packets. Perform the process to generate. Thereafter, the generation unit 14 transmits the generated packet to the analysis device 3.
 例えば、生成部14は、グループに対応する分析用のパケットを生成する処理として、innerヘッダの統計を集計し、innerヘッダの統計を示す統計情報を少なくとも含むxFlowパケットを生成する処理、outerヘッダの統計を集計し、outerヘッダの統計を示す統計情報を少なくとも含むxFlowパケットを生成する処理、および、outerヘッダを除去し、送信先を外部の分析装置3に書き換えたパケットを生成(整形)する処理のうち、いずれか一つまたは複数の処理を実行する。なお、生成部14がパケットを生成する処理には、新しく分析用のパケットを生成する処理と、入力されたパケットの情報を書き換えたり削除したりする処理を行って分析用のパケットに整形する処理とを含むものとする。 For example, the generation unit 14 may perform a process of generating an analysis packet corresponding to a group by aggregating the statistics of the inner header and generating an xFlow packet that includes at least statistical information indicating the statistics of the inner header; A process of aggregating statistics and generating an xFlow packet that includes at least statistical information indicating the statistics of the outer header, and a process of generating (shaping) a packet with the outer header removed and the destination rewritten to the external analysis device 3. Execute one or more of the following processes. Note that the process of generating a packet by the generation unit 14 includes a process of generating a new packet for analysis, and a process of rewriting or deleting the information of the input packet to format it into a packet for analysis. shall include.
 ここで、図7及び図8を用いて、変換装置10における処理の流れを説明する。図7及び図8は、図1に示す変換装置10における処理の流れを説明する図である。なお、図8の例では、分析用のパケットを生成する処理として、innerヘッダの統計を集計し、innerヘッダの統計を示す統計情報を含むxFlowパケットを生成する場合を説明する。 Here, the flow of processing in the conversion device 10 will be explained using FIGS. 7 and 8. 7 and 8 are diagrams illustrating the flow of processing in the conversion device 10 shown in FIG. 1. In the example of FIG. 8, a case will be described in which, as a process of generating a packet for analysis, statistics of the inner header are totaled and an xFlow packet including statistical information indicating the statistics of the inner header is generated.
 図7に例示するように、変換装置10のハードウェアでは、パケットの入力を受け付けると、入力パケットが、ハードウェアオフロード外パケットであるか、ハードウェアオフロード対象パケットの単一ヘッダサンプルパケットであるか、ハードウェアオフロード対象パケットの複数ヘッダサンプルパケットであるか(例えば、xFlow)を判定する。つまり、変換装置10は、前段ハードウェアにてパケット解析を行い、解析結果により、前段ハードウェア処理(高速処理)の対象の複数ヘッダサンプルパケットであるか、前段ハードウェア処理の対象の単一ヘッダサンプルパケットであるか、後段ソフトウェア処理(低速処理)の対象であるパケットであるかを解析する。 As illustrated in FIG. 7, when the hardware of the conversion device 10 receives a packet input, the input packet is either a non-hardware offload packet or a single header sample packet of a hardware offload target packet. It is determined whether there is a sample packet with multiple headers of the packet to be hardware offloaded (for example, xFlow). In other words, the conversion device 10 analyzes the packet using the front-end hardware, and depending on the analysis result, it determines whether the packet is a multiple-header sample packet to be processed by the front-end hardware (high-speed processing), or whether it is a single-header sample packet to be processed by the front-end hardware. Analyze whether the packet is a sample packet or a packet to be subjected to subsequent software processing (low-speed processing).
 例えば、変換装置10は、前段ハードウェア処理を行わずに、後段ソフトウェア処理を行う場合には、ソフトウェア内処理として、ソフトウェアによりパケットのプロトコル解析処理およびグルーピング処理を行ったうえで、グループに対応する処理として、innerヘッダの統計を集計し、innerヘッダの統計を示す統計情報を少なくとも含むxFlowパケットを生成する処理を行う。 For example, if the conversion device 10 performs subsequent software processing without performing preceding hardware processing, the conversion device 10 performs packet protocol analysis processing and grouping processing using software as internal software processing, and then performs group processing. As a process, statistics of the inner header are totaled, and an xFlow packet including at least statistical information indicating the statistics of the inner header is generated.
 この際、変換装置10の前段ハードウェアでは、入力パケットのxFlowのIPヘッダ内変数より、入力パケットが、複数のヘッダサンプルが搭載されているパケットであるか否かを判定する(図7の(1))。 At this time, the hardware at the front stage of the conversion device 10 determines whether the input packet is a packet equipped with a plurality of header samples based on the variable in the xFlow IP header of the input packet (( 1)).
 前段ハードウェアでは、複数のヘッダサンプルが搭載されているパケットであると判定した場合、複数のヘッダサンプルの分割やパケット再構築を行い、既存の他機能部と連携する。例えば、図8に示すように、前段ハードウェアでは、3つのヘッダサンプルが搭載されたパケットを分割、復元することによって、3つの単一ヘッダサンプルパケットへ再構築する。このように、前段ハードウェアでは、単一ヘッダサンプルパケットへ再構築する機能を追加することにより、後段ハードウェア(HW)処理とソフトウェア(SW)処理との変更は不必要となる(図8の(2))。 If the front-end hardware determines that the packet has multiple header samples, it divides the multiple header samples, reconstructs the packet, and collaborates with other existing functional units. For example, as shown in FIG. 8, the front-end hardware divides and restores a packet carrying three header samples to reconstruct it into three single header sample packets. In this way, by adding the function of reassembling a single header sample packet to the front-end hardware, there is no need to change the rear-end hardware (HW) processing and software (SW) processing (see Figure 8). (2)).
 そして、変換装置10は、入力パケットである単一ヘッダサンプルパケット、または、再構築された単一ヘッダサンプルパケットに対して、ハードウェア内処理として、ヘッダ内情報を基にグルーピングを行い、送信元IPアドレスおよび宛先IPアドレスを変更する情報整形処理(チェイニング先選択など)を行った後、ハードウェア処理部分と特定されたヘッダ内情報を基に、ルールに沿うメタデータを付与する。 Then, the conversion device 10 performs in-hardware processing on the single header sample packet that is the input packet or the reconstructed single header sample packet, and performs grouping based on the information in the header. After performing information shaping processing (chaining destination selection, etc.) to change the IP address and destination IP address, metadata that conforms to the rules is added based on the information in the header identified as the hardware processing part.
 続いて、変換装置10は、ソフトウェア内処理として、ハードウェア内処理にて付与されたメタデータを識別し、メタデータ含まれるグルーピングIDを用いて処理内容を決定する。そして、変換装置10は、ソフトウェア内処理として、innerヘッダの解析を行ってinnerヘッダの統計を集計し、innerヘッダの統計を示す統計情報を少なくとも含むxFlowパケットを生成する処理を行う。 Subsequently, the conversion device 10 identifies the metadata added in the hardware processing as the software processing, and determines the processing content using the grouping ID included in the metadata. Then, the conversion device 10 performs a process within the software to analyze the inner header, aggregate the statistics of the inner header, and generate an xFlow packet that includes at least statistical information indicating the statistics of the inner header.
 このように、変換装置10は、前段ハードウェアにて実施した解析結果、複数ヘッダサンプルパケットについては、複数のヘッダサンプルの分割及び単一ヘッダサンプルパケットへの再構築を行ってから、グルーピング情報を含むメタデータのパケット末尾への書き込みを行う。 In this way, the conversion device 10 divides the multiple header samples and reconstructs them into a single header sample packet based on the analysis result performed by the previous stage hardware, and then converts the grouping information into a single header sample packet. Writes the included metadata to the end of the packet.
 そして、変換装置10は、後段ソフトウェアにおいて、メタデータの識別処理が、計算コストの高いプロトコル解析およびグルーピング処理の代わりとなることで、ハードウェアとソフトウェアの連携を行うことが可能である。変換装置10は、ソフトウェアでのプロトコル解析処理およびグルーピング処理を、ハードウェアでのメタデータ付与処理およびソフトウェアでのメタデータ読み取り処理で実現することで、計算コストの高いソフトウェアプロトコル解析を省略することができる。このため、一部処理をハードウェアにオフロードすることで、ソフトウェア側の処理量を低減することが可能である。 In the conversion device 10, the metadata identification process replaces the computationally expensive protocol analysis and grouping process in the subsequent software, allowing hardware and software to cooperate. The conversion device 10 realizes the protocol analysis processing and grouping processing using software through the metadata adding processing using hardware and the metadata reading processing using software, thereby making it possible to omit software protocol analysis with high calculation costs. can. Therefore, by offloading some processing to hardware, it is possible to reduce the amount of processing on the software side.
 変換装置10では、前段ハードウェアでは画一処理などハードウェアが得意とする処理を実施し、後段ソフトウェアではカプセル化パケットの内側情報を基にする処理など、柔軟な判断や複雑な処理を実施することで、ソフトウェア側の処理量を低減しつつ、大容量のトラフックであっても、高速に処理を行うことを可能とする。さらに、変換装置10では、複数のヘッダサンプルが搭載されたパケットに対する分割及び再構築をハードウェアで処理することで、計算コストが大きいソフトウェア処理負荷を低減でき、大容量のトラヒック情報を高速に処理することが可能となる。 In the conversion device 10, the front-stage hardware performs processing that the hardware is good at, such as uniformity processing, and the rear-stage software performs flexible judgments and complex processing, such as processing based on internal information of encapsulated packets. This makes it possible to process even large-volume traffic at high speed while reducing the amount of processing on the software side. Furthermore, in the conversion device 10, by using hardware to process the division and reassembly of packets equipped with multiple header samples, it is possible to reduce the software processing load, which requires high calculation costs, and to process large volumes of traffic information at high speed. It becomes possible to do so.
[回路アーキテクチャ]
 図9は、図3に示す再構築部12の回路アーキテクチャを例示する図である。図9に示すように、再構築部12の回路アーキテクチャとして、書き込みアドレス計算・データ振分部、複数のBlock RAM、データ選択・整形部を有する。Block RAMとして、MAC~IPFIXヘッダ部に対応するBlock RAM、サンプルデータに対応するBlock RAM、各メタデータに対応するBlock RAMが設けられる。ヘッダ部、サンプルデータ、メタデータは、それぞれ対応するBlock RAMに格納される。前段ハードウェアでは、出力時にサンプル数に応じた単一ヘッダサンプルのIPFIXパケットを再構築する。
[Circuit architecture]
FIG. 9 is a diagram illustrating the circuit architecture of the reconstruction unit 12 shown in FIG. 3. As shown in FIG. 9, the circuit architecture of the reconstruction unit 12 includes a write address calculation/data distribution unit, a plurality of block RAMs, and a data selection/shaping unit. As the Block RAM, a Block RAM corresponding to the MAC to IPFIX header section, a Block RAM corresponding to sample data, and a Block RAM corresponding to each metadata are provided. The header section, sample data, and metadata are stored in corresponding block RAMs. The front-end hardware reconstructs an IPFIX packet of a single header sample according to the number of samples at the time of output.
 入力された複数ヘッダサンプルパケットの各種情報は、書き込みアドレス計算・データ振分部によって、それぞれ対応するBlock RAMに書き込まれ、Block RAMは、メモリのアドレス情報を記録する(図9の(1))。 Various types of information of the input multiple header sample packets are written to the corresponding Block RAM by the write address calculation/data distribution section, and the Block RAM records the memory address information ((1) in FIG. 9). .
 書き込みアドレス計算・データ振分部は、サンプル数分の各種情報、データアドレスを、データ選択・整形部に送信する(図9の(2))。書き込みアドレス計算・データ振分部は、アドレス情報、マルチサンプル数を、FIFO(First-In First Out)を介して、データ選択・整形部に送信する。データ選択・整形部は、受信したアドレス情報、マルチサンプル数に従い、各Block RAMから、サンプル数分のデータを読み出すことで、単一ヘッダサンプルパケットを再構築する(図9の(3))。図9の回路アーキテクチャでは、データ自体ではなく、アドレス情報をやり取りすることで、回路間データ送信を経済的に実行することを可能とする(図9の(4))。 The write address calculation/data distribution unit sends various information and data addresses for the number of samples to the data selection/formation unit ((2) in FIG. 9). The write address calculation/data distribution unit transmits the address information and the number of multi-samples to the data selection/formation unit via a FIFO (First-In First Out). The data selection/shaping unit reconstructs a single header sample packet by reading data for the number of samples from each Block RAM according to the received address information and the number of multi-samples ((3) in FIG. 9). In the circuit architecture of FIG. 9, by exchanging address information instead of data itself, data transmission between circuits can be performed economically ((4) in FIG. 9).
 図9の回路アーキテクチャを採用することによって、再構築部12は、複数ヘッダサンプルパケットを分割し、単一ヘッダサンプルパケットに再構築する。これにより、再構築部12では、複数ヘッダサンプルパケットの複数のヘッダサンプルの分割、単一ヘッダサンプルパケットへの再構築をハードウェアで処理可能となるため、大容量のトラヒック情報を高速に処理することが可能となる。 By employing the circuit architecture of FIG. 9, the reconstruction unit 12 divides a multi-header sample packet and reconstructs it into a single header sample packet. As a result, the reconstruction unit 12 can process the division of a multi-header sample packet into multiple header samples and the reassembly into a single header sample packet using hardware, thereby processing large amounts of traffic information at high speed. becomes possible.
[変換処理の処理手順]
 次に、変換装置10が実行するパケットの変換処理の処理手順について説明する。図10は、実施の形態に係る変換処理の処理手順の一例を示すフローチャートである。
[Conversion processing procedure]
Next, the processing procedure of the packet conversion process executed by the conversion device 10 will be described. FIG. 10 is a flowchart illustrating an example of the processing procedure of the conversion process according to the embodiment.
 図10に示すように、変換装置10のパケット解析部11では、パケットの入力を受け付けると(ステップS101:Yes)、入力されたパケットの情報をハードウェアにより解析し、ハードウェアによる前段処理を実施するか判定する(ステップS102)。 As shown in FIG. 10, when the packet analysis unit 11 of the conversion device 10 receives a packet input (step S101: Yes), it analyzes the information of the input packet using hardware, and performs pre-processing using the hardware. It is determined whether to do so (step S102).
 この結果、パケット解析部11は、入力されたパケットの情報をハードウェアにより解析すると判定した場合には(ステップS102:Yes)、入力されたパケットが複数ヘッダサンプルパケットであるか否かを判定する(ステップS103)。 As a result, if the packet analysis unit 11 determines that the information of the input packet is to be analyzed by hardware (step S102: Yes), it determines whether the input packet is a multi-header sample packet. (Step S103).
 複数ヘッダサンプルパケットである場合(ステップS103:Yes)、再構築部12は、複数ヘッダサンプルパケットの複数のヘッダサンプルを分割し、単一ヘッダサンプルパケットに再構築するパケット再構築を行う(ステップS104)。 If the packet is a multi-header sample packet (step S103: Yes), the reconstruction unit 12 performs packet reconstruction in which the plural header samples of the multi-header sample packet are divided and reconstructed into a single header sample packet (step S104). ).
 メタデータ付与部13は、複数ヘッダサンプルパケットでないと判定された場合(ステップS103:No)、または、パケット解析部11によるパケット再構築後、単一ヘッダサンプルパケットの固定長のヘッダ内情報に基づいて、メタデータを付与する(ステップS105)。続いて、生成部14は、ソフトウェアによりメタデータを識別し(ステップS106)、メタデータに含まれるグルーピングIDに応じて、ソフトウェアにより分析用パケットを生成する(ステップS109)。 If it is determined that the packet is not a multi-header sample packet (step S103: No), or after the packet analysis unit 11 reconstructs the packet, the metadata adding unit 13 adds information based on the fixed-length header information of the single-header sample packet. Then, metadata is added (step S105). Next, the generation unit 14 uses software to identify the metadata (step S106), and uses software to generate an analysis packet according to the grouping ID included in the metadata (step S109).
 また、ステップS102において、パケット解析部11が入力されたパケットの情報をハードウェアによる解析はしないと判定した場合には(ステップS102:No)、生成部14は、ソフトウェアによるプロトコル処理を行い(ステップS107)、ソフトウェアによるグルーピング処理を行う(ステップS108)。続いて、生成部14は、グルーピング結果に応じて、ソフトウェアにより分析用パケットを生成する(ステップS109)。 Further, in step S102, if the packet analysis unit 11 determines that the input packet information is not to be analyzed by hardware (step S102: No), the generation unit 14 performs protocol processing by software (step S107), grouping processing is performed by software (step S108). Next, the generation unit 14 generates an analysis packet using software according to the grouping result (step S109).
[実施の形態の効果]
 図11は、従来の変換技術を説明する図である。図11に示すように、従来の変換技術では、複数ヘッダサンプルパケットを受信した場合、ハードウェアオフロード対象外パケットとして、ソフトウェア処理を実施することで、フォーマット変換を行っていた。このように、従来の変換技術では、複数ヘッダサンプルパケットは、ハードウェアオフロード対象外であるため、計算コストが大きいソフトウェア処理になってしまい、計算コストが増大してしまっていた。このため、従来の変換技術では、複数ヘッダサンプルパケットに含まれた大容量のトラヒック情報を高速にソフトウェアで処理することは困難であった。
[Effects of embodiment]
FIG. 11 is a diagram illustrating a conventional conversion technique. As shown in FIG. 11, in the conventional conversion technology, when a multi-header sample packet is received, the format is converted by performing software processing as a packet that is not subject to hardware offload. As described above, in the conventional conversion technology, multi-header sample packets are not subject to hardware offloading, resulting in software processing with high calculation costs, resulting in an increase in calculation costs. For this reason, with conventional conversion techniques, it has been difficult to process large amounts of traffic information contained in a multi-header sample packet at high speed using software.
 これに対し、実施形態に係る変換装置10は、入力されたパケットの情報をハードウェアにより解析し、該ハードウェアによる所定の前段処理を行うか否かを判定するとともに、ハードウェア処理を行うパケットに対して、複数ヘッダサンプルパケット、または、単一ヘッダサンプルパケットであるかを判定する。そして、変換装置10は、前段処理を行うと判定し、複数ヘッダサンプルパケットであると判定した場合、ハードウェアにより、複数ヘッダサンプルパケットの複数のヘッダサンプルを分割し、単一ヘッダサンプルパケットに再構築する。 In contrast, the conversion device 10 according to the embodiment analyzes the information of the input packet using hardware, determines whether or not to perform predetermined pre-processing by the hardware, and determines whether or not to perform predetermined pre-processing on the packets that are to be processed by the hardware. It is determined whether the packet is a multiple header sample packet or a single header sample packet. If the conversion device 10 determines to perform the pre-processing and determines that the packet is a multi-header sample packet, the converter 10 uses hardware to divide the multiple header samples of the multi-header sample packet and re-create it into a single header sample packet. To construct.
 前段処理を行うと判定した単一ヘッダサンプルパケット、または、再構築後の単一ヘッダサンプルパケットを、ハードウェアにより、パケットにおける固定長のヘッダ内情報に基づいて、パケットのグループを示す識別情報を含むメタデータをパケットに付与する処理をハードウェアにより行う。そして、変換装置10は、付与したメタデータを用いて、パケットのグループに対応する分析用のパケットを生成する処理をソフトウェアにより行う。このため、変換装置10は、事業者等の属性ごとに異なった柔軟な処理を高速に行うことが可能である。 A single header sample packet that has been determined to undergo pre-processing or a single header sample packet after reassembly is processed by hardware with identification information indicating a group of packets based on the information in the fixed length header of the packet. The process of adding the included metadata to the packet is performed by hardware. Then, the conversion device 10 uses software to generate a packet for analysis corresponding to the group of packets using the attached metadata. Therefore, the conversion device 10 can perform flexible processing that differs depending on the attributes of business operators and the like at high speed.
 つまり、変換装置10は、前段ハードウェアにて実施した解析結果、グルーピング情報を含むメタデータのパケット末尾への書き込みを行う。そして、変換装置10は、後段ソフトウェアにおいて、メタデータの識別処理がプロトコル解析およびグルーピング処理の代わりとなることで、ハードウェアとソフトウェアの連携を行うことが可能である。 In other words, the conversion device 10 writes metadata including the analysis results performed by the preceding hardware and grouping information to the end of the packet. In the conversion device 10, the metadata identification process replaces the protocol analysis and grouping process in the subsequent software, so that the hardware and software can cooperate.
 さらに、変換装置10では、複数のヘッダサンプルが搭載されたパケットを受信した場合、複数のヘッダサンプルの分割及び再構築をハードウェアで処理することで、計算コストが大きいソフトウェア処理負荷を低減できる。 Furthermore, when the conversion device 10 receives a packet equipped with a plurality of header samples, by processing the division and reconstruction of the plurality of header samples using hardware, it is possible to reduce the software processing load that requires a large calculation cost.
 このように、変換装置10では、ソフトウェア側の処理量を低減することで、大容量のトラヒック情報を高速に処理することが可能となる。 In this way, in the conversion device 10, by reducing the amount of processing on the software side, it becomes possible to process a large amount of traffic information at high speed.
[実施形態のシステム構成について]
 図1に示した変換装置10の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、変換装置10の機能の分散および統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散または統合して構成することができる。
[About the system configuration of the embodiment]
Each component of the conversion device 10 shown in FIG. 1 is functionally conceptual, and does not necessarily need to be physically configured as shown. In other words, the specific form of distributing and integrating the functions of the conversion device 10 is not limited to what is shown in the diagram, and all or part of it can be functionally or physically distributed in arbitrary units depending on various loads and usage conditions. It can be configured to be distributed or integrated.
 また、変換装置10においておこなわれる各処理は、全部または任意の一部が、CPUおよびCPUにより解析実行されるプログラムにて実現されてもよい。また、変換装置10においておこなわれる各処理は、ワイヤードロジックによるハードウェアとして実現されてもよい。 Furthermore, all or any part of each process performed in the conversion device 10 may be realized by a CPU and a program that is analyzed and executed by the CPU. Moreover, each process performed in the conversion device 10 may be realized as hardware using wired logic.
 また、実施の形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的に行うこともできる。もしくは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上述および図示の処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて適宜変更することができる。 Furthermore, among the processes described in the embodiments, all or part of the processes described as being performed automatically can also be performed manually. Alternatively, all or part of the processes described as being performed manually can also be performed automatically using known methods. In addition, the information including the processing procedures, control procedures, specific names, and various data and parameters described above and illustrated can be changed as appropriate, unless otherwise specified.
[プログラム]
 図12は、プログラムが実行されることにより、変換装置10が実現されるコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
[program]
FIG. 12 is a diagram showing an example of a computer that implements the conversion device 10 by executing a program. Computer 1000 includes, for example, a memory 1010 and a CPU 1020. The computer 1000 also includes 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. These parts are connected by a bus 1080.
 メモリ1010は、ROM1011およびRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。 The memory 1010 includes a ROM 1011 and a RAM 1012. The ROM 1011 stores, for example, a boot program such as BIOS (Basic Input Output System). Hard disk drive interface 1030 is connected to hard disk drive 1090. Disk drive interface 1040 is connected to disk drive 1100. For example, a removable storage medium such as a magnetic disk or an optical disk is inserted into disk drive 1100. Serial port interface 1050 is connected to, for example, mouse 1110 and keyboard 1120. Video adapter 1060 is connected to display 1130, for example.
 ハードディスクドライブ1090は、例えば、OS(Operating System)1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、変換装置10の各処理を規定するプログラムは、コンピュータ1000により実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、変換装置10における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSD(Solid State Drive)により代替されてもよい。 The hard disk drive 1090 stores, for example, an OS (Operating System) 1091, an application program 1092, a program module 1093, and program data 1094. That is, a program that defines each process of the conversion device 10 is implemented as a program module 1093 in which code executable by the computer 1000 is written. Program module 1093 is stored in hard disk drive 1090, for example. For example, a program module 1093 for executing processing similar to the functional configuration of the conversion device 10 is stored in the hard disk drive 1090. Note that the hard disk drive 1090 may be replaced by an SSD (Solid State Drive).
 また、上述した実施の形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。 Further, the setting data used in the processing of the embodiment described above is stored as program data 1094 in, for example, the memory 1010 or the hard disk drive 1090. Then, the CPU 1020 reads out the program module 1093 and program data 1094 stored in the memory 1010 and the hard disk drive 1090 to the RAM 1012 as necessary and executes them.
 なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093およびプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093およびプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。 Note that the program module 1093 and the program data 1094 are not limited to being 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 the program data 1094 may be stored in another computer connected via a network (LAN (Local Area Network), WAN (Wide Area Network), etc.). Program module 1093 and program data 1094 may then be read by CPU 1020 from another computer via network interface 1070.
 以上、本発明者によってなされた発明を適用した実施の形態について説明したが、本実施の形態による本発明の開示の一部をなす記述および図面により本発明は限定されることはない。すなわち、本実施の形態に基づいて当業者等によりなされる他の実施の形態、実施例および運用技術等はすべて本発明の範疇に含まれる。 Although the embodiments applying the invention made by the present inventor have been described above, the present invention is not limited by the description and drawings that form part of the disclosure of the present invention according to the present embodiments. That is, all other embodiments, examples, operational techniques, etc. made by those skilled in the art based on this embodiment are included in the scope of the present invention.
 1 通信システム
 2 NW装置
 3 分析装置
 10 変換装置
 11 パケット解析部
 12 再構築部
 13 メタデータ付与部
 14 生成部
 15 ルール情報DB
1 Communication system 2 NW device 3 Analysis device 10 Conversion device 11 Packet analysis section 12 Reconstruction section 13 Metadata addition section 14 Generation section 15 Rule information DB

Claims (5)

  1.  入力されたパケットの情報をハードウェアにより解析し、該ハードウェアによる所定の前段処理を行うか否かを判定するとともに、前記ハードウェアによる所定の前段処理を行うパケットが、複数のヘッダサンプルが搭載されたパケット、または、単一のヘッダサンプルが搭載されたパケットであるかを判定する解析部と、
     前記複数のヘッダサンプルが搭載されたパケットを、単一のヘッダサンプルが搭載されたパケットに再構築する再構築部と、
     前記解析部によって判定された単一のヘッダサンプルが搭載されたパケット、または、前記再構築部によって再構築された単一のヘッダサンプルが搭載されたパケットについて、前記単一のヘッダサンプルが搭載されたパケットにおける固定長のヘッダ内情報に基づいて、前記パケットのグループを示す識別情報を含むメタデータを前記パケットに付与する処理を前記ハードウェアにより行う付与部と、
     前記付与部によって付与されたメタデータを用いて、前記パケットのグループに対応する分析用のパケットを生成する処理をソフトウェアにより行う生成部と、
     を有することを特徴とする変換装置。
    The information of the input packet is analyzed by hardware, and it is determined whether or not to perform predetermined pre-processing by the hardware, and the packets that undergo predetermined pre-processing by the hardware are equipped with multiple header samples. an analysis unit that determines whether the packet is a packet with a single header sample or a packet with a single header sample;
    a reconstruction unit that reconstructs the packet carrying the plurality of header samples into a packet carrying a single header sample;
    Regarding a packet equipped with a single header sample determined by the analysis section or a packet equipped with a single header sample reconstructed by the reconstruction section, the single header sample is mounted. an attaching unit that uses the hardware to perform a process of attaching metadata including identification information indicating a group of the packets to the packets based on fixed-length header information in the packets;
    a generation unit that uses software to generate a packet for analysis corresponding to the group of packets using the metadata assigned by the assignment unit;
    A conversion device characterized by having:
  2.  前記再構築部は、前記複数のヘッダサンプルが搭載されたパケットについて、ヘッダ部と各データ部とに分割し、データ数に応じて、前記単一のヘッダサンプルが搭載されたパケットに再構築することを特徴とする請求項1に記載の変換装置。 The reconstruction unit divides the packet carrying the plurality of header samples into a header part and each data part, and reconstructs the packet into a packet carrying the single header sample according to the number of data parts. The conversion device according to claim 1, characterized in that:
  3.  前記解析部は、前記パケットにおけるハードウェア処理部分とソフトウェア処理部分とを特定し、
     前記付与部は、前記解析部によってハードウェア処理部分と特定されたヘッダ内情報を取得し、前記ヘッダ内情報を基にグルーピングを行って前記識別情報を決定し、該識別情報を含むメタデータを前記パケットに付与する処理を前記ハードウェアにより行うことを特徴とする請求項1に記載の変換装置。
    The analysis unit identifies a hardware processing part and a software processing part in the packet,
    The assigning unit acquires the information in the header identified as a hardware processing part by the analyzing unit, performs grouping based on the information in the header to determine the identification information, and metadata including the identification information. 2. The conversion device according to claim 1, wherein the processing to be added to the packet is performed by the hardware.
  4.  変換装置が実行する変換方法であって、
     入力されたパケットの情報をハードウェアにより解析し、該ハードウェアによる所定の前段処理を行うか否かを判定するとともに、前記ハードウェアによる所定の前段処理を行うパケットが、複数のヘッダサンプルが搭載されたパケット、または、単一のヘッダサンプルが搭載されたパケットであるかを判定する解析工程と、
     前記複数のヘッダサンプルが搭載されたパケットを、単一のヘッダサンプルが搭載されたパケットに再構築する再構築工程と、
     前記解析工程において判定された単一のヘッダサンプルが搭載されたパケット、または、前記再構築工程において再構築された単一のヘッダサンプルが搭載されたパケットについて、前記単一のヘッダサンプルが搭載されたパケットにおける固定長のヘッダ内情報に基づいて、前記パケットのグループを示す識別情報を含むメタデータを前記パケットに付与する処理を前記ハードウェアにより行う付与工程と、
     前記付与工程によって付与されたメタデータを用いて、前記パケットのグループに対応する分析用のパケットを生成する処理をソフトウェアにより行う生成工程と、
     を有することを特徴とする変換方法。
    A conversion method performed by a conversion device, the conversion method comprising:
    The information of the input packet is analyzed by hardware, and it is determined whether or not to perform predetermined pre-processing by the hardware, and the packets that undergo predetermined pre-processing by the hardware are equipped with multiple header samples. an analysis step of determining whether the packet is a packet with a single header sample or a packet with a single header sample;
    a reconstruction step of reconstructing the packet carrying the plurality of header samples into a packet carrying a single header sample;
    Regarding a packet equipped with a single header sample determined in the analysis step or a packet equipped with a single header sample reconstructed in the reconstruction step, the single header sample is mounted. an attaching step of performing a process of attaching metadata including identification information indicating a group of the packets to the packets based on fixed-length header information in the packets, using the hardware;
    a generation step of using software to generate a packet for analysis corresponding to the group of packets using the metadata added in the adding step;
    A conversion method characterized by having the following.
  5.  入力されたパケットの情報をハードウェアにより解析し、該ハードウェアによる所定の前段処理を行うか否かを判定するとともに、前記ハードウェアによる所定の前段処理を行うパケットが、複数のヘッダサンプルが搭載されたパケット、または、単一のヘッダサンプルが搭載されたパケットであるかを判定する解析ステップと、
     前記複数のヘッダサンプルが搭載されたパケットを、単一のヘッダサンプルが搭載されたパケットに再構築する再構築ステップと、
     前記解析ステップにおいて判定された単一のヘッダサンプルが搭載されたパケット、または、前記再構築ステップにおいて再構築された単一のヘッダサンプルが搭載されたパケットについて、前記単一のヘッダサンプルが搭載されたパケットにおける固定長のヘッダ内情報に基づいて、前記パケットのグループを示す識別情報を含むメタデータを前記パケットに付与する処理を前記ハードウェアにより行う付与ステップと、
     前記付与ステップによって付与されたメタデータを用いて、前記パケットのグループに対応する分析用のパケットを生成する処理をソフトウェアにより行う生成ステップと、
     をコンピュータに実行させるための変換プログラム。
    The information of the input packet is analyzed by hardware, and it is determined whether or not to perform predetermined pre-processing by the hardware, and the packets that undergo predetermined pre-processing by the hardware are equipped with multiple header samples. an analysis step of determining whether the packet is a packet with a single header sample or a packet with a single header sample;
    a reconstruction step of reconstructing the packet carrying the plurality of header samples into a packet carrying a single header sample;
    Regarding the packet carrying the single header sample determined in the analysis step or the packet carrying the single header sample reconstructed in the reconstructing step, the single header sample is carried. a step of adding, by the hardware, metadata including identification information indicating the group of the packets to the packets based on fixed-length header information in the packets;
    a generation step in which software performs a process of generating analysis packets corresponding to the group of packets using the metadata added in the attachment step;
    A conversion program that allows a computer to execute
PCT/JP2022/031106 2022-08-17 2022-08-17 Conversion device, conversion method, and conversion program WO2024038523A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/031106 WO2024038523A1 (en) 2022-08-17 2022-08-17 Conversion device, conversion method, and conversion program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/031106 WO2024038523A1 (en) 2022-08-17 2022-08-17 Conversion device, conversion method, and conversion program

Publications (1)

Publication Number Publication Date
WO2024038523A1 true WO2024038523A1 (en) 2024-02-22

Family

ID=89941456

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/031106 WO2024038523A1 (en) 2022-08-17 2022-08-17 Conversion device, conversion method, and conversion program

Country Status (1)

Country Link
WO (1) WO2024038523A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019097069A (en) * 2017-11-24 2019-06-20 日本電信電話株式会社 Format converter and format conversion program
JP2021090161A (en) * 2019-12-05 2021-06-10 日本電信電話株式会社 Format conversion device, method, and program
WO2021149245A1 (en) * 2020-01-24 2021-07-29 日本電信電話株式会社 Conversion device, conversion method, and conversion program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019097069A (en) * 2017-11-24 2019-06-20 日本電信電話株式会社 Format converter and format conversion program
JP2021090161A (en) * 2019-12-05 2021-06-10 日本電信電話株式会社 Format conversion device, method, and program
WO2021149245A1 (en) * 2020-01-24 2021-07-29 日本電信電話株式会社 Conversion device, conversion method, and conversion program

Similar Documents

Publication Publication Date Title
US7787442B2 (en) Communication statistic information collection apparatus
US7106751B2 (en) Apparatus for linking a SAN with a LAN
JP4774357B2 (en) Statistical information collection system and statistical information collection device
EP2429128B1 (en) Flow statistics aggregation
US8144609B2 (en) Network monitoring system and method thereof
US6483812B1 (en) Token ring network topology discovery and display
US20120182891A1 (en) Packet analysis system and method using hadoop based parallel computation
EP1791063A1 (en) Method and apparatus for monitoring traffic in a network
CN112702330B (en) Lightweight in-band network telemetry method and device for Overlay network and storage medium
RU2608874C2 (en) Method and device for modifying and forwarding messages in data network
US9276853B2 (en) Hashing of network packet flows for efficient searching
CN108270699B (en) Message processing method, shunt switch and aggregation network
JP7215604B2 (en) Conversion device, conversion method and conversion program
JP4823156B2 (en) Remote traffic monitoring method
CN108141387B (en) Length control for packet header samples
CN113328956B (en) Message processing method and device
KR20060096012A (en) Method and apparatus for translating data packets from one network protocol to another
CN114327833A (en) Efficient flow processing method based on software-defined complex rule
WO2024038523A1 (en) Conversion device, conversion method, and conversion program
US20230327983A1 (en) Performance measurement in a segment routing network
US7496688B2 (en) Label switched data unit content evaluation
WO2022176035A1 (en) Conversion device, conversion method, and conversion program
WO2022176034A1 (en) Conversion device, conversion method, and conversion program
GB2587427A (en) Processing local area network diagnostic data
US10454831B1 (en) Load-balanced forwarding of network packets generated by a networking device

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: 22955697

Country of ref document: EP

Kind code of ref document: A1