JP2017208654A - Packet processing apparatus and packet processing method - Google Patents
Packet processing apparatus and packet processing method Download PDFInfo
- 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
Links
Images
Landscapes
- Communication Control (AREA)
- Power Sources (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
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,
しかしながら、上記第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.
以下に添付図面を参照して、本発明にかかるパケット処理装置およびパケット処理方法の実施の形態を詳細に説明する。 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
図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
外部インタフェース・ポートから入力されるユーザ・パケット(入力パケット)は、インタフェース部(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
エグレス部(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
また、パケット処理装置100は、パケット処理装置100内の各デバイスの監視制御をおこなうCPU150や、各デバイスへ必要となる電源を供給する電源部121、122、123などから構成される。
The
(パケット処理装置の機能的構成)
図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
入力されたパケットは、パケット入力多重部201においてパケットの正常性のチェックをおこない、エラーパケットを廃棄し、正常なパケットを多重して後段に送信し、パケット処理部206によって次段のイングレス部(FPGA#2)102に渡される。
The input packet checks the normality of the packet in the packet
なお、図2に示した実施の形態1にかかるパケット処理装置の入力側の処理をおこなうインタフェース部(FPGA#1)101においては、パケット入力多重部201のほかに、後述する図8Aに示す実施の形態2にかかるパケット処理装置の第1インタフェース部(FPGA#1)601と同様に、入力パケット検査部、ヘッダー&FCS付与部を備えていてもよい。
In addition to the packet
そして、パケット入力多重部201とパケット処理部206との間に、新たな処理部(遅延挿入部202、入力パケット検出部203、負荷パケット生成部204、負荷パケット多重部205)を配置する。
Then, new processing units (a
遅延挿入部202は、一定時間の間、主信号パケットを蓄積し、一定時間蓄積した後に、入力パケットを負荷パケット多重部205へ送信する。この一定時間、すなわち遅延時間は、負荷急変における電圧安定までの時間とするようにしてもよい。この一定時間は、自由に設定することが可能である。遅延挿入部202は、たとえば、図示を省略する、入力パケットを蓄積するメモリなどによってその機能を実現する。
The
入力パケット検出部203は、パケット入力多重部201において、エラーのない正常な入力パケットの入力を検出すると、当該入力パケットに対する負荷パケット多重タイミング(すなわち、負荷パケットの生成タイミングおよび多重タイミング)を生成し、負荷パケット多重タイミングに関する指示を、負荷パケット生成部204および負荷パケット多重部205へ通知する。入力パケット検出部203における処理の詳細については、図3Aおよび図3Bを用いて後述する。
When the packet
負荷パケット生成部204は、入力パケット検出部203から指示されたタイミングで、負荷パケットを生成し、生成した負荷パケットを負荷パケット多重部205へ送信する。この負荷パケットには、後述する負荷パケット終端部209で負荷パケットを識別できるように、ヘッダー内に入力パケットと区別するための識別情報を有する。
The load
負荷パケット多重部205は、遅延挿入部202から送信された主信号パケットと、負荷パケット生成部204から送信された負荷パケットとを、入力パケット検出部203から通知された指示に合わせて多重し、多重した主信号パケットと負荷パケットを、パケット処理部206へ送信する。パケット処理部206は、上述のように、多重した主信号パケットと負荷パケットを、次段のイングレス部(FPGA#2)102に転送する。
The load
イングレス部(FPGA#2)102は、主信号パケットの転送宛先を解決するためのテーブル検索処理や入力帯域制御処理、それらの処理のためのパケット・バッファなど外部メモリ112とのインタフェース機能を司るパケット処理部207を備える。
The ingress unit (FPGA # 2) 102 is a packet that performs an interface function with the
なお、図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
次段のエグレス部(FPGA#3)103は、外部メモリ113を使用して、マルチキャストやブロードキャストのためのパケットの複製処理や出力帯域制御処理をおこなうパケット処理部208を備える。
The next-stage egress unit (FPGA # 3) 103 includes a
なお、図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
また、パケットを出力する最後のインタフェース部(FPGA#1)101は、本来のパケット処理をおこなう前に、負荷パケットの終端処理をおこなう負荷パケット終端部209を配置する。負荷パケット終端部209は、負荷急変状況を作るために生成した負荷パケットを終端して廃棄処理を実行する。主信号パケットについてはそのまま後段のパケット出力分離部210へ引き渡し、適切なポートから送信する。
In addition, the last interface unit (FPGA # 1) 101 that outputs a packet arranges a load
なお、図2に示した実施の形態1にかかるパケット処理装置の出力側の処理をおこなうインタフェース部(FPGA#1)101においては、負荷パケット終端部209のほかに、後述する図11Aに示す実施の形態2にかかるパケット処理装置の第2インタフェース部(FPGA#4)604と同様に、入力パケット検査部、パケット処理部、パケット出力分離部を備えていてもよい。
In addition to the load
(入力パケット検出部の処理手順)
つぎに、入力パケット検出部203の処理の手順について説明する。図3Aは、入力パケット検出部の処理の手順を示すフローチャートである。また、図3Bは、負荷パケット生成・多重制御信号と入力パケットとの関係を示すタイムチャートである。
(Processing procedure of input packet detector)
Next, the processing procedure of the input
図3Aのフローチャートにおいて、まず、入力パケット検出部203は、正常な入力パケットが検出されたか否かを判断する(ステップS301)。ここで、正常な入力パケットが検出されるのを待って(ステップS301:No)、正常な入力パケットが検出された場合(ステップS301:Yes)に、一定時間のタイマーを起動する(ステップS302)。タイマーの起動とともに、そのタイミングで、負荷パケット生成・多重制御信号をONにする(ステップS303)。
In the flowchart of FIG. 3A, first, the input
そして、タイマーが満了したか否かを判断する(ステップ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
図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
一方、負荷パケット502も、主信号パケット501と同様に、ヘッダー521とペイロード522とFCS523とからなる。負荷パケット502には、ヘッダー521内に負荷パケットであることを示す負荷パケット識別情報525を設けて後段の負荷パケット終端部209で該当パケットを識別し廃棄させる。また、負荷パケット502のペイロード522は、ペイロード・パターンとして、All”0”、All”1、”0/1交番やランダムを選択可能な構成とし、またペイロード長(サイズ)は、固定長、可変長(たとえば64byte〜9600byte)を選択可能とする。
On the other hand, the
なお、電圧低下量は単位時間当たりの電流変動量に比例することから、主信号パケット入力時の負荷急変よりも緩やかな負荷変動状況を作ることで、電圧低下を緩和することが可能となる。そのためには、ペイロード長をできるだけ大きくする(たとえば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
また、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
また、実施の形態1にかかるパケット処理装置によれば、ダミーパケット502は、当該ダミーパケットのヘッダー521内にダミーパケットであると認識可能な負荷パケット識別情報525を含んでいるため、ダミーパケットの識別が容易になる。
Further, according to the packet processing apparatus according to the first embodiment, the
このように、複数の入力ポートと複数の出力ポートとを有し、入力ポートにより受信されたパケットを処理し、出力ポートから送信するパケット処理装置において、入力処理用インタフェース部は、入力ポートにより受信されたパケットが入力され、パケットが入力されたタイミングを検出し、検出したタイミングから所定時間だけパケットを遅延させるとともに、所定時間においてダミーパケットを生成することができる。 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
図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
第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 (
イングレス部(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
外部インタフェース・ポートから入力されるユーザ・パケット(入力パケット)は、第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
エグレス部(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
(パケット・フォーマットの内容)
つぎに、パケット・フォーマットの内容について説明する。図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
これに対して、装置内パケットのパケット・フォーマット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
図7Bに示すように、「Packet Type」のフィールド711には、パケット・タイプ、すなわち、当該パケットが、主信号パケットであるか、負荷パケットであるかを識別するためのコードが格納される。「Packet Type」が『00b』であれば、当該パケットが主信号パケットであり、『10b』であれば、当該パケットが負荷パケットである。ここで、“b”はbinary(2進数)で表現していることを示している。以下、コードにおける“b”は、いずれもbinary(2進数)で表現していることを示している。
As shown in FIG. 7B, the “Packet Type”
「Forwarding Type」のフィールド712には、通信の種別、すなわち、当該パケットが、ユニキャストであるか、マルチキャストであるか、ブロードキャストであるかを識別するためのコードが格納される。「Forwarding Type」が『00b』であれば、ユニキャストであり、『01b』であれば、マルチキャストであり、『10b』であれば、ブロードキャストである。
The “Forwarding Type”
「Src port」のフィールド713には、入力パケットの入力されたポート番号を示すSource portが格納される。「Src port」が『000b』であれば「port1」であり、『001b』であれば「port2」であり、...『111b』であれば、「port8」である。また、「Dest port」のフィールド714には、入力パケットの出力先のポート番号を示すDestination portが格納される。
The “Src port”
また、「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”
「Payload」のフィールド716と、「FCS−U」のフィールド717には、
入力パケットのパケット・フォーマット700の「Payload」のフィールド701と、「FCS−U」のフィールド702と、がそのまま格納される。そして、「FCS−H」のフィールド718は、ヘッダーの先頭の「Packet Type」のフィールド711から「FCS−U」のフィールド717までの領域に対してフレーム正常性をチェックする。
The “Payload”
The “Payload”
このように、パケット処理装置100が受信した入力パケット(パケット・フォーマット700)は、パケット処理装置100内において、ヘッダー部およびFCSが追加された、装置内パケット・フォーマット710によって通信されることになる。そして、負荷パケットに対する「Packet Type」の定義を追加することにより、主信号パケットと負荷パケットを識別することができる。
As described above, the input packet (packet format 700) received by the
(第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 (
入力ポート(ポート#1〜ポート#nのいずれか)から入力された入力パケット820は、入力パケット検査部801において、フレームの正常性をチェックされ、エラーの場合は廃棄される。エラーのないパケットは、後段のパケット多重部802において、複数の入力ポートからのパケットと多重される。その後、ヘッダー&FCS付与部803において、装置内で使うヘッダー部と、そのヘッダーの先頭からPayloadおよびFCS−Uも含めた領域のフレームの正常性をチェックするためにFCS(FCS−H)を演算して付与する。このようにして、主信号パケット830を生成する。
An
主信号パケット830は、主信号パケットであることが識別できるように、ヘッダー部の「Packet Type」を『PT=00b』とする。また、ヘッダー部の「Forwarding Type」は、一旦、『FT=00b』として、後段ブロック(イングレス部(FPGA#2)602)に引き渡す。また、主信号パケット830は、ポート#1から入力されたことを示すように、「Src port」が『Src port=000b』となっている。出力先ポートは後段ブロックで改めて付与されるため、ここでは入力ポート番号を使用し、『Dest port=000b』となっている。
The
その後、主信号パケット830は、入力パケット検出部805において、パケットの入力を検出したことを契機に、遅延挿入部804において一定時間の遅延が与えられ、負荷パケット多重部807に送られる。この時、負荷パケット挿入契機を得たことから、負荷パケット生成部806において、負荷パケット840を生成する。
Thereafter, when the input
負荷パケット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
このようにして、負荷パケット生成部806において負荷パケット840が生成された後、負荷パケット840は、負荷パケット多重部807へ送信され、主信号パケット830が遅延されている間にその負荷パケット840が後段のブロック(イングレス部(FPGA#2)602)へ送信される。なお、パケット処理部808においては、本来実施するパケットの処理(たとえば、統計カウントなどの処理)を実施する。
After the load packet generation unit 806 generates the
第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
第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
パケット識別部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
『PT=00b』である主信号パケット930は、宛先解決部904へ転送され、宛先情報が格納された外部メモリを使って宛先情報を解決する。たとえば、当該主信号パケットの転送先が「ポート#2」である場合、主信号パケット930に示すように、ヘッダーの「Forwarding Type」のフィールドを、ユニキャストを示す『FT=00b(uni)』に、「Dest port」のフィールドを、ポート#2を示す『Dest port=001b』に、それぞれ書き替えて、その後、後段のパケット処理部905へ転送する。
The
一方、『PT=10b』である負荷パケット940は、第1インタフェース部(FPGA#1)601または第2インタフェース部(FPGA#4)604において、すでに宛先情報が格納されていることから、宛先解決する必要がないため、宛先解決部904はスキップされて、後段のパケット処理部905に転送される。後段のパケット処理部905では、本来実施するパケットの処理(たとえば、入力帯域制御など)を実施する。
On the other hand, since the
イングレス部(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
イングレス部(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
1030は、パケット処理部1002においてパケット処理された主信号パケットであり、1040は、パケット処理部1002においてパケット処理された負荷パケットである。いずれも、後段のパケット振分部1003へ転送される。
パケット振分部1003では、各パケットのヘッダー部の「Dest port」のフィールドのコードによって振り分け先を決定する。主信号パケット1030の「Dest port」のフィールドは、『Dest port=001b』であり、「001b」がポート#2を示していることから、ポート#2に接続されている第1インタフェース部(FPGA#1)601へ転送する。
The
また、負荷パケット1040の「Dest port」のフィールドは、『Dest port=000b』であり、「000b」がポート#1を示していることから、ポート#1に接続されている第1インタフェース部(FPGA#1)601へ転送する。ただし、上述したように、負荷パケットにおいては、出力ポートの番号は重要ではなく、「Dest port」のフィールドのコードは、後述する負荷パケット終端部を備えるいずれかのインタフェース部へ振り分けられればよい。
Further, since the “Dest port” field of the
エグレス部(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 (
エグレス部(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
負荷パケット終端部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
パケット処理部1103では、本来実施するパケットの処理(たとえば、統計カウントなど)を実施し、その後、パケットを最終段のパケット出力分離部1104へ転送する。パケット出力分離部1104では、装置内ヘッダーおよびFCS−Hを削除する。その結果、出力パケット1150の状態、すなわち、図8Aに示した入力パケット820の状態に戻す。そして、出力パケット1150を、「Dest port」のフィールドの『Dest port=001b』に基づいてポート#2へ出力する。
The
第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
(実施の形態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
図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
また、第1カード1200、第2カード1250は、図1に示したパケット処理装置100、図6に示したパケット処理装置600と同様に、第1カード1200、第2カード1250内の各デバイスの監視制御をおこなう、図示を省略するCPU部や、各デバイスへ必要となる電源を供給する、図示を省略する電源部などを備えていてもよい。
Further, the
図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
また、第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
このような拡張を実現するために、図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
「Src port」のフィールド713には、入力パケットの入力されたポート番号を示すSource portが格納される。「Src port」が『0000b』であれば「port1」であり、『0001b』であれば「port2」であり、...『0111b』であれば、「port8」である。また、「Dest port」のフィールド714には、入力パケットの出力先のポート番号を示すDestination portが格納される。
The “Src port”
また、「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”
以上のように、実施の形態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
上述した実施の形態に関し、さらに以下の付記を開示する。 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
(付記3)前記パケット処理部は、
入力された前記ダミーパケットと前記パケットとを識別し、識別された前記パケットに対してのみに特定のパケット処理をおこなうことを特徴とする付記1または2に記載のパケット処理装置。
(Supplementary Note 3) The packet processing unit
The packet processing apparatus according to
(付記4)前記ダミーパケットは、当該ダミーパケットのヘッダー内にダミーパケットであると認識可能な識別情報を含んでいることを特徴とする付記1〜3のいずれか一つに記載のパケット処理装置。
(Supplementary Note 4) The packet processing device according to any one of
(付記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
(付記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
(付記7)前記入力処理用インタフェース部が、前記出力処理用インタフェース部の処理をおこなうことを特徴とする付記2〜6のいずれか一つに記載のパケット処理装置。
(Supplementary note 7) The packet processing device according to any one of
(付記8)前記出力処理用インタフェース部を複数備え、
前記パケット処理部は、複数の前記出力処理用インタフェース部のいずれか一つへ前記ダミーパケットと前記パケットを送ることを特徴とする付記2〜7のいずれか一つに記載のパケット処理装置。
(Supplementary note 8) A plurality of output processing interface units are provided,
The packet processing device according to any one of
(付記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
(付記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
102, 602, 1202, 1252 Ingress part (FPGA # 2)
103, 603, 1203, 1253 Egress section (FPGA # 3)
112, 113
201 packet
801, 901, 1001, 1101 Input
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のパケット処理部は、
入力された前記ダミーパケットと前記パケットとを識別し、
識別された前記パケットに対してのみ、宛先解決に関するパケット処理をおこない、
前記パケット処理をおこなった後、第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〜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.
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)
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 |
-
2016
- 2016-05-17 JP JP2016098878A patent/JP2017208654A/en active Pending
Cited By (1)
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 |