[go: up one dir, main page]

JP2007288464A - ネットワークのルーティング方式 - Google Patents

ネットワークのルーティング方式 Download PDF

Info

Publication number
JP2007288464A
JP2007288464A JP2006112924A JP2006112924A JP2007288464A JP 2007288464 A JP2007288464 A JP 2007288464A JP 2006112924 A JP2006112924 A JP 2006112924A JP 2006112924 A JP2006112924 A JP 2006112924A JP 2007288464 A JP2007288464 A JP 2007288464A
Authority
JP
Japan
Prior art keywords
router
packet
routing
network
route
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.)
Pending
Application number
JP2006112924A
Other languages
English (en)
Inventor
Masayuki Kawagishi
正幸 川岸
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.)
Meidensha Corp
Meidensha Electric Manufacturing Co Ltd
Original Assignee
Meidensha Corp
Meidensha Electric Manufacturing Co Ltd
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 Meidensha Corp, Meidensha Electric Manufacturing Co Ltd filed Critical Meidensha Corp
Priority to JP2006112924A priority Critical patent/JP2007288464A/ja
Publication of JP2007288464A publication Critical patent/JP2007288464A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】ネットワーク間の通信経路に障害等が発生した場合、系に混乱を与えることなく適切な経路を確保する。
【解決手段】各ルータは、RPMパケットを全てのルータに転送し、RPMパケットが経由したルータを当該パケットに記録し、このパケットに自身のルータの記録があればこれを転送せずに廃棄する。ネットワーク構成情報から障害を判断したときに「ネットワーク状態通知パケット」で各ルータに通知する。ネットワーク正常の場合はスタティックルーティングを行い、ネットワーク異常の場合はダイナミックルーティングに切り替える。スタティックルーティングで、ルートスキャンパケットを転送して中継経路を検査し、無効なパスを発見したときに代替経路で有効なものに一斉に変更する。ネットワークの障害が回復した場合にデフォルトルーティングテーブルによる経路制御に戻る。
【選択図】図1

Description

