WO2016103568A1 - パケット処理装置、方法、プログラム - Google Patents

パケット処理装置、方法、プログラム Download PDF

Info

Publication number
WO2016103568A1
WO2016103568A1 PCT/JP2015/005753 JP2015005753W WO2016103568A1 WO 2016103568 A1 WO2016103568 A1 WO 2016103568A1 JP 2015005753 W JP2015005753 W JP 2015005753W WO 2016103568 A1 WO2016103568 A1 WO 2016103568A1
Authority
WO
WIPO (PCT)
Prior art keywords
packet
input
processing
fragmented
assembling
Prior art date
Application number
PCT/JP2015/005753
Other languages
English (en)
French (fr)
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 JP2016565878A priority Critical patent/JPWO2016103568A1/ja
Publication of WO2016103568A1 publication Critical patent/WO2016103568A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication

Definitions

  • the present invention relates to a technique for processing a packet received through a network.
  • the packet processing device includes a packet processing unit 21 like the packet processing device 20 shown in FIG.
  • the packet processing unit 21 receives an input packet, performs predetermined processing, and outputs an output packet.
  • FIG. 6 shows the structure of a packet 100 (P1) to be processed by the packet processing device 20.
  • the packet 100 (P1) has a header 1000 and a payload 1010.
  • the information of the header 1000 is an IP (Internet Protocol) packet
  • the version, header length, service type, total packet length, identifier, fragmentation flag, fragment position, lifetime, protocol, checksum Includes source address, destination address, and extended information.
  • the fragmentation presence / absence flag is a flag indicating when a packet is fragmented, which will be described later.
  • the fragment position represents the position of the fragmented packet in the packet before fragmentation when the packet is fragmented.
  • the information included in the payload 1010 includes a source port, a destination port, a payload length, a checksum, and UDP data.
  • the packet processing unit 21 extracts specific data, creates a new UDP / IP packet, It operates as outputting as an output packet. Further, specific data may be replaced with other data. Further, the calculation may be performed based on specific data and replaced with the result data. Further, the packet may be discarded when a specific condition is satisfied. Further, the packet may be duplicated when a specific condition is satisfied.
  • FIG. 7 shows a specific example when the packet 100 (P1) in FIG. 6 is a UDP / IP packet.
  • the UDP / IP packet 100 (P1) of FIG. 6 includes a source port 1011, a destination port 1012, a payload length 1013, a checksum 1014, data A 1015, data B 1016, and data as a payload 1010 of the IP packet. C1017 and data D1018. Details of the header 1000 (H1) are omitted.
  • the packet processing unit 21 in FIG. 5 extracts data A and data D and creates a new UDP / IP packet.
  • the output packet is output and output.
  • FIG. 8 shows an example of a new packet 200 (P2) output from the packet processing unit 21 that has performed the above processing.
  • the UDP data is only data A1015 and data D1018, the payload length 1019 and the checksum 1020 are updated, and the IP packet header 2000 (H2) is also updated. Details of the header 2000 (H2) are omitted.
  • the UDP / IP packet 100 (P1) in FIG. 6 is transferred by, for example, Ethernet (registered trademark) and input to the packet processing device 20 in FIG.
  • Ethernet registered trademark
  • MTU Maximum Transmission Unit
  • Fragmented packets are reassembled at the receiving end.
  • FIG. 9 shows an example of dividing the packet (P1).
  • the payload 1010 of the packet (P1) is divided into a payload 3110, a payload 3210, and a payload 3310 based on the MTU. Further, a header 3100 (H11), a header 3200 (H12), and a header 3300 (H13) are added to form a packet (P11), a packet (P12), and a packet (P13), respectively.
  • the header 3100 (H11), the header 3200 (H12), and the header 3300 (H13) have a flag indicating that fragmentation has been performed and a position in the packet before fragmentation. It has information to represent.
  • FIG. 10 shows a packet processing apparatus 30 that can handle fragmented packets.
  • the packet processing device 30 includes a fragmented packet assembly unit 32 and a packet processing unit 31.
  • the fragmented packet assembly unit 32 receives, for example, the packet (P11), the packet (P12), and the packet (P13) shown in FIG. 9 in random order, assembles the packet (P1), and outputs the packet (P1) to the packet processing unit 31. To do.
  • the fragmented packet assembling unit 32 requires storage means for storing and holding the fragmented packets necessary for assembly. For example, a memory is used as the storage means.
  • the fragmented packet assembly unit 32 of the packet processing device 30 only holds all of the packets (P11), packets (P12), and packets (P13) received in random order, taking the fragmented packet of FIG. 9 as an example. Requires storage capacity. Therefore, in order to assemble all received packets, the memory needs to have a capacity that can hold the maximum size of the packet, and increasing the memory capacity is a problem. For example, in the case of an IP packet, the maximum size is 65535 bytes. Therefore, 65535 bytes are required for the memory of the fragmented packet assembly unit 32.
  • Patent Document 1 discloses a technique for suppressing the increase in memory capacity.
  • the IP packet is often divided into two, and the packet divided into two is assembled at high speed by processing by hardware, and the packet divided into three or more is Assemble at low speed by processing by software.
  • the memory capacity required for the assembly buffer, which is hardware can be reduced to two fragmented packets, that is, twice the MTU, and an increase in memory capacity can be suppressed.
  • the technique of Patent Document 1 has a problem that the processing is slow when the packet is fragmented into three or more.
  • Patent Document 2 discloses a technique in which only a fragmented packet is input to a circuit for assembling processing, and a non-fragmented packet is bypassed for the circuit for assembling processing.
  • FIG. 11 is a block diagram illustrating a configuration of a packet receiving circuit disclosed in Patent Document 2.
  • the packet receiving circuit 40 is provided with a selector circuit 41 for selecting a fragmented packet and a non-fragmented packet before the reassembly processing circuit 42 for assembling the fragmented packets.
  • the fragmented packets are assembled by the reassembling processing circuit 42, and then output from the packet multiplexing circuit 43 to a module for packet processing at the subsequent stage.
  • the unfragmented packet is input to the packet multiplexing circuit 43, bypassing the reassembly processing circuit 42, and output to the subsequent module.
  • the technique of Patent Document 2 still requires a memory capacity corresponding to the size of the input packet.
  • the present invention has been made in view of the above problems, and an object of the present invention is to suppress an increase in memory capacity for assembling fragmented packets while suppressing an influence on packet processing.
  • the packet processing apparatus of the present invention includes a fragmented packet assembly unit that assembles a packet after holding a fragmented input packet, a packet processing unit that processes the assembled packet to form an output packet, and the output packet or It is determined whether or not the input packet held by the packet merging unit that outputs the input packet and the fragmented packet assembling unit is a packet to be processed.
  • a first packet distribution unit that sends the input packet held by the unit to the packet merge unit.
  • the packet processing method of the present invention holds a fragmented input packet, performs assembly of the held input packet, and determines whether or not the held input packet is a processing target. If the input packet is determined not to be processed, the held input packet is output, and the assembly of the input packet is stopped.
  • the packet processing program of the present invention includes a process for holding a fragmented input packet, assembling the held input packet, determining whether the held input packet is a processing target, If it is determined that the input packet is not a processing target, the held input packet is output, and the assembly of the input packet is stopped.
  • FIG. 1 is a block diagram showing the configuration of the packet processing apparatus according to the first embodiment of this invention.
  • the packet processing apparatus 1 of the present embodiment includes a fragmented packet assembly unit 2 that assembles a packet after holding the fragmented input packet, and a packet processing unit 3 that processes the assembled packet to form an output packet. . Furthermore, it has the packet junction part 5 which outputs an output packet or an input packet. Further, it is determined whether the input packet held by the fragmented packet assembling unit 2 is a packet to be processed. If it is determined that the packet is not a processing target, the input packet held by the fragmented packet assembling unit 2 is changed to a packet. A first packet distribution unit to be sent to the merge unit 5 is included.
  • FIG. 2 is a block diagram showing the configuration of the packet processing apparatus 1 according to the present embodiment, and specifically shows the configuration of the fragmented packet assembly unit 2.
  • the fragmented packet assembly unit 2 includes a buffer writing unit 6, an assembly buffer 7, and a buffer reading unit 8.
  • the buffer writing unit 6 writes the input packet to the assembly buffer 7.
  • the assembly buffer 7 holds an input packet.
  • the buffer reading unit 8 confirms that all of the input packets necessary for assembly are held in the assembly buffer 7, sequentially reads the input packets based on this confirmation, assembles them, restores them to one packet, and performs packet processing. Send to part 3.
  • the first packet distribution unit 4 determines whether the input packet held in the assembly buffer 7 is a packet that is assembled and processed by the packet processing unit 3. If the determination is NO, the first packet distributor 4 sends the input packet held in the assembly buffer 7 to the packet merger 5. As a result, no input packet is held in the assembly buffer, and the assembly of the packet by the buffer reading unit 8 is stopped. On the other hand, when the packet processing unit 3 determines that the packet is to be processed, the packet is restored to the original packet and processed by the packet processing unit 3.
  • the packet processing apparatus 1 can handle the case where the input packet is a single state packet that is not fragmented in the same manner as described above.
  • the packet processing apparatus 1 of the present embodiment can be an arithmetic processing apparatus (computer) having a CPU (Central Processing Unit) that is a computing resource and a memory that is a storage resource. Each part of the packet processing apparatus 1 can be realized by executing a program for performing packet processing according to the present embodiment on a CPU and using a memory.
  • a CPU Central Processing Unit
  • the packet processing device 1 receives a fragmented input packet through a network such as Ethernet. That is, when the packet processing apparatus 1 receives an input packet at the fragmented packet assembling unit 2, the packet writing unit 6 holds the input packet in the assembly buffer 7. When the buffer reading unit 8 confirms that the fragmented input packets held in the assembly buffer 7 are all necessary to be assembled into the packets before fragmentation, the input packet is based on this confirmation. Are sequentially read, assembled, restored to one packet, and sent to the packet processing unit 3.
  • the first packet distribution unit 4 determines whether or not the input packet held by the assembly buffer 7 is a packet to be processed by the packet processing unit 3. That is, the first packet distribution unit 4 preliminarily defines the conditions of the packet to be processed by the packet processing unit 3, and if it conforms to this rule, it is not a packet to be processed. In this case, it can be determined that the packet is not processed.
  • This determination can be made based on header information included in the input packet. Specifically, the header information version, header length, service type, total packet length, identifier, fragmentation flag, fragment position, lifetime, protocol, checksum, source address, destination address, and extended information Based on this, it can be determined.
  • This determination can also be made based on the data information (payload) that the input packet has. Specifically, the determination can be made based on the source port, destination port, payload length, checksum, and UDP data that the payload has. Alternatively, this determination can be made based on how many fragments the original packet is divided into.
  • the first packet distribution unit 4 determines that the packet is not a processing target, the first packet distribution unit 4 sends the input packet held in the assembly buffer 7 to the packet merge unit 5. Thereby, there is no input packet held in the assembly buffer, and the assembly of the packet by the buffer reading unit 8 is stopped.
  • the first packet distribution unit 4 determines that the packet is a processing target
  • the first packet distribution unit 4 particularly performs an operation on the input packet held in the assembly buffer 7. Not performed.
  • the buffer reading unit 8 confirms that the fragmented input packets held in the assembly buffer 7 are all necessary for assembling the packets before fragmentation. Based on this confirmation, the buffer reading unit 8 sequentially reads the input packets held in the assembly buffer 7, assembles them, restores them to one packet, and sends them to the packet processing unit 3.
  • the packet processing unit 3 processes the assembled and restored packet to form an output packet.
  • the packet processing is, for example, when the input packet is a UDP / IP packet and the destination port matches a specific number, specific data is extracted, a new UDP / IP packet is created, It operates as outputting as an output packet. Further, specific data may be replaced with other data. Further, the calculation may be performed based on specific data and replaced with the result data. Further, the packet may be discarded when a specific condition is satisfied. Further, the packet may be duplicated when a specific condition is satisfied.
  • the packet merging unit 5 outputs the output packet formed by the packet processing unit 3 or the input packet not processed from the first packet distribution unit 4.
  • an input packet that is not a processing target is received without interfering with a series of packet processing operations of receiving a packet, assembling the original packet, and processing the assembled packet.
  • the operation of outputting as it is can be realized.
  • the packet processing apparatus 1 can handle the case where the input packet is a single state packet that is not fragmented in the same manner as described above.
  • the packet processing unit 3 of the packet processing device 1 extracts the data A and the data D, and creates a new UDP / It operates such as creating an IP packet, outputting it as an output packet.
  • the first packet distribution unit 4 has previously registered the maximum size of a packet to be processed by the packet processing unit 3 as 4500 bytes.
  • the memory capacity of the assembly buffer 7 is 4500 bytes.
  • the MTU size is 1500 bytes.
  • the fragment position displayed in the header of the input fragmented IP packet is 6000 with such a setting.
  • the first packet distribution unit 4 can determine that the size of the input packet after assembly exceeds at least 4500 bytes. Therefore, the first packet distribution unit 4 determines that the input packet is not a packet to be processed by the packet processing device 1, and sends the input packet held in the assembly buffer 7 to the packet merge unit 5.
  • the packet merge unit 5 outputs the input packet as it is.
  • the buffer reading unit 8 may be in the process of confirming whether all of the fragmented packets held in the assembly buffer 7 have been assembled into a packet before fragmentation. Regardless of this operation of the buffer read unit 8, the first packet distribution unit 4 joins the input packet held in the assembly buffer 7 based on the determination that the packet is not a process target packet. Send to part 5. The buffer reading unit 8 stops the operation because there is no packet held in the assembly buffer 7.
  • the maximum size in the case of an IP packet is 65535 bytes, and when trying to support all IP packets, 65535 bytes are required for the memory of the assembly buffer 7.
  • the memory capacity of the assembly buffer 7 can be reduced to 4500 bytes.
  • the first packet distribution unit 4 determines whether or not the input packet is a packet to be processed, so that the input packet determined not to be processed is fragmented necessary for assembly. Before the entire input packet is held in the assembly buffer, it is output from the packet merge unit 5. Therefore, the storage capacity of the assembly buffer 7 can be suppressed by limiting the size of the packet according to the determination criterion of the packet to be processed.
  • the packet processing method of this embodiment is a processing method for performing the operation of the packet processing device 1. Further, the packet processing program of the present embodiment is a program that causes a computer to execute the operation of the packet processing device 1.
  • FIG. 3 is a block diagram illustrating the configuration of the packet processing apparatus according to the second embodiment of this invention.
  • FIG. 4 is a block diagram showing the configuration of the packet processing apparatus 10 of the present embodiment, and specifically shows the configuration of the fragmented packet assembly unit 2.
  • the packet processing device 10 is characterized in that a second packet distribution unit 9 is provided in the preceding stage of the fragmented packet assembly unit 2 of the packet processing device 1 according to the first embodiment.
  • the operation of the packet processing device 10 is characterized by performing the operation of the second packet distributor 9 in addition to the operation of the packet processing device 1.
  • the second packet distributor 9 initially determines whether or not the input packet is a packet to be processed before the fragmented packet assembling unit 2. If the second packet distributor 9 determines that the packet is not a packet to be processed, The packet is sent to the packet merge unit 5. On the other hand, when it is determined that the input packet is a packet to be processed, the input packet is sent to the fragmented packet assembling unit 2.
  • the second packet distribution unit 9 preliminarily defines the condition of the packet to be processed by the packet processing unit 3, so that if the condition conforms to this rule, the second packet distribution unit 9 does not process. Can be determined.
  • the second packet distribution unit 9 and the first packet distribution unit 4 can be operated in combination as follows.
  • the second packet distribution unit 9 performs an initial determination when it is possible to easily determine whether the packet is a processing target packet.
  • Simple means, for example, a determination based on only the header information of the input packet. In this determination, an input packet determined not to be processed is sent to the packet merging unit 5, and an input packet determined to be processed is sent to the fragmented packet assembling unit 2.
  • the input packet sent to the fragmented packet assembly unit 2 is held in the assembly buffer 7 by the buffer writing unit 6.
  • the subsequent operation is the same as that of the packet processing apparatus 1 of the first embodiment, but the input packet held in the assembly buffer 7 is a packet that is initially determined to be processed by the second packet distributor 9. It is.
  • the first packet distribution unit 4 makes a determination based on a different standard from the second packet distribution unit 9, for example, a more detailed standard such as information on the payload of the input packet. In this determination, the first packet distribution unit 4 sends the input packet determined not to be processed to the packet merge unit 5. On the other hand, the input packet determined to be processed is restored to one packet by the buffer reading unit 8 and sent to the packet processing unit 3 as in the first embodiment.
  • the second packet distribution unit 9 performs initial determination on limited information, for example, information that can be determined by header information, so that packets that are not to be processed are input to the fragmented packet assembly unit 2. Control waste. Further, a packet that cannot be determined to be unprocessable due to lack of information in the second packet distribution unit 9 is processed by the first packet distribution unit 4 in parallel with the assembly in the fragmented packet assembly unit 2, for example, payload information By performing the determination according to the above, it is possible to determine that the target is not processed more accurately.
  • limited information for example, information that can be determined by header information
  • the packet processing device 10 can suppress a series of packet processing operations of receiving a packet, assembling the original single packet, and processing the assembled packet.
  • the packet processing apparatus 10 can handle the case where the input packet is a single state packet that is not fragmented in the same manner as described above.
  • the packet processing method of this embodiment is a processing method for performing the operation of the packet processing device 10.
  • the packet processing program of the present embodiment is a program that causes a computer to execute the operation of the packet processing apparatus 10.
  • a fragmented packet assembly unit for assembling a packet after holding a fragmented input packet; A packet processing unit that processes the assembled packet to form an output packet; A packet confluence unit for outputting the output packet or the input packet; It is determined whether or not the input packet held by the fragmented packet assembling unit is a packet to be processed. If it is determined that the packet is not a processing target, the input packet held by the fragmented packet assembling unit is And a first packet distribution unit to be sent to the packet merge unit.
  • the fragmented packet assembly unit includes a buffer writing unit, an assembly buffer, and a buffer reading unit,
  • the buffer writing unit writes the input packet to the assembly buffer;
  • the assembly buffer holds the input packet;
  • the buffer reading unit confirms that all the input packets necessary for assembly are held in the assembly buffer, reads the input packet based on the confirmation, assembles, and sends the input packet to the packet processing unit.
  • the packet processing apparatus as described.
  • (Appendix 3) The packet according to appendix 1 or 2, wherein the first packet distribution unit determines whether or not it is a processing target before all of the input packets necessary for the assembly are held in the fragmented packet assembly unit. Processing equipment.
  • the fragmented packet assembly unit stops the assembly when the first packet distribution unit sends the input packet held by the fragmented packet assembly unit to the packet merging unit.
  • the packet processing device according to claim 1. A second packet distributor, wherein the second packet distributor determines whether or not the input packet is a packet to be processed before the fragmented packet assembling unit; The packet processing device according to any one of appendices 1 to 4, wherein when judged, the input packet is sent to the packet merge unit.
  • Appendix 6 The packet processing device according to appendix 5, wherein the first packet distribution unit and the second packet distribution unit have different criteria for determining whether or not the packet is a processing target.
  • (Appendix 7) Holds fragmented input packets, Assembling the held input packet and determining whether the held input packet is a processing target; A packet processing method that outputs the held input packet and stops assembling the input packet when it is determined that it is not a processing target.
  • (Appendix 8) The packet processing method according to appendix 7, wherein the assembly is performed after confirming that all of the input packets necessary for the assembly are held.
  • (Appendix 9) The packet processing method according to appendix 7 or 8, wherein the determination as to whether or not the process is to be performed is performed before all the input packets necessary for the assembly are held. (Appendix 10) An initial determination is made as to whether or not the input packet is a packet to be processed.
  • the input packet When the initial determination determines that the packet is not a processing target, the input packet is output, and when the input packet is determined to be a processing target, the input packet is retained. 10.
  • the packet processing method according to one of appendices 7 to 9. (Appendix 11) The packet processing method according to appendix 10, wherein the initial determination and the determination criterion are different.
  • the present invention can be used for an information processing apparatus and an information processing terminal that process packets received through a network.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本発明は、パケット処理への影響を抑えつつ、断片化されたパケットを組み立てるためのメモリ容量の増大を抑制することを目的とする。本発明のパケット処理装置は、断片化された入力パケットを保持した後にパケットを組み立てる断片化パケット組立部と、組み立てた前記パケットを処理して出力パケットを形成するパケット処理部と、前記出力パケットもしくは前記入力パケットを出力するパケット合流部と、前記断片化パケット組立部の保持している前記入力パケットが処理対象のパケットか否かを判定し、処理対象ではないと判定すると、前記断片化パケット組立部が保持している前記入力パケットを前記パケット合流部に送る第1のパケット分配部と、を有する。

