JP2013229814A - 通信システム、ルータ、通信方法および制御プログラム - Google Patents

通信システム、ルータ、通信方法および制御プログラム Download PDF

Info

Publication number
JP2013229814A
JP2013229814A JP2012101645A JP2012101645A JP2013229814A JP 2013229814 A JP2013229814 A JP 2013229814A JP 2012101645 A JP2012101645 A JP 2012101645A JP 2012101645 A JP2012101645 A JP 2012101645A JP 2013229814 A JP2013229814 A JP 2013229814A
Authority
JP
Japan
Prior art keywords
router
packet
designated router
designated
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2012101645A
Other languages
English (en)
Other versions
JP5953101B2 (ja
Inventor
Hiroo Doi
博生 土井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Central Research Institute of Electric Power Industry
Original Assignee
Central Research Institute of Electric Power Industry
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Central Research Institute of Electric Power Industry filed Critical Central Research Institute of Electric Power Industry
Priority to JP2012101645A priority Critical patent/JP5953101B2/ja
Publication of JP2013229814A publication Critical patent/JP2013229814A/ja
Application granted granted Critical
Publication of JP5953101B2 publication Critical patent/JP5953101B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】経路に異常があった場合に経路の切替えを速やかに行う。
【解決手段】指名ルータ20aでは、書込部40が中継するパケットのIPヘッダのオプション部分に、指名ルータ20aを通過したことを示す情報を書き込む。ルータ20では、監視部50が受信したパケットのIPヘッダのオプション部分に指名ルータ20aを通過したことを示す情報が書き込まれているか監視し、再構築部55が監視部50による監視の結果、指名ルータ20aを通過したことを示す情報が書き込まれたパケットが所定のしきい値以上受信されない場合、経路の再構築を行う。
【選択図】図3

Description

本発明は、通信システム、ルータ、通信方法および制御プログラムに関する。
近年のIP(Internet Protocol)技術の高度化に伴い、通信ネットワークのIP化が進んでいる。そして、通信ネットワークにおけるルーティング方式としてOSPF(Open Shortest Path First)が知られている。
OSPFは、それまでの既存のルーティングプロトコルであるRIP(Routing Information Protocol)やEIGRP(Enhanced Interior Gateway Routing Protocol)などのディスタンスベクタ型ルーティングプロトコルに代わる、リンクステート型ルーティングプロトコルとして開発された。ディスタンスベクタ型ルーティングプロトコルは、経由するルータ数が最小となるようにルーティングを行う方式である。ディスタンスベクタ型ルーティングプロトコルは、大規模なネットワークに適用した場合、ルーティングループが発生したり、ネットワークの障害情報を更新すると更新情報を行き渡らせるコンバージェンス時間が更新間隔とホップ数の積で長くなるなどの欠点がある。
OSPFは、これらの課題を解決するために、経路の評価基準としてホップ数ではなく「コスト」を用い、それに基づきルーティングを行い、経路情報に変更があれば即座にOSPFルータへマルチキャストで通知する方式を取っている。OSPFルータは、まず、OSPFルータ同士でHelloパケットと呼ばれるOSPFのメッセージパケットを用いて隣接関係を確立し、その隣接ルータ同士でLSA(Link State Advertisement)パケットを用いて経路情報を交換する。経路情報は、そのルータへ接続されている回線の相手ルータのアドレス及びコスト値である。コスト値は、回線の帯域や管理者の判断によって任意に設定可能である。最初の立ち上げ時のみ、すべてのOSPFルータは、同一のルーティングテーブルを持つために、すべての経路情報を交換するが、以降は経路の変更があったときに、その差分情報を交換する。
ディスタンスベクタ型ルーティングプロトコルは、ネットワークが大規模になると、隣接関係の数の増大により経路情報の交換数が大きくなる。例えば、n台のルータが同じブロードキャストネットワークを共有しており、全てのルータが他のルータとルーティング情報を交換する場合、n(n−1)/2通りの交換が行われる計算となる。よって、ルータの台数nが多くなるほど発生するトラフィックも増加する。
OSPFは、トラフィックの増加を抑えるため、統括して管理する指名ルータ(DR:Designated Router)を選出し、指名ルータ以外のルータと指名ルータとが隣接関係を構築する方法が備わっている。この方法によりルーティングトラフィックは大幅に削減され、経路情報の交換は2(n−1)−1通りとなる。指名ルータの選出は、Helloパケットの交換によって行う。OSPFでは、例えば、Helloパケットにより全ルータの中でOSPFプライオリティ値が最も高いものを指名ルータと選出する。
John T. Moy, "OSPF Version 2," Request For Comments (Standard) RFC 2328, Internet Engineering Task Force, April 1998. John T. Moy, "OSPF :Anatomy of an Internet Routing Protocol", Addison-Wesley Professional, February 1998.
OSPFでは、回線断等の経路状態に変更があった場合、指名ルータへ変更された旨のLSAパケットを通知する。指名ルータは、経路状態に変更があった旨の通知を受けると、管理範囲の全ルータへ経路状態の変更を通知する。OSPFでは、隣接ルータの生存確認にも、Helloパケットを使用する。Helloパケットは、一定間隔で隣接関係にあるルータへ送出される。標準設定では、一定間隔は10秒間隔とされている。もし、ルータが正常に動作していれば、Helloパケットを交換し合い、正常動作していることが確認される。もし、Helloパケットを3回送り、相手の生存が確認できなければ、相手が動作停止していると判断して、経路情報の変更を行う。このとき、指名ルータを選出しているモードの場合は、指名ルータが機能を停止していることになるため、全ルータでHelloパケットを交換し合い、指名ルータの再選出を行う。
Helloパケットを使った生存確認法では、計3個のHelloパケットを送出してさらに10秒まって初めて生存確認を判断するため、生存を確認するまで時間が40秒以上かかる。この時間間隔を、Router Dead Intervalと呼ぶ。指名ルータが機能を停止していれば、この間、指名ルータの管理範囲内において回線障害が発生した箇所を迂回する等のルーティングは不可能となる。したがって、この時間は、パケット遅延となる。
指名ルータを代替するため、バックアップ指名ルータ(BDR:Backup DR)を動作させる方法もある。バックアップ指名ルータは、常に指名ルータと同様に管理を行うが、直接、隣接ルータへ経路情報を通知しない。指名ルータからの通知が一定期間無いとき、指名ルータとなり通知を行い、バックアップ指名ルータの再選出を行う。
しかし、多重障害等により指名ルータとバックアップ指名ルータが同時に機能停止に陥ると、やはりRouter Dead Intervalが発生し、指名ルータとバックアップ指名ルータの再選出を行うため、その間、障害箇所を避けるルーティングの変更が不可能となる。その結果、通信ネットワークを介して他の装置と通信を行うアプリケーションへ一時的に支障を来たすことが考えられる。
また、OSPFルータの間にレイヤ2ネットワーク(L2:Layer 2 Network)がある場合、L2で回線障害が発生したり、L2を越えた先のOSPFの指名ルータ及びバックアップ指名ルータが機能停止になった場合も同様にRouter Dead Intervalが発生する。
すなわち、OSPFでは、回線断や指名ルータの異常等の経路に異常があった場合、経路の切替えに時間がかかり、パケット遅延が発生する場合がある。
開示の技術は、上記に鑑みてなされたものであって、経路に異常があった場合に経路の切替えを速やかに行うことができる通信システム、ルータ、通信方法および制御プログラムを提供することを目的とする。
本願の開示する通信システムは、中継するパケットのIPヘッダのオプション部分に、指名ルータを通過したことを示す情報を書き込む書込部を有する指名ルータと、受信したパケットのIPヘッダのオプション部分に前記指名ルータを通過したことを示す情報が書き込まれているか監視する監視部と、前記監視部による監視の結果、前記指名ルータを通過したことを示す情報が書き込まれたパケットが所定のしきい値以上受信されない場合、経路の再構築を行う再構築部と、を有するルータと、を備えたことを特徴とする。
本願の開示する通信システムの一つの態様によれば、経路に異常があった場合に経路の切替えを速やかに行うことができる。
図1は、通信システムの概略的な構成を示す図である。 図2Aは、指名ルータに異常が発生した場合を示す図である。 図2Bは、指名ルータとの間にあるL2スイッチに異常が発生した場合を示す図である。 図3は、指名ルータと隣接関係にあるルータの機能的構成を示すブロック図である。 図4は、ルータがOSPFにより指名ルータを選定する際の動作状態の遷移を示す図である。 図5は、完全状態となった以降の指名ルータの動作状態の遷移を示す図である。 図6は、完全状態となった以降のルータの動作状態の遷移を示す図である。 図7は、完全状態となった以降の指名ルータの処理の流れを示すフローチャートである。 図8は、完全状態となった以降のルータの処理の流れを示すフローチャートである。 図9Aは、指名ルータに障害が発生した場合の動作を示す図である。 図9Bは、指名ルータに障害が発生した場合の動作を示す図である。 図9Cは、指名ルータに障害が発生した場合の動作を示す図である。 図9Dは、指名ルータに障害が発生した場合の動作を示す図である。 図9Eは、指名ルータに障害が発生した場合の動作を示す図である。 図10Aは、L2スイッチ部分に障害が発生した場合の動作を示す図である。 図10Bは、L2スイッチ部分に障害が発生した場合の動作を示す図である。 図10Cは、L2スイッチ部分に障害が発生した場合の動作を示す図である。 図10Dは、L2スイッチ部分に障害が発生した場合の動作を示す図である。 図10Eは、L2スイッチ部分に障害が発生した場合の動作を示す図である。 図10Fは、L2スイッチ部分に障害が発生した場合の動作を示す図である。 図11Aは、回線を通るアプリケーションのパケットが少なくなった場合の動作を示す図である。 図11Bは、回線を通るアプリケーションのパケットが少なくなった場合の動作を示す図である。 図11Cは、回線を通るアプリケーションのパケットが少なくなった場合の動作を示す図である。 図11Dは、回線を通るアプリケーションのパケットが少なくなった場合の動作を示す図である。 図12Aは、パケットが喪失した場合の動作を示す図である。 図12Bは、パケットが喪失した場合の動作を示す図である。 図12Cは、パケットが喪失した場合の動作を示す図である。 図12Dは、パケットが喪失した場合の動作を示す図である。 図12Eは、パケットが喪失した場合の動作を示す図である。 図13は、制御プログラムを実行するコンピュータを示す図である。
以下に、本願の開示する通信システム、ルータ、通信方法および制御プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
[システム構成]
まず、本実施例に係る通信システムの構成について説明する。図1は、通信システムの概略的な構成を示す図である。
図1に示す通信システム10は、複数のネットワーク11〜14が接続されて構成されている。ネットワーク11は、各ネットワーク12〜14を互いに接続する中枢のコアネットワークである。各ネットワーク12〜14は、ネットワーク11に接続され、例えば、企業の拠点毎などに設けられたネットワークである。以下、ネットワーク11は、「バックボーンネットワーク」とも言う。また、ネットワーク12〜14は、「ローカルネットワーク」とも言う。
ネットワーク11〜14には、複数のルータ20が設けられている。ルータ20は、ルーティング方式としてOSPFによりパケットのルーティングを行うことが可能とされている。本実施例では、ネットワーク11〜14を1つのエリアとして、ネットワーク11〜14に設けられた全てのルータ20の中から指名ルータおよびバックアップ指名ルータを選出し、選出した指名ルータおよびバックアップ指名ルータにより各ルータ20の経路情報を管理する。指名ルータとバックアップ指名ルータの選出は、Helloパケットの交換によって行う。例えば、Helloパケットにより全ルータの中でOSPFプライオリティ値が最も高いものを指名ルータ、2番目に高いものをバックアップ指名ルータとする。図1の例では、バックボーンネットワーク11に設けられたルータ20aが指名ルータに選出され、バックボーンネットワーク11に設けられたルータ20bがバックアップ指名ルータに選出されている。指名ルータ20aとバックアップ指名ルータ20bが選出されると、指名ルータ20aおよびバックアップ指名ルータ20b以外の各ルータ20は、指名ルータ20aおよびバックアップ指名ルータ20bと隣接関係を確立し、LSAパケットを用いて経路情報の交換を行う。
ここで、このようにネットワーク11〜14を1つのエリアとして指名ルータ20aおよびバックアップ指名ルータ20bを選出した場合、指名ルータ20aおよびバックアップ指名ルータ20bが同時に障害により機能停止に陥ると、ネットワーク全体で一定期間ルーティング変更を行えない状態が発生する場合がある。
しかし、ルータ20は、何れかも指名ルータとして機能することが可能であり、指名ルータ20aが停止したとしても、他のルータ20を指名ルータとして再選出することが可能である。このため、指名ルータ再選出のときに発生するRouter Dead Intervalを回避し、高速に経路切り替えができれば、通信システム10を介して他の装置と通信を行うアプリケーションに支障が出ることを抑制できる。
Router Dead Intervalを短縮するために、生存確認を判断するため送信するHelloパケットの間隔を小さくすることが考えられる。しかし、Helloパケットの間隔を10秒以下にすると、輻輳によりHelloパケットの損失率が受容できないレベルとなる。また、輻輳を回避するためにルータにRED(Random Early Detection)方式を機能させることも考えられるが、一般にREDを機能させるためのREDパラメータの調整はトラヒックパターンに依存し、最適に機能させるパラメータ設定は困難である。
ところで、通信システム10では、回線断や指名ルータの異常等の経路に異常があった場合、次のような状態が発生する。図2Aは、指名ルータに異常が発生した場合を示す図である。例えば、図2Aに示すように、指名ルータ20aが異常となった場合は、Router Dead Intervalが発生し、各ルータ20に指名ルータ20a方向からのパケットが途絶する。
また、例えば、指名ルータ20aとルータ20との間のネットワークにL2スイッチ22があり、L2スイッチ22部分において障害が発生する場合がある。図2Bは、指名ルータとの間にあるL2スイッチに異常が発生した場合を示す図である。例えば、図2Bに示すように、指名ルータ20aとの間にあるL2スイッチ22が異常となった場合は、指名ルータ20a方向からはL2スイッチ22の制御パケットしか来なくなる。つまり、各ルータ20は、指名ルータ20a方向からのパケットを監視していれば、指名ルータ20aの生存確認ができる。
そこで、本実施の形態に係る通信システム10では、Helloパケットに頼らずに指名ルータ20aの生存確認を行うために、指名ルータ20aは、中継するパケットに指名ルータ20aを通過したことを示す情報を書き込む。例えば、指名ルータ20aは、中継するパケットのIPヘッダのオプション部分に、指名ルータ20aを通過したことを示す情報を書き込む。各ルータ20は、受信したパケットに指名ルータ20aを通過したことを示す情報が書き込まれているか監視する。例えば、各ルータ20は、受信したパケットのIPヘッダのオプション部分に指名ルータ20aを通過したことを示す情報が書き込まれているか監視する。このように、各ルータ20が、受信したパケットに指名ルータ20aを通過したことを示す情報が書き込まれているか監視することにより、指名ルータ20aの生存確認を行うことができる。そして、各ルータ20は、監視の結果、指名ルータを通過したことを示す情報が書き込まれたパケットが所定のしきい値以上受信されない場合、経路の再構築を行う。しきい値の詳細については、後述する。これにより、通信システム10は、経路の切替えをより速やかに行うことができる。
[ルータ20の構成]
続いて、本実施例に係る通信システム10に含まれるルータ20の機能的構成について説明する。なお、各ルータ20は、それぞれ物理的な構成は略同様であり、指名ルータ20aに選択された場合、各ルータ20と隣接関係を確立して経路情報の交換し、交換した経路情報に基づき、SPF(Shortest Path First)アルゴリズムを用いてルーティングテーブルを作成し、作成したルーティングテーブルを各ルータ20へ送信する。以下では、指名ルータ20aと、隣接関係にある1台のルータ20についての機能的な構成について説明する。
図3は、指名ルータと隣接関係にあるルータの機能的構成を示すブロック図である。指名ルータ20aおよびルータ20は、インタフェース部30と、記憶部31と、制御部32とをそれぞれ有する。
インタフェース部30は、不図示のポートを介して外部のネットワークとパケットを入出力するインタフェースである。
記憶部31は、各種のデータを記憶する記憶デバイスである。例えば、記憶部31は、制御部32で実行されるパケットのルーティングを行うプログラムや、OSPF方式のルーティングプロトコルを用いて他のルータ20とパケットを交換して指定ルータを選出するプログラム、指名ルータとして動作するためのプログラム、経路の異常を検出するプログラムなど各種プログラムを記憶する。さらに、記憶部31は、ルーティングテーブルなど各種情報や、制御部32で実行されるプログラムの実行に用いられる各種データを記憶する。本実施例に関係するデータとして、記憶部31は、リンクステートエントリの情報や、ルーティングテーブル、しきい値、後述する許容時間などを記憶する。かかる記憶部31の一態様としては、フラッシュメモリやNVSRAM(Non Volatile Static Random Access Memory)などのデータを書き換え可能な半導体メモリの他、ハードディスクや光ディスクなどの記憶装置を採用できる。
制御部32は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。例えば、制御部32は、OSPF方式のルーティングプロトコルを用いて他のルータ20とパケットを交換して指定ルータの選出を行う。制御部32は、指定ルータに選出された場合、他の各ルータ20と隣接関係を確立し、各ルータ20へ最新のリンクステートエントリが通知するなどルーティングの管理を行う。また、制御部32は、最新のリンクステートエントリの情報からルーティングテーブルを作成し、作成したルーティングテーブルに基づき、インタフェース部30に入力したパケットのルーティングを行う。制御部32には、各種の集積回路や電子回路を採用できる。例えば、集積回路としては、ASIC(Application Specific Integrated Circuit)が挙げられる。また、電子回路としては、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などが挙げられる。指名ルータ20aの制御部32は、本実施例に関係する処理部として、書込部40と、計測部41と、算出部42と、判定部43と、送信部44とを有する。また、ルータ20の制御部32は、本実施例に関係する処理部として、監視部50と、計測部51と、算出部52と、解除部53と、通知部54と、再構築部55とを有する。
書込部40は、中継するパケットに指名ルータ20aを通過したことを示す情報を書き込む。例えば、指名ルータ20aは、中継するパケットのIPヘッダのオプション部分に、指名ルータ20aを通過したことを示すマークとして情報を書き込む。なお、情報を書き込む位置は、オプション部分の未使用の位置であれば何れであってもよい。
計測部41は、パケットの送信間隔を計測する処理部である。例えば、計測部41は、各ルータ20毎に、マークを書き込んだパケットの送信間隔を計測する。
算出部42は、各種の算出を行う処理部である。例えば、算出部42は、計測部41により計測されるパケットの送信間隔に基づいて、しきい値を算出する。なお、しきい値の算出は、送信間隔が計測される毎に、随時行うものとしてもよく、一定の時間間隔など所定のタイミングで行うものとしてもよい。
ここで、しきい値の算出方法について説明する。本実施例では、しきい値を算出する方法として、TCP(Transmission Control Protocol)で用いられているタイムアウトを判定する方法を利用する。TCPは、到着するパケットを常時計測し、その到着間隔の平均と平均偏差を計算している。そして、到着間隔の平均に平均偏差の所定の倍率(例えば、2倍)を足した値をしきい値とし、これを超えるものはタイムアウトと判定する。
これと同様に、本実施例でも、パケットの間隔がしきい値以上であれば、相手の指名ルータ20aはパケット送出できない状態、すなわち機能停止になったと判定する。所定の倍率は、本実施例では2倍とするが、試験評価の上、倍率を決定してもよい。算出部42は、以下のような算出法により計測としきい値を算出する。
Err=M×A
A→A+g×Err
D→D+h×(|Err|×D)
しきい値=A+2D
ここで、Aは平滑化されたパケット間隔であり、Dは平滑化された平均偏差であり、Mはマークされたパケットの間隔(計測値)であり、hは係数(例えば、1/4)であり、Errは平滑化されたパケット間隔と計測値との差であり、gは係数(例えば、1/4)である。
判定部43は、各種の判定を行う処理部である。例えば、判定部43は、各ルータ20毎のパケットの送信間隔がしきい値以上となることが予測されるか判定する。判定部43は、計測部41により計測される各ルータ20毎の送信間隔の何れかがしきい値から所定の許容時間を減算した時間となった場合、マークを書き込んだパケットの送信間隔がしきい値以上となることが予測されるものと判定する。この許容時間は、固定値としてもよく、変動値としてもよい。例えば、許容時間は、通信システム10で発生する通信遅延分の時間として、管理者が固定値として定めてもよい。また、許容時間は、通信システム10を伝送されるパケットを監視して最大の通信遅延時間を求め、最大の通信遅延時間または最大の通信遅延時間に所定の係数を乗算した時間としてもよい。
送信部44は、各種のパケットを送信する処理部である。例えば、送信部44は、判定部43によりパケットの送信間隔がしきい値以上となることが予測された場合、指名ルータ20aが生存していることを知らせるため、IPヘッダのオプション部分に、指名ルータ20aを通過したことを示すマークを書き込んだパケットを、送信間隔がしきい値以上となるルータ20へ送信する。また、送信部44は、ルータ20からMissingメッセージを受信した場合、Aliveパケットをマルチキャストする。
一方、監視部50は、指名ルータ20aが正常に動作しているか否かを監視する処理部である。例えば、監視部50は、インタフェース部30で受信したパケットのIPヘッダのオプション部分に指名ルータ20aを通過したことを示すマークが書き込まれているか監視する。
計測部51は、パケットの受信間隔を計測する処理部である。例えば、計測部51は、マークを書き込んだパケットの送信間隔を計測する。
算出部52は、各種の算出を行う処理部である。例えば、算出部52は、計測部51により計測されるパケットの受信間隔に基づいて、上述した算出部42と同様の演算により、しきい値を算出する。なお、しきい値の算出は、送信間隔が計測される毎に、随時行うものとしてもよく、一定の時間間隔など所定のタイミングで行うものとしてもよい。
解除部53は、データの解除を行う処理部である。例えば、解除部53は、監視部50による監視の結果、IPヘッダのオプション部分に指名ルータを通過したことを示すマークが書き込まれたパケットを検出した場合、書き込まれたマークのデータを解除する。指名ルータ20aを通過したことを示すマークが解除されたパケットは、宛先へと転送される。
通知部54は、各種の通知を行う処理部である。例えば、通知部54は、監視部50による監視の結果、マークが書き込まれたパケットがしきい値以上受信されない場合、指名ルータ20aが不明な状態であることを示すMissingメッセージをマルチキャストする。また、通知部54は、他のルータ20からMissingメッセージを受信した場合、当該他のルータ20へ現在のしきい値を通知する。そして、通知部54は、他のルータ20からMissingメッセージを受信した後にマークが書き込まれたパケットを受信した場合、Aliveパケットをマルチキャストする。
再構築部55は、ルーティング経路の再構築を行う処理部である。例えば、再構築部55は、通知部54によりMissingメッセージをマルチキャストしてから上記しきい値の期間を経過する間に指名ルータ20aが動作していることを示す通知が受信できない場合、経路の再構築を行う。例えば、再構築部55は、指名ルータ20aが動作していることを示す通知として、Aliveパケットが受信できない場合、経路の再構築を行う。
次に、ルータ20の動作状態の遷移について説明する。図4は、ルータがOSPFにより指名ルータを選定する際の動作状態の遷移を示す図である。
1.Down State(停止状態)
ルータ20は、動作可能な状態であるが、他のルータ20とまだ情報交換を行なっていない状態であり、他のルータ20を識別できない状態である。
2.Attempt State(試行状態)
ルータ20は、まず、OSPFのマルチキャストアドレス(244.0.0.5)宛てにHelloパケットを送信する。まだ、Attempt Stateは、ルータ20が、他のルータ20からHelloパケットを受信できていない状態である。
3.Init State(初期状態)
Helloパケットを送信するルータ20をルータA、受信するルータ20をルータBとすると、ルータAから送信するHelloパケットの隣接ルータフィールドには、まだルータBがリストアップされていない状態である。各ルータ20は、他のルータ20からのHelloパケットを受信した場合、自身の隣接ルータリストに他のルータ20を追加する。例えば、ルータBは、ルータAからのHelloパケットを受信した場合、自身の隣接ルータリストにルータAを追加する。Helloパケットを受信したルータ20は、ユニキャストの応答Helloパケットを、自身の全ての隣接ルータリストと一緒に、他のルータ20に送信する。例えば、ルータBは、ルータAへユニキャストの応答Helloパケットを、自身の全ての隣接ルータリストと一緒に送信する。
4.2-Way State(双方向状態)
応答のHelloパケットを受信したルータ20は、メッセージの隣接ルータフィールドの中に自身が記載されていることを確認し、双方向状態となる。このHelloパケットの交換プロセス実行中に、相互の優先度フィールドがチェックされ、指名ルータ及びバックアップ指名ルータ選出の手続きが行われ、指名ルータ及びバックアップ指名ルータとの間で隣接関係が確立される。
5.Exstart State(起動後状態)
各ルータ20は、リンクステートデータベースの作成(初期化)を開始する。また、各ルータ20は、隣接関係にあるルータ20との間でマスター/スレーブ関係を確立する。
6.Exchange State(交換状態)
ルータ20は、マスター/スレーブ関係がネゴシエートされると、DBD(データベース記述:Data Base Description)パケットを送信する。なお、最初にDBDパケットを送信するルータ20をマスター、相手先のルータ20をスレーブとする。最初のDBDパケット送信時に、データベース記述シーケンス番号の初期値を定義し、その後、一連のDBDパケット交換のたびに、シーケンス番号は増分される。
7.Loading State(ロード状態)
DBDパケットを受信したルータ20は、LSAck(リンク状態確認応答:Link State Acknowledgement)メッセージに、受信したDBDパケットのシーケンス番号をコピーして、DBDパケットを受信したことを通知する。また、ルータ20は、受信したDBDパケットのLSAヘッダ内のLSAシーケンス番号をチェックして、現在記憶している情報と受信した情報と比較する。受信したDBDパケットのリンクステートエントリのほうが新しい場合は、LSR(リンク状態要求:Link State Request)パケットを送信し、最新情報の部分を要求する。LSRパケットを受信したルータ20は、LSU(リンク状態更新:Link State Update)パケットを送信する。LSUパケットを受信したルータ20は、LSAckパケットで確認応答する。
8.Full State(完全状態)
あるルータ20に対してすべてのLSRパケットの処理が終了すると、その隣接ルータ20は、同期してFull Stateの状態となったとみなされる。この時点で隣接関係にあるルータ20同士が同一のリンクステートデータベースを持つ。すなわち、指名ルータ20a及びバックアップ指名ルータ20bに選出されたルータ20は、他の各ルータ20と隣接関係を確立することにより、他の各ルータ20のDBDパケットによりリンクステートエントリが通知される。また、他のルータ20は、指名ルータに選択されたルータ20から最新のリンクステートエントリが通知される。よって、各ルータ20は、同一のリンクステートデータベースを持つ。ルータ20は、リンクステートデータベースの情報からSPFツリーを生成し、生成したSPFツリーを基にルーティングテーブルを作成する。そして、各ルータ20は、受信したパケットをルーティングテーブルの情報に基づいてパケットのルーティングを行う。
次に、完全状態となった以降の指名ルータ20aの動作状態の遷移について説明する。図5は、完全状態となった以降の指名ルータの動作状態の遷移を示す図である。
1.Measurement(計測状態)
指名ルータ20aは、受信したIPパケットにマークし、ルーティングテーブルの情報に基づいて受信したIPパケットを隣接ルータ20へ送信する。また、指名ルータ20aは、各ルータ20毎に、IPパケットの到着間隔を計測して、しきい値を算出する。
2.Dummy Packet Generation(ダミーパケット生成状態)
指名ルータ20aは、しきい値を超えてもマークすべきIPパケットが受信できないことが予測される場合、マークすべきIPパケットが受信できない期間がしきい値を超えることが予測される隣接ルータ20へダミーのマーク付きIPパケットを生成して送信する。
3.Confirmation Acknowledgement(確認応答状態)
指名ルータ20aは、Missingパケットを受信した場合、Aliveパケットをマルチキャストする。そして、1.Measurementの状態へ遷移する。
次に、完全状態となった以降の指名ルータ20a及びバックアップ指名ルータ以外のルータ20の動作状態の遷移について説明する。図6は、完全状態となった以降のルータの動作状態の遷移を示す図である。
1.Measurement(計測状態)
指名ルータ及びバックアップ指名ルータ以外のルータ20は、マークされたパケットの受信を監視し、受信間隔を計測する。また、ルータ20は、マークされたIPパケットの受信間隔を計測してしきい値を算出する。ルータ20は、計測される受信間隔をしきい値と比較し、しきい値より小さければ計測状態を維持し、しきい値以上であれば後述する2.Missingの状態へ遷移する。また、ルータ20は、Missingパケットを受信した場合、後述する3.Confirmation Thresholdの状態へ遷移する。
2.Missing(指名ルータの生存確認不可状態)
ルータ20は、Missingパケットをマルチキャストする。ルータ20は、Missingパケットをマルチキャストした後、他のルータ20からしきい値が格納されたパケットを受信した場合、受信したパケットのしきい値と算出したしきい値を比較して、最大のしきい値を求める。ルータ20は、最大のしきい値の期間を経過するまでに他のルータ20からAliveパケットを受信した場合、指名ルータ20aが正常動作しており、隣接関係を結んでいる経路上で障害が発生したと判断し、後述する5.Ospf-Initの状態へ遷移する。すなわち、ルータ20は、現在の最大のしきい値の期間を経過するまでに他のルータ20からしきい値が格納されたパケットを受信した場合、現在の最大のしきい値と受信したパケットに格納されたしきい値を比較し、より大きいものを最大のしきい値として用いる。よって、現在の最大のしきい値の期間を経過するまでに他のルータ20からより値の大きなしきい値を格納したパケットが受信された場合、最大のしきい値は、受信したパケットに格納されたしきい値に更新される。ルータ20は、最大のしきい値の期間を経過するまでに他のルータ20からAliveパケットを受信した場合、後述する5.Ospf-Initの状態へ遷移する。一方、ルータ20は、最大のしきい値の期間を経過するまでにAliveパケットを受信しなかった場合、後述する6.Ospf-Restart状態へ遷移する。
3.Confirmation Threshold(しきい値確認状態)
ルータ20は、他のルータ20からMissingパケットを受信した場合、現在のしきい値を格納したパケットをMissingパケットの送信元のルータ20へ直ちに送信して、現在のしきい値を通知する。
4.Confirmation(マークパケット確認状態)
ルータ20は、しきい値の期間を経過するまでにIPパケットを受信した場合、Aliveパケットをマルチキャストし、1.Measurementの状態へ戻る。また、ルータ20は、他のルータ20からAliveパケットを受信した場合も、1.Measurementの状態へ戻る。
5.Ospf-Init(OSPF 初期状態)
ルータ20は、指名ルータ20aへLSAを送信し、OSPFの6.Exchange Stateの状態へ遷移する。
6.Ospf-Restart(すべてのルータがOSFP 初期状態)
ルータ20は、指名ルータ20aが停止したと判断し、Initパケットをマルチキャストする。これにより、各ルータ20は、指名ルータ20aがダウンしたことを示すOSPFの1.Down状態へ遷移して、指名ルータ20aの再選出を行う。
次に、完全状態となった以降の指名ルータ20aの処理の流れを説明する。図7は、完全状態となった以降の指名ルータの処理の流れを示すフローチャートである。この処理は、完全状態となった際に実行される。
図7に示すように、計測部41は、各ルータ20毎のマークを書き込んだパケットの送信間隔をゼロに初期化する(S10)。計測部41は、各ルータ20毎にマークを書き込んだパケットの送信間隔の計測を開始する(S11)。
判定部43は、パケットが受信されたか否かを判定する(S12)。パケットが受信されない場合(S12否定)、後述するS16へ移行する。一方、パケットが受信された場合(S12肯定)、書込部40は、中継するパケットに指名ルータ20aを通過したことを示すマークを書込む(S13)。送信部44は、ルーティングテーブルの情報に基づいて、マークが書き込まれたパケットを宛先に送信する(S14)。計測部41は、宛先がルータ20であった場合、パケットを送信したルータ20に対するパケットの送信間隔をゼロに初期化する(S15)。
判定部43は、各ルータ20毎のパケットの送信間隔にしきい値以上となることが予測されるものがあるか否かを判定する(S16)。例えば、判定部43は、各ルータ20毎のパケットの送信間隔が、しきい値から所定の許容時間を減算した時間以上となったものがあるか否かを判定する。
送信間隔がしきい値から所定の許容時間を減算した時間以上となるものがない場合(S16否定)、後述するS19へ移行する。一方、送信間隔がしきい値から所定の許容時間を減算した時間以上となったものがある場合(S16肯定)、送信部44は、送信間隔が減算した時間以上となったルータ20に対してIPヘッダのオプション部分にマークを書き込んだパケットを送信する(S17)。計測部41は、パケットを送信したルータ20のパケットの送信間隔をゼロに初期化する(S18)。
判定部43は、Missingパケットを受信したか否かを判定する(S19)。Missingパケットを受信していない場合(S19否定)、後述するS21へ移行する。一方、Missingパケットを受信した場合(S19肯定)、送信部44は、Aliveパケットをマルチキャストする(S20)。
送信部44は、LSAの受信などにより経路の再構が指示されたか否かを判定する(S21)。送信部44は、経路の再構が指示された場合(S21肯定)、処理を終了する。一方、経路の再構が指示されていない場合(S21否定)、S11へ移行する。
次に、完全状態となった以降の指名ルータ及びバックアップ指名ルータ以外のルータ20の処理の流れを説明する。図8は、完全状態となった以降のルータの処理の流れを示すフローチャートである。この処理は、完全状態となった際に実行される。
図8に示すように、計測部51は、前回、マークが書き込まれたパケットの受信間隔をゼロに初期化する(S30)。計測部51は、マークが書き込まれたパケットの受信間隔の計測を開始する(S31)。
監視部50は、パケットを受信したか否かを判定する(S32)。パケットを受信していない場合(S32否定)、後述するS37へ移行する。一方、パケットを受信した場合(S32肯定)、監視部50は、受信したパケットにマークが書き込まれたパケットであるか否かを判定する(S33)。マークが書き込まれたパケットではない場合(S33否定)、後述するS35へ移行する。一方、マークが書き込まれたパケットである場合(S33肯定)、解除部53は、書き込まれたマークのデータを解除する(S34)。そして、監視部50は、ルーティングテーブルの情報に基づいて、受信パケットを宛先へ送信する(S35)。計測部51は、受信パケットにマークが書き込まれたパケットであった場合、受信間隔をゼロに初期化する(S36)。
通知部54は、マークが書き込まれたパケットの受信間隔がしきい値以上となったか否かを判定する(S37)。受信間隔がしきい値未満である場合(S37否定)、上述のS32へ移行する。一方、受信間隔がしきい値以上となった場合(S37肯定)、通知部54は、Missingメッセージをマルチキャストする(S38)。
監視部50は、他のルータ20からしきい値が格納されたパケットを受信したか否かを判定する(S39)。しきい値が格納されたパケットを受信していない場合(S39否定)、後述するS41へ移行する。一方、しきい値が格納されたパケットを受信した場合(S39肯定)、監視部50は、現在のしきい値と受信したパケットに格納されたしきい値を比較し、より大きいものをしきい値とする(S40)。
監視部50は、Aliveパケットを受信したか否かを判定する(S41)。Aliveパケットを受信した場合(S41肯定)、通知部54は、指名ルータ20aへLSAを送信し(S42)、処理を終了して6.Exchange Stateの状態へ移行する。
一方、Aliveパケットを受信していない場合(S41否定)、監視部50は、Missingメッセージをマルチキャストしてからしきい値の期間を経過したか否か判定する(S43)。しきい値の期間を経過していない場合(S43否定)、上述のS39へ移行する。一方、しきい値の期間を経過した場合(S43肯定)、再構築部55は、Initパケットをマルチキャストし(S44)、処理を終了してOSPFの1.Down状態へ遷移して、指名ルータ20aの再選出を行う。
次に、いくつかの例を用いて本実施例に係る通信システム10の動作を説明する。
最初に、指名ルータ20aに障害が発生した場合の動作例を説明する。図9A〜9Eは、指名ルータに障害が発生した場合の動作を示す図である。
典型的な動作例として、指名ルータ20aとルータ20とがネットワークを介して接続され、指名ルータ20aで不具合が発生する例を考える。ここでは、ネットワークの回線には、障害は発生していないが、指名ルータ20a上でプログラムに不具合が発生し、機能停止している状況である場合を想定する。バックアップ指名ルータも設置されている場合は、バックアップ指名ルータにも同時に同様な不具合が発生していると想定する。以降では、説明を簡単にするために、指名ルータ20aの障害と隣接する3台のルータ20の動作について説明する。
通常状態では、図9Aに示すように各ルータ20は、指名ルータ20aよりマーク付きIPパケットを受信する。また、各ルータ20および指名ルータ20aは、ともにパケット間隔を計測してしきい値を算出する。
図9Bは、指名ルータ20aに障害が発生し、指名ルータ20aのOSPF機能が停止した状態を示す。ただし、ネットワークの回線状態は正常である。指名ルータ20aのOSPF機能が停止した場合、3台のルータ20のうちルータAは、しきい値を経過してもマーク付きIPパケットを受信できないため、図9Cに示すように、Missingパケットをマルチキャストする。
ルータA以外のルータ20は、Missingパケットを受信した場合、図9Dに示すように、各自のしきい値(MT)をマルチキャストする。ルータAは、他のルータ20から通知された各しきい値より最大値を求める。
ルータA以外のルータ20も、マーク付きパケットを受信できないため、Aliveパケットを送信できずにしきい値の最大値の時間が経過する。ルータAは、しきい値の最大値を待ってもAliveパケットを受信できないため、図9Eに示すように、Initパケットをマルチキャストして、OSPF初期状態へ移行する。
次に、指名ルータ20aとルータAとの間のネットワークにL2スイッチ22があり、L2スイッチ22部分において障害が発生した場合の動作例を説明する。図10A〜10Fは、L2スイッチ部分に障害が発生した場合の動作を示す図である。
通常状態では、図10Aに示すように各ルータ20は、指名ルータ20aよりマーク付きIPパケットを受信する。また、ルータ20および指名ルータ20aは、ともにパケット間隔を計測してしきい値を算出する。
図10Bは、L2スイッチ22に障害が発生した状態を示す。ただし、指名ルータ20aを含めてその他のルータ20およびネットワークの回線状態は正常である。L2スイッチ22に障害が発生した場合、ルータAは、しきい値を経過してもマーク付きIPパケットを受信できないため、図10Cに示すように、Missingパケットをマルチキャストする。指名ルータ20aは、通常通りマーク付きIPパケットを送信しており、回線障害の発生が分からない。
ルータA以外のルータ20は、Missingパケットを受信した場合、図10Dに示すように、しきい値(MT)をマルチキャストする。ルータAは、しきい値が格納されたパケットを受信した場合、現在の最大のしきい値と受信したパケットに格納されたしきい値を比較し、より大きいものを最大のしきい値として用いる。ルータA以外のルータ20は、指名ルータ20aからも通常通りマーク付きIPパケットを受信している。このため、ルータA以外のルータ20は、図10Eに示すように、Aliveパケットをマルチキャストする。
ルータAは、他のルータ20からAliveパケットを受信する。これにより、ルータAは、指名ルータ20aが正常動作しているが、回線障害があり、以前のルートが使えないことを検出する。そこで、ルータAは、新しいルートで指名ルータと隣接関係を結ぶためLSAを指名ルータ20aへ送信し、図10Fに示すように、初期状態へ遷移する。
次に、障害は発生していないが、回線を通るアプリケーションのパケットが少なくなった場合の動作例を説明する。図11A〜11Dは、回線を通るアプリケーションのパケットが少なくなった場合の動作を示す図である。ここでは、説明を簡単にするために、指名ルータ20aと隣接する1台のルータ20の動作について説明する。
通常状態では、図11Aに示すようにルータ20は、指名ルータ20aよりマーク付きIPパケットを受信する。また、ルータ20および指名ルータ20aは、ともにパケット間隔を計測してしきい値を算出する。
図11Bは、回線を通るアプリケーションのパケットが少なくなり、指名ルータ20aより送信されるマーク付きIPパケットが一時、送信されない期間が発生した状態を示す。指名ルータ20aは、パケットの間隔がしきい値以上となることが予測される場合、図11Cに示すように、ダミーのマーク付きIPパケットをルータ20へ送信する。
ルータ20は、図11Dに示すように、ダミーのマーク付きIPパケットを受信することにより、指名ルータ20aが正常動作していることが分かり、通常通りの動作を続ける。これにより、指名ルータ20aからルータ20へ中継されるパケットの期間がしきい値よりも長い場合でも、ルータ20は、図11Dに示すように、ダミーのマーク付きIPパケットを受信することにより、指名ルータ20aのOSPF機能が停止した状態と判定せずに動作しつづけることができる。
次に、輻輳等によってマーク付きIPパケット、Missingパケット、Aliveパケットなどのパケットが喪失した場合の動作例を説明する。図12A〜12Eは、パケットが喪失した場合の動作を示す図である。
通常状態では、図12Aに示すように各ルータ20は、指名ルータ20aよりマーク付きIPパケットを受信する。また、ルータ20および指名ルータ20aは、ともにパケット間隔を計測してしきい値を算出する。
図12Bは、指名ルータ20aから送信されるはずのマーク付きIPパケットが、輻輳等の何らかのネットワークの不具合により、ルータAへ届かない状態を示す。ただし、指名ルータ20aを含めてその他のルータ20は正常である。パケットが喪失した場合、ルータAでは、計測しているパケットの受信期間がしきい値を超える。このため、ルータAは、図12Cに示すように、Missingパケットをマルチキャストする。ここで、Missingパケットも何らかの不具合により、いくつかが途中で廃棄されたものとする。
Missingパケットを受信した他のルータ20は、図12Dに示すように、現在のしきい値(MT)をルータAへ送信する。このしきい値を記載したパケットも何らかの不具合により、いくつか途中で廃棄されたとする。ルータAは、いくつかのしきい値を記載したパケットを受信しその最大値を算出し、Aliveパケットの受信を待つ。
一方、指名ルータ20aは正常動作している。このため、各ルータ20は、AliveパケットをルータAへ送信する。その全てのAliveパケットが喪失することは考えにくく、図12Eに示すように、いずれかのAliveパケットがルータAに到達する。ルータAは、Aliveパケットを受信することにより、指名ルータ20aが正常動作しているが、隣接関係のある経路上で障害が発生したと判断する。そこで、ルータAは、自身のOSPFの初期状態へ状態遷移し、隣接関係の再構築を試みる。
ここで、従来のHelloパケットを使った生存確認法では、計4個のHelloパケットを送出して初めて生存確認を判断する。このため、従来のHelloパケットを使った生存確認法では、生存を確認して経路を切替えるまで時間が40秒以上かかる。
一方、本実施例の方式は、IPパケット間隔のしきい値によるが、しきい値を1秒であれば約10秒程度、しきい値が0.1秒の場合は約7秒程度で経路を切替えることができ、いずれの場合も既存方式と比較して経路切替の大幅な時間短縮が可能となる。また、本実施例の方式は、回線中を流れるIPパケットが少ない場合、ダミーのIPパケットを送信する機能を使い、しきい値を超えない送信間隔にするため、通信負荷が上昇することになる。しかし、例えば、64バイトのダミーのIPパケットを0.1秒間隔で送信しても、5.12kbpsの帯域にしかならない。このため、本実施例の方式は、通信負荷を過剰に上昇させることもない。
上述してきたように、本実施例に係る通信システム10では、指名ルータ20aは、中継するパケットのIPヘッダのオプション部分に、指名ルータ20aを通過したことを示す情報を書き込む。指名ルータ20a以外のルータ20は、受信したパケットのIPヘッダのオプション部分に指名ルータ20aを通過したことを示す情報が書き込まれているか監視する。そして、ルータ20は、監視の結果、指名ルータ20aを通過したことを示す情報が書き込まれたパケットが所定のしきい値以上受信されない場合、経路の再構築を行う。これにより、本実施例に係る通信システム10は、経路に異常があった場合に経路の切替えを速やかに行うことができる。通信システム10は、このように経路の切替えを速やかに行うことができる結果、経路に異常により、通信システム10を介して通信を行うアプリケーションに支障を来たすことが抑制できる。また、本実施例に係る通信システム10は、指名ルータ20aの生存確認のため、Helloパケットを送信する必要がなくなり、トラヒックを軽減できる。また、本実施例に係る通信システム10は、パケットのIPヘッダに指名ルータ20aを通過したことを示す情報が書き込むため、パケットが中継されるネットワークにL2スイッチ22が存在してもルーティングに影響を受けることがない。また、本実施例に係る通信システム10は、パケットのIPヘッダのオプション部分に指名ルータ20aを通過したことを示す情報が書き込むため、パケットの実データに影響を与えることがなく、また、IPヘッダの宛先などの情報も書き換えないため、パケットのルーティングに影響を与えることもない。
また、ルータ20は、監視の結果、指名ルータ20aを通過したことを示す情報が書き込まれたパケットが所定のしきい値以上受信されない場合、指名ルータ20aが不明な状態であることを他のルータ20へ通知する。そして、ルータ20は、指名ルータ20aが不明な状態であることを通知してから所定のしきい値の期間を経過する間に指名ルータ20aが動作していることを示す通知が受信できない場合、経路の再構築を行う。これにより、本実施例に係る通信システム10は、指名ルータ20aとの間の経路の異常と、指名ルータ20aの機能停止を判別して、経路の切替えを行うことができる。
また、ルータ20は、他のルータ20から指名ルータが不明な状態である通知を受信した場合、当該他のルータ20へしきい値を通知する。そして、ルータ20は、指名ルータが不明な状態であることを通知してからしきい値および他のルータ20から通知されるしきい値のうち、最大のしきい値の期間を経過する間に指名ルータ20aが動作していることを示す通知が受信できない場合、経路の再構築を行う。これにより、本実施例に係る通信システム10は、指名ルータ20aの機能停止を検出して、経路の切替えを行うことができる。
また、指名ルータ20aは、各ルータ20へ中継するパケットの間隔がしきい値以上となることが予測される場合、IPヘッダのオプション部分に、指名ルータ20aを通過したことを示す情報を書き込んだパケットを送信する。これにより、本実施例に係る通信システム10は、指名ルータ20aを経由してルータ20へ送信されるパケットが少なく、パケットの間隔がしきい値以上となる場合でも、経路の切替えが行われることを抑制できる。
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
例えば、上記の実施例では、ネットワーク11〜14を1つのエリアとして指名ルータおよびバックアップ指名ルータを選出する場合について例示したが開示の装置はこれに限定されない。例えば、ネットワーク11〜14をそれぞれエリアに分けて指名ルータおよびバックアップ指名ルータを選出し、それぞれのエリアにおいて指名ルータが指名ルータを通過したことを示すマークを書き込んだパケットをエリア内のルータに転送し、エリア内の各ルータがマークを書き込んだパケットの受信間隔から指名ルータの機能停止を検出してもよい。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的状態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、図3に示す制御部32をさらに細かい処理部に分けてもよい。
[制御プログラム]
また、上記の実施例で説明した制御部32の各種の処理は、あらかじめ用意されたプログラムをコンピュータシステムで実行することによって実現することもできる。そこで、以下では、図13を用いて、上記の実施例で説明した制御部32と同様の機能を有する制御プログラムを実行するコンピュータの一例を説明する。図13は、制御プログラムを実行するコンピュータを示す図である。
図13に示すように、コンピュータ300は、CPU(Central Processing Unit)310、ROM(Read Only Memory)320、HDD330、RAM(Random Access Memory)340を有する。これら300〜340の各部は、バス400を介して接続される。
ROM320には、上記の実施例1に示す制御部32と同様の機能を発揮する制御プログラム320aが予め記憶される。すなわち、ROM320には、図13に示すように、制御プログラム320aが記憶される。なお、制御プログラム320aについては、適宜分離しても良い。
HDD330には、各種の情報が記憶される。例えば、HDD330は、リンクステートエントリの情報や、ルーティングテーブル、しきい値、許容時間を記憶する。
そして、CPU310は、各種の情報を読み出してRAM340に格納する。CPU310は、RAM340に格納された関係情報を用いて、制御プログラム320aを実行する。なお、RAM340に格納される各データは、常に全てのデータがRAM340に格納される必要はなく、処理に必要なデータのみがRAM340に格納されれば良い。
なお、上記した制御プログラム320aについては、必ずしも最初からROM320に記憶させておく必要はない。
例えば、コンピュータ300に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」にプログラムを記憶させておく。そして、コンピュータ300がこれらからプログラムを読み出して実行するようにしてもよい。
10 通信システム
20 ルータ
20a 指名ルータ
20b バックアップ指名ルータ
30 インタフェース部
31 記憶部
32 制御部
40 書込部
41 計測部
42 算出部
43 判定部
44 送信部
50 監視部
51 計測部
52 算出部
53 解除部
54 通知部
55 再構築部

Claims (7)

  1. 中継するパケットのIPヘッダのオプション部分に、指名ルータを通過したことを示す情報を書き込む書込部を有する指名ルータと、
    受信したパケットのIPヘッダのオプション部分に前記指名ルータを通過したことを示す情報が書き込まれているか監視する監視部と、前記監視部による監視の結果、前記指名ルータを通過したことを示す情報が書き込まれたパケットが所定のしきい値以上受信されない場合、経路の再構築を行う再構築部と、を有するルータと、
    を備えたことを特徴とする通信システム。
  2. 前記ルータは、
    前記監視部による監視の結果、指名ルータを通過したことを示す情報が書き込まれたパケットが所定のしきい値以上受信されない場合、前記指名ルータが不明な状態であることを他のルータへ通知する通知部をさらに有し、
    前記再構築部は、前記通知部により前記指名ルータが不明な状態であることを通知してから所定のしきい値の期間を経過する間に前記指名ルータが動作していることを示す通知が受信できない場合、経路の再構築を行う
    ことを特徴とする請求項1記載の通信システム。
  3. 前記通知部は、他のルータから指名ルータが不明な状態である通知を受信した場合、当該他のルータへしきい値を通知し、
    前記再構築部は、前記通知部により前記指名ルータが不明な状態であることを通知してから前記しきい値および他のルータから通知されるしきい値のうち、最大のしきい値の期間を経過する間に前記指名ルータが動作していることを示す通知が受信できない場合、経路の再構築を行う
    ことを特徴とする請求項2記載の通信システム。
  4. 前記指名ルータは、
    各ルータへ中継するパケットの間隔が前記しきい値以上となることが予測される場合、IPヘッダのオプション部分に、指名ルータを通過したことを示す情報を書き込んだパケットを送信する制御を行う送信部をさらに有することを特徴とする請求項1または請求項2に記載の通信システム。
  5. 指名ルータに選出された場合、中継するパケットのIPヘッダのオプション部分に、指名ルータを通過したことを示す情報を書き込む書込部と、
    指名ルータに選出されていない場合、受信したパケットのIPヘッダのオプション部分に前記指名ルータを通過したことを示す情報が書き込まれているか監視する監視部と、
    前記監視部による監視の結果、前記指名ルータを通過したことを示す情報が書き込まれたパケットが所定のしきい値以上受信されない場合、経路の再構築を行う再構築部と、
    を有することを特徴とするルータ。
  6. 指名ルータが、
    中継するパケットのIPヘッダのオプション部分に、指名ルータを通過したことを示す情報を書き込み、
    指名ルータと隣接関係にあるルータが、
    受信したパケットのIPヘッダのオプション部分に前記指名ルータを通過したことを示す情報が書き込まれているか監視し、
    監視の結果、前記指名ルータを通過したことを示す情報が書き込まれたパケットが所定のしきい値以上受信されない場合、経路の再構築を行う、
    ことを特徴とする通信方法。
  7. 指名ルータに選出された場合、中継するパケットのIPヘッダのオプション部分に、指名ルータを通過したことを示す情報を書き込み、
    指名ルータに選出されていない場合、受信したパケットのIPヘッダのオプション部分に前記指名ルータを通過したことを示す情報が書き込まれているか監視し、
    監視の結果、前記指名ルータを通過したことを示す情報が書き込まれたパケットが所定のしきい値以上受信されない場合、経路の再構築を行う、
    各処理を実行させることを特徴とするルータの制御プログラム。
JP2012101645A 2012-04-26 2012-04-26 通信システム、ルータ、通信方法および制御プログラム Expired - Fee Related JP5953101B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012101645A JP5953101B2 (ja) 2012-04-26 2012-04-26 通信システム、ルータ、通信方法および制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012101645A JP5953101B2 (ja) 2012-04-26 2012-04-26 通信システム、ルータ、通信方法および制御プログラム

Publications (2)

Publication Number Publication Date
JP2013229814A true JP2013229814A (ja) 2013-11-07
JP5953101B2 JP5953101B2 (ja) 2016-07-20

Family

ID=49677031

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012101645A Expired - Fee Related JP5953101B2 (ja) 2012-04-26 2012-04-26 通信システム、ルータ、通信方法および制御プログラム

Country Status (1)

Country Link
JP (1) JP5953101B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022102051A1 (ja) * 2020-11-12 2022-05-19 日本電信電話株式会社 センサ収容端末、切断判定方法および切断判定プログラム
WO2022259300A1 (ja) * 2021-06-07 2022-12-15 日本電信電話株式会社 通信接続判定方法、通信接続判定装置およびセンサシステム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008205721A (ja) * 2007-02-19 2008-09-04 Hitachi Communication Technologies Ltd データ転送装置、基地局、およびデータ転送方法
JP2010509814A (ja) * 2006-11-10 2010-03-25 テレフオンアクチーボラゲット エル エム エリクソン(パブル) ネットワークドメインのためのエッジノード

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010509814A (ja) * 2006-11-10 2010-03-25 テレフオンアクチーボラゲット エル エム エリクソン(パブル) ネットワークドメインのためのエッジノード
JP2008205721A (ja) * 2007-02-19 2008-09-04 Hitachi Communication Technologies Ltd データ転送装置、基地局、およびデータ転送方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JPN6016007237; 河合洋臣 他: '東京証券取引所新統合ネットワーク「arrownet」の構築' 日立評論 第91巻,第11号, 200911, 第46-49頁, 日立評論社 *
JPN6016007239; 土井 博生: '通信ネットワーク障害時におけるOSPFの経路切り替え高速化の検討' 電気学会研究会資料 , 20120621, 第19-24頁, 一般社団法人電気学会 通信研究会 CMN-12-1 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022102051A1 (ja) * 2020-11-12 2022-05-19 日本電信電話株式会社 センサ収容端末、切断判定方法および切断判定プログラム
WO2022259300A1 (ja) * 2021-06-07 2022-12-15 日本電信電話株式会社 通信接続判定方法、通信接続判定装置およびセンサシステム

Also Published As

Publication number Publication date
JP5953101B2 (ja) 2016-07-20

Similar Documents

Publication Publication Date Title
JP7288993B2 (ja) ネットワークにおけるパケット伝送のための方法及びノード
US10148554B2 (en) System and methods for load placement in data centers
JP5876493B2 (ja) ネットワーク障害から復旧するための高速フラッディングベースの高速収束
JP4840236B2 (ja) ネットワークシステム及びノード装置
JP4389221B2 (ja) ネットワーク、ルータ装置、それに用いる切替方法及びそのプログラム並びに記録媒体
KR101629533B1 (ko) 브로드캐스트 네트워크에 대한 ldp igp 동기화
JP2006229967A (ja) 高速マルチキャスト・パス切り替え
CN101395853A (zh) 有效地动态维护一束链路上的双向转发检测的技术
US9467332B2 (en) Node failure detection for distributed linear protection
JP6508051B2 (ja) 通信制御装置、通信制御システム、通信制御方法及び通信制御プログラム
EP3029883B1 (en) Network protection method and apparatus, next-ring node, and system
CN114448877B (zh) 路径切换方法、设备及系统
US20230231798A1 (en) Conditional routing delivery in a compromised network
EP4199465A1 (en) Creating a packet with a loopback label stack to detect network link/node failures
JP5953101B2 (ja) 通信システム、ルータ、通信方法および制御プログラム
JP2009232263A (ja) 通信装置および障害監視方法
JP5004758B2 (ja) レイヤ2ネットワークおよびネットワーク接続装置
JP2008177806A (ja) パケット交換ネットワークおよび障害完成装置
JP5558436B2 (ja) ネットワークシステムおよびネットワーク故障回避方法
JP4644233B2 (ja) 伝送路システム、フレーム伝送方法およびフレーム伝送装置
JP6217190B2 (ja) パケット中継装置、パケット中継システム、パケット中継方法
JP2008311715A (ja) オーバレイノード、該オーバレイノードを備えたオーバレイネットワークおよびオーバレイルーティング方法とそのためのプログラム
JP5506714B2 (ja) ネットワーク接続装置
JP2012010092A (ja) ノード装置、ネットワークシステム、故障通知方法、およびコンピュータプログラム
JP2007096561A (ja) 固定的な通信を行う2系統の基幹ネットワークに接続されたサーバ〜端末間の通信経路切替システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150320

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160301

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160427

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160607

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160613

R150 Certificate of patent or registration of utility model

Ref document number: 5953101

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees