(57)【要約】【課題】消費電力を抑制しつつ、パケットを集中して受信したときにパケット処理部で生じる負荷急変による電圧低下を回避し、あるいは、電圧低下などの影響によるパケットのロスの発生を回避できる。【解決手段】入力ポートからパケットの入力を受け付け、パケットの入力を受け付けたタイミングを検出する入力パケット検出部２０３と、検出したタイミングから所定時間だけ前記パケットを遅延させる遅延挿入部２０２と、所定時間においてダミーパケット（負荷パケットを生成する負荷パケット生成部２０４と、生成されたダミーパケットと前記パケットとを多重する負荷パケット多重部２０５とを備え、多重パケットをパケット処理して次段のパケット処理部であるイングレス部１０２へ送るインタフェース部１０１を有する。【選択図】図２
2017208654.tif 000002
【特許請求の範囲】
【請求項１】
複数の入力ポートと複数の出力ポートとを有し、前記入力ポートにより受信されたパケットを処理し、前記出力ポートから送信するパケット処理装置において、
前記入力ポートにより受信された前記パケットが入力され、前記パケットが入力されたタイミングを検出し、検出した前記タイミングから所定時間だけ前記パケットを遅延させるとともに、前記所定時間においてダミーパケットを生成する入力処理用インタフェース部と、
前記入力処理用インタフェース部から、生成された前記ダミーパケットと、前記パケットとが入力され、入力された前記ダミーパケットと前記パケットとをメモリに一時的に記憶させるパケット処理部と、
を有することを特徴とするパケット処理装置。
【請求項２】
前記パケット処理部から、前記ダミーパケットと前記パケットとが入力され、入力された前記ダミーパケットと前記パケットとを識別し、識別された前記ダミーパケットを廃棄し、識別された前記パケットを前記出力ポートへ出力する出力処理用インタフェース部
を有することを特徴とする請求項１に記載のパケット処理装置。
【請求項３】
前記パケット処理部は、
入力された前記ダミーパケットと前記パケットとを識別し、識別された前記パケットに対してのみに特定のパケット処理をおこなうことを特徴とする請求項１または２に記載のパケット処理装置。
【請求項４】
前記ダミーパケットは、当該ダミーパケットのヘッダー内にダミーパケットであると認識可能な識別情報を含んでいることを特徴とする請求項１〜３のいずれか一つに記載のパケット処理装置。
【請求項５】
前記パケット処理部は、第１のパケット処理部と第２のパケット処理部とからなり、
前記第１のパケット処理部は、
入力された前記ダミーパケットと前記パケットとを識別し、
識別された前記パケットに対してのみ、宛先解決に関するパケット処理をおこない、
前記パケット処理をおこなった後、第２のパケット処理部へ前記ダミーパケットと前記パケットとを送り、
前記第２のパケット処理部は、
前記第１のパケット処理部から入力された前記ダミーパケットと前記パケットとに対してパケット処理をおこない、
前記パケット処理をおこなった後、出力対象となっている前記出力処理用インタフェース部へ前記ダミーパケットと前記パケットとを送ることを特徴とする請求項１〜３のいずれか一つに記載のパケット処理装置。
【請求項６】
前記入力処理用インタフェース部、前記パケット処理部および前記出力処理用インタフェース部を有するユニットを複数備え、
各前記ユニットの前記パケット処理部間において、前記ダミーパケットと前記パケットとの送受信をおこなうことを特徴とする請求項２〜５のいずれか一つに記載のパケット処理装置。
【請求項７】
前記出力処理用インタフェース部を複数備え、
前記パケット処理部は、複数の前記出力処理用インタフェース部のいずれか一つへ前記ダミーパケットと前記パケットを送ることを特徴とする請求項２〜６のいずれか一つに記載のパケット処理装置。
【請求項８】
前記入力処理用インタフェース部を複数備え、
前記パケット処理部は、複数の前記入力処理用インタフェース部のいずれか一つから前記ダミーパケットと前記パケットが入力されることを特徴とする請求項１〜７のいずれか一つに記載のパケット処理装置。
【請求項９】
複数の入力ポートと複数の出力ポートとを有し、前記入力ポートにより受信されたパケットを処理し、前記出力ポートから送信するパケット処理方法において、
前記入力ポートにより受信された前記パケットが入力され、前記パケットが入力されたタイミングを検出し、検出した前記タイミングから所定時間だけ前記パケットを遅延させるとともに、前記所定時間においてダミーパケットを生成し、
生成された前記ダミーパケットと、前記パケットとが入力され、入力された前記ダミーパケットと前記パケットとをメモリに一時的に記憶させることを特徴とするパケット処理方法。
【請求項１０】
前記メモリに一時的に記憶された前記ダミーパケットと前記パケットとが入力され、入力された前記ダミーパケットと前記パケットとを識別し、識別された前記ダミーパケットを廃棄し、識別された前記パケットを前記出力ポートへ出力することを特徴とする請求項９記載のパケット処理方法。
【請求項１１】
生成された前記ダミーパケットと、前記パケットとが入力され、入力された前記ダミーパケットと前記パケットとを識別し、識別された前記パケットに対してのみに特定のパケット処理をおこなうことを特徴とする請求項１０に記載のパケット処理方法。
【請求項１２】
前記ダミーパケットは、当該ダミーパケットのヘッダー内にダミーパケットであると認識可能な識別情報を含んでおり、
前記識別情報に基づいて、前記ダミーパケットと前記パケットとを識別することを特徴とする請求項９〜１１のいずれか一つに記載のパケット処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケット処理装置およびパケット処理方法に関する。
【背景技術】
【０００２】
昨今、伝送装置の高速化、高密度集積化に伴い、装置の主たる機能を実現するＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）の消費電力が増加している。パケット処理装置において、パケットを受信し、受信したパケットをメモリに一時的に記憶させるパケット処理部は、複数のルートから同時にパケットを受信することにより、一時的に負荷が増大する場合がある。このような状態において、負荷急変が発生し、電圧が動作保証電圧を下回ってしまった場合に、パケットのエラーが発生し、当該パケットは廃棄されることになる。
【０００３】
先行技術として、このような問題に対して、第１に、パケットが入力されていない期間にダミーの回路を動作させることでパケット有無による負荷変動を安定させる技術がある（たとえば、下記特許文献１参照。）。また、第２に、パケットの受信を契機にして、出力電圧変動を抑制するため、電源の周波数を増大させる制御をおこない、電源の供給を追従させる技術がある（たとえば、下記特許文献２参照。）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−７２１６４号公報
【特許文献２】国際公開第２００９／０７８１０４号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記第１の先行技術にあっては、パケット未入力の期間も常時ダミーデータによる電流消費が発生する仕組みになっており、パケット未入力の期間、消費する必要のない電流が消費されていることから、低消費電力化と負荷変動量安定の相反する要求を満たすことはできない。また、上記第２の先行技術にあっては、消費電力は抑制されるものの、電源電圧を制御の制御が複雑になるという問題点があった。
【０００６】
一つの側面では、本発明は、消費電力を抑制しつつ、パケットの集中受信によって生じる負荷急変による電圧低下などの影響で発生するパケットのロスを回避することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一態様によれば、入力ポートからパケットの入力を受け付け、パケットの入力を受け付けたタイミングを検出し、検出したタイミングから所定時間だけパケットを遅延させ、所定時間においてダミーパケットを生成し、生成されたダミーパケットとパケットとを多重した多重パケットを次段のパケット処理部へ送るパケット処理装置およびパケット処理方法が提案される。
【発明の効果】
【０００８】
本発明の一側面によれば、消費電力を抑制しつつ、パケットの集中受信によって生じる負荷急変による電圧低下などの影響で発生するパケットのロスを回避することができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施の形態１にかかるパケット処理装置のハードウエア構成の一例を示す説明図である。
【図２】図２は、実施の形態１にかかるパケット処理装置の機能的構成の一例を示す説明図である。
【図３Ａ】図３Ａは、入力パケット検出部の処理の手順を示すフローチャートである。
【図３Ｂ】図３Ｂは、負荷パケット生成・多重制御信号と入力パケットとの関係を示すタイムチャートである。
【図４】図４は、負荷パケット多重タイミングと入力パケットとの関係を示すタイムチャートである。
【図５】図５は、主信号パケットと負荷パケットの構造の一例を示す説明図である。
【図６】図６は、実施の形態２にかかるパケット処理装置のハードウエア構成の別の一例を示す説明図である。
【図７Ａ】図７Ａは、実施の形態２にかかるパケット処理装置内のパケット・フォーマットの内容の一例を示す説明図である。
【図７Ｂ】図７Ｂは、実施の形態２にかかるパケット処理装置内のパケット・フォーマットの各フィールドの定義の内容を示す説明図である。
【図８Ａ】図８Ａは、実施の形態２にかかるパケット処理装置のインタフェース部の機能的構成の一例およびパケットの内容を示す説明図である。
【図８Ｂ】図８Ｂは、実施の形態２にかかるパケット処理装置のインタフェース部の処理手順の一例を示すフローチャートである。
【図９Ａ】図９Ａは、実施の形態２にかかるパケット処理装置のイングレス部の機能的構成の一例およびパケットの内容を示す説明図である。
【図９Ｂ】図９Ｂは、実施の形態２にかかるパケット処理装置のイングレス部の処理手順の一例を示すフローチャートである。
【図１０Ａ】図１０Ａは、実施の形態２にかかるパケット処理装置のエグレス部の機能的構成の一例およびパケットの内容を示す説明図である。
【図１０Ｂ】図１０Ｂは、実施の形態２にかかるパケット処理装置のエグレス部の処理手順の一例を示すフローチャートである。
【図１１Ａ】図１１Ａは、実施の形態２にかかるパケット処理装置のインタフェース部の機能的構成の別の一例およびパケットの内容を示す説明図である。
【図１１Ｂ】図１１Ｂは、実施の形態２にかかるパケット処理装置のインタフェース部の処理手順の別の一例を示すフローチャートである。
【図１２】図１２は、実施の形態３にかかるパケット処理装置のハードウエア構成の別の一例を示す説明図である。
【図１３】図１３は、実施の形態３にかかるパケット処理装置内のパケット・フォーマットの内容の別の一例を示す説明図である。
【発明を実施するための形態】
【００１０】
以下に添付図面を参照して、本発明にかかるパケット処理装置およびパケット処理方法の実施の形態を詳細に説明する。
【００１１】
（実施の形態１）
【００１２】
図１は、実施の形態１にかかるパケット処理装置のハードウエア構成の一例を示す説明図である。図１においては、パケット処理装置の具体的な一例である、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）で構成されるイーサネット（Ｅｔｈｅｒｎｅｔ（登録商標））ベースのパケット処理装置１００の構成例を示す。
【００１３】
図１において、パケット処理装置１００は、インタフェース部（ＦＰＧＡ＃１）１０１と、イングレス部（ＦＰＧＡ＃２）１０２と、エグレス部（ＦＰＧＡ＃３）１０３と、を備える。インタフェース部（ＦＰＧＡ＃１）１０１は、外部インタフェース・ポート（ポート＃１〜ポート＃ｎ）とのパケット送受信をおこなう。イングレス部（ＦＰＧＡ＃２）１０２は、外部インタフェース・ポートからパケット処理装置１００への入力方向（Ｉｎｇｒｅｓｓ）でのパケット処理をおこなう。エグレス部（ＦＰＧＡ＃３）１０３は、パケット処理装置１００から外部インタフェース・ポートへの出力方向（Ｅｇｒｅｓｓ）でのパケット処理をおこなう。
【００１４】
外部インタフェース・ポートから入力されるユーザ・パケット（入力パケット）は、インタフェース部（ＦＰＧＡ＃１）１０１で受信される。インタフェース部（ＦＰＧＡ＃１）１０１では、入力パケットのフレーム正常性のチェックをおこない、エラーのないパケットのみを、後段のイングレス部（ＦＰＧＡ＃２）１０２へ転送する。
【００１５】
イングレス部（ＦＰＧＡ＃２）１０２では、パケットのヘッダー情報に基づいて、外部メモリ１１２などを使って入力帯域制御や宛先解決を実施し、当該宛先解決した情報を含めて、後段のエグレス部（ＦＰＧＡ＃３）１０３へ転送する。
【００１６】
エグレス部（ＦＰＧＡ＃３）１０３では、受信したパケットのヘッダー情報に応じて、外部メモリ１１３などを使って出力帯域制御や複数の宛先へのパケット複製処理を実施して、後段のインタフェース部（ＦＰＧＡ＃１）１０１へ転送する。そして、インタフェース部（ＦＰＧＡ＃１）１０１では、受信したパケットを適切な外部インタフェース・ポートへ出力する。
【００１７】
また、パケット処理装置１００は、パケット処理装置１００内の各デバイスの監視制御をおこなうＣＰＵ１５０や、各デバイスへ必要となる電源を供給する電源部１２１、１２２、１２３などから構成される。
【００１８】
（パケット処理装置の機能的構成）
図２は、実施の形態１にかかるパケット処理装置の機能的構成の一例を示す説明図であり、図１に示したパケット処理装置のハードウエア構成の一例に対応する。図２において、パケットが入力される初段のインタフェース部（ＦＰＧＡ＃１）１０１は、パケット入力多重部２０１と、遅延挿入部２０２と、入力パケット検出部２０３と、負荷パケット生成部２０４と、負荷パケット多重部２０５と、パケット処理部２０６と、を備えている。
【００１９】
入力されたパケットは、パケット入力多重部２０１においてパケットの正常性のチェックをおこない、エラーパケットを廃棄し、正常なパケットを多重して後段に送信し、パケット処理部２０６によって次段のイングレス部（ＦＰＧＡ＃２）１０２に渡される。
【００２０】
なお、図２に示した実施の形態１にかかるパケット処理装置の入力側の処理をおこなうインタフェース部（ＦＰＧＡ＃１）１０１においては、パケット入力多重部２０１のほかに、後述する図８Ａに示す実施の形態２にかかるパケット処理装置の第１インタフェース部（ＦＰＧＡ＃１）６０１と同様に、入力パケット検査部、ヘッダー＆ＦＣＳ付与部を備えていてもよい。
【００２１】
そして、パケット入力多重部２０１とパケット処理部２０６との間に、新たな処理部（遅延挿入部２０２、入力パケット検出部２０３、負荷パケット生成部２０４、負荷パケット多重部２０５）を配置する。
【００２２】
遅延挿入部２０２は、一定時間の間、主信号パケットを蓄積し、一定時間蓄積した後に、入力パケットを負荷パケット多重部２０５へ送信する。この一定時間、すなわち遅延時間は、負荷急変における電圧安定までの時間とするようにしてもよい。この一定時間は、自由に設定することが可能である。遅延挿入部２０２は、たとえば、図示を省略する、入力パケットを蓄積するメモリなどによってその機能を実現する。
【００２３】
入力パケット検出部２０３は、パケット入力多重部２０１において、エラーのない正常な入力パケットの入力を検出すると、当該入力パケットに対する負荷パケット多重タイミング（すなわち、負荷パケットの生成タイミングおよび多重タイミング）を生成し、負荷パケット多重タイミングに関する指示を、負荷パケット生成部２０４および負荷パケット多重部２０５へ通知する。入力パケット検出部２０３における処理の詳細については、図３Ａおよび図３Ｂを用いて後述する。
【００２４】
負荷パケット生成部２０４は、入力パケット検出部２０３から指示されたタイミングで、負荷パケットを生成し、生成した負荷パケットを負荷パケット多重部２０５へ送信する。この負荷パケットには、後述する負荷パケット終端部２０９で負荷パケットを識別できるように、ヘッダー内に入力パケットと区別するための識別情報を有する。
【００２５】
負荷パケット多重部２０５は、遅延挿入部２０２から送信された主信号パケットと、負荷パケット生成部２０４から送信された負荷パケットとを、入力パケット検出部２０３から通知された指示に合わせて多重し、多重した主信号パケットと負荷パケットを、パケット処理部２０６へ送信する。パケット処理部２０６は、上述のように、多重した主信号パケットと負荷パケットを、次段のイングレス部（ＦＰＧＡ＃２）１０２に転送する。
【００２６】
イングレス部（ＦＰＧＡ＃２）１０２は、主信号パケットの転送宛先を解決するためのテーブル検索処理や入力帯域制御処理、それらの処理のためのパケット・バッファなど外部メモリ１１２とのインタフェース機能を司るパケット処理部２０７を備える。
【００２７】
なお、図２に示した実施の形態１にかかるパケット処理装置のイングレス部（ＦＰＧＡ＃２）１０２においては、パケット処理部２０７のほかに、後述する図９Ａに示す実施の形態２にかかるパケット処理装置のイングレス部（ＦＰＧＡ＃２）６０２と同様に、入力パケット検査部、パケット多重部、パケット識別部を備えていてもよい。
【００２８】
次段のエグレス部（ＦＰＧＡ＃３）１０３は、外部メモリ１１３を使用して、マルチキャストやブロードキャストのためのパケットの複製処理や出力帯域制御処理をおこなうパケット処理部２０８を備える。
【００２９】
なお、図２に示した実施の形態１にかかるパケット処理装置のエグレス部（ＦＰＧＡ＃３）１０３においては、パケット処理部２０８のほかに、後述する図１０Ａに示す実施の形態２にかかるパケット処理装置のエグレス部（ＦＰＧＡ＃３）６０３と同様に、入力パケット検査部、パケット振分部を備えていてもよい。
【００３０】
また、パケットを出力する最後のインタフェース部（ＦＰＧＡ＃１）１０１は、本来のパケット処理をおこなう前に、負荷パケットの終端処理をおこなう負荷パケット終端部２０９を配置する。負荷パケット終端部２０９は、負荷急変状況を作るために生成した負荷パケットを終端して廃棄処理を実行する。主信号パケットについてはそのまま後段のパケット出力分離部２１０へ引き渡し、適切なポートから送信する。
【００３１】
なお、図２に示した実施の形態１にかかるパケット処理装置の出力側の処理をおこなうインタフェース部（ＦＰＧＡ＃１）１０１においては、負荷パケット終端部２０９のほかに、後述する図１１Ａに示す実施の形態２にかかるパケット処理装置の第２インタフェース部（ＦＰＧＡ＃４）６０４と同様に、入力パケット検査部、パケット処理部、パケット出力分離部を備えていてもよい。
【００３２】
（入力パケット検出部の処理手順）
つぎに、入力パケット検出部２０３の処理の手順について説明する。図３Ａは、入力パケット検出部の処理の手順を示すフローチャートである。また、図３Ｂは、負荷パケット生成・多重制御信号と入力パケットとの関係を示すタイムチャートである。
【００３３】
図３Ａのフローチャートにおいて、まず、入力パケット検出部２０３は、正常な入力パケットが検出されたか否かを判断する（ステップＳ３０１）。ここで、正常な入力パケットが検出されるのを待って（ステップＳ３０１：Ｎｏ）、正常な入力パケットが検出された場合（ステップＳ３０１：Ｙｅｓ）に、一定時間のタイマーを起動する（ステップＳ３０２）。タイマーの起動とともに、そのタイミングで、負荷パケット生成・多重制御信号をＯＮにする（ステップＳ３０３）。
【００３４】
そして、タイマーが満了したか否かを判断する（ステップＳ３０４）。ここで、タイマーが満了するのを待って（ステップＳ３０４：Ｎｏ）、タイマーが満了した場合（ステップＳ３０４：Ｙｅｓ）に、そのタイミングで、負荷パケット生成・多重制御信号をＯＦＦにし（ステップＳ３０５）、ステップＳ３０１に戻って、次の入力パケット待ちの状態にする。
【００３５】
このように、負荷パケット生成・多重制御信号がＯＮになってからＯＦＦになるまでのタイミングが、負荷パケット多重タイミングである。負荷パケット生成・多重制御信号は、後段の負荷パケット生成部２０４における負荷パケット生成開始タイミングとして使い、また負荷パケット多重部２０５にて負荷パケットを多重するタイミングとして使用する。したがって、負荷パケット生成部２０４は、入力パケット検出部２０３からの負荷パケット生成・多重制御信号をＯＮ（ステップＳ３０３）の通知を受けたら、負荷パケットの生成を開始し、入力パケット検出部２０３からの負荷パケット生成・多重制御信号をＯＦＦ（ステップＳ３０５）の通知を受けたら、負荷パケットの生成を停止する。
【００３６】
図３Ｂにおいては、入力パケットにおける一つ一つの矩形（符号Ａ〜Ｅ）がそれぞれ正常な入力パケットを表しており、連続する正常パケットの先頭の入力パケット（パケットＡ）が検出された場合に、負荷パケット生成・多重制御信号がＯＮ（ステップＳ３０３）になり、その後の連続した入力パケットの有無にかかわらず、一定時間経過後に負荷パケット生成・多重制御信号がＯＦＦ（ステップＳ３０５）になる。その後、新たな正常なパケット（パケットＥ）が検出された場合に、再度、負荷パケット生成・多重制御信号がＯＮ（ステップＳ３０３）になり、その後の連続した入力パケットの有無にかかわらず、一定時間経過後に負荷パケット生成・多重制御信号がＯＦＦ（ステップＳ３０５）になることを示している。
【００３７】
図４は、負荷パケット多重タイミングと入力パケットとの関係を示すタイムチャートである。図４のタイムチャートにおいて、様々な長さの入力パケットが、連続／不連続に存在する。連続する入力パケットのうちの先頭パケットが検出された時点で、負荷パケット多重タイミングのパルスが出力され、そのパルスのタイミングだけ、各入力パケットが遅延する。さらに、遅延したところに負荷パケットが多重される。
【００３８】
イングレス部（ＦＰＧＡ＃２）１０２は、主信号パケットの転送宛先を解決するためのテーブル検索や入力帯域制御処理のためのパケット・バッファなどＦＰＧＡ外部のメモリインタフェースを持つことから、インタフェース部（ＦＰＧＡ＃１）１０１よりも消費電流が大きくなる。また、次段のエグレス部（ＦＰＧＡ＃３）１０３は、マルチキャストやブロードキャストパケットの複製処理や出力帯域制御のために外部メモリが使用されることからイングレス部（ＦＰＧＡ＃２）１０２と同様に、インタフェース部（ＦＰＧＡ＃１）１０１よりも消費電流が大きくなる。そのため、連続するパケットの先頭部分で電圧の降下が発生する。
【００３９】
図４に示すように、負荷パケット多重タイミングは、この電圧降下の発生タイミングに対応させている。したがって、負荷パケット多重タイミング、すなわち電圧降下が発生するタイミングでは、主信号パケットが存在しないように調整するため、主信号パケットは、電圧低下によるパケットのロスが生じない。そのため、本実施の形態にかかるパケット処理装置では、あえて電圧降下が発生しないように電源を調整する必要はない。
【００４０】
（主信号パケット・負荷パケットの構造の一例）
つぎに、主信号パケットと負荷パケットの構造の一例について説明する。図５は、主信号パケットと負荷パケットの構造の一例を示す説明図である。図５において、主信号パケット５０１は、一般的に、ヘッダー（ｈｅａｄｅｒ）５１１とペイロード（Ｐａｙｌｏａｄ）５１２とＦＣＳ（Ｆｒａｍｅ  Ｃｈｅｃｋ  Ｓｅｑｕｅｎｃｅ）５１３と、からなる。
【００４１】
一方、負荷パケット５０２も、主信号パケット５０１と同様に、ヘッダー５２１とペイロード５２２とＦＣＳ５２３とからなる。負荷パケット５０２には、ヘッダー５２１内に負荷パケットであることを示す負荷パケット識別情報５２５を設けて後段の負荷パケット終端部２０９で該当パケットを識別し廃棄させる。また、負荷パケット５０２のペイロード５２２は、ペイロード・パターンとして、Ａｌｌ”０”、Ａｌｌ”１、”０／１交番やランダムを選択可能な構成とし、またペイロード長（サイズ）は、固定長、可変長（たとえば６４ｂｙｔｅ〜９６００ｂｙｔｅ）を選択可能とする。
【００４２】
なお、電圧低下量は単位時間当たりの電流変動量に比例することから、主信号パケット入力時の負荷急変よりも緩やかな負荷変動状況を作ることで、電圧低下を緩和することが可能となる。そのためには、ペイロード長をできるだけ大きくする（たとえば９６００ｂｙｔｅ）とよい。
【００４３】
一方、ペイロード長は、できるだけ小さくし（たとえば６４ｂｙｔｅ）、負荷パケット多重タイミング中にできるだけ多くの数の負荷パケットを生成するようにしてもよい。負荷変動による電圧降下の影響により、電圧が動作保証電圧を下回ってしまった場合にはパケットのロスが発生する。そして、そのパケットのロスの対象となるのは、電圧降下の発生タイミングに対応する負荷パケットである。
【００４４】
ただし、一旦パケットのロスとなった後は、次段のブロックで当該負荷パケットは廃棄されてしまう。その点を考慮すると、負荷パケットの数を多くしておくことによって、負荷パケットが最終段のブロックまで廃棄されずに残る可能性が高くなる。したがって、単一パケット廃棄時の影響（負荷を与えられない度合い）が少なくなるという点で、ペイロード長をできるだけ小さくした方が有利である場合もある。
【００４５】
したがって、ペイロード長をどの長さにするかについては、パケット処理装置の構成や規模、使用する電源の内容などを考慮して選択するのがよい。
【００４６】
このように、本実施の形態にかかるパケット処理装置は、負荷急変による電流、電圧変動の影響を回避するために、主信号パケットの到着を検出した後に一時的に主信号を蓄積しておくとともに、主信号パケットとは異なる負荷パケットによる負荷急変状態を生成し、その負荷急変による電圧変動が安定した後に主信号パケットを処理するものである。
【００４７】
以上のように、実施の形態１にかかるパケット処理装置によれば、入力処理側のインタフェース部（ＦＰＧＡ＃１）１０１が、入力ポートからパケットの入力を受け付け、入力パケット検出部２０３が、パケットの入力を受け付けたタイミングを検出し、遅延挿入部２０２が、検出したタイミングから所定時間だけパケットを遅延させ、負荷パケット生成部２０４が、当該所定時間においてダミーパケットを生成し、負荷パケット多重部２０５が、生成されたダミーパケットとパケットとを多重し、多重パケットを次段のパケット処理部であるイングレス部（ＦＰＧＡ＃２）１０２へ送るので、主信号パケット処理時の負荷急変を抑止し、主信号パケットのロスを回避することが可能となる。
【００４８】
また、ＦＰＧＡ外部回路による負荷急変抑止のためのコンデンサなどの部品追加は不要となり、部品点数削減による小型化、コストダウンが可能となる。
【００４９】
また、主信号パケットのロスを回避するにあたり、パケットが入力されていない時に常時電流を消費することがない。したがって、消費電力を抑制することができる。
【００５０】
また、実施の形態１にかかるパケット処理装置によれば、出力対象となっている出力ポートに接続されている出力処理用インタフェース部１０１が、前段のパケット処理部である、エグレス部（ＦＰＧＡ＃３）１０３から多重パケットの入力を受け付け、負荷パケット終端部２０９によって、多重パケットから、パケットと、ダミーパケットとを識別し、識別された前記ダミーパケットを廃棄する。そして、識別されたパケットを出力ポートへ出力するので、負荷パケットが誤って出力ポートから出力されることはない。
【００５１】
また、実施の形態１にかかるパケット処理装置によれば、ダミーパケット５０２は、当該ダミーパケットのヘッダー５２１内にダミーパケットであると認識可能な負荷パケット識別情報５２５を含んでいるため、ダミーパケットの識別が容易になる。
【００５２】
このように、複数の入力ポートと複数の出力ポートとを有し、入力ポートにより受信されたパケットを処理し、出力ポートから送信するパケット処理装置において、入力処理用インタフェース部は、入力ポートにより受信されたパケットが入力され、パケットが入力されたタイミングを検出し、検出したタイミングから所定時間だけパケットを遅延させるとともに、所定時間においてダミーパケットを生成することができる。
【００５３】
また、パケット処理部は、入力処理用インタフェース部から、生成されたダミーパケットと、パケットとが入力され、入力されたダミーパケットとパケットとをメモリに一時的に記憶させることができる。
【００５４】
また、出力処理用インタフェース部は、パケット処理部から、ダミーパケットとパケットとが入力され、入力されたダミーパケットとパケットとを識別し、識別されたダミーパケットを廃棄し、識別されたパケットを出力ポートへ出力することができる。
【００５５】
（実施の形態２）
図６は、実施の形態２にかかるパケット処理装置のハードウエア構成の一例を示す説明図である。図６も、図１と同様に、パケット処理装置の具体的な一例である、ＦＰＧＡで構成されるイーサネットベースのパケット処理装置６００の構成例を示す。
【００５６】
図６において、パケット処理装置６００は、図１に示したパケット処理装置１００と同様に、第１インタフェース部（ＦＰＧＡ＃１）６０１と、イングレス部（ＦＰＧＡ＃２）６０２と、エグレス部（ＦＰＧＡ＃３）６０３と、を備える。さらに、パケット処理装置６００は、図１に示したパケット処理装置１００とは異なり、もう一つのインタフェース部である第２インタフェース部（ＦＰＧＡ＃４）６０４を備える。
【００５７】
第１インタフェース部（ＦＰＧＡ＃１）６０１は、外部インタフェース・ポート（ポート＃１〜ポート＃ｎ）とのパケット送受信をおこなう。そして、第２インタフェース部（ＦＰＧＡ＃４）６０４は、外部インタフェース・ポート（ポート＃ｎ＋１〜ポート＃ｎ＋ｎ）とのパケット送受信をおこなう。
【００５８】
イングレス部（ＦＰＧＡ＃２）６０２は、外部インタフェース・ポートからパケット処理装置１００への入力方向（Ｉｎｇｒｅｓｓ）でのパケット処理をおこなう。すなわち、イングレス部（ＦＰＧＡ＃２）６０２は、第１インタフェース部（ＦＰＧＡ＃１）６０１および第２インタフェース部（ＦＰＧＡ＃４）６０４の両方からの入力パケットを受け取る。エグレス部（ＦＰＧＡ＃３）６０３は、パケット処理装置１００から外部インタフェース・ポートへの出力方向（Ｅｇｒｅｓｓ）でのパケット処理をおこなう。
【００５９】
外部インタフェース・ポートから入力されるユーザ・パケット（入力パケット）は、第１インタフェース部（ＦＰＧＡ＃１）６０１または第２インタフェース部（ＦＰＧＡ＃４）６０４で受信され、フレーム正常性のチェックをおこない、後段のイングレス部（ＦＰＧＡ＃２）６０２へ転送される。イングレス部（ＦＰＧＡ＃２）６０２では、パケットのヘッダー情報に基づいて、外部メモリ６１２などを使って入力帯域制御や宛先解決を実施し、当該宛先解決した情報を含めて、後段のエグレス部（ＦＰＧＡ＃３）６０３へ転送する。
【００６０】
エグレス部（ＦＰＧＡ＃３）６０３では、受信したパケットのヘッダー情報に応じて、外部メモリ６１３などを使って出力帯域制御や複数の宛先へのパケット複製処理を実施して、後段の第１インタフェース部（ＦＰＧＡ＃１）６０１または第２インタフェース部（ＦＰＧＡ＃４）６０４へ転送し、適切な外部インタフェース・ポートから送信される。また、パケット処理装置６００は、図１に示したパケット処理装置１００と同様に、パケット処理装置６００内の各デバイスの監視制御をおこなうＣＰＵ６５０や、各デバイスへ必要となる電源を供給する電源部６２１、６２２、６２３、６２４などから構成される。
【００６１】
（パケット・フォーマットの内容）
つぎに、パケット・フォーマットの内容について説明する。図７Ａは、装置内のパケット・フォーマットの内容の一例を示す説明図である。また、図７Ｂは、装置内のパケット・フォーマットの各フィールドの定義の内容を示す説明図である。
【００６２】
図７Ａにおいて、７００は、外部インタフェース・ポートから入力されるユーザ・パケット（主信号パケット）のパケット・フォーマットを示しており、７１０は、装置内パケットのパケット・フォーマットを示している。
【００６３】
ユーザ・パケット（入力パケット）のパケット・フォーマット７００は、「Ｐａｙｌｏａｄ」のフィールド７０１と、「ＦＣＳ−Ｕ」のフィールド７０２のと、から構成される。図７Ｂに示すように、「Ｐａｙｌｏａｄ」のフィールド７０１には、入力パケットのデータ本体であるペイロードが格納されている。また、「Ｐａｙｌｏａｄ」のフィールド７０１には、入力パケットの宛先ＭＡＣアドレスに関するＤＡ（Ｄｅｓｔｉｎａｔｉｏｎ  Ａｄｄｒｅｓｓ）および送信元ＭＡＣアドレスに関するＳＡ（Ｓｏｕｒｃｅ  Ａｄｄｒｅｓｓ）も格納されている。「ＦＣＳ−Ｕ」のフィールド７０２には、入力パケットの正常性をチェックするためのＦＣＳが格納されている。
【００６４】
これに対して、装置内パケットのパケット・フォーマット７１０は、「Ｐａｃｋｅｔ  Ｔｙｐｅ」のフィールド７１１と、「Ｆｏｒｗａｒｄｉｎｇ  Ｔｙｐｅ」のフィールド７１２と、「Ｓｒｃ  ｐｏｒｔ」のフィールド７１３と、「Ｄｅｓｔ  ｐｏｒｔ」のフィールド７１４と、「Ｒｅｓｅｒｖｅｄ」のフィールド７１５と、からなるヘッダー部と、「Ｐａｙｌｏａｄ」のフィールド７１６と、「ＦＣＳ−Ｕ」のフィールド７１８と、からなる主信号パケット部と、「ＦＣＳ−Ｈ」のフィールド７１９とから構成される。
【００６５】
図７Ｂに示すように、「Ｐａｃｋｅｔ  Ｔｙｐｅ」のフィールド７１１には、パケット・タイプ、すなわち、当該パケットが、主信号パケットであるか、負荷パケットであるかを識別するためのコードが格納される。「Ｐａｃｋｅｔ  Ｔｙｐｅ」が『００ｂ』であれば、当該パケットが主信号パケットであり、『１０ｂ』であれば、当該パケットが負荷パケットである。ここで、“ｂ”はｂｉｎａｒｙ（２進数）で表現していることを示している。以下、コードにおける“ｂ”は、いずれもｂｉｎａｒｙ（２進数）で表現していることを示している。
【００６６】
「Ｆｏｒｗａｒｄｉｎｇ  Ｔｙｐｅ」のフィールド７１２には、通信の種別、すなわち、当該パケットが、ユニキャストであるか、マルチキャストであるか、ブロードキャストであるかを識別するためのコードが格納される。「Ｆｏｒｗａｒｄｉｎｇ  Ｔｙｐｅ」が『００ｂ』であれば、ユニキャストであり、『０１ｂ』であれば、マルチキャストであり、『１０ｂ』であれば、ブロードキャストである。
【００６７】
「Ｓｒｃ  ｐｏｒｔ」のフィールド７１３には、入力パケットの入力されたポート番号を示すＳｏｕｒｃｅ  ｐｏｒｔが格納される。「Ｓｒｃ  ｐｏｒｔ」が『０００ｂ』であれば「ｐｏｒｔ１」であり、『００１ｂ』であれば「ｐｏｒｔ２」であり、．．．『１１１ｂ』であれば、「ｐｏｒｔ８」である。また、「Ｄｅｓｔ  ｐｏｒｔ」のフィールド７１４には、入力パケットの出力先のポート番号を示すＤｅｓｔｉｎａｔｉｏｎ  ｐｏｒｔが格納される。
【００６８】
また、「Ｄｅｓｔ  ｐｏｒｔ」は、「Ｓｒｃ  ｐｏｒｔ」と同様に、『０００ｂ』であれば「ｐｏｒｔ１」であり、『００１ｂ』であれば「ｐｏｒｔ２」であり、．．．『１１１ｂ』であれば、「ｐｏｒｔ８」である。また、「Ｒｅｓｅｒｖｅｄ」のフィールド７１５には、リザーブ領域を示すコード（たとえば、『００００００ｂ』など）が格納される。
【００６９】
「Ｐａｙｌｏａｄ」のフィールド７１６と、「ＦＣＳ−Ｕ」のフィールド７１７には、
入力パケットのパケット・フォーマット７００の「Ｐａｙｌｏａｄ」のフィールド７０１と、「ＦＣＳ−Ｕ」のフィールド７０２と、がそのまま格納される。そして、「ＦＣＳ−Ｈ」のフィールド７１８は、ヘッダーの先頭の「Ｐａｃｋｅｔ  Ｔｙｐｅ」のフィールド７１１から「ＦＣＳ−Ｕ」のフィールド７１７までの領域に対してフレーム正常性をチェックする。
【００７０】
このように、パケット処理装置１００が受信した入力パケット（パケット・フォーマット７００）は、パケット処理装置１００内において、ヘッダー部およびＦＣＳが追加された、装置内パケット・フォーマット７１０によって通信されることになる。そして、負荷パケットに対する「Ｐａｃｋｅｔ  Ｔｙｐｅ」の定義を追加することにより、主信号パケットと負荷パケットを識別することができる。
【００７１】
（第１、第２インタフェース部の入力側処理における機能的構成および処理手順）
つぎに、実施の形態２にかかるパケット処理装置の第１インタフェース部（ＦＰＧＡ＃１）６０１、第２インタフェース部（ＦＰＧＡ＃４）６０４の機能的構成および第１インタフェース部（ＦＰＧＡ＃１）６０１、第２インタフェース部（ＦＰＧＡ＃４）６０４における入力側処理について説明する。図８Ａは、実施の形態２にかかるパケット処理装置のインタフェース部の機能的構成の一例およびパケットの内容を示す説明図であり、図８Ｂは、実施の形態２にかかるパケット処理装置のインタフェース部の処理手順の一例を示すフローチャートである。
【００７２】
図８Ａにおいて、第１インタフェース部（ＦＰＧＡ＃１）６０１は、入出力ポート（ポート＃１〜ポート＃ｎ）に接続され、入力パケット検査部８０１、パケット多重部８０２、ヘッダー＆ＦＣＳ付与部８０３、遅延挿入部８０４、入力パケット検出部８０５、負荷パケット生成部８０６、負荷パケット多重部８０７、パケット処理部８０８と、を備えている。また、第２インタフェース部（ＦＰＧＡ＃４）６０４も、第１インタフェース部（ＦＰＧＡ＃１）６０１と同様の構成部（入力パケット検査部、パケット多重部、ヘッダー＆ＦＣＳ付与部、遅延挿入部、入力パケット検出部、負荷パケット生成部、負荷パケット多重部、パケット処理部）を備えている。
【００７３】
入力ポート（ポート＃１〜ポート＃ｎのいずれか）から入力された入力パケット８２０は、入力パケット検査部８０１において、フレームの正常性をチェックされ、エラーの場合は廃棄される。エラーのないパケットは、後段のパケット多重部８０２において、複数の入力ポートからのパケットと多重される。その後、ヘッダー＆ＦＣＳ付与部８０３において、装置内で使うヘッダー部と、そのヘッダーの先頭からＰａｙｌｏａｄおよびＦＣＳ−Ｕも含めた領域のフレームの正常性をチェックするためにＦＣＳ（ＦＣＳ−Ｈ）を演算して付与する。このようにして、主信号パケット８３０を生成する。
【００７４】
主信号パケット８３０は、主信号パケットであることが識別できるように、ヘッダー部の「Ｐａｃｋｅｔ  Ｔｙｐｅ」を『ＰＴ＝００ｂ』とする。また、ヘッダー部の「Ｆｏｒｗａｒｄｉｎｇ  Ｔｙｐｅ」は、一旦、『ＦＴ＝００ｂ』として、後段ブロック（イングレス部（ＦＰＧＡ＃２）６０２）に引き渡す。また、主信号パケット８３０は、ポート＃１から入力されたことを示すように、「Ｓｒｃ  ｐｏｒｔ」が『Ｓｒｃ  ｐｏｒｔ＝０００ｂ』となっている。出力先ポートは後段ブロックで改めて付与されるため、ここでは入力ポート番号を使用し、『Ｄｅｓｔ  ｐｏｒｔ＝０００ｂ』となっている。
【００７５】
その後、主信号パケット８３０は、入力パケット検出部８０５において、パケットの入力を検出したことを契機に、遅延挿入部８０４において一定時間の遅延が与えられ、負荷パケット多重部８０７に送られる。この時、負荷パケット挿入契機を得たことから、負荷パケット生成部８０６において、負荷パケット８４０を生成する。
【００７６】
負荷パケット８４０は、負荷パケットであることが識別できるように、ヘッダー部の「Ｐａｃｋｅｔ  Ｔｙｐｅ」を『ＰＴ＝１０ｂ』とする。また、エグレス部（ＦＰＧＡ＃３）６０３においてコピーされないように、ヘッダー部の「Ｆｏｒｗａｒｄｉｎｇ  Ｔｙｐｅ」を必ず『ＦＴ＝００ｂ』として、常時ｕｎｉｃａｓｔとなるようにしている。また、「Ｓｒｃ  ｐｏｒｔ」を『Ｓｒｃ  ｐｏｒｔ＝０００ｂ』、『Ｄｅｓｔ  ｐｏｒｔ＝０００ｂ』とする。負荷パケットは、最終的には廃棄されるパケットであるので、入力されたポート番号も、出力先のポート番号も重要ではなく、上記のコードに限らず、エラーとならない何らかのコードが格納されていればよい。
【００７７】
このようにして、負荷パケット生成部８０６において負荷パケット８４０が生成された後、負荷パケット８４０は、負荷パケット多重部８０７へ送信され、主信号パケット８３０が遅延されている間にその負荷パケット８４０が後段のブロック（イングレス部（ＦＰＧＡ＃２）６０２）へ送信される。なお、パケット処理部８０８においては、本来実施するパケットの処理（たとえば、統計カウントなどの処理）を実施する。
【００７８】
第１インタフェース部（ＦＰＧＡ＃１）６０１における処理の手順を図８Ｂに示す。まず、入力ポートから、パケットが入力されたか否かを判断する（ステップＳ８６１）。ここで、パケットが入力されるのを待って（ステップＳ８６１：Ｎｏ）、入力された場合（ステップＳ８６１：Ｙｅｓ）は、入力されたパケットがエラーパケットであるか否かを判断する（ステップＳ８６２）。
【００７９】
ステップＳ８６２において、入力されたパケットがエラーパケットである場合（ステップＳ８６２：Ｙｅｓ）は、当該パケットを廃棄し（ステップＳ８６３）、ステップＳ８６１へ戻る。一方、ステップＳ８６２において、入力されたパケットがエラーパケットではない場合（ステップＳ８６２：Ｎｏ）は、当該パケットを別のポートから入力されたパケットと多重し（ステップＳ８６４）、当該パケットにヘッダーおよびＦＣＳを付与する（ステップＳ８６５）。
【００８０】
その後、多重され、ヘッダーおよびＦＣＳが付与されたパケット（主信号パケット）に対して遅延を挿入し（ステップＳ８６６）、さらには、負荷パケットを生成し（ステップＳ８６７）、主信号パケットと負荷パケットを多重する（ステップＳ８６８）。そして、多重されたパケットに、所定パケット処理を施した（ステップＳ８６９）後、イングレス部（ＦＰＧＡ＃２）６０２へ転送し（ステップＳ８７０）、ステップＳ８６１へ戻る。
【００８１】
第１インタフェース部（ＦＰＧＡ＃１）６０１においては、このような手順で、入力されたパケットに対する処理を施した後、イングレス部（ＦＰＧＡ＃２）６０２へデータを渡す。第２インタフェース部（ＦＰＧＡ＃２）６０２についても、第１インタフェース部（ＦＰＧＡ＃１）６０１と同様の手順で処理を実行する。
【００８２】
（イングレス部の機能的構成および処理手順）
つぎに、実施の形態２にかかるパケット処理装置のイングレス部（ＦＰＧＡ＃２）６０２の機能的構成およびイングレス部（ＦＰＧＡ＃２）６０２における処理について説明する。図９Ａは、イングレス部の機能的構成の一例およびパケットの内容を示す説明図であり、図９Ｂは、実施の形態２にかかるパケット処理装置のイングレス部の処理手順の一例を示すフローチャートである。
【００８３】
図９Ａにおいて、イングレス部（ＦＰＧＡ＃２）６０２は、入力パケット検査部９０１と、パケット多重部９０２と、パケット識別部９０３と、宛先決定部９０４と、パケット処理部９０５と、を備えている。
【００８４】
第１インタフェース部（ＦＰＧＡ＃１）６０１または第２インタフェース部（ＦＰＧＡ＃４）６０４から入力された主信号パケットと負荷パケットが多重されたパケットは、入力パケット検査部９０１において、パケットごとにフレームの正常性をチェックされ、エラーの場合は当該パケットは廃棄される。エラーのないパケットは、後段のパケット多重部９０２において、第１インタフェース部（ＦＰＧＡ＃１）６０１または第２インタフェース部（ＦＰＧＡ＃４）６０４からのパケットと多重され、パケット識別部９０３へ転送される。パケット識別部９０３へ転送された多重されたパケットは、パケット識別部９０３において、主信号パケットと負荷パケットとに識別される。
【００８５】
パケット識別部９０３は、各パケットのヘッダー部の「Ｐａｃｋｅｔ  Ｔｙｐｅ」のフィールドを参照し、『ＰＴ＝００ｂ』であれば主信号パケット９３０であり、『ＰＴ＝１０ｂ』であれば負荷パケット９４０であると識別する。
【００８６】
『ＰＴ＝００ｂ』である主信号パケット９３０は、宛先解決部９０４へ転送され、宛先情報が格納された外部メモリを使って宛先情報を解決する。たとえば、当該主信号パケットの転送先が「ポート＃２」である場合、主信号パケット９３０に示すように、ヘッダーの「Ｆｏｒｗａｒｄｉｎｇ  Ｔｙｐｅ」のフィールドを、ユニキャストを示す『ＦＴ＝００ｂ（ｕｎｉ）』に、「Ｄｅｓｔ  ｐｏｒｔ」のフィールドを、ポート＃２を示す『Ｄｅｓｔ  ｐｏｒｔ＝００１ｂ』に、それぞれ書き替えて、その後、後段のパケット処理部９０５へ転送する。
【００８７】
一方、『ＰＴ＝１０ｂ』である負荷パケット９４０は、第１インタフェース部（ＦＰＧＡ＃１）６０１または第２インタフェース部（ＦＰＧＡ＃４）６０４において、すでに宛先情報が格納されていることから、宛先解決する必要がないため、宛先解決部９０４はスキップされて、後段のパケット処理部９０５に転送される。後段のパケット処理部９０５では、本来実施するパケットの処理(たとえば、入力帯域制御など)を実施する。
【００８８】
イングレス部（ＦＰＧＡ＃２）６０２における処理の手順を図９Ｂに示す。まず、第１インタフェース部（ＦＰＧＡ＃１）６０１または第２インタフェース部（ＦＰＧＡ＃４）６０４から、パケットが入力されたか否かを判断する（ステップＳ９６１）。ここで、パケットが入力されるのを待って（ステップＳ９６１：Ｎｏ）、入力された場合（ステップＳ９６１：Ｙｅｓ）は、入力されたパケットがエラーパケットであるか否かを判断する（ステップＳ９６２）。
【００８９】
ステップＳ９６２において、入力されたパケットがエラーパケットである場合（ステップＳ９６２：Ｙｅｓ）は、当該パケットを廃棄し（ステップＳ９６３）、ステップＳ９６１へ戻る。一方、ステップＳ９６１において、入力されたパケットがエラーパケットではない場合（ステップＳ９６２：Ｎｏ）は、当該パケットを別のインタフェース部から入力されたパケットと多重する（ステップＳ９６４）。
【００９０】
そして、多重されたそれぞれのパケットが、主信号パケットであるか、負荷パケットであるかを判断する（ステップＳ９６５）。ここで、主信号パケットである場合（ステップＳ９６５：Ｙｅｓ）は、上述した宛先解決処理をおこない（ステップＳ９６６）、ステップＳ９６７へ移行する。一方、主信号パケットでない場合、すなわち負荷パケットである場合（ステップＳ９６５：Ｎｏ）は、何もせずに、ステップＳ９６７へ移行する。
【００９１】
その後、多重されたパケットに、所定パケット処理を施した（ステップＳ９６７）後、エグレス部（ＦＰＧＡ＃３）６０３へ転送し（ステップＳ９６８）、ステップＳ９６１へ戻る。
【００９２】
イングレス部（ＦＰＧＡ＃２）６０２においては、このような手順で、多重化されたパケットに対する宛先解決処理を含む各種の処理を施した後、エグレス部（ＦＰＧＡ＃３）６０３へデータを渡す。
【００９３】
（エグレス部の機能的構成および処理手順）
つぎに、実施の形態２にかかるパケット処理装置のエグレス部（ＦＰＧＡ＃３）６０３の機能的構成およびエグレス部（ＦＰＧＡ＃３）６０３における処理について説明する。図１０Ａは、実施の形態２にかかるパケット処理装置のエグレス部の機能的構成の一例およびパケットの内容を示す説明図であり、図１０Ｂは、実施の形態２にかかるパケット処理装置のエグレス部の処理手順の一例を示すフローチャートである。
【００９４】
図１０Ａおいて、エグレス部（ＦＰＧＡ＃３）６０３は、入力パケット検査部１００１と、パケット処理部１００２と、パケット振分部１００３と、を備えている。
【００９５】
イングレス部（ＦＰＧＡ＃２）６０２から入力されたパケットは、入力パケット検査部１００１において、パケットごとにフレームの正常性をチェックされ、エラーの場合は当該パケットは廃棄される。エラーのないパケットは、後段のパケット処理部１００２において、本来実施するパケットの処理(たとえば、出力帯域制御など)を実施する。
【００９６】
１０３０は、パケット処理部１００２においてパケット処理された主信号パケットであり、１０４０は、パケット処理部１００２においてパケット処理された負荷パケットである。いずれも、後段のパケット振分部１００３へ転送される。
【００９７】
パケット振分部１００３では、各パケットのヘッダー部の「Ｄｅｓｔ  ｐｏｒｔ」のフィールドのコードによって振り分け先を決定する。主信号パケット１０３０の「Ｄｅｓｔ  ｐｏｒｔ」のフィールドは、『Ｄｅｓｔ  ｐｏｒｔ＝００１ｂ』であり、「００１ｂ」がポート＃２を示していることから、ポート＃２に接続されている第１インタフェース部（ＦＰＧＡ＃１）６０１へ転送する。
【００９８】
また、負荷パケット１０４０の「Ｄｅｓｔ  ｐｏｒｔ」のフィールドは、『Ｄｅｓｔ  ｐｏｒｔ＝０００ｂ』であり、「０００ｂ」がポート＃１を示していることから、ポート＃１に接続されている第１インタフェース部（ＦＰＧＡ＃１）６０１へ転送する。ただし、上述したように、負荷パケットにおいては、出力ポートの番号は重要ではなく、「Ｄｅｓｔ  ｐｏｒｔ」のフィールドのコードは、後述する負荷パケット終端部を備えるいずれかのインタフェース部へ振り分けられればよい。
【００９９】
エグレス部（ＦＰＧＡ＃３）６０３における処理の手順を図１０Ｂに示す。まず、イングレス部（ＦＰＧＡ＃２）６０２から、パケットが入力されたか否かを判断する（ステップＳ１０６１）。ここで、パケットが入力されるのを待って（ステップＳ１０６１：Ｎｏ）、入力された場合（ステップＳ１０６１：Ｙｅｓ）は、入力されたパケットがエラーパケットであるか否かを判断する（ステップＳ１０６２）。
【０１００】
ステップＳ１０６２において、入力されたパケットがエラーパケットである場合（ステップＳ１０６２：Ｙｅｓ）は、当該パケットを廃棄し（ステップＳ１０６３）、ステップＳ１０６１へ戻る。一方、ステップＳ１０６１において、入力されたパケットがエラーパケットではない場合（ステップＳ１０６２：Ｎｏ）は、当該パケットに対して所定のパケット処理を施す（ステップＳ１０６４）。
【０１０１】
そして、所定のパケット処理が施された後パケットの転送先が、第１インタフェース部（ＦＰＧＡ＃１）６０１であるか、は第２インタフェース部（ＦＰＧＡ＃４）６０４であるかを判断する（ステップＳ１０６５）。ここで、転送先が第１インタフェース部（ＦＰＧＡ＃１）６０１である場合（ステップＳ１０６５：Ｙｅｓ）は、第１インタフェース部（ＦＰＧＡ＃１）６０１へ転送し（ステップＳ１０６６）、その後、ステップＳ１０６１へ戻る。
【０１０２】
一方、転送先が第１インタフェース部（ＦＰＧＡ＃１）６０１でない場合、すなわち、第２インタフェース部（ＦＰＧＡ＃４）６０４である場合（ステップＳ１０６５：Ｎｏ）は、第２インタフェース部（ＦＰＧＡ＃４）６０４へ転送し（ステップＳ１０６７）、その後、ステップＳ１０６１へ戻る。
【０１０３】
エグレス部（ＦＰＧＡ＃３）６０３においては、このような手順で、多重化されたパケットに対するパケット処理を施した後、出力ポートに接続されている出力処理用インタフェース部へデータを渡す。
【０１０４】
（第１、第２インタフェース部の出力側処理における機能的構成および処理手順）
つぎに、実施の形態２にかかるパケット処理装置の第１インタフェース部（ＦＰＧＡ＃１）６０１、第２インタフェース部（ＦＰＧＡ＃４）６０４の機能的構成および第１インタフェース部（ＦＰＧＡ＃１）６０１、第２インタフェース部（ＦＰＧＡ＃４）６０４における出力側処理について説明する。図１１Ａは、インタフェース部の機能的構成の別の一例およびパケットの内容を示す説明図であり、図１１Ｂは、実施の形態２にかかるパケット処理装置のインタフェース部の処理手順の別の一例を示すフローチャートである。
【０１０５】
図１１Ａにおいて、第１インタフェース部（ＦＰＧＡ＃１）６０１は、入出力ポート（ポート＃１〜ポート＃ｎ）に接続され、入力パケット検査部１１０１、負荷パケット終端部１１０２、パケット処理部１１０３、パケット出力分離部１１０４と、を備えている。また、第２インタフェース部（ＦＰＧＡ＃４）６０４も、第１インタフェース部（ＦＰＧＡ＃１）６０１と同様の構成部（入力パケット検査部、負荷パケット終端部、パケット処理部、パケット出力分離部）を備えている。
【０１０６】
エグレス部（ＦＰＧＡ＃３）６０３から入力されたパケットは、入力パケット検査部１１０１において、パケットごとにフレームの正常性をチェックされ、エラーの場合は当該パケットは廃棄される。エラーのないパケットは、後段の負荷パケット終端部１１０２へ転送される。
【０１０７】
負荷パケット終端部９０３は、各パケットのヘッダー部の「Ｐａｃｋｅｔ  Ｔｙｐｅ」のフィールドを参照し、『ＰＴ＝１０ｂ』のパケット（負荷パケット１１４０）をすべて廃棄する。『ＰＴ＝００ｂ』のパケット（主信号パケット１１３０）は、後段のパケット処理部１１０３へ転送される。したがって、負荷パケット終端部９０３からパケット処理部１１０３へ転送されるのは、主信号パケット１１３０のみである。
【０１０８】
パケット処理部１１０３では、本来実施するパケットの処理（たとえば、統計カウントなど）を実施し、その後、パケットを最終段のパケット出力分離部１１０４へ転送する。パケット出力分離部１１０４では、装置内ヘッダーおよびＦＣＳ−Ｈを削除する。その結果、出力パケット１１５０の状態、すなわち、図８Ａに示した入力パケット８２０の状態に戻す。そして、出力パケット１１５０を、「Ｄｅｓｔ  ｐｏｒｔ」のフィールドの『Ｄｅｓｔ  ｐｏｒｔ＝００１ｂ』に基づいてポート＃２へ出力する。
【０１０９】
第１インタフェース部（ＦＰＧＡ＃１）６０１における出力側処理の手順を図１１Ｂに示す。まず、エグレス部（ＦＰＧＡ＃３）６０３から、パケットが入力されたか否かを判断する（ステップＳ１１６１）。ここで、パケットが入力されるのを待って（ステップＳ１１６１：Ｎｏ）、入力された場合（ステップＳ１１６１：Ｙｅｓ）は、入力されたパケットがエラーパケットであるか否かを判断する（ステップＳ１１６２）。
【０１１０】
ステップＳ１１６２において、入力されたパケットがエラーパケットである場合（ステップＳ１１６２：Ｙｅｓ）は、当該パケットを廃棄し（ステップＳ１１６３）、ステップＳ１１６１へ戻る。一方、ステップＳ１１６１において、入力されたパケットがエラーパケットではない場合（ステップＳ１１６２：Ｎｏ）は、つぎに、当該パケットが、負荷パケットであるかを判断する（ステップＳ１１６４）。ここで、負荷パケットである場合（ステップＳ１１６４：Ｙｅｓ）は、当該負荷パケットを廃棄し（ステップＳ１１６５）、ステップＳ１１６１へ戻る。
【０１１１】
一方、負荷パケットでない、すなわち主信号パケットである場合（ステップＳ１１６４：Ｎｏ）は、当該主信号パケットに対して所定のパケット処理を施す（ステップＳ１１６６）。さらに、装置内ヘッダーおよびＦＣＳ−Ｈを削除し（ステップＳ１１６７）、装置内ヘッダーおよびＦＣＳ−Ｈが削除されたパケット（すなわち、入力されたときの状態のパケット）を、決められた出力ポートへ出力し（ステップＳ１１６８）、その後、ステップＳ１１６１へ戻る。
【０１１２】
第１インタフェース部（ＦＰＧＡ＃１）６０１においては、このような手順で、出力側処理をおこなうことができる。
【０１１３】
以上のように、実施の形態２にかかるパケット処理装置によれば、実施の形態１と同様に、主信号パケット処理時の負荷急変を抑止し、主信号パケットのロスを回避することが可能となる。
【０１１４】
また、実施の形態２にかかるパケット処理装置によれば、パケット処理部であるイングレス部（ＦＰＧＡ＃２）１０２は、インタフェース部（ＦＰＧＡ＃１）１０１から多重パケットの入力を受け付け、パケット識別部９０３により、多重パケットから、パケットと、ダミーパケットとを識別し、宛先解決部９０４により、識別された前記パケットに対してのみに特定のパケット処理（たとえば宛先解決処理）をおこない、特別のパケット処理をおこなった後、出力対象となっている出力ポートに接続されている出力処理用インタフェース部へ多重パケットを送るので、負荷信号に宛先が付与されることがなく、したがって、負荷パケットが誤って出力ポートから出力されることはない。
【０１１５】
（実施の形態３）
図１２は、実施の形態３にかかるパケット処理装置のハードウエア構成の別の一例を示す説明である。図１２も、図１、図６と同様に、パケット処理装置の具体的な一例である、ＦＰＧＡで構成されるイーサネットベースのパケット処理装置６００の構成例を示す。また、図１３は、実施の形態３にかかるパケット処理装置内のパケット・フォーマットの内容の一例を示す説明図である。
【０１１６】
図６に示した実施の形態２にかかるパケット処理装置は、１つのカード内に完結したいわゆる１ＲＵ（Ｒａｃｋ  Ｕｎｉｔ）タイプの装置であるのに対して、図１２に示す実施の形態３にかかるパケット処理装置は、複数のカードにまたがってパケット伝送されるシェルフタイプの装置である。
【０１１７】
図１２において、パケット処理装置は、第１カード１２００と第２カード１２５０とから構成されている。各カード内の構成は、図６に示した、実施の形態２にかかるパケット処理装置１００と同様の構成である。
【０１１８】
また、第１カード１２００、第２カード１２５０は、図１に示したパケット処理装置１００、図６に示したパケット処理装置６００と同様に、第１カード１２００、第２カード１２５０内の各デバイスの監視制御をおこなう、図示を省略するＣＰＵ部や、各デバイスへ必要となる電源を供給する、図示を省略する電源部などを備えていてもよい。
【０１１９】
図１２に示すように、２枚のカード１２００、１２５０にまたがって構成される１６ポートを有する。具体的には、第１カード１２００の第１インタフェース部（ＦＰＧＡ＃１）１２０１がポート＃１〜ポート＃４、第１カード１２００の第２インタフェース部（ＦＰＧＡ＃４）１２０４がポート＃５〜ポート＃８、第２カード１２５０の第１インタフェース部（ＦＰＧＡ＃１）１２５１がポート＃９〜ポート＃１２、第２カード１２５０の第２インタフェース部（ＦＰＧＡ＃４）１２５４がポート＃１３〜ポート＃１６をそれぞれ持っている。
【０１２０】
また、第１カード１２００のイングレス部（ＦＲＧＡ＃２）１２０２が、第１カード１２００のエグレス部（ＦＲＧＡ＃３）１２０３だけでなく、第２カード１２５０のエグレス部（ＦＲＧＡ＃３）１２５３へも、パケットを転送する構成となっている。同様に、第２カード１２５０のイングレス部（ＦＲＧＡ＃２）１２５２が、第２カード１２５０のエグレス部（ＦＲＧＡ＃３）１２５３だけでなく、第１カード１２００のエグレス部（ＦＲＧＡ＃３）１２０３へも、パケットを転送する構成となっている。
【０１２１】
このような拡張を実現するために、図１３において、主信号パケットの装置内パケット・フォーマットのうち、ヘッダー部の「Ｓｒｃ  ｐｏｒｔ」のフィールドと「Ｄｅｓｔ  ｐｏｒｔ」のフィールドにおけるポートを１〜１６に拡張させる。具体的には、「Ｓｒｃ  ｐｏｒｔ」、「Ｄｅｓｔ  ｐｏｒｔ」ともに、『００００ｂ』（「ｐｏｒｔ１」）〜『１１１１ｂ』（ｐｏｒｔ１６）を割り付ける。
【０１２２】
したがって、第１カード１２００のイングレス部（ＦＲＧＡ＃２）１２０２および第２カード１２５０のイングレス部（ＦＲＧＡ＃２）１２５２は、「Ｄｅｓｔ  ｐｏｒｔ」のフィールドにおいて『Ｄｅｓｔ  ｐｏｒｔ＝００００ｂ』〜『Ｄｅｓｔ  ｐｏｒｔ＝１１１１ｂ』であれば、パケットを第１カード１２００のエグレス部（ＦＲＧＡ＃３）１２０３へ転送し、『Ｄｅｓｔ  ｐｏｒｔ＝１０００ｂ』〜『Ｄｅｓｔ  ｐｏｒｔ＝１１１１ｂ』であれば、パケットを第２カード１２５０のエグレス部（ＦＲＧＡ＃３）１２５３へ転送する。
【０１２３】
「Ｓｒｃ  ｐｏｒｔ」のフィールド７１３には、入力パケットの入力されたポート番号を示すＳｏｕｒｃｅ  ｐｏｒｔが格納される。「Ｓｒｃ  ｐｏｒｔ」が『００００ｂ』であれば「ｐｏｒｔ１」であり、『０００１ｂ』であれば「ｐｏｒｔ２」であり、．．．『０１１１ｂ』であれば、「ｐｏｒｔ８」である。また、「Ｄｅｓｔ  ｐｏｒｔ」のフィールド７１４には、入力パケットの出力先のポート番号を示すＤｅｓｔｉｎａｔｉｏｎ  ｐｏｒｔが格納される。
【０１２４】
また、「Ｄｅｓｔ  ｐｏｒｔ」は、「Ｓｒｃ  ｐｏｒｔ」と同様に、『００００ｂ』であれば「ｐｏｒｔ１」であり、『０００１ｂ』であれば「ｐｏｒｔ２」であり、．．．『０１１１ｂ』であれば、「ｐｏｒｔ８」である。また、「Ｒｅｓｅｒｖｅｄ」のフィールド７１５には、リザーブ領域を示すコード（たとえば、『００００００ｂ』など）が格納される。
【０１２５】
以上のように、実施の形態３にかかるパケット処理装置によれば、実施の形態１、２と同様に、主信号パケット処理時の負荷急変を抑止し、主信号パケットのロスを回避することが可能となる。
【０１２６】
また、実施の形態３にかかるパケット処理装置によれば、入力処理用インタフェース部、パケット処理部および出力処理用インタフェース部を有するユニットとしてのカードを複数備え、各ユニットとしてのカードのパケット処理部（イングレス部１２０２、１２５２、エグレス部１２０３、１２５３）間において、多重パケットの送受信をおこなうので、パケット処理装置が拡張され、装置自体規模が大きくなり、処理するパケット量が増大しても対応することが可能である。
【０１２７】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１２８】
（付記１）複数の入力ポートと複数の出力ポートとを有し、前記入力ポートにより受信されたパケットを処理し、前記出力ポートから送信するパケット処理装置において、
前記入力ポートにより受信された前記パケットが入力され、前記パケットが入力されたタイミングを検出し、検出した前記タイミングから所定時間だけ前記パケットを遅延させるとともに、前記所定時間においてダミーパケットを生成する入力処理用インタフェース部と、
前記入力処理用インタフェース部から、生成された前記ダミーパケットと、前記パケットとが入力され、入力された前記ダミーパケットと前記パケットとをメモリに一時的に記憶させるパケット処理部と、
を有することを特徴とするパケット処理装置。
【０１２９】
（付記２）前記パケット処理部から、前記ダミーパケットと前記パケットとが入力され、入力された前記ダミーパケットと前記パケットとを識別し、識別された前記ダミーパケットを廃棄し、識別された前記パケットを前記出力ポートへ出力する出力処理用インタフェース部
を有することを特徴とする付記１に記載のパケット処理装置。
【０１３０】
（付記３）前記パケット処理部は、
入力された前記ダミーパケットと前記パケットとを識別し、識別された前記パケットに対してのみに特定のパケット処理をおこなうことを特徴とする付記１または２に記載のパケット処理装置。
【０１３１】
（付記４）前記ダミーパケットは、当該ダミーパケットのヘッダー内にダミーパケットであると認識可能な識別情報を含んでいることを特徴とする付記１〜３のいずれか一つに記載のパケット処理装置。
【０１３２】
（付記５）前記パケット処理部は、第１のパケット処理部と第２のパケット処理部とからなり、
前記第１のパケット処理部は、
入力された前記ダミーパケットと前記パケットとを識別し、
識別された前記パケットに対してのみ、宛先解決に関するパケット処理をおこない、
前記パケット処理をおこなった後、第２のパケット処理部へ前記ダミーパケットと前記パケットとを送り、
前記第２のパケット処理部は、
前記第１のパケット処理部から入力された前記ダミーパケットと前記パケットとに対してパケット処理をおこない、
前記パケット処理をおこなった後、出力対象となっている前記出力処理用インタフェース部へ前記ダミーパケットと前記パケットとを送ることを特徴とする付記１〜３のいずれか一つに記載のパケット処理装置。
【０１３３】
（付記６）前記入力処理用インタフェース部、前記パケット処理部および前記出力処理用インタフェース部を有するユニットを複数備え、
各前記ユニットの前記パケット処理部間において、前記ダミーパケットと前記パケットとの送受信をおこなうことを特徴とする付記２〜５のいずれか一つに記載のパケット処理装置。
【０１３４】
（付記７）前記入力処理用インタフェース部が、前記出力処理用インタフェース部の処理をおこなうことを特徴とする付記２〜６のいずれか一つに記載のパケット処理装置。
【０１３５】
（付記８）前記出力処理用インタフェース部を複数備え、
前記パケット処理部は、複数の前記出力処理用インタフェース部のいずれか一つへ前記ダミーパケットと前記パケットを送ることを特徴とする付記２〜７のいずれか一つに記載のパケット処理装置。
【０１３６】
（付記９）前記入力処理用インタフェース部を複数備え、
前記パケット処理部は、複数の前記入力処理用インタフェース部のいずれか一つから前記ダミーパケットと前記パケットが入力されることを特徴とする付記１〜８のいずれか一つに記載のパケット処理装置。
【０１３７】
（付記１０）複数の入力ポートと複数の出力ポートとを有し、前記入力ポートにより受信されたパケットを処理し、前記出力ポートから送信するパケット処理方法において、
前記入力ポートにより受信された前記パケットが入力され、前記パケットが入力されたタイミングを検出し、検出した前記タイミングから所定時間だけ前記パケットを遅延させるとともに、前記所定時間においてダミーパケットを生成し、
生成された前記ダミーパケットと、前記パケットとが入力され、入力された前記ダミーパケットと前記パケットとをメモリに一時的に記憶させることを特徴とするパケット処理方法。
【０１３８】
（付記１１）前記メモリに一時的に記憶された前記ダミーパケットと前記パケットとが入力され、入力された前記ダミーパケットと前記パケットとを識別し、識別された前記ダミーパケットを廃棄し、識別された前記パケットを前記出力ポートへ出力することを特徴とする付記１０に記載のパケット処理方法。
【０１３９】
（付記１２）生成された前記ダミーパケットと、前記パケットとが入力され、入力された前記ダミーパケットと前記パケットとを識別し、識別された前記パケットに対してのみに特定のパケット処理をおこなうことを特徴とする付記１１に記載のパケット処理方法。
【０１４０】
（付記１３）前記ダミーパケットは、当該ダミーパケットのヘッダー内にダミーパケットであると認識可能な識別情報を含んでおり、
前記識別情報に基づいて、前記ダミーパケットと前記パケットとを識別することを特徴とする付記１０〜１２のいずれか一つに記載のパケット処理方法。
【符号の説明】
【０１４１】
１００、６００  パケット処理装置
１０１、６０１、１２０１、１２５１  インタフェース部（ＦＰＧＡ＃１）
１０２、６０２、１２０２、１２５２  イングレス部（ＦＰＧＡ＃２）
１０３、６０３、１２０３、１２５３  エグレス部（ＦＰＧＡ＃３）
１１２，１１３  メモリ
１２１、１２２、１２３、６２１、６２２、６２３、６２４  電源部
１５０、６５０  ＣＰＵ
２０１  パケット入力多重部
２０２、８０４  遅延挿入部
２０３、８０５  入力パケット検出部
２０４、８０６  負荷パケット生成部
２０５、８０７  負荷パケット多重部
２０６、２０７、２０８、８０８、９０５、１００２、１１０３  パケット処理部
２０９、１１０２  負荷パケット終端部
２１０  パケット出力分離部
６０４、１２０４、１２５４  第２インタフェース部（ＦＰＧＡ＃４）
８０１、９０１、１００１、１１０１  入力パケット検査部
８０２、９０２  パケット多重部
８０３  ヘッダー＆ＦＣＳ付与部
９０３  パケット識別部
９０４  宛先解決部
１００３  パケット振分部
１１０４  パケット出力分離部
１２００  第１カード
１２５０  第２カード
【図１】
2017208654.tif 000003
【図２】
2017208654.tif 000004
【図３Ａ】
2017208654.tif 000005
【図３Ｂ】
2017208654.tif 000006
【図４】
2017208654.tif 000007
【図５】
2017208654.tif 000008
【図６】
2017208654.tif 000009
【図７Ａ】
2017208654.tif 000010
【図７Ｂ】
2017208654.tif 000011
【図８Ａ】
2017208654.tif 000012
【図８Ｂ】
2017208654.tif 000013
【図９Ａ】
2017208654.tif 000014
【図９Ｂ】
2017208654.tif 000015
【図１０Ａ】
2017208654.tif 000016
【図１０Ｂ】
2017208654.tif 000017
【図１１Ａ】
2017208654.tif 000018
【図１１Ｂ】
2017208654.tif 000019
【図１２】
2017208654.tif 000020
【図１３】
2017208654.tif 000021