Description

パケット処理装置、方法、プログラム
 本発明は、ネットワークを通じて受信したパケットを処理する技術に関する。
 パケット処理装置は、図5に示すパケット処理装置20のように、パケット処理部21を有する。パケット処理部21は、入力パケットを入力し、所定の処理を行い、出力パケットを出力する。図6は、パケット処理装置20が処理対象とするパケット100(P1)の構造を示す。パケット100(P1)は、ヘッダ1000とペイロード1010とを有する。
 ヘッダ1000の有する情報は、例えば、IP(Internet Protocol)パケットであれば、バージョン、ヘッダ長、サービス種別、パケット全長、識別子、断片化の有無のフラグ、断片位置、生存時間、プロトコル、チェックサム、送信元アドレス、宛先アドレス、拡張情報を含む。ここで、断片化の有無のフラグは、後述するパケットの断片化がなされたときに、これを表すフラグである。また、断片位置は、パケットの断片化がなされたときに、断片化されたパケットの断片化前のパケットにおける位置を表す。
 ペイロード1010の有する情報は、例えば、UDP/IP(User Datagram Protocol/Internet Protocol)のパケットであれば、送信元ポート、宛先ポート、ペイロード長、チェックサム、UDPデータを含む。
 パケット処理部21は、例えば、入力されたパケットがUDP/IPパケットで、かつ、宛先ポートが特定の番号と合致する場合、特定のデータを抽出し、新たなUDP/IPパケットを作成して、出力パケットとして出力するというように動作する。また、特定のデータを別のデータに置き換えてもよい。また、特定のデータをもとに演算を行い結果のデータに置き換えてもよい。また、特定の条件を満たすときに当該パケットを破棄してもよい。また、特定の条件を満たすときに当該パケットを複製してもよい。
 図7は、図6のパケット100(P1)をUDP/IPパケットとしたときの具体例を示す。図6のUDP/IPパケット100(P1)は、IPパケットのペイロード1010として、送信元ポート1011と、宛先ポート1012と、ペイロード長1013と、チェックサム1014と、データA1015と、データB1016と、データC1017と、データD1018とを有する。なお、ヘッダ1000(H1)の詳細は省略している。
 図5のパケット処理部21は、例えば、宛先アドレスが192.168.0.1で、宛先ポートが2000と合致する場合、データAとデータDを抽出し、新たなUDP/IPパケットを作成して、出力パケットして出力するというように動作する。図8は、前記の処理を行ったパケット処理部21が出力する新たなパケット200(P2)の例を示す。UDPデータがデータA1015とデータD1018のみとなり、ペイロード長1019とチェックサム1020が更新され、IPパケットヘッダ2000(H2)も更新される。なお、ヘッダ2000(H2)の詳細は省略している。
 図6のUDP/IPパケット100(P1)は、たとえばイーサネット(登録商標)によって転送され、図5のパケット処理装置20へと入力される。イーサネットでは、その最大転送単位(Maximum Transmission Unit、MTUと略す)よりも大きいサイズのパケットは分割されてから送出される。これを、パケットの断片化と呼ぶ。断片化されたパケットは、受信側で再び組み立てられる。
 図9は、パケット(P1)を分割した例を示す。パケット(P1)のペイロード1010がMTUに基づいてそれぞれペイロード3110、ペイロード3210、ペイロード3310に分割される。さらに、ヘッダ3100(H11)、ヘッダ3200(H12)、ヘッダ3300(H13)が付記されて、それぞれパケット(P11)、パケット(P12)、パケット(P13)が構成される。なお、図9では省略されているが、ヘッダ3100(H11)、ヘッダ3200(H12)、ヘッダ3300(H13)は、断片化がなされていることを示すフラグと、断片化前のパケットにおける位置を表す情報を有する。
 図10は、断片化されたパケットを扱うことのできるパケット処理装置30を示す。パケット処理装置30は、断片化パケット組立部32とパケット処理部31とを有する。断片化パケット組立部32は、例えば、図9に示すパケット(P11)、パケット(P12)、パケット(P13)を順不同で受信し、パケット(P1)へと組み立てて、パケット処理部31へと出力する。この時、断片化パケット組立部32は、組み立てに必要な断片化パケットを記憶保持するだけの記憶手段が必要になる。この記憶手段には、例えば、メモリが利用される。
