(57)【特許請求の範囲】
【請求項１】
ルータと、前記ルータの配下のネットワークに含まれる複数のスイッチングハブとを含む通信システムにおいて、
（Ａ）前記複数のスイッチングハブの少なくとも１つと前記ルータは、
自装置へ宛ててフレームの送信を行った通信端末をＯＳＩ参照モデルの第２層において一意に識別するハードウェア識別子に対応付けて、当該フレームを受信した通信ポートのポート識別子を格納する第１のテーブルと、
通信ポートのポート識別子に対応付けて当該通信ポートを介して受信したフレームの転送元の中継装置のハードウェア識別子を格納する第２のテーブルと、を有し、
（Ｂ）前記ルータは、
前記第１および第２のテーブルを有するスイッチングハブからの通知によって当該第２のテーブルの格納内容を取得し記憶する第１の手段と、
探索対象の通信端末を示すデータとして当該通信端末のハードウェア識別子または当該ハードウェア識別子に一意に変換される他の識別子であって、前記ＯＳＩ参照モデルにおける他の階層の識別子が入力されたことを契機として、自装置において当該通信端末に対応する通信ポートを自装置の第１のテーブルの格納内容から特定する第２の手段と、
前記第２の手段により特定された通信ポートにスイッチングハブが接続されているか否かを自装置についての前記第２のテーブルの格納内容を参照して判定し、当該通信ポートの接続先はスイッチングハブではないと判定される場合には、前記探索対象の通信端末は自装置に接続されている旨の報知を行う第３の手段と、
前記第２の手段によって特定された通信ポートの接続先はスイッチングハブであると前記第３の手段によって判定された場合には、当該スイッチングハブを前記探索対象の通信端末の接続先の候補として選択する第４の手段と、
前記探索対象の通信端末の接続先の候補として選択されたスイッチングハブに対して、当該スイッチングハブにおいて前記探索対象の通信端末に対応する通信ポートを問い合せる第５の手段と、
前記第５の手段による問い合せ先のスイッチングハブから返答された通信ポートの接続先が他のスイッチングハブであるか否かを、当該問い合せ先のスイッチングハブから前記第１の手段によって取得した第２のテーブルの格納内容を参照して判定し、当該通信ポートの接続先が他のスイッチングハブではない場合には、前記探索対象の通信端末は当該問い合せ先のスイッチングハブに接続されている旨の報知を行う一方、当該通信ポートの接続先が他のスイッチングハブである場合には、当該他のスイッチングハブを新たな候補として選択し直し、前記第５の手段による処理を繰り返す第６の手段と、を有し、
（Ｃ）前記第１および第２のテーブルを有するスイッチングハブは、
自装置の前記第２のテーブルの格納内容を前記ルータへ通知する第７の手段と、
前記ルータからの問い合せに応じて、当該問い合せにかかる通信端末に対応する通信ポートを自装置の第１のテーブルの格納内容から特定して返信する第８の手段、を有する
ことを特徴とする通信システム。
【請求項２】
前記ハードウェア識別子はＭＡＣ（Media Access Control）アドレスである一方、前記他の階層の識別子はＩＰアドレスであり、
前記ルータは、配下のネットワークに収容される通信端末に対してＩＰ（Internet Protocol）アドレスの割り当てを行うとともに、当該ＩＰアドレスと当該通信端末のＭＡＣアドレスとの相互変換を行うＤＨＣＰ（Dynamic Host Configuration Protocol）サーバ手段を有しており、
前記第２の手段は、探索対象の通信端末のＩＰアドレスを前記ＤＨＣＰサーバ手段によってＭＡＣアドレスに変換し、当該ＭＡＣアドレスと自装置の第１のテーブルの格納内容とから当該通信端末に対応する通信ポートを特定する
ことを特徴とする請求項１に記載の通信システム。
【請求項３】
前記ハードウェア識別子はＭＡＣアドレスである一方、前記他の階層の識別子はホスト名であり、
前記ルータは、配下のネットワークに収容される通信端末に対してＩＰアドレスの割り当てを行うとともに、当該ＩＰアドレスと当該通信端末のＭＡＣアドレスとの相互変換を行うＤＨＣＰサーバ手段と、当該通信端末のホスト名とＩＰアドレスとの相互変換を行うＤＮＳ（Domain Name System）サーバ手段と、を有しており、
前記第２の手段は、探索対象の通信端末のホスト名を前記ＤＮＳサーバ手段によってＩＰアドレスに変換し、さらに、当該ＩＰアドレスを前記ＤＨＣＰサーバ手段によってＭＡＣアドレスに変換し、当該ＭＡＣアドレスと自装置の第１のテーブルの格納内容とから当該通信端末に対応する通信ポートを特定する
ことを特徴とする請求項１に記載の通信システム。
【請求項４】
ルータと、前記ルータの配下のネットワークに含まれる複数のスイッチングハブとを含む通信システムにおいて、
（Ａ）前記複数のスイッチングハブの少なくとも１つと前記ルータは、
自装置へ宛ててフレームの送信を行った通信端末をＯＳＩ参照モデルの第２層において一意に識別するハードウェア識別子に対応付けて、当該フレームを受信した通信ポートのポート識別子を格納する第１のテーブルと、
通信ポートのポート識別子に対応付けて当該通信ポートを介して受信したフレームの転送元の中継装置のハードウェア識別子を格納する第２のテーブルと、を有し、
（Ｂ）前記ルータは、
探索対象の通信端末を示すデータとして当該通信端末のハードウェア識別子または当該ハードウェア識別子に一意に変換される他の識別子であって、前記ＯＳＩ参照モデルにおける他の階層の識別子が入力されたことを契機として、自装置において当該通信端末に対応する通信ポートを自装置の第１のテーブルの格納内容から特定する第１の手段と、
前記第１の手段により特定された通信ポートにスイッチングハブが接続されているか否かを自装置についての前記第２のテーブルの格納内容を参照して判定し、当該通信ポートの接続先はスイッチングハブではないと判定される場合には、前記探索対象の通信端末は自装置に接続されている旨の報知を行う第２の手段と、
前記第１の手段によって特定された通信ポートの接続先はスイッチングハブであると前記第２の手段によって判定された場合には、当該スイッチングハブを前記探索対象の通信端末の接続先の候補として選択する第３の手段と、
前記探索対象の通信端末の接続先の候補として選択されたスイッチングハブに対して前記探索対象の通信端末の接続の有無を問い合せる第４の手段と、
前記第４の手段の問い合せ先のスイッチングハブから前記探索対象の通信端末を接続している旨の返答があった場合には、前記探索対象の通信端末の接続先は当該スイッチングハブである旨の報知を行う一方、他のスイッチングハブを新たな問い合せ先とすべき旨の返答があった場合には、当該他のスイッチングハブを前記探索対象の通信端末の接続先の候補として選択し直して前記第４の手段による処理を繰り返す第５の手段と、を有し、
（Ｃ）前記第１および第２のテーブルを有するスイッチングハブは、
前記ルータからの問い合せに応じて、当該問い合せにかかる通信端末に対応する通信ポートを自装置の第１のテーブルの格納内容から特定する第６の手段と、
前記第６の手段により特定された通信ポートに他のスイッチングハブが接続されているか否かを自装置の第２のテーブルの格納内容に基づいて判定し、他のスイッチングハブが接続されていると判定される場合には、当該他のスイッチングハブを新たな問い合せ先とすべき旨を前記ルータに返答し、他のスイッチングハブが接続されていないと判定される場合には、前記探索対象の通信端末は自装置に接続されている旨を前記ルータに返答する第７の手段と、を有する
ことを特徴とする通信システム。
【請求項５】
前記ルータは、
一部のフレームに、前記ＯＳＩ参照モデルの第２層において当該ルータを一意に示すハードウェア識別子を当該フレームの転送元を示す転送元識別子として付与して配下のネットワークへマルチキャストするマルチキャスト手段と、
受信したフレームに、前記転送元識別子が付与されていた場合には、当該フレームを受信した通信ポートのポート識別子に対応付けて当該転送元識別子を自装置の前記第２のテーブルに書き込む手段と、を有し、
前記第１および第２のテーブルを有するスイッチングハブは、
受信したフレームの宛先に応じて当該フレームの転送制御を行う手段であって、受信したフレームに、前記転送元識別子が付与されていた場合には、当該フレームを受信した通信ポートのポート識別子に対応付けて当該転送元識別子を自装置の前記第２のテーブルに書き込んだ後に、当該フレームに付与されている転送元識別子を自装置のハードウェア識別子に書き換え、当該転送元識別子の書換えを行ったフレームに対して前記転送制御を行うフレーム転送制御手段を有する
ことを特徴とする請求項１または４に記載の通信システム。
【請求項６】
（Ａ）複数の通信ポートを備えた通信インタフェース部と、
（Ｂ）当該ルータへ宛ててフレームの送信を行った通信端末をＯＳＩ参照モデルの第２層において一意に識別するハードウェア識別子、に対応付けて当該フレームを受信した通信ポートのポート識別子を格納する第１のテーブルと、
（Ｃ）前記複数の通信ポートの各々のポート識別子に対応付けて当該通信ポートを介して受信したフレームの転送元の中継装置のハードウェア識別子を格納する第２のテーブルと、
（Ｄ）当該ルータの配下のネットワークに含まれるスイッチングハブであって、当該スイッチングハブについての前記第１のテーブルおよび前記第２のテーブルを有するスイッチングハブからの通知によって当該第２のテーブルの格納内容を取得し記憶する記憶手段と、
（Ｅ）探索対象の通信端末を示すデータとして当該通信端末のハードウェア識別子または当該ハードウェア識別子に一意に変換される他の識別子であって、前記ＯＳＩ参照モデルにおける他の階層の識別子が入力されたことを契機として、当該通信端末に対応する通信ポートを前記第１のテーブルの格納内容から特定する第１の処理と、
前記第１の処理にて特定された通信ポートの接続先が前記配下のネットワークに含まれるスイッチングハブであるか否かを、当該ルータについての前記第２のテーブルの格納内容に基づいて判定し、スイッチングハブではないと判定される場合には、前記探索対象の通信端末は自装置に接続されている旨の報知を行う第２の処理と、
前記第１の処理にて特定された通信ポートの接続先がスイッチングハブであると前記第２の処理によって判定された場合には、当該スイッチングハブを前記探索対象の通信端末の接続先の候補として選択する第３の処理と、
前記第３の処理にて選択されたスイッチングハブに対して、前記探索対象の通信端末に対応する通信ポートを問い合せる第４の処理と、
前記第４の処理の問い合せ先のスイッチングハブから返答された通信ポートの接続先が他のスイッチングハブであるか否かを、前記記憶手段に記憶されている当該スイッチングハブについての前記第２のテーブルの格納内容を参照して判定し、当該通信ポートの接続先が他のスイッチングハブではない場合には、前記探索対象の通信端末は当該問い合せ先のスイッチングハブに接続されている旨の報知を行う一方、当該通信ポートの接続先が他のスイッチングハブである場合には、当該他のスイッチングハブを新たな候補として選択し直して前記第４の処理を繰り返す第５の処理と、を実行する端末探索手段と、
を有することを特徴とするルータ。
【請求項７】
一部のフレームに、前記ＯＳＩ参照モデルの第２層において自装置を一意に示すハードウェア識別子を当該フレームの転送元を示す転送元識別子として付与して配下のネットワークへマルチキャストするマルチキャスト手段と、
受信したフレームに、前記転送元識別子が付与されていた場合には、当該フレームを受信した通信ポートのポート識別子に対応付けて当該転送元識別子を自装置の前記第２のテーブルに書き込む手段と、を有する
ことを特徴とする請求項６に記載のルータ。
【請求項８】
（Ａ）複数の通信ポートを備えた通信インタフェース部と、
（Ｂ）当該スイッチングハブへ宛ててフレームの送信を行った通信端末をＯＳＩ参照モデルの第２層において一意に識別するハードウェア識別子、に対応付けて当該フレームを受信した通信ポートのポート識別子を格納する第１のテーブルと、
（Ｃ）前記複数の通信ポートの各々のポート識別子に対応付けて当該通信ポートを介して受信したフレームの転送元の中継装置のハードウェア識別子を格納する第２のテーブルと、
（Ｄ）前記第２のテーブルの格納内容を当該スイッチングハブを含むネットワークと他のネットワークとを接続するルータに通知する隣接中継装置通知手段と、
（Ｅ）前記ルータから送信された問い合せフレームであって、探索対象の通信端末のハードウェア識別子を内包し当該通信端末から送信されたフレームの受信ポートを問い合せる旨の問い合せフレームを受信したことを契機として、該当する通信ポートを前記第１のテーブルの格納内容から特定してその特定結果を前記ルータに返答する通信ポート通知手段と
を有することを特徴とするスイッチングハブ。
【請求項９】
受信したフレームの宛先に応じて当該フレームの転送制御を行う手段であって、受信したフレームに、当該フレームの転送元を示す転送元識別子が付与されていた場合には、当該フレームを受信した通信ポートのポート識別子に対応付けて当該転送元識別子を前記第２のテーブルに書き込んだ後に、当該フレームに付与されている転送元識別子を自装置のハードウェア識別子に書き換え、当該転送元識別子の書換えを行ったフレームに対して前記転送制御を行うフレーム転送制御手段を有する
ことを特徴とする請求項８に記載のスイッチングハブ。
【請求項１０】
コンピュータに、
当該コンピュータへ宛ててフレームの送信を行った通信端末をＯＳＩ参照モデルの第２層において一意に識別するハードウェア識別子に対応付けて当該フレームを受信した通信ポートのポート識別子を格納する第１のテーブルを記憶するとともに、各通信ポートのポート識別子に対応付けて当該通信ポートを介して受信したフレームの転送元の中継装置のハードウェア識別子を格納する第２のテーブルを記憶し、さらに、当該コンピュータを介して他のネットワークに接続されるネットワークに含まれるスイッチングハブであって、当該スイッチングハブについての前記第１のテーブルおよび前記第２のテーブルを有するスイッチングハブから当該第２のテーブルの格納内容を取得して記憶する第１の処理と、
探索対象の通信端末を示すデータとして当該通信端末のハードウェア識別子または当該ハードウェア識別子に一意に変換される他の識別子であって、前記ＯＳＩ参照モデルにおける他の階層の識別子が入力されたことを契機として、当該通信端末に対応する通信ポートを当該コンピュータについての前記第１のテーブルの格納内容から特定する第２の処理と、
前記第２の処理にて特定された通信ポートの接続先が前記配下のネットワークに含まれるスイッチングハブであるか否かを、当該コンピュータについての前記第２のテーブルの格納内容に基づいて判定し、スイッチングハブではないと判定される場合には、前記探索対象の通信端末は自装置に接続されている旨の報知を行う第３の処理と、
前記第２の処理にて特定された通信ポートの接続先がスイッチングハブであると前記第３の処理にて判定された場合には、当該スイッチングハブを前記探索対象の通信端末の接続先の候補として選択する第４の処理と、
前記第４の処理にて選択されたスイッチングハブに対して、前記探索対象の通信端末に対応する通信ポートを問い合せる第５の処理と、
前記第５の処理の問い合せ先のスイッチングハブから返答された通信ポートの接続先が他のスイッチングハブであるか否かを、当該問い合せ先のスイッチングハブについての前記第２のテーブルの格納内容を参照して判定し、当該通信ポートの接続先が他のスイッチングハブではない場合には、前記探索対象の通信端末は当該問い合せ先のスイッチングハブに接続されている旨の報知を行う一方、当該通信ポートの接続先が他のスイッチングハブである場合には、当該他のスイッチングハブを新たな候補として選択し直して前記第５の処理を繰り返す第６の処理と、
を実行させることを特徴とするプログラム。
【請求項１１】
前記コンピュータに、
一部のフレームに、前記ＯＳＩ参照モデルの第２層において当該コンピュータを一意に示すハードウェア識別子を当該フレームの転送元を示す転送元識別子として付与して配下のネットワークへマルチキャストする第７の処理と、
受信したフレームに、前記転送元識別子が付与されていた場合には、当該フレームを受信した通信ポートのポート識別子に対応付けて当該転送元識別子を当該コンピュータの前記第２のテーブルに書き込む第８の処理と、
を実行させることを特徴とする請求項１０に記載のプログラム。
【請求項１２】
コンピュータを、
当該コンピュータに宛ててフレームの送信を行った通信端末をＯＳＩ参照モデルの第２層において一意に識別するハードウェア識別子に対応付けて当該フレームを受信した通信ポートのポート識別子を格納する第１のテーブルを記憶するとともに、各通信ポートのポート識別子に対応付けて当該通信ポートを介して受信したフレームの転送元の中継装置のハードウェア識別子を格納する第２のテーブルを記憶する記憶手段と、
前記第２のテーブルの格納内容を当該コンピュータを含むネットワークと他のネットワークとを接続するルータに通知する隣接中継装置通知手段と、
前記ルータから送信された問い合せフレームであって、探索対象の通信端末のハードウェア識別子を内包し当該通信端末から送信されたフレームの受信ポートを問い合せる旨の問い合せフレームを受信したことを契機として、該当する通信ポートを前記第１のテーブルの格納内容から特定してその特定結果を前記ルータに返答する通信ポート通知手段
として機能させることを特徴とするプログラム。
【請求項１３】
前記コンピュータを、
受信したフレームの宛先に応じて当該フレームの転送制御を行う手段であって、受信したフレームに、当該フレームの転送元を示す転送元識別子が付与されていた場合には、当該フレームを受信した通信ポートのポート識別子に対応付けて当該転送元識別子を前記第２のテーブルに書き込んだ後に、当該フレームに付与されている転送元識別子を当該コンピュータのハードウェア識別子に書き換え、当該転送元識別子の書換えを行ったフレームに対して前記転送制御を行うフレーム転送制御手段
として機能させることを特徴とする請求項１２に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ＬＡＮ（Local Area Network）の運用管理を支援する技術に関する。
【背景技術】
【０００２】
近年、企業等においては、支店などの各拠点にＬＡＮ（以下、拠点内ＬＡＮ）を敷設し、これら拠点内ＬＡＮをルータによってインターネットなどのＩＰ（Internet Protocol）網に接続して企業内情報システムを構築することが一般に行われている。このような拠点内ＬＡＮは複数のスイッチングハブをカスケード接続して構成されることが多く、各ユーザ（例えば、企業の従業者）の使用する通信端末はそれらスイッチングハブの何れかに接続される。ここで、ルータとは、ＯＳＩ（Open Systems Interconnection）参照モデルにおける第３層（ネットワーク層）の通信プロトコルにしたがってパケット（第３層におけるデータの送受信単位）の転送制御を行う中継装置である。また、スイッチングハブとは、ＯＳＩ参照モデルにおける第２層（データリンク層）の通信プロトコルにしたがってフレーム（第２層におけるデータの送受信単位）の転送制御を行う中継装置であり、Ｌ２スイッチとも呼ばれる。
【０００３】
企業内情報システム（或いは、その構成要素の通信システムである各拠点内ＬＡＮ）の運用管理や保守を行う際には、各通信端末が何れのスイッチングハブに接続されているのかを把握することができると便利である。このため、各通信端末が何れのスイッチングハブに接続されているのかを把握すること（以下、通信端末の探索）を可能にする技術が種々提案されている。例えば、特許文献１には、ＬＡＮに含まれる各スイッチングハブ間でＭＡＣ（Media Access Control）アドレステーブルの受け渡しを行い、それらＭＡＣアドレステーブルの格納内容を参照して通信端末の探索を行う技術が開示されている。ここで、ＭＡＣアドレスとは、ＯＳＩ参照モデルの第２層において各通信装置を一意に識別するハードウェア識別子である。また、ＭＡＣアドレステーブルとは、スイッチングハブやルータなどの中継装置が備えるテーブルであり、これら中継装置が受信したフレームの送信元ＭＡＣアドレスに対応付けて当該フレームを受信した通信ポートのポート識別子を格納するためのものである。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−１７１５０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
一般に、大規模なＬＡＮほど、多数の通信端末およびスイッチングハブを含み、各スイッチングハブの接続関係も複雑であることが多い。このため、ＬＡＮが大規模化するほど、通信端末の探索に対する重要性は高まる。しかし、特許文献１に開示された技術には、ＬＡＮが大規模化するほど適用が困難になる、といった不具合がある。何故ならば、ＬＡＮが大規模化して当該ＬＡＮに含まれるスイッチングハブの数が増えるほど、スイッチングハブ間のＭＡＣアドレステーブルの受け渡しによる負荷が高くなり、ＬＡＮを介して行われる本来のデータ通信（例えば、ＬＡＮに収容される通信端末間のデータ通信）に悪影響をおよぼす可能性が高くなるからである。
【０００６】
本発明は上記課題に鑑みて為されたものであり、ルータ配下のネットワークに過剰な負荷をかけることなく、当該ネットワークに収容される通信端末が何れのスイッチングハブに接続されているのかを把握することを可能にする技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために本発明は、ルータと、前記ルータの配下のネットワークに含まれる複数のスイッチングハブとを含む通信システムにおいて、（Ａ）前記複数のスイッチングハブの少なくとも１つと前記ルータは、自装置へ宛ててフレームの送信を行った通信端末をＯＳＩ参照モデルの第２層において一意に識別するハードウェア識別子に対応付けて、当該フレームを受信した通信ポートのポート識別子を格納する第１のテーブルと、通信ポートのポート識別子に対応付けて当該通信ポートを介して受信したフレームの転送元の中継装置のハードウェア識別子を格納する第２のテーブルと、を有し、（Ｂ）前記ルータは、前記第１および第２のテーブルを有するスイッチングハブからの通知によって当該第２のテーブルの格納内容を取得し記憶する第１の手段と、探索対象の通信端末を示すデータとして当該通信端末のハードウェア識別子または当該ハードウェア識別子に一意に変換される他の識別子であって、前記ＯＳＩ参照モデルにおける他の階層の識別子が入力されたことを契機として、自装置において当該通信端末に対応する通信ポートを自装置の第１のテーブルの格納内容から特定する第２の手段と、前記第２の手段により特定された通信ポートにスイッチングハブが接続されているか否かを自装置についての前記第２のテーブルの格納内容を参照して判定し、当該通信ポートの接続先はスイッチングハブではないと判定される場合には、前記探索対象の通信端末は自装置に接続されている旨の報知を行う第３の手段と、前記第２の手段によって特定された通信ポートの接続先はスイッチングハブであると前記第３の手段によって判定された場合には、当該スイッチングハブを前記探索対象の通信端末の接続先の候補として選択する第４の手段と、前記探索対象の通信端末の接続先の候補として選択されたスイッチングハブに対して、当該スイッチングハブにおいて前記探索対象の通信端末に対応する通信ポートを問い合せる第５の手段と、前記第５の手段による問い合せ先のスイッチングハブから返答された通信ポートの接続先が他のスイッチングハブであるか否かを、当該問い合せ先のスイッチングハブから前記第１の手段によって取得した第２のテーブルの格納内容を参照して判定し、当該通信ポートの接続先が他のスイッチングハブではない場合には、前記探索対象の通信端末は当該問い合せ先のスイッチングハブに接続されている旨の報知を行う一方、当該通信ポートの接続先が他のスイッチングハブである場合には、当該他のスイッチングハブを新たな候補として選択し直し、前記第５の手段による処理を繰り返す第６の手段と、を有し、（Ｃ）前記第１および第２のテーブルを有するスイッチングハブは、自装置の前記第２のテーブルの格納内容を前記ルータへ通知する第７の手段と、前記ルータからの問い合せに応じて、当該問い合せにかかる通信端末に対応する通信ポートを自装置の第１のテーブルの格納内容から特定して返信する第８の手段、を有することを特徴とする通信システム、を提供する。
【０００８】
本発明によれば、ルータから探索対象の通信端末へ至る通信経路のスイッチングハブの各々について当該探索対象端末の接続有無の判定が当該ルータによって行われ、これによって通信端末の接続先のスイッチングハブが特定される。本発明においては、ルータおよびスイッチングハブ間でＭＡＣアドレステーブルの受け渡しが行われることはなく、ルータ配下のネットワークに過剰な負荷がかかることはない。
【０００９】
より好ましい態様においては、前記ハードウェア識別子はＭＡＣアドレスである一方、前記他の階層の識別子はＩＰアドレスであり、前記ルータは、配下のネットワークに収容される通信端末に対してＩＰアドレスの割り当てを行うとともに、当該ＩＰアドレスと当該通信端末のＭＡＣアドレスとの相互変換を行うＤＨＣＰ（Dynamic Host Configuration Protocol）サーバ手段を有しており、前記第２の手段は、探索対象の通信端末のＩＰアドレスを前記ＤＨＣＰサーバ手段によってＭＡＣアドレスに変換し、当該ＭＡＣアドレスと自装置の第１のテーブルの格納内容とから当該通信端末に対応する通信ポートを特定することを特徴とする。また、別の好ましい態様においては、前記ハードウェア識別子はＭＡＣアドレスである一方、前記他の階層の識別子はホスト名であり、前記ルータは、配下のネットワークに収容される通信端末に対してＩＰアドレスの割り当てを行うとともに、当該ＩＰアドレスと当該通信端末のＭＡＣアドレスとの相互変換を行うＤＨＣＰサーバ手段と、当該通信端末のホスト名とＩＰアドレスとの相互変換を行うＤＮＳ（Domain Name System）サーバ手段と、を有しており、前記第２の手段は、探索対象の通信端末のホスト名を前記ＤＮＳサーバ手段によってＩＰアドレスに変換し、さらに、当該ＩＰアドレスを前記ＤＨＣＰサーバ手段によってＭＡＣアドレスに変換し、当該ＭＡＣアドレスと自装置の第１のテーブルの格納内容とから当該通信端末に対応する通信ポートを特定することを特徴とする。
【００１０】
これらの態様によれば、ＩＰアドレスまたはホスト名を指定して通信端末を探索することが可能になる。一般に、ＩＰアドレスはＭＡＣアドレスに比較して人が理解し易く、ホスト名はＩＰアドレスよりもさらに人が理解し易い。上記の態様によれば、ＭＡＣアドレスよりも理解し易いＩＰアドレスまたはホスト名によって探索対象の通信端末を指定することができるため、利便性が向上する、といった効果が得られる。
【００１１】
また、上記課題を解決するために本発明は、（Ａ）複数の通信ポートを備えた通信インタフェース部と、（Ｂ）当該ルータへ宛ててフレームの送信を行った通信端末をＯＳＩ参照モデルの第２層において一意に識別するハードウェア識別子、に対応付けて当該フレームを受信した通信ポートのポート識別子を格納する第１のテーブルと、（Ｃ）前記複数の通信ポートの各々のポート識別子に対応付けて当該通信ポートを介して受信したフレームの転送元の中継装置のハードウェア識別子を格納する第２のテーブルと、（Ｄ）当該ルータの配下のネットワークに含まれるスイッチングハブであって、当該スイッチングハブについての前記第１のテーブルおよび前記第２のテーブルを有するスイッチングハブからの通知によって当該第２のテーブルの格納内容を取得し記憶する記憶手段と、（Ｅ）探索対象の通信端末を示すデータとして当該通信端末のハードウェア識別子または当該ハードウェア識別子に一意に変換される他の識別子であって、前記ＯＳＩ参照モデルにおける他の階層の識別子が入力されたことを契機として、当該通信端末に対応する通信ポートを前記第１のテーブルの格納内容から特定する第１の処理と、前記第１の処理にて特定された通信ポートの接続先が前記配下のネットワークに含まれるスイッチングハブであるか否かを、当該ルータについての前記第２のテーブルの格納内容に基づいて判定し、スイッチングハブではないと判定される場合には、前記探索対象の通信端末は自装置に接続されている旨の報知を行う第２の処理と、前記第１の処理にて特定された通信ポートの接続先がスイッチングハブであると前記第２の処理によって判定された場合には、当該スイッチングハブを前記探索対象の通信端末の接続先の候補として選択する第３の処理と、前記第３の処理にて選択されたスイッチングハブに対して、前記探索対象の通信端末に対応する通信ポートを問い合せる第４の処理と、前記第４の処理の問い合せ先のスイッチングハブから返答された通信ポートの接続先が他のスイッチングハブであるか否かを、前記記憶手段に記憶されている当該スイッチングハブについての前記第２のテーブルの格納内容を参照して判定し、当該通信ポートの接続先が他のスイッチングハブではない場合には、前記探索対象の通信端末は当該問い合せ先のスイッチングハブに接続されている旨の報知を行う一方、当該通信ポートの接続先が他のスイッチングハブである場合には、当該他のスイッチングハブを新たな候補として選択し直して前記第４の処理を繰り返す第５の処理と、を実行する端末探索手段とを有することを特徴とするルータ、を提供する。
【００１２】
このようなルータと、上記第１および第２のテーブルを備えかつ上記第７および第８の手段を有するスイッチングハブと、を組み合わせて、前述した通信システムを構成することができるからである。また、本発明の別の態様としては、コンピュータに上記第１〜第５の処理を実行させることを特徴とするプログラムを提供する態様も考えられる。そして、このようなプログラムの具体的な提供態様としては、ＣＤ−ＲＯＭ（Compact Disk-Read Only Memory）などのコンピュータ読み取り可能な記録媒体に書き込んで配布する態様や、インターネットなどの電気通信回線経由のダウンロードにより配布する態様が考えられる。
【００１３】
また、上記課題を解決するために本発明は、（Ａ）複数の通信ポートを備えた通信インタフェース部と、（Ｂ）当該スイッチングハブへ宛ててフレームの送信を行った通信端末をＯＳＩ参照モデルの第２層において一意に識別するハードウェア識別子、に対応付けて当該フレームを受信した通信ポートのポート識別子を格納する第１のテーブルと、（Ｃ）前記複数の通信ポートの各々のポート識別子に対応付けて当該通信ポートを介して受信したフレームの転送元の中継装置のハードウェア識別子を格納する第２のテーブルと、（Ｄ）前記第２のテーブルの格納内容を当該スイッチングハブを含むネットワークと他のネットワークとを接続するルータに通知する通知手段と、（Ｅ）前記ルータから送信された問い合せフレームであって、探索対象の通信端末のハードウェア識別子を内包し当該通信端末から送信されたフレームの受信ポートを問い合せる旨の問い合せフレームを受信したことを契機として、該当する通信ポートを前記第１のテーブルの格納内容から特定してその特定結果を前記ルータに返答する通信ポート通知手段とを有することを特徴とするスイッチングハブを提供する。このようなスイッチングハブを上記ルータと組み合わせることで、前述した通信システムを構築することができるからである。なお、コンピュータを上記第１および第２のテーブルを記憶する記憶手段、隣接中継装置通知手段および通信ポート通知手段として機能させることを特徴とするプログラムを提供する態様も勿論考えられる。
【図面の簡単な説明】
【００１４】
【図１】本発明の第１実施形態のＬＡＮ１Ａの構成例を示す図である。
【図２】同ＬＡＮ１Ａに含まれるスイッチングハブ５０の構成例を示す図である。
【図３】同スイッチングハブ５０のスイッチングエンジン部５２０が実行するフレーム転送制御処理、隣接中継装置通知フレーム送信処理、および通信ポート通知フレーム送信処理を説明するための図である。
【図４】同ＬＡＮ１Ａにおいて送受信されるフレームのデータ構造を示す図である。
【図５】同ＬＡＮ１ＡをＩＰ網に接続するルータ６０の構成例を示す図である。
【図６】同ルータ６０のルーティングエンジン部６２０が実行する端末探索処理の流れを示すフローチャートである。
【図７】同ＬＡＮ１Ａにおける通信端末４０、スイッチングハブ５０およびルータ６０の各々の通信ポートの接続関係の一例を示す図である。
【図８】スイッチングハブ５０およびルータ６０の動作を説明するための図である。
【図９】スイッチングハブ５０およびルータ６０の動作を説明するための図である。
【図１０】スイッチングハブ５０およびルータ６０のＭＡＣアドレステーブルの格納内容の一例を示す図である。
【図１１】通信端末の探索過程における通信シーケンスの一例を示す図である。
【図１２】本発明の第２実施形態のＬＡＮ１Ｂの構成例を示す図である。
【発明を実施するための形態】
【００１５】
以下、図面を参照しつつ、この発明の実施形態について説明する。
＜Ａ：第１実施形態＞
＜Ａ−１：構成＞
図１は、本発明の第１実施形態の通信システムであるＬＡＮ１Ａの構成例を示す図である。このＬＡＮ１Ａは、例えば企業の支店に敷設される拠点内ＬＡＮであり、ルータ６０によってインターネットなどのＩＰ網（図示省略）に接続される。このＬＡＮ１Ａは、上記支店内における通信システムの役割を果たす一方、他の支店に敷設される拠点内ＬＡＮとともに上記企業における企業内情報システムを構成する。図１に示すように、ＬＡＮ１Ａは、４台のスイッチングハブ（スイッチングハブ５０Ａ、５０Ｂ、５０Ｃ、および５０Ｄ）と、２台の通信端末（通信端末４０Ａおよび４０Ｂ）と、１台の操作端末３０と、を含んでいる。図１に示すように、ルータ６０にはスイッチングハブ５０Ａと操作端末３０とが接続されており、スイッチングハブ５０Ａにはスイッチングハブ５０Ｂが接続されている。そして、スイッチングハブ５０Ｂにはスイッチングハブ５０Ｃと５０Ｄとが接続されており、スイッチングハブ５０Ｃには通信端末４０Ａが、スイッチングハブ５０Ｄには通信端末４０Ｂが各々接続されている。
【００１６】
操作端末３０、通信端末４０Ａおよび４０Ｂの各々は、例えばパーソナルコンピュータである。操作端末３０はＬＡＮ１Ａの運用管理のための各種操作をＬＡＮ１Ａの運用管理者に行わせるためのものである。通信端末４０Ａおよび４０Ｂは、ＬＡＮ１Ａに含まれる何れかのスイッチングハブに接続されることで、当該ＬＡＮ１Ａに収容される。ＬＡＮ１Ａに収容された通信端末４０Ａおよび４０Ｂの各々は、他の通信装置（例えば、ＬＡＮ１Ａに収容されている他の通信端末や他の拠点内ＬＡＮに収容されている通信端末、或いはＩＰ網に接続されているＷＷＷサーバなど）との間でＩＰにしたがったパケット通信を行う。以下、通信端末４０Ａおよび４０Ｂの各々を区別する必要がない場合には、「通信端末４０」と表記する。なお、図１ではルータ６０の配下のネットワーク（すなわち、ＬＡＮ１Ａ）に２台の通信端末４０が収容される場合について例示されているが、３台以上の通信端末４０がＬＡＮ１Ａに収容されても良く、また、通信端末４０が１台だけ収容されている態様であっても勿論良い。
【００１７】
図１のスイッチングハブ５０Ａ、５０Ｂ、５０Ｃおよび５０Ｄの各々は同一の構成を有している。以下では、これら４台のスイッチングハブの各々を区別する必要がない場合には、「スイッチングハブ５０」と表記する。スイッチングハブ５０は、ＩＰよりも下位のプロトコル階層である第２層（データリンク層）においてデータ通信を中継する中継装置である。ルータ６０は、ネットワーク層においてデータ通信を中継する中継装置であり、ＬＡＮ１Ａのデフォルトゲートウェイの役割を果たす。ルータ６０は、ＩＰ網から受信したパケットの送信先ＩＰアドレスが通信端末４０Ａまたは４０Ｂの何れかのものであれば、そのパケットを配下のＬＡＮ１Ａへと転送し、その送信先ＩＰアドレスが通信端末４０Ａまたは４０Ｂの何れのものでもない場合にはルーティングテーブルの格納内容にしたがって他のルータへ転送する。このようにルータ６０はＬＡＮ１Ａのデフォルトゲートウェイとして機能するため、以下ではＬＡＮ１Ａのことを「ルータ６０の配下のネットワーク」と呼ぶ場合がある。加えて、図１のルータ６０は、ＤＨＣＰサーバ機能とＤＮＳサーバ機能とを有している。このＤＨＣＰサーバ機能によって、ルータ６０は、操作端末３０或いは通信端末４０のＬＡＮ１Ａへの接続を契機としてこれら各端末にＩＰアドレスを割り当て、当該ＩＰアドレスと各端末のＭＡＣアドレスとの相互変換を行う。また、ルータ６０は、ＤＮＳサーバ機能によって、操作端末３０或いは通信端末４０に付与されたホスト名とＩＰアドレスとの相互変換を行う。
【００１８】
図１に示すＬＡＮ１Ａにおいては、第２層の通信プロトコルにしたがったデータ通信（すなわち、フレームの送受信および転送制御）の実行過程において、ＬＡＮ１Ａに含まれる各中継装置（すなわち、ルータ６０およびスイッチングハブ５０）に、隣接中継装置を検出させる。ここで、隣接中継装置とは、当該中継装置に対してフレームの転送を行った他の中継装置のことであり、ＬＡＮ１Ａにおいては当該中継装置に直結されている他の中継装置のことである。例えば、ＬＡＮ１Ａにおいては、ルータ６０についての隣接中継装置はスイッチングハブ５０Ａであり、スイッチングハブ５０Ａについての隣接中継装置はルータ６０およびスイッチングハブ５０Ｂである。また、スイッチングハブ５０Ｂについての隣接中継装置はスイッチングハブ５０Ａ、５０Ｃおよび５０Ｄであり、スイッチングハブ５０Ｃ（或いは５０Ｄ）についての隣接中継装置はスイッチングハブ５０Ｂである。
【００１９】
図１に示すＬＡＮ１Ａにおいては、スイッチングハブ５０の各々は、自装置の隣接中継装置を検出し、その検出結果をルータ６０へ通知する一方、ルータ６０は、各スイッチングハブ５０の隣接中継装置を示す情報をスイッチングハブ５０毎に記憶する。そして、ＬＮ１Ａにおいては、運用管理者によって、接続先の特定を所望する端末（本実施形態では、通信端末４０Ａまたは通信端末４０Ｂ：以下、探索対象端末）のＭＡＣアドレス、ＩＰアドレス或いはホスト名が操作端末３０を介してルータ６０に指示されると、ルータ６０は各スイッチングハブ５０と通信して当該探索対象端末の接続先を特定し、その特定結果を操作端末３０に報知させる。これにより、上記運用管理者は、探索対象端末が何れのスイッチングハブ５０に接続されているのかを把握することができるのである。このように本実施形態では、探索対象端末をＩＰアドレスやホスト名で指定することができるため、ＭＡＣアドレスのみでしか探索対象端末を指定できない態様に比較して利便性が向上するのである。以下、本実施形態の特徴を顕著に示すスイッチングハブ５０およびルータ６０を中心に説明する。
【００２０】
＜Ａ−１−１：スイッチングハブ５０の構成＞
図２は、スイッチングハブ５０の構成を示すブロック図である。図２に示すように、スイッチングハブ５０は、通信インタフェース（以下、Ｉ／Ｆ）部５１０、スイッチングエンジン部５２０、および記憶部５３０を有している。
【００２１】
通信Ｉ／Ｆ部５１０は、複数の通信ポートを有している。これら複数の通信ポートの各々には、例えば１００ＢＡＳＥ−Ｔなどの通信ケーブルを介して他の通信装置（本実施形態では、ルータ６０や他のスイッチングハブ５０、或いは通信端末４０の何れか）が接続される。これら複数の通信ポートの各々には、通信ポート毎に固有のポート識別子（例えば、ポート番号）が予め割り当てられており、当該ポート識別子を用いて各通信ポートを一意に識別することができる。通信Ｉ／Ｆ部５１０は、各通信ポートを介して受信したフレームをスイッチングエンジン部５２０に与える一方、スイッチングエンジン部５２０から与えられるフレームを同スイッチングエンジン部５２０によって指示された通信ポートから送出する。
【００２２】
記憶部５３０は、例えばＲＡＭ（Random Access Memory）などの揮発性メモリとＥＰＲＯＭ（Erasable Programmable Read Only Memory）などの不揮発性メモリとを含んでいる（図２では、何れも図示略）。この不揮発性メモリには、本発明のスイッチングハブの特徴を顕著に示す処理をスイッチングエンジン部５２０に実行させるためのファームウェア（プログラム）が予め記憶されている。一方、揮発性メモリは、上記ファームウェアを実行する際のワークエリアとしてスイッチングエンジン部５２０によって利用される。また、上記揮発性メモリは、通信Ｉ／Ｆ部５１０によって受信されたフレームを一時的に記憶しておくためのバッファの役割を果たし、さらに、この揮発性メモリには、図２のＭＡＣアドレステーブルと同図２の隣接中継装置テーブルとが格納される。
【００２３】
図２のＭＡＣアドレステーブルは、従来のスイッチングハブが有するものと特段に変るところはない。このＭＡＣアドレステーブルには、通信Ｉ／Ｆ部５１０によって受信したフレームの送信元ＭＡＣアドレスに対応付けて当該フレームを受信した通信ポートのポート識別子が格納される。ＭＡＣアドレステーブルへのＭＡＣアドレスおよびポート識別子の書き込みは、フレーム転送制御に伴って行われる。例えば、ルータ６０のＭＡＣアドレス解決のために通信端末４０から送信されたフレーム（ペイロード部にＡＲＰ（Address Resolution Protocol）パケットが書き込まれたフレーム）の転送過程では、当該フレームの送信元ＭＡＣアドレス（すなわち、通信端末４０のＭＡＣアドレス）と当該フレームの受信ポートのポート識別子とを対応付けてＭＡＣアドレステーブルに書き込む処理が行われる。一方、当該フレームに対する応答フレームの転送過程では、当該フレームの送信元ＭＡＣアドレス（すなわち、ルータ６０のＭＡＣアドレス）と当該フレームの受信ポートのポート識別子とを対応付けてＭＡＣアドレステーブルに書き込む処理が行われる。このＭＡＣアドレステーブルの格納内容は、送信先ＭＡＣアドレスに基づくフレームの転送制御を行う際に利用される。
【００２４】
隣接中継装置テーブルには、通信Ｉ／Ｆ部５１０が有する複数の通信ポートの各々のポート識別子に対応付けて接続先識別子が格納される。ここで、接続先識別子とは、当該接続先識別子を対応付けられている通信ポートの接続先が隣接中継装置であるか否かを示すとともに、当該接続先が隣接中継装置である場合には当該隣接中継装置を一意に示す情報である。前述したように隣接中継装置とは、当該スイッチングハブ５０に対してフレームの転送を行った他の中継装置（本実施形態では、ルータ６０或いは他のスイッチングハブ５０）のことである。本実施形態では、隣接中継装置に接続されている通信ポートのポート識別子には接続先識別子として当該隣接中継装置のＭＡＣアドレスが対応付けられ、隣接中継装置以外の他の通信装置（本実施形態では、通信端末４０）が接続さている通信ポート、或いは他の通信装置に接続されていない通信ポートには接続先識別子としてＮＵＬＬ（０ｘ００）が対応付けられる。
【００２５】
この隣接中継装置テーブルは、スイッチングハブ５０の電源（図示略）が投入されたことを契機として、各接続先識別子をＮＵＬＬとした状態で生成される。そして、予め定められた特定のフレームの中継を行うことに伴って、当該テーブルの格納内容の更新（すなわち、隣接中継装置が接続されている通信ポートのポート識別子に対応する接続先識別子を当該隣接中継装置のＭＡＣアドレスに書き換えること）が行われる。詳細については後述するが、本実施形態では、上記特定のフレームとして、隣接中継装置テーブルの格納内容をルータ６０に通知するために各スイッチングハブ５０が送信する隣接中継装置通知フレームと、当該隣接中継装置通知フレームの送信を要求するためにルータ６０が配下のＬＡＮ１Ａ内にマルチキャストする要求フレームの２種類が予め定められている。
【００２６】
スイッチングエンジン部５２０は、例えばＣＰＵ（Central Processing Unit）である。スイッチングエンジン部５２０は、記憶部５３０に記憶されているファームウェアを実行することで、スイッチングハブ５０の制御中枢として機能する。このファームウェアにしたがって作動しているスイッチングエンジン部５２０は、何れかの通信ポートを介してフレームを受信するたびに図３のフローチャートに示す処理を実行する。図３に示すように、上記ファームウェアにしたがってスイッチングエンジン部５２０が実行する処理としては、フレーム転送制御処理、隣接中継装置通知フレーム送信処理、および通信ポート通知フレーム送信処理の３つが挙げられる。以下、これら３つの処理の処理内容の詳細な説明に先立って、ＬＡＮ１Ａにおいて送受信されるフレームのデータ構造について説明しておく。
【００２７】
図４（Ａ）は、ＬＡＮ１Ａにおいて送受信される一般的なフレームのデータ構造を示す図である。図４（Ａ）に示すように、フレームは、ヘッダ部と、ペイロード部とを有している。ヘッダ部には、送信先ＭＡＣアドレス、送信元ＭＡＣアドレス、種別識別子が格納される。例えば、前述した要求フレームの場合は、送信先ＭＡＣアドレスにはマルチキャストアドレスがセットされ、送信元ＭＡＣアドレスにはルータ６０のＭＡＣアドレスがセットされる。要求フレームはルータ６０から配下のＬＡＮ１Ａに向けてマルチキャストされるからである。また、隣接中継装置通知フレームの場合は、送信先ＭＡＣアドレスにはルータ６０のＭＡＣアドレスがセットされ、送信元ＭＡＣアドレスにはその送信元のスイッチングハブ５０のＭＡＣアドレスがセットされる。前述したように、隣接中継装置通知フレームは、スイッチングハブ５０からルータ６０へユニキャストされるからである。
【００２８】
種別識別子とは、ペイロード部に格納されているデータ（パケット）の種類等を示す識別子である。本実施形態にてスイッチングハブ５０とルータ６０との間で送受信されるフレームのうち、本実施形態の特徴を顕著に示すものとしては、要求フレームおよび隣接中継装置通知フレームの他に、問い合せフレームと通信ポート通知フレームとが挙げられる。ここで、問い合せフレームとは、探索対象として指定された通信端末に対応する通信ポートのポート識別子をスイッチングハブ５０に問い合せるためにルータ６０がユニキャストするフレームであり、通信ポート通知フレームとは当該問い合せフレームに対する応答としてスイッチングハブ５０がルータ６０に返信（ユニキャスト）するフレームである。これら本実施形態の特徴を顕著に示す４種類のフレームのヘッダ部には、これら４種類のフレームを他のフレームと識別するための値（０ｘｅ８１２）がセットされる。なお、以下では、上記４種類のフレームのうち、要求フレームと隣接中継装置通知フレームとを「隣接中継装置情報収集用フレーム」と総称する場合がある。
【００２９】
図４（Ｂ）は、要求フレームのペイロード部のデータ構造を示す図である。図４（Ｂ）に示すように、要求フレームのペイロード部には、送信先ＭＡＣアドレス、送信元ＭＡＣアドレス、フレーム種別識別子、および転送元識別子が書き込まれる。要求フレームのペイロード部に書き込まれる送信先ＭＡＣアドレスおよび送信元ＭＡＣアドレスは、同要求フレームのヘッダ部に書き込まれているものと同一である。フレーム種別識別子とは、当該フレームが前述した４種類のフレームの何れであるかを示す識別子である。フレーム種別識別子には上記４種類のフレーム毎に異なる値がセットされる。要求フレームのペイロード部のフレーム種別識別子には、要求フレームであることを示す値がセットされる。転送元識別子には、要求フレームの送信の際にはその送信元のＭＡＣアドレスがセットされ、スイッチングハブ５０によって当該フレームの転送が行われるたびに当該転送を行ったスイッチングハブ５０のＭＡＣアドレスに書き換えられる。
【００３０】
図４（Ｃ）は、隣接中継装置通知フレームのペイロード部のデータ構造を示す図である。図４（Ｃ）に示すように、隣接中継装置通知フレームのペイロード部には、送信先ＭＡＣアドレス、送信元ＭＡＣアドレス、フレーム種別識別子、および転送元識別子の他に、隣接中継装置情報が書き込まれる。隣接中継装置通知フレームのペイロード部のフレーム種別識別子には、当該フレームが隣接中継装置通知フレームであることを明示する値がセットされる。また、同ペイロード部の隣接中継装置情報には、当該隣接中継装置通知フレームの送信時点における当該隣接中継装置通知フレームの送信元のスイッチングハブ５０の隣接中継装置テーブルの格納内容（すなわち、当該スイッチングハブ５０の全ての通信ポートについてのポート識別子と当該ポート識別子に対応する接続先識別子のリスト）が書き込まれる。なお、隣接中継装置通知フレームのペイロード部に書き込まれる送信先ＭＡＣアドレス、送信元ＭＡＣアドレスおよび転送元識別子については要求フレームにおけるものと同様である。
【００３１】
図４（Ｄ）は、問い合せフレームのペイロード部のデータ構造を示す図である。図４（Ｄ）に示すように、問い合せフレームのペイロード部には、送信先ＭＡＣアドレス、送信元ＭＡＣアドレス、フレーム種別識別子、および探索対象識別子が書き込まれる。問い合せフレームのペイロード部のフレーム種別識別子には、当該フレームが問い合せフレームであることを明示する値がセットされる。探索対象識別子とは、探索対象として指定された通信端末を一意に識別する識別子（本実施形態では、当該通信端末のＭＡＣアドレス）である。図４（Ｅ）は、通信ポート通知フレームのペイロード部のデータ構造を示す図である。図４（Ｅ）に示すように、通信ポート通知フレームのペイロード部には、送信先ＭＡＣアドレス、送信元ＭＡＣアドレス、フレーム種別識別子、および接続先ポート識別子が書き込まれる。通信ポート通知フレームのペイロード部のフレーム種別識別子には、当該フレームが通信ポート通知フレームであることを明示する値がセットされる。前述したように、通信ポート通知フレームは問い合せフレームを受信したスイッチングハブ５０が当該問い合せフレームに対する応答として返信するフレームであり、当該スイッチングハブのＭＡＣアドレステーブルにおいて上記探索対象識別子に対応付けられているポート識別子が上記接続先ポート識別子として書き込まれる。これら問い合せフレームおよび通信ポート通知フレームのペイロード部に書き込まれる送信先ＭＡＣアドレスおよび送信元ＭＡＣアドレスについても、要求フレーム（或いは隣接中継装置通知フレーム）におけるものと同様、各々のヘッダ部に書き込まれていたものと同一である。
以上がＬＡＮ１Ａにおいて送受信されるフレームのデータ構造である。
【００３２】
次いで、図３を参照しつつ、フレーム転送制御処理、隣接中継装置通知フレーム送信処理、および通信ポート通知フレーム送信処理の処理内容を説明する。図３に示すように、スイッチングエンジン部５２０は、通信Ｉ／Ｆ部５１０の何れかの通信ポートを介してフレームを受信すると、当該受信フレームが自装置へ宛ててルータ６０から送信された問い合せフレームであるか否かを、当該受信フレームのヘッダ部の送信先ＭＡＣアドレスおよび同ペイロード部のフレーム種別識別子を参照して判定する（ステップＳＡ１００）。すなわち、送信先ＭＡＣアドレスが自装置のＭＡＣアドレスであり、かつフレーム種別識別子が問い合せフレームであることを示す値である場合に上記ステップＳＡ１００の判定結果は“Ｙｅｓ”となる。そして、スイッチングエンジン部５２０は、ステップＳＡ１００の判定結果が“Ｙｅｓ”である場合には、通信ポート通知フレーム送信処理（ステップＳＡ１１０）を実行し、逆に、ステップＳＡ１００の判定結果が“Ｎｏ”である場合には、図３に示すように、フレーム転送制御処理を実行する。なお、受信フレームが前述した４種類のフレームの何れかであるか否か（すなわち、受信フレームのヘッダ部の種別識別子が０ｘｅ８１２であるか否か）の判定をステップＳＡ１００に先立って行い、その判定結果が“Ｎｏ”である場合（すなわち、受信フレームの種別識別子が０ｘｅ８１２ではない場合）には、ＳＡ１７０の処理を実行し、逆に、当該判定の判定結果が“Ｙｅｓ”である場合（すなわち、受信フレームの種別識別子が０ｘｅ８１２である場合）に上記ステップＳＡ１００の判定を行うようにしても勿論良い。
【００３３】
図３に示すように、フレーム転送制御処理は、その送信先ＭＡＣアドレスに基づく転送制御（ステップＳＡ１７０）を含んでいる。ここで、受信フレームの送信先ＭＡＣアドレスに基づく転送制御とは、当該送信先ＭＡＣアドレスがユニキャストアドレスではない場合、または当該送信先ＭＡＣアドレスがＭＡＣアドレステーブルに格納されていないユニキャストアドレスである場合には、当該受信フレームのフラッディングを行う一方、当該送信先ＭＡＣアドレスがＭＡＣアドレステーブルに格納されたユニキャストアドレスである場合には、当該ＭＡＣアドレスに対応付けてＭＡＣアドレステーブルに格納されているポート識別子の示す通信ポートのみから当該受信フレームを送出することである。ここでユニキャストアドレスではないＭＡＣアドレスとしては、マルチキャストアドレスまたはブロードキャストアドレスが挙げられる。また、フラッディングとは、受信フレームを受信した通信ポート以外の全ての通信ポートから当該受信フレームを送出することである。この送信先ＭＡＣアドレスに基づく転送制御については従来のスイッチングハブにおけるものと特段に変るところはない。換言すれば、従来のスイッチングハブでは、フレーム転送制御処理として上記送信先ＭＡＣアドレスに基づく転送制御（ステップＳＡ１７０の処理）のみが実行されるのである。
【００３４】
本実施形態のフレーム転送制御処理は、ステップＳＡ１７０の処理の他に、ステップＳＡ１２０〜ＳＡ１４０の処理を含んでいる。図３に示すように、本実施形態のフレーム転送制御処理では、スイッチングエンジン部５２０は、まず、受信フレームが隣接中継装置情報収集用フレーム（すなわち、要求フレーム或いは隣接中継装置通知フレーム）であるか否かを当該受信フレームのペイロード部のフレーム種別識別子を参照して判定する（ステップＳＡ１２０）。具体的には、スイッチングエンジン部５２０は、受信フレームのフレーム種別識別子が要求フレームを示す値または隣接中継装置通知フレームを示す値である場合には、当該受信フレームは隣接中継装置情報収集用フレームであると判定する。そして、スイッチングエンジン部５２０は、ステップＳＡ１２０の判定結果が“Ｎｏ”である場合には、前述したステップＳＡ１７０の処理を実行して本フレーム転送制御処理を終了し、逆に、ステップＳＡ１２０の判定結果が“Ｙｅｓ”である場合には、ステップＳＡ１３０以降の処理を実行する。
【００３５】
ステップＳＡ１２０の判定結果が“Ｙｅｓ”である場合に実行されるステップＳＡ１３０では、スイッチングエンジン部５２０は、隣接中継装置情報収集用フレームを受信した通信ポートのポート識別子に対応付けて隣接中継装置テーブルに格納されている接続先識別子を、当該フレームのペイロード部に書き込まれている転送元識別子によって書き換える。次いで、スイッチングエンジン部５２０は、受信した隣接中継装置情報収集用フレームの転送元識別子を自装置のＭＡＣアドレスに書き換える（ステップＳＡ１４０）。次いで、スイッチングエンジン部５２０は、図３に示すように、受信フレームが要求フレームであるか否かを当該受信フレームのペイロード部のフレーム種別識別子を参照して判定し（ステップＳＡ１５０）、その判定結果がＹｅｓである場合には、さらに、隣接中継装置通知フレーム送信処理（ステップＳＡ１６０）を実行する。この隣接中継装置通知フレーム送信処理では、スイッチングエンジン部５２０は、前述した隣接中継装置通知フレームを生成し、ルータ６０に送信（ユニキャスト）する。
【００３６】
一方、ステップＳＡ１００の判定結果が“Ｙｅｓ”である場合（すなわち、受信フレームが自装置宛の問い合せフレームである場合）に実行される通信ポート通知フレーム送信処理では、スイッチングエンジン部５２０は、問い合せフレームのペイロード部に書き込まれている探索対象識別子を検索キーとして自装置のＭＡＣアドレステーブルを検索し、当該探索対象識別子の示すＭＡＣアドレスに対応付けてＭＡＣアドレステーブルに格納されているポート識別子を特定する。そして、スイッチングエンジン部５２０は、当該ポート識別子を接続先ポート識別子としてペイロード部に書き込んだ通信ポート通知フレームを生成し、問い合せフレームの送信元に返信（ユニキャスト）する。前述したように、ＭＡＣアドレステーブルへのポート識別子およびＭＡＣアドレスの書き込みは、フレームの転送制御に伴って行われる。ＬＡＮ１Ａに通信端末４０が接続されると、当該通信端末４０はデフォルトゲートウェイであるルータ６０のＭＡＣアドレスを特定するためのＡＲＰフレームを必ずマルチキャスト（或いは、ブロードキャスト）する。このため、通信端末４０のＭＡＣアドレスは各スイッチングハブ５０のＭＡＣアドレステーブルに必ず登録されている。したがって、通信端末４０が探索対象として指定される限り、この通信ポート通知フレーム送信処理では、探索対象識別子に対応する通信ポートが必ず特定されるのである。
以上がスイッチングハブ５０の構成である。
【００３７】
＜Ａ−１−２：ルータ６０の構成＞
図５は、ルータ６０の構成を示すブロック図である。図５に示すように、ルータ６０は、通信Ｉ／Ｆ部６１０、ルーティングエンジン部６２０および記憶部６３０を有している。通信Ｉ／Ｆ部６１０は、スイッチングハブ５０の通信Ｉ／Ｆ部５１０と同様に複数のポートを有しており、各ポートには固有のポート識別子が割り当てられている。これら複数のポートのうちの３つに、ＩＰ網（図１では図示略）、スイッチングハブ５０Ａおよび操作端末３０が各々接続される。通信Ｉ／Ｆ部６１０は、通信Ｉ／Ｆ部５１０と同様、各通信ポートを介して受信したフレームをルーティングエンジン部６２０に与える一方、ルーティングエンジン部６２０から与えられるフレームを同ルーティングエンジン部６２０によって指示された通信ポートから送出する。
【００３８】
記憶部６３０も、スイッチングハブ５０の記憶部５３０と同様に、ＲＡＭなどの揮発性メモリとＥＰＲＯＭなどの不揮発性メモリを含んでいる（図示略）。この不揮発性メモリにはファームウェアが格納されている。本実施形態では、このファームウェアにしたがってルーティングエンジン部６２０を作動させることによって本実施形態の特徴を顕著に示すルータ６０の機能が実現される。一方、揮発性メモリは、上記ファームウェアを実行する際のワークエリアとしてルーティングエンジン部６２０によって利用されるとともに、受信したフレーム（或いは、パケット）を一時的に蓄積しておくためのバッファの役割を果たす。また、当該揮発性メモリには、図５に示すルーティングテーブル、当該ルータ６０についてのＭＡＣアドレステーブルおよび隣接中継装置テーブルの各テーブルが格納される。
【００３９】
ルーティングエンジン部６２０は、スイッチングハブ５０のスイッチングエンジン部５２０と同様、ＣＰＵ（Central Processing Unit）である。ルーティングエンジン部６２０は、記憶部６３０に記憶されているファームウェアを実行し、ルータ６０の制御中枢として機能する。ルーティングエンジン部６２０は上記ファームウェアにしたがって、ＤＨＣＰサーバ処理、ＤＮＳサーバ処理、パケット転送制御処理、マルチキャスト処理、隣接中継装置情報記憶処理、および端末探索処理、を実行する。
【００４０】
記憶部６３０に記憶されているファームウェアにしたがってルーティングエンジン部６２０が実行する６つの処理のうち、ＤＨＣＰサーバ処理、ＤＮＳサーバ処理、およびパケット転送制御処理の３つについては従来のものと特段に変るところはない。すなわち、ＤＨＣＰサーバ処理とはＤＨＣＰサーバ機能を実現する処理であり、ＤＮＳサーバ処理とはＤＮＳサーバ機能を実現する処理である。そして、パケット転送制御処理は、通信Ｉ／Ｆ部６１０を介して受信したパケットの送信先ＩＰアドレスとルーティングテーブルの格納内容とに基づいて当該パケットの転送を行う処理である。
【００４１】
マルチキャスト処理は、ルータ６０の配下のネットワーク（すなわち、ＬＡＮ１Ａ）に向けて要求フレームをマルチキャストする処理である。詳細については後述するが、本実施形態では、このマルチキャスト処理はルータ６０の電源（図示略）投入後、所定時間Ｔ（例えば、３秒）が経過する毎に周期的に実行される。
【００４２】
隣接中継装置情報記憶処理は隣接中継装置通知フレームを受信する度に実行される処理である。この隣接中継装置情報記憶処理では、ルーティングエンジン部６２０は、隣接中継装置通知フレームを受信した通信ポートのポート識別子に対応付けて自装置の隣接中継装置テーブルに記憶されている接続先識別子を当該隣接中継装置通知フレームの転送元識別子で上書きするとともに、当該隣接中継装置通知フレームのペイロード部に書き込まれている隣接中継装置情報を当該フレームの送信元の隣接中継装置テーブルとして当該フレームの送信元ＭＡＣアドレスと対応付けて記憶部６３０に書き込む（既に、書き込み済みであれば、新たな隣接中継装置情報で上書きする）。このようにして記憶部６３０に格納される各スイッチングハブ５０の隣接中継装置テーブルは、後述する端末探索処理にて利用される。
【００４３】
図６は、端末探索処理の流れを示すフローチャートである。
この端末探索処理は、操作端末３０に対する操作によって探索対象端末を指定されたことを契機として実行される処理であり、ＬＡＮ１Ａに含まれる中継装置（すなわち、ルータ６０およびスイッチングハブ５０）の何れに探索対象端末が接続されているのかを特定する処理である。図６に示すように、ルーティングエンジン部６２０は、まず、自装置の隣接中継装置テーブルの格納内容と隣接中継装置情報記憶処理により記憶部６３０に書き込んだ各スイッチングハブ５０の隣接中継装置テーブルの格納内容とが表す各中継装置の接続関係に矛盾があるか否かを判定する（ステップＳＢ１００）。ここで、各中継装置の接続関係に矛盾があるとは、例えばスイッチングハブ５０Ｂの隣接中継装置テーブルにはスイッチングハブ５０ＡのＭＡＣアドレスが格納されているものの、スイッチングハブ５０Ａの隣接中継装置テーブルにはスイッチングハブ５０ＢのＭＡＣアドレスが格納されていないような状態をいう。
【００４４】
ステップＳＢ１００の判定結果が“Ｙｅｓ”である場合（すなわち、矛盾がある場合）には、ルーティングエンジン部６２０は、端末探索を可能とするための準備中である旨のメッセージを操作端末３０に報知（ステップＳＢ１７０）させて、当該端末探索処理の実行を終了する。逆に、ステップＳＢ１００の判定結果が“Ｎｏ”である場合には、ルーティングエンジン部６２０は、図６のステップＳＢ１１０以降の処理を実行する。このように、各中継装置の接続関係に矛盾がある場合にステップＳＢ１１０以降の処理を実行しないようにしたのは、上記矛盾に起因する探索対象端末の接続先の誤判断を回避するためである。この点については本実施形態の動作例において詳細に説明する。
【００４５】
ステップＳＢ１００の判定結果が“Ｎｏ”である場合に後続して実行されるステップＳＢ１１０では、ルーティングエンジン部６２０は、探索対象端末に対応する通信ポートが有るか否かを、自装置のＭＡＣアドレステーブルの格納内容に基づいて判定する。前述したように、探索対象端末の指定の仕方としては、当該端末のＭＡＣアドレスにより指定する態様や、ＩＰアドレスにより指定する態様、ホスト名により指定する態様がある。探索対象端末がＭＡＣアドレスによって指定された場合には、当該ＭＡＣアドレスに対応付けてＭＡＣアドレステーブルにポート識別子が格納されている通信ポートが有るか否かによって、当該探索対象端末に対応する通信ポートの有無を判定すれば良い。また、探索対象端末がＩＰアドレスによって指定された場合には、前述したＤＨＣＰサーバ機能によって当該ＩＰアドレスをＭＡＣアドレスに変換し、当該ＭＡＣアドレスに対応付けてＭＡＣアドレステーブルにポート識別子が格納されている通信ポートが有るか否かを判定すれば良い。同様に、探索対象端末がホスト名によって指定された場合には、当該ホスト名をＤＮＳサーバ機能によってＩＰアドレスに変換し、さらに当該ＩＰアドレスをＤＨＣＰサーバ機能によってＭＡＣアドレスに変換した後に、ＭＡＣアドレステーブルの格納内容を参照して該当する通信ポートの有無を判定するようにすれば良い。
【００４６】
ステップＳＢ１１０の判定結果が“Ｎｏ”であれば、ルーティングエンジン部６２０は、探索対象端末は配下のネットワークには収容されていない旨のメッセージを操作端末３０に報知させて（ステップＳＢ１８０）、本端末探索処理を終了する。逆に、ステップＳＢ１１０の判定結果が“Ｙｅｓ”である場合には、ルーティングエンジン部６２０は、該当通信ポートのポート識別子を候補ポート識別子として選択するとともに、自装置を探索対象端末の接続先の候補（以下、候補中継装置）として選択する（ステップＳＢ１２０）。そして、ルーティングエンジン部６２０は、候補ポート識別子を検索キーとして当該候補中継装置の隣接中継装置テーブルを検索し（ステップＳＢ１３０）、探索対象端末が当該候補中継装置に接続されているか否かを判定する（ステップＳＢ１４０）。より詳細に説明すると、ルーティングエンジン部６２０は、候補ポート識別子と同一のポート識別子に対応付けて候補中継装置の隣接中継装置テーブルに格納されている接続先識別子がＮＵＬＬであれば探索対象端末は当該候補中継装置に接続されていると判定する。
【００４７】
ステップＳＢ１４０の判定結果が“Ｙｅｓ”である場合（すなわち、探索対象端末は候補中継装置に接続されていると判定した場合）には、ルーティングエンジン部６２０は、探索対象端末は候補中継装置に接続されている旨を操作端末３０に報知（ステップＳＢ１９０）させて、本端末探索処理を終了する。これに対して、ステップＳＢ１４０の判定結果が“Ｎｏ”である場合には、ルーティングエンジン部６２０は、当該接続先識別子の示す中継装置を新たな候補中継装置として選択し直し、当該新たな候補中継装置へ宛てて問い合せフレームを送信する（ステップＳＢ１５０）。そして、ルーティングエンジン部６２０は、上記新たな候補中継装置から返信されてくる通信ポート通知フレームのペイロード部に書き込まれている接続先ポート識別子で候補ポート識別子を更新し（ステップＳＢ１６０）、ステップＳＢ１３０以降の処理を繰り返し実行する。
以上がルータ６０の構成である。
【００４８】
＜Ａ−２：動作＞
以下、ルータ６０と各スイッチングハブ５０とが８つの通信ポートを有し、図７に示すように相互に接続されている場合を例にとって本実施形態の動作を説明する。図７では、通信ポートを黒塗りの丸印で示し、当該通信ポートのポート番号を＃付の数字で表記した。図７に示すように、ルータ６０のポート番号＝１の通信ポートにはスイッチングハブ５０Ａが接続されており、スイッチングハブ５０Ａから見ればルータ６０はスイッチングハブ５０Ａのポート番号＝８の通信ポートに接続されている。
【００４９】
図７に示すように、スイッチングハブ５０Ａのポート番号＝７の通信ポートにはスイッチングハブ５０Ｂが接続されており、スイッチングハブ５０Ｂから見ればスイッチングハブ５０Ａはスイッチングハブ５０Ｂのポート番号＝５の通信ポートに接続されている。スイッチングハブ５０Ｂのポート番号＝４の通信ポートにはスイッチングハブ５０Ｃが接続されており、同ポート番号＝６の通信ポートにはスイッチングハブ５０Ｄが接続されている。スイッチングハブ５０Ｃから見れば、スイッチングハブ５０Ｂはポート番号＝３の通信ポートに接続されており、スイッチングハブ５０Ｄから見れば、スイッチングハブ５０Ｂはポート番号＝２の通信ポートに接続されている。そして、通信端末４０Ａはスイッチングハブ５０Ｃのポート番号＝７の通信ポートに接続されており、通信端末４０Ｂはスイッチングハブ５０Ｄのポート番号＝８の通信ポートに接続されている。また、以下に説明する動作の開始時点では、ルータ６０および各スイッチングハブ５０の隣接中継装置テーブルの接続先識別子はＮＵＬＬクリアされている。
【００５０】
＜Ａ−２−１：隣接中継装置情報収集動作＞
前述したように、本実施形態のＬＡＮ１Ａでは、ルータ６０および各スイッチングハブ５０のＭＡＣアドレステーブルおよび隣接中継装置テーブルの格納内容に基づいて探索対象端末の接続先の特定が行われる。このため、探索対象端末の接続先の特定に先立って、隣接中継装置テーブルに各々の隣接中継装置のＭＡＣアドレスを格納し、さらに各スイッチングハブ５０の隣接中継装置テーブルの格納内容をルータ６０に通知しておく必要がある。本実施形態では、ルータ６０および各スイッチングハブ５０に以下に説明する動作を実行させることで、各々の隣接中継装置テーブルへの隣接中継装置のＭＡＣアドレスの格納、およびルータ６０への各スイッチングハブ５０の隣接中継装置テーブルの格納内容の通知が実現される。
【００５１】
ルータ６０のルーティングエンジン部６２０は、ルータ６０の電源（図示略）投入後、所定時間Ｔが経過した時刻Ｔ０において要求フレームをマルチキャストする。このようにしてルータ６０からマルチキャストされる要求フレームは、まず、スイッチングハブ５０Ａによって受信される。スイッチングハブ５０Ａのスイッチングエンジン部５２０は、ポート番号＝８の通信ポートを介して上記要求フレームを受信し、図３のステップＳＡ１３０、ＳＡ１４０、ＳＡ１６０およびＳＡ１７０の処理を実行する。その理由は以下の通りである。本動作例においてスイッチングハブ５０Ａがルータ６０から受信するフレームは要求フレームであり、そのペイロード部のフレーム種別識別子には当該フレームが要求フレームであることを示す値がセットされている。このため、図３のステップＳＡ１００の判定結果は“Ｎｏ”になり、同ステップＳＡ１２０の判定結果は“Ｙｅｓ”になり、同ステップＳＡ１５０の判定結果も“Ｙｅｓ”になる。したがって、図３のステップＳＡ１３０、ＳＡ１４０、ＳＡ１６０およびＳＡ１７０の処理が実行されるのである。
【００５２】
ステップＳＡ１３０の処理が実行されるため、ポート番号＝８に対応づけてスイッチングハブ５０Ａの隣接中継装置テーブルに格納されている接続先識別子は、受信フレームに付与されている転送元識別子（すなわち、ルータ６０のＭＡＣアドレス）によって書き換えられる。また、当該受信フレームの転送元識別子はステップＳＡ１４０の処理によってスイッチングハブ５０ＡのＭＡＣアドレスに書き換えられる。ステップＳＡ１６０では、ステップＳＡ１３０の処理による更新後の隣接中継装置テーブルの格納内容を隣接中継装置情報として書き込んだ隣接中継装置通知フレームがスイッチングハブ５０Ａからルータ６０にユニキャストされる。そして、ステップＳＡ１７０では、ステップＳＡ１４０の処理によって転送元識別子の書き換えが行われた要求フレームのフラッディングが行われる。前述したように、要求フレームの送信先ＭＡＣアドレスはマルチキャストアドレスだからである。このようにしてフラッディングされた要求フレームは、スイッチングハブ５０Ｂによって受信される。
【００５３】
スイッチングハブ５０Ｂのスイッチングエンジン部５２０も同様に、スイッチングハブ５０Ａから転送された要求フレームを受信すると、図３のステップＳＡ１３０、ＳＡ１４０、ＳＡ１６０およびＳＡ１７０の処理を実行する。より詳細に説明すると、スイッチングハブ５０Ｂのスイッチングエンジン部５２０は、自装置の隣接中継装置テーブルにおいてポート番号＝５に対応する接続先識別子を、スイッチングハブ５０Ａから転送された要求フレームに付与されている転送元識別子（すなわち、スイッチングハブ５０ＡのＭＡＣアドレス）によって書き換え、当該書き換え後の隣接中継装置テーブルの格納内容を隣接中継装置情報として書き込んだ隣接中継装置通知フレームをルータ６０にユニキャストする。加えて、スイッチングハブ５０Ｂのスイッチングエンジン部５２０は、転送元識別子をスイッチングハブ５０ＢのＭＡＣアドレスに書き換えた要求フレームのフラッディングを行う。このようにしてフラッディングされた要求フレームはスイッチングハブ５０Ｃおよび５０Ｄによって各々受信される。
【００５４】
スイッチングハブ５０Ｃ（或いは５０Ｄ）のスイッチングエンジン部５２０も同様に、スイッチングハブ５０Ｂから転送された要求フレームを受信すると、図３のステップＳＡ１３０、ＳＡ１４０、ＳＡ１６０およびＳＡ１７０の処理を実行する。より詳細に説明すると、スイッチングハブ５０Ｃは、スイッチングハブ５０Ｂによって転送された要求フレームを受信すると、自装置の隣接中継装置テーブルにおいてポート番号＝３に対応する接続先識別子を、スイッチングハブ５０Ｂから転送された要求フレームに付与されている転送元識別子（すなわち、スイッチングハブ５０ＢのＭＡＣアドレス）によって書き換え、当該書き換え後の隣接中継装置テーブルの格納内容を隣接中継装置情報として書き込んだ隣接中継装置通知フレームをルータ６０にユニキャストする。
【００５５】
同様に、スイッチングハブ５０Ｄも、隣接中継装置テーブルにおいてポート番号＝２に対応する接続先識別子を、スイッチングハブ５０ＢのＭＡＣアドレスによって書き換え、当該書き換え後の隣接中継装置テーブルの格納内容を隣接中継装置情報として書き込んだ隣接中継装置通知フレームをルータ６０にユニキャストする。なお、スイッチングハブ５０Ｃおよび５０Ｄは、転送元識別子を自装置のＭＡＣアドレスに書き換えた要求フレームをフラッディングする処理も行う。しかし、スイッチングハブ５０Ｃおよび５０Ｄよりも下流側にスイッチングハブは接続されていないため、以降、これら要求フレームの転送が行われることはない。
【００５６】
以上説明したように、ルータ６０からマルチキャストされた要求フレームの転送制御を行う過程でスイッチングハブ５０Ａ、５０Ｂ、５０Ｃ、および５０Ｄの各々の隣接中継装置テーブルの格納内容は図８に示す状態となり、これら各隣接中継装置テーブルの格納内容を隣接中継装置情報として書き込んだ隣接中継装置通知フレームが各スイッチングハブ５０からルータ６０にユニキャストされる。なお、図８では、各スイッチングハブ５０の隣接中継装置テーブルの格納内容が吹き出しで示されている（図９についても同様）。
【００５７】
次いで、隣接中継装置通知フレームの転送制御に伴って行われる隣接中継装置テーブルの更新について説明する。スイッチングハブ５０Ｂのスイッチングエンジン部５２０は、スイッチングハブ５０Ｃからルータ６０へユニキャストされた隣接中継装置通知フレームを、ポート番号＝４の通信ポートを介して受信すると、図３のステップＳＡ１３０、ＳＡ１４０、およびＳＡ１７０の処理を実行する。本動作例においてスイッチングハブ５０Ｂがスイッチングハブ５０Ｃから受信するフレームは隣接中継装置通知フレームであり、そのペイロード部のフレーム種別識別子には当該フレームが隣接中継装置通知フレームであることを示す値がセットされている。このため、当該フレームを受信したときにスイッチングエンジン部５２０が実行する処理（図３のフローチャートに示す処理）では、ステップＳＡ１００の判定結果は“Ｎｏ”になる一方、同ステップＳＡ１２０の判定結果は“Ｙｅｓ”になり、同ステップＳＡ１５０の判定結果は“Ｎｏ”になる。したがって、図３のステップＳＡ１３０、ＳＡ１４０、およびＳＡ１７０の処理が実行されるのである。
【００５８】
ステップＳＡ１３０の処理が実行されるため、ポート番号＝４に対応付けてスイッチングハブ５０Ｂの隣接中継装置テーブルに格納されている接続先識別子は、受信フレームに付与されている転送元識別子（すなわち、スイッチングハブ５０ＣのＭＡＣアドレス）によって書き換えられ、当該受信フレームの転送元識別子はステップＳＡ１４０の処理によってスイッチングハブ５０ＢのＭＡＣアドレスに書き換えられる。そして、ステップＳＡ１７０では、ステップＳＡ１４０の処理によって転送元識別子の書き換えが行われた隣接中継装置通知フレームがポート番号＝５の通信ポートを介して送出される。スイッチングハブ５０Ｄからルータ６０へユニキャストされた隣接中継装置通知フレームを受信した場合についても同様に、スイッチングハブ５０Ｂのスイッチングエンジン部５２０は、図３のステップＳＡ１３０、ＳＡ１４０、およびＳＡ１７０の処理を実行する。その結果、スイッチングハブ５０Ｂの隣接中継装置テーブルにおいてポート番号＝６に対応する接続先識別子は受信フレームに付与されている転送元識別子（すなわち、スイッチングハブ５０ＤのＭＡＣアドレス）によって書き換えられ、当該受信フレームは転送元識別子の書き換えを経た後に、ポート番号＝５の通信ポートを介して送出される。
【００５９】
スイッチングハブ５０Ａのスイッチングエンジン部５２０は、スイッチングハブ５０Ｂから送信された隣接中継装置通知フレーム（或いは、スイッチングハブ５０Ｂによって転送された隣接中継装置通知フレーム）を受信すると、同様に、図３のステップＳＡ１３０、ＳＡ１４０、およびＳＡ１７０の処理を実行する。スイッチングハブ５０Ａは、隣接中継装置テーブルにおいてポート番号＝７に対応する接続先識別子を、スイッチングハブ５０Ｂから受信した隣接中継装置通知フレームに付与されている転送元識別子（すなわち、スイッチングハブ５０ＢのＭＡＣアドレス）によって書き換え、当該隣接中継装置通知フレームの転送元識別子を自装置のＭＡＣアドレスに書き換えてルータ６０に転送する。ルータ６０は、スイッチングハブ５０Ａから転送された隣接中継装置通知フレームをポート番号＝１の通信ポートを介して受信すると、自装置の隣接中継装置テーブルにおいて当該ポート番号に対応する接続先識別子を当該フレームに付与されている転送元識別子で書き換える。
【００６０】
以上説明したように、他のスイッチングハブ５０からルータ６０へ送信された隣接中継装置通知フレームの転送制御を行う過程で、スイッチングハブ５０Ａおよび５０Ｂの各々の隣接中継装置テーブルの格納内容は図８に示す状態から図９に示す状態へと更新される。
【００６１】
ここで注目すべき点は、以上に説明した動作において、ルータ６０が各スイッチングハブ５０から受信する隣接中継装置通知フレームに書き込まれている隣接中継装置情報は、図９に示す隣接中継装置テーブルの格納内容ではなく、図８に示す隣接中継装置テーブルの格納内容に対応しているという点である。図９に示すルータ６０の隣接中継装置テーブルの格納内容と図８に示す各スイッチングハブ５０の隣接中継装置テーブルの格納内容とでは、ルータ６０とスイッチングハブ５０Ａとの接続関係のみが矛盾なく表されており、他の接続関係には矛盾が生じている。例えば、スイッチングハブ５０Ａの隣接中継装置テーブルにはスイッチングハブ５０ＢのＭＡＣアドレスは格納されていないにもかかわらず、スイッチングハブ５０Ｂの隣接中継装置テーブルにはスイッチングハブ５０ＡのＭＡＣアドレスが格納されている、といった具合である。このため、図８に示す状態の各スイッチングハブ５０の隣接中継装置テーブルを記憶部６３０に格納した時点でルータ６０に対して探索対象の通信端末が指示されても、前述したステップＳＢ１００の判定結果は“Ｙｅｓ”となり、準備中である旨の報知のみが為される。
【００６２】
そして、時刻Ｔ０からさらに所定時間Ｔが経過すると、ルーティングエンジン部６２０は、要求フレームをマルチキャストし、各スイッチングハブ５０は上記と同様の処理を実行する。時刻Ｔ０＋Ｔにおいてルータ６０から送信された要求フレームに対する応答として各スイッチングハブ５０が返信する隣接中継装置通知フレームの各々には、図９に示す隣接中継装置テーブルの格納内容に対応する隣接中継装置情報が書き込まれている。このため、時刻Ｔ０＋Ｔにおいてマルチキャストした要求フレーム（すなわち、時刻Ｔ０におけるマルチキャストを１回目とすれば、２回目のマルチキャスト）に対する隣接中継装置通知フレームを受信した時点でルータ６０の記憶部６３０に格納される隣接中継装置テーブル（ルータ６０の隣接中継装置テーブルおよび各スイッチングハブ５０の隣接中継装置テーブル）は、ルータ６０と各スイッチングハブ５０の接続関係を矛盾なく表すものとなる。この状態において、探索対象端末が指示されると、ステップＳＢ１００の判定結果は“Ｎｏ”となり、ルーティングエンジン部６２０は、ステップＳＢ１１０以降の処理を実行する。
【００６３】
＜Ａ−２−２：通信端末探索動作＞
次いで、ルータ６０および各スイッチングハブ５０の隣接中継装置テーブルの格納内容が図９に示す状態となっている状況下で通信端末４０Ａの探索を行う場合を例にとって、この探索過程においてルータ６０およびスイッチングハブ５０が実行する動作を説明する。なお、以下に説明する動作の開始時点では、ルータ６０のＭＡＣアドレス解決のために通信端末４０Ａから送信されたＡＲＰパケットの転送制御によって、ルータ６０およびスイッチングハブ５０の各々のＭＡＣアドレステーブルの格納内容は、図１０に示すようになっている。
【００６４】
図１０に示すように、ルータ６０のＭＡＣアドレステーブルには、通信端末４０ＡのＭＡＣアドレスに対応付けてポート番号＝１が格納されている。スイッチングハブ５０ＡのＭＡＣアドレステーブルには、通信端末４０ＡのＭＡＣアドレスに対応付けてポート番号＝７が格納されている。スイッチングハブ５０ＢのＭＡＣアドレステーブルには、通信端末４０ＡのＭＡＣアドレスに対応付けてポート番号＝４が格納されている。スイッチングハブ５０ＣのＭＡＣアドレステーブルには、通信端末４０ＡのＭＡＣアドレスに対応付けてポート番号＝７が格納されている。そして、スイッチングハブ５０ＤのＭＡＣアドレステーブルには、通信端末４０ＡのＭＡＣアドレスに対応付けてポート番号＝２が格納されている。
【００６５】
ルーティングエンジン部６２０は、操作端末３０を介して探索対象端末（すなわち、通信端末４０Ａ）を指定されると、記憶部６３０に格納されている各スイッチングハブ５０の隣接中継装置テーブルの格納内容と自装置の隣接中継装置テーブルの格納内容とが表す接続関係に矛盾があるか否かを判定する（ステップＳＢ１００）。前述したように、ルータ６０および各スイッチングハブ５０の隣接中継装置テーブルの格納内容が図９に示す状態となっていれば、これら隣接中継装置テーブルの表す接続関係に矛盾はない。したがって、ステップＳＢ１００の判定結果は“Ｎｏ”となり、ステップＳＢ１１０以降の処理が実行される。図１０に示すように、ルータ６０のＭＡＣアドレステーブルには、通信端末４０ＡのＭＡＣアドレスに対応付けてポート番号＝１が格納されている。このため、ステップＳＢ１１０の判定結果は“Ｙｅｓ”になり、ルーティングエンジン部６２０は、ステップＳＢ１２０以降の処理を実行する。このステップＳＢ１２０では、ルーティングエンジン部６２０は、候補ポート識別子としてポート番号＝１を選択し、さらに自装置を候補中継装置として選択する。そして、ステップＳＢ１３０では、ルーティングエンジン部６２０は、候補中継装置の隣接中継装置テーブル（すなわち、ルータ６０の隣接中継装置テーブル）を検索し、候補ポート識別子に対応する接続先識別子を取得する。
【００６６】
図９を参照すれば明らかなように、通信端末４０Ａの探索開始時点では、ルータ６０の隣接中継装置テーブルには候補ポート識別子（ポート番号＝１）に対応付けてスイッチングハブ５０ＡのＭＡＣアドレスが格納されている。このため、ステップＳＢ１４０の判定結果は“Ｎｏ”となり、ルーティングエンジン部６２０は、スイッチングハブ５０Ａを候補中継装置として選択し直して問い合せフレームを送信する（ステップＳＢ１５０）。つまり、本動作例では、図１１に示すように、ルータ６０からスイッチングハブ５０Ａへ宛てて問い合せフレームＱ０１０が送信される。この問い合せフレームＱ０１０のペイロード部には、探索対象識別子として通信端末４０ＡのＭＡＣアドレスが書き込まれている。
【００６７】
スイッチングハブ５０Ａのスイッチングエンジン部５２０は、問い合せフレームＱ０１０を受信すると、通信ポート通知フレーム送信処理（図３：ステップＳＡ１１０）を実行する。スイッチングハブ５０ＡのＭＡＣアドレステーブルには通信端末４０ＡのＭＡＣアドレスに対応付けてポート番号＝７が格納されている（図１０参照）。このため、スイッチングハブ５０Ａのスイッチングエンジン部５２０は、図１１に示すように、接続先ポート識別子としてポート番号＝７を書き込んだ通信ポート通知フレームＲ０１０をルータ６０に返信する。
【００６８】
ルーティングエンジン部６２０は、通信ポート通知フレームＲ０１０を受信すると、当該通信ポート通知フレームのペイロード部に書き込まれている接続先ポート識別子（すなわち、ポート番号＝７）を新たな候補ポート識別子として選択し（図６：ステップＳＢ１６０）、ステップＳＢ１３０以降の処理を再度実行する。この時点の候補中継装置はスイッチングハブ５０Ａであるため、本動作例において２度目に実行するステップＳＢ１３０の処理では、ルーティングエンジン部６２０は、候補中継装置の隣接中継装置テーブル（すなわち、スイッチングハブ５０Ａの隣接中継装置テーブル）を検索し、候補ポート識別子（すなわち、ポート番号＝７）に対応する接続先識別子を取得する。
【００６９】
図９を参照すれば明らかなように、スイッチングハブ５０Ａの隣接中継装置テーブルには候補ポート識別子（ポート番号＝７）に対応付けてスイッチングハブ５０ＢのＭＡＣアドレスが格納されている。このため、本動作例において２度目に実行されるステップＳＢ１４０の判定結果も“Ｎｏ”となり、ルーティングエンジン部６２０は、スイッチングハブ５０Ｂを候補中継装置として選択し直して問い合せフレームＱ０２０を送信する（図１１参照）。仮に、スイッチングハブ５０Ａの隣接中継装置テーブルとして図９のものではなく、図８のものがルータ６０の記憶部６３０に格納されていたとすれば、図８のスイッチングハブ５０Ａの隣接中継装置テーブルにおいて、候補ポート識別子（ポート番号＝７）に対応付けられている接続先識別子はＮＵＬＬであり、ステップＳＢ１４０の判定結果は“Ｙｅｓ”となって、探索対象端末はスイッチングハブ５０Ａに接続されている旨の報知が為される。しかし、この報知内容が誤りであることは、図１を参照すれば明らかである。ステップＳＢ１００の判定は、このような誤判断の発生を回避するために行われるのである。なお、本実施形態では、上記のような誤判断の発生を回避するために、ステップＳＢ１００の判定をルーティングエンジン部６２０に行わせたが、要求フレームのマルチキャストの間隔が充分に短く、要求フレームのマルチキャストが２回行われることに先立って通信端末の探索が行われることがほとんど無い場合、或いは、通信端末の探索を何度か繰り返し行ううちに正しい結果が得られれば充分な場合には、ステップＳＢ１００の判定およびその判定結果がＹｅｓである場合の報知処理（ステップＳＢ１７０）を省略しても良い。
【００７０】
この問い合せフレームＱ０２０のペイロード部には、問い合せフレームＱ０１０と同様に、探索対象識別子として通信端末４０ＡのＭＡＣアドレスが書き込まれている。スイッチングハブ５０Ｂにおいては、前述したスイッチングハブ５０Ａと同様の処理が実行される。より詳細に説明すると、スイッチングハブ５０ＢのＭＡＣアドレステーブルには通信端末４０ＡのＭＡＣアドレスに対応付けてポート番号＝４が格納されている（図１０参照）。このため、図１１に示すように、スイッチングハブ５０Ｂからルータ６０へ宛てて、接続先ポート識別子としてポート番号＝４をペイロード部に書き込んだ通信ポート通知フレームＲ０２０が送信される。ルーティングエンジン部６２０は、スイッチングハブ５０Ｂから返信された通信ポート通知フレームＲ０２０を受信すると、通信ポート通知フレームＲ０１０を受信した場合と同様に、通信ポート通知フレームＲ０２０のペイロード部に書き込まれている接続先ポート識別子（すなわち、ポート番号＝４）を新たな候補ポート識別子として選択し（図６：ステップＳＢ１６０）、ステップＳＢ１３０以降の処理を再度実行する。本動作例において３度目に実行されるステップＳＢ１３０の処理では、ルーティングエンジン部６２０は、候補中継装置の隣接中継装置テーブル（すなわち、スイッチングハブ５０Ｂの隣接中継装置テーブル）を検索し、候補ポート識別子（すなわち、ポート番号＝４）に対応する接続先識別子を取得する。
【００７１】
図９を参照すれば明らかなように、スイッチングハブ５０Ｂの隣接中継装置テーブルには候補ポート識別子（ポート番号＝４）に対応付けてスイッチングハブ５０ＣのＭＡＣアドレスが格納されている。このため、本動作例において３度目に実行されるステップＳＢ１４０の判定結果も“Ｎｏ”となり、ルーティングエンジン部６２０は、スイッチングハブ５０Ｃを候補中継装置として選択し直して問い合せフレームＱ０３０を送信する（図１１参照）。この問い合せフレームＱ０３０のペイロード部には、問い合せフレームＱ０１０およびＱ０２０と同様に、探索対象識別子として通信端末４０ＡのＭＡＣアドレスが書き込まれている。
【００７２】
スイッチングハブ５０Ｃにおいても、前述したスイッチングハブ５０Ａおよび５０Ｂと同様の処理が実行される。より詳細に説明すると、スイッチングハブ５０ＣのＭＡＣアドレステーブルには通信端末４０ＡのＭＡＣアドレスに対応付けてポート番号＝７が格納されている（図１０参照）。このため、図１１に示すように、スイッチングハブ５０Ｃからルータ６０へ宛てて、接続先ポート識別子としてポート番号＝７をペイロード部に書き込んだ通信ポート通知フレームＲ０３０が送信される。ルーティングエンジン部６２０は、スイッチングハブ５０Ｃから返信された通信ポート通知フレームＲ０３０を受信すると、通信ポート通知フレームＲ０１０やＲ０２０を受信した場合と同様に、通信ポート通知フレームＲ０３０のペイロード部に書き込まれている接続先ポート識別子（すなわち、ポート番号＝７）を新たな候補ポート識別子として選択し（図６：ステップＳＢ１６０）、ステップＳＢ１３０以降の処理を再度実行する。本動作例において４度目に実行されるステップＳＢ１３０の処理では、ルーティングエンジン部６２０は、候補中継装置の隣接中継装置テーブル（すなわち、スイッチングハブ５０Ｃの隣接中継装置テーブル）を検索し、候補ポート識別子（すなわち、ポート番号＝７）に対応する接続先識別子を取得する。
【００７３】
図９を参照すれば明らかなように、スイッチングハブ５０Ｃの隣接中継装置テーブルにおいて候補ポート識別子（ポート番号＝７）に対応付けられている接続先識別子はＮＵＬＬである。このため、本動作例において４度目に実行されるステップＳＢ１４０の判定結果は“Ｙｅｓ”となり、ルーティングエンジン部６２０は、探索対象端末（すなわち、通信端末４０Ａ）はスイッチングハブ５０Ｃに接続されている旨の報知を行う（図６：ステップＳＢ１９０）。この報知によってＬＡＮ１Ａの運用管理者は、探索対象端末（通信端末４０Ａ）がスイッチングハブ５０Ｃに接続されているということを把握するのである。
【００７４】
以上説明したように、本実施形態によれば、ルータ６０および各スイッチングハブ５０間でＭＡＣアドレステーブルの受け渡しを行うことなく、ルータ６０の配下のネットワーク（すなわち、ＬＡＮ１Ａ）に収容される通信端末の探索を行うことが可能になる。このように、本実施形態では、ルータ６０および各スイッチングハブ５０間でＭＡＣアドレステーブルの受け渡しは行われないのであるから、ルータ６０の配下のネットワークに過剰な負荷がかかることはない。
【００７５】
＜Ｂ：第２実施形態＞
図１２は、本発明の第２実施形態のＬＡＮ１Ｂの構成例を示すブロック図である。
図１２と図１とを対比すれば明らかように、ＬＡＮ１Ｂはスイッチングハブ５０Ｂに換えてスイッチングハブ５００を有する点と、このスイッチングハブ５００に通信端末４０Ｃが接続されている点が、ＬＡＮ１Ａと異なる。スイッチングハブ５００は、従来のスイッチングハブであって、受信したフレームの送信先ＭＡＣアドレスに基づくフレームの転送制御（すなわち、図３のステップＳＡ１７０の処理）のみを実行する点がスイッチングハブ５０と異なる。通信端末４０Ｃは、通信端末４０Ａや通信端末４０Ｂと同様に一般的なパーソナルコンピュータである。
【００７６】
ＬＡＮ１Ｂにおいては、スイッチングハブ５０Ａからスイッチングハブ５００に転送された要求フレームは転送元識別子を書き換えられることなく、スイッチングハブ５０Ｃおよび５０Ｄに転送される。このため、スイッチングハブ５０Ｃおよび５０Ｄの各々の隣接中継装置テーブルには、スイッチングハブ５００が接続されている通信ポートのポート識別子に対応付けて、スイッチングハブ５０ＡのＭＡＣアドレスが書き込まれる。
【００７７】
スイッチングハブ５０Ｃおよび５０Ｄの各々からルータ６０へ返信される隣接中継装置通知フレームについても同様に、転送元識別子を書き換えられることなくスイッチングハブ５００によってスイッチングハブ５０Ａに転送される。スイッチングハブ５０Ａのスイッチング制御部５２０は、スイッチングハブ５０Ｃおよび５０Ｄの各々から送信された隣接中継装置通知フレームを、スイッチングハブ５００が接続されている通信ポートを介して受信し、これら隣接中継装置通知フレームを受信する度に隣接中継装置テーブルの格納内容を更新する。つまり、スイッチングハブ５０Ｃおよび５０Ｄの各々から送信される隣接中継装置通知フレームのうち先に受信したものに応じて行われた更新の内容は後から受信したものに応じて行われた更新の内容によって上書きされる。
【００７８】
このため、例えば、ルータ６０から１回目にマルチキャストされた要求フレームに応じてスイッチングハブ５０Ｃおよび５０Ｄの各々が返信する隣接中継装置通知フレームのうち前者が先にスイッチングハブ５０Ａに到達する場合には、２回目の要求フレームのマルチキャストに応じてスイッチングハブ５０Ａが返信する隣接中継装置通知フレームに含まれている隣接中継装置情報では、スイッチングハブ５００が接続されている通信ポートのポート識別子にはスイッチングハブ５０ＤのＭＡＣアドレスのみが対応付けられている。一方、ルータ６０がスイッチングハブ５０Ｃから受信する隣接中継装置情報においては、スイッチングハブ５００が接続されている通信ポートのポート識別子に対応付けてスイッチングハブ５０ＡのＭＡＣアドレスが対応付けられている。つまり、スイッチングハブ５０Ａとスイッチングハブ５０Ｃとの接続関係に矛盾が生じる。
【００７９】
これに対して、ルータ６０から１回目にマルチキャストされた要求フレームに応じてスイッチングハブ５０Ｃおよび５０Ｄの各々が返信する隣接中継装置通知フレームのうちの後者が先にスイッチングハブ５０Ａに到達する場合には、２回目の要求フレームのマルチキャストに応じてスイッチングハブ５０Ａが返信する隣接中継装置通知フレームに含まれている隣接中継装置情報では、スイッチングハブ５００が接続されている通信ポートのポート識別子にはスイッチングハブ５０ＣのＭＡＣアドレスのみが対応付けられている。一方、ルータ６０がスイッチングハブ５０Ｄから受信する隣接中継装置情報においては、スイッチングハブ５００が接続されている通信ポートのポート識別子に対応付けてスイッチングハブ５０ＡのＭＡＣアドレスが対応付けられている。つまり、スイッチングハブ５０Ａとスイッチングハブ５０Ｄとの接続関係に矛盾が生じる。このように、スイッチングハブ５０Ｃおよび５０Ｄの各々が返信する隣接中継装置通知フレームのうち何れが先にルータ６０に到達したとしても、スイッチングハブ５０Ａとスイッチングハブ５０Ｃ（或いは５０Ｄ）との接続関係に矛盾が生じる。このため、図６のステップＳＢ１００の判定結果は常にＹｅｓとなり、通信端末の探索を行うことはできないのである。
【００８０】
もっとも、図６のステップＳＢ１００の判定を行わないようにすれば、通信端末４０Ａまたは通信端末４０Ｂの何れか一方の接続先を特定することは可能である。例えば、スイッチングハブ５０Ｃから送信された隣接中継装置通知フレームの方がスイッチングハブ５０Ｄから送信されたものより先にスイッチングハブ５０Ａに到達した場合には、通信端末４０Ｂの探索を行うことは可能であるが、通信端末４０Ａの接続先を正確に特定することはできない。その理由は以下の通りである。
【００８１】
スイッチングハブ５０ＡのＭＡＣアドレステーブルには、通信端末４０ＡのＭＡＣアドレスに対応付けてスイッチングハブ５００が接続されている通信ポートのポート識別子が格納されている。通信端末４０Ａから送信されたＡＲＰフレームはスイッチングハブ５００によるフラッディングを経てスイッチングハブ５０Ａに到達するからである。このため、ルータ６０がスイッチングハブ５０Ａに探索対象識別子として通信端末４０ＡのＭＡＣアドレスを書き込んだ問い合せフレームを送信すると、スイッチングハブ５０Ａは、スイッチングハブ５００が接続されている通信ポートのポート識別子を接続先ポート識別子として書き込んだ通信ポート通知フレームをルータ６０に返信する。一方、スイッチングハブ５０Ａの隣接中継装置テーブルには、前述したように、上記ポート識別子に対応付けてスイッチングハブ５０ＤのＭＡＣアドレスが格納されている。このため、ルータ６０はスイッチングハブ５０Ｄに探索対象識別子として通信端末４０ＡのＭＡＣアドレスを書き込んだ問い合せフレームを送信する。
【００８２】
スイッチングハブ５０ＤのＭＡＣアドレステーブルには、通信端末４０ＡのＭＡＣアドレスに対応付けてスイッチングハブ５００が接続されている通信ポートのポート識別子が格納されている。前述したように、通信端末４０Ａから送信されたＡＲＰフレームはスイッチングハブ５００によるフラッディングを経てスイッチングハブ５０Ｄに到達するからである。このため、スイッチングハブ５０Ｄは、スイッチングハブ５００が接続されている通信ポートのポート識別子のポート識別子を接続先ポート識別子として書き込んだ通信ポート通知フレームをルータ６０に返信する。スイッチングハブ５０Ｄの隣接中継装置テーブルには、当該ポート識別子に対応付けてスイッチングハブ５０ＡのＭＡＣアドレスが格納されているが、スイッチングハブ５０Ａには既に問い合せフレームを送信済みであり、再度、スイッチングハブ５０Ａに問い合せフレームを送信したとしても、堂々巡りになるだけである。このように、既に問い合せフレームを送信済みのスイッチングハブ５０に対して再度同一の問い合せフレームを送信することとなった場合には、この時点で通信端末の探索を打ち切り、探索対象の通信端末は当該スイッチングハブ５０に接続されていると判定することも考えられる。しかし、当該探索対象の通信端末の接続先が正確に特定されていないことは言うまでもない。これが、スイッチングハブ５０Ｃから送信された隣接中継装置通知フレームの方がスイッチングハブ５０Ｄから送信されたものより先にスイッチングハブ５０Ａに到達した場合には、通信端末４０Ａの接続先を正確に特定することができない理由である。同様の理由により、スイッチングハブ５０Ｄから送信された隣接中継装置通知フレームの方がスイッチングハブ５０Ｃから送信されたものより先にスイッチングハブ５０Ａに到達した場合には、通信端末４０Ｂの接続先を正確に特定することはできない。同様に、スイッチングハブ５００に接続されている通信端末４０Ｃの探索を行うこともできない。
【００８３】
このように、ルータ６０の配下のネットワークに従来のスイッチングハブが含まれている場合には、従来のスイッチングハブに接続されている通信端末を探索することはできないものの、スイッチングハブ５０に接続されている通信端末の探索についてはその探索を全く行えないという訳ではない。また、上述したような堂々巡りが発生した場合には、その発生を根拠に、その発生箇所に１乃至複数台の従来のスイッチングハブが存在している可能性があると類推することもできる。
【００８４】
ルータ６０の配下のネットワークに含まれるスイッチングハブの全てが従来のものであれば、当該ネットワークに収容される通信端末の探索を全く行えないことは言うまでもないが、ＬＡＮ１Ｂを構成する複数のスイッチングハブのなかに本発明に係るスイッチングハブ５０が少なくとも１台含まれていれば、当該スイッチングハブ５０に接続されている通信端末の探索を行うことはできる。なお、本実施形態においても、ルータ６０および各スイッチングハブ５０間でＭＡＣアドレステーブルの受け渡しは行われないのであるから、ルータ６０の配下のネットワークに過剰な負荷がかかることはない。
【００８５】
＜Ｃ：変形＞
以上、本発明の第１および第２実施形態について説明したが、これら各実施形態に以下に述べる変形を加えても勿論良い。
（１）上述した各実施形態では、要求フレームのマルチキャストを所定時間間隔で周期的にルータ６０に実行させる一方、スイッチングハブ５０には、要求フレームの受信を契機として隣接中継装置通知フレームをルータ６０に返信させた。しかし、周期的なマルチキャストに加えて（或いは、周期的なマルチキャストに換えて）、予め定められた所定種類のパケットの受信を契機としてルータ６０に要求フレームをマルチキャストさせても良い。
【００８６】
例えば、自装置のＭＡＣアドレス解決のためにＡＲＰパケットを受信したことを契機としてルータ６０に要求フレームを送信させるのである。新たにＡＲＰパケットを受信したということは、ルータ６０の配下のネットワークに新たな通信端末が接続されたことを意味する。このように新たな通信端末が追加接続される場合には、既存のスイッチングハブ５０に対して新たなスイッチングハブ５０を接続し、当該新たなスイッチングハブ５０に当該新たな通信端末が接続される場合もある。新たなＡＲＰパケットの受信を契機としてルータ６０に要求フレームを送信させるようにすれば、新たな通信端末の接続に伴って新たなスイッチングハブ５０が追加されるような場合であっても、迅速に当該新たな通信端末の探索を行うことが可能になる。なお、上記各実施形態のように、ルータ６０がＤＨＣＰサーバの役割を兼ねている場合には、ＩＰアドレスの割り当てを要求する旨のパケットを配下の通信端末から受信したことを契機として要求フレームをマルチキャストさせても良い。
【００８７】
（２）上述した各実施形態では、要求フレームの受信を契機としてスイッチングハブ５０に隣接中継装置通知フレームを送信させた。しかし、所定時間間隔で周期的に隣接中継装置通知フレームをスイッチングハブ５０に送信させるようにしても良い。このように、隣接中継装置通知フレームを周期的にスイッチングハブ５０に送信させる態様においては、ルータ６０から要求フレームをマルチキャストする必要はなく、ルータ６０から配下のＬＡＮに向けてマルチキャストするフレームのうちの予め定められた一部のものに転送元識別子を付与してマルチキャストさせるようにすれば良い。各スイッチングハブ５０に上流側（ルータ６０に近い側）の隣接中継装置のＭＡＣアドレスを隣接中継装置テーブルに格納させるためである。
【００８８】
（３）上述した各実施形態では、新たな候補中継装置の選択をルータ６０に行わせたが、スイッチングハブ５０に行わせることも可能である。具体的には、問い合せフレームを受信した場合に、スイッチングエンジン部５２０に以下の処理を行わせるのである。すなわち、スイッチングエンジン部５２０は、問い合せフレームのペイロード部に書き込まれている探索対象識別子を検索キーとして自装置のＭＡＣアドレステーブルを検索し、当該探索対象識別子に対応付けてＭＡＣアドレステーブルに格納されているポート識別子を取得する。次いで、スイッチングエンジン部５２０は、上記ポート識別子を検索キーとして自装置のＭＡＣアドレステーブルを検索し、当該ポート識別子に対応する接続先識別子を取得する。そして、スイッチングエンジン部５２０は、この接続先識別子をペイロード部に書き込んだ通信ポート通知フレームをルータ６０にユニキャストするのである。そして、ルータ６０には、上記通信ポート通知フレームのペイロード部に書き込まれている接続先識別子がＮＵＬＬであれば、探索対象端末は当該通信ポート通知フレームの送信元のスイッチングハブ５０に接続されていると判定してその旨を報知する処理を実行させ、逆に上記接続先識別子がＮＵＬＬ以外の値であれば、当該接続先識別子の示すスイッチングハブ５０を新たな候補中継装置として問い合せフレームを送信する処理を実行させるのである。このような態様においては、各スイッチングハブ５０の隣接中継装置テーブルをルータ６０に記憶させておくことは必須ではない。しかし、各スイッチングハブ５０の隣接中継装置テーブルの格納内容が相互に矛盾しているか否かをルーティングエンジン部６２０に判定させる（すなわち、通信端末の探索が可能であるか否かを判定させる）ために、各スイッチングハブ５０の隣接中継装置テーブルをルータ６０に記憶させるようにしても勿論良い。ただし、このような態様では、スイッチングハブ５０における処理負荷が隣接中継装置テーブルの検索を行う分だけ上記各実施形態に比較して高くなるため、スイッチングハブ５０として充分に処理能力の高いものを用いる必要があることは言うまでもない。
【００８９】
（４）上述した各実施形態では、要求フレームを受信するたびに隣接中継装置情報をペイロード部に書き込んだ隣接中継装置通知フレームを各スイッチングハブ５０に返信させた。しかし、Ｎ（自然数）回目の要求フレームの受信からＮ＋１回目の要求フレームの受信までの間に隣接中継装置テーブルの格納内容に変化がない場合には、当該Ｎ＋１回目に受信した要求フレームに対して応答する際に、隣接中継装置情報に換えて隣接中継装置情報に変化がないことを示すデータをペイロード部に書き込んだ隣接中継装置通知フレームを返信させるようにしても良い。なお、隣接中継装置情報に変化がないことを示すデータがペイロード部に書き込まれた隣接中継装置通知フレームを受信した場合には、ルーティングエンジン部６２０に隣接中継装置情報の上書き更新を行わせる必要がないことは言うまでも無い。
【００９０】
（５）上述した各実施形態では、ルータ６０がＤＨＣＰサーバ機能とＤＮＳサーバ機能とを有していた。しかし、ルータ６０の配下のネットワーク内に当該ルータ６０とは別個のＤＨＣＰサーバおよびＤＮＳサーバが設けられており、ルータ６０からこれらサーバに対してアクセス可能な態様であれば、ルータ６０がＤＨＣＰサーバ機能およびＤＮＳサーバ機能を有する必要はない。つまり、本発明のルータにとってＤＨＣＰサーバ機能とＤＮＳサーバ機能は必須ではない。また、上述した各実施形態では、ルータ６０が有するＤＨＣＰサーバ機能によって動的に各通信端末４０にＩＰアドレスを割り振ったが、各通信端末４０にＩＰアドレスを固定的に割り振っておいても勿論良い。各通信端末４０にＩＰアドレスが固定的に割り振られ、かつ固定的に割り振られたＩＰアドレスによって探索対象端末が指定される場合であっても、ＡＲＰを利用することで、当該ＩＰアドレスから同通信端末のＭＡＣアドレスを求めることは可能だからである。また、上述した各実施形態では、第２層において各通信装置を一意に識別するためのハードウェア識別子としてＭＡＣアドレスを用いたが、ＭＡＣアドレスとは異なる新たなハードウェア識別子を定義し、当該識別子を用いるようにしても良い。
【００９１】
（６）上述した各実施形態では、本発明のスイッチングハブの特徴を顕著に示すフレーム転送制御処理、隣接中継装置通知フレーム送信処理、および通信ポート通知フレーム送信処理をソフトウェアにより実現した。しかし、フレーム転送制御処理を実行するフレーム転送制御手段、隣接中継装置通知フレーム送信処理を実行する隣接中継装置通知手段、および通信ポート通知フレーム送信処理を実行する通信ポート通知手段の各々を電子回路などのハードウェアで構成し、スイッチングエンジン部５２０に換えてこれら各手段を組み込んでスイッチングハブ５０を構成しても勿論良い。ルータ６０についても、同様に、マルチキャスト処理、隣接中継装置記憶処理、および端末探索処理の各処理を電子回路などのハードウェアによって実現しても勿論良い。
【００９２】
（７）上述した各実施形態では、フレームのペイロード部に書き込まれているフレーム種別識別子に基づいて（或いは、ヘッダ部の種別識別子とペイロード部のフレーム種別識別子とに基づいて）、当該フレームが隣接中継装置情報収集用のものであるか否かを判定したが、転送元識別子が付与されているか否かによって当該判定を行っても良い。例えば、第２層における既存の通信プロトコルにしたがって送受信されるフレームを利用して隣接中継装置情報を収集する際には、フレーム種別識別子に基づいて（或いは、ヘッダ部の種別識別子とペイロード部のフレーム種別識別子とに基づいて）上記判定を行うことはできないからである。なお、既存の通信プロトコルにしたがって送受信されるフレームを利用する態様においては、当該フレームのヘッダ部の空き領域に転送元識別子（或いは転送元識別子と隣接中継装置情報）を書き込むようにすれば良い。
【符号の説明】
【００９３】
１Ａ，１Ｂ…ＬＡＮ、３０…操作端末、４０Ａ，４０Ｂ，４０Ｃ…通信端末、５０Ａ，５０Ｂ，５０Ｃ，５０Ｄ，５００…スイッチングハブ、６０…ルータ、５１０，６１０…通信Ｉ／Ｆ部、５２０…スイッチングエンジン部、５３０，６３０…記憶部、６２０…ルーティングエンジン部。
【図１】
0005691612.tif 000002
【図２】
0005691612.tif 000003
【図３】
0005691612.tif 000004
【図４】
0005691612.tif 000005
【図５】
0005691612.tif 000006
【図６】
0005691612.tif 000007
【図７】
0005691612.tif 000008
【図８】
0005691612.tif 000009
【図９】
0005691612.tif 000010
【図１０】
0005691612.tif 000011
【図１１】
0005691612.tif 000012
【図１２】
0005691612.tif 000013