(57)【要約】【課題】  ルーティング・テーブルを低コストで生成できるＩＰパケット伝送リングネットワークシステムを提供する。【解決手段】  リングネットワークを構成する各ノード１は、定期的又は自ノードに新しい端末が接続された時に、自ノードに接続している端末のＭＡＣアドレスとノードアドレスを組にしたアドレス情報を同報パケットにより他のノード１に通知する。各ノード１は、他のノード１からパケットを受信すると、そのパケットにより提供されるアドレス情報を記憶すると共に、中継カウント数を学習して記憶する。各ノード１は、アドレス情報より得られる端末のＭＡＣアドレスを記憶するＭＡＣアドレステーブルＭと、学習した最小中継カウント数を記憶する方路テーブルＤをルーティング・テーブルとして具備する。そしてこれらのルーティング・テーブルを参照することによりノードに接続された端末間のＩＰパケットの伝送経路を設定してパケットを送信する。【選択図】  図１
2005184595.tif 000002
【特許請求の範囲】
【請求項１】
第１の方路でパケットを伝送する第１の伝送路と、前記第１の方路と反対の第２の方路でパケットを伝送する第２の伝送路とからなるリング伝送路と、
前記第１及び第２の伝送路に接続される複数のノードと、
前記複数のノード内に設けられ、前記各ノードのノードアドレスと前記各ノードに接続されている端末のＭＡＣアドレスとが対応して記憶されるＭＡＣアドレステーブルと、
前記複数のノード内に設けられ、他のノードのノードアドレスに対応して、前記他のノードから前記第１の伝送路を用いて受信したリングパケットに含まれる中継カウント情報を更新した第１の中継カウント数、前記他のノードから前記第２の伝送路を用いて受信した前記リングパケットに含まれる中継カウント情報を更新した第２の中継カウント数、および自ノードから前記他のノードに送信する時に使用する前記第１又は第２の伝送路が記憶される方路テーブルと
を具備することを特徴とするリングネットワークシステムの通信制御方法。
【請求項２】
第１の方路でパケットを伝送する第１の伝送路と、前記第１の方路と反対の第２の方路でパケットを伝送する第２の伝送路とからなるリング伝送路と、
前記第１及び第２の伝送路に接続される複数のノードとからなるリングネットワークシステムの通信制御方法であって、
前記複数の各ノードは、
前記各ノードのノードアドレスと前記各ノードに接続されている端末のＭＡＣアドレスとが対応して記憶されるＭＡＣアドレステーブルと、
他のノードのノードアドレスに対応して、前記他のノードから前記第１の伝送路を用いて受信したリングパケットに含まれる中継カウント情報を更新した第１の中継カウント数、前記他のノードから前記第２の伝送路を用いて受信した前記リングパケットに含まれる中継カウント情報を更新した第２の中継カウント数、および自ノードから前記他のノードに送信する時に使用する前記第１又は第２の伝送路が記憶される方路テーブルとを具備し、
第１のノードに接続された第１の端末から第２のノードに接続された第２の端末へパケットを送信する場合、
前記第1の端末からの送信パケットを受信した前記第１のノードは、
前記送信パケットから送信先の前記第２の端末のＭＡＣアドレスを判読し、自ノードの前記ＭＡＣアドレステーブルと照合して前記第２の端末が接続されている前記第２のノードのノードアドレスを取得し、
前記第２のノードのノードアドレスと自ノードの前記方路テーブルを照合して前記第２のノードへ送信する前記第１又は第２の伝送路を設定し、
宛先ノードアドレスに前記第２のノードのノードアドレスを設定すると共に、送信元ノードアドレスに前記第１のノードのノードアドレスを設定した情報を前記送信パケットに付加してカプセル化したリングパケットを生成し、
前記設定された前記第１又は第２の伝送路に前記リングパケットを送信する
ことを特徴とするリングネットワークシステムの通信制御方法。
【請求項３】
前記リングパケットを受信した前記各ノードは、
前記リングパケットから送信元の前記第１のノードのノードアドレスと、送信元の前記第１の端末のＭＡＣアドレスを判読し、
前記第１のノードのノードアドレスと前記第１の端末のＭＡＣアドレスとをペアにして自ノード内の前記ＭＡＣアドレステーブルに記憶する
ことを特徴とする請求項２記載のリングネットワークシステムの通信制御方法。
【請求項４】
前記第１のノードの前記ＭＡＣアドレステーブルに前記第２の端末のＭＡＣアドレスが記憶されていない時は、
前記宛先ノードアドレスに同報アドレスを設定した同報リングパケットを生成して前記第１又は第２の伝送路へ送信する
ことを特徴とする請求項２記載のリングネットワークシステムの通信制御方法。
【請求項５】
前記同報リングパケットを受信した前記各ノードは、
前記同報リングパケットから前記第２の端末のＭＡＣアドレスを判読し、
送信元の前記第１のノードのノードアドレスと送信元の前記第１の端末のＭＡＣアドレスとをペアにして自ノードの前記ＭＡＣアドレステーブルに記憶し、
前記第２の端末を自ノードに接続していると判読した場合、受信したパケットを前記第２の端末に送信する
ことを特徴とする請求項４記載のリングネットワークシステムの通信制御方法。
【請求項６】
新たに端末が接続された前記ノードは、
宛先ＭＡＣアドレスに同報アドレスを設定し、送信元ＭＡＣアドレスに自ノードに接続されている端末のＭＡＣアドレスを設定し、前記新たに端末が接続されたことを通報する方路探索情報の識別子をヘッダ情報に設定した同報リングパケットを生成し、
前記同報リングパケットを前記第１又は第２の伝送路に送信する
ことを特徴とする請求項２記載のリングネットワークシステムの通信制御方法。
【請求項７】
前記同報リングパケットを受信した前記各ノードは、
前記同報リングパケットの送信元ノードアドレスと送信元ＭＡＣアドレスを判読し、
その判読した送信元ノードアドレスと送信元ＭＡＣアドレスとを自ノードの前記ＭＡＣアドレステーブルに記憶する
ことを特徴とする請求項６記載のリングネットワークシステムの通信制御方法。
【請求項８】
前記各ノードは所定の時間毎に、
宛先ノードアドレスに同報アドレスを設定し、送信元ノードアドレスに自ノードアドレスを設定し、中継カウント数に０を設定し、前記中継カウント数を調べる方路探索情報の識別子をヘッダ情報に設定した同報試験リングパケットを生成し、
前記同報リングパケットを前記第１及び第２の伝送路に送信する
ことを特徴とする請求項２記載のリングネットワークシステムの通信制御方法。
【請求項９】
前記試験リングパケットを受信した前記各ノードは、
前記第１の伝送路から受信した前記試験リングパケットの送信元ノードアドレスと前記中継カウント数を判読し、前記中継カウント数を更新して自ノードの前記方路テーブルに記憶し、
前記第２の伝送路から受信した前記試験リングパケットの送信元ノードアドレスと前記中継カウント数を判読し、前記中継カウント数を更新して自ノードの前記方路テーブルに記憶し、
更新された前記２つの中継カウント数を比較して多い方の伝送路を送信元のノードとの伝送路として自ノードの前記方路テーブルに記憶し、
前記中継カウント数を更新した前記試験リングパケットを前記第１及び第２の伝送路に送信する
ことを特徴とする請求項８記載のリングネットワークシステムの通信制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＰパケットを伝送するリングネットワークシステム、およびその通信制御方法に関する。
【背景技術】
【０００２】
ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）通信によるネットワークの高速化に伴い、高信頼性のネットワークが要望されている。高信頼性のＩＰ通信は、冗長性を持つリングトポロジーを持つネットワークとの親和性が高く、そのリングネットワークにはルータ機能を持つノードが接続されている。
【０００３】
そのノードは、パケット毎の送信元や宛先のアドレス情報を解読してパケット伝送を制御し、自ノードに接続された端末装置の間のＩＰ通信を制御する。
【０００４】
図１０は、リングトポロジーを用いたＩＰ通信を行うリングネットワークの一例を示す図である。
【０００５】
図１０において、リングネットワークは、リング状に接続された第１の経路４１と、第２の経路４２によって構成され、この第１の経路４１および第２の経路４２に接続されたノード１ｘ（＃１〜＃Ｎ）から構成される。各ノード１ｘ（＃１〜＃Ｎ）は、内部にルーティング・テーブルＲを備え、ホスト２ｘ、又はパーソナルコンピュータ３ｘ等が端末として接続されている。
【０００６】
もし、ノード１ｘ（＃１）に接続されているパーソナルコンピュータ３ｘがノード１ｘ（＃３）のホスト２ｘにアクセスしようとする場合、パーソナルコンピュータ３ｘからノード１ｘ（＃１）にパケットを送信する。すると、ノード１ｘ（＃１）は、宛先端末であるホスト２ｘのＭＡＣアドレスをそのパケットから判読する。そして、そのＭＡＣアドレスによってルーティング・テーブルＲを検索して、ホスト２ｘが接続されているノード１ｘ（＃３）を探し出す。
【０００７】
そして、ノード１ｘ（＃３）とノード１ｘ（＃１）との間の通信経路を設定して、パーソナルコンピュータ３ｘとホスト２ｘとの間でパケットが送受信出来るようにする。
【０００８】
これを実現するために、各ノード１ｘ（＃１〜＃Ｎ）のルーティング・テーブルＲには、通信経路設定に必要な情報として、どのノードにどの端末が接続されているかのＭＡＣアドレス情報、およびパケットを伝送するノード間の経路情報が記憶、保持されている。
【０００９】
このルーティング・テーブルＲを生成するのに「スタティック・ルーティング」と「ダイナミック・ルーティング」の２つの方法がある。
【００１０】
「スタティック・ルーティング」は、通信経路設定に必要な情報がオペレータの入力操作によって手動で設定される。従って、経路情報を交換するための処理やノード間のトラフィックは発生しないが、ノードまたは端末等に変更が有ると、その変更内容を修正するために膨大な作業時間が掛かる。
【００１１】
「ダイナミック・ルーティング」は、経路情報を自動的に探し出して設定するルーティング・プロトコルにより、ルーティング・テーブルＲの内容を設定する方法である（例えば、非特許文献１参照。）。
【００１２】
この方法は管理に要する手間が省けるが、各ノードにルーティング・プロトコルを搭載するため高価なものとなるばかりか、ノードのＣＰＵの負荷が増える問題がある。
【００１３】
この様に、従来もリングネットワークでは、パケットを伝送する経路を設定するために参照するルーティング・テーブルを生成するのにコストが掛かる問題や、負荷を増大させる問題があった。
【非特許文献１】ＩＥＴＦ（Ｉｎｔｅｒｎｅｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔａｓｋ  Ｆｏｒｃｅ）ＲＦＣ（Ｒｅｑｕｅｓｔ  Ｆｏｒ  Ｃｏｍｍｅｎｔｓ）１０５８。
【発明の開示】
【発明が解決しようとする課題】
【００１４】
リングネットワークでルーティング・テーブルを生成する方法は、従来はルーティング・テーブルの管理の手間が膨大となる「スタティック・ルーティング」を用いるか、または、その管理の手間を軽減するために「ダイナミック・ルーティング」を用いるとノードのＣＰＵのオーバーヘッド負担が大きくなりルーティング・テーブルの生成にコストがかかる問題があった。
【００１５】
本発明は、これらの問題を解決するためになされたもので、低コストで生成できるルーティング・テーブルを用いたリングネットワークシステム、およびその通信制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１６】
以上の目的を達成するために、本発明のリングネットワークシステムは、第１の方路でパケットを伝送する第１の伝送路と、前記第１の方路と反対の第２の方路でパケットを伝送する第２の伝送路とからなるリング伝送路と、前記第１及び第２の伝送路に接続される複数のノードと、前記複数のノード内に設けられ、前記各ノードのノードアドレスと前記各ノードに接続されている端末のＭＡＣアドレスとが対応して記憶されるＭＡＣアドレステーブルと、前記複数のノード内に設けられ、他のノードのノードアドレスに対応して、前記他のノードから前記第１の伝送路を用いて受信したリングパケットに含まれる中継カウント情報を更新した第１の中継カウント数、前記他のノードから前記第２の伝送路を用いて受信した前記リングパケットに含まれる中継カウント情報を更新した第２の中継カウント数、および自ノードから前記他のノードに送信する時に使用する前記第１又は第２の伝送路が記憶される方路テーブルとを具備することを特徴とする。
【００１７】
また、本発明のリングネットワークシステムの通信制御方法は、第１の方路でパケットを伝送する第１の伝送路と、前記第１の方路と反対の第２の方路でパケットを伝送する第２の伝送路とからなるリング伝送路と、前記第１及び第２の伝送路に接続される複数のノードとからなるリングネットワークシステムの通信制御方法であって、前記複数の各ノードは、前記各ノードのノードアドレスと前記各ノードに接続されている端末のＭＡＣアドレスとが対応して記憶されるＭＡＣアドレステーブルと、他のノードのノードアドレスに対応して、前記他のノードから前記第１の伝送路を用いて受信したリングパケットに含まれる中継カウント情報を更新した第１の中継カウント数、前記他のノードから前記第２の伝送路を用いて受信した前記リングパケットに含まれる中継カウント情報を更新した第２の中継カウント数、および自ノードから前記他のノードに送信する時に使用する前記第１又は第２の伝送路が記憶される方路テーブルとを具備し、前記第１のノードに接続された第１の端末から第２のノードに接続された第２の端末へパケットを送信する場合、前記第1の端末からの送信パケットを受信した前記第１のノードは、前記送信パケットから送信先の前記第２の端末のＭＡＣアドレスを判読し、自ノードの前記ＭＡＣアドレステーブルと照合して前記第２の端末が接続されている前記第２のノードのノードアドレスを取得し、前記第２のノードのノードアドレスと自ノードの前記方路テーブルを照合して前記第２のノードへ送信する前記第１又は第２の伝送路を設定し、宛先ノードアドレスに前記第２のノードのノードアドレスを設定すると共に、送信元ノードアドレスに前記第１のノードのノードアドレスを設定した情報を前記送信パケットに付加してカプセル化したリングパケットを生成し、前記設定された前記第１又は第２の伝送路に前記リングパケットを送信することを特徴とする。
【発明の効果】
【００１８】
本発明によれば、リングネットワークのノードそれぞれが同じリングネットワーク上の各ノードに接続された端末のＭＡＣアドレスやノード間の最短経路を複雑なルーティング・プロトコルによることなく探し出して学習・記憶するので、リングネットワークのルーティング・テーブルを低コストで生成、運用できるリングネットワークシステムを提供することができる。
【発明を実施するための最良の形態】
【００１９】
以下、図面を参照して本発明の実施例を説明する。
【実施例】
【００２０】
図１は、本発明に係るリングネットワークシステムの実施例を示す構成図である。
【００２１】
図１において、リングネットワークシステム（以下、リングネットワークと呼ぶ。）は、リング状に接続された第１の伝送路２ａと第２の伝送路２ｂと、この第１および第２の伝送路２ａ、２ｂに接続される複数のノード１（図では、＃Ａ〜＃Ｃを図示する。）とから構成される。
【００２２】
第１の伝送路２ａは時計方向に送信する伝送経路であり、第２の伝送路２ｂは反時計方向に送信する伝送経路である。以下の説明では、第１の伝送路２ａの伝送方向を「方路Ｒ」、第２の伝送路２ｂの伝送方向を「方路Ｌ」と呼ぶ。
【００２３】
各ノード１（＃Ａ〜＃Ｃ）は、内部にルーティング・テーブルであるＭＡＣアドレステーブルＭと方路テーブルＤを備えている。また、各ノード１（＃Ａ〜＃Ｃ）には、端末Ｐ１〜端末Ｐ７としてホストやパーソナルコンピュータ等が接続されている。ここで、各ノード１（＃Ａ〜＃Ｃ）へ接続されている端末Ｐ１〜Ｐ７に付与されている「Ｐ１」〜「Ｐ７」は、各端末のＭＡＣアドレスを示している。
【００２４】
また、各ノード１（＃Ａ〜Ｃ）には、更に端末との間でパケットを送受信する端末インタフェース６と、第１および第２の伝送路２ａ、２ｂとの間でパケットを送受信するネットワークインタフェース５と、これらのインタフェースとバス接続されているＣＰＵ７と、ＣＰＵ７で実行されるプログラムやＭＡＣアドレステーブルＭなどを記憶する内部メモリ４などで構成されている。そしてＣＰＵ７は、内部メモリ４に記憶されるルーティング・テーブルＭを検索しながら上記インタフェースの監視制御を行ってパケットの送受信制御を実行する。
【００２５】
第１および第２の伝送路２ａ、２ｂとネットワークインタフェース５、端末Ｐ１〜Ｐ７と端末インタフェース６の間の信号の物理的制御、および各インタフェースとＣＰＵ７との間の監視制御動作は、従来のリングネットワークと同様である。本発明は、ルーティング・テーブルとして具備したＭＡＣアドレステーブルＭと方路テーブルＤを参照してパケットの送受信制御を処理するものである。
【００２６】
以下では、各ノード１（＃Ａ〜＃Ｃ）がＭＡＣアドレステーブルＭと方路テーブルＤからパケット送受信制御に必要な情報を記憶又は探索する動作を説明する。
【００２７】
図２は、実施例のリングネットワーク上で伝送されるＩＰパケットの構成を示す図である。
【００２８】
図２（ａ）は、ノード１（＃Ａ〜＃Ｃ）と端末との間で送受信されるパケットの構成を示し、端末間パケットと呼ばれる。
【００２９】
図２（ａ）において、端末間パケットは、パケットの種別やその他の伝送制御に補助的な情報を示すオプションフィールドＯｐ、宛先の端末ＭＡＣアドレスを示す宛先ＭＡＣアドレスフィールドＤＡ（ここでは、各端末のＭＡＣアドレスは「Ｐ１」〜「Ｐ７」である。）、送信元の端末ＭＡＣアドレスＳＡを示す送信元ＭＡＣアドレスフィールドＳＡ、およびメッセージ本体のメッセージフィールドｍｆ等とからなる。
【００３０】
また図２（ｂ）は、端末間パケットをリングネットワーク上の第１の伝送路２ａ、又は第２の伝送路２ｂを介して伝送するときの、ノード１（＃Ａ）、（＃Ｂ）、（＃Ｃ）の間で送受信するパケットの構成を示している。このパケットをリングパケットと呼ぶ。
【００３１】
リングパケットは、上記の端末間パケットにリング内の宛先ノードのノードアドレス（ここでは、ノードアドレスを「＃Ａ」〜「＃Ｃ」とする。）が設定される宛先ノードアドレスフィールドＤＮと、リング内の送信元ノードの送信元ノードアドレスが設定される送信元ノードアドレスフィールドＳＮと、中継カウントフィールドＴＴＬとからなるリングヘッダが追加された構成を有する端末間パケットをカプセル化したパケットである。
【００３２】
ここで中継カウントフィールドＴＴＬは、リングパケットがノード１（＃Ａ〜＃Ｃ）を中継される毎に＋１ずつ加算される中継の回数（カウント数）を示すフィールドである。
【００３３】
図３は、各ノード１（＃Ａ〜Ｃ）に接続された端末のＭＡＣアドレスをリストにしたＭＡＣアドレステーブルＭを示す。
【００３４】
例えば、ノード１（＃Ａ）の端末Ｐ１からノード１（＃Ｃ）の端末Ｐ５へメッセージを送信したい場合、送信元ノード１（＃Ａ）は、このＭＡＣアドレステーブルＭを参照してリングパケットの宛先ノードフィールドＤＮに宛先端末Ｐ５が接続された送信先ノード１（＃Ｃ）のノードアドレス「＃Ｃ」、送信元ノードフィールドＳＮに送信元ノード（＃Ａ）のノードアドレス「＃Ａ」がそれぞれ設定される。
【００３５】
また、図４は、各ノード１（＃Ａ〜＃Ｃ）間におけるリングパケットを送信する方路を示す方路テーブルＤである。
【００３６】
方路テーブルＤは、各ノード相互間を最小中継数で送信する方路を記憶するもので、各ノード毎に異なる情報が記憶される。例えば、図４（ａ）はノード１（＃Ａ）の方路テーブルＤを示している。即ち、ノード１（＃Ａ）がノード１（＃Ｂ）から「方路Ｒ」でパケットを受信するときは、受信したリングパケットから読み出した「方路Ｒの中継カウント数」に１回の中継で受信したことを記憶し、「方路Ｌ」でパケットを受信するときは「方路Ｌの中継カウント数」に２回の中継で受信したことを記憶する。
【００３７】
図４（ａ）の「方路Ｌの中継数」は、ノード１（＃Ｃ）にパケットを送信する時ノード１（＃Ｃ）に到着するまでの中継数で、ここでは１回である。そして、ノード１（＃Ａ）からノード１（＃Ｂ）に送信する方路を示す「送信方路」には、中継カウント数の多い方、即ち、送信する時には最小の中継数になる「方路Ｌ」が設定される。同様に、ノード１（＃Ａ）がノード１（＃Ｃ）から「方路Ｒ」でパケットを受信するときは、「方路Ｒの中継カウント数」に２回の中継で受信したことを記憶し、「方路Ｌ」でパケットを受信するときは「方路Ｌの中継カウント数」に１回の中継で受信したことを記憶する。そして、ノード１（＃Ａ）からノード１（＃Ｃ）に送信する方路を示す「送信方路」には、中継数が少ない方の「方路Ｒ」が設定される。また、図４（ｂ）、図４（ｃ）は、それぞれノード１（＃Ｂ）、ノード１（＃Ｃ）の方路テーブルＤを示している。
【００３８】
次に、本実施例の概略動作を図１乃至図５を参照して説明する。図５は、本実施例のリングネットワークシステムの動作を説明するフローチャートである。図５において、中央の２つのルーチンはノード１（＃Ａ）、左側のルーチンはノード１（＃Ｃ）、右側のルーチンはノード１（＃Ｂ）の動作を表す。
【００３９】
例えば、ノード１（＃Ａ）に接続された端末Ｐ１がノード１（＃Ｃ）に接続された端末Ｐ６にパケットを送信する場合のリングネットワークの動作を以下に説明する。
【００４０】
各ノード１（＃Ａ〜＃Ｃ）のＭＡＣアドレステーブルＭには、図３に示す各ノードのアドレス「＃Ａ」〜「＃Ｃ」と、端末のＭＡＣアドレス「Ｐ１」〜「Ｐ６」が既に設定・記憶されているものとする。
【００４１】
送信データとともにヘッダの送信元ＭＡＣアドレスフィールドＳＡに送信元ＭＡＣアドレス「Ｐ１」と、宛先ＭＡＣアドレスフィールドＤＡに宛先ＭＡＣアドレス「Ｐ６」とが設定された端末間パケットが端末Ｐ１から送信されノード１（＃Ａ）がこれを受信する（ステップｓ１）。ノード１（＃Ａ）は、その端末間パケットの宛先ＭＡＣアドレスフィールドＤＡを判読して（ステップｓ２）、ＭＡＣアドレステーブルＭを検索する（ステップｓ３）。
【００４２】
そして、ＭＡＣアドレステーブルＭからＭＡＣアドレス「Ｐ６」の端末Ｐ６がノード１（＃Ｃ）に接続されていることを検出する（ステップｓ４がＹｅｓ）。
【００４３】
次に、ノード１（＃Ａ）は、当該パケットをノード１（＃Ｃ）へ送信するため、２系統あるリングネットワークの第１の伝送路２ａ又は第２の伝送路２ｂのどちらを用いて伝送するかを方路テーブルＤを参照して調べる。例えば、図４（ａ）の方路テーブルＤを参照すると、ノード１（＃Ａ）からノード１（＃Ｃ）へリングパケットを送信するには「方路Ｒ」（即ち、第１の伝送路２ａ）を使用すれば良いことが分かる（ステップｓ５）。
【００４４】
そして、ヘッダ部の宛先ノードアドレスフィールドＤＮにノードアドレス「＃Ｃ」を、また、送信元ノードアドレスフィールドＳＮにノードアドレス「＃Ａ」を付加したリングパケットを生成して、第１の伝送路２ａから時計回りの「方路Ｒ」に送信する（ステップｓ６）。
【００４５】
ノード１（＃Ｃ）は、第１の伝送路２ａを介して送信された上記リングパケットを受信すると、ヘッダ部の宛先ノードアドレスフィールドＤＮからノードアドレス「＃Ｃ」、又は後述の同報アドレス「ｆｆ」を判読して自ノード宛のパケットと判断する（ステップｓ７がＹｅｓ）。また、宛先端末のＭＡＣアドレスフィールドＤＡ「Ｐ６」を判読する（ステップｓ７−１）と、自ノードの端末Ｐ６のＭＡＣアドレス「Ｐ６」であると判断して（ステップｓ８のＹｅｓ）、送信元ノードアドレス「＃Ａ」と送信元端末アドレス「Ｐ１」をペアにしてＭＡＣアドレステーブルＭに記憶すると共に、当該端末Ｐ６（サーバ）へ復元した端末間パケットを送信する（ステップｓ９）。
【００４６】
一方、ステップｓ４において、ノード１（＃Ａ）が端末Ｐ１から受信した端末間パケットにＭＡＣアドレステーブルＭに記憶されていない宛先端末のＭＡＣアドレス（例えば、ＭＡＣアドレス「Ｐ７」とする。）を判読したとする（ステップｓ４がＮｏ）。
【００４７】
この場合、ノード１（＃Ａ）は、ＭＡＣアドレステーブルＭに登録されていない端末がノード１（＃Ｂ）、（＃Ｃ）に接続されている可能性があると判断して、その探索と探索結果に基づく端末間パケットの送信を実行する。
【００４８】
そこでまず、ノード１（＃Ａ）は、全てのノード１（＃Ｂ）、（＃Ｃ）に対して当該端末間パケットをカプセル化したリングパケットを同報モードで送信する。即ち、宛先ノードアドレスフィールドＤＮに同報のためのアドレス記号（ここでは、「ｆｆ」とする。）を設定し、また、送信元ノードアドレスフィールドＳＮにノードアドレス「＃Ａ」を設定したリングパケットを生成する。そして、第１の伝送路２ａ又は第２の伝送路２ｂのいずれかを介してそのリングパケットを送信する（ステップｓ１０）。例えば、第２の伝送路２ｂを用いてリングパケットを送信した場合、最初にノード１（＃Ｂ）がこれを受信する。
【００４９】
ノード１（＃Ｂ）は、このリングパケットを受信すると宛先ＭＡＣアドレスフィールドＤＡを判読し（ステップｓ１１）する。その判読により、ＭＡＣアドレス「Ｐ７」の端末宛てのメッセージであると認識するが、その端末Ｐ７は自ノード１（＃Ｂ）に接続されていないことを判定する（ステップｓ１２がＮｏ）。したがって、ノード１（＃Ｂ）は、送信元ノードアドレス「＃Ａ」と送信元端末アドレス「Ｐ１」をペアにしてＭＡＣアドレステーブルＭに記憶するだけで端末間パケットを内部に取り込まずに、再び同報アドレスを設定した元のリングパケットにして第２の伝送路２ｂに送信する（ステップｓ１３）。
【００５０】
ノード１（＃Ｃ）は、第２の伝送路２ｂを介して送信されたノード１（＃Ｂ）からのリングパケットを受信すると、同様に宛先ＭＡＣアドレスフィールドＤＡを判読し（ステップｓ７）する。そして、判読したＭＡＣアドレス「Ｐ７」を持つ端末Ｐ７が自ノードに接続されていること判定する（ステップ８がＹＥＳ）。よって、ノード１（＃Ｃ）は端末間パケットを取り込み、送信元ノードアドレス「＃Ａ」と送信元端末アドレス「Ｐ１」をペアにしてＭＡＣアドレステーブルＭに記憶すると共に、端末Ｐ７に送出する（ステップｓ９）。
【００５１】
ステップｓ８で、ノード１（＃Ｃ）にもＭＡＣアドレス「Ｐ７」を持つ端末Ｐ７が接続されていなければ、ノード１（＃Ｃ）は、送信元ノードアドレス「＃Ａ」と送信元端末アドレス「Ｐ１」をペアにしてＭＡＣアドレステーブルＭに記憶するだけで端末間パケットを取り込まずに再び同報アドレスを設定したリングパケットに組み立てて第２の伝送路２ｂに送信する（ステップｓ８−１）。
【００５２】
また、ステップｓ１２で、ノード１（＃Ｂ）にＭＡＣアドレス「Ｐ７」を持つ端末Ｐ７が接続されている場合（ステップｓ１２がＹｅｓ）、ノード１（＃Ｂ）は、送信元ノードアドレス「＃Ａ」と送信元端末アドレス「Ｐ１」をペアにしてＭＡＣアドレステーブルＭに記憶すると共に、その端末Ｐ７に端末間パケットを送信する。
【００５３】
ノードの数が多い場合、この動作を同様に繰り返し実行し、同報アドレスで送信されたリングパケットが送信元のノード１（＃Ａ）に戻るまで、順番にリングパケットを受信し、ＭＡＣアドレステーブルＭへの記憶、次のノードへ送信する中継動作を繰り返す。
【００５４】
以上の動作によって、宛先のＭＡＣアドレス「Ｐ７」を有する端末Ｐ７がノード１（＃Ａ）のＭＡＣアドレステーブルＭに記憶されていない場合でも、ノード１（＃Ａ）から送信された端末間パケットを、ノード１（＃Ｃ）に接続されている端末Ｐ７に送信することが出来る。
【００５５】
なお、ステップｓ７がＮｏ、即ち、同報でなく自ノード宛でないのパケットを受信した時は、ノード１（＃Ｃ）は端末間パケットを取り込まずにそのまま第２の伝送路２ｂによって次のノードへ送信する（ステップｓ７−２）。同様に、ステップｓ１１がＮｏ、の同報でなく自ノード宛でないのパケットを受信した時は、ノード１（＃Ｂ）は端末間パケットを取り込まずにそのまま受信した時と同じ方路の伝送路に送信する（ステップｓ１１−２）。
【００５６】
図６は、実施例のリングネットワークがリングパケットの中継動作手順とＭＡＣアドレステーブルＭを生成する動作手順を示すフローチャートである。以下、図１乃至図４、及び図６を参照してＭＡＣアドレステーブルＭを生成する動作を説明する。
【００５７】
図６において、各ノード１（＃Ａ〜＃Ｃ）は、自ノードに接続されている端末のＭＡＣアドレスをＭＡＣアドレステーブルＭに学習記憶させる。
【００５８】
例えば、ノード１（＃Ｃ）が他ノードから第１の伝送路２ａを介して送信されたメッセージのリングパケットを受信すると（ステップｓ６１）、そのリングパケットの送信元ノードアドレスフィールドＳＮを判読する。そして、リングパケットの送信元ノードアドレスが自ノードアドレスで有れば（ステップｓ６２がＹｅｓ）、自ノードが送信したリングパケットであるので、そのまま廃棄する（ステップｓ６０）。
【００５９】
また、自ノードアドレスではないリングパケットであった場合（ステップｓ６２がＮｏ）、ノード１（＃Ｃ）は中継カウントフィールドＴＴＬの中継カウント数を＋１加算する（ステップｓ６３）。そして、加算した中継カウント数がリング内のノード合計数、もしくは予め設定された上限数（ここでは、「３」とする）を超えていない場合（ステップｓ６４がＮｏ）、リングパケットの送信元のノードアドレスフィールドＤＮに設定されているノードアドレス（例えば、ノードアドレス（＃Ａ）とする。）と送信元端末のＭＡＣアドレスフィールドに設定されているＭＡＣアドレス（例えば、ＭＡＣアドレス「Ｐ１」とする。）を組にして、ノード１（＃Ｃ）のＭＡＣアドレステーブルＭに記憶する（ステップｓ６５）。なお、ノード１（＃Ｃ）のＭＡＣアドレステーブルＭにそのアドレス情報の組が既に記憶されていた場合でも、ＭＡＣアドレステーブルＭに上書きして記憶内容を更新する。
【００６０】
また、ステップｓ６４で、中継カウント数がリング内のノード合計数、もしくは予め設定された上限数を超えている場合（ステップｓ６４がＹｅｓ）、ノード１（＃Ｃ）は受信したリングパケットを廃棄する（ステップｓ６０）。
【００６１】
次にノード１（＃Ｃ）は、宛先ノードアドレスフィールドＤＮを判読して同報アドレス又は自ノードアドレスが設定されているかを判定する（ステップｓ６６）。そして、例えば自ノードアドレスが設定されていれば、宛先端末のＭＡＣアドレスが自ノードに接続されている端末（例えば、端末Ｐ６のＭＡＣアドレス）に対するものであるかを判定する（ステップＳ６７）。自ノードに接続された端末である場合、そのＭＡＣアドレス「Ｐ６」の端末Ｐ６に端末間パケットを送信する（ステップｓ６８）。
【００６２】
そして、ノード１（＃Ｃ）は以上の処理を終えると、当該リングパケットを第１の伝送路２ａを介して次のリングノード（ここでは、ノード１（＃Ｂ）。）へ送信する（ステップｓ６９）。
【００６３】
また、ステップｓ６６で受信したリングパケットの宛先ノードアドレスが、自ノード宛のアドレスでない場合（ステップｓ６６がＮｏ）、又はステップｓ６７で自ノードに接続された端末に対するパケットでない場合（ステップｓ６７がＮｏ）、ノード１（＃Ｃ）はそのリングパケットを第１の伝送路２ａを介して次のノードに送信する（ステップｓ６９）。
【００６４】
この様にリングパケットに設定されている送信元ノードアドレスと送信元端末のＭＡＣアドレスを各ノードが判読することによって、例えばノード１（＃Ａ）にＭＡＣアドレス「Ｐ１」の端末Ｐ１が接続されていることがノード１（＃Ｂ、＃Ｃ）で判読して、各ノードのＭＡＣアドレステーブルＭにそれぞれ記憶される。
【００６５】
各ノード１（＃Ａ〜＃Ｃ）に接続されている端末のそれぞれのＭＡＣアドレスは、各ノード１（＃Ａ〜＃Ｃ）の初期設定、又は、端末からのパケット受信により各ＭＡＣアドレステーブルＭに記憶されている。そして、例えば、初期設定後に端末が追加接続されて送信元端末のＭＡＣアドレス（例えば、ＭＡＣアドレス「Ｐ７」）が各ＭＡＣアドレステーブルＭに記憶されていない場合があっても、追加接続された端末Ｐ７からＩＰパケットを送信する時に、ノードアドレスとＭＡＣアドレスのペア情報が各ＭＡＣアドレステーブルＭに記憶される。
【００６６】
しかし、上記の手順だけではノードに接続された端末（例えば、ＭＡＣアドレス「Ｐ７」とする。）が受信専用の端末である場合には、各ＭＡＣアドレステーブルＭにＭＡＣアドレス「Ｐ７」が記憶させることが出来ない。
【００６７】
そこで次に、ノードに追加接続された端末のＭＡＣアドレスを各ＭＡＣアドレステーブルＭに記憶させる方法について説明する。
【００６８】
図７は、実施例のリングネットワークのＭＡＣアドレステーブルＭに、例えばＭＡＣアドレス「Ｐ７」を持つ端末Ｐ７の登録情報を追加記憶する動作手順を示すフローチャートである。
【００６９】
図７において、例えば、ノード１（＃Ｃ）は、ＭＡＣアドレスを通知する方路探索情報を送信する時間（例えば、所定周期毎）に到達すると（ステップｓ７０がＹｅｓ）、宛先ノードアドレスフィールドＤＮに同報アドレス「ｆｆ」を設定し、オプションフィールドＯｐにＭＡＣアドレス情報を通知する方路探索情報で有ることを示す識別コード（例えば、「１１１１」）を設定し、送信元ノードアドレスフィールドＳＮに送信元ノードアドレス（「＃Ｃ」）を設定し、宛先端末のＭＡＣアドレスフィールドＤＡには同報を示すアドレス（「ｆｆ」）を設定し、送信元端末のＭＡＣアドレスフィールドＳＡには追加された端末Ｐ７のＭＡＣアドレス「Ｐ７」を設定したリングパケットを生成する。そして、その生成したリングパケットを第１の伝送路２ａ又は第２の伝送路２ｂのいずれかを用いてリングネットワークに接続されている全てのノードに送信する（ステップｓ７１）。
【００７０】
そして、ノード１（＃Ｃ）以外のノード１（＃Ａ）、（＃Ｂ）は、このリングパケットを受信するとオプションフィールドＯｐから「１１１１」を判読することによって方路探索情報であることを認識し、その後、図６に示された手順の動作を実行する。
【００７１】
その結果、ノード１（＃Ａ）、（＃Ｂ）は自ノード内のＭＡＣアドレステーブルＭにＭＡＣアドレス「Ｐ７」とノードアドレス「（＃Ｃ）」のペア情報を記憶する。
【００７２】
なお、この端末のＭＡＣアドレスを追加する方法は、一定の周期でなくてもノードに端末が追加接続された時に図７の手順を実行して、各ＭＡＣアドレステーブルＭに最新のＭＡＣアドレス情報が記憶される様にしてもよい。
【００７３】
このように、各ノード１（＃Ａ〜＃Ｃ）が自ノードに接続された端末のＭＡＣアドレスを通知するパケットを送信するので、受信専用の端末がノードに接続される場合であってもその端末のＭＡＣアドレスとノードアドレスのペア情報をリングネットワーク上の各ノードに通知することが出来る。
【００７４】
さて、実施例ではリングネットワークの構成が変わった（増設等）場合や回線の障害が発生しネットワーク中継路の最短経路に変更があった場合、この情報を自動的に短い時間で認識するための手順を設けている。
【００７５】
図８は、実施例のリングネットワークが構成変更を自動認識し方路テーブルＤを生成する動作手順を示すフローチャートであって、この図８を用いて、特定のノードから上記方路探索情報（ルーティング情報）を搭載したリングパケットをリングネットワークに送信するときの動作を説明する。
【００７６】
図８において、例えば、ノード１（＃Ｃ）は方路探索情報の送信タイミングになると（ステップｓ８０のＹｅｓ）、中継カウント数フィールドＴＴＬに「０」を設定し、宛先ノードアドレスフィールドＤＮに同報を示す識別コード「ｆｆ」を設定し、送信元ノードアドレスフィールドＳＮに送信元のノードアドレス「＃Ｃ」を設定し、オプションフィールドＯｐに方路探索情報であることを示すコード「１１１１」を設定したリングパケットを生成する。なお、このリングパケットは、宛先ＭＡＣアドレスフィールドＤＡ、および送信元ＭＡＣアドレスフィールドＳＡには、いずれも「００」が設定される。そして、このリングパケットを第１の伝送路２ａ及び第２の伝送路２ｂを介して同時に送信する（ステップｓ８１）。なお、上記送信タイミングとは、予め設定された一定の周期時間、ノードが追加された後、もしくはノードが削減される前である。
【００７７】
図９は、方路探索情報（ルーティング情報）を搭載したリングパケットを受信したときのノードの動作を示すフローチャートである。
【００７８】
図９において、例えば、ノード１（＃Ｂ）は、第１の伝送路２ａ（「方路Ｒ」）を介してノード１（＃Ｃ）から送信された方路探索情報を搭載したリングパケットを受信すると（ステップｓ９１）、そのオプションフィールドＯｐから「１１１１」を判読して方路探索情報（ルーティング情報）であることを判定する。
【００７９】
ノード１（＃Ｂ）は、そのリングパケットの送信元ノードアドレスフィールドＳＮから送信元ノードアドレスを判読して、自ノードが送信した同報リングパケットであれば（ステップｓ９２がＹｅｓ）、そのリングパケットを廃棄（ステップｓ９９）する。また、そのリングパケットが他ノードから送信されたもので有れば（ステップｓ９２がＮｏ）、中継カウントフィールドＴＴＬの中継カウント数を＋１加算する（ステップｓ９３）。
【００８０】
そして、加算後の中継カウント数がリングネットワーク内のノード合計数、もしくは予め設定された上限数（ここでは「３」とする。）以上であった場合（ステップｓ９４がＹｅｓ）、ノード１（＃Ｂ）はそのリングパケットを廃棄する（ステップｓ９９）。
【００８１】
一方、ステップｓ９４で中継カウント数が上記の条件を超えていなければ、ノード１（＃Ｂ）は自ノード内の方路テーブルＤの当該リングパケットの送信ノードアドレスに対応する「方路Ｒの中継カウント数」に加算後の中継カウント数を設定する（ステップｓ９５）。
【００８２】
同様にして、ノード１（＃Ｂ）は、第２の伝送路２ｂ（「方路Ｌ」）を介してノード１（＃Ｃ）から送信された方路探索情報を搭載したリングパケットを受信すると、ステップｓ９１〜ステップｓ９４の処理を実行する。そして、ノード１（＃Ｂ）は自ノード内の方路テーブルＤの当該リングパケットの送信ノードアドレスに対応する「方路Ｌの中継カウント数」に加算後の中継カウント数を設定する（ステップｓ９５）。この第２の伝送路２ｂを介してリングパケットを受信した場合、ノード１（＃Ａ）を経由していることから「方路Ｌの中継カウント数」が「２」が設定される（ステップｓ９５）。即ち、ノード１（＃Ｂ）のメモリには図４（ｂ）に示す方路テーブルＤが作成される。
【００８３】
こうして、ノード１（＃Ｂ）はノード１（＃Ｃ）とのデータ伝送に際し、２つの伝送路を介して受信した方路探索情報を搭載したリングパケットにより設定された「方路Ｒの中継カウント数（「１」）」と「方路Ｌの中継カウント数（「２」）」とを比較し、多い方の第２の伝送路２ｂをノード１（＃Ｃ）に送信する方路として選択し、方路テーブルＤの「送信方路」に「方路Ｌ」を設定する（ステップｓ９６）。
【００８４】
そして、この動作がリングネットワーク上の各ノード１（＃Ａ〜＃Ｃ）で同報のリングパケットが送信元であるノード１（＃Ｃ）にて受信されるまで、全てのノード１（＃Ａ〜＃Ｃ）にて方路テーブルＤが更新される。
【００８５】
この様にして、例えば、ノード１（＃Ａ）では端末ＭＡＣアドレス「Ｐ７」の端末Ｐ７がノード１（＃Ｃ）に接続されていることが分かると、方路テーブルＤを参照して最短の送信伝送路である第１の伝送路２ａの情報を得て、その第１の伝送路２ａを介してノード１（＃Ｃ）に端末間パケットを送信することができる。
【００８６】
以上、本発明のリングネットワークでは、リングネットワーク上の各ノードに接続された端末間の通信を行いながら、各ノードに設けられるＭＡＣアドレステーブルや方路テーブルなどのルーティング・テーブルに端末のＭＡＣアドレス、最短伝送路を記憶することができる。このルーティング・テーブルの生成や管理方法は、プロトコルヘッダを大きくすることなく、方路や端末のＭＡＣアドレス等の経路情報を学習するので、ルーティング・テーブルへの初期設定を最小にしても良く、リングネットワークを低コストで提供することが出来る。
【図面の簡単な説明】
【００８７】
【図１】本発明の実施例に係るリングネットワークシステムの構成を示すブロック図。
【図２】本発明の実施例に係るリングネットワークシステム上で伝送されるＩＰパケットの構成を示す図。
【図３】本発明の実施例に係るリングネットワークシステムのＭＡＣアドレステーブルを示す図。
【図４】本発明の実施例に係るリングネットワークシステムの方路テーブルを示す図。
【図５】本発明の実施例に係るリングネットワークシステムの動作を示すフローチャート。
【図６】本発明の実施例に係るリングネットワークシステムのＭＡＣアドレステーブルを生成する動作を示すフローチャート。
【図７】本発明の実施例に係るリングネットワークシステムのＭＡＣアドレステーブルにＭＡＣアドレスを追加する動作を示すフローチャート。
【図８】本発明の実施例に係るリングネットワークシステムの方路テーブルの生成動作を示すフローチャート。
【図９】本発明の実施例に係るリングネットワークシステムの方路テーブルの生成動作を示すフローチャート。
【図１０】従来のリングネットワークシステムの構成を示すブロック図。
【符号の説明】
【００８８】
１  ノード
２ａ  第１の伝送路（「方路Ｒ」）
２ｂ  第２の伝送路（「方路Ｌ」）
４  内部メモリ
５  ネットワークインタフェース
６  端末
Ｐ１〜Ｐ７  端末のＭＡＣアドレス
ＤＡ  宛先の端末ＭＡＣアドレスフィールド
ＳＡ  送信元の端末ＭＡＣアドレスフィールド
ＤＮ  宛先ノードアドレスフィールド
ＳＮ  送信元ノードアドレスフィールド
ＴＴＬ  中継カウント数フィールド
Ｏｐ  オプションフィールド
ｍｆ  メッセージフィールド
【図１】
2005184595.tif 000003
【図２】
2005184595.tif 000004
【図３】
2005184595.tif 000005
【図４】
2005184595.tif 000006
【図５】
2005184595.tif 000007
【図６】
2005184595.tif 000008
【図７】
2005184595.tif 000009
【図８】
2005184595.tif 000010
【図９】
2005184595.tif 000011
【図１０】
2005184595.tif 000012