(57)【要約】      （修正有）【課題】ＭＡＣフレームの振分けに関して、ユーザの満足度を高める。【解決手段】各種ＷＡＮ２ａ，２ｂ，２ｃ毎にルータ１０ａ，１０ｂ，１０ｃが接続されている。振分け装置１００には、ルータ１０ａ，１０ｂ，１０ｃが接続されている。振分け装置１００は、複数の宛先ポート番号毎に、複数のルータ１０ａ，１０ｂ，１０ｃのうちで使用するルータを定めるための振分けポリシーテーブル１３４と、端末１からのＭＡＣフレームのヘッダを解析して、ヘッダに含まれている宛先ポート番号を取得し、振分けポリシーテーブル１３４を参照して、複数のルータ１０ａ，１０ｂ，１０ｃのうちから宛先ポート番号に対するルータを選定する振分け処理部１１２と、振分け処理部１１２で選定されたルータへＭＡＣフレームを転送する入出力制御部１１１と、を備えている。【選択図】図２
2009246411.tif 000002
【特許請求の範囲】
【請求項１】
複数の通信経路のうち、一つの通信経路を選択して、該受信手段で受信した通信フレームを選択した該通信経路を経由させて、該目的の宛先へ送信する通信フレーム振分け装置において、
複数の宛先ポート番号毎に、前記複数の通信経路のうちで使用する経路を定めるための振分けポリシーが記憶されている振分けポリシー記憶手段と、
前記受信した通信フレームのヘッダを解析して、該ヘッダに含まれている宛先ポート番号を取得し、前記振分けポリシーを参照して、前記複数の通信経路のうちから該宛先ポート番号に対する通信経路を選定する経路選定手段と、
前記経路選定手段で選定された前記通信経路へ前記通信フレームを送出する送信処理手段と、
を備えていることを特徴とする通信フレーム振分け装置。
【請求項２】
請求項１に記載の通信フレーム振分け装置において、
前記複数の通信回線のそれぞれの通信状態をモニタするモニタ手段と、
前記モニタ手段でモニタされた通信状態が予め定められた条件を満たすか否かに応じて、前記複数の通信経路のうちで、使用可能な１以上の通信経路候補を定める候補決定手段と、
を備え、
前記振分けポリシーには、前記複数の宛先ポート番号毎に、前記複数の通信経路のそれぞれに関して選定優先順位が定められ、
前記経路選定手段は、取得した前記宛先ポート番号に対して、前記候補決定手段により定められた前記１以上の通信回線候補のうちから、前記振分けポリシーを参照して、最も選定優先順位の高い通信経路を選定する、
ことを特徴とする通信フレーム振分け装置。
【請求項３】
請求項１及び２のいずれか一項に記載の通信フレーム振分け装置において、
送信元と宛先との間の通信セッションを特定する情報と、前記複数の通信経路のうちで使用する一つの通信経路とが関係付けられて記憶されるセッション情報記憶手段を備え、
前記経路選定手段は、
前記セッション情報記憶手段に、受信した通信フレームに関する通信セッションを特定する情報が記憶されているか否かを判断し、該情報が記憶されていれば、該情報に関係付けられている通信経路を選定し、該情報が記憶されていなければ、前記振分けポリシーを参照して、前記複数の通信経路のうちから、前記通信フレームから取得した宛先ポート番号に対する通信経路を選定して、該通信フレームを解析して前記通信セッションを特定する情報を抽出し、該情報と該通信経路とを関係付けて前記セッション情報記憶手段に記憶し、送信元と宛先との間の通信セッションが終了したか否かを判定し、前記セッション情報記憶手段に記憶されているもののうちから、通信セッションが終了したと判定したものを削除する、
ことを特徴とする通信フレーム振分け装置。
【請求項４】
請求項３に記載の通信フレーム振分け装置において、
前記候補決定手段により、前記複数の通信経路毎に、使用可能な通信経路候補であるか、使用不能な通信経路であるかが格納される通信状態記憶手段を備え、
前記経路選定手段は、前記通信状態記憶手段に格納されている前記複数の通信回路毎の使用の可否を監視し、該複数の通信回路のうちのいずれか一つの通信回路でも使用不能になると、使用不能になった通信経路が前記セッション情報記憶手段に記憶されているか否かを判断し、使用不能になった通信経路が記憶されている場合、使用不能になった通信経路に関係付けられている通信セッションで利用する通信経路として、前記振分けポリシーを参照して、使用可能な通信経路候補のうちから一の通信経路を選定し、新たに選定した通信経路を該通信セッションを特定する前記情報と関連付けて前記セッション情報記憶手段に記憶する、
【請求項５】
請求項１から４のいずれか一項に記載の通信フレーム振分け装置において、
前記複数の通信経路毎に、それぞれの通信経路の基点となるルータが設けられており、
前記振分けポリシーは、前記複数の宛先ポート番号毎に、前記複数の通信経路のそれぞれの基点となるルータのうちで、使用するルータを定めるためのポリシーであり、
前記経路選定手段は、前記通信フレームとしてのＭＡＣフレームのヘッダを解析して、該ヘッダに含まれている宛先ポート番号を取得し、前記振分けポリシーを参照して、複数の前記ルータのうちから、該ＭＡＣフレームから取得した宛先ポート番号に対するルータを選定し、
前記送信処理手段は、前記経路選定手段で選定された前記ルータへＭＡＣフレームを送出する、
ことを特徴とする通信フレーム振分け装置。
【請求項６】
請求項５に記載の通信フレーム振分け装置において、
前記複数のルータのそれぞれの識別子とそれぞれのＭＡＣアドレスとを関連付けて記憶しているアドレス記憶手段を備え、
前記経路選定手段は、前記振分けポリシーを参照して、複数の前記ルータのうちから、前記ＭＡＣフレームから取得した宛先ポート番号に対するルータを選定し、前記アドレス記憶手段から該ルータのＭＡＣアドレスを取得し、受信したＭＡＣフレームに含まれているレイヤ３以上のフレームに変更を加えずに、該ＭＡＣフレームの宛先ＭＡＣアドレスを該ルータのＭＡＣアドレスに書き換え、
前記送信処理手段は、宛先ＭＡＣアドレスが前記経路選定手段により選定された前記ルータのＭＡＣアドレスに書き換えられたＭＡＣフレームを、該ルータへ送出する、
ことを特徴とする通信フレーム振分け装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信フレームを送出する複数の通信経路のうち、一つの通信経路を選択する技術に関する。
【背景技術】
【０００２】
ＩＰ（Internet Protocol）を使用した通信は、“ルータ”と呼ばれるネットワーク間通信装置を用いることで、「最適な経路の選択」や「通信可否に関する制御」、「フレームの優先制御」などを行うことが可能となっている。
【０００３】
また、地理的距離を隔てたネットワーク間の通信は、通信業者の提供する公衆回線網を通じて行われることが一般的であり、この公衆回線網は“ＷＡＮ(Wide Area Network)”と呼ばれている。このＷＡＮに対して、Ethernet（登録商標）によって形成された構内のネットワークは“ＬＡＮ(Local Area Network)”と呼ばれ、一般に同一ネットワーク上にPCやIP電話などの端末が複数配置される。ＬＡＮを形成・延伸するデバイスとして、スイッチやハブ、ブリッジなどがある。
【０００４】
ＬＡＮとＷＡＮは、ルータによって相互に接続されるが、昨今では障害を考慮し、一つのＬＡＮに対して複数のＷＡＮを接続するデザインが主流であり、この場合、ルータも同一ＬＡＮ内に複数配置されることが多い。
【０００５】
ＬＡＮに収容されている端末は、他のネットワークと通信を行う際にフレームを転送するルータを指定し(このルータをデフォルトゲートウェイと呼ぶ)、このルータを、一つのＩＰアドレス及びそのＩＰアドレスに対応するＭＡＣアドレスによってのみ認識する。そのため、一つのＬＡＮに複数の複数のルータを使用する場合には、それらを連動させ、ひとつの仮想ＩＰアドレスを引き継ぎあうことで、対障害性を高める“冗長ゲートウェイ”としてルータを機能させている。
【０００６】
とろろで、一つのＬＡＮに対して複数のＷＡＮが接続されており、複数のＷＡＮのうちのいずれか選定し、このＬＡＮに収容されている端末からのＩＰパケットを選定したＷＡＮに送出させる技術として、例えば、以下の特許文献１に記載の技術がある。
【０００７】
この技術は、宛先ＩＰアドレスに応じて、複数のＷＡＮのうちのいずれか適切なＷＡＮを選定し、フレームの転送遅延を小さくする技術である。
【０００８】
【特許文献１】特開２００３−１９８５８０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
上記特許文献１に記載の技術は、確かに、ＩＰパケットの転送遅延を小さくすることができる。しかしながら、ユーザからは、さらに、通信コストを抑えたい、通信品質を高めたい等の各種要望ある。
【００１０】
そこで、本発明は、各種ユーザからの要望に応え、よりユーザを満足させることができる通信フレーム振分け装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するための通信フレーム振分け装置に係る発明は、
複数の通信経路のうち、一つの通信経路を選択して、該受信手段で受信した通信フレームを選択した該通信経路を経由させて、該目的の宛先へ送信する通信フレーム振分け装置において、
複数の宛先ポート番号毎に、前記複数の通信経路のうちで使用する経路を定めるための振分けポリシーが記憶されている振分けポリシー記憶手段と、
前記受信した通信フレームのヘッダを解析して、該ヘッダに含まれている宛先ポート番号を取得し、前記振分けポリシーを参照して、前記複数の通信経路のうちから該宛先ポート番号に対する通信経路を選定する経路選定手段と、
前記経路選定手段で選定された前記通信経路へ前記通信フレームを送出する送信処理手段と、
を備えていることを特徴とする。
【００１２】
送信元から送出された通信フレーム中の宛先ポート番号は、この送信元で使用するアプリケーションの種類によって定まる。また、送信元で使用するアプリケーションの種類によって、例えば、多少通信品質が低くとも通信コストの安い通信経路を利用する方が好ましい場合もあれば、多少通信コストが高くとも通信品質の高い通信経路を利用する方が好ましい場合もある。
【００１３】
そこで、本発明では、振分けポリシーを参照して、複数の通信経路のうち、送信元のアプリケーションの種類に応じて定まる通信フレーム中の宛先ポート番号に対応した通信経路を選定することで、ユーザの満足度を高めている。
【発明を実施するための最良の形態】
【００１４】
以下、本発明に係る通信フレーム振分け装置の一実施形態について、図面を用いて説明する。
【００１５】
本実施形態の通信フレーム振分け装置１００は、図１に示すように、ＬＡＮ内に収容されている。このＬＡＮ内には、さらに、複数の端末１，１，…も収容されている。
【００１６】
このＬＡＮは、各ルータ１０ａ，１０ｂ，１０ｃを介して、各ＷＡＮと接続されている。
【００１７】
このＬＡＮに接続されているＷＡＮとして、広域ＬＡＮ２ａ、ＩＰ−ＶＰＮ（Virtual Private Network）２ｂ、Internet−ＶＰＮ２ｃがある。広域ＬＡＮ２ａは、転送ロスが少なく転送遅延が小さいという長所があるものの、通信コストが嵩むという短所がある。また、ＩＰ−ＶＰＮ２ｂは、転送ロスが少ないという長所があるものの、転送遅延が比較的大きいという短所がある。但し、通信コストは、広域ＬＡＮ２ａよりも安い。また、Internet−ＶＰＮ２ｃは、転送ロスが比較的多く転送遅延も比較的大きいという短所があるものの、通信コストが非常に安いという長所がある。
【００１８】
各端末１，１，…は、通信フレーム振分け装置１００を介して、各ルータ１０ａ，１０ｂ，１０ｃと接続されている。ルータ１０ａは、広域ＬＡＮ２ａに接続され、ルータ１０ｂは、ＩＰ−ＶＰＮ２ｂに接続され、ルータ１０ｃは、Internet−ＶＰＮ２ｃに接続されている。
【００１９】
通信フレーム振分け装置１００は、図２に示すように、ＬＡＮ側インタフェース１０１と、ＬＡＮ側入出力バッファ１０２と、ＷＡＮ側インタフェース１０３と、ＷＡＮ側入出力バッファ１０４と、各種制御処理を実行する制御部１１０と、ＷＡＮ側の通信状態をモニタするモニタ部１２０と、各種データを記憶するデータ記憶部１３０と、各種プログラムが予め記憶されているプログラム記憶部１４０と、を備えている。
【００２０】
制御部１１０は、ＬＡＮ側からＷＡＮ側へ及びＷＡＮ側からＬＡＮ側へのＭＡＣフレームの入出力を制御する入出力制御部（送信処理手段）１１１と、ＬＡＮ側からのＭＡＣフレームをいずれかのルータ１０ａ，１０ｂ，１０ｃに振り分ける振分け処理部（経路選定手段）１１２と、を有している。
【００２１】
モニタ部１２０は、ユーザが定めた監視ポイントとの間で通信が可能か否かをモニタするＩＣＭＰ（Internet Control Message Protocol）モジュール（モニタ手段）１２２と、各ルータ１０ａ，１０ｂ，１０ｃでの通信量をモニタするＳＮＭＰ（Simple Network Management Protocol）モジュール（モニタ手段）１２３と、これらのモジュール１２２，１２３によるモニタ動作を管理するモニタ管理部（候補決定手段）１２１とを有している。
【００２２】
データ記憶部１３０は、各ルータ１０ａ，１０ｂ，１０ｃ等のＭＡＣアドレス等が格納されているアドレステーブル１３１と、モニタ部１２１によるモニタ結果等が格納される通信状態テーブル１３２と、通信セッションが開始されたＭＡＣフレームの振分け先ルータのＩＤ等が格納されるセッションテーブル１３３と、ＭＡＣフレームをいずれのルータ１０ａ，１０ｂ，１０ｃに振り分けるかを選定するための振分けポリシーが格納されている振分けポリシーテーブル１３４と、を有している。
【００２３】
プログラム記憶部１４０には、ＬＡＮ側からＷＡＮ側へ及びＷＡＮ側からＬＡＮ側へのＭＡＣフレームの入出力を制御するための入出力制御プログラム１４１と、ＬＡＮ側からのＭＡＣフレームをいずれかのルータ１０ａ，１０ｂ，１０ｃに振り分けるための振分け処理プログラム１４２と、ユーザが定めた監視ポイントとの間で通信が可能か否かをモニタするためのＩＣＭＰプログラム１４５と、各ルータ１０ａ，１０ｂ，１０ｃでの通信量をモニタするためのＳＮＭＰプログラム１４６と、モニタ動作を管理するためのモニタ管理プログラム１４３と、が予め記憶されている。
【００２４】
制御部１１０及びモニタ部１２０は、いずれも、ＣＰＵ等の演算装置で構成されている。制御部１１０の各機能１１１，１１２は、それぞれ、プログラム記憶部１４０に記憶されている入出力プログラム１４１、振分け処理プログラム１４２を演算装置が実行することで機能する。また、モニタ部１２０の各機能１２１，１２２，１２３も、それぞれ、プログラム記憶部１４０に記憶されているモニタ管理プログラム１４３、ＩＣＭＰプログラム１４５、ＳＮＭＰプログラム１４６を演算装置が実行することで機能する。データ記憶部１３０は、例えば、ＤＲＡＭ等で構成されている。また、プログラム記憶部１４０は、例えば、ＲＯＭ等で構成されている。
【００２５】
各ルータ１０ａ，１０ｂ，１０ｃは、それぞれ、図３に示すように、ＬＡＮ側インタフェース１１と、ＷＡＮ側インタフェース１２と、各種制御処理を実行する制御部１３と、各種データを記憶するデータ記憶部１４と、各種プログラムが予め記憶されているプログラム記憶部１５と、を備えている。
【００２６】
制御部１３は、いずれかのインタフェース１１，１２に入力した通信フレームの経路ルーティングを行うルーティング処理部１３ａと、ユーザが定めた監視ポイントとの間で通信が可能か否かをモニタして、その結果を通信フレーム振分け装置１００に通知するＩＣＭＰモジュール１３ｂと、自ルータの通信量をモニタして、その結果を通信フレーム振分け装置１００に通知するＳＮＭＰモジュール１３ｃと、を有している。このＳＮＭＰモジュール１３ｃは、通信フレーム振分け装置１００のＳＮＭＰモジュール１２３が一般的にマネージャーと呼ばれているのに対して、エージェントと呼ばれている。
【００２７】
データ記憶部１４は、各通信セッション毎の経路が格納される経路セッションテーブル１４ａと、ＳＮＭＰモジュール１３ｃでのモニタ結果が格納されるＭＩＢ（Management Information Base）１４ｂと、を有している。
【００２８】
通信フレーム振分け装置１００のアドレステーブル１３１は、図４に示すように、管理番号が格納される管理番号欄１３１ａと、装置ＩＤが格納される装置ＩＤ欄１３１ｂと、各装置のＭＡＣアドレスが格納されるＭＡＣアドレス欄１３１ｃと、各装置のＩＰアドレスが格納されるＩＰアドレス欄１３１ｄと、デフォルトルータであるか否かを示すデフォルトルータフラグ欄１３１ｅと、を有している。このアドレステーブル１３１の各欄のデータは、後述の振分け処理を実行する以前に格納されている。ＩＰアドレス欄１３１ｄに格納される各ルータ１０ａ，１０ｂ，１０ｃのＩＰアドレスは、いずれも、ＬＡＮ側のＩＰアドレスである。また、デフォルトルータフラグ１３１ｅには、デフォルトルータであることを示す「１」、又は、デフォルトルータではないことを示す「０」が格納される。この例では、ＩＤ「ＲＴ０３」のルータ１０ｃがデフォルトルータである。
【００２９】
通信フレーム振分け装置１００の通信状態テーブル１３２は、図５に示すように、ルータＩＤが格納されるルータＩＤ欄１３２ａと、ＳＮＭＰモジュール１２３でのモニタ結果を振分け処理で利用するか否かが格納される利用有無設定欄１３２ｂと、ＳＮＭＰモジュール１２３でのモニタ結果に基づく該当ルータの利用の可否が格納される結果欄１３２ｂと、ＩＣＭＰモジュール１２２でのモニタ結果を振分け処理で利用するか否かが格納される利用有無設定欄１３２ｄと、ＩＣＭＰモジュールでのモニタ結果に基づく該当ルータの利用の可否が格納される結果欄１３２ｅと、最終的な当該ルータの利用の可否が格納される利用可能性欄１３２ｆと、を有している。この通信状態テーブル１３２の各利用有無設定欄１３２ｂ,１３２ｄには、モニタ結果を振分け処理で利用することを示す「１」、又はモニタ結果を振分け処理で利用しないことを示す「０」が格納される。この各利用有無設定欄１３２ｂ,１３２ｄのデータは、振分け処理以前に、ＬＡＮユーザ等により設定される。各結果欄１３２ｃ，１３２ｅには、該当ルータが利用できることを示す「１」、又は該当ルータが利用に適さないことを示す「０」が格納される。各結果欄１３２ｃ，１３２ｅ及び利用可能性欄１３２ｆのデータは、各モジュール１２２，１２３でモニタ結果が得られると、モニタ管理部１２１により格納される。
【００３０】
通信フレーム振分け装置１００のセッションテーブル１３３は、図６に示すように、管理番号が格納される管理番号欄１３３ａと、レイヤ４の通信プロトコル種別が格納される種別欄１３３ｂと、受信したＭＡＣフレームの送信元のＩＰアドレス及びポート番号が格納される送信元アドレス/ポート欄１３３ｃと、受信したＭＡＣフレーム中の宛先ＩＰアドレス及びポート番号が格納される宛先アドレス/ポート欄１３３ｄと、受信したＭＡＣフレームの振分け先ルータのＩＤが格納される振分けルータＩＤ欄１３３ｅと、種別、送信元のＩＰアドレス及びポート番号、宛先のＩＰアドレス及びポート番号が同一のＭＡＣフレームを最後に受信した時刻が格納される最終受信時刻欄１３３ｆと、を有している。このセッションテーブル１３３の各欄のデータは、いずれも、振分け処理過程で、振分け処理部１１２により格納される。
【００３１】
通信フレーム振分け装置１００の振分けポリシーテーブル１３４は、図７に示すように、宛先ポート番号が格納される宛先ポート番号欄１３４ａと、ルータＩＤが格納されるルータＩＤ欄１３４ｂと、ルータの選定優先順位が格納される優先順位欄１３４ｃと、を有している。この振分けポリシーテーブル１３４の各欄のデータは、いずれも、振分け処理前に、ＬＡＮユーザ等により設定される。
【００３２】
この振分けポリシーテーブル１３４で示される振分けポリシーは、例えば、宛先ポート番号が「５２」の場合、ＩＤが「ＲＴ０１」のルータ１０ａに関しては選定優先順位が「３」で、ＩＤが「ＲＴ０２」のルータ１０ａに関しては選定優先順位が「２」で、ＩＤが「ＲＴ０１」のルータ１０ａに関しては選定優先順位が「１」である、というものである。
【００３３】
宛先ポート番号は、送信元の端末１が使用するアプリケーションの種類に応じて定められる。例えば、送信元の端末１が、ＵＤＰ（User Datagram Protocol）を採用するアプリケーションを用いている場合には、この端末からの通信フレーム中に格納されている宛先ポート番号は「５２」となり、送信元の端末１が、ＴＣＰ（Transmission Control Protocol）を採用するアプリケーションを用いている場合には、宛先ポート番号は「８０」となり、送信元の端末が、ＩＣＭＰ（Internet Control Message Protocol）を採用するアプリケーションを用いている場合には、このＩＣＭＰでは宛先ポート番号の概念が存在しない関係で、この端末からの通信フレーム中に宛先ポート番号は格納されない。
【００３４】
この振分けポリシーテーブル１３４では、宛先ポート番号が「５２」、つまり、送信元の端末１が、ＵＤＰ（User Datagram Protocol）を採用するアプリケーションを用いている場合、ＩＤが「ＲＴ０３」のルータ１０ｃの選定優先順位を「１」とし、ＩＤが「ＲＴ０２」のルータ１０ｂの選定優先順位を「２」とし、ＩＤが「ＲＴ０１」のルータ１０ａの選定優先順位を「３」としている。
【００３５】
ＵＤＰは、ネットワーク層のプロトコルであるＩＰプロトコルをほぼそのままアプリケーションから使えるようにしただけのプロトコルである。このＵＤＰは、アプリケーションから渡されたデータに対して、ポート番号とチェックサムを付加しただけで、それをそのままＩＰパケットに載せて、送信しているだけで、送信先の受信確認やエラー時の再送処理機能がない。すなわち、ＵＤＰは、高い通信品質を要求する通信には適さないプロトコロル、言い換えると高い通信品質を要求しない通信に適したプロトコルである。このため、ここでは、宛先ポート番号が「５２」、つまり、送信元の端末がＵＤＰを採用するアプリケーションを用いている場合には、前述したように、転送ロスが比較的多く転送遅延も比較的大きいという短所があるものの、通信コストが非常に安いInternet−ＶＰＮ２ｃに接続されているルータ「ＲＴ０３」１０ｃの選定優先順位を「１」とし、次に通信コストが安いＩＰ−ＶＰＮ（Virtual Private Network）２ｂに接続されているルータ「ＲＴ０２」１０ｂの選定優先順位を「２」とし、最も通信コストが高い広域ＬＡＮ２ａに接続されているルータ「ＲＴ０１」１０ａの選定優先順位を「３」としている。
【００３６】
また、ＴＣＰは、全二重で信頼性があり、フロー制御のあるセッション指向（ストリーム型）の通信を行なうためのプロトコルである。このＴＣＰでは、ネットワークの物理的な構成やその特性などに左右されることなく、常に確実な通信を行えることが保証される。すなわち、ＴＣＰは、高い通信品質を要求される通信に適したプロトコルである。このため、ここでは、宛先ポート番号が「８０」、つまり、送信元の端末がＴＣＰを採用するアプリケーションを用いている場合には、前述したように、通信コストが非常に高いという短所があるものの、転送ロスが少なく転送遅延も小さい広域ＬＡＮ２ａに接続されているルータ「ＲＴ０１」１０ａの選定優先順位を「１」とし、次に、通信品質の高いＩＰ−ＶＰＮ（Virtual Private Network）２ｂに接続されているルータ「ＲＴ０２」１０ｂの選定優先順位を「２」とし、最も通信品質の低いInternet−ＶＰＮ２ｃに接続されているルータ「ＲＴ０３」１０ｃの選定優先順位を「３」としている。
【００３７】
次に、図９に示すシーケンス図に従って、ＬＡＮ内の各機器の動作について説明する。
【００３８】
通信フレーム振分け装置１００のＩＣＭＰモジュール１２２は、モニタ管理部１２１からの指示に従って、定期的に（例えば、数秒毎）、入出力制御部１１１での入出力制御下、各ルータ１０ａ，１０ｂ，１０ｃへＩＣＭＰのechoパケットを送信する（Ｓ１１）。各ルータ１０ａ，１０ｂ，１０ｃのＩＣＭＰモジュールは、このechoパケットを受信すると、ユーザが定めた監視ポイントへechoパケットを送信し、このechoパケットに返信があれば、監視ポイントとの間での通信が可能であることを示すecho-replyパケットを通信フレーム振分け装置１００へ返す。通信フレーム振分け装置１００のＩＣＭＰモジュール１２２が、入出力制御部１１１を介して、このecho-replyパケットを受信すると、その旨をモニタ管理部１２１へ通知する（Ｓ１２）。モニタ管理部１２１は、これを受けて、通信状態テーブル１３２の該当ルータのレコード中のＩＣＭＰ結果欄１３２ｅに「１（該当ルータは利用可能）」又は「０（該当ルータは利用に不適）」を格納すると共に、利用可能性欄１３２ｆに「Available」又は「Unavailable」を格納する（Ｓ１３）。
【００３９】
具体的に、モニタ管理部１２１は、ＩＣＭＰモジュール１２２からecho-replyパケットを受信した旨の通知を受けた場合には、通信状態テーブル１３２の該当ルータのレコード中のＩＣＭＰ結果欄１３２ｅに「１（該当ルータは利用可能）」を格納し、ＩＣＭＰモジュール１２２からecho-replyパケットを受信した旨の通知を所定時間受けない場合には、通信状態テーブル１３２の該当ルータのレコード中のＩＣＭＰ結果欄１３２ｅに「０（該当ルータは利用に不適）」を格納する。
【００４０】
また、該当ルータのレコード中で、各利用有無設定欄１３２ｂ,１３２ｄに「１（モニタ結果を振分け処理で利用）」が格納されている場合、各結果欄１３２ｃ,１３２ｅのいずれにも「１（該当ルータは利用可能）」が格納されていると、モニタ管理部１２１は、利用可能性欄１３２ｆに「Available」を格納し、ＩＣＭＰ結果欄１３２ｅに「０（該当ルータは利用に不適）」が格納されていると、ＳＮＭＰ結果欄１３２ｃの格納内容に関わらず、利用可能性欄１３２ｆに「Unavailable」を格納し、ＳＮＭＰ結果欄１３２ｃに「０（該当ルータは利用に不適）」が格納され、且つＩＣＭＰ結果欄１３２ｅに「１（該当ルータは利用可能）」が格納されていると、利用可能性欄１３２ｆに「Exceeded」を格納する。
【００４１】
また、該当ルータのレコード中で、ＳＮＭＰ利用有無設定欄１３２ｂにのみ「１（モニタ結果を振分け処理で利用）」が格納されている場合、モニタ管理部１２１は、ＳＮＭＰ結果欄１３２ｃに「０（該当ルータは利用に不適）」が格納されていると、利用可能性欄１３２ｆに「Exceeded」を格納し、ＳＮＭＰ結果欄１３２ｃに「１（該当ルータは利用可能）」が格納されていると、利用可能性欄１３２ｆに「Available」を格納する。また、該当ルータのレコード中で、ＩＣＭＰ利用有無設定欄１３２ｄにのみ「１（モニタ結果を振分け処理で利用）」が格納されている場合、モニタ管理部１２１は、ＩＣＭＰ結果欄１３２ｅに「１（該当ルータは利用可能）」が格納されていると、利用可能性欄１３２ｆに「Available」を格納し、ＩＣＭＰ結果欄１３２ｅに「０（該当ルータは利用に不適）」が格納されていると、利用可能性欄１３２ｆに「Unavailable」を格納する。
【００４２】
通信フレーム振分け装置１００のＳＮＭＰモジュール１２３は、モニタ管理部１２１からの指示に従って、定期的に（例えば、数秒毎）、入出力制御部１１１での入出力制御下、各ルータ１０ａ，１０ｂ，１０ｃへＳＮＭＰの通信量送信要求パケットを送信する（Ｓ１４）。各ルータ１０ａ，１０ｂ，１０ｃのＳＮＭＰモジュール１３ｃは、自ルータに対する通信フレームの入出力がある毎に、入出力量（通信量）をデータ記憶部１４のＭＩＢ１４ｂに格納しており、通信量送信要求パケットを受信すると、このＭＩＢ１４ｂに格納されている通信量パケットを通信フレーム振分け装置１００へ返す。通信フレーム振分け装置１００のＳＮＭＰモジュール１２２が、入出力制御部１１１を介して、この通信量パケットを受信すると、このパケットが示す通信量をモニタ管理部１２１へ通知する（Ｓ１５）。モニタ管理部１２１は、この通信量に応じて、通信状態テーブル１３２の該当ルータのレコード中のＳＮＭＰ結果欄１３２ｃに「１（該当ルータは利用可能）」又は「０（該当ルータは利用に不適）」を格納すると共に、利用可能性欄１３２ｆに「Available」「Unavailable」又は「Exceeded」を格納する（Ｓ１６）。
【００４３】
具体的に、モニタ管理部１２１は、該当ルータの通信量が該当ルータに対して予め定められた通信量を超える場合には、通信状態テーブル１３２の該当ルータのレコード中のＳＮＭＰ結果欄１３２ｃに「０（該当ルータは利用に不適）」を格納し、予め定められた通信量以下の場合には、該当ルータのレコード中のＳＮＭＰ結果欄１３２ｃに「１（該当ルータは利用可能）」を格納する。なお、利用可能性欄１３２ｆの「Available」又は「Unavailable」又は「Exceeded」の格納条件は、前述のステップ１３の場合と同様である。なお、この「Exceeded」は、通信量が予め定められた通信量を超えていることを示しており、通信不能であることを示すものではない。
【００４４】
以上のように、通信状態テーブル１３２の各結果欄１３２ｃ,１３２ｅ及び利用可能性欄１３２ｆのデータは、モニタ管理部１２１により、定期的に更新される。
【００４５】
ＬＡＮ内のいずれかの端末１が、ＷＡＮを介して通信先装置３とのセッション開始要求を出力し、セッションを開始すると（Ｓ１７）、この端末１から通信フレーム振分け装置１００へＭＡＣフレームが送信される（Ｓ１８）。通信フレーム振分け装置１００は、いずれかの端末１からＭＡＣフレームを受信すると、振分け処理を実行して、ＭＡＣフレームの振分け先ルータ１０ａを定め（Ｓ２０）、このルータ１０ａに対してＭＡＣフレームを転送する（Ｓ３２）。このルータ１０ａは、ルーティング処理を行い（Ｓ３３）、このルーティング処理で定められたルートでＭＡＣフレーム中に含まれるＩＰパケットを通信先装置３へ転送する（Ｓ３４）。
【００４６】
次に、以上で説明した振分け処理（Ｓ２０）の詳細について、図１０に示すフローチャートに従って説明する。
【００４７】
通信フレーム振分け装置１００の振分け処理部１１２が、端末１から送出されたＭＡＣフレームを入出力制御部１１１から受け付けると（Ｓ２１）、このＭＡＣフレームに含まれている宛先ＭＡＣアドレスが通信フレーム振分け装置自身のＭＡＣアドレスか否かをアドレステーブル１３１を参照して判断する（Ｓ２２）。
【００４８】
ここで、ＭＡＣフレームの構成について、図８を用いて説明する。
【００４９】
ＭＡＣフレームは、ＭＡＣヘッダ部８０とＭＡＣデータ部８１とを有している。ＭＡＣヘッダ部８０には、宛先ＭＡＣアドレス８０ａ、送信元ＭＡＣアドレス８０ｂ等が格納されている。また、ＭＡＣデータ部８１には、ＩＰパケットが格納されている。このＩＰパケットは、ＩＰヘッダ部８２とＩＰデータ部８３とを有している。ＩＰヘッダ部８２には、宛先ＩＰアドレス８２ａ、送信元ＩＰアドレス８２ｂ等が格納されている。また、ＩＰデータ部８３には、レイヤ４の通信フレーム、例えば、ＴＣＰ（Transmission Control Protocol）セグメント、ＵＤＰ（User Datagram Protocol）データグラム等が格納されている。レイヤ４の通信フレームは、レイヤ４ヘッダ部８４とデータ部８５とを有している。
【００５０】
振分け処理部１１２は、以上で説明したＭＡＣフレームのＭＡＣヘッダ部８０に格納されている宛先ＭＡＣアドレス８０ａが通信フレーム振分け装置自身のＭＡＣアドレスか否かを判断する（Ｓ２２）。各端末１０の利用者のうち、通信フレーム振分け装置１００の機能を利用したい利用者は、宛先ＭＡＣアドレスを通信フレーム振分け装置１００のＭＡＣアドレスに設定し、通信フレーム振分け装置１００の機能の利用を望まない利用者は、デフォルト宛先ＭＡＣアドレスをいずれかのルータ１０ａ，１０ｂ，１０ｃのＭＡＣアドレスに設定する。このため、このステップ２２では、通信フレーム振分け装置１００が受信したＭＡＣフレームが、通信フレーム振分け装置１００による振分け処理を施すものであるか否かを判断するために、宛先ＭＡＣアドレス８０が通信フレーム振分け装置自身のＭＡＣアドレスか否かを判断する。
【００５１】
振分け処理部１１２は、宛先ＭＡＣアドレス８０が通信フレーム振分け装置自身のＭＡＣアドレスでない、つまり、受信したＭＡＣフレームが通信フレーム振分け装置１００による振分け処理を施すものでないと判断すると、このＭＡＣフレームをそのまま入出力制御部１１１に渡し、この入出力制御部１１１から、ＭＡＣフレームに格納されている宛先ＭＡＣアドレスで規定されているルータへ、このＭＡＣフレームを転送させる（Ｓ３２）。
【００５２】
一方、振分け処理部１１２は、ステップ２２で、宛先ＭＡＣアドレス８０が通信フレーム振分け装置自身のＭＡＣアドレスである、つまり、受信したＭＡＣフレームが通信フレーム振分け装置１００による振分け処理を施すものであると判断すると、セッションテーブル１３３（図６）のレコード中で、最終受信時刻欄１３３ｆに格納されている時刻が現時点までで所定時間以上経過したものがあるか否かを判断する（Ｓ２３）。所定時間以上経過したレコードがあれば、このレコードで規定されるセッションは終了したものとみなし、このレコードを削除してから（Ｓ２４）、ステップ２５に進む。また、所定時間以上経過したレコードがない場合には、直ちに、ステップ２５に進む。
【００５３】
ステップ２５では、振分け処理部１１２が、受信したＭＡＣフレームに対応するレコードがセッションテーブル１３３にあるか否かを判断する。この際、振分け処理部１１２は、ＭＡＣフレームに収められているＩＰパケットのＩＰヘッダを参照して、送信元ＩＰアドレス及び送信元ポート番号と、宛先ＩＰアドレス及び宛先ポート番号を把握し、これらのＩＰアドレス等がセッションテーブル１３３（図６）中のいずれかのレコードに存在するか否かを判断する。
【００５４】
振分け処理部１１２は、受信したＭＡＣフレームに対応するレコードがセッションテーブル１３３にないと判断すると、このＭＡＣフレームが振分けポリシーの適用対象か否かを判断する（Ｓ２６）。この判断は、このＭＡＣフレーム中のＩＰヘッダに収められている宛先ポート番号が振分けポリシーテーブル１３４（図７）のレコード中にあるか否かで判断する。
【００５５】
振分け処理部１１２は、このＭＡＣフレームが振分けポリシーの適用対象でないと判断すると、アドレステーブル１３１（図４）を参照して、このＭＡＣフレームの宛先ＭＡＣアドレスをデフォルトルータ「ＲＴ０３」１０ｃのＭＡＣアドレスに変更する（Ｓ３０）。そして、振分け処理部１１２は、このＭＡＣフレームを入出力制御部１１１に渡し、入出力制御部１１１から、ＭＡＣフレームに格納されている宛先ＭＡＣアドレスで規定されているデフォルトルータ「ＲＴ０３」１０ｃへ、このＭＡＣフレームを転送させる（Ｓ３２）。
【００５６】
ステップ２６で、受信したＭＡＣフレームが振分けポリシーの適用対象であると判断すると、振分け処理部１１２は、通信状態テーブル１３２及び振分けポリシーテーブル１３４を参照して、このＭＡＣフレームを転送するルータを選定する（Ｓ２７）。この際、振分け処理部１１２は、通信状態テーブル１３２（図５）を参照して、複数のルータ１０ａ，１０ｂ，１０ｃのうち、「Available」であるルータを把握する。ここでは、仮に、図５に示すように、ＩＤが「ＲＴ０１」のルータ１０ａとＩＤが「ＲＴ０３」のルータ１０ｃとが「Available」であるとする。次に、振分けポリシーテーブル１３４（図７）を参照して、受信したＭＡＣフレーム中のＩＰヘッダに収められている宛先ポート番号に対応するルータのうちから、「Available」なルータを選定し、仮に、「Available」なルータが複数ある場合には、複数の「Available」なルータのうちから、優先順位が高いルータを選定する。例えば、宛先ポート番号が「５２」の場合、この宛先ポート番号に対応するルータのうちで、「Available」なルータは、前述したように、ＩＤが「ＲＴ０１」のルータ１０ａとＩＤが「ＲＴ０３」のルータ１０ｃであるから、この二つのルータ１０ａ，１０ｃのうちで、優先順位の高いルータ「ＲＴ０３」１０ｃを選定する。また、宛先ポート番号が「８０」、「−（ポート番号無し）」の場合、「Available」なルータ１０ａ，１０ｃのうちで、優先順位の高いルータ「ＲＴ０１」１０ａを選定する。なお、ここで、通信量が予め定められた通信量を超えているものの、通信可能な「Exceeded」のルータを選定しないのは、このルータの通信量がさらに増加して、通信速度が遅くなることや、通信不能になってしまうことを回避するためである。
【００５７】
振分け処理部１１２は、ルータを選定すると、受信したＭＡＣフレームと関係付けてこのルータのＩＤをセッションテーブル１３３に登録する（Ｓ２８）。振分け処理部１１２は、まず、セッションテーブル１３３（図６）の新たなレコードの管理番号欄１３３ａ、に連番を格納する。続いて、受信したＭＡＣフレーム中のレイヤ４ヘッダを参照して、レイヤ４の種別を把握し、この種別をこのレコードの種別欄１３３ｂに格納する。さらに、このレコードの送信元アドレス/ポート欄１３３ｃ、宛先アドレス/ポート欄１３３ｄに、受信したＭＡＣフレーム中のＩＰヘッダに収められている、送信元ＩＰアドレス/送信元ポート番号、宛先ＩＰアドレス/宛先ポート番号を、それぞれ格納する。さらに、ステップ２５で定めたルータのＩＤを振分けルータＩＤ欄１３３ｅに格納し、受信したＭＡＣフレームの受信時刻を最終受信時刻欄１３３ｆに格納する。
【００５８】
振分け処理部１１２は、セッションテーブル１３３への登録が終了すると、セッションテーブル１３３の新たなレコードのルータＩＤ欄１３３ｅに格納されたルータＩＤのＭＡＣアドレスをアドレステーブル１３１（図４）から取得する。そして、受信したＭＡＣフレームの宛先ＭＡＣアドレスを、取得したＭＡＣアドレスに変更する（Ｓ２９）。次に、振分け処理部１１２は、このＭＡＣフレームを入出力制御部１１１に渡し、入出力制御部１１１から、ＭＡＣフレームに格納されている宛先ＭＡＣアドレスで規定されているルータへ、このＭＡＣフレームを転送させる（Ｓ３２）。
【００５９】
また、ステップ２５で、受信したＭＡＣフレームに対応するレコードがセッションテーブル１３３にあると判断すると、言い換えると、このＭＡＣフレームは通信先装置３とセッション中のフレームであると判断すると、振分け処理部１１２は、この対応レコードのルータＩＤ欄１３３ｅに格納されたルータＩＤのＭＡＣアドレスをアドレステーブル１３１（図４）から取得する。このとき、振分け処理部１１２は、セッションテーブル１３３の対応レコードの最終受信時刻欄１３３ｆに格納されている時刻を、このＭＡＣフレームを受信した時刻に更新する。そして、受信したＭＡＣフレームの宛先ＭＡＣアドレスを、取得したＭＡＣアドレスに変更する（Ｓ３１）。
【００６０】
次に、振分け処理部１１２は、このＭＡＣフレームを入出力制御部１１１に渡し、入出力制御部１１１から、ＭＡＣフレームに格納されている宛先ＭＡＣアドレスで規定されているルータへ、このＭＡＣフレームを転送させる（Ｓ３２）。
【００６１】
次に、図１１に示すフローチャートに従って、端末と通信先装置３との間のセッション中に、このセッションで利用しているルータが「Available」から「Unavailable」に変化した場合の振分け処理について説明する。
【００６２】
振分け処理部１１２は、常に、通信状態テーブル１３２を監視している。そして、この監視で、この通信状態テーブル１３２が示すルータのうちで、「Unavailable」になったルータが存在するか否かをセッションテーブル１３３を判断する（Ｓ４１）。
【００６３】
振分け処理部１１２は、「Unavailable」になったルータが存在すると判断すると、この「Unavailable」になったルータのＩＤがセッションテーブル１３３に格納されているか否かを判断する（Ｓ４２）。セッションテーブル１３３に格納されている場合、振分け処理部１１２は、前述のステップ２７と同様に、振分けポリシーに従って新たなルータを選定し（Ｓ４３）、セッションテーブル１３３で、このセッションのレコード中の振分けルータＩＤ欄１３３ｅ（図６）に、新たに選定したルータのＩＤを登録する（Ｓ４４）。
【００６４】
ステップ４１で「Unavailable」になったルータが存在しないと判断した場合、ステップ４２で「Unavailable」になったルータのＩＤがセッションテーブル１３３に格納されていないと判断した場合、ステップ４４で新たに選定したルータのＩＤを登録した場合には、再び、ステップ４１に戻る。
【００６５】
以上の処理により、端末と通信先装置３との間のセッション中に、このセッションで利用しているルータが「Available」から「Unavailable」に変化した場合でも、新たなルータが選定されるため、セッションを継続することができる。
【００６６】
以上、本実施形態では、例えば、ＭＡＣフレーム中の宛先ポート番号が「５２」、つまり、送信元の端末がＵＤＰを採用するアプリケーションを用いている場合には、通信コストが非常に安いInternet−ＶＰＮ２ｃに接続されているルータ「ＲＴ０３」１０ｃが、最優先でＭＡＣフレームの振分けルータに選定され、宛先ポート番号が「８０」、つまり、送信元の端末がＴＣＰを採用するアプリケーションを用いている場合には、転送ロスが少なく転送遅延も小さい広域ＬＡＮ２ａが、最優先でＭＡＣフレームの振分けルータに選定される。このように、本実施形態では、高い通信品質を要求しない場合には、通信コストが安いＷＡＮが選定され、高い通信品質を要求する場合には、通信品質の高いＷＡＮが選定されるため、ＬＡＮユーザの満足度を高めることができる。
【００６７】
また、本実施形態の通信フレーム振分け装置１００は、ＭＡＣフレームを受信すると、ＭＡＣフレームを出力する、つまり、レイヤ２デバイスとして機能して、レイヤ３以上のデータには変更を加えず、ＭＡＣフレームを透過的に処理する。このため、本実施形態では、ＬＡＮを分断することがない、つまり、ネットワークデザインに変更を加える必要がない。
【００６８】
また、本実施形態では、複数のＷＡＮのそれぞれの通信状態、さらに各ＷＡＮに接続されているルータの通信状態をモニタしており、いずれかのＷＡＮ又はルータに通信障害が発生した場合には、このＷＡＮ又はルータを避けて、他のＷＡＮに接続されているルータが選定されるため、ＷＡＮやルータの通信障害に強いＬＡＮを提供することができる。
【００６９】
さらに、本実施形態の通信フレーム振分け装置１００は、複数のルータのうちから選定したルータへのＭＡＣフレームの転送処理を行うため、ＷＡＮでの通信障害を考慮して、ルータで冗長ゲートウェイ機能を使用する必要がない。このため、ルータの種類や組合せを選ばないという利点もある。
【００７０】
なお、以上の実施形態では、端末と通信先装置３との間のセッション中、振分けポリシーを参照せずに、セッションテーブル１３３を参照して、振分けルータを定めているが、セッションテーブル１３３を用いずに、セッション中であっても、振分けポリシーを参照して、振分けルータを定めるようにしてもよい。但し、この場合、セッション中でも、振分けポリシーを参照するため、通信フレーム振分け装置の負荷が高まり、セッション中のＭＡＣフレームの転送速度が低下することは否めない。
【００７１】
また、以上では、セッションテーブル１３３の最終受信時刻欄１３３ｆに格納されている時刻が現時点までで所定時間以上経過しているレコードが存在すれば、このレコードで規定されるセッションは終了したものとして扱っているが、ＴＣＰのように、そのヘッダ部にセッション終了を示す情報が含まれている場合には、この情報に基づいてセッションの終了を判断し、ＵＤＰのように、そのヘッダ部にセッション終了を示す情報が含まれていない場合にのみ、最終受信時刻からの経過時間でセッションの終了を判断するようにしてもよい。
【００７２】
また、本実施形態の通信フレーム振分け装置１００は、二種類のモニタ機能を備えているが、いずれか一方のモニタ機能のみを備えていてもよいし、全くモニタ機能を備えていなくてよい。但し、モニタ機能を備えていない場合には、ＷＡＮやルータの通信障害に対処できないことは言うまでもない。
【図面の簡単な説明】
【００７３】
【図１】本発明に係る一実施形態におけるネットワーク構成を示す説明図である。
【図２】本発明に係る一実施形態における通信フレーム振分け装置の構成図である。
【図３】本発明に係る一実施形態におけるルータの構成図である。
【図４】本発明に係る一実施形態におけるアドレステーブルのデータ構成を示す説明図である。
【図５】本発明に係る一実施形態における通信状態テーブルのデータ構成を示す説明図である。
【図６】本発明に係る一実施形態におけるセッションテーブルのデータ構成を示す説明図である。
【図７】本発明に係る一実施形態における振分けポリシーテーブルのデータ構成を示す説明図である。
【図８】ＭＡＣフレームのデータ構成を示す説明図である。
【図９】本発明に係る一実施形態におけるＬＡＮ内の各機器の動作を示すシーケンス図である。
【図１０】図９中の振分け処理の詳細を示すフローチャートである。
【図１１】本発明に係る一実施形態における通信フレーム振分け装置のセッション中の振分け処理を示すフローチャートである。
【符号の説明】
【００７４】
１：端末、２ａ：広域ＬＡＮ、２ｂ：ＩＰ−ＶＰＮ、２ｃ：Internet−ＶＰＮ、３：通信先装置、１０ａ，１０ｂ，１０ｃ:ルータ、１００：通信フレーム振分け装置、１０１：ＬＡＮ側インタフェース、１０３：ＷＡＮ側インタフェース、１１０：制御部、１１１：入出力制御部、１１２：振分け処理部、１２０：モニタ部、１３０：データ記憶部、１３１：アドレステーブル、１３２：通信状態テーブル、１３３：セッションテーブル、１３４：振分けポリシーテーブル、１４０：プログラム記憶部
【図１】
2009246411.tif 000003
【図２】
2009246411.tif 000004
【図３】
2009246411.tif 000005
【図４】
2009246411.tif 000006
【図５】
2009246411.tif 000007
【図６】
2009246411.tif 000008
【図７】
2009246411.tif 000009
【図８】
2009246411.tif 000010
【図９】
2009246411.tif 000011
【図１０】
2009246411.tif 000012
【図１１】
2009246411.tif 000013