特開2006-74726号公報 特開2007-267051号公報
 パケット処理装置30の断片化パケット組立部32は、図9の断片化パケットを例にすると、順不同に受信されるパケット(P11)、パケット(P12)、パケット(P13)のすべてを保持するだけの記憶容量を必要とする。そのため、受信したすべてのパケットを組み立てるためには、前記メモリはパケットの最大サイズを保持できるだけの容量が必要になり、メモリ容量の増大が課題となっている。例えば、IPパケットの場合、最大サイズは65535バイトである。そのため、断片化パケット組立部32のメモリとしては65535バイトが必要となる。
 特許文献1には、このメモリ容量の増大を抑制する技術が開示されている。特許文献1の技術では、IPパケットが2つに分割されることが多いことを利用し、2つに分割されたパケットはハードウェアによる処理で高速に組み立て、3つ以上に分割されたパケットはソフトウェアによる処理で低速に組み立てる。これにより、ハードウェアである組立バッファに必要なメモリの容量を、断片化パケット2つ分、すなわち、MTUの2倍とすることができ、メモリ容量の増大を抑えることができる。しかしながら、特許文献1の技術では、パケットが3つ以上に断片化されている場合には低速処理になるという課題があった。
 一方、特許文献2には、断片化されたパケットだけを組み立て処理する回路に入力し、断片化されていないパケットは組み立て処理する回路をバイパスする技術が開示されている。図11は、特許文献2に開示されたパケット受信回路の構成を示すブロック図である。パケット受信回路40は、断片化したパケットを組み立てるリアセンブル処理回路42の前段に、断片化されたパケットと断片化されていないパケットとを選別するセレクタ回路41を設けている。断片化されたパケットは、リアセンブル処理回路42で組み立てられた後に、パケット多重回路43から後段のパケット処理などのモジュールに出力される。一方、断片化されていないパケットは、リアセンブル処理回路42をバイパスしてパケット多重回路43に入力され、後段のモジュールに出力される。しかしながら、特許文献2の技術では、依然として、入力パケットの規模に応じたメモリ容量が必要である。
 本発明は、上記の課題に鑑みてなされたものであり、その目的は、パケット処理への影響を抑えつつ、断片化されたパケットを組み立てるためのメモリ容量の増大を抑制することにある。
 本発明のパケット処理装置は、断片化された入力パケットを保持した後にパケットを組み立てる断片化パケット組立部と、組み立てた前記パケットを処理して出力パケットを形成するパケット処理部と、前記出力パケットもしくは前記入力パケットを出力するパケット合流部と、前記断片化パケット組立部の保持している前記入力パケットが処理対象のパケットか否かを判定し、処理対象ではないと判定すると、前記断片化パケット組立部が保持している前記入力パケットを前記パケット合流部に送る第1のパケット分配部と、を有する。
 本発明のパケット処理方法は、断片化された入力パケットを保持し、保持している前記入力パケットの組み立てと、保持している前記入力パケットが処理対象であるか否かの判定と、を行い、処理対象でないと判定すると、保持している前記入力パケットを出力し、前記入力パケットの組み立てを中止する。
 本発明のパケット処理プログラムは、断片化された入力パケットを保持する処理と、保持している前記入力パケットの組み立てと、保持している前記入力パケットが処理対象であるか否かの判定と、を行う処理と、処理対象でないと判定すると、保持している前記入力パケットを出力し、前記入力パケットの組み立てを中止する処理と、を実行させる。
 本発明によれば、パケット処理への影響を抑えつつ、断片化されたパケットを組み立てるためのメモリ容量の増大を抑制することができる。
