(57)【要約】【課題】ＩＰネットワークにおいてサブネットが分断されないようにする。【解決手段】第一のルータは、サブネット内回線の断を検出すると、外部ネットワークに対してはサブネットのネットワークアドレスと異なるアドレスを持つ。また、第一のルータ配下の装置からのパケットのうち、第二のルータ配下の装置を宛先とするパケットに対して代理でＡＲＰ応答する。また、第二のルータから受信したパケットの宛先ネットワークアドレスを元に戻して第一のルータ配下の装置へ転送する。第二のルータは、外部ネットワークから受信したパケットのうち、第一のルータ配下の装置を宛先とするパケットの宛先ネットワークアドレスを変更して転送する。また、第二のルータ配下の装置からのパケットのうち、第一のルータ配下の装置を宛先とするパケットに対して代理でＡＲＰ応答し、宛先ネットワークアドレスを変更して転送する。【選択図】図７
2014121041.tif 000002
【特許請求の範囲】
【請求項１】
第一のルータにより外部ネットワークと接続された第一のネットワークセグメントと、
第二のルータにより外部ネットワークと接続された第二のネットワークセグメントと、
前記第一および第二のネットワークセグメントを接続する接続回線と、を有し、
前記第一および第二のネットワークセグメントが第一のネットワークアドレスを有するサブネットに属するように、前記第一および第二のルータが設定されているネットワークシステムにおいて、
前記第一のルータが前記接続回線が分断されたことを検知すると、
前記第一のルータは、前記外部ネットワークに対しては、前記第一のネットワークアドレスと異なる第二のネットワークアドレスを持ち、
前記第一のルータは、
前記第一のネットワークセグメント内の通信装置からのパケットのうち、前記第二のネットワークセグメント内の通信装置を宛先とするパケットに対しては、代理で応答するとともに、該パケットを前記外部ネットワークを介して前記第二のルータに回送し、
前記第二のルータから前記第二のネットワークアドレスを宛先とするパケットを受信したとき、該パケットの宛先を前記第一のネットワークアドレスに書き換えて前記第一のネットワークセグメント内の通信装置に回送し、
前記第二のルータが前記接続回線が分断されたことを検知すると、
前記第二のルータは、
前記外部ネットワークから前記サブネットへのパケットを受信したとき、前記第一のネットワークセグメント内の通信装置を宛先とするパケットに対しては、前記パケットの宛先を前記第二のネットワークアドレスに書き換えて、該パケットを前記外部ネットワークを介して前記第一のルータに回送し、
前記第二のネットワークセグメント内の通信装置からのパケットのうち、前記第一のネットワークセグメント内の通信装置を宛先とするパケットに対しては、代理で応答するとともに、該パケットの宛先を前記第二のネットワークアドレスに書き換えて、該パケットを前記外部ネットワークを介して前記第一のルータに回送する
ことを特徴とする、パケット中継方法。
【請求項２】
前記第二のルータは、前記接続回線が分断された旨の情報を含むパケットを前記第一のルータから前記外部ネットワークを介して受信することで、前記接続回線が分断されたことを検知する
ことを特徴とする、請求項１記載のパケット中継方法。
【請求項３】
前記第一のルータは、前記第一のネットワークセグメント内の通信装置からのパケットのうち、マルチキャストパケットに対しては、該マルチキャストパケットの送信元ネットワークアドレスを前記第二のネットワークアドレスに書き換えて前記外部ネットワークと接続されたルータに回送する
ことを特徴とする、請求項１または２のいずれか１項に記載のパケット中継方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インターネットプロトコル（ＩＰ）を用いたネットワークにおけるサブネット内の回線分断時におけるパケット中継方法に関する。
【背景技術】
【０００２】
インターネットプロトコル（ＩＰ；Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）を利用したネットワークは、サブネットと呼ばれる一部のアドレス空間を利用するネットワークにより分割することができ、各サブネットのネットワーク機器はルータを介して他のサブネットのネットワーク機器と情報をやり取りする。
【０００３】
図２２はＩＰネットワーク３０の構成を説明する図である。図２２において、ネットワークアドレス１０．０．０．０／２４を持つサブネット１０が、ルータ１とルータ２とを介して外部のネットワーク２０に接続されている。図２２のＩＰネットワークにおいて、回線６のＡ点で回線分断が発生して通信が遮断されサブネット１０が分断すると、ルータ１配下の端末とルータ２配下の端末との間の通信が不通となる。
【０００４】
回線分断が発生してもサブネット１０内の通信が途絶しないためには、サブネット１０内に回線６とは異なる冗長回線を設ける必要がある。しかし、回線の敷設条件や費用等の制約によっては、冗長回線が形成できないケースや、本回線と冗長回線が近接して配置されているために双方の回線が同時に分断されてしまうケースがある。したがって、ネットワーク内に複数の冗長回線を設けるだけでは、回線の分断に伴うサブネット１０内の通信途絶に対する対策としては不十分である。
【０００５】
また、複数のセグメントを回線により接続することで同一ネットワークを構成している状況で、該回線の分断に伴うネットワーク内の通信途絶を防止する従来技術として、カプセル化したパケットを外部ネットワークを経由して伝送することで分断されたサブネット同士の通信を行う技術が知られている。例えば、回線分断を検出したルータは、サブネット内の端末から送信されたパケットを受信し、分断された同一サブネットに接続したルータのＩＰアドレスを持つヘッダでカプセル化して中継する（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００７−１５０９７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ＩＰネットワークに使用される通信方式には、１対１の通信であるユニキャスト通信の他に、ＰＩＭ−ＳＭ（ｐｒｏｔｏｃｏｌ Ｉｎｄｅｐｅｎｄｅｎｔ Ｍｕｌｔｉｃａｓｔ−Ｓｐａｒｓｅ Ｍｏｄｅ）などを利用した１対多の通信であるマルチキャスト通信がある。したがって、上述のサブネット内において回線分断が発生した場合には、分断に対応した冗長構成は、ユニキャスト通信だけではなくマルチキャスト通信についても考慮する必要がある。
【０００８】
マルチキャスト通信では、各ルータが同じパケットを複数回受信することを防ぐために、送信元からの最短経路にあたるインタフェースから到着したパケットのみを受信するＲＰＦ（Ｒｅｖｅｒｓｅ Ｐａｔｈ Ｆｏｒｗａｒｄｉｎｇ）と呼ばれるアルゴリズムが用いられる。具体的には、ＲＰＦにおいて、各ルータは予めマルチキャストパケットの送信元アドレス（Ｓｏｕｒｃｅ  Ａｄｒｅｓｓ；ＳＡ）とインタフェースを対応付けて記憶する。そして、マルチキャストパケットを受信したルータは、該パケットを受信したインタフェースと、受信した該パケットのＳＡに対応付けられたインタフェースとが一致するか判別し、一致しない場合は該パケットを破棄する。
【０００９】
図２３はマルチキャスト通信を用いたネットワーク例を表した図である。図２３において、矢印８はサブネット１０内の端末（図示せず）からルータ４，５配下の端末（図示せず）へマルチキャストパケットを送信した場合におけるマルチキャストパケットの流れを表している。具体的には、サブネット１０内の端末から送信されたマルチキャストパケットは、ルータ１を経由してルータ３に到達し、ルータ３に到達したマルチキャストパケットは複製され、ルータ４とルータ５とにそれぞれ伝送される。
【００１０】
また、サブネット１０はルータ１配下のネットワークセグメントとルータ２配下のネットワークセグメントとが回線等により接続されることにより同一のサブネットが構成されたネットワークであり、ルータ１及びルータ２はそれぞれ外部のネットワーク２０と接続されている。
【００１１】
図２３に示されたマルチキャスト通信を用いたネットワークにおいて、例えばルータ３がサブネット１０からの最短経路としてルータ１側のインタフェースを登録していた場合について考える。このような場合、サブネット分断前はサブネット１０内の端末から送信されるマルチキャストパケットは、該端末がどちらのルータ配下のネットワークセグメントに属しているかに関わらず、ルータ１を経由して外部ネットワーク２０へ送信される。
【００１２】
ここで、回線６の分断等によりサブネット１０が分断された場合は、ルータ２配下のネットワークセグメントに属する端末から送信されるマルチキャストパケットはルータ２を経由してルータ３へ送信されるが、ルータ３はルータ２から届くマルチキャストパケットを、サブネット１０からの最短経路からのものではないと判断して破棄してしまう。したがって、サブネット内の回線に分断が発生すると、サブネットが分断されサブネット内の通信が途絶するだけでなく、一部のマルチキャスト通信も途絶する。
【００１３】
また、特許文献１等に記載された技術によりマルチキャストパケットをルータ１のアドレスを持つヘッダでカプセル化し、ルータ２からルータ１を経由してルータ３へ送信する場合について考える。このような場合、例えば、図２３においては、ルータ１とルータ３とを結ぶ回線７のトラフィックが増加し、回線分断が起こる前と比較して回線７輻輳が起こりやすくなる。そのため、回線分断前からトラフィックに余裕がないネットワークにおいては、安定した通信を確保することができない。したがって、特許文献１等に記載されたＩＰパケットのカプセル化では、マルチキャスト通信を利用したネットワークにおけるサブネット内の回線分断に対応可能なのはトラフィックに余裕があるときに限られ、冗長構成としては十分ではない。
【００１４】
そこで、本発明の一側面では、ＩＰネットワークにおいてサブネット内の回線が分断したとき、物理的な接続を追加せずにすべての通信を自動的に復旧し、サブネットが分断されないようにすることを目的とする。
【課題を解決するための手段】
【００１５】
上記の目的を達成するために、本発明にかかるサブネット内の回線分断時におけるパケット中継方法は、第一のルータにより外部ネットワークと接続された第一のネットワークセグメントと、第二のルータにより外部ネットワークと接続された第二のネットワークセグメントと、前記第一および第二のネットワークセグメントを接続する接続回線と、を有し、前記第一および第二のネットワークセグメントが第一のネットワークアドレスを有する同一のサブネットに属するように、前記第一および第二のルータが設定されているネットワークシステムにおいて、前記第一のルータが前記接続回線が分断されたことを検知すると、前記第一のルータは、前記外部ネットワークに対しては、前記第一のネットワークアドレスと異なる第二のネットワークアドレスを持ち、前記第一のルータは、前記第一のセグメント内の通信装置からのパケットのうち、前記第二のネットワークセグメント内の通信装置を宛先とするパケットに対しては、代理でＡＲＰ応答するとともに、該パケットを前記外部ネットワークを介して前記第二のルータに回送し、前記第二のルータから前記第二のネットワークアドレスを宛先とするパケットを受信したとき、該パケットの宛先を前記第一のネットワークアドレスに書き換えて前記第一のネットワークセグメント内の通信装置に回送し、前記第二のルータが前記接続回線が分断されたことを検知すると、前記第二のルータは、前記外部ネットワークから前記サブネットへのパケットを受信したとき、前記第一のネットワークセグメント内の通信装置を宛先とするパケットに対しては、前記パケットの宛先を前記第二のネットワークアドレスに書き換えて、該パケットを前記外部ネットワークを介して前記第一のルータに回送し、前記第二のネットワークセグメント内の通信装置からのパケットのうち、前記第一のネットワークセグメント内の通信装置を宛先とするパケットに対しては、代理でＡＲＰ応答するとともに、該パケットの宛先を前記第二のネットワークアドレスに書き換えて、該パケットを前記外部ネットワークを介して前記第一のルータに回送する。
【００１６】
なお、本発明の目的及び利点は、請求項において特に指摘されたエレメント及び組み合わせにより実現され、かつ達成されるものである。また、上記の一般的な記述及び下記の詳細な記述のいずれも、例示的かつ説明的なものであり、請求項のように本発明を制限するものではないことを理解されたい。
【発明の効果】
【００１７】
ＩＰネットワークにおいてサブネットが分断したとき、物理的な接続を追加せずにすべての通信を自動的に復旧する。
【図面の簡単な説明】
【００１８】
【図１】本実施例にかかるＩＰネットワークの全体構成を説明する図
【図２】本実施例にかかるルータ１００のハードウェア構成例を示すブロック図。
【図３】本実施例にかかるルータ１００の機能構成例を表す機能ブロック図。
【図４】本実施例にかかるルータ２００のハードウェア構成例を示すブロック図。
【図５】本実施例にかかるルータ２００の機能構成例を表す機能ブロック図。
【図６】回線の分断前後における各ルータの各ポートのネットワークアドレスの一覧表。
【図７】サブネットが分断された状態を説明する図。
【図８】本発明にかかるルータ１００の処理手順の一例を示すフローチャート。
【図９】ルータ１００によるパケット転送処理の詳細を示すフローチャート。
【図１０】ルータ１００によるパケット転送処理の詳細を示すフローチャート。
【図１１】ルータ１００によるパケット転送処理の詳細を示すフローチャート。
【図１２】ルータ１００によるパケット転送処理の詳細を示すフローチャート。
【図１３】ルータ１００によるパケット転送処理の詳細を示すフローチャート。
【図１４】本発明にかかるルータ２００の処理手順の一例を示すフローチャート。
【図１５】ルータ２００によるパケット転送処理の詳細を示すフローチャート。
【図１６】ルータ２００によるパケット転送処理の詳細を示すフローチャート。
【図１７】ルータ２００によるパケット転送処理の詳細を示すフローチャート。
【図１８】ルータ２００によるパケット転送処理の詳細を示すフローチャート。
【図１９】ルータ２００によるパケット転送処理の詳細を示すフローチャート。
【図２０】回線が分断していない状態におけるパケットの移動経路を表した図。
【図２１】回線が分断した状態におけるパケットの移動経路を表した図。
【図２２】ＩＰネットワークの構成を説明する図。
【図２３】マルチキャスト通信を用いたネットワーク例。
【発明を実施するための形態】
【００１９】
以下に添付図面を参照して、本実施例にかかるサブネット内の回線分断時におけるパケットの中継方法の実施例について詳細に説明する。以降の説明では、ソフトウェアルータやＬ３スイッチ等、宛先のＩＰアドレスを参照してパケットの経路を選択するルーティング機能を有する装置を総称して「ルータ」と呼称する。また、以降の説明では、Ｌ２スイッチ等、宛先のＭＡＣアドレスを参照してパケットの経路を選択する機能を有する装置を総称して「スイッチ」と呼称する。さらに、以降の説明では、レイヤ２のＰＤＵ（Ｐｒｏｔｏｃｏｌ  Ｄａｔａ  Ｕｎｉｔ）とレイヤ３のＰＤＵとを総称して「パケット」と呼称する。
【００２０】
図１は、本実施例にかかるルータ１００及びルータ２００を含むＩＰネットワーク１０００の全体構成を説明する図である。図１において、ネットワークセグメント１００２と１００３とが回線１００５によって接続され１つのサブネット１００１を形成している。
【００２１】
ルータ１００、ルータ２００及びルータ３００は、受信したパケットをルーティングする機能と、ＡＲＰ（Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）パケットの送受信機能とを有する。ルータ１００は２つのネットワークセグメントが回線１００５によって接続されたサブネット１００１内において回線１００５が分断したとき、外部ネットワーク１００４側のＩ／Ｆに割り当てられたネットワークアドレスを変更しないルータである。また、ルータ２００は回線１００５が分断したとき、外部ネットワーク１００４側のＩ／Ｆに割り当てられたネットワークアドレスを代替ネットワークアドレスに変更するルータである。
【００２２】
本実施例においては、ＡＲＰ要求パケットとＡＲＰ応答パケットとを総称して「ＡＲＰパケット」と呼称する。なお、図１において回線１００５分断時にネットワークアドレスを変更しないルータ１００とネットワークアドレスを変更するルータ２００とが図示されているが、実際には２つのネットワークセグメントに接続されたルータのうちどちらか１つのルータのネットワークアドレスを変更すればよい。
【００２３】
スイッチ１１０及びスイッチ２１０は、受信したパケットの宛先ＭＡＣアドレスを参照し、該パケットを適切な経路へ転送する機能を有する。端末１２０、２２０及び３２０は、パケットの送受信機能と、ＡＲＰパケットの送受信機能を有するコンピュータである。ここで、ルータ１００、ルータ２００、スイッチ１１０、スイッチ２１０、端末１２０及び端末２２０はそれぞれ共通のサブネット１００１に属しており、サブネット１００１はルータ１００とルータ２００とを介して外部ネットワーク１００４と接続している。本実施例では説明のためサブネット１００１に属するスイッチ及び端末はそれぞれ２台ずつとするが、実際にはそれぞれ任意の数をとってよい。
【００２４】
ルータ１００はＩＰアドレス１０．０．０．１／２４および１７２．１６．０．１／２４が割り当てられたポートを、ルータ２００はＩＰアドレス１０．０．０．２／２４および１７２．１７．０．１／２４が割り当てられたポートをそれぞれ備え、端末１２０はＩＰアドレス１０．０．０．１１／２４が割り当てられたポートを、端末２２０はＩＰアドレス１０．０．０．１２／２４が割り当てられたポートをそれぞれ備える。つまり、サブネット１００１のネットワークアドレスは１０．０．０．０／２４である。また、端末３２０はＩＰアドレス１９２．１６８．０．１１／２４が割り当てられたポートを備える。
【００２５】
また、図１に示されたＩＰネットワーク１０００では、スイッチ１１０−スイッチ２１０、ルータ１００−スイッチ１１０、ルータ２００−スイッチ２１０、スイッチ１１０−端末１２０、スイッチ２１０−端末２２０、ルータ１００−ルータ３００、ルータ２００−ルータ３００、ルータ３００−端末３２０がそれぞれ相互に通信可能に接続されている。そして、各ルータ、スイッチがパケットを中継することにより、端末間の相互通信が可能となっている。
【００２６】
図１に示されるルータ１００および２００の構成及びブロック図を、それぞれ図２および図３と、図４及び図５により説明する。
［ルータ１００の構成例］
図２は、本実施例にかかるルータ１００のハードウェア構成例を示すブロック図である。図２において、ルータ１００は、演算装置１１１、メモリ１１２および１１３、入出力ポート１１４および１１５、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）１１６および１１７を有する。また、演算装置１１１、メモリ１１２および１１３、ＮＩＣ１１６および１１７はバス１１８によってそれぞれ電気的に接続されている。
【００２７】
ここで、演算装置１１１は、ルータ１００を制御するものであり、たとえば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）やＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｑｕｉｔ）等が用いられる。メモリ１１２としては、たとえば、フラッシュメモリ等の半導体メモリ素子、またはＨＤＤ（Ｈａｒｄ  Ｄｉｓｃ  Ｄｒｉｖｅ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、光ディスク等が用いられる。メモリ１１３は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の記憶装置である。
【００２８】
入出力ポート１１４および１１５は、それぞれＮＩＣ１１６および１１７に接続されており、入出力ポート１１４は外部ネットワーク１００４と接続され、入出力ポート１１５はサブネット１００１内部のネットワークセグメント１００２と接続されており、それぞれＩＰアドレス１７２．１６．０．１／２４および１０．０．０．１／２４を割り当てられている。
【００２９】
メモリ１１２には、ルータ１００を制御するプログラムや、該プログラムの動作に関連した設定データ等が記憶されている。メモリ１１３には、ルータ１００の動作のために一時的に利用されるデータが記憶され、例えば、ルーティングテーブルやＡＲＰテーブルが記憶される。
【００３０】
図３は、本実施例にかかるルータ１００の機能構成例を表す機能ブロック図である。図３において、ルータ１００は、送受信部１０１および１０２と、パケット種別判定部１０３と、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）判定部１０４と、宛先抽出部１０５と、回線断検出部１０６と、ＡＲＰカウンタ１０８と、記憶部１０９とを含む。
【００３１】
送受信部１０１は、図１に示されるサブネット１００１の外部から送信されたパケットを受信する機能と、サブネット１００１の外部へパケットを送信する機能を有する。また、送受信部１０２は、サブネット１００１の内部から送信されたパケットを受信する機能と、サブネット１００１の内部へパケットを送信する機能を有する。
【００３２】
パケット種別判定部１０３は、送受信部１０１または送受信部１０２が受信したパケットが、データパケットであるかＡＲＰパケットであるかを判定する。Ｉ／Ｆ判定部１０４は、送受信部１０１または送受信部１０２が受信したパケットが送受信部１０１が受信した、すなわち、外部ネットワーク００４を経由したパケットであるか、送受信部１０２が受信したパケット、すなわち、サブネット１００１を経由したパケットであるかを判定する機能を有する。
【００３３】
宛先抽出部１０５は、送受信部１０１または送受信部１０２が受信したパケットの宛先ＩＰアドレスを抽出する。回線断検出部１０６は、サブネット１００１内部のネットワークセグメント１００２と１００３とを接続する回線１００５障害が発生して回線１００５が分断されたとき、回線分断を検出する。回線分断の検出方法については、ＯＳＰＦ（Ｏｐｅｎ  Ｓｈｏｒｔｅｓｔ  Ｐａｔｈ  Ｆｉｒｓｔ）パケットを用いた方法や、ルータ１００から定期的にサブネット１００１内へブロードキャストされた監視パケットに対する各端末からの応答のタイムアウトを検出する方法など、周知の方法を適用することができる。
【００３４】
また、ルータ１００は、サブネット１００１内の回線が分断した旨の情報を含むパケットをルータ２００から外部ネットワーク１００４を介して受信することで回線の分断を認識するよう構成されていてもよく、その場合ルータ１００は回線断検出部１０６を備えていなくてもよい。さらに、ルータ１００は、後述の代替ネットワークアドレスをルータ２００から受信したことをもって回線の分断を認識するよう構成されていてもよく、その場合もルータ１００は回線断検出部１０６を備えていなくてもよい。
【００３５】
ＡＲＰカウンタ１０８は、送受信部１０２が同一のＡＲＰ要求パケットを連続して受信したとき、該ＡＲＰ要求パケットの受信回数をインクリメントする。そして、ＡＲＰカウンタ１０８は、ＡＲＰ要求パケットの受信回数が所定の数を超えたとき、送受信部１０２に、該ＡＲＰ要求パケットの送信元ＭＡＣアドレスへＡＲＰ応答パケットを送信させる。
【００３６】
記憶部１０９は、代替ネットワークアドレスと、ルータ１００のＩＰアドレスと、ルーティングテーブルと、ＡＲＰテーブルとを記憶する。ここで、ルーティングテーブルとは、宛先ＩＰアドレスと、該宛先ＩＰアドレスを持つパケットを送信すべきルータもしくは端末のＩＰアドレスとが対応付けられたテーブル情報である。また、ＡＲＰテーブルとは、宛先ＩＰアドレスと、該宛先ＩＰアドレスを持つパケットを送信すべきルータもしくは端末のＭＡＣアドレスとが対応付けられたテーブル情報である。
【００３７】
図３に示した記憶部１０９の機能は、図２のメモリ１１２および１１３により実現される。また、図３に示した送受信部１０１、１０２の機能は、図２のメモリ１１２に格納されたプログラムを読み出した演算装置１１１が、ＮＩＣ１１６および１１７をインタフェースとして入出力ポート１１４および１１５を介してパケットを送受信する処理を実行することにより実現される。
【００３８】
また、図３に示したパケット種別判定部１０３、Ｉ／Ｆ判定部１０４、宛先抽出部１０５、回線断検出部１０６及びＡＲＰカウンタ１０８の機能は、図２のメモリ１１２に格納されたプログラムを読み出した演算装置１１１が、該プログラムに基づいた処理を実行することにより実現される。なお、演算装置１１１はその処理過程において、メモリ１１３をワークエリアとして利用する。
［ルータ２００の構成例］
図４は、本実施例にかかるルータ２００のハードウェア構成例を示すブロック図である。図４に示されるルータ２００の各部の構成は、図２に示されるルータ１００の構成と同様であるので詳細な説明は省略する。
【００３９】
図５は、本実施例にかかるルータ２００の機能構成例を表す機能ブロック図である。図５において、ルータ２００は、図３に示されるルータ１００の各機能ブロックに加えて、代替アドレス配布部２０７を含む。
【００４０】
代替アドレス配布部２０７は、回線断検出部２０６によってサブネット１００１内の回線の分断が検出されたとき、記憶部２０９から代替ネットワークアドレスを読み出して入出力ポート２１４に割り当てる機能と、代替ネットワークアドレスを送受信部２０１に配布させる機能とを有する。本実施例では、代替アドレス配布部２０７は、記憶部２０９から代替ネットワークアドレス１０．０．１．０／２４を読み出して入出力ポート２１４に割り当て、さらに代替ネットワークアドレスを送受信部２０１に配布させる。
【００４１】
ＡＲＰカウンタ２０８の機能は、図３のメモリ２１２に格納されたプログラムを読み出した演算装置２１１が、該プログラムに基づいた処理を実行することにより実現される。なお、そのほかの機能ブロックの機能は図３に示されるルータ１００の機能と同様であるので詳細な説明は省略する。
［サブネット内の回線分断時におけるパケットの中継手順］
ここで、本発明にかかるルータ１００及びルータ２００によるサブネット内の回線分断時におけるパケットの中継手順について説明する。図６は、ネットワークセグメント１００２および１００３を接続する回線１００５が分断された状態を説明する図である。以下の説明では、図６に示すように回線１００５のＡ点において回線分断が発生し、サブネット１００１がネットワークセグメント１００２とネットワークセグメント１００３とに分割された場合について説明する。また、以下「送信元ＩＰアドレス」のことを「ＳＡ（Ｓｏｕｒｃｅ  Ａｄｒｅｓｓ）」、「宛先ＩＰアドレス」のことを「ＤＡ（Ｄｅｓｔｉｎａｔｉｏｎ  Ａｄｒｅｓｓ）」と呼称する。
【００４２】
図７は、回線１００５の分断前後におけるルータ１００およびルータ２００の各入出力ポートに割り当てられたネットワークアドレスの一覧表である。図７において、上段は分断前のネットワークアドレスを表し、図１に対応する。下段は分断後のネットワークアドレスを表し、図６に対応する。図７に示されているように、サブネット内回線が分断すると、ルータ２００において外部ネットワークと接続された入出力ポート（入出力ポート２１４）に割り当てられているネットワークアドレスのみが代替ネットワークアドレスに変更される。
［ルータ１００の処理］
図８は、本発明にかかるルータ１００によるサブネット内の回線分断時におけるパケット中継手順の一例を示すフローチャートである。図８のフローチャートにおいて、まず、回線断検出部１０６は、ネットワークセグメント１００２と１００３とを接続する回線１００５が分断されているか否か判定する（ステップＳ１０１）。回線１００５が分断されていない場合（ステップＳ１０１：Ｎｏ）、回線断検出部１０６はステップＳ１０１の判定処理に戻る。
【００４３】
回線１００５が分断されている場合（ステップＳ１０１：Ｙｅｓ）、送受信部１０１は、ルータ２００から代替ネットワークアドレスを受信したか否か判定する（ステップＳ１０２）。回線分断用ネットワークを受信していない場合（ステップＳ１０２：Ｎｏ）、送受信部１０１はステップＳ１０２の判定処理に戻る。
【００４４】
ルータ２００から代替ネットワークアドレスを受信した場合（ステップＳ１０２：Ｙｅｓ）、ルータ１００の各機能部は、サブネット１００１内の回線分断が解消されるまで後述する回線分断時のパケット転送処理を行う（ステップＳ１０３）。サブネット１００１内の回線分断が解消された場合、回線分断時におけるルータ１００の一連の処理を終了する。
［ルータ１００によるパケット中継処理の詳細手順］
図９ないし図１３は、本発明にかかるルータ１００によるサブネット内の回線分断時におけるパケット中継処理の詳細手順を示すフローチャートである。図９のフローチャートにおいて、まず、送受信部１０１または送受信部１０２がパケットを受信（ステップＳ１０４）したら、パケット種別判定部１０３は、該パケットがデータパケットであるかＡＲＰパケットであるか判定する（ステップＳ１０５）。受信したパケットがＡＲＰパケットである場合（ステップＳ１０５：Ｙｅｓ）、図１０のフローチャート（端子Ａ）に進む。
【００４５】
図１０のフローチャートにおいて、まず、宛先抽出部１０５は、受信したＡＲＰパケットに含まれている情報に基づいて、該ＡＲＰパケットはルータ１００が応答すべきものであるかを判定する（ステップＳ１０６）。具体的には、宛先抽出部１０５は、外部ネットワークから受信したＡＲＰパケットのＤＡから抽出したネットワークアドレスが、サブネット１００１のネットワークアドレスと一致するとき、該ＡＲＰパケットはルータ１００が応答すべきものと判断する。また、宛先抽出部１０５は、ネットワークセグメント１００２から受信したＡＲＰパケットのＤＡから抽出したネットワークアドレスが、サブネット１００１のネットワークアドレスと一致しないとき、該ＡＲＰパケットはルータ１００が応答すべきものと判断する。
【００４６】
前記ＡＲＰパケットはルータ１００が応答すべきものであると判定された場合（ステップＳ１０６：Ｙｅｓ）、送受信部１０１または送受信部１０２は、該ＡＲＰパケットが示すＳＡにＡＲＰ応答パケットを送信する（ステップＳ１０７）。前記ＡＲＰパケットはルータ１００が応答すべきものでないと判定された場合（ステップＳ１０６：Ｎｏ）、図１１のフローチャート（端子Ｂ）に進む。
【００４７】
図１１のフローチャートにおいて、まず、ＡＲＰカウンタ１０８は、送受信部１０２が前記ＡＲＰパケットを所定の回数連続して受信したか否か判定する（ステップＳ１０８）。判定の結果が真である場合（ステップＳ１０８：Ｙｅｓ）、ＡＲＰカウンタ１０８は、前記ＡＲＰパケットの宛先はネットワークセグメント１００３内の端末であると判断し、送受信部１０２に、該端末の代わりに該ＡＲＰ要求に応答させる（ステップＳ１０９）。具体的には、ＡＲＰカウンタ１０８は、送受信部１０２に、該ＡＲＰパケットの送信元ＭＡＣアドレスへ、ルータ１００のＭＡＣアドレスが格納されたＡＲＰ応答パケットを送信させる。
【００４８】
判定の結果が真でない場合（ステップＳ１０８：Ｎｏ）、ＡＲＰカウンタ１０８は、該ＡＲＰパケットの受信回数をインクリメントする（ステップＳ１１０）。
【００４９】
前記ステップＳ１０５において、受信したパケットがデータパケットである場合（ステップＳ１０５：Ｎｏ）、図１２のフローチャート（端子Ｃ）に進む。図１２のフローチャートにおいて、Ｉ／Ｆ判定部１０４は、前記パケットを受信したのはネットワークセグメント（図面中ではＮＷセグメントと記載）１００２側のＩ／Ｆであるか否か判定する（ステップＳ１１１）。具体的には、Ｉ／Ｆ判定部１０４は、前記パケットを受信したのは送受信部１０２であるか否か判定する。
【００５０】
判定の結果が真である場合（ステップＳ１１１：Ｙｅｓ）、宛先抽出部１０５は、前記パケットに含まる情報に基づいて、該パケットがネットワークセグメント１００３（図面中ではＮＷセグメントと記載）宛のパケットであるか否か判定する（ステップＳ１１２）。具体的には、宛先抽出部１０５は、前記パケットのＤＡから抽出したネットワークアドレスが、サブネット１００１のネットワークアドレスと一致するとき、該パケットはネットワークセグメント１００３宛のパケットであると判定する。また、宛先抽出部１０５は、前記パケットのＤＡから抽出したネットワークアドレスが、サブネット１００１のネットワークアドレスと一致しないとき、該パケットはネットワークセグメント１００３宛のパケットではないと判定する。
【００５１】
前記パケットがネットワークセグメント１００３宛のパケットであると判定された場合（ステップＳ１１２：Ｙｅｓ）、送受信部１０１は、該パケットの宛先ネットワークアドレスを代替ネットワークアドレスに変更して送信する（ステップＳ１１３）。例えば、前記パケットのＤＡが１０．０．０．１２／２４であるとき、送受信部１０１は、宛先ネットワークアドレス１０．０．０．０／２４を代替ネットワークアドレス１０．０．１．０／２４に変更する。つまり、この例において前記パケットのＤＡは１０．０．０．１２／２４から１０．０．１．１２／２４に変更されたことになる。
【００５２】
前記パケットがネットワークセグメント１００３宛のパケットではないと判定された場合（ステップＳ１１２：Ｎｏ）、送受信部１０１は、該パケットのＤＡに応じたルータまたは端末へ該パケットを送信する（ステップＳ１１４）。
【００５３】
前記ステップＳ１１１において、判定の結果が真でない場合（ステップＳ１１１：Ｎｏ）、図１３のフローチャート（端子Ｄ）に進む。図１３のフローチャートにおいて、送受信部１０２は、ＡＲＰ要求パケットを送信して該ＡＲＰ要求パケットに対する応答の有無を判定する（ステップＳ１１５）。ＡＲＰ要求パケットに対する要求がないと判定された場合（ステップＳ１１５：Ｙｅｓ）、送受信部１０１は、前記パケットはネットワークセグメント１００３宛のパケットであると判断し、該パケットの宛先ネットワークアドレスを代替ネットワークアドレスに変更して送信する（ステップＳ１１６）。
【００５４】
前記ＡＲＰ要求パケットに対する応答があった場合（ステップＳ１１５：Ｎｏ）、送受信部１０２は、ＡＲＰ応答パケットに格納されたＭＡＣアドレスへ前記パケットを送信する（ステップＳ１１７）。
［ルータ２００の処理］
図１４は、本発明にかかるルータ２００によるサブネット内の回線分断時におけるパケット中継手順の一例を示すフローチャートである。図８のフローチャートにおいて、まず、記憶部２０９は、代替ネットワークアドレスを記憶する（ステップＳ２０１）。このとき、代替ネットワークアドレスは、管理者等が適宜設定してもよい。
【００５５】
次に、回線断検出部２０６は、ネットワークセグメント１００２と１００３とを接続する回線１００５が分断されているか否か判定する（ステップＳ２０２）。回線１００５が分断されていない場合（ステップＳ２０２：Ｎｏ）、回線断検出部２０６はステップＳ２０２の判定処理に戻る。回線１００５が分断されている場合（ステップＳ２０２：Ｙｅｓ）、代替アドレス配布部２０８は記憶部２０９から代替ネットワークアドレスを読み出して入出力ポート２１４に割り当て、さらに送受信部２０１に外部ネットワークへ代替ネットワークアドレスを配布させる（ステップＳ２０３）。
【００５６】
次に、ルータ２００の各機能部は、サブネット１００１内の回線分断が解消されるまで後述する回線分断時のパケット転送処理を行う（ステップＳ２０４）。サブネット１００１内の回線分断が解消された場合、回線分断時におけるルータ２００の一連の処理を終了する。
［ルータ２００によるパケット中継処理の詳細手順］
図１５ないし図１９は、本発明にかかるルータ２００によるサブネット内の回線分断時におけるパケット中継処理の詳細手順を示すフローチャートである。図１５のフローチャートにおいて、まず、送受信部２０１または送受信部２０２がパケットを受信（ステップＳ２０５）したら、パケット種別判定部２０３は、該パケットがデータパケットであるかＡＲＰパケットであるか判定する（ステップＳ２０６）。受信したパケットがＡＲＰパケットである場合（ステップＳ２０６：Ｙｅｓ）、図１６のフローチャート（端子Ｅ）に進む。
【００５７】
図１６のフローチャートにおいて、まず、宛先抽出部２０５は、受信したＡＲＰパケットに含まれる情報に基づいて、該ＡＲＰパケットはルータ２００が応答すべきものであるか判定する（ステップＳ２０７）。具体的には、宛先抽出部２０５は、外部ネットワークから受信したＡＲＰパケットのＤＡから抽出したネットワークアドレスが、ネットワークセグメント１００２のネットワークアドレスと一致するとき、該ＡＲＰパケットはルータ２００が応答すべきものと判断する。また、宛先抽出部２０５は、ネットワークセグメント１００３から受信したＡＲＰパケットのＤＡから抽出したネットワークアドレスが、サブネット１００１のネットワークアドレスと一致しないとき、該ＡＲＰパケットはルータ２００が応答すべきものと判断する。
【００５８】
前記ＡＲＰパケットはルータ２００が応答すべきものであると判定された場合（ステップＳ２０７：Ｙｅｓ）、送受信部２０１または送受信部２０２は、該ＡＲＰパケットが示すＳＡにＡＲＰ応答パケットを送信する（ステップＳ２０８）。前記ＡＲＰパケットはルータ２００が応答すべきものでないと判定された場合（ステップＳ２０７：Ｎｏ）、図１７のフローチャート（端子Ｆ）に進む。
【００５９】
図１７のフローチャートにおいて、まず、ＡＲＰカウンタ２０８は、送受信部２０２が前記ＡＲＰパケットを所定の回数連続して受信したか否か判定する（ステップＳ２０９）。判定の結果が真である場合（ステップＳ２０９：Ｙｅｓ）、ＡＲＰカウンタ２０８は、前記ＡＲＰパケットの宛先はネットワークセグメント１００２内の端末であると判断し、送受信部２０２に、該端末の代わりに該ＡＲＰ要求に応答させる（ステップＳ２１０）。具体的には、ＡＲＰカウンタ２０８は、送受信部２０２に、該ＡＲＰパケットの送信元ＭＡＣアドレスへ、ルータ２００のＭＡＣアドレスが格納されたＡＲＰ応答パケットを送信させる。
【００６０】
判定の結果が真でない場合（ステップＳ２０９：Ｎｏ）、ＡＲＰカウンタ２０８は、該ＡＲＰパケットの受信回数をインクリメントする（ステップＳ２１１）。
【００６１】
前記ステップＳ２０６において、受信したパケットがデータパケットである場合（ステップＳ２０６：Ｎｏ）、図１８のフローチャート（端子Ｇ）に進む。図１８のフローチャートにおいて、Ｉ／Ｆ判定部２０４は、前記パケットを受信したのはネットワークセグメント１００３側のＩ／Ｆであるか否か判定する（ステップＳ２１２）。具体的には、Ｉ／Ｆ判定部２０４は、前記パケットを受信したのは送受信部２０２であるか否か判定する。
【００６２】
判定の結果が真である場合（ステップＳ２１２：Ｙｅｓ）、パケット種別判定部２０３は、前記パケットがマルチキャストパケットであるか否か判定する（ステップＳ２１３）。前記パケットがマルチキャストパケットであると判定された場合（ステップＳ２１３：Ｙｅｓ）、送受信部２０１は、該パケットの送信元ネットワークアドレスを代替ネットワークアドレスに変更して送信する（ステップＳ２１４）。具体的には、前記パケットのＳＡが１０．０．０．１２／２４であるとき、送受信部２０１は、送信元ネットワークアドレス１０．０．０．０／２４を代替ネットワークアドレス１０．０．１．０／２４に変更する。つまり、この例において前記パケットのＳＡは１０．０．０．１２／２４から１０．０．１．１２／２４に変更されたことになる。
【００６３】
前記パケットがマルチキャストパケットではないと判定された場合（ステップＳ２１３：Ｎｏ）、送受信部２０１は、該パケットのＤＡに応じたルータまたは端末へ該パケットを送信する（ステップＳ２１５）。
【００６４】
前記ステップＳ２１２において、判定の結果が真でない場合（ステップＳ２１２：Ｎｏ）、図１９のフローチャート（端子Ｈ）に進む。図１９のフローチャートにおいて、宛先抽出部２０５は、前記パケットのＤＡから抽出した宛先ネットワークアドレスが、代替ネットワークアドレスと一致するか否か判定する（ステップＳ２１６）。
【００６５】
前記パケットの宛先ネットワークアドレスが代替ネットワークアドレスである場合（ステップＳ２１６：Ｙｅｓ）、送受信部２０２は、該パケットの宛先ネットワークアドレスをサブネット１００１のネットワークアドレスに変更して送信する（ステップＳ２１７）。具体的には、前記パケットのＤＡが１０．０．１．１２／２４であるとき、送受信部２０２は、宛先ネットワークアドレス１０．０．１．０／２４をサブネット１００１のネットワークアドレス１０．０．０．０／２４に変更する。つまり、この例において前記パケットのＤＡは１０．０．１．１２／２４から１０．０．０．１２／２４に変更されたことになる。
【００６６】
前記パケットの宛先ネットワークアドレスが代替ネットワークアドレスでない場合（ステップＳ２１６：Ｎｏ）、送受信部２０２は、該パケットのＤＡへ該パケットを送信する（ステップＳ２１８）。
【００６７】
図２０（ａ）は回線１００５が分断していない状態における、サブネット１００１内の端末同士の通信を説明する図であり、端末２２０と端末１２０とが通信を行う場合のパケットの移動経路を表したている。図２０（ａ）に示すように、端末２２０から端末１２０に宛てたパケットは、スイッチ２１０、１１０を経由して端末１２０へ到達する。同様に、端末１２０から端末２２０へ宛てたパケットは、スイッチ１１０、２１０を経由して端末２２０へ到達する。
【００６８】
図２０（ｂ）は回線１００５が分断していない状態における、サブネット１００１内の端末と外部ネットワーク１００４内の端末との通信を説明する図であり、端末２２０と端末３２０が通信を行う場合のパケットの移動経路を表している。図２０（ｂ）に示すように、端末２２０から端末３２０へ宛てたパケットは、スイッチ２１０、１１０、ルータ１００、３００を（あるいは、スイッチ２１０、ルータ２００、３００を）経由して端末３２０へ到達する。同様に、端末３２０から端末２２０へ宛てたパケットは、ルータ３００、２００、スイッチ１１０、２１０を（あるいは、ルータ３００、２００、スイッチ２１０を）経由して端末２２０へ到達する。
【００６９】
図２１（ａ）は回線１００５が分断した状態における、サブネット１００１内の端末同士の通信を説明する図であり、端末２２０と端末１２０とが通信を行う場合のパケットの移動経路を表している。図２１（ａ）に示すように、端末２２０から端末１２０に宛てたパケットは、スイッチ２１０、ルータ２００、３００、１００、スイッチ１１０を経由して端末１２０へ到達する。同様に、端末１２０から端末２２０へ宛てたパケットは、スイッチ１１０、ルータ１００、３００、２００、スイッチ２１０を経由して端末２２０へ到達する。
【００７０】
図２１（ｂ）は回線１００５が分断した状態における、サブネット１００１内の端末と外部ネットワーク１００４内の端末との通信を説明する図であり、端末２２０と端末３２０が通信を行う場合のパケットの移動経路を表している。図２１（ｂ）に示すように、端末２２０から端末３２０へ宛てたパケットは、スイッチ２１０、ルータ２００、３００を経由して端末３２０へ到達する。端末３２０から端末２２０へ宛てたパケットは、ルータ３００、１００、３００、２００、スイッチ２１０を経由して端末２２０へ到達する。
【００７１】
以上説明したように、本発明にかかるサブネット内の回線分断時におけるパケット中継方法によれば、夫々ルータを介して外部ネットワークと接続された複数のネットワークセグメントが回線で接続され形成されたサブネットにおいて該回線が分断したとき、いずれかのネットワークセグメントに接続されたルータの外部ネットワークに対するネットワークアドレスを図６に示される代替ネットワークアドレスに変更する。そして、サブネットに接続された各ルータが図２０及び図２１に示すような経路でパケットを中継することで、サブネット内部の端末同士の通信およびサブネット内外の端末同士の通信が回線断によって途絶することを防ぐことができる。
【００７２】
また、本発明にかかるサブネット内の回線分断時におけるパケット中継方法によれば、ネットワークアドレスを変更したルータは、該ルータに接続されたネットワークセグメント内の端末からマルチキャストパケットを受信すると、該マルチキャストパケットの送信元ネットワークアドレスを図６に示される代替ネットワークアドレスに変更して中継することで、マルチキャスト通信の途絶を防ぐことができる。
【００７３】
上記手法によれば、ＩＰネットワークにおいてサブネット内の回線が分断したとき、物理的な接続を追加せずにすべての通信を自動的に復旧し、サブネットが分断されることを抑止できる。
【符号の説明】
【００７４】
１        ルータ
２        ルータ
３        ルータ
４        ルータ
５        ルータ
６        回線
７        回線
８        矢印
１０      サブネット
１１      インタフェース
２０      外部ネットワーク
３０      ＩＰネットワーク
１００    ルータ
１０１    送受信部
１０２    送受信部
１０３    パケット種別判定部
１０４    Ｉ／Ｆ判定部
１０５    宛先抽出部
１０６    回線断検出部
１０８    ＡＲＰカウンタ
１０９    記憶部
１１０    スイッチ
１１１    演算装置
１１２    メモリ
１１３    メモリ
１１４    入出力ポート
１１５    入出力ポート
１１６    ＮＩＣ
１１７    ＮＩＣ
１１８    バス
１２０    端末
２００    ルータ
２０１    送受信部
２０２    送受信部
２０３    パケット種別判定部
２０４    Ｉ／Ｆ判定部
２０５    宛先抽出部
２０６    回線断検出部
２０７    代替アドレス配布部
２０８    ＡＲＰカウンタ
２０９    記憶部
２１０    スイッチ
２１１    演算装置
２１２    メモリ
２１３    メモリ
２１４    入出力ポート
２１５    入出力ポート
２１６    ＮＩＣ
２１７    ＮＩＣ
２１８    バス
２２０    端末
３００    ルータ
３２０    端末
１０００  ＩＰネットワーク
１００１  サブネット
１００２  ネットワークセグメント
１００３  ネットワークセグメント
１００４  外部ネットワーク
１００５  回線
【図１】
2014121041.tif 000003
【図２】
2014121041.tif 000004
【図３】
2014121041.tif 000005
【図４】
2014121041.tif 000006
【図５】
2014121041.tif 000007
【図６】
2014121041.tif 000008
【図７】
2014121041.tif 000009
【図８】
2014121041.tif 000010
【図９】
2014121041.tif 000011
【図１０】
2014121041.tif 000012
【図１１】
2014121041.tif 000013
【図１２】
2014121041.tif 000014
【図１３】
2014121041.tif 000015
【図１４】
2014121041.tif 000016
【図１５】
2014121041.tif 000017
【図１６】
2014121041.tif 000018
【図１７】
2014121041.tif 000019
【図１８】
2014121041.tif 000020
【図１９】
2014121041.tif 000021
【図２０】
2014121041.tif 000022
【図２１】
2014121041.tif 000023
【図２２】
2014121041.tif 000024
【図２３】
2014121041.tif 000025