(57)【要約】【課題】効率的なＭＡＣアドレスの再学習を可能にすること。【解決手段】サブネット４００＿１内の分断が検出された場合に、ルータ２０が冗長マスタルータに遷移させるよう制御し、サブネット４００＿１に設定されているＶＬＡＮを、バックボーンネットワーク１００に対しても設定し、ルータ１０とルータ２０との間をレイヤ２でバックボーンネットワーク１００によって接続し、サブネット内経路およびバックボーンネットワーク経路に対し、ＡＲＰテーブルに記載される複数の端末のＩＰアドレスごとに、当該端末のＭＡＣアドレスを要求するＡＲＰ要求パケットを送信して、当該端末のＭＡＣアドレスを送信元とするＡＲＰ応答パケットを受信し、受信したＡＲＰ応答パケットに格納された端末のＭＡＣアドレスを送信元とする学習用パケットを生成し、当該ＡＲＰ応答パケットを受信した経路とは逆側の経路に対して転送する。【選択図】        図２
2008219514.tif 000002
【特許請求の範囲】
【請求項１】
ＡＲＰ応答パケットを中継してＭＡＣアドレスを学習する複数のレイヤ２スイッチおよび前記レイヤ２スイッチに接続される複数の端末からなるサブネットと、バックボーンネットワークとの間に介在して、マスタルータまたはバックアップルータとして両者を冗長構成で接続するルータであって、
前記サブネット内の分断の有無を検出する分断検出手段と、
前記分断検出手段によってサブネット内の分断が検出された場合に、遮断されていた前記バックアップルータと前記バックボーンネットワークおよび前記サブネットとの通信を解除するとともに、前記マスタルータが記憶する前記複数の端末のＩＰアドレスとＭＡＣアドレスとを対応付けたＡＲＰテーブルを前記バックアップルータに格納して、当該バックアップルータが冗長マスタルータに遷移させるよう制御する冗長機能制御手段と、
前記サブネットに設定されているＶＬＡＮを、前記バックボーンネットワークに対しても設定し、前記マスタルータと前記冗長マスタルータとして機能する前記バックアップルータとの間をレイヤ２で前記バックボーンネットワークによって接続する接続制御手段と、
前記サブネット内経路および前記接続制御手段によって接続されたバックボーンネットワーク経路に対し、前記ＡＲＰテーブルに記載される前記複数の端末のＩＰアドレスごとに、当該端末のＭＡＣアドレスを要求するＡＲＰ要求パケットを送信し、当該端末のＭＡＣアドレスを送信元とするＡＲＰ応答パケットを当該端末から前記サブネット内経路もしくは前記バックボーンネットワーク経路で受信するＡＲＰ送受信手段と、
前記ＡＲＰ送受信手段によって受信したＡＲＰ応答パケットに格納された前記端末のＭＡＣアドレスを送信元とする学習用パケットを生成し、当該ＡＲＰ応答パケットを受信した経路とは逆側の経路に対して転送するＡＲＰ応答転送手段と、
を備えたことを特徴とするルータ。
【請求項２】
前記ＡＲＰ応答転送手段は、前記学習用パケットとして、受信したＡＲＰ応答パケットの宛先をブロードキャストに変更したパケットを生成することを特徴とする請求項１に記載のルータ。
【請求項３】
前記ＡＲＰ応答転送手段は、前記学習用パケットとして、受信した前記端末のＭＡＣアドレスを送信元とするＢＰＤＵを生成することを特徴とする請求項１に記載のルータ。
【請求項４】
前記ＡＲＰ送受信手段は、前記マスタルータと前記冗長マスタルータにそれぞれ備えられ、前記ＡＲＰテーブルに記載される前記複数の端末のＩＰアドレスを分担して前記ＡＲＰ要求パケットを送信し、
前記ＡＲＰ応答転送手段は、前記マスタルータと前記冗長マスタルータにそれぞれ備えられ、前記ＡＲＰ送受信手段によって受信したＡＲＰ応答パケットに格納された前記端末のＭＡＣアドレスを送信元とする学習用パケットを生成し、当該ＡＲＰ応答パケットを受信した経路とは逆側の経路に対して転送することを特徴とする請求項１〜３のいずれかひとつに記載のルータ。
【請求項５】
前記接続制御手段は、前記分断検出手段によってサブネット内の分断復旧が検出された場合に、前記バックボーンネットワークに対して設定したＶＬＡＮを解除し、
前記冗長機能制御手段は、前記冗長マスタルータと前記バックボーンネットワークおよび前記サブネットとの通信を遮断して前記冗長マスタルータが前記バックアップルータに遷移させるよう制御し、
前記ＡＲＰ送受信手段は、前記バックアップルータから当該バックアップルータのＭＡＣアドレスを送信元とするパケットを前記マスタルータに対して前記サブネット内経路で送信し、前記マスタルータから前記サブネット内経路に対して前記ＡＲＰテーブルに記載される前記複数の端末のＩＰアドレスごとに、当該端末のＭＡＣアドレスを要求するＡＲＰ要求パケットを送信して当該端末のＭＡＣアドレスを送信元とするＡＲＰ応答パケットを当該端末から前記サブネット内経路で受信し、
前記ＡＲＰ応答転送手段は、前記ＡＲＰ送受信手段により受信した前記バックアップルータのＭＡＣアドレスを送信元とする前記ＡＲＰ要求パケットを前記マスタルータから再度前記複数の端末に送信して、当該端末のＭＡＣアドレスを送信元とするＡＲＰ応答パケットを当該端末から前記サブネット内経路で前記バックアップルータに転送することを特徴とする請求項１〜４のいずれかひとつに記載のルータ。
【請求項６】
ＡＲＰ応答パケットを中継してＭＡＣアドレスを学習する複数のレイヤ２スイッチおよび前記レイヤ２スイッチに接続される複数の端末からなるサブネットと、バックボーンネットワークとの間に介在して、マスタルータまたはバックアップルータとして両者を冗長構成で接続するルータに適用され、前記複数の端末間の通信を保証する通信保証方法であって、
前記サブネット内の分断の有無を検出する分断検出工程と、
前記分断検出工程によってサブネット内の分断が検出された場合に、遮断されていた前記バックアップルータと前記バックボーンネットワークおよび前記サブネットとの通信を解除するとともに、前記マスタルータが記憶する前記複数の端末のＩＰアドレスとＭＡＣアドレスとを対応付けたＡＲＰテーブルを前記バックアップルータに格納して、当該バックアップルータが冗長マスタルータに遷移させるよう制御する冗長機能制御工程と、
前記サブネットに設定されているＶＬＡＮを、前記バックボーンネットワークに対しても設定し、前記マスタルータと前記冗長マスタルータとして機能する前記バックアップルータとの間をレイヤ２で前記バックボーンネットワークによって接続する接続制御工程と、
前記サブネット内経路および前記接続制御工程によって接続されたバックボーンネットワーク経路に対し、前記ＡＲＰテーブルに記載される前記複数の端末のＩＰアドレスごとに、当該端末のＭＡＣアドレスを要求するＡＲＰ要求パケットを送信し、当該端末のＭＡＣアドレスを送信元とするＡＲＰ応答パケットを当該端末から前記サブネット内経路もしくは前記バックボーンネットワーク経路で受信するＡＲＰ送受信工程と、
前記ＡＲＰ送受信工程によって受信したＡＲＰ応答パケットに格納された前記端末のＭＡＣアドレスを送信元とする学習用パケットを生成し、当該ＡＲＰ応答パケットを受信した経路とは逆側の経路に対して転送するＡＲＰ応答転送工程と、
を含んだことを特徴とする通信保証方法。
【請求項７】
ＡＲＰ応答パケットを中継してＭＡＣアドレスを学習する複数のレイヤ２スイッチおよび前記レイヤ２スイッチに接続される複数の端末からなるサブネットと、バックボーンネットワークとの間に介在して、マスタルータまたはバックアップルータとして両者を冗長構成で接続するルータとしてのコンピュータに、前記複数の端末間の通信を保証する通信保証方法を実行させる通信保証プログラムであって、
前記サブネット内の分断の有無を検出する分断検出手順と、
前記分断検出手順によってサブネット内の分断が検出された場合に、遮断されていた前記バックアップルータと前記バックボーンネットワークおよび前記サブネットとの通信を解除するとともに、前記マスタルータが記憶する前記複数の端末のＩＰアドレスとＭＡＣアドレスとを対応付けたＡＲＰテーブルを前記バックアップルータに格納して、当該バックアップルータが冗長マスタルータに遷移させるよう制御する冗長機能制御手順と、
前記サブネットに設定されているＶＬＡＮを、前記バックボーンネットワークに対しても設定し、前記マスタルータと前記冗長マスタルータとして機能する前記バックアップルータとの間をレイヤ２で前記バックボーンネットワークによって接続する接続制御手順と、
前記サブネット内経路および前記接続制御手順によって接続されたバックボーンネットワーク経路に対し、前記ＡＲＰテーブルに記載される前記複数の端末のＩＰアドレスごとに、当該端末のＭＡＣアドレスを要求するＡＲＰ要求パケットを送信し、当該端末のＭＡＣアドレスを送信元とするＡＲＰ応答パケットを当該端末から前記サブネット内経路もしくは前記バックボーンネットワーク経路で受信するＡＲＰ送受信手順と、
前記ＡＲＰ送受信手順によって受信したＡＲＰ応答パケットに格納された前記端末のＭＡＣアドレスを送信元とする学習用パケットを生成し、当該ＡＲＰ応答パケットを受信した経路とは逆側の経路に対して転送するＡＲＰ応答転送手順と、
をコンピュータに実行させることを特徴とする通信保証プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ルータ、通信保証方法および通信保証プログラムに関する。
【背景技術】
【０００２】
従来より、ＶＲＲＰ（Ｖｉｒｔｕａｌ  Ｒｏｕｔｅｒ  Ｒｅｄｕｎｄａｎｃｙ  Ｐｒｏｔｏｃｏｌ）などのプロトコルに基づいて、ルータを冗長に構成することにより（マスタルータとバックアップルータ）、マスタルータに障害が発生しても、バックアップルータを用いて、サブネット内の端末と他のネットワークの端末との通信を保証する方法がある。
【０００３】
また、サブネット内にレイヤ２スイッチが複数あり、例えば、レイヤ２スイッチ間の接続が分断された場合、マスタルータ経由では他のネットワークの端末と通信ができなくなるサブネット内の端末が出現する。このような場合を想定して、バックアップルータをマスタルータに遷移させることで、本来のマスタルータ経由では他のネットワークの端末と通信できなくなったサブネット内の端末と他のネットワークの端末との通信を、マスタルータに遷移したバックアップルータを用いることで保証するネットワーク制御システムが開示されている（特許文献１参照）。
【０００４】
さらに、サブネット内にレイヤ２スイッチが複数あり、例えば、レイヤ２スイッチ間の接続が分断された場合、サブネット内での端末間で通信ができなくなる端末の組み合わせが出現する。このような場合を想定して、冗長に構成されたルータを利用し、バックボーンネットワークを介してサブネット内の端末間通信を可能にするネットワークシステムが開示されている（特許文献２参照）。
【０００５】
【特許文献１】特開２００５−１９２０２７号公報
【特許文献２】特開２００２−２３２４４８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、上記した特許文献２で開示された技術は、サブネット内の分断時および分断復旧時に際して、効率的なＭＡＣアドレスの再学習ではないという問題点があった。具体的には、分断時に、サブネット内にある端末それぞれが、自身以外の端末のＭＡＣアドレスを再学習する必要があり、さらに、復旧時も、自身以外の端末のＭＡＣアドレスを分断前の状態に再学習する必要があるので、端末が行う処理が多く、ネットワークに対する負荷が大きく、効率的なＭＡＣアドレスの再学習ではないという問題点があった。
【０００７】
そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、サブネット内の分断時および分断復旧時に際して、効率的なＭＡＣアドレスの再学習を可能にするルータ、通信保証方法および通信保証プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するため、請求項１に係る発明は、ＡＲＰ応答パケットを中継してＭＡＣアドレスを学習する複数のレイヤ２スイッチおよび前記レイヤ２スイッチに接続される複数の端末からなるサブネットと、バックボーンネットワークとの間に介在して、マスタルータまたはバックアップルータとして両者を冗長構成で接続するルータであって、前記サブネット内の分断の有無を検出する分断検出手段と、前記分断検出手段によってサブネット内の分断が検出された場合に、遮断されていた前記バックアップルータと前記バックボーンネットワークおよび前記サブネットとの通信を解除するとともに、前記マスタルータが記憶する前記複数の端末のＩＰアドレスとＭＡＣアドレスとを対応付けたＡＲＰテーブルを前記バックアップルータに格納して、当該バックアップルータが冗長マスタルータに遷移させるよう制御する冗長機能制御手段と、前記サブネットに設定されているＶＬＡＮを、前記バックボーンネットワークに対しても設定し、前記マスタルータと前記冗長マスタルータとして機能する前記バックアップルータとの間をレイヤ２で前記バックボーンネットワークによって接続する接続制御手段と、前記サブネット内経路および前記接続制御手段によって接続されたバックボーンネットワーク経路に対し、前記ＡＲＰテーブルに記載される前記複数の端末のＩＰアドレスごとに、当該端末のＭＡＣアドレスを要求するＡＲＰ要求パケットを送信し、当該端末のＭＡＣアドレスを送信元とするＡＲＰ応答パケットを当該端末から前記サブネット内経路もしくは前記バックボーンネットワーク経路で受信するＡＲＰ送受信手段と、前記ＡＲＰ送受信手段によって受信したＡＲＰ応答パケットに格納された前記端末のＭＡＣアドレスを送信元とする学習用パケットを生成し、当該ＡＲＰ応答パケットを受信した経路とは逆側の経路に対して転送するＡＲＰ応答転送手段と、を備えたことを特徴とする。
【０００９】
また、請求項２に係る発明は、上記の発明において、前記ＡＲＰ応答転送手段は、前記学習用パケットとして、受信したＡＲＰ応答パケットの宛先をブロードキャストに変更したパケットを生成することを特徴とする。
【００１０】
また、請求項３に係る発明は、上記の発明において、前記ＡＲＰ応答転送手段は、前記学習用パケットとして、受信した前記端末のＭＡＣアドレスを送信元とするＢＰＤＵを生成することを特徴とする。
【００１１】
また、請求項４に係る発明は、上記の発明において、前記ＡＲＰ送受信手段は、前記マスタルータと前記冗長マスタルータにそれぞれ備えられ、前記ＡＲＰテーブルに記載される前記複数の端末のＩＰアドレスを分担して前記ＡＲＰ要求パケットを送信し、前記ＡＲＰ応答転送手段は、前記マスタルータと前記冗長マスタルータにそれぞれ備えられ、前記ＡＲＰ送受信手段によって受信したＡＲＰ応答パケットに格納された前記端末のＭＡＣアドレスを送信元とする学習用パケットを生成し、当該ＡＲＰ応答パケットを受信した経路とは逆側の経路に対して転送することを特徴とする。
【００１２】
また、請求項５に係る発明は、上記の発明において、前記接続制御手段は、前記分断検出手段によってサブネット内の分断復旧が検出された場合に、前記バックボーンネットワークに対して設定したＶＬＡＮを解除し、前記冗長機能制御手段は、前記冗長マスタルータと前記バックボーンネットワークおよび前記サブネットとの通信を遮断して前記冗長マスタルータが前記バックアップルータに遷移させるよう制御し、前記ＡＲＰ送受信手段は、前記バックアップルータから当該バックアップルータのＭＡＣアドレスを送信元とするパケットを前記マスタルータに対して前記サブネット内経路で送信し、前記マスタルータから前記サブネット内経路に対して前記ＡＲＰテーブルに記載される前記複数の端末のＩＰアドレスごとに、当該端末のＭＡＣアドレスを要求するＡＲＰ要求パケットを送信して当該端末のＭＡＣアドレスを送信元とするＡＲＰ応答パケットを当該端末から前記サブネット内経路で受信し、前記ＡＲＰ応答転送手段は、前記ＡＲＰ送受信手段により受信した前記バックアップルータのＭＡＣアドレスを送信元とする前記ＡＲＰ要求パケットを前記マスタルータから再度前記複数の端末に送信して、当該端末のＭＡＣアドレスを送信元とするＡＲＰ応答パケットを当該端末から前記サブネット内経路で前記バックアップルータに転送することを特徴とする。
【００１３】
また、請求項６に係る発明は、ＡＲＰ応答パケットを中継してＭＡＣアドレスを学習する複数のレイヤ２スイッチおよび前記レイヤ２スイッチに接続される複数の端末からなるサブネットと、バックボーンネットワークとの間に介在して、マスタルータまたはバックアップルータとして両者を冗長構成で接続するルータに適用され、前記複数の端末間の通信を保証する通信保証方法であって、前記サブネット内の分断の有無を検出する分断検出工程と、前記分断検出工程によってサブネット内の分断が検出された場合に、遮断されていた前記バックアップルータと前記バックボーンネットワークおよび前記サブネットとの通信を解除するとともに、前記マスタルータが記憶する前記複数の端末のＩＰアドレスとＭＡＣアドレスとを対応付けたＡＲＰテーブルを前記バックアップルータに格納して、当該バックアップルータが冗長マスタルータに遷移させるよう制御する冗長機能制御工程と、前記サブネットに設定されているＶＬＡＮを、前記バックボーンネットワークに対しても設定し、前記マスタルータと前記冗長マスタルータとして機能する前記バックアップルータとの間をレイヤ２で前記バックボーンネットワークによって接続する接続制御工程と、前記サブネット内経路および前記接続制御工程によって接続されたバックボーンネットワーク経路に対し、前記ＡＲＰテーブルに記載される前記複数の端末のＩＰアドレスごとに、当該端末のＭＡＣアドレスを要求するＡＲＰ要求パケットを送信し、当該端末のＭＡＣアドレスを送信元とするＡＲＰ応答パケットを当該端末から前記サブネット内経路もしくは前記バックボーンネットワーク経路で受信するＡＲＰ送受信工程と、前記ＡＲＰ送受信工程によって受信したＡＲＰ応答パケットに格納された前記端末のＭＡＣアドレスを送信元とする学習用パケットを生成し、当該ＡＲＰ応答パケットを受信した経路とは逆側の経路に対して転送するＡＲＰ応答転送工程と、を含んだことを特徴とする。
【００１４】
また、請求項７に係る発明は、ＡＲＰ応答パケットを中継してＭＡＣアドレスを学習する複数のレイヤ２スイッチおよび前記レイヤ２スイッチに接続される複数の端末からなるサブネットと、バックボーンネットワークとの間に介在して、マスタルータまたはバックアップルータとして両者を冗長構成で接続するルータとしてのコンピュータに、前記複数の端末間の通信を保証する通信保証方法を実行させる通信保証プログラムであって、前記サブネット内の分断の有無を検出する分断検出手順と、前記分断検出手順によってサブネット内の分断が検出された場合に、遮断されていた前記バックアップルータと前記バックボーンネットワークおよび前記サブネットとの通信を解除するとともに、前記マスタルータが記憶する前記複数の端末のＩＰアドレスとＭＡＣアドレスとを対応付けたＡＲＰテーブルを前記バックアップルータに格納して、当該バックアップルータが冗長マスタルータに遷移させるよう制御する冗長機能制御手順と、前記サブネットに設定されているＶＬＡＮを、前記バックボーンネットワークに対しても設定し、前記マスタルータと前記冗長マスタルータとして機能する前記バックアップルータとの間をレイヤ２で前記バックボーンネットワークによって接続する接続制御手順と、前記サブネット内経路および前記接続制御手順によって接続されたバックボーンネットワーク経路に対し、前記ＡＲＰテーブルに記載される前記複数の端末のＩＰアドレスごとに、当該端末のＭＡＣアドレスを要求するＡＲＰ要求パケットを送信し、当該端末のＭＡＣアドレスを送信元とするＡＲＰ応答パケットを当該端末から前記サブネット内経路もしくは前記バックボーンネットワーク経路で受信するＡＲＰ送受信手順と、前記ＡＲＰ送受信手順によって受信したＡＲＰ応答パケットに格納された前記端末のＭＡＣアドレスを送信元とする学習用パケットを生成し、当該ＡＲＰ応答パケットを受信した経路とは逆側の経路に対して転送するＡＲＰ応答転送手順と、をコンピュータに実行させることを特徴とする。
【発明の効果】
【００１５】
請求項１、６、または７の発明によれば、サブネット内の分断の有無を検出し、サブネット内の分断が検出された場合に、遮断されていたバックアップルータとバックボーンネットワークおよびサブネットとの通信を解除するとともに、マスタルータが記憶する複数の端末のＩＰアドレスとＭＡＣアドレスとを対応付けたＡＲＰテーブルをバックアップルータに格納して、当該バックアップルータが冗長マスタルータに遷移させるよう制御し、サブネットに設定されているＶＬＡＮを、バックボーンネットワークに対しても設定し、マスタルータと冗長マスタルータとして機能するバックアップルータとの間をレイヤ２でバックボーンネットワークによって接続し、サブネット内経路および接続されたバックボーンネットワーク経路に対し、ＡＲＰテーブルに記載される複数の端末のＩＰアドレスごとに、当該端末のＭＡＣアドレスを要求するＡＲＰ要求パケットを送信し、当該端末のＭＡＣアドレスを送信元とするＡＲＰ応答パケットを当該端末からサブネット内経路もしくはバックボーンネットワーク経路で受信し、受信したＡＲＰ応答パケットに格納された端末のＭＡＣアドレスを送信元とする学習用パケットを生成し、当該ＡＲＰ応答パケットを受信した経路とは逆側の経路に対して転送するので、レイヤ２で接続したバックボーンネットワーク経路を利用して、一方の経路ではＭＡＣアドレスを再学習できないレイヤ２スイッチは、逆の経路でＭＡＣアドレスを再学習することができ、効率的なＭＡＣアドレスの再学習を可能にする。また、効率的な再学習により分断時における通信分断時間が短縮され、信頼性の高いネットワークを実現することが可能になる。
【００１６】
また、請求項２の発明によれば、学習用パケットとして、受信したＡＲＰ応答パケットの宛先をブロードキャストに変更したパケットを生成するので、ＣＰＵに対する負荷が軽減でき、さらに効率的なＭＡＣアドレスの再学習を可能にする。
【００１７】
また、請求項３の発明によれば、学習用パケットとして、受信した端末のＭＡＣアドレスを送信元とするＢＰＤＵを生成するので、既存の機能を利用でき、効率的なＭＡＣアドレスの再学習を可能にする。
【００１８】
また、請求項４の発明によれば、マスタルータと冗長マスタルータそれぞれが、ＡＲＰテーブルに記載される複数の端末のＩＰアドレスを分担してＡＲＰ要求パケットを送信し、マスタルータと冗長マスタルータそれぞれが、受信したＡＲＰ応答パケットに格納された端末のＭＡＣアドレスを送信元とする学習用パケットを生成し、当該ＡＲＰ応答パケットを受信した経路とは逆側の経路に対して転送するので、ＭＡＣアドレスの再学習に要する時間を短縮でき、より効率的なＭＡＣアドレスの再学習を可能にする。
【００１９】
また、請求項５の発明によれば、サブネット内の分断復旧が検出された場合に、バックボーンネットワークに対して設定したＶＬＡＮを解除し、冗長マスタルータとバックボーンネットワークおよびサブネットとの通信を遮断して冗長マスタルータがバックアップルータに遷移させるよう制御し、バックアップルータから当該バックアップルータのＭＡＣアドレスを送信元とするパケットをマスタルータに対してサブネット内経路で送信し、マスタルータからサブネット内経路に対してＡＲＰテーブルに記載される複数の端末のＩＰアドレスごとに、当該端末のＭＡＣアドレスを要求するＡＲＰ要求パケットを送信して当該端末のＭＡＣアドレスを送信元とするＡＲＰ応答パケットを当該端末からサブネット内経路で受信し、受信したバックアップルータのＭＡＣアドレスを送信元とするＡＲＰ要求パケットをマスタルータから再度複数の端末に送信して、当該端末のＭＡＣアドレスを送信元とするＡＲＰ応答パケットを当該端末からサブネット内経路でバックアップルータに転送するので、サブネット内経路のみでＭＡＣアドレスを再学習でき、効率的なＭＡＣアドレスの再学習を可能にする。また、効率的な再学習により、分断復旧時における通信分断時間が短縮され、信頼性の高いネットワークを実現することが可能になる。
【発明を実施するための最良の形態】
【００２０】
以下に添付図面を参照して、この発明に係るルータ、通信保証方法および通信保証プログラムの実施例を詳細に説明する。なお、以下では、本発明を適用したルータを実施例として説明する。また、以下では、実施例１におけるルータの構成および処理の手順、実施例１の効果を順に説明し、次に実施例１と同様に、実施例２に係るルータ、実施例３に係るルータ、実施例４に係るルータについて順に説明する。
【実施例１】
【００２１】
［実施例１におけるルータの概要および特徴］
まず最初に、図１および図２を用いて、実施例１におけるルータの主たる特徴を具体的に説明する。図１は、実施例１におけるルータの概要を説明するための図であり、図２は、実施例１におけるルータの特徴を説明するための図である。
【００２２】
実施例１におけるルータは、ＡＲＰ応答パケットを中継してＭＡＣアドレスを学習する複数のレイヤ２スイッチおよび前記レイヤ２スイッチに接続される複数の端末からなるサブネットと、バックボーンネットワークとの間に介在して、マスタルータまたはバックアップルータとして両者を冗長構成で接続することを概要とする。
【００２３】
例えば、図１に示すように、４台のレイヤ２スイッチ（Ｌ２ＳＷ２００＿１〜Ｌ２ＳＷ２００＿４）と『「Ｌ２ＳＷ２００＿１に接続される端末３００＿１」および「Ｌ２ＳＷ２００＿３に接続される端末３００＿２」』とからなるサブネット４００＿１と、バックボーンネットワーク１００との間に介在して、ルータ１０がマスタルータとして、ルータ２０がバックアップルータとして両者を冗長構成で接続する。これにより、例えば、ルータ１０が故障した際には、ルータ２０がルータ１０に代わって機能することにより、他のネットワークの端末との通信を保証する。
【００２４】
また、端末３００＿１や端末３００＿２は、他のネットワークであるサブネット４００＿２にある端末３００＿３と通信を行う。この際、サブネット４００＿１のマスタルータであるルータ１０と、サブネット４００＿２のルータであるルータ３０が、これらの通信を介在する。さらに、サブネット４００＿１に収容される端末３００＿１と端末３００＿２とは、４台のレイヤ２スイッチ（Ｌ２ＳＷ２００＿１〜Ｌ２ＳＷ２００＿４）を介し、通信を行う。
【００２５】
ここで、「ＡＲＰ応答パケット」とは、例えば、機器Ａが、ＩＰアドレス（Ｂ）が割り振られた機器のＭＡＣアドレスを調べるために、「ＩＰアドレス（Ｂ）の機器は、自身のＭＡＣアドレスを機器Ａ宛に送信して欲しい」とする「ＡＲＰ要求パケット」をブロードキャストで送信し、当該「ＡＲＰ要求パケット」を受信したＩＰアドレス（Ｂ）が割り振られた機器が、機器Ａに対して、自身のＭＡＣアドレスを機器Ａに通知するために送信するパケットである。
【００２６】
すなわち、図１に示すレイヤ２スイッチ（Ｌ２ＳＷ２００＿１〜Ｌ２ＳＷ２００＿４）それぞれは、端末３００＿１と端末３００＿２との間で送受信されたＡＲＰ応答パケットを中継することにより、端末３００＿１および端末３００＿２のＭＡＣアドレスを、それぞれの端末が接続される方向（ポート番号）に対応付けて学習する。具体的には、図１の下図に示すように、サブネット４００＿１において、Ｌ２ＳＷ２００＿１は、端末３００＿１が下方向に存在し、端末３００＿２が右方向に存在することを、端末３００＿１および端末３００＿２のＭＡＣアドレスと対応付けて学習している。同様に、Ｌ２ＳＷ２００＿４とＬ２ＳＷ２００＿２は、端末３００＿１が左方向に存在し、端末３００＿２が右方向に存在することを、端末３００＿１および端末３００＿２のＭＡＣアドレスと対応付けて学習している。さらに、Ｌ２ＳＷ２００＿３は、端末３００＿１が左方向に存在し、端末３００＿２が下方向に存在することを、端末３００＿１および端末３００＿２のＭＡＣアドレスと対応付けて学習している。
【００２７】
ここで、本発明は、効率的なＭＡＣアドレスの再学習を可能にすることに主たる特徴がある。この主たる特徴について簡単に説明すると、実施例１におけるルータは、サブネット内の分断の有無を検出する。具体的には、マスタルータであるルータ１０は、バックアップルータであるルータ２０に対して、一定時間ごと（例えば、１秒ごと）に監視パケットを送信し、ルータ２０は、当該監視パケットを一定時間ごと（例えば、１秒ごと）に受信することで、サブネット４００＿１内の疎通（分断無し）を確認する。例えば、図２の（Ａ）に示すように、Ｌ２ＳＷ２００＿４とＬ２ＳＷ２００＿２の間で障害が発生し、サブネット４００＿１内が分断されると、ルータ２０は、ルータ１０からの監視パケットを受信しない状態が継続することから、サブネット４００＿１内の分断を検出する（図２の（１）参照）。この際、ルータ２０は、サブネット４００＿１内が分断されたことを、ルータ１０に、バックボーンネットワーク１００を介して通知する。なお、監視パケットとしては、例えば、ＢＰＤＵ（Ｂｒｉｄｇｅ  Ｐｒｏｔｏｃｏｌ  Ｄａｔａ  Ｕｎｉｔ）パケットやＰｉｎｇなどのパケットが用いられる。
【００２８】
そして、実施例１におけるルータは、サブネット内の分断が検出された場合に、遮断されていたバックアップルータであるルータ２０とバックボーンネットワーク１００およびサブネット４００＿１との通信を解除する。すなわち、通常、バックアップルータであるルータ２０は、監視パケットの受信や分断検出の通知など以外は、バックボーンネットワーク１００およびサブネット４００＿１との通信が遮断されているが、サブネット４００＿１内の分断が検出された場合、図２の（Ａ）に示すように、これの通信遮断を解除し、例えば、端末３００＿１や端末３００＿２とのパケットの送受信を行う。
【００２９】
それとともに、実施例１におけるルータは、マスタルータであるルータ１０が記憶する複数の端末のＩＰアドレスとＭＡＣアドレスとを対応付けたＡＲＰテーブルをバックアップルータであるルータ２０に格納して、ルータ２０が冗長マスタルータに遷移させるよう制御する。すなわち、マスタルータであるルータ１０は、サブネット４００＿１が収容する端末３００＿１および端末３００＿２のＩＰアドレスとＭＡＣアドレスとを、図２の（Ａ）に示すように、「ＩＰ（３００＿１）：ＭＡＣ（３００＿１）」および「ＩＰ（３００＿２）：ＭＡＣ（３００＿２）」と記憶している。ここで、ルータ１０は、ルータ２０から、サブネット４００＿１内の分断通知を受信すると、当該ＡＲＰテーブルを複製し、バックボーンネットワーク１００を介して、複製したＡＲＰテーブルをバックアップルータであるルータ２０に送信する。バックアップルータであるルータ２０は、複製されたＡＲＰテーブルを受信して格納することで、バックアップルータから冗長マスタルータに遷移する（図２の（Ａ）の（２）参照）。また、これ以降は、冗長マスタルータであるルータ２０は、ルータ１０に対する監視パケットの送信を開始する。
【００３０】
なお、端末３００＿２とサブネット４００＿２に収容される端末３００＿３との通信は、冗長マスタルータであるルータ２０を介して可能となり、分断時におけるサブネット間での通信が保証される。
【００３１】
そして、実施例１におけるルータは、サブネット４００＿１に設定されているＶＬＡＮを、バックボーンネットワーク１００に対しても設定し、マスタルータであるルータ１０と冗長マスタルータとして機能するルータ２０との間をレイヤ２でバックボーンネットワーク１００によって接続する。すなわち、図２の（Ｂ）に示すように、従来サブネット４００＿１に設定されているＶＬＡＮのＶＩＤ（ＶＬＡＮ  Ｉｄｅｎｔｉｆｉｅｒ）を、バックボーンネットワーク１００に対しても設定し、ルータ１０とルータ２０との間を、「サブネット内経路」の他に、レイヤ２でバックボーンネットワーク１００によって接続する「バックボーンネットワーク経路」を確立する。
【００３２】
そして、実施例１におけるルータは、サブネット内経路およびバックボーンネットワーク経路に対し、ＡＲＰテーブルに記載される複数の端末のＩＰアドレスごとに、当該端末のＭＡＣアドレスを要求するＡＲＰ要求パケットを送信し、当該端末のＭＡＣアドレスを送信元とするＡＲＰ応答パケットを当該端末からサブネット内経路もしくはバックボーンネットワーク経路で受信する（図２の（Ｃ）の（４）参照）。
【００３３】
具体的には、ルータ１０は、サブネット内経路およびバックボーンネットワーク経路に対し、ＡＲＰテーブルに記載される端末３００＿１のＩＰアドレス（ＩＰ（３００＿１））宛に端末３００＿１のＭＡＣアドレスを要求するＡＲＰ要求パケットを送信し、端末３００＿１から「ＭＡＣアドレス：ＭＡＣ（３００＿１）」を格納するＡＲＰ応答パケットを、サブネット内経路で受信する（図２の（Ｃ）の（４−１）参照）。また、ルータ１０は、サブネット内経路およびバックボーンネットワーク経路に対し、ＡＲＰテーブルに記載される端末３００＿２のＩＰアドレス（ＩＰ（３００＿２））宛に端末３００＿２のＭＡＣアドレスを要求するＡＲＰ要求パケットを送信し、端末３００＿２から「ＭＡＣアドレス：ＭＡＣ（３００＿２）」を格納するＡＲＰ応答パケットを、バックボーンネットワーク経路で受信する（図２の（Ｃ）の（４−２）参照）。
【００３４】
そして、実施例１におけるルータは、受信したＡＲＰ応答パケットに格納された端末のＭＡＣアドレスを送信元とする学習用パケットを生成し、当該ＡＲＰ応答パケットを受信した経路とは逆側の経路に対して転送する（図２の（Ｃ）の（５）参照）。具体的には、ルータ１０は、端末３００＿１から「ＭＡＣアドレス：ＭＡＣ（３００＿１）」をサブネット内経路で受信すると、「ＭＡＣアドレス：ＭＡＣ（３００＿１）」を送信元とする学習用パケットを生成し、バックボーンネットワーク経路に対して転送する。これにより、
Ｌ２ＳＷ２００＿２は、端末３００＿１が右方向に存在することを、端末３００＿１の「ＭＡＣアドレス：ＭＡＣ（３００＿１）」とともに再学習し、Ｌ２ＳＷ２００＿３は、端末３００＿１が上方向に存在することを、端末３００＿１の「ＭＡＣアドレス：ＭＡＣ（３００＿１）」とともに再学習する（図２の（Ｃ）の（５−１）参照）。
【００３５】
これと同様に、ルータ１０は、端末３００＿２から「ＭＡＣアドレス：ＭＡＣ（３００＿２）」をバックボーンネットワーク経路で受信すると、「ＭＡＣアドレス：ＭＡＣ（３００＿２）」を送信元とする学習用パケットを生成し、サブネット内経路に対して転送する。これにより、Ｌ２ＳＷ２００＿１は、端末３００＿２が上方向に存在することを、端末３００＿２の「ＭＡＣアドレス：ＭＡＣ（３００＿２）」とともに再学習し、Ｌ２ＳＷ２００＿４は、端末３００＿２が左方向に存在することを、端末３００＿２の「ＭＡＣアドレス：ＭＡＣ（３００＿２）」とともに再学習する（図２の（Ｃ）の（５−２）参照）。
【００３６】
なお、本実施例では、ルータ１０がＡＲＰ要求パケットを送信して、受信したＡＲＰ応答パケットから学習用パケットを生成して転送する場合について説明したが、本発明はこれ限られるものではなく、ルータ２０がＡＲＰ要求パケットを送信して、受信したＡＲＰ応答パケットから学習用パケットを生成して転送する場合であってもよい。
【００３７】
このようなことから、実施例１におけるルータは、レイヤ２で接続したバックボーンネットワーク経路を利用して、一方の経路ではＭＡＣアドレスを再学習できないレイヤ２スイッチは、逆の経路でＭＡＣアドレスを再学習することができ、上記した主たる特徴の通り、効率的なＭＡＣアドレスの再学習を可能にする。
【００３８】
［実施例１におけるルータの構成］
次に、図３〜５を用いて、実施例１におけるルータを説明する。図３は、実施例１におけるルータの構成を示すブロック図であり、図４は、実施例１におけるパケット送受信部を説明するための図であり、図５は、実施例１におけるＡＲＰ応答転送部を説明するための図である。
【００３９】
図３に示すように、実施例１におけるルータ１０は、特に本発明に密接に関連するものとして、パケット送受信部１０ａと、ルーティング制御部１０ｂと、冗長機能制御部１０ｃと、ＡＲＰ応答転送部１０ｄと、分断検出部１０ｅと、接続制御部１０ｆと、ＡＲＰテーブル１０ｇとから構成され、サブネット４００＿１とバックボーンネットワーク１００との間に介在する。
【００４０】
また、図３に示すように、実施例１におけるルータ２０は、ルータ１０を構成するパケット送受信部１０ａと、ルーティング制御部１０ｂと、冗長機能制御部１０ｃと、ＡＲＰ応答転送部１０ｄと、分断検出部１０ｅと、接続制御部１０ｆと同様の処理を行うパケット送受信部２０ａと、ルーティング制御部２０ｂと、冗長機能制御部２０ｃと、ＡＲＰ応答転送部２０ｄと、分断検出部２０ｅと、接続制御部２０ｆとを備え、さらに、ＡＲＰテーブル１０ｇと同様の内容が格納されるＡＲＰテーブル２０ｇとから構成され、ルータ１０と同様に、サブネット４００＿１とバックボーンネットワーク１００との間に介在する。
【００４１】
なお、以下では、通常は、ルータ１０がマスタルータとして、また、ルータ２０がバックアップルータとして機能している場合について説明する。
【００４２】
ここで、「分断検出部１０ｅ」および「分断検出部２０ｅ」は、特許請求の範囲に記載の「分断検出手段」に対応し、「冗長機能制御部１０ｃ」および「冗長機能制御部２０ｃ」は、同じく「冗長機能制御手段」に対応し、「接続制御部１０ｆ」および「接続制御部２０ｆ」は、同じく「接続制御手段」に対応し、「パケット送受信部１０ａ」および「パケット送受信部２０ａ」は、同じく「ＡＲＰ送受信手段」に対応し、「ＡＲＰ応答転送部１０ｄ」および「ＡＲＰ応答転送部２０ｄ」は、同じく「ＡＲＰ応答転送手段」に対応する。
【００４３】
ルーティング制御部１０ｂは、後述するＡＲＰテーブル１０ｇを参照して、サブネット４００＿１内に収容される端末と、他のネットワークとの通信を制御する。例えば、受信した端末３００＿１宛のパケットを解析して、サブネット４００＿１内に収容される端末宛のパケットであることを検知し、当該パケットを、Ｌ２ＳＷ２００＿１経由で、端末３００＿１に送信するように制御する。また、監視パケットの送受信の制御を行う。なお、ルータ２０のルーティング制御部２０ｂは、後述する冗長機能制御部２０ｃによって、通常は、機能しない。
【００４４】
パケット送受信部１０ａは、サブネット４００＿１内に収容される端末からのパケットをバックボーンネットワーク１００経由で送信したり、他のネットワークからのパケットをバックボーンネットワーク１００経由で受信したりする。また、監視パケットの送信を行う。なお、ルータ２０のパケット送受信部２０ａは、後述する冗長機能制御部２０ｃによって、通常は、監視パケットの受信や後述する分断検出部２０ｅの分断検出の結果送信以外は、機能しない。
【００４５】
分断検出部１０ｅおよび分断検出部２０ｅは、サブネット内の分断の有無を検出する。具体的には、マスタルータであるルータ１０のパケット送受信部１０ａは、バックアップルータであるルータ２０のパケット送受信部２０ａに対して、一定時間ごと（例えば、１秒ごと）に監視パケットを送信し、分断検出部２０ｅは、パケット送受信部２０ａが当該監視パケットを一定時間ごと（例えば、１秒ごと）に受信すること検知することで、サブネット４００＿１内の疎通（分断無し）を確認する。
【００４６】
ここで、例えば、図２の（Ａ）に示すように、Ｌ２ＳＷ２００＿４とＬ２ＳＷ２００＿２の間で障害が発生し、サブネット４００＿１内が分断されると、分断検出部２０ｅは、パケット送受信部２０ａが、パケット送受信部１０ａからの監視パケットを受信しない状態が継続することから、サブネット４００＿１内の分断を検出する（図２の（１）参照）。この際、分断検出部２０ｅは、サブネット４００＿１内が分断されたことを、ルータ１０に通知するためのパケットを、パケット送受信部２０ａからバックボーンネットワーク１００を介してパケット送受信部１０ａに送信し、分断検出部１０ｅは、パケット送受信部１０ａが受信した分断通知のパケットから、サブネット４００＿１内が分断したことを検出する。なお、監視パケットとしては、例えば、ＢＰＤＵ（Ｂｒｉｄｇｅ  Ｐｒｏｔｏｃｏｌ  Ｄａｔａ  Ｕｎｉｔ）パケットやＰｉｎｇなどのパケットが用いられる。
【００４７】
冗長機能制御部２０ｃは、サブネット内の分断が検出された場合に、遮断されていたバックアップルータとバックボーンネットワーク１００およびサブネット４００＿１との通信を解除する。すなわち、通常、バックアップルータであるルータ２０は、監視パケットの受信や分断検出の通知など以外は、バックボーンネットワーク１００およびサブネット４００＿１との通信が遮断されているが、分断検出部２０ｅが、サブネット４００＿１内の分断が検出した場合、冗長機能制御部２０ｃは、パケット送受信部２０ａの機能を「ＯＮ」にすることで、これの通信遮断を解除し、例えば、端末３００＿１や端末３００＿２とのパケットの送受信を行う。
【００４８】
それとともに、冗長機能制御部１０ｃは、マスタルータであるルータ１０が記憶する複数の端末のＩＰアドレスとＭＡＣアドレスとを対応付けたＡＲＰテーブル１０ｇをバックアップルータであるルータ２０のＡＲＰテーブル２０ｇに格納して、ルータ２０が冗長マスタルータに遷移させるよう制御する。ここで、ＡＲＰテーブル１０ｇは、サブネット４００＿１が収容する端末３００＿１および端末３００＿２のＩＰアドレスとＭＡＣアドレスとを、図２の（Ａ）に示すように、「ＩＰ（３００＿１）：ＭＡＣ（３００＿１）」および「ＩＰ（３００＿２）：ＭＡＣ（３００＿２）」と記憶している。
【００４９】
すなわち、冗長機能制御部１０ｃは、分断検出部１０ｅがサブネット４００＿１内の分断を検出すると、ＡＲＰテーブル１０ｇを複製し、バックボーンネットワーク１００を介して、パケット送受信部１０ａから、当該複製したＡＲＰテーブル１０ｇをルータ２０に送信する。冗長機能制御部２０ｃは、パケット送受信部２０ａが、複製されたＡＲＰテーブル１０ｇを受信すると、この内容をＡＲＰテーブル２０ｇに格納する。これにより、ルータ２０は、バックアップルータから冗長マスタルータに遷移する（図２の（Ａ）の（２）参照）。なお、これ以降は、冗長マスタルータであるルータ２０も、ルータ１０に対する監視パケットの送信を開始する。
【００５０】
接続制御部１０ｆおよび接続制御部２０ｆは、サブネット４００＿１に設定されているＶＬＡＮを、バックボーンネットワーク１００に対しても設定し、マスタルータであるルータ１０と冗長マスタルータとして機能するルータ２０との間をレイヤ２でバックボーンネットワーク１００によって接続する。すなわち、図２の（Ｂ）に示すように、従来サブネット４００＿１に設定されているＶＬＡＮのＶＩＤ（ＶＬＡＮ  Ｉｄｅｎｔｉｆｉｅｒ）を、バックボーンネットワーク１００に対しても設定し、ルータ１０とルータ２０との間を、「サブネット内経路」の他に、レイヤ２でバックボーンネットワーク１００によって接続する「バックボーンネットワーク経路」を確立する。なお、本実施例では、接続制御部２０ｆがＶＬＡＮ設定を行う場合について説明するが、接続制御部１０ｆがＶＬＡＮ設定を行う場合であってもよい。
【００５１】
パケット送受信部１０ａは、サブネット内経路およびバックボーンネットワーク経路に対し、ＡＲＰテーブル１０ｇに記載される複数の端末のＩＰアドレスごとに、当該端末のＭＡＣアドレスを要求するＡＲＰ要求パケットを送信し、当該端末のＭＡＣアドレスを送信元とするＡＲＰ応答パケットを当該端末からサブネット内経路もしくはバックボーンネットワーク経路で受信する（図２の（Ｃ）の（４）参照）。
【００５２】
具体的には、パケット送受信部１０ａは、ＡＲＰテーブル１０ｇに記載される端末３００＿１のＩＰアドレス（ＩＰ（３００＿１））宛に、図４の（Ａ）に示すように、送信先は、ブロードキャスト（ＭＡＣ−ＤＡ：ＢＣ）とし、送信元のＭＡＣアドレス（ＭＡＣ−ＳＡ）は、「ＭＡＣ（ルータ１０）」とするＡＲＰ要求パケットを送信する。そして、パケット送受信部１０ａは、図４の（Ｃ）に示すように、送信先はルータ１０（ＭＡＣ−ＤＡ：ＭＡＣ（ルータ１０））とし、端末３００＿１のＭＡＣアドレスを送信元（ＭＡＣ−ＳＡ：ＭＡＣアドレス：ＭＡＣ（３００＿１））とするＡＲＰ応答パケットをサブネット内経路で受信する（図２の（Ｃ）の（４−１）参照）。
【００５３】
また、パケット送受信部１０ａは、ＡＲＰテーブル１０ｇに記載される端末３００＿２のＩＰアドレス（ＩＰ（３００＿２））宛に、図４の（Ｂ）に示すように、送信先は、ブロードキャスト（ＭＡＣ−ＤＡ：ＢＣ）とし、送信元のＭＡＣアドレス（ＭＡＣ−ＳＡ）は、「ＭＡＣ（ルータ１０）」とするＡＲＰ要求パケットを送信する。そして、パケット送受信部１０ａは、図４の（Ｄ）に示すように、送信先はルータ１０（ＭＡＣ−ＤＡ：ＭＡＣ（ルータ１０））とし、端末３００＿２のＭＡＣアドレスを送信元（ＭＡＣ−ＳＡ：ＭＡＣアドレス：ＭＡＣ（３００＿２））とするＡＲＰ応答パケットをバックボーンネットワーク経路で受信する（図２の（Ｃ）の（４−２）参照）。
【００５４】
ＡＲＰ応答転送部１０ｄは、受信したＡＲＰ応答パケットに格納された端末のＭＡＣアドレスを送信元とする学習用パケットを生成し、当該ＡＲＰ応答パケットを受信した経路とは逆側の経路に対して転送する（図２の（Ｃ）の（５）参照）。具体的には、ＡＲＰ応答転送部１０ｄは、パケット送受信部１０ａが、図４の（Ｃ）で示すＡＲＰ応答パケットを端末３００＿１からサブネット内経路で受信すると、学習用パケットとして、当該ＡＲＰ応答パケットの宛先をブロードキャストに変更したパケットを生成する。具体的には、図５の（Ａ）に示すように、「ＭＡＣ−ＤＡ：ＢＣ」とする学習用パケットを生成する。そして、ＡＲＰ応答転送部１０ｄは、パケット送受信部１０ａを介して、当該学習用パケットを、バックボーンネットワーク経路経由でブロードキャストに送信する。これにより、Ｌ２ＳＷ２００＿２は、端末３００＿１が右方向に存在することを、端末３００＿１の「ＭＡＣアドレス：ＭＡＣ（３００＿１）」とともに再学習し、Ｌ２ＳＷ２００＿３は、端末３００＿１が上方向に存在することを、端末３００＿１の「ＭＡＣアドレス：ＭＡＣ（３００＿１）」とともに再学習する（図２の（Ｃ）の（５−１）参照）。
【００５５】
また、ＡＲＰ応答転送部１０ｄは、パケット送受信部１０ａが、図４の（Ｄ）で示すＡＲＰ応答パケットを端末３００＿２からバックボーンネットワーク経路で受信すると、学習用パケットとして、当該ＡＲＰ応答パケットの宛先をブロードキャストに変更したパケットを生成する。具体的には、図５の（Ｂ）に示すように、「ＭＡＣ−ＤＡ：ＢＣ」とする学習用パケットを生成する。そして、ＡＲＰ応答転送部１０ｄは、パケット送受信部１０ａを介して、当該学習用パケットをサブネット内経路経由でブロードキャストに送信する。これにより、Ｌ２ＳＷ２００＿１は、端末３００＿２が上方向に存在することを、端末３００＿２の「ＭＡＣアドレス：ＭＡＣ（３００＿２）」とともに再学習し、Ｌ２ＳＷ２００＿４は、端末３００＿２が左方向に存在することを、端末３００＿２の「ＭＡＣアドレス：ＭＡＣ（３００＿２）」とともに再学習する（図２の（Ｃ）の（５−２）参照）。
【００５６】
なお、本実施例では、パケット送受信部１０ａがＡＲＰ要求パケットを送信して、ＡＲＰ応答転送部１０ｄが受信したＡＲＰ応答パケットから学習用パケットを生成して転送する場合について説明したが、本発明はこれ限られるものではなく、パケット送受信部２０ａがＡＲＰ要求パケットを送信して、ＡＲＰ応答転送部２０ｄが受信したＡＲＰ応答パケットから学習用パケットを生成して転送する場合であってもよい。
【００５７】
［実施例１におけるルータによる処理の手順］
次に、図６および図７を用いて、実施例１におけるルータによる処理を説明する。図６は、分断検出からＶＬＡＮ設定にいたる処理を説明するためのシーケンス図であり、図７は、実施例１におけるＶＬＡＮ設定後のルータの処理を説明するための図である。
【００５８】
［分断検出からＶＬＡＮ設定にいたる処理の手順］
まず、実施例１におけるルータ２０は、サブネット内の分断を検出すると（ステップＳ６０１）、分断をルータ１０に通知する（ステップＳ６０２）。例えば、図２の（Ａ）に示すように、Ｌ２ＳＷ２００＿４とＬ２ＳＷ２００＿２の間で障害が発生し、サブネット４００＿１内が分断されると、分断検出部２０ｅは、パケット送受信部２０ａが、パケット送受信部１０ａからの監視パケットを受信しない状態が継続することから、サブネット４００＿１内の分断を検出し、分断検出部２０ｅは、サブネット４００＿１内が分断されたことを、ルータ１０に通知するためのパケットを、パケット送受信部２０ａからバックボーンネットワーク１００を介してパケット送受信部１０ａに送信する。
【００５９】
そして、実施例１におけるルータ１０は、ルータ２０から分断通知を受信すると（ステップＳ６０３）、冗長機能制御部１０ｃは、ＡＲＰテーブル１０ｇを複製し、ルータ２０に送信する（ステップＳ６０４）。
【００６０】
続いて、実施例１におけるルータ２０は、複製されたＡＲＰテーブル１０ｇを受信すると、この内容をＡＲＰテーブル２０ｇ格納する（ステップＳ６０５）。
【００６１】
それとともに、実施例１におけるルータ２０は、遮断されているバックボーンネットワーク１００およびサブネット４００＿１との通信を解除する（ステップＳ６０６）。
【００６２】
そして、実施例１におけるルータ２０は、サブネット４００＿１に設定されているＶＬＡＮを、バックボーンネットワーク１００に対しても設定する（ステップＳ６０７）。すなわち、接続制御部２０ｆは、図２の（Ｂ）に示すように、従来サブネット４００＿１に設定されているＶＬＡＮのＶＩＤを、バックボーンネットワーク１００に対しても設定し、ルータ１０とルータ２０との間を、「サブネット内経路」の他に、レイヤ２でバックボーンネットワーク１００によって接続する「バックボーンネットワーク経路」を確立する。
【００６３】
［ＶＬＡＮ設定後のルータの処理の手順］
まず、実施例１におけるルータ１０は、ＶＬＡＮがバックボーンネットワーク１００に対して設定されると（ステップＳ７０１肯定）、パケット送受信部１０ａは、サブネット内経路およびバックボーンネットワーク経路に対し、ＡＲＰテーブル１０ｇに記載される複数の端末のＩＰアドレスごとに、当該端末のＭＡＣアドレスを要求するＡＲＰ要求パケットを送信し、当該端末のＭＡＣアドレスを送信元とするＡＲＰ応答パケットを当該端末からサブネット内経路もしくはバックボーンネットワーク経路で受信する（ステップＳ７０２）。
【００６４】
例えば、パケット送受信部１０ａは、端末３００＿１に対して、図４の（Ａ）に示すようなＡＲＰ要求パケットを送信し、端末３００＿１から、図４の（Ｃ）に示すようなＡＲＰ応答パケットを受信する。また、パケット送受信部１０ａは、端末３００＿２に対して、図４の（Ｂ）に示すようなＡＲＰ要求パケットを送信し、端末３００＿２から、図４の（Ｄ）に示すようなＡＲＰ応答パケットを受信する。
【００６５】
そして、ＡＲＰ応答転送部１０ｄは、受信したＡＲＰ応答パケットに格納された端末のＭＡＣアドレスを送信元とする学習用パケットを生成し、当該ＡＲＰ応答パケットを受信した経路とは逆側の経路に対して転送する（ステップＳ７０３）。例えば、ＡＲＰ応答転送部１０ｄは、パケット送受信部１０ａが図４の（Ｃ）で示すＡＲＰ応答パケットを、端末３００＿１からサブネット内経路で受信すると、学習用パケットとして、当該ＡＲＰ応答パケットの宛先をブロードキャストに変更したパケットを生成する。具体的には、図５の（Ａ）に示すように、「ＭＡＣ−ＤＡ：ＢＣ」とする学習用パケットを生成する。そして、ＡＲＰ応答転送部１０ｄは、パケット送受信部１０ａを介して、当該学習用パケットを、バックボーンネットワーク経路を経由してブロードキャストに送信する。
【００６６】
これにより、Ｌ２ＳＷ２００＿２は、端末３００＿１が右方向に存在することを、端末３００＿１の「ＭＡＣアドレス：ＭＡＣ（３００＿１）」とともに再学習し、Ｌ２ＳＷ２００＿３は、端末３００＿１が上方向に存在することを、端末３００＿１の「ＭＡＣアドレス：ＭＡＣ（３００＿１）」とともに再学習する（図２の（Ｃ）の（５−１）参照）。なお、端末３００＿２についてのレイヤ２スイッチの再学習も、同様な手順で行なう。
【００６７】
続いて、ＡＲＰ応答転送部１０ｄは、ＡＲＰテーブル１０ｇに記載されるすべての端末について学習用パケットを生成し転送すると（ステップＳ７０４肯定）、処理を終了する。
［実施例１の効果］
上記したように、実施例１によれば、サブネット４００＿１内の分断の有無を検出し、サブネット４００＿１内の分断が検出された場合に、遮断されていたバックアップルータであるルータ２０とバックボーンネットワーク１００およびサブネット４００＿１との通信を解除するとともに、マスタルータであるルータ１０が記憶するＡＲＰテーブル１０ｇをルータ２０のＡＲＰテーブル２０ｇに格納して、ルータ２０が冗長マスタルータに遷移させるよう制御し、サブネット４００＿１に設定されているＶＬＡＮを、バックボーンネットワーク１００に対しても設定し、マスタルータであるルータ１０と冗長マスタルータとして機能するルータ２０との間をレイヤ２でバックボーンネットワーク１００によって接続し、サブネット内経路およびバックボーンネットワーク経路に対し、ＡＲＰテーブル１０ｇに記載される複数の端末のＩＰアドレスごとに、当該端末のＭＡＣアドレスを要求するＡＲＰ要求パケットを送信し、当該端末のＭＡＣアドレスを送信元とするＡＲＰ応答パケットを当該端末からサブネット内経路もしくはバックボーンネットワーク経路で受信し、受信したＡＲＰ応答パケットに格納された端末のＭＡＣアドレスを送信元とする学習用パケットを生成し、当該ＡＲＰ応答パケットを受信した経路とは逆側の経路に対して転送するので、レイヤ２で接続したバックボーンネットワーク経路を利用して、一方の経路ではＭＡＣアドレスを再学習できないレイヤ２スイッチは、逆の経路でＭＡＣアドレスを再学習することができ、効率的なＭＡＣアドレスの再学習を可能にする。また、効率的な再学習により分断時における通信分断時間が短縮され、信頼性の高いネットワークを実現することが可能になる。
【００６８】
また、実施例１によれば、学習用パケットとして、受信したＡＲＰ応答パケットの宛先をブロードキャストに変更したパケットを生成するので、ＣＰＵに対する負荷が軽減でき、さらに効率的なＭＡＣアドレスの再学習を可能にする。
【実施例２】
【００６９】
上述した実施例１では、サブネット内の分断時において、レイヤ２スイッチにＭＡＣアドレスを再学習させる場合を説明したが、実施例２では、サブネット内の分断復旧時において、レイヤ２スイッチにＭＡＣアドレスを再学習させる場合について説明する。
【００７０】
［実施例２におけるルータの概要および特徴］
まず最初に、図８を用いて、実施例２におけるルータの主たる特徴を具体的に説明する。図８は、実施例２におけるルータの概要および特徴を説明するための図である。
【００７１】
実施例２におけるルータは、サブネット内の分断復旧を検出する。例えば、冗長マスタルータに遷移したルータ２０は、マスタルータであるルータ１０からの監視パケットを、再び、一定時間ごとに受信することで、サブネット４００＿１内の分断復旧を検出する（図８の（Ａ）の（１）参照）。なお、この際、マスタルータであるルータ１０も、冗長マスタルータに遷移したルータ２０からの監視パケットを、一定時間ごとに受信することで、サブネット４００＿１内の分断復旧を検出する。
【００７２】
そして、実施例２におけるルータは、サブネット内の分断が復旧された場合に、バックボーンネットワーク１００に対して設定したＶＬＡＮを解除する（図８の（Ａ）の（２）参照）。すなわち、マスタルータであるルータ１０と冗長マスタルータとして機能するルータ２０との間に設定したＶＩＤを解除し、ルータ１０とルータ２０との間におけるレイヤ２接続を解除する。
【００７３】
そして、実施例２におけるルータは、ルータ２０とバックボーンネットワーク１００およびサブネット４００＿１との通信を遮断して、ルータ２０が冗長マスタルータからバックアップルータに遷移させるよう制御する（図８の（Ａ）の（３）参照）。
【００７４】
そして、実施例２におけるルータは、バックアップルータであるルータ２０から当該ルータ２０のＭＡＣアドレスを送信元とするパケットをマスタルータであるルータ１０に対してサブネット内経路で送信する（図８の（Ｂ）の（４）参照）。すなわち、バックアップルータであるルータ２０からサブネット内経路で、発信元ＭＡＣアドレスが「ＭＡＣ（ルータ２０）」とするパケットをルータ１０に送信する。なお、当該パケットとしては、ルータ２０から送信することが遮断された監視パケット（例えば、ＢＰＤＵ）を、この場合のみ利用できるようにしてもよい。
【００７５】
これにより、サブネット内に収容されるレイヤ２スイッチであるＬ２ＳＷ２００＿１〜４は、バックアップルータとしてのルータ２０のＭＡＣアドレス（ＭＡＣ(ルータ２０)）と、ルータ２０が接続される方向を再学習する。すなわち、Ｌ２ＳＷ２００＿１、Ｌ２ＳＷ２００＿４およびＬ２ＳＷ２００＿２は、ルータ２０が右方向に接続され、Ｌ２ＳＷ２００＿３は、ルータ２０が上方向に接続されることを再学習する。
【００７６】
そして、実施例２におけるルータは、マスタルータであるルータ１０からサブネット内経路に対してＡＲＰテーブルに記載される複数の端末のＩＰアドレスごとに、当該端末のＭＡＣアドレスを要求するＡＲＰ要求パケットを送信して当該端末のＭＡＣアドレスを送信元とするＡＲＰ応答パケットを当該端末からサブネット内経路で受信する（図８の（Ｂ）の（５）参照）。
【００７７】
具体的には、ルータ１０は、サブネット内経路に対し、ＡＲＰテーブルに記載される端末３００＿１のＩＰアドレス（ＩＰ（３００＿１））宛に端末３００＿１のＭＡＣアドレスを要求するＡＲＰ要求パケットを送信し、端末３００＿１から「ＭＡＣアドレス：ＭＡＣ（３００＿１）」を格納するＡＲＰ応答パケットを、サブネット内経路で受信する（図８の（Ｂ）の（５−１）参照）。ただし、これによって、図８の（Ａ）に示す分断時におけるレイヤ２スイッチのＭＡＣアドレスの学習内容は変わらない。
【００７８】
また、ルータ１０は、サブネット内経路に対し、ＡＲＰテーブルに記載される端末３００＿２のＩＰアドレス（ＩＰ（３００＿２））宛に端末３００＿２のＭＡＣアドレスを要求するＡＲＰ要求パケットを送信し、端末３００＿２から「ＭＡＣアドレス：ＭＡＣ（３００＿２）」を格納するＡＲＰ応答パケットを、サブネット内経路で受信する（図８の（Ｂ）の（５−２）参照）。これによって、図８の（Ａ）に示す分断時におけるレイヤ２スイッチのＭＡＣアドレスの学習内容は、図８の（Ｂ）の（５−２）に示すように変化する。すなわち、Ｌ２ＳＷ２００＿１およびＬ２ＳＷ２００＿４は、端末３００＿２が右方向に接続されることを再学習する。
【００７９】
そして、実施例２におけるルータは、バックアップルータであるルータ２０のＭＡＣアドレスを送信元とするＡＲＰ要求パケットをマスタルータから再度複数の端末に送信して、当該端末のＭＡＣアドレスを送信元とするＡＲＰ応答パケットを当該端末からサブネット内経路でバックアップルータであるルータ２０に転送する（図８の（Ｃ）の（６）参照）。
【００８０】
具体的には、図８の（６−１）に示すように、バックアップルータであるルータ２０のＭＡＣアドレスを送信元にして再度、ルータ１０から端末３００＿１へ、ＡＲＰ要求パケットを送信する。端末３００＿１は、ＡＲＰ応答パケットを、送信元とされているルータ２０に送信し、ルータ２０は、端末３００＿１からのＡＲＰ応答パケットを受信する。これにより、図８の（６−２）に示すように、Ｌ２ＳＷ２００＿２およびＬ２ＳＷ２００＿３は、端末３００＿１が左方向に接続されることを再学習する。これにより、図１に示すように、通常のレイヤ２スイッチのＭＡＣアドレスの学習内容に戻る。
【００８１】
また、図８の（６−２）に示すように、バックアップルータであるルータ２０のＭＡＣアドレスを送信元にして再度、ルータ１０から端末３００＿２へ、ＡＲＰ要求パケットを送信する。端末３００＿２は、ＡＲＰ応答パケットを、送信元とされているルータ２０に送信し、ルータ２０は、端末３００＿２からのＡＲＰ応答パケットを受信する。ただし、本実施例では、これによっては、レイヤ２スイッチのＭＡＣアドレスの学習内容は変わらない。
【００８２】
このようなことから、実施例２におけるルータは、ＭＡＣアドレスの再学習に要する時間を短縮でき、より効率的なＭＡＣアドレスの再学習を可能にする。
【００８３】
［実施例２におけるルータの構成］
次に、図３および図９を用いて、実施例２におけるルータを説明する。図３は、実施例１におけるルータの構成を示すブロック図であり、図９は、実施例２におけるＡＲＰ応答転送部を説明するための図である。
【００８４】
図３に示すように、実施例２におけるルータ１０およびルータ２０は、実施例１におけるルータ１０およびルータ２０と同様の構成であるが、ルータ１０を構成するパケット送受信部１０ａ、冗長機能制御部１０ｃ、ＡＲＰ応答転送部１０ｄ、分断検出部１０ｅおよび接続制御部１０ｆと、ルータ２０を構成するパケット送受信部２０ａ、冗長機能制御部２０ｃ、ＡＲＰ応答転送部２０ｄ、分断検出部２０ｅおよび接続制御部２０ｆの処理内容が異なる。以下、これを中心に説明する。
【００８５】
分断検出部１０ｅおよび分断検出部２０ｅは、サブネット内の分断復旧を検出する。例えば、冗長マスタルータに遷移したルータ２０のパケット送受信部２０ａが、マスタルータであるルータ１０からの監視パケットを、再び、一定時間ごとに受信すると、分断検出部２０ｅは、サブネット４００＿１内の分断復旧を検出する（図８の（Ａ）の（１）参照）。なお、この際、マスタルータであるルータ１０のパケット送受信部１０ａが、冗長マスタルータに遷移したルータ２０からの監視パケットを、一定時間ごとに受信することで、分断検出部１０ｅも、サブネット４００＿１内の分断復旧を検出する。
【００８６】
接続制御部１０ｆおよび接続制御部２０ｆは、サブネット内の分断が復旧された場合に、バックボーンネットワーク１００に対して設定したＶＬＡＮを解除する（図８の（Ａ）の（２）参照）。すなわち、マスタルータであるルータ１０と冗長マスタルータとして機能するルータ２０との間に設定したＶＩＤを解除し、ルータ１０とルータ２０との間におけるレイヤ２接続を解除する。ここで、分断検出部１０ｅが検出した分断復旧に基づいて接続制御部１０ｆが、バックボーンネットワーク１００に対して設定したＶＬＡＮを解除してもよいし、分断検出部２０ｅが検出した分断復旧に基づいて接続制御部２０ｆが、バックボーンネットワーク１００に対して設定したＶＬＡＮを解除してもよい。
【００８７】
ルータ２０の冗長機能制御部２０ｃは、分断検出部２０ｅが検出した分断復旧に基づいて、ルータ２０とバックボーンネットワーク１００およびサブネット４００＿１との通信を遮断して、ルータ２０が冗長マスタルータからバックアップルータに遷移させるよう制御する（図８の（Ａ）の（３）参照）。
【００８８】
ルータ２０のパケット送受信部２０ａは、バックアップルータであるルータ２０から当該ルータ２０のＭＡＣアドレスを送信元とするパケットをマスタルータであるルータ１０に対してサブネット内経路で送信する（図８の（Ｂ）の（４）参照）。すなわち、バックアップルータであるルータ２０からサブネット内経路で、発信元ＭＡＣアドレスが「ＭＡＣ（ルータ２０）」とするパケットをルータ１０に送信する。これにより、サブネット内に収容されるレイヤ２スイッチであるＬ２ＳＷ２００＿１〜４は、バックアップルータとしてのルータ２０のＭＡＣアドレス（ＭＡＣ(ルータ２０)）と、ルータ２０が接続される方向を再学習する。
【００８９】
ルータ１０のパケット送受信部１０ａは、サブネット内経路に対してＡＲＰテーブル１０ｇに記憶される複数の端末のＩＰアドレスごとに、当該端末のＭＡＣアドレスを要求するＡＲＰ要求パケットを送信して当該端末のＭＡＣアドレスを送信元とするＡＲＰ応答パケットを当該端末からサブネット内経路で受信する（図８の（Ｂ）の（５）参照）。
【００９０】
具体的には、パケット送受信部１０ａは、ＡＲＰテーブルに記載される端末３００＿１のＩＰアドレス（ＩＰ（３００＿１））宛に、図４の（Ａ）に示すＡＲＰ要求パケットを送信し、端末３００＿１が送信した図４の（Ｃ）に示すＡＲＰ応答パケットを受信する。
【００９１】
また、パケット送受信部１０ａは、ＡＲＰテーブルに記載される端末３００＿２のＩＰアドレス（ＩＰ（３００＿２））宛に、図４の（Ｂ）に示すＡＲＰ要求パケットを送信し、端末３００＿２が送信した図４の（Ｄ）に示すＡＲＰ応答パケットを受信する。これによって、図８の（Ａ）に示す分断時におけるレイヤ２スイッチのＭＡＣアドレスの学習内容は、図８の（５−２）に示すように変化する。すなわち、Ｌ２ＳＷ２００＿１およびＬ２ＳＷ２００＿４は、端末３００＿２が右方向に接続されることを再学習する。
【００９２】
ルータ１０のＡＲＰ応答転送部１０ｄは、バックアップルータであるルータ２０のＭＡＣアドレスを送信元とするＡＲＰ要求パケットをマスタルータから再度複数の端末に送信して、当該端末のＭＡＣアドレスを送信元とするＡＲＰ応答パケットを当該端末からサブネット内経路でバックアップルータであるルータ２０に転送する（図８の（Ｃ）の（６）参照）。
【００９３】
具体的には、図９の（Ａ）に示すように、バックアップルータであるルータ２０のＭＡＣアドレスとＩＰアドレスとをＡＲＰ応答パケットの送信元として「ＡＲＰ要求」に格納し、発信元ＭＡＣアドレスとしては「ＭＡＣ−ＳＡ：ＭＡＣ（ルータ１０）」とするＡＲＰ要求パケットを、再度、端末３００＿１へ送信する。そして、端末３００＿１は、図９の（Ｃ）に示すように、ルータ２０のＭＡＣアドレスを送信先とするＡＲＰ応答パケットを、ルータ２０に送信し、パケット送受信部２０ａは、端末３００＿１からのＡＲＰ応答パケットを受信する。これにより、図８の（６−２）に示すように、Ｌ２ＳＷ２００＿２およびＬ２ＳＷ２００＿３は、端末３００＿１が左方向に接続されることを再学習する。これにより、図１に示すように、通常のレイヤ２スイッチのＭＡＣアドレスの学習内容に戻る。
【００９４】
また、図９の（Ｂ）に示すように、バックアップルータであるルータ２０のＭＡＣアドレスとＩＰアドレスとをＡＲＰ応答パケットの送信元として「ＡＲＰ要求」に格納し、発信元ＭＡＣアドレスとしては「ＭＡＣ−ＳＡ：ＭＡＣ（ルータ１０）」とするＡＲＰ要求パケットを、再度、端末３００＿２へ送信する。そして、端末３００＿２は、図９の（Ｄ）に示すように、ルータ２０のＭＡＣアドレスを送信先とするＡＲＰ応答パケットを、ルータ２０に送信し、パケット送受信部２０ａは、端末３００＿２からのＡＲＰ応答パケットを受信する。
【００９５】
［実施例２におけるルータによる処理の手順］
次に、図１０および図１１を用いて、実施例２におけるルータによる処理を説明する。図１０は、分断復旧検出からバックアップルータからパケットを受信するにいたる処理を説明するための図であり、図１１は、実施例２におけるバックアップルータからパケット受信後のルータの処理を説明するための図である。
【００９６】
［分断復旧検出からバックアップルータからパケットを受信するにいたる処理の手順］
まず、実施例２におけるルータ１０およびルータ２０は、サブネット内の分断復旧を検出すると（ステップＳ１００１）、接続制御部１０ｆは、バックボーンネットワーク１００に対して設定したＶＬＡＮを解除する（ステップＳ１００２）。例えば、ルータ１０のパケット送受信部１０ａが、冗長マスタルータであるルータ２０からの監視パケットを、一定時間ごとに受信すると、分断検出部１０ｅは、サブネット４００＿１内の分断復旧を検出し、接続制御部１０ｆは、マスタルータであるルータ１０と冗長マスタルータとして機能するルータ２０との間に設定したＶＩＤを解除し、ルータ１０とルータ２０との間におけるレイヤ２接続を解除する。
【００９７】
そして、ルータ２０の冗長機能制御部２０ｃは、分断検出部２０ｅが検出した分断復旧に基づいて、ルータ２０とバックボーンネットワーク１００およびサブネット４００＿１との通信を遮断して、ルータ２０が冗長マスタルータからバックアップルータに遷移させるよう制御する（ステップＳ１００３、図８の（Ａ）の（３）参照）。
【００９８】
続いて、ルータ２０のパケット送受信部２０ａは、バックアップルータであるルータ２０から当該ルータ２０のＭＡＣアドレスを送信元とするパケットをマスタルータであるルータ１０に対してサブネット内経路で送信し（ステップＳ１００４、図８の（Ｂ）の（４）参照）、ルータ１０のパケット送受信部１０ａは、当該パケットを受信する（ステップＳ１００５）。
【００９９】
ここで、バックアップルータであるルータ２０からサブネット内経路で、発信元ＭＡＣアドレスが「ＭＡＣ（ルータ２０）」とするパケットをルータ１０に送信することで、サブネット内に収容されるレイヤ２スイッチであるＬ２ＳＷ２００＿１〜４は、バックアップルータとしてのルータ２０のＭＡＣアドレス（ＭＡＣ(ルータ２０)）と、ルータ２０が接続される方向を再学習する。すなわち、Ｌ２ＳＷ２００＿１、Ｌ２ＳＷ２００＿４およびＬ２ＳＷ２００＿２は、ルータ２０が右方向に接続され、Ｌ２ＳＷ２００＿３は、ルータ２０が上方向に接続されることを再学習する。
【０１００】
[バックアップルータからパケット受信後のルータの処理]
まず、実施例２におけるルータ１０は、バックアップルータであるルータ２０から当該ルータ２０のＭＡＣアドレスを送信元とするパケットを受信すると（ステップＳ１１０１肯定）、ルータ１０のパケット送受信部１０ａは、サブネット内経路に対してＡＲＰテーブル１０ｇに記憶される複数の端末のＩＰアドレスごとに、当該端末のＭＡＣアドレスを要求するＡＲＰ要求パケットを送信して当該端末のＭＡＣアドレスを送信元とするＡＲＰ応答パケットを当該端末からサブネット内経路で受信する（ステップＳ１１０２）。
【０１０１】
例えば、パケット送受信部１０ａは、ＡＲＰテーブルに記載される端末３００＿２のＩＰアドレス（ＩＰ（３００＿２））宛に、図４の（Ｂ）に示すＡＲＰ要求パケットを送信し、端末３００＿２が送信した図４の（Ｄ）に示すＡＲＰ応答パケットを受信する。これによって、図８の（Ａ）に示す分断時におけるレイヤ２スイッチのＭＡＣアドレスの学習内容は、図８の（５−２）に示すように変化する。すなわち、Ｌ２ＳＷ２００＿１およびＬ２ＳＷ２００＿４は、端末３００＿２が右方向に接続されることを再学習する。
【０１０２】
そして、ＡＲＰ応答転送部１０ｄは、バックアップルータであるルータ２０のＭＡＣアドレスを送信元とするＡＲＰ要求パケットをマスタルータから再度複数の端末に、学習用パケットとして送信して、当該端末のＭＡＣアドレスを送信元とするＡＲＰ応答パケットを当該端末からサブネット内経路でバックアップルータであるルータ２０に転送する（ステップＳ１１０３）。
【０１０３】
例えば、図９の（Ａ）に示すように、バックアップルータであるルータ２０のＭＡＣアドレスとＩＰアドレスとをＡＲＰ応答パケットの送信元として「ＡＲＰ要求」に格納し、発信元ＭＡＣアドレスとしては「ＭＡＣ−ＳＡ：ＭＡＣ（ルータ１０）」とするＡＲＰ要求パケットを、再度、端末３００＿１へ送信する。端末３００＿１は、図９の（Ｃ）に示すように、ルータ２０のＭＡＣアドレスを送信先とするＡＲＰ応答パケットを、ルータ２０に送信し、パケット送受信部２０ａは、端末３００＿１からのＡＲＰ応答パケットを受信する。これにより、図８の（６−２）に示すように、Ｌ２ＳＷ２００＿２およびＬ２ＳＷ２００＿３は、端末３００＿１が左方向に接続されることを再学習する。これにより、図１に示すように、通常のレイヤ２スイッチのＭＡＣアドレスの学習内容に戻る。
【０１０４】
続いて、ＡＲＰ応答転送部１０ｄは、バックアップルータであるルータ２０のＭＡＣアドレスを送信元とするＡＲＰ要求パケットを学習用パケットとして、再度ＡＲＰテーブル１０ｇに記載されるすべての端末に送信すると（ステップＳ１１０４肯定）、処理を終了する。
［実施例２の効果］
上記したように、実施例２によれば、サブネット４００＿１内の分断復旧が検出された場合に、バックボーンネットワーク１００に対して設定したＶＬＡＮを解除し、冗長マスタルータであるルータ２０とバックボーンネットワーク１００およびサブネット４００＿１との通信を遮断して冗長マスタルータからバックアップルータに遷移させるよう制御し、バックアップルータであるルータ２０から当該ルータ２０のＭＡＣアドレスを送信元とするパケットをマスタルータであるルータ１０に対してサブネット内経路で送信し、マスタルータであるルータ１０からサブネット内経路に対してＡＲＰテーブルに記載される複数の端末のＩＰアドレスごとに、当該端末のＭＡＣアドレスを要求するＡＲＰ要求パケットを送信して当該端末のＭＡＣアドレスを送信元とするＡＲＰ応答パケットを当該端末からサブネット内経路で受信し、受信したバックアップルータであるルータ２０のＭＡＣアドレスを送信元とするＡＲＰ要求パケットをマスタルータであるルータ１０から再度複数の端末に送信して、当該端末のＭＡＣアドレスを送信元とするＡＲＰ応答パケットを当該端末からサブネット内経路でバックアップルータに転送するので、サブネット内経路のみでＭＡＣアドレスを再学習でき、効率的なＭＡＣアドレスの再学習を可能にする。また、効率的な再学習により、分断復旧時における通信分断時間が短縮され、信頼性の高いネットワークを実現することが可能になる。
【実施例３】
【０１０５】
上述した実施例１では、サブネット内の分断時において、単独のルータが、レイヤ２スイッチにＭＡＣアドレスを再学習させる場合を説明したが、実施例３では、サブネット内の分断時において、冗長して構成される複数のルータが分担して、レイヤ２スイッチにＭＡＣアドレスを再学習する場合について説明する。
【０１０６】
［実施例３におけるルータの概要および特徴］
まず最初に、図１２を用いて、実施例３におけるルータの主たる特徴を具体的に説明する。図１２は、実施例３におけるルータの概要および特徴を説明するための図である。
【０１０７】
実施例３におけるルータは、サブネット内の分断時において、マスタルータであるルータ１０と、バックアップルータから冗長マスタルータに遷移したルータ２０とが、ＡＲＰテーブルに記載される複数の端末のＩＰアドレスを分担してＡＲＰ要求パケットを送信する。
【０１０８】
ここで、マスタルータであるルータ１０が記憶するＡＲＰテーブルには、予め、分断発生時において、複数の端末ごとに、どちらのルータがＡＲＰ要求パケットを送信するかを示す「担当」の項目がさらに記載されている。例えば、図１２に示すように、ＡＲＰテーブルには、分断発生時において、ルータ１０が端末３００＿１のＩＰアドレス（ＩＰ（３００＿１））にＡＲＰ要求パケットを送信し、ルータ２０が端末３００＿２のＩＰアドレス（ＩＰ（３００＿２））にＡＲＰ要求パケットを送信することが、予め記載されている。
【０１０９】
すなわち、実施例３におけるルータは、上記したＡＲＰテーブルを参照して、担当する端末のＩＰアドレスにＡＲＰ要求パケットを送信し、当該端末からＡＲＰ応答パケットを受信する（図１２の（１）参照）。具体的には、上記したＡＲＰテーブルを共有して、ルータ１０は、担当する端末３００＿１のＩＰアドレス（ＩＰ（３００＿１））にＡＲＰ要求パケットをブロードキャストで送信して、端末３００＿１から、サブネット内経路でＡＲＰ応答パケットを受信し（図１２の（１−１）参照）、ルータ２０は、担当する端末３００＿２のＩＰアドレス（ＩＰ（３００＿２））にＡＲＰ要求パケットをブロードキャストで送信して、端末３００＿２から、サブネット内経路でＡＲＰ応答パケットを受信する（図１２の（１−２）参照）。
【０１１０】
そして、実施例３におけるルータは、マスタルータであるルータ１０と、バックアップルータから冗長マスタルータに遷移したルータ２０とが、受信したＡＲＰ応答パケットに格納された端末のＭＡＣアドレスを送信元とする学習用パケットを生成し、当該ＡＲＰ応答パケットを受信した経路とは逆側の経路に対して転送する。
【０１１１】
具体的には、ルータ１０は、端末３００＿１から「ＭＡＣアドレス：ＭＡＣ（３００＿１）」をサブネット内経路で受信すると、「ＭＡＣアドレス：ＭＡＣ（３００＿１）」を送信元とする学習用パケットを生成し、バックボーンネットワーク経路に対して転送する。これにより、Ｌ２ＳＷ２００＿２は、端末３００＿１が右方向に存在することを、端末３００＿１の「ＭＡＣアドレス：ＭＡＣ（３００＿１）」とともに再学習し、Ｌ２ＳＷ２００＿３は、端末３００＿１が上方向に存在することを、端末３００＿１の「ＭＡＣアドレス：ＭＡＣ（３００＿１）」とともに再学習する（図１２の（２−１）参照）。
【０１１２】
これと同様に、ルータ２０は、端末３００＿２から「ＭＡＣアドレス：ＭＡＣ（３００＿２）」をサブネット内経路で受信すると、「ＭＡＣアドレス：ＭＡＣ（３００＿２）」を送信元とする学習用パケットを生成し、バックボーンネットワーク経路に対して転送する。これにより、Ｌ２ＳＷ２００＿１は、端末３００＿２が上方向に存在することを、端末３００＿２の「ＭＡＣアドレス：ＭＡＣ（３００＿２）」とともに再学習し、Ｌ２ＳＷ２００＿４は、端末３００＿２が左方向に存在することを、端末３００＿２の「ＭＡＣアドレス：ＭＡＣ（３００＿２）」とともに再学習する（図１２の（１−２）参照）。なお、図１２の（１−２）は、ルータ２０の転送による再学習の内容を、ルータ１０の転送による再学習の内容とともに示している。
【０１１３】
このようなことから、実施例３におけるルータは、ＭＡＣアドレスの再学習に要する時間を短縮でき、より効率的なＭＡＣアドレスの再学習を可能にする。
【０１１４】
［実施例３におけるルータの構成］
次に、図３、図１３および図１４を用いて、実施例３におけるルータを説明する。図３は、実施例１におけるルータの構成を示すブロック図であり、図１３は、実施例３におけるパケット送受信部を説明するための図であり、図１４は、実施例３におけるＡＲＰ応答転送部を説明するための図である。
【０１１５】
図３に示すように、実施例３におけるルータ１０およびルータ２０は、実施例１におけるルータ１０およびルータ２０と同様の構成であるが、ルータ１０を構成するＡＲＰテーブル１０ｇと、ルータ２０を構成するＡＲＰテーブル２０ｇとが記憶する内容が異なる。以下、これを中心に説明する。
【０１１６】
ルータ１０のＡＲＰテーブル１０ｇは、予め、分断発生時において、複数の端末ごとに、どちらのルータがＡＲＰ要求パケットを送信するかを示す「担当」の項目をさらに記憶する。例えば、図１２に示すように、ＡＲＰテーブルには、分断発生時において、ルータ１０が端末３００＿１のＩＰアドレス（ＩＰ（３００＿１））にＡＲＰ要求パケットを送信し、ルータ２０が端末３００＿２のＩＰアドレス（ＩＰ（３００＿２））にＡＲＰ要求パケットを送信することが、予め記憶されている。
【０１１７】
ルータ２０のＡＲＰテーブル２０ｇは、分断検出部１０ｅおよび分断検出部２０ｅがサブネット４００＿１内の分断を検出後、ルータ２０が受信した「複製されたＡＲＰテーブル１０ｇ」を記憶する。
【０１１８】
パケット送受信部１０ａは、サブネット内経路およびバックボーンネットワーク経路に対し、ＡＲＰテーブル１０ｇが記憶する担当分の複数の端末のＩＰアドレスごとに、当該端末のＭＡＣアドレスを要求するＡＲＰ要求パケットを送信し、当該端末のＭＡＣアドレスを送信元とするＡＲＰ応答パケットを当該端末からサブネット内経路もしくはバックボーンネットワーク経路で受信する。
【０１１９】
具体的には、パケット送受信部１０ａは、ＡＲＰテーブル１０ｇを参照して、端末３００＿１のＩＰアドレス（ＩＰ（３００＿１））宛に、図１３の（Ａ）に示すように、送信先は、ブロードキャスト（ＭＡＣ−ＤＡ：ＢＣ）とし、送信元のＭＡＣアドレス（ＭＡＣ−ＳＡ）は、「ＭＡＣ（ルータ１０）」とするＡＲＰ要求パケットを送信する。そして、パケット送受信部１０ａは、図１３の（Ｃ）に示すように、送信先はルータ１０（ＭＡＣ−ＤＡ：ＭＡＣ（ルータ１０））とし、端末３００＿１のＭＡＣアドレスを送信元（ＭＡＣ−ＳＡ：ＭＡＣアドレス：ＭＡＣ（３００＿１））とするＡＲＰ応答パケットをサブネット内経路で受信する（図１２の（１−１）参照）。
【０１２０】
また、パケット送受信部２０ａは、サブネット内経路およびバックボーンネットワーク経路に対し、ＡＲＰテーブル２０ｇが記憶する担当分の複数の端末のＩＰアドレスごとに、当該端末のＭＡＣアドレスを要求するＡＲＰ要求パケットを送信し、当該端末のＭＡＣアドレスを送信元とするＡＲＰ応答パケットを当該端末からサブネット内経路もしくはバックボーンネットワーク経路で受信する。
【０１２１】
具体的には、パケット送受信部２０ａは、ＡＲＰテーブル２０ｇを参照して、端末３００＿２のＩＰアドレス（ＩＰ（３００＿２））宛に、図１３の（Ｂ）に示すように、送信先は、ブロードキャスト（ＭＡＣ−ＤＡ：ＢＣ）とし、送信元のＭＡＣアドレス（ＭＡＣ−ＳＡ）は、「ＭＡＣ（ルータ２０）」とするＡＲＰ要求パケットを送信する。そして、パケット送受信部２０ａは、図１３の（Ｄ）に示すように、送信先はルータ２０（ＭＡＣ−ＤＡ：ＭＡＣ（ルータ２０））とし、端末３００＿２のＭＡＣアドレスを送信元（ＭＡＣ−ＳＡ：ＭＡＣアドレス：ＭＡＣ（３００＿２））とするＡＲＰ応答パケットをサブネット内経路で受信する（図１２の（１−２）参照）。
【０１２２】
ＡＲＰ応答転送部１０ｄは、受信したＡＲＰ応答パケットに格納された端末のＭＡＣアドレスを送信元とする学習用パケットを生成し、当該ＡＲＰ応答パケットを受信した経路とは逆側の経路に対して転送する。具体的には、ＡＲＰ応答転送部１０ｄは、パケット送受信部１０ａが、図１３の（Ｃ）で示すＡＲＰ応答パケットを端末３００＿１からサブネット内経路で受信すると、学習用パケットとして、当該ＡＲＰ応答パケットの宛先をブロードキャストに変更したパケットを生成する。具体的には、図１４の（Ａ）に示すように、「ＭＡＣ−ＤＡ：ＢＣ」とする学習用パケットを生成する。そして、ＡＲＰ応答転送部１０ｄは、パケット送受信部１０ａを介して、当該学習用パケットを、バックボーンネットワーク経路経由でブロードキャストに送信する。これにより、Ｌ２ＳＷ２００＿２は、端末３００＿１が右方向に存在することを、端末３００＿１の「ＭＡＣアドレス：ＭＡＣ（３００＿１）」とともに再学習し、Ｌ２ＳＷ２００＿３は、端末３００＿１が上方向に存在することを、端末３００＿１の「ＭＡＣアドレス：ＭＡＣ（３００＿１）」とともに再学習する（図１２の（２−１）参照）。
【０１２３】
また、ＡＲＰ応答転送部２０ｄは、パケット送受信部２０ａが、図１３の（Ｄ）で示すＡＲＰ応答パケットを端末３００＿２からサブネット内経路で受信すると、学習用パケットとして、当該ＡＲＰ応答パケットの宛先をブロードキャストに変更したパケットを生成する。具体的には、図１４の（Ｂ）に示すように、「ＭＡＣ−ＤＡ：ＢＣ」とする学習用パケットを生成する。そして、ＡＲＰ応答転送部２０ｄは、パケット送受信部２０ａを介して、当該学習用パケットを、当該学習用パケットをバックボーンネットワーク経路経由でブロードキャストに送信する。これにより、Ｌ２ＳＷ２００＿１は、端末３００＿２が上方向に存在することを、端末３００＿２の「ＭＡＣアドレス：ＭＡＣ（３００＿２）」とともに再学習し、Ｌ２ＳＷ２００＿４は、端末３００＿２が左方向に存在することを、端末３００＿２の「ＭＡＣアドレス：ＭＡＣ（３００＿２）」とともに再学習する（図１２の（２−２）参照）。
【０１２４】
［実施例３におけるルータによる処理の手順］
次に、図１５を用いて、実施例３におけるルータによる処理を説明する。図１５は、実施例３におけるＶＬＡＮ設定後のルータの処理を説明するための図である。なお、分断検出からＶＬＡＮ設定にいたる処理の手順は、図６を用いて上述した処理の手順と同様なので、説明を省略する。
【０１２５】
［ＶＬＡＮ設定後のルータの処理の手順］
まず、実施例３におけるルータ１０およびルータ２０は、ＶＬＡＮがバックボーンネットワーク１００に対して設定されると（ステップＳ１５０１肯定）、パケット送受信部１０ａおよびパケット送受信部２０ａは、それぞれ、ＡＲＰテーブル１０ｇおよびＡＲＰテーブル２０ｇを参照して、分担する複数の端末のＩＰアドレスごとに、サブネット内経路およびバックボーンネットワーク経路に対し、当該端末のＭＡＣアドレスを要求するＡＲＰ要求パケットを送信し、当該端末のＭＡＣアドレスを送信元とするＡＲＰ応答パケットを当該端末からサブネット内経路もしくはバックボーンネットワーク経路で受信する（ステップＳ１５０２）。
【０１２６】
例えば、パケット送受信部１０ａは、ルータ１０が担当する端末３００＿１に対して、図１３の（Ａ）に示すようなＡＲＰ要求パケットを送信し、端末３００＿１から、図１３の（Ｃ）に示すようなＡＲＰ応答パケットを受信する。また、パケット送受信部２０ａは、ルータ２０が担当する端末３００＿２に対して、図１３の（Ｂ）に示すようなＡＲＰ要求パケットを送信し、端末３００＿２から、図１３の（Ｄ）に示すようなＡＲＰ応答パケットを受信する。
【０１２７】
そして、ＡＲＰ応答転送部１０ｄおよびＡＲＰ応答転送部２０ｄは、受信したＡＲＰ応答パケットに格納された端末のＭＡＣアドレスを送信元とする学習用パケットを生成し、当該ＡＲＰ応答パケットを受信した経路とは逆側の経路に対して転送する（ステップＳ１５０３）。例えば、ＡＲＰ応答転送部１０ｄは、パケット送受信部１０ａが図１３の（Ｃ）で示すＡＲＰ応答パケットを、端末３００＿１からサブネット内経路で受信すると、学習用パケットとして、当該ＡＲＰ応答パケットの宛先をブロードキャストに変更したパケットを生成する。具体的には、図１４の（Ａ）に示すように、「ＭＡＣ−ＤＡ：ＢＣ」とする学習用パケットを生成する。そして、ＡＲＰ応答転送部１０ｄは、パケット送受信部１０ａを介して、当該学習用パケットを、バックボーンネットワーク経路を経由してブロードキャストに送信する。
【０１２８】
これにより、Ｌ２ＳＷ２００＿２は、端末３００＿１が右方向に存在することを、端末３００＿１の「ＭＡＣアドレス：ＭＡＣ（３００＿１）」とともに再学習し、Ｌ２ＳＷ２００＿３は、端末３００＿１が上方向に存在することを、端末３００＿１の「ＭＡＣアドレス：ＭＡＣ（３００＿１）」とともに再学習する（図１２の（２−１）参照）。
【０１２９】
また、ＡＲＰ応答転送部２０ｄは、パケット送受信部２０ａが図１３の（Ｄ）で示すＡＲＰ応答パケットを、端末３００＿２からサブネット内経路で受信すると、学習用パケットとして、当該ＡＲＰ応答パケットの宛先をブロードキャストに変更したパケットを生成する。具体的には、図１４の（Ｂ）に示すように、「ＭＡＣ−ＤＡ：ＢＣ」とする学習用パケットを生成する。そして、ＡＲＰ応答転送部２０ｄは、パケット送受信部２０ａを介して、当該学習用パケットを、バックボーンネットワーク経路を経由してブロードキャストに送信する。
【０１３０】
これにより、Ｌ２ＳＷ２００＿１は、端末３００＿２が上方向に存在することを、端末３００＿２の「ＭＡＣアドレス：ＭＡＣ（３００＿２）」とともに再学習し、Ｌ２ＳＷ２００＿４は、端末３００＿２が左方向に存在することを、端末３００＿２の「ＭＡＣアドレス：ＭＡＣ（３００＿２）」とともに再学習する（図１２の（２−２）参照）。
【０１３１】
続いて、ＡＲＰ応答転送部１０ｄおよびＡＲＰ応答転送部２０ｄは、ＡＲＰテーブル１０ｇおよびにＡＲＰテーブル２０ｇ記載される、担当するすべての端末について学習用パケットを生成し転送すると（ステップＳ１５０４肯定）、処理を終了する。
【０１３２】
［実施例３の効果］
上記したように、実施例３によれば、マスタルータであるルータ１０と冗長マスタルータに遷移したルータ２０とが、ＡＲＰテーブルに記載される複数の端末のＩＰアドレスを分担してＡＲＰ要求パケットを送信し、マスタルータであるルータ１０と冗長マスタルータに遷移したルータ２０とが、受信したＡＲＰ応答パケットに格納された端末のＭＡＣアドレスを送信元とする学習用パケットを生成し、当該ＡＲＰ応答パケットを受信した経路とは逆側の経路に対して転送するので、ＭＡＣアドレスの再学習に要する時間を短縮でき、より効率的なＭＡＣアドレスの再学習を可能にする。
【実施例４】
【０１３３】
さて、これまで実施例１〜３におけるルータについて説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてもよいものである。そこで、以下では、実施例４におけるルータとして、種々の異なる実施例を（１）〜（４）に区分けして説明する。
【０１３４】
（１）ＡＲＰ要求パケットの送信
上記の実施例３では、サブネット分断時においてルータごとに分担する端末がＡＲＰテーブルに記憶されている場合について説明したが、本発明はこれに限定されるものではなく、ネットワークの管理者が、ルータごとに分担する端末を動的に設定する場合であってもよい。
【０１３５】
（２）学習用パケット
上記の実施例１および実施例３では、学習用パケットとして、受信したＡＲＰ応答パケットの宛先をブロードキャストに変更したパケットを生成する場合について説明したが、本発明はこれに限定されるものではなく、学習用パケットとして、受信した端末のＭＡＣアドレスを送信元とするＢＰＤＵを生成する場合であってもよい。これにより、既存の機能を利用でき、効率的なＭＡＣアドレスの再学習を可能にする。
【０１３６】
（３）システム構成等
また、上記の実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動でおこなうこともでき（例えば、分断発生時に自動的にＡＲＰ応答パケットを送信するのではなく、キーボードやタッチパネルからＡＲＰ応答パケットの送信要求を受け付けるなど）、あるいは、手動的におこなうものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文章中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報（例えば、ＡＲＰテーブルの「担当」項目など）については、特記する場合を除いて任意に変更することができる。
【０１３７】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各処理部および各記憶部の分散・統合の具体的形態（例えば、図３の形態など）は図示のものに限られず、例えば、冗長機能制御部１０ｃと接続制御部１０ｆとを統合するなど、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【０１３８】
（４）通信保証プログラム
ところで上記の実施例１〜３では、ハードウェアロジックによって各種の処理を実現する場合を説明したが、本発明はこれに限定されるものではなく、あらかじめ用意されたプログラムをコンピュータで実行するようにしてもよい。そこで以下では、図１６を用いて、上記の実施例１に示したルータと同様の機能を有する通信保証プログラムを実行するコンピュータの一例を説明する。図１６は、実施例１の通信保証プログラムを実行するコンピュータを示す図である。
【０１３９】
図１６に示すように、情報処理装置としてのコンピュータ１６０は、キーボード１６１、ディスプレイ１６２、ＣＰＵ１６３、ＲＯＭ１６４、ＨＤＤ１６５、ＲＡＭ１６６およびバス１６７などで接続して構成され、さらにバックボーンネットワーク１００とサブネット４００＿１とに接続される。
【０１４０】
ＲＯＭ１６４には、上記の実施例１に示したルータ１０と同様の機能を発揮する通信保証プログラム、つまり、図１６に示すように、ルーティング制御プログラム１６４ａ、パケット送受信プログラム１６４ｂ、分断検出プログラム１６４ｃ、冗長機能制御プログラム１６４ｄ、接続制御プログラム１６４ｅ、ＡＲＰ応答転送プログラム１６４ｆが予め記憶されている。なお、これらのプログラム１６４ａ〜１６４ｆについては、図３に示したルータ１０の各構成要素と同様、適宜統合または分散してもよい。
【０１４１】
そして、ＣＰＵ１６３が、これらのプログラム１６４ａ〜１６４ｆをＲＯＭ１６４から読みだして実行することで、図１６に示すように、各プログラム１６４ａ〜１６４ｆは、ルーティング制御プロセス１６３ａ、パケット送受信プロセス１６３ｂ、分断検出プロセス１６３ｃ、冗長機能制御プロセス１６３ｄ、接続制御プロセス１６３ｅ、ＡＲＰ応答転送プロセス１６３ｆとして機能するようになる。なお、各プロセス１６３ａ〜１６３ｆは、図３に示した、ルーティング制御部１０ｂ、パケット送受信部１０ａ、分断検出部１０ｅ、冗長機能制御部１０ｃ、接続制御部１０ｆ、ＡＲＰ応答転送部１０ｄにそれぞれ対応する。
【０１４２】
また、ＨＤＤ１６５には、図１６に示すように、ＡＲＰテーブルデータ１６５ａが設けられる。そしてＣＰＵ１６３は、ＡＲＰテーブルデータ１６６ａをＡＲＰテーブルデータ１６５ａに対して登録し、このＡＲＰテーブルデータ１６６ａに基づいて通信保証処理を実行する。
【０１４３】
なお、上記した各プログラム１６４ａ〜１６４ｆについては、必ずしも最初からＲＯＭ１６４に記憶させておく必要はなく、例えばコンピュータ１６０に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯディスク、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」、または、コンピュータ１６０の内外に備えられるＨＤＤなどの「固定用物理媒体」、さらには、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ１６０に接続される「他のコンピュータ（またはサーバ）」などに各プログラムを記憶させておき、コンピュータ１６０がこれらから各プログラムを読み出して実行するようにしてもよい。
【０１４４】
（付記１）ＡＲＰ応答パケットを中継してＭＡＣアドレスを学習する複数のレイヤ２スイッチおよび前記レイヤ２スイッチに接続される複数の端末からなるサブネットと、バックボーンネットワークとの間に介在して、マスタルータまたはバックアップルータとして両者を冗長構成で接続するルータであって、
前記サブネット内の分断の有無を検出する分断検出手段と、
前記分断検出手段によってサブネット内の分断が検出された場合に、遮断されていた前記バックアップルータと前記バックボーンネットワークおよび前記サブネットとの通信を解除するとともに、前記マスタルータが記憶する前記複数の端末のＩＰアドレスとＭＡＣアドレスとを対応付けたＡＲＰテーブルを前記バックアップルータに格納して、当該バックアップルータが冗長マスタルータに遷移させるよう制御する冗長機能制御手段と、
前記サブネットに設定されているＶＬＡＮを、前記バックボーンネットワークに対しても設定し、前記マスタルータと前記冗長マスタルータとして機能する前記バックアップルータとの間をレイヤ２で前記バックボーンネットワークによって接続する接続制御手段と、
前記サブネット内経路および前記接続制御手段によって接続されたバックボーンネットワーク経路に対し、前記ＡＲＰテーブルに記載される前記複数の端末のＩＰアドレスごとに、当該端末のＭＡＣアドレスを要求するＡＲＰ要求パケットを送信し、当該端末のＭＡＣアドレスを送信元とするＡＲＰ応答パケットを当該端末から前記サブネット内経路もしくは前記バックボーンネットワーク経路で受信するＡＲＰ送受信手段と、
前記ＡＲＰ送受信手段によって受信したＡＲＰ応答パケットに格納された前記端末のＭＡＣアドレスを送信元とする学習用パケットを生成し、当該ＡＲＰ応答パケットを受信した経路とは逆側の経路に対して転送するＡＲＰ応答転送手段と、
を備えたことを特徴とするルータ。
【０１４５】
（付記２）前記ＡＲＰ応答転送手段は、前記学習用パケットとして、受信したＡＲＰ応答パケットの宛先をブロードキャストに変更したパケットを生成することを特徴とする付記１に記載のルータ。
【０１４６】
（付記３）前記ＡＲＰ応答転送手段は、前記学習用パケットとして、受信した前記端末のＭＡＣアドレスを送信元とするＢＰＤＵを生成することを特徴とする付記１に記載のルータ。
【０１４７】
（付記４）前記ＡＲＰ送受信手段は、前記マスタルータと前記冗長マスタルータにそれぞれ備えられ、前記ＡＲＰテーブルに記載される前記複数の端末のＩＰアドレスを分担して前記ＡＲＰ要求パケットを送信し、
前記ＡＲＰ応答転送手段は、前記マスタルータと前記冗長マスタルータにそれぞれ備えられ、前記ＡＲＰ送受信手段によって受信したＡＲＰ応答パケットに格納された前記端末のＭＡＣアドレスを送信元とする学習用パケットを生成し、当該ＡＲＰ応答パケットを受信した経路とは逆側の経路に対して転送することを特徴とする付記１〜３のいずれかひとつに記載のルータ。
【０１４８】
（付記５）前記接続制御手段は、前記分断検出手段によってサブネット内の分断復旧が検出された場合に、前記バックボーンネットワークに対して設定したＶＬＡＮを解除し、
前記冗長機能制御手段は、前記冗長マスタルータと前記バックボーンネットワークおよび前記サブネットとの通信を遮断して前記冗長マスタルータが前記バックアップルータに遷移させるよう制御し、
前記ＡＲＰ送受信手段は、前記バックアップルータから当該バックアップルータのＭＡＣアドレスを送信元とするパケットを前記マスタルータに対して前記サブネット内経路で送信し、前記マスタルータから前記サブネット内経路に対して前記ＡＲＰテーブルに記載される前記複数の端末のＩＰアドレスごとに、当該端末のＭＡＣアドレスを要求するＡＲＰ要求パケットを送信して当該端末のＭＡＣアドレスを送信元とするＡＲＰ応答パケットを当該端末から前記サブネット内経路で受信し、
前記ＡＲＰ応答転送手段は、前記ＡＲＰ送受信手段により受信した前記バックアップルータのＭＡＣアドレスを送信元とする前記ＡＲＰ要求パケットを前記マスタルータから再度前記複数の端末に送信して、当該端末のＭＡＣアドレスを送信元とするＡＲＰ応答パケットを当該端末から前記サブネット内経路で前記バックアップルータに転送することを特徴とする付記１〜４のいずれかひとつに記載のルータ。
【０１４９】
（付記６）ＡＲＰ応答パケットを中継してＭＡＣアドレスを学習する複数のレイヤ２スイッチおよび前記レイヤ２スイッチに接続される複数の端末からなるサブネットと、バックボーンネットワークとの間に介在して、マスタルータまたはバックアップルータとして両者を冗長構成で接続するルータに適用され、前記複数の端末間の通信を保証する通信保証方法であって、
前記サブネット内の分断の有無を検出する分断検出工程と、
前記分断検出工程によってサブネット内の分断が検出された場合に、遮断されていた前記バックアップルータと前記バックボーンネットワークおよび前記サブネットとの通信を解除するとともに、前記マスタルータが記憶する前記複数の端末のＩＰアドレスとＭＡＣアドレスとを対応付けたＡＲＰテーブルを前記バックアップルータに格納して、当該バックアップルータが冗長マスタルータに遷移させるよう制御する冗長機能制御工程と、
前記サブネットに設定されているＶＬＡＮを、前記バックボーンネットワークに対しても設定し、前記マスタルータと前記冗長マスタルータとして機能する前記バックアップルータとの間をレイヤ２で前記バックボーンネットワークによって接続する接続制御工程と、
前記サブネット内経路および前記接続制御工程によって接続されたバックボーンネットワーク経路に対し、前記ＡＲＰテーブルに記載される前記複数の端末のＩＰアドレスごとに、当該端末のＭＡＣアドレスを要求するＡＲＰ要求パケットを送信し、当該端末のＭＡＣアドレスを送信元とするＡＲＰ応答パケットを当該端末から前記サブネット内経路もしくは前記バックボーンネットワーク経路で受信するＡＲＰ送受信工程と、
前記ＡＲＰ送受信工程によって受信したＡＲＰ応答パケットに格納された前記端末のＭＡＣアドレスを送信元とする学習用パケットを生成し、当該ＡＲＰ応答パケットを受信した経路とは逆側の経路に対して転送するＡＲＰ応答転送工程と、
を含んだことを特徴とする通信保証方法。
【０１５０】
（付記７）前記ＡＲＰ応答転送工程は、前記学習用パケットとして、受信したＡＲＰ応答パケットの宛先をブロードキャストに変更したパケットを生成することを特徴とする付記６に記載の通信保証方法。
【０１５１】
（付記８）前記ＡＲＰ応答転送工程は、前記学習用パケットとして、受信した前記端末のＭＡＣアドレスを送信元とするＢＰＤＵを生成することを特徴とする付記６に記載の通信保証方法。
【０１５２】
（付記９）前記ＡＲＰ送受信工程は、前記マスタルータと前記冗長マスタルータにそれぞれ備えられ、前記ＡＲＰテーブルに記載される前記複数の端末のＩＰアドレスを分担して前記ＡＲＰ要求パケットを送信し、
前記ＡＲＰ応答転送工程は、前記マスタルータと前記冗長マスタルータにそれぞれ備えられ、前記ＡＲＰ送受信工程によって受信したＡＲＰ応答パケットに格納された前記端末のＭＡＣアドレスを送信元とする学習用パケットを生成し、当該ＡＲＰ応答パケットを受信した経路とは逆側の経路に対して転送することを特徴とする付記６〜８のいずれかひとつに記載の通信保証方法。
【０１５３】
（付記１０）前記接続制御工程は、前記分断検出工程によってサブネット内の分断復旧が検出された場合に、前記バックボーンネットワークに対して設定したＶＬＡＮを解除し、
前記冗長機能制御工程は、前記冗長マスタルータと前記バックボーンネットワークおよび前記サブネットとの通信を遮断して前記冗長マスタルータが前記バックアップルータに遷移させるよう制御し、
前記ＡＲＰ送受信工程は、前記バックアップルータから当該バックアップルータのＭＡＣアドレスを送信元とするパケットを前記マスタルータに対して前記サブネット内経路で送信し、前記マスタルータから前記サブネット内経路に対して前記ＡＲＰテーブルに記載される前記複数の端末のＩＰアドレスごとに、当該端末のＭＡＣアドレスを要求するＡＲＰ要求パケットを送信して当該端末のＭＡＣアドレスを送信元とするＡＲＰ応答パケットを当該端末から前記サブネット内経路で受信し、
前記ＡＲＰ応答転送工程は、前記ＡＲＰ送受信工程により受信した前記バックアップルータのＭＡＣアドレスを送信元とする前記ＡＲＰ要求パケットを前記マスタルータから再度前記複数の端末に送信して、当該端末のＭＡＣアドレスを送信元とするＡＲＰ応答パケットを当該端末から前記サブネット内経路で前記バックアップルータに転送することを特徴とする付記６〜９のいずれかひとつに記載の通信保証方法。
【０１５４】
（付記１１）ＡＲＰ応答パケットを中継してＭＡＣアドレスを学習する複数のレイヤ２スイッチおよび前記レイヤ２スイッチに接続される複数の端末からなるサブネットと、バックボーンネットワークとの間に介在して、マスタルータまたはバックアップルータとして両者を冗長構成で接続するルータとしてのコンピュータに、前記複数の端末間の通信を保証する通信保証方法を実行させる通信保証プログラムであって、
前記サブネット内の分断の有無を検出する分断検出手順と、
前記分断検出手順によってサブネット内の分断が検出された場合に、遮断されていた前記バックアップルータと前記バックボーンネットワークおよび前記サブネットとの通信を解除するとともに、前記マスタルータが記憶する前記複数の端末のＩＰアドレスとＭＡＣアドレスとを対応付けたＡＲＰテーブルを前記バックアップルータに格納して、当該バックアップルータが冗長マスタルータに遷移させるよう制御する冗長機能制御手順と、
前記サブネットに設定されているＶＬＡＮを、前記バックボーンネットワークに対しても設定し、前記マスタルータと前記冗長マスタルータとして機能する前記バックアップルータとの間をレイヤ２で前記バックボーンネットワークによって接続する接続制御手順と、
前記サブネット内経路および前記接続制御手順によって接続されたバックボーンネットワーク経路に対し、前記ＡＲＰテーブルに記載される前記複数の端末のＩＰアドレスごとに、当該端末のＭＡＣアドレスを要求するＡＲＰ要求パケットを送信し、当該端末のＭＡＣアドレスを送信元とするＡＲＰ応答パケットを当該端末から前記サブネット内経路もしくは前記バックボーンネットワーク経路で受信するＡＲＰ送受信手順と、
前記ＡＲＰ送受信手順によって受信したＡＲＰ応答パケットに格納された前記端末のＭＡＣアドレスを送信元とする学習用パケットを生成し、当該ＡＲＰ応答パケットを受信した経路とは逆側の経路に対して転送するＡＲＰ応答転送手順と、
をコンピュータに実行させることを特徴とする通信保証プログラム。
【０１５５】
（付記１２）前記ＡＲＰ応答転送手順は、前記学習用パケットとして、受信したＡＲＰ応答パケットの宛先をブロードキャストに変更したパケットを生成することを特徴とする付記１１に記載の通信保証プログラム。
【０１５６】
（付記１３）前記ＡＲＰ応答転送手順は、前記学習用パケットとして、受信した前記端末のＭＡＣアドレスを送信元とするＢＰＤＵを生成することを特徴とする付記１１に記載の通信保証プログラム。
【０１５７】
（付記１４）前記ＡＲＰ送受信手順は、前記マスタルータと前記冗長マスタルータにそれぞれ備えられ、前記ＡＲＰテーブルに記載される前記複数の端末のＩＰアドレスを分担して前記ＡＲＰ要求パケットを送信し、
前記ＡＲＰ応答転送手順は、前記マスタルータと前記冗長マスタルータにそれぞれ備えられ、前記ＡＲＰ送受信手順によって受信したＡＲＰ応答パケットに格納された前記端末のＭＡＣアドレスを送信元とする学習用パケットを生成し、当該ＡＲＰ応答パケットを受信した経路とは逆側の経路に対して転送することを特徴とする付記１１〜１３のいずれかひとつに記載の通信保証プログラム。
【０１５８】
（付記１５）前記接続制御手順は、前記分断検出手順によってサブネット内の分断復旧が検出された場合に、前記バックボーンネットワークに対して設定したＶＬＡＮを解除し、
前記冗長機能制御手順は、前記冗長マスタルータと前記バックボーンネットワークおよび前記サブネットとの通信を遮断して前記冗長マスタルータが前記バックアップルータに遷移させるよう制御し、
前記ＡＲＰ送受信手順は、前記バックアップルータから当該バックアップルータのＭＡＣアドレスを送信元とするパケットを前記マスタルータに対して前記サブネット内経路で送信し、前記マスタルータから前記サブネット内経路に対して前記ＡＲＰテーブルに記載される前記複数の端末のＩＰアドレスごとに、当該端末のＭＡＣアドレスを要求するＡＲＰ要求パケットを送信して当該端末のＭＡＣアドレスを送信元とするＡＲＰ応答パケットを当該端末から前記サブネット内経路で受信し、
前記ＡＲＰ応答転送手順は、前記ＡＲＰ送受信手順により受信した前記バックアップルータのＭＡＣアドレスを送信元とする前記ＡＲＰ要求パケットを前記マスタルータから再度前記複数の端末に送信して、当該端末のＭＡＣアドレスを送信元とするＡＲＰ応答パケットを当該端末から前記サブネット内経路で前記バックアップルータに転送することを特徴とする付記１１〜１４のいずれかひとつに記載の通信保証プログラム。
【産業上の利用可能性】
【０１５９】
以上のように、本発明に係るルータ、通信保証方法および通信保証プログラムは、複数のレイヤ２スイッチおよびレイヤ２スイッチに接続される複数の端末からなるサブネットと、バックボーンネットワークとの間に介在して、マスタルータまたはバックアップルータとして両者を冗長構成で接続するルータに有用であり、特に、効率的なＭＡＣアドレスの再学習を可能にすることに適する。
【図面の簡単な説明】
【０１６０】
【図１】実施例１におけるルータの概要を説明するための図である。
【図２】実施例１におけるルータの特徴を説明するための図である。
【図３】実施例１におけるルータの構成を示すブロック図である。
【図４】実施例１におけるパケット送受信部を説明するための図である。
【図５】実施例１におけるＡＲＰ応答転送部を説明するための図である。
【図６】分断検出からVLAN設定にいたる処理を説明するためのシーケンス図である。
【図７】実施例１におけるVLAN設定後のルータの処理を説明するための図である。
【図８】実施例２におけるルータの概要および特徴を説明するための図である。
【図９】実施例２におけるＡＲＰ応答転送部を説明するための図である。
【図１０】分断復旧検出からバックアップルータからパケットを受信するにいたる処理を説明するための図である。
【図１１】実施例２におけるバックアップルータからパケット受信後のルータの処理を説明するための図である。
【図１２】実施例３におけるルータの概要および特徴を説明するための図である。
【図１３】実施例３におけるパケット送受信部を説明するための図である。
【図１４】実施例３におけるＡＲＰ応答転送部を説明するための図である。
【図１５】実施例３におけるVLAN設定後のルータの処理を説明するための図である。
【図１６】実施例１の通信保証プログラムを実行するコンピュータを示す図である。
【符号の説明】
【０１６１】
１０  ルータ
１０ａ  パケット送受信部
１０ｂ  ルーティング制御部
１０ｃ  冗長機能制御部
１０ｄ  ＡＲＰ応答転送部
１０ｅ  分断検出部
１０ｆ  接続制御部
１０ｇ  ＡＲＰテーブル
２０  ルータ
２０ａ  パケット送受信部
２０ｂ  ルーティング制御部
２０ｃ  冗長機能制御部
２０ｄ  ＡＲＰ応答転送部
２０ｅ  分断検出部
２０ｆ  接続制御部
２０ｇ  ＡＲＰテーブル
１００  バックボーンネットワーク
４００＿１  サブネット
【図１】
2008219514.tif 000003
【図２】
2008219514.tif 000004
【図３】
2008219514.tif 000005
【図４】
2008219514.tif 000006
【図５】
2008219514.tif 000007
【図６】
2008219514.tif 000008
【図７】
2008219514.tif 000009
【図８】
2008219514.tif 000010
【図９】
2008219514.tif 000011
【図１０】
2008219514.tif 000012
【図１１】
2008219514.tif 000013
【図１２】
2008219514.tif 000014
【図１３】
2008219514.tif 000015
【図１４】
2008219514.tif 000016
【図１５】
2008219514.tif 000017
【図１６】
2008219514.tif 000018