本発明は、ルータあるいはL3(レイヤ3)スイッチによるネットワークのルーティング方式に関する。
ネットワーク間でパケットの中継経路を制御する「ルーティング」には、事前に設定された固定の経路に基づいて中継を行なう「スタティックルーティング」と、ルータ間での経路情報のやり取りで決定された経路に基づいて中継を行なう「ダイナミックルーティング」があり、環境やユーザの都合でどちらかが選択されて運用される。
ダイナミックルーティングには幾つかの方法があるが、イーサネット(登録商標)等の非同期ネットワークにおけるルーティングとしては、もっぱらRIP(Routing Information Protocol),OSPF(Open Shortest Path First)などのルーティングプロトコルが使用される。RIPは、経路を構成するルータ数(ホップ数)に従って最短経路を動的に決定する。OSPFは、伝送帯域をもパラメータとして階層化したルーティングが可能になり、通信障害等が発生したときに、新たな通信経路を検索してその確保が可能となる(例えば、特許文献1参照)。
特開2002−374292号公報
スタティックルーティングは、ユーザが設定した経路に忠実に従ってパケットの中継が行なわれるため、ルーティングは安定する。しかし、ネットワークに障害が発生しても自力でこれを迂回することはできない。意図しない経路が組まれることを嫌ってスタティックルーティングを選択するユーザもいるが、これではダイナミックルーティングの恩恵を受けることができない。
しかし、ダイナミックルーティングには一般に以下のような欠点がある。
(1)ルーティングによって決定した経路がユーザの想定からかけ離れたものになる可能性がある。
(2)誤ったルーティング情報によって系が混乱に陥るおそれがある。
例えば、RIPを使った場合、転送経路はホップ数を元に計算されるため、回線速度などを考慮した経路を構築させるのには困難が伴う(RIPではホップ数の上限が小さいため、ホップ数の重み付けで対応するのも難しい)。
また、(2)については、場合によってはループ発生の原因にもなるので重大な問題を引き起こすおそれがある。
本発明の目的は、通信経路に障害等が発生した場合、系に混乱を与えることなく適切な経路を確保できるネットワークのルーティング方式を提供することにある。
前記の課題を解決するための本発明は、以下の構成を特徴とする。
(1)ルータ(あるいはレイヤ3スイッチ)により、ネットワーク間でパケットの中継経路を制御するルーティング方式であって、
各ルータは、ネットワークのルーティングを行なうためのプロトコルを搭載し、経路の管理情報をルータ間で通知し合うRPM(ルーティング・プロトコル・マネジメント)パケットを用意し、前記RPMパケットは、RPMの管理情報のメッセージと、経由したルータのアドレステーブルとを有し、
前記各ルータは、前記RPMパケットをネットワーク中の全てのルータに転送するルータキャストには、RPMパケットが経由したルータを当該パケットに記録し、このパケットを受信したルータが当該パケットに記録された経由ルータの記録を参照し、自身の記録があればこれを転送せずに廃棄するパケット転送手段を備えたことを特徴とする。
(2)前記ルータは、
接続されているべき隣接ルータ、接続されているべきインタフェース、および、そのリンクの状態を記録するテーブルを持つネットワーク構成情報を常時監視し、一部でも問題があればネットワーク障害を判断する手段と、
前記ネットワークの障害を判断したときに「ネットワーク状態通知パケット」でネットワーク中の各ルータに通知する手段と、
ネットワーク正常の場合はスタティックルーティングを行い、ネットワーク異常の場合はダイナミックルーティングに切り替える手段とを備えたことを特徴とする。
(3)前記ルータは、
複数のスタティックルーティングテーブルを設け、各スタティックルーティングテーブルにはネットワーク全体で統一するためのIDを割り当てる手段と、
スタティックルーティングの開始で、ルートスキャンパケットを転送して任意のIDのルーティングテーブルによる中継経路を検査する手段と、
前記中継経路の検査結果に無効なパスを発見したときに、代替経路で有効なものを探し出し、「ルート変更パケット」を転送してルーティングテーブルをそのシリーズにするように系全体に要求する手段と、
前記ルート変更要求された他のルータがそのルーティングテーブルを調査し、問題があった場合にその要求に対して拒否をする手段と、
前記ルート変更要求に対して拒否がなかった場合に、系全体のルーティングテーブルを一斉に変更する手段とを備えたことを特徴とする。
(4)前記ルータは、前記ルーティングテーブルが変更された後、ネットワークの障害が回復した場合にデフォルトルーティングテーブルによる経路制御に戻る手段を備えたことを特徴とする。
以上のとおり、本発明によれば、経由ルータをパケットに記録してゆくことにより、一度受信したことのあるパケットをルータが転送しなくなるため、無駄なパケット巡回を最小限に抑えながら、ネットワーク中のルータにメッセージをマルチキャストすることができる。
また、ネットワークにおける障害の発生の有無を認識し、尚且つその認識をネットワーク中のルータで共有し、その認識に基づいてルーティングポリシーを変更することにより、ネットワーク正常時はユーザの想定した通りの経路でルーティングを行ない(スタティックルーティング)、ネットワークに異常が起きた場合にのみ、ダイナミックルーティングプロトコルによって構築された転送経路を有効として通信状態の確保を図ることが可能となる。
また、意図した通りの中継経路が組まれるかどうか確信が持てないのでダイナミックルーティングを使いたくないが、障害が発生した場合には代替経路に切り替えたい場合に対応することができる。すなわち、通常時に適用するルーティングテーブルおよび発生しうる障害を想定した代替ルーティングテーブルをひとつまたは複数設定しておくことにより、ユーザが意図した通りのルーティング経路が適用され、障害の発生に対しても想定した代替経路が適用され、ユーザの希望に沿ったルーティングを行なうことが可能となる。
また、ルーティングテーブルがデフォルト以外のルーティングテーブルに遷移したあとでネットワークの障害が回復した場合に、デフォルトルーティングテーブルによる経路制御に戻ることにより、経路制御として最も好ましいデフォルトルーティングテーブルに基づくルーティングができる。
本実施形態は、ネットワークのルーティングを行なうためのプロトコルを各ルータに搭載し、このプロトコルの実現にはRPM(ルーティング・プロトコル・マネジメント)パケット、ネットワーク状態通知パケット、ルートスキャンパケット、ルート変更パケットを用意し、これらをルータ間でパケット転送する。以下、これらパケットを使用したルーティング方式を詳細に説明する。
(1)RPMパケットの構造と転送方式
一般的なプロトコルと同様に、RPMでもその管理情報をルータ間で通知し合う必要がある。そのために、まずRPM情報を運搬するための「RPMパケット」を定義する。
RPMパケットの転送形態は、従来のユニキャストパケット転送と同等のユニキャスト方式と、ネットワーク中の全てのルータに対するマルチキャストとして転送するルータキャスト方式とする。
図1にはルータRA、RBと、その間に転送する各種パケットを示し、このうちRPMパケットは以下のパラメータを持たせる。
・タイプ:このパケットに記載されているメッセージのタイプを示す。
・メッセージ:RPMの管理情報の本体。メッセージのタイプによってそれぞれ固有のフォーマットを持つ。
・経由ルータテーブル:RPMパケットが経由したルータのアドレスのテーブル。可変長となる。このテーブルは、ルータキャスト方式による転送の場合のみ設ける。
・経由ルータテーブル長:経由ルータテーブルの長さを示す。このパラメータは、ルータキャスト方式による転送の場合のみ設ける。
次に、RPMパケットの転送形態について詳しく説明する。
(A)ユニキャスト方式
従来のユニキャスト転送と同等。ルータは、ルーティングテーブルから判断される転送先インタフェースにRPMパケットを転送する。
(B)ルータキャスト方式
ルータで接続されたネットワークにおいて、全ルータに対するマルチキャスト転送を行なう方式。ルータは、受信ポートを除く全ポートにパケットを転送する。しかし、ルータが単純にこの転送を行なってしまうと、ループ接続がある場合には無駄なパケットの巡回が発生してしまう。これを避けるために、RPMパケットのルータキャストでは次の手順で行う。
(step1)ルータキャストRPMパケットを受信したルータは、そのパケットの「経由ルータテーブル」を検索し、自身のアドレスが記入されているかどうかを調べる。
(step2)前記テーブルに自身のアドレスを発見したら、そのパケットは転送せずに廃棄する。
(step3)前記テーブルに自身のアドレスが発見されなかったら、同テーブルに自身のアドレスを追加し、経由ルータテーブル長をインクリメントし、それを他の隣接ルータに転送する。
以上の手順により、パケットがループ上を冗長に巡回することを避ける。このルータキャスト方式の動作例を、図2に示すネットワーク構成を例として説明する。比較のために、単純なルータマルチキャストを行なった場合の例も併せて示す。
図2の(a):A,B,C,Dはルータを、丸数字はインタフェースをそれぞれ示している。仮にルータAのインタフェース「丸数字1」からルータキャストパケット(□)を、同インタフェース「丸数字2」から単純なマルチキャストパケット(■)をそれぞれ送信したとする。なお、ルータキャストパケットの経由ルータテーブルにはルータAが登録されている。
図2の(b):ルータキャストパケットがルータBに到達したとき、ルータBは同パケットの経由ルータテーブルを参照して自身のアドレスを探したが、見つからないので自身のアドレスを追加し、隣接ルータに転送する。一方、単純マルチキャストパケットを受信したルータDは単純に隣接ルータへこれを転送する。
図2の(c):上記の図2(b)と同じ要領で各パケットが中継される。ルータキャストパケットの経由ルータテーブルもそれぞれ更新される。
図2の(d):ルータDからルータキャストパケット(□ABD)を受信したルータAは、その経由ルータテーブルを参照したところ、その中に自身のアドレスが登録されていることを発見したため、これを廃棄する。ルータDからルータキャストパケット(□ABD)を受信したルータCは、その経由ルータテーブルを参照したが、自身のアドレスがないのでそれを追加し、ルータBに転送する(□ABDC)。ルータCからルータキャストパケット(□ABC)を受信したルータDは、その経由ルータテーブルを参照したが、自身のアドレスがないのでそれを追加し、ルータA,Bに転送する(□ABCD)。一方、単純マルチキャストパケットは相変わらず単純に転送される。
図2の(e):ルータDからルータキャストパケット(□ABCD)を受信したルータAは、その経由ルータテーブルを参照したところ、その中に自身のアドレスが登録されていることを発見したため、これを廃棄する。ルータCからルータキャストパケット(□ABDC)を受信したルータBは、その経由ルータテーブルを参照したところ、その中に自身のアドレスが登録されていることを発見したため、これを廃棄する。ルータDからルータキャストパケット(□ABCD)を受信したルータBは、その経由ルータテーブルを参照したところ、その中に自身のアドレスが登録されていることを発見したため、これを廃棄する。これにより、ルータキャストパケットはなくなる。一方、単純マルチキャストパケットは単純転送される。
以降は、寿命が尽きるまで単純マルチキャストパケットは転送され続ける。しかも、増殖を続ける。
以上の例で見たように、単純マルチキャスト方式ではTTL(Time to Live:パケットの有効期間)が尽きるまで無駄なパケット巡回が発生してしまうが、ルータキャスト方式ではパケットの巡回は発生せず、ひとつのメッセージ転送における重複は最小限に抑えられる。
(2)ルーティングポリシーの動的切り替え
ネットワークの状態に応じてスタティックルーティングとダイナミックルーティングを使い分けるための方式について説明する。この方式は、(A)障害の有無の検出、(B)障害の通知、(C)ルーティング方式の切り替えの3つの機構で構成される。
(A)障害の有無の検出
ユーザは正常時におけるネットワーク構成を「ネットワーク構成情報」としてルータに登録しておく。ルータは登録された構成を常時監視し、一部でも問題があればネットワークの障害であると判断する。
ネットワーク構成情報は、図1中に示すように、そのルータに接続されているべきルータ、接続されているべきインタフェース、およびそのリンク状態をもってひとつのエントリとする、エントリテーブルである。図3を参照して以下に例を示す。
図3の(a)には、A,B,C,Dの4つのルータがネットワーク上に存在する場合を示し、丸数字はインタフェースをそれぞれ示している。
ユーザはネットワークの運用を開始する前に、このネットワーク構成を各ルータに設定しておく。設定が完了すると、各ルータのネットワーク構成情報は図3の(b)のようになる。なお、ネットワークの運用前なのでリンク情報は未定‘?’となっている。ネットワークの運用が開始されたら、リンク状態は正常(○)か異常(×)のいずれかとなる。
運用が開始されると各ルータは経路情報を通知するためにルーティングパケットの交換を開始する。これにより、登録されたルータが然るべきインタフェースに接続されているかどうかを確認できる。詳細なリンク状態判定基準(ルール)を以下に示す。
(ルール1)ハードウェア的にリンクステータスをモニタできる場合には、モニタされたリンクステータスがOFFであればリンク状態を異常と判断する。リンクステータスがONであった場合には以降の条件で判断する。なお、リンクステータスがONであっても、実際にネットワーク構成情報で設定されたルータが正しく接続されている証拠とはならない。
(ルール2)標準的には、ネットワーク運用開始直後はリンク状態を正常とみなす。この条件は、正常なネットワークであっても運用を開始してから実際にルーティングパケットを受信するまでにはタイムラグがあるので、その期間を異常と判断するのは適切でないことによる。ユーザのネットワーク運用ポリシーによっては異常と判断してもよいが、少なくとも運用するネットワーク内では初期値を「正常」か「異常」のどちらかに統一しておく。
(ルール3)ネットワーク構成情報で設定されたルータからのルーティングパケットが設定されたインタフェースで受信されたら、リンク状態が正常であるとの判断が維持される。
(ルール4)ネットワーク構成情報で設定されたルータからのルーティングパケットが設定されたインタフェースで受信されない状態が所定の時間以上続いた場合には、そのリンク状態が異常であると判断する。
図3の例では、ネットワークに問題がなければ各インタフェースでルーティングパケットが受信されるのでネットワーク構成情報のリンク状態は図4のように更新される。
次に、各ルータは自身に登録されたネットワーク構成情報の各エントリのリンク状態を常時更新し、その結果をもとにネットワークの障害を以下のように検出する。
(ルール5)自身に登録されたネットワーク構成情報のエントリのリンク状態がひとつでも異常であるならば、そのルータはこれをネットワークの障害として検出する。
図4の例で見ると、ルータA,B,C,Dの各ネットワーク構成情報のリンク状態はみな正常(○)なので、どのルータもネットワークの障害は検出していない。ここで、図5に示すように、仮にルータC−D間で断線が発生したとする。
この断線によって、ルータCはインタフェース「丸数字4」で受け取っていたルータDからのルーティングパケットを受信しなくなり、またルータDはインタフェース「丸数字9」で受け取っていたルータCからのルーティングパケットを受信しなくなる。この状態になって所定の時間が経過したら、ルータC、Dはネットワーク構成情報の該当エントリのリンク状態を異常「×」として更新する(図5の(b)参照)。
ルータCおよびDは、ネットワーク構成情報においてリンク状態が異常であるエントリがあるため、ネットワークの障害として検出される。
このように、事前に設定されたネットワーク構成が実際の構成上で機能しない場合にネットワーク障害として検出することができる。
(B)障害の通知
ここでは、あるルータがネットワークの障害に気が付いたときにそれをネットワーク中の各ルータに通知するための手続きについて規定する。
ルーティングポリシーの管理を適切に行なうためには、ネットワーク中の全てのルータがネットワークの障害発生の有無について、共通した認識を持っていなければならない。すなわち、共通した認識を持っていれば、それが間違った認識であったとしても、重大な通信障害のもとになることはない。なお、通信できないパスがあるかもしれないが、設定に誤りさえなければ、転送経路がループ化した状態で落ち着いてしまうことはない。
図6の(a)に図5の(a)と同じ状態を示すように、ルータC−D間の断線が発生すると、ルーティングパケットの受信停止によってルータC,Dはネットワークの障害を検出することができるが、ルータA,Bは障害発生箇所に隣接していないため、障害を検出することはできない。
そこで、障害の発生を他のルータにも知らせるために「ネットワーク状態通知パケット」を定義する。ネットワーク状態通知パケットは図1中に示すように、RMPパケット仕様に準拠し、以下の項目を設ける。
・転送形態=ルータキャスト方式
・メッセージタイプ=「ネットワーク状態通知メッセージ」
また、ネットワーク状態通知パケットは以下の固有のパラメータを持つ。
・障害検出フラグ=ネットワーク障害の有無を示す。障害ありの場合にセットする。
ネットワーク状態通知パケットは以下のように運用される。
・前記の障害の検出の機構によって、ネットワークの障害を検出した状態のルータは、障害検出フラグをセットしたネットワーク状態通知パケットを定期的に送信し続ける。
・前記の障害の検出の機構によって、ネットワークの障害を検出しなくなったルータは、障害検出フラグをセットしたネットワーク状態通知パケットの定期送信を中止する。
・「ネットワーク異常」(以下の説明参照)と判断された状態において、一定期間以上、ネットワークの障害を通知されない場合(つまり、障害検出フラグがセットされたネットワーク状態通知パケットを受信しなかった場合)には、障害検出フラグをクリアしたネットワーク状態通知バケットを発信する。
ルータは、ネットワークの状態が正常であるか異常であるかについて以下のように判断する。
(ルール1)前記の障害の検出機構によってネットワークの障害を検出した場合には「ネットワーク異常」と判断する。
(ルール2)障害検出フラグがセットされたネットワーク障害通知パケットを受信した場合にも「ネットワーク異常」と判断する。
(ルール3)前記の障害の検出の機構によってネットワークの障害を検出しておらず、尚且つ、障害検出フラグがセットされたネットワーク状態通知パケットを一定期間以上受信しておらず、尚且つ、障害検出フラグがクリアされたネットワーク状態通知パケットを受信した場合には「ネットワーク正常」と判断する。
図6を参照して、障害発生通知の動作例を示す。
図6の(a):障害発生状態を示す。
図6の(b)および図6の(c):ルータC,Dはネットワーク障害を検出し、前記のルータキャスト方式で障害をネットワーク全体に通知する。図中の下線付きルータは「ネットワーク異常」と判断したルータを示す。
ルータC,Dはネットワーク状態通知パケット(障害検出フラグ=セット)を定期的に送信する。
図6の(d):ルータC−D間の断線が回復したとき、ルータC,Dはネットワークの障害を検出しない状態となったため、障害検出フラグをセットしたネットワーク状態通知パケットの送信を中止し、ネットワーク状態通知パケットの定期送信が途絶え、静かな状態となる。ただし、いずれのルータも未だに「ネットワーク異常」と認識している。
上記の状態にて所定の時間が経過し、障害検出フラグをクリアしたネットワーク状態通知パケットを任意のルータが送信する。冗長な送信を避けるために、各ルータがランダムなタイミングで同パケットを送信し、他のルータが先に同パケットを送信した場合には自身の送信を控えるのが望ましい(誰かひとりがこれを系全体に通知すればよい)。
図6の(e):各ルータは「ネットワーク正常」と認識するようになる。
(C)ルーティング方式の切り替え
前記の(A)障害の有無検知と(B)障害の通知の機構により、各ルータはネットワークの正常・異常を正しく判断できる。この判断に基づいてルーティングポリシーを以下のように運用する。
(ルール1)「ネットワーク正常」の場合はスタティックルーティングを行なう。
(ルール2)「ネットワーク異常」の場合はダイナミックルーティングを行なう。
これにより、ネットワークが正常である限り、ユーザが想定した経路に基づいてパケットが中継される。また、障害が発生した場合には、ダイナミックルーティングに切り替えられるために、障害箇所の迂回経路が自動的に組まれて通信状態が維持される。
(3)複数のスタティックルーティングエントリの運用
前記までは、障害発生時にダイナミックルーティングに切り替える方式を示したが、以下には障害が起きても想定外の中継経路が組まれないようにするための方式を示す。この方式では、各ルータはスタティックルーティングのときに使用する中継経路をひとつではなく、複数の設定を可能とし、実際のネットワーク上に展開可能な経路設定を選んでルーティングを行なう。
(A)経路情報の設定
図1中に示すように、スタティックルーティングで使用するルーティングテーブルをルータに設定する。このテーブルには、デフォルトで使用するルーティングテーブルの他に、障害などによってデフォルト経路が使用不可になった場合に使用する代替ルーティングテーブルをひとつあるいは複数を登録可能とする。全てのルーティングテーブルにはIDが割り当てられ、デフォルトのルーティングテーブルにはID=0を割り当てる。
ルーティングは常に同じIDを持つルーティングテーブルに基づいて行なわれるので、同一IDのルーティングテーブルにおいて転送ループなどの矛盾のないように注意深く設定を行なう必要がある。ネットワークにおける全てのルータにルーティングテーブルを設定したら運用を開始する。
図7に例を示す。図7の(a)に示すルーティング状態において、仮に、A−B,B−C,B−D間が高速、A−D間が中速、C−D間が低速とする。このネットワークに従来のRIPをそのまま適用すると、ホップ数が短いという理由で高速であるにもかかわらず、低速なパスを含む転送経路が組まれるため、図7の(b)に例を示すように、ユーザは複数の静的な経路情報を設定したとする。
図7の(b)に示すルーティングテーブルは、各ルータA,B,C,Dの左側はネットワークを示し、右側の数字はそのネットワーク宛てのパケットを転送すべきインタフェースを示す。この例では、ルータAにネットワークa、ルータBにネットワークb、ルータCにネットワークcが接続されているものとする。例えば、ルータBがネットワークd宛てのパケットを受信したら、これをインタフェース「丸数字7」へ転送する(ID=0の場合)。
(B)デフォルトルーティングテーブル(ID=0)に基づいて運用開始
ID=0のルーティングテーブルに基づいて運用を開始する。この時点では、デフォルトルーティングテーブルによるルーティングが完全に機能するかどうか分からない。もしかしたら、ある経路が断線しているため、一部のパケットが宛て先に届かない可能性もある。
ただし、設定そのものに問題がない限り、ネットワークが正常であろうとなかろうと、少なくとも中継がループしてしまうおそれはない。なぜならば、ネットワークが正常なときにループになってしまうならば、それは設定のミスであり、ネットワークが異常なときにはリンクの欠損が発生するので、ループが発生するはずがないからである。
(C)ルーティングテーブルの検査
スタティックルーティングを開始したら、ルータは現在運用している中継経路に問題がないかどうか確かめなくてはならない。そこで、中継経路のチェックを行なうために「ルートスキャンパケット」を定義する。ルートスキャンパケットは図1中に示すように、RMPパケット仕様に準拠し、以下の項目を設ける。
・転送形態=ユニキャスト方式(ネットワークを宛て先とする)
・メッセージタイプ=「ルートスキャンメッセージ」
また、ルートスキャンパケットは以下の固有のパラメータを持つ。
・ルーティングテーブルID=チェックする経路情報のID
ルータはルートスキャンパケットを次の手順で運用する。
(step1)ルータに登録されている宛て先ネットワーク全てに対してルートスキャンパケットを送信して返事を待つ。
(step2)ルートスキャンパケットを受信したルータはそれを中継する。ただし、ルーティングするのに使用するルーティングテーブルはそのパケットに含まれているルーティングテーブルIDで指定されたルーティングテーブルとする。もし仮に、一般フレームがID=0のルーティングテーブルに基づいてルーティングされている状態において、ID=1のルートスキャンパケットが受信されたら、このパケットだけはID=1のルーティングテーブルに基づいて中継される。
(step3)ルートスキャンパケットは中継されてゆき、やがて宛て先ネットワークに直接接続されたルータがこのパケットを受け取る。このルータはそれをネットワークには転送せずに送信元ルータに返信する。
(step4)自分が送信したルートスキャンパケットに対する返信を受け取ったルータは、その経路が機能していると判断し、ルーティングテーブルの該当エントリに○印を付ける。
(step5)自分が送信したルートスキャンパケットに対する返信を受け取らずに一定期間が経過したら再送する。
(step6)ルートスキャンパケットの返事を所定回数以上連続して受け取れない場合には、その経路がだめであると判断し、ルーティングテーブルの該当エントリに×印を付ける。
(step7)この経路チェックを絶えず継続する。
この手順でルーティングテーブルをチェックし、全てのエントリに○か×を付けてゆく。全てのエントリに○印がついている場合にはその経路情報でのルーティングを継続することができる。
図8は、図7の状態の例を用いて経路制御の行なわれる様子を示す。仮にID=0に基づいてルーティングしているとし、ここでルータAによる経路スキャンに注目する。なお、同様の経路スキャンを他のルータも行なっているが、簡単のためこの例題では表記しない。
図8の(a):ルータAはネットワークb,c,d宛てにルートスキャンパケットを送信する。ルータAのID=0の経路情報によれば、いずれのネットワークもインタフェース「丸数字1」がアサインされているので、これらのパケットはこのインタフェースから送信される。これらのルートスキャンパケットの経路情報IDにはいずれも0がセットされている。
図8の(b):ルータBは自身のルーティングテーブルに基づいてルートスキャンパケットを処理する。ネットワークc,d宛てのルートスキャンパケットはそれぞれインタフェース「丸数字5」、「丸数字7」へ転送される。また、ネットワークb宛てのルートスキャンパケットは自身の管理するネットワーク宛てであるので、これをルータAに対して返信する(宛て先がルータAに書き換えられる)。
図8の(c):ルータAはネットワークb宛てに送ったルートスキャンパケットの返信を確認したので、ルーティングテーブルの該当エントリは正常であると判断し、○印を付ける。また、ルータC,Dはそれぞれ自身の管理するネットワーク宛てのルートスキャンパケットを受信したので、これをルータAに対して返信する。
図8の(d):ルータBはルータA宛てのルークスキャンパケットを受信したので、これをルータAに転送する。
図8の(e):ルータAはネットワークc,d宛てに送ったルートスキャンパケットの返信を確認したので、ルーティングテーブルの該当エントリは正常であると判断し、○印を付ける。
以上のように、ルータAのルーティングテーブルの全てのエントリに○印がついたので、ルータAはこのルーティングテーブルに基づいてルーティングを続けても問題ない。ただし、障害はいつ発生するかわからないので、定期的にチェックを行なう必要がある。
仮に、ルータB−D間が断線していた場合には上記の図8の(b)〜(e)は以下のようになる。
図8の(b):ルータAからネットワークd宛てのルートスキャンパケットを受信したルータBはID=0のルーティングテーブルに基づいてインタフェース「丸数字7」にこれを転送する。
図8の(c):B−D間は断線しているため、ルータBが転送したネットワークd宛てルートスキャンパケットはルータDに届かないため、ルータDは何もしない。
図8の(d):ネットワークd宛てのルートスキャンパケットは既にネットワーク中には存在しない。
図8の(e):ネットワークd宛てに送ったルートスキャンパケットの返事が来ないため、ルータAは(何度かリトライした後に)該当エントリに×印を添付する。この結果、ルーティングテーブル(ID=0)は、図9のようになる。
これでルータAはID=0のルーティングテーブルを使っていたのでは、一部のパスが無効であることに気が付く。
(D)ルーティングテーブルの切り替え手続き
ルーティングテーブルを検査した結果、その中に無効なパスを発見したルータは、代替経路で有効なものを探し出し、見つかったらルーティングテーブルをそのシリーズにするように系全体にアピールする。アピールが認められたら、系全体のルーティングテーブルを一斉に変更する。
以下に詳細な手順を示すが、この手続きを行なうために「ルート変更パケット」を定義する。ルート変更パケットは、図1中にも示すように、RMPパケット仕様に準拠し、以下の項目を設ける。
・転送形態=ルータキャスト方式
・メッセージタイプ=「ルート変更メッセージ」
また、ルートスキャンパケットは以下の固有のパラメータを持つ。
・ルーティングテーブルID=この変更手続きで対象となっているルーティングテーブルID
・コマンド=変更手続き上のコマンド。「要求」「拒否」「実施」のいずれか。
このルート変更パケットを使用したルーティングテーブルの切り替えには、以下の手順によって行われる。
(step1)代替ルーティングテーブルの検索
前記の(C)ルーティングテーブルの検査によって現行のルーティングテーブルに欠陥を見つけたルータは、他に有効なルーティングテーブルがないかどうか、同様の手順を駆使して検索する。代替ルーティングテーブルの検索はIDの小さい方から順次行なってゆく(ただし、現行のテーブルを除く)。仮に、ID=0でのルーティングに問題があれば、ID=1,2,3,…の順番でルーティングテーブルを検索してゆく。ルーティングテーブルの検査における手順は(C)ルーティングテーブルの検査で示した通りである。有効な代替ルーティングテーブルが見つかったら、次のステップへと進む。見つからなかった場合にはルーティングテーブルの変更をあきらめる。
(step2)ルーティングテーブル変更アピール
有効な代替ルーティングテーブルが見つかったら、そのルータはこのルーティングテーブルの採用をネットワーク全体にアピールする。そのルータは前記のルート変更パケットを送信する。ここで、ルーティングテーブルIDには採用を希望するルーティングテーブルID、コマンドには「要求」をそれぞれセットする。以降、アピールが受け入れられるか、あるいは明示的に拒否を示されるまで、このIDに対するアピールを繰り返す。
(step3)アピールされたIDの検査
ルート変更パケットによって、ネットワークの各ルータは要求されたIDのルーティングテーブルが自身にとっても有効かどうかを検査する。検査方法は前記の(C)ルーティングテーブルの検査で示した通りである。もし、そのルーティングテーブルでは無効なパスがあることが分かったルータは、そのルーティングテーブルに対して拒否を示すためにルート変更パケットを送信する。ここで、ルーティングテーブルIDには拒否するルーティングテーブルのID、コマンドを「拒否」をそれぞれセットする。アピールされたルーティングテーブルでも問題ないことが分かったルータは、現行のルーティングを続けながら、変更アピール手続きでの次のアクションを待つ。
(step4)ルーティングテーブルの変更
変更を希望するルータがルート変更「要求」パケットを送信し始めてから所定の時間が経過し、その間にルート変更「拒否」パケットを受信しなかった場合には、そのルータはアピールが受け入れられたと判断し、ルート変更パケットを送信する。ここで、ルーティングテーブルIDにはアピールしていたルーティングテーブルID、コマンドには「実施」をセットする。この後、同ルータはこのルート変更「実施」パケットを定期的に送信し、そのルーティングテーブルが採用された状態を維持する。もし、その必要がなくなった場合にはこのパケットの定期送信を中止する。
(step5)ルーティングテーブルの変更拒否
もし、アピール期間中にルート変更「拒否」パケットを受信した場合に、このルーティングテーブルへの変更はあきらめて、別の代替ルーティングテーブルの検索工程に戻る。別の代替ルーティングテーブルが見つかったら、同様の手順でそのルーティングテーブルに対する採用アピールを行なう。
以上の手順になるルーティングテーブル変更手続きの例を図10、図11を参照して以下に説明する。前記の(C)ルーティングテーブルの検査の例のように、B−D間で断線が発生し、たまたまルータAがそれに最初に気が付いたとする。なお、経路チェックは各ルータが定期的に行なっており、それらは非同期であるので、誰が最初に気が付くかは不定となる。
図10の(a):ルータAはID=0のルーティングテーブルに問題を見つけたので、ID=1のルーティングテーブルの有効性について調査する。ID=1のテーブルに基づいて、ネットワークb,c,d宛てのルートスキャンパケットがインタフェース「丸数字2」から送信された。以降の手順は(C)ルーティングテーブルの検査で示した通りである。
図10の(b):上記の検査において、ネットワークb,c宛てに送信したルートスキャンパケットは、ルータDにおいてインタフェース「丸数字8」に転送されてしまうため、ルータB,Cへ到達することなく消滅する。従って、(何度かリトライした後に)ルータAのテーブルは図示のようにチェックされる。
図10の(c):ID=1のルーティングテーブルではだめなことがわかったので、ルータAは次にID=2のルーティングテーブルのチェックを行なう。手順は前述の通りである。
図11の(a):上記の検査の結果、この経路では問題ないことが判明した。
図11の(b):ルータAはID=2に対するルート変更「要求」パケットを送信する。同バケットの転送手順は以前に説明した通りである。
このとき、ネットワーク中のルータB,C,Dはルート変更「要求」パケットを受信したので、それぞれがID=2のルーティングテーブルのチェックを開始する。手順は以前に示した通りである。
図11の(c):ルータB,C,DはそれぞれID=2のルーティングテーブルの調査結果をルーティングテーブルに書き込む。いずれのルータにおいても×印はつかなかったので、この提案に対して異を唱えるルータは現れない。
図11の(d):アピール期間が経過し、旦つアピールが拒否されなかったので、ルータAはルート変更「実施」パケットを送信する。また、ルータAは自身のルーティングテーブルをID=2のものに変更する。
次に、ルート変更「実施」パケットを受信したルータB,C,Dは、アピールが実行に移されたことを知ったので、さっそく各自のルーティングテーブルをID=2のものに変更する。
さらに、ID=2のルーティングテーブルに基づくルーティングが開始され、ユーザが設定した通りの障害迂回経路に基づいてパケット中継が行なわれるようになる。
(5)デフォルト経路情報への復帰
ネットワークに障害がなければ、デフォルトルーティングテーブルに基づくルーティングがもっとも望ましい。そこで、ルーティングテーブルがデフォルト以外のルーティングテーブルに遷移したあとでネットワークの障害が回復した場合に、デフォルトルーティングテーブルによる経路制御に戻る手段を設ける。
前記の(4)ルーティングテーブルの切り替え手続で示したように、ルーティングテーブルの変更状態維持を望むルータは定期的にルート変更「実施」パケットを送信し続ける。このルータは変更状態を維持する一方、デフォルトルーティングテーブルでのルーティングが回復するのを監視するため、定期的にID=0のルーティングテーブルを検査する。検査方法は前記の(C)ルーティングテーブル検査方法で示した通りである。
もしも、ID=0でのルーティングに問題ないことが判明したら、そのルータはルート変更「実施」パケットの定期送信を中止する。
もし、他にもそのIDのルーティングテーブルによるルーティングを望むルータがいれば、ルート変更「実施」パケットの定期送信はそのルータに引き継がれ、引き続きその状態が維持される。
もし、他にだれもそのIDのルーティングテーブルによるルーティングを特に希望しない場合には、ネットワークにルート変更「実施」パケットを送信するものがいなくなる。
ルート変更「実施」パケットが一定期間以上途絶えた場合には、ネットワーク中の任意のルータがID=0のルーティングテーブルへ変更するためのアピールを開始する。ID=0へのルーティングテーブルへの変更に対するアピールがなされたら、他のルータはさっそくID=0のルーティングテーブルのチェックを開始する。その結果、ID=0のルーティングテーブルでは問題のあることがわかったルータは、ID=0に対するルート変更「拒否」パケットを発信する。なお、ID=0でのルーティングに問題のあるルータは現行のIDのルーティングテーブルによるルーティングを維持するため、前述のルート変更「実施」パケットを定期的に送信し続けなけばならない。
ID=0への変更に異議を唱えるルータがいなければ、アピール期間が満了した後に、アピールが実施に移されるのは、既に説明した通りである。
なお、デフォルト経路情報に戻った場合には、ID=0に対するルート変更「実施」パケットの定期送信は必要ない。ルート変更「実施」パケットの定期送信はID≠0であるルーティングテーブルに基づくルーティングを維持したい場合にのみ必要とする。
本発明の実施形態を示すルータRA、RBと各種パケットの例。 ルータキャスト方式のネットワーク構成例。 4つのルータ構成とネットワーク構成情報の例。 ネットワーク構成とリンク状態の変化例。 ネットワークの断線とリンク状態の変化例。 ネットワーク障害時の通知の例。 ルーティング状態における経路情報の設定例。 ルーティング状態における経路制御の例。 ルーティングの定期的なチェック結果による経路状態の例。 ルーティングテーブル変更手続きの例(その1)。 ルーティングテーブル変更手続きの例(その2)。
符号の説明
RA、RB ルータ

