JP5092842B2 - Packet processing apparatus and packet processing method - Google Patents

Packet processing apparatus and packet processing method Download PDF

Info

Publication number
JP5092842B2
JP5092842B2 JP2008083999A JP2008083999A JP5092842B2 JP 5092842 B2 JP5092842 B2 JP 5092842B2 JP 2008083999 A JP2008083999 A JP 2008083999A JP 2008083999 A JP2008083999 A JP 2008083999A JP 5092842 B2 JP5092842 B2 JP 5092842B2
Authority
JP
Japan
Prior art keywords
packet
fragment
identifier
subsequent
unit
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2008083999A
Other languages
Japanese (ja)
Other versions
JP2009239685A (en
Inventor
真樹 天野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP2008083999A priority Critical patent/JP5092842B2/en
Publication of JP2009239685A publication Critical patent/JP2009239685A/en
Application granted granted Critical
Publication of JP5092842B2 publication Critical patent/JP5092842B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、パケット処理装置およびパケット処理方法に関する。   The present invention relates to a packet processing device and a packet processing method.

IPネットワークにおいて転送されるIPフラグメントパケットは、一度に送信できない程の大きなサイズのIPパケットがいくつかに分割(フラグメント)されて送信されたパケットのことを指す。個々のIPフラグメントパケットのサイズは、物理的なネットワーク毎に決められた一度に送信できるサイズ「MTU(Maximum Transmission Unit)」によって制限される。   An IP fragment packet transferred in an IP network refers to a packet that is transmitted by dividing (fragmenting) an IP packet of a size that is too large to be transmitted at once. The size of each IP fragment packet is limited by a size “MTU (Maximum Transmission Unit)” that can be transmitted at a time determined for each physical network.

このようなフラグメントされたIPパケットに対して、ネットワークの中継機器において、フラグメントされる前のIPパケット全体についてTCPプロトコル等のIPよりも上位のプロトコルに従って処理を行いたい場合がある。しかし、IPフラグメントパケットのうち、分割されたときに先頭にあったIPフラグメントパケットは、IPよりも上位のプロトコルヘッダ(以下、上位ヘッダと称す)の情報を含んでいるが、それ以外のIPフラグメントパケットは、上位ヘッダの情報を含まない。そのため、従来、上位のプロトコルに従って処理を行いたい場合に中継機器上でIPフラグメントパケットからIPパケットを再構成することにより、処理を行っている。   In some cases, such a fragmented IP packet may be processed in a network relay device according to a protocol higher than the IP such as the TCP protocol for the entire IP packet before being fragmented. However, among the IP fragment packets, the IP fragment packet that was at the top when it was divided contains information of a protocol header higher than IP (hereinafter referred to as an upper header), but other IP fragments. The packet does not include upper header information. For this reason, conventionally, when processing is to be performed according to a higher-level protocol, processing is performed by reconstructing the IP packet from the IP fragment packet on the relay device.

下記の文献には、フラグメントされたIPパケットを中継機器上で蓄積し、全てのフラグメントされたIPパケットが蓄積されてフラグメント処理前のIPパケットが再構成された後に、フラグメントされる前のパケット全体について処理を行う、従来の処理方法が開示されている。
特開2005−12698号公報
In the following document, fragmented IP packets are accumulated on the relay device, all fragmented IP packets are accumulated, and the IP packet before fragment processing is reconstructed, and then the entire packet before fragmentation A conventional processing method is disclosed in which processing is performed.
Japanese Patent Laid-Open No. 2005-12698

しかし、前述された従来の方法では、一旦IPパケット全体を中継機器のバッファに蓄積する。そのため、中継機器は、IPネットワーク上の最大MTUのサイズを有するバッファ(1IPパケット分のバッファ)を備える必要がある。さらに、蓄積されるIPフラグメントパケットは、全て同じIPパケットがフラグメントされたものでなく、別のIPパケットがフラグメントされたIPフラグメントパケットが受信されることが想定される。そのため、前述のような最大MTUのサイズを有するバッファは複数備えられる必要がある。さらに、前述のようなバッファ数は、内部のメモリ容量の限界によって制限されるため、IPパケットの再構成中に、バッファ数が限界に達した場合には、それ以降に受信したIPフラグメントパケットは再構成されず、IPパケットに対する処理が行われない。また、この場合、受信されたIPフラグメントパケットは廃棄される可能性もある。   However, in the conventional method described above, the entire IP packet is temporarily stored in the buffer of the relay device. Therefore, the relay device needs to include a buffer (a buffer for one IP packet) having the maximum MTU size on the IP network. Furthermore, it is assumed that the IP fragment packets that are accumulated are not all the same IP packets that are fragmented, but that IP fragment packets that are fragmented with other IP packets are received. Therefore, a plurality of buffers having the maximum MTU size as described above need to be provided. Furthermore, since the number of buffers as described above is limited by the limit of the internal memory capacity, when the number of buffers reaches the limit during the reconstruction of the IP packet, the IP fragment packets received thereafter are not No reconfiguration is performed and no processing is performed on the IP packet. In this case, the received IP fragment packet may be discarded.

このように、中継機器でフラグメントされたIPパケットに対して、フラグメントされる前のIPパケット全体についてIPより上位のプロトコルに従って処理を行いたい場合には、多くのバッファ用のメモリを必要とする。また、同時に処理できるフラグメントパケット数の制限を緩和するためには、さらに多くのメモリの搭載を必要とし、機器コストが増加する。   As described above, when it is desired to process an IP packet that has been fragmented by a relay device in accordance with a protocol higher than the IP for the entire IP packet that has not been fragmented, a large amount of buffer memory is required. In addition, in order to relax the restriction on the number of fragment packets that can be processed simultaneously, it is necessary to mount more memories, which increases the equipment cost.

そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、IPフラグメントパケットに対して、フラグメントされる前のIPパケット全体についてIPより上位のプロトコルに従って処理を行う場合に必要とするバッファ容量を低減することが可能な、新規かつ改良されたパケット処理装置を提供することにある。   Therefore, the present invention has been made in view of the above problems, and an object of the present invention is to process the entire IP packet before being fragmented according to a protocol higher than IP for an IP fragment packet. It is an object of the present invention to provide a new and improved packet processing apparatus capable of reducing the buffer capacity required when performing the process.

上記課題を解決するために、本発明のある観点によれば、フラグメントパケットのうちフラグメント先頭パケットから、上位ヘッダの情報を含む識別子の組み合わせであるパケット識別子と上位ヘッダの情報を含まない識別子の組み合わせである先頭フラグメント識別子とを抽出し、前記フラグメントパケットのうちフラグメント後続パケットから、上位ヘッダの情報を含まない識別子の組み合わせである後続フラグメント識別子を抽出する識別子抽出部と、前記識別子抽出部で抽出されたパケット識別子、および、先頭および後続フラグメント識別子を格納する記憶部と、前記記憶部に格納されたパケット識別子、および、先頭および後続フラグメント識別子に基づいて、前記フラグメントパケットに対して、フラグメント化されたレイヤーより上位レイヤーのプロトコルに従うパケット処理を決定する検索管理部と、を備えることを特徴とする、パケット処理装置が提供される。   In order to solve the above-described problem, according to an aspect of the present invention, a combination of a packet identifier, which is a combination of identifiers including information on upper headers, and an identifier not including information on upper headers from a fragment head packet among fragment packets A first fragment identifier is extracted, and an identifier extraction unit that extracts a subsequent fragment identifier that is a combination of identifiers that do not include upper header information from the fragment subsequent packet among the fragment packets, and is extracted by the identifier extraction unit The packet packet is fragmented based on the packet identifier stored in the storage unit and the head and subsequent fragment identifiers. layer Characterized in that it and a search management unit for determining a packet processing according to the higher-layer protocol, the packet processing apparatus is provided.

前記検索管理部は、前記パケット識別子に基づいて前記記憶部を検索して前記フラグメント先頭パケットに対するパケット処理を決定する先頭フラグメント処理決定部と、前記フラグメント先頭パケットから抽出された先頭フラグメント識別子を前記記憶部に登録する先頭フラグメント識別子登録部と、前記先頭フラグメント識別子登録部で登録された先頭フラグメント識別子と、前記先頭フラグメント処理決定部で決定されたパケット処理と、を関連付ける関連付け部と、前記フラグメント後続パケットから抽出された後続フラグメント識別子を前記記憶部に登録する後続フラグメント識別子登録部と、前記先頭フラグメント識別子に基づいて、前記後続フラグメント識別子登録部で登録された後続フラグメント識別子を検索する後続フラグメント識別子検索部と、前記関連付け部によって関連付けられた情報に基づいて、前記フラグメント後続パケットに対するパケット処理を決定する後続フラグメント処理決定部と、を備えてもよい。   The search management unit searches the storage unit based on the packet identifier to determine packet processing for the fragment head packet, and stores a head fragment identifier extracted from the fragment head packet. A first fragment identifier registration unit to be registered with the first fragment identifier, an association unit that associates the first fragment identifier registered with the first fragment identifier registration unit and the packet processing determined with the first fragment processing determination unit, and the fragment subsequent packet A subsequent fragment identifier registration unit that registers the subsequent fragment identifier extracted from the storage unit, and a subsequent fragment that searches for the subsequent fragment identifier registered by the subsequent fragment identifier registration unit based on the head fragment identifier A placement identifier search unit, based on the information associated by said associating unit, and the subsequent fragment processing determination unit for determining a packet processing for the fragment subsequent packets may be provided.

前記後続フラグメント処理決定部は、前記関連付け部によって関連付けられた情報に基づいて、前記後続フラグメント識別子検索部によりヒットした後続フラグメント識別子の前記フラグメント後続パケットに対するパケット処理を決定してもよい。   The subsequent fragment processing determining unit may determine packet processing for the fragment subsequent packet of the subsequent fragment identifier hit by the subsequent fragment identifier searching unit based on the information associated by the associating unit.

パケット処理装置は、さらに、前記検索管理部で決定された前記パケット処理情報に基づいて、前記フラグメント先頭パケットおよび前記フラグメント後続パケットに対してそれぞれ決定されたパケット処理をするパケット処理実行部を備えてもよい。   The packet processing device further includes a packet processing execution unit that performs packet processing determined for each of the fragment head packet and the fragment subsequent packet based on the packet processing information determined by the search management unit. Also good.

前記フラグメント先頭パケットが前記フラグメント後続パケットより先に受信された場合、前記後続フラグメント処理決定部は、前記後続フラグメント識別子に対応する、前記記憶部に登録された先頭フラグメント識別子を検出し、前記記憶部に関連付けて記憶された前記検出された先頭フラグメント識別子とパケット処理とに基づき、前記後続フラグメント識別子のフラグメント後続パケットに対するパケット処理を決定してもよい。   When the fragment head packet is received before the fragment subsequent packet, the subsequent fragment processing determining unit detects a head fragment identifier registered in the storage unit corresponding to the subsequent fragment identifier, and the storage unit The packet processing for the fragment subsequent packet of the subsequent fragment identifier may be determined based on the detected head fragment identifier stored in association with the packet and the packet processing.

前記フラグメント後続パケットが前記フラグメント先頭パケットより先に受信された場合、前記後続フラグメント識別子登録部は、前記フラグメント後続パケットの後続フラグメント識別子を前記記憶部に登録し、前記後続フラグメント処理決定部は、前記フラグメント先頭パケットが受信された時に、前記フラグメント先頭パケットから抽出された先頭フラグメント識別子に基づいて、前記記憶部に登録された前記後続フラグメント識別子を検索することによって、当該フラグメント後続パケットに対するパケット処理を決定してもよい。   When the fragment subsequent packet is received before the fragment head packet, the subsequent fragment identifier registration unit registers the subsequent fragment identifier of the fragment subsequent packet in the storage unit, and the subsequent fragment processing determination unit includes the When a fragment head packet is received, packet processing for the fragment subsequent packet is determined by searching for the subsequent fragment identifier registered in the storage unit based on the head fragment identifier extracted from the fragment head packet. May be.

また、上記課題を解決するために、本発明の別の観点によれば、受信されたフラグメントパケットのうちフラグメント先頭パケットから、上位ヘッダの情報を含む識別子の組み合わせであるパケット識別子と上位ヘッダの情報を含まない識別子の組み合わせである先頭フラグメント識別子とを抽出し、前記フラグメントパケットうちフラグメント後続パケットから、上位ヘッダの情報を含まない識別子の組み合わせである後続フラグメント識別子を抽出する識別子抽出ステップと、前記識別子抽出部で抽出されたパケット識別子、および、先頭および後続フラグメント識別子を格納する記憶ステップと、前記格納されたパケット識別子、および、先頭および後続フラグメント識別子に基づいて、前記フラグメントパケットに対して、フラグメント化されたレイヤーより上位レイヤーのプロトコルに従うパケット処理を決定するパケット処理決定ステップと、から構成されることを特徴とする、パケット処理方法が提供される。   In order to solve the above-mentioned problem, according to another aspect of the present invention, a packet identifier that is a combination of identifiers including upper header information from a fragment head packet among received fragment packets and upper header information An identifier extraction step of extracting a first fragment identifier that is a combination of identifiers that does not include an identifier, and extracting a subsequent fragment identifier that is a combination of identifiers that do not include upper header information from the fragment subsequent packets among the fragment packets; and the identifier A storage step for storing the packet identifier extracted by the extraction unit and the head and subsequent fragment identifiers, and a fragment method for the fragment packet based on the stored packet identifier and the head and subsequent fragment identifiers. Wherein the packet processing determining step of determining a packet processing according to the bets of been a layer from the upper layer protocols, in that they are composed, the packet processing method is provided.

以上説明したように本発明によれば、IPフラグメントパケットに対して、フラグメントされる前のIPパケット全体についてIPより上位のプロトコルに従って処理を行う場合に必要とするバッファ容量を低減することが可能な、新規かつ改良されたパケット処理装置が提供される。   As described above, according to the present invention, it is possible to reduce the buffer capacity required when processing an IP fragment packet according to a protocol higher than IP for the entire IP packet before being fragmented. A new and improved packet processing apparatus is provided.

以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。   Exemplary embodiments of the present invention will be described below in detail with reference to the accompanying drawings. In addition, in this specification and drawing, about the component which has the substantially same function structure, duplication description is abbreviate | omitted by attaching | subjecting the same code | symbol.

(第1の実施形態)
(システム構成)
まず、本発明の第1実施形態について説明する。はじめに、本実施形態にかかるパケット処理装置100を利用した通信システムについて説明する。図1には、本実施形態にかかるパケット処理装置を利用した通信システムの一例が示されている。本実施形態にかかるパケット処理装置100は、コンピュータ20に接続されている。また、パケット処理装置100は、IPネットワーク等のネットワーク10を介してコンピュータ30に接続されている。コンピュータ20およびコンピュータ30は、パーソナルコンピュータ、携帯電話、PDA等のネットワーク上で通信可能なあらゆるコンピュータである。
(First embodiment)
(System configuration)
First, a first embodiment of the present invention will be described. First, a communication system using the packet processing apparatus 100 according to the present embodiment will be described. FIG. 1 shows an example of a communication system using the packet processing apparatus according to the present embodiment. A packet processing apparatus 100 according to the present embodiment is connected to a computer 20. The packet processing apparatus 100 is connected to the computer 30 via the network 10 such as an IP network. The computer 20 and the computer 30 are all computers that can communicate on a network such as a personal computer, a mobile phone, and a PDA.

パケット処理装置100は、コンピュータ20から送信されたIPフラグメントパケット(以下、フラグメントパケットと称す)に対して、フラグメントされる前のIPパケット(以下、パケットと称す)全体についてIPより上位のプロトコルに従って処理を行い、ネットワーク10を介してコンピュータ30に転送する。パケット処理装置100は、例えば、ルータやレイヤー3スイッチ等のネットワークスイッチ装置であってもよいし、ゲートウェイ等のセキュリティ装置であってもよい。パケット処理装置100では、例えば、IPより上位のプロトコルに従って、フラグメントパケットの廃棄、フラグメントパケット内の情報の加工等が行われる。   The packet processing apparatus 100 processes an IP fragment packet (hereinafter referred to as a fragment packet) transmitted from the computer 20 according to a protocol higher than the IP for the entire IP packet (hereinafter referred to as a packet) before being fragmented. And transferred to the computer 30 via the network 10. The packet processing device 100 may be, for example, a network switch device such as a router or a layer 3 switch, or may be a security device such as a gateway. In the packet processing device 100, for example, fragment packets are discarded and information in the fragment packets is processed according to a protocol higher than IP.

図1に示された通信システムは一例であって、本実施形態のパケット処理装置100を利用した通信システムのシステム構成は、図1の構成には限定されない。例えば、図1には、簡略化のために、パケット処理装置は1つしか記載されていないが、コンピュータ20とネットワーク10との間、および、コンピュータ30とネットワーク10との間には複数のパケット処理装置が存在してもよい。また、パケット処理装置に直接接続されているコンピュータはコンピュータ20のみが記載されているが、複数のコンピュータがパケット処理装置100に接続されていてもよい。   The communication system shown in FIG. 1 is an example, and the system configuration of the communication system using the packet processing apparatus 100 of the present embodiment is not limited to the configuration of FIG. For example, FIG. 1 shows only one packet processing device for the sake of simplicity, but there are a plurality of packets between the computer 20 and the network 10 and between the computer 30 and the network 10. There may be a processing device. Further, although only the computer 20 is described as the computer directly connected to the packet processing device, a plurality of computers may be connected to the packet processing device 100.

(IPパケットのフラグメント)
次に、本実施形態にかかるパケット処理装置100で処理されるフラグメントパケットについて説明する。図2には、パケットのフラグメントの一例が示されている。パケットP200は、MACヘッダ201、IPヘッダ202、上位ヘッダ203、データ204およびFCS205から構成されている。MACヘッダ201は、データリンク層のプロトコルに関するヘッダであり、IPヘッダ202は、ネットワーク層のプロトコルに関するヘッダであり、上位ヘッダ203は、トランスポート層以上のプロトコルに関するヘッダである。また、FCS205は誤り検出符号である。
(IP packet fragment)
Next, the fragment packet processed by the packet processing apparatus 100 according to the present embodiment will be described. FIG. 2 shows an example of a packet fragment. The packet P200 includes a MAC header 201, an IP header 202, an upper header 203, data 204, and an FCS 205. The MAC header 201 is a header related to a data link layer protocol, the IP header 202 is a header related to a network layer protocol, and the upper header 203 is a header related to a protocol higher than the transport layer. FCS 205 is an error detection code.

図2の例では、パケットP200は、フラグメントパケットF210、F220およびF230に分割されている。フラグメントパケットF210、F220、およびF230は、パケットP200から生成されるときにMACヘッダおよびIPヘッダが付加され、順次ネットワークに送信される。このようなパケットの分割およびフラグメントは、パケットを中継するパケット処理装置によって、パケットが宛先のコンピュータに届くまで繰り返される。その結果、パケットは細かく分割される。   In the example of FIG. 2, the packet P200 is divided into fragment packets F210, F220, and F230. Fragment packets F210, F220, and F230 are added with a MAC header and an IP header when they are generated from packet P200, and are sequentially transmitted to the network. Such packet division and fragmentation are repeated until the packet reaches the destination computer by the packet processing device that relays the packet. As a result, the packet is finely divided.

パケットが通過するルートによっては、フラグメントパケットの順序が入れ替わって到着する場合やフラグメントパケット途中で廃棄される場合もあるが、フラグメントされたIPパケットは、最終的に到着する宛先のコンピュータで再構成される。この再構成は、MACアドレス、IPアドレス等の情報と、以下で説明される各IPパケットのヘッダに含まれる識別子であるID、MF、およびオフセットが利用されて、パケットのユニーク性を確保しながら行われる。   Depending on the route through which the packet passes, the order of fragmented packets may arrive out of order or may be discarded in the middle of the fragmented packet, but the fragmented IP packet is reconstructed by the destination computer that finally arrives. The This reconfiguration uses information such as MAC address, IP address, etc. and ID, MF, and offset, which are identifiers included in the header of each IP packet described below, while ensuring the uniqueness of the packet. Done.

フラグメントパケットF210は先頭のフラグメントパケット(以下、フラグメント先頭パケットと称す)であり、MACヘッダ211、IPヘッダ212、上位ヘッダ213、データ214およびFCS215から構成されている。MACヘッダ211は、パケットP200のMACヘッダ201と同じ情報を含んでいる。上位ヘッダ213は、パケットP200の上位ヘッダ203と同じ情報を含んでいる。データ214は、パケットP200のデータ204が分割されたものである。FCS215は、誤り検出符号である。   The fragment packet F210 is a head fragment packet (hereinafter referred to as a fragment head packet), and includes a MAC header 211, an IP header 212, an upper header 213, data 214, and an FCS 215. The MAC header 211 includes the same information as the MAC header 201 of the packet P200. The upper header 213 includes the same information as the upper header 203 of the packet P200. Data 214 is obtained by dividing data 204 of packet P200. FCS 215 is an error detection code.

IPヘッダ212は、フラグメントパケットF210が生成されるときに、パケットP200のIPヘッダ202の情報が加工されてフラグメントパケットF210に付加される。IPヘッダ212は、ID(IDentification)216、MF(More Fragment)217、およびオフセット218を含んでいる。ID216はフラグメントされる前のパケットを識別する識別子であって、同一パケットから分割されたフラグメントパケットのIDは同一の値を有する。ID216の値は、図2に示されるように、ID1である。   When the fragment packet F210 is generated, the information of the IP header 202 of the packet P200 is processed and the IP header 212 is added to the fragment packet F210. The IP header 212 includes an ID (IDentification) 216, an MF (More Fragment) 217, and an offset 218. ID 216 is an identifier for identifying a packet before being fragmented, and the IDs of fragment packets divided from the same packet have the same value. The value of ID216 is ID1, as shown in FIG.

MF217は、後続のフラグメントパケットが存在するかどうかを示す識別子である。MF217の値が0であれば、後続のフラグメントパケットは存在せず、MF217の値が1であれば、後続のフラグメントパケットが存在する。フラグメントパケットF210の後続には、フラグメントパケットF220が存在するため、フラグメントパケットF210のMF217の値MF1=1である。   The MF 217 is an identifier indicating whether there is a subsequent fragment packet. If the value of MF217 is 0, there is no subsequent fragment packet, and if the value of MF217 is 1, there is a subsequent fragment packet. Since the fragment packet F220 exists after the fragment packet F210, the value MF1 of the MF217 of the fragment packet F210 is MF1 = 1.

オフセット218は、フラグメントパケットF210がフラグメントされる前のパケットP200の先頭(IPヘッダ202の先頭)から何バイト目に位置していたかを示す識別子である。フラグメントパケットF210はフラグメント先頭パケットであるので、オフセット218の値OF1=0である。   The offset 218 is an identifier indicating the byte position from the top of the packet P200 (the top of the IP header 202) before the fragment packet F210 is fragmented. Since the fragment packet F210 is a fragment head packet, the value OF1 of the offset 218 is OF1 = 0.

フラグメントパケットF220は後続のフラグメントパケット(以下、フラグメント後続パケットと称す)であり、MACヘッダ221、IPヘッダ222、データ223およびFCS224から構成されている。フラグメントパケットF220はフラグメント後続パケットであるので、上位ヘッダの情報はフラグメントパケットF220には含まれない。MACヘッダ221は、パケットP200のMACヘッダ201と同じ情報を含んでいる。データ223は、パケットP200のデータ204のうちで、フラグメントパケットF210に含まれたデータ214に後続するデータが分割されたものである。FCS224は、誤り検出符号である。   The fragment packet F220 is a subsequent fragment packet (hereinafter referred to as a fragment subsequent packet), and includes a MAC header 221, an IP header 222, data 223, and an FCS 224. Since the fragment packet F220 is a fragment subsequent packet, the information of the upper header is not included in the fragment packet F220. The MAC header 221 includes the same information as the MAC header 201 of the packet P200. Data 223 is obtained by dividing data 204 of packet P200 following data 214 included in fragment packet F210. FCS 224 is an error detection code.

IPヘッダ222は、フラグメントパケットF220が生成されるときに、パケットP200のIPヘッダ202の情報が加工されてフラグメントパケットF220に付加される。IPヘッダはID225、MF226、およびオフセット227を含んでいる。フラグメントパケットF220は、フラグメントパケットF210と同じパケットP200から分割されているので、ID225の値はID216の値と同じで、ID1である。フラグメントパケットF220の後続には、フラグメントパケットF230が存在するため、フラグメントパケットF220のMF226の値MF2=1である。フラグメントパケットF220はフラグメント後続パケットであるので、オフセット227の値OF2≠0である。   When the fragment packet F220 is generated, the IP header 222 is added to the fragment packet F220 by processing the information of the IP header 202 of the packet P200. The IP header includes ID 225, MF 226, and offset 227. Since the fragment packet F220 is divided from the same packet P200 as the fragment packet F210, the value of ID225 is the same as the value of ID216 and is ID1. Since the fragment packet F230 exists after the fragment packet F220, the MF226 value MF2 = 1 of the fragment packet F220. Since the fragment packet F220 is a fragment subsequent packet, the value OF2 ≠ 0 of the offset 227.

フラグメントパケットF230はフラグメント後続パケットであり、MACヘッダ231、IPヘッダ232、データ233およびFCS234から構成されている。フラグメントパケットF230はフラグメント後続パケットであるので、フラグメントパケットF220と同様、上位ヘッダの情報は含まれない。MACヘッダ231は、パケットP200のMACヘッダ201と同じ情報を含んでいる。データ233は、パケットP200のデータ204のうちで、フラグメントパケットF220に含まれたデータ223に後続するデータである。FCS234は、誤り検出符号である。   The fragment packet F <b> 230 is a fragment subsequent packet, and includes a MAC header 231, an IP header 232, data 233, and FCS 234. Since the fragment packet F230 is a fragment succeeding packet, the information of the upper header is not included like the fragment packet F220. The MAC header 231 includes the same information as the MAC header 201 of the packet P200. Data 233 is data subsequent to data 223 included in fragment packet F220 among data 204 of packet P200. FCS 234 is an error detection code.

IPヘッダ232は、フラグメントパケットF230が生成されるときに、パケットP200のIPヘッダ202の情報が加工されてフラグメントパケットF230に付加される。IPヘッダはID235、MF236、およびオフセット237を含んでいる。フラグメントパケットF230は、フラグメントパケットF210およびF220と同じパケットP200から分割されているので、ID235の値はID216およびID225の値と同じで、ID1である。フラグメントパケットF230の後続には、フラグメントパケットが存在しないため、フラグメントパケットF230のMF236の値MF3=0である。フラグメントパケットF230はフラグメント後続パケットであるので、オフセット237の値OF3≠0である。   The IP header 232 is added to the fragment packet F230 after the information of the IP header 202 of the packet P200 is processed when the fragment packet F230 is generated. The IP header includes ID 235, MF 236, and offset 237. Since the fragment packet F230 is divided from the same packet P200 as the fragment packets F210 and F220, the value of ID235 is the same as the values of ID216 and ID225 and is ID1. Since there is no fragment packet subsequent to the fragment packet F230, the value MF3 = 0 of the MF 236 of the fragment packet F230 is set. Since the fragment packet F230 is a fragment subsequent packet, the value OF3 ≠ 0 of the offset 237.

(パケット処理装置の構成)
次に、本実施形態にかかるパケット処理装置の構成について説明する。図3は、本実施形態にかかるパケット処理装置の機能ブロック図である。本実施形態にかかるパケット処理装置100は、物理媒体110A〜110N、物理終端部(MAC/PHY)120、受信パケット処理部130、記憶部の一例であるCAM140、ネットワークプロセッサ(NPU:Network Processing Unit)150、送信パケット処理部160から構成される。
(Configuration of packet processing device)
Next, the configuration of the packet processing apparatus according to the present embodiment will be described. FIG. 3 is a functional block diagram of the packet processing apparatus according to the present embodiment. The packet processing apparatus 100 according to the present embodiment includes physical media 110A to 110N, a physical termination unit (MAC / PHY) 120, a received packet processing unit 130, a CAM 140 that is an example of a storage unit, and a network processor (NPU: Network Processing Unit). 150 and a transmission packet processing unit 160.

物理媒体(ポート1)110A〜物理媒体(ポートN)110Nは、RJ−45コネクタ等の複数の外部物理インタフェース(ポート)を含む物理媒体であり、コンピュータ20等のネットワークで接続されたコンピュータから信号を受信する。受信された信号は、物理終端部120に転送される。また、物理媒体(ポート1)110A〜物理媒体(ポートN)110Nは、物理終端部120から受信した信号を、ネットワークで接続されたコンピュータへ送信する。   The physical medium (port 1) 110A to the physical medium (port N) 110N are physical media including a plurality of external physical interfaces (ports) such as RJ-45 connectors, and are signals from computers connected via a network such as the computer 20. Receive. The received signal is transferred to the physical termination unit 120. In addition, the physical medium (port 1) 110A to the physical medium (port N) 110N transmit the signal received from the physical termination unit 120 to computers connected via a network.

物理終端部120は、物理媒体の各ポートで受信した信号に対して物理レイヤー(PHY)の処理、および、メディアアクセスコントロール(MAC)処理を行う。物理終端部120では、例えばポート多重処理が行われる。物理終端部120で処理された結果、生成されたパケットは、受信パケット処理部130に転送される。また、物理終端部120は、送信パケット処理部160から受信したパケットに対しても、物理レイヤー(PHY)の処理、および、メディアアクセスコントロール(MAC)処理を行う。送信パケット処理部160から受信されたパケットが、物理終端部120で処理された結果生成された信号は、物理媒体(ポート1)110A〜物理媒体(ポートN)110Nに転送される。   The physical termination unit 120 performs physical layer (PHY) processing and media access control (MAC) processing on signals received at each port of the physical medium. In the physical termination unit 120, for example, port multiplexing processing is performed. Packets generated as a result of processing by the physical termination unit 120 are transferred to the received packet processing unit 130. The physical termination unit 120 also performs physical layer (PHY) processing and media access control (MAC) processing on the packet received from the transmission packet processing unit 160. A signal generated as a result of the packet received from the transmission packet processing unit 160 being processed by the physical termination unit 120 is transferred to the physical medium (port 1) 110A to the physical medium (port N) 110N.

受信パケット処理部130は、受信された信号に対して物理終端部120での処理が行われて生成されたパケットを識別し、処理を行う。より詳細には、受信パケット処理部130は、下記の処理を行う。受信パケット処理部130は、物理終端部120で生成されたパケットを、一旦バッファに格納する。次いで、バッファに格納されたパケットから複数の識別子を抽出する。さらに、パケットがフラグメントパケットであるかどうかを識別し、抽出された識別子の組み合わせに基づいて、パケットを再構成せずに、個々のフラグメントパケットに対して、パケット処理を行う。ここで行われる処理は、フラグメントされる前のパケット全体についてのIPより上位のプロトコルに従ったパケット処理である。受信パケット処理部130に関するさらに詳細な説明は、図4を参照しながら後述される。   The received packet processing unit 130 identifies a packet generated by performing processing in the physical termination unit 120 on the received signal, and performs processing. More specifically, the received packet processing unit 130 performs the following processing. The reception packet processing unit 130 temporarily stores the packet generated by the physical termination unit 120 in a buffer. Next, a plurality of identifiers are extracted from the packet stored in the buffer. Further, whether or not the packet is a fragment packet is identified, and packet processing is performed on each fragment packet without reconfiguring the packet based on the combination of the extracted identifiers. The processing performed here is packet processing according to a protocol higher than IP for the entire packet before fragmentation. A more detailed description of the received packet processing unit 130 will be described later with reference to FIG.

CAM140は、受信パケット処理部130でフラグメントパケットから抽出された識別子の組み合わせを格納する検索専用メモリである。CAM140には、パケット処理に関連付けられたパケット識別用の情報があらかじめ格納されている。CAM140に格納された情報は、受信パケット処理部130でフラグメントパケットの識別および処理を行うときに検索される。CAM140に関するさらに詳細な説明は、図4を参照しながら後述される。   The CAM 140 is a dedicated search memory that stores a combination of identifiers extracted from fragment packets by the received packet processing unit 130. The CAM 140 stores information for packet identification associated with packet processing in advance. The information stored in the CAM 140 is searched when the received packet processing unit 130 identifies and processes fragment packets. A more detailed description of the CAM 140 will be described later with reference to FIG.

NPU150は、受信パケット処理部130で識別されたパケットに基づいて、IPより上位のプロトコルに従う高度なパケット処理を行う。NPU150で行われる処理は、セキュリティーゲートウェイ、NAPT変換等の処理であってもよい。送信パケット処理部160は、NPU150で処理されたパケットを物理終端部120へ転送する。   Based on the packet identified by the received packet processing unit 130, the NPU 150 performs advanced packet processing according to a protocol higher than IP. The processing performed by the NPU 150 may be processing such as security gateway and NAPT conversion. The transmission packet processing unit 160 transfers the packet processed by the NPU 150 to the physical termination unit 120.

(受信パケット処理部の構成)
次に、図4を参照しながら受信パケット処理部130の構成についてさらに詳細に説明する。図4は、本実施形態にかかる受信パケット処理部の機能ブロック図である。受信パケット処理部130は、パケットバッファ部132、識別子抽出部134、検索管理部300、パケット処理実行部136から構成される。
(Configuration of received packet processing unit)
Next, the configuration of the received packet processing unit 130 will be described in more detail with reference to FIG. FIG. 4 is a functional block diagram of the received packet processing unit according to the present embodiment. The received packet processing unit 130 includes a packet buffer unit 132, an identifier extraction unit 134, a search management unit 300, and a packet processing execution unit 136.

(パケットバッファ部132)
パケットバッファ部132は、物理終端部より受信したパケットを一時的に格納するバッファメモリ等の構成要素である。受信されてパケットバッファ部132に格納されるパケットは、フラグメントされていないパケット、フラグメント先頭パケット、およびフラグメント後続パケットを含んでいる。パケットバッファ部132に格納されたパケットは、識別子抽出部134で識別子が抽出される。また、パケットバッファ部132に格納されたパケットは、検索管理部300で決定されたパケット処理情報に基づいて、パケット処理実行部136で処理が行われる。パケット処理実行部136からパケット処理の完了が通知されると、パケットバッファ部132は、そのパケットを格納していたバッファ領域を解放する。
(Packet buffer 132)
The packet buffer unit 132 is a component such as a buffer memory that temporarily stores packets received from the physical termination unit. The packet received and stored in the packet buffer unit 132 includes a non-fragmented packet, a fragment head packet, and a fragment subsequent packet. An identifier is extracted from the packet stored in the packet buffer unit 132 by the identifier extraction unit 134. Further, the packet stored in the packet buffer unit 132 is processed by the packet processing execution unit 136 based on the packet processing information determined by the search management unit 300. When packet processing completion is notified from the packet processing execution unit 136, the packet buffer unit 132 releases the buffer area in which the packet is stored.

(識別子抽出部134、および、抽出される識別子)
識別子抽出部134は、パケットバッファ部132に格納されたパケットからパケットの識別に使用する複数の識別子を抽出する。図5は、フラグメントパケットから抽出される識別子の一例を示す図表である。表250に示されるように、識別子抽出部134で抽出される複数の識別子には、MACヘッダから抽出される識別子の組み合わせであるMAC、IPヘッダから抽出される識別子の組み合わせであるIPおよびTCPヘッダ等のIPより上位ヘッダから抽出される識別子の組合せである上位ヘッダと、フラグメントパケットを識別するID、MF、オフセットとが含まれる。
(Identifier extraction unit 134 and extracted identifier)
The identifier extraction unit 134 extracts a plurality of identifiers used for packet identification from the packet stored in the packet buffer unit 132. FIG. 5 is a chart showing an example of identifiers extracted from fragment packets. As shown in Table 250, the plurality of identifiers extracted by the identifier extraction unit 134 include MAC that is a combination of identifiers extracted from the MAC header, and IP and TCP headers that are combinations of identifiers extracted from the IP header. An upper header that is a combination of identifiers extracted from an upper header such as IP, and an ID, MF, and offset for identifying a fragment packet are included.

表250には、図2で説明されたフラグメントパケットF210、F220およびF230から抽出される識別子が例示されている。以下で、表5に示された各識別子について説明する。フラグメントパケットを識別するID、MF、およびオフセットは、図2を参照して説明されたフラグメントパケットを識別する識別子である。   Table 250 illustrates identifiers extracted from fragment packets F210, F220, and F230 described in FIG. Hereinafter, each identifier shown in Table 5 will be described. The ID, MF, and offset for identifying the fragment packet are identifiers for identifying the fragment packet described with reference to FIG.

フラグメントパケットF210、F220およびF230のMACヘッダ211、221、および231に含まれる情報は、図2を参照して説明されたように等しい。これらのMACヘッダから抽出されるMACアドレス等の識別子の組み合わせデータは、MAC1で示されている。   The information contained in the MAC headers 211, 221 and 231 of the fragment packets F210, F220 and F230 is the same as described with reference to FIG. The combination data of identifiers such as MAC addresses extracted from these MAC headers is indicated by MAC1.

フラグメントパケットF210、F220およびF230のIPヘッダ212、222、および232に含まれる情報は、図2を参照して説明されたように、パケットP200のIPヘッダ202の情報が一部加工されたものである。IP1は、フラグメントパケットF210、F220およびF230のIPヘッダ212、222、および232から抽出される、これらのIPヘッダに共通なIPアドレス等の識別子の組合せデータである。   The information included in the IP headers 212, 222, and 232 of the fragment packets F210, F220, and F230 is obtained by partially processing the information of the IP header 202 of the packet P200 as described with reference to FIG. is there. IP1 is combination data of identifiers such as IP addresses that are common to these IP headers, extracted from the IP headers 212, 222, and 232 of the fragment packets F210, F220, and F230.

UP1は、フラグメント先頭パケットであるフラグメントパケットF210に含まるTCPヘッダ等のIPより上位ヘッダから抽出される識別子の組合せデータを示す。   UP1 indicates combination data of identifiers extracted from a header higher than IP such as a TCP header included in a fragment packet F210 which is a fragment head packet.

識別子抽出部134で抽出された複数の識別子は、検索管理部300でのパケット処理を決定するために用いられる。本実施形態では、これら複数の識別子のうち、以下の識別子の組み合わせが検索管理部300で使用される。   The plurality of identifiers extracted by the identifier extraction unit 134 are used to determine packet processing in the search management unit 300. In the present embodiment, the search management unit 300 uses the following combinations of identifiers among the plurality of identifiers.

「パケット識別子」は、受信パケット処理部130でフラグメント先頭パケットから抽出される、上位ヘッダの情報を含む識別子の組み合わせである。図2で説明されたフラグメントパケットF210に関して説明すると、パケット識別子252は、フラグメントパケットF210から抽出され、MAC1、IP1、およびUP1から構成される。   The “packet identifier” is a combination of identifiers including information on the upper header extracted from the fragment head packet by the received packet processing unit 130. Referring to the fragment packet F210 described in FIG. 2, the packet identifier 252 is extracted from the fragment packet F210 and is composed of MAC1, IP1, and UP1.

「先頭フラグメント識別子」は、受信パケット処理部130でフラグメント先頭パケットから抽出される、上位ヘッダの情報を含まない識別子の組み合わせである。図2で説明されたフラグメントパケットF210に関して説明すると、先頭フラグメント識別子254は、フラグメントパケットF210から抽出され、MAC1、IP1、およびID1から構成される。   The “head fragment identifier” is a combination of identifiers that are extracted from the fragment head packet by the received packet processing unit 130 and do not include information on the upper header. Referring to the fragment packet F210 described in FIG. 2, the head fragment identifier 254 is extracted from the fragment packet F210 and is composed of MAC1, IP1, and ID1.

「後続フラグメント識別子」は、受信パケット処理部130でフラグメント後続パケットから抽出される、上位ヘッダの情報を含まない識別子の組み合わせである。図2で説明されたフラグメントパケットF220に関して説明すると、後続フラグメント識別子256は、フラグメントパケットF220から抽出され、MAC1、IP1、およびID1から構成される。図2で説明されたフラグメントパケットF230に関しても同様で、後続フラグメント識別子258は、フラグメントパケットF230から抽出され、MAC1、IP1、およびID1から構成される。   The “subsequent fragment identifier” is a combination of identifiers that are extracted from the fragment subsequent packet by the reception packet processing unit 130 and do not include information on the upper header. Referring to the fragment packet F220 described with reference to FIG. 2, the subsequent fragment identifier 256 is extracted from the fragment packet F220 and is composed of MAC1, IP1, and ID1. The same applies to the fragment packet F230 described with reference to FIG. 2, and the subsequent fragment identifier 258 is extracted from the fragment packet F230 and includes MAC1, IP1, and ID1.

(検索管理部300)
図4に戻り、検索管理部300は、識別子抽出部134で抽出されたパケット識別子、先頭フラグメント識別子、および後続フラグメント識別子に基づいてCAM140に格納された識別子等の各種情報を検索し、パケットに対する処理を決定する。まず、検索管理部300は、識別子抽出部134で抽出された識別子に基づいて、パケットバッファ部132で受信されたパケットが、フラグメントされたパケットであるか、フラグメントされていないパケットであるかを識別する。受信されたパケットがフラグメントされていないパケットであった場合、検索管理部300はそのパケットに対するパケット処理を決定し、決定されたパケット処理の情報をパケット処理実行部136に通知する。
(Search management unit 300)
Returning to FIG. 4, the search management unit 300 searches various information such as an identifier stored in the CAM 140 based on the packet identifier, the head fragment identifier, and the subsequent fragment identifier extracted by the identifier extraction unit 134, and processes the packet. To decide. First, the search management unit 300 identifies whether the packet received by the packet buffer unit 132 is a fragmented packet or a non-fragmented packet based on the identifier extracted by the identifier extraction unit 134. To do. If the received packet is an unfragmented packet, the search management unit 300 determines packet processing for the packet, and notifies the packet processing execution unit 136 of the determined packet processing information.

パケットバッファ部132で受信されたパケットが、フラグメントされたパケットであった場合、検索管理部300は、識別子抽出部134で抽出された識別子に基づいて、そのフラグメントパケットがフラグメント先頭パケットであるか、フラグメント後続パケットであるかを識別する。その後、検索管理部300は、以下に記載される機能部で処理を行い、フラグメント先頭パケットおよびフラグメント後続パケットに対するパケット処理を決定する。   When the packet received by the packet buffer unit 132 is a fragmented packet, the search management unit 300 determines whether the fragment packet is a fragment head packet based on the identifier extracted by the identifier extraction unit 134. Identifies whether it is a fragment subsequent packet. Thereafter, the search management unit 300 performs processing by the functional units described below, and determines packet processing for the fragment head packet and the fragment subsequent packet.

検索管理部300は、先頭フラグメント処理決定部302、先頭フラグメント識別子登録部304、関連付け部306、後続フラグメント処理決定部308、後続フラグメント識別子登録部310、および後続フラグメント識別子検索部312から構成される。以下では、フラグメント先頭パケットをフラグメントパケットF210、フラグメント先頭パケットより後に受信されたフラグメント後続パケットをフラグメントパケットF220、フラグメント先頭パケットより先に受信されたフラグメント後続パケットをフラグメントパケットF230として、各構成要素に関して説明する。すなわち、パケットバッファ部132では、フラグメントパケットF230、フラグメントパケットF210、フラグメントパケットF220の順でパケットが受信される。   The search management unit 300 includes a head fragment processing determination unit 302, a head fragment identifier registration unit 304, an association unit 306, a subsequent fragment processing determination unit 308, a subsequent fragment identifier registration unit 310, and a subsequent fragment identifier search unit 312. Hereinafter, the fragment head packet is referred to as a fragment packet F210, a fragment subsequent packet received after the fragment head packet is referred to as a fragment packet F220, and a fragment subsequent packet received prior to the fragment head packet is referred to as a fragment packet F230. To do. That is, the packet buffer unit 132 receives packets in the order of the fragment packet F230, the fragment packet F210, and the fragment packet F220.

(先頭フラグメント処理決定部302)
先頭フラグメント処理決定部302は、パケット識別子252に基づいてCAM140のパケット識別子エントリ142を検索して、フラグメントパケットF210に対するパケット処理を決定する。より詳細には、先頭フラグメント処理決定部302は、パケット識別子252に基づいて、CAM140に格納されたパケット識別子エントリ142を検索し、パケット識別子エントリに登録された識別子と一致した(ヒットした)検索結果をパケット処理実行部136に通知する。ここで、パケット識別子エントリ142は、識別子抽出部134でパケットから抽出されるパケット識別子に対応する識別子の組み合わせとパケット処理とを関連付けるために、あらかじめ登録されたテーブルである。例えば、識別子の組み合わせは、パケット識別子エントリ142内で1つのエントリ番号に関連付けて登録されており、そのエントリ番号が、あらかじめ登録された別のテーブル内で対応するパケット処理と関連付けられていてもよい。したがって、検索結果は、フラグメントパケットF210に対するパケット処理の情報を含む。
(First fragment processing determination unit 302)
The head fragment processing determination unit 302 searches the packet identifier entry 142 of the CAM 140 based on the packet identifier 252 and determines packet processing for the fragment packet F210. More specifically, the head fragment processing determination unit 302 searches the packet identifier entry 142 stored in the CAM 140 based on the packet identifier 252, and the search result that matches (hits) the identifier registered in the packet identifier entry. Is notified to the packet processing execution unit 136. Here, the packet identifier entry 142 is a table registered in advance for associating a combination of identifiers corresponding to the packet identifiers extracted from the packets by the identifier extraction unit 134 with packet processing. For example, the identifier combination may be registered in association with one entry number in the packet identifier entry 142, and the entry number may be associated with a corresponding packet process in another pre-registered table. . Therefore, the search result includes packet processing information for the fragment packet F210.

(先頭フラグメント識別子登録部304)
先頭フラグメント識別子登録部304は、フラグメントパケットF210から抽出された先頭フラグメント識別子254をCAM140のフラグメント識別エントリ144に登録する。フラグメント識別子エントリ144に登録された先頭フラグメント識別子254は、関連付け部306でフラグメントパケットF210のパケット処理と関連付けられる。また、フラグメント識別子エントリ144に登録された先頭フラグメント識別子254は、フラグメント後続パケットであるフラグメントパケットF220がパケットバッファ部132で受信されると、後続フラグメント処理決定部308によって検索される。
(First fragment identifier registration unit 304)
The leading fragment identifier registration unit 304 registers the leading fragment identifier 254 extracted from the fragment packet F210 in the fragment identification entry 144 of the CAM 140. The leading fragment identifier 254 registered in the fragment identifier entry 144 is associated with the packet processing of the fragment packet F210 by the associating unit 306. The head fragment identifier 254 registered in the fragment identifier entry 144 is searched by the subsequent fragment processing determining unit 308 when the packet buffer unit 132 receives a fragment packet F220 that is a fragment subsequent packet.

(関連付け部306)
関連付け部306は、先頭フラグメント識別子登録部304で登録された先頭フラグメント識別子254と、先頭フラグメント処理決定部302で決定されたフラグメントパケットF210に対するパケット処理と、を関連付ける。このとき、CAM140の後続パケットエントリテーブル146に、前述された関連付けの情報が格納される。より詳細には、図11を参照して後述される。関連付け部306で後続パケットエントリテーブル146に格納された情報は後続フラグメント処理決定部308で検索され、検索結果がフラグメント後続パケットであるフラグメントパケットF220およびF230に対するパケット処理の決定に利用される。
(Association unit 306)
The associating unit 306 associates the head fragment identifier 254 registered by the head fragment identifier registering unit 304 with the packet processing for the fragment packet F210 determined by the head fragment processing determining unit 302. At this time, the association information described above is stored in the subsequent packet entry table 146 of the CAM 140. More details will be described later with reference to FIG. The information stored in the subsequent packet entry table 146 by the associating unit 306 is searched by the subsequent fragment processing determining unit 308, and the search result is used for determining packet processing for the fragment packets F220 and F230, which are fragment subsequent packets.

(後続フラグメント処理決定部308)
後続フラグメント処理決定部308は、関連付け部306によって関連付けられた情報に基づいて、フラグメント後続パケットであるフラグメントパケットF220およびF230に対するパケット処理を決定する。フラグメントパケットF220に対するパケット処理の決定をより詳細に説明すると、後続フラグメント処理決定部308は、フラグメントパケットF220から抽出された後続フラグメント識別子256に基づいて、フラグメント識別子エントリ144を検索する。検索の結果に基づいて、後続フラグメント処理決定部308は、フラグメントパケットF220およびF230に対するパケット処理を決定する。フラグメントパケットF210の先頭フラグメント識別子256がフラグメント識別子エントリ144に登録されている場合(すなわち、フラグメントパケットF210がすでに受信されている場合)は、検索がヒットするので、フラグメントパケットF220に対するパケット処理が決定される。逆に、先頭フラグメント識別子256がフラグメント識別子エントリ144に登録されていない場合(すなわち、フラグメントパケットF210がまだ受信されていない場合)は、検索はヒットせず、パケット処理は決定されない。
(Subsequent fragment processing determination unit 308)
The subsequent fragment processing determining unit 308 determines packet processing for the fragment packets F220 and F230, which are fragment subsequent packets, based on the information associated by the associating unit 306. The packet processing determination for the fragment packet F220 will be described in more detail. The subsequent fragment processing determination unit 308 searches the fragment identifier entry 144 based on the subsequent fragment identifier 256 extracted from the fragment packet F220. Based on the search result, the subsequent fragment processing determination unit 308 determines packet processing for the fragment packets F220 and F230. When the first fragment identifier 256 of the fragment packet F210 is registered in the fragment identifier entry 144 (that is, when the fragment packet F210 has already been received), the search is hit, and the packet processing for the fragment packet F220 is determined. The Conversely, if the first fragment identifier 256 is not registered in the fragment identifier entry 144 (that is, if the fragment packet F210 has not yet been received), the search does not hit and packet processing is not determined.

(後続フラグメント識別子登録部310)
後続フラグメント識別子登録部310は、後続フラグメント識別子登録部310での登録は、フラグメント先頭パケットより先にフラグメント後続パケットが受信された場合に、のフラグメントパケットF230から抽出されたフラグメント識別子258をCAM140の受信済後続パケットエントリテーブル148に登録する。後続フラグメント識別子登録部310で後続フラグメント識別子が登録された受信済後続パケットエントリ148は、後続フラグメント識別子検索部312によって検索される。
(Subsequent fragment identifier registration unit 310)
The subsequent fragment identifier registration unit 310 receives the fragment identifier 258 extracted from the fragment packet F230 of the CAM 140 when the subsequent fragment identifier registration unit 310 receives the fragment subsequent packet before the fragment head packet. Registered in the completed subsequent packet entry table 148. The received subsequent packet entry 148 in which the subsequent fragment identifier is registered by the subsequent fragment identifier registration unit 310 is searched by the subsequent fragment identifier search unit 312.

(後続フラグメント識別子検索部312)
後続フラグメント識別子検索部312は、フラグメントパケットF210から抽出された先頭フラグメント識別子254に基づいて、後続フラグメント識別子登録部310で登録された受信済後続パケットエントリ148を検索する。検索の結果に基づいて、後続フラグメント処理決定部308は、フラグメント後続パケットF220に対するパケット処理を決定する。フラグメントパケットF220の後続フラグメント識別子256が受信済後続パケットエントリ148に登録されている場合は、検索がヒットするので、後続フラグメント処理決定部308で、パケットバッファ部132に格納されている処理されていないフラグメントパケットF220に対してパケット処理が決定される。逆に、後続フラグメント識別子256が受信済後続パケットエントリ148に登録されていない場合は、検索はヒットせず、フラグメント後続パケットに対するパケット処理の決定は行われない。
(Subsequent fragment identifier search unit 312)
The subsequent fragment identifier search unit 312 searches the received subsequent packet entry 148 registered by the subsequent fragment identifier registration unit 310 based on the head fragment identifier 254 extracted from the fragment packet F210. Based on the search result, the subsequent fragment processing determination unit 308 determines packet processing for the fragment subsequent packet F220. When the subsequent fragment identifier 256 of the fragment packet F220 is registered in the received subsequent packet entry 148, the search is hit, so that the subsequent fragment processing determining unit 308 does not process the packet stored in the packet buffer unit 132. Packet processing is determined for the fragment packet F220. Conversely, if the subsequent fragment identifier 256 is not registered in the received subsequent packet entry 148, the search is not hit and no packet processing decision is made for the fragment subsequent packet.

(パケット処理実行部136)
パケット処理実行部136は、検索管理部300で決定されたパケット処理情報に基づいて、パケット処理を行う。すなわち、検索管理部300から通知される検索結果に基づいてパケットの処理を行う。パケット処理実行部136で処理されたパケットは、NPU150に転送される。パケット処理実行部136は、検索管理部300で決定されたパケット処理情報を、対応するパケットに付加して、NPU150に転送してもよいし、または、検索管理部300で決定されたパケット処理情報で示される処理を行って、処理後のパケットをNPU150に転送してもよい。パケット処理実行部136での処理が完了してパケットがNPU150に転送されると、パケット処理実行部136は、そのパケットの処理が完了したことをパケットバッファ部132に通知する。
(Packet processing execution unit 136)
The packet processing execution unit 136 performs packet processing based on the packet processing information determined by the search management unit 300. That is, the packet processing is performed based on the search result notified from the search management unit 300. The packet processed by the packet processing execution unit 136 is transferred to the NPU 150. The packet processing execution unit 136 may add the packet processing information determined by the search management unit 300 to the corresponding packet and transfer it to the NPU 150, or the packet processing information determined by the search management unit 300 The processed packet may be transferred to the NPU 150 by performing the process indicated by. When the processing in the packet processing execution unit 136 is completed and the packet is transferred to the NPU 150, the packet processing execution unit 136 notifies the packet buffer unit 132 that the processing of the packet is completed.

(フラグメント先頭パケットの後にフラグメント後続パケットを受信)
次に、図6、図7、図10A〜図10D、および図11Aおよび図11Bを参照しながら、フラグメントされたパケットの中で、フラグメント先頭パケットを最初に受信し、その後フラグメント後続パケットを受信した場合に、本実施形態にかかる受信パケット処理部で行われる処理を説明する。図6は、フラグメント先頭パケットを最初に受信した場合のフラグメント先頭パケットに対する処理を示したフローチャートである。図7は、フラグメント先頭パケットを最初に受信した場合のフラグメント後続パケットに対する処理を示したフローチャートである。
(Receive fragment subsequent packet after fragment first packet)
Next, referring to FIGS. 6, 7, 10 </ b> A to 10 </ b> D, and FIGS. 11A and 11B, among the fragmented packets, the first fragment packet is received first, and then the subsequent fragment packet is received. In this case, processing performed by the received packet processing unit according to the present embodiment will be described. FIG. 6 is a flowchart showing the processing for the fragment head packet when the fragment head packet is received first. FIG. 7 is a flowchart showing processing for a fragment subsequent packet when the fragment head packet is received first.

図10A〜図10Dは、フラグメント先頭パケットを最初に受信した場合のフラグメント先頭パケットに対する処理に伴うCAM140の各テーブルのデータ構成を示している。図10Aは、パケット識別子エントリのデータ構成の一例を示した図表である。図10Bは、フラグメント識別子エントリのデータ構成の一例を示した図表である。図10Cは、後続パケットエントリテーブルのデータ構成の一例を示した図表である。図10Dは、受信済後続パケットエントリのデータ構成の一例を示した図表である。   FIGS. 10A to 10D show the data structure of each table of the CAM 140 that accompanies the processing for the fragment head packet when the fragment head packet is received first. FIG. 10A is a chart showing an example of a data configuration of a packet identifier entry. FIG. 10B is a chart showing an example of the data structure of the fragment identifier entry. FIG. 10C is a chart showing an example of the data configuration of the subsequent packet entry table. FIG. 10D is a chart showing an example of the data structure of the received subsequent packet entry.

図11Aおよび図11Bは、フラグメント先頭パケットを最初に受信した場合のフラグメント後続パケットに対する処理に伴うCAM140の各テーブルのデータ構成を示している。図11Aは、フラグメント識別子エントリのデータ構成の一例を示した図表である。図11Bは、後続パケットエントリテーブルのデータ構成の一例を示した図表である。以下の説明では、フラグメント先頭パケットF210の後にフラグメント後続パケットF220を受信したものとして説明する。   FIG. 11A and FIG. 11B show the data structure of each table of the CAM 140 that accompanies the processing for the fragment subsequent packet when the fragment head packet is received first. FIG. 11A is a chart showing an example of the data structure of a fragment identifier entry. FIG. 11B is a chart showing an example of the data configuration of the subsequent packet entry table. In the following description, it is assumed that the fragment subsequent packet F220 is received after the fragment head packet F210.

(最初に受信されたフラグメント先頭パケットに対する処理)
まず、図6および図10A〜図10Dを参照しながら、最初に受信されたフラグメント先頭パケットに対する処理を説明する。パケット処理装置100の物理媒体(ポート1)110A〜物理媒体(ポートN)110Nの各ポートで受信された信号は、物理終端部120で処理が行われ、処理が行われた結果のパケットが受信パケット処理部130で受信される。
(Processing for the first fragment packet received)
First, the process for the first fragment packet received will be described with reference to FIG. 6 and FIGS. 10A to 10D. Signals received at the physical medium (port 1) 110A to physical medium (port N) 110N ports of the packet processing apparatus 100 are processed by the physical termination unit 120, and packets resulting from the processing are received. Received by the packet processing unit 130.

受信パケット処理部130でパケットが受信されると、ステップS402で、受信されたフラグメント先頭パケットF210は、パケットバッファ部132に格納される。次いで、ステップS404で、識別子抽出部134は、ステップS402で格納されたフラグメント先頭パケットF210から複数の識別子を抽出する。さらに、ステップS406で、先頭フラグメント処理決定部302は、ステップS404で抽出された複数の識別子の組み合わせであるパケット識別子252に基づき、パケット識別子エントリ142を検索する。   When the received packet processing unit 130 receives a packet, the received fragment head packet F210 is stored in the packet buffer unit 132 in step S402. Next, in step S404, the identifier extraction unit 134 extracts a plurality of identifiers from the fragment head packet F210 stored in step S402. In step S406, the head fragment processing determination unit 302 searches for the packet identifier entry 142 based on the packet identifier 252 that is a combination of the plurality of identifiers extracted in step S404.

図10Aの例では、検索の結果、パケット識別子252は、パケット識別子エントリ142のエントリ番号PE(1)に登録された識別子と一致する(ヒットする)ので、ステップS408で、先頭フラグメント処理決定部302は、パケット識別子のエントリ番号PE(1)を取得する。   In the example of FIG. 10A, as a result of the search, the packet identifier 252 matches (hits) the identifier registered in the entry number PE (1) of the packet identifier entry 142, so in step S408, the head fragment processing determination unit 302 Obtains the entry number PE (1) of the packet identifier.

次いで、ステップS410で、先頭フラグメント処理決定部302は、ステップS408で取得したパケット識別子エントリのエントリ番号PE(1)をパケット処理実行部136に通知する。パケット処理実行部136は、フラグメント先頭パケットF210に対して、通知されたパケット識別子エントリのエントリ番号PE(1)に基づくパケット処理を行う。その後、ステップS412で、パケット処理実行部136は、フラグメント先頭パケットF210に対するパケット処理が完了したことをパケットバッファ部132に通知し、パケットバッファ部132に格納されたフラグメント先頭パケットF210に対応するバッファ領域が解放される。   Next, in step S410, the head fragment processing determination unit 302 notifies the packet processing execution unit 136 of the entry number PE (1) of the packet identifier entry acquired in step S408. The packet processing execution unit 136 performs packet processing on the fragment head packet F210 based on the entry number PE (1) of the notified packet identifier entry. Thereafter, in step S412, the packet processing execution unit 136 notifies the packet buffer unit 132 that the packet processing for the fragment head packet F210 has been completed, and the buffer area corresponding to the fragment head packet F210 stored in the packet buffer unit 132 Is released.

次いで、ステップS414で、先頭フラグメント識別子登録部304は、ステップS404で抽出された複数の識別子の組み合わせである先頭フラグメント識別子254をフラグメント識別子エントリ144に登録する。図10Bの例では、先頭フラグメント識別子254は、エントリ番号FE(1)に登録される。   Next, in step S414, the head fragment identifier registration unit 304 registers the head fragment identifier 254, which is a combination of the plurality of identifiers extracted in step S404, in the fragment identifier entry 144. In the example of FIG. 10B, the head fragment identifier 254 is registered in the entry number FE (1).

さらに、ステップS416で、関連付け部306は、後続パケットエントリテーブルの、ステップS414で先頭フラグメント識別子254を登録したエントリ番号FE(1)と一致するアドレスに、ステップS408で取得したエントリ番号PE(1)をデータとして登録する。   In step S416, the associating unit 306 adds the entry number PE (1) acquired in step S408 to the address that matches the entry number FE (1) in which the first fragment identifier 254 is registered in step S414 in the subsequent packet entry table. Is registered as data.

その後、ステップS418で、後続フラグメント識別子検索部312は、受信済後続パケットエントリ148を検索する。フラグメント先頭パケットF210は、フラグメントされる前のパケットP200からフラグメントされたパケットの中で最初に受信されたので、受信済後続パケットエントリ148には、既に受信されたフラグメント後続パケットの後続フラグメント識別子は登録されていない。そのため、検索はヒットせず、フラグメント先頭パケットF210に対する処理は終了する。   Thereafter, in step S418, the subsequent fragment identifier search unit 312 searches for the received subsequent packet entry 148. Since the fragment head packet F210 is first received among the packets fragmented from the packet P200 before being fragmented, the subsequent fragment identifier of the fragment subsequent packet that has already been received is registered in the received subsequent packet entry 148. It has not been. Therefore, the search is not hit, and the processing for the fragment head packet F210 ends.

(フラグメント先頭パケットの後に受信されたフラグメント後続パケットに対する処理)
次に、図6、および図10A〜図10Dを参照して説明されたフラグメント先頭パケットF210の後に受信されたフラグメント後続パケットに対する処理を説明する。以下では、図7、図11Aおよび図11Bを参照しながら説明を行う。パケット処理装置100の物理媒体(ポート1)110A〜物理媒体(ポートN)110Nの各ポートで受信された信号は、物理終端部120で処理が行われ、処理が行われた結果のパケットが受信パケット処理部130で受信される。
(Processing for fragment subsequent packets received after the fragment first packet)
Next, processing for a fragment subsequent packet received after the fragment head packet F210 described with reference to FIG. 6 and FIGS. 10A to 10D will be described. Hereinafter, description will be made with reference to FIGS. 7, 11A, and 11B. Signals received at the physical medium (port 1) 110A to physical medium (port N) 110N ports of the packet processing apparatus 100 are processed by the physical termination unit 120, and packets resulting from the processing are received. Received by the packet processing unit 130.

受信パケット処理部130でパケットが受信されると、ステップS502で、受信されたフラグメント後続パケットF220は、パケットバッファ部132に格納される。次いで、ステップS504で、識別子抽出部134は、ステップS502で格納されたフラグメント後続パケットF220から複数の識別子を抽出する。   When the received packet processing unit 130 receives a packet, the received fragment subsequent packet F220 is stored in the packet buffer unit 132 in step S502. Next, in step S504, the identifier extraction unit 134 extracts a plurality of identifiers from the fragment subsequent packet F220 stored in step S502.

さらに、ステップS506で、後続フラグメント処理決定部308は、ステップS504で抽出された複数の識別子の組み合わせである後続フラグメント識別子256に基づき、フラグメント識別子エントリ144を検索する。フラグメント識別子エントリ144には、ステップS414で既に先頭フラグメント識別子254が登録されているので検索はヒットし、ステップS508で、後続フラグメント処理決定部308は、検索結果として先頭フラグメント識別子254が登録されたエントリ番号FE(1)を取得する。   Further, in step S506, the subsequent fragment processing determination unit 308 searches the fragment identifier entry 144 based on the subsequent fragment identifier 256 that is a combination of the plurality of identifiers extracted in step S504. In the fragment identifier entry 144, since the first fragment identifier 254 is already registered in step S414, the search is hit, and in step S508, the subsequent fragment processing determination unit 308 registers the first fragment identifier 254 as a search result. The number FE (1) is acquired.

その後、ステップS510で、後続フラグメント処理決定部308は、後続パケットエントリテーブル146の、ステップS508で取得したエントリ番号FE(1)のアドレスに登録されているデータを読み込む。このとき、後続パケットエントリテーブル146には、ステップS408で得られたパケット識別子エントリのエントリ番号が、ステップS416で既に登録されている。そのため、ステップS512で、後続フラグメント処理決定部308は、ステップS408でフラグメント先頭パケットF210に対して得られた検索結果と同じPE(1)を取得する。   Thereafter, in step S510, the subsequent fragment processing determination unit 308 reads data registered in the address of the entry number FE (1) acquired in step S508 of the subsequent packet entry table 146. At this time, the entry number of the packet identifier entry obtained in step S408 is already registered in the subsequent packet entry table 146 in step S416. Therefore, in step S512, the subsequent fragment processing determination unit 308 acquires the same PE (1) as the search result obtained for the fragment head packet F210 in step S408.

次いで、ステップS514で、後続フラグメント処理決定部308は、ステップS512で取得したPE(1)をパケット処理実行部136に通知する。パケット処理実行部136は、フラグメント後続パケットF220に対して、通知されたPE(1)に基づくパケット処理を行う。その後、ステップS516で、パケット処理実行部136は、フラグメント先頭パケットF220に対するパケット処理が完了したことをパケットバッファ部132に通知し、パケットバッファ部132に格納されたフラグメント先頭パケットF220に対応するバッファ領域が解放される。   Next, in step S514, the subsequent fragment processing determination unit 308 notifies the packet processing execution unit 136 of PE (1) acquired in step S512. The packet processing execution unit 136 performs packet processing based on the notified PE (1) for the fragment subsequent packet F220. Thereafter, in step S516, the packet processing execution unit 136 notifies the packet buffer unit 132 that the packet processing for the fragment head packet F220 has been completed, and the buffer area corresponding to the fragment head packet F220 stored in the packet buffer unit 132 Is released.

(フラグメント先頭パケットの後にフラグメント後続パケットを受信)
次に、図8、図9、図12Aおよび図12B、および図13A〜図13Dを参照しながら、フラグメントされたパケットの中で、フラグメント後続パケットを最初に受信し、その後フラグメント先頭パケットを受信した場合に、本実施形態にかかる受信パケット処理部で行われる処理を説明する。図8は、フラグメント後続パケットを最初に受信した場合のフラグメント後続パケットに対する処理を示したフローチャートである。図9は、フラグメント後続パケットを最初に受信した場合のフラグメント先頭パケットに対する処理を示したフローチャートである。
(Receive fragment subsequent packet after fragment first packet)
Next, referring to FIG. 8, FIG. 9, FIG. 12A and FIG. 12B, and FIG. 13A to FIG. 13D, among the fragmented packets, the fragment subsequent packet was received first, and then the fragment head packet was received. In this case, processing performed by the received packet processing unit according to the present embodiment will be described. FIG. 8 is a flowchart showing a process for a fragment subsequent packet when the fragment subsequent packet is received first. FIG. 9 is a flowchart showing processing for a fragment head packet when a fragment subsequent packet is first received.

図12Aおよび図12Bは、フラグメント後続パケットを最初に受信した場合のフラグメント後続パケットに対する処理に伴うCAM140の各テーブルのデータ構成を示している。図12Aは、フラグメント識別子エントリのデータ構成の一例を示した図表である。図12Bは、受信済後続パケットエントリのデータ構成の一例を示した図表である。   FIG. 12A and FIG. 12B show the data structure of each table of the CAM 140 that accompanies the processing for the fragment subsequent packet when the fragment subsequent packet is received first. FIG. 12A is a chart showing an example of the data structure of the fragment identifier entry. FIG. 12B is a chart showing an example of the data configuration of the received subsequent packet entry.

図13A〜図13Dは、フラグメント後続パケットを最初に受信した場合のフラグメント先頭パケットに対する処理に伴うCAM140の各テーブルのデータ構成を示している。
図13Aは、パケット識別子エントリのデータ構成の一例を示した図表である。図13Bは、フラグメント識別子エントリのデータ構成の一例を示した図表である。図13Cは、後続パケットエントリテーブルのデータ構成の一例を示した図表である。図13Dは、受信済後続パケットエントリのデータ構成の一例を示した図表である。以下の説明では、後続フラグメント識別子としてMAC2、IP2、およびID2を有するフラグメント後続パケット(以下、フラグメントパケットF240と称す)が最初に受信されるとして説明する。その後に、パケット識別子としてMAC2、IP2、UP2を有し、かつ、先頭フラグメント識別子としてMAC2、IP2、ID2を有するフラグメント先頭パケット(以下、フラグメントパケットF245と称す)が受信されるとして説明する。
13A to 13D show the data structure of each table of the CAM 140 that accompanies the processing for the fragment head packet when the fragment subsequent packet is received first.
FIG. 13A is a chart showing an example of the data structure of the packet identifier entry. FIG. 13B is a chart showing an example of the data structure of the fragment identifier entry. FIG. 13C is a chart showing an example of the data configuration of the subsequent packet entry table. FIG. 13D is a table showing an example of the data configuration of the received subsequent packet entry. In the following description, it is assumed that a fragment subsequent packet (hereinafter referred to as a fragment packet F240) having MAC2, IP2, and ID2 as subsequent fragment identifiers is received first. After that, it is assumed that a fragment head packet (hereinafter referred to as fragment packet F245) having MAC2, IP2, UP2 as packet identifiers and having MAC2, IP2, ID2 as head fragment identifiers is received.

(最初に受信されたフラグメント後続パケットに対する処理)
まず、図8、および図12Aおよび図12Bを参照ながら、最初に受信されたフラグメント後続パケットに対する処理を説明する。パケット処理装置100の物理媒体(ポート1)110A〜物理媒体(ポートN)110Nの各ポートで受信された信号は、物理終端部120で処理が行われ、処理が行われた結果のパケットが受信パケット処理部130で受信される。
(Process for the first fragment subsequent packet received)
First, the processing for the fragment subsequent packet received first will be described with reference to FIG. 8 and FIGS. 12A and 12B. Signals received at the physical medium (port 1) 110A to physical medium (port N) 110N ports of the packet processing apparatus 100 are processed by the physical termination unit 120, and packets resulting from the processing are received. Received by the packet processing unit 130.

受信パケット処理部130でパケットが受信されると、ステップS602で、受信されたフラグメント後続パケットF240は、パケットバッファ部132に格納される。次いで、ステップS604で、識別子抽出部134は、ステップS602で格納されたフラグメント後続パケットF240から複数の識別子を抽出する。   When the received packet processing unit 130 receives a packet, the received fragment subsequent packet F240 is stored in the packet buffer unit 132 in step S602. Next, in step S604, the identifier extraction unit 134 extracts a plurality of identifiers from the fragment subsequent packet F240 stored in step S602.

さらに、ステップS606で、後続フラグメント処理決定部308は、ステップS604で抽出された複数の識別子の組み合わせである後続フラグメント識別子に基づき、フラグメント識別子エントリ144を検索する。フラグメント後続パケットであるフラグメントパケットF240は、フラグメント先頭パケットであるフラグメントパケットF245より先に受信されたので、フラグメント識別子エントリ144には、フラグメントパケットF245の先頭フラグメント識別子は登録されていない。そのため、検索はヒットしない。   Further, in step S606, the subsequent fragment processing determination unit 308 searches the fragment identifier entry 144 based on the subsequent fragment identifier that is a combination of the plurality of identifiers extracted in step S604. Since the fragment packet F240, which is a fragment subsequent packet, was received before the fragment packet F245, which is the fragment head packet, the head fragment identifier of the fragment packet F245 is not registered in the fragment identifier entry 144. Therefore, the search does not hit.

その後、ステップS608で、後続フラグメント識別子登録部310は、ステップS604で抽出された後続フラグメント識別子を受信済後続パケットエントリ148に登録する。ここで、フラグメント後続パケットであるフラグメントパケットF240は、パケット処理が行われていないため、パケットバッファ部132に保持されている。   Thereafter, in step S608, the subsequent fragment identifier registration unit 310 registers the subsequent fragment identifier extracted in step S604 in the received subsequent packet entry 148. Here, the fragment packet F240, which is a fragment subsequent packet, is held in the packet buffer unit 132 because packet processing is not performed.

(フラグメント後続パケットの後に受信されたフラグメント先頭パケットに対する処理)
次に、図8、および図12Aおよび図12Bを参照して説明されたフラグメント後続パケットであるフラグメントパケットF240の後に受信されたフラグメント先頭パケットに対する処理を説明する。以下では、図9、図13A〜図13Dを参照しながら説明を行う。パケット処理装置100の物理媒体(ポート1)110A〜物理媒体(ポートN)110Nの各ポートで受信された信号は、物理終端部120で処理が行われ、処理が行われた結果のパケットが受信パケット処理部130で受信される。
(Processing for fragment head packet received after fragment subsequent packet)
Next, a process for the fragment head packet received after the fragment packet F240 which is the fragment subsequent packet described with reference to FIG. 8 and FIGS. 12A and 12B will be described. Hereinafter, description will be made with reference to FIGS. 9 and 13A to 13D. Signals received at the physical medium (port 1) 110A to physical medium (port N) 110N ports of the packet processing apparatus 100 are processed by the physical termination unit 120, and packets resulting from the processing are received. Received by the packet processing unit 130.

受信パケット処理部130でパケットが受信されると、ステップS702で、受信されたフラグメント先頭パケットF245は、パケットバッファ部132に格納される。次いで、ステップS704で、識別子抽出部134は、ステップS702で格納されたフラグメント先頭パケットF245から複数の識別子を抽出する。さらに、ステップS706で、先頭フラグメント処理決定部302は、ステップS704で抽出されたパケット識別子に基づき、パケット識別子エントリ142を検索する。   When the received packet processing unit 130 receives the packet, the received fragment head packet F245 is stored in the packet buffer unit 132 in step S702. Next, in step S704, the identifier extraction unit 134 extracts a plurality of identifiers from the fragment head packet F245 stored in step S702. In step S706, the head fragment processing determination unit 302 searches for the packet identifier entry 142 based on the packet identifier extracted in step S704.

図13Aの例では、検索の結果、パケット識別子は、パケット識別子エントリ142のエントリ番号PE(2)に登録された識別子と一致する(ヒットする)ので、ステップS708で、先頭フラグメント処理決定部302は、パケット識別子のエントリ番号PE(2)を取得する。   In the example of FIG. 13A, as a result of the search, the packet identifier matches (hits) the identifier registered in the entry number PE (2) of the packet identifier entry 142, so in step S708, the head fragment processing determination unit 302 The packet identifier entry number PE (2) is acquired.

次いで、ステップS710で、先頭フラグメント処理決定部302は、ステップS708で取得したパケット識別子エントリのエントリ番号PE(2)をパケット処理実行部136に通知する。パケット処理実行部136は、フラグメント先頭パケットF245に対して、通知されたパケット識別子エントリのエントリ番号PE(2)に基づくパケット処理を行う。その後、ステップS712で、パケット処理実行部136は、フラグメント先頭パケットF245に対するパケット処理が完了したことをパケットバッファ部132に通知し、パケットバッファ部132に格納されたフラグメント先頭パケットF245に対応するバッファ領域が解放される。   Next, in step S710, the head fragment processing determination unit 302 notifies the packet processing execution unit 136 of the entry number PE (2) of the packet identifier entry acquired in step S708. The packet processing execution unit 136 performs packet processing on the fragment head packet F245 based on the entry number PE (2) of the notified packet identifier entry. Thereafter, in step S712, the packet processing execution unit 136 notifies the packet buffer unit 132 that the packet processing for the fragment head packet F245 has been completed, and the buffer area corresponding to the fragment head packet F245 stored in the packet buffer unit 132 Is released.

次いで、ステップS714で、先頭フラグメント識別子登録部304は、ステップS704で抽出された先頭フラグメント識別子をフラグメント識別子エントリ144に登録する。図13Bの例では、先頭フラグメント識別子は、エントリ番号FE(2)に登録される。   Next, in step S714, the head fragment identifier registration unit 304 registers the head fragment identifier extracted in step S704 in the fragment identifier entry 144. In the example of FIG. 13B, the head fragment identifier is registered in the entry number FE (2).

さらに、ステップS716で、関連付け部306は、後続パケットエントリテーブルの、ステップS714で先頭フラグメント識別子を登録したエントリ番号FE(2)と一致するアドレスに、ステップS708で取得したエントリ番号PE(2)をデータとして登録する。これによって、フラグメントパケットF245以降に受信されるフラグメント後続パケットは、図7、および図11Aおよび図11Bを参照して説明された手順に従って、パケット処理が行われることが可能となる。   In step S716, the associating unit 306 adds the entry number PE (2) acquired in step S708 to the address that matches the entry number FE (2) in which the head fragment identifier is registered in step S714 in the subsequent packet entry table. Register as data. Accordingly, the subsequent packet received after the fragment packet F245 can be subjected to packet processing according to the procedure described with reference to FIG. 7, FIG. 11A, and FIG. 11B.

その後、ステップS718で、後続フラグメント識別子検索部312は、受信済後続パケットエントリ148を検索する。フラグメント先頭パケットF245は、フラグメント後続パケットF240の後に受信されたので、受信済後続パケットエントリ148には、既に受信されたフラグメント後続パケットF240の後続フラグメント識別子が登録されている。そのため、検索はヒットし、ステップS720で、後続フラグメント識別子検索部312は、ステップS608で登録されたフラグメント後続パケットF240の後続フラグメント識別子を取得する。これにより、既にフラグメント後続パケットF240が受信されていることが後続フラグメント処理決定部308で認識される。   Thereafter, in step S718, the subsequent fragment identifier search unit 312 searches for the received subsequent packet entry 148. Since the fragment head packet F245 was received after the fragment subsequent packet F240, the subsequent fragment identifier of the fragment subsequent packet F240 that has already been received is registered in the received subsequent packet entry 148. Therefore, the search is a hit, and in step S720, the subsequent fragment identifier search unit 312 acquires the subsequent fragment identifier of the fragment subsequent packet F240 registered in step S608. As a result, the subsequent fragment processing determining unit 308 recognizes that the fragment subsequent packet F240 has already been received.

その後、ステップS722では、ステップS718で取得された後続フラグメント識別子に基づき、パケットバッファ部132に保持されていたフラグメント後続パケットF240に対してパケット処理が行われる。ステップS722では、図7に示されたステップS506〜ステップS516に従って、フラグメント後続パケットF240に対するパケット処理が行われる。これにより、フラグメント後続パケットF240は、ステップS708で取得したパケット識別子エントリのエントリ番号PE(2)と同じエントリ番号を取得できる。そのため、パケット処理実行部136は、フラグメント後続パケットF240に対して、フラグメント先頭パケットF245に対して行われたパケット処理と同じパケット処理を行うことができる。   Thereafter, in step S722, packet processing is performed on the fragment subsequent packet F240 held in the packet buffer unit 132 based on the subsequent fragment identifier acquired in step S718. In step S722, packet processing for the fragment subsequent packet F240 is performed according to steps S506 to S516 shown in FIG. Thereby, the fragment subsequent packet F240 can acquire the same entry number as the entry number PE (2) of the packet identifier entry acquired in step S708. Therefore, the packet processing execution unit 136 can perform the same packet processing on the fragment subsequent packet F240 as the packet processing performed on the fragment head packet F245.

以上説明したように、ネットワークの中継機器等のパケット処理装置において、通過するフラグメントパケットに対して、フラグメントされる前のパケット全体についてIPより上位のプロトコルに従って処理を行う場合、フラグメントパケットからフラグメントされる前のパケットを再構成する必要がない。そのため、パケットを再構成するために、フラグメント化された全てのフラグメントパケットをバッファメモリに格納する必要がない。また、フラグメント先頭パケット、および、フラグメント先頭パケットより後に到着するフラグメント後続パケットは、受信された後すぐにパケット処理され、フラグメントパケットを格納していたバッファは、すぐに解放される。そのためバッファメモリ量を削減でき、装置コストも抑えることが可能となる。   As described above, in a packet processing device such as a network relay device, when a fragment packet that passes through is processed according to a protocol higher than IP for the entire packet before being fragmented, the fragment packet is fragmented. There is no need to reassemble previous packets. Therefore, it is not necessary to store all fragmented fragment packets in the buffer memory in order to reconstruct the packet. Further, the fragment head packet and the fragment subsequent packet that arrives after the fragment head packet are processed immediately after being received, and the buffer storing the fragment packet is released immediately. Therefore, the amount of buffer memory can be reduced, and the device cost can be reduced.

以下で、一例として、フラグメントされる前のパケットサイズが最大10キロバイトのパケットを同時に10パケット処理したい場合について、従来と本実施形態とで必要とされるバッファメモリ量を比較する。10キロバイトのパケットは、1キロバイトのフラグメントパケットにフラグメントされてネットワーク上で送信されているとする。   Hereinafter, as an example, when it is desired to simultaneously process 10 packets having a maximum packet size of 10 kilobytes before being fragmented, the buffer memory amounts required in the prior art and this embodiment are compared. Assume that a 10 kilobyte packet is fragmented into 1 kilobyte fragment packets and transmitted over the network.

従来のように、全てのフラグメントパケットに対して再構成してパケット処理を行う場合に必要とされるバッファメモリ量は、以下のとおりである。   The amount of buffer memory required when packet processing is performed by reconfiguring all fragment packets as in the prior art is as follows.

Figure 0005092842
Figure 0005092842

一方、本実施形態にかかるパケット処理装置では、フラグメントされ本装置には先頭パケットから順に到着する場合には、フラグメントパケットは到着後直ぐに処理される。そのため、必要とされるバッファメモリ量は、1パケットあたり1フラグメントパケットサイズとなる。そのため、同時に10パケット処理したい場合に必要とされるバッファメモリ量は、以下のとおりである。   On the other hand, in the packet processing apparatus according to the present embodiment, when fragmented and arrive at the apparatus in order from the first packet, the fragment packet is processed immediately after arrival. Therefore, the required buffer memory amount is one fragment packet size per packet. Therefore, the amount of buffer memory required when processing 10 packets simultaneously is as follows.

Figure 0005092842
Figure 0005092842

このように、前述された例の場合、本実施形態にかかるパケット処理装置100で必要とされるバッファメモリ量は、従来の1/10に低減することが可能である。   Thus, in the case of the example described above, the amount of buffer memory required in the packet processing apparatus 100 according to the present embodiment can be reduced to 1/10 of the conventional amount.

さらに、前述されたように、本実施形態にかかるパケット処理装置100は、フラグメントパケットを受信された後すぐにパケット処理するので、パケットがバッファ内に格納される時間が短い。そのため、パケットがパケット処理装置100をすることにより発生するレイテンシを抑制することができる。   Furthermore, as described above, since the packet processing apparatus 100 according to the present embodiment processes a packet immediately after receiving a fragment packet, the time for which the packet is stored in the buffer is short. Therefore, it is possible to suppress the latency that occurs when the packet is transmitted to the packet processing apparatus 100.

以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。   The preferred embodiments of the present invention have been described in detail above with reference to the accompanying drawings, but the present invention is not limited to such examples. It is obvious that a person having ordinary knowledge in the technical field to which the present invention pertains can come up with various changes or modifications within the scope of the technical idea described in the claims. Of course, it is understood that these also belong to the technical scope of the present invention.

本実施形態では、フラグメントパケットを識別するためのフラグメント識別子を構成する要素として、MACヘッダから抽出されるMACアドレス等の識別子の組合せデータと、IPヘッダから抽出されるIPアドレス等の識別子の組合せデータと、フラグメントID(ID)を使用しているが、フラグメント識別子の構成はこれに限定されるものではない。例えば、MACヘッダから抽出される識別子の組合せデータが使用されなくてもよい。また、例えば、MFやオフセット等の他の識別子が使用されてもよい。   In this embodiment, as elements constituting a fragment identifier for identifying a fragment packet, combination data of an identifier such as a MAC address extracted from the MAC header and combination data of an identifier such as an IP address extracted from the IP header The fragment ID (ID) is used, but the configuration of the fragment identifier is not limited to this. For example, identifier combination data extracted from the MAC header may not be used. Further, for example, other identifiers such as MF and offset may be used.

本発明の第1の実施形態にかかるパケット処理装置を利用した通信システムの一例を示すシステム構成図である。1 is a system configuration diagram illustrating an example of a communication system using a packet processing device according to a first embodiment of the present invention. パケットのフラグメントの一例を示す説明図である。It is explanatory drawing which shows an example of the fragment of a packet. 本発明の第1の実施形態にかかるパケット処理装置の機能ブロック図である。It is a functional block diagram of the packet processing apparatus concerning the 1st Embodiment of this invention. 本発明の第1の実施形態にかかる受信パケット処理部の機能ブロック図である。FIG. 3 is a functional block diagram of a received packet processing unit according to the first embodiment of the present invention. フラグメントパケットから抽出される識別子の一例を示す図表である。It is a chart which shows an example of the identifier extracted from a fragment packet. フラグメント先頭パケットに対する処理を示すフローチャートである。It is a flowchart which shows the process with respect to a fragment head packet. フラグメント後続パケットに対する処理を示すフローチャートである。It is a flowchart which shows the process with respect to a fragment subsequent packet. フラグメント後続パケットに対する処理を示すフローチャートである。It is a flowchart which shows the process with respect to a fragment subsequent packet. フラグメント先頭パケットに対する処理を示すフローチャートである。It is a flowchart which shows the process with respect to a fragment head packet. パケット識別子エントリのデータ構成の一例を示した図表である。It is the table | surface which showed an example of the data structure of a packet identifier entry. フラグメント識別子エントリのデータ構成の一例を示した図表である。It is the table | surface which showed an example of the data structure of a fragment identifier entry. 後続パケットエントリテーブルのデータ構成の一例を示した図表である。It is the table | surface which showed an example of the data structure of a subsequent packet entry table. 受信済後続パケットエントリのデータ構成の一例を示した図表である。It is the table | surface which showed an example of the data structure of the received subsequent packet entry. フラグメント識別子エントリのデータ構成の一例を示した図表である。It is the table | surface which showed an example of the data structure of a fragment identifier entry. 後続パケットエントリテーブルのデータ構成の一例を示した図表である。It is the table | surface which showed an example of the data structure of a subsequent packet entry table. フラグメント識別子エントリのデータ構成の一例を示した図表である。It is the table | surface which showed an example of the data structure of a fragment identifier entry. 受信済後続パケットエントリのデータ構成の一例を示した図表である。It is the table | surface which showed an example of the data structure of the received subsequent packet entry. パケット識別子エントリのデータ構成の一例を示した図表である。It is the table | surface which showed an example of the data structure of a packet identifier entry. フラグメント識別子エントリのデータ構成の一例を示した図表である。It is the table | surface which showed an example of the data structure of a fragment identifier entry. 後続パケットエントリテーブルのデータ構成の一例を示した図表である。It is the table | surface which showed an example of the data structure of a subsequent packet entry table. 受信済後続パケットエントリのデータ構成の一例を示した図表である。It is the table | surface which showed an example of the data structure of the received subsequent packet entry.

符号の説明Explanation of symbols

100 パケット処理装置
130 受信パケット処理部
132 パケットバッファ部
134 識別子抽出部
136 パケット処理実行部
140 CAM
300 検索管理部
302 先頭フラグメント処理決定部
304 先頭フラグメント識別子登録部
306 関連付け部
308 後続フラグメント処理決定部
310 後続フラグメント識別子登録部
312 後続フラグメント識別子検索部
DESCRIPTION OF SYMBOLS 100 Packet processing apparatus 130 Reception packet processing part 132 Packet buffer part 134 Identifier extraction part 136 Packet processing execution part 140 CAM
DESCRIPTION OF SYMBOLS 300 Search management part 302 First fragment process determination part 304 First fragment identifier registration part 306 Association part 308 Subsequent fragment process determination part 310 Subsequent fragment identifier registration part 312 Subsequent fragment identifier search part

Claims (7)

フラグメントパケットのうちフラグメント先頭パケットから、フラグメント化されたレイヤーより下位レイヤーのヘッダの情報と前記フラグメント化されたレイヤーより上位レイヤーのヘッダの情報を含む識別子の組み合わせであるパケット識別子と、前記下位レイヤーのヘッダの情報を含み前記上位レイヤーのヘッダの情報を含まない識別子の組み合わせである先頭フラグメント識別子とを抽出し、前記フラグメントパケットのうちフラグメント後続パケットから、前記下位レイヤーのヘッダの情報を含み前記上位レイヤーのヘッダの情報を含まない識別子の組み合わせである後続フラグメント識別子を抽出する識別子抽出部と、
前記識別子抽出部で抽出されたパケット識別子、および、先頭および後続フラグメント識別子を格納する記憶部と、
前記記憶部に格納されたパケット識別子、および、先頭および後続フラグメント識別子に基づいて、前記フラグメントパケットに対して、前記上位レイヤーのプロトコルに従うパケット処理を決定する検索管理部と、
を備えることを特徴とする、パケット処理装置。
From fragments leading packet among the fragmented packets, and a packet identifier is a combination of identifiers including the information in the header of the fragmented upper layer than the fragmented layer information of the header of the lower layer from the layer, the lower layer A first fragment identifier, which is a combination of identifiers including the header information of the upper layer and not including the header information of the higher layer, and including the header information of the lower layer from the fragment subsequent packet of the fragment packets. An identifier extraction unit that extracts a subsequent fragment identifier that is a combination of identifiers not including layer header information;
A storage unit that stores the packet identifier extracted by the identifier extraction unit, and the head and subsequent fragment identifiers;
The stored packet identifier in the storage unit, and the head and on the basis of the subsequent fragment identifier, with respect to the fragment packet, the search management unit for determining a packet processing according to the higher layer protocol,
A packet processing apparatus comprising:
前記検索管理部は、
前記パケット識別子に基づいて前記記憶部を検索して前記フラグメント先頭パケットに対するパケット処理を決定する先頭フラグメント処理決定部と、
前記フラグメント先頭パケットから抽出された先頭フラグメント識別子を前記記憶部に登録する先頭フラグメント識別子登録部と、
前記先頭フラグメント識別子登録部で登録された先頭フラグメント識別子と、前記先頭フラグメント処理決定部で決定されたパケット処理と、を関連付ける関連付け部と、
前記フラグメント後続パケットから抽出された後続フラグメント識別子を前記記憶部に登録する後続フラグメント識別子登録部と、
前記先頭フラグメント識別子に基づいて、前記後続フラグメント識別子登録部で登録された後続フラグメント識別子を検索する後続フラグメント識別子検索部と、
前記関連付け部によって関連付けられた情報に基づいて、前記フラグメント後続パケットに対するパケット処理を決定する後続フラグメント処理決定部と、
を備えることを特徴とする、請求項1に記載のパケット処理装置。
The search management unit
A leading fragment processing determining unit that searches the storage unit based on the packet identifier to determine packet processing for the fragment leading packet;
A leading fragment identifier registration unit for registering a leading fragment identifier extracted from the fragment leading packet in the storage unit;
An associating unit for associating the first fragment identifier registered in the first fragment identifier registering unit with the packet processing determined by the first fragment processing determining unit;
A subsequent fragment identifier registration unit for registering a subsequent fragment identifier extracted from the fragment subsequent packet in the storage unit;
A subsequent fragment identifier search unit for searching for a subsequent fragment identifier registered in the subsequent fragment identifier registration unit based on the head fragment identifier;
A subsequent fragment processing determining unit that determines packet processing for the fragment subsequent packet based on the information associated by the associating unit;
The packet processing device according to claim 1, comprising:
前記後続フラグメント処理決定部は、前記関連付け部によって関連付けられた情報に基づいて、前記後続フラグメント識別子検索部によりヒットした後続フラグメント識別子の前記フラグメント後続パケットに対するパケット処理を決定することを特徴とする、請求項2に記載のパケット処理装置。   The subsequent fragment processing determining unit determines packet processing for the fragment subsequent packet of the subsequent fragment identifier hit by the subsequent fragment identifier search unit based on the information associated by the associating unit. Item 3. The packet processing device according to Item 2. さらに、前記検索管理部で決定された前記パケット処理情報に基づいて、前記フラグメント先頭パケットおよび前記フラグメント後続パケットに対してそれぞれ決定されたパケット処理をするパケット処理実行部を備えることを特徴とする、請求項1に記載のパケット処理装置。 Furthermore, on the basis of the search information of the packet processing determined by the management unit, characterized in that it comprises a packet processing execution unit for the determined packet processing respectively the fragment head packet and the fragment subsequent packets The packet processing device according to claim 1. 前記フラグメント先頭パケットが前記フラグメント後続パケットより先に受信された場合、
前記後続フラグメント処理決定部は、前記後続フラグメント識別子に対応する、前記記憶部に登録された先頭フラグメント識別子を検出し、前記記憶部に関連付けて記憶された前記検出された先頭フラグメント識別子とパケット処理とに基づき、前記後続フラグメント識別子のフラグメント後続パケットに対するパケット処理を決定することを特徴とする、請求項2に記載のパケット処理装置。
When the fragment head packet is received before the fragment succeeding packet,
The subsequent fragment processing determining unit detects a leading fragment identifier registered in the storage unit corresponding to the subsequent fragment identifier, and the detected leading fragment identifier and packet processing stored in association with the storage unit; The packet processing apparatus according to claim 2, wherein packet processing for the fragment subsequent packet of the subsequent fragment identifier is determined based on the packet.
前記フラグメント後続パケットが前記フラグメント先頭パケットより先に受信された場合、
前記後続フラグメント識別子登録部は、前記フラグメント後続パケットの後続フラグメント識別子を前記記憶部に登録し、
前記後続フラグメント処理決定部は、前記フラグメント先頭パケットが受信された時に、前記フラグメント先頭パケットから抽出された先頭フラグメント識別子に基づいて、前記記憶部に登録された前記後続フラグメント識別子を検索することによって、当該フラグメント後続パケットに対するパケット処理を決定することを特徴とする、請求項2に記載のパケット処理装置。
When the fragment subsequent packet is received before the fragment head packet,
The subsequent fragment identifier registration unit registers the subsequent fragment identifier of the fragment subsequent packet in the storage unit,
The subsequent fragment processing determination unit searches the subsequent fragment identifier registered in the storage unit based on a head fragment identifier extracted from the fragment head packet when the fragment head packet is received, 3. The packet processing device according to claim 2, wherein packet processing for the fragment subsequent packet is determined.
受信されたフラグメントパケットのうちフラグメント先頭パケットから、フラグメント化されたレイヤーより下位レイヤーのヘッダの情報と前記フラグメント化されたレイヤーより上位レイヤーのヘッダの情報を含む識別子の組み合わせであるパケット識別子と、前記下位レイヤーのヘッダの情報を含み前記上位レイヤーのヘッダの情報を含まない識別子の組み合わせである先頭フラグメント識別子とを抽出し、前記フラグメントパケットうちフラグメント後続パケットから、前記下位レイヤーのヘッダの情報を含み前記上位レイヤーのヘッダの情報を含まない識別子の組み合わせである後続フラグメント識別子を抽出する識別子抽出ステップと、
記抽出されたパケット識別子、および、先頭および後続フラグメント識別子を格納する記憶ステップと、
前記格納されたパケット識別子、および、先頭および後続フラグメント識別子に基づいて、前記フラグメントパケットに対して、前記上位レイヤーのプロトコルに従うパケット処理を決定するパケット処理決定ステップと、
から構成されることを特徴とする、パケット処理方法。
From fragments leading packet among the received fragment packets, a packet identifier is a combination of identifiers including the information in the header of the fragmented upper layer than the fragmented layer information of the header of the lower layer from the layer, the includes information in the header of the lower layer was extracted with head fragment identifier is a combination of identifiers does not include the information in the header of the upper layer, from the fragment subsequent packets of the fragmented packets, the information in the header of the lower layer An identifier extraction step for extracting a subsequent fragment identifier that is a combination of identifiers that does not include the header information of the upper layer ,
Before Ki抽 out packet identifier, and a storage step of storing the leading and trailing fragment identifier,
The stored packet identifier, and, based on the leading and trailing fragment identifier, with respect to the fragment packet, the packet processing determining step of determining a packet processing according to the protocol of the upper layer,
A packet processing method comprising:
JP2008083999A 2008-03-27 2008-03-27 Packet processing apparatus and packet processing method Active JP5092842B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008083999A JP5092842B2 (en) 2008-03-27 2008-03-27 Packet processing apparatus and packet processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008083999A JP5092842B2 (en) 2008-03-27 2008-03-27 Packet processing apparatus and packet processing method

Publications (2)

Publication Number Publication Date
JP2009239685A JP2009239685A (en) 2009-10-15
JP5092842B2 true JP5092842B2 (en) 2012-12-05

Family

ID=41253098

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008083999A Active JP5092842B2 (en) 2008-03-27 2008-03-27 Packet processing apparatus and packet processing method

Country Status (1)

Country Link
JP (1) JP5092842B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016098342A1 (en) * 2014-12-19 2016-06-23 日本電気株式会社 Filtering apparatus, method and recording medium

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3824903B2 (en) * 2001-10-15 2006-09-20 古河電気工業株式会社 Data relay method and apparatus
JP2003143208A (en) * 2001-11-06 2003-05-16 Furukawa Electric Co Ltd:The Method and apparatus for relaying data
JP3851256B2 (en) * 2002-10-25 2006-11-29 日本電信電話株式会社 Packet transmitter
JP2005101690A (en) * 2003-09-22 2005-04-14 Anritsu Corp Repeating device and repeating method
JP4263715B2 (en) * 2005-10-26 2009-05-13 日本電信電話株式会社 Communication processing circuit and communication processing method

Also Published As

Publication number Publication date
JP2009239685A (en) 2009-10-15

Similar Documents

Publication Publication Date Title
KR101574167B1 (en) Network system and method of controlling path
US7260631B1 (en) System and method for receiving iSCSI protocol data units
JP4038223B2 (en) Packet transfer method and apparatus
US5978378A (en) Method and apparatus for VLAN support
KR101215208B1 (en) Outbound transmission of packet based on routing search key constructed from packet destination address and outbound interface
US20090031054A1 (en) Data processing apparatus and data transfer method
US20090238209A1 (en) Method for transmitting fragmented packets, communication system, and tunnel equipment
JP2009510815A (en) Method and system for reassembling packets before search
US20160226817A1 (en) Apparatus and method for creating block-type structure using sketch-based user interaction
US9998373B2 (en) Data routing acceleration
US8477777B2 (en) Bridge apparatus and communication method
US9866639B2 (en) Communication apparatus, information processor, communication method, and computer-readable storage medium
CN110505621B (en) Terminal migration processing method and device
US7373412B2 (en) Apparatus for selecting and sorting packets from a packet data transmission network
US20040184455A1 (en) System and method used by a gateway for processing fragmented IP packets from a private network
US8547998B2 (en) Tunneling IPv6 packet through IPv4 network using a tunnel entry based on IPv6 prefix and tunneling IPv4 packet using a tunnel entry based on IPv4 prefix
US20110149776A1 (en) Network interface card device and method of processing traffic using the network interface card device
JP4263718B2 (en) Communication processing apparatus and communication processing method
JP5092842B2 (en) Packet processing apparatus and packet processing method
US10185783B2 (en) Data processing device, data processing method, and non-transitory computer readable medium
JP2010233063A (en) Packet processor, and packet processing method
CN116095197B (en) Data transmission method and related device
TWI281804B (en) Packet forwarding method and system
US9030950B2 (en) Communication apparatus, processing method for the same, and computer-readable storage medium
JP2009071423A (en) Network adapter

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101116

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120313

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120509

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120821

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120903

R150 Certificate of patent or registration of utility model

Ref document number: 5092842

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150928

Year of fee payment: 3