本発明の第1の実施形態のパケット処理装置の構成を示すブロック図である。 本発明の第1の実施形態のパケット処理装置の構成を示すブロック図である。 本発明の第2の実施形態のパケット処理装置の構成を示すブロック図である。 本発明の第2の実施形態のパケット処理装置の構成を示すブロック図である。 パケット処理装置の構成を示すブロック図である。 パケットの構成を示す図である。 パケットの構成を示す図である。 パケットの構成を示す図である。 パケットの断片化を説明する図である。 断片化パケットに対応したパケット処理装置の構成を示すブロック図である。 特許文献2に開示されたパケット受信回路の構成を示すブロック図である。
 以下、図を参照しながら、本発明の実施形態を詳細に説明する。但し、以下に述べる実施形態には、本発明を実施するために技術的に好ましい限定がされているが、発明の範囲を以下に限定するものではない。
(第1の実施形態)
 図1は、本発明の第1の実施形態のパケット処理装置の構成を示すブロック図である。本実施形態のパケット処理装置1は、断片化された入力パケットを保持した後にパケットを組み立てる断片化パケット組立部2と、組み立てたパケットを処理して出力パケットを形成するパケット処理部3とを有する。さらに、出力パケットもしくは入力パケットを出力するパケット合流部5を有する。さらに、断片化パケット組立部2の保持している入力パケットが処理対象のパケットか否かを判定し、処理対象ではないと判定すると、断片化パケット組立部2が保持している入力パケットをパケット合流部5に送る第1のパケット分配部を有する。
 図2は、本実施形態のパケット処理装置1の構成を示すブロック図であり、断片化パケット組立部2の構成を具体的に示している。断片化パケット組立部2は、バッファ書込部6と組立バッファ7とバッファ読出部8とを有する。バッファ書込部6は、入力パケットを組立バッファ7に書き込む。組立バッファ7は、入力パケットを保持する。バッファ読出部8は、組み立てに必要な入力パケットの全てが組立バッファ7に保持されたことを確認し、この確認に基づいて入力パケットを順次読み出し、組み立てて、一つのパケットに復元してパケット処理部3に送る。
 第1のパケット分配部4は、組立バッファ7が保持している入力パケットが、組み立ててパケット処理部3で処理するパケットか否かを判定する。否の判定の場合、第1のパケット分配部4は、組立バッファ7の保持している当該入力パケットをパケット合流部5に送る。これにより、組立バッファに保持されている入力パケットは無くなり、バッファ読出部8によるパケットの組み立ては中止される。一方、パケット処理部3で処理するパケットであるとの判定の場合、当該パケットは元の一つのパケットに復元され、パケット処理部3で処理される。
 なお、パケット処理装置1は、入力パケットが断片化されていない単一状態のパケットの場合も、以上と同様に扱うことができる。
 本実施形態のパケット処理装置1は、演算資源であるCPU(Central Processing Unit)と記憶資源であるメモリとを有する演算処理装置(コンピュータ)とすることができる。本実施形態のパケット処理を行うプロクラムをCPUで実行し、メモリを用いることによって、パケット処理装置1を構成する各部を実現することができる。
 本実施形態のパケット処理装置1の動作を以下に説明する。
 まず、パケット処理装置1は、イーサネットなどのネットワークを通して、断片化された入力パケットを受信する。すなわち、パケット処理装置1は、断片化パケット組立部2で入力パケットを受信すると、バッファ書込部6により入力パケットを組立バッファ7に保持する。バッファ読出部8は、組立バッファ7に保持されている断片化された入力パケットが、断片化前のパケットに組み立てるのに必要な全てが揃ったことを確認すると、この確認に基づいて、入力パケットを順次読み出し、組み立てて、一つのパケットに復元して、パケット処理部3に送る。
 このとき、第1のパケット分配部4は、組立バッファ7が保持している入力パケットが、パケット処理部3での処理対象のパケットであるか否かを判定する。すなわち、第1のパケット分配部4は、予めパケット処理部3で処理対象とするパケットの条件を規定しておくことで、この規定に適合する場合は処理するパケットであると、また、適合しない場合は処理しないパケットであると、判定することができる。
 この判定は、入力パケットの有するヘッダ情報に基づいて行うことができる。具体的には、ヘッダ情報の有するバージョン、ヘッダ長、サービス種別、パケット全長、識別子、断片化の有無のフラグ、断片位置、生存時間、プロトコル、チェックサム、送信元アドレス、宛先アドレス、拡張情報に基づいて、判定することができる。
 この判定は、また、入力パケットの有するデータ情報(ペイロード)に基づいて行うことができる。具体的には、ペイロードの有する送信元ポート、宛先ポート、ペイロード長、チェックサム、UDPデータに基づいて、判定することができる。あるいは、この判定は、元のパケットが合計いくつの断片に分割されているかに基づいて行うこともできる。
 第1のパケット分配部4が、処理対象のパケットでないと判定した場合、第1のパケット分配部4は、組立バッファ7の保持している当該入力パケットをパケット合流部5に送る。これにより、組立バッファが保持している入力パケットは無くなり、バッファ読出部8によるパケットの組み立ては中止される。
 一方、第1のパケット分配部4が、処理対象のパケットであると判定した場合、第1のパケット分配部4は、組立バッファ7の保持している当該入力パケットに対しての操作を特には行わない。バッファ読出部8は、組立バッファ7に保持されている断片化された入力パケットが、断片化前のパケットに組み立てるのに必要な全てが揃ったことを確認する。バッファ読出部8は、この確認に基づいて、組立バッファ7に保持されている入力パケットを順次読み出し、組み立てて、一つのパケットに復元して、パケット処理部3に送る。
 よって、入力パケットが処理対象であるか否かの判定は、断片化前のパケットに組み立てるのに必要な全ての入力パケットが揃う前に行われることが望ましい。これを可能とするためには、全てのパケットが揃わなくても判定ができる判定基準を、パケットのヘッダやペイロードの有する情報からあらかじめ選定し、第1のパケット分配部4に備えておけばよい。
 パケット処理部3は、組み立てられて復元されたパケットの処理を行い、出力パケットを形成する。パケットの処理とは、例えば、入力されたパケットがUDP/IPパケットで、かつ、宛先ポートが特定の番号と合致する場合、特定のデータを抽出し、新たなUDP/IPパケットを作成して、出力パケットとして出力するというように動作する。また、特定のデータを別のデータに置き換えてもよい。また、特定のデータをもとに演算を行い結果のデータに置き換えてもよい。また、特定の条件を満たすときに該パケットを破棄してもよい。また、特定の条件を満たすときに該パケットを複製してもよい。
 パケット合流部5は、パケット処理部3で形成された出力パケット、もしくは、第1のパケット分配部4から送られた処理対象でない入力パケット、を出力する。
 以上のように、パケット処理装置1によれば、パケットを受信し、元のひとつのパケットに組み立て、組み立てたパケットを処理するという一連のパケット処理の動作を妨げることなく、処理対象でない入力パケットをそのまま出力するという動作を実現することができる。なお、パケット処理装置1は、入力パケットが断片化されていない単一状態のパケットの場合も、以上と同様に扱うことができる。
 パケット処理装置1の動作例を以下に説明する。
 例えば、パケット処理装置1のパケット処理部3は、入力パケットの宛先アドレスが192.168.0.1で、宛先ポートが2000と合致する場合、データAとデータDを抽出し、新たなUDP/IPパケットを作成して、出力パケットして出力するというように動作する。
 また、例えば、第1のパケット分配部4は、パケット処理部3が処理対象とするパケットの最大サイズを予め4500バイトと登録しているとする。これに対応して組立バッファ7のメモリ容量を4500バイトで構成しているとする。また、例えば、MTUサイズを1500バイトであるとする。このような設定で、入力された断片化されたIPパケットのヘッダに表示された断片位置が6000であったと仮定する。この場合、第1のパケット分配部4は、当該の入力パケットの組み立て後のサイズが、少なくとも4500バイトを超えると判断できる。よって、第1のパケット分配部4は、当該の入力パケットはパケット処理装置1の処理対象のパケットではないと判定し、組立バッファ7に保持されている当該入力パケットをパケット合流部5に送る。パケット合流部5は、当該入力パケットをそのまま出力する。
 このとき、バッファ読出部8は、組立バッファ7に保持されている断片化パケットが、断片化前のパケットに組み立てるのに必要な全てが揃ったか否かを確認中である場合がある。第1のパケット分配部4は、バッファ読出部8のこの動作に関係なく、当該パケットが処理対象でないパケットであるとの判定に基づいて、組立バッファ7に保持されている当該入力パケットをパケット合流部5に送る。バッファ読出部8は、組立バッファ7に保持されているパケットがなくなるため、動作を中止する。
 IPパケットの場合の最大サイズは65535バイトであり、IPパケット全てに対応しようとした場合には組立バッファ7のメモリとしては65535バイトが必要となる。以上の動作例の場合では、組立バッファ7のメモリ容量を4500バイトに削減できる。
 以上のように、第1のパケット分配部4が、入力パケットが処理対象のパケットであるか否かを判定することにより、処理対象でないと判定された入力パケットは、組み立てに必要な断片化された入力パケットの全部が組立バッファに保持される以前に、パケット合流部5から出力されることとなる。よって、処理対象とするパケットの判定基準によってパケットの規模を制限するなどにより、組立バッファ7の記憶容量を抑制することができる。
 本実施形態のパケット処理方法は、パケット処理装置1の動作を行う処理方法である。また、本実施形態のパケット処理プログラムは、パケット処理装置1の動作をコンピュータに実行させるプログラムである。
 以上のように、本実施形態によれば、パケット処理への影響を抑えつつ、断片化されたパケットを組み立てるためのメモリ容量の増大を抑制することができる。