Claims (4)

  1. ルータ(あるいはレイヤ3スイッチ)により、ネットワーク間でパケットの中継経路を制御するルーティング方式であって、
    各ルータは、ネットワークのルーティングを行なうためのプロトコルを搭載し、経路の管理情報をルータ間で通知し合うRPM(ルーティング・プロトコル・マネジメント)パケットを用意し、前記RPMパケットは、RPMの管理情報のメッセージと、経由したルータのアドレステーブルとを有し、
    前記各ルータは、前記RPMパケットをネットワーク中の全てのルータに転送するルータキャストには、RPMパケットが経由したルータを当該パケットに記録し、このパケットを受信したルータが当該パケットに記録された経由ルータの記録を参照し、自身の記録があればこれを転送せずに廃棄するパケット転送手段を備えたことを特徴とするネットワークのルーティング方式。
  2. 前記ルータは、
    接続されているべき隣接ルータ、接続されているべきインタフェース、および、そのリンクの状態を記録するテーブルを持つネットワーク構成情報を常時監視し、一部でも問題があればネットワーク障害を判断する手段と、
    前記ネットワークの障害を判断したときに「ネットワーク状態通知パケット」でネットワーク中の各ルータに通知する手段と、
    ネットワーク正常の場合はスタティックルーティングを行い、ネットワーク異常の場合はダイナミックルーティングに切り替える手段とを備えたことを特徴とする請求項1に記載のネットワークのルーティング方式。
  3. 前記ルータは、
    複数のスタティックルーティングテーブルを設け、各スタティックルーティングテーブルにはネットワーク全体で統一するためのIDを割り当てる手段と、
    スタティックルーティングの開始で、ルートスキャンパケットを転送して任意のIDのルーティングテーブルによる中継経路を検査する手段と、
    前記中継経路の検査結果に無効なパスを発見したときに、代替経路で有効なものを探し出し、「ルート変更パケット」を転送してルーティングテーブルをそのシリーズにするように系全体に要求する手段と、
    前記ルート変更要求された他のルータがそのルーティングテーブルを調査し、問題があった場合にその要求に対して拒否をする手段と、
    前記ルート変更要求に対して拒否がなかった場合に、系全体のルーティングテーブルを一斉に変更する手段とを備えたことを特徴とする請求項1または2に記載のネットワークのルーティング方式。
  4. 前記ルータは、前記ルーティングテーブルが変更された後、ネットワークの障害が回復した場合にデフォルトルーティングテーブルによる経路制御に戻る手段を備えたことを特徴とする請求項3に記載のネットワークのルーティング方式。
