通信システム、通信装置及び中継装置
【課題】通信経路切り替え時における破棄パケットの発生を抑制する。
【解決手段】通信装置A−C間に救済パスを確立しておき、通信装置A−C間で障害が検出されてから経路情報が更新されるまでの間、通信装置A,Cに入力された通信パケットに救済パスを識別する救済パスIDを付与して、救済パスへ送出する。これにより、経路情報が更新中でレイヤ3の宛先情報に基づくルーティング処理が行えない場合でも、通信パケットに付与されたレイヤ2の宛先情報である救済パスIDを参照して隣接する通信装置A〜Dへ通信パケットが送信されるので、通信経路切り替え時における破棄パケットの発生を抑制できる。
【解決手段】通信装置A−C間に救済パスを確立しておき、通信装置A−C間で障害が検出されてから経路情報が更新されるまでの間、通信装置A,Cに入力された通信パケットに救済パスを識別する救済パスIDを付与して、救済パスへ送出する。これにより、経路情報が更新中でレイヤ3の宛先情報に基づくルーティング処理が行えない場合でも、通信パケットに付与されたレイヤ2の宛先情報である救済パスIDを参照して隣接する通信装置A〜Dへ通信パケットが送信されるので、通信経路切り替え時における破棄パケットの発生を抑制できる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワーク障害発生時に通信経路を切り替える技術に関する。
【背景技術】
【0002】
ネットワークを構成するルータやスイッチなどの通信装置では、経路情報と通信パケットの宛先情報に応じて送出するIF(インタフェース)を判定するルーティングが行われている。ネットワークに障害が発生した場合には、経路情報を更新して通信パケットを予備系経路に迂回させて通信を担保する。経路情報を更新する方法として、通信装置間で経路情報を自動的に更新する動的ルーティングがある。動的ルーティングプロトコルとしては、OSPF(Open Short Path First)等が知られている。
【0003】
図12に示すネットワークは、通信装置A,Bを上位階梯、通信装置C,Dを下位階梯とする階層構造で、通信装置A,Cで構成された0系、通信装置B,Dで構成された1系を有する冗長構成である。通信装置A,C間で回線切断、あるいはネイバダウンが発生すると、OSPFにより経路が再計算されて経路情報が更新され、通信経路が予備系に切り替わる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2003−78555号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、障害が検出されてから通信経路が切り替わるまでの間に入力された通信パケットは送出すべき通信経路が不明であるために破棄され、破棄にともなうICMP(Unreachable)が通信パケットの送信元に返信される。図13は、IFダウン、IFアップとパケットロス(破棄)との関係を示す図である。パケットロスは、IFダウンが発生してから経路の再計算が終了して経路情報が更新されるまでの間とIFダウンから回復した後、経路情報が更新される間に発生する。IFダウン、IFアップを繰り返すフラップが発生した場合も経路切り替えに伴うパケットロスが発生する。このように、経路の冗長構成があるにもかかわらず、経路再構築の間にパケットの破棄により通信できなくなるという問題があった。
【0006】
特許文献1の技術は、輻輳や回線障害で入力側IFバッファが閾値を超えた場合、追加キューを作成して超過フローをキューしておき、超過フローの負荷分散経路を求めてルーティングテーブルを更新した後、超過フローを負荷分散経路へ送信することで負荷を分散し、パケット破棄を救済している。しかしながら、負荷分散経路はルーティングテーブルの更新後に確保されるため、ルーティングテーブルの更新が完了するまではパケットを送信することができない。そのため、ルーティングテーブルが更新されるまでの間パケット遅延が発生してしまう。また、その間にバッファが上限に達していればパケットロスが発生してしまう。
【0007】
本発明は、上記に鑑みてなされたものであり、通信経路切り替え時における破棄パケットの発生を抑制することを目的とする。
【課題を解決するための手段】
【0008】
第1の本発明に係る通信システムは、通信経路を接続して通信パケットを入出力する複数の通信インタフェースを備え、経路情報と通信パケットの宛先情報に応じて送出する通信インタフェースを判定し、前記通信インタフェースに接続された通信経路に障害が発生したときに通信経路を再計算して経路情報を更新する通信装置と、前記通信装置間で予備経路を介して接続される中継装置とを備える通信システムであって、前記通信装置は、前記予備経路上に確立される救済パスを識別する救済パスIDと当該救済パスの救済対象の第1通信インタフェースと前記予備経路が接続される第2通信インタフェースとを関連付けて記憶する救済パス設定記憶手段と、前記救済パスIDを前記予備経路を介して接続された中継装置や対向する通信装置との間で送受信して当該救済パスIDで識別される救済パスを確立し、前記救済パスIDと前記第1通信インタフェースと前記第2通信インタフェースとを関連付けて前記救済パス設定記憶手段に記憶させる救済パス生成手段と、前記第1通信インタフェースが障害を検知してから経路情報の更新が終了するまでの間に、前記第1通信インタフェースから送出されるべき通信パケットを入力したときは、前記救済パス設定記憶手段を参照して前記救済パスIDを特定し、当該通信パケットに前記救済パスIDを付与して前記第2通信インタフェースから送出する救済手段と、を有し、前記中継装置は、前記救済パスIDに対して2つの通信インタフェースを関連付けて記憶する隣接関係記憶手段と、前記通信装置あるいは別の中継装置との間で前記救済パスIDを送受信して前記救済パスを確立し、当該救済パスIDの送受信に利用した通信インタフェースと当該救済パスIDとを関連付けて前記隣接関係記憶手段に記憶させる救済パス生成手段と、前記救済パスIDが付与された通信パケットを入力したときに、前記隣接関係記憶手段に当該救済パスIDに関連付けて記憶された通信インタフェースのうち、前記通信パケットを入力した通信インタフェースとは別の通信インタフェースから当該通信パケットを送出する救済手段と、を有することを特徴とする。
【0009】
上記通信システムにおいて、前記通信装置の救済手段は、前記第1通信インタフェースが障害の回復を検知してから経路情報の更新が終了するまでの間に、前記第1通信インタフェースから送出されるべき通信パケットを入力したときは、当該通信パケットを前記第1通信インタフェースから送出することを特徴とする。
【0010】
上記通信システムにおいて、前記経路情報は、通信パケットのレイヤ3の宛先情報と前記通信インタフェースとを関連付けて登録したものであり、前記救済パスIDは、レイヤ2の仮想の宛先情報であることを特徴とする。
【0011】
第2の本発明に係る通信装置は、通信経路を接続して通信パケットを入出力する複数の通信インタフェースを備え、経路情報と通信パケットの宛先情報に応じて送出する通信インタフェースを判定し、前記通信インタフェースに接続された通信経路に障害が発生したときに通信経路を再計算して経路情報を更新する通信装置であって、予備経路上に確立される救済パスを識別する救済パスIDと当該救済パスの救済対象の第1通信インタフェースと前記予備経路が接続される第2通信インタフェースとを関連付けて記憶する救済パス設定記憶手段と、前記救済パスIDを前記予備経路を介して接続された中継装置との間で送受信して当該救済パスIDで識別される救済パスを確立し、前記救済パスIDと前記第1通信インタフェースと前記第2通信インタフェースとを関連付けて前記救済パス設定記憶手段に記憶させる救済パス生成手段と、前記第1通信インタフェースが障害を検知してから経路情報の更新が終了するまでの間に、前記第1通信インタフェースから送出されるべき通信パケットを入力したときは、前記救済パス設定記憶手段を参照して前記救済パスIDを特定し、当該通信パケットに前記救済パスIDを付与して前記第2通信インタフェースから送出する救済手段と、を有することを特徴とする。
【0012】
第3の本発明に係る中継装置は、通信装置間に障害が発生したときの予備経路を接続して通信パケットを入出力する複数の通信インタフェースを備えた中継装置であって、前記予備経路上に確立される救済パスを識別する救済パスIDに対して2つの通信インタフェースを関連付けて記憶する隣接関係記憶手段と、前記通信装置あるいは別の中継装置との間で前記救済パスIDを送受信して救済パスを確立し、当該救済パスIDの送受信に利用した通信インタフェースと当該救済パスIDとを関連付けて前記隣接関係記憶手段に記憶させる救済パス生成手段と、前記救済パスIDが付与された通信パケットを入力したときに、前記隣接関係記憶手段に当該救済パスIDに関連付けて記憶された通信インタフェースのうち、前記通信パケットを入力した通信インタフェースとは別の通信インタフェースから当該通信パケットを送出する救済手段と、を有することを特徴とする。
【発明の効果】
【0013】
本発明によれば、通信経路切り替え時における破棄パケットの発生を抑制することができる。
【図面の簡単な説明】
【0014】
【図1】本実施の形態における通信装置を用いて構成したネットワークの例を示す。
【図2】本実施の形態における通信装置の構成を示す機能ブロック図である。
【図3】処理部の有するデータベースに登録される情報の例を示す図である。
【図4】通信装置A−C間で隣接関係情報を登録する処理の流れを示すシーケンス図である。
【図5】通信装置A−Cで対向関係情報を登録する処理の流れを示すシーケンス図である。
【図6】通信装置B−D間で隣接関係が解消される処理の流れを示すシーケンス図である。
【図7】通信装置A−B間で隣接関係が解消される処理の流れを示すシーケンス図である。
【図8】通信部の有するデータベースに登録される情報の例を示す図である。
【図9】破棄パケットを救済パスへ送出する処理の流れを示すシーケンス図である。
【図10】障害が発生した経路が回復したときの処理の流れを示すシーケンス図である。
【図11】3つの通信装置を用いて構成したネットワークの例を示す。
【図12】予備系経路を備えたネットワークの例を示す。
【図13】ネットワーク障害とパケットロスとの関係を示す図である。
【発明を実施するための形態】
【0015】
以下、本発明の実施の形態について図面を用いて説明する。
【0016】
図1に、本実施の形態における通信装置を用いて構成したネットワークの例を示す。同図に示すネットワークは、通信装置A,Bを上位階梯、通信装置C,D,E,Fを下位階梯とする階層構造で、通信装置A,C,Eで構成された0系、通信装置B,D,Fで構成された1系を有する冗長構成である。通信装置A〜Fは、入力した通信パケットの宛先情報に応じて送出する通信経路を判定する、例えばルータ、L3スイッチである。0系でネットワーク障害が発生した場合、OSPFなどのルーティングプロトコルを用いて予備系経路110を計算し、通信パケットを予備系経路110へ送信する。
【0017】
本実施の形態における通信装置では、障害検出から予備系経路への切り替え時、および予備系経路から現用系経路への切り替え時に発生する破棄パケットを予め予備系経路上に確立した救済パス100を用いて送信することで、経路切り替え時における破棄パケットの発生を抑制する。以下では、通信装置A−C間で通信装置B,Dを経由した救済パスを確立する例について説明する。もちろん、通信装置B−D、A−E、B−F間にも同様に救済パスを確立することができる。以下、本実施の形態における通信装置について説明する。
【0018】
図2は、本実施の形態における通信装置の構成を示す機能ブロック図である。同図に示す通信装置1は、ルーティング経路の計算、救済パスの確立、破棄パケットの救済等の処理を行う処理部10と、通信回線を接続してパケットの転送を行う複数の通信部20を備える。各通信部20には、通信部20を識別するためのIF識別子が付与されている。本実施の形態では、通信部20のスロット/ポートを示す0/1,1/1,2/1等をIF識別子として用いた。通信装置1が備える各部は、演算処理装置、記憶装置等を備えたコンピュータにより構成して、各部の処理がプログラムによって実行されるものとしてもよい。このプログラムは通信装置1が備える記憶装置に記憶されており、磁気ディスク、光ディスク、半導体メモリ等の記録媒体に記録することも、ネットワークを通して提供することも可能である。以下、各部について説明する。
【0019】
処理部10は、転送処理部11、経路情報データベース12、救済パス生成部13、救済部14、救済パス設定データベース15、隣接関係データベース16、および対向関係データベース17を備える。
【0020】
転送処理部11は、OSPFなどのルーティングプロトコルを用いて通信パケットの経路を計算して経路情報を経路情報データベース12に格納するとともに、経路情報データベース12に格納された経路情報を各通信部20へ通知して通信パケットの転送情報を設定する。また、各通信部20からIFダウン、ネイバダウン等の通知を受信したときに経路の再計算を行う。
【0021】
経路情報データベース12は、通信パケットの送出先を登録した経路情報を格納する。経路情報は、宛先ネットワーク情報と通信部20とを対応付けたものであり、通信パケットの宛先情報と経路情報の宛先ネットワーク情報を参照することで通信パケットを送出する通信部20を特定できる。経路情報データベース12に格納された経路情報は各通信部20の転送データベース24にコピーされ、各通信部20は転送データベース24の経路情報を参照して通信パケットの転送先を特定する。IFダウン等が発生したときは、転送処理部11により経路が再計算されて経路情報データベース12の経路情報が書き換えられ、各通信部20の転送データベース24にコピーされる。
【0022】
救済パス生成部13は、救済パスIDを隣接する通信装置と送受信して救済パスを確立する。救済パスIDは、救済パスを識別するための情報であり、救済対象の破棄パケットにも付与されて破棄パケットの転送情報として利用される。救済パスIDとしては、仮想MACアドレス、VLAN−ID、CoS値などのレイヤ2情報を用いる。
【0023】
救済部14は、通信部20からIFダウン等の通知を受信すると、救済パス設定データベース15から救済パス設定情報を読み出して使用すべき救済パスを特定し、破棄パケットの救済処理を開始する。
【0024】
救済パス設定データベース15、隣接関係データベース16、および対向関係データベース17には、救済パスに関する情報が格納される。処理部10の各データベースに格納される情報については後述する。
【0025】
続いて通信部20について説明する。各通信部20は、入出力部21、転送部22、破棄パケット保存部23、転送データベース24、救済パスデータベース25、および補助転送データベース26を備える。
【0026】
入出力部21は、通信回線を接続し、通信パケットの入力、送出を行う。
【0027】
転送部22は、通信部20が有する各データベースと通信パケットの宛先情報を参照して通信パケットの転送処理を行う。転送処理は、通信パケットのレイヤ3の宛先情報に基づいて行う。IFダウン等により、通信パケットが送出できない場合は、その通信パケットを破棄パケット保存部23に保存する。
【0028】
破棄パケット保存部23は、送出できなかった通信パケットを受信して救済IF毎に保持する。破棄パケット保存部23が保持する通信パケットは、救済処理が開始されると転送部22により読み出され、対応する救済パスが確立された通信部20へ転送されて救済パスへ送出される。
【0029】
転送データベース24、救済パスデータベース25、および補助転送データベース26には、通信パケットの転送に関するデータが格納される。通信部20の各データベースに格納されるデータについては後述する。
【0030】
次に、処理部10の各データベースに登録される情報について説明する。
【0031】
救済パス生成部13の救済パスの確立処理により、処理部10の救済パス設定データベース15、隣接関係データベース16、および対向関係データベース17に救済パスに関する各種データが格納される。図3(a)〜(d)は、図1に示したネットワークの通信装置A−C間で通信装置B,Dを介した救済パスが確立したときの通信装置A〜Dそれぞれのデータベースに登録された情報の例を示す。救済パスの起点となる通信装置A,Cには、救済パス設定情報、隣接関係情報、対向関係情報が登録され、救済パスの中継点となる通信装置B,Dには、隣接関係情報のみが登録される。
【0032】
救済パス設定データベース15は、IFダウン時に使用する救済パスを特定するための救済パス設定情報を格納する。具体的には、救済対象の通信部20を識別する救済IF、救済パスが確立された通信部20を識別する救済パス設定IF、および救済パスを識別する救済パスIDが関連付けられて登録される。例えば、図3(a)の通信装置Aの救済パス設定情報としては、救済IFとして「0/1」、救済パス設定IFとして「1/1」、救済パスIDとして仮想MACアドレス「00:00:00:00:00:11」が登録されている。この場合、IF識別子が「0/1」の通信部20が障害を検知したときは、その通信部20から送出されるべき通信パケットを入力した場合、その通信パケットに救済パスID「00:00:00:00:00:11」を付与してIF識別子が「1/1」の通信部20から送出する。
【0033】
隣接関係データベース16は、隣接する通信装置との間で確立された救済パスを示す隣接関係情報を格納する。具体的には、隣接する通信装置のMACアドレス、救済パス設定IF、および救済パスIDが関連付けられて登録される。図3に示すように、救済パスの起点となる通信装置A,Cには、1つの救済パスに対して1つの隣接関係情報が格納され、救済パスの中継点となる通信装置B,Dには、1つの救済パスに対して2つの隣接関係情報が格納される。通信装置B,Dは、救済パスIDが設定された破棄パケットを入力すると、同一の救済パスIDが関連付けられた2つの救済パス設定IFのうち、その破棄パケットを入力したIFとは別の救済パス設定IFからその破棄パケットを送出する。
【0034】
対向関係データベース17には、救済パスによって通信が可能となる先の通信装置を示す対向関係情報を格納する。具体的には、対向する通信装置CのIPアドレス、救済パス設定IF、および救済パスIDが関連付けられて登録される。対向関係情報は、救済パスの両端の通信装置間で救済パスの疎通確認に用いられる。
【0035】
次に、救済パスの確立処理の流れについて説明する。
【0036】
図4は、図1に示すネットワークにおいて、通信装置A−C間で救済パスを確立する処理の流れを示すシーケンス図である。
【0037】
まず、ネットワークの管理者は、通信装置Aに救済パス設定情報を登録する(ステップS101)。登録する救済パス設定情報は、救済IF、救済パス設定IF、および救済パスIDであり、通信装置Aの救済パス設定データベース15に格納される。
【0038】
通信装置Aは、救済パス設定データベース15から救済パス設定IFと救済パスIDを読み出し、隣接関係データベース16に仮登録する(ステップS102)。そして、仮登録した救済パス設定IFから救済パスIDを含む隣接確認要求を送信する(ステップS103)。隣接確認要求は、通信装置Bから返信があるまで定期的に送信される。
【0039】
通信装置Bは、隣接確認要求を受信すると、隣接確認要求から送信元MACアドレスと救済パスIDを取得し、隣接確認要求を受信した通信部20のIF識別子を救済パス設定IFとして隣接関係データベース16に仮登録する(ステップS104)。そして、隣接確認要求の送信元である通信装置Aに救済パスIDを含む隣接確認応答を送信する(ステップS105)。隣接確認応答は、通信装置Aから返信があるまで定期的に送信される。
【0040】
通信装置Aは、隣接確認応答を受信すると、隣接確認応答から救済パスID及び送信元MACアドレスを取得し、隣接関係データベース16に仮登録された該当する隣接関係情報に隣接MACアドレスに取得した送信元MACアドレスを登録し、隣接関係情報を確定させるとともに、救済パスIDを救済パス設定IFで特定される通信部20に論理的に設定する(ステップS106)。そして、隣接確認確定を通信装置Bに通知する(ステップS107)。隣接確認確定は、ネットワーク耐性を持たせるため、指定回数定期的に送信される。このように、通信装置Aは、隣接関係情報を確定させて、救済パスIDを救済パス設定IFで特定される通信部20に論理的に設定し、救済パスIDが宛先情報として設定されたパケットは、その通信部20で受信されるようにする。
【0041】
通信装置Bは、通信装置Aから隣接確認確定を受信すると、隣接関係データベース16に仮登録した通信装置Aの隣接関係情報を確定させて、、救済パスIDを救済パス設定IFで特定される通信部20に論理的に設定する(ステップS108)。ここまでの処理により、通信装置A−B間に救済パスが確立する。
【0042】
一方、通信装置Cにも同じ救済パスIDの救済パス設定情報を登録し(ステップS111)、通信装置A−B間と同様に、救済パスIDを送受信することで通信装置C−D間にも救済パスを確立させる(ステップS112〜S118)。
【0043】
続いて、通信装置B−D間の救済パスの設定を行う。
【0044】
救済パスの中継点となる通信装置Bは、隣接関係データベース16に1つの救済パスIDに対して隣接関係情報が2つ登録されているか否か判定し、隣接関係情報が1つだけ登録されている場合は、もう1つの隣接関係情報を登録するために、救済パスIDを隣接関係データベース16に仮登録し(ステップS121)、隣接確認要求2を救済パスが確立していない全ての通信部20から送信する(ステップS122)。図1に示す通信装置Bの場合、通信装置D,Fに対して隣接確認要求2を送信する。隣接確認要求2は、いずれかの通信装置から返信があるまで定期的に送信される。一方、1つの救済パスIDに対して2つの隣接関係情報が既に登録されている場合は、後述する対向接続要求を登録する処理へ進む。なお、通信装置Dも通信装置Bと同様の動作を行うが、ここでの説明は省略する。
【0045】
通信装置Dは、隣接確認要求2を受信すると、隣接確認要求2に含まれている救済パスIDを登録した隣接関係情報が存在するか否か判定し、受信した救済パスIDを登録した隣接関係情報が存在する場合は、隣接確認要求2の送信元MACアドレスを取得し、隣接確認要求2を受信した通信部20のIF識別子を救済パス設定IFとして隣接関係データベース16に仮登録し(ステップS123)、隣接確認要求2の送信元である通信装置Bに隣接確認応答を送信する(ステップS124)。隣接確認応答は、通信装置Bから返信があるまで定期的に送信される。隣接確認要求2に含まれている救済パスIDを登録した隣接関係情報が存在しない場合は、受信した隣接確認要求2を無視する。例えば、送信装置Fは、同一の救済パスIDを登録した隣接関係情報が存在しないので隣接確認要求2には応答しない。
【0046】
通信装置Bは、隣接確認応答を受信すると、隣接確認応答から送信元MACアドレスを取得し、隣接確認応答を受信した通信部20のIF識別子を救済パス設定IFとして隣接関係情報を確定させるとともに、救済パスIDを救済パス設定IFで特定される通信部20に論理的に設定する(ステップS125)。そして、隣接確認確定を通信装置Dに通知する(ステップS126)。隣接確認確定は、ネットワーク耐性を持たせるため、指定回数定期的に送信される。
【0047】
通信装置Dは、通信装置Bから隣接確認確定を受信すると、隣接関係データベース16に仮登録した通信装置Bの隣接関係情報を確定させて、救済パスIDを救済パス設定IFで特定される通信部20に論理的に設定する(ステップS127)。ここまでの処理により、通信装置B−D間にも救済パスが確立し、通信装置A−C間に救済パスが確立する。この段階で、通信装置A〜Dそれぞれの隣接関係データベース16に隣接関係情報が登録されている。
【0048】
上記では、救済パスIDを管理者が設定して救済パスを確立する処理について説明した。救済パスIDを管理者が設定する以外に、通信装置が救済パスIDを計算して設定する方法も考えられる。例えば、対向する通信装置A,C間でパス生成パケットの送受信を行って互いのIPアドレスを交換し、IPアドレスを比較して値の小さい方を前、大きい方を後にして文字列を作成し、作成した文字列を12文字の16進数を算出するハッシュ関数に代入してハッシュ値を求め、求めたハッシュ値をMACアドレスの形式に変換して救済パスIDとする方法が考えられる。具体的には、通信装置A,CのIPアドレスが「10.10.10.1」,「10.10.10.2」だとすると、IPアドレスを小さい順に並べた文字列「10101011010102」を作成し、これをハッシュ関数に代入してハッシュ値「A0DD36CC2B68」を求め、求めたハッシュ値をMACアドレスの形式「A0:DD:36:CC:2B:68」にする。
【0049】
続いて、対向関係情報の登録について説明する。
【0050】
図5は、対向関係情報を登録する処理の流れを示すシーケンス図である。図4に示す処理により通信装置A−C間で救済パスが確立すると、対向関係情報を登録する処理が開始される。対向関係情報を登録する処理は、救済パスの中継点となる通信装置B,Dの隣接関係データベース16に2つの隣接関係情報が登録されたことを契機として開始する。
【0051】
通信装置B,Dは、隣接関係データベース16に2つの隣接関係情報が登録されると、2つの隣接関係情報それぞれに登録されている救済パス設定IFから救済パスIDを含む対向接続要求を送信する(ステップS131,S132)。対向接続要求は、ネットワーク耐性を持たせるため、指定回数定期的に送信される。
【0052】
通信装置Aは、対向接続要求を受信すると、救済パス設定データベース15に対向接続要求に含まれる救済パスIDと同じ救済パスIDが登録された救済パス設定情報が登録されているか否か判定し、同一の救済パスIDが登録された救済パス設定情報が存在する場合は、救済パス設定IF、救済パスIDを対向関係データベース17に仮登録するとともに(ステップS133)、宛先MACアドレスを救済パスIDとした対向確認要求を送信する(ステップS134)。対向確認要求は、通信装置Cから返信があるまで定期的に送信される。対向確認要求の宛先MACアドレスが救済パスIDであるので、通信装置B,Dでは、対向確認要求を受信したIF以外のIFを隣接関係データベース16を参照して特定し、受信した対向確認要求を送出する。これにより、対向確認要求は、通信装置Cへ届けられる。なお、図4で示した救済パスの確立処理での情報の送受信および上記の対向接続要求は、レイヤ2パケットが用いられる。一方、対向確認要求以下の通信装置A−C間での情報の送受信は、レイヤ3パケットが用いられるため、対向確認要求は送信元である通信装置AのIPアドレス情報を含んでいる。
【0053】
通信装置Cは、対向確認要求を受信すると、対向確認要求から送信元のIPアドレス情報を取得し、送信元IPアドレス情報、救済パス設定IF、救済パスIDを対向関係データベース17に仮登録し(ステップS135)、通信装置Aに対向確認応答を送信する(ステップS136)。対向確認応答は、通信装置Aから返信があるまで定期的に送信される。
【0054】
通信装置Aは、対向確認応答を受信すると、対向確認応答から通信装置CのIPアドレス情報を取得して対向関係データベース17に登録し、対向関係情報を確定させるとともに(ステップS137)、対向確認確定を通信装置Cに送信する(ステップS138)。対向確認確定は、ネットワーク耐性を持たせるため、指定回数定期的に送信される。
【0055】
通信装置Cは、対向確認確定を受信すると、対向関係データベース17に仮登録された対向関係情報を確定させる(ステップS139)。ここまでの処理により、通信装置A,Cそれぞれの対向関係データベース17に対向関係情報が登録される。
【0056】
対向関係情報を登録後は、通信装置A−C間で定期的に救済パスを介して対向確認要求、対向確認応答の送受信を行い、疎通を確認する(ステップS140)。
【0057】
通信装置A−C間で疎通の確認ができない場合(ステップS141)、通信装置A,Cそれぞれは、対向関係データベース17から対向関係情報を削除する(ステップS142,S143)。
【0058】
続いて、隣接関係の解消について説明する。
【0059】
図6は、通信装置B−D間で隣接関係が解消される処理の流れを示すシーケンス図である。
【0060】
隣接する通信装置B−D間で隣接関係が確立後、つまり救済パスが確立後は、隣接する通信装置B−D間で定期的に隣接確認定期、隣接確認応答の送受信を行い、疎通を確認する(ステップS151)。他の通信装置A−B,C−D間においても同様に疎通の確認が行われている。
【0061】
通信装置B−D間で疎通が確認できない場合(ステップS152)、通信装置B,Dそれぞれは、隣接関係データベース16から対応する隣接関係情報を削除するとともに、救済パスIDを救済パス設定IFで特定される通信部20から削除する(ステップS153,S154)。そして、通信装置A,Cそれぞれに対して対向切断要求を送信する(ステップS155,S156)。対向切断要求は、ネットワーク耐性を持たせるため、指定回数定期的に送信される。
【0062】
対向切断要求を受信した通信装置A,Cそれぞれは、対向関係データベース17から対向関係情報を削除する(ステップS157,S158)。
【0063】
図7は、通信装置A−B間で隣接関係が解消される処理の流れを示すシーケンス図である。
【0064】
隣接する通信装置A−B間でも定期的に疎通確認を行い、疎通が確認できない場合はその隣接関係情報を削除し、救済パスIDを救済パス設定IFで特定される通信部20から削除する(ステップS161〜S164)。
【0065】
救済パスの中継点である通信装置Bは、通信装置Cに対して対向切断要求を送信する(ステップS165)。
【0066】
救済パスの起点である通信装置Aは、通信装置Bとの間の救済パスが切れたので関連する対向関係情報を削除する(ステップS166)。また、通信装置Cは、対向切断要求を受信して対向関係データベース17から対向関係情報を削除する(ステップS167)。
【0067】
なお、通信装置A,Bの隣接関係が解消された場合、救済パスの中継点となる通信装置B,Dは、1つの救済パスIDに対して隣接関係情報が1つだけ登録されている状態となるので、図4のステップS121の隣接確認要求2を送信する処理へ進み、隣接関係情報の再登録を試みる。救済パスの起点となる通信装置A,Cは、救済パス設定情報が登録され、隣接関係情報が登録されていない状態となるので、図4のステップS102に進み隣接関係情報の再登録を試みる。
【0068】
次に、破棄パケットの救済について説明する。
【0069】
まず、通信パケットの転送時、破棄パケットの転送時に参照される通信部20の各データベースに登録される情報について説明する。
【0070】
図8は、転送データベース24、救済パスデータベース25、および補助転送データベース26に登録される情報の例を示す図である。
【0071】
図8(a)に転送データベース24に登録された情報の例を示す。転送データベース24は、処理部10により経路情報データベース12からコピーされた経路情報を格納する。転送部22は、転送データベース24を参照して入力した通信パケットの転送先を判定する。
【0072】
図8(b)に補助転送データベース26に登録された情報の例を示す。補助転送データベース26は、破棄パケット救済対象の通信部20に関する経路情報を格納する。具体的には、救済パスが確立した後、救済パス生成部13から救済パスの情報を受信したときに、転送データベース24内の救済IFを送信先とする経路情報がコピーされる。図8(b)に示す例では、IF識別子が0/1の通信部20を救済対象とする救済パスが確立されたので、その通信部20を送信先とする経路情報が補助転送データベース26にコピーされた。補助転送データベース26に格納された情報は、転送データベース24の次に参照される情報であり、入力した通信パケットの転送先が転送データベース24で判定できない場合、つまり、IFダウン等により転送データベース24から経路情報が削除された場合、補助転送データベース26に経路情報が登録されていれば、通信部20はその通信パケットを破棄することなく、対応する通信部20へ転送する。転送された先の通信部20でその通信パケットが送出できない場合、破棄パケット保存部23へ保存された後、救済パスから送出される。
【0073】
図8(c)に救済パスデータベース25に登録された情報の例を示す。救済パスデータベース25は、救済IF、救済パスIDを格納する。救済パスが確立された通信部20の救済パスデータベース25に救済IF、救済パスIDが格納される。
【0074】
次に、破棄パケットの救済処理の流れについて説明する。
【0075】
図9は、通信装置1において、破棄パケットを救済パスへ送出する処理の流れを示すシーケンス図である。ここでは、IF識別子が1/1の通信部20に救済パスが確立されており、IF識別子が0/1の通信部20において障害が検知されたものとする。
【0076】
まず、IF 0/1において、IFダウンあるいはネイバダウンが検知される(ステップS201)。障害の検知は、入出力部21による光入力なしのレイヤ1ダウンや、転送部22によるOSPFのHelloパケットで回線障害を検知することにより行われる。
【0077】
レイヤ1ダウンにより障害が検知されると、IF 0/1は、他の通信部20から転送される通信パケットの破棄パケット保存部23への保存を開始する(ステップS202)。なお、OSPF等により障害を検知した場合は、転送部20でIF 0/1をadmin−down(物理的にはダウンしないが、ソフトウェア上はダウン)させ、通信パケットの破棄パケットへの保存を開始する。ここから、破棄パケットの救済が開始される。
【0078】
続いて、IF 0/1は、救済IF情報を救済部14へ送信し、破棄パケットの救済を開始したことを通知する(ステップS203)。
【0079】
救済部14は、救済IF情報を受信すると、ICMP返信拒否要求を転送処理部11へ送信する(ステップS204)。これにより、通信パケットの破棄に伴うICMP(Unreachable)を送信元へ返信しなくなる。
【0080】
また、救済部14は、救済パス設定データベース15を参照して障害が検知されたIF 0/1に対応する救済パスを検索し、救済IF情報を救済パスが確立されたIF 1/1へ、救済IF情報、救済パス設定IF情報をIF 0/1へ送信する(ステップS205,S206)。これにより、IF 0/1は、破棄パケット保存部23に保存された破棄パケットを通知された救済パス設定IFであるIF 1/1へ転送するとともに、破棄パケット保存部23から削除する。IF 1/1は、救済パスデータベース25を参照して救済IF情報から救済パスIDを特定する。
【0081】
これ以降、他のIF 2/1が入力した通信パケットがIF 0/1に転送された場合、IF 0/1の破棄パケット保存部23に蓄積され、その後IF 1/1へ転送される(ステップS207)。IF 1/1に転送された破棄パケットは、宛先MACアドレスが救済パスID(仮想MACアドレス)に設定されてIF 1/1から送出される(ステップS208)。
【0082】
なお、救済パスに送出されて通信装置Bに入力された破棄パケットは、通信装置Bの隣接関係データベース16において破棄パケットに付与された救済パスIDに関連付けられて2つの救済パス設定IFのうち、その破棄パケットを入力した救済パス設定IFとは別の救済パス設定IFから送出されて、最終的に通信装置Cに到達する。
【0083】
一方、IF 0/1が検知したIFダウンは、転送処理部11にも通知され(ステップS209)、転送処理部11は、経路を再計算して経路情報データベース12を更新する(ステップS210)。そして、全ての通信部20に転送データベース24の削除情報を通知する(ステップS211)。これにより、各通信部20の転送データベース24からIF 0/1に関係する経路情報が削除される。したがって、これ以降、他のIF 2/1にIF 0/1に接続するネットワーク宛の通信パケットが入力されると、入力した通信パケットの宛先ネットワークに対応する経路情報が転送データベース24上に見つからないが、補助転送データベース26の情報に基づいてIF 0/1へ転送される(ステップS212)。IF 0/1に転送された通信パケットは、破棄パケット保存部23に蓄積されてIF 1/1へ転送される(ステップS213)。IF 1/1に転送された破棄パケットは、仮想MACアドレスが付与されて送出される(ステップS214)。
【0084】
また、転送処理部11は、経路を再計算し、経路情報データベース12を更新する(ステップS215)。更新された経路情報は、全ての通信部20に通知される(ステップS216)。これ以降、他のIF 2/1にIF 0/1に接続するネットワーク宛の通信パケットが入力されると、その通信パケットは、ルーティングテーブルに基づいて予備系経路に送出される(ステップS217)。つまり、経路情報データベース12の更新後は、入力された通信パケットのレイヤ3の宛先情報を元に送出する通信部20が判別される。なお、通信装置B,Dより通信装置A,Cの経路再計算が早く終了する場合、通信装置A−B,C−D間で通信パケットがループ、ロスすることがあるため、通信装置A,Cにおいて経路再計算を開始する時間を遅らせるタイマを設定し、通信装置B,Dよりも経路の再計算が遅く終了するように予め調整しておく。OSPFでは、SPFタイマを用いることができる。
【0085】
続いて、障害が発生した経路が復旧したときの処理の流れについて説明する。
【0086】
図10は、通信装置1において、障害が発生した経路が回復したときの処理の流れを示すシーケンス図である。
【0087】
IF 0/1において、IFアップにより障害回復が検知されると(ステップS221)、破棄パケット保存部23への通信パケットの保存を終了するとともに(ステップS222)、障害回復を転送処理部11へ通知する(ステップS223)。なお、OSPF等により障害回復を検知した場合は、転送部20でIF 0/1のadmin−downを解除し、破棄パケット保存部23への通信パケットの保存を終了するとともに、障害回復を転送処理部11へ通知する。
【0088】
転送処理部11は、IF 0/1へ障害回復の確認を指示し(ステップS224)、IF 0/1は、障害回復の確認を行い(ステップS225)、転送処理部11へ確認結果を通知する(ステップS226)。
【0089】
転送処理部11は、障害回復の確認結果を受信すると経路情報データベース12を更新し(ステップS227)、全ての通信部20に障害回復した経路の追加情報を通知する(ステップS228)。
【0090】
各通信部20の転送データベース24が更新している間にIF 0/1へ転送すべき通信パケットが入力された場合は、補助転送データベース26を参照してIF 0/1へ転送され、障害回復したIF 0/1から送出される(ステップS229)。転送データベース24の更新中は、予備系経路からIF 0/1へ経路情報が書き換えられている途中で、IF 0/1へ転送されずに破棄されることもあったが、IF 0/1は既に障害回復しているので、補助転送データベース26を参照してIF 0/1へ転送する。
【0091】
転送データベース24の更新完了後は、正規の通信経路で通信パケットは転送される(ステップS230)。
【0092】
また、IF 0/1は、破棄パケット保存部23の蓄積終了から一定時間経過後(転送DB更新完了後)に(ステップS231)、救済部14へ障害回復した旨を通知し(ステップS232)、救済部14は、ICMP返信拒否解除を転送処理部11へ送信する(ステップS233)。これにより、通信パケットの破棄に伴うICMP(Unreachable)を送信元へ返信するようになる。
【0093】
次に、3つの通信装置A,B,Cで救済パスを確立する例について説明する。
【0094】
図11に、3つの通信装置を用いて構成したネットワークの例を示す。同図に示すネットワークは、通信装置A,Bを上位階梯、通信装置Cとする階層構造であり、通信装置A−C間の予備系経路として通信装置A−B−Cを経由する経路が形成される。
【0095】
救済パスを確立する処理は、図4に示した4つの通信装置A〜Dで救済パスを確立する処理と同様であるので、ここでは図4で示した処理との相違点について説明する。
【0096】
救済パスを確立する際に、通信装置Bには、通信装置A,Cの双方から隣接確認要求が送信され(図4のステップS103,113)、通信装置Bは、通信装置A,Cを隣接関係データベース16に登録する。図4で示した処理では、通信装置Bは、この後隣接確認要求2を送信して隣接関係情報に登録する通信装置Dを検索するが、3つの通信装置A〜Cで救済パスを確立する場合は、既に1つの救済パスIDに対して2つの隣接関係情報が登録されているので、隣接確認要求2を送信することなく、対向関係情報を登録する処理へ進む。
【0097】
以上説明したように、本実施の形態によれば、通信装置A−C間に救済パスを確立しておき、通信装置A−C間で障害が検出されてから経路情報が更新されるまでの間、通信装置A,Cに入力された通信パケットに救済パスを識別する救済パスIDを付与して、救済パスへ送出することで、経路情報が更新中でレイヤ3の宛先情報に基づくルーティング処理が行えない場合でも、通信パケットに付与されたレイヤ2の宛先情報である救済パスIDを参照して隣接する通信装置A〜Dへ通信パケットが送信されるので、通信経路切り替え時における破棄パケットの発生を抑制できる。その結果、通信回線、通信装置の故障時に通信の切断や途切れがないため、通信を利用するユーザの利便性が向上する。
【符号の説明】
【0098】
1…通信装置
10…処理部
11…転送処理部
12…経路情報データベース
13…救済パス生成部
14…救済部
15…救済パス設定データベース
16…隣接関係データベース
17…対向関係データベース
20…通信部
21…入出力部
22…転送部
23…破棄パケット保存部
24…転送データベース
25…救済パスデータベース
26…補助転送データベース
100…救済パス
110…予備系経路
【技術分野】
【0001】
本発明は、ネットワーク障害発生時に通信経路を切り替える技術に関する。
【背景技術】
【0002】
ネットワークを構成するルータやスイッチなどの通信装置では、経路情報と通信パケットの宛先情報に応じて送出するIF(インタフェース)を判定するルーティングが行われている。ネットワークに障害が発生した場合には、経路情報を更新して通信パケットを予備系経路に迂回させて通信を担保する。経路情報を更新する方法として、通信装置間で経路情報を自動的に更新する動的ルーティングがある。動的ルーティングプロトコルとしては、OSPF(Open Short Path First)等が知られている。
【0003】
図12に示すネットワークは、通信装置A,Bを上位階梯、通信装置C,Dを下位階梯とする階層構造で、通信装置A,Cで構成された0系、通信装置B,Dで構成された1系を有する冗長構成である。通信装置A,C間で回線切断、あるいはネイバダウンが発生すると、OSPFにより経路が再計算されて経路情報が更新され、通信経路が予備系に切り替わる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2003−78555号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、障害が検出されてから通信経路が切り替わるまでの間に入力された通信パケットは送出すべき通信経路が不明であるために破棄され、破棄にともなうICMP(Unreachable)が通信パケットの送信元に返信される。図13は、IFダウン、IFアップとパケットロス(破棄)との関係を示す図である。パケットロスは、IFダウンが発生してから経路の再計算が終了して経路情報が更新されるまでの間とIFダウンから回復した後、経路情報が更新される間に発生する。IFダウン、IFアップを繰り返すフラップが発生した場合も経路切り替えに伴うパケットロスが発生する。このように、経路の冗長構成があるにもかかわらず、経路再構築の間にパケットの破棄により通信できなくなるという問題があった。
【0006】
特許文献1の技術は、輻輳や回線障害で入力側IFバッファが閾値を超えた場合、追加キューを作成して超過フローをキューしておき、超過フローの負荷分散経路を求めてルーティングテーブルを更新した後、超過フローを負荷分散経路へ送信することで負荷を分散し、パケット破棄を救済している。しかしながら、負荷分散経路はルーティングテーブルの更新後に確保されるため、ルーティングテーブルの更新が完了するまではパケットを送信することができない。そのため、ルーティングテーブルが更新されるまでの間パケット遅延が発生してしまう。また、その間にバッファが上限に達していればパケットロスが発生してしまう。
【0007】
本発明は、上記に鑑みてなされたものであり、通信経路切り替え時における破棄パケットの発生を抑制することを目的とする。
【課題を解決するための手段】
【0008】
第1の本発明に係る通信システムは、通信経路を接続して通信パケットを入出力する複数の通信インタフェースを備え、経路情報と通信パケットの宛先情報に応じて送出する通信インタフェースを判定し、前記通信インタフェースに接続された通信経路に障害が発生したときに通信経路を再計算して経路情報を更新する通信装置と、前記通信装置間で予備経路を介して接続される中継装置とを備える通信システムであって、前記通信装置は、前記予備経路上に確立される救済パスを識別する救済パスIDと当該救済パスの救済対象の第1通信インタフェースと前記予備経路が接続される第2通信インタフェースとを関連付けて記憶する救済パス設定記憶手段と、前記救済パスIDを前記予備経路を介して接続された中継装置や対向する通信装置との間で送受信して当該救済パスIDで識別される救済パスを確立し、前記救済パスIDと前記第1通信インタフェースと前記第2通信インタフェースとを関連付けて前記救済パス設定記憶手段に記憶させる救済パス生成手段と、前記第1通信インタフェースが障害を検知してから経路情報の更新が終了するまでの間に、前記第1通信インタフェースから送出されるべき通信パケットを入力したときは、前記救済パス設定記憶手段を参照して前記救済パスIDを特定し、当該通信パケットに前記救済パスIDを付与して前記第2通信インタフェースから送出する救済手段と、を有し、前記中継装置は、前記救済パスIDに対して2つの通信インタフェースを関連付けて記憶する隣接関係記憶手段と、前記通信装置あるいは別の中継装置との間で前記救済パスIDを送受信して前記救済パスを確立し、当該救済パスIDの送受信に利用した通信インタフェースと当該救済パスIDとを関連付けて前記隣接関係記憶手段に記憶させる救済パス生成手段と、前記救済パスIDが付与された通信パケットを入力したときに、前記隣接関係記憶手段に当該救済パスIDに関連付けて記憶された通信インタフェースのうち、前記通信パケットを入力した通信インタフェースとは別の通信インタフェースから当該通信パケットを送出する救済手段と、を有することを特徴とする。
【0009】
上記通信システムにおいて、前記通信装置の救済手段は、前記第1通信インタフェースが障害の回復を検知してから経路情報の更新が終了するまでの間に、前記第1通信インタフェースから送出されるべき通信パケットを入力したときは、当該通信パケットを前記第1通信インタフェースから送出することを特徴とする。
【0010】
上記通信システムにおいて、前記経路情報は、通信パケットのレイヤ3の宛先情報と前記通信インタフェースとを関連付けて登録したものであり、前記救済パスIDは、レイヤ2の仮想の宛先情報であることを特徴とする。
【0011】
第2の本発明に係る通信装置は、通信経路を接続して通信パケットを入出力する複数の通信インタフェースを備え、経路情報と通信パケットの宛先情報に応じて送出する通信インタフェースを判定し、前記通信インタフェースに接続された通信経路に障害が発生したときに通信経路を再計算して経路情報を更新する通信装置であって、予備経路上に確立される救済パスを識別する救済パスIDと当該救済パスの救済対象の第1通信インタフェースと前記予備経路が接続される第2通信インタフェースとを関連付けて記憶する救済パス設定記憶手段と、前記救済パスIDを前記予備経路を介して接続された中継装置との間で送受信して当該救済パスIDで識別される救済パスを確立し、前記救済パスIDと前記第1通信インタフェースと前記第2通信インタフェースとを関連付けて前記救済パス設定記憶手段に記憶させる救済パス生成手段と、前記第1通信インタフェースが障害を検知してから経路情報の更新が終了するまでの間に、前記第1通信インタフェースから送出されるべき通信パケットを入力したときは、前記救済パス設定記憶手段を参照して前記救済パスIDを特定し、当該通信パケットに前記救済パスIDを付与して前記第2通信インタフェースから送出する救済手段と、を有することを特徴とする。
【0012】
第3の本発明に係る中継装置は、通信装置間に障害が発生したときの予備経路を接続して通信パケットを入出力する複数の通信インタフェースを備えた中継装置であって、前記予備経路上に確立される救済パスを識別する救済パスIDに対して2つの通信インタフェースを関連付けて記憶する隣接関係記憶手段と、前記通信装置あるいは別の中継装置との間で前記救済パスIDを送受信して救済パスを確立し、当該救済パスIDの送受信に利用した通信インタフェースと当該救済パスIDとを関連付けて前記隣接関係記憶手段に記憶させる救済パス生成手段と、前記救済パスIDが付与された通信パケットを入力したときに、前記隣接関係記憶手段に当該救済パスIDに関連付けて記憶された通信インタフェースのうち、前記通信パケットを入力した通信インタフェースとは別の通信インタフェースから当該通信パケットを送出する救済手段と、を有することを特徴とする。
【発明の効果】
【0013】
本発明によれば、通信経路切り替え時における破棄パケットの発生を抑制することができる。
【図面の簡単な説明】
【0014】
【図1】本実施の形態における通信装置を用いて構成したネットワークの例を示す。
【図2】本実施の形態における通信装置の構成を示す機能ブロック図である。
【図3】処理部の有するデータベースに登録される情報の例を示す図である。
【図4】通信装置A−C間で隣接関係情報を登録する処理の流れを示すシーケンス図である。
【図5】通信装置A−Cで対向関係情報を登録する処理の流れを示すシーケンス図である。
【図6】通信装置B−D間で隣接関係が解消される処理の流れを示すシーケンス図である。
【図7】通信装置A−B間で隣接関係が解消される処理の流れを示すシーケンス図である。
【図8】通信部の有するデータベースに登録される情報の例を示す図である。
【図9】破棄パケットを救済パスへ送出する処理の流れを示すシーケンス図である。
【図10】障害が発生した経路が回復したときの処理の流れを示すシーケンス図である。
【図11】3つの通信装置を用いて構成したネットワークの例を示す。
【図12】予備系経路を備えたネットワークの例を示す。
【図13】ネットワーク障害とパケットロスとの関係を示す図である。
【発明を実施するための形態】
【0015】
以下、本発明の実施の形態について図面を用いて説明する。
【0016】
図1に、本実施の形態における通信装置を用いて構成したネットワークの例を示す。同図に示すネットワークは、通信装置A,Bを上位階梯、通信装置C,D,E,Fを下位階梯とする階層構造で、通信装置A,C,Eで構成された0系、通信装置B,D,Fで構成された1系を有する冗長構成である。通信装置A〜Fは、入力した通信パケットの宛先情報に応じて送出する通信経路を判定する、例えばルータ、L3スイッチである。0系でネットワーク障害が発生した場合、OSPFなどのルーティングプロトコルを用いて予備系経路110を計算し、通信パケットを予備系経路110へ送信する。
【0017】
本実施の形態における通信装置では、障害検出から予備系経路への切り替え時、および予備系経路から現用系経路への切り替え時に発生する破棄パケットを予め予備系経路上に確立した救済パス100を用いて送信することで、経路切り替え時における破棄パケットの発生を抑制する。以下では、通信装置A−C間で通信装置B,Dを経由した救済パスを確立する例について説明する。もちろん、通信装置B−D、A−E、B−F間にも同様に救済パスを確立することができる。以下、本実施の形態における通信装置について説明する。
【0018】
図2は、本実施の形態における通信装置の構成を示す機能ブロック図である。同図に示す通信装置1は、ルーティング経路の計算、救済パスの確立、破棄パケットの救済等の処理を行う処理部10と、通信回線を接続してパケットの転送を行う複数の通信部20を備える。各通信部20には、通信部20を識別するためのIF識別子が付与されている。本実施の形態では、通信部20のスロット/ポートを示す0/1,1/1,2/1等をIF識別子として用いた。通信装置1が備える各部は、演算処理装置、記憶装置等を備えたコンピュータにより構成して、各部の処理がプログラムによって実行されるものとしてもよい。このプログラムは通信装置1が備える記憶装置に記憶されており、磁気ディスク、光ディスク、半導体メモリ等の記録媒体に記録することも、ネットワークを通して提供することも可能である。以下、各部について説明する。
【0019】
処理部10は、転送処理部11、経路情報データベース12、救済パス生成部13、救済部14、救済パス設定データベース15、隣接関係データベース16、および対向関係データベース17を備える。
【0020】
転送処理部11は、OSPFなどのルーティングプロトコルを用いて通信パケットの経路を計算して経路情報を経路情報データベース12に格納するとともに、経路情報データベース12に格納された経路情報を各通信部20へ通知して通信パケットの転送情報を設定する。また、各通信部20からIFダウン、ネイバダウン等の通知を受信したときに経路の再計算を行う。
【0021】
経路情報データベース12は、通信パケットの送出先を登録した経路情報を格納する。経路情報は、宛先ネットワーク情報と通信部20とを対応付けたものであり、通信パケットの宛先情報と経路情報の宛先ネットワーク情報を参照することで通信パケットを送出する通信部20を特定できる。経路情報データベース12に格納された経路情報は各通信部20の転送データベース24にコピーされ、各通信部20は転送データベース24の経路情報を参照して通信パケットの転送先を特定する。IFダウン等が発生したときは、転送処理部11により経路が再計算されて経路情報データベース12の経路情報が書き換えられ、各通信部20の転送データベース24にコピーされる。
【0022】
救済パス生成部13は、救済パスIDを隣接する通信装置と送受信して救済パスを確立する。救済パスIDは、救済パスを識別するための情報であり、救済対象の破棄パケットにも付与されて破棄パケットの転送情報として利用される。救済パスIDとしては、仮想MACアドレス、VLAN−ID、CoS値などのレイヤ2情報を用いる。
【0023】
救済部14は、通信部20からIFダウン等の通知を受信すると、救済パス設定データベース15から救済パス設定情報を読み出して使用すべき救済パスを特定し、破棄パケットの救済処理を開始する。
【0024】
救済パス設定データベース15、隣接関係データベース16、および対向関係データベース17には、救済パスに関する情報が格納される。処理部10の各データベースに格納される情報については後述する。
【0025】
続いて通信部20について説明する。各通信部20は、入出力部21、転送部22、破棄パケット保存部23、転送データベース24、救済パスデータベース25、および補助転送データベース26を備える。
【0026】
入出力部21は、通信回線を接続し、通信パケットの入力、送出を行う。
【0027】
転送部22は、通信部20が有する各データベースと通信パケットの宛先情報を参照して通信パケットの転送処理を行う。転送処理は、通信パケットのレイヤ3の宛先情報に基づいて行う。IFダウン等により、通信パケットが送出できない場合は、その通信パケットを破棄パケット保存部23に保存する。
【0028】
破棄パケット保存部23は、送出できなかった通信パケットを受信して救済IF毎に保持する。破棄パケット保存部23が保持する通信パケットは、救済処理が開始されると転送部22により読み出され、対応する救済パスが確立された通信部20へ転送されて救済パスへ送出される。
【0029】
転送データベース24、救済パスデータベース25、および補助転送データベース26には、通信パケットの転送に関するデータが格納される。通信部20の各データベースに格納されるデータについては後述する。
【0030】
次に、処理部10の各データベースに登録される情報について説明する。
【0031】
救済パス生成部13の救済パスの確立処理により、処理部10の救済パス設定データベース15、隣接関係データベース16、および対向関係データベース17に救済パスに関する各種データが格納される。図3(a)〜(d)は、図1に示したネットワークの通信装置A−C間で通信装置B,Dを介した救済パスが確立したときの通信装置A〜Dそれぞれのデータベースに登録された情報の例を示す。救済パスの起点となる通信装置A,Cには、救済パス設定情報、隣接関係情報、対向関係情報が登録され、救済パスの中継点となる通信装置B,Dには、隣接関係情報のみが登録される。
【0032】
救済パス設定データベース15は、IFダウン時に使用する救済パスを特定するための救済パス設定情報を格納する。具体的には、救済対象の通信部20を識別する救済IF、救済パスが確立された通信部20を識別する救済パス設定IF、および救済パスを識別する救済パスIDが関連付けられて登録される。例えば、図3(a)の通信装置Aの救済パス設定情報としては、救済IFとして「0/1」、救済パス設定IFとして「1/1」、救済パスIDとして仮想MACアドレス「00:00:00:00:00:11」が登録されている。この場合、IF識別子が「0/1」の通信部20が障害を検知したときは、その通信部20から送出されるべき通信パケットを入力した場合、その通信パケットに救済パスID「00:00:00:00:00:11」を付与してIF識別子が「1/1」の通信部20から送出する。
【0033】
隣接関係データベース16は、隣接する通信装置との間で確立された救済パスを示す隣接関係情報を格納する。具体的には、隣接する通信装置のMACアドレス、救済パス設定IF、および救済パスIDが関連付けられて登録される。図3に示すように、救済パスの起点となる通信装置A,Cには、1つの救済パスに対して1つの隣接関係情報が格納され、救済パスの中継点となる通信装置B,Dには、1つの救済パスに対して2つの隣接関係情報が格納される。通信装置B,Dは、救済パスIDが設定された破棄パケットを入力すると、同一の救済パスIDが関連付けられた2つの救済パス設定IFのうち、その破棄パケットを入力したIFとは別の救済パス設定IFからその破棄パケットを送出する。
【0034】
対向関係データベース17には、救済パスによって通信が可能となる先の通信装置を示す対向関係情報を格納する。具体的には、対向する通信装置CのIPアドレス、救済パス設定IF、および救済パスIDが関連付けられて登録される。対向関係情報は、救済パスの両端の通信装置間で救済パスの疎通確認に用いられる。
【0035】
次に、救済パスの確立処理の流れについて説明する。
【0036】
図4は、図1に示すネットワークにおいて、通信装置A−C間で救済パスを確立する処理の流れを示すシーケンス図である。
【0037】
まず、ネットワークの管理者は、通信装置Aに救済パス設定情報を登録する(ステップS101)。登録する救済パス設定情報は、救済IF、救済パス設定IF、および救済パスIDであり、通信装置Aの救済パス設定データベース15に格納される。
【0038】
通信装置Aは、救済パス設定データベース15から救済パス設定IFと救済パスIDを読み出し、隣接関係データベース16に仮登録する(ステップS102)。そして、仮登録した救済パス設定IFから救済パスIDを含む隣接確認要求を送信する(ステップS103)。隣接確認要求は、通信装置Bから返信があるまで定期的に送信される。
【0039】
通信装置Bは、隣接確認要求を受信すると、隣接確認要求から送信元MACアドレスと救済パスIDを取得し、隣接確認要求を受信した通信部20のIF識別子を救済パス設定IFとして隣接関係データベース16に仮登録する(ステップS104)。そして、隣接確認要求の送信元である通信装置Aに救済パスIDを含む隣接確認応答を送信する(ステップS105)。隣接確認応答は、通信装置Aから返信があるまで定期的に送信される。
【0040】
通信装置Aは、隣接確認応答を受信すると、隣接確認応答から救済パスID及び送信元MACアドレスを取得し、隣接関係データベース16に仮登録された該当する隣接関係情報に隣接MACアドレスに取得した送信元MACアドレスを登録し、隣接関係情報を確定させるとともに、救済パスIDを救済パス設定IFで特定される通信部20に論理的に設定する(ステップS106)。そして、隣接確認確定を通信装置Bに通知する(ステップS107)。隣接確認確定は、ネットワーク耐性を持たせるため、指定回数定期的に送信される。このように、通信装置Aは、隣接関係情報を確定させて、救済パスIDを救済パス設定IFで特定される通信部20に論理的に設定し、救済パスIDが宛先情報として設定されたパケットは、その通信部20で受信されるようにする。
【0041】
通信装置Bは、通信装置Aから隣接確認確定を受信すると、隣接関係データベース16に仮登録した通信装置Aの隣接関係情報を確定させて、、救済パスIDを救済パス設定IFで特定される通信部20に論理的に設定する(ステップS108)。ここまでの処理により、通信装置A−B間に救済パスが確立する。
【0042】
一方、通信装置Cにも同じ救済パスIDの救済パス設定情報を登録し(ステップS111)、通信装置A−B間と同様に、救済パスIDを送受信することで通信装置C−D間にも救済パスを確立させる(ステップS112〜S118)。
【0043】
続いて、通信装置B−D間の救済パスの設定を行う。
【0044】
救済パスの中継点となる通信装置Bは、隣接関係データベース16に1つの救済パスIDに対して隣接関係情報が2つ登録されているか否か判定し、隣接関係情報が1つだけ登録されている場合は、もう1つの隣接関係情報を登録するために、救済パスIDを隣接関係データベース16に仮登録し(ステップS121)、隣接確認要求2を救済パスが確立していない全ての通信部20から送信する(ステップS122)。図1に示す通信装置Bの場合、通信装置D,Fに対して隣接確認要求2を送信する。隣接確認要求2は、いずれかの通信装置から返信があるまで定期的に送信される。一方、1つの救済パスIDに対して2つの隣接関係情報が既に登録されている場合は、後述する対向接続要求を登録する処理へ進む。なお、通信装置Dも通信装置Bと同様の動作を行うが、ここでの説明は省略する。
【0045】
通信装置Dは、隣接確認要求2を受信すると、隣接確認要求2に含まれている救済パスIDを登録した隣接関係情報が存在するか否か判定し、受信した救済パスIDを登録した隣接関係情報が存在する場合は、隣接確認要求2の送信元MACアドレスを取得し、隣接確認要求2を受信した通信部20のIF識別子を救済パス設定IFとして隣接関係データベース16に仮登録し(ステップS123)、隣接確認要求2の送信元である通信装置Bに隣接確認応答を送信する(ステップS124)。隣接確認応答は、通信装置Bから返信があるまで定期的に送信される。隣接確認要求2に含まれている救済パスIDを登録した隣接関係情報が存在しない場合は、受信した隣接確認要求2を無視する。例えば、送信装置Fは、同一の救済パスIDを登録した隣接関係情報が存在しないので隣接確認要求2には応答しない。
【0046】
通信装置Bは、隣接確認応答を受信すると、隣接確認応答から送信元MACアドレスを取得し、隣接確認応答を受信した通信部20のIF識別子を救済パス設定IFとして隣接関係情報を確定させるとともに、救済パスIDを救済パス設定IFで特定される通信部20に論理的に設定する(ステップS125)。そして、隣接確認確定を通信装置Dに通知する(ステップS126)。隣接確認確定は、ネットワーク耐性を持たせるため、指定回数定期的に送信される。
【0047】
通信装置Dは、通信装置Bから隣接確認確定を受信すると、隣接関係データベース16に仮登録した通信装置Bの隣接関係情報を確定させて、救済パスIDを救済パス設定IFで特定される通信部20に論理的に設定する(ステップS127)。ここまでの処理により、通信装置B−D間にも救済パスが確立し、通信装置A−C間に救済パスが確立する。この段階で、通信装置A〜Dそれぞれの隣接関係データベース16に隣接関係情報が登録されている。
【0048】
上記では、救済パスIDを管理者が設定して救済パスを確立する処理について説明した。救済パスIDを管理者が設定する以外に、通信装置が救済パスIDを計算して設定する方法も考えられる。例えば、対向する通信装置A,C間でパス生成パケットの送受信を行って互いのIPアドレスを交換し、IPアドレスを比較して値の小さい方を前、大きい方を後にして文字列を作成し、作成した文字列を12文字の16進数を算出するハッシュ関数に代入してハッシュ値を求め、求めたハッシュ値をMACアドレスの形式に変換して救済パスIDとする方法が考えられる。具体的には、通信装置A,CのIPアドレスが「10.10.10.1」,「10.10.10.2」だとすると、IPアドレスを小さい順に並べた文字列「10101011010102」を作成し、これをハッシュ関数に代入してハッシュ値「A0DD36CC2B68」を求め、求めたハッシュ値をMACアドレスの形式「A0:DD:36:CC:2B:68」にする。
【0049】
続いて、対向関係情報の登録について説明する。
【0050】
図5は、対向関係情報を登録する処理の流れを示すシーケンス図である。図4に示す処理により通信装置A−C間で救済パスが確立すると、対向関係情報を登録する処理が開始される。対向関係情報を登録する処理は、救済パスの中継点となる通信装置B,Dの隣接関係データベース16に2つの隣接関係情報が登録されたことを契機として開始する。
【0051】
通信装置B,Dは、隣接関係データベース16に2つの隣接関係情報が登録されると、2つの隣接関係情報それぞれに登録されている救済パス設定IFから救済パスIDを含む対向接続要求を送信する(ステップS131,S132)。対向接続要求は、ネットワーク耐性を持たせるため、指定回数定期的に送信される。
【0052】
通信装置Aは、対向接続要求を受信すると、救済パス設定データベース15に対向接続要求に含まれる救済パスIDと同じ救済パスIDが登録された救済パス設定情報が登録されているか否か判定し、同一の救済パスIDが登録された救済パス設定情報が存在する場合は、救済パス設定IF、救済パスIDを対向関係データベース17に仮登録するとともに(ステップS133)、宛先MACアドレスを救済パスIDとした対向確認要求を送信する(ステップS134)。対向確認要求は、通信装置Cから返信があるまで定期的に送信される。対向確認要求の宛先MACアドレスが救済パスIDであるので、通信装置B,Dでは、対向確認要求を受信したIF以外のIFを隣接関係データベース16を参照して特定し、受信した対向確認要求を送出する。これにより、対向確認要求は、通信装置Cへ届けられる。なお、図4で示した救済パスの確立処理での情報の送受信および上記の対向接続要求は、レイヤ2パケットが用いられる。一方、対向確認要求以下の通信装置A−C間での情報の送受信は、レイヤ3パケットが用いられるため、対向確認要求は送信元である通信装置AのIPアドレス情報を含んでいる。
【0053】
通信装置Cは、対向確認要求を受信すると、対向確認要求から送信元のIPアドレス情報を取得し、送信元IPアドレス情報、救済パス設定IF、救済パスIDを対向関係データベース17に仮登録し(ステップS135)、通信装置Aに対向確認応答を送信する(ステップS136)。対向確認応答は、通信装置Aから返信があるまで定期的に送信される。
【0054】
通信装置Aは、対向確認応答を受信すると、対向確認応答から通信装置CのIPアドレス情報を取得して対向関係データベース17に登録し、対向関係情報を確定させるとともに(ステップS137)、対向確認確定を通信装置Cに送信する(ステップS138)。対向確認確定は、ネットワーク耐性を持たせるため、指定回数定期的に送信される。
【0055】
通信装置Cは、対向確認確定を受信すると、対向関係データベース17に仮登録された対向関係情報を確定させる(ステップS139)。ここまでの処理により、通信装置A,Cそれぞれの対向関係データベース17に対向関係情報が登録される。
【0056】
対向関係情報を登録後は、通信装置A−C間で定期的に救済パスを介して対向確認要求、対向確認応答の送受信を行い、疎通を確認する(ステップS140)。
【0057】
通信装置A−C間で疎通の確認ができない場合(ステップS141)、通信装置A,Cそれぞれは、対向関係データベース17から対向関係情報を削除する(ステップS142,S143)。
【0058】
続いて、隣接関係の解消について説明する。
【0059】
図6は、通信装置B−D間で隣接関係が解消される処理の流れを示すシーケンス図である。
【0060】
隣接する通信装置B−D間で隣接関係が確立後、つまり救済パスが確立後は、隣接する通信装置B−D間で定期的に隣接確認定期、隣接確認応答の送受信を行い、疎通を確認する(ステップS151)。他の通信装置A−B,C−D間においても同様に疎通の確認が行われている。
【0061】
通信装置B−D間で疎通が確認できない場合(ステップS152)、通信装置B,Dそれぞれは、隣接関係データベース16から対応する隣接関係情報を削除するとともに、救済パスIDを救済パス設定IFで特定される通信部20から削除する(ステップS153,S154)。そして、通信装置A,Cそれぞれに対して対向切断要求を送信する(ステップS155,S156)。対向切断要求は、ネットワーク耐性を持たせるため、指定回数定期的に送信される。
【0062】
対向切断要求を受信した通信装置A,Cそれぞれは、対向関係データベース17から対向関係情報を削除する(ステップS157,S158)。
【0063】
図7は、通信装置A−B間で隣接関係が解消される処理の流れを示すシーケンス図である。
【0064】
隣接する通信装置A−B間でも定期的に疎通確認を行い、疎通が確認できない場合はその隣接関係情報を削除し、救済パスIDを救済パス設定IFで特定される通信部20から削除する(ステップS161〜S164)。
【0065】
救済パスの中継点である通信装置Bは、通信装置Cに対して対向切断要求を送信する(ステップS165)。
【0066】
救済パスの起点である通信装置Aは、通信装置Bとの間の救済パスが切れたので関連する対向関係情報を削除する(ステップS166)。また、通信装置Cは、対向切断要求を受信して対向関係データベース17から対向関係情報を削除する(ステップS167)。
【0067】
なお、通信装置A,Bの隣接関係が解消された場合、救済パスの中継点となる通信装置B,Dは、1つの救済パスIDに対して隣接関係情報が1つだけ登録されている状態となるので、図4のステップS121の隣接確認要求2を送信する処理へ進み、隣接関係情報の再登録を試みる。救済パスの起点となる通信装置A,Cは、救済パス設定情報が登録され、隣接関係情報が登録されていない状態となるので、図4のステップS102に進み隣接関係情報の再登録を試みる。
【0068】
次に、破棄パケットの救済について説明する。
【0069】
まず、通信パケットの転送時、破棄パケットの転送時に参照される通信部20の各データベースに登録される情報について説明する。
【0070】
図8は、転送データベース24、救済パスデータベース25、および補助転送データベース26に登録される情報の例を示す図である。
【0071】
図8(a)に転送データベース24に登録された情報の例を示す。転送データベース24は、処理部10により経路情報データベース12からコピーされた経路情報を格納する。転送部22は、転送データベース24を参照して入力した通信パケットの転送先を判定する。
【0072】
図8(b)に補助転送データベース26に登録された情報の例を示す。補助転送データベース26は、破棄パケット救済対象の通信部20に関する経路情報を格納する。具体的には、救済パスが確立した後、救済パス生成部13から救済パスの情報を受信したときに、転送データベース24内の救済IFを送信先とする経路情報がコピーされる。図8(b)に示す例では、IF識別子が0/1の通信部20を救済対象とする救済パスが確立されたので、その通信部20を送信先とする経路情報が補助転送データベース26にコピーされた。補助転送データベース26に格納された情報は、転送データベース24の次に参照される情報であり、入力した通信パケットの転送先が転送データベース24で判定できない場合、つまり、IFダウン等により転送データベース24から経路情報が削除された場合、補助転送データベース26に経路情報が登録されていれば、通信部20はその通信パケットを破棄することなく、対応する通信部20へ転送する。転送された先の通信部20でその通信パケットが送出できない場合、破棄パケット保存部23へ保存された後、救済パスから送出される。
【0073】
図8(c)に救済パスデータベース25に登録された情報の例を示す。救済パスデータベース25は、救済IF、救済パスIDを格納する。救済パスが確立された通信部20の救済パスデータベース25に救済IF、救済パスIDが格納される。
【0074】
次に、破棄パケットの救済処理の流れについて説明する。
【0075】
図9は、通信装置1において、破棄パケットを救済パスへ送出する処理の流れを示すシーケンス図である。ここでは、IF識別子が1/1の通信部20に救済パスが確立されており、IF識別子が0/1の通信部20において障害が検知されたものとする。
【0076】
まず、IF 0/1において、IFダウンあるいはネイバダウンが検知される(ステップS201)。障害の検知は、入出力部21による光入力なしのレイヤ1ダウンや、転送部22によるOSPFのHelloパケットで回線障害を検知することにより行われる。
【0077】
レイヤ1ダウンにより障害が検知されると、IF 0/1は、他の通信部20から転送される通信パケットの破棄パケット保存部23への保存を開始する(ステップS202)。なお、OSPF等により障害を検知した場合は、転送部20でIF 0/1をadmin−down(物理的にはダウンしないが、ソフトウェア上はダウン)させ、通信パケットの破棄パケットへの保存を開始する。ここから、破棄パケットの救済が開始される。
【0078】
続いて、IF 0/1は、救済IF情報を救済部14へ送信し、破棄パケットの救済を開始したことを通知する(ステップS203)。
【0079】
救済部14は、救済IF情報を受信すると、ICMP返信拒否要求を転送処理部11へ送信する(ステップS204)。これにより、通信パケットの破棄に伴うICMP(Unreachable)を送信元へ返信しなくなる。
【0080】
また、救済部14は、救済パス設定データベース15を参照して障害が検知されたIF 0/1に対応する救済パスを検索し、救済IF情報を救済パスが確立されたIF 1/1へ、救済IF情報、救済パス設定IF情報をIF 0/1へ送信する(ステップS205,S206)。これにより、IF 0/1は、破棄パケット保存部23に保存された破棄パケットを通知された救済パス設定IFであるIF 1/1へ転送するとともに、破棄パケット保存部23から削除する。IF 1/1は、救済パスデータベース25を参照して救済IF情報から救済パスIDを特定する。
【0081】
これ以降、他のIF 2/1が入力した通信パケットがIF 0/1に転送された場合、IF 0/1の破棄パケット保存部23に蓄積され、その後IF 1/1へ転送される(ステップS207)。IF 1/1に転送された破棄パケットは、宛先MACアドレスが救済パスID(仮想MACアドレス)に設定されてIF 1/1から送出される(ステップS208)。
【0082】
なお、救済パスに送出されて通信装置Bに入力された破棄パケットは、通信装置Bの隣接関係データベース16において破棄パケットに付与された救済パスIDに関連付けられて2つの救済パス設定IFのうち、その破棄パケットを入力した救済パス設定IFとは別の救済パス設定IFから送出されて、最終的に通信装置Cに到達する。
【0083】
一方、IF 0/1が検知したIFダウンは、転送処理部11にも通知され(ステップS209)、転送処理部11は、経路を再計算して経路情報データベース12を更新する(ステップS210)。そして、全ての通信部20に転送データベース24の削除情報を通知する(ステップS211)。これにより、各通信部20の転送データベース24からIF 0/1に関係する経路情報が削除される。したがって、これ以降、他のIF 2/1にIF 0/1に接続するネットワーク宛の通信パケットが入力されると、入力した通信パケットの宛先ネットワークに対応する経路情報が転送データベース24上に見つからないが、補助転送データベース26の情報に基づいてIF 0/1へ転送される(ステップS212)。IF 0/1に転送された通信パケットは、破棄パケット保存部23に蓄積されてIF 1/1へ転送される(ステップS213)。IF 1/1に転送された破棄パケットは、仮想MACアドレスが付与されて送出される(ステップS214)。
【0084】
また、転送処理部11は、経路を再計算し、経路情報データベース12を更新する(ステップS215)。更新された経路情報は、全ての通信部20に通知される(ステップS216)。これ以降、他のIF 2/1にIF 0/1に接続するネットワーク宛の通信パケットが入力されると、その通信パケットは、ルーティングテーブルに基づいて予備系経路に送出される(ステップS217)。つまり、経路情報データベース12の更新後は、入力された通信パケットのレイヤ3の宛先情報を元に送出する通信部20が判別される。なお、通信装置B,Dより通信装置A,Cの経路再計算が早く終了する場合、通信装置A−B,C−D間で通信パケットがループ、ロスすることがあるため、通信装置A,Cにおいて経路再計算を開始する時間を遅らせるタイマを設定し、通信装置B,Dよりも経路の再計算が遅く終了するように予め調整しておく。OSPFでは、SPFタイマを用いることができる。
【0085】
続いて、障害が発生した経路が復旧したときの処理の流れについて説明する。
【0086】
図10は、通信装置1において、障害が発生した経路が回復したときの処理の流れを示すシーケンス図である。
【0087】
IF 0/1において、IFアップにより障害回復が検知されると(ステップS221)、破棄パケット保存部23への通信パケットの保存を終了するとともに(ステップS222)、障害回復を転送処理部11へ通知する(ステップS223)。なお、OSPF等により障害回復を検知した場合は、転送部20でIF 0/1のadmin−downを解除し、破棄パケット保存部23への通信パケットの保存を終了するとともに、障害回復を転送処理部11へ通知する。
【0088】
転送処理部11は、IF 0/1へ障害回復の確認を指示し(ステップS224)、IF 0/1は、障害回復の確認を行い(ステップS225)、転送処理部11へ確認結果を通知する(ステップS226)。
【0089】
転送処理部11は、障害回復の確認結果を受信すると経路情報データベース12を更新し(ステップS227)、全ての通信部20に障害回復した経路の追加情報を通知する(ステップS228)。
【0090】
各通信部20の転送データベース24が更新している間にIF 0/1へ転送すべき通信パケットが入力された場合は、補助転送データベース26を参照してIF 0/1へ転送され、障害回復したIF 0/1から送出される(ステップS229)。転送データベース24の更新中は、予備系経路からIF 0/1へ経路情報が書き換えられている途中で、IF 0/1へ転送されずに破棄されることもあったが、IF 0/1は既に障害回復しているので、補助転送データベース26を参照してIF 0/1へ転送する。
【0091】
転送データベース24の更新完了後は、正規の通信経路で通信パケットは転送される(ステップS230)。
【0092】
また、IF 0/1は、破棄パケット保存部23の蓄積終了から一定時間経過後(転送DB更新完了後)に(ステップS231)、救済部14へ障害回復した旨を通知し(ステップS232)、救済部14は、ICMP返信拒否解除を転送処理部11へ送信する(ステップS233)。これにより、通信パケットの破棄に伴うICMP(Unreachable)を送信元へ返信するようになる。
【0093】
次に、3つの通信装置A,B,Cで救済パスを確立する例について説明する。
【0094】
図11に、3つの通信装置を用いて構成したネットワークの例を示す。同図に示すネットワークは、通信装置A,Bを上位階梯、通信装置Cとする階層構造であり、通信装置A−C間の予備系経路として通信装置A−B−Cを経由する経路が形成される。
【0095】
救済パスを確立する処理は、図4に示した4つの通信装置A〜Dで救済パスを確立する処理と同様であるので、ここでは図4で示した処理との相違点について説明する。
【0096】
救済パスを確立する際に、通信装置Bには、通信装置A,Cの双方から隣接確認要求が送信され(図4のステップS103,113)、通信装置Bは、通信装置A,Cを隣接関係データベース16に登録する。図4で示した処理では、通信装置Bは、この後隣接確認要求2を送信して隣接関係情報に登録する通信装置Dを検索するが、3つの通信装置A〜Cで救済パスを確立する場合は、既に1つの救済パスIDに対して2つの隣接関係情報が登録されているので、隣接確認要求2を送信することなく、対向関係情報を登録する処理へ進む。
【0097】
以上説明したように、本実施の形態によれば、通信装置A−C間に救済パスを確立しておき、通信装置A−C間で障害が検出されてから経路情報が更新されるまでの間、通信装置A,Cに入力された通信パケットに救済パスを識別する救済パスIDを付与して、救済パスへ送出することで、経路情報が更新中でレイヤ3の宛先情報に基づくルーティング処理が行えない場合でも、通信パケットに付与されたレイヤ2の宛先情報である救済パスIDを参照して隣接する通信装置A〜Dへ通信パケットが送信されるので、通信経路切り替え時における破棄パケットの発生を抑制できる。その結果、通信回線、通信装置の故障時に通信の切断や途切れがないため、通信を利用するユーザの利便性が向上する。
【符号の説明】
【0098】
1…通信装置
10…処理部
11…転送処理部
12…経路情報データベース
13…救済パス生成部
14…救済部
15…救済パス設定データベース
16…隣接関係データベース
17…対向関係データベース
20…通信部
21…入出力部
22…転送部
23…破棄パケット保存部
24…転送データベース
25…救済パスデータベース
26…補助転送データベース
100…救済パス
110…予備系経路
【特許請求の範囲】
【請求項1】
通信経路を接続して通信パケットを入出力する複数の通信インタフェースを備え、経路情報と通信パケットの宛先情報に応じて送出する通信インタフェースを判定し、前記通信インタフェースに接続された通信経路に障害が発生したときに通信経路を再計算して経路情報を更新する通信装置と、前記通信装置間で予備経路を介して接続される中継装置とを備える通信システムであって、
前記通信装置は、
前記予備経路上に確立される救済パスを識別する救済パスIDと当該救済パスの救済対象の第1通信インタフェースと前記予備経路が接続される第2通信インタフェースとを関連付けて記憶する救済パス設定記憶手段と、
前記救済パスIDを前記予備経路を介して接続された中継装置との間で送受信して当該救済パスIDで識別される救済パスを確立し、前記救済パスIDと前記第1通信インタフェースと前記第2通信インタフェースとを関連付けて前記救済パス設定記憶手段に記憶させる救済パス生成手段と、
前記第1通信インタフェースが障害を検知してから経路情報の更新が終了するまでの間に、前記第1通信インタフェースから送出されるべき通信パケットを入力したときは、前記救済パス設定記憶手段を参照して前記救済パスIDを特定し、当該通信パケットに前記救済パスIDを付与して前記第2通信インタフェースから送出する救済手段と、を有し、
前記中継装置は、
前記救済パスIDに対して2つの通信インタフェースを関連付けて記憶する隣接関係記憶手段と、
前記通信装置あるいは別の中継装置との間で前記救済パスIDを送受信して前記救済パスを確立し、当該救済パスIDの送受信に利用した通信インタフェースと当該救済パスIDとを関連付けて前記隣接関係記憶手段に記憶させる救済パス生成手段と、
前記救済パスIDが付与された通信パケットを入力したときに、前記隣接関係記憶手段に当該救済パスIDに関連付けて記憶された通信インタフェースのうち、前記通信パケットを入力した通信インタフェースとは別の通信インタフェースから当該通信パケットを送出する救済手段と、
を有することを特徴とする通信システム。
【請求項2】
前記通信装置の救済手段は、前記第1通信インタフェースが障害の回復を検知してから経路情報の更新が終了するまでの間に、前記第1通信インタフェースから送出されるべき通信パケットを入力したときは、当該通信パケットを前記第1通信インタフェースから送出することを特徴とする請求項1記載の通信システム。
【請求項3】
前記経路情報は、通信パケットのレイヤ3の宛先情報と前記通信インタフェースとを関連付けて登録したものであり、前記救済パスIDは、レイヤ2の仮想の宛先情報であることを特徴とする請求項1又は2に記載の通信システム。
【請求項4】
通信経路を接続して通信パケットを入出力する複数の通信インタフェースを備え、経路情報と通信パケットの宛先情報に応じて送出する通信インタフェースを判定し、前記通信インタフェースに接続された通信経路に障害が発生したときに通信経路を再計算して経路情報を更新する通信装置であって、
予備経路上に確立される救済パスを識別する救済パスIDと当該救済パスの救済対象の第1通信インタフェースと前記予備経路が接続される第2通信インタフェースとを関連付けて記憶する救済パス設定記憶手段と、
前記救済パスIDを前記予備経路を介して接続された中継装置との間で送受信して当該救済パスIDで識別される救済パスを確立し、前記救済パスIDと前記第1通信インタフェースと前記第2通信インタフェースとを関連付けて前記救済パス設定記憶手段に記憶させる救済パス生成手段と、
前記第1通信インタフェースが障害を検知してから経路情報の更新が終了するまでの間に、前記第1通信インタフェースから送出されるべき通信パケットを入力したときは、前記救済パス設定記憶手段を参照して前記救済パスIDを特定し、当該通信パケットに前記救済パスIDを付与して前記第2通信インタフェースから送出する救済手段と、
を有することを特徴とする通信装置。
【請求項5】
前記救済手段は、前記第1通信インタフェースが障害の回復を検知してから経路情報の更新が終了するまでの間に、前記第1通信インタフェースから送出されるべき通信パケットを入力したときは、当該通信パケットを前記第1通信インタフェースから送出することを特徴とする請求項4記載の通信装置。
【請求項6】
通信装置間に障害が発生したときの予備経路を接続して通信パケットを入出力する複数の通信インタフェースを備えた中継装置であって、
前記予備経路上に確立される救済パスを識別する救済パスIDに対して2つの通信インタフェースを関連付けて記憶する隣接関係記憶手段と、
前記通信装置あるいは別の中継装置との間で前記救済パスIDを送受信して救済パスを確立し、当該救済パスIDの送受信に利用した通信インタフェースと当該救済パスIDとを関連付けて前記隣接関係記憶手段に記憶させる救済パス生成手段と、
前記救済パスIDが付与された通信パケットを入力したときに、前記隣接関係記憶手段に当該救済パスIDに関連付けて記憶された通信インタフェースのうち、前記通信パケットを入力した通信インタフェースとは別の通信インタフェースから当該通信パケットを送出する救済手段と、
を有することを特徴とする中継装置。
【請求項1】
通信経路を接続して通信パケットを入出力する複数の通信インタフェースを備え、経路情報と通信パケットの宛先情報に応じて送出する通信インタフェースを判定し、前記通信インタフェースに接続された通信経路に障害が発生したときに通信経路を再計算して経路情報を更新する通信装置と、前記通信装置間で予備経路を介して接続される中継装置とを備える通信システムであって、
前記通信装置は、
前記予備経路上に確立される救済パスを識別する救済パスIDと当該救済パスの救済対象の第1通信インタフェースと前記予備経路が接続される第2通信インタフェースとを関連付けて記憶する救済パス設定記憶手段と、
前記救済パスIDを前記予備経路を介して接続された中継装置との間で送受信して当該救済パスIDで識別される救済パスを確立し、前記救済パスIDと前記第1通信インタフェースと前記第2通信インタフェースとを関連付けて前記救済パス設定記憶手段に記憶させる救済パス生成手段と、
前記第1通信インタフェースが障害を検知してから経路情報の更新が終了するまでの間に、前記第1通信インタフェースから送出されるべき通信パケットを入力したときは、前記救済パス設定記憶手段を参照して前記救済パスIDを特定し、当該通信パケットに前記救済パスIDを付与して前記第2通信インタフェースから送出する救済手段と、を有し、
前記中継装置は、
前記救済パスIDに対して2つの通信インタフェースを関連付けて記憶する隣接関係記憶手段と、
前記通信装置あるいは別の中継装置との間で前記救済パスIDを送受信して前記救済パスを確立し、当該救済パスIDの送受信に利用した通信インタフェースと当該救済パスIDとを関連付けて前記隣接関係記憶手段に記憶させる救済パス生成手段と、
前記救済パスIDが付与された通信パケットを入力したときに、前記隣接関係記憶手段に当該救済パスIDに関連付けて記憶された通信インタフェースのうち、前記通信パケットを入力した通信インタフェースとは別の通信インタフェースから当該通信パケットを送出する救済手段と、
を有することを特徴とする通信システム。
【請求項2】
前記通信装置の救済手段は、前記第1通信インタフェースが障害の回復を検知してから経路情報の更新が終了するまでの間に、前記第1通信インタフェースから送出されるべき通信パケットを入力したときは、当該通信パケットを前記第1通信インタフェースから送出することを特徴とする請求項1記載の通信システム。
【請求項3】
前記経路情報は、通信パケットのレイヤ3の宛先情報と前記通信インタフェースとを関連付けて登録したものであり、前記救済パスIDは、レイヤ2の仮想の宛先情報であることを特徴とする請求項1又は2に記載の通信システム。
【請求項4】
通信経路を接続して通信パケットを入出力する複数の通信インタフェースを備え、経路情報と通信パケットの宛先情報に応じて送出する通信インタフェースを判定し、前記通信インタフェースに接続された通信経路に障害が発生したときに通信経路を再計算して経路情報を更新する通信装置であって、
予備経路上に確立される救済パスを識別する救済パスIDと当該救済パスの救済対象の第1通信インタフェースと前記予備経路が接続される第2通信インタフェースとを関連付けて記憶する救済パス設定記憶手段と、
前記救済パスIDを前記予備経路を介して接続された中継装置との間で送受信して当該救済パスIDで識別される救済パスを確立し、前記救済パスIDと前記第1通信インタフェースと前記第2通信インタフェースとを関連付けて前記救済パス設定記憶手段に記憶させる救済パス生成手段と、
前記第1通信インタフェースが障害を検知してから経路情報の更新が終了するまでの間に、前記第1通信インタフェースから送出されるべき通信パケットを入力したときは、前記救済パス設定記憶手段を参照して前記救済パスIDを特定し、当該通信パケットに前記救済パスIDを付与して前記第2通信インタフェースから送出する救済手段と、
を有することを特徴とする通信装置。
【請求項5】
前記救済手段は、前記第1通信インタフェースが障害の回復を検知してから経路情報の更新が終了するまでの間に、前記第1通信インタフェースから送出されるべき通信パケットを入力したときは、当該通信パケットを前記第1通信インタフェースから送出することを特徴とする請求項4記載の通信装置。
【請求項6】
通信装置間に障害が発生したときの予備経路を接続して通信パケットを入出力する複数の通信インタフェースを備えた中継装置であって、
前記予備経路上に確立される救済パスを識別する救済パスIDに対して2つの通信インタフェースを関連付けて記憶する隣接関係記憶手段と、
前記通信装置あるいは別の中継装置との間で前記救済パスIDを送受信して救済パスを確立し、当該救済パスIDの送受信に利用した通信インタフェースと当該救済パスIDとを関連付けて前記隣接関係記憶手段に記憶させる救済パス生成手段と、
前記救済パスIDが付与された通信パケットを入力したときに、前記隣接関係記憶手段に当該救済パスIDに関連付けて記憶された通信インタフェースのうち、前記通信パケットを入力した通信インタフェースとは別の通信インタフェースから当該通信パケットを送出する救済手段と、
を有することを特徴とする中継装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2012−175514(P2012−175514A)
【公開日】平成24年9月10日(2012.9.10)
【国際特許分類】
【出願番号】特願2011−36998(P2011−36998)
【出願日】平成23年2月23日(2011.2.23)
【出願人】(399041158)西日本電信電話株式会社 (215)
【Fターム(参考)】
【公開日】平成24年9月10日(2012.9.10)
【国際特許分類】
【出願日】平成23年2月23日(2011.2.23)
【出願人】(399041158)西日本電信電話株式会社 (215)
【Fターム(参考)】
[ Back to top ]