(57)【要約】【課題】  パケットを送信先IPアドレスに応じた出力ポートに出力するパケット交換装置において、例外処理の発生頻度が高い環境でも、パケット転送処理を高速に行う。【解決手段】  テーブル13には、パケットの送信元，送信先IPアドレスに対応付けて出力ポート番号,MACアドレスが登録される。ファーストパス部10は、受信パケットが属するフローの情報がテーブル13に登録されていなければ、パケットをミドルパス部20に渡す。ミドルパス部20は、ファーストパス部10からのパケットが例外処理の対象になるパケットであれば、それをスローパス部30に渡して例外処理を行わせ、そうでなければ、ルーティングテーブル23を検索して出力ポート番号,MACアドレスを求め、該当するIF部にパケットを出力する。スローパス部30は、ミドルパス部20が求めた出力ポート番号,MACアドレスと、パケットの送信元，送信先IPアドレスをテーブル13に登録する。【選択図】      図１
2006180162.tif 000002
【特許請求の範囲】
【請求項１】
送信元アドレスおよび送信先アドレスに対応付けて出力ポート番号が登録されるフローキャッシュテーブルを有するファーストパス部と、ルーティングテーブルを有するミドルパス部と、スローパス部とを備えたパケット交換装置であって、
前記ファーストパス部が、
受信パケットの送信元アドレスおよび送信先アドレスに対応付けて前記フローキャッシュテーブルに出力ポート番号が登録されている場合は、前記出力ポート番号の出力ポートに前記受信パケットを出力し、登録されていない場合は、前記受信パケットを前記ミドルパス部に渡す構成を有し、
前記ミドルパス部が、
前記ファーストパス部から渡された受信パケットが例外処理の対象となるパケットである場合には、前記パケットを前記スローパス部に渡し、例外処理の対象とならないパケットである場合には、前記受信パケットの送信元アドレスおよび送信先アドレスと、前記ルーティングテーブルの内容とに基づいて前記受信パケットに対する出力ポート番号を求める構成を有し、
前記スローパス部が、
前記ミドルパス部から渡されたパケットに対する例外処理を行う構成を有し、
前記フローキャッシュテーブルが、
前記ミドルパス部で求められた前記受信パケットに対する出力ポート番号と、前記受信パケットの送信元アドレスおよび送信先アドレスとを対応付けて保持する構成を有することを特徴とするパケット交換装置。
【請求項２】
請求項１記載のパケット交換装置において、
前記ファーストパス部が、
受信パケットの送信元アドレスおよび送信先アドレスをキーにして前記フローキャッシュテーブルを検索する検索処理部と、
該検索処理部で前記受信パケットを出力する出力ポートの出力ポート番号を検索できた場合は、該検索した出力ポート番号の出力ポートに前記受信パケットを出力し、出力ポート番号を検索できなかった場合は前記受信パケットを前記ミドルパス部に渡すパケット処理部とを備え、
前記ミドルパス部が、
前記ファーストパス部から渡された受信パケットが例外処理の対象となるパケットか否かを判定し、例外処理の対象になると判定した場合は、前記受信パケットを前記スローパス部に渡し、例外処理の対象にならないと判定した場合は、前記受信パケットをルーティング処理対象パケットとする例外パケット判定部と、
該例外パケット判定部でルーティング処理対象パケットとされた受信パケットの送信元アドレスおよび送信先アドレスと、ルーティングテーブルの内容とに基づいて前記受信パケットに対する出力ポート番号を求め、該求めた出力ポート番号の出力ポートに前記受信パケットを出力すると共に、前記スローパス部に対して、前記受信パケットの送信元アドレスおよび送信先アドレスと、前記出力ポート番号とを含む登録要求を送信するルーティング処理部とを備え、
前記スローパス部が、
前記ミドルパス部から渡された受信パケットに対する例外処理を行う例外処理部と、
前記ミドルパス部から送られてきた登録要求に含まれている送信元アドレス、送信先アドレスおよび出力ポート番号を前記フローキャッシュテーブルに登録するフロー情報登録部とを備えたことを特徴とするパケット交換装置。
【請求項３】
請求項２記載のパケット交換装置において、
前記ルーティング処理部が、
前記登録要求を前記スローパス部ではなく、前記ファーストパス部へ送信する構成を有し、
前記ファーストパス部が、
前記ミドルパス部から送られたきた登録要求に含まれている送信元アドレス、送信先アドレスおよび出力ポート番号を前記フローキャッシュテーブルに登録するフロー情報登録部を備え、
前記スローパス部が、前記例外処理部のみを備えることを特徴とするパケット交換装置。
【請求項４】
請求項２記載のパケット交換装置において、
前記ルーティング処理部が、前記登録要求を前記スローパス部に送る代わりに、前記受信パケットの送信元アドレスおよび送信先アドレスに対応付けて、前記ルーティングテーブルから検索した出力ポート番号を前記フローキャッシュテーブルに登録する構成を有し、
前記スローパス部が、前記例外処理部のみを備えることを特徴とするパケット交換装置。
【請求項５】
送信元アドレスおよび送信先アドレスに対応付けて出力ポート番号が登録されるフローキャッシュテーブルを有するファーストパス部が、
受信パケットの送信元アドレスおよび送信先アドレスに対応付けて前記フローキャッシュテーブルに出力ポート番号が登録されている場合は、前記出力ポート番号の出力ポートに前記受信パケットを出力し、登録されていない場合は、前記受信パケットをミドルパス部に渡し、
ルーティングテーブルを有する前記ミドルパス部が、
前記ファーストパス部から渡された受信パケットが例外処理の対象となるパケットである場合には、前記パケットをスローパス部に渡し、例外処理の対象とならないパケットである場合には、前記受信パケットの送信元アドレスおよび送信先アドレスと、前記ルーティングテーブルの内容とに基づいて前記受信パケットに対する出力ポート番号を求め、
前記スローパス部が、
前記ミドルパス部から渡されたパケットに対する例外処理を行い、
前記フローキャッシュテーブルが、
前記ミドルパス部で求められた前記受信パケットに対する出力ポート番号と、前記受信パケットの送信元アドレスおよび送信先アドレスとを対応付けて保持することを特徴とするパケット交換方法。
【請求項６】
送信元アドレスおよび送信先アドレスに対応付けて出力ポート番号が登録されるフローキャッシュテーブルを有するファーストパス部が、
受信パケットの送信元アドレスおよび送信先アドレスをキーにして前記フローキャッシュテーブルを検索する検索処理ステップと、
該検索処理ステップで前記受信パケットを出力する出力ポートの出力ポート番号を検索できた場合は、該検索した出力ポート番号の出力ポートに前記受信パケットを出力し、出力ポート番号を検索できなかった場合は前記受信パケットをミドルパス部に渡すパケット処理ステップとを実行し、
ルーティングテーブルを有する前記ミドルパス部が、
前記ファーストパス部から渡された受信パケットが例外処理の対象となるパケットか否かを判定し、例外処理の対象になると判定した場合には、前記受信パケットをスローパス部に渡し、例外処理の対象にならないと判定した場合は、前記受信パケットをルーティング処理対象パケットとする例外パケット判定ステップと、
該例外パケット判定ステップでルーティング処理対象パケットとされた受信パケットの送信元アドレスおよび送信先アドレスと、前記ルーティングテーブルの内容とに基づいて前記受信パケットに対する出力ポート番号を求め、該求めた出力ポート番号の出力ポートに前記受信パケットを出力すると共に、前記スローパス部に対して、前記受信パケットの送信元アドレスおよび送信先アドレスと、前記出力ポート番号とを含む登録要求を送信するルーティング処理ステップとを実行し、
前記スローパス部が、
前記ミドルパス部から渡された受信パケットに対する例外処理を行う例外処理ステップと、
前記ミドルパス部から送られてきた登録要求に含まれている送信元アドレス、送信先アドレスおよび出力ポート番号を前記フローキャッシュテーブルに登録するフロー情報登録ステップとを実行することを特徴とするパケット交換方法。
【請求項７】
請求項６記載のパケット交換方法において、
前記ルーティング処理ステップでは、前記登録要求を前記スローパス部ではなく、前記ファーストパス部へ送信し、
前記ファーストパス部が、前記ミドルパス部から送られたきた登録要求に含まれている送信元アドレス、送信先アドレスおよび出力ポート番号を前記フローキャッシュテーブルに登録するフロー情報登録ステップを実行し、
前記スローパス部が、前記例外処理ステップのみを実行することを特徴とするパケット交換方法。
【請求項８】
請求項６記載のパケット交換方法において、
前記ルーティング処理ステップでは、前記登録要求を前記スローパス部に送る代わりに、前記受信パケットの送信元アドレスおよび送信先アドレスに対応付けて、前記ルーティングテーブルから検索した出力ポート番号を前記フローキャッシュテーブルに登録し、
前記スローパス部が、前記例外処理ステップのみを実行することを特徴とするパケット交換方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ルータやマルチレイヤスイッチ等のパケット交換装置に関し、特に、パケット転送処理を高速化する技術に関する。
【背景技術】
【０００２】
インターネット等のパケット通信ネットワークにおいては、パケット単位でデータの転送が行われる。パケットには、送信元ＩＰアドレスや送信先ＩＰアドレスを含むヘッダ部が付されており、パケット交換装置は、このヘッダ部のアドレス情報に基づいてパケットを適切なネットワークへと転送する。
【０００３】
図８は従来のパケット交換装置の一例を示すブロック図である（例えば、特許文献１参照）。図８を参照すると、従来のパケット交換装置100は、ネットワーク200と接続される複数のインタフェース部（ＩＦ部）110-1〜110-nと、ファーストパス部120と、スローパス部130とから構成されている。
【０００４】
ファーストパス部120は、パケット処理部121と、検索処理部122と、フローキャッシュテーブル123と、待ちキュー124とを備えている。また、スローパス部130は、ＣＰＵ131によって実現されるルーティング処理部132と、ルーティングテーブル133とを備えている。
【０００５】
このような構成を有する従来のパケット交換装置は、次のように動作する。
【０００６】
ファーストパス部120内のパケット処理部121は、インタフェース部110-j（１≦ｊ≦ｎ）を介してパケットを受信すると、そのヘッダ部に設定されている送信元ＩＰアドレスおよび送信先ＩＰアドレスを検索処理部122に渡す。
【０００７】
検索処理部122は、パケット処理部121から渡された送信元ＩＰアドレスおよび送信先ＩＰアドレスをキーにしてフローキャッシュテーブル123を検索する。フローキャッシュテーブル123には、送信元ＩＰアドレスおよび送信先ＩＰアドレスに対応付けて出力ポート番号や次ホップのＭＡＣアドレス等が登録されている。そして、該当するエントリを検索できた場合には、そのエントリに格納されている出力ポート番号やＭＡＣアドレスをパケット処理部121に返却する。これに対して、該当するエントリを検索できなかった場合には、検索失敗をパケット処理部121に通知すると共に、フローキャッシュテーブル123の空きエントリに、パケット処理部121から渡された送信元ＩＰアドレスおよび送信先ＩＰアドレスを登録する。尚、フローキャッシュテーブル123の検索に失敗するのは、送信元ＩＰアドレス，送信先ＩＰアドレスを同一にするパケット（同じフローに属するパケット）の内の、最初のパケットを受信した場合である。
【０００８】
パケット処理部121は、検索処理部122から出力ポート番号およびＭＡＣアドレスが返却された場合は、受信パケットに上記ＭＡＣアドレスを含むＭＡＣヘッダを付加した後、上記出力ポート番号によって特定されるインタフェース部にパケットを出力する。これに対して、検索処理部122から検索失敗が通知された場合は、パケット処理部121は、ＣＰＵ131に割り込みをかける。
【０００９】
ＣＰＵ131内のルーティング処理部132は、割り込みがかけられると、ルーティングテーブル133の内容と、待ちキュー124に登録されているパケットの送信元ＩＰアドレスおよび送信先ＩＰアドレスとに基づいて、出力ポート番号および次ホップのＭＡＣアドレスを求め、求めた出力ポート番号およびＭＡＣアドレスをフローキャッシュテーブル123の該当するエントリ（上記パケットの送信元ＩＰアドレスおよび送信先ＩＰアドレスが登録されているエントリ）に登録する。
【００１０】
パケット処理部121は、待ちキュー124に登録したパケットについては、処理の合間にその送信元ＩＰアドレスおよび送信先ＩＰアドレスを検索処理部122に渡し、検索処理部122から出力ポート番号およびＭＡＣアドレスが返却されると、上記パケットにＭＡＣヘッダを付加した後、上記出力ポート番号に対応するインタフェース部に出力する。
【特許文献１】特開２０００−２９５２７４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
上述した従来の技術によれば、一度ＣＰＵによるルーティング処理が実行されたパケットと同一の送信元ＩＰアドレスおよび送信先ＩＰアドレスを有するパケットに関しては、ＣＰＵを用いたプログラム制御によるルーティング処理が不要となるので、パケット転送処理を高速化することが可能になる。
【００１２】
ところで、パケット交換装置においては、上述したパケット転送処理以外にも、IPv4オプションパケットの処理や、IPv6拡張ヘッダの処理などといった例外処理も行われる。このような例外処理は、スローパス部のＣＰＵにおいて実行される。従って、例外処理の発生頻度が高い環境においては、ＣＰＵに負荷が高くなり、ルーティング処理の処理速度が遅くなってしまう。このように、ルーティング処理と例外処理との２つの処理をスローパス部で実行する従来のパケット交換装置では、例外処理の発生頻度が高い場合、ルーティング処理の処理速度が遅くなるため、パケット転送処理の処理速度も遅くなってしまう。
【００１３】
そこで、本発明の目的は、例外処理の発生頻度が高い環境においても、ルーティング処理を高速に行えるようにすることにより、パケット転送処理を高速に行うことができるようにすることにある。
【課題を解決するための手段】
【００１４】
本発明にかかる第１のパケット交換装置は、
送信元アドレスおよび送信先アドレスに対応付けて出力ポート番号が登録されるフローキャッシュテーブルを有するファーストパス部と、ルーティングテーブルを有するミドルパス部と、スローパス部とを備えたパケット交換装置であって、
前記ファーストパス部が、
受信パケットの送信元アドレスおよび送信先アドレスに対応付けて前記フローキャッシュテーブルに出力ポート番号が登録されている場合は、前記出力ポート番号の出力ポートに前記受信パケットを出力し、登録されていない場合は、前記受信パケットを前記ミドルパス部に渡す構成を有し、
前記ミドルパス部が、
前記ファーストパス部から渡された受信パケットが例外処理の対象となるパケットである場合には、前記パケットを前記スローパス部に渡し、例外処理の対象とならないパケットである場合には、前記受信パケットの送信元アドレスおよび送信先アドレスと、前記ルーティングテーブルの内容とに基づいて前記受信パケットに対する出力ポート番号を求める構成を有し、
前記スローパス部が、
前記ミドルパス部から渡されたパケットに対する例外処理を行う構成を有し、
前記フローキャッシュテーブルが、
前記ミドルパス部で求められた前記受信パケットに対する出力ポート番号と、前記受信パケットの送信元アドレスおよび送信先アドレスとを対応付けて保持する構成を有することを特徴とする。
【００１５】
本発明にかかる第２のパケット交換装置は、第１のパケット交換装置において、
前記ファーストパス部が、
受信パケットの送信元アドレスおよび送信先アドレスをキーにして前記フローキャッシュテーブルを検索する検索処理部と、
該検索処理部で前記受信パケットを出力する出力ポートの出力ポート番号を検索できた場合は、該検索した出力ポート番号の出力ポートに前記受信パケットを出力し、出力ポート番号を検索できなかった場合は前記受信パケットを前記ミドルパス部に渡すパケット処理部とを備え、
前記ミドルパス部が、
前記ファーストパス部から渡された受信パケットが例外処理の対象となるパケットか否かを判定し、例外処理の対象になると判定した場合は、前記受信パケットを前記スローパス部に渡し、例外処理の対象にならないと判定した場合は、前記受信パケットをルーティング処理対象パケットとする例外パケット判定部と、
該例外パケット判定部でルーティング処理対象パケットとされた受信パケットの送信元アドレスおよび送信先アドレスと、ルーティングテーブルの内容とに基づいて前記受信パケットに対する出力ポート番号を求め、該求めた出力ポート番号の出力ポートに前記受信パケットを出力すると共に、前記スローパス部に対して、前記受信パケットの送信元アドレスおよび送信先アドレスと、前記出力ポート番号とを含む登録要求を送信するルーティング処理部とを備え、
前記スローパス部が、
前記ミドルパス部から渡された受信パケットに対する例外処理を行う例外処理部と、
前記ミドルパス部から送られてきた登録要求に含まれている送信元アドレス、送信先アドレスおよび出力ポート番号を前記フローキャッシュテーブルに登録するフロー情報登録部とを備えたことを特徴とする。
【００１６】
本発明にかかる第３のパケット交換装置は、第２のパケット交換装置において、
前記ルーティング処理部が、
前記登録要求を前記スローパス部ではなく、前記ファーストパス部へ送信する構成を有し、
前記ファーストパス部が、
前記ミドルパス部から送られたきた登録要求に含まれている送信元アドレス、送信先アドレスおよび出力ポート番号を前記フローキャッシュテーブルに登録するフロー情報登録部を備え、
前記スローパス部が、前記例外処理部のみを備えることを特徴とする。
【００１７】
本発明にかかる第４のパケット交換装置は、第２のパケット交換装置において、
前記ルーティング処理部が、前記登録要求を前記スローパス部に送る代わりに、前記受信パケットの送信元アドレスおよび送信先アドレスに対応付けて、前記ルーティングテーブルから検索した出力ポート番号を前記フローキャッシュテーブルに登録する構成を有し、
前記スローパス部が、前記例外処理部のみを備えることを特徴とする。
【００１８】
本発明にかかる第１のパケット交換方法は、
送信元アドレスおよび送信先アドレスに対応付けて出力ポート番号が登録されるフローキャッシュテーブルを有するファーストパス部が、
受信パケットの送信元アドレスおよび送信先アドレスに対応付けて前記フローキャッシュテーブルに出力ポート番号が登録されている場合は、前記出力ポート番号の出力ポートに前記受信パケットを出力し、登録されていない場合は、前記受信パケットをミドルパス部に渡し、
ルーティングテーブルを有する前記ミドルパス部が、
前記ファーストパス部から渡された受信パケットが例外処理の対象となるパケットである場合には、前記パケットをスローパス部に渡し、例外処理の対象とならないパケットである場合には、前記受信パケットの送信元アドレスおよび送信先アドレスと、前記ルーティングテーブルの内容とに基づいて前記受信パケットに対する出力ポート番号を求め、
前記スローパス部が、
前記ミドルパス部から渡されたパケットに対する例外処理を行い、
前記フローキャッシュテーブルが、
前記ミドルパス部で求められた前記受信パケットに対する出力ポート番号と、前記受信パケットの送信元アドレスおよび送信先アドレスとを対応付けて保持することを特徴とする。
【００１９】
本発明にかかる第２のパケット交換方法は、
送信元アドレスおよび送信先アドレスに対応付けて出力ポート番号が登録されるフローキャッシュテーブルを有するファーストパス部が、
受信パケットの送信元アドレスおよび送信先アドレスをキーにして前記フローキャッシュテーブルを検索する検索処理ステップと、
該検索処理ステップで前記受信パケットを出力する出力ポートの出力ポート番号を検索できた場合は、該検索した出力ポート番号の出力ポートに前記受信パケットを出力し、出力ポート番号を検索できなかった場合は前記受信パケットをミドルパス部に渡すパケット処理ステップとを実行し、
ルーティングテーブルを有する前記ミドルパス部が、
前記ファーストパス部から渡された受信パケットが例外処理の対象となるパケットか否かを判定し、例外処理の対象になると判定した場合には、前記受信パケットをスローパス部に渡し、例外処理の対象にならないと判定した場合は、前記受信パケットをルーティング処理対象パケットとする例外パケット判定ステップと、
該例外パケット判定ステップでルーティング処理対象パケットとされた受信パケットの送信元アドレスおよび送信先アドレスと、前記ルーティングテーブルの内容とに基づいて前記受信パケットに対する出力ポート番号を求め、該求めた出力ポート番号の出力ポートに前記受信パケットを出力すると共に、前記スローパス部に対して、前記受信パケットの送信元アドレスおよび送信先アドレスと、前記出力ポート番号とを含む登録要求を送信するルーティング処理ステップとを実行し、
前記スローパス部が、
前記ミドルパス部から渡された受信パケットに対する例外処理を行う例外処理ステップと、
前記ミドルパス部から送られてきた登録要求に含まれている送信元アドレス、送信先アドレスおよび出力ポート番号を前記フローキャッシュテーブルに登録するフロー情報登録ステップとを実行することを特徴とする。
【００２０】
本発明にかかる第３のパケット交換方法は、第２のパケット交換方法において、
前記ルーティング処理ステップでは、前記登録要求を前記スローパス部ではなく、前記ファーストパス部へ送信し、
前記ファーストパス部が、前記ミドルパス部から送られたきた登録要求に含まれている送信元アドレス、送信先アドレスおよび出力ポート番号を前記フローキャッシュテーブルに登録するフロー情報登録ステップを実行し、
前記スローパス部が、前記例外処理ステップのみを実行することを特徴とする。
【００２１】
本発明にかかる第４のパケット交換方法は、第２のパケット交換方法において、
前記ルーティング処理ステップでは、前記登録要求を前記スローパス部に送る代わりに、前記受信パケットの送信元アドレスおよび送信先アドレスに対応付けて、前記ルーティングテーブルから検索した出力ポート番号を前記フローキャッシュテーブルに登録し、
前記スローパス部が、前記例外処理ステップのみを実行することを特徴とする。
【００２２】
〔作用〕
ファーストパス部は、パケット受信時、受信パケットが属するフローに関する情報（送信元アドレス、送信先アドレスおよび出力ポート番号）がフローキャッシュテーブルに登録されていない場合、即ち、受信パケットがフローの最初のパケットであり、受信パケットの送信元アドレスおよび送信先アドレスをキーにしてフローキャッシュテーブルを検索しても該当する出力ポート番号を検索できなかった場合には、受信パケットをミドルパス部に渡す。これに対して、フローキャッシュテーブルに受信パケットが属するフローに関する情報が登録されている場合には、上記フローに関する情報中の出力ポート番号によって示される出力ポートに受信パケットを出力する。
【００２３】
ミドルパス部では、ファーストパス部から受信パケットが渡されると、そのパケットが例外処理の対象になるパケットであるか否かを調べる。そして、例外処理の対象になるパケットであれば、そのパケットをスローパス部に渡し、例外処理を実行させる。これに対して、例外処理の対象にならないパケットであれば、そのパケットの送信元アドレスおよび送信先アドレスと、ルーティングテーブルの内容とに基づいて、上記パケットを出力する出力ポートの出力ポート番号を求める。その後、上記出力ポート番号の出力ポートにパケットを出力する。
【００２４】
ファーストパス部内のフローキャッシュテーブルは、ミドルパス部で求められた受信パケットに対する出力ポート番号と、上記受信パケットの送信元アドレスおよび送信先アドレスとを対応付け保持する。従って、これ以降、上記受信パケットと同一のフローに属するパケットは、ミドルパス部における処理が不要となる。
【発明の効果】
【００２５】
本発明によれば、例外処理の発生頻度が高い環境においても、パケット転送処理を高速に行うことが可能になる。その理由は、ファーストパス部、スローパス部に加えてミドルパス部を設け、このミドルパス部で、従来、スローパス部で行われていた、ルーティングテーブルを利用したルーティング処理を実行するようにしたからである。即ち、ミドルパス部、スローパス部では、それぞれルーティング処理、例外処理のみを実行すれば良く、例外処理の発生頻度が高い環境においても、ミドルパス部において、ルーティング処理を高速に行うことが可能になるからである。
【発明を実施するための最良の形態】
【００２６】
〔第１の実施の形態〕
次に本発明の第１の実施の形態について図面を参照して詳細に説明する。
【００２７】
〔第１の実施の形態の構成〕
図１は本発明にかかるパケット交換装置１の第１の実施の形態の構成例を示すブロック図である。同図を参照すると、本実施の形態のパケット交換装置１は、ファーストパス部１０と、ミドルパス部２０と、スローパス部３０と、インタフェース部４０−１〜４０−ｎと、スイッチ５０と、それらを相互に接続する制御バス６０とから構成されている。
【００２８】
インタフェース部４０−１〜４０−ｎは、ネットワーク７０との間でパケットをやり取りする機能を有する。
【００２９】
ファーストパス部１０は、パケット処理部１１と、検索処理部１２と、フローキャッシュテーブル１３とを備えている。
【００３０】
フローキャッシュテーブル１３には、検索キーとなる送信元ＩＰアドレスおよび送信先ＩＰアドレスに対応付けて、出力ポート番号と、次ホップのＭＡＣアドレスとが登録される。図２にフローキャッシュテーブル１３の内容例を示す。同図の例は、送信元ＩＰアドレス「IPs1」、送信先ＩＰアドレス「IPd1」によって特定されるフローは、出力ポート番号が「Ｐ１」で、次ホップのＭＡＣアドレスが「ＭＡＣ１」であることを示している。
【００３１】
検索処理部１２は、送信元ＩＰアドレスおよび送信先ＩＰアドレスを含む検索要求がパケット処理部１１から渡されたとき、上記送信元ＩＰアドレスおよび送信先ＩＰアドレスをキーにしてフローキャッシュテーブル１３を検索し、検索結果をパケット処理部１１に返却する機能を有する。尚、該当するエントリがフローキャッシュテーブル１３上に存在する場合には、そのエントリに登録されている出力ポート番号および次ホップＭＡＣアドレスを検索結果とし、該当するエントリがフローキャッシュテーブル１３上に存在しない場合には、検索失敗を検索結果とする。
【００３２】
パケット処理部１１は、インタフェース部４０−ｋ（１≦ｋ≦ｎ）を介してパケットを受信したとき、受信パケットのヘッダ部から送信元ＩＰアドレスおよび送信先ＩＰアドレスを抽出する機能や、抽出した送信元ＩＰアドレスおよび送信先ＩＰアドレスを含む検索要求を検索処理部１２に渡す機能や、検索処理部１２から検索結果として出力ポート番号および次ホップＭＡＣアドレスが返却された場合は、受信パケットにＭＡＣヘッダを付加した後、上記出力ポート番号によって特定されるインタフェース部に出力し、検索結果として検索失敗が通知された場合は、受信パケットをスイッチ５０を介してミドルパス部２０に送信する機能を有する。
【００３３】
尚、パケット処理部１１および検索処理部１２は、処理速度を高速化するため、ハードウェアで実現することが望ましいが、ＣＰＵや、ネットワークに特化したプログラミング処理が適用可能なハードウェアエンジンにより実現しても構わない。
【００３４】
ミドルパス部２０は、例外パケット判定部２１と、ルーティング処理部２２と、ルーティングテーブル２３とを備えている。
【００３５】
例外パケット判定部２１は、ファーストパス部１０から渡されたパケットが、例外処理の対象になるパケットであるか否かを判定する機能や、例外処理の対象になると判定したパケットはスローパス部３０に渡し、例外処理の対象にならないと判定したパケットはルーティング処理部２２に渡す機能を有する。尚、例外処理には、IPv4オプションパケットの処理、IPv6拡張ヘッダの処理、STMの管理などが含まれる。
【００３６】
ルーティング処理部２２は、次のような機能を有する。
・例外パケット判定部２１から渡されたパケットのヘッダ部から送信元ＩＰアドレスおよび送信先ＩＰアドレスを抽出する機能。
・抽出した上記各アドレスとルーティングテーブル２３の内容とに基づいて、上記パケットの出力ポート番号および次ホップＭＡＣアドレスを求める機能。
・パケットにＭＡＣヘッダを付加して、抽出した出力ポート番号に対応するインタフェース部に出力する機能。
・パケットの送信元ＩＰアドレスおよび送信先ＩＰアドレスと、ルーティングテーブル２３を利用して求めた出力ポート番号および次ホップＭＡＣアドレスとを含む登録要求をスローパス部３０に送信する機能。
【００３７】
尚、例外パケット判定部２１およびルーティング処理部２２は、高速処理を可能にするため、ハードウェアによって実現することが望ましいが、ＣＰＵや、ネットワークに特化したプログラミング処理が適用可能なハードウェアエンジンにより実現しても構わない。
【００３８】
スローパス部３０は、ＣＰＵによって実現されるものであり、例外処理部３１と、フロー情報登録部３２とを備えている。
【００３９】
例外処理部３１は、ミドルパス部２０から渡されたパケットに対する例外処理を行う機能を有する。
【００４０】
フロー情報登録部３２は、ミドルパス部２０から送られてきた登録要求に従って、フローキャッシュテーブル１３の空きエントリに、送信元ＩＰアドレスおよび送信先ＩＰアドレスに対応付けて、出力ポート番号および次ホップＭＡＣアドレスを登録する機能を有する。
【００４１】
〔第１の実施の形態の動作〕
次に、本実施の形態の動作について詳細に説明する。
【００４２】
ファーストパス部１０内のパケット処理部１１は、インタフェース部４０−ｋを介してパケットを受信すると、そのヘッダ部から送信元ＩＰアドレスおよび送信先ＩＰアドレスを抽出し、それらを含む検索要求を検索処理部１２に渡す（図３のステップＳ３１）。これにより、検索処理部１２は、検索要求中の送信元ＩＰアドレスおよび送信先ＩＰアドレスをキーにしてフローキャッシュテーブル１３を検索する。そして、フローキャッシュテーブル１３上に該当するエントリが存在する場合には、そのエントリに登録されている出力ポート番号および次ホップＭＡＣアドレスを検索結果として返却し、該当するエントリが存在しない場合には、検索失敗を検索結果として返却する。例えば、フローキャッシュテーブル１３の内容が図２に示すものであり、検索要求中の送信元ＩＰアドレス，送信先ＩＰアドレスがそれぞれIPs2，IPd2であるとすると、検索処理部１２は、次ホップＭＡＣアドレス「ＭＡＣ２」，出力ポート番号「Ｐ２」を検索結果としてパケット処理部１１に返却することになる。
【００４３】
パケット処理部１１は、検索処理部１２から検索結果として検索失敗が返却された場合、即ち、受信パケットがそのパケットが属するフローにおける最初のパケットであり、フローキャッシュテーブル１３に該当するフローの情報が登録されていない場合（ステップＳ３２がＮＯ）は、スイッチ５０経由で受信パケットをミドルパス部２０に渡す（ステップＳ３３）。これに対して、検索処理部１２から検索結果として出力ポート番号および次ホップＭＡＣアドレスが返却された場合（ステップＳ３２がＹＥＳ）は、受信パケットに上記次ホップＭＡＣアドレスを含むＭＡＣヘッダを付加した後、上記出力ポート番号によって特定されるインタフェース部にＭＡＣヘッダ付加後のパケットを出力する（ステップＳ３４）。
【００４４】
ミドルパス部２０内の例外パケット判定部２１は、スイッチ５０を介してファーストパス部１０からパケットが送られてくると、そのヘッダ部の内容に基づいて、例外処理の対象になるパケットであるか否かを判定する（図４のステップＳ４１）。
【００４５】
そして、例外処理の対象にならないパケットであると判定した場合（ステップＳ４１がＮＯ）は、パケットをルーティング処理部２２に渡す（ステップＳ４２）。これにより、ルーティング処理部２２は、パケットの送信先ＩＰアドレスをキーにしてルーティングテーブル２３を検索し、出力ポート番号および次ホップのＭＡＣアドレスを求める（ステップＳ４３）。その後、ルーティング処理部２２は、上記ＭＡＣアドレスを含んだＭＡＣヘッダをパケットに付加し、上記出力ポート番号によって特定されるインタフェース部に出力する（ステップＳ４４）。更に、ルーティング処理部２２は、上記パケットの送信元ＩＰアドレスおよび送信先ＩＰアドレスと、ルーティングテーブル２３から検索した出力ポート番号および次ホップＭＡＣアドレスとを含んだ登録要求をスローパス部３０へ送信する（ステップＳ４５）。
【００４６】
これに対して、ステップＳ４１で例外処理の対象となるパケットであると判定した場合は、そのパケットをスローパス部３０へ送信する（ステップＳ４６）。
【００４７】
スローパス部３０は、ミドルパス部２０から登録要求が送られてきた場合は、フロー情報登録部３２を使用して、上記登録要求に含まれている送信元ＩＰアドレス，送信先ＩＰアドレス，次ホップＭＡＣアドレスおよび出力ポート番号を、フローキャッシュテーブル１３の空きエントリに登録する（図５のステップＳ５１，Ｓ５２）。また、ミドルパス部２０からパケットが送られてきた場合は、例外処理部３１を利用して例外処理を実行する（ステップＳ５１，Ｓ５３）。
【００４８】
〔第１の実施の形態の効果〕
本実施の形態によれば、例外処理の発生頻度が高い環境においても、パケット転送処理を高速に行うことが可能になる。その理由は、ファーストパス部１０、スローパス部３０に加えてミドルパス部２０を設け、このミドルパス部２０で、従来、スローパス部３０で行われていた、ルーティングテーブルを利用したルーティング処理を実行するようにしたからである。即ち、ミドルパス部２０、スローパス部３０では、それぞれルーティング処理、例外処理のみを実行すれば良く、例外処理の発生頻度が高い環境においても、ミドルパス部２０において、ルーティング処理を高速に行うことが可能になるからである。
【００４９】
〔第２の実施の形態〕
次に本発明の第２の実施の形態について説明する。本実施の形態は、フローキャッシュテーブルへの登録処理をファーストパス部で行うことを特徴とする。
【００５０】
〔第２の実施の形態の構成〕
図６は本発明の第２の実施の形態にかかるパケット交換装置１ａの構成例を示すブロック図である。本実施の形態のパケット交換装置１ａと、図１に示したパケット交換装置１との相違点は、ファーストパス部１０の代わりにファーストパス部１０ａを備えている点、ミドルパス部２０の代わりにミドルパス部２０ａを備えている点、および、スローパス部３０の代わりにスローパス部３０ａを備えている点である。
【００５１】
ファーストパス部１０ａは、ＣＰＵ等によって実現されるフロー情報登録部１４が追加されている点がファーストパス部１０と相違している。フロー情報登録部１４は、ミドルパス部２０ａから送られてきた登録要求に従って、フローキャッシュテーブル１３に送信元ＩＰアドレス，送信先ＩＰアドレス，次ホップＭＡＣアドレスおよび出力ポート番号を登録する機能を有する。
【００５２】
ミドルパス部２０ａは、ルーティング処理部２２の代わりにルーティング処理部２２ａを備えている点がミドルパス部２０と相違している。ルーティング処理部２２ａとルーティング処理部２２との相違点は、ルーティング処理部２２が登録要求をスローパス部３０に送信しているのに対して、ルーティング処理部２２ａでは、登録要求をファーストパス部１０ａに送信している点である。
【００５３】
スローパス部３０ａは、フロー情報登録部３２を備えていない点がスローパス部３０と相違している。
【００５４】
〔第２の実施の形態の動作〕
次に本実施の形態の動作について説明する。
【００５５】
ファーストパス部１０ａは、インタフェース部４０−ｋを介してパケットを受信すると、前述した図３のフローチャートに示す処理を行い、上記パケットがフローで最初のパケットである場合には、ミドルパス部２０ａへ渡し（ステップＳ３１，Ｓ３２がＮＯ，Ｓ３３）、最初のパケットでない場合は、パケットをその送信先に応じた出力ポートを有するインタフェース部に出力する（ステップＳ３１，Ｓ３２がＹＥＳ，Ｓ３４）。
【００５６】
ミドルパス部２０ａは、スイッチ５０を介してファーストパス部１０ａからパケットが送られてくると、前述した図４のフローチャートとほぼ同様に処理を行う。但し、本実施の形態では、ステップＳ４５の処理の代わりに、フローキャッシュテーブル１３への登録要求をファーストパス部１０ａへ送信する処理を行う。即ち、本実施の形態では、ルーティング処理部２２ａが、ファーストパス部１０ａから送られてきたパケットの送信元ＩＰアドレスおよび送信先ＩＰアドレスと、ステップＳ４３でルーティングテーブル２３を検索することにより求めた次ホップＭＡＣアドレスおよび出力ポート番号とを含む登録要求を、制御バス６０を介してファーストパス部１０ａへ送信する。
【００５７】
ファーストパス部１０ａでは、ミドルパス部２０ａから登録要求が送られてくると、フロー情報登録部１４を使用してフローキャッシュテーブル１３上の空きエントリに、登録要求に含まれている送信元ＩＰアドレス，送信先ＩＰアドレス，次ホップＭＡＣアドレスおよび出力ポート番号を登録する（図７のステップＳ７１）。
【００５８】
尚、本実施の形態では、ルーティング処理部２２ａが登録要求をファーストパス部１０ａに送信し、ファーストパス部１０ａ内のフロー情報登録部１４がフローキャッシュテーブル１３に、登録要求に含まれている送信元ＩＰアドレス、送信先ＩＰアドレス，次ホップＭＡＣアドレスおよび出力ポート番号を登録するようにしたが、ルーティング処理部２２ａが制御バス６０を介して、直接、フローキャッシュテーブル１３に上記各情報を登録するようにしても良い。このようにした場合には、ファーストパス部１０ａ内のフロー情報登録部１４は不要となる。
【００５９】
〔第２の実施の形態の効果〕
本実施の形態によれば、第１の実施の形態が有している効果に加え、スローパス部３０ａの負荷を低減することができるという効果を得ることができる。その理由は、ファーストパス部１０ａにフロー情報登録部１４を設け、第１の実施の形態では、スローパス部３０で行っていたフローキャッシュテーブル１３への登録処理をファーストパス部１０ａで行うようにしたからである。
【図面の簡単な説明】
【００６０】
【図１】本発明にかかるパケット交換装置の第１の実施の形態の構成例を示すブロック図である。
【図２】フローキャッシュテーブル１３の内容例を示す図である。
【図３】ファーストパス部１０のパケット受信時の処理例を示すフローチャートである。
【図４】ミドルパス部２０の処理例を示すフローチャートである。
【図５】スローパス部３０の処理例を示すフローチャートである。
【図６】本発明にかかるパケット交換装置の第２の実施の形態の構成例を示すブロック図である。
【図７】ファーストパス部１０ａの登録要求受信時の処理例を示すフローチャートである。
【図８】従来の技術を説明するためのブロック図である。
【符号の説明】
【００６１】
１，１ａ…パケット交換装置
１０，１０ａ…ファーストパス部
１１…パケット処理部
１２…検索処理部
１３…フローキャッシュテーブル
１４…フロー情報登録部
２０，２０ａ…ミドルパス部
２１…例外パケット判定部
２２，２２ａ…ルーティング処理部
２３…ルーティングテーブル
３０，３０ａ…スローパス部
３１…例外処理部
３２…フロー情報登録部
４０−１〜４０−ｎ…インタフェース部（ＩＦ部）
５０…スイッチ
６０…制御バス
７０…ネットワーク
100…パケット交換装置
110-1〜110-n…インタフェース部（ＩＦ部）
120…ファーストパス部
121…パケット処理部
122…検索処理部
123…フローキャッシュテーブル
124…待ちキュー
130…スローパス部
131…ＣＰＵ
132…ルーティング処理部
133…ルーティングテーブル
【図１】
2006180162.tif 000003
【図２】
2006180162.tif 000004
【図３】
2006180162.tif 000005
【図４】
2006180162.tif 000006
【図５】
2006180162.tif 000007
【図６】
2006180162.tif 000008
【図７】
2006180162.tif 000009
【図８】
2006180162.tif 000010