(第2の実施形態)
 図3は、本発明の第2の実施形態のパケット処理装置の構成を示すブロック図である。また、図4は、本実施形態のパケット処理装置10の構成を示すブロック図であり、断片化パケット組立部2の構成を具体的に示している。
 本実施形態のパケット処理装置10は、第1の実施形態のパケット処理装置1の断片化パケット組立部2の前段に、第2のパケット分配部9を設けることを特徴とする。パケット処理装置10の動作は、パケット処理装置1の動作に加えて、第2のパケット分配部9の動作を行うことを特徴とする。
 第2のパケット分配部9は、断片化パケット組立部2の前段で、入力パケットが処理対象のパケットであるか否かを初期判定し、処理対象のパケットでないと判定した場合には、当該入力パケットをパケット合流部5に送る。一方、入力パケットが処理対象のパケットであると判定した場合には、当該入力パケットを断片化パケット組立部2に送る。
 第2のパケット分配部9は、予めパケット処理部3で処理対象とするパケットの条件を規定しておくことで、この規定に適合する場合は処理すると、また、適合しない場合は処理しないと、判定することができる。
 第2のパケット分配部9と第1のパケット分配部4とは、次のように組み合わせて動作させることができる。まず、第2のパケット分配部9は、処理対象のパケットか否かを簡単に判定できる場合について初期判定を行う。簡単にとは、例えば、入力パケットのヘッダの情報だけを基準とする判定をいう。この判定で、処理対象でないと判定した入力パケットをパケット合流部5に送り、処理対象であると判定した入力パケットを断片化パケット組立部2に送る。
 断片化パケット組立部2に送られた入力パケットは、バッファ書込部6により組立バッファ7に保持される。以降の動作は、第1の実施形態のパケット処理装置1と同様であるが、組立バッファ7に保持される入力パケットは、第2のパケット分配部9で処理対象であると初期判定されたパケットである。第1のパケット分配部4は、第2のパケット分配部9とは異なる基準、例えば、入力パケットのペイロードの情報といった、より詳しい基準により判定する。第1のパケット分配部4は、この判定で、処理対象でないと判定した入力パケットをパケット合流部5に送る。一方、処理対象であると判定された入力パケットは、バッファ読出部8により第1の実施形態と同様に一つのパケットに復元されてパケット処理部3に送られる。
 以上のように、本実施形態では、第2パケット分配部9で、限られた情報、例えばヘッダ情報で判定できるものは初期判定することによって、処理対象でないパケットが断片化パケット組立部2に入力される無駄を抑制する。さらに、第2のパケット分配部9では情報が足りずに処理対象外と判定できないパケットは、断片化パケット組立部2での組み立てと並行して、第1のパケット分配部4で、例えばペイロード情報による判定を行うことで、より精度よく処理対象外と判定することができる。
 また、パケット処理装置10では、パケットを受信し、元の単一のパケットに組み立て、組み立てたパケットを処理するという一連のパケット処理の動作を妨げることを抑制することができる。なお、パケット処理装置10は、入力パケットが断片化されていない単一状態のパケットの場合も、以上と同様に扱うことができる。
 本実施形態のパケット処理方法は、パケット処理装置10の動作を行う処理方法である。また、本実施形態のパケット処理プログラムは、パケット処理装置10の動作をコンピュータに実行させるプログラムである。
 以上のように、本実施形態によれば、パケット処理への影響を抑えつつ、断片化されたパケットを組み立てるためのメモリ容量の増大を抑制することができる。
 本発明は上記実施形態に限定されることなく、請求の範囲に記載した発明の範囲内で種々の変形が可能であり、それらも本発明の範囲内に含まれるものである。
 また、上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
