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

Packet processing apparatus and packet processing method Download PDF

Info

Publication number
JP2017208654A
JP2017208654A JP2016098878A JP2016098878A JP2017208654A JP 2017208654 A JP2017208654 A JP 2017208654A JP 2016098878 A JP2016098878 A JP 2016098878A JP 2016098878 A JP2016098878 A JP 2016098878A JP 2017208654 A JP2017208654 A JP 2017208654A
Authority
JP
Japan
Prior art keywords
packet
input
unit
processing
dummy
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.)
Pending
Application number
JP2016098878A
Other languages
Japanese (ja)
Inventor
利郁 横山
Toshiiku Yokoyama
利郁 横山
高一郎 中山
Koichiro Nakayama
高一郎 中山
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2016098878A priority Critical patent/JP2017208654A/en
Publication of JP2017208654A publication Critical patent/JP2017208654A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Communication Control (AREA)
  • Power Sources (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

PROBLEM TO BE SOLVED: To avoid voltage drop due to sudden change of load occurring in a packet processing unit when receiving packets intensively, while suppressing power consumption, or to avoid occurrence of packet loss due to impact of voltage drop, or the like.SOLUTION: A packet processing apparatus includes an input packet detector 203 for receiving input of a packet from an input port, and detecting the timing at which input of a packet is received, a delay inserting unit 202 for delaying the packet by a prescribed time from the detection timing, a load packet generating unit 204 for generating a dummy packet (load packet) in the prescribed time, and a load packet multiplexing unit 205 for multiplexing the generated dummy packet and the above-mentioned packet. The packet processing apparatus further includes an interface unit 101 performing packet processing of a multiplex packet and sending to a next state packet processing unit, i.e., an ingres unit 102.SELECTED DRAWING: Figure 2

Description

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

昨今、伝送装置の高速化、高密度集積化に伴い、装置の主たる機能を実現するFPGA(Field−Programmable Gate Array)の消費電力が増加している。パケット処理装置において、パケットを受信し、受信したパケットをメモリに一時的に記憶させるパケット処理部は、複数のルートから同時にパケットを受信することにより、一時的に負荷が増大する場合がある。このような状態において、負荷急変が発生し、電圧が動作保証電圧を下回ってしまった場合に、パケットのエラーが発生し、当該パケットは廃棄されることになる。   In recent years, with the increase in the speed and the high density integration of transmission devices, the power consumption of field-programmable gate arrays (FPGAs) that realize the main functions of the devices is increasing. In the packet processing apparatus, a packet processing unit that receives a packet and temporarily stores the received packet in a memory may receive a packet from a plurality of routes at the same time, thereby temporarily increasing a load. In such a state, when a sudden load change occurs and the voltage falls below the guaranteed operating voltage, a packet error occurs and the packet is discarded.

先行技術として、このような問題に対して、第1に、パケットが入力されていない期間にダミーの回路を動作させることでパケット有無による負荷変動を安定させる技術がある(たとえば、下記特許文献1参照。)。また、第2に、パケットの受信を契機にして、出力電圧変動を抑制するため、電源の周波数を増大させる制御をおこない、電源の供給を追従させる技術がある(たとえば、下記特許文献2参照。)。   As a prior art, for such a problem, firstly, there is a technique for stabilizing a load variation due to the presence or absence of a packet by operating a dummy circuit during a period in which no packet is input (for example, Patent Document 1 below). reference.). Secondly, there is a technique for increasing the frequency of the power supply to follow the supply of power in order to suppress fluctuations in the output voltage triggered by reception of the packet (see, for example, Patent Document 2 below). ).

特開2008−72164号公報JP 2008-72164 A 国際公開第2009/078104号International Publication No. 2009/078104

しかしながら、上記第1の先行技術にあっては、パケット未入力の期間も常時ダミーデータによる電流消費が発生する仕組みになっており、パケット未入力の期間、消費する必要のない電流が消費されていることから、低消費電力化と負荷変動量安定の相反する要求を満たすことはできない。また、上記第2の先行技術にあっては、消費電力は抑制されるものの、電源電圧を制御の制御が複雑になるという問題点があった。   However, in the first prior art, current consumption due to dummy data is always generated even during a packet non-input period, and current that does not need to be consumed is consumed during a packet non-input period. Therefore, the conflicting demands for low power consumption and stable load fluctuation cannot be satisfied. Further, in the second prior art, although power consumption is suppressed, there is a problem that control of power supply voltage control is complicated.

一つの側面では、本発明は、消費電力を抑制しつつ、パケットの集中受信によって生じる負荷急変による電圧低下などの影響で発生するパケットのロスを回避することを目的とする。   In one aspect, an object of the present invention is to avoid packet loss caused by the influence of voltage drop due to sudden load change caused by concentrated reception of packets while suppressing power consumption.

本発明の一態様によれば、入力ポートからパケットの入力を受け付け、パケットの入力を受け付けたタイミングを検出し、検出したタイミングから所定時間だけパケットを遅延させ、所定時間においてダミーパケットを生成し、生成されたダミーパケットとパケットとを多重した多重パケットを次段のパケット処理部へ送るパケット処理装置およびパケット処理方法が提案される。   According to one aspect of the present invention, an input port receives a packet input, detects a timing at which the packet input is received, delays the packet by a predetermined time from the detected timing, generates a dummy packet at the predetermined time, A packet processing device and a packet processing method are proposed in which a multiplexed packet obtained by multiplexing a generated dummy packet and a packet is sent to a packet processing unit in the next stage.

本発明の一側面によれば、消費電力を抑制しつつ、パケットの集中受信によって生じる負荷急変による電圧低下などの影響で発生するパケットのロスを回避することができるという効果を奏する。   Advantageous Effects of Invention According to one aspect of the present invention, it is possible to avoid a packet loss that occurs due to an influence of a voltage drop due to a sudden load change caused by concentrated reception of packets while suppressing power consumption.

図1は、実施の形態1にかかるパケット処理装置のハードウエア構成の一例を示す説明図である。FIG. 1 is an explanatory diagram of an example of a hardware configuration of the packet processing device according to the first embodiment. 図2は、実施の形態1にかかるパケット処理装置の機能的構成の一例を示す説明図である。FIG. 2 is an explanatory diagram of an example of a functional configuration of the packet processing device according to the first embodiment. 図3Aは、入力パケット検出部の処理の手順を示すフローチャートである。FIG. 3A is a flowchart illustrating a processing procedure of the input packet detection unit. 図3Bは、負荷パケット生成・多重制御信号と入力パケットとの関係を示すタイムチャートである。FIG. 3B is a time chart showing the relationship between the load packet generation / multiplex control signal and the input packet. 図4は、負荷パケット多重タイミングと入力パケットとの関係を示すタイムチャートである。FIG. 4 is a time chart showing the relationship between load packet multiplexing timing and input packets. 図5は、主信号パケットと負荷パケットの構造の一例を示す説明図である。FIG. 5 is an explanatory diagram showing an example of the structure of the main signal packet and the load packet. 図6は、実施の形態2にかかるパケット処理装置のハードウエア構成の別の一例を示す説明図である。FIG. 6 is an explanatory diagram of another example of the hardware configuration of the packet processing device according to the second embodiment. 図7Aは、実施の形態2にかかるパケット処理装置内のパケット・フォーマットの内容の一例を示す説明図である。FIG. 7A is an explanatory diagram of an example of the contents of a packet format in the packet processing device according to the second embodiment. 図7Bは、実施の形態2にかかるパケット処理装置内のパケット・フォーマットの各フィールドの定義の内容を示す説明図である。FIG. 7B is an explanatory diagram of the contents of the definition of each field of the packet format in the packet processing apparatus according to the second embodiment. 図8Aは、実施の形態2にかかるパケット処理装置のインタフェース部の機能的構成の一例およびパケットの内容を示す説明図である。FIG. 8A is an explanatory diagram of an example of a functional configuration of the interface unit of the packet processing device according to the second embodiment and the contents of the packet. 図8Bは、実施の形態2にかかるパケット処理装置のインタフェース部の処理手順の一例を示すフローチャートである。FIG. 8B is a flowchart of an example of a processing procedure of the interface unit of the packet processing device according to the second embodiment. 図9Aは、実施の形態2にかかるパケット処理装置のイングレス部の機能的構成の一例およびパケットの内容を示す説明図である。FIG. 9A is an explanatory diagram of an example of a functional configuration of the ingress unit of the packet processing device according to the second embodiment and the contents of the packet. 図9Bは、実施の形態2にかかるパケット処理装置のイングレス部の処理手順の一例を示すフローチャートである。FIG. 9B is a flowchart illustrating an example of a processing procedure of the ingress unit of the packet processing device according to the second embodiment. 図10Aは、実施の形態2にかかるパケット処理装置のエグレス部の機能的構成の一例およびパケットの内容を示す説明図である。FIG. 10A is an explanatory diagram of an example of a functional configuration of the egress unit of the packet processing device according to the second embodiment and the contents of the packet. 図10Bは、実施の形態2にかかるパケット処理装置のエグレス部の処理手順の一例を示すフローチャートである。FIG. 10B is a flowchart illustrating an example of a processing procedure of the egress unit of the packet processing device according to the second embodiment. 図11Aは、実施の形態2にかかるパケット処理装置のインタフェース部の機能的構成の別の一例およびパケットの内容を示す説明図である。FIG. 11A is an explanatory diagram of another example of the functional configuration of the interface unit of the packet processing device according to the second embodiment and the contents of the packet. 図11Bは、実施の形態2にかかるパケット処理装置のインタフェース部の処理手順の別の一例を示すフローチャートである。FIG. 11B is a flowchart illustrating another example of the processing procedure of the interface unit of the packet processing apparatus according to the second embodiment. 図12は、実施の形態3にかかるパケット処理装置のハードウエア構成の別の一例を示す説明図である。FIG. 12 is an explanatory diagram of another example of the hardware configuration of the packet processing device according to the third embodiment. 図13は、実施の形態3にかかるパケット処理装置内のパケット・フォーマットの内容の別の一例を示す説明図である。FIG. 13 is an explanatory diagram of another example of the contents of the packet format in the packet processing device according to the third embodiment.

以下に添付図面を参照して、本発明にかかるパケット処理装置およびパケット処理方法の実施の形態を詳細に説明する。   Exemplary embodiments of a packet processing apparatus and a packet processing method according to the present invention are explained in detail below with reference to the accompanying drawings.

(実施の形態1) (Embodiment 1)

図1は、実施の形態1にかかるパケット処理装置のハードウエア構成の一例を示す説明図である。図1においては、パケット処理装置の具体的な一例である、FPGA(Field−Programmable Gate Array)で構成されるイーサネット(Ethernet(登録商標))ベースのパケット処理装置100の構成例を示す。   FIG. 1 is an explanatory diagram of an example of a hardware configuration of the packet processing device according to the first embodiment. FIG. 1 shows a configuration example of an Ethernet (registered trademark) -based packet processing device 100 configured with an FPGA (Field-Programmable Gate Array), which is a specific example of the packet processing device.

