以下、本発明の好適な実施の形態について、図面を参照して詳細に説明する。
<第1の実施形態>
図1は、第1の実施形態に係るルータを含むネットワーク構成図である。図1に示すネットワークシステムは、ルータ1(ルータA)、ルータ2(ルータB)、ルータ3A、3B及び端末(実施例ではパーソナルコンピュータPC)4を含む。このうち、本実施形態に係るルータは、ルータ1であり、ルータ2、3A、3Bについては、従来技術に係るルータである。以降の説明においても、本実施形態に係るルータを従来技術に係るルータと区別するために、符号「1」を付して表すこととする。
ルータ1の先にはルータ3Aを介してネットワークAが接続されており、ルータ2の先にはルータ3Bを介してネットワークB、Cが接続されている。端末4は、ルータ1あるいはルータ2を介してネットワークA、B、Cと通信を行う。
端末4がネットワークA、B、Cと通信を行う際には、ルータ1、2から受信したルータ・アドバタイズメント(以下RA)パケットに基づいてIPv6グローバルアドレス及びデフォルトルータの設定を行う。端末4は、ルータ1、2から受信したRAパケットのうち、ルータプレファレンス値を比較して、より優先度が高いことを示す値が格納されている方のルータをデフォルトルータとして設定する。
本実施形態に係るルータ1によれば、自装置において保有するルーティングテーブルを参照し、ネットワークの状態に変化があった場合には、その変化に応じて自装置から送信するルータプレファレンス値を設定し直す。ルータ1においては、他方のルータ2において設定されている固定値のルータプレファレンス値に対して相対的に高い値あるいは低い値を設定する。
図1に示す構成においては、ルータ1は、インタフェースlan0とlan1とを有し、インタフェースlan0は2経路から受信しており、インタフェースlan1は1経路から受信している。
本実施形態においては、ルータ1は、保有するルーティングテーブルに格納されている情報に基づいて、ネットワークの状態すなわちインタフェースごとの受信経路について変更があった場合には、その変更内容に応じてルータプレファレンス値を切り替える。
図2は、ルーティングテーブル及び端末4の通信経路を示す図である。
図2(a)、(b)及び(c)は、それぞれルータ1(ルータA)、ルータ2(ルータB)及び端末4が保有するルーティングテーブルを示す。ルータ1、2は、それぞれ宛先ネットワークと中継ゲートウェイとを対応付けて格納している。端末4は、ルータ1、2から受信したルータプレファレンス値により決定したデフォルトルータ情報を保有している。デフォルトルータは、宛先ネットワーク数(経路数)の多いルータ2が設定されている。
各装置が図2(a)〜(c)に示す状態の下では、端末の通信経路は、図2(d)に示すように、ネットワークAについてはホップ数が「3」であるのに対して、ネットワークB、Cについてはホップ数が「2」である。宛先ネットワーク数が多い方のルータ2よりも低いルータプレファレンス値をルータ1において設定していることによる。
図3は、本実施形態に係るルータ1において保有される動的プレファレンステーブルを示す図である。本実施形態においては、動的プレファレンステーブルは、インタフェースごとの経路数(宛先ネットワーク数)に応じてルータ1のルータプレファレンス値を変更する際に参照されるテーブルをいう。
動的プレファレンステーブルの1つの定義情報には、広報インタフェース情報、切り替え条件種別、切り替え条件、条件一致時のプレファレンス情報、条件不一致時のプレファレンス情報及び前回広報時のプレファレンス情報を含む。
広報インタフェース情報は、ルータプレファレンス値を動的に変更させたいRA広報インタフェースを示す情報が格納される。
切り替え条件種別は、ルータプレファレンス値を動的に変更するか否かを判断する基準となるネットワーク状態を示す情報が格納される。本実施形態においては、ルータ1の「インタフェースごとの受信経路数」が格納される。
切り替え条件は、ルータ1のルータプレファレンス値を切り替える条件が格納され、具体的には、「インタフェース名1の受信経路数がインタフェース名2の受信経路数よりも多い」あるいは「インタフェース名1の受信経路数がインタフェース名2の受信経路数よりも少ない」のいずれかが格納される。本実施形態においては、「インタフェースlan0の受信経路数がインタフェースlan1の受信経路数よりも多い」ことを示す情報が、切り替え条件として設定している。
条件一致時のプレファレンス情報は、上記切り替え条件を満たす場合にルータ1のルータプレファレンス値として設定すべき値が格納される。本実施形態においては、受信経路数について「lan0>lan1」の条件を満たす場合のルータプレファレンス値として、「低(low)」が設定される。
条件不一致時のプレファレンス情報は、上記切り替え条件を満たしていない場合にルータ1のルータプレファレンス値として設定すべき値が格納される。本実施形態においては、受信経路数について「lan0≦lan1」である場合のルータプレファレンス値として、「高(high)」が設定される。
前回広報時のプレファレンス情報は、前回端末4に送信したRAパケット送信時に設定したルータプレファレンス値が格納される。
上記のとおり、図1に示す構成の下でルータ1がデフォルトルータに設定されている場合、端末4がルータ2を経由するネットワークB、Cと通信を行う際には、ルータ2がデフォルトルータに設定されている場合と比べると、ルータ1−ルータ2間の1ホップ多い通信となる。
インタフェースlan1の受信経路数よりもインタフェースlan0の受信経路数の方が多い場合は、このような1ホップ多い通信がより多く発生することが予想される。このため、ルータ1のルータプレファレンス値をルータ2のそれよりも予め低く設定しておくことにより、デフォルトルータからのパケットの転送を低減させる。
そして、本実施形態に係るルータ1は、図2に示すルーティングテーブルの内容が変更されたときは、図3に示す動的プレファレンステーブルにしたがって、ルータ1のインタフェースlan0、lan1それぞれについての受信経路数すなわち宛先ネットワーク数を計数する。そして、各インタフェースの受信経路数の大小関係に応じて、ルータ1のルータプレファレンス値をルータ2のそれよりも高い値に変更する。
ルータプレファレンス値の設定処理は、定期的にRAメッセージを送信するタイミング、あるいはネットワークの状態の変化によりルータ1が保有するルーティングテーブルが変更されたタイミングで実行される。
以下、フローチャートを参照しながら、本実施形態に係るルータ1においてルータプレファレンス値を動的に設定する方法について具体的に説明する。
図4は、本実施形態に係るルータ1が定期的にRAメッセージを端末4に送信する処理を示したフローチャートである。
まず、ステップS1で、動的プレファレンステーブル(以下プレファレンステーブルと略記)を参照し、ステップS2で、プレファレンステーブルの定義情報を1つ取り出す。先に図3を参照して述べたとおり、プレファレンステーブルは、インタフェースごとに定義されている。
ステップS2で、プレファレンステーブルに定義がない場合は、ステップS13に進み、ルータプレファレンス値として「中(middle)」を設定し、ステップS14に進む。ステップS2で、プレファレンステーブルから定義情報を取り出せた場合は、ステップS3に進む。
ステップS3で、取り出した定義情報のうち、「広報インタフェース情報」が示すインタフェース名と、RAメッセージを送信するインタフェース名とを比較する。互いに一致しない場合は、ステップS2に戻り、次の定義情報を取り出す。
ステップS3で、広報インタフェース情報が示すインタフェース名とRAメッセージを送信するインタフェース名とが互いに一致する場合は、ステップS4に進み、定義情報のうち、「切り替え条件種別」をチェックする。チェックした結果、受信経路数以外の条件が設定されている場合は、ステップS13に進み、上記と同様の処理を行う。切り替え条件種別として「受信経路数」が設定されている場合は、ステップS5に進む。
ステップS5で、定義情報のうち「切り替え条件」のうち、「インタフェース1」に対応するインタフェース名(lan0)を取得する。ステップS6で、取得したインタフェースlan0から受信している経路数を、図2のルーティングテーブルから算出する。
なお、図2(a)においては記載を省略しているが、ルーティングテーブルには、宛先ネットワークごとに、中継テーブルに加え、インタフェース情報が対応付けられている。インタフェース情報とは、パケットを宛先ネットワークに転送するときにルータ1が使用するネットワークインタフェースを示し、具体的には、ポート番号等の論理識別子からなる。本実施形態に係るルータ1は、図2(a)に示すルーティングテーブルを参照し、インタフェースlan0に対応する宛先ネットワーク数を集計することにより、受信経路数を算出している。
ステップS7及びステップS8においては、ステップS5及びステップS6と同様の処理を行い、インタフェース2に対応するインタフェースlan1を取得し、インタフェースlan1についての受信経路数をルーティングテーブルから算出する。インタフェースlan1についての受信経路数の算出方法については、上記ステップS6においてインタフェースlan0についての算出方法と同様である。
ステップS9で、先にステップS6及びステップS8でそれぞれ取得した、インタフェース1及び2の受信経路数を、「切り替え条件」に沿って比較する。ステップS9において比較した結果、切り替え条件と一致すると判定された場合は、ステップS10に進み、切り替え条件と一致しないと判定された場合は、ステップS11に進む。
ステップS10においては、ステップS2で取り出した定義情報のうち、「条件一致時プレファレンス情報」が示すルータプレファレンス値を取得し、ステップS12に進む。ステップS11においては、ステップS2で取り出した定義情報のうち、「条件不一致時プレファレンス情報」が示すルータプレファレンス値を取得し、ステップS12に進む。
ステップS12で、ステップS10あるいはステップS11で取得したルータプレファレンス値を、プレファレンステーブルの「前回広報時のプレファレンス情報」に格納し、ステップS13に進む。
ステップS13で、それぞれ取得したルータプレファレンス値でRAを端末4に広報し、処理を終了する。
図5は、本実施形態に係るルータ1が保有するルーティングテーブルに変更が発生した場合に、端末4にRAメッセージを送信する処理を示したフローチャートである。
図4に示す定期的にRAメッセージを送信する処理と異なる点は、ステップS21で、ルータ1が、保有するルーティングテーブルに変更が発生したことを認識することにより、RAメッセージを送信するための処理を開始する点にある。ステップS22からステップS32までの処理は、それぞれステップS1からステップS11までの処理とそれぞれ同様である。
ステップS33で、取り出した定義情報のうち、「前回広報時のプレファレンス情報」と、ステップS31あるいはステップS32で取得したルータプレファレンス値とを比較する。ルータプレファレンス値が互いに一致する場合は、特に処理を行わず、処理を終了する。
ステップS33で比較した結果、ルータプレファレンス値が互いに一致しない場合は、ステップS31あるいはステップS32で取得したルータプレファレンスでRAを広報し、処理を終了する。
なお、ルータ1において設定するルータプレファレンス値については上記の例に限らず、ネットワーク構成に応じて、予めルータ2のルータプレファレンス値よりも高い値を設定しておき、状態の変化が会った場合には低い値に変更する構成とすることもできる。
<第2の実施形態>
図6は、第2の実施形態に係るルータを含むネットワーク構成図である。なお、図1に示すネットワーク構成と異なり、本実施形態に係るルータはルータBである。
ルータB及びルータA(ルータ2)が、センターネットワーク(ネットワークA、B、C)と接続され、冗長ネットワークを構成している。ルータA、Bは、いずれもダイナミックルーティングプロトコルを使用する。
ルータB(本実施形態に係るルータ1)は、バックアップルータであるルータAからデフォルトルート広報のみを受信し、センターネットワークからルータ3経由で個別経路情報を受信している。
図6(a)に示すように、センター向けネットワークが正常である場合には、ルータ1は、ルータ3経由で個別経路情報を受信しているため、経路総数が多く「4」である。これに対し、図6(b)に示すように、ルータ1とルータ3との間の障害等が発生し、センター向けネットワークに異常が発生している場合には、ルータ1は、個別経路情報を受信することができず、経路総数は図6(a)の正常な場合と比べて少なく「1」である。
このことを利用して、本実施形態に係るルータ1は、受信経路の総数に基づいて、センター向けネットワークが有効な場合にはルータプレファレンス値をルータ2のそれよりも高く「高(high)」を設定する。一方で、センター向けネットワークで異常が発生している場合にはルータプレファレンス値をルータ2のそれよりも低く「低(low)」を設定する。
センター向けネットワークに異常がある場合には、ルータ1のルータプレファレンス値をバックアップルータであるルータ2のそれよりも低く設定することで、端末4は、ルータ2をデフォルトルータに設定することができる。すなわち、従来は、各ルータのルータプレファレンス値は固定されていたため、ルータ1とルータ3との間に異常が発生している場合には、端末4は端末4−ルータ1(ルータB)−ルータ2(ルータA)−ネットワークA、B、Cの経路を経て通信を行う必要があった。これに対し、本実施形態に係るルータ1においてルータプレファレンス値をルータ2のそれよりも低く変更することで、ルータ1(ルータB)−ルータ2(ルータA)の1ホップの通信を削減することができる。
以下、上記の第1の実施形態と異なる点を中心に、具体的に説明する。
図7は、本実施形態に係るルータ1において保有される動的プレファレンステーブルを示す図である。1つの定義情報を構成する項目は、図3に示す上記の実施形態と同様である。
本実施形態においては、切り替え条件種別として、「経路総数」が格納され、切り替え条件として、「4個以上」を示す情報が格納されている。また、ネットワークの構成に対応させて、切り替え条件一致時のプレファレンス情報として「高(high)」が、切り替え条件不一致時のプレファレンス情報として「低(low)」が設定されている。
図8は、本実施形態に係るルータ1が定期的にRAメッセージを端末4に送信する処理を示したフローチャートである。
図8のステップS41からステップS44までの処理は、図4のステップS1からステップS4までの処理とそれぞれ同様である。ステップS44において、経路総数以外の条件が設定されている場合は、ステップS50に進み、図4のステップS13と同様に、ルータプレファレンスに「中(middle)」を設定する。そして、ステップS51に進む。
ステップS44において、切り替え条件種別として「経路総数」が設定されている場合は、ステップS45に進む。
ステップS45で、宛先ネットワークと中継ゲートウェイとを対応付けて格納するルーティングテーブルに基づいて、経路総数を獲得する。上記のネットワーク構成では、経路総数「4」を獲得する。
ステップS46で、ステップS45において獲得した経路総数と、プレファレンステーブルに格納されている「切り替え条件」とを比較する。ステップS46において比較した結果、切り替え条件に設定されている「4個以上」の条件と獲得した経路総数とを比較し、一致する(条件を満たす)と判定された場合は、ステップS47に進み、切り替え条件と一致しない(条件を満たさない)と判定された場合は、ステップS48に進む。
ステップS48及びステップS49においては、それぞれ図4のステップS10及びステップS11と同様の処理を行い、ステップS51に進む。
ステップS51で、図4のステップS14と同様に、取得したルータプレファレンス値でRAを広報し、処理を終了する。
図9は、本実施形態に係るルータ1が保有するルーティングテーブルに変更が発生した場合に、端末4にRAメッセージを送信する処理を示したフローチャートである。
図8に示す定期的にRAメッセージを送信する処理と異なり、まず、ステップS61で、ルータ1が保有するルーティングテーブルに変更が発生したことを認識する。ステップS62以降の処理は、図8のステップS42以降の処理と同様であるが、ステップS62において定義情報なしと判定された場合、及びステップS65において切り替え条件種別に経路総数以外が設定されていた場合には、特に処理は行わず、RAを送信せずに処理を終了する点で異なる。
<第3の実施形態>
図10は、第3の実施形態に係るルータ1を含むネットワーク構成図である。ルータや端末等の各装置の配置については、図6に示す第2の実施形態と同様であり、本実施形態に係るルータ1がメインルータであり、ルータ2はバックアップルータである。本実施形態においては、センターネットワーク宛の経路は、いずれもスタティック経路である。
本実施形態に係るルータ1は、インタフェースの状態を監視しており、図10(b)に示すように、センター向けネットワーク側のインタフェースlan1から異常が検出された場合には、ルータプレファレンス値を変更し、ルータ2のルータプレファレンス値よりも低い値を設定する。これにより、従来においては、デフォルトルータがルータ1に固定されているために、端末4−ルータ1−ルータ2の経路を経て通信を行う必要があった。かかる1ホップ多い通信を削減して、端末4は、ルータ1を介さずに直接ルータ2を介してセンターネットワークと通信を行うことが可能となる。
以下、上記の実施形態と異なる点を中心に、具体的に説明する。
図11は、本実施形態に係るルータ1において保有される動的プレファレンステーブルを示す図である。1つの定義情報を構成する項目は、上記の実施形態と同様である。
本実施形態においては、切り替え条件種別として、「インタフェース監視」が格納され、切り替え条件として、「lan1が正常」を示す情報が格納されている。また、ネットワークの構成に対応させて、切り替え条件一致時のプレファレンス情報として「高(high)」が、切り替え条件不一致時のプレファレンス情報として「低(low)」が設定されている。
図12は、本実施形態に係るルータ1が定期的にRAメッセージを端末4に送信する処理を示したフローチャートである。
ステップS81からステップS84までの処理は、それぞれ図4のステップS1からステップS4までの処理、及び図8のステップS41からステップS44までの処理と同様である。
ステップS84において、切り替え条件種別をチェックした結果、インタフェース監視以外の条件が設定されている場合、ステップS91に進む。ステップS91以降の処理については、図4のステップS13以降の処理及び図8のステップS50以降の処理と同様である。
ステップS84において、切り替え条件種別をチェックした結果、「インタフェース監視」が設定されている場合は、ステップS85に進む。
ステップS85で、ステップS82において取得した定義情報の中から「切り替え条件」として設定されているインタフェース名(図11の例では「lan1」)を取得し、ステップS86で、取得したインタフェース名「lan1」に対応するインタフェースの状態をルータ1のシステムから取得する。そして、ステップS87で、ステップS86で取得したインタフェースの状態とプレファレンステーブルに定義されている切り替え条件とを比較する。比較した結果、切り替え条件と一致する場合はステップS88に進み、切り替え条件と不一致の場合はステップS89に進む。以降の処理は、上記の実施形態と同様である。
図13は、本実施形態に係るルータ1において、インタフェースの状態に変化があった場合に端末4にRAメッセージを送信する処理を示したフローチャートである。
図12に示す定期的にRAメッセージを送信する処理と異なり、まず、ステップS101で、インタフェースの状態変更が発生したことを認識する。ステップS102以降の処理については、ステップS103において定義情報なしと判定された場合、及びステップS105において切り替え条件種別にインタフェース監視以外が設定されていた場合には、特に処理を行わず、RAを送信せずに終了する点で図12に示す処理と異なる。メインフローであるステップS102からステップS112までの処理については、図12に示すステップS81からステップS92までの処理とそれぞれ同様である。
<第4の実施形態>
図14は、第4の実施形態に係るルータ1を含むネットワーク構成図である。ルータや端末等の各装置の配置については、第2及び第3の実施形態と同様であり、本実施形態に係るルータ1がメインルータであり、ルータ2はバックアップルータである。
本実施形態に係るルータ1は、ルーティングテーブルを参照し、所定の中継ゲートウェイを経由する経路について、有効/無効を監視する。図14(b)に示すように、所定の中継ゲートウェイを経由する経路が無効となった場合には、ルータプレファレンス値を変更し、ルータ2のルータプレファレンス値よりも低い値を設定する。端末4はデフォルトルータをルータ1からルータ2に切り替えて通信を行うことになり、これにより、上記の実施形態についてと同様に、ルータ1−ルータ2の間の1ホップ多い通信を削減して、端末4が、ルータ1を介さずに直接ルータ2を介してネットワークAと通信を行うことが可能となる。
以下、上記の実施形態と異なる点を中心に、具体的に説明する。
図15は、本実施形態に係るルータ1において保有される動的プレファレンステーブルを示す図である。1つの定義情報を構成する項目は、上記の実施形態と同様である。
本実施形態においては、切り替え条件種別として、「特定経路」が格納され、切り替え条件として、「宛先アドレス:ネットワークAのアドレス、中継ゲートウェイ:R2」を示す情報が格納されている。また、ネットワークの構成に対応させて、切り替え条件一致時のプレファレンス情報として「高(high)」が、切り替え条件不一致時のプレファレンス情報として「低(low)」が設定されている。
図16は、本実施形態に係るルータ1が定期的にRAメッセージを端末4に送信する処理を示したフローチャートである。
ステップS121からステップS124までの処理は、それぞれ図4のステップS1からステップS4までの処理、図8のステップS41からステップS44までの処理、図12のステップS81からステップS84までの処理とそれぞれ同様である。
ステップS124において、切り替え条件種別をチェックした結果、特定経路以外の条件が設定されている場合、ステップS132に進む。ステップS132以降の処理については、図4のステップS13以降、図8のステップS50以降、図12のステップS91以降の処理と同様である。
ステップS124において、切り替え条件種別をチェックした結果、「特定経路」が設定されている場合は、ステップS125に進む。
ステップS125で、ステップS122において取得した定義情報の中から「切り替え条件」として設定されている宛先アドレス(図15の例では「ネットワークAのアドレス」)を取得し、ステップS126で、取得したネットワークAのアドレスが、ルータ1の保有するルーティングテーブルに存在するか否かをチェックする。ネットワークAのアドレスがルーティングテーブルに存在しない場合は、とくに処理を行わず、ステップS129に進む。
ステップS126においてネットワークAのアドレスがルーティングテーブルに存在する場合は、ステップS127に進み、ステップS122で取得した定義情報の中から「切り替え条件」として設定されている中継ゲートウェイ(図15の例では「R2」)を取得し、ステップS128で、取得した中継ゲートウェイR2と、ルータ1の保有するルーティングテーブルに格納されている中継ゲートウェイとを比較して、互いに一致するか否かを判定する。
ステップS128で、取得した中継ゲートウェイとルーティングテーブルに格納されている中継ゲートウェイとが互いに一致する場合は、ステップS129に進み、互いに一致しない場合は、ステップS130に進む。
ステップS129及びステップS130以降の処理については、上記の実施形態と同様である。すなわち、条件一致時には、ルータ1のルータプレファレンス値として、ルータ2のそれよりも高い値を設定してRAメッセージを送信する。条件不一致時には、ルータ1のルータプレファレンス値にルータ2のそれよりも低い値を設定してRAメッセージを送信する。
図17は、本実施形態に係るルータ1が保有するルーティングテーブルに変更が発生した場合に、端末4にRAメッセージを送信する処理を示したフローチャートである。
図16に示す定期的にRAメッセージを送信する処理と異なり、まず、ステップS141で、ルーティングテーブルに変更が発生したことを認識する。ステップS142以降の処理については、ステップS143において定義情報なしと判定された場合、及びステップS145において切り替え条件種別に特定経路以外が設定されていた場合には、特に処理を行わず、RAを送信せずに終了する点で図16に示す処理と異なる。メインフローであるステップS142からステップS153までの処理については、図16に示すステップS121からステップS133までの処理とそれぞれ同様である。
中継ゲートウェイR2(ルータ3)に発生した障害等により、中継ゲートウェイR2を介してネットワークAに接続できなくなっている場合には、ルータ1のルータプレファレンス値「低(low)」よりも相対的に高い値「中(middle)」が固定で設定されているルータ2をデフォルトルータとして通信することとなる。これにより、中継ゲートウェイR2の状態が無効である場合には、端末4はルータ1を介することなく、直接にルータ2を介してネットワークAと通信することが可能となる。
<第5の実施形態>
本実施形態は、端末4にRAメッセージを送信するルータが3台存在するネットワーク構成であり、このうち、本実施形態に係るルータが1台備えられ、ネットワークの状態が変化した場合にその変化に応じて自装置のルータプレファレンス値を設定する方法に関わる。
図18は、第5の実施形態に係るルータ1を含むネットワーク構成図である。このうち、本実施形態に係るルータは、「ルータ1A(ルータA)」である。ルータ1Aの先にはネットワークA、B、Cが接続され、ルータ1B(ルータB)の先にはネットワークDが接続され、ルータ2(ルータC)の先にはネットワークEが接続されている。
本実施形態に係るルータ1に設定されているルータプレファレンス値は、図18に示すネットワーク状態においては「高(high)」である。従来技術に係るルータ2A、2Bに設定されているルータプレファレンス値は固定値であり、「中(middle)」である。端末4は、図18に示すネットワーク状態の下では、ルータ1をデフォルトルータに設定して各ネットワークと通信を行う。
以下、インタフェースごとの受信経路数を切り替え条件とする場合を例に説明することとする。
図19は、本実施形態に係るルータ1において保有される動的プレファレンステーブルを示す図である。1つの定義情報を構成する項目は、上記の実施形態と同様である。また、各項目に設定される情報は、第1の実施形態と同様である。
ルータ1は、インタフェースlan0、lan1間で受信経路数を比較する。そして、lan1から受信する経路数がlan0から受信する経路数よりも多い場合は、ルータプレファレンス値を、同一セグメント内のルータ(ルータ2A、2B)よりも高く設定する。lan0から受信する経路数がlan1から受信する経路数よりも多い場合は、ルータプレファレンス値を、同一セグメント内のルータよりも低く設定する。
上記のとおり、端末4に対してRAメッセージを送信するルータが3台以上存在するネットワーク構成においても、インタフェースごとの受信経路数が変化した場合に、その変化に応じてルータ1から送信するRAのルータプレファレンス値を切り替えることで、端末4は、デフォルトルータを適切に切り替えることができる。これにより、RAを送信するルータ間(ルータ1とルータ2A、2Bの間)の非効率な通信を削減することが可能となる。
また、上記の説明では、インタフェースごとの受信経路数に基づいてルータプレファレンス値の切り替えを行う場合を例に説明しているが、切り替え条件については、これに限らない。上記の他の切り替え条件に基づいて、例えば経路総数、インタフェースの状態、所定の中継ゲートウェイの状態に基づいて、切り替えを行う構成としてもよい。
<第6の実施形態>
本実施形態は、第5の実施形態と同様に、端末4にRAメッセージを送信するルータが3台存在するネットワーク構成であり、このうち、本実施形態に係るルータが2台備えられている場合に、ルータのそれぞれがルータプレファレンス値を設定する方法に関わる。
図20は、第6の実施形態に係るルータ1を含むネットワーク構成図である。図18に示す構成とは異なり、ネットワークDは、本実施形態に係るルータ1Aの先に接続されている。
端末4にRAメッセージを送信するルータ1A、1B、2のそれぞれに設定するルータプレファレンス値については、第5の実施形態と異なる。すなわち、本実施形態に係る2台のルータのうち、4つのネットワークA、B、C、Dがその先に接続されているルータ1Aについては、「高(high)」が設定されており、2つのネットワークがその先に接続されているルータ1Bについては、「中(middle)」が設定されている。1つのネットワークGがその先に接続されている、従来技術に係るルータ2については、「低(low)」が設定されている。端末4は、図20に示すネットワーク状態の下では、ルータ1Aをデフォルトルータに設定して各ネットワークと通信を行う。
以下、インタフェースごとの受信経路数を切り替え条件とする場合を例に説明することとする。
図21は、本実施形態に係るルータ1A、1Bにおいて保有される動的プレファレンステーブルを示す図である。このうち、図21(a)は、ルータ1Aが保有する動的プレファレンステーブルであり、図21(b)は、ルータ1Bが保有する動的プレファレンステーブルである。いずれのルータにおいて保有されるテーブルについても、1つの定義情報を構成する項目は、上記の実施形態と同様である。
各項目に設定される情報については、ルータ1A及び1Bのいずれのテーブルにも、切り替え条件一致時及び不一致時のプレファレンス情報には、それぞれ「中(midele)」及び「高(high)」が格納されている点で、第5の実施形態と異なる。
ルータ1A、1Bは、それぞれインタフェースlan0、lan1の受信経路数を比較する。そして、図18の第5の実施形態に係るルータ1(ルータA)と同様に、lan1から受信する経路数がlan0受信する経路数よりも多い場合は、ルータプレファレンス値としてルータ2のそれよりも高い値「高(high)」を設定する。
lan0から受信する経路数がlan1から受信する経路数よりも多い場合は、第5の実施形態と同様にルータ2のそれよりも高い値を設定するが、本実施形態においては、「中(middle)」を設定する。
例えば、ルータ1Aのインタフェースlan1から受信する経路、すなわちネットワークA、B、C、Dが存在しなくなった場合を考える。
この場合は、ルータ1Aについては、インタフェースlan0及びlan1の受信経路数は、それぞれ「3(ネットワークE、F、G)」及び「0(なし)」となる。図21(a)の動的プレファレンステーブル中の切り替え条件に一致することとなるため、ルータ1Aが端末4に送信するRAメッセージのルータプレファレンス値は、「中(middle)」となる。
ルータ1Bについては、インタフェースlan0及びlan1の受信経路数は、それぞれ「1(ネットワークG)」及び「2(ネットワークE、F)」となる。図21(b)の動的プレファレンステーブル中の切り替え条件と一致しないため、ルータ1Bが端末4に送信するRAメッセージのルータプレファレンス値は、「高(high)」となる。
端末4は、ルータ1A、1B、ルータ2から受信したRAメッセージのルータプレファレンス値から、ルータ1Bをデフォルトルータに設定する。
他の例として、ルータ1Aのインタフェースlan1から受信する経路のうち、2経路(ネットワークA、B)が存在しなくなり、ルータ1Bを経由してネットワークA、Bを受信する構成に変更された場合について考える。
この場合は、ルータ1Aについては、インタフェースlan0及びlan1の受信経路数は、それぞれ「5(ネットワークA、B、E、F、G)」及び「2(ネットワークC、D)」となる。図21(a)の動的プレファレンステーブル中の切り替え条件と一致することとなるため、ルータ1Aが端末4に送信するRAメッセージのルータプレファレンス値は、「中(middle)」となる。
ルータ1Bについては、インタフェースlan0及びlan1の受信経路数は、それぞれ「3(ネットワークC、D、G)」及び「4(ネットワークA、B、E、F)」となる。図21(b)の動的プレファレンステーブル中の切り替え条件と一致しないため、ルータ1Bが端末4に送信するRAメッセージのルータプレファレンス値は、「高(high)」となる。
このように、3台のルータのうち本実施形態に係るルータを2台配置しても、ネットワーク状態に応じてルータプレファレンス値を切り替えることが可能である。
ただし、上記のルータプレファレンス値の切り替えを実現するためには、図20に示すネットワーク構成のように、実施形態に係るルータ以外のルータ(図20においてはルータ2)については、ルータプレファレンス値を他の2台のルータ1A、1Bよりも低い値を設定しておく必要がある。また、実施形態に係る2台のルータのうち、一方についてはルータプレファレンス値を高に設定した場合に他方については中に設定される構成とするために、一方のルータの受信経路数は他方のルータの受信経路数の倍程度である必要がある。これらの条件を満たす場合には、上記のとおり、3台中2台を実施形態に係るルータ1で構成することも可能である。
以上説明したように、上記の第1〜第6の実施形態に係るルータによれば、ネットワークの状態に変化があった場合には、具体的には、ルーティングテーブルあるいは実施形態に係るルータの状態に変化があった場合には、動的プレファレンステーブルを参照して、その変化がルータプレファレンス値切り替え条件を満たす場合に、ルータプレファレンス値を設定し直す。このとき、同一セグメント内のルータにおいて設定されている値よりも相対的に高い値あるいは低い値をルータプレファレンス値に設定する。実施形態に係るルータを含む複数のルータからRAメッセージを受信した端末においては、ネットワークの状態に応じて、ルータ間の戻りの送信が発生する確率の少ないルータを選択的にデフォルトルータとすることができる。これにより、非効率な通信が発生することを効果的に防止し、通信遅延やルータの通信負荷が高くなることによるフォワーディング性能の劣化等の問題を抑制することが可能となる。