(57)【要約】【課題】パケット転送の遅延時間が短く且つパケットの廃棄率の低いパケット転送装置を得る。【解決手段】レイヤ２のパケットの受信処理を行なう受信処理手段と、受信処理手段で受信したレイヤ２のパケットの送信処理を行なう送信処理手段と、受信処理手段で受信したレイヤ２のパケットのアドレス解決をするためのＡＲＰキャッシュを保持するＡＲＰキャッシュ保持手段と、ＡＲＰキャッシュに対してレイヤ２アドレスのエントリ追加・エントリ削除を行うＡＲＰ処理手段と、ＡＲＰキャッシュを検索し、受信処理手段で受信したレイヤ２のパケットに該当するレイヤ２アドレスが該ＡＲＰキャッシュにある場合は該レイヤ２アドレスおよびレイヤ２のパケットを送信処理手段に送信し、該当するレイヤ２アドレスが該ＡＲＰキャッシュにない場合はブロードキャストアドレスおよびレイヤ２のパケットを送信処理手段に送信するＡＲＰキャッシュ検索手段と、を備える。【選択図】        図１
2005260710.tif 000002
【特許請求の範囲】
【請求項１】
受信パケットを受信する受信処理手段と、
ＡＲＰキャッシュ保持手段と、
ＡＲＰ処理手段と、
ＡＲＰキャッシュ検索手段と、
上記受信パケットに対応する送信パケットを送信する送信処理手段と、
を備えるパケット転送装置であって、
前記受信処理手段は、
レイヤ２のパケットを受信パケットとして受信処理を行ない、
前記ＡＲＰキャッシュ保持手段は、
レイヤ２パケットのレイヤ３アドレスから該レイヤ２パケットのレイヤ２アドレス解決をするためのＡＲＰキャッシュを保持し、
前記ＡＲＰ処理手段は、
前記ＡＲＰキャッシュに対してレイヤ２アドレスのエントリ追加・エントリ削除を行い、
前記ＡＲＰキャッシュ検索手段は、前記ＡＲＰキャッシュを、前記受信パケットのレイヤ３アドレスで検索し、該当するレイヤ２アドレスが該ＡＲＰキャッシュにある場合は該受信パケットを送信パケットとして該レイヤ２アドレスとともに前記送信処理手段に送信し、該当するレイヤ２アドレスが該ＡＲＰキャッシュにない場合は該受信パケットを送信パケットとしてブロードキャストアドレスとともに前記送信処理手段に送信し、
前記送信処理手段は、
前記ＡＲＰ処理手段から送信された送信パケットを、前記ＡＲＰ処理手段から送信されたレイヤ２アドレスまたはブロードキャストアドレスに従って送信する
ことを特徴とするパケット転送装置。
【請求項２】
前記ＡＲＰキャッシュ検索手段は、前記レイヤ２のパケットに該当するレイヤ２アドレスが前記ＡＲＰキャッシュにない場合に前記ＡＲＰ処理手段に対してＡＲＰリクエスト要求を送信し、
前記ＡＲＰ処理手段は、前記ＡＲＰキャッシュ検索手段からのＡＲＰリクエスト要求に従ってＡＲＰリクエストパケットを生成して前記送信処理手段に送信すること、
を特徴とする請求項１に記載のパケット転送装置。
【請求項３】
前記ＡＲＰ処理手段は、前記ＡＲＰリクエストパケットに対するＡＲＰリプライパケットが返送された場合に、前記ＡＲＰキャッシュに対して前記ＡＲＰリプライパケットに含まれるレイヤ２アドレスのエントリ追加を行うこと
を特徴とする請求項２に記載のパケット転送装置。
【請求項４】
パケットのヘッダ情報から該パケットの優先クラスを判別するパケット判別手段と、
パケットを蓄積するバッファ手段と、
をさらに備え、
前記ＡＲＰキャッシュ検索手段は、前記ＡＲＰキャッシュを検索した結果、送信パケットに該当するレイヤ２アドレスが該ＡＲＰキャッシュにない場合において、前記パケット判別手段で判別した前記パケットの優先クラスが高い場合にはブロードキャストアドレスおよび該レイヤ２のパケットを前記送信処理手段に送信し、前記パケット判別手段で判別した前記レイヤ２のパケットの優先クラスが低い場合には、該レイヤ２のパケットを前記バッファ手段に蓄積する機能をさらに有すること、
を特徴とする請求項１〜請求項３に記載のパケット転送装置。
【請求項５】
前記ＡＲＰ処理手段は、前記ＡＲＰリクエストパケットに対するＡＲＰリプライパケットが返送された場合に、前記バッファ手段に蓄積された前記パケットを読み出して前記ＡＲＰリプライパケットに含まれるレイヤ２アドレスへ送信することを要求すること
を特徴とする請求項４に記載のパケット転送装置。
【請求項６】
前記レイヤ２のパケットを蓄積するバッファ手段と
前記ＡＲＰキャッシュを検索することによりレイヤ２アドレスが求められなかったレイヤ２のパケットのレイヤ３アドレスを保持するＡＲＰ失敗アドレス保持手段と、
をさらに備え、
前記ＡＲＰキャッシュ検索手段は、前記ＡＲＰキャッシュを検索し、前記受信処理手段で受信したレイヤ２のパケットに該当するレイヤ２アドレスが該ＡＲＰキャッシュにない場合において、ＡＲＰ失敗アドレス保持手段に対して前記レイヤ２のパケットのレイヤ３アドレスが存在するか否かを検索し、該当するレイヤ３アドレスが存在する場合は前記レイヤ２のパケットを前記バッファ手段に蓄積し、該当するレイヤ３アドレスが存在しない場合はブロードキャストアドレスおよび前記レイヤ２のパケットを前記送信処理手段に送信する機能をさらに有すること
を特徴とする請求項１〜請求項３に記載のパケット転送装置。
【請求項７】
前記ＡＲＰ処理手段は、前記ＡＲＰリクエストパケットに対するＡＲＰリプライパケットが返送された場合に、前記バッファ手段に蓄積された前記パケットを読み出して前記ＡＲＰリプライパケットに含まれるレイヤ２アドレスへ送信することを要求すること
を特徴とする請求項６に記載のパケット転送装置。
【請求項８】
前記ＡＲＰキャッシュ検索手段は、前記ＡＲＰキャッシュを検索し、送信パケットに該当するレイヤ２アドレスが該ＡＲＰキャッシュにない場合に、ブロードキャストアドレスおよび前記レイヤ２のパケットを前記送信処理手段に送信し、前記レイヤ２のパケットのフォーマットにおけるＩＰパケットとレイヤ２ヘッダとの間にＮｅｘｔ  Ｈｏｐ  ＩＰアドレスを挿入するとともに該Ｎｅｘｔ  Ｈｏｐ  ＩＰアドレスの挿入を示す所定のタイプ値を付与するフォーマット変換を前記送信処理手段に指示する機能をさらに有し、
前記送信処理手段は、前記フォーマット変換の指示に従ってフォーマットを変換して前記レイヤ２のパケットを転送し、
前記受信処理手段は、前記所定のタイプ値を有するレイヤ２のパケットを受信した場合に、前記Ｎｅｘｔ  Ｈｏｐ  ＩＰアドレスが自ＩＰアドレスであるか否かを判断して、前記Ｎｅｘｔ  Ｈｏｐ  ＩＰアドレスが自宛でない場合には前記パケットを廃棄し、前記Ｎｅｘｔ  Ｈｏｐ  ＩＰアドレスが自宛である場合には前記所定のタイプ値を通常のタイプ値に書き換えるとともに前記Ｎｅｘｔ  Ｈｏｐ  ＩＰアドレスを削除する機能をさらに有すること、
を特徴とする請求項１〜請求項３に記載のパケット転送装置。
【請求項９】
前記ＡＲＰキャッシュ検索手段は、前記ＡＲＰキャッシュを検索し、送信パケットに該当するレイヤ２アドレスが該ＡＲＰキャッシュにない場合において、ブロードキャストアドレスおよび前記レイヤ２のパケットを前記送信処理手段に送信し、前記レイヤ２のパケットのフォーマットにおけるＩＰパケットとレイヤ２ヘッダの間にＡＲＰデータを挿入するとともに該ＡＲＰデータの挿入を示す所定のタイプ値を付与するフォーマット変換を前記送信処理手段に指示する機能をさらに有し、
前記送信処理手段は、前記フォーマット変換の指示に従ってフォーマットを変換して前記レイヤ２のパケットを転送し、
前記受信処理手段は、前記所定のタイプ値を有するレイヤ２のパケットを受信した場合に、前記ＡＲＰデータに含まれるＮｅｘｔ  Ｈｏｐ  ＩＰアドレスが自ＩＰアドレスであるか否かを判断し、前記Ｎｅｘｔ  Ｈｏｐ  ＩＰアドレスが自宛でない場合には前記パケットを廃棄し、前記Ｎｅｘｔ  Ｈｏｐ  ＩＰアドレスが自宛である場合には前記所定のタイプ値を通常のタイプ値に書き換えるとともに前記ＡＲＰデータを削除し且つ前記ＡＲＰ処理手段に対して削除したＡＲＰデータを通知する機能をさらに有すること、
を特徴とする請求項１〜請求項３に記載のパケット転送装置。
【請求項１０】
前記ＡＲＰ処理手段は、前記ＡＲＰキャッシュにレイヤ２アドレスがエントリ追加されてからの経過時間をカウントし、所定時間を経過したレイヤ２アドレスのエントリ削除を行う機能をさらに有すること
を特徴とする請求項１〜請求項９に記載のパケット転送装置。
【請求項１１】
前記ＡＲＰキャッシュは、該ＡＲＰキャッシュにエントリされたレイヤ２アドレスのエントリ追加時のトリガとなったパケットの優先クラス情報をさらに保持し、
前記ＡＲＰ処理手段は、前記優先クラス情報に基づいて前記ＡＲＰキャッシュからレイヤ２アドレスをエントリ削除する前記所定時間を調節する機能をさらに有すること
を特徴とする請求項１０に記載のパケット転送装置。
【請求項１２】
前記ＡＲＰキャッシュ保持手段は、該ＡＲＰキャッシュにエントリされたレイヤ２アドレスのエントリ追加時のトリガとなったパケットの優先クラス情報を保持し、
前記ＡＲＰ処理手段は、前記優先クラス情報に基づいて所定の優先クラスのレイヤ２アドレスのエントリを削除する場合のみ、該レイヤ２アドレスが通信可能であるかを確認し、該レイヤ２アドレスが通信不可能である場合のみ該レイヤ２アドレスのエントリを削除する機能をさらに有すること
を特徴とする請求項１〜請求項９に記載のパケット転送装置。
【請求項１３】
前記ＡＲＰキャッシュ保持手段は、該ＡＲＰキャッシュにエントリされたレイヤ２アドレスのエントリ追加時のトリガとなったパケットの優先クラス情報を保持し、
前記ＡＲＰ処理手段は、前記ＡＲＰキャッシュ保持手段に空き領域がない場合には、前記優先クラス情報および前記経過時間に基づいて古いレイヤ２アドレスのエントリ削除を行い、且つ新しいレイヤ２アドレスのエントリ追加を行うこと
を特徴とする請求項１〜請求項９に記載のパケット転送装置。
【請求項１４】
レイヤ２のパケットの受信処理を行なう受信処理手段と、
前記受信処理手段で受信したレイヤ２のパケットの送信処理を行なう送信処理手段と、
前記受信処理手段で受信したレイヤ２のパケットのアドレス解決をするためのＡＲＰキャッシュを保持するＡＲＰキャッシュ保持手段と、
前記ＡＲＰキャッシュに対してレイヤ２アドレスのエントリ追加・エントリ削除を行うＡＲＰ処理手段と、
前記受信手段で受信したレイヤ２のパケットのヘッダ情報から該パケットの廃棄優先クラスを判別するパケット判別手段と、
前記受信手段で受信したレイヤ２のパケットを蓄積するバッファ手段と
前記ＡＲＰキャッシュを検索し、前記受信処理手段で受信したレイヤ２のパケットに該当するレイヤ２アドレスが該ＡＲＰキャッシュにある場合は該レイヤ２アドレスおよび前記レイヤ２のパケットを前記送信処理手段に送信し、該当するレイヤ２アドレスが該ＡＲＰキャッシュにない場合は前記パケット判別手段で判別した廃棄優先クラスに基づいて前記レイヤ２のパケットを前記バッファ手段に蓄積するか廃棄するかを判断するＡＲＰキャッシュ検索手段と、
を備えることを特徴とするパケット転送装置。
【請求項１５】
前記ＡＲＰキャッシュ検索手段は、
前記パケット判別手段で判別した前記レイヤ２のパケットの廃棄優先クラスが高い場合には該レイヤ２のパケットを前記バッファ手段に蓄積し、前記パケット判別手段で判別した前記レイヤ２のパケットの廃棄優先クラスが低い場合には、該レイヤ２のパケットを廃棄すること
を特徴とする請求項１４に記載のパケット転送装置。
【請求項１６】
前記ＡＲＰキャッシュ検索手段は、前記パケットに該当するレイヤ２アドレスが前記ＡＲＰキャッシュにない場合に前記ＡＲＰ処理手段に対してＡＲＰリクエスト要求を送信し、
前記ＡＲＰ処理手段は、前記ＡＲＰキャッシュ検索手段からのＡＲＰリクエスト要求に従ってＡＲＰリクエストパケットを生成して前記送信処理手段に送信すること、
を特徴とする請求項１４または請求項１５に記載のパケット転送装置。
【請求項１７】
前記ＡＲＰ処理手段は、前記ＡＲＰリクエストパケットに対するＡＲＰリプライパケットが返送された場合に、前記ＡＲＰキャッシュに対して前記ＡＲＰリプライパケットに含まれるレイヤ２アドレスのエントリ追加を行うこと
を特徴とする請求項１６に記載のパケット転送装置。
【請求項１８】
前記ＡＲＰキャッシュ検索手段は、前記ＡＲＰキャッシュを検索し、前記受信処理手段で受信したレイヤ２のパケットに該当するレイヤ２アドレスが該ＡＲＰキャッシュにない場合において、まず、前記バッファ手段における蓄積パケット数と予め設定された閾値とを比較して前記レイヤ２のパケットを前記バッファ手段に蓄積するか廃棄するかを判断する機能をさらに有すること
を特徴とする請求項１４〜請求項１７に記載のパケット転送装置。
【請求項１９】
前記ＡＲＰキャッシュ検索手段は、
前記蓄積パケット数が前記閾値よりも少ない場合は前記レイヤ２のパケットを前記バッファ手段に蓄積し、
前記蓄積パケット数が前記閾値と同数または多い場合は前記パケット判別手段において前記レイヤ２のパケットの廃棄優先クラスを判断すること
を特徴とする請求項１８に記載のパケット転送装置。
【請求項２０】
レイヤ２のパケットの受信処理を行なう受信処理手段と、
レイヤ２のパケットの送信処理を行なう送信処理手段と、
レイヤ３アドレスからパケットのレイヤ２アドレス解決をするためのＡＲＰキャッシュを保持するＡＲＰキャッシュ保持手段と、
前記ＡＲＰキャッシュに対してレイヤ２アドレスのエントリ追加・エントリ削除を行うＡＲＰ処理手段と、
送信パケットのヘッダ情報から該パケットの廃棄優先クラスを判別するパケット判別手段と、
送信パケットを蓄積するバッファ手段と
前記ＡＲＰキャッシュを検索し、送信パケットに該当するレイヤ２アドレスが該ＡＲＰキャッシュにある場合は該レイヤ２アドレスおよび前記レイヤ２のパケットを前記送信処理手段に送信し、該当するレイヤ２アドレスが該ＡＲＰキャッシュにない場合は前記バッファ手段の空き領域の有無と、前記パケット判別手段で判別した廃棄優先クラスと、前記バッファ手段における低廃棄優先クラスのレイヤ２のパケットの有無により、送信パケットを前記バッファ手段に蓄積するか廃棄するかを判断するＡＲＰキャッシュ検索手段と、
を備えることを特徴とするパケット転送装置。
【請求項２１】
前記ＡＲＰキャッシュ検索手段は、前記バッファ手段に空き領域がある場合は送信パケットを前記バッファ手段に蓄積し、前記バッファ手段に空き領域がない場合は前記パケット判別手段において前記送信パケットの廃棄優先クラスを判別し、前記送信パケットの廃棄優先クラスを判別した結果、前記パケットの廃棄優先クラスが低い場合には該レイヤ２のパケットを廃棄し、前記パケットの廃棄優先クラスが高い場合には前記バッファ手段に低廃棄優先クラスのパケットが蓄積されているか否かを検査し、前記バッファ手段に低廃棄優先クラスのパケットが蓄積されている場合は該低廃棄優先クラスのパケットを廃棄してその領域に前記送信パケットを蓄積し、前記バッファ手段に低廃棄優先クラスのパケットが蓄積されていない場合は前記送信パケットを廃棄すること
を特徴とする請求項２０に記載のパケット転送装置。
【請求項２２】
前記ＡＲＰキャッシュ検索手段は、前記レイヤ２のパケットに該当するレイヤ２アドレスが前記ＡＲＰキャッシュにない場合に前記ＡＲＰ処理手段に対してＡＲＰリクエスト要求を送信し、
前記ＡＲＰ処理手段は、前記ＡＲＰキャッシュ検索手段からのＡＲＰリクエスト要求に従ってＡＲＰリクエストパケットを生成して前記送信処理手段に送信すること、
を特徴とする請求項２０または請求項２１に記載のパケット転送装置。
【請求項２３】
前記ＡＲＰ処理手段は、前記ＡＲＰリクエストパケットに対するＡＲＰリプライパケットが返送された場合に、前記ＡＲＰキャッシュに対して前記ＡＲＰリプライパケットに含まれるレイヤ２アドレスのエントリ追加を行うこと
を特徴とする請求項２２に記載のパケット転送装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケット転送装置に関するものであり、詳しくはＩＰアドレスからレイヤ２アドレスを求め、そのレイヤ２アドレスを付けて転送を行なうパケット転送装置に関するものである。
【背景技術】
【０００２】
従来、ＩＰパケットを送信する場合には、たとえば非特許文献１に示されているように、ＩＰアドレスからレイヤ２アドレス（イーサネット(R)のＭＡＣアドレス等）を求め、そのレイヤ２アドレスを付けて転送を行なう。そのため、パケット転送装置はＩＰアドレスからレイヤ２アドレスを求めるテーブル（以下ＡＲＰキャッシュと呼ぶ）を持っている。また、ＡＲＰキャッシュに該当のエントリが存在しない場合、ＡＲＰ（Address  Resolution  Protocol）、Neighbor Discoveryを使用して、レイヤ２アドレスを取得し、ＡＲＰキャッシュにエントリとして登録する。この場合には、ＡＲＰリクエストパケットをネットワークにブロードキャストし、転送先の該当装置が、ＡＲＰリプライパケットにより通知する。この時、転送しようとするパケットは、ＡＲＰによってレイヤ２アドレスが取得出来るまで待たされ、取得後そのレイヤ２アドレスを使用して転送される。なお、ＡＲＰキャッシュのエントリは一定時間経過後、削除されるのが一般的である。
【０００３】
【非特許文献１】ＩＥＴＦ（The Internet Engineering Task Force）  ＲＦＣ８２６
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記従来の方式では、パケット転送時にＡＲＰキャッシュにエントリが無い場合、ＡＲＰによってレイヤ２アドレスが取得出来るまで、パケットは待たされるため、遅延時間が長くなるという問題があった。
【０００５】
また、従来、ＡＲＰキャッシュのエントリは一定時間経過後に削除されるため、遅延に厳しいクラスの通信であっても、再度ＡＲＰ処理を行なわなければならないため遅延時間が長くなるという問題があった。
【０００６】
更に、ＡＲＰによって待たされるパケットの数が多くなると、それを保持するバッファの容量を超え、パケットが廃棄されてしまうという問題があった。また、従来は、廃棄の優先クラスを考慮していなかったため、廃棄に厳しいクラスと廃棄を許容するクラスとが同等に廃棄されるという問題もあった。
【０００７】
本発明は、上記に鑑みてなされたものであって、パケット転送の遅延時間が短く且つパケットの廃棄率の低いパケット転送装置を得ることを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本発明にかかるパケット転送装置は受信パケットを受信する受信処理手段と、ＡＲＰキャッシュ保持手段と、ＡＲＰ処理手段と、ＡＲＰキャッシュ検索手段と、上記受信パケットに対応する送信パケットを送信する送信処理手段と、を備えるパケット転送装置であって、前記受信処理手段は、レイヤ２のパケットを受信パケットとして受信処理を行ない、前記ＡＲＰキャッシュ保持手段は、レイヤ２パケットのレイヤ３アドレスから該レイヤ２パケットのレイヤ２アドレス解決をするためのＡＲＰキャッシュを保持し、前記ＡＲＰ処理手段は、前記ＡＲＰキャッシュに対してレイヤ２アドレスのエントリ追加・エントリ削除を行い、前記ＡＲＰキャッシュ検索手段は、前記ＡＲＰキャッシュを、前記受信パケットのレイヤ３アドレスで検索し、該当するレイヤ２アドレスが該ＡＲＰキャッシュにある場合は該受信パケットを送信パケットとして該レイヤ２アドレスとともに前記送信処理手段に送信し、該当するレイヤ２アドレスが該ＡＲＰキャッシュにない場合は該受信パケットを送信パケットとしてブロードキャストアドレスとともに前記送信処理手段に送信し、前記送信処理手段は、前記ＡＲＰ処理手段から送信された送信パケットを、前記ＡＲＰ処理手段から送信されたレイヤ２アドレスまたはブロードキャストアドレスに従って送信することを特徴とする。
【０００９】
この発明によれば、レイヤ２のパケットを受信した場合に、ＡＲＰキャッシュを検索し、受信処理手段で受信したレイヤ２のパケットに該当するレイヤ２アドレスが該ＡＲＰキャッシュにある場合は該レイヤ２アドレスおよびレイヤ２のパケットを送信処理手段に送信し、該当するレイヤ２アドレスが該ＡＲＰキャッシュにない場合はブロードキャストアドレスおよびレイヤ２のパケットを送信処理手段に送信する。したがって、レイヤ２のパケットは、パケット転送時にＡＲＰキャッシュにエントリが無い場合においても、ＡＲＰによってレイヤ２アドレスが取得できるまでパケットが待たされることがなく、ブロードキャストアドレスを用いて転送される。
【発明の効果】
【００１０】
この発明によれば、ＡＲＰキャッシュミスヒット時でもＡＲＰによってレイヤ２アドレスが取得できるまで待たされることが無いため、低遅延での転送が可能となるという効果を奏する。また、パケットをＡＲＰの処理の時間待たせる必要が無いため、すなわちレイヤ２アドレスの取得待ちパケットを保持しておくバッファが不要なため、バッファの容量オーバーによりパケットが廃棄されることを防止できるという効果を奏する。したがって、この発明によれば、パケット転送の遅延時間が短く且つパケットの廃棄率の低いパケット転送装置を提供できるという効果を奏する。
【発明を実施するための最良の形態】
【００１１】
以下に、本発明にかかるパケット転送装置の実施の形態を図面に基づいて詳細に説明する。なお、本発明は以下の記述に限定されるものではなく、本発明の要旨を逸脱しない範囲において適宜変更可能である。
【００１２】
実施の形態１．
図１は、実施の形態１にかかるパケット転送装置１０が有する機能ブロックを示す概略構成図である。図１に示すように、本実施の形態にかかるパケット転送装置１０は、レイヤ２の受信処理を行なうＬ２受信処理部１と、レイヤ２の送信処理を行なうＬ２送信処理部２と、ＩＰアドレスからレイヤ２アドレスを求めるテーブルを有するＡＲＰキャッシュ３と、ＡＲＰキャッシュ３の検索を行なうＡＲＰキャッシュ検索処理部４と、ＡＲＰリクエストパケットおよびＡＲＰリプライパケットの生成、ＡＲＰキャッシュのエントリ追加・削除を行なうＡＲＰ処理部５と、レイヤ３以上の処理を行なうパケット処理部６とを備えて構成される。
【００１３】
図２は、ＡＲＰキャッシュ検索処理部４の動作を示すフローチャートである。以下に、図１および図２を参照しながら本実施の形態にかかるパケット転送装置１０の基本的な動作について受信側、送信側の順番で説明する。
【００１４】
まず、受信側の動作について説明する。Ｌ２受信処理部１がパケット（フレーム）を受信すると、Ｌ２受信処理部１ではレイヤ２アドレスのチェックおよびパケットの種別の判定を行う。この判定の結果、受信したパケットが自宛の通常パケットである場合には、Ｌ２受信処理部１は受信したパケットをパケット処理部６に転送する。また、受信したパケットが自宛のＡＲＰパケットである場合には、Ｌ２受信処理部１は受信したパケットをＡＲＰ処理部５に転送する。また受信したパケットが自宛で無い場合には、Ｌ２受信処理部１は受信したパケットを廃棄する。
【００１５】
次に送信側の動作について説明する。ＡＲＰキャッシュ検索処理部４は、パケット処理部６から送信パケットを受信すると、受信したパケットに含まれるＮｅｘｔ  Ｈｏｐ  ＩＰアドレス（次のレイヤ３処理を行なう装置のＩＰアドレス）を検索キーとしてＡＲＰキャッシュ３を検索し（ステップ１）、該当するレイヤ２アドレスのエントリが有るか否かを判断する（ステップ２）。ＡＲＰキャッシュ３を検索した結果、該当するエントリが有る場合（ステップ２肯定、ヒットした場合）には、検索結果であるレイヤ２アドレスとパケット処理部６から受信したパケットとをＬ２送信処理部２に通知、転送する（ステップ３）。そして、Ｌ２送信処理部２では検索結果であるレイヤ２アドレスを送信アドレスとして、レイヤ２のヘッダ、トレーラを付加して検索したレイヤ２アドレス宛に転送する。
【００１６】
また、ＡＲＰキャッシュ３を検索した結果、該当するエントリが無い場合（ステップ２否定、ミスヒットした場合）には、ＡＲＰキャッシュ検索処理部４はブロードキャストアドレスをレイヤ２アドレスとしてパケット処理部６から受信したパケットとともにＬ２送信処理部２に通知、転送する（ステップ４）。そして、Ｌ２送信処理部２では、レイヤ２のヘッダ、トレーラを付加してブロードキャストアドレス宛に送信する。この時の、Ｌ２送信処理部２の動作は、該当するエントリが有る場合（ヒットした場合）と同様である。
【００１７】
さらに、ＡＲＰキャッシュ検索処理部４は、ＡＲＰ処理部５に対して該当するエントリが無い旨（ミスヒット）の情報、すなわちＡＲＰリクエスト要求通知を送信する（ステップ５）。ＡＲＰ処理部５は、ＡＲＰキャッシュ検索処理部４からの情報を元にＡＲＰリクエストパケットを生成し、該ＡＲＰリクエストパケットをＬ２送信処理部２を介して送信する。
【００１８】
その後、該当装置からＡＲＰリプライパケットが返信されてきた場合には、Ｌ２受信処理部１経由でＡＲＰ処理部５にＡＲＰリプライパケットが転送されるので、ＡＲＰ処理部５ではその結果、すなわちレイヤ２アドレスをＡＲＰキャッシュ３に反映（エントリ追加）する。ＡＲＰキャッシュ３へのエントリ追加後は、エントリが消去されるまではＡＲＰキャッシュミスヒットは発生せずにパケットの転送が行なえる。
【００１９】
以上のように、本実施の形態にかかるパケット転送装置１０においては、パケットはＡＲＰキャッシュミスヒット時にはブロードキャストアドレスを用いて転送される。したがって、ＡＲＰキャッシュミスヒット時でもパケットはＡＲＰ処理によってレイヤ２アドレスが取得できるまで待たされることが無いため、低遅延での転送が可能となる。また、パケットをＡＲＰの処理の時間待たせる必要が無いため、レイヤ２アドレスの取得待ちパケットを保持しておくバッファ不要であり、バッファの容量オーバーによりパケットが廃棄されるという問題も発生しない。したがって、本実施の形態にかかるパケット転送装置１０によれば、パケット転送の遅延時間が短く且つパケットの廃棄率の低いパケット転送を実現できるという効果を奏する。
【００２０】
実施の形態２．
上述した実施の形態１においては、ＡＲＰキャッシュミスヒット時に全てのパケットをブロードキャストで転送する形態について説明したが、実施の形態２では、遅延に厳しい特定のパケットのみをブロードキャストで転送する実施の形態について説明する。
【００２１】
図３は、実施の形態２にかかるパケット転送装置２０が有する機能ブロックを示す概略構成図である。なお、図３においては、図１と同じ機能部については図１と同じ符号を付して、詳細な説明は省略する。
【００２２】
本実施の形態にかかるパケット転送装置２０は、Ｌ２受信処理部１と、Ｌ２送信処理部２と、ＡＲＰキャッシュ３と、ＡＲＰ処理部５と、パケット処理部６と、ＡＲＰキャッシュの検索を行なうＡＲＰキャッシュ検索処理部７と、パケットのＩＰアドレスや、ＴｏＳ領域、Ｐｒｏｔｏｃｏｌ領域やトランスポート層のポート番号等から優先クラスを決めるパケット種別判定部８と、ＡＲＰキャッシュミスヒットした低優先のパケットをＡＲＰによって転送先のレイヤ２アドレスが取得できるまで蓄積するＡＲＰ処理待ちパケット用バッファ９と、を備えて構成される。なお、ＡＲＰキャッシュ検索処理部７は、図１に示したＡＲＰキャッシュ検索処理部４と基本的な動作は同じであるが、後述するように優先クラスに応じた処理を行なう点が異なる。
【００２３】
図４は、ＡＲＰキャッシュ検索処理部７の動作を示すフローチャートである。以下に、図３および図４を参照しながら本実施の形態にかかるパケット転送装置２０の基本的な動作について説明する。なお、受信側の動作は実施の形態１と同様なので詳細な説明は省略し、送信側の特に実施の形態１と異なる点を中心に説明する。
【００２４】
パケット種別判定部８は、パケット処理部６から送信パケットを受信すると、パケットのヘッダ情報（ＩＰアドレス、ＴｏＳ、Ｐｒｏｔｏｃｏｌ、トランスポート層のポート番号等）および、あらかじめ設定されたルール（ヘッダ情報が所定の条件である場合に高優先クラスに割り当てるという情報）から優先クラスを決定し、ＡＲＰキャッシュ検索処理部７にパケットとともに転送する。
【００２５】
ＡＲＰキャッシュ検索処理部７は、パケット種別判定部８からパケットを受信すると、受信したパケットに含まれるＮｅｘｔ  Ｈｏｐ  ＩＰアドレス（次のレイヤ３処理を行なう装置のＩＰアドレス）を検索キーとしてＡＲＰキャッシュ３を検索し（ステップ１１）、該当するレイヤ２アドレスのエントリが有るか否かを判断する（ステップ１２）。その結果、該当するレイヤ２アドレスのエントリが有る場合（ステップ１２肯定、ヒットした場合）には、実施の形態１と同じ動作でパケットを転送する。すなわち、検索結果であるレイヤ２アドレスとパケット処理部６から受信したパケットとをＬ２送信処理部２に通知、転送する（ステップ１３）。そして、Ｌ２送信処理部２ではレイヤ２のヘッダ、トレーラを付加してレイヤ２アドレス宛に転送する。
【００２６】
また、ＡＲＰキャッシュ３を検索した結果、該当するエントリが無い場合（ステップ１２否定、ミスヒットした場合）には、パケットの優先度、すなわち優先クラスによりその後の処理が変わる。まず、ＡＲＰキャッシュ検索処理部７は、パケットとともにパケット種別判定部８から通知されたパケットの優先クラスの情報に基づいてパケットの優先クラスが高いか否かを判別する（ステップ１４）。
【００２７】
その結果、判別したパケットの優先クラスが高くない、すなわちパケットの優先クラスが通常または低い場合は（ステップ１４否定）、ＡＲＰキャッシュ検索処理部７は、ＡＲＰ処理待ちパケット用バッファ９にパケットを蓄積する（ステップ１５）。さらに、ＡＲＰキャッシュ検索処理部７は、ＡＲＰ処理部５に対して、該当するエントリが無い旨（ミスヒット）の情報、すなわちＡＲＰリクエスト要求通知を送信する（ステップ１６）。ＡＲＰ処理部５は、実施の形態１の場合と同様にＡＲＰキャッシュ検索処理部７からの情報を元にＡＲＰリクエストパケットを生成し、該ＡＲＰリクエストパケットをＬ２送信処理部２を介して送信する。
【００２８】
その後、該当装置からＡＲＰリプライパケットが返信されてきた場合には、Ｌ２受信処理部１経由でＡＲＰ処理部５にＡＲＰリプライパケットが転送され、ＡＲＰ処理部５ではその結果、すなわちレイヤ２アドレスをＡＲＰキャッシュ３にエントリ追加する。ＡＲＰキャッシュ３へのエントリ追加後は、実施の形態１と同様にエントリが消去されるまではＡＲＰキャッシュミスヒットは発生せずにパケットの転送が行なえる。
【００２９】
そして、ＡＲＰ処理部５は、さらにＬ２送信処理部２に対して、ＡＲＰキャッシュ３に追加されたレイヤ２アドレスを通知するとともにＡＲＰ処理待ちパケット用バッファ９に蓄積されているパケットの読み出し・転送を要求する。Ｌ２送信処理部２はＡＲＰ処理部５からの要求に従い、該当するパケットをＡＲＰ処理待ちパケット用バッファ９から読み出して、通知されたレイヤ２アドレス等を付加して転送する。
【００３０】
また、ＡＲＰリプライパケットがある一定時間送信されて来なく（更に何回かリトライしても良い。）、ＡＲＰ処理が失敗した場合は、ＡＲＰ処理待ちパケット用バッファ９に蓄積された該当するパケット（同じＮｅｘｔ  Ｈｏｐ  ＩＰアドレスのパケット）を全て廃棄する。
【００３１】
一方、パケットの優先クラスが高いか否かを判別した結果、パケットの優先クラスが高い場合は（ステップ１４肯定）、ＡＲＰキャッシュ検索処理部７は、実施の形態１と同様の動作を行なう。すなわち、ＡＲＰキャッシュ検索処理部７は、ブロードキャストアドレスをレイヤ２アドレスとしてパケット処理部６から受信したパケットとともにＬ２送信処理部２に通知、転送する（ステップ１７）。そして、Ｌ２送信処理部２では、レイヤ２のヘッダ、トレーラを付加してブロードキャストアドレス宛に転送する。この時のＬ２送信処理部２の動作は、該当するエントリが有る場合（ヒットした場合）と同様である。
【００３２】
さらに、ＡＲＰキャッシュ検索処理部７は、ＡＲＰ処理部５に対して、該当するエントリが無い旨（ミスヒット）の情報、すなわちＡＲＰリクエスト要求通知を送信する（ステップ１６）。ＡＲＰ処理部５は、ＡＲＰキャッシュ検索処理部４からの情報を元にＡＲＰリクエストパケットを生成し、該ＡＲＰリクエストパケットをＬ２送信処理部２を介して送信する。
【００３３】
その後、該当装置からＡＲＰリプライパケットが返信されてきた場合には、Ｌ２受信処理部１経由でＡＲＰ処理部５にＡＲＰリプライパケットが転送され、ＡＲＰ処理部５ではその結果、すなわちレイヤ２アドレスをＡＲＰキャッシュ３にエントリ追加する。この場合もＡＲＰキャッシュ３へのエントリ追加後は、エントリが消去されるまではＡＲＰキャッシュミスヒットは発生せずにパケットの転送が行なえる。
【００３４】
なお、本実施の形態ではパケットの優先クラスをパケット種別判定部８で決定しているが、パケット処理部６等でパケットの優先クラスを決定する構成とすることも可能である、この場合は、パケット種別判定部８は特に設けなくても良い。
【００３５】
以上のように、本実施の形態にかかるパケット転送装置２０においてはＡＲＰキャッシュミスヒット時でも、遅延に厳しい、すなわち優先クラスの高いパケットはブロードキャストアドレスを用いて転送される。したがって、優先クラスの高いパケットはＡＲＰキャッシュミスヒット時でも、ＡＲＰ処理によってレイヤ２アドレスが取得できるまで待たされることが無いため、低遅延での転送が可能となる。また、パケット転送装置２０においては、実施の形態１の場合のように全てのパケットをブロードキャストで転送せず、必要なパケット（優先クラスの高いパケット）のみをブロードキャストで転送するため、ネットワークのトラヒック量の増加を最小限に抑えつつ、低遅延の転送が実現できる。更に、パケット転送装置２０においては、優先クラスが低いパケットのみをＡＲＰの処理の時間待たせれば良いので、バッファに蓄積するパケットの数を従来の方式に比べ低減させることができ、バッファの容量オーバーに起因したパケットの廃棄を減少させることができ、パケット廃棄率を低くすることができる。したがって、本実施の形態によれば、パケット転送の遅延時間が短く且つパケットの廃棄率の低いパケット転送を実現できるという効果を奏する。
【００３６】
実施の形態３．
上述した実施の形態１および実施の形態２においては、ＡＲＰキャッシュミスヒット時に全てのパケットまたは優先クラスの高いパケットをブロードキャストで転送する形態について説明したが、実施の形態３では、ＡＲＰ処理が失敗した場合、その後は、従来の処理を行なうようにした実施の形態について説明する。
【００３７】
図５は、実施の形態３にかかるパケット転送装置３０が有する機能ブロックを示す概略構成図である。なお、図５においては、図１と同じ機能部については図１と同じ符号を付して、詳細な説明は省略する。
【００３８】
本実施の形態にかかるパケット転送装置３０は、Ｌ２受信処理部１と、Ｌ２送信処理部２と、ＡＲＰキャッシュ３と、パケット処理部６と、ＡＲＰ処理待ちパケット用バッファ９と、ＡＲＰキャッシュの検索を行なうＡＲＰキャッシュ検索処理部１０と、ＡＲＰリクエストパケット、リプライパケット、ＡＲＰキャッシュのエントリ追加・削除を行なうＡＲＰ処理部１１と、ＡＲＰ処理が失敗したＮｅｘｔ  Ｈｏｐ  ＩＰアドレスを蓄積するＡＲＰ失敗Ｎｅｘｔ  Ｈｏｐ  ＩＰアドレスリスト１２と、を備えて構成される。なお、ＡＲＰキャッシュ検索処理部１０は、図１に示したＡＲＰキャッシュ検索処理部４と基本的な動作は同じであるが、ＡＲＰ失敗Ｎｅｘｔ  Ｈｏｐ  ＩＰアドレスリスト１２を参照し、その結果に応じた処理を行なう点が異なる。また、ＡＲＰ処理部１１も、図１に示したＡＲＰ処理部５と基本的な動作は同じであるが、ＡＲＰ失敗Ｎｅｘｔ  Ｈｏｐ  ＩＰアドレスリスト１２の管理も行なう点が異なる。
【００３９】
図６は、ＡＲＰキャッシュ検索処理部１０の動作を示すフローチャートである。以下に、図５および図６を参照しながら本実施の形態にかかるパケット転送装置３０の基本的な動作について説明する。なお、受信側の動作は実施の形態１と同様なので詳細な説明は省略し、送信側の動作について説明する。
【００４０】
ＡＲＰキャッシュ検索処理部１０は、パケット処理部６から送信パケットを受信すると、通知された、Ｎｅｘｔ  Ｈｏｐ  ＩＰアドレス（次のレイヤ３処理を行なう装置のＩＰアドレス）を検索キーとしてＡＲＰキャッシュ３を検索し（ステップ２１）、該当するレイヤ２アドレスのエントリが有るか否かを判断する（ステップ２２）。その結果、該当するエントリが有る場合（ステップ２２肯定、ヒットした場合）には、実施の形態１と同じ動作でパケットを転送する。すなわち、検索結果であるレイヤ２アドレスとパケット処理部６から受信したパケットとをＬ２送信処理部２に通知、転送する（ステップ２３）。そして、Ｌ２送信処理部２ではレイヤ２のヘッダ、トレーラを付加してレイヤ２アドレス宛に転送する。
【００４１】
また、ＡＲＰキャッシュ３を検索した結果、該当するエントリが無い場合（ステップ２２否定、ミスヒットした場合）には、ブロードキャストアドレスで転送する前に、ＡＲＰ失敗Ｎｅｘｔ  Ｈｏｐ  ＩＰアドレスリスト１２にアクセスし、パケットのＮｅｘｔ  Ｈｏｐ  ＩＰアドレスがＡＲＰ失敗Ｎｅｘｔ  Ｈｏｐ  ＩＰアドレスリスト１２に有るか否かを判断する（ステップ２４）。
【００４２】
その結果、パケットのＮｅｘｔ  Ｈｏｐ  ＩＰアドレスがＡＲＰ失敗Ｎｅｘｔ  Ｈｏｐ  ＩＰアドレスリスト１２に無い場合は（ステップ２４否定）、ＡＲＰキャッシュ検索処理部１０は、実施の形態１と同様の動作を行ない、ブロードキャストで転送する。すなわち、ＡＲＰキャッシュ検索処理部１０は、ブロードキャストアドレスをレイヤ２アドレスとしてＬ２送信処理部２に通知、転送する（ステップ２７）。そして、Ｌ２送信処理部２では、レイヤ２のヘッダ、トレーラを付加してブロードキャストアドレス宛に送信する。      
【００４３】
さらに、ＡＲＰキャッシュ検索処理部１０は、ＡＲＰ処理部１１に該当するエントリが無い旨（ミスヒット）の情報、すなわちＡＲＰリクエスト要求通知を送信する（ステップ２６）。ＡＲＰ処理部１１は、ＡＲＰキャッシュ検索処理部１０からの情報を元にＡＲＰリクエストパケットを生成し、該ＡＲＰリクエストパケットをＬ２送信処理部２を介して送信する。
【００４４】
その後、該当装置からＡＲＰリプライパケットが返信されてきた場合には、Ｌ２受信処理部１経由でＡＲＰ処理部１１にＡＲＰリプライパケットが転送され、ＡＲＰ処理部１１ではその結果、すなわちレイヤ２のアドレスをＡＲＰキャッシュ３にエントリ追加する。この場合もＡＲＰキャッシュ３へのエントリ追加後は、エントリが消去されるまではＡＲＰキャッシュミスヒットは発生せずにパケットの転送が行なえる。
【００４５】
一方、パケットのＮｅｘｔ  Ｈｏｐ  ＩＰアドレスがＡＲＰ失敗Ｎｅｘｔ  Ｈｏｐ  ＩＰアドレスリスト１２に有るか否かを判断した結果、パケットのＮｅｘｔ  Ｈｏｐ  ＩＰアドレスがＡＲＰ失敗Ｎｅｘｔ  Ｈｏｐ  ＩＰアドレスリスト１２に有る場合は（ステップ２４肯定）、パケットをＡＲＰ処理待ちパケット用バッファ９に一旦蓄積し、アドレス解決後、解決されたレイヤ２アドレスを使って転送を行なう。すなわち、ＡＲＰキャッシュ検索処理部１０は、ＡＲＰ処理待ちパケット用バッファ９にパケットを蓄積する（ステップ２５）。さらに、ＡＲＰキャッシュ検索処理部１０は、ＡＲＰ処理部１１に該当するエントリが無い旨（ミスヒット）の情報、すなわちＡＲＰリクエスト要求通知を送信する（ステップ２６）。ＡＲＰ処理部１１は、実施の形態２の場合と同様にＡＲＰキャッシュ検索処理部１０からの情報を元にＡＲＰリクエストパケットを生成し、該ＡＲＰリクエストパケットをＬ２送信処理部２を介して送信する。
【００４６】
その後、該当装置からＡＲＰリプライパケットが返信されてきた場合には、Ｌ２受信処理部１経由でＡＲＰ処理部１１にＡＲＰリプライパケットが通知され、ＡＲＰ処理部１１ではその結果、すなわちレイヤ２アドレスをＡＲＰキャッシュ３にエントリ追加する。ＡＲＰキャッシュ３へのエントリ追加後は、エントリが消去されるまではＡＲＰキャッシュミスヒットは発生せずにパケットの転送が行なえる。
【００４７】
そして、ＡＲＰ処理部１１は、Ｌ２送信処理部２に対して、ＡＲＰキャッシュ３に追加されたレイヤ２アドレスを通知するとともにＡＲＰ処理待ちパケット用バッファ９に蓄積されているパケットの読み出し・転送を要求する。Ｌ２送信処理部２はＡＲＰ処理部１１からの要求に従い、該当するパケットをＡＲＰ処理待ちパケット用バッファ９から読み出して、通知されたレイヤ２アドレス等を付加して転送する。
【００４８】
また、ＡＲＰリプライパケットがある一定時間送信されて来なく（更に何回かリトライしても良い。）、ＡＲＰ処理が失敗した場合は、ＡＲＰ処理待ちパケット用バッファ９に蓄積された該当するパケット（同じＮｅｘｔ  Ｈｏｐ  ＩＰアドレスのパケット）を全て廃棄する。
【００４９】
また、ＡＲＰ処理部１１は、ＡＲＰリクエストを行なった結果、ＡＲＰリプライパケットが返送されアドレス解決ができた場合、ＡＲＰ失敗Ｎｅｘｔ  Ｈｏｐ  ＩＰアドレスリスト１２にそのＮｅｘｔ  Ｈｏｐ  ＩＰアドレスが登録されている場合、そのアドレスを削除する。また逆にアドレス解決に失敗した場合で、ＡＲＰ失敗Ｎｅｘｔ  Ｈｏｐ  ＩＰアドレスリスト１２にそのＮｅｘｔ  Ｈｏｐ  ＩＰアドレスが登録されていない場合には、ＡＲＰ処理部１１はそのアドレスの追加を行なう。
【００５０】
なお、本実施の形態においては、実施の形態２で説明した優先クラスを考慮していないが、実施の形態２のように優先クラスも考慮する場合にも適用できる。
【００５１】
以上のように、本実施の形態にかかるパケット転送装置３０においてはＡＲＰキャッシュミスヒット時でも、ＡＲＰ失敗Ｎｅｘｔ  Ｈｏｐ  ＩＰアドレスリスト１２にＮｅｘｔ  Ｈｏｐ  ＩＰアドレスが登録されていないパケットはブロードキャストアドレスを用いて転送される。したがって、ＡＲＰ失敗Ｎｅｘｔ  Ｈｏｐ  ＩＰアドレスリスト１２にＮｅｘｔ  Ｈｏｐ  ＩＰアドレスが登録されていないパケットは、ＡＲＰによってレイヤ２アドレスが取得できるまで待たされることが無いため、低遅延での転送が可能となる。
【００５２】
また、このパケット転送装置３０においては、実施の形態１の場合のように全てのパケットをブロードキャストで転送せず、必要なパケット（ＡＲＰキャッシュの検索でミスヒットし、且つＡＲＰ失敗Ｎｅｘｔ  Ｈｏｐ  ＩＰアドレスリスト１２にＮｅｘｔ  Ｈｏｐ  ＩＰアドレスが登録されていないパケット）のみをブロードキャストで転送するため、ネットワークのトラヒック量の増加を効果的に抑制しつつ、低遅延の転送が実現できる。そして、たとえば転送先の装置が故障等で通信できなくなっている場合（アドレス解決が失敗した場合）にはブロードキャストを行なわないため、無駄なトラヒックを流すことが無く、ネットワークのトラヒック量の増加を効果的に抑制しつつ、低遅延の転送が実現できる。
【００５３】
更に、このパケット転送装置３０においては、ＡＲＰキャッシュの検索でミスヒットし、且つＡＲＰ失敗Ｎｅｘｔ  Ｈｏｐ  ＩＰアドレスリスト１２にＮｅｘｔ  Ｈｏｐ  ＩＰアドレスが登録されているパケットのみをＡＲＰの処理の時間待たせれば良いので、バッファに蓄積するパケットの数を従来の方式に比べ低減させることができ、バッファの容量オーバーに起因したパケットの廃棄を減少させることができ、パケット廃棄率を低くすることができる。更に、転送先の装置が通信できない状態以外では、パケットをＡＲＰの処理の時間待たせる必要が無いため、パケット廃棄も発生しない。したがって、本実施の形態によれば、パケット転送の遅延時間が短く且つパケットの廃棄率の低いパケット転送を実現できるという効果を奏する。
【００５４】
実施の形態４．
上述した実施の形態１においては、ＡＲＰキャッシュミスヒット時に、パケットをブロードキャストで転送する場合について説明したが、実施の形態４ではブロードキャストで転送した場合でも転送パケットのループが発生しない実施の形態について説明する。
【００５５】
図７は、実施の形態４においてＡＲＰキャッシュミスヒット時に転送するパケット（フレーム）のフォーマット１００を示した図である。図８は、本実施の形態におけるＡＲＰキャッシュ検索処理部４の動作を示すフローチャートである。また、図９は、本実施の形態におけるＬ２受信処理部１の動作を示すフローチャートである。なお、本実施の形態におけるパケット転送装置の構成は図１に示した実施の形態１と同様であり、図１を参照することとし、詳細な説明は省略する。
【００５６】
パケット（フレーム）のフォーマット１００には、図７に示すようにＭＡＣアドレス、タイプ、Ｎｅｘｔ  Ｈｏｐ  ＩＰアドレス、ＩＰヘッダ、ＩＰデータ、ＦＣＳ（Frame Check Sequence）が存在する。そして、レイヤ２のヘッダの中には図７に示すようにレイヤ３のパケットのプロトコルを示すタイプ領域があり、この値によりどのようなプロトコルなのか判別できる。本実施の形態では、通常のＩＰパケットとレイヤ２ヘッダの間に、Ｎｅｘｔ  Ｈｏｐ  ＩＰアドレスがある構成で、そのような特殊なパケットであることを示すタイプ値を付ける。
【００５７】
そして、このフォーマット１００によれば、ブロードキャストで転送しても、Ｎｅｘｔ  Ｈｏｐ  ＩＰアドレスから、転送されたパケットが自宛かどうかを判断できるので、本当の宛先装置以外は該当パケットを廃棄することが可能となり、ループやパケットの重複等も回避できる。
【００５８】
次に、図８を参照しながら本実施の形態にかかるパケット転送装置の基本的な動作について説明する。なお、受信側の動作は実施の形態１と同様なので詳細な説明は省略し、送信側の動作について説明する。
【００５９】
ＡＲＰキャッシュ検索処理部４は、パケット処理部６から送信パケットを受信すると、受信したパケットに含まれるＮｅｘｔ  Ｈｏｐ  ＩＰアドレス（次のレイヤ３処理を行なう装置のＩＰアドレス）を検索キーとしてＡＲＰキャッシュ３を検索し（ステップ３１）、該当するレイヤ２アドレスのエントリが有るか否かを判断する（ステップ３２）。ＡＲＰキャッシュ３を検索した結果、該当するエントリが有る場合（ステップ３２肯定、ヒットした場合）には、検索結果であるレイヤ２アドレスと送信パケットとをＬ２送信処理部２に通知、転送する（ステップ３３）。そして、Ｌ２送信処理部２では検索結果であるレイヤ２アドレスを送信アドレスとして、レイヤ２のヘッダ、トレーラを付加してレイヤ２アドレス宛に転送する。
【００６０】
つぎに、ＡＲＰキャッシュ３を検索した結果、該当するエントリが無い場合（ステップ３２否定、ミスヒットした場合）には、ＡＲＰキャッシュ検索処理部４はブロードキャストアドレスを送信アドレスとして設定して送信パケットとともにＬ２送信処理部２に通知、転送する（ステップ３４）。この時、ＡＲＰキャッシュ検索処理部４は、図７に示したパケット（フレーム）のフォーマットに変換して転送を行なうことをＬ２送信処理部２に指示する。Ｌ２送信処理部２では、この指示に従って図７に示したパケット（フレーム）のフォーマットに変換して転送を行なう。すなわち、Ｌ２ヘッダとＩＰヘッダとの間にＮｅｘｔ  Ｈｏｐ  ＩＰアドレスを挿入し、そのことを示すタイプ値を付けたフォーマットに変換して転送を行う。なお、必要であればフラグメント等を行う。また、実施の形態１の場合と同様にＡＲＰキャッシュ検索処理部４は、ＡＲＰ処理部５に対して、該当するエントリが無い旨（ミスヒット）の情報、すなわちＡＲＰリクエスト要求通知を送信する（ステップ３５）。ＡＲＰ処理部５は、ＡＲＰキャッシュ検索処理部４からの情報を元にＡＲＰリクエストパケットを生成し、該ＡＲＰリクエストパケットをＬ２送信処理部２を介して送信する。
【００６１】
その後、該当装置からＡＲＰリプライパケットが返信されてきた場合には、Ｌ２受信処理部１経由でＡＲＰ処理部５にＡＲＰリプライパケットが通知され、ＡＲＰ処理部５ではその結果、すなわちレイヤ２のアドレスをＡＲＰキャッシュ３にエントリ追加する。この場合もＡＲＰキャッシュ３へのエントリ追加後は、エントリが消去されるまではＡＲＰキャッシュミスヒットは発生せずにパケットの転送が行なえる。
【００６２】
次に、図９を用いてブロードキャストで転送されたパケットの受信処理の説明をする。Ｌ２受信処理部１がパケット（フレーム）を受信すると、Ｌ２受信処理部１ではパケットの正常性を判断する（ステップ４１）。その結果、受信したパケットが正常でない場合には（ステップ４１否定）、Ｌ２受信処理部１はパケットを廃棄する（ステップ４６）。
【００６３】
また、パケットの正常性を判断した結果、受信したパケットが正常である場合には（ステップ４１肯定）、レイヤ２のヘッダのタイプ値が通常の値であるか否かを判断する（ステップ４２）。その結果、レイヤ２のヘッダのタイプ値が通常の値である場合には、従来と同様に受信処理を行なう（ステップ４３）。
【００６４】
一方、レイヤ２のヘッダのタイプ値が図７のフォーマットの値である場合には、Ｎｅｘｔ  Ｈｏｐ  ＩＰアドレスの値が自装置に設定された自宛Ｎｅｘｔ  Ｈｏｐ  ＩＰアドレスに一致するか否かを判断する（ステップ４４）。その結果、Ｎｅｘｔ  Ｈｏｐ  ＩＰアドレスの値が自宛Ｎｅｘｔ  Ｈｏｐ  ＩＰアドレスに一致する場合には（ステップ４４肯定）、通常のパケットのフォーマットに変換してタイプ値を書き換え、Ｎｅｘｔ  Ｈｏｐ  ＩＰアドレスを削除する（ステップ４５）。その後、従来と同様に受信処理を行なう（ステップ４３）。
【００６５】
また、Ｎｅｘｔ  Ｈｏｐ  ＩＰアドレスの値が自宛Ｎｅｘｔ  Ｈｏｐ  ＩＰアドレスに一致しない場合には（ステップ４４否定）、パケットを廃棄する（ステップ４６）。
【００６６】
なお、本実施の形態においては優先クラスを考慮していないが、実施の形態２のように優先クラスも考慮する場合にも適用可能である。
【００６７】
以上のように、本実施の形態にかかるパケット転送装置においては、実施の形態１と同様にＡＲＰキャッシュミスヒット時でもＡＲＰによってレイヤ２アドレスが取得できるまで待たされる事が無いため、低遅延での転送が可能となる。また、パケットをＡＲＰの処理の時間待たせる必要が無いため、すなわちレイヤ２アドレスの取得待ちパケットを保持しておくバッファが不要であり、バッファの容量オーバーによりパケットが廃棄されるという問題も発生しない。したがって、したがって、本実施の形態によれば、パケット転送の遅延時間が短く且つパケットの廃棄率の低いパケット転送を実現できるという効果を奏する。
【００６８】
さらに、本実施の形態によれば、パケットをブロードキャストで転送した場合においても、受信したパケットが自宛か否かをＮｅｘｔ  Ｈｏｐ  ＩＰアドレスから判断できる。これにより、本当の宛先装置以外はブロードキャストで転送されたパケットを廃棄することが可能となり、ループやパケットの重複等を回避することができるという効果を奏する。
【００６９】
実施の形態５．
上述した実施の形態４においては、Ｎｅｘｔ  Ｈｏｐ  ＩＰアドレスを従来のパケットに付加して転送する形態について説明したが、実施の形態５においてはＡＲＰ（リクエスト）データ自体を従来のパケットに付加する実施の形態について説明する。
【００７０】
図１０は、本実施の形態においてＡＲＰキャッシュミスヒット時に転送するパケット（フレーム）のフォーマット２００を示した図である。図１１は、ＡＲＰキャッシュ検索処理４の本実施の形態の場合の動作を示すフローチャートである。また、図１２は、本実施の形態におけるＬ２受信処理部１の動作を示すフローチャートである。なお、本実施の形態におけるパケット転送装置の構成は図１に示した実施の形態１と同様であり、図１を参照することとし、詳細な説明は省略する。
【００７１】
本実施の形態で転送するパケット（フレーム）のフォーマット２００には、ＭＡＣアドレス、タイプ、ＡＲＰ（リクエスト）データ、ＩＰヘッダ、ＩＰデータ、ＦＣＳ（Frame Check Sequence）が存在する。そして、レイヤ２のヘッダの中には、図１０に示すようにレイヤ３のパケットのプロトコルを示すタイプ領域があり、この値によりどのようなプロトコルなのか判別できる。本実施の形態では、通常のＩＰパケットとレイヤ２ヘッダの間に、ＡＲＰ（リクエスト）データがあり、そのような特殊なパケットである事を示すタイプ値を付ける。
【００７２】
次に、図１１を参照しながら本実施の形態にかかるパケット転送装置の基本的な動作について説明する。なお、受信側の動作は実施の形態１と同様なので詳細な説明は省略し、送信側の動作を説明する。
【００７３】
ＡＲＰキャッシュ検索処理部４は、パケット処理部６から送信パケットを受信すると、受信したパケットに含まれるＮｅｘｔ  Ｈｏｐ  ＩＰアドレス（次のレイヤ３処理を行なう装置のＩＰアドレス）を検索キーとしてＡＲＰキャッシュ３を検索し（ステップ５１）、該当するエントリが有るか否かを判断する（ステップ５２）。ＡＲＰキャッシュ３を検索した結果、該当するエントリが有る場合（ステップ５２肯定、ヒットした場合）には、検索結果であるレイヤ２アドレスと送信パケットとをＬ２送信処理部２に通知、転送する（ステップ５３）。そして、Ｌ２送信処理部２では検索結果であるレイヤ２アドレスを送信アドレスとして、レイヤ２のヘッダ、トレーラを付加してレイヤ２アドレス宛に転送する。
【００７４】
つぎに、ＡＲＰキャッシュ３を検索した結果、該当するエントリが無い場合（ステップ５２否定、ミスヒットした場合）には、ＡＲＰキャッシュ検索処理部４はブロードキャストアドレスを送信アドレスとして設定して送信パケットとともにＬ２送信処理部２に通知、転送する（ステップ５４）。この時、ＡＲＰキャッシュ検索処理部４は、図１０に示したパケット（フレーム）のフォーマットに変換して転送を行なうことをＬ２送信処理部２に指示する。Ｌ２送信処理部２では、この指示に従って図１０に示したパケット（フレーム）のフォーマットに変換して転送を行なう。すなわち、Ｌ２ヘッダとＩＰヘッダとの間にＡＲＰデータを挿入し、そのことを示すタイプ値を付けたフォーマットに変換して転送を行う。なお、必要であればフラグメント等を行う。また、本実施の形態の場合、既にＡＲＰリクエストのデータは転送パケットの一部に含まれ転送されているので、別にＡＲＰリクエストパケットを出力することは行なわない。
【００７５】
次に、図１２を用いてブロードキャストで転送されたパケットの受信処理の説明をする。Ｌ２受信処理部１がパケット（フレーム）を受信すると、Ｌ２受信処理部１ではパケットの正常性を判断する（ステップ６１）。その結果、受信したパケットが正常でない場合には（ステップ６１否定）、Ｌ２受信処理部１はパケットを廃棄する（ステップ６７）。
【００７６】
また、パケットの正常性を判断した結果、受信したパケットが正常である場合には（ステップ６１肯定）、レイヤ２のヘッダのタイプ値が通常の値であるか否かを判断する（ステップ６２）。その結果、レイヤ２のヘッダのタイプ値が通常の値である場合には、従来と同様に受信処理を行なう（ステップ６３）。
【００７７】
一方、レイヤ２のヘッダのタイプ値が図１０のフォーマットの値である場合には、ＡＲＰデータの中のＮｅｘｔ  Ｈｏｐ  （送信先）ＩＰアドレスの値が自装置に設定された自宛ＩＰアドレスと一致するか否かを判断する（ステップ６４）。その結果、ＡＲＰデータの中のＮｅｘｔ  Ｈｏｐ  （送信先）ＩＰアドレスの値が自宛ＩＰアドレスと一致する場合には、通常のパケットのフォーマットに変換してタイプ値を書き換え、ＡＲＰデータを削除する（ステップ６５）。また、削除したＡＲＰデータはＡＲＰ処理部５へ通知し、ＡＲＰリプライパケットを返送するように要求を出す（ステップ６６）。その後、実施の形態１と同様に受信処理を行なう（ステップ６３）。
【００７８】
また、ＡＲＰデータの中のＮｅｘｔ  Ｈｏｐ  （送信先）ＩＰアドレスの値が自宛ＩＰアドレスに一致しない場合には（ステップ６４否定）、パケットを廃棄する（ステップ６７）。
【００７９】
なお、ＡＲＰデータを含むパケットを転送するのはＡＲＰキャッシュミスヒットになった初めのパケットのみとし、後続の同一Ｎｅｘｔ  Ｈｏｐ  ＩＰアドレス宛のパケットに対しては、実施の形態４のようにＮｅｘｔ  Ｈｏｐ  ＩＰアドレスのみ転送する方法もある。
【００８０】
また、本実施の形態においては優先クラスを考慮していないが、実施の形態２のように優先クラスも考慮する場合にも適用可能である。
【００８１】
以上のように、本実施の形態によれば、実施の形態１と同様にＡＲＰキャッシュミスヒット時でもＡＲＰによってレイヤ２アドレスが取得できるまで待たされる事が無いため、低遅延での転送が可能となる。また、パケットをＡＲＰの処理の時間待たせる必要が無いため、すなわちレイヤ２アドレスの取得待ちパケットを保持しておくバッファが不要であり、バッファの容量オーバーによりパケットが廃棄されるという問題も発生しない。したがって、したがって、本実施の形態によれば、パケット転送の遅延時間が短く且つパケットの廃棄率の低いパケット転送を実現できるという効果を奏する。
【００８２】
そして、本実施の形態によれば、パケットをブロードキャストで転送した場合においても、ＡＲＰデータの中のＮｅｘｔ  Ｈｏｐ  （送信先）ＩＰアドレスの値から、受信したパケットが自宛か否かを判断できる。これにより、本当の宛先装置以外はブロードキャストで転送されたパケットを廃棄することが可能となり、ループやパケットの重複等を回避することができる。さらに、本実施の形態によれば、ＡＲＰリクエストパケットの送信が不要なため、トラヒック量も効果的に削減することができる。
【００８３】
実施の形態６．
実施の形態６においては、パケットの転送時でなく、ＡＲＰキャッシュにおけるレイヤ２アドレスのエントリ削除時の動作に、優先クラスに応じた削除を行なう実施の形態について説明する。
【００８４】
図１３は、本実施の形態でのＡＲＰキャッシュのレイヤ２アドレスエントリのフォーマット３００を示す図である。図１４は、ＡＲＰキャッシュのエントリ削除時の本実施の形態での動作を示すフローチャートである。本実施の形態におけるパケット転送装置の構成は図１に示した実施の形態１と同様であり、図１を参照することとし、詳細な説明は省略する。以下、図１３および図１４を参照しながら説明を行なう。本実施の形態では、図１３に示すように従来のＡＲＰキャッシュでのエントリの内容に加え、エントリ追加のトリガとなったパケットの優先度を示す優先クラス情報としてフラグも保持する。ここで、優先度の高いクラスのレイヤ２アドレスのエントリ追加の場合は、フラグ＝１で設定を行なう。
【００８５】
ＡＲＰ処理部５は、各レイヤ２アドレスのエントリのタイマ値を一定時間毎に減算している。また、ＡＲＰ処理部５は、タイマ値によりエントリを削除する処理も行なっている。そして、ＡＲＰ処理部５は、各レイヤ２アドレスのエントリのタイマ値が「０」になっているか否かを検査する（ステップ７１）。その結果、エントリのタイマ値が「０」でない場合は（ステップ７１否定）そのまま処理を終了する。
【００８６】
また、エントリのタイマ値が「０」である場合は（ステップ７１肯定）、ＡＲＰ処理部５は次にフラグの値を検査し、フラグの値が「１」であるか否かを検査する（ステップ７２）。ここで、フラグの値が「０」である場合は（ステップ７２否定）、該当エントリの削除を行ない（ステップ７４）、終了する。一方、フラグの値が「１」である場合は（ステップ７２肯定）、フラグの値を「０」に変更し、再度タイマを設定する（ステップ７３）。このような処理を行うことにより、優先度の高いクラスのレイヤ２アドレスは、通常のクラスのレイヤ２アドレスの２倍の時間削除されずにエントリとして保持される。
【００８７】
なお、フラグの値が「１」であるレイヤ２アドレスのエントリは、タイマ値が「０」になっても削除しない、フラグを立てる代わりにタイマの初期値を通常のクラスより長くする、などの方法でも同様のことが実現できる。
【００８８】
以上のように、本実施の形態によれば、優先度が高いクラスとしてＡＲＰキャッシュに追加されたレイヤ２アドレスのエントリは、通常のエントリに比べ長い時間削除されずに保持されるため、ＡＲＰキャッシュミスヒットになる確率を効果的に減らすことができ、低遅延で転送できる確率を効果的に高めることができる。
【００８９】
実施の形態７．
上述した実施の形態６においては、ＡＲＰキャッシュのエントリのフラグにより、レイヤ２アドレスのエントリ追加から削除までの時間を延ばすことで優先度の高いクラスのパケットにより追加されたエントリを削除されにくくする場合について説明した。実施の形態７においては、エントリ追加のトリガとなったパケットの優先度を示す優先クラス情報としてのフラグにより、エントリを削除するか否かを再度ＡＲＰ処理を行なって判定する実施の形態について説明する。なお、本実施の形態においても、優先度の高いクラスのエントリ追加の場合は、フラグ＝１で設定を行なうものとする。
【００９０】
図１５は、本実施の形態におけるＡＲＰキャッシュでのエントリ削除時の動作を示すフローチャートである。本実施の形態では、上述した実施の形態６の図１３に示したように従来のＡＲＰキャッシュでのエントリの内容に加え、エントリ追加のトリガとなったパケットの優先度を示す優先クラス情報としてフラグも保持する。ここで、優先度の高いクラスのレイヤ２アドレスのエントリ追加の場合は、フラグ＝１で設定を行なう。なお、本実施の形態におけるパケット転送装置の構成は図１に示した実施の形態１と同様であり、図１を参照することとし、詳細な説明は省略する。以下、図１５を参照しながら説明を行なう。
【００９１】
ＡＲＰ処理部５は、まず、各レイヤ２アドレスのエントリのタイマ値が「０」になっているか否かを検査する（ステップ８１）。その結果、エントリのタイマ値が「０」でない場合は（ステップ８１否定）そのまま処理を終了する。また、エントリのタイマ値が「０」である場合は（ステップ８１肯定）、ＡＲＰ処理部５は次にフラグの値を検査し、フラグの値が「１」であるか否かを検査する（ステップ８２）。ここで、フラグの値が「０」である場合は（ステップ８２否定）、該当エントリの削除を行ない（ステップ８６）、終了する。
【００９２】
一方、フラグの値が「１」である場合は（ステップ８２肯定）、ＡＲＰ処理部５はそのエントリのＭＡＣアドレス宛にＡＲＰリクエストパケットを生成、送信して（ステップ８３）、ＡＲＰリプライパケットが返送されるか否かを試す（ステップ８４）。その結果、ＡＲＰリプライパケットが返信されてきた場合には、タイマを再設定し（ステップ８５）、エントリの削除は行なわない。また、ＡＲＰリプライパケットが返信されてこない場合は、宛先の装置が通信できない状態と判断して該当するレイヤ２アドレスのエントリを削除して（ステップ８６）終了する。
【００９３】
以上のように、本実施の形態によれば、優先度が高いクラスとしてＡＲＰキャッシュに追加されたエントリに対して、削除するか否かの判断をする時に再度ＡＲＰ処理を行なうことで、宛先装置が通信可能な状態である限り該エントリは削除されずに保持されるため、ＡＲＰキャッシュミスヒットになる確率を効果的に減らすことができるため、低遅延で転送できる確率を効果的に高めることができる。
【００９４】
実施の形態８．
実施の形態８では、ＡＲＰキャッシュにレイヤ２アドレスをエントリ追加する際の動作に、優先クラスに応じた制御を行なう実施の形態について説明する。なお、本実施の形態におけるパケット転送装置の構成は図１に示した実施の形態１と同様であり、図１を参照することとし、詳細な説明は省略する。図１６は、本実施の形態におけるＡＲＰキャッシュでのレイヤ２アドレスのエントリ追加時の動作を示すフローチャートである。詳しくは、ＡＲＰ処理部５がＡＲＰにより新たなエントリをＡＲＰキャッシュ３に追加する時の動作を示している。以下、図１および図１６を参照しながら、本実施の形態を説明する。
【００９５】
まず、ＡＲＰ処理部５は、レイヤ２アドレスのエントリ追加時にＡＲＰキャッシュ３にエントリ追加のための空き領域があるか否かを検査する（ステップ９１）。その結果、空き領域がある場合には（ステップ９１肯定）、ＡＲＰ処理部５は空き領域の１つに新エントリを追加する（ステップ９５）。
【００９６】
また、検査の結果、空き領域が無い場合には、ＡＲＰ処理部５はつぎにフラグ＝０のエントリがあるか否かを検査する（ステップ９２）。その結果、フラグ＝０のエントリがある場合は（ステップ９２肯定）、ＡＲＰ処理部５はフラグ＝０のエントリの中でタイマ値が最も小さいエントリ、すなわちＡＲＰキャッシュ３にエントリ追加されてからの時間経過が最も長いエントリの領域に新エントリを上書きする（ステップ９３）。一方、フラグ＝０のエントリが無い場合は（ステップ９２否定）、ＡＲＰ処理部５はタイマ値が最も小さいエントリの領域に新エントリを上書きする（ステップ９４）。
【００９７】
以上のように、本実施の形態によれば、ＡＲＰ処理部５がレイヤ２アドレスのエントリ追加時にＡＲＰキャッシュ３にエントリ追加のための空き領域があるか否かを検査し、ＡＲＰキャッシュに空き領域が無い場合には、優先クラスの低いエントリから削除する。これにより、優先クラスが高いクラスのエントリがＡＲＰキャッシュ３から削除されにくくすることができ、優先クラスの高いクラスのパケットがＡＲＰキャッシュミスヒットになる確率を効果的に減らすことができるため、低遅延で転送できる確率を効果的に高めることができる。
【００９８】
実施の形態９．
実施の形態９では、ＡＲＰキャッシュミスヒット時のＡＲＰ処理待ちパケット用バッファへの蓄積を、廃棄優先クラスに応じて行なう実施の形態について説明する。なお、本実施の形態にかかるパケット転送装置の構成は、ＡＲＰキャッシュ検索処理部７が実施の形態２と異なる機能を備えること以外は実施の形態２のパケット転送装置と同様であるため、図３を参照しながら説明する。図１７は、本実施の形態におけるＡＲＰキャッシュ検索処理部７での動作を示すフローチャートである。以下、図３および図１７を参照しながら、本実施の形態にかかるパケット転送装置の基本的な動作について説明する。なお、受信側の動作は実施の形態２と同様なので詳細な説明は省略し、送信側の動作について説明する。
【００９９】
パケット種別判定部８は、パケット処理部６から送信パケットを受信すると、パケットのヘッダ情報（ＩＰアドレス、ＴｏＳ、Ｐｒｏｔｏｃｏｌ、トランスポート層のポート番号等）および、あらかじめ設定されたルール（ヘッダ情報が所定の条件である場合に高優先クラスに割り当てるという情報）から優先クラスを決定し、ＡＲＰキャッシュ検索処理部７にパケットとともに通知する。
【０１００】
ＡＲＰキャッシュ検索処理部７は、パケット種別判定部８からパケットを受信すると、受信したパケットに含まれるＮｅｘｔ  Ｈｏｐ  ＩＰアドレス（次のレイヤ３処理を行なう装置のＩＰアドレス）を検索キーとしてＡＲＰキャッシュ３を検索し（ステップ１０１）、該当するエントリが有るか否かを判断する（ステップ１０２）。その結果、該当するエントリが有る場合（ステップ１０２肯定、ヒットした場合）には、検索結果であるレイヤ２アドレスと送信パケットとをＬ２送信処理部２に通知、転送する（ステップ１０３）。そして、Ｌ２送信処理部２ではレイヤ２のヘッダ、トレーラを付加してレイヤ２アドレス宛に転送する。
【０１０１】
また、ＡＲＰキャッシュ３を検索した結果、該当するレイヤ２アドレスのエントリが無い場合（ステップ１０２否定、ミスヒットした場合）には、パケットの優先度、すなわち優先クラスによりその後の処理が変わる。まず、ＡＲＰキャッシュ検索処理部７は、パケットとともにパケット種別判定部８から通知されたパケットの優先クラスの種別情報（ここでの種別は主に廃棄優先クラスの情報である。）に基づいてパケットの廃棄優先クラスが高いか否かを判別する（ステップ１０４）。
【０１０２】
その結果、判別したパケットの廃棄優先クラスが高くない、すなわちパケットの優先クラスが通常または低い場合は（ステップ１０４否定）、ＡＲＰキャッシュ検索処理部７は、パケットを廃棄する（ステップ１０７）。さらに、ＡＲＰキャッシュ検索処理部７は、ＡＲＰ処理部５に対して、該当するエントリが無い旨（ミスヒット）の情報、すなわちＡＲＰリクエスト要求通知を送信する（ステップ１０６）。ＡＲＰ処理部５は、ＡＲＰキャッシュ検索処理部７からの情報を元にＡＲＰリクエストパケットを生成し、該ＡＲＰリクエストパケットをＬ２送信処理部２を介して送信する。
【０１０３】
その後、該当装置からＡＲＰリプライパケットが返信されてきた場合には、Ｌ２受信処理部１経由でＡＲＰ処理部５にＡＲＰリプライパケットが通知されるので、ＡＲＰ処理部５ではその結果をＡＲＰキャッシュ３に反映（エントリ追加）する。ＡＲＰキャッシュ３へのエントリ追加後は、エントリが消去されるまではＡＲＰキャッシュミスヒットは発生せずにパケットの転送が行なえる。
【０１０４】
一方、パケットの廃棄優先クラスが高いか否かを判別した結果、パケットの廃棄優先クラスが高い場合は（ステップ１０４肯定）、ＡＲＰキャッシュ検索処理部７は、ＡＲＰ処理待ちパケット用バッファ９にパケットを蓄積する（ステップ１０５）。さらに、ＡＲＰキャッシュ検索処理部７は、ＡＲＰ処理部５に対して該当するエントリが無い旨（ミスヒット）の情報、すなわちＡＲＰリクエスト要求通知を送信する（ステップ１０６）。ＡＲＰ処理部５は、ＡＲＰキャッシュ検索処理部７からの情報を元にＡＲＰリクエストパケットを生成し、該ＡＲＰリクエストパケットをＬ２送信処理部２を介して送信する。
【０１０５】
その後、該当装置からＡＲＰリプライパケットが返信されてきた場合には、Ｌ２受信処理部１経由でＡＲＰ処理部５にＡＲＰリプライパケットが通知され、ＡＲＰ処理部５ではその結果、すなわちレイヤ２アドレスをＡＲＰキャッシュ３にエントリ追加する。この場合もＡＲＰキャッシュ３へのエントリ追加後は、エントリが消去されるまではＡＲＰキャッシュミスヒットは発生せずにパケットの転送が行なえる。
【０１０６】
以上のように、本実施の形態によれば、ＡＲＰキャッシュ検索処理部７がＡＲＰ処理待ちパケット用バッファ９に蓄積するパケットは廃棄優先クラスが高いパケット、すなわち廃棄に厳しいクラスのパケットのみである。これにより、ＡＲＰ処理待ちパケット用バッファ９に蓄積するパケットの数を従来の方式に比べ低減させることができ、ＡＲＰ処理待ちパケット用バッファ９の容量オーバーに起因したパケットの廃棄を効果的に減少させることができるため、廃棄優先クラスが高いパケットの廃棄率を効果的に低くすることができる。
【０１０７】
実施の形態１０．
上述した実施の形態９においては、ＡＲＰ処理待ちパケット用バッファへ蓄積するパケットを高優先クラスのパケット、すなわち廃棄優先クラスの高いパケットのみとすることで、高優先クラスのパケットの廃棄率を下げる場合について説明した。実施の形態１０においては、実施の形態９の変形例であり、ＡＲＰ処理待ちパケット用バッファを全クラスで共有しながら、高優先クラスのパケットに対して優先的に割り当てるように制御する実施の形態について説明する。
【０１０８】
なお、本実施の形態にかかるパケット転送装置の構成は、ＡＲＰキャッシュ検索処理部７が実施の形態２と異なる機能を備えること以外は実施の形態２のパケット転送装置と同様であるため、図３を参照しながら説明する。図１８は、本実施の形態におけるＡＲＰキャッシュ検索処理部７での動作を示すフローチャートである。以下、図３および図１８を参照しながら、本実施の形態にかかるパケット転送装置の基本的な動作について説明する。なお、受信側の動作は実施の形態２と同様なので詳細な説明は省略し、送信側の動作について説明する。
【０１０９】
パケット種別判定部８は、パケット処理部６から送信パケットを受信すると、パケットのヘッダ情報（ＩＰアドレス、ＴｏＳ、Ｐｒｏｔｏｃｏｌ、トランスポート層のポート番号等）および、あらかじめ設定されたルール（ヘッダ情報が所定の条件である場合に高優先クラスに割り当てるという情報）から優先クラスを決定し、ＡＲＰキャッシュ検索処理部７にパケットとともに通知する。
【０１１０】
ＡＲＰキャッシュ検索処理部７は、パケット種別判定部８からパケットを受信すると、受信したパケットに含まれるＮｅｘｔ  Ｈｏｐ  ＩＰアドレス（次のレイヤ３処理を行なう装置のＩＰアドレス）を検索キーとしてＡＲＰキャッシュ３を検索し（ステップ１１１）、該当するエントリが有るか否かを判断する（ステップ１１２）。ＡＲＰキャッシュ３を検索した結果、該当するエントリが有る場合（ステップ１１２肯定、ヒットした場合）には、検索結果であるレイヤ２アドレスと送信パケットとをＬ２送信処理部２に通知、転送する（ステップ１１３）。そして、Ｌ２送信処理部２ではレイヤ２のヘッダ、トレーラを付加してレイヤ２アドレス宛に転送する。
【０１１１】
また、ＡＲＰキャッシュ３を検索した結果、該当するエントリが無い場合（ステップ１１２否定、ミスヒットした場合）には、ＡＲＰ処理待ちパケット用バッファ９におけるパケットの蓄積数によりその後の処理が変わる。ＡＲＰキャッシュ検索処理部７は、まず、ＡＲＰ処理待ちパケット用バッファ９におけるパケットの蓄積数が予め設定された閾値よりも少ないか否かを検査する（ステップ１１４）。その結果、現在のＡＲＰ処理待ちパケット用バッファ９におけるパケットの蓄積数が予め設定された閾値よりも少ない場合は（ステップ１１４肯定）、ＡＲＰキャッシュ検索処理部７はパケットをＡＲＰ処理待ちパケット用バッファ９に蓄積する（ステップ１１５）。
【０１１２】
さらに、ＡＲＰキャッシュ検索処理部７は、ＡＲＰ処理部５に対して、該当するエントリが無い旨（ミスヒット）の情報、すなわちＡＲＰリクエスト要求通知を送信する（ステップ１１６）。ＡＲＰ処理部５では、ＡＲＰキャッシュ検索処理部７からの情報を元にＡＲＰリクエストパケットを生成し、該ＡＲＰリクエストパケットをＬ２送信処理部２を介して送信する。
【０１１３】
その後、該当装置からＡＲＰリプライパケットが返信されてきた場合には、Ｌ２受信処理部１経由でＡＲＰ処理部５にＡＲＰリプライパケットが通知され、ＡＲＰ処理部５ではその結果、すなわちレイヤ２アドレスをＡＲＰキャッシュ３にエントリ追加する。この場合もＡＲＰキャッシュ３へのエントリ追加後は、エントリが消去されるまではＡＲＰキャッシュミスヒットは発生せずにパケットの転送が行なえる。
【０１１４】
一方、ＡＲＰ処理待ちパケット用バッファ９におけるパケットの蓄積数が予め設定された閾値と同数または多い場合は（ステップ１１４否定）、上述した実施の形態９のステップ１０４〜ステップ１０６と同じ判定・処理を行なう。したがって、この場合はパケットの優先度、すなわち優先クラスによりその後の処理が変わる。まず、ＡＲＰキャッシュ検索処理部７は、パケットとともにパケット種別判定部８から通知されたパケットの優先クラスの種別情報（廃棄優先クラスの種別情報）に基づいてパケットの廃棄優先クラスが高いか否かを判別する（ステップ１１７）。
【０１１５】
その結果、判別したパケットの廃棄優先クラスが高くない、すなわちパケットの優先クラスが通常または低い場合は（ステップ１１７否定）、ＡＲＰキャッシュ検索処理部７は、パケットを廃棄する（ステップ１１８）。さらに、ＡＲＰキャッシュ検索処理部７は、ＡＲＰ処理部５に対して、該当するエントリが無い旨（ミスヒット）の情報、すなわちＡＲＰリクエスト要求通知を送信する（ステップ１１６）。ＡＲＰ処理部５は、ＡＲＰキャッシュ検索処理部７からの情報を元にＡＲＰリクエストパケットを生成し、該ＡＲＰリクエストパケットをＬ２送信処理部２を介して送信する。
【０１１６】
その後、該当装置からＡＲＰリプライパケットが返信されてきた場合には、Ｌ２受信処理部１経由でＡＲＰ処理部５にＡＲＰリプライパケットが通知され、ＡＲＰ処理部５ではその結果、すなわちレイヤ２アドレスをＡＲＰキャッシュ３にエントリ追加する。この場合もＡＲＰキャッシュ３へのエントリ追加後は、エントリが消去されるまではＡＲＰキャッシュミスヒットは発生せずにパケットの転送が行なえる。
【０１１７】
一方、パケットの廃棄優先クラスが高いか否かを判別した結果、パケットの廃棄優先クラスが高い場合は（ステップ１１７肯定）、ＡＲＰキャッシュ検索処理部７は、ＡＲＰ処理待ちパケット用バッファ９にパケットを蓄積する（ステップ１１５）。さらに、ＡＲＰキャッシュ検索処理部７は、ＡＲＰ処理部５に対して、該当するエントリが無い旨（ミスヒット）の情報、すなわちＡＲＰリクエスト要求通知を送信する（ステップ１１６）。ＡＲＰ処理部５は、ＡＲＰキャッシュ検索処理部７からの情報を元にＡＲＰリクエストパケットを生成し、該ＡＲＰリクエストパケットをＬ２送信処理部２を介して送信する。
【０１１８】
その後、該当装置からＡＲＰリプライパケットが返信されてきた場合には、Ｌ２受信処理部１経由でＡＲＰ処理部５にＡＲＰリプライパケットが通知され、ＡＲＰ処理部５ではその結果、すなわちレイヤ２アドレスをＡＲＰキャッシュ３にエントリ追加する。ＡＲＰキャッシュ３へのエントリ追加後は、エントリが消去されるまではＡＲＰキャッシュミスヒットは発生せずにパケットの転送が行なえる。
【０１１９】
以上のように、本実施の形態によれば、パケットをＡＲＰ処理待ちパケット用バッファ９に蓄積する時に、該ＡＲＰ処理待ちパケット用バッファ９におけるパケットの蓄積数とパケットの廃棄優先クラスとから該ＡＲＰ処理待ちパケット用バッファ９へパケットを蓄積するか否かを判断する。すなわち、本実施の形態においては、ＡＲＰ処理待ちパケット用バッファ９にパケットが蓄積されるのは、ＡＲＰ処理待ちパケット用バッファ９におけるパケットの蓄積数が予め設定された閾値よりも少ない場合、またはＡＲＰ処理待ちパケット用バッファ９におけるパケットの蓄積数が予め設定された閾値と同数もしくは多い場合であってパケットの廃棄優先クラスが高い場合のみである。これにより、ＡＲＰ処理待ちパケット用バッファ９に蓄積するパケットの数を従来の方式に比べ大幅に低減させることができ、ＡＲＰ処理待ちパケット用バッファ９の容量オーバーに起因したパケットの廃棄を効果的に減少させることができるため、廃棄優先クラスが高いパケットの廃棄率を効果的に低くすることができる。
【０１２０】
実施の形態１１．
上述した実施の形態９では、ＡＲＰ処理待ちパケット用バッファへ蓄積するパケットを高優先クラスのパケット、すなわち廃棄優先クラスの高いパケットのみとすることで、高優先クラスのパケットの廃棄率を下げる場合について説明した。実施の形態１１においては、実施の形態９の他の変形例であり、ＡＲＰ処理待ちパケット用バッファを全クラスで共有しながら高優先クラスのパケットに対して優先的に割り当てるように制御する実施の形態について説明する。
【０１２１】
なお、本実施の形態にかかるパケット転送装置の構成は、ＡＲＰキャッシュ検索処理部７が実施の形態２と異なる機能を備えること以外は実施の形態２のパケット転送装置と同様であるため、図３を参照しながら説明する。図１９は、本実施の形態におけるＡＲＰキャッシュ検索処理部７での動作を示すフローチャートである。以下、図３および図１９を参照しながら、本実施の形態にかかるパケット転送装置の基本的な動作について説明する。なお、受信側の動作は実施の形態２と同様なので詳細な説明は省略し、送信側の動作について説明する。
【０１２２】
パケット種別判定部８は、パケット処理部６から送信パケットを受信すると、パケットのヘッダ情報（ＩＰアドレス、ＴｏＳ、Ｐｒｏｔｏｃｏｌ、トランスポート層のポート番号等）および、あらかじめ設定されたルール（ヘッダ情報が所定の条件である場合に高優先クラスに割り当てるという情報）から優先クラスを決定し、ＡＲＰキャッシュ検索処理部７にパケットとともに通知する。
【０１２３】
ＡＲＰキャッシュ検索処理部７は、パケット種別判定部８からパケットを受信すると、受信したパケットに含まれるＮｅｘｔ  Ｈｏｐ  ＩＰアドレス（次のレイヤ３処理を行なう装置のＩＰアドレス）を検索キーとしてＡＲＰキャッシュ３を検索し（ステップ１２１）、該当するエントリが有るか否かを判断する（ステップ１２２）。ＡＲＰキャッシュ３を検索した結果、該当するエントリが有る場合（ステップ１２２肯定、ヒットした場合）には、検索結果であるレイヤ２アドレスと送信パケットとをＬ２送信処理部２に通知、転送する（ステップ１２３）。そして、Ｌ２送信処理部２ではレイヤ２のヘッダ、トレーラを付加してレイヤ２アドレス宛に転送する。
【０１２４】
また、ＡＲＰキャッシュ３を検索した結果、該当するエントリが無い場合（ステップ１２２否定、ミスヒットした場合）には、ＡＲＰ処理待ちパケット用バッファ９における空き領域があるか否かによりその後の処理が変わる。ＡＲＰキャッシュ検索処理部７は、まず、ＡＲＰ処理待ちパケット用バッファ９において空き領域が有るか否かを検査する（ステップ１２４）。その結果、ＡＲＰ処理待ちパケット用バッファ９において空き領域がある場合は（ステップ１２４肯定）、ＡＲＰキャッシュ検索処理部７はパケットの優先クラスにかかわらずパケットをＡＲＰ処理待ちパケット用バッファ９に蓄積する（ステップ１２５）。
【０１２５】
さらに、ＡＲＰキャッシュ検索処理部７は、ＡＲＰ処理部５に対して、該当するエントリが無い旨（ミスヒット）の情報、すなわちＡＲＰリクエスト要求通知を送信する（ステップ１２６）。ＡＲＰ処理部５では、ＡＲＰキャッシュ検索処理部７からの情報を元にＡＲＰリクエストパケットを生成し、該ＡＲＰリクエストパケットをＬ２送信処理部２を介して送信する。
【０１２６】
その後、該当装置からＡＲＰリプライパケットが返信されてきた場合には、Ｌ２受信処理部１経由でＡＲＰ処理部５にＡＲＰリプライパケットが通知されるので、ＡＲＰ処理部５ではその結果をＡＲＰキャッシュ３に反映（エントリ追加）する。ＡＲＰキャッシュ３へのエントリ追加後は、エントリが消去されるまではＡＲＰキャッシュミスヒットは発生せずにパケットの転送が行なえる。
【０１２７】
一方、ＡＲＰ処理待ちパケット用バッファ９において空き領域が無い場合は（ステップ１２４否定）、パケットの優先度、すなわち優先クラスによりその後の処理が変わる。まず、ＡＲＰキャッシュ検索処理部７は、パケットとともにパケット種別判定部８から通知されたパケットの優先クラスの種別情報（廃棄優先クラスの種別情報）に基づいてパケットの廃棄優先クラスが高いか否かを判別する（ステップ１２７）。
【０１２８】
その結果、判別したパケットの廃棄優先クラスが高くない、すなわちパケットの優先クラスが通常または低い場合は（ステップ１２７否定）、ＡＲＰキャッシュ検索処理部７は、パケットを廃棄する（ステップ１３０）。さらに、ＡＲＰキャッシュ検索処理部７は、ＡＲＰ処理部５に対して、該当するエントリが無い旨（ミスヒット）の情報、すなわちＡＲＰリクエスト要求通知を送信する（ステップ１２６）。ＡＲＰ処理部５は、ＡＲＰキャッシュ検索処理部７からの情報を元にＡＲＰリクエストパケットを生成し、該ＡＲＰリクエストパケットをＬ２送信処理部２を介して送信する。
【０１２９】
その後、該当装置からＡＲＰリプライパケットが返信されてきた場合には、Ｌ２受信処理部１経由でＡＲＰ処理部５にＡＲＰリプライパケットが通知され、ＡＲＰ処理部５ではその結果、すなわちレイヤ２アドレスをＡＲＰキャッシュ３にエントリ追加する。ＡＲＰキャッシュ３へのエントリ追加後は、エントリが消去されるまではＡＲＰキャッシュミスヒットは発生せずにパケットの転送が行なえる。
【０１３０】
一方、パケットの廃棄優先クラスが高いか否かを判別した結果、パケットの廃棄優先クラスが高い場合は（ステップ１２７肯定）、ＡＲＰキャッシュ検索処理部７は、つぎにＡＲＰ処理待ちパケット用バッファ９に低優先クラスのパケットが有るか否かを検査する（ステップ１２８）。その結果、ＡＲＰ処理待ちパケット用バッファ９に低優先クラスのパケットが有る場合には（ステップ１２８肯定）、該低優先クラスのパケットのエントリ領域に新しいパケットを上書きする（ステップ１２９）。
【０１３１】
さらに、ＡＲＰキャッシュ検索処理部７は、ＡＲＰ処理部５に対して、該当するエントリが無い旨（ミスヒット）の情報、すなわちＡＲＰリクエスト要求通知を送信する（ステップ１２６）。ＡＲＰ処理部５は、ＡＲＰキャッシュ検索処理部７からの情報を元にＡＲＰリクエストパケットを生成し、該ＡＲＰリクエストパケットをＬ２送信処理部２を介して送信する。
【０１３２】
その後、該当装置からＡＲＰリプライパケットが返信されてきた場合には、Ｌ２受信処理部１経由でＡＲＰ処理部５にＡＲＰリプライパケットが通知され、ＡＲＰ処理部５ではその結果、すなわちレイヤ２アドレスをＡＲＰキャッシュ３にエントリ追加する。ＡＲＰキャッシュ３へのエントリ追加後は、エントリが消去されるまではＡＲＰキャッシュミスヒットは発生せずにパケットの転送が行なえる。
【０１３３】
また、ＡＲＰ処理待ちパケット用バッファ９に低優先クラスのパケットが有るか否かを検査した結果、ＡＲＰ処理待ちパケット用バッファ９に低優先クラスのパケットが無い場合（ステップ１２８否定）、パケットを廃棄する（ステップ１３０）。
【０１３４】
さらに、ＡＲＰキャッシュ検索処理部７は、ＡＲＰ処理部５に対して、該当するエントリが無い旨（ミスヒット）の情報、すなわちＡＲＰリクエスト要求通知を送信する（ステップ１２６）。ＡＲＰ処理部５は、ＡＲＰキャッシュ検索処理部７からの情報を元にＡＲＰリクエストパケットを生成し、該ＡＲＰリクエストパケットをＬ２送信処理部２を介して送信する。
【０１３５】
その後、該当装置からＡＲＰリプライパケットが返信されてきた場合には、Ｌ２受信処理部１経由でＡＲＰ処理部５にＡＲＰリプライパケットが通知され、ＡＲＰ処理部５ではその結果、すなわちレイヤ２アドレスをＡＲＰキャッシュ３にエントリ追加する。ＡＲＰキャッシュ３へのエントリ追加後は、エントリが消去されるまではＡＲＰキャッシュミスヒットは発生せずにパケットの転送が行なえる。
【０１３６】
以上のように、本実施の形態によれば、パケットをＡＲＰ処理待ちパケット用バッファ９に蓄積する時に、該ＡＲＰ処理待ちパケット用バッファ９における空き領域の有無とパケットの廃棄優先クラスとから該ＡＲＰ処理待ちパケット用バッファ９へパケットを蓄積するか否かを判断する。すなわち、本実施の形態においては、ＡＲＰ処理待ちパケット用バッファ９にパケットが蓄積されるのは、ＡＲＰ処理待ちパケット用バッファ９に空き領域がある場合の他に、空き領域がなくてもパケットの廃棄優先クラスが高い場合であって、低優先度のパケットがＡＲＰ処理待ちパケット用バッファ９に有る場合である。したがって、ＡＲＰ処理待ちパケット用バッファ９に高優先クラスのパケットを蓄積する時に、ＡＲＰ処理待ちパケット用バッファ９に空き領域が無くても、低優先クラスがＡＲＰ処理待ちパケット用バッファ９内にある場合は、上書きを行なうことで、高優先クラスのパケットを蓄積することができ、高優先クラスのパケットの廃棄の確率を効果的に減らすことができる。
【産業上の利用可能性】
【０１３７】
以上のように、本発明にかかるパケット転送装置は、ＩＰパケットの転送に有用であり、特に廃棄に厳しいクラスのＩＰパケットの転送に適している。
【図面の簡単な説明】
【０１３８】
【図１】実施の形態１にかかるパケット転送装置が有する機能ブロックを示す概略構成図である。
【図２】ＡＲＰキャッシュ検索処理部の動作を示すフローチャートである。
【図３】本実施の形態２にかかるパケット転送装置が有する機能ブロックを示す概略構成図である。
【図４】ＡＲＰキャッシュ検索処理部の動作を示すフローチャートである。
【図５】実施の形態３にかかるパケット転送装置が有する機能ブロックを示す概略構成図である。
【図６】ＡＲＰキャッシュ検索処理部の動作を示すフローチャートである。
【図７】実施の形態４においてＡＲＰキャッシュミスヒット時に転送するパケット（フレーム）のフォーマットを示した図である。
【図８】実施の形態４におけるＡＲＰキャッシュ検索処理部の動作を示すフローチャートである。
【図９】実施の形態４におけるＬ２受信処理部の動作を示すフローチャートである。
【図１０】実施の形態５においてＡＲＰキャッシュミスヒット時に転送するパケット（フレーム）のフォーマットを示した図である。
【図１１】ＡＲＰキャッシュ検索処理の本実施の形態の場合の動作を示すフローチャートである。
【図１２】実施の形態５におけるＬ２受信処理部の動作を示すフローチャートである。
【図１３】実施の形態６でのＡＲＰキャッシュのレイヤ２アドレスエントリのフォーマットを示す図である。
【図１４】ＡＲＰキャッシュのエントリ削除時の本実施の形態での動作を示すフローチャートである。
【図１５】実施の形態７におけるＡＲＰキャッシュでのエントリ削除時の動作を示すフローチャートである。
【図１６】実施の形態８におけるＡＲＰキャッシュでのレイヤ２アドレスのエントリ追加時の動作を示すフローチャートである。
【図１７】実施の形態９におけるＡＲＰキャッシュ検索処理部での動作を示すフローチャートである。
【図１８】実施の形態１０におけるＡＲＰキャッシュ検索処理部での動作を示すフローチャートである。
【図１９】実施の形態１１におけるＡＲＰキャッシュ検索処理部での動作を示すフローチャートである。
【符号の説明】
【０１３９】
１  Ｌ２受信処理部
２  Ｌ２送信処理部
３  ＡＲＰキャッシュ
４  ＡＲＰキャッシュ検索処理部
５  ＡＲＰ処理部
６  パケット処理部
７  ＡＲＰキャッシュ検索処理部
８  パケット種別判定部
９  ＡＲＰ処理待ちパケット用バッファ
１０  パケット転送装置
１１  ＡＲＰ処理部
１２  ＡＲＰ失敗Ｎｅｘｔ  Ｈｏｐ  ＩＰアドレスリスト
【図１】
2005260710.tif 000003
【図２】
2005260710.tif 000004
【図３】
2005260710.tif 000005
【図４】
2005260710.tif 000006
【図５】
2005260710.tif 000007
【図６】
2005260710.tif 000008
【図７】
2005260710.tif 000009
【図８】
2005260710.tif 000010
【図９】
2005260710.tif 000011
【図１０】
2005260710.tif 000012
【図１１】
2005260710.tif 000013
【図１２】
2005260710.tif 000014
【図１３】
2005260710.tif 000015
【図１４】
2005260710.tif 000016
【図１５】
2005260710.tif 000017
【図１６】
2005260710.tif 000018
【図１７】
2005260710.tif 000019
【図１８】
2005260710.tif 000020
【図１９】
2005260710.tif 000021