図1において、パケット処理装置100は、インタフェース部(FPGA#1)101と、イングレス部(FPGA#2)102と、エグレス部(FPGA#3)103と、を備える。インタフェース部(FPGA#1)101は、外部インタフェース・ポート(ポート#1〜ポート#n)とのパケット送受信をおこなう。イングレス部(FPGA#2)102は、外部インタフェース・ポートからパケット処理装置100への入力方向(Ingress)でのパケット処理をおこなう。エグレス部(FPGA#3)103は、パケット処理装置100から外部インタフェース・ポートへの出力方向(Egress)でのパケット処理をおこなう。   1, the packet processing apparatus 100 includes an interface unit (FPGA # 1) 101, an ingress unit (FPGA # 2) 102, and an egress unit (FPGA # 3) 103. The interface unit (FPGA # 1) 101 performs packet transmission / reception with external interface ports (port # 1 to port #n). The ingress unit (FPGA # 2) 102 performs packet processing in the input direction (Ingress) from the external interface port to the packet processing apparatus 100. The egress unit (FPGA # 3) 103 performs packet processing in the output direction (Egress) from the packet processing apparatus 100 to the external interface port.

外部インタフェース・ポートから入力されるユーザ・パケット(入力パケット)は、インタフェース部(FPGA#1)101で受信される。インタフェース部(FPGA#1)101では、入力パケットのフレーム正常性のチェックをおこない、エラーのないパケットのみを、後段のイングレス部(FPGA#2)102へ転送する。   A user packet (input packet) input from the external interface port is received by the interface unit (FPGA # 1) 101. The interface unit (FPGA # 1) 101 checks the frame normality of the input packet, and transfers only packets without error to the ingress unit (FPGA # 2) 102 at the subsequent stage.

イングレス部(FPGA#2)102では、パケットのヘッダー情報に基づいて、外部メモリ112などを使って入力帯域制御や宛先解決を実施し、当該宛先解決した情報を含めて、後段のエグレス部(FPGA#3)103へ転送する。   The ingress unit (FPGA # 2) 102 performs input bandwidth control and destination resolution using the external memory 112 or the like based on the header information of the packet, and includes an egress unit (FPGA) in the subsequent stage including information on the destination resolution. # 3) Transfer to 103.

エグレス部(FPGA#3)103では、受信したパケットのヘッダー情報に応じて、外部メモリ113などを使って出力帯域制御や複数の宛先へのパケット複製処理を実施して、後段のインタフェース部(FPGA#1)101へ転送する。そして、インタフェース部(FPGA#1)101では、受信したパケットを適切な外部インタフェース・ポートへ出力する。   The egress unit (FPGA # 3) 103 performs output bandwidth control and packet duplication processing to a plurality of destinations using the external memory 113 or the like according to the header information of the received packet, and the interface unit (FPGA) in the subsequent stage. # 1) Transfer to 101. The interface unit (FPGA # 1) 101 outputs the received packet to an appropriate external interface port.

また、パケット処理装置100は、パケット処理装置100内の各デバイスの監視制御をおこなうCPU150や、各デバイスへ必要となる電源を供給する電源部121、122、123などから構成される。   The packet processing apparatus 100 includes a CPU 150 that performs monitoring control of each device in the packet processing apparatus 100, and power supply units 121, 122, and 123 that supply necessary power to each device.

(パケット処理装置の機能的構成)
図2は、実施の形態1にかかるパケット処理装置の機能的構成の一例を示す説明図であり、図1に示したパケット処理装置のハードウエア構成の一例に対応する。図2において、パケットが入力される初段のインタフェース部(FPGA#1)101は、パケット入力多重部201と、遅延挿入部202と、入力パケット検出部203と、負荷パケット生成部204と、負荷パケット多重部205と、パケット処理部206と、を備えている。
(Functional configuration of packet processing device)
FIG. 2 is an explanatory diagram illustrating an example of a functional configuration of the packet processing device according to the first embodiment, and corresponds to an example of a hardware configuration of the packet processing device illustrated in FIG. 1. In FIG. 2, a first-stage interface unit (FPGA # 1) 101 to which a packet is input includes a packet input multiplexing unit 201, a delay insertion unit 202, an input packet detection unit 203, a load packet generation unit 204, and a load packet. A multiplexing unit 205 and a packet processing unit 206 are provided.

入力されたパケットは、パケット入力多重部201においてパケットの正常性のチェックをおこない、エラーパケットを廃棄し、正常なパケットを多重して後段に送信し、パケット処理部206によって次段のイングレス部(FPGA#2)102に渡される。   The input packet checks the normality of the packet in the packet input multiplexing unit 201, discards the error packet, multiplexes the normal packet and transmits it to the subsequent stage, and the packet processing unit 206 transmits the next ingress unit ( FPGA # 2) 102.

なお、図2に示した実施の形態1にかかるパケット処理装置の入力側の処理をおこなうインタフェース部(FPGA#1)101においては、パケット入力多重部201のほかに、後述する図8Aに示す実施の形態2にかかるパケット処理装置の第1インタフェース部(FPGA#1)601と同様に、入力パケット検査部、ヘッダー&FCS付与部を備えていてもよい。   In addition to the packet input multiplexing unit 201, the interface unit (FPGA # 1) 101 that performs processing on the input side of the packet processing device according to the first exemplary embodiment illustrated in FIG. Similarly to the first interface unit (FPGA # 1) 601 of the packet processing apparatus according to the second embodiment, an input packet inspection unit and a header & FCS adding unit may be provided.

そして、パケット入力多重部201とパケット処理部206との間に、新たな処理部(遅延挿入部202、入力パケット検出部203、負荷パケット生成部204、負荷パケット多重部205)を配置する。   Then, new processing units (a delay insertion unit 202, an input packet detection unit 203, a load packet generation unit 204, and a load packet multiplexing unit 205) are arranged between the packet input multiplexing unit 201 and the packet processing unit 206.

遅延挿入部202は、一定時間の間、主信号パケットを蓄積し、一定時間蓄積した後に、入力パケットを負荷パケット多重部205へ送信する。この一定時間、すなわち遅延時間は、負荷急変における電圧安定までの時間とするようにしてもよい。この一定時間は、自由に設定することが可能である。遅延挿入部202は、たとえば、図示を省略する、入力パケットを蓄積するメモリなどによってその機能を実現する。   The delay insertion unit 202 accumulates the main signal packet for a certain period of time, and transmits the input packet to the load packet multiplexing unit 205 after accumulating for a certain period of time. This fixed time, that is, the delay time, may be a time until voltage stabilization in a sudden load change. This fixed time can be set freely. The delay insertion unit 202 realizes its function by, for example, a memory that accumulates input packets (not shown).

入力パケット検出部203は、パケット入力多重部201において、エラーのない正常な入力パケットの入力を検出すると、当該入力パケットに対する負荷パケット多重タイミング(すなわち、負荷パケットの生成タイミングおよび多重タイミング)を生成し、負荷パケット多重タイミングに関する指示を、負荷パケット生成部204および負荷パケット多重部205へ通知する。入力パケット検出部203における処理の詳細については、図3Aおよび図3Bを用いて後述する。   When the packet input multiplexing unit 201 detects an input of a normal input packet with no error, the input packet detection unit 203 generates load packet multiplexing timing (that is, load packet generation timing and multiplexing timing) for the input packet. The load packet generation unit 204 and the load packet multiplexing unit 205 are notified of instructions regarding the load packet multiplexing timing. Details of processing in the input packet detection unit 203 will be described later with reference to FIGS. 3A and 3B.

負荷パケット生成部204は、入力パケット検出部203から指示されたタイミングで、負荷パケットを生成し、生成した負荷パケットを負荷パケット多重部205へ送信する。この負荷パケットには、後述する負荷パケット終端部209で負荷パケットを識別できるように、ヘッダー内に入力パケットと区別するための識別情報を有する。   The load packet generation unit 204 generates a load packet at a timing instructed by the input packet detection unit 203 and transmits the generated load packet to the load packet multiplexing unit 205. This load packet has identification information for distinguishing it from the input packet in the header so that the load packet termination unit 209 (to be described later) can identify the load packet.

負荷パケット多重部205は、遅延挿入部202から送信された主信号パケットと、負荷パケット生成部204から送信された負荷パケットとを、入力パケット検出部203から通知された指示に合わせて多重し、多重した主信号パケットと負荷パケットを、パケット処理部206へ送信する。パケット処理部206は、上述のように、多重した主信号パケットと負荷パケットを、次段のイングレス部(FPGA#2)102に転送する。   The load packet multiplexing unit 205 multiplexes the main signal packet transmitted from the delay insertion unit 202 and the load packet transmitted from the load packet generation unit 204 according to the instruction notified from the input packet detection unit 203, The multiplexed main signal packet and load packet are transmitted to the packet processing unit 206. As described above, the packet processing unit 206 transfers the multiplexed main signal packet and load packet to the ingress unit (FPGA # 2) 102 at the next stage.

イングレス部(FPGA#2)102は、主信号パケットの転送宛先を解決するためのテーブル検索処理や入力帯域制御処理、それらの処理のためのパケット・バッファなど外部メモリ112とのインタフェース機能を司るパケット処理部207を備える。   The ingress unit (FPGA # 2) 102 is a packet that performs an interface function with the external memory 112 such as a table search process and an input bandwidth control process for resolving the transfer destination of the main signal packet, and a packet buffer for the process. A processing unit 207 is provided.

なお、図2に示した実施の形態1にかかるパケット処理装置のイングレス部(FPGA#2)102においては、パケット処理部207のほかに、後述する図9Aに示す実施の形態2にかかるパケット処理装置のイングレス部(FPGA#2)602と同様に、入力パケット検査部、パケット多重部、パケット識別部を備えていてもよい。   In addition, in the ingress unit (FPGA # 2) 102 of the packet processing device according to the first exemplary embodiment illustrated in FIG. 2, in addition to the packet processing unit 207, the packet processing according to the second exemplary embodiment illustrated in FIG. Similarly to the ingress unit (FPGA # 2) 602 of the apparatus, an input packet inspection unit, a packet multiplexing unit, and a packet identification unit may be provided.

次段のエグレス部(FPGA#3)103は、外部メモリ113を使用して、マルチキャストやブロードキャストのためのパケットの複製処理や出力帯域制御処理をおこなうパケット処理部208を備える。   The next-stage egress unit (FPGA # 3) 103 includes a packet processing unit 208 that uses the external memory 113 to perform packet duplication processing and output bandwidth control processing for multicast and broadcast.

なお、図2に示した実施の形態1にかかるパケット処理装置のエグレス部(FPGA#3)103においては、パケット処理部208のほかに、後述する図10Aに示す実施の形態2にかかるパケット処理装置のエグレス部(FPGA#3)603と同様に、入力パケット検査部、パケット振分部を備えていてもよい。   In the egress unit (FPGA # 3) 103 of the packet processing apparatus according to the first exemplary embodiment illustrated in FIG. 2, in addition to the packet processing unit 208, the packet processing according to the second exemplary embodiment illustrated in FIG. Similar to the egress unit (FPGA # 3) 603 of the apparatus, an input packet inspection unit and a packet distribution unit may be provided.

また、パケットを出力する最後のインタフェース部(FPGA#1)101は、本来のパケット処理をおこなう前に、負荷パケットの終端処理をおこなう負荷パケット終端部209を配置する。負荷パケット終端部209は、負荷急変状況を作るために生成した負荷パケットを終端して廃棄処理を実行する。主信号パケットについてはそのまま後段のパケット出力分離部210へ引き渡し、適切なポートから送信する。   In addition, the last interface unit (FPGA # 1) 101 that outputs a packet arranges a load packet termination unit 209 that performs termination processing of a load packet before performing original packet processing. The load packet termination unit 209 terminates the load packet generated in order to create a sudden load change situation, and executes discard processing. The main signal packet is handed over to the subsequent packet output separation unit 210 and transmitted from an appropriate port.

なお、図2に示した実施の形態1にかかるパケット処理装置の出力側の処理をおこなうインタフェース部(FPGA#1)101においては、負荷パケット終端部209のほかに、後述する図11Aに示す実施の形態2にかかるパケット処理装置の第2インタフェース部(FPGA#4)604と同様に、入力パケット検査部、パケット処理部、パケット出力分離部を備えていてもよい。   In addition to the load packet termination unit 209, the interface unit (FPGA # 1) 101 that performs processing on the output side of the packet processing device according to the first exemplary embodiment illustrated in FIG. Similarly to the second interface unit (FPGA # 4) 604 of the packet processing apparatus according to the second embodiment, an input packet inspection unit, a packet processing unit, and a packet output separation unit may be provided.

(入力パケット検出部の処理手順)
つぎに、入力パケット検出部203の処理の手順について説明する。図3Aは、入力パケット検出部の処理の手順を示すフローチャートである。また、図3Bは、負荷パケット生成・多重制御信号と入力パケットとの関係を示すタイムチャートである。
(Processing procedure of input packet detector)
Next, the processing procedure of the input packet detection unit 203 will be described. FIG. 3A is a flowchart illustrating a processing procedure of the input packet detection unit. FIG. 3B is a time chart showing the relationship between the load packet generation / multiplex control signal and the input packet.

図3Aのフローチャートにおいて、まず、入力パケット検出部203は、正常な入力パケットが検出されたか否かを判断する(ステップS301)。ここで、正常な入力パケットが検出されるのを待って(ステップS301:No)、正常な入力パケットが検出された場合(ステップS301:Yes)に、一定時間のタイマーを起動する(ステップS302)。タイマーの起動とともに、そのタイミングで、負荷パケット生成・多重制御信号をONにする(ステップS303)。   In the flowchart of FIG. 3A, first, the input packet detection unit 203 determines whether or not a normal input packet has been detected (step S301). Here, after waiting for a normal input packet to be detected (step S301: No), if a normal input packet is detected (step S301: Yes), a timer for a predetermined time is started (step S302). . With the start of the timer, the load packet generation / multiplex control signal is turned ON at that timing (step S303).

そして、タイマーが満了したか否かを判断する(ステップS304)。ここで、タイマーが満了するのを待って(ステップS304:No)、タイマーが満了した場合(ステップS304:Yes)に、そのタイミングで、負荷パケット生成・多重制御信号をOFFにし(ステップS305)、ステップS301に戻って、次の入力パケット待ちの状態にする。   Then, it is determined whether or not the timer has expired (step S304). Here, after waiting for the timer to expire (step S304: No), when the timer expires (step S304: Yes), at that timing, the load packet generation / multiplex control signal is turned OFF (step S305), The process returns to step S301 to wait for the next input packet.

このように、負荷パケット生成・多重制御信号がONになってからOFFになるまでのタイミングが、負荷パケット多重タイミングである。負荷パケット生成・多重制御信号は、後段の負荷パケット生成部204における負荷パケット生成開始タイミングとして使い、また負荷パケット多重部205にて負荷パケットを多重するタイミングとして使用する。したがって、負荷パケット生成部204は、入力パケット検出部203からの負荷パケット生成・多重制御信号をON(ステップS303)の通知を受けたら、負荷パケットの生成を開始し、入力パケット検出部203からの負荷パケット生成・多重制御信号をOFF(ステップS305)の通知を受けたら、負荷パケットの生成を停止する。   In this way, the timing from when the load packet generation / multiplex control signal is turned on until it is turned off is the load packet multiplex timing. The load packet generation / multiplexing control signal is used as a load packet generation start timing in the subsequent load packet generation unit 204, and is used as a load packet multiplexing timing in the load packet multiplexing unit 205. Therefore, upon receiving a notification that the load packet generation / multiplex control signal is ON (step S303) from the input packet detection unit 203, the load packet generation unit 204 starts generation of the load packet. When receiving the notification of turning off the load packet generation / multiplex control signal (step S305), the generation of the load packet is stopped.

図3Bにおいては、入力パケットにおける一つ一つの矩形(符号A〜E)がそれぞれ正常な入力パケットを表しており、連続する正常パケットの先頭の入力パケット(パケットA)が検出された場合に、負荷パケット生成・多重制御信号がON(ステップS303)になり、その後の連続した入力パケットの有無にかかわらず、一定時間経過後に負荷パケット生成・多重制御信号がOFF(ステップS305)になる。その後、新たな正常なパケット(パケットE)が検出された場合に、再度、負荷パケット生成・多重制御信号がON(ステップS303)になり、その後の連続した入力パケットの有無にかかわらず、一定時間経過後に負荷パケット生成・多重制御信号がOFF(ステップS305)になることを示している。   In FIG. 3B, each of the rectangles (reference symbols A to E) in the input packet represents a normal input packet, and when the first input packet (packet A) of consecutive normal packets is detected, The load packet generation / multiplex control signal is turned ON (step S303), and the load packet generation / multiplex control signal is turned OFF (step S305) after a lapse of a certain time regardless of the presence or absence of successive input packets thereafter. After that, when a new normal packet (packet E) is detected, the load packet generation / multiplex control signal is turned ON again (step S303), and a certain period of time regardless of the presence or absence of subsequent input packets. It shows that the load packet generation / multiplex control signal is turned off (step S305) after elapse.

図4は、負荷パケット多重タイミングと入力パケットとの関係を示すタイムチャートである。図4のタイムチャートにおいて、様々な長さの入力パケットが、連続/不連続に存在する。連続する入力パケットのうちの先頭パケットが検出された時点で、負荷パケット多重タイミングのパルスが出力され、そのパルスのタイミングだけ、各入力パケットが遅延する。さらに、遅延したところに負荷パケットが多重される。   FIG. 4 is a time chart showing the relationship between load packet multiplexing timing and input packets. In the time chart of FIG. 4, input packets of various lengths exist continuously / discontinuously. A load packet multiplexing timing pulse is output at the time when a leading packet of consecutive input packets is detected, and each input packet is delayed by the timing of the pulse. Further, the load packet is multiplexed at the delayed location.

イングレス部(FPGA#2)102は、主信号パケットの転送宛先を解決するためのテーブル検索や入力帯域制御処理のためのパケット・バッファなどFPGA外部のメモリインタフェースを持つことから、インタフェース部(FPGA#1)101よりも消費電流が大きくなる。また、次段のエグレス部(FPGA#3)103は、マルチキャストやブロードキャストパケットの複製処理や出力帯域制御のために外部メモリが使用されることからイングレス部(FPGA#2)102と同様に、インタフェース部(FPGA#1)101よりも消費電流が大きくなる。そのため、連続するパケットの先頭部分で電圧の降下が発生する。   Since the ingress unit (FPGA # 2) 102 has a memory interface outside the FPGA such as a table search for solving the transfer destination of the main signal packet and a packet buffer for input bandwidth control processing, the interface unit (FPGA # 2) 1) Current consumption is larger than 101. Further, the egress unit (FPGA # 3) 103 at the next stage uses the same interface as the ingress unit (FPGA # 2) 102 because an external memory is used for multicast and broadcast packet replication processing and output bandwidth control. Current consumption is larger than that of the unit (FPGA # 1) 101. As a result, a voltage drop occurs at the beginning of successive packets.

図4に示すように、負荷パケット多重タイミングは、この電圧降下の発生タイミングに対応させている。したがって、負荷パケット多重タイミング、すなわち電圧降下が発生するタイミングでは、主信号パケットが存在しないように調整するため、主信号パケットは、電圧低下によるパケットのロスが生じない。そのため、本実施の形態にかかるパケット処理装置では、あえて電圧降下が発生しないように電源を調整する必要はない。   As shown in FIG. 4, the load packet multiplexing timing corresponds to the voltage drop occurrence timing. Therefore, since the main signal packet is adjusted so as not to exist at the load packet multiplexing timing, that is, when the voltage drop occurs, the main signal packet does not cause a packet loss due to a voltage drop. Therefore, in the packet processing device according to the present embodiment, it is not necessary to adjust the power supply so as not to cause a voltage drop.

(主信号パケット・負荷パケットの構造の一例)
つぎに、主信号パケットと負荷パケットの構造の一例について説明する。図5は、主信号パケットと負荷パケットの構造の一例を示す説明図である。図5において、主信号パケット501は、一般的に、ヘッダー(header)511とペイロード(Payload)512とFCS(Frame Check Sequence)513と、からなる。
(Example of main signal packet / load packet structure)
Next, an example of the structure of the main signal packet and the load packet will be described. FIG. 5 is an explanatory diagram showing an example of the structure of the main signal packet and the load packet. In FIG. 5, a main signal packet 501 generally includes a header 511, a payload 512, and an FCS (Frame Check Sequence) 513.

一方、負荷パケット502も、主信号パケット501と同様に、ヘッダー521とペイロード522とFCS523とからなる。負荷パケット502には、ヘッダー521内に負荷パケットであることを示す負荷パケット識別情報525を設けて後段の負荷パケット終端部209で該当パケットを識別し廃棄させる。また、負荷パケット502のペイロード522は、ペイロード・パターンとして、All”0”、All”1、”0/1交番やランダムを選択可能な構成とし、またペイロード長(サイズ)は、固定長、可変長(たとえば64byte〜9600byte)を選択可能とする。   On the other hand, the load packet 502 includes a header 521, a payload 522, and an FCS 523, similarly to the main signal packet 501. The load packet 502 is provided with load packet identification information 525 indicating that it is a load packet in the header 521, and the corresponding packet is identified and discarded by the load packet termination unit 209 at the subsequent stage. Further, the payload 522 of the load packet 502 is configured to be able to select All “0”, All “1,” “0/1 alternating or random” as the payload pattern, and the payload length (size) is fixed length and variable. A length (for example, 64 bytes to 9600 bytes) can be selected.

なお、電圧低下量は単位時間当たりの電流変動量に比例することから、主信号パケット入力時の負荷急変よりも緩やかな負荷変動状況を作ることで、電圧低下を緩和することが可能となる。そのためには、ペイロード長をできるだけ大きくする(たとえば9600byte)とよい。   Since the voltage drop amount is proportional to the current fluctuation amount per unit time, it is possible to mitigate the voltage drop by creating a more gradual load fluctuation state than the sudden load change at the time of main signal packet input. For this purpose, the payload length should be as large as possible (for example, 9600 bytes).

一方、ペイロード長は、できるだけ小さくし(たとえば64byte)、負荷パケット多重タイミング中にできるだけ多くの数の負荷パケットを生成するようにしてもよい。負荷変動による電圧降下の影響により、電圧が動作保証電圧を下回ってしまった場合にはパケットのロスが発生する。そして、そのパケットのロスの対象となるのは、電圧降下の発生タイミングに対応する負荷パケットである。   On the other hand, the payload length may be as small as possible (for example, 64 bytes), and as many load packets as possible may be generated during the load packet multiplexing timing. If the voltage falls below the operation guarantee voltage due to the influence of a voltage drop due to load fluctuation, packet loss occurs. The packet loss is a load packet corresponding to the voltage drop occurrence timing.

ただし、一旦パケットのロスとなった後は、次段のブロックで当該負荷パケットは廃棄されてしまう。その点を考慮すると、負荷パケットの数を多くしておくことによって、負荷パケットが最終段のブロックまで廃棄されずに残る可能性が高くなる。したがって、単一パケット廃棄時の影響(負荷を与えられない度合い)が少なくなるという点で、ペイロード長をできるだけ小さくした方が有利である場合もある。   However, once the packet is lost, the load packet is discarded in the next block. Considering this point, by increasing the number of load packets, there is a high possibility that the load packets remain without being discarded until the final block. Therefore, it may be advantageous to make the payload length as small as possible in that the influence (the degree to which no load is applied) at the time of discarding a single packet is reduced.

したがって、ペイロード長をどの長さにするかについては、パケット処理装置の構成や規模、使用する電源の内容などを考慮して選択するのがよい。   Therefore, the length of the payload should be selected in consideration of the configuration and scale of the packet processing apparatus, the contents of the power supply to be used, and the like.

このように、本実施の形態にかかるパケット処理装置は、負荷急変による電流、電圧変動の影響を回避するために、主信号パケットの到着を検出した後に一時的に主信号を蓄積しておくとともに、主信号パケットとは異なる負荷パケットによる負荷急変状態を生成し、その負荷急変による電圧変動が安定した後に主信号パケットを処理するものである。   As described above, the packet processing apparatus according to the present embodiment temporarily stores the main signal after detecting the arrival of the main signal packet in order to avoid the influence of current and voltage fluctuation due to sudden load change. A sudden load change state due to a load packet different from the main signal packet is generated, and the main signal packet is processed after voltage fluctuation due to the sudden load change is stabilized.

以上のように、実施の形態1にかかるパケット処理装置によれば、入力処理側のインタフェース部(FPGA#1)101が、入力ポートからパケットの入力を受け付け、入力パケット検出部203が、パケットの入力を受け付けたタイミングを検出し、遅延挿入部202が、検出したタイミングから所定時間だけパケットを遅延させ、負荷パケット生成部204が、当該所定時間においてダミーパケットを生成し、負荷パケット多重部205が、生成されたダミーパケットとパケットとを多重し、多重パケットを次段のパケット処理部であるイングレス部(FPGA#2)102へ送るので、主信号パケット処理時の負荷急変を抑止し、主信号パケットのロスを回避することが可能となる。   As described above, according to the packet processing apparatus according to the first embodiment, the interface unit (FPGA # 1) 101 on the input processing side accepts input of a packet from the input port, and the input packet detection unit 203 The timing at which the input is received is detected, the delay insertion unit 202 delays the packet by a predetermined time from the detected timing, the load packet generation unit 204 generates a dummy packet at the predetermined time, and the load packet multiplexing unit 205 , The generated dummy packet and the packet are multiplexed, and the multiplexed packet is sent to the ingress unit (FPGA # 2) 102 which is the packet processing unit in the next stage. Packet loss can be avoided.

また、FPGA外部回路による負荷急変抑止のためのコンデンサなどの部品追加は不要となり、部品点数削減による小型化、コストダウンが可能となる。   In addition, it is not necessary to add a component such as a capacitor for suppressing sudden load change by an FPGA external circuit, and it is possible to reduce the size and cost by reducing the number of components.

また、主信号パケットのロスを回避するにあたり、パケットが入力されていない時に常時電流を消費することがない。したがって、消費電力を抑制することができる。   In order to avoid the loss of the main signal packet, the current is not always consumed when no packet is input. Therefore, power consumption can be suppressed.

また、実施の形態1にかかるパケット処理装置によれば、出力対象となっている出力ポートに接続されている出力処理用インタフェース部101が、前段のパケット処理部である、エグレス部(FPGA#3)103から多重パケットの入力を受け付け、負荷パケット終端部209によって、多重パケットから、パケットと、ダミーパケットとを識別し、識別された前記ダミーパケットを廃棄する。そして、識別されたパケットを出力ポートへ出力するので、負荷パケットが誤って出力ポートから出力されることはない。   Also, according to the packet processing apparatus of the first embodiment, the output processing interface unit 101 connected to the output port that is the output target is the egress unit (FPGA # 3), which is the preceding packet processing unit. ) Accepts the input of the multiplexed packet from 103, and the load packet termination unit 209 identifies the packet and the dummy packet from the multiplexed packet, and discards the identified dummy packet. Since the identified packet is output to the output port, the load packet is not erroneously output from the output port.

また、実施の形態1にかかるパケット処理装置によれば、ダミーパケット502は、当該ダミーパケットのヘッダー521内にダミーパケットであると認識可能な負荷パケット識別情報525を含んでいるため、ダミーパケットの識別が容易になる。   Further, according to the packet processing apparatus according to the first embodiment, the dummy packet 502 includes the load packet identification information 525 that can be recognized as a dummy packet in the header 521 of the dummy packet. Identification becomes easy.

このように、複数の入力ポートと複数の出力ポートとを有し、入力ポートにより受信されたパケットを処理し、出力ポートから送信するパケット処理装置において、入力処理用インタフェース部は、入力ポートにより受信されたパケットが入力され、パケットが入力されたタイミングを検出し、検出したタイミングから所定時間だけパケットを遅延させるとともに、所定時間においてダミーパケットを生成することができる。   As described above, in the packet processing apparatus that has a plurality of input ports and a plurality of output ports, processes a packet received by the input port, and transmits the packet from the output port, the input processing interface unit receives by the input port. The received packet is input, the timing when the packet is input is detected, the packet is delayed by a predetermined time from the detected timing, and a dummy packet can be generated at the predetermined time.

また、パケット処理部は、入力処理用インタフェース部から、生成されたダミーパケットと、パケットとが入力され、入力されたダミーパケットとパケットとをメモリに一時的に記憶させることができる。   Further, the packet processing unit receives the generated dummy packet and the packet from the input processing interface unit, and can temporarily store the input dummy packet and the packet in the memory.

また、出力処理用インタフェース部は、パケット処理部から、ダミーパケットとパケットとが入力され、入力されたダミーパケットとパケットとを識別し、識別されたダミーパケットを廃棄し、識別されたパケットを出力ポートへ出力することができる。   The output processing interface unit receives the dummy packet and the packet from the packet processing unit, identifies the input dummy packet and the packet, discards the identified dummy packet, and outputs the identified packet Can be output to the port.

(実施の形態2)
図6は、実施の形態2にかかるパケット処理装置のハードウエア構成の一例を示す説明図である。図6も、図1と同様に、パケット処理装置の具体的な一例である、FPGAで構成されるイーサネットベースのパケット処理装置600の構成例を示す。
(Embodiment 2)
FIG. 6 is an explanatory diagram of an example of a hardware configuration of the packet processing device according to the second embodiment. FIG. 6 also shows a configuration example of an Ethernet-based packet processing device 600 configured with an FPGA, which is a specific example of the packet processing device, as in FIG.

図6において、パケット処理装置600は、図1に示したパケット処理装置100と同様に、第1インタフェース部(FPGA#1)601と、イングレス部(FPGA#2)602と、エグレス部(FPGA#3)603と、を備える。さらに、パケット処理装置600は、図1に示したパケット処理装置100とは異なり、もう一つのインタフェース部である第2インタフェース部(FPGA#4)604を備える。   In FIG. 6, the packet processing device 600 is similar to the packet processing device 100 shown in FIG. 1 in that the first interface unit (FPGA # 1) 601, the ingress unit (FPGA # 2) 602, and the egress unit (FPGA #). 3) 603. Further, unlike the packet processing apparatus 100 shown in FIG. 1, the packet processing apparatus 600 includes a second interface unit (FPGA # 4) 604 that is another interface unit.

第1インタフェース部(FPGA#1)601は、外部インタフェース・ポート(ポート#1〜ポート#n)とのパケット送受信をおこなう。そして、第2インタフェース部(FPGA#4)604は、外部インタフェース・ポート(ポート#n+1〜ポート#n+n)とのパケット送受信をおこなう。   The first interface unit (FPGA # 1) 601 performs packet transmission / reception with external interface ports (port # 1 to port #n). The second interface unit (FPGA # 4) 604 performs packet transmission / reception with the external interface port (port # n + 1 to port # n + n).

イングレス部(FPGA#2)602は、外部インタフェース・ポートからパケット処理装置100への入力方向(Ingress)でのパケット処理をおこなう。すなわち、イングレス部(FPGA#2)602は、第1インタフェース部(FPGA#1)601および第2インタフェース部(FPGA#4)604の両方からの入力パケットを受け取る。エグレス部(FPGA#3)603は、パケット処理装置100から外部インタフェース・ポートへの出力方向(Egress)でのパケット処理をおこなう。   The ingress unit (FPGA # 2) 602 performs packet processing in the input direction (Ingress) from the external interface port to the packet processing apparatus 100. That is, the ingress unit (FPGA # 2) 602 receives input packets from both the first interface unit (FPGA # 1) 601 and the second interface unit (FPGA # 4) 604. The egress unit (FPGA # 3) 603 performs packet processing in the output direction (Egress) from the packet processing apparatus 100 to the external interface port.

外部インタフェース・ポートから入力されるユーザ・パケット(入力パケット)は、第1インタフェース部(FPGA#1)601または第2インタフェース部(FPGA#4)604で受信され、フレーム正常性のチェックをおこない、後段のイングレス部(FPGA#2)602へ転送される。イングレス部(FPGA#2)602では、パケットのヘッダー情報に基づいて、外部メモリ612などを使って入力帯域制御や宛先解決を実施し、当該宛先解決した情報を含めて、後段のエグレス部(FPGA#3)603へ転送する。   A user packet (input packet) input from the external interface port is received by the first interface unit (FPGA # 1) 601 or the second interface unit (FPGA # 4) 604, and the frame normality is checked. The data is transferred to the ingress portion (FPGA # 2) 602 at the subsequent stage. The ingress unit (FPGA # 2) 602 performs input bandwidth control and destination resolution using the external memory 612 or the like based on the header information of the packet, and includes the egress unit (FPGA) in the subsequent stage including the information on the destination resolution. # 3) Transfer to 603.

エグレス部(FPGA#3)603では、受信したパケットのヘッダー情報に応じて、外部メモリ613などを使って出力帯域制御や複数の宛先へのパケット複製処理を実施して、後段の第1インタフェース部(FPGA#1)601または第2インタフェース部(FPGA#4)604へ転送し、適切な外部インタフェース・ポートから送信される。また、パケット処理装置600は、図1に示したパケット処理装置100と同様に、パケット処理装置600内の各デバイスの監視制御をおこなうCPU650や、各デバイスへ必要となる電源を供給する電源部621、622、623、624などから構成される。   The egress unit (FPGA # 3) 603 performs output bandwidth control and packet duplication processing to a plurality of destinations using the external memory 613 or the like according to the header information of the received packet, and the first interface unit in the subsequent stage The data is transferred to (FPGA # 1) 601 or the second interface unit (FPGA # 4) 604 and transmitted from an appropriate external interface port. Further, the packet processing apparatus 600 is similar to the packet processing apparatus 100 shown in FIG. 1, the CPU 650 that performs monitoring control of each device in the packet processing apparatus 600, and the power supply unit 621 that supplies necessary power to each device. , 622, 623, 624 and the like.

(パケット・フォーマットの内容)
つぎに、パケット・フォーマットの内容について説明する。図7Aは、装置内のパケット・フォーマットの内容の一例を示す説明図である。また、図7Bは、装置内のパケット・フォーマットの各フィールドの定義の内容を示す説明図である。
(Packet format contents)
Next, the contents of the packet format will be described. FIG. 7A is an explanatory diagram showing an example of the contents of the packet format in the apparatus. FIG. 7B is an explanatory diagram showing the definition contents of each field of the packet format in the apparatus.

図7Aにおいて、700は、外部インタフェース・ポートから入力されるユーザ・パケット(主信号パケット)のパケット・フォーマットを示しており、710は、装置内パケットのパケット・フォーマットを示している。   In FIG. 7A, 700 indicates a packet format of a user packet (main signal packet) input from the external interface port, and 710 indicates a packet format of the in-device packet.

ユーザ・パケット(入力パケット)のパケット・フォーマット700は、「Payload」のフィールド701と、「FCS−U」のフィールド702のと、から構成される。図7Bに示すように、「Payload」のフィールド701には、入力パケットのデータ本体であるペイロードが格納されている。また、「Payload」のフィールド701には、入力パケットの宛先MACアドレスに関するDA(Destination Address)および送信元MACアドレスに関するSA(Source Address)も格納されている。「FCS−U」のフィールド702には、入力パケットの正常性をチェックするためのFCSが格納されている。   The packet format 700 of the user packet (input packet) includes a “Payload” field 701 and a “FCS-U” field 702. As shown in FIG. 7B, the “Payload” field 701 stores the payload that is the data body of the input packet. The “Payload” field 701 also stores a DA (Destination Address) related to the destination MAC address of the input packet and an SA (Source Address) related to the source MAC address. The FCS-U field 702 stores an FCS for checking the normality of the input packet.

これに対して、装置内パケットのパケット・フォーマット710は、「Packet Type」のフィールド711と、「Forwarding Type」のフィールド712と、「Src port」のフィールド713と、「Dest port」のフィールド714と、「Reserved」のフィールド715と、からなるヘッダー部と、「Payload」のフィールド716と、「FCS−U」のフィールド718と、からなる主信号パケット部と、「FCS−H」のフィールド719とから構成される。   In contrast, the packet format 710 of the in-device packet includes a “Packet Type” field 711, a “Forwarding Type” field 712, a “Src port” field 713, and a “Dest port” field 714. , “Reserved” field 715, “Payload” field 716, “FCS-U” field 718, main signal packet part, “FCS-H” field 719, and Consists of

図7Bに示すように、「Packet Type」のフィールド711には、パケット・タイプ、すなわち、当該パケットが、主信号パケットであるか、負荷パケットであるかを識別するためのコードが格納される。「Packet Type」が『00b』であれば、当該パケットが主信号パケットであり、『10b』であれば、当該パケットが負荷パケットである。ここで、“b”はbinary(2進数)で表現していることを示している。以下、コードにおける“b”は、いずれもbinary(2進数)で表現していることを示している。   As shown in FIG. 7B, the “Packet Type” field 711 stores a packet type, that is, a code for identifying whether the packet is a main signal packet or a load packet. If “Packet Type” is “00b”, the packet is a main signal packet. If “Packet Type” is “10b”, the packet is a load packet. Here, “b” indicates that it is expressed in binary (binary number). Hereinafter, “b” in the code indicates that it is expressed in binary (binary number).

「Forwarding Type」のフィールド712には、通信の種別、すなわち、当該パケットが、ユニキャストであるか、マルチキャストであるか、ブロードキャストであるかを識別するためのコードが格納される。「Forwarding Type」が『00b』であれば、ユニキャストであり、『01b』であれば、マルチキャストであり、『10b』であれば、ブロードキャストである。   The “Forwarding Type” field 712 stores a code for identifying the type of communication, that is, whether the packet is unicast, multicast, or broadcast. If “Forwarding Type” is “00b”, it is unicast, if “01b”, it is multicast, and if “10b”, it is broadcast.

「Src port」のフィールド713には、入力パケットの入力されたポート番号を示すSource portが格納される。「Src port」が『000b』であれば「port1」であり、『001b』であれば「port2」であり、...『111b』であれば、「port8」である。また、「Dest port」のフィールド714には、入力パケットの出力先のポート番号を示すDestination portが格納される。   The “Src port” field 713 stores a source port indicating the port number of the input packet. If “Src port” is “000b”, it is “port1”, and if “001b” is “port2”,. . . If “111b”, it is “port8”. Further, the “Dest port” field 714 stores a destination port indicating a port number of an output destination of the input packet.

また、「Dest port」は、「Src port」と同様に、『000b』であれば「port1」であり、『001b』であれば「port2」であり、...『111b』であれば、「port8」である。また、「Reserved」のフィールド715には、リザーブ領域を示すコード(たとえば、『000000b』など)が格納される。   Similarly to “Src port”, “Dest port” is “port1” if “000b”, “port2” if “001b”,. . . If “111b”, it is “port8”. In the “Reserved” field 715, a code indicating a reserved area (for example, “000000b” or the like) is stored.

「Payload」のフィールド716と、「FCS−U」のフィールド717には、
入力パケットのパケット・フォーマット700の「Payload」のフィールド701と、「FCS−U」のフィールド702と、がそのまま格納される。そして、「FCS−H」のフィールド718は、ヘッダーの先頭の「Packet Type」のフィールド711から「FCS−U」のフィールド717までの領域に対してフレーム正常性をチェックする。
The “Payload” field 716 and the “FCS-U” field 717 include:
The “Payload” field 701 and the “FCS-U” field 702 of the packet format 700 of the input packet are stored as they are. The “FCS-H” field 718 checks the frame normality for the area from the “Packet Type” field 711 to the “FCS-U” field 717 at the head of the header.

このように、パケット処理装置100が受信した入力パケット(パケット・フォーマット700)は、パケット処理装置100内において、ヘッダー部およびFCSが追加された、装置内パケット・フォーマット710によって通信されることになる。そして、負荷パケットに対する「Packet Type」の定義を追加することにより、主信号パケットと負荷パケットを識別することができる。   As described above, the input packet (packet format 700) received by the packet processing device 100 is communicated in the packet processing device 100 by the in-device packet format 710 to which the header part and the FCS are added. . Then, by adding the definition of “Packet Type” for the load packet, the main signal packet and the load packet can be identified.

(第1、第2インタフェース部の入力側処理における機能的構成および処理手順)
つぎに、実施の形態2にかかるパケット処理装置の第1インタフェース部(FPGA#1)601、第2インタフェース部(FPGA#4)604の機能的構成および第1インタフェース部(FPGA#1)601、第2インタフェース部(FPGA#4)604における入力側処理について説明する。図8Aは、実施の形態2にかかるパケット処理装置のインタフェース部の機能的構成の一例およびパケットの内容を示す説明図であり、図8Bは、実施の形態2にかかるパケット処理装置のインタフェース部の処理手順の一例を示すフローチャートである。
(Functional configuration and processing procedure in input side processing of first and second interface units)
Next, the functional configuration of the first interface unit (FPGA # 1) 601 and the second interface unit (FPGA # 4) 604 and the first interface unit (FPGA # 1) 601 of the packet processing apparatus according to the second embodiment, The input side processing in the second interface unit (FPGA # 4) 604 will be described. FIG. 8A is an explanatory diagram illustrating an example of the functional configuration of the interface unit of the packet processing device according to the second embodiment and the contents of the packet, and FIG. 8B illustrates the interface unit of the packet processing device according to the second embodiment. It is a flowchart which shows an example of a process sequence.

図8Aにおいて、第1インタフェース部(FPGA#1)601は、入出力ポート(ポート#1〜ポート#n)に接続され、入力パケット検査部801、パケット多重部802、ヘッダー&FCS付与部803、遅延挿入部804、入力パケット検出部805、負荷パケット生成部806、負荷パケット多重部807、パケット処理部808と、を備えている。また、第2インタフェース部(FPGA#4)604も、第1インタフェース部(FPGA#1)601と同様の構成部(入力パケット検査部、パケット多重部、ヘッダー&FCS付与部、遅延挿入部、入力パケット検出部、負荷パケット生成部、負荷パケット多重部、パケット処理部)を備えている。   In FIG. 8A, a first interface unit (FPGA # 1) 601 is connected to an input / output port (port # 1 to port #n), an input packet inspection unit 801, a packet multiplexing unit 802, a header & FCS adding unit 803, a delay An insertion unit 804, an input packet detection unit 805, a load packet generation unit 806, a load packet multiplexing unit 807, and a packet processing unit 808 are provided. Also, the second interface unit (FPGA # 4) 604 has the same components as the first interface unit (FPGA # 1) 601 (input packet inspection unit, packet multiplexing unit, header & FCS adding unit, delay insertion unit, input packet) A detection unit, a load packet generation unit, a load packet multiplexing unit, and a packet processing unit).

入力ポート(ポート#1〜ポート#nのいずれか)から入力された入力パケット820は、入力パケット検査部801において、フレームの正常性をチェックされ、エラーの場合は廃棄される。エラーのないパケットは、後段のパケット多重部802において、複数の入力ポートからのパケットと多重される。その後、ヘッダー&FCS付与部803において、装置内で使うヘッダー部と、そのヘッダーの先頭からPayloadおよびFCS−Uも含めた領域のフレームの正常性をチェックするためにFCS(FCS−H)を演算して付与する。このようにして、主信号パケット830を生成する。   An input packet 820 input from an input port (any of port # 1 to port #n) is checked for normality of a frame by the input packet inspection unit 801, and is discarded if an error occurs. An error-free packet is multiplexed with packets from a plurality of input ports in the subsequent packet multiplexing unit 802. After that, the header & FCS assigning unit 803 calculates FCS (FCS-H) to check the normality of the header part used in the apparatus and the frame in the area including Payload and FCS-U from the head of the header. To grant. In this way, the main signal packet 830 is generated.

主信号パケット830は、主信号パケットであることが識別できるように、ヘッダー部の「Packet Type」を『PT=00b』とする。また、ヘッダー部の「Forwarding Type」は、一旦、『FT=00b』として、後段ブロック(イングレス部(FPGA#2)602)に引き渡す。また、主信号パケット830は、ポート#1から入力されたことを示すように、「Src port」が『Src port=000b』となっている。出力先ポートは後段ブロックで改めて付与されるため、ここでは入力ポート番号を使用し、『Dest port=000b』となっている。   The main signal packet 830 sets “Packet Type” in the header portion to “PT = 00b” so that it can be identified as the main signal packet. Also, “Forwarding Type” in the header part is once transferred to the subsequent block (ingress part (FPGA # 2) 602) as “FT = 00b”. Further, “Src port” is “Src port = 000b” in the main signal packet 830 to indicate that it is input from the port # 1. Since the output destination port is assigned again in the subsequent block, the input port number is used here, and “Dest port = 000b”.

その後、主信号パケット830は、入力パケット検出部805において、パケットの入力を検出したことを契機に、遅延挿入部804において一定時間の遅延が与えられ、負荷パケット多重部807に送られる。この時、負荷パケット挿入契機を得たことから、負荷パケット生成部806において、負荷パケット840を生成する。   Thereafter, when the input packet detection unit 805 detects the input of the packet, the main signal packet 830 is given a delay of a certain time by the delay insertion unit 804 and is sent to the load packet multiplexing unit 807. At this time, since the load packet insertion opportunity is obtained, the load packet generation unit 806 generates a load packet 840.

負荷パケット840は、負荷パケットであることが識別できるように、ヘッダー部の「Packet Type」を『PT=10b』とする。また、エグレス部(FPGA#3)603においてコピーされないように、ヘッダー部の「Forwarding Type」を必ず『FT=00b』として、常時unicastとなるようにしている。また、「Src port」を『Src port=000b』、『Dest port=000b』とする。負荷パケットは、最終的には廃棄されるパケットであるので、入力されたポート番号も、出力先のポート番号も重要ではなく、上記のコードに限らず、エラーとならない何らかのコードが格納されていればよい。   In order to identify the load packet 840 as a load packet, “Packet Type” in the header portion is set to “PT = 10b”. In order to prevent copying in the egress part (FPGA # 3) 603, the “Forwarding Type” in the header part is always set to “FT = 00b” so that the unicast is always set. Also, “Src port” is set to “Src port = 000b” and “Dest port = 000b”. Since a load packet is a packet that is eventually discarded, neither the input port number nor the output destination port number is important. Not only the above code but also any code that does not cause an error is stored. That's fine.

このようにして、負荷パケット生成部806において負荷パケット840が生成された後、負荷パケット840は、負荷パケット多重部807へ送信され、主信号パケット830が遅延されている間にその負荷パケット840が後段のブロック(イングレス部(FPGA#2)602)へ送信される。なお、パケット処理部808においては、本来実施するパケットの処理(たとえば、統計カウントなどの処理)を実施する。   After the load packet generation unit 806 generates the load packet 840 in this way, the load packet 840 is transmitted to the load packet multiplexing unit 807, and the load packet 840 is transmitted while the main signal packet 830 is delayed. It is transmitted to the subsequent block (ingress part (FPGA # 2) 602). Note that the packet processing unit 808 performs packet processing that is originally performed (for example, processing such as statistical counting).

第1インタフェース部(FPGA#1)601における処理の手順を図8Bに示す。まず、入力ポートから、パケットが入力されたか否かを判断する(ステップS861)。ここで、パケットが入力されるのを待って(ステップS861:No)、入力された場合(ステップS861:Yes)は、入力されたパケットがエラーパケットであるか否かを判断する(ステップS862)。   A processing procedure in the first interface unit (FPGA # 1) 601 is shown in FIG. 8B. First, it is determined whether or not a packet is input from the input port (step S861). Here, it waits for the packet to be input (step S861: No), and if it is input (step S861: Yes), it is determined whether the input packet is an error packet (step S862). .

ステップS862において、入力されたパケットがエラーパケットである場合(ステップS862:Yes)は、当該パケットを廃棄し(ステップS863)、ステップS861へ戻る。一方、ステップS862において、入力されたパケットがエラーパケットではない場合(ステップS862:No)は、当該パケットを別のポートから入力されたパケットと多重し(ステップS864)、当該パケットにヘッダーおよびFCSを付与する(ステップS865)。   If the input packet is an error packet in step S862 (step S862: Yes), the packet is discarded (step S863), and the process returns to step S861. On the other hand, if the input packet is not an error packet in step S862 (step S862: No), the packet is multiplexed with a packet input from another port (step S864), and the header and FCS are added to the packet. (Step S865).

その後、多重され、ヘッダーおよびFCSが付与されたパケット(主信号パケット)に対して遅延を挿入し(ステップS866)、さらには、負荷パケットを生成し(ステップS867)、主信号パケットと負荷パケットを多重する(ステップS868)。そして、多重されたパケットに、所定パケット処理を施した(ステップS869)後、イングレス部(FPGA#2)602へ転送し(ステップS870)、ステップS861へ戻る。   Thereafter, a delay is inserted into the multiplexed packet (main signal packet) to which the header and FCS are added (step S866), and further, a load packet is generated (step S867). Multiplex (step S868). The multiplexed packet is subjected to predetermined packet processing (step S869), then transferred to the ingress unit (FPGA # 2) 602 (step S870), and the process returns to step S861.

第1インタフェース部(FPGA#1)601においては、このような手順で、入力されたパケットに対する処理を施した後、イングレス部(FPGA#2)602へデータを渡す。第2インタフェース部(FPGA#2)602についても、第1インタフェース部(FPGA#1)601と同様の手順で処理を実行する。   The first interface unit (FPGA # 1) 601 performs processing on the input packet in such a procedure, and then passes the data to the ingress unit (FPGA # 2) 602. The second interface unit (FPGA # 2) 602 also executes processing in the same procedure as the first interface unit (FPGA # 1) 601.

(イングレス部の機能的構成および処理手順)
つぎに、実施の形態2にかかるパケット処理装置のイングレス部(FPGA#2)602の機能的構成およびイングレス部(FPGA#2)602における処理について説明する。図9Aは、イングレス部の機能的構成の一例およびパケットの内容を示す説明図であり、図9Bは、実施の形態2にかかるパケット処理装置のイングレス部の処理手順の一例を示すフローチャートである。
(Functional configuration and processing procedure of ingress part)
Next, a functional configuration of the ingress unit (FPGA # 2) 602 of the packet processing apparatus according to the second embodiment and processing in the ingress unit (FPGA # 2) 602 will be described. FIG. 9A is an explanatory diagram illustrating an example of a functional configuration of the ingress unit and the contents of the packet, and FIG. 9B is a flowchart illustrating an example of a processing procedure of the ingress unit of the packet processing device according to the second exemplary embodiment.

図9Aにおいて、イングレス部(FPGA#2)602は、入力パケット検査部901と、パケット多重部902と、パケット識別部903と、宛先決定部904と、パケット処理部905と、を備えている。   9A, the ingress unit (FPGA # 2) 602 includes an input packet inspection unit 901, a packet multiplexing unit 902, a packet identification unit 903, a destination determination unit 904, and a packet processing unit 905.

第1インタフェース部(FPGA#1)601または第2インタフェース部(FPGA#4)604から入力された主信号パケットと負荷パケットが多重されたパケットは、入力パケット検査部901において、パケットごとにフレームの正常性をチェックされ、エラーの場合は当該パケットは廃棄される。エラーのないパケットは、後段のパケット多重部902において、第1インタフェース部(FPGA#1)601または第2インタフェース部(FPGA#4)604からのパケットと多重され、パケット識別部903へ転送される。パケット識別部903へ転送された多重されたパケットは、パケット識別部903において、主信号パケットと負荷パケットとに識別される。   A packet in which a main signal packet and a load packet input from the first interface unit (FPGA # 1) 601 or the second interface unit (FPGA # 4) 604 are multiplexed is received by the input packet inspection unit 901 for each frame. Normality is checked, and in case of an error, the packet is discarded. The packet having no error is multiplexed with the packet from the first interface unit (FPGA # 1) 601 or the second interface unit (FPGA # 4) 604 in the subsequent packet multiplexing unit 902 and transferred to the packet identification unit 903. . The multiplexed packet transferred to the packet identification unit 903 is identified by the packet identification unit 903 as a main signal packet and a load packet.

パケット識別部903は、各パケットのヘッダー部の「Packet Type」のフィールドを参照し、『PT=00b』であれば主信号パケット930であり、『PT=10b』であれば負荷パケット940であると識別する。   The packet identification unit 903 refers to the field of “Packet Type” in the header of each packet, and if “PT = 00b”, it is a main signal packet 930, and if “PT = 10b”, it is a load packet 940. Identify.

『PT=00b』である主信号パケット930は、宛先解決部904へ転送され、宛先情報が格納された外部メモリを使って宛先情報を解決する。たとえば、当該主信号パケットの転送先が「ポート#2」である場合、主信号パケット930に示すように、ヘッダーの「Forwarding Type」のフィールドを、ユニキャストを示す『FT=00b(uni)』に、「Dest port」のフィールドを、ポート#2を示す『Dest port=001b』に、それぞれ書き替えて、その後、後段のパケット処理部905へ転送する。   The main signal packet 930 with “PT = 00b” is transferred to the destination resolution unit 904 and resolves the destination information using an external memory in which the destination information is stored. For example, when the transfer destination of the main signal packet is “port # 2”, as shown in the main signal packet 930, the “Forwarding Type” field of the header is set to “FT = 00b (uni)” indicating unicast. In addition, the “Dest port” field is rewritten to “Dest port = 001b” indicating the port # 2, respectively, and then transferred to the packet processing unit 905 in the subsequent stage.

一方、『PT=10b』である負荷パケット940は、第1インタフェース部(FPGA#1)601または第2インタフェース部(FPGA#4)604において、すでに宛先情報が格納されていることから、宛先解決する必要がないため、宛先解決部904はスキップされて、後段のパケット処理部905に転送される。後段のパケット処理部905では、本来実施するパケットの処理(たとえば、入力帯域制御など)を実施する。   On the other hand, since the load packet 940 with “PT = 10b” already stores destination information in the first interface unit (FPGA # 1) 601 or the second interface unit (FPGA # 4) 604, the destination resolution is performed. Therefore, the destination resolution unit 904 is skipped and transferred to the subsequent packet processing unit 905. The packet processing unit 905 at the subsequent stage performs packet processing (for example, input bandwidth control) that is originally performed.

イングレス部(FPGA#2)602における処理の手順を図9Bに示す。まず、第1インタフェース部(FPGA#1)601または第2インタフェース部(FPGA#4)604から、パケットが入力されたか否かを判断する(ステップS961)。ここで、パケットが入力されるのを待って(ステップS961:No)、入力された場合(ステップS961:Yes)は、入力されたパケットがエラーパケットであるか否かを判断する(ステップS962)。   The processing procedure in the ingress unit (FPGA # 2) 602 is shown in FIG. 9B. First, it is determined whether a packet is input from the first interface unit (FPGA # 1) 601 or the second interface unit (FPGA # 4) 604 (step S961). Here, waiting for a packet to be input (step S961: No), and if it is input (step S961: Yes), it is determined whether the input packet is an error packet (step S962). .

ステップS962において、入力されたパケットがエラーパケットである場合(ステップS962:Yes)は、当該パケットを廃棄し(ステップS963)、ステップS961へ戻る。一方、ステップS961において、入力されたパケットがエラーパケットではない場合(ステップS962:No)は、当該パケットを別のインタフェース部から入力されたパケットと多重する(ステップS964)。   If the input packet is an error packet in step S962 (step S962: Yes), the packet is discarded (step S963), and the process returns to step S961. On the other hand, if the input packet is not an error packet in step S961 (step S962: No), the packet is multiplexed with a packet input from another interface unit (step S964).

そして、多重されたそれぞれのパケットが、主信号パケットであるか、負荷パケットであるかを判断する(ステップS965)。ここで、主信号パケットである場合(ステップS965:Yes)は、上述した宛先解決処理をおこない(ステップS966)、ステップS967へ移行する。一方、主信号パケットでない場合、すなわち負荷パケットである場合(ステップS965:No)は、何もせずに、ステップS967へ移行する。   Then, it is determined whether each multiplexed packet is a main signal packet or a load packet (step S965). Here, when it is a main signal packet (step S965: Yes), the destination solution processing described above is performed (step S966), and the process proceeds to step S967. On the other hand, if it is not the main signal packet, that is, if it is a load packet (step S965: No), the process proceeds to step S967 without doing anything.

その後、多重されたパケットに、所定パケット処理を施した(ステップS967)後、エグレス部(FPGA#3)603へ転送し(ステップS968)、ステップS961へ戻る。   After that, predetermined packet processing is performed on the multiplexed packet (step S967), and then the packet is transferred to the egress part (FPGA # 3) 603 (step S968), and the process returns to step S961.

イングレス部(FPGA#2)602においては、このような手順で、多重化されたパケットに対する宛先解決処理を含む各種の処理を施した後、エグレス部(FPGA#3)603へデータを渡す。   In the ingress part (FPGA # 2) 602, after performing various processes including the destination resolution process for the multiplexed packet in such a procedure, the data is transferred to the egress part (FPGA # 3) 603.

(エグレス部の機能的構成および処理手順)
つぎに、実施の形態2にかかるパケット処理装置のエグレス部(FPGA#3)603の機能的構成およびエグレス部(FPGA#3)603における処理について説明する。図10Aは、実施の形態2にかかるパケット処理装置のエグレス部の機能的構成の一例およびパケットの内容を示す説明図であり、図10Bは、実施の形態2にかかるパケット処理装置のエグレス部の処理手順の一例を示すフローチャートである。
(Functional configuration and processing procedure of egress section)
Next, a functional configuration of the egress unit (FPGA # 3) 603 of the packet processing apparatus according to the second embodiment and processing in the egress unit (FPGA # 3) 603 will be described. FIG. 10A is an explanatory diagram illustrating an example of the functional configuration of the egress unit of the packet processing device according to the second embodiment and the contents of the packet, and FIG. 10B illustrates the egress unit of the packet processing device according to the second embodiment. It is a flowchart which shows an example of a process sequence.

図10Aおいて、エグレス部(FPGA#3)603は、入力パケット検査部1001と、パケット処理部1002と、パケット振分部1003と、を備えている。   10A, an egress unit (FPGA # 3) 603 includes an input packet inspection unit 1001, a packet processing unit 1002, and a packet distribution unit 1003.

イングレス部(FPGA#2)602から入力されたパケットは、入力パケット検査部1001において、パケットごとにフレームの正常性をチェックされ、エラーの場合は当該パケットは廃棄される。エラーのないパケットは、後段のパケット処理部1002において、本来実施するパケットの処理(たとえば、出力帯域制御など)を実施する。   The packet input from the ingress unit (FPGA # 2) 602 is checked for normality of the frame for each packet by the input packet inspection unit 1001, and in the case of an error, the packet is discarded. For packets having no error, the packet processing unit 1002 at the subsequent stage performs packet processing (for example, output bandwidth control) that is originally performed.

1030は、パケット処理部1002においてパケット処理された主信号パケットであり、1040は、パケット処理部1002においてパケット処理された負荷パケットである。いずれも、後段のパケット振分部1003へ転送される。   Reference numeral 1030 denotes a main signal packet subjected to packet processing in the packet processing unit 1002, and reference numeral 1040 denotes a load packet subjected to packet processing in the packet processing unit 1002. In either case, the packet is transferred to the packet distribution unit 1003 in the subsequent stage.

パケット振分部1003では、各パケットのヘッダー部の「Dest port」のフィールドのコードによって振り分け先を決定する。主信号パケット1030の「Dest port」のフィールドは、『Dest port=001b』であり、「001b」がポート#2を示していることから、ポート#2に接続されている第1インタフェース部(FPGA#1)601へ転送する。   The packet distribution unit 1003 determines the distribution destination based on the code in the “Dest port” field in the header of each packet. The field of “Dest port” of the main signal packet 1030 is “Dest port = 001b”, and “001b” indicates the port # 2, so the first interface unit (FPGA) connected to the port # 2 # 1) Transfer to 601.

また、負荷パケット1040の「Dest port」のフィールドは、『Dest port=000b』であり、「000b」がポート#1を示していることから、ポート#1に接続されている第1インタフェース部(FPGA#1)601へ転送する。ただし、上述したように、負荷パケットにおいては、出力ポートの番号は重要ではなく、「Dest port」のフィールドのコードは、後述する負荷パケット終端部を備えるいずれかのインタフェース部へ振り分けられればよい。   Further, since the “Dest port” field of the load packet 1040 is “Dest port = 000b” and “000b” indicates the port # 1, the first interface unit connected to the port # 1 ( FPGA # 1) Transfer to 601. However, as described above, in the load packet, the number of the output port is not important, and the code in the “Dest port” field may be distributed to any interface unit including a load packet terminal unit described later.

エグレス部(FPGA#3)603における処理の手順を図10Bに示す。まず、イングレス部(FPGA#2)602から、パケットが入力されたか否かを判断する(ステップS1061)。ここで、パケットが入力されるのを待って(ステップS1061:No)、入力された場合(ステップS1061:Yes)は、入力されたパケットがエラーパケットであるか否かを判断する(ステップS1062)。   The processing procedure in the egress section (FPGA # 3) 603 is shown in FIG. 10B. First, it is determined from the ingress unit (FPGA # 2) 602 whether or not a packet has been input (step S1061). Here, it waits for the packet to be input (step S1061: No), and when it is input (step S1061: Yes), it is determined whether the input packet is an error packet (step S1062). .

ステップS1062において、入力されたパケットがエラーパケットである場合(ステップS1062:Yes)は、当該パケットを廃棄し(ステップS1063)、ステップS1061へ戻る。一方、ステップS1061において、入力されたパケットがエラーパケットではない場合(ステップS1062:No)は、当該パケットに対して所定のパケット処理を施す(ステップS1064)。   In step S1062, if the input packet is an error packet (step S1062: Yes), the packet is discarded (step S1063), and the process returns to step S1061. On the other hand, in step S1061, when the input packet is not an error packet (step S1062: No), predetermined packet processing is performed on the packet (step S1064).

そして、所定のパケット処理が施された後パケットの転送先が、第1インタフェース部(FPGA#1)601であるか、は第2インタフェース部(FPGA#4)604であるかを判断する(ステップS1065)。ここで、転送先が第1インタフェース部(FPGA#1)601である場合(ステップS1065:Yes)は、第1インタフェース部(FPGA#1)601へ転送し(ステップS1066)、その後、ステップS1061へ戻る。   Then, after predetermined packet processing is performed, it is determined whether the transfer destination of the packet is the first interface unit (FPGA # 1) 601 or the second interface unit (FPGA # 4) 604 (step). S1065). If the transfer destination is the first interface unit (FPGA # 1) 601 (step S1065: Yes), the transfer is transferred to the first interface unit (FPGA # 1) 601 (step S1066), and then to step S1061. Return.

一方、転送先が第1インタフェース部(FPGA#1)601でない場合、すなわち、第2インタフェース部(FPGA#4)604である場合(ステップS1065:No)は、第2インタフェース部(FPGA#4)604へ転送し(ステップS1067)、その後、ステップS1061へ戻る。   On the other hand, when the transfer destination is not the first interface unit (FPGA # 1) 601, that is, when it is the second interface unit (FPGA # 4) 604 (step S1065: No), the second interface unit (FPGA # 4). It transfers to 604 (step S1067), and returns to step S1061 after that.

エグレス部(FPGA#3)603においては、このような手順で、多重化されたパケットに対するパケット処理を施した後、出力ポートに接続されている出力処理用インタフェース部へデータを渡す。   The egress unit (FPGA # 3) 603 performs packet processing on the multiplexed packet in such a procedure, and then passes the data to the output processing interface unit connected to the output port.

(第1、第2インタフェース部の出力側処理における機能的構成および処理手順)
つぎに、実施の形態2にかかるパケット処理装置の第1インタフェース部(FPGA#1)601、第2インタフェース部(FPGA#4)604の機能的構成および第1インタフェース部(FPGA#1)601、第2インタフェース部(FPGA#4)604における出力側処理について説明する。図11Aは、インタフェース部の機能的構成の別の一例およびパケットの内容を示す説明図であり、図11Bは、実施の形態2にかかるパケット処理装置のインタフェース部の処理手順の別の一例を示すフローチャートである。
(Functional configuration and processing procedure in output side processing of first and second interface units)
Next, the functional configuration of the first interface unit (FPGA # 1) 601 and the second interface unit (FPGA # 4) 604 and the first interface unit (FPGA # 1) 601 of the packet processing apparatus according to the second embodiment, The output side processing in the second interface unit (FPGA # 4) 604 will be described. FIG. 11A is an explanatory diagram illustrating another example of the functional configuration of the interface unit and the contents of the packet, and FIG. 11B illustrates another example of the processing procedure of the interface unit of the packet processing device according to the second exemplary embodiment. It is a flowchart.

図11Aにおいて、第1インタフェース部(FPGA#1)601は、入出力ポート(ポート#1〜ポート#n)に接続され、入力パケット検査部1101、負荷パケット終端部1102、パケット処理部1103、パケット出力分離部1104と、を備えている。また、第2インタフェース部(FPGA#4)604も、第1インタフェース部(FPGA#1)601と同様の構成部(入力パケット検査部、負荷パケット終端部、パケット処理部、パケット出力分離部)を備えている。   In FIG. 11A, a first interface unit (FPGA # 1) 601 is connected to an input / output port (port # 1 to port #n), and an input packet inspection unit 1101, a load packet termination unit 1102, a packet processing unit 1103, a packet An output separation unit 1104. Also, the second interface unit (FPGA # 4) 604 has the same components (input packet inspection unit, load packet termination unit, packet processing unit, packet output separation unit) as the first interface unit (FPGA # 1) 601. I have.

エグレス部(FPGA#3)603から入力されたパケットは、入力パケット検査部1101において、パケットごとにフレームの正常性をチェックされ、エラーの場合は当該パケットは廃棄される。エラーのないパケットは、後段の負荷パケット終端部1102へ転送される。   The packet input from the egress part (FPGA # 3) 603 is checked for normality of the frame for each packet by the input packet inspection part 1101, and in the case of an error, the packet is discarded. A packet having no error is transferred to the load packet termination unit 1102 at the subsequent stage.

負荷パケット終端部903は、各パケットのヘッダー部の「Packet Type」のフィールドを参照し、『PT=10b』のパケット(負荷パケット1140)をすべて廃棄する。『PT=00b』のパケット(主信号パケット1130)は、後段のパケット処理部1103へ転送される。したがって、負荷パケット終端部903からパケット処理部1103へ転送されるのは、主信号パケット1130のみである。   The load packet termination unit 903 refers to the “Packet Type” field in the header of each packet, and discards all the packets of “PT = 10b” (load packet 1140). The packet of “PT = 00b” (main signal packet 1130) is transferred to the packet processing unit 1103 at the subsequent stage. Therefore, only the main signal packet 1130 is transferred from the load packet termination unit 903 to the packet processing unit 1103.

パケット処理部1103では、本来実施するパケットの処理(たとえば、統計カウントなど)を実施し、その後、パケットを最終段のパケット出力分離部1104へ転送する。パケット出力分離部1104では、装置内ヘッダーおよびFCS−Hを削除する。その結果、出力パケット1150の状態、すなわち、図8Aに示した入力パケット820の状態に戻す。そして、出力パケット1150を、「Dest port」のフィールドの『Dest port=001b』に基づいてポート#2へ出力する。   The packet processing unit 1103 performs packet processing (for example, statistical count) that is originally performed, and then transfers the packet to the packet output separation unit 1104 at the final stage. The packet output separation unit 1104 deletes the in-device header and FCS-H. As a result, the state is returned to the state of the output packet 1150, that is, the state of the input packet 820 shown in FIG. 8A. Then, the output packet 1150 is output to the port # 2 based on “Dest port = 001b” in the “Dest port” field.

第1インタフェース部(FPGA#1)601における出力側処理の手順を図11Bに示す。まず、エグレス部(FPGA#3)603から、パケットが入力されたか否かを判断する(ステップS1161)。ここで、パケットが入力されるのを待って(ステップS1161:No)、入力された場合(ステップS1161:Yes)は、入力されたパケットがエラーパケットであるか否かを判断する(ステップS1162)。   The procedure of the output side processing in the first interface unit (FPGA # 1) 601 is shown in FIG. 11B. First, it is determined from the egress part (FPGA # 3) 603 whether or not a packet has been input (step S1161). Here, after waiting for the packet to be input (step S1161: No), if it is input (step S1161: Yes), it is determined whether or not the input packet is an error packet (step S1162). .

ステップS1162において、入力されたパケットがエラーパケットである場合(ステップS1162:Yes)は、当該パケットを廃棄し(ステップS1163)、ステップS1161へ戻る。一方、ステップS1161において、入力されたパケットがエラーパケットではない場合(ステップS1162:No)は、つぎに、当該パケットが、負荷パケットであるかを判断する(ステップS1164)。ここで、負荷パケットである場合(ステップS1164:Yes)は、当該負荷パケットを廃棄し(ステップS1165)、ステップS1161へ戻る。   In step S1162, if the input packet is an error packet (step S1162: Yes), the packet is discarded (step S1163), and the process returns to step S1161. On the other hand, if the input packet is not an error packet in step S1161 (step S1162: No), it is next determined whether the packet is a load packet (step S1164). If the packet is a load packet (step S1164: YES), the load packet is discarded (step S1165), and the process returns to step S1161.

一方、負荷パケットでない、すなわち主信号パケットである場合(ステップS1164:No)は、当該主信号パケットに対して所定のパケット処理を施す(ステップS1166)。さらに、装置内ヘッダーおよびFCS−Hを削除し(ステップS1167)、装置内ヘッダーおよびFCS−Hが削除されたパケット(すなわち、入力されたときの状態のパケット)を、決められた出力ポートへ出力し(ステップS1168)、その後、ステップS1161へ戻る。   On the other hand, when the packet is not a load packet, that is, a main signal packet (step S1164: No), predetermined packet processing is performed on the main signal packet (step S1166). Further, the in-device header and FCS-H are deleted (step S1167), and the packet from which the in-device header and FCS-H are deleted (that is, the packet in the state when it is input) is output to a predetermined output port. (Step S1168), and then the process returns to step S1161.

第1インタフェース部(FPGA#1)601においては、このような手順で、出力側処理をおこなうことができる。   The first interface unit (FPGA # 1) 601 can perform output side processing in such a procedure.

以上のように、実施の形態2にかかるパケット処理装置によれば、実施の形態1と同様に、主信号パケット処理時の負荷急変を抑止し、主信号パケットのロスを回避することが可能となる。   As described above, according to the packet processing apparatus according to the second embodiment, as in the first embodiment, it is possible to suppress a sudden change in load during main signal packet processing and to avoid loss of the main signal packet. Become.

また、実施の形態2にかかるパケット処理装置によれば、パケット処理部であるイングレス部(FPGA#2)102は、インタフェース部(FPGA#1)101から多重パケットの入力を受け付け、パケット識別部903により、多重パケットから、パケットと、ダミーパケットとを識別し、宛先解決部904により、識別された前記パケットに対してのみに特定のパケット処理(たとえば宛先解決処理)をおこない、特別のパケット処理をおこなった後、出力対象となっている出力ポートに接続されている出力処理用インタフェース部へ多重パケットを送るので、負荷信号に宛先が付与されることがなく、したがって、負荷パケットが誤って出力ポートから出力されることはない。   Also, according to the packet processing apparatus according to the second exemplary embodiment, the ingress unit (FPGA # 2) 102, which is a packet processing unit, receives an input of a multiplexed packet from the interface unit (FPGA # 1) 101, and receives a packet identification unit 903. Thus, a packet and a dummy packet are identified from the multiplex packet, and a specific packet process (for example, a destination resolution process) is performed only on the identified packet by the destination resolution unit 904, and a special packet process is performed. After this is done, the multiplex packet is sent to the output processing interface connected to the output port that is the output target, so the destination is not given to the load signal. Will not be output.

(実施の形態3)
図12は、実施の形態3にかかるパケット処理装置のハードウエア構成の別の一例を示す説明である。図12も、図1、図6と同様に、パケット処理装置の具体的な一例である、FPGAで構成されるイーサネットベースのパケット処理装置600の構成例を示す。また、図13は、実施の形態3にかかるパケット処理装置内のパケット・フォーマットの内容の一例を示す説明図である。
(Embodiment 3)
FIG. 12 is a diagram illustrating another example of the hardware configuration of the packet processing device according to the third embodiment. FIG. 12 also shows a configuration example of an Ethernet-based packet processing device 600 configured with an FPGA, which is a specific example of the packet processing device, similarly to FIGS. 1 and 6. FIG. 13 is an explanatory diagram of an example of the contents of the packet format in the packet processing apparatus according to the third embodiment.

図6に示した実施の形態2にかかるパケット処理装置は、1つのカード内に完結したいわゆる1RU(Rack Unit)タイプの装置であるのに対して、図12に示す実施の形態3にかかるパケット処理装置は、複数のカードにまたがってパケット伝送されるシェルフタイプの装置である。   The packet processing apparatus according to the second embodiment shown in FIG. 6 is a so-called 1RU (Rack Unit) type apparatus completed in one card, whereas the packet according to the third embodiment shown in FIG. The processing device is a shelf type device that transmits packets across a plurality of cards.

図12において、パケット処理装置は、第1カード1200と第2カード1250とから構成されている。各カード内の構成は、図6に示した、実施の形態2にかかるパケット処理装置100と同様の構成である。   In FIG. 12, the packet processing apparatus includes a first card 1200 and a second card 1250. The configuration in each card is the same as that of the packet processing apparatus 100 according to the second embodiment shown in FIG.

また、第1カード1200、第2カード1250は、図1に示したパケット処理装置100、図6に示したパケット処理装置600と同様に、第1カード1200、第2カード1250内の各デバイスの監視制御をおこなう、図示を省略するCPU部や、各デバイスへ必要となる電源を供給する、図示を省略する電源部などを備えていてもよい。   Further, the first card 1200 and the second card 1250 are the same as the packet processing apparatus 100 shown in FIG. 1 and the packet processing apparatus 600 shown in FIG. 6, respectively, of each device in the first card 1200 and the second card 1250. A CPU unit (not shown) that performs monitoring control and a power source unit (not shown) that supplies necessary power to each device may be provided.

図12に示すように、2枚のカード1200、1250にまたがって構成される16ポートを有する。具体的には、第1カード1200の第1インタフェース部(FPGA#1)1201がポート#1〜ポート#4、第1カード1200の第2インタフェース部(FPGA#4)1204がポート#5〜ポート#8、第2カード1250の第1インタフェース部(FPGA#1)1251がポート#9〜ポート#12、第2カード1250の第2インタフェース部(FPGA#4)1254がポート#13〜ポート#16をそれぞれ持っている。   As shown in FIG. 12, it has 16 ports configured to straddle two cards 1200, 1250. Specifically, the first interface unit (FPGA # 1) 1201 of the first card 1200 is port # 1 to port # 4, and the second interface unit (FPGA # 4) 1204 of the first card 1200 is port # 5 to port # 5. # 8, the first interface unit (FPGA # 1) 1251 of the second card 1250 is port # 9 to port # 12, and the second interface unit (FPGA # 4) 1254 of the second card 1250 is port # 13 to port # 16. Have each.

また、第1カード1200のイングレス部(FRGA#2)1202が、第1カード1200のエグレス部(FRGA#3)1203だけでなく、第2カード1250のエグレス部(FRGA#3)1253へも、パケットを転送する構成となっている。同様に、第2カード1250のイングレス部(FRGA#2)1252が、第2カード1250のエグレス部(FRGA#3)1253だけでなく、第1カード1200のエグレス部(FRGA#3)1203へも、パケットを転送する構成となっている。   Further, the ingress portion (FRGA # 2) 1202 of the first card 1200 is not only sent to the egress portion (FRGA # 3) 1203 of the first card 1200 but also to the egress portion (FRGA # 3) 1253 of the second card 1250. The packet is transferred. Similarly, the ingress part (FRGA # 2) 1252 of the second card 1250 not only applies to the egress part (FRGA # 3) 1253 of the second card 1250 but also to the egress part (FRGA # 3) 1203 of the first card 1200. The packet is transferred.

このような拡張を実現するために、図13において、主信号パケットの装置内パケット・フォーマットのうち、ヘッダー部の「Src port」のフィールドと「Dest port」のフィールドにおけるポートを1〜16に拡張させる。具体的には、「Src port」、「Dest port」ともに、『0000b』(「port1」)〜『1111b』(port16)を割り付ける。   In order to realize such extension, in FIG. 13, the ports in the “Src port” field and the “Dest port” field of the header portion of the in-device packet format of the main signal packet are extended to 1-16. Let Specifically, “0000b” (“port1”) to “1111b” (port16) are assigned to both “Src port” and “Dest port”.

したがって、第1カード1200のイングレス部(FRGA#2)1202および第2カード1250のイングレス部(FRGA#2)1252は、「Dest port」のフィールドにおいて『Dest port=0000b』〜『Dest port=1111b』であれば、パケットを第1カード1200のエグレス部(FRGA#3)1203へ転送し、『Dest port=1000b』〜『Dest port=1111b』であれば、パケットを第2カード1250のエグレス部(FRGA#3)1253へ転送する。   Accordingly, the ingress portion (FRGA # 2) 1202 of the first card 1200 and the ingress portion (FRGA # 2) 1252 of the second card 1250 are “Dest port = 0000b” to “Dest port = 1111b” in the “Dest port” field. ], The packet is transferred to the egress part (FRGA # 3) 1203 of the first card 1200. If “Dest port = 1000b” to “Dest port = 1111b”, the packet is sent to the egress part of the second card 1250. Transfer to (FRGA # 3) 1253.

「Src port」のフィールド713には、入力パケットの入力されたポート番号を示すSource portが格納される。「Src port」が『0000b』であれば「port1」であり、『0001b』であれば「port2」であり、...『0111b』であれば、「port8」である。また、「Dest port」のフィールド714には、入力パケットの出力先のポート番号を示すDestination portが格納される。 The “Src port” field 713 stores a source port indicating the port number of the input packet. If “Src port” is “0000b”, it is “port1”, if “0001b”, it is “port2”. . . If it is “0111b”, it is “port8”. Further, the “Dest port” field 714 stores a destination port indicating a port number of an output destination of the input packet.

また、「Dest port」は、「Src port」と同様に、『0000b』であれば「port1」であり、『0001b』であれば「port2」であり、...『0111b』であれば、「port8」である。また、「Reserved」のフィールド715には、リザーブ領域を示すコード(たとえば、『000000b』など)が格納される。   Similarly to “Src port”, “Dest port” is “port1” if “0000b”, “port2” if “0001b”,. . . If it is “0111b”, it is “port8”. In the “Reserved” field 715, a code indicating a reserved area (for example, “000000b” or the like) is stored.

以上のように、実施の形態3にかかるパケット処理装置によれば、実施の形態1、2と同様に、主信号パケット処理時の負荷急変を抑止し、主信号パケットのロスを回避することが可能となる。   As described above, according to the packet processing apparatus according to the third embodiment, as in the first and second embodiments, it is possible to suppress a sudden load change during main signal packet processing and to avoid loss of the main signal packet. It becomes possible.

また、実施の形態3にかかるパケット処理装置によれば、入力処理用インタフェース部、パケット処理部および出力処理用インタフェース部を有するユニットとしてのカードを複数備え、各ユニットとしてのカードのパケット処理部(イングレス部1202、1252、エグレス部1203、1253)間において、多重パケットの送受信をおこなうので、パケット処理装置が拡張され、装置自体規模が大きくなり、処理するパケット量が増大しても対応することが可能である。   The packet processing apparatus according to the third embodiment includes a plurality of cards as a unit having an input processing interface unit, a packet processing unit, and an output processing interface unit, and the card packet processing unit ( Multiple packets are transmitted and received between the ingress units 1202 and 1252 and the egress units 1203 and 1253), so that the packet processing device is expanded, the device itself becomes larger, and the amount of packets to be processed can be increased. Is possible.

上述した実施の形態に関し、さらに以下の付記を開示する。   The following additional notes are disclosed with respect to the embodiment described above.

(付記1)複数の入力ポートと複数の出力ポートとを有し、前記入力ポートにより受信されたパケットを処理し、前記出力ポートから送信するパケット処理装置において、
前記入力ポートにより受信された前記パケットが入力され、前記パケットが入力されたタイミングを検出し、検出した前記タイミングから所定時間だけ前記パケットを遅延させるとともに、前記所定時間においてダミーパケットを生成する入力処理用インタフェース部と、
前記入力処理用インタフェース部から、生成された前記ダミーパケットと、前記パケットとが入力され、入力された前記ダミーパケットと前記パケットとをメモリに一時的に記憶させるパケット処理部と、
を有することを特徴とするパケット処理装置。
(Supplementary Note 1) In a packet processing apparatus that has a plurality of input ports and a plurality of output ports, processes a packet received by the input port, and transmits the packet from the output port.
Input process in which the packet received by the input port is input, the timing at which the packet is input is detected, the packet is delayed by a predetermined time from the detected timing, and a dummy packet is generated at the predetermined time Interface section,
A packet processing unit that receives the generated dummy packet and the packet from the input processing interface unit and temporarily stores the input dummy packet and the packet in a memory;
A packet processing apparatus comprising:

(付記2)前記パケット処理部から、前記ダミーパケットと前記パケットとが入力され、入力された前記ダミーパケットと前記パケットとを識別し、識別された前記ダミーパケットを廃棄し、識別された前記パケットを前記出力ポートへ出力する出力処理用インタフェース部
を有することを特徴とする付記1に記載のパケット処理装置。
(Appendix 2) The dummy packet and the packet are input from the packet processing unit, the input dummy packet and the packet are identified, the identified dummy packet is discarded, and the identified packet 2. The packet processing device according to claim 1, further comprising an output processing interface unit that outputs a message to the output port.

(付記3)前記パケット処理部は、
入力された前記ダミーパケットと前記パケットとを識別し、識別された前記パケットに対してのみに特定のパケット処理をおこなうことを特徴とする付記1または2に記載のパケット処理装置。
(Supplementary Note 3) The packet processing unit
The packet processing apparatus according to appendix 1 or 2, wherein the input dummy packet and the packet are identified, and specific packet processing is performed only on the identified packet.

(付記4)前記ダミーパケットは、当該ダミーパケットのヘッダー内にダミーパケットであると認識可能な識別情報を含んでいることを特徴とする付記1〜3のいずれか一つに記載のパケット処理装置。 (Supplementary Note 4) The packet processing device according to any one of Supplementary Notes 1 to 3, wherein the dummy packet includes identification information that can be recognized as a dummy packet in a header of the dummy packet. .

(付記5)前記パケット処理部は、第1のパケット処理部と第2のパケット処理部とからなり、
前記第1のパケット処理部は、
入力された前記ダミーパケットと前記パケットとを識別し、
識別された前記パケットに対してのみ、宛先解決に関するパケット処理をおこない、
前記パケット処理をおこなった後、第2のパケット処理部へ前記ダミーパケットと前記パケットとを送り、
前記第2のパケット処理部は、
前記第1のパケット処理部から入力された前記ダミーパケットと前記パケットとに対してパケット処理をおこない、
前記パケット処理をおこなった後、出力対象となっている前記出力処理用インタフェース部へ前記ダミーパケットと前記パケットとを送ることを特徴とする付記1〜3のいずれか一つに記載のパケット処理装置。
(Supplementary Note 5) The packet processing unit includes a first packet processing unit and a second packet processing unit,
The first packet processing unit includes:
Identify the input dummy packet and the packet,
Perform packet processing on destination resolution only for the identified packet,
After performing the packet processing, send the dummy packet and the packet to a second packet processing unit,
The second packet processing unit
Packet processing is performed on the dummy packet and the packet input from the first packet processing unit,
The packet processing device according to any one of appendices 1 to 3, wherein after the packet processing is performed, the dummy packet and the packet are sent to the output processing interface unit to be output. .

(付記6)前記入力処理用インタフェース部、前記パケット処理部および前記出力処理用インタフェース部を有するユニットを複数備え、
各前記ユニットの前記パケット処理部間において、前記ダミーパケットと前記パケットとの送受信をおこなうことを特徴とする付記2〜5のいずれか一つに記載のパケット処理装置。
(Supplementary Note 6) A plurality of units including the input processing interface unit, the packet processing unit, and the output processing interface unit are provided.
The packet processing device according to any one of appendices 2 to 5, wherein the dummy packet and the packet are transmitted and received between the packet processing units of each unit.

(付記7)前記入力処理用インタフェース部が、前記出力処理用インタフェース部の処理をおこなうことを特徴とする付記2〜6のいずれか一つに記載のパケット処理装置。 (Supplementary note 7) The packet processing device according to any one of supplementary notes 2 to 6, wherein the input processing interface unit performs processing of the output processing interface unit.

(付記8)前記出力処理用インタフェース部を複数備え、
前記パケット処理部は、複数の前記出力処理用インタフェース部のいずれか一つへ前記ダミーパケットと前記パケットを送ることを特徴とする付記2〜7のいずれか一つに記載のパケット処理装置。
(Supplementary note 8) A plurality of output processing interface units are provided,
The packet processing device according to any one of appendices 2 to 7, wherein the packet processing unit sends the dummy packet and the packet to any one of the plurality of output processing interface units.

(付記9)前記入力処理用インタフェース部を複数備え、
前記パケット処理部は、複数の前記入力処理用インタフェース部のいずれか一つから前記ダミーパケットと前記パケットが入力されることを特徴とする付記1〜8のいずれか一つに記載のパケット処理装置。
(Supplementary Note 9) A plurality of the input processing interface units are provided,
The packet processing device according to any one of appendices 1 to 8, wherein the packet processing unit receives the dummy packet and the packet from any one of the plurality of input processing interface units. .

(付記10)複数の入力ポートと複数の出力ポートとを有し、前記入力ポートにより受信されたパケットを処理し、前記出力ポートから送信するパケット処理方法において、
前記入力ポートにより受信された前記パケットが入力され、前記パケットが入力されたタイミングを検出し、検出した前記タイミングから所定時間だけ前記パケットを遅延させるとともに、前記所定時間においてダミーパケットを生成し、
生成された前記ダミーパケットと、前記パケットとが入力され、入力された前記ダミーパケットと前記パケットとをメモリに一時的に記憶させることを特徴とするパケット処理方法。
(Additional remark 10) In the packet processing method which has a plurality of input ports and a plurality of output ports, processes a packet received by the input port, and transmits from the output port,
The packet received by the input port is input, the timing at which the packet is input is detected, the packet is delayed by a predetermined time from the detected timing, and a dummy packet is generated at the predetermined time,
A packet processing method, wherein the generated dummy packet and the packet are input, and the input dummy packet and the packet are temporarily stored in a memory.

(付記11)前記メモリに一時的に記憶された前記ダミーパケットと前記パケットとが入力され、入力された前記ダミーパケットと前記パケットとを識別し、識別された前記ダミーパケットを廃棄し、識別された前記パケットを前記出力ポートへ出力することを特徴とする付記10に記載のパケット処理方法。 (Supplementary Note 11) The dummy packet and the packet temporarily stored in the memory are input, the input dummy packet and the packet are identified, the identified dummy packet is discarded, and the identified 11. The packet processing method according to appendix 10, wherein the packet is output to the output port.

(付記12)生成された前記ダミーパケットと、前記パケットとが入力され、入力された前記ダミーパケットと前記パケットとを識別し、識別された前記パケットに対してのみに特定のパケット処理をおこなうことを特徴とする付記11に記載のパケット処理方法。 (Supplementary Note 12) The generated dummy packet and the packet are input, the input dummy packet and the packet are identified, and specific packet processing is performed only on the identified packet The packet processing method according to appendix 11, characterized by:

(付記13)前記ダミーパケットは、当該ダミーパケットのヘッダー内にダミーパケットであると認識可能な識別情報を含んでおり、
前記識別情報に基づいて、前記ダミーパケットと前記パケットとを識別することを特徴とする付記10〜12のいずれか一つに記載のパケット処理方法。
(Supplementary note 13) The dummy packet includes identification information that can be recognized as a dummy packet in the header of the dummy packet.
The packet processing method according to any one of appendices 10 to 12, wherein the dummy packet and the packet are identified based on the identification information.

100、600 パケット処理装置
101、601、1201、1251 インタフェース部(FPGA#1)
102、602、1202、1252 イングレス部(FPGA#2)
103、603、1203、1253 エグレス部(FPGA#3)
112,113 メモリ
121、122、123、621、622、623、624 電源部
150、650 CPU
201 パケット入力多重部
202、804 遅延挿入部
203、805 入力パケット検出部
204、806 負荷パケット生成部
205、807 負荷パケット多重部
206、207、208、808、905、1002、1103 パケット処理部
209、1102 負荷パケット終端部
210 パケット出力分離部
604、1204、1254 第2インタフェース部(FPGA#4)
801、901、1001、1101 入力パケット検査部
802、902 パケット多重部
803 ヘッダー&FCS付与部
903 パケット識別部
904 宛先解決部
1003 パケット振分部
1104 パケット出力分離部
1200 第1カード
1250 第2カード
100, 600 Packet processing device 101, 601, 1201, 1251 Interface unit (FPGA # 1)
102, 602, 1202, 1252 Ingress part (FPGA # 2)
103, 603, 1203, 1253 Egress section (FPGA # 3)
112, 113 Memory 121, 122, 123, 621, 622, 623, 624 Power supply unit 150, 650 CPU
201 packet input multiplexing unit 202, 804 delay insertion unit 203, 805 input packet detection unit 204, 806 load packet generation unit 205, 807 load packet multiplexing unit 206, 207, 208, 808, 905, 1002, 1103 packet processing unit 209, 1102 Load packet termination unit 210 Packet output separation unit 604, 1204, 1254 Second interface unit (FPGA # 4)
801, 901, 1001, 1101 Input packet inspection unit 802, 902 Packet multiplexing unit 803 Header & FCS grant unit 903 Packet identification unit 904 Destination resolution unit 1003 Packet distribution unit 1104 Packet output separation unit 1200 First card 1250 Second card

Claims (12)

複数の入力ポートと複数の出力ポートとを有し、前記入力ポートにより受信されたパケットを処理し、前記出力ポートから送信するパケット処理装置において、
前記入力ポートにより受信された前記パケットが入力され、前記パケットが入力されたタイミングを検出し、検出した前記タイミングから所定時間だけ前記パケットを遅延させるとともに、前記所定時間においてダミーパケットを生成する入力処理用インタフェース部と、
前記入力処理用インタフェース部から、生成された前記ダミーパケットと、前記パケットとが入力され、入力された前記ダミーパケットと前記パケットとをメモリに一時的に記憶させるパケット処理部と、
を有することを特徴とするパケット処理装置。
In a packet processing device having a plurality of input ports and a plurality of output ports, processing a packet received by the input port, and transmitting from the output port,
Input process in which the packet received by the input port is input, the timing at which the packet is input is detected, the packet is delayed by a predetermined time from the detected timing, and a dummy packet is generated at the predetermined time Interface section,
A packet processing unit that receives the generated dummy packet and the packet from the input processing interface unit and temporarily stores the input dummy packet and the packet in a memory;
A packet processing apparatus comprising:
前記パケット処理部から、前記ダミーパケットと前記パケットとが入力され、入力された前記ダミーパケットと前記パケットとを識別し、識別された前記ダミーパケットを廃棄し、識別された前記パケットを前記出力ポートへ出力する出力処理用インタフェース部
を有することを特徴とする請求項1に記載のパケット処理装置。
The dummy packet and the packet are inputted from the packet processing unit, the inputted dummy packet and the packet are identified, the identified dummy packet is discarded, and the identified packet is sent to the output port The packet processing apparatus according to claim 1, further comprising an output processing interface unit configured to output to the network.
前記パケット処理部は、
入力された前記ダミーパケットと前記パケットとを識別し、識別された前記パケットに対してのみに特定のパケット処理をおこなうことを特徴とする請求項1または2に記載のパケット処理装置。
The packet processing unit
The packet processing apparatus according to claim 1 or 2, wherein the inputted dummy packet and the packet are identified, and specific packet processing is performed only on the identified packet.
前記ダミーパケットは、当該ダミーパケットのヘッダー内にダミーパケットであると認識可能な識別情報を含んでいることを特徴とする請求項1〜3のいずれか一つに記載のパケット処理装置。   The packet processing apparatus according to claim 1, wherein the dummy packet includes identification information that can be recognized as a dummy packet in a header of the dummy packet. 前記パケット処理部は、第1のパケット処理部と第2のパケット処理部とからなり、
前記第1のパケット処理部は、
入力された前記ダミーパケットと前記パケットとを識別し、
識別された前記パケットに対してのみ、宛先解決に関するパケット処理をおこない、
前記パケット処理をおこなった後、第2のパケット処理部へ前記ダミーパケットと前記パケットとを送り、
前記第2のパケット処理部は、
前記第1のパケット処理部から入力された前記ダミーパケットと前記パケットとに対してパケット処理をおこない、
前記パケット処理をおこなった後、出力対象となっている前記出力処理用インタフェース部へ前記ダミーパケットと前記パケットとを送ることを特徴とする請求項1〜3のいずれか一つに記載のパケット処理装置。
The packet processing unit includes a first packet processing unit and a second packet processing unit,
The first packet processing unit includes:
Identify the input dummy packet and the packet,
Perform packet processing on destination resolution only for the identified packet,
After performing the packet processing, send the dummy packet and the packet to a second packet processing unit,
The second packet processing unit
Packet processing is performed on the dummy packet and the packet input from the first packet processing unit,
The packet processing according to any one of claims 1 to 3, wherein after the packet processing is performed, the dummy packet and the packet are sent to the output processing interface unit to be output. apparatus.
前記入力処理用インタフェース部、前記パケット処理部および前記出力処理用インタフェース部を有するユニットを複数備え、
各前記ユニットの前記パケット処理部間において、前記ダミーパケットと前記パケットとの送受信をおこなうことを特徴とする請求項2〜5のいずれか一つに記載のパケット処理装置。
A plurality of units including the input processing interface unit, the packet processing unit, and the output processing interface unit;
The packet processing apparatus according to claim 2, wherein the dummy packet and the packet are transmitted and received between the packet processing units of each unit.
前記出力処理用インタフェース部を複数備え、
前記パケット処理部は、複数の前記出力処理用インタフェース部のいずれか一つへ前記ダミーパケットと前記パケットを送ることを特徴とする請求項2〜6のいずれか一つに記載のパケット処理装置。
A plurality of output processing interface units;
The packet processing apparatus according to claim 2, wherein the packet processing unit sends the dummy packet and the packet to any one of the plurality of output processing interface units.
前記入力処理用インタフェース部を複数備え、
前記パケット処理部は、複数の前記入力処理用インタフェース部のいずれか一つから前記ダミーパケットと前記パケットが入力されることを特徴とする請求項1〜7のいずれか一つに記載のパケット処理装置。
A plurality of input processing interface units are provided,
8. The packet processing according to claim 1, wherein the packet processing unit receives the dummy packet and the packet from any one of the plurality of input processing interface units. apparatus.
複数の入力ポートと複数の出力ポートとを有し、前記入力ポートにより受信されたパケットを処理し、前記出力ポートから送信するパケット処理方法において、
前記入力ポートにより受信された前記パケットが入力され、前記パケットが入力されたタイミングを検出し、検出した前記タイミングから所定時間だけ前記パケットを遅延させるとともに、前記所定時間においてダミーパケットを生成し、
生成された前記ダミーパケットと、前記パケットとが入力され、入力された前記ダミーパケットと前記パケットとをメモリに一時的に記憶させることを特徴とするパケット処理方法。
In a packet processing method having a plurality of input ports and a plurality of output ports, processing a packet received by the input port, and transmitting from the output port,
The packet received by the input port is input, the timing at which the packet is input is detected, the packet is delayed by a predetermined time from the detected timing, and a dummy packet is generated at the predetermined time,
A packet processing method, wherein the generated dummy packet and the packet are input, and the input dummy packet and the packet are temporarily stored in a memory.
前記メモリに一時的に記憶された前記ダミーパケットと前記パケットとが入力され、入力された前記ダミーパケットと前記パケットとを識別し、識別された前記ダミーパケットを廃棄し、識別された前記パケットを前記出力ポートへ出力することを特徴とする請求項9記載のパケット処理方法。   The dummy packet and the packet temporarily stored in the memory are input, the input dummy packet and the packet are identified, the identified dummy packet is discarded, and the identified packet is The packet processing method according to claim 9, wherein the packet is output to the output port. 生成された前記ダミーパケットと、前記パケットとが入力され、入力された前記ダミーパケットと前記パケットとを識別し、識別された前記パケットに対してのみに特定のパケット処理をおこなうことを特徴とする請求項10に記載のパケット処理方法。   The generated dummy packet and the packet are input, the input dummy packet and the packet are identified, and specific packet processing is performed only on the identified packet. The packet processing method according to claim 10. 前記ダミーパケットは、当該ダミーパケットのヘッダー内にダミーパケットであると認識可能な識別情報を含んでおり、
前記識別情報に基づいて、前記ダミーパケットと前記パケットとを識別することを特徴とする請求項9〜11のいずれか一つに記載のパケット処理方法。
The dummy packet includes identification information that can be recognized as a dummy packet in the header of the dummy packet,
The packet processing method according to claim 9, wherein the dummy packet and the packet are identified based on the identification information.
JP2016098878A 2016-05-17 2016-05-17 Packet processing apparatus and packet processing method Pending JP2017208654A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016098878A JP2017208654A (en) 2016-05-17 2016-05-17 Packet processing apparatus and packet processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016098878A JP2017208654A (en) 2016-05-17 2016-05-17 Packet processing apparatus and packet processing method

Publications (1)

Publication Number Publication Date
JP2017208654A true JP2017208654A (en) 2017-11-24

Family

ID=60415089

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016098878A Pending JP2017208654A (en) 2016-05-17 2016-05-17 Packet processing apparatus and packet processing method

Country Status (1)

Country Link
JP (1) JP2017208654A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107888457A (en) * 2017-12-08 2018-04-06 新华三技术有限公司 Port method for detecting packet loss, device and communication equipment

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107888457A (en) * 2017-12-08 2018-04-06 新华三技术有限公司 Port method for detecting packet loss, device and communication equipment

Similar Documents

Publication Publication Date Title
WO2021180073A1 (en) Packet transmission method and device, network node, and storage medium
JP4031803B2 (en) Time critical information transmission method in synchronous Ethernet (registered trademark) system
US8767747B2 (en) Method for transferring data packets in a communication network and switching device
US20130279341A1 (en) Congestion Notification Element and Method for Congestion Control
CN110943933A (en) Method, device and system for realizing data transmission
CN112242956B (en) Flow rate control method and device
US10230656B2 (en) Method and apparatus for controlling message over heterogeneous network
US8848739B2 (en) Efficient switch fabric bandwidth distribution
JP6468193B2 (en) Communication device, network available bandwidth estimation method in communication device, and network available bandwidth estimation program
US20060025124A1 (en) Radio information communicating system
US9548929B2 (en) Frame transfer apparatus and frame transfer method
US9001833B2 (en) Relay apparatus, reception apparatus, and communication system
JP2017208654A (en) Packet processing apparatus and packet processing method
US7561522B1 (en) Communications network having mechanism for removal of time-expired packets from the network
CN108243117B (en) Flow monitoring method and device and electronic equipment
KR101163146B1 (en) Residential Ethernet Switching Apparatus For Switching Based Sub Frame
WO2015170475A1 (en) Communication device, communication system, communication method, and storage medium storing program for communication
KR101035766B1 (en) Synchronous Data Constructing Method In Residential Ethernet System
WO2022042386A1 (en) Method for controlling message sending, network device and system
US20060224737A1 (en) Method for forming super frame used for transmitting isochronous data and asynchronous data in residential Ethernet system
US7414991B2 (en) Computing system and method to select data packet
EP1624621A1 (en) Packet communicate terminal
US20160087934A1 (en) Communication system, communication method, and transmission apparatus
WO2015169244A1 (en) System and method for loop suppression in transit networks
US20220050440A1 (en) Communication Device and Method for Data Transmission within an Industrial Communication Network