以下に添付図面を参照して、開示技術の好適な実施の形態を詳細に説明する。開示技術は、L2スイッチによる状態変化信号のブロードキャストを契機としてネットワークアドレスを更新することで、L3ネットワークを迂回経路としてL2ネットワークの通信を継続し、ネットワークの信頼性を向上させる。
(実施の形態1)
(通信システムについて)
図1は、実施の形態1にかかる通信システムの一例を示す図である。図1に示す通信システム100は、実施の形態1にかかる通信システムである。図1に示すように、通信システム100は、データリンク層(レイヤ2)のL2ネットワーク110(第一ネットワーク)と、ネットワーク層(レイヤ3)のL3ネットワーク120(第二ネットワーク)と、が混在する通信システムである。
L2ネットワーク110は、L2スイッチ111〜114(第一スイッチ)を含んでいる。L2スイッチ111〜114のそれぞれは、たとえばルーティング機能を持たず、隣接するノード間でのデータ転送を行うスイッチである。通信システム100においては、L2スイッチ111〜114はリング状に接続されている。L2スイッチ111〜114には、固有の識別情報としてそれぞれノード番号「1」〜「4」が割り当てられている。
L3ネットワーク120は、L3スイッチ121,122(第二スイッチ)を含んでいる。L3スイッチ121,122のそれぞれは、たとえばルーティング機能を有するスイッチである。通信システム100においては、L3スイッチ121はL2スイッチ111と接続されている。L3スイッチ122はL2スイッチ114と接続されている。
図2は、L3スイッチの構成例を示すブロック図である。図2に示すL3スイッチ200は、たとえば図1に示したL3スイッチ121,122に適用されるスイッチである。図2に示すように、L3スイッチ200は、LANポート210と、状態変化信号受信部220と、応答要求信号送信部230と、応答信号受信部240と、ネットワークアドレス決定部250と、DHCP処理部260と、アドレス設定部270と、を備えている。LANポート210は、他の各スイッチとの間で通信を行うポートである。
状態変化信号受信部220は、通信システム100においてブロードキャストで配信された状態変化信号を受信する。状態変化信号受信部220は、受信した状態変化信号を応答要求信号送信部230へ出力する。応答要求信号送信部230は、状態変化信号受信部220から状態変化信号が出力されると、LANポート210を用いて応答要求信号をブロードキャストで配信する。応答要求信号は、L2ネットワーク110の各L2スイッチに応答信号を要求する信号である。
応答信号受信部240は、応答要求信号送信部230によって配信された応答要求信号に応じて各L2スイッチから送信された応答信号を、LANポート210を介して受信する。これにより、応答信号受信部240は、L2ネットワーク110の各L2スイッチのうちの、L3スイッチ200に正常に接続されているネットワークに含まれる各L2スイッチからの各応答信号を受信することができる。応答信号受信部240は、受信した各応答信号をネットワークアドレス決定部250へ出力する。
ネットワークアドレス決定部250は、応答信号受信部240から出力された応答信号に基づいて、L3スイッチ200に接続されたL2ネットワーク(たとえばL2ネットワーク110)のネットワークアドレスを決定する。具体的には、ネットワークアドレス決定部250は、応答信号受信部240から出力された応答信号の数に基づいてL3スイッチ200に接続されたL2ネットワークのL2スイッチの数をカウントする。
そして、ネットワークアドレス決定部250は、カウントした数のノードを割り当て可能なサブネットマスクビットの最小のビット数を決定する。たとえば、ネットワークアドレス決定部250は、カウントした数をMとすると、M−1を2進数に変換し、変換した2進数の桁数をサブネットマスクビットのビット数として決定する。具体的には、ネットワークアドレス決定部250は、カウントした数が4である場合は、4−1=3を2進数に変換した「11」の桁数2をサブネットマスクビットのビット数として決定する。
これにより、4つのノードをサブネットマスクビットの「01」,「10」,「11」,「00」に割り当てることができる。また、カウントした数のノードを割り当て可能なサブネットマスクビットの最小のビット数を決定することができる。
また、ネットワークアドレス決定部250は、応答信号を受信したL2スイッチの中からマスタノードを決定する。たとえば、ネットワークアドレス決定部250は、応答信号受信部240から出力された応答信号に含まれるノード番号(識別情報)が最小のL2スイッチをマスタノードとして決定する。ただし、マスタノードの決定方法は、ノード番号が最小のL2スイッチをマスタノードとして決定する方法に限らず、L3ネットワーク120の各L3スイッチで共通の規則によってマスタノードを決定すればよい。たとえば、ノード番号(識別情報)が最大のL2スイッチをマスタノードとして決定してもよい。
ネットワークアドレス決定部250は、決定したビット数のサブネットマスクビットに、マスタノードとして決定したL2スイッチのノード番号を割り当てる。たとえば、ネットワークアドレス決定部250は、ノード番号をNとすると、Nを2進数に変換し、変換した2進数をサブネットマスクビットに割り当てる。ただし、サブネットマスクビットに対するノード番号の割当方法はこれに限らず、L3ネットワーク120の各L3スイッチで共通の規則によってサブネットマスクビットにノード番号を割り当てればよい。
また、ネットワークアドレス決定部250は、L2スイッチのノード番号を割り当てたサブネットマスクビットに基づいて、L3スイッチ200に接続されたL2ネットワークのネットワークアドレスを決定する(たとえば図5参照)。ネットワークアドレス決定部250は、決定したネットワークアドレスをDHCP処理部260へ出力する。
DHCP処理部260は、ネットワークアドレス決定部250から出力されたネットワークアドレスに基づくDHCP(Dynamic Host Configuration Protocol)処理を実行する。具体的には、DHCP処理部260は、ネットワークアドレス決定部250から出力されたネットワークアドレスを含む各IPアドレスを、L3スイッチ200に接続された各L2スイッチのIPアドレスとして決定する。
または、DHCP処理部260は、L3スイッチ200と接続されたDHCPサーバにDHCP処理を実行させ、DHCP処理によるIPアドレスの決定結果をDHCPサーバから取得する機能部であってもよい。DHCP処理部260は、IPアドレスの決定結果をアドレス設定部270へ出力する。
アドレス設定部270は、DHCP処理部260から出力されたIPアドレスの決定結果に基づいて、L3スイッチ200に接続された各L2スイッチのIPアドレスをLANポート210に割り当てる。また、アドレス設定部270は、L3スイッチ200に接続された各L2スイッチのIPアドレスを、LANポート210を用いて各L2スイッチへ通知する。これにより、L3スイッチ200に接続された各L2スイッチのネットワークアドレスを更新することができる。
図3は、L2スイッチの構成例を示すブロック図である。図3に示すL2スイッチ300は、図1に示したL2スイッチ111〜114に適用されるL2スイッチである。図3に示すように、L2スイッチ300は、LANポート310と、状態監視部320と、状態変化信号送信部330と、要求信号受信部340と、応答信号送信部350と、を備えている。LANポート310は、隣接するスイッチとの間で通信を行うポートである。
状態監視部320は、LANポート310の物理層の状態を監視する。そして、状態監視部320は、LANポート310の物理層の状態変化を検出すると、物理層の状態の変化を検出したことを状態変化信号送信部330へ通知する。LANポート310の物理層の状態変化には、たとえば、隣接するノードとの間のリンク断や、隣接するノードとの間のリンク確立などである。
状態変化信号送信部330は、物理層の状態変化を検出したことが状態監視部320から通知されると、LANポート310を用いてブロードキャストにより状態変化信号を配信する。これにより、状態変化信号をL3スイッチ121,122へ送信することができる。状態変化信号は、L2ネットワーク110の状態変化を示す情報である。
要求信号受信部340は、L3スイッチ121,122からブロードキャストで配信された応答要求信号を受信する。要求信号受信部340は、受信した応答要求信号を応答信号送信部350へ出力する。応答信号送信部350は、要求信号受信部340から応答要求信号が出力されると、L3スイッチ200のノード番号(識別情報)を格納した応答信号を生成し、生成した応答信号をLANポート310を用いてブロードキャストにより配信する。これにより、応答信号をL3スイッチ121,122へ送信することができる。
(初期動作について)
図4は、L3スイッチの初期動作時の処理例を示すフローチャートである。図2に示したL3スイッチ200は、初期動作時にたとえば以下の各ステップを実行する。まず、応答要求信号送信部230が、L2ネットワーク110の各L2スイッチに対して応答信号を要求する応答要求信号をブロードキャストで配信する(ステップS401)。
つぎに、応答信号受信部240が、ステップS401によって配信された応答要求信号に応じて送信された各L2スイッチからの応答信号を受信する(ステップS402)。ステップS402においては、たとえば、ステップS401によって応答要求信号が配信されてから所定時間の間に配信された各応答信号を受信する。
つぎに、ネットワークアドレス決定部250が、ステップS402によって受信された応答信号の数を算出する(ステップS403)。つぎに、ネットワークアドレス決定部250が、ステップS403によって算出された数のノードを割り当て可能なサブネットマスクビットのビット数を決定する(ステップS404)。つぎに、ネットワークアドレス決定部250が、ステップS402において応答信号を受信したL2スイッチの中からマスタノードを決定する(ステップS405)。
つぎに、ネットワークアドレス決定部250が、ステップS404によって決定されたビット数のサブネットマスクビットに、ステップS405によってマスタノードとして決定されたL2スイッチのノード番号を割り当てる(ステップS406)。つぎに、ネットワークアドレス決定部250が、ステップS406によって得られたサブネットマスクビットに基づいてネットワークアドレスを決定する(ステップS407)。
つぎに、DHCP処理部260が、ステップS407によって決定されたネットワークアドレスに基づいて、ステップS402によって応答信号を受信した各L2スイッチのIPアドレスを決定する(ステップS408)。つぎに、アドレス設定部270が、ステップS408によって決定された各L2スイッチのIPアドレスをLANポート210に割り当て(ステップS409)、一連の処理を終了する。
以上の各ステップにより、L3スイッチ200に接続された各L2スイッチのIPアドレスを決定することができる。また、L3スイッチ200は、ステップS404によって決定されたビット数をL3スイッチ200のメモリに記憶しておく。
図5は、ネットワークアドレスの決定例を示す図である。図5に示すネットワークアドレス510は、L2ネットワーク110の元のネットワークアドレスの一例である。ここではネットワークアドレス510を「172.16.0.0」(クラスB)とする。サブネットマスクビット511は、ネットワークアドレス510のサブネットマスクビットである。ネットワークアドレス520は、図4のステップS401〜S407によって決定されるネットワークアドレスの一例である。
まず、L3スイッチ121による図4の各ステップの実行例を説明する。図4のステップS401において、L3スイッチ121によって配信された応答要求信号はL2スイッチ111〜114によって受信される。このため、ステップS402において、L3スイッチ121は、L2スイッチ111〜114からの各応答信号を受信する。したがって、ステップS403において、L3スイッチ121は、応答信号の数を4に決定する。ステップS404において、L3スイッチ121は、4つのノードを割り当て可能なサブネットマスクビット511の最小のビット数を2に決定する。
ステップS405において、L3スイッチ121は、応答信号に含まれるノード番号が「1」で最小のL2スイッチ111をマスタノードとして決定する。ステップS406において、L3スイッチ121は、2ビットのサブネットマスクビット511にノード番号「1」を割り当て、サブネットマスクビット511が「01」となる。
ステップS407において、L3スイッチ121は、ネットワークアドレス510の3オクテット目の上位2ビットを「01」にする。これにより、ネットワークアドレス510の3オクテット目が「01000000」(64)となったアドレス「172.16.64.0」がネットワークアドレス520として決定される。ステップS408においてL3スイッチ121は、たとえば、決定したネットワークアドレスにホストアドレスを組み合わせた「172.16.64.1」,「172.16.64.2」,…を各L2スイッチの各IPアドレスとして決定する。
つぎに、L3スイッチ122による図4の各ステップの実行例を説明する。図4のステップS401において、L3スイッチ122によって配信された応答要求信号はL2スイッチ111〜114によって受信される。このため、ステップS402において、L3スイッチ122は、L2スイッチ111〜114からの各応答信号を受信する。
したがって、L3スイッチ122によるステップS403〜S408の実行結果は、L3スイッチ121によるステップS403〜S408の実行結果と同様になる。具体的には、L3スイッチ122は、アドレス「172.16.64.0」をネットワークアドレス520として決定し、決定したネットワークアドレス520によって各L2スイッチの各IPアドレスを決定する。
図6は、L2スイッチの初期動作時の処理例を示すフローチャートである。図3に示したL2スイッチ300は、初期動作時にたとえば以下の各ステップを実行する。まず、要求信号受信部340が、L3スイッチ121またはL3スイッチ122からの応答要求信号を受信したか否かを判断し(ステップS601)、応答要求信号を受信するまで待つ(ステップS601:Noのループ)。
ステップS601において応答要求信号を受信すると(ステップS601:Yes)、応答信号送信部350が、自装置のノード番号を格納した応答信号を生成する(ステップS602)。つぎに、要求信号受信部340が、ステップS602によって生成された応答信号をブロードキャストにより配信し(ステップS603)、一連の処理を終了する。以上の各ステップにより、L3スイッチ121,122から応答要求信号が配信された場合に応答信号をL3スイッチ121,122へ送信することができる。
図7は、通信システムの初期動作の一例を示すシーケンス図である。図7においてはL3スイッチ121とL2スイッチ111〜114との間の初期動作について説明するが、L3スイッチ122とL2スイッチ111〜114との間の初期動作についても同様である。まず、L3スイッチ121が、応答要求信号をブロードキャストによって配信する(ステップS701)。ステップS701によって配信された応答要求信号は、L3スイッチ121に接続されたL2スイッチ111〜114に受信される。
つぎに、L2スイッチ111〜114のそれぞれが、自装置のノード番号を格納した応答信号を生成する(ステップS702)。つぎに、L2スイッチ111〜114のそれぞれが、ステップS702によって生成された応答信号をブロードキャストによって配信する(ステップS703)。ステップS703によって配信された応答信号は、L3スイッチ121によって受信される。
つぎに、L3スイッチ121が、ステップS703において受信された応答信号に基づいてL2ネットワーク110のネットワークアドレスを決定する(ステップS704)。つぎに、L3スイッチ121が、ステップS704によって決定されたネットワークアドレスを含むIPアドレスを、L2ネットワーク110に含まれる各L2スイッチ(L2スイッチ111〜114)に設定し(ステップS705)、一連の処理を終了する。
(運用動作について)
図8は、L3スイッチの運用動作時の処理例を示すフローチャートである。図2に示したL3スイッチ200は、運用動作時にたとえば以下の各ステップを実行する。まず、状態変化信号受信部220が、L2ネットワーク110のL2スイッチからの状態変化信号を受信したか否かを判断し(ステップS801)、状態変化信号を受信するまで待つ(ステップS801:Noのループ)。
ステップS801において状態変化信号を受信すると(ステップS801:Yes)、応答要求信号送信部230が、L2ネットワーク110の各L2スイッチに対して応答信号を要求する応答要求信号をブロードキャストにより配信する(ステップS802)。つぎに、応答信号受信部240が、ステップS802によって配信された応答要求信号に応じて送信された各L2スイッチからの応答信号を受信する(ステップS803)。
つぎに、ネットワークアドレス決定部250が、ステップS803において応答信号を受信したL2スイッチの中からマスタノードを決定する(ステップS804)。つぎに、ネットワークアドレス決定部250が、図4のステップS404によって決定されたビット数をメモリから読み出す。そして、ネットワークアドレス決定部250は、読み出したビット数のサブネットマスクビットに、ステップS804によってマスタノードとして決定されたL2スイッチのノード番号を割り当てる(ステップS805)。
図8に示すステップS806〜S808は、図4に示したステップS407〜S409と同様である。ただしステップS808の後はステップS801へ移行する。以上の各ステップにより、L2ネットワーク110の構成が変化した場合に、L3スイッチ200に接続されたL2ネットワークのネットワークアドレスを自動的に更新することができる。
図9は、L2スイッチの運用動作時の処理例を示すフローチャートである。L2スイッチ300は、運用動作時にたとえば以下の各ステップを実行する。まず、状態監視部320が、物理層の状態変化があるか否かを判断する(ステップS901)。物理層の状態変化がない場合(ステップS901:No)は、ステップS903へ移行する。物理層の状態変化がある場合(ステップS901:Yes)は、状態変化信号送信部330が、状態変化信号をブロードキャストにより配信する(ステップS902)。
図9に示すステップS903〜S905は、図6に示したステップS601〜S603と同様である。ただしステップS905の後はステップS901へ移行する。以上の各ステップにより、L2ネットワーク110の構成が変化した場合に、L2スイッチ300と接続されているL3スイッチ200に対して状態変化信号を送信することができる。これにより、L2スイッチ300が属する変化後のL2ネットワークのネットワークアドレスを更新させることができる。
図10は、L2ネットワークの分断の一例を示す図である。図10において、図1に示した構成と同様の構成については同一の符号を付して説明を省略する。図10に示すように、通信システム100の運用時において、L2スイッチ112とL2スイッチ114との間のリンク断と、L2スイッチ111とL2スイッチ113との間のリンク断と、が発生し、L2ネットワーク110が分断された場合について説明する。
まず、図10に示したL2ネットワーク110の分断が発生した場合における、L3スイッチ121による図8の各ステップの実行例を説明する。図8のステップS801において、L3スイッチ121は、L2ネットワーク110が分断されているため、L2スイッチ111,112から配信された状態変化信号を受信し、L2スイッチ113,114から配信された状態変化信号を受信しない。
また、ステップS802によってL3スイッチ121から配信された応答要求信号は、L2スイッチ111,112によって受信され、L2スイッチ113,114には受信されない。このため、ステップS803において、L3スイッチ121は、L2スイッチ111,112からの各応答信号を受信する。
ステップS804において、L3スイッチ121は、応答信号に含まれるノード番号が「1」で最小のL2スイッチ111をマスタノードとして決定する。ステップS805において、L3スイッチ121は、2ビットのサブネットマスクビットにL2スイッチ111のノード番号「1」を割り当て、サブネットマスクビットを「01」とする。
ステップS806において、L3スイッチ121は、ネットワークアドレスの3オクテット目の上位2ビットを「01」にすることで3オクテット目を「01000000」(64)としたアドレスをネットワークアドレスとして決定する。この場合は、「172.16.64.0」がネットワークアドレスとして決定される。ステップS807において、L3スイッチ121は、たとえば、決定したネットワークアドレスにホストアドレスを組み合わせた「172.16.64.1」,「172.16.64.2」をL2スイッチ111,112の各IPアドレスとして決定する。
つぎに、図10に示したL2ネットワーク110の分断が発生した場合における、L3スイッチ122による図8の各ステップの実行例を説明する。図8のステップS801において、L3スイッチ122は、L2ネットワーク110が分断されているため、L2スイッチ113,114から配信された状態変化信号を受信し、L2スイッチ111,112から配信された状態変化信号を受信しない。
また、ステップS802によってL3スイッチ122から配信された応答要求信号はL2スイッチ113,114によって受信され、L2スイッチ111,112には受信されない。このため、ステップS803において、L3スイッチ122は、L2スイッチ113,114からの各応答信号を受信する。
ステップS804において、L3スイッチ122は、応答信号に含まれるノード番号が「3」で最小のL2スイッチ113をマスタノードとして決定する。ステップS805において、L3スイッチ122は、2ビットのサブネットマスクビットにL2スイッチ113のノード番号「3」を割り当て、サブネットマスクビットを「11」とする。
ステップS806において、L3スイッチ122は、ネットワークアドレスの3オクテット目の上位2ビットを「11」にすることで3オクテット目を「11000000」(192)としたアドレスをネットワークアドレスとして決定する。この場合は、「172.16.192.0」がネットワークアドレスとして決定される。ステップS807において、L3スイッチ122は、たとえば、決定したネットワークアドレスにホストアドレスを組み合わせた「172.16.192.1」,「172.16.192.2」をL2スイッチ113,114の各IPアドレスとして決定する。
これにより、L2スイッチ111,112にはネットワークアドレス「172.16.64.0」を含むIPアドレスが設定され、L2スイッチ113,114にはネットワークアドレス「172.16.192.0」を含むIPアドレスが設定される。このため、L3スイッチ121,122のそれぞれは、L2スイッチ111,112を含むL2ネットワークと、L2スイッチ113,114を含むL2ネットワークと、を異なるネットワークとして認識することができる。したがって、L3ネットワーク120を迂回経路としてL2ネットワーク110の通信を継続することができる。
図11は、通信システムの運用動作の一例を示すシーケンス図である。図11においてはL3スイッチ121とL2スイッチ111,112との間の運用動作について説明するが、L3スイッチ122とL2スイッチ113,114との間の運用動作についても同様である。図10に示したL2ネットワーク110の分断が発生すると、まず、L2スイッチ111,112が、物理層の状態変化を検出する(ステップS1101)。
つぎに、L2スイッチ111,112が、状態変化信号をブロードキャストによって配信する(ステップS1102)。図11に示すステップS1103〜S1107は、図7に示したステップS701〜S705と同様であるため説明を省略する。
図12は、L2ネットワークの復旧の一例を示す図である。図12において、図1に示した構成と同様の構成については同一の符号を付して説明を省略する。図10に示したL2ネットワーク110の分断が発生した後に、図12に示すように、L2スイッチ111とL2スイッチ113との間のリンク断が復旧した場合について説明する。
まず、L2スイッチ111とL2スイッチ113との間のリンク断が復旧した場合における、L3スイッチ121による図8の各ステップの実行例を説明する。図8のステップS801において、L3スイッチ121は、L2ネットワーク110の分断が復旧しているため、L2スイッチ111〜114から配信された状態変化信号を受信する。また、ステップS802によってL3スイッチ121から配信された応答要求信号はL2スイッチ111〜114によって受信される。このため、ステップS803において、L3スイッチ121は、L2スイッチ111〜114からの各応答信号を受信する。
ステップS804において、L3スイッチ121は、応答信号に含まれるノード番号が「1」で最小のL2スイッチ111をマスタノードとして決定する。ステップS805において、L3スイッチ121は、2ビットのサブネットマスクビットにL2スイッチ111のノード番号「1」を割り当て、サブネットマスクビットを「01」とする。
ステップS806において、L3スイッチ121は、ネットワークアドレスの3オクテット目の上位2ビットを「01」にすることで3オクテット目を「01000000」(64)としたアドレスをネットワークアドレスとして決定する。この場合は、「172.16.64.0」がネットワークアドレスとして決定される。ステップS807において、L3スイッチ121は、たとえば、決定したネットワークアドレスにホストアドレスを組み合わせた「172.16.64.1」,「172.16.64.2」,…をL2スイッチ111〜114の各IPアドレスとして決定する。
つぎに、L3スイッチ122による図8の各ステップの実行例を説明する。図8のステップS801において、L3スイッチ122は、L2ネットワーク110の分断が復旧しているため、L2スイッチ111〜114から配信された状態変化信号を受信する。また、ステップS802によってL3スイッチ122から配信された応答要求信号はL2スイッチ111〜114によって受信される。このため、ステップS803において、L3スイッチ122は、L2スイッチ111〜114からの各応答信号を受信する。
したがって、L3スイッチ122によるステップS804〜S808の実行結果は、L3スイッチ121によるステップS804〜S808の実行結果と同様になる。具体的には、L3スイッチ122は、アドレス「172.16.64.0」をネットワークアドレスとして決定し、決定したネットワークアドレスによって各L2スイッチの各IPアドレスを決定する。
このように、実施の形態1にかかる通信システム100においては、L2ネットワーク110のL2スイッチ111〜114が、L2ネットワーク110の状態変化を示す状態変化信号をブロードキャストによって配信する。これにより、L2ネットワーク110に接続されたL3スイッチ121,122がL2ネットワーク110の状態変化を認識し、L2ネットワーク110のネットワークアドレスの更新を行うことができる。
これにより、L2ネットワーク110が分断された場合に、L3スイッチ121,122が分断された各L2ネットワークのネットワークアドレスを更新することができる。このため、L3スイッチ121,122が、分断された各L2ネットワークを別のネットワークとして認識することができる。したがって、L2ネットワーク110が分断されても、L3ネットワーク120を迂回経路としてL2ネットワーク110の通信を継続することができる。このため、L2ネットワーク110の信頼性を向上させることができる。
また、L3スイッチ121,122は、状態変化信号の受信を契機として応答要求信号をブロードキャストによって配信し、各L2スイッチによって送信された応答信号に基づいてネットワークアドレスを更新する。これにより、L3スイッチ121,122は、変化したL2ネットワーク110のうちの、自装置に接続されているL2ネットワークの構成を確認してネットワークアドレスを更新することができる。
また、L3スイッチ121,122は、状態変化信号の受信前(L2ネットワーク110の変化前)に受信した応答信号の数に基づいてネットワークアドレスを更新する。これにより、自装置に接続されているL2ネットワークのノード数に応じた最短のネットワークアドレスを設定することができる。このため、変化したL2ネットワークの各L2スイッチに対して割り当て可能なIPアドレスの減少を抑えつつ、分断された各L2ネットワークに設定するネットワークアドレスが重複することを回避することができる。
また、L3スイッチ121,122は、受信した応答信号に格納された識別情報に基づいて決定したアドレスによってネットワークアドレスを更新する。これにより、分断された各L2ネットワークに設定するネットワークアドレスが重複することを回避することができる。このため、L2ネットワーク110の信頼性をさらに向上させることができる。
(実施の形態2)
(通信システムについて)
図13は、実施の形態2にかかる通信システムの一例を示す図である。図13において、図1に示した構成と同様の構成については同一の符号を付して説明を省略する。図13に示すように、実施の形態2にかかる通信システム100のL3ネットワーク120は、L3スイッチ121〜123を含んでいる。L3スイッチ121〜123のそれぞれは、たとえばルーティング機能を有する通信スイッチである。
実施の形態2においては、L3スイッチ121はL2スイッチ111と接続されている。L3スイッチ122はL2スイッチ112と接続されている。L3スイッチ123はL2スイッチ114と接続されている。L3スイッチ121〜123には、固有の識別情報としてそれぞれノード番号「1」〜「3」が割り当てられている。
図14は、L3スイッチの構成例を示すブロック図である。図14において、図2に示した構成と同様の構成については同一の符号を付して説明を省略する。図14に示すL3スイッチ200は、たとえば図13に示したL3スイッチ121〜123に適用されるスイッチである。図14に示すように、実施の形態2にかかるL3スイッチ200は、図2に示した構成に加えて、要求信号受信部1410と、応答信号送信部1420と、ノード数記憶部1430と、を備えている。
要求信号受信部1410は、L3ネットワーク120の他のL3スイッチからブロードキャストで配信された応答要求信号を受信する。要求信号受信部1410は、受信した応答要求信号を応答信号送信部1420へ出力する。応答信号送信部1420は、要求信号受信部1410から応答要求信号が出力されると、L3スイッチ200のノード番号(識別情報)を格納した応答信号を生成し、生成した応答信号をLANポート210を用いてブロードキャストにより配信する。
これにより、応答信号をL3ネットワーク120の他のL3スイッチへ送信することができる。または、L3スイッチ200は、ルーティングの機能を有するL3スイッチであるため、ユニキャストによって応答信号をL3ネットワーク120の他のL3スイッチへ送信するようにしてもよい。
ノード数記憶部1430は、通信システム100においてL2ネットワーク110に接続されたL3スイッチの数を記憶している。図13に示した通信システム100においては、L3スイッチ121〜123の3つのL3スイッチがL2ネットワーク110に接続されているため、ノード数記憶部1430にはL3スイッチの数として3が記憶される。
応答要求信号送信部230は、状態変化信号受信部220から状態変化信号が出力されると、LANポート210を用いて応答要求信号をブロードキャストで配信する。実施の形態2にかかる応答要求信号は、L3ネットワーク120の各L3スイッチに応答信号を要求する信号である。応答信号受信部240は、応答要求信号送信部230によって配信された応答要求信号に応じて各L3スイッチから送信された応答信号を、LANポート210を介して受信する。応答信号受信部240は、受信した応答信号をネットワークアドレス決定部250へ出力する。
ネットワークアドレス決定部250は、ノード数記憶部1430に記憶されたL3スイッチの数を読み出し、読み出した数のノードを割り当て可能なサブネットマスクビットのビット数を決定する。たとえば、ネットワークアドレス決定部250は、読み出した数をMとすると、M−1を2進数に変換し、変換した2進数の桁数をサブネットマスクビットのビット数として決定する。具体的には、ネットワークアドレス決定部250は、読み出した数が4である場合は、4−1=3を2進数に変換した「11」の桁数2をサブネットマスクビットのビット数として決定する。
また、ネットワークアドレス決定部250は、応答信号を受信したL3スイッチおよび自装置の中からマスタノードを決定する。たとえば、ネットワークアドレス決定部250は、応答信号受信部240から出力された応答信号に基づいて、ノード番号が最小のL3スイッチをマスタノードとして決定する。ただし、マスタノードの決定方法は、ノード番号が最小のL3スイッチをマスタノードとして決定する方法に限らず、L3ネットワーク120の各L3スイッチで共通の規則によってマスタノードを決定すればよい。
ネットワークアドレス決定部250は、決定したビット数のサブネットマスクビットに、マスタノードとして決定されたL3スイッチのノード番号を割り当てる。また、ネットワークアドレス決定部250は、L3スイッチのノード番号を割り当てたサブネットマスクビットに基づいて、L3スイッチ200に接続されたL2ネットワークのネットワークアドレスを決定する。ネットワークアドレス決定部250は、決定したネットワークアドレスをDHCP処理部260へ出力する。
図15は、L2スイッチの構成例を示すブロック図である。図15において、図3に示した構成と同様の構成については同一の符号を付して説明を省略する。図15に示すL2スイッチ300は、図13に示したL2スイッチ111〜114に適用されるL2スイッチである。図15に示すように、実施の形態2にかかるL2スイッチ300は、図3に示した要求信号受信部340および応答信号送信部350を省いた構成にしてもよい。
(初期動作について)
図16は、L3スイッチの初期動作時の処理例を示すフローチャートである。図14に示したL3スイッチ200は、初期動作時にたとえば以下の各ステップを実行する。まず、ネットワークアドレス決定部250が、L3ネットワーク120のL3スイッチの数をノード数記憶部1430から取得する(ステップS1601)。
つぎに、ネットワークアドレス決定部250が、ステップS1601によって取得された数のノードを割り当て可能なサブネットマスクビットのビット数を決定し(ステップS1602)、一連の処理を終了する。また、L3スイッチ200は、ステップS1602によって決定されたビット数をL3スイッチ200のメモリに記憶しておく。
(運用動作について)
図17は、L3スイッチの運用動作時の処理例を示すフローチャートである。L3スイッチ200は、運用動作時にたとえば以下の各ステップを実行する。まず、状態変化信号受信部220が、L3スイッチ200に接続されたL2ネットワークのL2スイッチからの状態変化信号を受信したか否かを判断し(ステップS1701)、状態変化信号を受信するまで待つ(ステップS1701:Noのループ)。
ステップS1701において状態変化信号を受信すると(ステップS1701:Yes)、応答要求信号送信部230が、L2ネットワーク110の各L3スイッチに対して応答信号を要求する応答要求信号をブロードキャストにより配信する(ステップS1702)。つぎに、応答信号受信部240が、ステップS1702によって配信された応答要求信号に応じて送信された他の各L3スイッチからの応答信号を受信する(ステップS1703)。ステップS1703においては、たとえば、ステップS1702によって応答要求信号が配信されてから所定時間の間に配信された各応答信号を受信する。
つぎに、ネットワークアドレス決定部250が、ステップS1703によって受信された応答信号に含まれるノード番号のうちの自装置のノード番号より大きいノード番号が存在するか否かを判断する(ステップS1704)。自装置のノード番号より大きいノード番号が存在する場合(ステップS1704:Yes)は、ステップS1701へ戻る。
ステップS1704において、自装置のノード番号より大きいノード番号が存在しない場合(ステップS1704:No)は、ステップS1705へ移行する。すなわち、ステップS1703によって応答信号を受信したL3スイッチおよび自装置を含む各L3スイッチの中からマスタノードを決定する(ステップS1705)。
つぎに、ネットワークアドレス決定部250が、図16のステップS1602によって決定されたビット数をメモリから読み出す。そして、ネットワークアドレス決定部250は、読み出したビット数のサブネットマスクビットに、ステップS1705によって決定されたマスタノードのノード番号を割り当てる(ステップS1706)。
図17に示すステップS1707〜S1709は、図4に示したステップS407〜S409と同様である。ただしステップS1709の後はステップS1701へ移行する。以上の各ステップにより、L2ネットワーク110の構成が変化した場合に、L3スイッチ200に接続されたL3スイッチを含むL2ネットワークのネットワークアドレスを自動的に更新することができる。
図18は、L2ネットワークの分断の一例を示す図である。図18において、図13に示した構成と同様の構成については同一の符号を付して説明を省略する。図18に示すように、通信システム100の運用時において、L2スイッチ112とL2スイッチ114との間のリンク断と、L2スイッチ111とL2スイッチ113との間のリンク断と、が発生し、L2ネットワーク110が分断された場合について説明する。
まず、図18に示したL2ネットワーク110の分断が発生した場合における、L3スイッチ121による図17の各ステップの実行例を説明する。図17のステップS1701において、L3スイッチ121は、L2ネットワーク110が分断されているため、L2スイッチ111,112から配信された状態変化信号を受信し、L2スイッチ113,114から配信された状態変化信号を受信しない。
また、ステップS1702によってL3スイッチ121から配信された応答要求信号は、L3スイッチ122によって受信され、L3スイッチ123には受信されない。このため、ステップS1703において、L3スイッチ121は、L3スイッチ122からの応答信号を受信する。ステップS1704において、L3スイッチ121は、応答信号に含まれるノード番号のうちの自装置のノード番号「1」より大きいノード番号「2」が存在するため、以降のネットワークアドレスの更新を行わない。
つぎに、図18に示したL2ネットワーク110の分断が発生した場合における、L3スイッチ122による図17の各ステップの実行例を説明する。図17のステップS1701において、L3スイッチ122は、L2ネットワーク110が分断されているため、L2スイッチ111,112から配信された状態変化信号を受信し、L2スイッチ113,114から配信された状態変化信号を受信しない。
また、ステップS1702によってL3スイッチ122から配信された応答要求信号は、L3スイッチ121によって受信され、L3スイッチ123には受信されない。このため、ステップS1703において、L3スイッチ122は、L3スイッチ121からの応答信号を受信する。ステップS1704において、L3スイッチ122は、応答信号に含まれるノード番号のうちの自装置のノード番号「2」より大きいノード番号が存在しないため、ステップS1705へ移行する。
ステップS1705において、L3スイッチ122は、応答信号に含まれるノード番号が「1」で最小のL3スイッチ121をマスタノードとして決定する。ステップS1706において、L3スイッチ122は、2ビットのサブネットマスクビットにL3スイッチ121のノード番号「1」を割り当て、サブネットマスクビットを「01」とする。
ステップS1707において、L3スイッチ122は、ネットワークアドレスの3オクテット目の上位2ビットを「01」にすることで3オクテット目を「01000000」(64)としたアドレスをネットワークアドレスとして決定する。この場合は、「172.16.64.0」がネットワークアドレスとして決定される。ステップS1708において、L3スイッチ122は、たとえば、決定したネットワークアドレスにホストアドレスを組み合わせた「172.16.64.1」,「172.16.64.2」をL2スイッチ111,112の各IPアドレスとして決定する。
つぎに、図18に示したL2ネットワーク110の分断が発生した場合における、L3スイッチ123による図17の各ステップの実行例を説明する。図17のステップS1701において、L3スイッチ123は、L2ネットワーク110が分断されているため、L2スイッチ113,114から配信された状態変化信号を受信し、L2スイッチ111,112から配信された状態変化信号を受信しない。
また、ステップS1702によってL3スイッチ123から配信された応答要求信号は、他のL3スイッチには受信されない。このため、ステップS1703において、L3スイッチ123は他のL3スイッチからの各応答信号を受信しない。ステップS1704において、L3スイッチ123は、応答信号に含まれるノード番号のうちの自装置のノード番号「3」より大きいノード番号が存在しないため、ステップS1705へ移行する。
ステップS1705において、L3スイッチ123は、応答信号に含まれるノード番号が「3」で最小のL3スイッチ123をマスタノードとして決定する。ステップS1706において、L3スイッチ123は、2ビットのサブネットマスクビットにL3スイッチ123のノード番号「3」を割り当て、サブネットマスクビットを「11」とする。
ステップS1706において、L3スイッチ123は、ネットワークアドレスの3オクテット目の上位2ビットを「11」にすることで3オクテット目を「11000000」(192)としたアドレスをネットワークアドレスとして決定する。この場合は、「172.16.192.0」がネットワークアドレスとして決定される。ステップS1707において、L3スイッチ123は、たとえば、決定したネットワークアドレスにホストアドレスを組み合わせた「172.16.192.1」,「172.16.192.2」をL2スイッチ113,114の各IPアドレスとして決定する。
これにより、L2スイッチ111,112にはネットワークアドレス「172.16.64.0」を含むIPアドレスが設定され、L2スイッチ113,114にはネットワークアドレス「172.16.192.0」を含むIPアドレスが設定される。このため、L3スイッチ121〜123のそれぞれは、L2スイッチ111,112を含むL2ネットワークと、L2スイッチ113,114を含むL2ネットワークと、を異なるネットワークとして認識することができる。したがって、L3ネットワーク120を迂回経路としてL3ネットワーク120の通信を継続することができる。
図19は、L2ネットワークの復旧の一例を示す図である。図19において、図13に示した構成と同様の構成については同一の符号を付して説明を省略する。図18に示したL2ネットワーク110の分断が発生した後に、図19に示すように、L2スイッチ111とL2スイッチ113との間のリンク断が復旧した場合について説明する。
まず、L2スイッチ111とL2スイッチ113との間のリンク断が復旧した場合における、L3スイッチ121による図17の各ステップの実行例を説明する。図17のステップS1701において、L3スイッチ121は、L2ネットワーク110が復旧しているため、L2スイッチ111〜114から配信された状態変化信号を受信する。
また、ステップS1702によってL3スイッチ121から配信された応答要求信号は、L3スイッチ122,123によって受信される。このため、ステップS1703において、L3スイッチ121は、L3スイッチ122,123からの各応答信号を受信する。ステップS1704において、L3スイッチ121は、応答信号に含まれるノード番号のうちの自装置のノード番号「1」より大きいノード番号「2」およびノード番号「3」が存在するため、以降のネットワークアドレスの更新を行わない。
つぎに、L2スイッチ111とL2スイッチ113との間のリンク断が復旧した場合における、L3スイッチ122による図17の各ステップの実行例を説明する。図17のステップS1701において、L3スイッチ122は、L2ネットワーク110が復旧しているため、L2スイッチ111〜114から配信された状態変化信号を受信する。
また、ステップS1702によってL3スイッチ122から配信された応答要求信号は、L3スイッチ121,123によって受信される。このため、ステップS1703において、L3スイッチ122は、L3スイッチ121,123からの各応答信号を受信する。ステップS1704において、L3スイッチ122は、応答信号に含まれるノード番号のうちの自装置のノード番号「2」より大きいノード番号「3」が存在するため、以降のネットワークアドレスの更新を行わない。
つぎに、L2スイッチ111とL2スイッチ113との間のリンク断が復旧した場合における、L3スイッチ123による図17の各ステップの実行例を説明する。図17のステップS1701において、L3スイッチ123は、L2ネットワーク110が復旧しているため、L2スイッチ111〜114から配信された状態変化信号を受信する。
また、ステップS1702によってL3スイッチ123から配信された応答要求信号は、L3スイッチ121,122によって受信される。このため、ステップS1703において、L3スイッチ123は、L3スイッチ121,122からの各応答信号を受信する。ステップS1704において、L3スイッチ123は、応答信号に含まれるノード番号のうちの自装置のノード番号「3」より大きいノード番号が存在しないため、ステップS1705へ移行する。
ステップS1705において、L3スイッチ123は、応答信号に含まれるノード番号が「1」で最小のL3スイッチ121をマスタノードとして決定する。ステップS1706において、L3スイッチ123は、2ビットのサブネットマスクビットにL3スイッチ121のノード番号「1」を割り当て、サブネットマスクビットを「01」とする。
ステップS1706において、L3スイッチ123は、ネットワークアドレスの3オクテット目の上位2ビットを「01」にすることで3オクテット目を「01000000」(64)としたアドレスをネットワークアドレスとして決定する。この場合は、「172.16.64.0」がネットワークアドレスとして決定される。ステップS1707において、L3スイッチ123は、たとえば、決定したネットワークアドレスにホストアドレスを組み合わせた「172.16.64.1」,「172.16.64.2」,…をL2スイッチ111〜114の各IPアドレスとして決定する。
このように、実施の形態2にかかる通信システム100においては、L2ネットワーク110のL2スイッチ111〜114が、L2ネットワーク110の状態変化を示す状態変化信号をブロードキャストによって配信する。これにより、L2ネットワーク110に接続されたL3スイッチ121〜123がL2ネットワーク110の状態変化を認識し、L2ネットワーク110のネットワークアドレスの更新を行うことができる。
これにより、L2ネットワーク110が分断された場合に、L3スイッチ121〜123が分断された各L2ネットワークのネットワークアドレスを更新することができる。このため、L3スイッチ121〜123が、分断された各L2ネットワークを別のネットワークとして認識することができる。したがって、L2ネットワーク110が分断されても、L3ネットワーク120を迂回経路としてL2ネットワーク110の通信を継続することができる。このため、L2ネットワーク110の信頼性を向上させることができる。
また、L3スイッチ121〜123は、状態変化信号の受信を契機として応答要求信号をブロードキャストによって配信し、各L3スイッチによって送信された応答信号に基づいてネットワークアドレスを更新する。これにより、L3スイッチ121〜123は、変化したL2ネットワーク110のうちの、自装置に接続されているL2ネットワークに他のL3スイッチが接続されているか否かを確認してネットワークアドレスを更新することができる。このため、分断されたL2ネットワークに複数のL3スイッチが接続されている場合は、複数のL3スイッチのいずれかによってネットワークアドレスの更新を行うことで、ネットワークアドレスの更新処理の重複を回避することができる。
たとえば、L3スイッチ121〜123は、受信した応答信号に格納された識別情報に基づいて、自装置がネットワークアドレスの更新を行うか否かを決定する。これにより、分断されたL2ネットワークに複数のL3スイッチが接続されている場合に、複数のL3スイッチのいずれかによってネットワークアドレスの更新を行うことができる。
また、L3スイッチ121〜123は、受信した応答信号に格納された識別情報に基づいて決定したアドレスによってネットワークアドレスを更新する。これにより、分断された各L2ネットワークに設定するネットワークアドレスが重複することを回避することができる。このため、L2ネットワーク110の信頼性をさらに向上させることができる。
(通信システムの適用例について)
図20は、通信システムの適用例を示す図である。上述した各実施の形態にかかる通信システム100は、たとえば図20に示す鉄道ネットワーク2000に適用することができる。図20に示すように、鉄道ネットワーク2000は、データリンク層(レイヤ2)のL2ネットワーク2010と、ネットワーク層(レイヤ3)のL3ネットワーク2020と、が混在する通信システムである。
L2ネットワーク2010は、鉄道網に沿って設けられたネットワークである。L2ネットワーク2010は、L2スイッチ2011〜2019を含んでいる。L2スイッチ2011〜2019のそれぞれは、たとえば鉄道網の各ポイント(たとえば駅)に設けられた通信装置である。L2スイッチ2011〜2019のそれぞれには、たとえば図3または図15に示したL2スイッチ300を適用することができる。
L3ネットワーク2020は、L3スイッチ2021,2022およびキャリア迂回回線2023を含んでいる。L3スイッチ2021,2022のそれぞれは、たとえばルーティング機能を有する通信スイッチであり、キャリア迂回回線2023を介して通信を行う。鉄道ネットワーク2000においては、L3スイッチ2021はL2スイッチ2011と接続されている。L3スイッチ2022はL2スイッチ2015と接続されている。L3スイッチ2021,2022のそれぞれには、たとえば図2または図14に示したL3スイッチ200を適用することができる。
鉄道ネットワーク2000によれば、L2ネットワーク2010の信頼性を向上させることができるため、鉄道網の通信の信頼性を向上させることができる。たとえば、L2ネットワーク2010が障害により分断されても、L3ネットワーク2020を迂回経路としてL2ネットワーク2010の通信を継続することができる。また、鉄道網の各ポイントにL2スイッチ2011〜2019を適用することで、鉄道網の各ポイントにL3スイッチを適用する場合に比べてネットワークの構築コストを抑えることができる。
以上説明したように、通信システム、通信方法およびスイッチによれば、ネットワークの信頼性を向上させることができる。
上述した各実施の形態に関し、さらに以下の付記を開示する。
(付記1)データリンク層の第一ネットワークと、前記第一ネットワークの迂回経路に用いられるネットワーク層の第二ネットワークと、が混在する通信システムにおいて、
前記第一ネットワークの状態変化を検出した場合にブロードキャストによって状態変化信号を配信する前記第一ネットワークの第一スイッチと、
前記第一スイッチによって配信された状態変化信号の受信を契機として前記第一ネットワークのネットワークアドレスを更新する前記第二ネットワークの第二スイッチと、
を含むことを特徴とする通信システム。
(付記2)前記第二スイッチは、前記状態変化信号の受信を契機として、応答信号を要求する応答要求信号をブロードキャストによって配信し、
前記第一スイッチは、前記第二スイッチによって配信された応答要求信号に応じて応答信号を送信し、
前記第二スイッチは、前記第一スイッチによって送信された応答信号に基づいて前記ネットワークアドレスを更新することを特徴とする付記1に記載の通信システム。
(付記3)前記第二スイッチは、受信した前記応答信号の数に基づいて前記ネットワークアドレスを更新することを特徴とする付記2に記載の通信システム。
(付記4)前記第一スイッチは、自装置に固有の識別情報を格納した前記応答信号を送信し、
前記第二スイッチは、受信した前記応答信号に格納された識別情報に基づいて決定したアドレスによって前記ネットワークアドレスを更新することを特徴とする付記2または3に記載の通信システム。
(付記5)前記第二スイッチは、前記状態変化信号の受信を契機として、応答信号を要求する応答要求信号をブロードキャストによって配信し、前記第二ネットワークの他のスイッチから前記応答要求信号に応じて送信された応答信号に基づいて前記ネットワークアドレスを更新することを特徴とする付記1に記載の通信システム。
(付記6)前記他のスイッチは、自装置に固有の識別情報を格納した前記応答信号を送信し、
前記第二スイッチは、受信した前記応答信号に格納された識別情報に基づいて、前記ネットワークアドレスの更新を行うか否かを決定することを特徴とする付記5に記載の通信システム。
(付記7)前記他のスイッチは、自装置に固有の識別情報を格納した前記応答信号を送信し、
前記第二スイッチは、受信した前記応答信号に格納された識別情報に基づいて決定したアドレスによって前記ネットワークアドレスを更新することを特徴とする付記5または6に記載の通信システム。
(付記8)データリンク層の第一ネットワークと、前記第一ネットワークの迂回経路に用いられるネットワーク層の第二ネットワークと、が混在する通信システムの通信方法において、
前記第一ネットワークの第一スイッチが、前記第一ネットワークの状態変化を検出した場合にブロードキャストによって状態変化信号を配信し、
前記第二ネットワークの第二スイッチが、前記第一スイッチによって配信された状態変化信号の受信を契機として前記第一ネットワークのネットワークアドレスを更新することを特徴とする通信方法。
(付記9)データリンク層の第一ネットワークと、前記第一ネットワークの迂回経路に用いられるネットワーク層の第二ネットワークと、が混在する通信システムにおける前記第一ネットワークのスイッチであって、
前記第一ネットワークの状態変化を検出した場合にブロードキャストによって状態変化信号を前記通信システム内に配信することを特徴とするスイッチ。