(57)【要約】【課題】消費電力を抑制することである。【解決手段】経路検索装置１０は、複数のＩＦカード１１、１４とスイッチファブリックカード１２とを有する。複数のＩＦカード１１、１４は、外部からのパケットＰ１を送受信する複数のポートを有する。スイッチファブリックカード１２は、一の上記ポートから受信されたパケットＰ１を、行き先アドレスに応じた他の上記ポートへ転送する。ＩＦカード１１は、ＴＣＡＭ１１ｂとキャッシュメモリ１１ｃとＮＰＵ１１ａとを有する。ＴＣＡＭ１１ｂは、パケットＰ１の経路検索に用いる複数の経路検索情報を記憶する。キャッシュメモリ１１ｃは、ＴＣＡＭ１１ｂよりも少ない数の上記経路検索情報を記憶する。ＮＰＵ１１ａは、外部から受信したパケットＰ１のパケット長を抽出し、抽出した上記パケット長が所定値よりも小さい場合には、キャッシュメモリ１１ｃを使用して経路検索を行う。【選択図】図１
2015139047.tif 000002
【特許請求の範囲】
【請求項１】
外部からのパケットを送受信する複数のポートを有する複数のインタフェース部と、
一の前記ポートから受信されたパケットを、行き先アドレスに応じた他の前記ポートへ転送するスイッチ部とを有し、
前記インタフェース部は、
前記パケットの経路検索に用いる複数の経路検索情報が記憶された第１のメモリと、
前記第１のメモリよりも少ない数の前記経路検索情報が記憶された第２のメモリと、
外部から受信した前記パケットのパケット長を抽出し、抽出した前記パケット長が所定値よりも小さい場合には、前記第２のメモリを使用して経路検索を行う検索部と
を有することを特徴とする経路検索装置。
【請求項２】
前記インタフェース部の検索部は、前記パケット長が所定値以上である場合、前記パケットの経路検索に前記第２のメモリを用いることの設定があるか否かを更に判定し、前記設定がある場合、前記第２のメモリを用いて、前記パケットの経路を検索することを特徴とする請求項１に記載の経路検索装置。
【請求項３】
前記インタフェース部の検索部は、前記パケット長が所定値以上である場合、前記パケットの宛先が複数存在するか否かを更に判定し、前記宛先が複数存在する場合、前記第２のメモリを用いて、前記パケットの経路を検索することを特徴とする請求項１に記載の経路検索装置。
【請求項４】
前記インタフェース部の検索部は、前記パケット長が所定値以上である場合、前記パケットが、該パケットの直前のパケットと同一のパケット長を有するか否かを更に判定し、前記パケットが前記パケット長を有する場合、前記第２のメモリを用いて、前記パケットの経路を検索することを特徴とする請求項１に記載の経路検索装置。
【請求項５】
前記インタフェース部の検索部は、前記パケットのパケット長が所定値未満であり、かつ、前記パケットの経路検索情報が前記第２のメモリに記憶されていない場合、前記第２のメモリに前記経路検索情報を記憶させることを特徴とする請求項１に記載の経路検索装置。
【請求項６】
外部からのパケットを送受信する複数のポートを有するインタフェースカードにおいて、
前記パケットの経路検索に用いる複数の経路検索情報が記憶された第１のメモリと、
前記第１のメモリよりも少ない数の前記経路検索情報が記憶された第２のメモリと、
外部から受信した前記パケットのパケット長を抽出し、抽出した前記パケット長が所定値よりも小さい場合には、前記第２のメモリを使用して経路検索を行う検索部と
を有することを特徴とするインタフェースカード。
【請求項７】
複数の回線に接続され、一の回線からパケットを受信し、前記パケットの行き先に応じた他の回線へ前記パケットを転送する経路検索方法において、
前記パケットの経路検索に用いる複数の経路検索情報を第１のメモリに記憶させ、
前記第１のメモリよりも少ない数の前記経路検索情報を第２のメモリに記憶させ、
外部から受信した前記パケットのパケット長を抽出し、抽出した前記パケット長が所定値よりも小さい場合には、前記第２のメモリを使用して経路検索を行うことを特徴とする経路検索方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、経路検索装置、インタフェースカード、及び経路検索方法に関する。
【背景技術】
【０００２】
従来、受信されたパケットの転送経路を検索する装置として、レイヤ２スイッチ等の経路検索装置が利用されている。経路検索装置は、近年のパケット通信の高速化に対応するため、多数の候補の中から最適な経路を短時間で検索可能なメモリを搭載することが有効である。この様なメモリの１つとして、例えば、０、１、マスク値の３値を有するＴＣＡＭ（Ternary  Content  Addressable  Memory）がある。ＴＣＡＭは、例えば、大容量のＭＡＣ（Media  Access  Control）アドレステーブルに格納された多数の経路情報の中から、受信されたパケットのヘッダ情報を基に、該パケットに適した経路情報を特定する。経路検索装置は、ＴＣＡＭを使用することで、他の装置から受信されたパケットを、検索された経路を経由して、所望の転送先装置へ瞬時に転送することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−１７４３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、ＴＣＡＭは、通常のメモリと異なり、１検索（アクセス）毎に全領域に通放電する構造であることから、経路検索装置を構成するデバイスの中でも、特に消費電力が高い。また、経路検索装置は、パケットの種別等に応じた様々なトラフィックを同時に扱うため、平均的なトラフィックとワーストケースとでは、消費電力が大きく異なる。特に、ＴＣＡＭは、他のデバイスと比較して、トラフィック変動の影響を受け易いデバイスである。このため、トラフィックパターンによっては、装置内デバイスの内、ＴＣＡＭの負荷だけが上昇し、消費電力が突出して増大することがある。消費電力の増大は、温度上昇を伴うことから、ワーストケースにおいては、装置全体の温度性能にとって重要な問題となる。従って、ＴＣＡＭを始めとする検索用メモリ単体での消費電力の抑制が望まれる。
【０００５】
開示の技術は、上記に鑑みてなされたものであって、消費電力を抑制することができる経路検索装置、インタフェースカード、及び経路検索方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本願の開示する経路検索装置は、一つの態様において、複数のインタフェース部とスイッチ部とを有する。前記複数のインタフェース部は、外部からのパケットを送受信する複数のポートを有する。前記スイッチ部は、一の前記ポートから受信されたパケットを、行き先アドレスに応じた他の前記ポートへ転送する。前記インタフェース部は、第１のメモリと第２のメモリと検索部とを有する。前記第１のメモリは、前記パケットの経路検索に用いる複数の経路検索情報を記憶する。前記第２のメモリは、前記第１のメモリよりも少ない数の前記経路検索情報を記憶する。前記検索部は、外部から受信した前記パケットのパケット長を抽出し、抽出した前記パケット長が所定値よりも小さい場合には、前記第２のメモリを使用して経路検索を行う。
【発明の効果】
【０００７】
本願の開示する経路検索装置の一つの態様によれば、消費電力を抑制することができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、経路検索装置の構成を示すブロック図である。
【図２】図２は、経路検索の対象となるパケットの構成例を示す図である。
【図３】図３は、ＴＣＡＭのＭＡＣアドレステーブルから、パケットの経路情報が特定される様子を示す図である。
【図４】図４は、ＴＣＡＭのＶＬＡＮテーブルから、パケットの経路情報が特定される様子を示す図である。
【図５】図５は、キャッシュメモリから、パケットの経路情報が特定される様子を示す図である。
【図６】図６は、ＮＰＵにより実行される、キャッシュメモリの利用判定及び格納判定の各処理を説明するための図である。
【図７】図７は、本実施例において経路情報を取得する際、キャッシュメモリを利用するか否かを判定する処理を説明するためのフローチャートである。
【図８】図８は、キャッシュ化要否情報が付与されたパケットの構成例を示す図である。
【図９】図９は、キャッシュメモリへ経路情報を格納するか否かを判定する処理を説明するためのフローチャートである。
【図１０】図１０は、変形例１におけるパケットの構成例を示す図である。
【図１１】図１１は、変形例１において経路情報を取得する際、キャッシュメモリを利用するか否かを判定する処理を説明するためのフローチャートである。
【図１２】図１２は、変形例２におけるパケットの構成例を示す図である。
【図１３】図１３は、変形例２において経路情報を取得する際、キャッシュメモリを利用するか否かを判定する処理を説明するためのフローチャートである。
【図１４】図１４は、変形例３におけるパケットの構成例を示す図である。
【図１５】図１５は、変形例３において経路情報を取得する際、キャッシュメモリを利用するか否かを判定する処理を説明するためのフローチャートである。
【発明を実施するための形態】
【０００９】
以下に、本願の開示する経路検索装置、インタフェースカード、及び経路検索方法の実施例を、図面を参照しながら詳細に説明する。なお、以下の実施例により本願の開示する経路検索装置、インタフェースカード、及び経路検索方法が限定されるものではない。
【００１０】
まず、本願の開示する一実施例に係る経路検索装置の構成を説明する。図１は、経路検索装置１０の構成を示すブロック図である。経路検索装置１０は、例えば、レイヤ２スイッチである。図１に示す様に、経路検索装置１０は、入力方向のＩＦ（InterFace）カード１１とスイッチファブリックカード１２と制御カード１３と出力方向のＩＦカード１４とを有する。これら各構成部分は、一方向又は双方向に、信号やデータの入出力が可能な様に接続されている。なお、図１において、実線の矢印は主信号を示し、破線の矢印はバックボードを流れる信号を示す。
【００１１】
ＩＦカード１１は、例えば、複数のポートを有するイーサネット（登録商標）インタフェースカードである。ＩＦカード１１は、ＮＰＵ（Network  Processing  Unit）１１ａと、ＴＣＡＭ１１ｂと、キャッシュメモリ１１ｃと、ＴＭ（Traffic  Manager）１１ｄと、ＣＰＵ−ＩＦ（Central  Processing  Unit−InterFace）１１ｅとを有する。これら各構成部分は、一方向又は双方向に、信号やデータの入出力が可能な様に接続されている。
【００１２】
ＮＰＵ１１ａは、主信号処理回路である。例えば、ＮＰＵ１１ａは、入力されたパケットＰ１のパケット長が所定値以上であるか否かを判定する。ＮＰＵ１１ａは、該判定の結果、パケット長が所定値以上である場合、ＴＣＡＭ１１ｂを用いて、パケットＰ１の経路を検索すると共に、パケット長が所定値未満である場合、キャッシュメモリ１１ｃを用いて、パケットＰ１の経路を検索する。ＮＰＵ１１ａは、パケットＰ１のパケット長が所定値未満であり、かつ、パケットＰ１の経路情報がキャッシュメモリ１１ｃに格納されていない場合、キャッシュメモリ１１ｃに上記経路情報を格納させる。
【００１３】
ＮＰＵ１１ａは、受信部１１ａ−１と抽出部１１ａ−２と判定部１１ａ−３とを有する。受信部１１ａ−１は、パケットＰ１を受信する。抽出部１１ａ−２は、受信部１１ａ−１により受信されたパケットＰ１のパケット長を抽出する。判定部１１ａ−３は、抽出部１１ａ−２により抽出されたパケット長が所定値以上であるか否かを判定する。該判定の結果、上記パケット長が所定値以上である場合、判定部１１ａ−３は、ＴＣＡＭ１１ｂを用いて、パケットＰ１の経路を検索すると共に、上記パケット長が所定値未満である場合、判定部１１ａ−３は、キャッシュメモリ１１ｃを用いて、パケットＰ１の経路を検索する。
【００１４】
ＴＣＡＭ１１ｂは、キャッシュメモリ１１ｃと比較して、パケットの経路を高速に検索可能な半導体チップである。また、ＴＣＡＭ１１ｂは、経路数の多い大規模なネットワーク（例えば、インターネット）に対応するため、キャッシュメモリ１１ｃと比較して、大容量のメモリであり、例えば、１〜１０万のエントリが可能である。一方、パケット通信の高速化に伴い、ＩＦカード１１の消費電力は増加傾向にある。ＩＦカード１１を構成するデバイスの中でも、ＴＣＡＭ１１ｂは、１アクセス（検索）毎に、メモリの全領域に通放電する構造であるため、他のデバイス（例えば、キャッシュメモリ）と比較して、消費電力が高い。
【００１５】
ＴＣＡＭ１１ｂは、ＭＡＣアドレステーブルを有する。ＭＡＣアドレステーブルは、例えば、ＭＡＣＤＡ（Media  Access  Control  Destination  Address）、ＭＡＣＳＡ（Media  Access  Control  Source  Address）の各情報を、格納する。ＭＡＣアドレステーブルは、これらの情報に併せて、経路情報を特定するためのアドレス（項）を、経路検索元情報として格納する。上記各情報と上記アドレスとは、対応付けて格納されるため、ＴＣＡＭ１１ｂは、パケットのヘッダ情報（例えば、ＭＡＣＤＡ、ＭＡＣＳＡ）を基に、上記アドレスを介して、上記パケットの経路情報（例えば、宛先カード、宛先ポート）を特定することができる。
【００１６】
また、ＴＣＡＭ１１ｂは、ＶＬＡＮ（Virtual  Local  Area  Network）テーブルを有する。ＶＬＡＮテーブルは、例えば、ＶＬＡＮＩＤ（VLAN  IDentification）と、経路情報を特定するためのアドレス（項）とを対応付けて、経路検索元情報として格納する。ＴＣＡＭ１１ｂは、パケットのヘッダ情報（例えば、ＶＬＡＮＩＤ）を基に、上記アドレスを介して、上記パケットの経路情報（例えば、宛先ポート、テーブル情報優先度）を特定することができる。
【００１７】
キャッシュメモリ１１ｃは、経路情報として、宛先カードと宛先ポートとテーブル情報優先度とを、アドレスと対応付けて格納する。キャッシュメモリ１１ｃは、ＴＣＡＭ１１ｂと比較して、データ格納容量が小さく、例えば、１０００程度のエントリが可能である。
【００１８】
ＴＭ１１ｄは、アプリケーションプログラムのＱｏＳ（Quality  of  Service）要件を満たすため、高速キューの提供、キュー項目数の最適化、スケジューリング等を行う。
【００１９】
ＣＰＵ−ＩＦ１１ｅは、ＮＰＵ１１ａやＴＭ１１ｄ等のデバイスと制御カード１３（例えば、ＣＰＵボード）とを接続するインタフェースである。
【００２０】
スイッチファブリックカード１２は、ＩＦカード１１上のポートから、ＩＦカード１４上の別のポートへ、パケットＰ１をリダイレクトするインタコネクトカードである。
【００２１】
制御カード１３は、例えばＣＰＵボードであり、ＯＳ（Operating  System）により、経路検索装置１０内の各カードを統括的に制御する。
【００２２】
ＩＦカード１４は、パケットの入出力方向が異なる点を除き、ＩＦカード１１と同様の構成を有する。従って、ＩＦカード１１と共通する構成要素には、末尾が同一の参照符号を用いると共に、その説明は省略する。具体的には、ＮＰＵ１４ａとＴＣＡＭ１４ｂとキャッシュメモリ１４ｃとＴＭ１４ｄとＣＰＵ−ＩＦ１４ｅとは、ＮＰＵ１１ａとＴＣＡＭ１１ｂとキャッシュメモリ１１ｃとＴＭ１１ｄとＣＰＵ−ＩＦ１１ｅとにそれぞれ対応する。
【００２３】
続いて、図２を参照し、経路検索装置１０による経路検索の対象となるパケットの構成について説明する。図２は、経路検索の対象となるパケットＰの構成例を示す図である。図２に示す様に、パケットＰは、装置内ヘッダＰ１１とイーサネット（登録商標）ヘッダＰ１２とＶＬＡＮタグ情報Ｐ１３とペイロードＰ１４とＦＣＳ（Frame  Check  Sequence）Ｐ１５とを有する。
【００２４】
装置内ヘッダＰ１１は、更に、宛先カード情報Ｐ１１ａと宛先ポート情報Ｐ１１ｂと装置内ＩＤ情報Ｐ１１ｃとカラー情報Ｐ１１ｄとマルチキャスト情報またはユニキャスト情報Ｐ１１ｅと経路検索関連情報Ｐ１１ｆとを有する。宛先カード情報Ｐ１１ａは、パケットＰの宛先となるカードの識別情報（例えば、“２０”）であり、宛先ポート情報Ｐ１１ｂと共に、パケットＰの経路情報として経路検索に使用される。宛先ポート情報Ｐ１１ｂは、パケットＰの宛先となるポートの識別情報（例えば、“１０”、“ｍ”）であり、宛先カード情報Ｐ１１ａと共に、パケットＰの経路情報として経路検索に使用される。装置内ＩＤ情報Ｐ１１ｃは、例えば、装置内ヘッダＰ１１を付与するベンダの識別情報である。
【００２５】
カラー情報Ｐ１１ｄは、サービス種別に応じてパケットＰに適用されるアクション（例えば、廃棄、転送）を示す情報である。例えば、あるサービスにおいて、パケットＰのカラー情報Ｐ１１ｄにレッドがマーキングされている場合には、パケットＰは、廃棄の対象となる。また、イエローがマーキングされている場合には、パケットＰは、ベストエフォート方式により転送され、グリーンがマーキングされている場合には、パケットＰは、低いドロップ確率で転送される。
【００２６】
マルチキャスト情報またはユニキャスト情報Ｐ１１ｅは、パケットＰの宛先が複数（マルチキャストまたはブロードキャスト）であるか、単数（ユニキャスト）であるかを識別する情報である。
【００２７】
経路検索関連情報Ｐ１１ｆは、例えば、ＴＭ１１ｄの使用するキューのＩＤや、フォワーディング情報、パディング情報、あるいは、ミラーリング情報である。
【００２８】
イーサネット（登録商標）ヘッダＰ１２は、例えば、経路検索元情報として、パケットＰの経路情報の特定に使用されるＭＡＣＤＡ、ＭＡＣＳＡである。ＮＰＵ１１ａは、イーサネット（登録商標）ヘッダＰ１２を参照し、ＴＣＡＭ１１ｂから、パケットＰの経路情報（例えば、宛先カード、宛先ポート）を取得する。また、ＮＰＵ１１ａは、イーサネット（登録商標）ヘッダＰ１２を参照し、キャッシュメモリ１１ｃから、パケットＰの経路情報（例えば、宛先カード、宛先ポート、テーブル情報優先度）を取得する。
【００２９】
ＶＬＡＮタグ情報Ｐ１３は、例えば、経路検索元情報として、パケットＰの経路情報の特定に使用されるＶＬＡＮＩＤである。ＮＰＵ１１ａは、ＶＬＡＮタグ情報Ｐ１３を参照し、ＴＣＡＭ１１ｂから、パケットＰの経路情報（例えば、宛先ポート、テーブル情報優先度）を取得する。また、ＮＰＵ１１ａは、ＶＬＡＮタグ情報Ｐ１３を参照し、キャッシュメモリ１１ｃから、パケットＰの経路情報（例えば、宛先カード、宛先ポート、テーブル情報優先度）を取得する。
【００３０】
ペイロードＰ１４は、パケットＰを構成するデータの内、装置内ヘッダＰ１１とイーサネット（登録商標）ヘッダＰ１２とＶＬＡＮタグ情報Ｐ１３とＦＣＳＰ１５とを除いたデータ本体である。
【００３１】
ＦＣＳＰ１５は、パケットＰに誤りが無いかを検査するために付加されるエラー検出用データである。
【００３２】
次に、動作を説明する。
【００３３】
まず、ＩＦカード１１のＴＣＡＭ１１ｂによる経路検索について説明する。図３は、ＴＣＡＭ１１ｂのＭＡＣアドレステーブル１１ｂ−１から、パケットの経路情報が特定される様子を示す図である。図３に示す様に、ＴＣＡＭ１１ｂのＭＡＣアドレステーブル１１ｂ−１には、ＭＡＣＤＡとＭＡＣＳＡとが対応付けられ、経路検索元情報として格納されている。特に、ＴＣＡＭ１１ｂは、マスク機能を有するため、１つのＭＡＣアドレステーブルから、ＭＡＣＤＡのみの検索、ＭＡＣＳＡのみの検索に加え、双方一致検索等の組合せ検索が可能である。図３は、ＭＡＣＳＡをマスクし、ＭＡＣＤＡのみを検索した例を示す。
【００３４】
図３に示す様に、経路検索対象のパケットＰは、ヘッダ部分Ｐ１２１に“ＣＣ−ＥＥ−ＦＦ”のＭＡＣＤＡを有する。このため、ＴＣＡＭ１１ｂのＭＡＣアドレステーブル１１ｂ−１において“ＣＣ−ＥＥ−ＦＦ”に対応するアドレス“３”が、ＴＣＡＭ１１ｂから出力される。ＩＦカード１１のＮＰＵ１１ａは、上記アドレス“３”を基に、連想メモリ１１ｆから、パケットＰの経路情報を特定する。例えば、図３では、連想メモリ１１ｆにおいてアドレス“３”に対応する宛先カード“２０”及び宛先ポート“１０”が、経路情報として特定される。なお、連想メモリ１１ｆは、例えば、ＤＲＡＭ（Dynamic  Random  Access  Memory）、ＳＲＡＭ（Static  Random  Access  Memory）等のＲＡＭである。
【００３５】
同様に、図４は、ＴＣＡＭ１１ｂのＶＬＡＮテーブル１１ｂ−２から、パケットの経路情報が特定される様子を示す図である。図４に示す様に、ＴＣＡＭ１１ｂのＶＬＡＮテーブル１１ｂ−２には、ＶＬＡＮＩＤが、経路検索元情報として格納されている。経路検索対象のパケットＰは、ＶＬＡＮタグ情報Ｐ１３に“６７５”のＶＬＡＮＩＤを有する。このため、ＴＣＡＭ１１ｂのＶＬＡＮテーブル１１ｂ−２において“６７５”に対応するアドレス“３”が、ＴＣＡＭ１１ｂから出力される。ＩＦカード１１のＮＰＵ１１ａは、上記アドレス“３”を基に、連想メモリ１１ｆから、パケットＰの経路情報を特定する。例えば、図４では、連想メモリ１１ｆにおいてアドレス“３”に対応する宛先ポート“ｍ”及びテーブル情報優先度“ＶＬＡＮ”が、経路情報として特定される。
【００３６】
上述した様に、パケットＰの宛先カードは、宛先カード２０に決定される。また、宛先ポートについては、テーブル情報優先度が“ＶＬＡＮ”であるので、ＶＬＡＮテーブル１１ｂ−２により特定された宛先ポートｍが、ＭＡＣアドレステーブル１１ｂ−１により特定された宛先ポート１０に優先する。その結果、パケットＰの宛先ポートは、宛先ポートｍに決定される。すなわち、ＩＦカード１１のＮＰＵ１１ａは、上記各経路情報に基づき、パケットＰの経路を、宛先カード２０の宛先ポートｍに決定する。
【００３７】
なお、ＭＡＣアドレスとＶＬＡＮＩＤとの組合せは、これら各情報の種類の乗算（マトリクス）によって定まることから、組合せの数は膨大となる。そこで、ＩＦカード１１のＴＣＡＭ１１ｂは、ＭＡＣアドレステーブル１１ｂ−１とＶＬＡＮテーブル１１ｂ−２とを独立に保有し、各テーブル内の情報を個別に検索する。これにより、ＭＡＣアドレスとＶＬＡＮＩＤとの組合せは、これら各情報の種類の加算によって定まる。従って、経路検索装置１０は、フォワーディング処理の過程で多数のアクセスが想定されるＴＣＡＭ１１ｂの所要リソースを、大幅に抑制することができる。
【００３８】
次に、所定値よりも短いパケット長のパケットが受信された場合に実行される経路検索、すなわち、ＩＦカード１１のキャッシュメモリ１１ｃによる経路検索について説明する。図５は、キャッシュメモリ１１ｃから、パケットＰの経路情報が特定される様子を示す図である。図５に示す様に、キャッシュメモリ１１ｃは、経路検索元情報１１ｃ−１として、ＶＬＡＮＩＤとＭＡＣＤＡとＭＡＣＳＡとアドレスとを対応付けて格納する。また、キャッシュメモリ１１ｃは、経路情報１１ｃ−２として、アドレスと宛先カードとＭＡＣアドレステーブル１１ｂ−１（図３参照）内の宛先ポートとＶＬＡＮテーブル１１ｂ−２（図４参照）内の宛先ポートとテーブル情報優先度とを対応付けて格納する。
【００３９】
上述した様に、ＭＡＣアドレスとＶＬＡＮＩＤとを組み合わせた経路情報は、膨大な量になるため、ＴＣＡＭ１１ｂでは、使用リソースを抑えた形態で格納されている。これに対し、キャッシュメモリ１１ｃは、ＴＣＡＭ１１ｂ（図３、図４参照）と異なり、連想メモリ１１ｆに格納される全ての経路情報の内、キャッシュメモリ１１ｃを利用する一部の経路情報を格納すればよい。このため、キャッシュメモリ１１ｃは、図５に示す様に、経路情報に含まれる全ての情報（宛先カード、宛先ポート、テーブル情報優先度）を、１エントリ分の情報として格納することができる。換言すれば、キャッシュメモリ１１ｃは、テーブルを分けることなく、最初からセットでの経路情報の格納が可能である。従って、ＩＦカード１１のＮＰＵ１１ａは、パケットＰと経路検索元情報とから特定された１つのアドレス（例えば、“３”）を基に、パケットＰに対応する経路情報の全て（例えば、“２０”、“１０”、“ｍ”、“ＶＬＡＮ”）を取得することができる。
【００４０】
続いて、図６を参照し、キャッシュメモリ１１ｃの利用判定及び格納判定について説明する。図６は、ＮＰＵ１１ａにより実行される、キャッシュメモリ１１ｃの利用判定及び格納判定の各処理を説明するための図である。なお、図６において、実線の矢印は主信号処理を示し、破線の矢印はメモリアクセス処理を示す。
【００４１】
図６に示す様に、Ｓ１では、ＩＦカード１１のＮＰＵ１１ａは、入力されたパケットＰ２の経路検索に先立ち、キャッシュメモリ１１ｃを利用するか否かの判定を行う。該判定は、例えば、パケットＰ２のパケット長が所定値以上であるか否かに基づいて行われる。パケット長が所定値以上である場合には、ＴＣＡＭ１１ｂの利用が決定され（Ｓ１；Ｎｏ）、Ｓ２の処理に移行する一方、所定値未満である場合には、キャッシュメモリ１１ｃの利用が決定される（Ｓ１；Ｙｅｓ）。キャッシュメモリ１１ｃの利用が決定された場合には、ＴＣＡＭ１１ｂによる経路検索は行われない。
【００４２】
なお、上記所定値は、例えば５０〜３００バイト程度（例えば１００バイト）であるが、パケットのトラフィック量やキャッシュメモリ１１ｃの容量に応じて、適宜変更可能である。また、上記所定値は、ユーザ等が設定した値であってもよいし、経路検索装置１０が予め記憶する値であってもよい。
【００４３】
Ｓ２では、ＮＰＵ１１ａは、パケットＰ２から経路検索の条件（例えば、ＭＡＣＤＡ、ＭＡＣＳＡ）を抽出する。次に、ＴＣＡＭ１１ｂは、ＭＡＣアドレステーブル１１ｂ−１から、Ｓ２で抽出された経路検索条件に該当するエントリを検索する（Ｓ３）。該検索の結果、図３に示した様に、例えば、ＭＡＣＤＡ“ＣＣ−ＥＥ−ＦＦ”に対応するアドレス“３”が取得される。Ｓ４では、ＮＰＵ１１ａは、Ｓ３で取得されたアドレスに対応するエントリのデータ（例えば、宛先カード“２０”、宛先ポート“１０”）を、連想メモリ１１ｆから読み出す。読み出されたデータは、ＮＰＵ１１ａにおいて、経路検索結果の解析に用いられる（Ｓ５）。
【００４４】
上記Ｓ２〜Ｓ５の一連の処理は、ＶＬＡＮＩＤについても同様に実行される。すなわち、Ｓ６では、ＮＰＵ１１ａは、パケットＰ２から経路検索の条件（例えば、ＶＬＡＮＩＤ）を抽出する。次に、ＴＣＡＭ１１ｂは、ＶＬＡＮテーブル１１ｂ−２から、Ｓ６で抽出された経路検索条件に該当するエントリを検索する（Ｓ７）。該検索の結果、図４に示した様に、例えば、ＶＬＡＮＩＤ“６７５”に対応するアドレス“３”が取得される。Ｓ８では、ＮＰＵ１１ａは、Ｓ７で取得されたアドレスに対応するエントリのデータ（例えば、宛先ポート“ｍ”、テーブル情報優先度“ＶＬＡＮ”）を、連想メモリ１１ｆから読み出す。読み出されたデータは、ＮＰＵ１１ａにおいて、経路検索結果の解析に用いられる（Ｓ９）。
【００４５】
Ｓ１０では、ＮＰＵ１１ａは、パケットＰ２と同一宛先のパケットが再び受信された場合の準備処理として、パケットＰ２の経路情報をキャッシュメモリ１１ｃに格納（キャッシュ化）するか否かの判定を行う。該判定は、上記経路情報が既にキャッシュメモリ１１ｃにエントリされているか否かに基づいて行われる。上記Ｓ１においてキャッシュメモリ１１ｃを利用すると判定されたにも拘らず、上記経路情報がエントリされていない場合（Ｓ１０；Ｙｅｓ）には、ＮＰＵ１１ａは、パケットＰ２の経路情報を連想メモリ１１ｆから取得し、キャッシュメモリ１１ｃに格納させる。一方、キャッシュメモリ１１ｃに上記経路情報が既にエントリされている場合（Ｓ１０；Ｎｏ）には、ＮＰＵ１１ａは、キャッシュメモリ１１ｃへの格納を行うことなく、パケットＰ２を外部へ出力する。
【００４６】
次に、本実施例におけるキャッシュメモリ１１ｃの利用判定処理について説明する。
【００４７】
図７は、本実施例において経路情報を取得する際、キャッシュメモリ１１ｃを利用するか否かを判定する処理を説明するためのフローチャートである。Ｓ１１では、ＮＰＵ１１ａは、パケットを入力すると、該パケットのパケット長と所定値とを比較する。該比較の結果、所定値未満のパケット長を有するパケットは、キャッシュメモリ１１ｃによる経路検索の対象となるため、要キャッシュ化と判定される（Ｓ１１；Ｙｅｓ）。これに対し、所定値以上のパケット長を有するパケットは、ＴＣＡＭ１１ｂによる経路検索の対象となるため、キャッシュ化不要と判定される（Ｓ１１；Ｎｏ）。
【００４８】
なお、入力パケットのパケット長は、ＮＰＵ１１ａが測定するものとしてもよいし、ヘッダ等に格納されている情報を用いてもよい。
【００４９】
上記Ｓ１１においてパケットのパケット長が所定値未満である場合（Ｓ１１；Ｙｅｓ）、ＮＰＵ１１ａは、所定値未満のパケット長を有するパケットの経路情報が、キャッシュメモリ１１ｃ内に格納（エントリ）されているか否かの判定を行う（Ｓ１２）。該判定の結果、経路情報が格納されている場合（Ｓ１２；Ｙｅｓ）には、ＮＰＵ１１ａは、後述するパケットのキャッシュ化要否情報に「不要」を設定する（Ｓ１３）。設定後は、ＮＰＵ１１ａは、キャッシュメモリ１１ｃを用いて、上記パケットの経路を検索し、キャッシュメモリ１１ｃに格納されている経路情報を取得する。
【００５０】
上記Ｓ１２における判定の結果、キャッシュメモリ１１ｃ内に経路情報が格納されていない場合（Ｓ１２；Ｎｏ）には、ＮＰＵ１１ａは、パケットのキャッシュ化要否情報に「要」を設定する（Ｓ１４）。設定後は、ＮＰＵ１１ａは、ＴＣＡＭ１１ｂを用いて、上記パケットの経路を検索し、連想メモリ１１ｆに格納されている経路情報を取得する。
【００５１】
なお、上記Ｓ１１においてパケットのパケット長が所定値以上である場合（Ｓ１１；Ｎｏ）には、ＴＣＡＭ１１ｂの利用が可能であることから、ＮＰＵ１１ａは、Ｓ１２〜Ｓ１４の各処理を省略し、連想メモリ１１ｆに格納されている経路情報を取得する。
【００５２】
図８は、キャッシュ化要否情報Ｐ１６ａが付与されたパケットＰの構成例を示す図である。図８においては、パケットＰには、装置内ヘッダＰ１１とイーサネット（登録商標）ヘッダＰ１２との間に、キャッシュ化判定情報Ｐ１６を格納する領域が新たに設けられており、該領域に、キャッシュ化要否情報Ｐ１６ａが設定される。具体的には、図７のＳ１３では、キャッシュ化要否情報Ｐ１６ａに「不要」が設定され、Ｓ１４では、キャッシュ化要否情報Ｐ１６ａに「要」が設定される。その結果、初期状態では図２に示した状態であったパケットＰは、図８に示す状態に更新される。従って、ＩＦカード１１のＮＰＵ１１ａは、キャッシュ化要否情報Ｐ１６ａを参照することで、パケットＰの経路情報をキャッシュメモリ１１ｃに格納（エントリ）するか否かの判定を行うことができる。
【００５３】
続いて、本実施例におけるキャッシュメモリ１１ｃへの格納判定処理について説明する。図９は、キャッシュメモリ１１ｃへ経路情報を格納するか否かを判定する処理を説明するためのフローチャートである。Ｓ１５では、経路検索装置１０のＮＰＵ１１ａは、入力パケットのキャッシュ化要否情報Ｐ１６ａ（図８参照）を参照し、キャッシュエントリの要否を判定する。該判定の結果、キャッシュ化要否情報Ｐ１６ａに“要”が設定されている場合（Ｓ１５；Ｙｅｓ）には、上記パケットの経路情報は、キャッシュメモリ１１ｃに格納されるのがよいにも拘らず、未エントリの状態である。従って、ＮＰＵ１１ａは、上記パケットと同一宛先のパケットが再入力された場合に、キャッシュメモリ１１ｃによる経路検索が可能な様に、キャッシュメモリ１１ｃに経路情報を格納する（Ｓ１６）。すなわち、ＮＰＵ１１ａは、上記パケットの経路情報を、ＴＣＡＭ１１ｂ経由で連想メモリ１１ｆから取得し、キャッシュメモリ１１ｃに格納する。
【００５４】
一方、上記Ｓ１５における判定の結果、キャッシュ化要否情報Ｐ１６ａに“不要”が設定されている場合（Ｓ１５；Ｎｏ）には、上記パケットの経路情報は既にキャッシュメモリ１１ｃにエントリ済であるので、ＮＰＵ１１ａは、格納判定処理を終了する。経路検索装置１０は、経路情報が既にキャッシュ化されている場合には、経路情報を格納しないので、同一の経路情報の重複エントリが回避され、格納容量に制限のあるキャッシュメモリ１１ｃを効率的に使用することができる。
【００５５】
以上説明した様に、経路検索装置１０は、複数のＩＦカード１１、１４とスイッチファブリックカード１２とを有する。複数のＩＦカード１１、１４は、外部からのパケットＰ１を送受信する複数のポートを有する。スイッチファブリックカード１２は、一の上記ポートから受信されたパケットＰ１を、行き先アドレスに応じた他の上記ポートへ転送する。ＩＦカード１１は、ＴＣＡＭ１１ｂとキャッシュメモリ１１ｃとＮＰＵ１１ａとを有する。ＴＣＡＭ１１ｂは、パケットＰ１の経路検索に用いる複数の経路検索情報を記憶する。キャッシュメモリ１１ｃは、ＴＣＡＭ１１ｂよりも少ない数の上記経路検索情報を記憶する。ＮＰＵ１１ａは、外部から受信したパケットＰ１のパケット長を抽出し、抽出した上記パケット長が所定値よりも小さい場合には、キャッシュメモリ１１ｃを使用して経路検索を行う。
【００５６】
具体的には、経路検索装置１０は、ＴＣＡＭ１１ｂとキャッシュメモリ１１ｃとＮＰＵ１１ａとを有する。ＴＣＡＭ１１ｂは、パケットＰの経路検索に用いる検索用メモリである。キャッシュメモリ１１ｃは、パケットＰの経路を検索する際の消費電力がＴＣＡＭ１１ｂよりも低いキャッシュメモリである。ＮＰＵ１１ａは、パケット長が所定値以上であるか否かを判定し、パケット長が所定値以上である場合、ＴＣＡＭ１１ｂを用いて、パケットＰの経路を検索すると共に、パケット長が所定値未満である場合、キャッシュメモリ１１ｃを用いて、パケットＰの経路を検索する。換言すれば、経路検索装置１０は、ＴＣＡＭ１１ｂにとって高負荷となる短いパケットの対処（経路検索）を、キャッシュメモリ１１ｃに代行させる。
【００５７】
パケット通信では、トラフィック量が一定であっても、パケット長が短い場合には、単位時間当たりのパケット数が増えるため、ＮＰＵ１１ａからＴＣＡＭ１１ｂに対するアクセスレートは上昇する。そこで、本実施例に係る経路検索装置１０は、上述した様に、パケット長の長短に応じて、ＴＣＡＭ１１ｂとキャッシュメモリ１１ｃとを使い分ける。具体的には、経路検索装置１０は、受信したパケットが短い場合には、ＴＣＡＭ１１ｂよりも消費電力の低いキャッシュメモリ１１ｃを用いて経路を検索する。これにより、経路検索装置１０において、例えば、宛先が同一の短いパケットが短時間に集中して受信されても、ＴＣＡＭ１１ｂへのアクセス頻度の上昇が回避される。従って、ＴＣＡＭ１１ｂの消費電力は抑制される。その結果、ＴＣＡＭ１１ｂの温度上昇の抑制が可能となる。
【００５８】
本実施例では、キャッシュメモリ１１ｃ（第２のメモリ）に記憶されている検索の対象となる情報（経路検索情報）の数が、ＴＣＡＭ（第１のメモリ）よりも少なくなるため、キャッシュメモリ（第２のメモリ）の方が、１回の経路検索において生じる消費電力が小さくなる。その結果、頻繁に届くパケットに対しては、経路検索装置１０は、キャッシュメモリ（第２のメモリ）を使用して経路検索を行うことで、経路検索処理での消費電力が抑えられる。本実施例では、特に、短いパケットを連続して受信したときの消費電力を抑えるため、経路検索装置１０は、短いパケット長のパケットに対しては、上記のような形で経路検索情報が記憶されているキャッシュメモリ（第２のメモリ）を用いて経路検索させる。これにより、経路検索装置１０は、経路検索処理での消費電力を抑える。なお、記憶されるデータ量が少ないため、キャッシュメモリ（第２のメモリ）として、消費電力が小さいタイプのデバイスを採用することも可能である。
【００５９】
（変形例１）
次に、変形例１について説明する。変形例１が上記実施例と異なる点は、経路検索にキャッシュメモリを用いるか否かの判定基準である。具体的には、上記実施例では、経路検索装置１０は、入力パケットのパケット長の長短に基づき、キャッシュメモリ１１ｃの利用の要否を判定するものとした。これに対し、変形例１では、経路検索装置１０は、入力パケットに対するキャッシュ化優先度設定の有無に基づき、キャッシュメモリ１１ｃの利用の要否を判定する。以下、上記実施例との相違点を中心として説明する。
【００６０】
変形例１に係る経路検索装置は、図１に示した実施例に係る経路検索装置１０と同様の構成を有する。従って、変形例１では、上記実施例と共通する構成要素には、同一の参照符号を用いると共に、その図示及び詳細な説明は省略する。図１０は、変形例１におけるパケットＰの構成例を示す図である。図１０に示す様に、変形例１におけるパケットＰは、キャッシュ化判定情報Ｐ１６にキャッシュ化優先度情報Ｐ１６ｂを含む点を除き、図８に示したパケットＰと同様の構成を有する。従って、図８と共通する構成要素には、同一の参照符号を用いると共に、その詳細な説明は省略する。
【００６１】
キャッシュ化優先度情報Ｐ１６ｂは、パケットＰの経路検索に際し、キャッシュメモリ１１ｃをＴＣＡＭ１１ｂに優先して用いるか否かの判定に使用される。例えば、キャッシュ化優先度情報Ｐ１６ｂに“１”が設定されている場合には、パケットＰの経路情報は、キャッシュメモリ１１ｃから取得される。一方、“０”が設定されている場合には、パケットＰの経路情報は、ＴＣＡＭ１１ｂを介して連想メモリ１１ｆ（図３参照）から取得される。
【００６２】
次に、変形例１における経路検索装置１０の動作を、上記実施例との相違点を中心として説明する。図１１は、変形例１において経路情報を取得する際、キャッシュメモリ１１ｃを利用するか否かを判定する処理を説明するためのフローチャートである。図１１は、上記実施例に係る動作の説明において参照した図７と、同様の処理を含むことから、共通するステップには、末尾が同一の参照符号を付すと共に、その詳細な説明は省略する。具体的には、図１１のステップＳ２２〜Ｓ２４の各処理は、図７に示したステップＳ１２〜Ｓ１４の各処理にそれぞれ対応する。
【００６３】
変形例１に特有のＳ２１では、経路検索装置１０のＮＰＵ１１ａは、パケットＰを入力すると、該パケットＰのキャッシュ化優先度情報Ｐ１６ｂ（図１０参照）を参照し、キャッシュ化優先度設定の有無を判定する。例えば、キャッシュ化優先度情報Ｐ１６ｂとして“１”が設定されている場合には、ＮＰＵ１１ａは、キャッシュ化優先度設定有りと判定し、“０”が設定されている場合には、キャッシュ化優先度設定無しと判定する。
【００６４】
上記判定の結果、キャッシュ化優先度が「有」に設定されたパケットは、キャッシュメモリ１１ｃによる経路検索の対象となるため、要キャッシュ化と判定される（Ｓ２１；Ｙｅｓ）。これに対し、キャッシュ化優先度が「無」に設定されたパケットは、ＴＣＡＭ１１ｂによる経路検索の対象となるため、キャッシュ化不要と判定される（Ｓ２１；Ｎｏ）。
【００６５】
なお、キャッシュ化優先度情報Ｐ１６ｂに対する優先度の設定は、例えば、パケットＰの送信元ノードや経路検索装置１０のユーザが行うものとしてもよいし、経路検索装置１０が、パケットＰの受信頻度や受信間隔に基づき、自動的に行うものとしてもよい。また、キャッシュ化優先度設定の有無を決定する基準に関し、経路検索装置１０は、例えば、パケットＰの所定時間における受信回数、あるいは、パケットＰが受信される周期等を用いることができる。例えば、受信回数を用いる場合には、経路検索装置１０は、受信回数の多い（例えば、１時間に１０回以上受信される）パケットＰに対し、キャッシュ化優先度「有」を設定する。また、周期を用いる場合には、経路検索装置１０は、短い周期（例えば、１０分以下）で所定回数（例えば、５回）以上受信されるパケットＰに対し、キャッシュ化優先度「有」を設定する。
【００６６】
上述した様に、経路検索装置１０のＮＰＵ１１ａは、パケットＰの経路検索にキャッシュメモリ１１ｃを優先的に用いることの設定がパケットＰにあるか否かを判定する。ＮＰＵ１１ａは、上記設定がない場合、ＴＣＡＭ１１ｂを用いて、パケットＰの経路を検索すると共に、上記設定がある場合、キャッシュメモリ１１ｃを用いて、パケットＰの経路を検索する。変形例１に係る経路検索装置１０によれば、ＮＰＵ１１ａは、上記設定の有無に基づき、定期的に受信されるパケットや受信が予測されるパケットを対象として、キャッシュメモリ１１ｃを用いた経路検索を優先的に実行する。これにより、キャッシュメモリ１１ｃが優先的に使用される機会が増加するため、経路検索に伴うＴＣＡＭ１１ｂの負荷が軽減される。その結果、ＴＣＡＭ１１ｂの消費電力が抑制される。
【００６７】
（変形例２）
次に、変形例２について説明する。変形例２が上記実施例と異なる点は、経路検索にキャッシュメモリを用いるか否かの判定基準である。具体的には、上記実施例では、経路検索装置１０は、入力パケットのパケット長の長短に基づき、キャッシュメモリ１１ｃの利用の要否を判定するものとした。これに対し、変形例２では、経路検索装置１０は、入力パケットがブロードキャストパケットであるか否かに基づき、キャッシュメモリ１１ｃの利用の要否を判定する。以下、上記実施例との相違点を中心として説明する。
【００６８】
変形例２に係る経路検索装置は、図１に示した実施例に係る経路検索装置１０と同様の構成を有する。従って、変形例２では、上記実施例と共通する構成要素には、同一の参照符号を用いると共に、その図示及び詳細な説明は省略する。図１２は、変形例２におけるパケットＰの構成例を示す図である。図１２に示す様に、変形例２におけるパケットＰは、キャッシュ化判定情報Ｐ１６にブロードキャスト対策情報Ｐ１６ｃを含む点を除き、図８に示したパケットＰと同様の構成を有する。従って、図８と共通する構成要素には、同一の参照符号を用いると共に、その詳細な説明は省略する。
【００６９】
ブロードキャスト対策情報Ｐ１６ｃは、入力されたパケットＰがブロードキャストパケットである場合に、パケットＰの経路検索用メモリとして、ＴＣＡＭ１１ｂとキャッシュメモリ１１ｃとの内、何れのメモリを用いるかの判定に使用される。例えば、ブロードキャスト対策情報Ｐ１６ｃに“１”が設定されている場合には、パケットＰの経路情報はキャッシュメモリ１１ｃから取得され、“０”が設定されている場合には、パケットＰの経路情報はＴＣＡＭ１１ｂを介して連想メモリ１１ｆから取得される。
【００７０】
次に、変形例２における経路検索装置１０の動作を、上記実施例との相違点を中心として説明する。図１３は、変形例２において経路情報を取得する際、キャッシュメモリ１１ｃを利用するか否かを判定する処理を説明するためのフローチャートである。図１３は、上記実施例に係る動作の説明において参照した図７と、同様の処理を含むことから、共通するステップには、末尾が同一の参照符号を付すと共に、その詳細な説明は省略する。具体的には、図１３のステップＳ３２〜Ｓ３４の各処理は、図７に示したステップＳ１２〜Ｓ１４の各処理にそれぞれ対応する。
【００７１】
変形例２に特有のＳ３１１では、経路検索装置１０のＮＰＵ１１ａは、パケットＰを入力すると、該パケットＰのイーサネット（登録商標）ヘッダＰ１２（図１２参照）を参照し、パケットＰがブロードキャストパケットであるか否かを判定する。該判定は、例えば、イーサネット（登録商標）ヘッダＰ１２のＭＡＣＤＡに、全ての宛先カード及び宛先ポートが設定されているか否かに基づいて行われる。全ての宛先カード及び宛先ポートが設定されている場合には、パケットＰはブロードキャストパケットであると判定され、宛先として設定されていないカードまたはポートがある場合には、パケットＰはブロードキャストパケットでないと判定される。
【００７２】
変形例２では、上記判定の結果、パケットＰがブロードキャストパケットである場合（Ｓ３１１；Ｙｅｓ）には、次のＳ３１２に移行し、パケットＰがブロードキャストパケットでない場合（Ｓ３１１；Ｎｏ）には、以降の処理を省略し、終了する。
【００７３】
Ｓ３１２では、経路検索装置１０のＮＰＵ１１ａは、パケットＰのブロードキャスト対策情報Ｐ１６ｃ（図１２参照）を参照し、経路検索装置１０内におけるブロードキャスト対策の設定を確認する。例えば、ブロードキャスト対策情報Ｐ１６ｃとして“１”が設定されている場合には、ＮＰＵ１１ａは、経路検索装置１０のブロードキャスト対策が有効であると判定し、“０”が設定されている場合には、ブロードキャスト対策は無効であると判定する。
【００７４】
上記判定の結果、入力されたパケットＰがブロードキャストパケットであり、かつ、ブロードキャスト対策が有効である場合には、該パケットＰは、キャッシュメモリ１１ｃによる経路検索の対象となるため、要キャッシュ化と判定される（Ｓ３１２；Ｙｅｓ）。これに対し、入力されたパケットＰがブロードキャストパケットでない場合、または、ブロードキャスト対策が無効である場合には、該パケットＰは、ＴＣＡＭ１１ｂによる経路検索の対象となるため、キャッシュ化不要と判定される（Ｓ３１２；Ｎｏ）。
【００７５】
なお、ブロードキャスト対策情報Ｐ１６ｃに対する有効・無効の設定は、例えば、経路検索装置１０のＮＰＵ１１ａが、パケットＰの入力時等に、自装置内の設定を参照して行う。あるいは、ブロードキャスト対策情報Ｐ１６ｃには、経路検索装置１０内の設定の確認を指示する情報のみを格納しておき、経路検索装置１０のＮＰＵ１１ａが、パケットＰの入力時等に、上記指示に従い、自装置内の設定を確認するものとしてもよい。また、ブロードキャストパケットはマルチキャストパケットであってもよく、ブロードキャスト対策情報Ｐ１６ｃはマルチキャスト対策情報であってもよい。
【００７６】
上述した様に、経路検索装置１０のＮＰＵ１１ａは、パケットＰの宛先が複数存在するか否かを判定する。ＮＰＵ１１ａは、上記宛先が複数存在しない場合、ＴＣＡＭ１１ｂを用いて、パケットＰの経路を検索すると共に、上記宛先が複数存在する場合、キャッシュメモリ１１ｃを用いて、パケットＰの経路を検索する。ブロードキャストパケットは、経路検索装置１０内の全てのドメイン（例えば、宛先カード、宛先ポート）にフォワーディングされるため、ＴＣＡＭ１１ｂは元より、装置負荷を大きく上昇させる要因となる。変形例２に係る経路検索装置１０によれば、ＮＰＵ１１ａは、ブロードキャストストーム対策として、ブロードキャストパケットに対し、キャッシュメモリ１１ｃを用いた経路検索を優先的に実行する。これにより、例えば、悪意のあるユーザから大量のパケットが同時期にブロードキャストされても、経路検索にキャッシュメモリ１１ｃが使用される機会が増加するため、ＴＣＡＭ１１ｂへのアクセスが集中せず、ＴＣＡＭ１１ｂの負荷が軽減される。その結果、ＴＣＡＭ１１ｂの消費電力が抑制される。
【００７７】
（変形例３）
次に、変形例３について説明する。変形例３が上記実施例と異なる点は、経路検索にキャッシュメモリを用いるか否かの判定基準である。具体的には、上記実施例では、経路検索装置１０は、入力パケットのパケット長の長短に基づき、キャッシュメモリ１１ｃの利用の要否を判定するものとした。これに対し、変形例３では、経路検索装置１０は、入力パケットが、直前のパケットと同一のパケット長とイーサネット（登録商標）ヘッダとを有するか否かに基づき、キャッシュメモリ１１ｃの利用の要否を判定する。以下、上記実施例との相違点を中心として説明する。
【００７８】
変形例３に係る経路検索装置は、図１に示した実施例に係る経路検索装置１０と同様の構成を有する。従って、変形例３では、上記実施例と共通する構成要素には、同一の参照符号を用いると共に、その図示及び詳細な説明は省略する。図１４は、変形例３におけるパケットＰの構成例を示す図である。図１４に示す様に、変形例３におけるパケットＰは、キャッシュ化判定情報Ｐ１６に同一性識別フラグＰ１６ｄを含む点を除き、図８に示したパケットＰと同様の構成を有する。従って、図８と共通する構成要素には、同一の参照符号を用いると共に、その詳細な説明は省略する。
【００７９】
同一性識別フラグＰ１６ｄは、入力されたパケットＰの経路検索用メモリとして、ＴＣＡＭ１１ｂとキャッシュメモリ１１ｃとの内、何れのメモリを用いるかの判定に使用される。例えば、同一性識別フラグＰ１６ｄに“１”が設定されている場合には、パケットＰの経路情報はキャッシュメモリ１１ｃから取得され、“０”が設定されている場合には、パケットＰの経路情報はＴＣＡＭ１１ｂを介して連想メモリ１１ｆから取得される。
【００８０】
パケットＰの同一性識別フラグＰ１６ｄは、ＮＰＵ１１ａが、パケットＰの直前に入力されたパケットとパケットＰとを照合することにより設定される。すなわち、ＮＰＵ１１ａは、パケットＰの直前に入力されたパケットのパケット長及びイーサネット（登録商標）ヘッダを、パケットＰのパケット長及びイーサネット（登録商標）ヘッダと比較する。該比較の結果、一致する場合には、ＮＰＵ１１ａは、同一性識別フラグＰ１６ｄに“１”を設定する一方、一致しない場合には、同一性識別フラグＰ１６ｄに“０”を設定する。なお、入力パケットのイーサネット（登録商標）ヘッダが直前のパケットのイーサネット（登録商標）ヘッダと同一であるか否かの判定は、必ずしも完全一致による判定でなくてもよく、部分一致（例えば、前方一致、後方一致）による判定であってもよい。
【００８１】
次に、変形例３における経路検索装置１０の動作を、上記実施例との相違点を中心として説明する。図１５は、変形例３において経路情報を取得する際、キャッシュメモリ１１ｃを利用するか否かを判定する処理を説明するためのフローチャートである。図１５は、上記実施例に係る動作の説明において参照した図７と、同様の処理を含むことから、共通するステップには、末尾が同一の参照符号を付すと共に、その詳細な説明は省略する。具体的には、図１５のステップＳ４２〜Ｓ４４の各処理は、図７に示したステップＳ１２〜Ｓ１４の各処理にそれぞれ対応する。
【００８２】
変形例３に特有のＳ４１では、経路検索装置１０のＮＰＵ１１ａは、パケットＰを入力すると、パケットＰの同一性識別フラグＰ１６ｄ（図１４参照）を参照し、パケット長及びイーサネット（登録商標）ヘッダが直前のパケットと同一であるか否かを判定する。例えば、同一性識別フラグＰ１６ｄとして“１”が設定されている場合には、ＮＰＵ１１ａは、パケットＰとその直前のパケットとの間で、パケット長及びイーサネット（登録商標）ヘッダが一致すると判定する。一方、“０”が設定されている場合には、ＮＰＵ１１ａは、パケットＰとその直前のパケットとの間で、パケット長及びイーサネット（登録商標）ヘッダが一致しないと判定する。
【００８３】
上記判定の結果、パケット長及びイーサネット（登録商標）ヘッダが一致する場合には、パケットＰは、キャッシュメモリ１１ｃによる経路検索の対象となるため、要キャッシュ化と判定される（Ｓ４１；Ｙｅｓ）。これに対し、パケット長またはイーサネット（登録商標）ヘッダが一致しない場合には、パケットＰは、ＴＣＡＭ１１ｂによる経路検索の対象となるため、キャッシュ化不要と判定される（Ｓ４１；Ｎｏ）。
【００８４】
上述した様に、経路検索装置１０のＮＰＵ１１ａは、パケットＰが、パケットＰの直前のパケットと同一のパケット長及びヘッダを有するか否かを判定する。ＮＰＵ１１ａは、パケットＰが上記パケット長または上記ヘッダを有しない場合、ＴＣＡＭ１１ｂを用いて、パケットＰの経路を検索すると共に、パケットＰが上記パケット長及び上記ヘッダを有する場合、キャッシュメモリ１１ｃを用いて、パケットＰの経路を検索する。
【００８５】
経路数の多い大規模なネットワーク（例えば、インターネット）では、サイズの大きいデータは、所定の長さを有するパケットに分割した上で、送受信されることが多い。また、この様な分割送信では、同一のパケット長を有し、かつ、同一のイーサネット（登録商標）ヘッダを有する複数のパケットが、連続して送受信されることが多い。そこで、変形例３に係る経路検索装置１０によれば、ＮＰＵ１１ａは、連続して受信されるパケットの経路検索に、毎回ＴＣＡＭ１１ｂを用いるのではなく、先頭のパケットのみをＴＣＡＭ１１ｂによる経路検索の対象とする。すなわち、ＮＰＵ１１ａは、先頭のパケットの経路情報を、ＴＣＡＭ１１ｂを介して連想メモリ１１ｆから取得した後、一旦キャッシュメモリ１１ｃにエントリ（キャッシュ化）し、後続するパケットに対しては、キャッシュメモリ１１ｃを用いた経路検索を実行する。これにより、サイズの大きいデータを構成する全てのパケットの経路検索にＴＣＡＭ１１ｂを用いる場合と比較して、ＴＣＡＭ１１ｂの負荷が軽減され、ＴＣＡＭ１１ｂの消費電力が抑制される。
【００８６】
なお、上記実施例及び変形例では、変形例２においてのみ、経路検索装置１０のＮＰＵ１１ａが、自装置内における設定の有効・無効を確認するものとした。しかしながら、これに限らず、上記実施例及び変形例１、３においても、経路検索装置１０のＮＰＵ１１ａが、自装置内の設定に基づき、キャッシュメモリ１１ｃの使用の許否を判定してもよい。例えば、上記実施例では、入力パケットＰのパケット長が所定値未満の場合には、該条件を満たせば、装置内設定の有効・無効に拘らず、ＮＰＵ１１ａは、経路検索にキャッシュメモリ１１ｃを使用するものとした。しかしながら、経路検索装置１０のＮＰＵ１１ａは、入力パケットＰのパケット長が所定値未満であり、かつ、自装置内の設定が有効である場合にのみ、キャッシュメモリ１１ｃを使用するものとしてもよい。これにより、経路検索装置１０は、ユーザ等の設定に応じて、ＴＣＡＭ１１ｂ及びキャッシュメモリ１１ｃに対する負荷を、より柔軟に調整することができる。例えば、パケット長の所定値が大きく、ＴＣＡＭ１１ｂと比較してキャッシュメモリ１１ｃの負荷が増加し過ぎた場合には、経路検索装置１０は、自装置内の設定を一時的に無効にすることで、キャッシュメモリ１１ｃの負荷を軽減するといった運用が可能となる。
【００８７】
また、上述した様に、キャッシュメモリ１１ｃは、ＴＣＡＭ１１ｂと比較してエントリ数が少ないため、キャッシュメモリ１１ｃへの経路情報のエントリが許容値を超えることが懸念される。そこで、経路検索装置１０のＮＰＵ１１ａは、キャッシュメモリ１１ｃのエントリ数が所定値（例えば、８００エントリ）に到達した場合に、キャッシュ化の条件を厳格化するものとしてもよい。具体的には、ＮＰＵ１１ａは、キャッシュメモリ１１ｃのエントリ数が所定値に達した場合に、キャッシュ化要否の判定基準となるパケット長の閾値を、例えば１００バイトから５０バイトに低下させるものとしてもよい。あるいは、ＮＰＵ１１ａは、キャッシュメモリ１１ｃのエントリ数が所定値に達した場合に、優先的にキャッシュ化するパケット数を減少させるものとしてもよい。これにより、経路検索装置１０は、キャッシュメモリ１１ｃにエントリされる経路情報のデータ量を抑制することができ、経路情報が許容値を超えてキャッシュ化されることを未然に防止することが可能となる。
【００８８】
更に、上記実施例では、経路検索装置１０のＮＰＵ１１ａは、単一のパケットを対象として、パケット長に基づくキャッシュ化の要否判定を行うものとした。しかしながら、これに限らず、ＮＰＵ１１ａは、複数のパケットを用いて、キャッシュメモリ１１ｃを使用するか否かを判定するものとしてもよい。例えば、ＮＰＵ１１ａは、連続して入力される複数個（例えば、３つ）のパケットをグループ化し、これらのパケットのパケット長の平均値が所定値未満の場合に、グループ内の全てのパケットの経路情報をキャッシュ化するものとしてもよい。かかる態様では、パケット長の平均値が上記所定値以上の場合には、上記グループに属するパケットの経路情報はキャッシュ化されない。これにより、１つのパケットのパケット長が所定値未満であっても、該パケットを含む複数のパケットのパケット長の平均値が所定値未満とならない限り、キャッシュメモリ１１ｃは使用されないこととなる。従って、経路検索装置１０は、キャッシュ化の要否判定を、より高精度に行うことができると共に、経路検索に伴うキャッシュメモリ１１ｃの使用頻度を節減することができる。
【００８９】
また、変形例３では、経路検索装置１０は、パケット長とイーサネット（登録商標）ヘッダとの双方が一致する場合に、キャッシュメモリ１１ｃを用いるものとしたが、何れか一方が一致する場合に、キャッシュメモリ１１ｃを用いるものとしてもよい。例えば、経路検索装置１０は、パケット長が一致する場合に、キャッシュメモリ１１ｃを用いるものとしてもよい。また、パケット長は、必ずしもパケットＰの全長でなくてもよく、例えば、ペイロード長であってもよい。ヘッダについても、必ずしもイーサネット（登録商標）ヘッダでなくてもよく、例えば、装置内ヘッダであってもよい。
【００９０】
上記実施例及び変形例では、キャッシュメモリ１１ｃが、経路検索元情報に加えて、経路情報を格納するものとした。しかしながら、キャッシュメモリ１１ｃにおいても、ＴＣＡＭ１１ｂと同様に、キャッシュメモリ１１ｃには経路検索元情報が格納され、経路情報は、キャッシュメモリ１１ｃとは別のメモリ（例えば、ＤＲＡＭ、ＳＲＡＭ）に分けて格納されるものとしてもよい。
【００９１】
また、上記実施例及び変形例では、経路検索装置１０として、レイヤ２スイッチを想定したが、レイヤ３スイッチ等であってもよい。また、ＴＣＡＭ１１ｂは、ＢＣＡＭ（Binary  Content  Addressable  Memory）であってもよく、ＭＡＣアドレステーブル１１ｂ−１は、ルーティングテーブルであってもよい。
【００９２】
更に、経路検索装置１０に搭載されるＩＦカードは、ＩＦカード１１、１４の２枚に限らず、３枚以上であってもよい。更に、各ＩＦカードの有するキャッシュ化判定機能に関しても、必ずしも、各ＩＦカード間で同一の判定方法を採ることを要しない。例えば、ＩＦカード１１については上記実施例に係る判定方法を採り、ＩＦカード１４については変形例１に係る判定方法を採るという様に、各ＩＦカード毎に異なるキャッシュ化判定機能を有するものとしてもよい。これにより、各ＩＦカードの特性や用途、使用状況に応じた、より適応性の高い経路検索が可能となる。
【００９３】
また、上記実施例及び各変形例では、経路検索装置１０の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的態様は、図示のものに限らず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することもできる。例えば、ＩＦカード１１に関し、ＴＣＡＭ１１ｂと連想メモリ１１ｆとを１つの構成要素（メモリ）として統合し、ＮＰＵ１１ａは、該メモリから経路情報を取得するものとしてもよい。また、ＴＭ１１ｄとＣＰＵ−ＩＦ１１ｅ、あるいは、スイッチファブリックカード１２と制御カード１３とをそれぞれ１つの構成要素として統合してもよい。反対に、ＩＦカード１１のＮＰＵ１１ａに関し、例えば、キャッシュメモリ１１ｃを利用するか否かを判定する部分と、パケットの経路を検索する部分と、キャッシュメモリ１１ｃに経路情報を格納するか否かを判定する部分とに分散してもよい。更に、ＴＣＡＭ１１ｂ等のメモリを、経路検索装置１０の外部装置として、ネットワークやケーブル経由で接続する様にしてもよい。
【００９４】
更に、上記説明では、個々の実施例及び変形例毎に個別の構成、及び動作を説明した。しかしながら、上記実施例に係る経路検索装置１０は、各変形例に特有の構成要素を併せて有するものとしてもよい。また、実施例、変形例毎の組合せについても、２つに限らず、３つ以上の組合せ等、任意の形態を採ることが可能である。例えば、変形例１の優先度に基づくキャッシュ化判定機能を、上記実施例に限らず、変形例２や変形例３に適用してもよい。更に、１つの経路検索装置１０が、実施例及び変形例１〜３において説明した全ての機能を併有するものとしてもよい。
【００９５】
例えば、上記実施例と変形例１とを組み合わせた場合、経路検索装置１０のＮＰＵ１１ａは、パケットＰのパケット長が所定値以上である場合、パケットＰの経路検索にキャッシュメモリ１１ｃを用いることの設定があるか否かを更に判定する。該判定の結果、上記設定がある場合には、ＮＰＵ１１ａは、パケットＰのパケット長に拘らず（パケット長が所定値以上であっても）、キャッシュメモリ１１ｃを用いて、パケットＰの経路を検索する。一方、上記設定がない場合には、ＮＰＵ１１ａは、ＴＣＡＭ１１ｂを用いて、パケットＰの経路を検索する。これにより、経路検索にキャッシュメモリ１１ｃが使用されるケースは、パケットＰが短い場合に加えて、上記設定がある場合にまで拡大される。従って、ＴＣＡＭ１１ｂへのアクセスに伴う消費電力は、更に抑制される。
【００９６】
同様に、上記実施例と変形例２とを組み合わせた場合、経路検索装置１０のＮＰＵ１１ａは、パケットＰのパケット長が所定値以上である場合、パケットＰの宛先が複数存在するか否かを更に判定する。該判定の結果、上記宛先が複数存在する場合には、ＮＰＵ１１ａは、パケットＰのパケット長に拘らず（パケット長が所定値以上であっても）、キャッシュメモリ１１ｃを用いて、パケットＰの経路を検索する。一方、上記宛先が複数存在しない場合には、ＮＰＵ１１ａは、ＴＣＡＭ１１ｂを用いて、パケットＰの経路を検索する。これにより、経路検索にキャッシュメモリ１１ｃが使用されるケースは、パケットＰが短い場合に加えて、宛先が複数の場合にまで拡大される。従って、ＴＣＡＭ１１ｂへのアクセスに伴う消費電力は、更に抑制される。
【００９７】
同様に、上記実施例と変形例３とを組み合わせた場合、経路検索装置１０のＮＰＵ１１ａは、パケットＰのパケット長が所定値以上である場合、パケットＰが、該パケットＰの直前のパケットと同一のパケット長を有するか否かを更に判定する。該判定の結果、パケットＰが上記パケット長を有する場合には、ＮＰＵ１１ａは、パケットＰのパケット長に拘らず（パケット長が所定値以上であっても）、キャッシュメモリ１１ｃを用いて、パケットＰの経路を検索する。一方、パケットＰが上記パケット長を有しない場合には、ＮＰＵ１１ａは、ＴＣＡＭ１１ｂを用いて、パケットＰの経路を検索する。これにより、経路検索にキャッシュメモリ１１ｃが使用されるケースは、パケットＰが短い場合に加えて、パケット長が同一の場合にまで拡大される。従って、ＴＣＡＭ１１ｂへのアクセスに伴う消費電力は、更に抑制される。
【符号の説明】
【００９８】
１０  経路検索装置
１１、１４  ＩＦ（InterFace）カード
１１ａ、１４ａ  ＮＰＵ（Network  Processing  Unit）
１１ａ−１  受信部
１１ａ−２  抽出部
１１ａ−３  判定部
１１ｂ、１４ｂ  ＴＣＡＭ（Ternary  Content  Addressable  Memory）
１１ｂ−１、１４ｂ−１  ＭＡＣ（Media  Access  Control）アドレステーブル
１１ｂ−２、１４ｂ−２  ＶＬＡＮ（Virtual  Local  Area  Network）テーブル
１１ｃ、１４ｃ  キャッシュメモリ
１１ｃ−１、１４ｃ−１  経路検索元情報
１１ｃ−２、１４ｃ−２  経路情報
１１ｄ、１４ｄ  ＴＭ（Traffic  Manager）
１１ｅ、１４ｅ  ＣＰＵ−ＩＦ（Central  Processing  Unit−InterFace）
１１ｆ、１４ｆ  連想メモリ
１２  スイッチファブリックカード
１３  制御カード
Ｐ、Ｐ１、Ｐ２  パケット
Ｐ１１  装置内ヘッダ
Ｐ１１ａ  宛先カード情報
Ｐ１１ｂ  宛先ポート情報
Ｐ１１ｃ  装置内ＩＤ（IDentification）情報
Ｐ１１ｄ  カラー情報
Ｐ１１ｅ  マルチキャスト情報またはユニキャスト情報
Ｐ１１ｆ  経路検索関連情報
Ｐ１２  イーサネット（登録商標）ヘッダ
Ｐ１３  ＶＬＡＮ（Virtual  Local  Area  Network）タグ情報
Ｐ１４  ペイロード
Ｐ１５  ＦＣＳ（Frame  Check  Sequence）
Ｐ１６  キャッシュ化判定情報
Ｐ１６ａ  キャッシュ化要否情報
Ｐ１６ｂ  キャッシュ化優先度情報
Ｐ１６ｃ  ブロードキャスト対策情報
Ｐ１６ｄ  同一性識別フラグ
Ｐ１２１、Ｐ１２２  ヘッダ部分
【図１】
2015139047.tif 000003
【図２】
2015139047.tif 000004
【図３】
2015139047.tif 000005
【図４】
2015139047.tif 000006
【図５】
2015139047.tif 000007
【図６】
2015139047.tif 000008
【図７】
2015139047.tif 000009
【図８】
2015139047.tif 000010
【図９】
2015139047.tif 000011
【図１０】
2015139047.tif 000012
【図１１】
2015139047.tif 000013
【図１２】
2015139047.tif 000014
【図１３】
2015139047.tif 000015
【図１４】
2015139047.tif 000016
【図１５】
2015139047.tif 000017