(57)【特許請求の範囲】
【請求項１】
第１のネットワークと、前記第１のネットワークとプロトコルが異なる第２のネットワークの間を、前記第２のネットワーク内のスイッチ装置を介して中継し、該スイッチ装置と接続される中継ノード装置において、
前記第２のネットワーク内で自装置と同じセグメントに属する他の中継ノード装置を識別するための同一セグメント情報を作成する同一セグメント情報作成制御部と、
前記第１のネットワークの接続ポートからブロードキャストフレームを受信したときに、前記ブロードキャストフレームのヘッダから取得した送信元ノード情報で前記同一セグメント情報が検出された場合、前記受信したブロードキャストフレームを、前記第１のネットワークの接続ポートに対してのみブロードキャストすることにより前記スイッチ装置を含む通信のループを抑止するループ抑止制御部と、
を備え、
前記同一セグメント情報作成制御部は、
自装置の前記第２のネットワークの接続ポートがリンクアップしていることを示すリンクアップ通知情報を、前記第１のネットワークの接続ポートからブロードキャストするリンクアップ通知部と、
前記リンクアップ通知情報を受信したときに、前記リンクアップ通知情報が示す中継ノード装置との間で、前記第２のネットワークの接続ポートを使って到達性の確認を行う到達性確認部と、
前記到達性確認部の確認結果に基づき前記同一セグメント情報を作成または更新する同一セグメント情報作成・更新部と、
を備えることを特徴とするネットワーク中継ノード装置。
【請求項２】
前記リンクアップ通知部は、前記リンクアップ通知情報に、自装置の前記第２のネットワーク上でのアドレス情報を付加し、
前記到達性確認部及び同一セグメント情報作成・更新部は、
前記リンクアップ通知情報に付加されている前記第２のネットワーク上でのアドレス情報を宛先アドレスとし、自装置の前記第２のネットワーク上でのアドレス情報を送信元アドレスとし、自装置の前記第１のネットワーク上でのアドレス情報を付加したＰｉｎｇ要求パケットを、前記第２のネットワークの接続ポートを使って送信し、その後前記第２のネットワークの接続ポート上で前記Ｐｉｎｇ要求パケットに対応するＰｉｎｇ応答パケットを監視し、前記Ｐｉｎｇ応答パケットを受信したときに送信元の中継ノード装置の前記第１のネットワーク上でのアドレス情報を取り出し、前記同一セグメント情報に加え、
前記リンクアップ通知情報の送信後、前記第２のネットワークの接続ポートから前記Ｐｉｎｇ要求パケットを受信したときに送信元の中継ノード装置の前記第１のネットワーク上でのアドレス情報を取得し、自装置が記憶する前記同一セグメント情報に加えると共に、自装置の前記第１のネットワーク上でのアドレス情報を付加した前記Ｐｉｎｇ要求パケットに対応するＰｉｎｇ応答パケットを、前記第２のネットワークの接続ポートを使って送信すること、
を含むことを特徴とする請求項１に記載の中継ノード装置。
【請求項３】
前記同一セグメント情報作成制御部は、
前記リンクアップ通知情報を、前記第２のネットワークの接続ポートがリンクアップしたとき、または前記第２のネットワークの接続ポートがリンクアップした後リンクダウンするまでの間に定期的にブロードキャストする手段をさらに具備する、
ことを特徴とする請求項１に記載の中継ノード装置。
【請求項４】
前記同一セグメント情報作成制御部は、
自装置の前記第２のネットワークの接続ポートがリンクダウンしたことを示すリンク断通知情報を、前記第１のネットワークの接続ポートからブロードキャストし、自分が持っている同一セグメントテーブルの情報はＡＬＬクリアすることを特徴とする請求項１に記載の中継ノード装置。
【請求項５】
第１のネットワークと、第１のネットワークとプロトコルの異なる第２のネットワークとを接続するスイッチ装置と、
前記第１のネットワークに設けられ、前記スイッチ装置を含む通信路にループを少なくとも１つ構成する複数の中継ノード装置と、
前記第２のネットワークに設けられ前記スイッチ装置に接続された複数のサーバとからなり、
前記複数の中継ノード装置の各中継ノード装置は、
前記第２のネットワーク内で自装置と同じセグメントに属する他の中継ノード装置を識別するための同一セグメント情報を作成する同一セグメント情報作成制御部と、
前記セグメント情報に存在する他の中継ノード装置へ前記ループを介して情報を送出することを抑止するループ送信抑止制御部と、
を具備し、
前記同一セグメント情報作成制御部は、
自装置の前記第２のネットワークの接続ポートがリンクアップしていることを示すリンクアップ通知情報を、前記第１のネットワークの接続ポートからブロードキャストするリンクアップ通知部と、
前記リンクアップ通知情報を受信したときに、前記リンクアップ通知情報が示す中継ノード装置との間で、前記第２のネットワークの接続ポートを使って到達性の確認を行う到達性確認部と、
前記到達性確認部の確認結果に基づき前記同一セグメント情報を作成または更新する同一セグメント情報作成・更新部と、
を備えることを特徴とするネットワーク中継システム。
【請求項６】
コンピュータが第１のネットワークと、第１のネットワークとプロトコルの異なる第２のネットワークの間を中継する中継ノード装置によるネットワーク中継方法において、
前記第２のネットワーク内で自装置と同じセグメントに属する他の中継ノード装置を識別するための同一セグメント情報を作成し、
前記第１のネットワークの接続ポートからブロードキャストフレームを受信したときに、前記ブロードキャストフレームのヘッダから取得した送信元ノード情報で前記同一セグメント情報が検出された場合、前記受信したブロードキャストフレームを、前記第１のネットワークの接続ポートに対してのみブロードキャストし、
前記同一セグメント情報を作成する場合、自装置の前記第２のネットワークの接続ポートがリンクアップしていることを示すリンクアップ通知情報を、前記第１のネットワークの接続ポートからブロードキャストし、
前記リンクアップ通知情報を受信したときに、前記リンクアップ通知情報が示す中継ノード装置との間で、前記第２のネットワークの接続ポートを使って到達性の確認を行い、
前記到達性の確認の結果に基づき前記同一セグメント情報を作成または更新する
ことを特徴とする中継ノード装置によるネットワーク中継方法。
【請求項７】
第１のネットワークと、第１のネットワークとプロトコルの異なる第２のネットワークの間を中継するプログラムを記憶した記憶媒体であって、前記プログラムがコンピュータに、
前記第２のネットワーク内で自装置と同じセグメントに属する他の中継ノード装置を識別するための同一セグメント情報を作成し、
前記第１のネットワークの接続ポートからブロードキャストフレームを受信したときに、前記ブロードキャストフレームのヘッダから取得した送信元ノード情報で前記同一セグメント情報が検出された場合、前記受信したブロードキャストフレームを、前記第１のネットワークの接続ポートに対してのみブロードキャストし、
前記同一セグメント情報を作成する場合、自装置の前記第２のネットワークの接続ポートがリンクアップしていることを示すリンクアップ通知情報を、前記第１のネットワークの接続ポートからブロードキャストし、
前記リンクアップ通知情報を受信したときに、前記リンクアップ通知情報が示す中継ノード装置との間で、前記第２のネットワークの接続ポートを使って到達性の確認を行い、
前記到達性の確認の結果に基づき前記同一セグメント情報を作成または更新する
機能を実行させることを特徴とする記憶媒体。
【請求項８】
請求項１に記載の中継ノード装置を前記第２のネットワーク内のスイッチ装置に複数接続して前記第１のネットワークと前記第２のネットワークを接続することを特徴とするネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、第１のネットワークと、これと通信プロトコルの異なる第２のネットワークの間を中継するネットワーク中継ノード装置、ネットワーク中継方法、プログラム及びシステムに関する。
【背景技術】
【０００２】
第１のネットワークとして、例えばルータやアクセスポイント、基地局といったネットワーク接続装置を使わずに通信ユニット同士が直接または他の通信ユニットを経由して有線または無線で接続するネットワーク、例えばアドホックネットワークがある。【０００３】
更に、第１のネットワークとはプロトコルの異なる第２のネットワークとして、例えばアドホックネットワークを構成する端末であるノードから各種情報を収集するネットワーク、例えばＬＡＮ（ローカルエリアネットワーク）がある。第２のネットワークでは、例えばネットワーク接続装置を介して通信ユニット同士が接続される。【０００４】
第１のネットワークと第２のネットワークが接続された構成として、例えば、ＬＡＮ内のスイッチが、アドホックネットワーク内の通信ユニットであるネットワーク中継ノードに接続されるとともに、ＬＡＮ内の通信ユニットであるサーバコンピュータ（以下単に「サーバ」という）に接続されるものがある。そして、ＬＡＮ内のサーバが、アドホックネットワーク内の各ノードを制御しあるいは各ノードから情報を収集する。【０００５】
このような構成の一例として、ＬＡＮ内のセンサ情報収集用のサーバが、センサ機器として動作しているアドホックネットワーク内のノードから、各種センサ情報を収集する目的で構築することができる。【０００６】
上述のような第１および第２のネットワークが接続された構成において例えば、第２のネットワーク内のサーバから第１のネットワークに向けてブロードキャスト情報を送出する場合を考える。【０００７】
例えば、図１において、ＬＡＮ内のサーバ１から送出されたブロードキャスト情報は、スイッチＳＷで受信される。ＳＷは、ブロードキャスト情報を認識後、それに接続されているアドホックネットワーク内のノードＢにそのブロードキャスト情報を送信する。そのノードＢは、ブロードキャスト情報を受信した後、自ノードに接続されている全ポート、例えばノードＡやその他のノードに向けて、そのブロードキャスト情報を送信する。【０００８】
このような場合において、アドホックネットワーク等の第１のネットワークでは、そのネットワークを構成する各ノードはメッシュ状の接続構成となっている。このため、第１のネットワークでは、物理的にはルートがループする構成となっている。通信情報がループした場合、正常なルーティングができなくなる。しかし、このような第１のネットワークには通常、物理的にルートがループしていても、ルートを流れる通信情報がループしない仕組みが組み込まれている。【０００９】
また、アドホック網とアドホック網に接続するＬＡＮセグメント上の通信装置間で、ネットワーク層のプロトコルに依存せず通信できる通信システムにおいて、経路表より、前記アドホック網内の通信装置へのフレームの送信先となる通信装置を決定する技術もある。（例えば特許文献１）
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００６−２７９１６８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
上述のような第１のネットワークと第２のネットワークとの相互接続において、第２のネットワーク内のサーバ等と第１のネットワーク内のノードとの接続を二重化する必要性が生じる場合がある。【００１２】
上述の二重化構成の例として、図２に示される構成が考えられる。図２では、ＬＡＮ内のスイッチＳＷにサーバ１とサーバ２が接続され、そのスイッチＳＷに、アドホックネットワーク内のノードＡとノードＢが接続されている。すなわち、図２では、ＬＡＮ側のサーバが二重化され、さらにアドホックネットワーク側のノードが二重化された構成を有する。【００１３】
このような構成において例えば、サーバ１が、サーバ２のＭＡＣアドレスを取得するために、ＡＲＰリクエストを送出する場合を考える（図２のＳ１）。ＡＲＰ（Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）は、イーサネット（登録商標）環境において、ＩＰ（インターネットプロトコル）アドレスからＭＡＣ（メディアアクセスコントロール）アドレスを得るために用いられるプロトコルである。ＡＲＰリクエストは、ブロードキャスト情報である。ＡＲＰリクエストを受信した各装置において、そのＡＲＰリクエストが自ノード宛てでないときには、そのＡＲＰリクエストを更に自装置に接続されている受信ポート以外のポートに送信する。また各装置は、そのＡＲＰリクエストが自ノード宛てであるときには、そのＡＲＰリクエストの送信元に対して、自装置のＭＡＣアドレスを通知する。この結果通常は、サーバ１はサーバ２のＭＡＣアドレスを取得することができる。サーバ１は、サーバ２のＭＡＣアドレスを使って、サーバ２との間で通信を実行する。【００１４】
ここで、ＡＲＰリクエストを受信したＳＷは、ＡＲＰリクエストを受信したポート以外の全てのポートにＡＲＰリクエストを送信する（図２のＳ２）。
ノードＡ,ノードＢにＡＲＰリクエストが届く。ノードＡ，Ｂはそれぞれ、そのＡＲＰリクエストが自ノード宛てではないため、ＡＲＰリクエストを受信したＳＷのポート以外のＳＷの全ポートにさらに、そのＡＲＰリクエストを送信する（図２のＳ３）。【００１５】
このとき例えば、ＳＷがノードＡに送信したＡＲＰリクエストが、ノードＢを経由してＳＷに戻ってしまい、ループが発生してしまう。第２のネットワーク内のＳＷ等のネットワーク接続装置やサーバは、ネットワークでループが発生するとネットワークがダウンしてしまい正常な通信が出来なくなる。このため、サーバ１は、サーバ２から、ＡＲＰリクエストに対する応答を受け取ることができず、サーバ２のＭＡＣアドレスを知ることができなくなってしまう
このように従来技術では図２に示すネットワーク構成において、第１のネットワークとこれとプロトコルの異なる第２のネットワーク間のループを抑止することは難しい。したがって従来は、図２に示されるような二重化構成を構築することは難しくなる。しかし、図３に示されるようなサーバ１、２とノードＡ、Ｂがそれぞれ１対１で接続される二重化構成は可能である。しかし、図３のような構成の場合、例えばルート１に障害が発生してしまうと、サーバ１からはどこにもアクセスできなくなってしまう。【００１６】
そこで、本発明の１つの側面では、アドホックネットワーク等の第１のネットワークとＬＡＮ等の第２のネットワークとの接続においてループを抑止するとともに自由度の高い二重化構成を、ネットワーク構築者に負担を軽減して実現することを目的とする。
【課題を解決するための手段】
【００１７】
態様の一例では、第１のネットワークと、前記第１のネットワークとプロトコルが異なる第２のネットワークの間を、前記第２のネットワーク内のスイッチ装置を介して中継し、該スイッチ装置と接続される中継ノード装置において、前記第２のネットワーク内で自装置と同じセグメントに属する他の中継ノード装置を識別するための同一セグメント情報を作成する同一セグメント情報作成制御部と、前記第１のネットワークの接続ポートからブロードキャストフレームを受信したときに、前記ブロードキャストフレームのヘッダから取得した送信元ノード情報で前記同一セグメント情報が検出された場合、前記受信したブロードキャストフレームを、前記第１のネットワークの接続ポートに対してのみブロードキャストすることにより前記スイッチ装置を含む通信のループを抑止するループ抑止制御部とを備え、前記同一セグメント情報作成制御部は、自装置の前記第２のネットワークの接続ポートがリンクアップしていることを示すリンクアップ通知情報を、前記第１のネットワークの接続ポートからブロードキャストするリンクアップ通知部と、前記リンクアップ通知情報を受信したときに、前記リンクアップ通知情報が示す中継ノード装置との間で、前記第２のネットワークの接続ポートを使って到達性の確認を行う到達性確認部と、前記到達性確認部の確認結果に基づき前記同一セグメント情報を作成または更新する同一セグメント情報作成・更新部と、を備えことを特徴とするネットワーク中継ノード装置を提供する。
【発明の効果】
【００１８】
第１のネットワークとこれとプロトコルの異なる第２のネットワークを接続する、中継ネットワーク部分のループを抑止するともに自由度の高い二重化を、ネットワーク構築者の負担を軽減して行うことが可能となる。
【図面の簡単な説明】
【００１９】
【図１】従来のネットワーク構成図である。
【図２】従来の二重化接続における問題点の説明図（その１）である。
【図３】従来の二重化接続における問題点の説明図（その２）である。
【図４】本実施形態のネットワークシステムの構成例を示す図である。
【図５】ＳＴＰ方式の説明図である。
【図６】ノードの接続ポートの構成図である。
【図７】本実施形態における同一セグメントテーブルの登録動作の説明図である。
【図８】「ＬＡＮ側リンクアップ通知」コマンドのデータ構成例を示す図である。
【図９】Ｐｉｎｇ要求コマンドとその応答のデータ構成例を示す図である。
【図１０】本実施形態におけるブロードキャストフレーム入力時の処理説明図である。
【図１１】ノードのハードウェア構成図である。
【図１２】ノードの機能ブロック図である。
【図１３】同一セグメントテーブルの登録、更新、削除処理を示すフローチャートである。
【図１４】本実施形態のネットワークシステムの具体的な構成例を示す図である。
【図１５】本実施形態を実現可能なハードウェアの構成図である。
【発明を実施するための形態】
【００２０】
以下、本発明を実施するための形態について図面を参照しながら詳細に説明する。
図４は、本実施形態のネットワークシステム図である。
アドホックネットワーク４０１は、通信ユニットであるノード同士が直接または他のノードを経由して相互に接続される第１のネットワークを構成する。
【００２１】
ＬＡＮ（ローカルエリアネットワーク）４０２は、例えばネットワーク接続装置であるスイッチＳＷを介して、通信ユニットであるサーバ１やサーバ２が相互に接続される第２のネットワークを構成する。
【００２２】
また、中継ネットワーク部分４０３は、スイッチＳＷが、アドホックネットワーク４０１内の全ノードの情報を収集するためのゲートウェイとして動作する中継ノードであるノードＡ、ノードＢと、ＬＡＮ４０２内のサーバ１，２とを相互に接続する。すなわち、アドホックネットワーク４０１側のノードＡ，Ｂが二重化されると共に、ＬＡＮ４０２側のサーバ１，２も二重化されている。
【００２３】
ここで、第１のネットワークと第２のネットワークとの二重化された相互接続における前述した通信情報のループ問題を回避するために、ＳＴＰ（Ｓｐａｎｎｉｎｇ  Ｔｒｅｅ  Ｐｒｏｔｏｃｏｌ）機能付きのスイッチを使用した技術が考えられる。
【００２４】
図５は、ＳＴＰ方式の説明図である。  
ＳＴＰ機能では、ＢＰＤＵ（Ｂｒｉｄｇｅ  Ｐｒｏｔｏｃｏｌ  Ｄａｔａ  Ｕｎｉｔ）と呼ばれる特殊なデータを送出して通信情報のループ状態が検出される。これにより、ある特定の経路例えばルート５０１が定常経路として設定され、その他の経路例えばルート５０２は、通常は使わないようにして遮断され、障害発生時の迂回路として定義される。これによりノードＡとノードＢが多重化され、スイッチＳＷ、ノードＡ、ノードＢの間に物理的にループが存在する場合でも、情報の通信がループすることを抑止できる。
【００２５】
しかしながら、ＳＴＰ機能を使った二重化では、図５に示されるように、定常時には、サーバ１とサーバ２は、ノードＡを使ったルート５０１経由でしか、アドホックネットワーク内の各ノードと通信できない。すなわち、サーバ１またはサーバ２はノードＢと直接通信できない。また、このため定常時に、例えばサーバ１がノードＡまたはノードＢと直接通信を行うと同時に、サーバ２もノードＡまたはノードＢと直接通信を行うといった二重化構成が実現できない。
したがって、ＳＴＰ機能付きのスイッチを使うことを想定した場合も、自由度の高い二重化構成には十分に対応することは難しい。
【００２６】
図６は、本実施形態における図４のアドホックネットワーク４０１の各中継ノードに対応するノード６０１の接続ポートの構成図である。ノード６０１は、図４のスイッチＳＷと接続するためのＬＡＮポート６０２と、アドホックネットワーク４０１内の複数のノードと接続するための複数（例えば４本）のトランクポート６０３を備える。
【００２７】
図７は、本実施形態における同一セグメントテーブルの登録動作の説明図である。
本実施形態では、ノードＡ，Ｂ（図４参照）はそれぞれ、図７（ｂ）および（ｃ）に示されるように、ノードＡ、ノードＢが同一セグメントに属することを示す同一セグメントテーブル７０１Ａおよび７０１Ｂを形成する。ここで同一セグメントに属するとは第２のネットワーク内で発信されたブロードキャストフレームを受信可能となる条件で接続されているということである。
【００２８】
そして、例えばいま、ノードＡのＬＡＮポート６０２Ａはリンクアップ未、ノードＢのＬＡＮポート６０２Ｂはリンクアップ済の状態とする。リンクアップ末とは、ＬＡＮポート６０２Ａがまだ通信可能状態に開いていないことである。
【００２９】
ノードＡは、ＬＡＮポート６０２Ａがリンクアップしたら「ＬＡＮ側リンクアップ通知」コマンドを、ノードＡのトランクポート６０３Ａから他のノードのトランクポートへブロードキャストする（図７（ａ）のステップＳ１）。このコマンドにより、ノードＢは、ノードＡのアドホックアドレス、ノードＡのＬＡＮポート６０２ＡのＩＰアドレス、およびノードＡのＬＡＮポート６０２Ａがリンクアップしたことを知ることができる。
【００３０】
図７（ａ）において、「ＬＡＮ側リンクアップ通知」コマンドを何れかのトランクポート６０３Ｂから受信したノードＢは、ＬＡＮポート６０２ＢからノードＡに対し、スイッチＳＷを介してエコー要求パケット例えばＰｉｎｇ要求コマンドを発行する（図７（ａ）のステップＳ２）。ノードＢからのＰｉｎｇ要求コマンドは、ルートがつながっているため、先に「ＬＡＮ側リンクアップ通知」コマンドを送信したノードＡに届く。ノードＢは、以下のようにして、エコー応答パケット例えばＰｉｎｇ応答コマンドをノードＡから受信し（ステップＳ４）ＰｉｎｇがノードＡに届いたことを確認することで、ＬＡＮポート６０２Ａおよび６０２Ｂ同士でノードＡ，Ｂが接続されていることを認識できる。
【００３１】
図７（ａ）で、先に「ＬＡＮ側リンクアップ通知」コマンドを送信したノードＡは、ＬＡＮポートから、ノードＢからのＰｉｎｇ要求コマンドを受信すると（図７（ａ）のステップＳ２）、自ノードが保有する同一セグメントテーブル７０１Ａに、図７（ｂ）として示されるように、ノードＢのアドホックアドレスを書き込む（ステップＳ３ａ）。
【００３２】
同時に、ノードＡは、ノードＢに向けて、ＬＡＮポートから、Ｐｉｎｇ応答を返す（図７（ａ）のステップＳ４）。ノードＢは、ＬＡＮポートから、ノードＡからのＰｉｎｇ応答を受けることにより（図７（ａ）のステップＳ４）、同一セグメントにノードＡがいることを知る。これにより、ノードＢは、自ノードが保有する同一セグメントテーブル７０１Ｂに、図７（ｃ）として示されるように、ノードＡのアドホックアドレスを書き込む（ステップＳ３ｂ）。
以上の制御により、ブロードキャスト情報が入力された場合に、その情報がループしてしまうことを抑止できる状態になる。
【００３３】
「ＬＡＮ側リンクアップ通知」コマンドはアドホックコマンドであってそのデータ構成例を、図８に示す。図８において、「ＧＤ」（グローバル・デスティネーション）フィールドは、アドホックネットワーク４０１（図４）側の宛先ノードＩＤを示す。ブロードキャスト時には、ＧＤフィールドの値は「０ｘｆｆｆｆｆｆ」である。「ＧＳ」（グローバル・ソース）フィールドは、アドホックネットワーク４０１の送信元ノードＩＤを示す。「ＴＹＰＥ」フィールドは、データタイプを示す。このフィールドには、「ＬＡＮ側リンクアップ通知」に対応する値が設定される。「ＦＩＤ」フィールドは、フレーム識別ＩＤを示す。このフィールドには、シーケンシャルナンバーがフレーム毎に付加される。「ＴＴＬ」フィールドは、フレーム生存時間を示す。「Ｌｅｎｇｔｈ」フィールドは、Ｂｏｄｙフィールド部分のフレーム長を示す。「ＦＣＳ」フィールドは、アドホックヘッダ（「ＧＤ」フィールドから「Ｌｅｎｇｔｈ」まで）部分の誤り訂正用のフレームチェックシーケンスを示す。「Ｂｏｄｙ」フィールドは、自ノード（ここではノードＡ）のＩＰアドレス等を示す。
【００３４】
Ｐｉｎｇ要求コマンドとその応答のＰｉｎｇ応答コマンドのデータ構成例を、図９に示す。Ｐｉｎｇ要求コマンド・応答は、ＩＣＭＰ（Ｉｎｔｅｒｎｅｔ  Ｃｏｎｔｒｏｌ  Ｍｅｓｓａｇｅ  Ｐｒｏｔｏｃｏｌ）メッセージとして実現される。図９において、「ＴＹＰＥ」フィールドは、ＩＣＭＰメッセージの種別を示す。このフィールドには、Ｐｉｎｇであることを示す値が設定される。「コード」フィールドは、Ｐｉｎｇ要求コマンドかＰｉｎｇ応答かを示す。「チェックサム」フィールドは、エラーチェック用のフィールドである。「固有ヘッダ」には、ＩＣＭＰの種別ごとの固有のヘッダを示す。「ＩＣＭＰメッセージ」フィールドは、可変長であり、本実施形態の場合には自ノード（ここではノードＢ）のアドホックアドレスを示す。以上の「ＴＹＰＥ」「コード」「チェックサム」「固有ヘッダ」からなるＩＣＭＰヘッダと、「ＩＣＭＰメッセージ」フィールドとで、Ｐｉｎｇ要求コマンド用のＩＣＭＰフレームが構成される。このＩＣＭＰフレームにはさらに、ＩＰヘッダ、ＭＡＣヘッダ、およびＢｏｄｙ部分（データとＦＣＳ）が付加されて、伝送用のデータが構成される。
【００３５】
ＩＰヘッダに付加される宛先ＩＰアドレスとしては、ＬＡＮポートがリンクアップしたノードのＩＰアドレスが設定される。このＩＰアドレスは、先に受信された「ＬＡＮ側リンクアップ通知」コマンドの「Ｂｏｄｙ」フィールドから取得できる。
【００３６】
ノードＢのアドホックアドレスは、受信したＰｉｎｇ要求コマンドの「ＩＣＭＰメッセージ」フィールドから取得できる。ノードＡのアドホックアドレスは、受信したＰｉｎｇ応答の「ＩＣＭＰメッセージ」フィールドから取得できる。
【００３７】
Ｐｉｎｇ応答のデータ構成例は、上述した図９と同様であり、「コマンド」フィールドにＰｉｎｇ応答を示す値が設定され、「ＩＣＭＰメッセージ」フィールドにノードＡのアドホックアドレスが設定される。
【００３８】
次に図１０を参照して、本実施形態におけるブロードキャストフレーム入力時のループ抑止処理を説明する。
いま、図７で説明した動作により、ノードＡおよびノードＢに、それぞれ図７（ｂ）および（ｃ）に示される同一セグメントテーブル７０１Ａおよび７０１Ｂが設定済みの状態であるとする。
【００３９】
この状態で例えば、サーバ２からブロードキャストフレームが送信され、スイッチＳＷを経由しノードＢに到達する（図１０のステップＳ５）。なお、このブロードキャストフレームは、同様にＳＷを経由してノードＡにも到達しているが、以下の動作は、両方のノードとも同じ動作となるため、ノードＢについてのみ説明する。
【００４０】
ノードＢは、ＬＡＮポートから受信したブロードキャストフレームであるＭＡＣフレーム１００２に、アドホックヘッダ１００１を付加し、各トランクポート６０３（これは図６のトランクポート６０３を簡略化して示したものである）から送出する。このフレームは、各ノード、例えばノードＡの１つのトランクポートポートに到着する（図１０のステップＳ６）。
【００４１】
各ノード、例えばノードＡは、何れかのトランクポートから受信したフレームにおいて、ブロードキャストフレームを認識する。このフレームのアドホックヘッダのデータ構成は、図８に示される「ＬＡＮ側リンクアップ通知」コマンドのデータ構成例の場合と同様である。すなわち、「ＧＤ」フィールドは、宛先ノードＩＤを示す。ブロードキャストフレームでは、値「０ｘｆｆｆｆｆｆ」が設定される。これを認識することにより、ブロードキャストフレームが認識される。「ＧＳ」フィールドは、送信元ノードＩＤを示す。今、受信フレームがノードＢから届いたブロードキャストフレームである場合には、このフィールドにノードＢのＩＤが付加されている。このため、ノードＡは、ノードＢのアドホックアドレスを知ることができる。
【００４２】
各ノード、例えばノードＡは、ブロードキャストフレームを１つのトランクポートで受信したことを認識した場合、受信したフレームから取得できる送信元ノードＩＤで、自ノードが保有する同一セグメントテーブル７０１Ａを検索する。この結果、検索がヒットしたときには、各ノードは、受信したフレームは、ＬＡＮポート６０２へは送出せず、受信したトランクポートとは別の各トランクポート６０３に対してのみブロードキャスト送信する（以上、図１０のステップＳ７）。ノードＡの場合、送信元であるノードＢのアドホックアドレスがヒットする。これにより、ノードＡは、受信したブロードキャストフレームは、ＬＡＮポート６０２には送出せず、各トランクポート６０３に対してのみ送出する。これにより、ブロードキャストフレームのループを抑止することができる。すなわちサーバ２からのブロードキャストフレームはノードＢを介して、ノードＡにブロードキャストされるが、ノードＡからスイッチＳＷを介してノードＢにループすることは抑止される。したがって、図１０に示した本発明の実施形態によれば、ノードＡ、ノードＢが多重化された構成において、ノードＡ、ノードＢ、スイッチを介して物理的にループが存在する場合でも、情報のループは抑止される。なお、各ノードは、ＬＡＮポートから受信したフレームについては、上述の同一セグメントテーブルの検索処理は行わない。
以上の基本動作に加えて、本実施形態では、以下に説明する第１および第２の制御処理が実行される。
【００４３】
第１の制御処理として、同一セグメントテーブルの情報を最新に保つための制御処理が実行される。
まず、前述した図７（ａ）のステップＳ１とは逆の動作として、任意のノードは、ＬＡＮポートがリンク断したら「ＬＡＮ側リンク断通知」コマンドを、各トランクポートにブロードキャストし、自分の同一セグメントテーブルの情報をＡＬＬクリアする。「ＬＡＮ側リンク断通知」コマンドのデータ構成例は、図８に示される「ＬＡＮ側リンクアップ通知」コマンドのものと同様である。ただし、「ＴＹＰＥ」フィールドには、「ＬＡＮ側リンク断通知」に対応する値が設定される。このコマンドの「ＧＳ」フィールドの値から、他のノードは、ＬＡＮポートのリンク断が発生したノードのアドホックアドレスを知ることができる。これらの他のノードは、それぞれが保有する同一セグメントテーブルから、そのノードのアドホックアドレスを削除する。
【００４４】
また、前述した図７（ａ）のステップＳ１の動作により送出される「ＬＡＮ側リンクアップ通知」コマンドは、各ノードの起動時のみではなく定期的に送信される。なお、同コマンドの送信間隔は設定により可変可能とする。「ＬＡＮ側リンクアップ通知」コマンドを受信した各ノードは、前述した図７（ａ）のＳ２およびＳ４の場合と同様にしてＰｉｎｇ要求コマンドと応答のやりとりを行うことで、相互の同一セグメントテーブルにおいて、アドホックアドレス情報を上書きして各テーブルを最新状態に保つ。
【００４５】
第２の制御処理として、ＬＡＮポートのリンクアップ直後に、以下の制御処理が実行される。すなわち、ＬＡＮポートのリンクアップ直後は、まだＰｉｎｇ要求コマンドのやりとりや同一セグメントテーブルができていないタイミングが存在する。このときに、ブロードキャスト情報を受信、送信してしまうと、ループが発生してしまう。これを防ぐために本実施形態では、ＬＡＮポートのリンクアップを検出してから例えば数１００ｍＳ（ミリ秒）のガード期間を設け、この期間は別のノードのＬＡＮポートから入って来たブロードキャスト情報は受け付けないこととする。なお、ガード期間は、設定で可変とする。
【００４６】
以上の本実施形態の説明では、図４から図１０に示されるように、スイッチＳＷに接続されるアドホックネットワーク側のノードが２つの場合で説明をした。しかし、本実施形態で開示する技術は、これに限定される必要はなく、２つ以上のノードがＬＡＮ４０２側のスイッチＳＷに接続される構成となった場合であっても、上述の説明の場合と同様に動作可能である。すなわち、例えばノードＡのセグメントテーブルにはその複数のノードのアドホックアドレスが記憶され、それらの複数のノードへのループが抑止される。
【００４７】
また、サーバ１、サーバ２が多重構成とされた場合も、サーバ１はスイッチＳＷを介してノードＡに接続され、サーバ２にはスイッチＳＷを介してノードＢに接続される。この場合でも上述したように、スイッチＳＷ、ノードＡ、ノードＢのループした通信路が物理的に存在しても、情報のループは阻止される。したがって、本実施形態によれば、サーバ１、２及びまたはノードＡ、ノードＢが多重化された場合、ノードＡとノードＢに負荷分散を行なうことができる。さらに、サーバ１にはノードＡを介して例えばネットワークから情報収集、サーバ２にはノードＢを介して例えばアドホックネットワークの制御を行なうことができる。したがって、サーバ１、サーバ２あるいはノードＡ、ノードＢの機能分散も行なうことができる。
【００４８】
以上説明した実施形態において必要な機能は、以下の通りである。
１．アドホックネットワーク内の各中継ノードが、同一セグメントテーブルを保有する。ここで、中継ノードとは、アドホックネットワーク等の第１のネットワーク用のポートに加えて、ＬＡＮ等の第２のネットワーク用のポートを備え、第１および第２のネットワーク間で情報を中継する能力を有するノードをいう。
【００４９】
２．アドホックネットワーク内の中継ノードは、自ノードのＬＡＮポートがリンクアップしたとき、またはリンクアップ後定期的に、自ノードのＩＰアドレスを格納した「ＬＡＮ側リンクアップ通知」コマンドを、自ノードの各トランクポートにブロードキャストする。
【００５０】
アドホックネットワーク内の中継ノードは、「ＬＡＮ側リンクアップ通知」コマンドを受信したときに、そのコマンドに格納されているＩＰアドレスに向けて、自ノードのＬＡＮポートに、自ノードのアドホックアドレスを格納したＰｉｎｇ要求コマンドを送出する。そして、そのＰｉｎｇ要求コマンドに対応するＰｉｎｇ応答をＬＡＮポート側で監視する。Ｐｉｎｇ応答を受信したときに、そのコマンドに格納されているアドホックアドレスを自ノードが保有する同一セグメントテーブルに登録（または上書き）する。
【００５１】
アドホックネットワーク内の中継ノードは、ＬＡＮポートからＰｉｎｇ要求コマンドを受信したときに、そのコマンドに格納されているアドホックアドレスを自ノードが保有する同一セグメントテーブルに登録（または上書き）する。そして、自ノードのアドホックアドレスを格納したＰｉｎｇ応答を、受信したＰｉｎｇ要求コマンドに格納されている送信元ＩＰアドレスに向けて、自ノードのＬＡＮポートに送出する。
【００５２】
３．アドホックネットワーク内の中継ノードは、自ノードのＬＡＮポートがリンク断したときに、自ノードのＩＰアドレスを格納した「ＬＡＮ側リンク断通知」コマンドを、自ノードの各トランクポートにブロードキャストし、自分の同一セグメントテーブルはＡＬＬクリアする。
【００５３】
アドホックネットワーク内の中継ノードは、「ＬＡＮ側リンク断通知」コマンドを受信したときに、そのコマンドの送信元のアドホックアドレスを、自ノードが保有する同一セグメントテーブルから削除する。
【００５４】
４．アドホックネットワーク内の中継ノードは、ＬＡＮポートから受信したブロードキャストフレームに、アドホックヘッダを付加し、各トランクポートから送出する。
【００５５】
各中継ノードは、何れかのトランクポートから受信したフレームにおいて、宛先ノードＩＤからブロードキャストフレームを認識する。各中継ノードは、ブロードキャストフレームを認識した場合、受信したフレームから取得できる送信元ノードＩＤで、自ノードが保有する同一セグメントテーブルを検索する。この結果、検索がヒットしたときには、各中継ノードは、受信したフレームは、ＬＡＮポートへは送出せず、各トランクポートに対してのみブロードキャスト送信する。
【００５６】
以上の４つの機能を保有することで、アドホックネットワーク等の第１のネットワークとＬＡＮ等の第２のネットワークが接続された構成を有するネットワークの利用者は、中継ネットワーク部分の二重化等を行っても、通信情報のループを気にすることなく、自由度の高い接続構成をとることが可能となる。
【００５７】
本実施形態の効果を、図５に示したＳＴＰ機能を使う技術に対比して以下にまとめる。ａ．一般的に、ＳＴＰ機能付きのスイッチは高価であるが、このＳＴＰ機能を持ったスイッチを設置する必要がない。
ｂ．ＳＴＰ機能の設定には高度なスキルが必要であり、誰でも簡単に設定できるというものではない。本実施形態によれば、中継ノードＡ、Ｂに既にループ防止の機能が組み込まれているので設定にスキルを必要としない。
ｃ．ＳＴＰ機能ではスイッチＳＷから１つのノードＡ（またはノードＢ）にしか接続できない。このため、例えば、ＬＡＮ４０２内の個々のサーバ１，２からアドホックネットワーク４０１内の各ノードに対して異なる指示を出す場合に、１つのノードＡ（またはノードＢ）だけでは通信負荷が集中して、取り扱えるデータ量に制約がでる。特に、アドホックネットワーク４０１がセンサーネットワークであるような場合に、１つのノードしかＬＡＮ４０２側と通信ができないと、ネットワーク規模が制約されることになる。本実施形態では、ノードＡとノードＢが同時にサーバ１やサーバ２と通信できるので、負荷の分散が可能となる。
【００５８】
さらに、ＳＴＰ機能ではサーバ１，２でそれぞれ異なる目的の処理を行うような場合に、サーバ１とサーバ２が２つのノードＡ，Ｂにそれぞれ同時に接続できなくなり、システムの機能に制約を生じる。本実施形態では多重化されたサーバ及び多重化されたノードの機能の分散ができる。
ｄ．ＳＴＰ方式では、ノードＡのルート５０１に障害が発生した場合に、そのルート５０１がそのときまで使用されていないノードＢを使ったルート５０２に切り替えなければならない。ルートの切り替えに数十秒〜５０秒くらいの切り替え時間が発生する。これを改善したＲＳＴＰ（Ｒａｐｉｄ  Ｓｐａｎｎｉｎｇ  Ｔｒｅｅ  Ｐｒｏｔｏｃｏｌ）も登場しているが、これでも最悪値の場合で１秒程度の切り替え時間が発生してしまう。
【００５９】
本実施形態ではスイッチＳＷとノードＡ、ノードＢの両方のルートは既に使用されているので、障害が生じた場合のルートの切り換え速度が速い。
【００６０】
以上説明したように、本実施形態は、第１のネットワーク内の２重化された中継ノードＡ，Ｂと第１のネットワークとプロトコルの異なる第２のネットワークのスイッチとからなる中継ネットワーク部分において、ノードＡ、ノードＢとスイッチＳＷに物理的にループが存在する場合にも情報の通信のループを抑止できる。さらに、本実施形態において、中継ノードが多重化されており、サーバは多重化されていない場合であっても図５に示したＳＴＰ機能を有する技術に対しても上記a，b，dの効果を奏する。さらに、図１０に示されるような本実施形態において、サーバも中継ノードも多重化されている場合は、ＳＴＰ機能の技術に対して上記a，b，d記載の効果に加えて、さらに上記c記載の効果を奏する。  
【００６１】
図１１は、本実施形態における図６のノード６０１のハードウェア構成図、図１２は、ノード６０１の機能ブロック図である。図１２において、図１１と同じ部分には同じ番号を付してある。
【００６２】
有線アドホックポート１１０６は、図６のトランクポート６０３に対応し、他のノードとの間でやりとりされる通信情報を入出力する。有線アドホックポート１１０６は、送受信フレームの符号化または復号を行うＰＨＹ１〜４までのＰＨＹ（ＰＨＹｓｉｃａｌ  Ｌａｙｅｒ  Ｄｅｖｉｃｅ）１１０４によって終端される。この有線アドホックポート１１０６とＰＨＹ１１０４からなる部分は、機能的には、図１２に示されるように、受信部１２０８と送信部１２０９とからなる。受信部１２０８の各受信ポート１２０８−１〜ｘは、各有線アドホックポート１１０６ごとの復号処理等を実行する部分である。送信部１２０９の各送信ポート１２０９−１〜ｘは、各有線アドホックポート１１０６ごとの符号化処理等を実行する部分である。各送信ポート１２０９−１〜ｘには、ＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１１１０内に実装されるバッファ部１２１０を介して送信情報が供給される。ＰＨＹ１１０４に対して入出力されるフレームデータは、ＭＩＩ（Ｍｅｄｉａ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｉｎｔｅｒｆａｃｅ）１１１７の接続ラインを介してＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）１１０１と接続される。
【００６３】
汎用ＬＡＮポート１１０７は、図６のＬＡＮポート６０２に対応し、Ｌ２ＳＷ（レイヤ２スイッチ）１１０３によって終端される。
ＰＨＹ１１０４内の各送受信ポートの稼働状況は、ＦＰＧＡ１１０１内のポート監視部１２０２によって監視される。
【００６４】
ＦＰＧＡ１１０１内の受信フレーム制御部１２０３は、ＰＨＹ１１０４内の各受信ポート１２０８−１〜ｘにて受信されるフレームデータを受信する処理を実行する。
受信されたフレームデータが自ノードで処理すべきデータである場合、受信フレーム制御部１２０３で受信されたフレームデータは、ＭＩＩ１１１４の接続ラインを介してＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１０２に引き渡される。このデータは、ＭＰＵ１１０２と、そこから制御されるＤＤＲ２−ＳＤＲＡＭ（Ｄｏｕｂｌｅ−Ｄａｔａ−Ｒａｔｅ２  Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１１１１、またはフラッシュメモリ（ＦＬＡＳＨ）１１１２とから構成される上位層処理部１２１１で処理される。
【００６５】
ＦＰＧＡ１１０１内のポート選択部１２０５は、受信フレーム制御部１２０３で受信されたフレームデータに対して、送信側のポートを選択して送信フレーム制御部１２０４に引き渡す。このときポート選択部１２０５は、テーブル制御部１２０６によって制御されるテーブル格納部１２０１内の各ルーティングテーブル等の内容に基づいて、送信側のポートを選択する。本実施形態では、テーブル格納部１２０１は、同一セグメント情報である同一セグメントテーブルを記憶する記憶部としても機能する。
【００６６】
送信フレーム制御部１２０４は、ポート選択部１２０５から指定された送信ポートに対して、ポート選択部１２０５から引き渡されたフレームデータを、バッファ部１２１０を介して出力し送信させる。
【００６７】
テーブル制御部１２０６は、受信フレーム制御部１２０３と送信フレーム制御部１２０４の送受信状況に基づいて、テーブル格納部１２０１内の各ルーティングテーブル又は本実施形態による同一セグメントテーブルへの各種情報の登録、更新、削除等を実行する。また、テーブル制御部１２０６は、タイマ１２０７の計時状況に基づいて、テーブル格納部１２０１内の各ルーティングテーブル等の更新、削除等を実行する。
【００６８】
テーブル格納部１２０１は、ＣＡＭ（Ｃｏｎｔｅｎｔ  Ａｄｄｒｅｓｓａｂｌｅ  Ｍｅｍｏｒｙ）１１０８およびＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１１０９とから構成される。ＣＡＭ１１０８が持つ連想メモリ機能によって、ＳＲＡＭ１１０９内の各種テーブルに対して高速検索を実行する。本実施形態による同一セグメントテーブルも、この中に実装される。テーブル制御部１２０６の制御に基づいて、ＳＲＡＭ１１０９内の同一セグメントテーブルに対して、ＣＡＭ１１０８の連想配列機能を使いながらアドホックアドレスの高速検索、登録、更新、削除が実行される。
【００６９】
なお、送信フレーム制御部１２０４は、フレームデータを汎用ＬＡＮポート１１０７に送出すべき場合には、図１１のＭＩＩ１１１６を介してＬ２ＳＷ１１０３に対して送信指示を行う。一方、汎用ＬＡＮポート１１０７からＬ２ＳＷ１１０３で受信されたフレームデータは、ＭＩＩ１１１６からＦＰＧＡ１１０１内の受信フレーム制御部１２０３で受信され、または、ＰＨＹ１１０５で復号された後、ＭＩＩ１１１５を介して、上位層処理部１２１１で受信される。
【００７０】
図１３は、同一セグメントテーブルの登録、更新、削除処理を示す動作フローチャートである。この動作フローチャートは、例えば、図１２に示されるＦＰＧＡ１１０１内のテーブル制御部１２０６の機能として実現される。
【００７１】
図１３において、まず、ステップＳ１３０１からＳ１３０３までの処理は、「ＬＡＮ側リンクアップ通知」コマンドの送信処理に関する。
まず、汎用ＬＡＮポート１１０７の状態がチェックされる（ステップＳ１３０１）。汎用ＬＡＮポート１１０７がリンク断の状態であれば、この判定処理が繰り返し実行される。この判定処理は、例えば図１２のテーブル制御部１２０６がポート監視部１２０２の監視結果を判定する処理である。
【００７２】
汎用ＬＡＮポート１１０７の状態がリンクアップになると、第２の制御処理として前述したように、例えば数１００ｍＳのガード期間は、図１２のテーブル制御部１２０６はポート選択部１２０５を制御して、別のノードの汎用ＬＡＮポート１１０７から入って来たブロードキャスト情報は受け付けないように、ウェイトする（ステップＳ１３０２）。
【００７３】
その後、図１２のテーブル制御部１２０６がポート選択部１２０５を制御することにより、「ＬＡＮ側リンクアップ通知」コマンドを、有線アドホックポート１１０６の各送信ポートにブロードキャストする（ステップＳ１３０３）。これにより、図７（ａ）のＳ１として前述した制御処理が実現される。
【００７４】
次に、ステップＳ１３０４からＳ１３０６は、「ＬＡＮ側リンクアップ通知」コマンド送信後の処理である。
まず、テーブル制御部１２０６は、受信フレーム制御部１２０３に問い合わせることにより、汎用ＬＡＮポート１１０７からＬ２ＳＷ１１０３を介して、自ノード宛てのＰｉｎｇ要求コマンドが受信されたか否かを判定する（ステップＳ１３０４）。
【００７５】
ステップＳ１３０４の判定がＮＯならば、ステップＳ１３０７に進む。
Ｐｉｎｇ要求コマンドが受信されステップＳ１３０４の判定がＹＥＳになると、テーブル制御部１２０６は、テーブル格納部１２０１に保有する同一セグメントテーブルに、Ｐｉｎｇ要求コマンドに格納されているノードのアドホックアドレスを書き込む（ステップＳ１３０５）。これにより、図７（ａ）のＳ２として前述した制御処理の一部が実現される。
【００７６】
続いて、テーブル制御部１２０６は、ポート選択部１２０５を制御して、Ｌ２ＳＷ１１０３から汎用ＬＡＮポート１１０７を介して、Ｐｉｎｇ応答を返す（ステップＳ１３０６）。このとき、テーブル制御部１２０６は、Ｐｉｎｇ応答において、「コマンド」フィールドにＰｉｎｇ応答を示す値を設定し、「ＩＣＭＰメッセージ」フィールドに自ノードのアドホックアドレスを設定する（図９参照）。これにより、図７（ａ）のＳ３として前述した制御処理の一部が実現される。
【００７７】
次に、ステップＳ１３０７からＳ１３１０は、「ＬＡＮ側リンクアップ通知」コマンドの受信処理である。
まず、テーブル制御部１２０６は、受信フレーム制御部１２０３に問い合わせることにより、有線アドホックポート１１０６から受信部１２０８を介して、「ＬＡＮ側リンクアップ通知」コマンドが受信されたか否かを判定する（ステップＳ１３０７）。
【００７８】
ステップＳ１３０７の判定がＮＯならば、ステップＳ１３１１に進む。
「ＬＡＮ側リンクアップ通知」コマンドが受信されステップＳ１３０７の判定がＹＥＳになると、テーブル制御部１２０６は、ポート選択部１２０５を制御して、Ｌ２ＳＷ１１０３から汎用ＬＡＮポート１１０７を介して、Ｐｉｎｇ要求コマンドを送信する（ステップＳ１３０８）。このとき、テーブル制御部１２０６は、Ｐｉｎｇ要求コマンドにおいて、「コマンド」フィールドにＰｉｎｇ要求を示す値を設定し、「ＩＣＭＰメッセージ」フィールドに自ノードのアドホックアドレスを設定する（図９参照）。また、ＩＰヘッダ（図９）に付加される宛先ＩＰアドレスとしては、「ＬＡＮ側リンクアップ通知」コマンドの「Ｂｏｄｙ」フィールドから取得したＩＰアドレスが設定される。このＩＰアドレスは、リンクアップ発生ノードのものである。これにより、図７（ａ）のＳ２として前述した制御処理の一部が実現される。
【００７９】
その後、テーブル制御部１２０６は、受信フレーム制御部１２０３に問い合わせることにより、汎用ＬＡＮポート１１０７からＬ２ＳＷ１１０３を介して、自ノード宛てのＰｉｎｇ応答が受信されたか否かを、一定時間判定する（ステップＳ１３０９）。
【００８０】
一定時間待ってもＰｉｎｇ応答がないときは、今回の「ＬＡＮ側リンクアップ通知」コマンドに対しては同一セグメントテーブルは操作せずに、ステップＳ１３０４の処理に戻る。
【００８１】
Ｐｉｎｇ応答があってステップＳ１３０９の判定がＹＥＳになると、テーブル制御部１２０６は、テーブル格納部１２０１に保有する同一セグメントテーブルに、Ｐｉｎｇ応答に格納されているノードのアドホックアドレスを書き込む（ステップＳ１３１０）。これにより、図７（ａ）のＳ３として前述した制御処理の一部が実現される。その後、ステップＳ１３０４の処理に戻る。
【００８２】
ステップＳ１３１１とＳ１３１２は、「ＬＡＮ側リンク断通知」コマンドの受信処理である。
まず、テーブル制御部１２０６は、受信フレーム制御部１２０３に問い合わせることにより、アドホックポート１１０６から受信部１２０８を介して、「ＬＡＮ側リンク断通知」コマンドが受信されたか否かを判定する（ステップＳ１３１１）。
【００８３】
ステップＳ１３１１の判定がＮＯならば、ステップＳ１３１３に進む。
「ＬＡＮ側リンク断通知」コマンドが受信されステップＳ１３１１の判定がＹＥＳになると、テーブル制御部１２０６は、テーブル格納部１２０１に保有する同一セグメントテーブルから、リンク断発生ノードのアドホックアドレスを削除する（ステップＳ１３１２）。このアドレスは、「ＬＡＮ側リンク断通知」コマンドの「ＧＳ」フィールドから取得できる。その後、ステップＳ１３０４の処理に戻る。
【００８４】
ステップＳ１３１３からＳ１３１５は、「ＬＡＮ側リンク断通知」コマンドの送信処理である。
まず、汎用ＬＡＮポート１１０７の状態がチェックされる（ステップＳ１３１３）。この判定処理は、例えば図１２のテーブル制御部１２０６がポート監視部１２０２の監視結果を判定する処理である。
【００８５】
汎用ＬＡＮポート１１０７がリンクアップの状態であれば、ステップＳ１３１６に進む。
汎用ＬＡＮポート１１０７がリンク断の状態になると、テーブル制御部１２０６は、テーブル格納部１２０１に保有する同一セグメントテーブルの内容を全てクリアする（ステップＳ１３１４）。
【００８６】
その後、図１２のテーブル制御部１２０６がポート選択部１２０５を制御することにより、「ＬＡＮ側リンク断通知」コマンドを、有線アドホックポート１１０６の各送信ポートにブロードキャストする（ステップＳ１３１５）。
【００８７】
ステップＳ１３１６は、「ＬＡＮ側リンクアップ通知」コマンドの定期通知処理である。ここでは、前回のコマンド送信時から一定時間経過しているときに、ステップＳ１３０３と同様の処理が実行される。すなわち、図１２のテーブル制御部１２０６がポート選択部１２０５を制御することにより、「ＬＡＮ側リンクアップ通知」コマンドを、有線アドホックポート１１０６の各送信ポートにブロードキャストする。
【００８８】
図１４は、本実施形態のネットワークシステムの具体的な構成例を示す図である。図１４において、中継ネットワーク１４０３内のスイッチ１４０６は、アドホックネットワーク１４０１内のゲートウェイとなるべき中継ノードであるノード１４０７Ａおよび１４０７Ｂと接続され、また、ＬＡＮ１４０２内のスイッチ１４０５等と接続される。スイッチ１４０５等にはさらに、サーバ１４０４−１および１４０４−２等が接続される。ノード１４０７Ａは、アドホックネットワーク１４０１内で、他のノード群１４０８Ａからデータを収集し、スイッチ１４０６、１４０５等を介してサーバ１４０４−１や１４０４−２に送信する中継ノードである。ノード１４０７Ｂは、アドホックネットワーク１４０１内で、他のノード群１４０８Ｂからデータを収集し、スイッチ１４０６、１４０５等を介してサーバ１４０４−１や１４０４−２に送信する中継ノードである。このようにして、サーバ１４０４−１と１４０４−２およびスイッチ１４０７Ａと１４０７Ｂの二重化構成が実現される。
【００８９】
以上の実施形態において、例えば図１２のテーブル格納部１２０１は、同一セグメントテーブルである同一セグメント情報を記憶する記憶部として機能する。
例えば図１０のＳ７の動作を実行するノード６０１、図１２のテーブル制御部１２０６は、ループ阻止部として機能する。
【００９０】
例えば図７のＳ１の動作を実行するノード６０１、図１３のステップＳ１３０１からＳ１３０３の処理を実行する図１２のテーブル制御部１２０６は、リンクアップ通知部として機能する。
【００９１】
例えば図７のＳ２，Ｓ３の動作を実行するノード６０１、図１３のステップＳ１３０７からＳ１３１０，Ｓ１３０４からＳ１３０６の処理を実行する図１２のテーブル制御部１２０６は到達性確認部及び、同一セグメント作成・更新部として機能する。
【００９２】
例えば図１３のステップＳ１３１１からＳ１３１５の処理を実行する図１２のテーブル制御部１２０６は、リンク断制御部として機能する。
図１５は、上記システムをソフトウェア処理として実現できるコンピュータのハードウェア構成の一例を示す図である。
【００９３】
図１５に示されるコンピュータは、ＣＰＵ１５０１、メモリ１５０２、入出力装置１５０３、外部記憶装置１５０５、可搬記録媒体１５０９が挿入される可搬記録媒体駆動装置１５０６、及び通信インターフェース１５０７を有し、これらがバス１５０８によって相互に接続された構成を有する。同図に示される構成は上記システムを実現できるコンピュータの一例であり、そのようなコンピュータはこの構成に限定されるものではない。
【００９４】
ＣＰＵ１５０１は、当該コンピュータ全体の制御を行う。メモリ１５０２は、プログラムの実行、データ更新等の際に、外部記憶装置１５０５或いは可搬記録媒体１５０９に記憶されているプログラム又はデータを一時的に格納するＲＡＭ等のメモリである。ＣＰＵ１５０１は、プログラムをメモリ１５０２に読み出して実行することにより、全体の制御を行う。
【００９５】
入出力装置１５０３は、ユーザによるキーボードやマウス等による入力操作を検出し、その検出結果をＣＰＵ１５０１に通知し、ＣＰＵ１５０１の制御によって送られてくるデータを表示装置や印刷装置に出力する。
【００９６】
外部記憶装置１５０５は、例えばハードディスク記憶装置である。主に各種データやプログラムの保存に用いられる。
可搬記録媒体駆動装置１５０６は、光ディスクやＳＤＲＡＭ、コンパクトフラッシュ（登録商標）等の可搬記録媒体１５０９を収容するもので、外部記憶装置１５０５の補助の役割を有する。
【００９７】
通信インターフェース１５０７は、例えばＬＡＮ（ローカルエリアネットワーク）又はＷＡＮ（ワイドエリアネットワーク）の通信回線を接続するための装置である。
本実施形態によるシステムは、図１３のフローチャート等で実現される機能を搭載したプログラムをＣＰＵ１５０１が実行することで実現される。そのプログラムは、例えば外部記憶装置１５０５や可搬記録媒体１５０９に記録して配布してもよく、或いは通信インターフェース１５０７によりネットワークから取得できるようにしてもよい。
【符号の説明】
【００９８】
４０１、１４０１  アドホックネットワーク
４０２、１４０２  ＬＡＮ（ローカルエリアネットワーク）
４０３、１４０３  中継ネットワーク
６０１、１４０７Ａ、１４０７Ｂ  ノード
６０２、６０２Ａ、６０２Ｂ  ＬＡＮポート
６０３、６０３Ａ、６０３Ｂ  トランクポート
７０１Ａ、７０１Ｂ  同一セグメントテーブル
１００１  アドホックヘッダ
１００２  ＭＡＣフレーム
１１０１  ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）
１１０２  ＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）
１１０３  Ｌ２ＳＷ（レイヤ２スイッチ）
１１０４、１１０５  ＰＨＹ（ＰＨＹｓｉｃａｌ  Ｌａｙｅｒ  Ｄｅｖｉｃｅ）
１１０６  有線アドホックポート
１１０７  汎用ＬＡＮポート
１１０８  ＣＡＭ（Ｃｏｎｔｅｎｔ  Ａｄｄｒｅｓｓａｂｌｅ  Ｍｅｍｏｒｙ）
１１０９  ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）
１１１０  ＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）
１１１１  ＤＤＲ２−ＳＤＲＡＭ（Ｄｏｕｂｌｅ−Ｄａｔａ−Ｒａｔｅ２  Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）
１１１２  フラッシュメモリ（ＦＬＡＳＨ）
１１１３  ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）
１１１４、１１１５、１１１６、１１１７  ＭＩＩ（Ｍｅｄｉａ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｉｎｔｅｒｆａｃｅ）
１２０１  テーブル格納部
１２０２  ポート監視部
１２０３  受信フレーム制御部
１２０４  送信フレーム制御部
１２０５  ポート選択部
１２０６  テーブル制御部
１２０７  タイマ
１２０８  受信部
１２０８−１〜ｘ  受信ポート
１２０９  送信部
１２０９−１〜ｘ  送信ポート
１２１０  バッファ部
１２１１  上位層処理部
１４０４−１、１４０４−２  サーバ
１４０５、１４０６、ＳＷ  スイッチ
１４０８Ａ、１４０８Ｂ  ノード群
【図１】
0005445671.tif 000002
【図２】
0005445671.tif 000003
【図３】
0005445671.tif 000004
【図４】
0005445671.tif 000005
【図５】
0005445671.tif 000006
【図６】
0005445671.tif 000007
【図７】
0005445671.tif 000008
【図８】
0005445671.tif 000009
【図９】
0005445671.tif 000010
【図１０】
0005445671.tif 000011
【図１１】
0005445671.tif 000012
【図１２】
0005445671.tif 000013
【図１３】
0005445671.tif 000014
【図１４】
0005445671.tif 000015
【図１５】
0005445671.tif 000016