(付記1)
断片化された入力パケットを保持した後にパケットを組み立てる断片化パケット組立部と、
組み立てた前記パケットを処理して出力パケットを形成するパケット処理部と、
前記出力パケットもしくは前記入力パケットを出力するパケット合流部と、
前記断片化パケット組立部の保持している前記入力パケットが処理対象のパケットか否かを判定し、処理対象ではないと判定すると、前記断片化パケット組立部が保持している前記入力パケットを前記パケット合流部に送る第1のパケット分配部と、を有するパケット処理装置。
(付記2)
前記断片化パケット組立部は、バッファ書込部と組立バッファとバッファ読出部とを有し、
前記バッファ書込部は、前記入力パケットを前記組立バッファに書き込み、
前記組立バッファは、前記入力パケットを保持し、
前記バッファ読出部は、組み立てに必要な前記入力パケットの全てが前記組立バッファに保持されたことを確認し、前記確認に基づいて前記入力パケットを読み出して組み立て、前記パケット処理部に送る、付記1記載のパケット処理装置。
(付記3)
前記第1のパケット分配部は、処理対象か否かの判定を、前記組み立てに必要な前記入力パケットの全てが前記断片化パケット組立部に保持される前に行う、付記1または2記載のパケット処理装置。
(付記4)
前記断片化パケット組立部は、前記第1のパケット分配部が前記断片化パケット組立部の保持する前記入力パケットを前記パケット合流部に送ると、前記組み立てを中止する、付記1から3の内の1項記載のパケット処理装置。
(付記5)
第2のパケット分配部を有し、前記第2のパケット分配部は、前記断片化パケット組立部の前段で前記入力パケットが処理対象のパケットであるか否かを判定し、処理対象ではないと判定すると、前記入力パケットを前記パケット合流部に送る、付記1から4の内の1項記載のパケット処理装置。
(付記6)
前記第1のパケット分配部と前記第2のパケット分配部とは、処理対象のパケットか否かを判定する異なる基準を有する、付記5記載のパケット処理装置。
(付記7)
断片化された入力パケットを保持し、
保持している前記入力パケットの組み立てと、保持している前記入力パケットが処理対象であるか否かの判定と、を行い、
処理対象でないと判定すると、保持している前記入力パケットを出力し、前記入力パケットの組み立てを中止する、パケット処理方法。
(付記8)
前記組み立てに必要な前記入力パケットの全てが保持されたことを確認して、前記組み立てを行う、付記7記載のパケット処理方法。
(付記9)
前記処理対象か否かの判定を、前記組み立てに必要な前記入力パケットの全てが保持される前に行う、付記7または8記載のパケット処理方法。
(付記10)
前記入力パケットが処理対象のパケットであるか否かの初期判定をし、前記初期判定で処理対象でないと判定すると前記入力パケットを出力し、処理対象であると判定すると前記入力パケットを保持する、付記7から9の内の1項記載のパケット処理方法。
(付記11)
前記初期判定と前記判定の基準が異なる、付記10記載のパケット処理方法。
(付記12)
断片化された入力パケットを保持する処理と、
保持している前記入力パケットの組み立てと、保持している前記入力パケットが処理対象であるか否かの判定と、を行う処理と、
処理対象でないと判定すると、保持している前記入力パケットを出力し、前記入力パケットの組み立てを中止する処理と、をコンピュータに実行させるパケット処理プログラム。
(付記13)
前記組み立てに必要な前記入力パケットの全てが保持されたことを確認して、前記組み立てを行う処理を実行させる、付記12記載のパケット処理プログラム。
(付記14)
前記処理対象か否かの判定を、前記組み立てに必要な前記入力パケットの全てが保持される前に行う処理を実行させる、付記12または13記載のパケット処理プログラム。
(付記15)
前記入力パケットが処理対象のパケットであるか否かの初期判定をする処理と、前記初期判定で処理対象でないと判定すると前記入力パケットを出力する処理と、処理対象であると判定すると前記入力パケットを保持する処理と、を実行させる、付記12から14の内の1項記載のパケット処理プログラム。
(付記16)
前記初期判定と前記判定の基準が異なる処理を実行させる、付記15記載のパケット処理プログラム。
 この出願は、2014年12月26日に出願された日本出願特願2014-265681を基礎とする優先権を主張し、その開示の全てをここに取り込む。
 本発明は、ネットワークを通じて受信したパケットを処理する情報処理装置、情報処理端末への利用が可能である。
 1、10  パケット処理装置
 2  断片化パケット組立部
 3  パケット処理部
 4  第1のパケット分配部
 5  パケット合流部
 6  バッファ書込部
 7  組立バッファ
 8  バッファ読出部
 9  第2のパケット分配部
 20、30  パケット処理装置
 21、31  パケット処理部
 32  断片化パケット組立部
 40  パケット受信回路
 41  セレクタ回路
 42  リアセンブル処理回路
 43  パケット多重回路
 100、200  パケット
 1000、2000、3100、3200、3300  ヘッダ
 1010、3110、3210、3310  ペイロード