JP2006112924A 2006-04-17 2006-04-17 ネットワークのルーティング方式 Pending JP2007288464A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006112924A JP2007288464A (ja) 2006-04-17 2006-04-17 ネットワークのルーティング方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006112924A JP2007288464A (ja) 2006-04-17 2006-04-17 ネットワークのルーティング方式

Publications (1)

Publication Number Publication Date
JP2007288464A true JP2007288464A (ja) 2007-11-01

Family

ID=38759825

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006112924A Pending JP2007288464A (ja) 2006-04-17 2006-04-17 ネットワークのルーティング方式

Country Status (1)

Country Link
JP (1) JP2007288464A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011029975A (ja) * 2009-07-27 2011-02-10 Fujitsu Ltd ネットワーク管理プログラム、ネットワーク管理装置、およびネットワーク管理方法
US9699090B2 (en) 2013-10-22 2017-07-04 Fujitsu Limited Transfer device, control device, and transfer method
CN111835653A (zh) * 2020-07-20 2020-10-27 苏州亿荃胜通信科技有限公司 一种网络流量负载均衡的控制方法及系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011029975A (ja) * 2009-07-27 2011-02-10 Fujitsu Ltd ネットワーク管理プログラム、ネットワーク管理装置、およびネットワーク管理方法
US9699090B2 (en) 2013-10-22 2017-07-04 Fujitsu Limited Transfer device, control device, and transfer method
CN111835653A (zh) * 2020-07-20 2020-10-27 苏州亿荃胜通信科技有限公司 一种网络流量负载均衡的控制方法及系统
CN111835653B (zh) * 2020-07-20 2023-10-20 浙江亿邦通信科技有限公司 一种网络流量负载均衡的控制方法及系统

