(57)【特許請求の範囲】
【請求項１】
ある通信機器が出した要求電文に対して応答電文を返すというプロトコルに従う応答通信機器において、
入力された電文がプロトコル電文であることを判定するプロトコル電文判定回路と、
前記プロトコル電文判定回路と接続され、前記プロトコル電文が要求電文であることを判定する要求電文判定回路と、
前記要求電文判定回路と接続され、前記要求電文が自装置宛てであることを判定する自装置宛て判定回路と、
前記自装置宛て判定回路と接続され、自装置宛てである前記要求電文を応答電文に置換して出力する電文置換回路と、
を備え、
前記プロトコル電文判定回路、前記要求電文判定回路、前記自装置宛て判定回路及び前記電文置換回路はハードウェアからなり、
前記プロトコル電文判定回路、前記要求電文判定回路、前記自装置宛て判定回路及び前記電文置換回路は、レイヤ３処理を行うＬ３終端よりも前段に配置され、
前記プロトコル電文判定回路、前記要求電文判定回路、前記自装置宛て判定回路及び前記電文置換回路は一列に配置され、
プロトコル電文及びプロトコル電文でないその他の電文を含む入力された電文は、途中で分岐することなく、順に、前記プロトコル電文判定回路に入力され、前記要求電文判定回路、前記自装置宛て判定回路及び前記電文置換回路を経由して出力されることを特徴とする応答通信機器。
【請求項２】
前記プロトコル電文判定回路は、入力された電文に内部ヘッダを付加し、入力された電文がプロトコル電文であるとき前記内部ヘッダにプロトコル電文であることを示すフラグをセットし、
前記要求電文判定回路は、前記プロトコル電文が要求電文であるとき前記内部ヘッダに要求電文であることを示すフラグをセットし、
前記自装置宛て判定回路は、前記要求電文が自装置宛てであるとき前記内部ヘッダに自装置宛てであることを示すフラグをセットし、
前記電文置換回路は、前記内部ヘッダにプロトコル電文であることを示すフラグ、要求電文であることを示すフラグ及び自装置宛てであることを示すフラグがセットされているとき、前記要求電文を応答電文に置換し、
前記電文置換回路と接続され、前記内部ヘッダを削除する内部ヘッダ削除回路を更に備える、
請求項１記載の応答通信機器。
【請求項３】
請求項２記載の応答通信機器であって、
前記プロトコル電文判定回路は、伝送路からポートに到着したフレームのイーサネットヘッダ中のタイプフィールドに基づいて当該フレームがＡＲＰパケットを搭載していることを判定するＡＲＰパケット判定回路であり、
前記要求電文判定回路は、当該ＡＲＰパケット中のオペレーションフィールドに基づいて当該ＡＲＰパケットがＡＲＰ要求パケットであることを判定するＡＲＰ要求パケット判定回路であり、
前記自装置宛て判定回路は、当該ＡＲＰ要求パケット中の宛先ＩＰアドレスフィールドをチェックし当該ＡＲＰ要求パケットが自装置宛てであることを判定し、
前記電文置換回路は、当該ＡＲＰ要求パケットに応答内容を上書きしてＡＲＰ応答パケットに置換するパケット置換回路であるＡＲＰ応答通信機器。
【請求項４】
前記ＡＲＰパケット判定回路は、到着した全フレームに内部ヘッダを付加して内部パケットとする内部ヘッダ付加回路と、その内部パケットのイーサネットヘッダ中のタイプフィールドがＡＲＰパケットであるときに、内部ヘッダのＡＲＰパケット受信フラグをセットするＡＲＰパケット受信マーキング回路を有し、
前記ＡＲＰ要求パケット判定回路は、その内部パケットのＡＲＰパケット中のタイプフィールドがＡＲＰ要求パケットであるときに、内部ヘッダのＡＲＰ要求パケット受信フラグをセットするＡＲＰ要求パケット受信マーキング回路を有し、
前記自装置宛て判定回路は、その内部パケットのＡＲＰパケット中の宛先ＩＰアドレスフィールドが自装置ポートのＩＰアドレスであるときに、内部ヘッダのＡＲＰ処理実施指示フラグをセットするＡＲＰ処理実施指示マーキング回路を有し、
前記パケット置換回路は、その内部パケットの内部ヘッダ中にＡＲＰパケット受信フラグとＡＲＰ要求パケット受信フラグとＡＲＰ処理実施指示フラグがセットされているときに、その内部パケットのＡＲＰ要求パケット中の宛先ＩＰアドレスフィールドと送信元ＩＰアドレスフィールドとを入れ替え、宛先ＭＡＣアドレスフィールドと送信元ＭＡＣアドレスフィールドとを入れ替え、送信元ＭＡＣアドレスフィールドに自装置のＭＡＣアドレスを上書きするアドレス上書き回路を有し、
さらに、その内部パケットから内部ヘッダを削除して送信フレームとする内部ヘッダ削除回路を有する請求項３記載のＡＲＰ応答通信機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークに接続される通信機器に係り、応答を高速化する応答通信機器及びＡＲＰ応答通信機器に関する。
【背景技術】
【０００２】
伝送路を介した通信の分野においてはＯＳＩ参照モデルの各々の層について種々のプロトコルが規定されており、ひとつひとつのプロトコルに関する処理を総合すると、全体としては相当に複雑な処理となる。これらの処理を全てハードウェアで実行するようにしようとしても、到底そのためのハードウェアを設計するのは困難である。そこで、レイヤ１（物理層）を除きレイヤ２（データリンク層）以上のプロトコルに関する処理はソフトウェアで実行されるのが一般的である。
【０００３】
本発明は、これらのプロトコルのうち特にイーサネット（登録商標）を搭載した通信機器に適用されるものである。イーサネットは、レイヤ１，２に関するプロトコルであり、一般に、ＤＩＸ規格とＩＥＥＥ８０２．３規格があるが、ここではこれら２つを総称してイーサネットと呼ぶことにする。
【０００４】
また、レイヤ３（ネットワーク層）以上の層のプロトコルとしてＴＣＰ／ＩＰが知られており、ＴＣＰ／ＩＰは、ＩＡＢ（インターネット・アーキテクチャ委員会）が発行する標準勧告文書ＲＦＣに定められている。
【０００５】
なお、本明細書では、イーサネット（レイヤ２に属する）で使用する電文をフレームと呼び、ＩＰ（レイヤ３に属する）で使用する電文をパケットと呼ぶ。ネットワーク上の機器間では、パケットはフレームに搭載して送信される。以下では、機器が相手機器に対して単に「パケットを送信する」という表記は、レイヤ３の動作に注目した表記であり、レイヤ２の動作も含めると「パケットをフレームに搭載し、そのフレーム送信する」という意味である。
【０００６】
さらに、本発明では、ハードウェア処理の際にフレームに内部ヘッダを付加することがあるが、本明細書では、このフレームに内部ヘッダを付加したものを内部パケットと呼ぶ。
【０００７】
例えば、図６に示した通信機器６１は、ネットワークの伝送路に接続され、入力・出力される電気信号としてのフレームをレイヤ１で処理するＰＨＹ６２と、ＰＨＹ６２から転送されたフレームをレイヤ２で処理するＭＡＣ６３と、ＭＡＣ６３から転送されたフレーム中のパケットについてレイヤ３処理を行うパケットフォワーディング６４と、ＣＰＵ６５とを有する。ＰＨＹ６２で行う処理をＬ１終端、ＭＡＣ６３で行う処理をＬ２終端、パケットフォワーディング６４で行う処理をＬ３終端という。
【０００８】
こうしたソフトウェアで実行されるプロトコルのひとつにレイヤ２、レイヤ３間で用いられるＡＲＰと呼ばれるアドレス解決プロトコル（ＲＦＣ８２６）がある。ＡＲＰは、ＩＰアドレスが既知でＭＡＣアドレスが未知である相手に対して、相手のＭＡＣアドレスを問い合わせるプロトコルである。
【０００９】
すなわち、ＡＲＰ要求パケットは、ＡＲＰ要求送信装置によりオペレーションフィールドをＡＲＰ要求とし、送信元ＩＰアドレスフィールドに自装置ポートＩＰアドレス、送信元ＭＡＣアドレスフィールドに自装置ポートＭＡＣアドレス、宛先ＩＰアドレスフィールドに相手のＩＰアドレスを格納し、宛先ＭＡＣアドレスフィールドは空欄（つまり全て０を格納）にしたものである。このＡＲＰ要求パケットをイーサネットのブロードキャストで送信すると、このＡＲＰ要求パケットが到着したネットワーク上の各通信機器はイーサネットヘッダ中のタイプフィールドとＡＲＰパケット中のオペレーションフィールドをチェックしてＡＲＰ要求パケットの判定をし、ＡＲＰ要求パケットであれば、宛先ＩＰアドレスフィールドに自装置ポートＩＰアドレスが格納されているかどうかチェックする。こうして当該パケットが自装置宛てのＡＲＰ要求パケットであることを認識した通信機器はＡＲＰ応答パケットを返送する。
【００１０】
ＡＲＰ応答パケットは、ＡＲＰ要求受信装置によりオペレーションフィールドをＡＲＰ応答とし、送信元ＩＰアドレスフィールドに自装置ポートＩＰアドレス、送信元ＭＡＣアドレスフィールドに自装置ポートＭＡＣアドレス、宛先ＩＰアドレスフィールドに相手のＩＰアドレス、宛先ＭＡＣアドレスフィールドに相手のＭＡＣアドレスを格納したものである。相手のＩＰアドレス、ＭＡＣアドレスはもちろんＡＲＰ要求パケットに格納されていたものである。ＡＲＰ要求パケットを送信した通信機器はＡＲＰ応答パケットを受け取ることで、所望した相手のＭＡＣアドレスを獲得することができる。
【００１１】
例えば、図７に示されるように、レイヤ３の接続装置（ルータもしくはＬ３スイッチ）であるルータＤに端末Ｄ１が接続され、ルータＥに端末Ｅ１が接続され、ルータＤ，ＥがネットワークＦに接続され、各端末Ｄ１，Ｅ１にはネットワークインタフェースカード（ＮＩＣ）が内蔵されたネットワークにおいて、ＡＲＰを搭載した通信機器である端末Ｄ１が同じくＡＲＰを搭載した通信機器である端末Ｅ１に対して通常のフレームを送信したいとき、端末Ｅ１のＩＰアドレスは既知であってもルータＤのＭＡＣアドレスが未知であったとすると、そのルータＤ宛に通常のフレームを送信することができない。そこで、端末Ｄ１は宛先ＩＰアドレスフィールドにルータＤのＩＰアドレスを格納したＡＲＰ要求パケットをイーサネットのブロードキャストで送信する。ＡＲＰ要求パケットを受け取ったルータＤは端末Ｄ１宛てにＡＲＰ応答パケットを送信するので、端末Ｄ１はルータＤのＭＡＣアドレスを知り、ルータＤ宛に通常のフレームを送信することができるようになる。
【００１２】
ＡＲＰ要求パケットとＡＲＰ応答パケットは、格納されるフィールド情報が部分的に異なるが、基本的に同じフォーマットを有するものであり、両者を合わせてＡＲＰパケットと言う。
【００１３】
ここで、ＡＲＰ応答に関して通信機器が内部で実行する手順をハードウェア（ＨＷと記す）とソフトウェア（ＳＷと記す）に分類して示すと次の通りである。
【００１４】
￥１．ＨＷ；ブロードキャストによってＰＨＹに到着したＡＲＰパケットを全て受信し、ＣＰＵに転送する。
【００１５】
￥２．ＳＷ；ＣＰＵに転送されたＡＲＰパケットからオペレーションフィールドに基づいてＡＲＰ要求パケットを検出する。
【００１６】
￥３．ＳＷ；検出されたＡＲＰ要求パケットから宛先ＩＰアドレスフィールドにより自装置ポート宛てかどうかを判定する（なお、自装置には複数のポートがあり、各々のポートがＩＰアドレスを持つ）。
【００１７】
￥４；ＳＷ；ＡＲＰ要求パケットが自装置ポート宛てでない場合、このＡＲＰ要求パケットを廃棄する。
【００１８】
￥５．ＳＷ；ＡＲＰ要求パケットが自装置ポート宛ての場合、送信するためのＡＲＰ応答パケットを生成する。受信したＡＲＰ要求パケットは廃棄する。
【００１９】
￥６．ＨＷ；生成したＡＲＰ応答パケットをＰＨＹから送信する。ＡＲＰ応答パケットは、ＭＡＣ６３に接続されている内部伝送路のパケットの流れの中に挿入するようにして送信する。他のパケットがある場合は、そのパケットをパケットバッファ（図６には示さず）に一時蓄積してＡＲＰ応答パケットを送信後に、そのパケットを送信する。
【００２０】
【特許文献１】特開２００２−２０８９８２号公報
【発明の開示】
【発明が解決しようとする課題】
【００２１】
ＡＲＰを搭載した通信機器は自装置宛てのＡＲＰ要求パケットを受信したらＡＲＰ応答パケットを送信しなければならない。しかし、そのために悪意の第三者からＤＯＳ攻撃と呼ばれるＡＲＰを利用した攻撃の標的となることがある。ＤＯＳ攻撃は、ＡＲＰ要求パケットを次々と大量に送りつけるものである。これを受信した通信機器は前述した￥１〜￥６の手順を何度も繰り返して実行することになる。その処理の大半がソフトウェア処理であるため、ＣＰＵの負荷が高くなってＣＰＵが他の処理を実行できなくなる。その結果、本来受け取るべき他のパケットを受信できなくなったり、ＡＲＰ応答パケットを挿入するために他のパケットの送受信が大きく遅延するようになる。また、ＡＲＰ応答パケットがＡＲＰ要求元に届くのも遅れるので、本来、ＡＲＰ要求元が応答側に宛てて送信しようとしている通常のパケットも大きく遅延することになる。
【００２２】
このようにして通信機器を機能麻痺させることがＤＯＳ攻撃の目的である。しかし、ＤＯＳ攻撃に限らず、ネットワーク上にＡＲＰパケットが増えていると、同様の理由で通信機器の機能が低下する。
【００２３】
本出願人は、ＡＲＰ応答手順中のソフトウェア処理部分をハードウェア処理に置き換えて高速化を図ればＣＰＵの負担が軽減でき、ＤＯＳ攻撃やＡＲＰパケットの増加に対して通信機器の機能低下を防ぐことができると考えた。しかし、ソフトウェア処理をそっくりハードウェア処理に置き換えただけでは、ＡＲＰ応答パケットの挿入には、容量の大きいパケットバッファが必要であるという問題、及びパケットバッファの制御が複雑であるという問題が残ることが分かった。
【００２４】
そこで、本発明の目的は、上記課題を解決し、応答を高速化する応答通信機器及びＡＲＰ応答通信機器を提供することにある。
【課題を解決するための手段】
【００２５】
上記目的を達成するために本発明の応答通信機器は、ある通信機器が出した要求電文に対して応答電文を返すというプロトコルに従う応答通信機器において、入力された電文がプロトコル電文であることを判定するプロトコル電文判定回路と、前記プロトコル電文判定回路と接続され、前記プロトコル電文が要求電文であることを判定する要求電文判定回路と、前記要求電文判定回路と接続され、前記要求電文が自装置宛てであることを判定する自装置宛て判定回路と、前記自装置宛て判定回路と接続され、自装置宛てである前記要求電文を応答電文に置換して出力する電文置換回路と、を備え、前記プロトコル電文判定回路、前記要求電文判定回路、前記自装置宛て判定回路及び前記電文置換回路はハードウェアからなり、前記プロトコル電文判定回路、前記要求電文判定回路、前記自装置宛て判定回路及び前記電文置換回路は、レイヤ３処理を行うＬ３終端よりも前段に配置され、前記プロトコル電文判定回路、前記要求電文判定回路、前記自装置宛て判定回路及び前記電文置換回路は一列に配置され、プロトコル電文及びプロトコル電文でないその他の電文を含む入力された電文は、途中で分岐することなく、順に、前記プロトコル電文判定回路に入力され、前記要求電文判定回路、前記自装置宛て判定回路及び前記電文置換回路を経由して出力されるものである。
前記プロトコル電文判定回路は、入力された電文に内部ヘッダを付加し、入力された電文がプロトコル電文であるとき前記内部ヘッダにプロトコル電文であることを示すフラグをセットし、前記要求電文判定回路は、前記プロトコル電文が要求電文であるとき前記内部ヘッダに要求電文であることを示すフラグをセットし、前記自装置宛て判定回路は、前記要求電文が自装置宛てであるとき前記内部ヘッダに自装置宛てであることを示すフラグをセットし、前記電文置換回路は、前記内部ヘッダにプロトコル電文であることを示すフラグ、要求電文であることを示すフラグ及び自装置宛てであることを示すフラグがセットされているとき、前記要求電文を応答電文に置換し、前記電文置換回路と接続され、前記内部ヘッダを削除する内部ヘッダ削除回路を更に備えてもよい。
【００２６】
また、本発明のＡＲＰ応答通信機器は、上記の応答通信機器であって、前記プロトコル電文判定回路は、伝送路からポートに到着したフレームのイーサネットヘッダ中のタイプフィールドに基づいて当該フレームがＡＲＰパケットを搭載していることを判定するＡＲＰパケット判定回路であり、前記要求電文判定回路は、当該ＡＲＰパケット中のオペレーションフィールドに基づいて当該ＡＲＰパケットがＡＲＰ要求パケットであることを判定するＡＲＰ要求パケット判定回路であり、前記自装置宛て判定回路は、当該ＡＲＰ要求パケット中の宛先ＩＰアドレスフィールドをチェックし当該ＡＲＰ要求パケットが自装置宛てであることを判定し、前記電文置換回路は、当該ＡＲＰ要求パケットに応答内容を上書きしてＡＲＰ応答パケットに置換するパケット置換回路である。
【００２７】
上記ＡＲＰパケット判定回路は、到着した全フレームに内部ヘッダを付加して内部パケットとする内部ヘッダ付加回路と、その内部パケットのイーサネットヘッダ中のタイプフィールドがＡＲＰパケットであるときに、内部ヘッダのＡＲＰパケット受信フラグをセットするＡＲＰパケット受信マーキング回路を有し、
上記ＡＲＰ要求パケット判定回路は、その内部パケットのＡＲＰパケット中のタイプフィールドがＡＲＰ要求パケットであるときに、内部ヘッダのＡＲＰ要求パケット受信フラグをセットするＡＲＰ要求パケット受信マーキング回路を有し、
上記自装置宛て判定回路は、その内部パケットのＡＲＰパケット中の宛先ＩＰアドレスフィールドが自装置ポートのＩＰアドレスであるときに、内部ヘッダのＡＲＰ処理実施指示フラグをセットするＡＲＰ処理実施指示マーキング回路を有し、
上記パケット置換回路は、その内部パケットの内部ヘッダ中にＡＲＰパケット受信フラグとＡＲＰ要求パケット受信フラグとＡＲＰ処理実施指示フラグがセットされているときに、その内部パケットのＡＲＰ要求パケット中の宛先ＩＰアドレスフィールドと送信元ＩＰアドレスフィールドとを入れ替え、宛先ＭＡＣアドレスフィールドと送信元ＭＡＣアドレスフィールドとを入れ替え、送信元ＭＡＣアドレスフィールドに自装置のＭＡＣアドレスを上書きするアドレス上書き回路を有し、
さらに、その内部パケットから内部ヘッダを削除して送信フレームとする内部ヘッダ削除回路を有してもよい。
【発明の効果】
【００２８】
本発明は次の如き優れた効果を発揮する。
【００２９】
（１）ＡＲＰ応答を高速化することができる。
【００３０】
（２）ハードウェアの論理を簡略化できる。
【００３１】
（３）パケットバッファの使用が必須でなくなる。
【００３２】
（４）ハードウェアの規模を削減できる。
【発明を実施するための最良の形態】
【００３３】
以下、本発明の一実施形態を添付図面に基づいて詳述する。
【００３４】
本発明に係るＡＲＰ応答通信機器は、ＡＲＰ応答手順を全てＣＰＵではなくＡＲＰ応答手順専用のハードウェアで行うほかは、これまで説明した通信機器と同様にレイヤ３以上のプロトコルに関する処理はソフトウェアで実行するものである。
【００３５】
本発明におけるＡＲＰ応答手順は次の通りである。
【００３６】
＃１．ＨＷ；ブロードキャストによってＰＨＹに到着したＡＲＰパケットを搭載したフレームを全て受信する。ただし、ＡＲＰパケットはＣＰＵには転送しない。
【００３７】
＃２．ＨＷ；受信したＡＲＰパケットを搭載したフレームのイーサネットヘッダ中のタイプフィールドに基づいてＡＲＰパケットの検出をする。
【００３８】
＃３．ＨＷ；検出したＡＲＰパケット中のオペレーションフィールドに基づいてＡＲＰ要求パケットを検出する。
【００３９】
＃４．ＨＷ；検出されたＡＲＰ要求パケット中から宛先ＩＰアドレスフィールドに基づいて自装置ポート宛てかどうかを判定する。
【００４０】
＃５；ＨＷ；ＡＲＰ要求パケットが自装置ポート宛てでない場合、このＡＲＰ要求パケットを廃棄する。
【００４１】
＃６．ＨＷ；ＡＲＰ要求パケットが自装置宛ての場合、そのＡＲＰ要求パケットにＡＲＰ応答パケットを上書きする（つまり置換する）。
【００４２】
＃７．ＨＷ；置換したＡＲＰ応答パケットをＰＨＹから送信する。ＡＲＰ応答パケットは、パケットフォワーディングを経由してＰＨＹに至る内部パケットの流れの中でもともとＡＲＰ要求パケットが入っていたところに入ることになるので、他のパケットは蓄積しない。
【００４３】
図１に示されるように、本発明に係るＡＲＰ応答通信機器に具備されるＡＲＰ応答手順専用のハードウェア（ＬＳＩまたはＦＰＧＡで作成される）は、伝送路からＰＨＹ、ＭＡＣ（図示せず）に到着したフレームのイーサネットヘッダ中のタイプフィールドに基づいて当該フレームがＡＲＰパケットを搭載していることを判定するＡＲＰパケット判定回路１と、上記フレームに搭載されたＡＲＰパケット中のオペレーションフィールドに基づいて当該ＡＲＰパケットがＡＲＰ要求パケットであることを判定するＡＲＰ要求パケット判定回路２と上記ＡＲＰパケット中の宛先ＩＰアドレスフィールドをチェックし当該ＡＲＰ要求パケットが自装置宛てであることを判定する自装置宛て判定回路３と、その判定に基づき当該ＡＲＰ要求パケットに応答内容を上書きしてＡＲＰ応答パケットに置換するパケット置換回路４とを備える。
【００４４】
パケット置換回路４から出たパケットはＰＨＹ（図示せず）に出力されるようになっている。
【００４５】
ここで、本発明を適用した通信機器８１は、図８に示されるように、ネットワークの伝送路に接続され、入力・出力される電気信号としてのフレームをレイヤ１で処理するＰＨＹ８２と、ＰＨＹ８２から転送されたフレームをレイヤ２で処理するＭＡＣ８３と、ＭＡＣ８３から転送されたフレーム中のパケットについてレイヤ３処理を行うパケットフォワーディング８４と、ＣＰＵ８５とを有する。ＰＨＹ８２で行う処理をＬ１終端、ＭＡＣ８３で行う処理をＬ２終端、パケットフォワーディング８４で行う処理をＬ３終端という。
【００４６】
図１のハードウェアにおける入力とは、図８の通信機器８１に示したＭＡＣ８３に接続されたＡＲＰの入力のことを意味する。図１のハードウェアにおける出力とは、図８の通信機器８１に示したＬ３終端と接続されたＡＲＰの出力のことである。そして、パケットフォワーディング８４の内部において、本発明の内部パケットが使用される。
【００４７】
図１中に、ＡＲＰ応答手順＃１〜＃６を対応するハードウェア箇所に付記しておく。
【００４８】
図２にイーサネットにおけるＡＲＰパケット搭載したフレームのフォーマットを示す。図示のように、フレームの全体はイーサネットヘッダ、ＡＲＰパケットに大きく分けることができる。
【００４９】
イーサネットヘッダは、送信元ＭＡＣアドレスフィールド、宛先ＭＡＣアドレスフィールド、タイプフィールドなどからなり、全体で１６バイトとなる。
【００５０】
タイプフィールドは、上位プロトコルの種類を表す情報を格納するところであり、例えば、ＡＲＰパケットを搭載している場合、ＩＰ＝０ｘ０８００、ＡＲＰ＝０ｘ０８０６、ＶＬＡＮ＝０ｘ８１００となる。
【００５１】
ＡＲＰパケットは、ハードウェア種別フィールド、プロトコルフィールド、ハードウェアアドレス長フィールド、プロトコルアドレス長フィールド、オペレーションフィールド、送信元ＭＡＣアドレスフィールド、送信元ＩＰアドレスフィールド、宛先ＭＡＣアドレスフィールド、宛先ＩＰアドレスフィールドからなり、全体で２８バイトとなる。
【００５２】
ハードウェア種別フィールドは、ネットワークの物理的な媒体の種類を表す情報を格納するところであり、例えば、イーサネットの媒体のハードウェア種別は０ｘ０００１である。
【００５３】
プロトコルフィールドは、ＡＲＰで取り扱う上位プロトコルの種別を表す情報を格納するところであり、例えば、ＴＣＰ／ＩＰのプロトコルの種別は０ｘ０８００である。
【００５４】
ハードウェアアドレス長フィールドは、ＭＡＣアドレスの長さの値を格納するところであり、例えば、イーサネットではＭＡＣアドレスが６バイトであるので６が格納される。
【００５５】
プロトコルアドレス長フィールドは、上位プロトコルで利用されるアドレス情報の長さの値を格納するところであり、例えば、バージョン４のＴＣＰ／ＩＰのプロトコルではＩＰアドレスが４バイトであるので、４が格納される。
【００５６】
オペレーションフィールドは、ＡＲＰ要求、ＡＲＰ応答、ＲＡＲＰ要求、ＲＡＲＰ応答の区別を示すコードが格納されるフィールドである。コード＝１はＡＲＰ要求を表し、最初にＡＲＰ要求を送信する機器が利用する。コード＝２はＡＲＰ応答を表し、ＡＲＰ要求に該当する機器が応答するのに利用する。コード＝３はＲＡＲＰ要求を表し、ＲＡＲＰ要求を送信する機器が利用する。コード＝４はＲＡＲＰ応答を表し、ＲＡＲＰ要求をサービスするサーバ（ＲＡＲＰサーバ）が応答するのに利用する。
【００５７】
図１を用いてＡＲＰ応答通信機器の動作を説明する。ＰＨＹには種々のフレームが到着するので、ここではＡＲＰ要求パケットを搭載したフレームをフレームＡ、その他のパケットを搭載したフレームをフレームＢとする。
【００５８】
まず、フレームＡがＰＨＹに到着すると、図示しない経路によりこのフレームＡがＡＲＰパケット判定回路１に入力される。ＡＲＰパケット判定回路１において、フレームＡのイーサネットヘッダ中のタイプフィールドをチェックすることで、このフレームＡがＡＲＰパケットを搭載したフレームであることが判定される。
【００５９】
次いで、ＡＲＰ要求パケット判定回路２において、フレームＡに搭載されたＡＲＰパケット中のオペレーションフィールドをチェックすることで、このフレームＡに搭載されたＡＲＰパケットがＡＲＰ要求パケットであることが判定される。
【００６０】
次いで、自装置宛て判定回路３において、フレームＡに搭載されたＡＲＰパケット中の宛先ＩＰアドレスフィールドと自装置ポートのＩＰアドレスとを比較することで、このフレームＡが自装置宛てのＡＲＰ要求パケットを搭載していることが判別されるので、その結果、ＡＲＰ要求パケットが自装置宛てに届いたという事象が判定される。
【００６１】
次いで、パケット置換回路４では、その判定に基づいて、フレームＡに搭載されたＡＲＰ要求パケットに対する応答に必要な情報をフレームＡに搭載されたＡＲＰ要求パケットに上書きすることでフレームＡをＡＲＰ応答パケットが搭載されたフレームＡ’に置換する。
【００６２】
パケット置換回路４から出力されたＡＲＰ応答パケットを搭載したフレームＡ’は、ＭＡＣを経由してＰＨＹに送られ、伝送路に送信される。
【００６３】
フレームＡがＡＲＰ要求パケットを搭載していたとしても他装置宛ての場合、自装置宛て判定回路３において、宛先ＩＰアドレスフィールドに格納されているＩＰアドレスと自装置ポートＩＰアドレスとを比較することで、このフレームＡに搭載されているＡＲＰ要求パケットが自装置宛てのパケットでないことが判別される。これにより、パケット置換回路４においてフレームＡが廃棄される。
【００６４】
フレームＢがＰＨＹに到着すると、ＡＲＰパケット判定回路１に入力される。ＡＲＰパケット判定回路１において、フレームＢのイーサネットヘッダ中のタイプフィールドをチェックすることで、このフレームＢがＡＲＰパケットを搭載したフレームでないことが判定される。
【００６５】
ＡＲＰ要求パケット判定回路２、自装置宛て判定回路３、パケット置換回路４では、フレームＢに対して何の加工もしない。よって、フレームＢが通常のＩＰパケットを搭載している場合はＬ３終端され、ＭＡＣを経由してＰＨＹに送られ、伝送路に送信される。
【００６６】
比較のために、従来の通信機器におけるＡＲＰ応答手順をブロック化して図３に示す。この通信機器は、伝送路からＰＨＹ（図示せず）に到着したフレームのイーサネットヘッダ中のタイプフィールドに基づいて当該フレームがＡＲＰパケット搭載フレームであることを判定してＣＰＵに伝えるＡＲＰパケット判定部３１と、ＣＰＵに転送されたフレームがＡＲＰパケット搭載フレームであることを判定するＡＲＰ要求パケット判定部３２と、フレームに搭載されたＡＲＰ要求パケット中のオペレーションフィールドと宛先ＩＰアドレスフィールドをチェックし当該ＡＲＰ要求パケット搭載フレームが自装置宛てであることを判定する自装置宛て判定部３３と、その判定に基づきＡＲＰ応答パケットを搭載したフレームを生成し、ＡＲＰ要求パケット搭載フレームを廃棄するＡＲＰ応答パケット生成部３４と、ＡＲＰ応答パケット搭載フレームを伝送路のフレームの流れの中に挿入するための多重回路３５と、その他のフレームを一時蓄積するパケットバッファ３６とを有する。
【００６７】
図３の通信機器は、ハードウェアとソフトウェアを複合したものであり、実線で示した処理の流れがハードウェアによるもの、破線で示した処理の流れがソフトウェアによるものである。仮に、ソフトウェア処理をそっくりハードウェア処理に置き換えた通信機器を構成すると、破線部が実線になるだけで、図１のようにはならないことが分かる。
【００６８】
さて、本発明ではＡＲＰ応答手順＃１〜＃７が全てハードウェアで実行されるので、ＡＲＰ応答手順＃１〜＃７に要する時間はナノ秒のオーダーである。従来技術では、ＡＲＰ応答手順￥２〜￥５がソフトウェアで実行されるので、ＡＲＰ応答手順￥２〜￥５に要する時間はマイクロ秒のオーダーである。本発明では、ＡＲＰ応答手順中にフレームを一時蓄積する過程が必要なくなっており、従って、容量の大きなパケットバッファが必須でなくなる、ハードウェアの論理を簡略化できる、ハードウェアの規模を削減できるという効果がある。
【００６９】
次に、本発明の別の実施形態を説明する。
【００７０】
図４に示されるように、本発明に係るＡＲＰ応答通信機器に具備されるＡＲＰ応答手順専用のハードウェアは、ＡＲＰパケット判定回路４１と、ＡＲＰ要求パケット判定回路４２と、自装置宛て判定回路４３と、パケット置換回路４４と、内部ヘッダ削除回路４５とを有する。
【００７１】
ＡＲＰパケット判定回路４１は、図１で説明したＡＲＰパケット判定回路１であり、到着した全フレームに内部ヘッダを付加して内部パケットとする内部ヘッダ付加回路と、その内部パケットのイーサネットヘッダ中のタイプフィールドがＡＲＰパケットであるときに、内部ヘッダのＡＲＰパケット受信フラグをセットするＡＲＰパケット受信マーキング回路とを備えたものである。
【００７２】
内部パケットは、本発明に関して定義したものであり、詳しくは後述するが、この通信機器内でのみ通用し、通信機器外には出ていかないものである。
【００７３】
ＡＲＰパケット判定回路４１におけるチェック項目は、内部パケットのイーサネットヘッダ中のＤＡフィールド＝ｆｆ：ｆｆ：ｆｆ：ｆｆ：ｆｆ：ｆｆ（ブロードキャスト）とタイプフィールド＝０ｘ０８０６（ＡＲＰ）である。
【００７４】
ＡＲＰ要求パケット判定回路４２は、図１で説明したＡＲＰ要求パケット判定回路２であり、内部パケットのＡＲＰパケット中のオペレーションフィールドがＡＲＰ要求パケットであるときに、内部ヘッダのＡＲＰ要求パケット受信フラグをセットするＡＲＰ要求パケット受信マーキング回路を備えたものである。
【００７５】
ＡＲＰ要求パケット判定回路４２におけるチェック項目は、内部パケットのＡＲＰパケット中のハードウェア種別フィールド＝０ｘ００１、プロトコルフィールド＝０ｘ０８００、ハードウェアアドレス長フィールド＝０ｘ００６、プロトコルアドレス長フィールド＝０ｘ０４、オペレーションフィールド＝０ｘ０００１である。
【００７６】
自装置宛て判定回路４３は、図１で説明した自装置宛て判定回路３であり、内部パケットのＡＲＰパケット中の宛先ＩＰアドレスフィールドが自装置ポートのＩＰアドレスであるときに、内部ヘッダのＡＲＰ処理実施指示フラグをセットするＡＲＰ処理実施指示マーキング回路を備えたものである。
【００７７】
自装置宛て判定回路４３におけるチェック項目は、内部パケットのＡＲＰパケット中の宛先ＩＰアドレススフィールド＝自装置ポートＩＰアドレスである。
【００７８】
パケット置換回路４４は、図１で説明したパケット置換回路４であり、内部パケットの内部ヘッダ中にＡＲＰパケット受信フラグとＡＲＰ要求パケット受信フラグとＡＲＰ処理実施指示フラグがセットされているときに、内部パケットのＡＲＰ要求パケット中の宛先ＩＰアドレスフィールドと送信元ＩＰアドレスフィールドを入れ替え、宛先ＭＡＣアドレスフィールドと送信元ＭＡＣアドレスフィールドを入れ替え、送信元ＭＡＣアドレスフィールドに自装置のＭＡＣアドレスを上書きするアドレス上書き回路を備えている。
【００７９】
内部ヘッダ削除回路４５は、内部パケットから内部ヘッダを削除して送信フレームとするものである。
【００８０】
図４のＡＲＰ応答通信機器では、動作の順序に従って内部パケットが加工されていくので、符号＄１〜＄４を付記した。これら内部パケット＄１〜＄４と受信フレーム、送信フレームの概略フォーマットを図５に示し、図４、図５を用いて動作を説明する。
【００８１】
ＰＨＹに到着した受信フレームは、図５（ａ）に示されるように、イーサネットヘッダ５１とＡＲＰパケット５２、もしくはイーサネットヘッダ５１、ＩＰヘッダ５２、データ５３からなる。
【００８２】
ＡＲＰパケット判定回路４１は、図５（ｂ）に示されるように、到着した全フレームに内部ヘッダ５４を付加して内部パケット＄１とし、内部パケット＄１のイーサネットヘッダ５１をチェックして内部パケット＄１がＡＲＰパケットを搭載していることが分かると、内部ヘッダ５４のＡＲＰパケット受信フラグ（図５ではＡＲＰ受信と表示）をセットする。ＡＲＰパケット受信フラグがセットされない内部パケットは図４の後段の回路で何の処理も加えられず、図４よりも後段の回路及びソフトウェア（図８参照）では従来（図６）と同様に、通常のルーティング／スイッチング処理され、そのまま送信フレームとなる。つまり、内部ヘッダ５４は、後段の回路に対して何の処理を起動するかを選択する働きを持つ。
【００８３】
ＡＲＰパケット判定回路４１を出た内部パケット＄１は、図５（ｂ）に示されるように、イーサネットヘッダ５１よりも先頭に内部ヘッダ５４を有する。内部ヘッダ５４には、フラグをセットする欄が複数個設けられている。これらのフラグは宛先解決済、ＡＲＰ応答処理実行指示（図５ではＡＲＰ処理と表示）、ＡＲＰ要求パケット受信（図５ではＡＲＰ要求受信と表示）などのフラグである。各フラグの意味は動作の流れの中で説明する。
【００８４】
内部パケット＄１においては、ＡＲＰパケット受信フラグがセット（図中、セットは黒点で示す）、その他のフラグがリセットしてある。
【００８５】
ＡＲＰ要求パケット判定回路４２では、内部ヘッダ５４のＡＲＰパケット受信フラグがセットされていて、ＡＲＰ要求パケットだと判断した場合、ＡＲＰ要求パケット受信フラグをセットする。よって、内部パケット＄１は図５（ｃ）に示したような内部パケット＄２となってＡＲＰ要求パケット判定回路４２を出る。
【００８６】
自装置宛て判定回路４３は、内部パケット＄２の内部ヘッダ５４にＡＲＰパケット受信フラグとＡＲＰ要求パケット受信フラグがセットされている場合、ＡＲＰ要求パケットに関する処理を起動し、内部パケット＄２のＡＲＰパケット５２中の宛先ＩＰアドレスフィールドをチェックする。宛先ＩＰアドレスフィールドが自装置ポートＩＰアドレスになっていたら、自装置に対してＡＲＰ要求パケットが来たことが分かるので、内部ヘッダ５４のＡＲＰ応答処理実行指示フラグをセットする。これにより、内部パケット＄２は図５（ｄ）に示したような内部パケット＄３に加工される。
【００８７】
自装置宛て判定回路４３を出た内部パケット＄３は、内部ヘッダ５４において宛先解決済フラグがセットされておらず、ＡＲＰ応答処理実行指示フラグがセットされている。宛先解決済フラグはＡＲＰ応答通信機器における送信ポートが決定しており、パケットの加工が必要ないことを意味している。
【００８８】
パケット置換回路４４は、内部パケット＄３に内部ヘッダ５４にＡＲＰパケット受信フラグ、ＡＲＰ要求パケット受信フラグ、ＡＲＰ応答処理実行指示フラグがセットされており、宛先解決済フラグがセットされていないので、ＡＲＰ要求パケットに関する処理を起動する。パケット置換回路４４は、内部パケット＄３のうちのＡＲＰ要求パケット５２中の送信元ＩＰアドレスフィールドに自装置ポートＩＰアドレスを書き込み、送信元ＭＡＣアドレスフィールドに自装置ポートＭＡＣアドレスを書き込み、宛先ＩＰアドレスフィールドにＡＲＰ要求パケットを送信した装置のＩＰアドレスを書き込み、宛先ＭＡＣアドレスフィールドにＡＲＰ要求パケットを送信した装置のＭＡＣアドレスを書き込み、さらに、ＡＲＰパケット５２中のオペレーションフィールドをＡＲＰ応答に書き替える。また、同時に、パケット置換回路４４は、イーサネットヘッダ５１中の宛先ＭＡＣアドレスフィールド、送信元ＭＡＣアドレスフィールドの書き替え、送信ポートの決定も実施している。
【００８９】
パケット置換回路４４は、ＡＲＰ要求パケットにＡＲＰ応答パケットを上書きするパケット置換を実施後、その実施が終わったという情報を内部ヘッダ５４に書き込む。つまり、宛先解決済フラグをセットする。この結果、内部パケット＄３は図５（ｅ）に示した内部パケット＄４となる。
【００９０】
パケット置換回路４４を出た内部パケット＄４は、内部ヘッダ５４において宛先解決済フラグがセットされている。内部ヘッダ削除回路４５は、宛先解決済フラグがセットされているので、内部パケット＄４から内部ヘッダ５４を削除してＡＲＰ応答パケット搭載送信フレームとする。宛先解決済フラグがセットされていない場合（ＡＲＰパケット受信時はあり得ない）は、イーサネットヘッダ中のＤＡをブロードキャストに書き換え、内部パケット＄４から内部ヘッダ５４を削除して宛先未解決送信フレームとする。
【００９１】
内部ヘッダ削除回路４５を出た送信フレームは、ＭＡＣからＰＨＹを経由して本発明のＡＲＰ応答通信機器から送信される。
【００９２】
以上の説明中、ＩＰ中継処理、ＣＰＵ転送処理、廃棄処理の３つのフラグについての動作は省いたが、これらのフラグを用意し、図４のハードウェア中にフラグに対応する種々の処理回路を組み込むことで、機能拡充を図ることが可能になる。
【００９３】
以上説明したように、図４のＡＲＰ応答通信機器では、フレームの内容チェックを行う回路は、チェック結果を直ちにフレームの加工に反映するのではなく、後段にあるフレームを加工する回路に対してフレーム加工を指示するフラグをセットする。このようなフラグをセットする動作をマーキングという。
【００９４】
一方、フレームを加工する回路は、フレームの内容チェックには関与せず、フラグに従った動作のみ行うようになっている。このようにフラグを後段に伝えて後段でフラグに対応する処理を施すことをパイプライン処理という。
【００９５】
また、フラグの伝達は特別な信号線を介して行うのではなく、フレームの先頭に内部ヘッダを付加し、この内部ヘッダにフラグをセットする欄を設けることで、フレームと一緒に後段に伝達される。
【００９６】
なお、本発明は、ＡＲＰ要求パケットとＡＲＰ応答パケットのパケット長が同じであるため、ＡＲＰ要求パケットの中身を書き替えてＡＲＰ応答パケットに置換して出力すれば、ポートに接続されている伝送路のフレームの流れの中でもともとＡＲＰ要求パケット搭載フレームが入っていたところにＡＲＰ応答パケット搭載フレームが入ることになるので、他のフレームを一時蓄積するなどして新規に生成したＡＲＰ応答パケット搭載フレームを入れる隙間を作る必要がないという知見によるものである。してみると、ＡＲＰパケットに限らず、ある通信機器が出した要求パケットや要求フレームに対して他の通信機器が応答パケットや応答フレーム（以下、パケット又はフレームの意でパケット／フレームと表記する）を返すというプロトコルにおいて、要求パケット／フレームと応答パケット／フレームのパケット／フレーム長が同じであるか応答パケット／フレームのパケット／フレーム長が短かければ、本発明が応用できる。
【００９７】
すなわち、プロトコルにより応答処理の細部は異なるが、それらの処理をハードウェアで行うようにし、要求パケット／フレームの中身を書き替えて応答パケット／フレームに置換して出力する当該プロトコル応答通信機器を構成すれば、要求パケット／フレームが頻発する環境下でも機能麻痺や機能低下を防ぐ効果が得られる。例えば、ＩＣＭＰ（インターネット制御メッセージプロトコル；ＲＦＣ７９２）におけるエコー要求パケットに対してエコー応答パケットを応答する処理（ｐｉｎｇ処理）をハードウェア化し、エコー要求パケットの中身を書き替えてエコー応答パケットに置換して送信するように構成するとよい。
【図面の簡単な説明】
【００９８】
【図１】本発明の一実施形態を示すＡＲＰ応答通信機器の主要部回路図である。
【図２】ＡＲＰパケット搭載フレームのフォーマット図である。
【図３】従来の通信機器のハイブリッドブロック図である。
【図４】本発明の別の実施形態を示すＡＲＰ応答通信機器の主要部回路図である。
【図５】図４の回路各部におけるフレームと内部パケットの概略フォーマット図である。
【図６】一般的な通信機器の内部構成図である。
【図７】図６の通信機器が接続されているネットワークの図である。
【図８】本発明を適用した通信機器の内部構成図である。
【符号の説明】
【００９９】
１  ＡＲＰパケット判定回路
２  ＡＲＰ要求パケット判定回路
３  自装置宛て判定回路
４  フレーム置換回路
【図１】
0004640128.tif 000002
【図２】
0004640128.tif 000003
【図３】
0004640128.tif 000004
【図４】
0004640128.tif 000005
【図５】
0004640128.tif 000006
【図６】
0004640128.tif 000007
【図７】
0004640128.tif 000008
【図８】
0004640128.tif 000009