(57)【要約】【課題】簡単な構成により高速化を実現したネットワーク装置と、そのヘッダ処理方法を提供する。【解決手段】ネットワーク装置は、物理層からのパケットを抽出するパケット抽出部、パケット抽出部で抽出されたパケットを受けるＭＡＣ処理部、パケット抽出部で抽出されたパケットがＭＡＣ処理部と同時並行して伝えられるヘッダ検索部及びＭＡＣ処理部で処理されたパケットとヘッダ検索部の検索結果とを受ける上位処理部を備える。ＭＡＣ処理部は、入力されたパケットがパケットとして認識されないもの、あるいはパケットとしての妥当性を欠くものを含む不要なパケットを廃棄し、それ以外のパケットを上位処理部に伝える。ヘッダ検索部での検索結果に対しては、ＭＡＣ処理部で廃棄されたパケットに対応したものを除いて上位処理部に伝えるようにする。【選択図】図１
2012109762.tif 000002
【特許請求の範囲】
【請求項１】
物理層を通して入力された入力信号を受けてパケットを抽出するパケット抽出部と、
上記パケット抽出部で抽出されたパケットを受けるＭＡＣ処理部と、
上記パケット抽出部で抽出されたパケットを上記ＭＡＣ処理部と並行して受けるヘッダ検索部と、
上記ＭＡＣ処理部で処理されたパケットと上記ヘッダ検索部の検索結果とを受ける上位処理部とを備え、
上記ＭＡＣ処理部は、入力されたパケットがパケットとして認識されないもの、あるいはパケットとしての妥当性を欠くものを含む不要なパケットを廃棄し、それ以外のパケットを上記上位処理部に伝えるものであり、
上記ヘッダ検索部での検索結果は、上記ＭＡＣ処理部で廃棄されたパケットに対応したものが除かれて上記上位処理部に伝えられる、
ネットワーク装置。
【請求項２】
請求項１において、
識別ＩＤ生成部と検索結果メモリとを更に備え、
上記パケット抽出部で抽出されたパケットは、上記識別ＩＤ生成部で形成されたＩＤ情報が付加されて上記ＭＡＣ処理部とヘッダ検索部に伝えられ、
検索結果メモリには、上記ヘッダ検索部の検索結果がそれに付加されたＩＤ情報に対応して記憶され、
上記上位処理部には、上記ＭＡＣ処理部から送られたパケットに含まれるＩＤ情報を用いて上記検索結果メモリに記憶された検索結果が取り込まれる、
ネットワーク装置。
【請求項３】
請求項２において、
受信ＦＩＦＯ部を更に有し、
上記受信ＦＩＦＯ部には、上記ＭＡＣ処理部で処理されたパケットが順次に入力され、  上記上位処理部は、上記受信ＦＩＦＯ部から入力順にパケットを取り込む、
ネットワーク装置。
【請求項４】
物理層を通して入力された入力信号からパケットを抽出する第１処理と、
上記抽出された上記パケットのＭＡＣ処理を行う第２処理と、
上記抽出された上記パケットのヘッダ検索を行う第３処理と、
上記第２処理で処理されたパケットと、上記第３処理でのヘッダ検索結果を受けて上位処理を行う第４処理とを有し、
上記第２処理では、入力されたパケットがパケットとして認識されないもの、あるいはパケットの妥当性を欠くものを廃棄し、それ以外のものを上記上位処理部に伝えるものであり、
上記第４処理において、上記処理３での検索結果の中から上記第２処理において廃棄されたパケットに対応したヘッダ検索結果を廃棄し、ここで処理されるパケットとそれに対応したヘッダ検索結果を対応させる、
ヘッダ処理方法。
【請求項５】
請求項４において、
上記第１処理は、個々のパケットにＩＤ情報を付加して上記第２処理及び第３処理が行われるパケットを生成し、
上記第４処理においては、上記付加されたＩＤ情報を用いてパケットとそれに対応したヘッダ検索結果を対応させる、
ヘッダ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ネットワーク装置とヘッダ処理方法に関し、例えばルータ等のネットワーク機器とそのヘッダ処理方法に利用して有効な技術に関するものである。
【背景技術】
【０００２】
ＩＰ(Internet Protocol) ネットワーク装置においてイーサネット（登録商標）パケットのＭＡＣヘッダーやＩＰパケットのＩＰヘッダー等をキーに連想メモリなどのテーブルを検索する必要がある。例えば、受信したパケットの送信元ＭＡＣアドレスを検索し、そのＭＡＣアドレスが未登録であればアドレス学習テーブルに登録するなど、用途は多岐に分かれている。上記ＭＡＣアドレス（Media Access Control address) は、ネットワーク上で各ノードを識別するために設定されているネットワーク機器のハードウェアに割当てられる物理アドレスである。
【０００３】
通信機能（通信プロトコル）を７つの階層に分けて定義しているＯＳＩ参照モデルでは、ＭＡＣアドレスは第２層（データリンク層）である直接的に接続されている通信機器間の信号の受け渡しに用いられるアドレスである。本発明を成した後の公知例調査において、本願発明のネットワーク装置やヘッダ処理方法に適用されるＭＡＣ処理に関連するものとしてＭＡＣブリッジング装置（特開平１１−１２２２８７号公報）の存在が報告された。しかしながら、同公報の技術は、ＭＡＣアドレス情報の学習に関するものであり、本願発明とは大きく異なる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１１−１２２２８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ネットワーク装置において、通信回線技術の進展により受信データの高速化が進められている。これに対応して、ネットワーク装置での高速信号処理が望まれる。ネットワーク装置での信号処理が入力データの入力速度に間に合わないと、未処理のパケットが発生してしまうので、パケットの再送を行う必要があり、通信回線技術の進展に伴う物理層での高速化が生かされない。もちろん、半導体技術等の進展に伴い前記ＭＡＣ信号処理回路等での高速化も進められいている。本願発明者においては、このような回路技術での高速化とは別の手法によりネットワーク装置での高速化、あるいはヘッダ処理方法の高速化を図ることを検討した。
【０００６】
この発明の目的は、簡単な構成により高速化を実現したネットワーク装置と、そのヘッダ処理方法を提供することにある。この発明の前記ならびにそのほかの目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００７】
本願において開示される１つの代表的な実施例は、以下の通りである。ネットワーク装置は、物理層からのパケットを抽出するパケット抽出部、上記パケット抽出部で抽出されたパケットを受けるＭＡＣ処理部、上記パケット抽出部で抽出されたパケットが上記ＭＡＣ処理部と同時並行して伝えられるヘッダ検索部及び上記ＭＡＣ処理部で処理されたパケットと上記ヘッダ検索部の検索結果とを受ける上位処理部を備える。上記ＭＡＣ処理部は、入力されたパケットがパケットとして認識されないもの、あるいはパケットとしての妥当性を欠くものを含む不要なパケットを廃棄し、それ以外のパケットを上記上位処理部に伝える。上記ヘッダ検索部での検索結果に対しては、上記ＭＡＣ処理部で廃棄されたパケットに対応したものを廃棄して上記上位処理部に伝えるようにする。
【０００８】
本願において開示される他の１つの代表的な実施例は、以下の通りである。ヘッダ処理方法は、物理層を通して入力された入力信号からパケットを抽出する第１処理、上記抽出された上記パケットのＭＡＣ処理を行う第２処理、上記抽出された上記パケットのヘッダ検索を行う第３処理、上記第２処理で処理されたパケットと、上記第３処理でのヘッダ検索結果を受けて上位処理を行う第４処理とを有する。上記第２処理では、入力されたパケットがパケットとして認識されないもの、あるいはパケットとしての妥当性を欠くものを含む不要なパケットを廃棄し、それ以外のパケットを上記上位処理部に伝える。上記第４処理において、上記処理３でのヘッダ検索結果の中から上記第２処理において廃棄されたパケットに対応したヘッダ検索結果を除いてここで処理されるパケットとそれに対応した検索結果を対応させる。
【発明の効果】
【０００９】
ＭＡＣ処理とデータ検索処理とを同時並行的に行い、ＭＡＣ処理で廃棄されたパケットが生じたならそれに対応して生成されたたヘッダ検索結果を除けばよいという簡単な手法により高速化が可能となる。
【図面の簡単な説明】
【００１０】
【図１】この発明が適用されたネットワーク装置の一実施例のブロック図である。
【図２】この発明が適用されたネットワーク装置の他の一実施例のブロック図である。
【図３】この発明が適用されるネットワークシステムの概略システム図である。
【図４】ＯＳＩ参照モデルの説明図である。
【発明を実施するための形態】
【００１１】
添付の図面に沿って、この発明の好ましい実施の形態について詳細に説明する。
【実施例】
【００１２】
図１には、この発明が適用されたネットワーク装置の一実施例のブロック図が示されている。ネットワーク装置１は、ネットワークに接続された装置１は物理層２を有する。物理層２は、後述するようなＯＳＩ参照モデルによって定義されているコンピュータの持つべき７つの階層（レイヤ）に分けられている通信機能（通信プロトコル）のうち、第１層である。この物理層１は、物理的な接続を意味し、コネタクのピンの数、コネタクの形状の規定等、銅線−光ファイバ間の電気信号の変換等のことである。ネットワークを通して伝えられたデータは、この物理層２で受信される。
【００１３】
ＩＰネットワークでは、データは「パケット」と呼ばれる小さなデータの固まりに格納される。上記パケット４は、同図例示されているように送信元ＩＰ（ＭＡＣ）アドレス、送信先ＩＰ（ＭＡＣ）アドレス、サイズオプション（タイプ）のようなＩＰネットワークに必要なヘッダ情報とともに実際に送りたいデータとＣＲＣを内部に含んでいる。上記格納されたデータは、後に説明する上位階層で処理されるデータである。上記物理層２で受信されたデータはパケット抽出部３に転送されて、上記パケット４が抽出される。
【００１４】
この実施例では、前記ヘッダ情報の処理の高速化を図るために識別ＩＤ生成部５が設けられる。前記抽出されたパケット４には、上記識別ＩＤ生成部５によってシーケンシャルな識別ＩＤ６が付加される。この識別ＩＤは、例えば３ビットで表現するなら０００〜１１１のような２進数値にされる。このようなシーケンシャルな識別ＩＤ６が付加されたパケット４は、Ａ転送７とＢ転送８と並行的に送られる。
【００１５】
上記Ａ転送７は、テーブル検索部１２にてパケット４のアドレスをキーに連想メモリ１３へ対しテーブルの検索を行う。この検索データは、例えばパケット４のスイッチ情報である。上記連想メモリ１３から得たスイッチ情報は、上記識別ＩＤ６を書き込みアドレス１４として用いてスイッチ情報メモリ１６を制御して書き込みデータ１５として書き込まれる。これにより、スイッチ情報メモリ１６には、抽出されたパケット順に検索された検索結果（スイッチ情報等）が順次に格納される。このように検索結果がスイッチ情報メモリ１６に格納されるまでの時間をＡ転送レイテンシィ１９とする。
【００１６】
上記Ｂ転送８では、同じパケット４がＭＡＣ処理部９に送られる。このＭＡＣ処理部９では宛先ＭＡＣアドレスチェック、フレーム長チェック、ＣＲＣの計算と削除、受信フレーム間ギャップ規定チェック等のようなＭＡＣ処理を実行する。このＢ転送８ではＭＡＣ処理により自宛てパケット以外のパケット、ポーズフレーム(パケット)やショートパッケトなど廃棄されるパッケトが存在する。このため、同じパケット４に対してＡ転送７とＢ転送８とではＢ転送側にパケットに歯抜けが生じてしまうことがあり相互間でパケットの順番が保たれない。したがって、上記のようにパケットに歯抜けが生じると当該パケットとは異なるパケットにより生成された検索データが割り当てられてしまう危惧がある。        
【００１７】
この実施例においては、前記問題点を回避するためにＡ転送パケットとＢ転送パケットに前記のようなシーケンシャルな同じ識別ＩＤ６が付加され、かかる識別ＩＤ６を手掛かりとして廃棄されたパケットを認識できるようにされる。後述するようにＡ転送７で予め検索したデータを準備している時にＢ転送８により異なる識別ＩＤが到着した場合はその検索データを無効としＢ転送８で使用されている識別ＩＤと同じ識別ＩＤを持つＡ転送７６側の検索データを割り当てることが可能とされる。
【００１８】
この実施例では、上位処理部１１とＭＡＣ処理部９との間の時間調整等のために受信ＦＩＦＯ（ファーストイン−ファーストアウト）部１０が設けられる。前記ＭＡＣ処理部９から出力されるパケットは、その処理に従って順次に受信ＦＩＦＯ部に格納される。この受信ＦＩＦＯ部１０では、上位処理部１１が受信処理可能になるまで一時的にパケットを貯めておくバッファとして機能する。
【００１９】
つまり、上位処理部１１で受信処理が可能になった時に上記受信ＦＩＦＯ部１０から取り出されたパケットに付加された識別ＩＤ６をスイッチ情報メモリ１６の読み出しアドレス１７として使用し、読み出しデータ１８を得る。前記読み出しデータ１８は、前記Ａ転送７で得たパケットのスイッチ情報である。つまり、前記ＭＡＣ処理部９によって廃棄されたパケットは、それに付加された識別ＩＤ６も廃棄されるのでスイッチ情報メモリ１６からは読み出されることはなく実質的に廃棄される。このように上位処理部１１までのＢ転送に必要とする時間をＢ転送レイテンシィ２０とする。
【００２０】
Ａレイテンシィ１９はＢレイテンシィ２０に比較すると大凡半分の時間程速いものになる。これまでのヘッダ処理技術であればＢ転送８を実施してから検索動作に入るため、最低でも前記の例ならＢレイテンシィ＋Ａレイテンシィの時間が掛かっていた。本願発明に従えば、Ａレイテンシィを実質的に零にできるから、従前と同じ程度の回路素子や回路構成を用いた場合でも、約３０％を超えるヘッダ処理時間の時間短縮化が可能になるものとなる。このようにＡレイテンシィ実質的にゼロにするために検索を先行させ、Ｂ転送で破棄されたパケットが生じた場合でも識別ＩＤ６を用いてスイッチ情報メモリ１６を読み出すので誤ったスイッチ情報を取り入れることは無い。
【００２１】
図２には、この発明が適用されたネットワーク装置の他の一実施例のブロック図が示されている。この実施例では、前記図１の識別ＩＤ生成部５とスイッチ情報メモリ１６が省略される。これに代えて、Ａ転送側に検索データＦＩＦＯ２１が設けられる。そして、この実施例のＭＡＣ処理部９は、廃棄されたパケットに代えてダミーパケットを受信ＦＩＦＯ部１０に送るようにする。そして、上位処理部１１では、上記ダミーパケットが到来すると、それに対応して検索データＦＩＦＯから取り出される検索データ１５を廃棄する。つまり、上位処理部１１は、ダミーパケットが到来すると何も処理しないで検索データを廃棄して直ちに次のパケットの処理に移行する。
【００２２】
この実施例では、テーブル検索部（連想メモリを含む）１２−検索データＦＩＦＯのようなＡ転送ルートと、ＭＡＣ処理部９−受信ＦＩＦＯ部１０のようなＢ転送ルートとの間では、ＭＡＣ処理部９での廃棄パケットをダミーパケットに置き換えるようにすることによって、ある特定のパケットは同じ順序で伝えられて同じタイミングでそれに対応した検索データ１５を取り出すことができる。この結果、ＭＡＣ処理により廃棄パケットが生じても前記のような誤った検索データが割り当てられることはない。そして、前記のように検索動作をＭＡＣ処理とは別個独立に先行的に実施することによって、前記同様にヘッダ処理時間の大幅な時間短縮化が可能になるものとなる。
【００２３】
図３には、この発明が適用されるネットワークシステムの概略システム図が示されている。この実施例では、３つのローカルネットワークＮＥＴＡ、ＮＥＴＢ、ＮＥＴＣにそれぞれルータ（又はブリッジ）Ａ、Ｂ、Ｃが設けられる。ルータＡとＢは、通信回線ＬＩＮ１により接続され、ルータＡとＣは、通信回線ＬＩＮ２により接続される。３つのローカルネットワークＮＥＴＡ、ＮＥＴＢ、ＮＥＴＣには、それぞれ代表として例示されている１つのパーソナルコンピュータＰＣ１、ＰＣ２、ＰＣ３が接続されている。
【００２４】
上記各パーソナルコンピュータＰＣ１、ＰＣ２、ＰＣ３において、前記図１又は図２に示したようしてネットワーク装置が内蔵されている。同様に、ルータＡないしＣにもネットワーク装置を含んでいる。ルータＡないしＣは、ＩＰヘッダ情報を解釈してさまざまな処理を行う。これら処理の中でも重要なものは「ルーティング」である。ルーティングは、経路選択の意味であり、あて先のネットワークへどの経路を使えばよいかということを選ぶものである。ルータという機器の名称もルーティングから付けられたものである。
【００２５】
ルータＡを例にルーティングを簡単に説明すると、ルータＡはルーティングテーブルを持っており、その内容は、あて先のネットワークとそれにたどり着くのに次にどのルータにデータ（パケット）を渡せばよいかなどが含まれる。例えば、ＰＣ１がＰＣ３を指定した送信先ＩＰアドレスを含むパケットを送信すると、ルータＡは、かかるパケットに含まれる送信先ＩＰアドレスからルーティングテーブル（前記ケーブル検索部、連想メモリ）に登録されているルータＣと接続させるスイッチ情報を得て、当該パケットを通信回線ＬＩＮ２を用いてルータＣに転送する。ルータＣは、送られたパケットをそのままローカルネットワークＮＥＴＣに転送する。このネットワークＮＥＴＣに接続されているＰＣ３においては、内蔵されているネットワーク装置のＭＡＣ処理部により前記のように自宛てパケット以外のパケットの廃棄処理を行うものであるので、前記自宛てパケットのみを取り込むものとなる。
【００２６】
また、ルータ（ブリッジあるいはネットワーク装置）は、ローカルネットワーク間のＰＣ同士でのパケットの転送により、自己が接続されたＰＣのＩＰ（ＭＡＣ）アドレスを認識して、ＭＡＣアドレステーブルに記憶させる動作も行う。このようなテーブル作成動作においても、ヘッダ情報処理が利用される。このようにブリッジ（ネットワーク装置）は、転送されてきたパケットをメモリ上に保存してから、アドレステーブルに登録されたＭＡＣアドレスを参照して、送信先が接続されているポートのみにパケットを転送する。また、同一ポート内にあてた送信パケットをほかのポートには転送しない機能やパケットのループを発生させないための機能なども搭載している。
【００２７】
図４には、ＯＳＩ参照モデルの説明図が示されている。このＯＳＩ参照モデルは、コンピュータのもつべき通信機能として以下のような７つの階層に分けて定義している。第１層は、物理層であり、コネタクのピンの数、コネタクの形状の規定等、銅線−光ファイバ間の電気信号の変換等のような物理的な接続のことである。第２層は、データリンク層であり、直接的（隣接的）に接続されている通信機器間の信号の受け渡しである。第３層は、ネットワーク層であり、ネットワークにおける通信経路の選択（ルーティング）、データ中継である。
【００２８】
第４層は、トランスポート層であり、ネットワークの端から端までの通信管理（エラー訂正、再送制御等）である。第５層は、セッション層であり、通信プログラム間の通信の開始から終了までの手順（接続が途切れた場合、接続の回復を試みる）である。第６層は、プレゼンテーション層であり、例えばＥＢＣＤＩＣコードのテキストファイルをＡＳＣＩＩコードのファイルに変換するなどのデータの表現方法である。第７層は、アプリケーション層であり、例えばファイル・メールの転送、遠隔データベースアクセス、ＨＴＴＰやＦＴＰ等のような具体的な通信サービスである。
【００２９】
図１や図２のヘッダ処理は、いわば前記第２層までの通信機能に対応し、上位処理部１１で抽出されたスイッチ情報は、第３層のルーティング等に用いられる。ルータは、一般的にＯＳＩ第３層であるネットワーク層で動作するというように言われている。
【００３０】
本発明者によってなされた発明を、前記実施形態に基づき具体的に説明したが、本発明は、前記実施形態に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能である。例えば、ヘッダ検索部での検索結果のうち、ＭＡＣ処理により廃棄されるパケットに対応したものを除く方法は、廃棄されるパケットのヘッダ情報を利用して格納されている検索結果を探し出して除くようにしてもよい。このように検索動作をＭＡＣ処理とは別個独立に先行的に実施しつつ、検索結果に対して廃棄されるパケットに対応したものを除くようにする方法は種々変更できる。検索内容は、ＩＰアドレスの他にヘッダ情報に含まれるものであればよい。
【産業上の利用可能性】
【００３１】
この発明は、ネットワーク装置とそのヘッダ処理方法としてルータ、ブリッジ等に広く利用することができ、例えばネットワーク機能を持つ半導体集積回路装置を実現するためのハードウェアＩＰコアにも有益である。
【符号の説明】
【００３２】
１…ネットワーク装置、２…物理層、３…パケット抽出部、４…パケット、５…識別ＩＤ生成部、６…識別ＩＤ、７…Ａ転送、８…Ｂ転送、９…ＭＡＣ処理部、１０…受信ＦＩＦＯ部、１１…上位処理部、１２…テーブル検索部、１３…連想メモリ、１４…書込アドレス、１５…書込データ（検索データ）、１６…スイッチ情報メモリ、１７…読出アドレス、１８…読出データ（検索データ）、１９…Ａ転送レイテンシィ、２０…Ｂ転送レイテンシィ、２１…検索データＦＩＦＯ。
【図１】
2012109762.tif 000003
【図２】
2012109762.tif 000004
【図３】
2012109762.tif 000005
【図４】
2012109762.tif 000006