Similar Documents

Publication Publication Date Title
JP4449903B2 (ja) ルータ装置およびネットワーク接続方式
EP3373547B1 (en) Method for realizing disaster tolerance backup
US9054956B2 (en) Routing protocols for accommodating nodes with redundant routing facilities
JP3715501B2 (ja) スパニングツリー用ブリッジ及びそれを用いた経路変更方法
JP4899959B2 (ja) Vpn装置
US8489913B2 (en) Network system and network relay apparatus
US7782764B2 (en) Method and system for switching serving services of the virtual private LAN service
US20080056142A1 (en) Test method for message paths in communications networks and redundant network arrangements
US20080225699A1 (en) Router and method of supporting nonstop packet forwarding on system redundant network
US8699380B2 (en) Port table flushing in ethernet networks
JP4773981B2 (ja) 通信制御プログラム
JP2009284486A (ja) リングネットワークルーティング方法およびリングネットワークノード
US20080298371A1 (en) Relay apparatus capable of preventing mistaken learning of mac address learning table
US7839769B2 (en) Method for the organization of network nodes in a packet-switched network
JPWO2005057864A1 (ja) ネットワークの経路切替えシステム
JP2006279482A (ja) ネットワーク、ルータ装置、それに用いる切替方法及びそのプログラム並びに記録媒体
JP2007288464A (ja) ネットワークのルーティング方式
JP2013046090A (ja) 通信装置および通信システム
JP2007228293A (ja) ノード装置および通信システム
JP4839334B2 (ja) 冗長プロトコル共存システム及び転送装置
EP1964330B1 (en) Method for reducing fault detection time in a telecommunication network
JP2018007094A (ja) 中継装置の冗長化構成における物理的非対称ルーティング防止メカニズム
JP3546328B2 (ja) 通信ネットワークのためのルータ
JP5004051B2 (ja) フラッディングリレーパケット方式を使用したメッシュ型ネットワーク網及びそのネットワーク網に用いられるノード
JP4653800B2 (ja) 伝送路システム、フレーム伝送装置、伝送路システムにおける伝送路切り替え方法およびプログラム