Claims (10)

  1. 断片化された入力パケットを保持した後にパケットを組み立てる断片化パケット組立手段と、
    組み立てた前記パケットを処理して出力パケットを形成するパケット処理手段と、
    前記出力パケットもしくは前記入力パケットを出力するパケット合流手段と、
    前記断片化パケット組立手段の保持している前記入力パケットが処理対象のパケットか否かを判定し、処理対象ではないと判定すると、前記断片化パケット組立手段が保持している前記入力パケットを前記パケット合流手段に送る第1のパケット分配手段と、を有するパケット処理装置。
  2. 前記断片化パケット組立手段は、バッファ書込手段と組立バッファとバッファ読出手段とを有し、
    前記バッファ書込手段は、前記入力パケットを前記組立バッファに書き込み、
    前記組立バッファは、前記入力パケットを保持し、
    前記バッファ読出手段は、組み立てに必要な前記入力パケットの全てが前記組立バッファに保持されたことを確認し、前記確認に基づいて前記入力パケットを読み出して組み立て、前記パケット処理手段に送る、請求項1記載のパケット処理装置。
  3. 前記第1のパケット分配手段は、処理対象か否かの判定を、前記組み立てに必要な前記入力パケットの全てが前記断片化パケット組立手段に保持される前に行う、請求項1または2記載のパケット処理装置。
  4. 前記断片化パケット組立手段は、前記第1のパケット分配手段が前記断片化パケット組立手段の保持する前記入力パケットを前記パケット合流手段に送ると、前記組み立てを中止する、請求項1から3の内の1項記載のパケット処理装置。
  5. 第2のパケット分配手段を有し、前記第2のパケット分配手段は、前記断片化パケット組立手段の前段で前記入力パケットが処理対象のパケットであるか否かを判定し、処理対象ではないと判定すると、前記入力パケットを前記パケット合流手段に送る、請求項1から4の内の1項記載のパケット処理装置。
  6. 前記第1のパケット分配手段と前記第2のパケット分配手段とは、処理対象のパケットか否かを判定する異なる基準を有する、請求項5記載のパケット処理装置。
  7. 断片化された入力パケットを保持し、
    保持している前記入力パケットの組み立てと、保持している前記入力パケットが処理対象であるか否かの判定と、を行い、
    処理対象でないと判定すると、保持している前記入力パケットを出力し、前記入力パケットの組み立てを中止する、パケット処理方法。
  8. 前記入力パケットが処理対象のパケットであるか否かの初期判定をし、前記初期判定で処理対象でないと判定すると前記入力パケットを出力し、処理対象であると判定すると前記入力パケットを保持する、請求項7記載のパケット処理方法。
  9. 断片化された入力パケットを保持する処理と、
    保持している前記入力パケットの組み立てと、保持している前記入力パケットが処理対象であるか否かの判定と、を行う処理と、
    処理対象でないと判定すると、保持している前記入力パケットを出力し、前記入力パケットの組み立てを中止する処理と、をコンピュータに実行させるパケット処理プログラムを保存する記憶媒体。
  10. 前記入力パケットが処理対象のパケットであるか否かの初期判定をする処理と、前記初期判定で処理対象でないと判定すると前記入力パケットを出力する処理と、処理対象であると判定すると前記入力パケットを保持する処理と、を前記コンピュータに実行させるパケット処理プログラムを保存する請求項9記載の記憶媒体。
PCT/JP2015/005753 2014-12-26 2015-11-18 パケット処理装置、方法、プログラム WO2016103568A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016565878A JPWO2016103568A1 (ja) 2014-12-26 2015-11-18 パケット処理装置、方法、プログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014265681 2014-12-26
JP2014-265681 2014-12-26

Publications (1)

Publication Number Publication Date
WO2016103568A1 true WO2016103568A1 (ja) 2016-06-30

Family

ID=56149642

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/005753 WO2016103568A1 (ja) 2014-12-26 2015-11-18 パケット処理装置、方法、プログラム

Country Status (2)

Country Link
JP (1) JPWO2016103568A1 (ja)
WO (1) WO2016103568A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005012381A (ja) * 2003-06-18 2005-01-13 Nec Corp データ転送装置及びその方法並びにそれを用いたデータ通信システム及びプログラム
JP2010045767A (ja) * 2008-07-18 2010-02-25 Canon Inc ネットワーク処理装置及びその処理方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005012381A (ja) * 2003-06-18 2005-01-13 Nec Corp データ転送装置及びその方法並びにそれを用いたデータ通信システム及びプログラム
JP2010045767A (ja) * 2008-07-18 2010-02-25 Canon Inc ネットワーク処理装置及びその処理方法

Also Published As

Publication number Publication date
JPWO2016103568A1 (ja) 2017-10-12

Similar Documents

Publication Publication Date Title
US11374848B2 (en) Explicit routing with network function encoding
US10122629B2 (en) Systems and methods for externalizing network functions via packet trunking
US9893984B2 (en) Path maximum transmission unit discovery
US8913613B2 (en) Method and system for classification and management of inter-blade network traffic in a blade server
US8634415B2 (en) Method and system for routing network traffic for a blade server
US9516146B2 (en) Skipping and parsing internet protocol version 6 extension headers to reach upper layer headers
WO2018175162A1 (en) Hardware-accelerated payload filtering in secure communication
US9197556B2 (en) Communications over multiple protocol interfaces in a computing environment
US20160028860A1 (en) Method for parsing network packets having future defined tags
US20220052950A1 (en) Service Function Chaining Congestion Tracking
CN110545230B (zh) 用于转发vxlan报文的方法和装置
US10419163B2 (en) Adaptive network communication protocols
US9548921B2 (en) Compression of routing information exchanges
US20200028779A1 (en) Packet processing method and apparatus
CN106878308B (zh) 一种icmp报文匹配系统及方法
US10469232B2 (en) System and method for optimized calculation of path maximum transmission unit discovery in a network
WO2016098342A1 (ja) フィルタリング装置、方法、および、記録媒体
WO2016103568A1 (ja) パケット処理装置、方法、プログラム
US8149832B2 (en) Methods, systems, and computer program products for pushing and/or popping multiple multiprotocol label switching (MPLS) labels/shim headers at a single node
CN104702505A (zh) 一种报文传输方法和节点
JP2017147601A (ja) 通信装置および通信方法
JP4746672B2 (ja) 経路確認装置、経路確認システム、経路確認方法およびそのプログラム
US20130238811A1 (en) Accelerating UDP Traffic
US11968119B1 (en) Service Function Chaining using uSID in SRv6
JP2009130853A (ja) パケットリアセンブル装置およびプログラム

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2016565878

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15872146

Country of ref document: EP

Kind code of ref document: A1