(57)【要約】【課題】フォワーディングエンジンの交換が容易に可能な中継装置を得ること。【解決手段】受信したフレームに対して転送処理を試み、転送ができた場合には当該フレームの送信元ＭＡＣアドレスを書き換えるフォワーディングエンジン部３０と、フォワーディングエンジン部３０でフレームを転送ができなかった場合に、当該フレームに対して転送処理を行い、当該フレームの送信元ＭＡＣアドレスを書き換える通信プロセッサ部６０と、受信フレームから送信元ＭＡＣアドレスを抽出し、当該フレームの送信先を決定する振分処理部２０、４０と、を備える。【選択図】図３
2011066607.tif 000002
【特許請求の範囲】
【請求項１】
２つのネットワークと接続し、ネットワーク間で送受信されるフレームを中継する中継装置であって、
受信したフレームに対して転送処理を試み、転送ができた場合には当該フレームの送信元ＭＡＣアドレスを書き換えるフォワーディングエンジン手段と、
前記フォワーディングエンジン手段でフレームを転送できなかった場合に、当該フレームに対して転送処理を行い、当該フレームの送信元ＭＡＣアドレスを書き換える通信プロセッサ手段と、
一方のネットワーク、前記フォワーディングエンジン手段、または前記通信プロセッサ手段からフレームを受信し、受信フレームから送信元ＭＡＣアドレスを抽出し、当該フレームの送信先を決定する第一の振分処理手段と、
他方のネットワーク、前記フォワーディングエンジン手段、または前記通信プロセッサ手段からフレームを受信し、受信フレームから送信元ＭＡＣアドレスを抽出し、当該フレームの送信先を決定する第二の振分処理手段と、
を備え、
前記第一の振分処理手段は、
前記一方のネットワークからフレームを受信した場合は、当該フレームの送信元ＭＡＣアドレスを抽出して前記第二の振分処理手段に通知し、また、当該フレームを前記フォワーディングエンジン手段に送信し、
前記フォワーディングエンジン手段からフレームを受信した場合は、前記第二の振分処理手段から通知を受けた送信元ＭＡＣアドレスと受信フレームから抽出した送信元ＭＡＣアドレスとを比較し、一致した場合は当該フレームを前記通信プロセッサ手段へ送信し、一致しない場合は当該フレームを前記一方のネットワークへ送信し、
前記通信プロセッサ手段からフレームを受信した場合は、当該フレームを前記フォワーディングエンジン手段に送信し、
前記第二の振分処理手段は、
前記他方のネットワークからフレームを受信した場合は、当該フレームの送信元ＭＡＣアドレスを抽出して前記第一の振分処理手段に通知し、また、当該フレームを前記フォワーディングエンジン手段に送信し、
前記フォワーディングエンジン手段からフレームを受信した場合は、前記第一の振分処理手段から通知を受けた送信元ＭＡＣアドレスと受信フレームから抽出した送信元ＭＡＣアドレスとを比較し、一致した場合は当該フレームを前記通信プロセッサ手段へ送信し、一致しない場合は当該フレームを前記他方のネットワークへ送信し、
前記通信プロセッサ手段からフレームを受信した場合は、当該フレームを前記フォワーディングエンジン手段に送信する、
ことを特徴とする中継装置。
【請求項２】
前記第一の振分処理手段は、
前記フォワーディングエンジン手段からフレームを受信し、前記第二の振分処理手段から通知を受けた送信元ＭＡＣアドレスと受信フレームから抽出した送信元ＭＡＣアドレスとを比較した結果一致し、さらに、ＩＰｖ６ブリッジ機能がＯＮのとき、受信フレームのイーサタイプがＩＰｖ６の場合は当該フレームを前記一方のネットワークへ送信し、イーサタイプがＩＰｖ６でない場合は当該フレームを前記通信プロセッサ手段へ送信し、
前記第二の振分処理手段は、
前記フォワーディングエンジン手段からフレームを受信し、前記第一の振分処理手段から通知を受けた送信元ＭＡＣアドレスと受信フレームから抽出した送信元ＭＡＣアドレスとを比較した結果一致し、さらに、ＩＰｖ６ブリッジ機能がＯＮのとき、受信フレームのイーサタイプがＩＰｖ６の場合は当該フレームを前記他方のネットワークへ送信し、イーサタイプがＩＰｖ６でない場合は当該フレームを前記通信プロセッサ手段へ送信する、
ことを特徴とする請求項１に記載の中継装置。
【請求項３】
前記第一の振分処理手段は、
前記フォワーディングエンジン手段からフレームを受信し、前記第二の振分処理手段から通知を受けた送信元ＭＡＣアドレスと受信フレームから抽出した送信元ＭＡＣアドレスとを比較した結果一致し、さらに、ＰＰＰｏＥブリッジ機能がＯＮのとき、受信フレームのイーサタイプがＰＰＰｏＥの場合は当該フレームを前記一方のネットワークへ送信し、イーサタイプがＰＰＰｏＥでない場合は当該フレームを前記通信プロセッサ手段へ送信し、
前記第二の振分処理手段は、
前記フォワーディングエンジン手段からフレームを受信し、前記第一の振分処理手段から通知を受けた送信元ＭＡＣアドレスと受信フレームから抽出した送信元ＭＡＣアドレスとを比較した結果一致し、さらに、ＰＰＰｏＥブリッジ機能がＯＮのとき、受信フレームのイーサタイプがＰＰＰｏＥの場合は当該フレームを前記他方のネットワークへ送信し、イーサタイプがＰＰＰｏＥでない場合は当該フレームを前記通信プロセッサ手段へ送信する、
ことを特徴とする請求項１または２に記載の中継装置。
【請求項４】
前記第一の振分処理手段および前記第二の振分処理手段が受信フレームを前記通信プロセッサ手段に送信する前に、
さらに、当該フレームのあて先ＭＡＣアドレスが自装置ＭＡＣアドレスかどうかを確認し、自装置ＭＡＣアドレスでない場合は、当該フレームを廃棄する、
ことを特徴とする請求項１、２または３に記載の中継装置。
【請求項５】
前記第一の振分処理手段および前記第二の振分処理手段が受信フレームを前記通信プロセッサ手段に送信する前に、
さらに、当該フレームのあて先ＭＡＣアドレスがブロードキャストアドレスかどうかを確認し、ブロードキャストアドレスでない場合は、当該フレームを廃棄する、
ことを特徴とする請求項１、２または３に記載の中継装置。
【請求項６】
前記第一の振分処理手段および前記第二の振分処理手段が受信フレームを前記通信プロセッサ手段に送信する前に、
さらに、当該フレームのあて先ＭＡＣアドレスがマルチキャストアドレスかどうかを確認し、マルチキャストアドレスでない場合は、当該フレームを廃棄する、
ことを特徴とする請求項１、２または３に記載の中継装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フォワーディングエンジンを備えた中継装置に関する。
【背景技術】
【０００２】
従来、ルータ等のパケット中継装置は、ギガビットイーサネット（登録商標）インタフェースなどの通信機能を内蔵した通信プロセッサを備える。ルータは、入力された全てのパケットをプロセッサ上のソフトウェア処理によってフォワーディング処理を行う。
【０００３】
近年、ルータ等のパケット中継装置には、安価で高いスループットを実現することを目的として、パケット転送を高速におこなう専用のハードウェアであるフォワーディングエンジンが搭載されつつある。フォワーディングエンジンは、端末装置から受信したパケットについて、フレームのあて先ＩＰアドレス等のフロー情報をキーとして、フローテーブルを検索する。フローテーブルにキーにマッチするエントリが存在する場合、エントリの情報に従いフレームを書き換え、ＷＡＮへ送信する。フローテーブルにキーにマッチするエントリが存在しない場合、プロセッサにフレームを送信する。プロセッサは、ソフトウェア処理によりパケットの転送処理を行い、フレームを書き換えた後、フォワーディングエンジンに送信する。フォワーディングエンジンは、受信したパケットをＷＡＮへ送信する。この際、プロセッサは、生成したフローテーブルのエントリを、フォワーディングエンジン内のフローテーブルに設定する。以降、同じフロー情報を持つパケットについては、フォワーディングエンジンが、フローテーブルの情報に基づいてＬＡＮとＷＡＮ間で高速に転送処理する。このように、フォワーディングエンジンを使用してプロセッサに通知するパケットをフィルタリングする技術が、下記特許文献１において開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−３４５３６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来の技術によれば、フォワーディングエンジンを適用するためにはプロセッサとのパケット送受信のためのインタフェース機能がプロセッサバス上に必要であり、このインタフェース機能は、適用するフォワーディングエンジンで決められた固有の実装を行う必要がある。例えば、フォワーディングエンジンを別のフォワーディングエンジンに変更した場合、交換前のフォワーディングエンジンに対応するインタフェース機能は不要となり、交換後のフォワーディングエンジンに対応する新たなインタフェース機能の実装を必要とする。そのため、パケット中継装置の性能向上や機能向上などを目的としてフォワーディングエンジンを交換する場合、フォワーディングエンジンとプロセッサ間のプロセッサバス上でパケットを送受信するためのインタフェースを新たに実装する必要がある、という問題があった。
【０００６】
本発明は、上記に鑑みてなされたものであって、新たにインタフェースを実装することなくフォワーディングエンジンの交換が可能な中継装置を得ることを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明は、２つのネットワークと接続し、ネットワーク間で送受信されるフレームを中継する中継装置であって、受信したフレームに対して転送処理を試み、転送ができた場合には当該フレームの送信元ＭＡＣアドレスを書き換えるフォワーディングエンジン手段と、前記フォワーディングエンジン手段でフレームを転送できなかった場合に、当該フレームに対して転送処理を行い、当該フレームの送信元ＭＡＣアドレスを書き換える通信プロセッサ手段と、一方のネットワーク、前記フォワーディングエンジン手段、または前記通信プロセッサ手段からフレームを受信し、受信フレームから送信元ＭＡＣアドレスを抽出し、当該フレームの送信先を決定する第一の振分処理手段と、他方のネットワーク、前記フォワーディングエンジン手段、または前記通信プロセッサ手段からフレームを受信し、受信フレームから送信元ＭＡＣアドレスを抽出し、当該フレームの送信先を決定する第二の振分処理手段と、を備え、前記第一の振分処理手段は、前記一方のネットワークからフレームを受信した場合は、当該フレームの送信元ＭＡＣアドレスを抽出して前記第二の振分処理手段に通知し、また、当該フレームを前記フォワーディングエンジン手段に送信し、前記フォワーディングエンジン手段からフレームを受信した場合は、前記第二の振分処理手段から通知を受けた送信元ＭＡＣアドレスと受信フレームから抽出した送信元ＭＡＣアドレスとを比較し、一致した場合は当該フレームを前記通信プロセッサ手段へ送信し、一致しない場合は当該フレームを前記一方のネットワークへ送信し、前記通信プロセッサ手段からフレームを受信した場合は、当該フレームを前記フォワーディングエンジン手段に送信し、前記第二の振分処理手段は、前記他方のネットワークからフレームを受信した場合は、当該フレームの送信元ＭＡＣアドレスを抽出して前記第一の振分処理手段に通知し、また、当該フレームを前記フォワーディングエンジン手段に送信し、前記フォワーディングエンジン手段からフレームを受信した場合は、前記第一の振分処理手段から通知を受けた送信元ＭＡＣアドレスと受信フレームから抽出した送信元ＭＡＣアドレスとを比較し、一致した場合は当該フレームを前記通信プロセッサ手段へ送信し、一致しない場合は当該フレームを前記他方のネットワークへ送信し、前記通信プロセッサ手段からフレームを受信した場合は、当該フレームを前記フォワーディングエンジン手段に送信する、ことを特徴とする。
【発明の効果】
【０００８】
本発明によれば、フォワーディングエンジンとプロセッサ間で新たにインタフェースを実装することなく、フォワーディングエンジンを交換することができる、という効果を奏する。さらに、装置の開発コストを抑え、開発期間を短縮することができる、という効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、通信プロセッサを搭載したルータの構成例を示す図である。
【図２】図２は、フォワーディングエンジンを搭載したルータの構成例を示す図である。
【図３】図３は、本実施の形態にかかるルータの構成例を示す図である。
【図４】図４は、フレームの構成例を示す図である。
【図５】図５は、フローテーブルの構成例を示す図である。
【図６】図６は、フレームの流れを示す図である。
【図７】図７は、振分処理部の振り分け処理を示す図である。
【図８】図８は、振分処理部の振り分け処理を示す図である。
【図９】図９は、振分処理部の振り分け処理を示す図である。
【図１０】図１０は、振分処理部の振り分け処理を示す図である。
【発明を実施するための形態】
【００１０】
以下に、本発明にかかる中継装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１１】
実施の形態．
最初に、フレームのフォワーディング処理について簡単に説明する。ここでは、中継装置が中継する対象を、データを表すパケットではなく送信単位のフレームとして説明する。ただし、本実施の形態で使用する「フレーム中継」と、一般的にルータ（中継装置）に関して使用される「パケット中継」とは同義である。
【００１２】
図１は、通信プロセッサを搭載したルータの構成例を示す図である。ルータ３００は、ＬＡＮ（Local  Area  Network）２００を介して端末装置１００と接続し、また、ＷＡＮ（Wide  Area  Network）４００と接続する。ルータ３００は、網インタフェース部３１０と、通信プロセッサ部３２０と、網インタフェース部３３０と、を備える。通信プロセッサ部３２０は、ＬＡＮインタフェース部３２１と、ＩＰ（Internet  Protocol）ルーティング部３２２と、フローテーブル部３２３と、ＷＡＮインタフェース部３２４と、を備える。
【００１３】
端末装置１００から送信されたフレーム（パケット）は、ＬＡＮ２００、網インタフェース部３１０、ＬＡＮインタフェース部３２１を経由してＩＰルーティング部３２２に入力される。ＩＰルーティング部３２２は、入力された全てのフレームについてソフトウェア処理によりフォワーディング処理を行う。この際、フローテーブル部３２３を検索する。その後、ＷＡＮインタフェース部３２４、網インタフェース部３３０を経由してＷＡＮ４００へ出力する。
【００１４】
図２は、フォワーディングエンジンを搭載したルータの構成例を示す図である。ルータ３００’は、ＬＡＮ２００を介して端末装置１００と接続し、また、ＷＡＮ４００と接続する。ルータ３００’は、網インタフェース部３１０と、通信プロセッサ部３２０’と、網インタフェース部３３０と、フォワーディングエンジン部３４０と、プロセッサバス３５０と、を備える。通信プロセッサ部３２０’は、ＬＡＮインタフェース部３２１’と、ＩＰルーティング部３２２’と、フローテーブル部３２３’と、ＷＡＮインタフェース部３２４’と、を備える。フォワーディングエンジン部３４０は、ＬＡＮインタフェース部３４１と、制御部３４２と、フローテーブル部３４３と、ＷＡＮインタフェース部３４４と、プロセッサ間インタフェース部３４５と、プロセッサ間インタフェース３４６と、を備える。
【００１５】
ルータ３００’は、ＬＡＮ２００に接続する網インタフェース部３１０と、ＷＡＮ４００に接続する網インタフェース部３３０との間に、フォワーディングエンジン部３４０を配置する。フォワーディングエンジン部３４０は、プロセッサバス３５０とのインタフェースであるプロセッサ間インタフェース部３４５、３４６を介して通信プロセッサ部３２０’において対応するＬＡＮインタフェース部３２１’、ＷＡＮインタフェース部３２４’と接続する。
【００１６】
端末装置１００から送信されたフレーム（パケット）は、ＬＡＮ２００、網インタフェース部３１０を介して、フォワーディングエンジン部３４０のＬＡＮインタフェース部３４１に入力される。フォワーディングエンジン部３４０では、制御部３４２が、フレームのあて先ＩＰアドレス、送信元ＩＰアドレス、プロトコル、あて先ポート番号、送信元ポート番号で識別されるフロー情報をキーとして、フローテーブル部３４３を検索する。フローテーブル部３４３にキーにマッチするエントリが存在する場合、制御部３４２は、エントリの情報に従いフレームを書き換えて、ＷＡＮインタフェース部３４４、網インタフェース部３３０を介してＷＡＮ４００へフレームを送信する。
【００１７】
フローテーブル部３４３にキーにマッチするエントリが存在しない場合、制御部３４２はプロセッサ間インタフェース部３４５、を介して通信プロセッサ部３２０’にフレームを送信する。通信プロセッサ部３２０’では、ＩＰルーティング部３２２’が、ソフトウェア処理によりフレームの転送処理を行い、フレームを書き換えた後、ＷＡＮインタフェース部３２４’を介してフォワーディングエンジン部３４０へフレームを送信する。フォワーディングエンジン部３４０は、受信したフレームをＷＡＮインタフェース部３４４、網インタフェース部３３０を介してＷＡＮ４００へ送信する。この際、通信プロセッサ部３２０’は、ソフトウェア処理で生成したフローテーブル部３２３’のエントリを、プロセッサバス３５０を介して、フォワーディングエンジン部３４０内のフローテーブル部３４３に設定する。以降、同じフロー情報を持つフレームは、フォワーディングエンジン部３４０において、制御部３４２が、フローテーブル部３４３の情報でＬＡＮ２００とＷＡＮ４００間で高速に転送処理を実行する。
【００１８】
このように、フォワーディングエンジン部３４０は、自身が備えるフローテーブル部３４３にマッチするエントリが存在しない場合、通信プロセッサ部３２０’との間でフレームの送受信を行う。そのため、プロセッサバス３５０を介して通信プロセッサ部３２０’との間で不エームの送受信を行うためのインタフェース（プロセッサ間インタフェース部３４５、３４６）を必要とする。この場合、フォワーディングエンジン部３４０を交換すると、フォワーディングエンジン部３４０が備えるインタフェース（プロセッサ間インタフェース部３４５、３４６）も交換することになる。以下に、フォワーディングエンジン部において、通信プロセッサ部との間でフレームの送受信を行うためのインタフェースを必要としない中継装置（ルータ）について説明する。
【００１９】
図３は、本実施の形態にかかるルータの構成例を示す図である。ルータ３は、ＬＡＮ２を介して端末装置１に接続し、また、ＷＡＮ４と接続する。ルータ３は、網インタフェース部１０と、振分処理部２０と、フォワーディングエンジン部３０と、振分処理部４０と、網インタフェース部５０と、通信プロセッサ部６０と、プロセッサバス７０と、を備える。
【００２０】
網インタフェース部１０は、ＬＡＮ２との間でフレームの送受信を行うインタフェースである。振分処理部２０は、ＬＡＮ２側からフレームを受信した場合は、送信元ＭＡＣアドレスを抽出して振分処理部４０へ通知し、フレームをフォワーディングエンジン部３０へ送信し、また、フォワーディングエンジン部３０側からフレームを受信した場合は、フレームの送信元ＭＡＣアドレスと通知を受けた送信元ＭＡＣアドレスとの比較結果に基づいてフレームの送信先を決定する。フォワーディングエンジン部３０は、受信したフレームの送信元ＭＡＣアドレスと一致するエントリがあった場合は、書き換えてフレームを送信する。一致するエントリが無かった場合は、何もせずにフレームを送信する。振分処理部４０は、ＷＡＮ４側からフレームを受信した場合は、送信元ＭＡＣアドレスを抽出して振分処理部２０へ通知し、フレームをフォワーディングエンジン部３０へ送信し、また、フォワーディングエンジン部３０側からフレームを受信した場合は、フレームの送信元ＭＡＣアドレスと通知を受けた送信元ＭＡＣアドレスとの比較結果に基づいてフレームの送信先を決定する。網インタフェース部５０は、ＷＡＮ４との間でフレームの送受信を行うインタフェースである。通信プロセッサ部６０は、フレームを受信した場合は、ソフトウェア処理によりフレームの転送処理を行い、フレームを書き換える。プロセッサバス７０は、振分処理部２０、４０と通信プロセッサ部６０との間でフレームの送受信に使用するバスである。
【００２１】
フォワーディングエンジン部３０は、ＬＡＮインタフェース部３１と、制御部３２と、フローテーブル部３３と、ＷＡＮインタフェース部３４と、を備える。ＬＡＮインタフェース部３１は、振分処理部２０との間でフレームの送受信を行うインタフェースである。制御部３２は、入力したフレームの送信元ＭＡＣアドレスとフローテーブル部３３に登録されているＭＡＣアドレスとを確認し、エントリが一致した場合に書き換えを行う。フローテーブル部３３は、フレームに含まれるあて先ＩＰアドレス、送信元ＩＰアドレス等の情報を記録するためのテーブルである。ＷＡＮインタフェース部３４は、振分処理部４０との間でフレームの送受信を行うインタフェースである。
【００２２】
通信プロセッサ部６０は、ＬＡＮインタフェース部６１と、ＩＰルーティング部６２と、フローテーブル部６３と、ＷＡＮインタフェース部６４と、を備える。ＬＡＮインタフェース部６１は、プロセッサバス７０を介して振分処理部４０との間でフレームの送受信を行うインタフェースである。ＩＰルーティング部６２は、入力したフレームに対してソフトウェア処理によりフレームの転送処理を行う。フローテーブル部６３は、フレームに含まれるあて先ＩＰアドレス、送信元ＩＰアドレス等の情報を記録するためのテーブルである。ＷＡＮインタフェース部６４は、プロセッサバス７０を介して振分処理部２０との間でフレームの送受信を行うインタフェースである。
【００２３】
ルータ３は、ＬＡＮ２に接続する網インタフェース部１０と、ＷＡＮ４に接続する網インタフェース部５０との間に、振分処理部２０、４０を介してフォワーディングエンジン部３０を配置する。振分処理部２０、４０は、プロセッサバス７０を介して通信プロセッサ部６０の対応するＬＡＮインタフェース部６１、ＷＡＮインタフェース部６４と接続する。
【００２４】
つづいて、ルータ３におけるフレームの転送処理について説明する。ここでは、端末装置１からＷＡＮ４へフレーム（パケット）を送信する場合を想定する。まず、端末装置１がフレームを送信すると、フレームは、ＬＡＮ２、網インタフェース部１０を介して振分処理部２０に入力される。図４は、端末装置１が送信したフレームの構成例を示す図である。ここで、振分処理部２０は、受信したフレームから送信元ＭＡＣアドレスを抽出し、後段の振分処理部４０へ送信元ＭＡＣアドレスの情報を通知する。その後、振分処理部２０は、フレームをフォワーディングエンジン部３０に送信する。
【００２５】
フォワーディングエンジン部３０は、従来と同様に、制御部３２がフローテーブル部３３の検索処理を行い、エントリがヒットした場合、フレームを書き換えて振分処理部４０へ送信する。エントリがヒットしなかった場合、何もせずそのままフレームを振分処理部４０へ送信する。図５は、本実施の形態におけるフローテーブル部３３の構成例を示す図である。フローテーブル部３３は、ＬＡＮ→ＷＡＮ、ＷＡＮ→ＬＡＮのそれぞれについて、フローＩＤテーブルと、フレーム変換情報テーブルを備える。フォワーディング処理における一般的なものであり、フローＩＤテーブルにおけるフローＩＤと、フレーム変換情報におけるフローＩＤが対応している。
【００２６】
つぎに、フレームを受信した振分処理部４０は、フレームの送信元ＭＡＣアドレスを抽出し、振分処理部２０から通知を受けた送信元ＭＡＣアドレスと比較する。比較した結果、不一致の場合、受信したフレームを、網インタフェース部５０へ送信する。送信元ＭＡＣアドレスが一致していた場合、フレームのあて先ＭＡＣアドレスを抽出し、あらかじめ設定された振分処理部４０が接続する通信プロセッサ部６０のポート（ＬＡＮインタフェース部６１）のＭＡＣアドレス、または、ブロードキャストアドレス、または、マルチキャストアドレスに一致している場合は、通信プロセッサ部６０と接続されたポートに送信する。一致していないと判断した場合、当該フレームを廃棄する。
【００２７】
通信プロセッサ部６０における処理は、フォワーディングエンジン部３０とのインタフェースがプロセッサバス７０を経由しない以外は従来と同様である。通信プロセッサ部６０では、ＩＰルーティング部６２が受信したフレームのルーティング処理を実行し、ＷＡＮインタフェース部６４を介して振分処理部２０へ送信する。通信プロセッサ部６０からフレームを受信した振分処理部２０は、無条件にフォワーディングエンジン部３０へフレームを送信する。
【００２８】
当該フレームを受信したフォワーディングエンジン部３０は、前記同様の処理を行うが、通信プロセッサ部６０におけるルーティング処理によりパケットヘッダが更新されているためミスヒットとなり、そのまま振分処理部４０へ送信する。振分処理部４０では、前記同様の処理を行うが、通信プロセッサ部６０におけるルーティング処理によりフレームの送信元ＭＡＣアドレスが更新されているため、振分処理部２０から通知を受けた送信元ＭＡＣアドレスと一致しないことから、そのまま網インタフェース部５０側へ送信し、網インタフェース部５０がＷＡＮ４へ送信する。
【００２９】
図６は、上記処理においてフレームが通過する経路を示す図である。ルータ３では、フォワーディングエンジン部３０においてエントリが一致した場合のフレームの流れは、網インタフェース部１０→振分処理部２０→フォワーディングエンジン部３０→振分処理部４０→網インタフェース部５０、を経由してＷＡＮ４へ出力する。一方、フォワーディングエンジン部３０においてエントリが一致しなかった場合のフレームの流れは、網インタフェース部１０→振分処理部２０→フォワーディングエンジン部３０→振分処理部４０→通信プロセッサ部６０→振分処理部２０→フォワーディングエンジン部３０→振分処理部４０→網インタフェース部５０、を経由してＷＡＮ４へ出力する。なお、フレームをＷＡＮ４から端末装置１側へ送信する場合は、図６に示す流れと反対の流れとなる。
【００３０】
図７は、振分処理部４０における振り分け処理を示すフローチャートである。まず、フレームの入力ポートを確認する（ステップＳ１）。ＷＡＮ４からのフレームである場合（ステップＳ１：ＷＡＮ）、送信元ＭＡＣアドレスを抽出して振分処理部２０に通知する（ステップＳ２）。その後、フレームをフォワーディングエンジン部３０へ送信する（ステップＳ３）。つぎに、通信プロセッサ部６０からのフレームである場合（ステップＳ１：通信プロセッサ部）、フレームをフォワーディングエンジン部３０へ送信する（ステップＳ３）。つぎに、フォワーディングエンジン部３０からのフレームである場合（ステップＳ１：フォワーディングエンジン部）、フレームの送信元ＭＡＣアドレスと、振分処理部２０から通知を受けたＭＡＣアドレスとが一致するかどうか確認する（ステップＳ４）。一致しない場合（ステップＳ４：Ｎｏ）、フレームをＷＡＮ４側へ送信する（ステップＳ５）。なお、通信プロセッサ部６０においてルーティング処理を行い、フレームの送信元ＭＡＣアドレスが更新された場合も、一致しない場合に該当する（ステップＳ４：Ｎｏ）。そのため、フレームをＷＡＮ４側へ送信する（ステップＳ５）。
【００３１】
一致する場合（ステップＳ４：Ｙｅｓ）、つぎに、あて先ＭＡＣアドレスが自ＭＡＣアドレスかどうかを確認する（ステップＳ６）。自ＭＡＣアドレスの場合（ステップＳ６：Ｙｅｓ）、フレームを通信プロセッサ部６０へ送信する（ステップＳ７）。自ＭＡＣアドレスでない場合（ステップＳ６：Ｎｏ）、つぎに、あて先ＭＡＣアドレスがブロードキャストアドレスかどうかを確認する（ステップＳ８）。ブロードキャストアドレスの場合（ステップＳ８：Ｙｅｓ）、フレームを通信プロセッサ部６０へ送信する（ステップＳ７）。ブロードキャストアドレスでない場合（ステップＳ８：Ｎｏ）、つぎに、あて先ＭＡＣアドレスがマルチキャストアドレスかどうかを確認する（ステップＳ９）。マルチキャストアドレスの場合（ステップＳ９：Ｙｅｓ）、フレームを通信プロセッサ部６０へ送信する（ステップＳ７）。マルチキャストアドレスでない場合（ステップＳ９：Ｎｏ）、フレームを廃棄する（ステップＳ１０）。
【００３２】
図８は、振分処理部２０における振り分け処理を示すフローチャートである。フレームの流れが反対になる点を除けば振分処理部４０の処理と同等である。まず、フレームの入力ポートを確認する（ステップＳ１１）。ＬＡＮ２からのフレームである場合（ステップＳ１１：ＬＡＮ）、送信元ＭＡＣアドレスを抽出して振分処理部４０に通知する（ステップＳ１２）。その後、フレームをフォワーディングエンジン部３０へ送信する（ステップＳ１３）。つぎに、通信プロセッサ部６０からのフレームである場合（ステップＳ１１：通信プロセッサ部）、フレームをフォワーディングエンジン部３０へ送信する（ステップＳ１３）。つぎに、フォワーディングエンジン部３０からのフレームである場合（ステップＳ１１：フォワーディングエンジン部）、フレームの送信元ＭＡＣアドレスと、振分処理部４０から通知を受けたＭＡＣアドレスとが一致するかどうか確認する（ステップＳ１４）。一致しない場合（ステップＳ１４：Ｎｏ）、フレームをＬＡＮ２側へ送信する（ステップＳ１５）。なお、通信プロセッサ部６０においてルーティング処理を行い、フレームの送信元ＭＡＣアドレスが更新された場合も、一致しない場合に該当する（ステップＳ１４：Ｎｏ）。そのため、フレームをＬＡＮ２側へ送信する（ステップＳ１５）。
【００３３】
一致する場合（ステップＳ１４：Ｙｅｓ）、つぎに、あて先ＭＡＣアドレスが自ＭＡＣアドレスかどうかを確認する（ステップＳ１６）。自ＭＡＣアドレスの場合（ステップＳ１６：Ｙｅｓ）、フレームを通信プロセッサ部６０へ送信する（ステップＳ１７）。自ＭＡＣアドレスでない場合（ステップＳ１６：Ｎｏ）、つぎに、あて先ＭＡＣアドレスがブロードキャストアドレスかどうかを確認する（ステップＳ１８）。ブロードキャストアドレスの場合（ステップＳ１８：Ｙｅｓ）、フレームを通信プロセッサ部６０へ送信する（ステップＳ１７）。ブロードキャストアドレスでない場合（ステップＳ１８：Ｎｏ）、つぎに、あて先ＭＡＣアドレスがマルチキャストアドレスかどうかを確認する（ステップＳ１９）。マルチキャストアドレスの場合（ステップＳ１９：Ｙｅｓ）、フレームを通信プロセッサ部６０へ送信する（ステップＳ１７）。マルチキャストアドレスでない場合（ステップＳ１９：Ｎｏ）、フレームを廃棄する（ステップＳ２０）。
【００３４】
以上説明したように、本実施の形態によれば、フォワーディングエンジンを備える中継装置において、フォワーディングエンジンにおいて入力したフレームとフローテーブルのエントリが一致しなかった場合は、該当フレームを、フォワーディングエンジンの後段の振分処理部から通信プロセッサへ送信することとした。これにより、フォワーディングエンジンは、通信プロセッサとのインタフェースを備える必要がないため、通信プロセッサとのインタフェースを廃棄することなく、性能向上や機能向上のためにフォワーディングエンジンを容易に交換することができる。
【００３５】
なお、ルータ３において、ＩＰｖ６（Internet  Protocol  version  6）のブリッジ機能を備えることも可能である。図９は、振分処理部４０における振り分け処理を示すフローチャートである。ルータ３の構成は図３と同様である。
【００３６】
図７に示す処理では、振分処理部４０が、フレームの送信元ＭＡＣアドレスを抽出し、振分処理部２０から通知された送信元ＭＡＣアドレスと一致しているかどうかで通信プロセッサ部６０へ送信するかＷＡＮ４へ送信するかを判断していた。しかし、一般のブロードバンドルータで実現されているＩＰｖ６ブリッジ機能を実現しようとした場合、送信元ＭＡＣアドレスは更新されないため機能が実現できない可能性がある。このような問題を回避するため、振分処理部４０にＩＰｖ６パケット識別機能を追加する。
【００３７】
具体的には、フレームの送信元ＭＡＣアドレスと、振分処理部２０から通知を受けたＭＡＣアドレスとが一致するかどうか確認し（ステップＳ４）、一致する場合（ステップＳ４：Ｙｅｓ）、つぎに、ＩＰｖ６ブリッジ機能がＯＮかＯＦＦか確認する（ステップＳ２１）。ＯＮの場合（ステップＳ２１：ＯＮ）、つぎに、イーサタイプがＩＰｖ６かどうかを確認する（ステップＳ２２）。ＩＰｖ６の場合（ステップＳ２２：Ｙｅｓ）、フレームをＷＡＮ４へ送信する（ステップＳ５）。ＩＰｖ６でない場合（ステップＳ２２：Ｎｏ）、つぎに、あて先ＭＡＣアドレスが自ＭＡＣアドレスかどうかを確認する（ステップＳ６）。以降の処理は図７と同様である。ステップＳ２１において、ＯＦＦの場合（ステップＳ２１：ＯＦＦ）、つぎに、あて先ＭＡＣアドレスが自ＭＡＣアドレスかどうかを確認する（ステップＳ６）。以降の処理は図７と同様である。
【００３８】
このように、ＩＰｖ６についての判断処理を追加することにより、さらに、ＩＰｖ６ブリッジ機能を実現することも可能である。
【００３９】
また、ルータ３において、ＰＰＰｏＥ（Point−to−  over  Ethernet（登録商標））のブリッジ機能を備えることも可能である。図１０は、振分処理部４０における振り分け処理を示すフローチャートである。ルータ３の構成は図３と同様である。
【００４０】
図７に示す処理では、振分処理部４０が、フレームの送信元ＭＡＣアドレスを抽出し、振分処理部２０から通知された送信元ＭＡＣアドレスと一致しているかどうかで通信プロセッサ部６０へ送信するかＷＡＮ４へ送信するかを判断していた。しかし、一般のブロードバンドルータで実現されているＰＰＰｏＥブリッジ機能を実現しようとした場合、送信元ＭＡＣアドレスは更新されないため機能が実現できない可能性がある。このような問題を回避するため、振分処理部４０にＰＰＰｏＥパケット識別機能を追加する。
【００４１】
具体的には、フレームの送信元ＭＡＣアドレスと、振分処理部２０から通知を受けたＭＡＣアドレスとが一致するかどうか確認し（ステップＳ４）、一致する場合（ステップＳ４：Ｙｅｓ）、つぎに、ＰＰＰｏＥブリッジ機能がＯＮかＯＦＦか確認する（ステップＳ３１）。ＯＮの場合（ステップＳ３１：ＯＮ）、つぎに、イーサタイプがＰＰＰｏＥかどうかを確認する（ステップＳ３２）。ＰＰＰｏＥの場合（ステップＳ３２：Ｙｅｓ）、フレームをＷＡＮ４へ送信する（ステップＳ５）。ＰＰＰｏＥでない場合（ステップＳ３２：Ｎｏ）、つぎに、あて先ＭＡＣアドレスが自ＭＡＣアドレスかどうかを確認する（ステップＳ６）。以降の処理は図７と同様である。ステップＳ３１において、ＯＦＦの場合（ステップＳ３１：ＯＦＦ）、つぎに、あて先ＭＡＣアドレスが自ＭＡＣアドレスかどうかを確認する（ステップＳ６）。以降の処理は図７と同様である。
【００４２】
このように、ＰＰＰｏＥについての判断処理を追加することにより、さらに、ＰＰＰｏＥブリッジ機能を実現することも可能である。
【産業上の利用可能性】
【００４３】
以上のように、本発明にかかる中継装置は、ネットワーク間でフレームを中継する装置に有用であり、特に、フォワーディングエンジンを備える中継装置に適している。
【符号の説明】
【００４４】
１  端末装置
２  ＬＡＮ
３  ルータ
４  ＷＡＮ
１０  網インタフェース部
２０  振分処理部
３０  フォワーディングエンジン部
３１  ＬＡＮインタフェース部
３２  制御部
３３  フローテーブル部
３４  ＷＡＮインタフェース部
４０  振分処理部
５０  網インタフェース部
６０  通信プロセッサ部
６１  ＬＡＮインタフェース部
６２  ＩＰルーティング部
６３  フローテーブル部
６４  ＷＡＮインタフェース部
７０  プロセッサバス
【図１】
2011066607.tif 000003
【図２】
2011066607.tif 000004
【図３】
2011066607.tif 000005
【図４】
2011066607.tif 000006
【図５】
2011066607.tif 000007
【図６】
2011066607.tif 000008
【図７】
2011066607.tif 000009
【図８】
2011066607.tif 000010
【図９】
2011066607.tif 000011
【図１０】
2011066607.tif 000012