(57)【特許請求の範囲】
【請求項１】
配下のネットワークと他のネットワークとを接続するルータと、前記ルータの配下のネットワークに含まれる複数のスイッチングハブと、前記複数のスイッチングハブの何れかに各々接続される複数の通信端末とを含む通信システムにおいて、
前記ルータは、
前記複数の通信端末の各々に対しては当該通信端末の行うデータ通信の優先度を示す優先度データと当該通信端末に対してフレームの転送を行った通信装置を示す隣接機器情報の送信とを要求し、前記複数のスイッチングハブの各々に対しては当該スイッチングハブについての隣接機器情報の送信を要求する要求フレームに転送元識別子として自装置の通信アドレスを付与して前記ネットワークに向けてマルチキャストする第１の手段と、
前記複数の通信端末の各々から当該通信端末についての前記優先度および隣接機器情報を通知するために返信されてくる優先度通知フレーム、および前記複数のスイッチングハブの各々から当該スイッチングハブについての隣接機器情報を通知するために返信されてくる隣接機器通知フレームを受信し、当該ルータから前記複数の通信端末の各々へ至る通信経路上のスイッチングハブを通信端末毎に特定し、各通信経路上のスイッチングハブに対して当該通信経路の終端に位置する通信端末の優先度データと当該通信経路を示す情報とを送信し、当該通信経路に沿って送受信されるフレームの転送制御を当該優先度データの示す優先度で行うよう指示する第２の手段と、を有し、
前記複数のスイッチングハブの各々は、
自装置に対してフレームの転送を行った通信装置を示す隣接機器情報を記憶する隣接機器テーブルと、
受信したフレームに転送元識別子が付与されている場合には当該転送元識別子を隣接器機器情報として前記隣接機器テーブルに書き込んだ後に当該転送元識別子を自装置の通信アドレスに書き換えて当該フレームの宛先に応じた転送制御を行う第３の手段と、
受信フレームが前記要求フレームである場合には、前記隣接機器テーブルに格納されている隣接機器情報を書き込んだ隣接機器通知フレームを生成し、自装置の通信アドレスを転送元識別子として付与して返信する第４の手段と、
前記ルータから受信した情報の示す通信経路に沿って送受信されるフレームの転送制御が当該情報とともに受信した優先度データの示す優先度で行われるように、当該スイッチングハブにおけるフレームの転送制御の態様を切り換える第５の手段と、を有し、
前記複数の通信端末の各々は、
前記要求フレームの受信を契機として当該要求フレームに付与されている転送元識別子を当該通信装置についての隣接機器情報として記憶する第６の手段と、
自端末が行うデータ通信の優先度を示す優先度データを書き込んだ前記優先度通知フレームに転送元識別子として自装置の通信アドレスを付与して返信する第７の手段とを有する
ことを特徴とする通信システム。
【請求項２】
前記第５の手段は、ＱｏＳ（Quality of Service）設定とＶＬＡＮ（Virtual Local Area Network）設定の少なくとも一方を、前記ルータから受信した優先度データに応じて切り換えることを特徴とする請求項１に記載の通信システム。
【請求項３】
前記第５の手段は、前記ルータから受信した情報の示す通信経路の終端に位置する通信端末を送信元とするフレームを受信した場合に、当該フレームのペイロード部に書き込まれているパケットについての第３層におけるパケットの転送制御が当該優先度データの示す優先度に応じて行われるように当該パケットのヘッダ部を書き換えることを特徴とする請求項１または２に記載の通信システム。
【請求項４】
配下のネットワークに含まれる複数のスイッチングハブの各々に対しては当該スイッチングハブに対してフレームの転送を行った通信装置を示す隣接機器情報の送信を要求し、前記複数のスイッチングハブの各々に接続される各通信端末に対しては当該通信端末の行うデータ通信の優先度を示す優先度データと当該通信端末についての隣接機器情報の送信を要求する要求フレームに自装置の通信アドレスを転送元識別子として付与して前記ネットワークに向けてマルチキャストするマルチキャスト手段と、
前記複数の通信端末の各々から当該通信端末についての前記優先度および隣接機器情報を通知するために返信されてくる優先度通知フレーム、および前記複数のスイッチングハブの各々から当該スイッチングハブについての隣接機器情報を通知するために返信されてくる隣接機器通知フレームを受信し、自装置から前記複数の通信端末の各々へ至る通信経路上のスイッチングハブを通信端末毎に特定し、各通信経路上のスイッチングハブに対して当該通信経路の終端に位置する通信端末の優先度データと当該通信経路を示す情報とを送信し、当該通信経路に沿って送受信されるフレームの転送制御を当該優先度データの示す優先度で行うよう指示する優先度設定制御手段と
を有すことを特徴とするルータ。
【請求項５】
自装置に対してフレームの転送を行った通信装置を示す隣接機器情報を記憶する隣接機器テーブルと、
受信したフレームの転送制御をその宛先に応じて行う手段であって、当該受信フレームに転送元識別子が付与されている場合には当該転送元識別子を隣接器機器情報として前記隣接機器テーブルに書き込んだ後に当該転送元識別子を自装置の通信アドレスに書き換えて当該フレームの宛先に応じた転送制御を行うフレーム転送制御手段と、
受信フレームが自装置にフレームを転送した通信装置を示す隣接機器情報の送信を要求するために自装置を含むネットワークを他のネットワークに接続するルータから送信された要求フレームである場合には、前記隣接機器テーブルに格納されている隣接機器情報を書き込んだ隣接機器通知フレームを生成し、自装置の通信アドレスを転送元識別子として付与して返信する隣接機器通知手段と、
前記ルータから受信した情報の示す通信経路に沿って送受信されるフレームの転送制御が当該情報とともに受信した優先度データの示す優先度で行われるように、自装置におけるフレームの転送制御の態様を切り換える優先度設定変更手段と、
を有することを特徴とするスイッチングハブ。
【請求項６】
コンピュータを、
当該コンピュータをルータとして他のネットワークに接続されるネットワークに含まれる複数のスイッチングハブの各々に対しては当該スイッチングハブに対してフレームの転送を行った通信装置を示す隣接機器情報の送信を要求し、前記複数のスイッチングハブの各々に接続される各通信端末に対しては当該通信端末の行うデータ通信の優先度を示す優先度データと当該通信端末についての隣接機器情報の送信を要求する要求フレームに自装置の通信アドレスを転送元識別子として付与して前記ネットワークに向けてマルチキャストするマルチキャスト手段と、
前記複数の通信端末の各々から当該通信端末についての前記優先度および隣接機器情報を通知するために返信されてくる優先度通知フレーム、および前記複数のスイッチングハブの各々から当該スイッチングハブについての隣接機器情報を通知するために返信されてくる隣接機器通知フレームを受信し、当該ルータから前記複数の通信端末の各々へ至る通信経路上のスイッチングハブを通信端末毎に特定し、各通信経路上のスイッチングハブに対して当該通信経路の終端に位置する通信端末の優先度データと当該通信経路を示す情報とを送信し、当該通信経路に沿って送受信されるフレームの転送制御を当該優先度データの示す優先度で行うよう指示する優先度設定制御手段
として機能させることを特徴とするプログラム。
【請求項７】
コンピュータを、
当該コンピュータに対してフレームの転送を行った通信装置を示す隣接機器情報を記憶する記憶手段と、
受信したフレームの転送制御をその宛先に応じて行う手段であって、当該受信フレームに転送元識別子が付与されている場合には当該転送元識別子を隣接器機器情報として前記記憶手段に書き込んだ後に当該転送元識別子を自装置の通信アドレスに書き換えて当該フレームの宛先に応じた転送制御を行うフレーム転送制御手段と、
受信フレームが当該コンピュータにフレームを転送した通信装置を示す隣接機器情報の送信を要求するために当該コンピュータを含むネットワークを他のネットワークに接続するルータから送信された要求フレームである場合には、前記記憶手段に格納されている隣接機器情報を書き込んだ隣接機器通知フレームを生成し、自装置の通信アドレスを転送元識別子として付与して返信する隣接機器通知手段と、
前記ルータから受信した情報の示す通信経路に沿って送受信されるフレームの転送制御が当該情報とともに受信した優先度データの示す優先度で行われるように、当該コンピュータにおけるフレームの転送制御の態様を切り換える優先度設定変更手段と、
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ＬＡＮ（Local
Area Network）などの通信網を介して行われる各種データ通信の優先度制御に関する。
【背景技術】
【０００２】
近年、企業等においては、支店などの各拠点にＬＡＮ（以下、拠点内ＬＡＮ）を敷設し、これら拠点内ＬＡＮをルータによってインターネットなどのＩＰ（Internet Protocol）網に接続して企業内情報システムを構築することが一般に行われている。このような拠点内ＬＡＮは複数のスイッチングハブをカスケード接続して構成されることが多く、各ユーザ（例えば、企業の従業者）の使用する通信端末はそれらスイッチングハブの何れかに接続される。ここで、ルータとは、ＯＳＩ（Open Systems Interconnection）参照モデルにおける第３層（ネットワーク層）の通信プロトコルにしたがってパケット（第３層におけるデータの送受信単位）の転送制御を行う中継装置である。また、スイッチングハブとは、ＯＳＩ参照モデルにおける第２層（データリンク層）の通信プロトコルにしたがってフレーム（第２層におけるデータの送受信単位）の転送制御を行う中継装置であり、Ｌ２スイッチとも呼ばれる。
【０００３】
一般に、企業内情報システムでは、ＶｏＩＰ（Voice Over Internet Protocol）に従った音声データの送受信や、ＨＴＴＰ（Hyper Text Transport Protocol）などにしたがったテキストデータの送受信など、様々な種類のデータ通信が行われる。例えば、拠点間の遠隔会議ではＶｏＩＰにしたがった音声データの送受信が行われ、社内掲示板の閲覧または書き込みの際にはテキストデータの送受信が行われる、といった具合である。このように、様々な種類のデータ通信が同時かつ並列に行われ得る場合には、データ通信の種類毎に優先度を予め定めておき、優先度の高いデータ通信が優先度の低いデータ通信によって阻害されないようにする必要がある。例えば、ＶｏＩＰにしたがって行われるデータ通信の優先度を、ＨＴＴＰにしたがって行われるデータ通信の優先度よりも高くしておき、後者によって前者が妨げられないようにするのである。前者が後者によって妨げられると、遠隔会議における各会議参加者の発言を表す音声が途切れ途切れに再生されるなどして会議の運営に支障が生じるからである。
【０００４】
データ通信の種類毎に優先度を予め定めておき、優先度の高いデータ通信が優先度の低いデータ通信によって阻害されないようにする技術の一例としては、ＱｏＳ（Quality of Service）が挙げられる。ＱｏＳとは、各スイッチングハブがフレームの転送制御を行う際に、優先度の高いデータ通信に関するフレームの転送を他のフレームよりも優先的に行うようにすることである。上記のような企業内情報システムの場合、各拠点内ＬＡＮの運用管理者は、当該拠点内ＬＡＮに含まれるスイッチングハブの各々に対して、どのような種類のデータ通信を行う通信端末が直接接続されているのか或いは間接的に（すなわち、他のスイッチングハブを介して）接続されるのかを把握した上でそれらデータ通信の優先度との関係でＱｏＳの設定を適切に行うといった煩雑な作業を行わなければならない。このため、ＱｏＳの設定に関する煩雑さを軽減するための技術が種々提案されており、その一例としては特許文献１に開示された技術が挙げられる。特許文献１に開示された技術では、音声データの送受信を行う通信端末のＭＡＣ（Media Access Control）アドレスと当該音声データを内包したフレームの転送制御の際のＱｏＳの設定内容とを対応付けて各スイッチングハブに予め記憶させておく。そして、自装置のＭＡＣアドレステーブルに当該ＭＡＣアドレスが格納されたことを契機として当該ＭＡＣアドレスに対応する通信ポートに対して上記設定を適用する処理を各スイッチングハブに実行させるのである。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−１８４１９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１に開示された技術によれば、音声データ通信を行う通信端末と各スイッチングハブとの接続関係を事前に把握する必要がなくなるという点では運用管理者の作業負荷は軽減される。しかし、特許文献１に開示された技術では、ＬＡＮに含まれる全てのスイッチングハブに対して、音声データ通信を行う通信端末のＭＡＣアドレスとＱｏＳの設定内容とを対応付けて記憶させておくといった作業を事前に行っておく必要があり、運用管理者の作業負荷の軽減が充分ではない。
【０００７】
本発明は上記課題に鑑みて為されたものであり、設定作業の煩雑さを軽減しつつ、各通信端末の実行するデータ通信の優先度に応じた転送制御を各スイッチングハブに行わせることを可能にする技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために本発明は、配下のネットワークと他のネットワークとを接続するルータと、前記ルータの配下のネットワークに含まれる複数のスイッチングハブと、前記複数のスイッチングハブの何れかに各々接続される複数の通信端末とを含む通信システムにおいて、前記ルータは、前記複数の通信端末の各々に対しては当該通信端末の行うデータ通信の優先度を示す優先度データと当該通信端末に対してフレームの転送を行った通信装置を示す隣接機器情報の送信とを要求し、前記複数のスイッチングハブの各々に対しては当該スイッチングハブについての隣接機器情報の送信を要求する要求フレームに転送元識別子として自装置の通信アドレスを付与して前記ネットワークに向けてマルチキャストする第１の手段と、前記複数の通信端末の各々から当該通信端末についての前記優先度および隣接機器情報を通知するために返信されてくる優先度通知フレーム、および前記複数のスイッチングハブの各々から当該スイッチングハブについての隣接機器情報を通知するために返信されてくる隣接機器通知フレームを受信し、当該ルータから前記複数の通信端末の各々へ至る通信経路上のスイッチングハブを通信端末毎に特定し、各通信経路上のスイッチングハブに対して当該通信経路の終端に位置する通信端末の優先度データと当該通信経路を示す情報とを送信し、当該通信経路に沿って送受信されるフレーム（すなわち、当該通信経路の終端に位置する通信端末を送信先または送信元とするフレーム）の転送制御を当該優先度データの示す優先度で行うよう指示する第２の手段と、を有し、前記複数のスイッチングハブの各々は、自装置に対してフレームの転送を行った通信装置を示す隣接機器情報を記憶する隣接機器テーブルと、受信したフレームに転送元識別子が付与されている場合には当該転送元識別子を隣接器機器情報として前記隣接機器テーブルに書き込んだ後に当該転送元識別子を自装置の通信アドレスに書き換えて当該フレームの宛先に応じた転送制御を行う第３の手段と、受信フレームが前記要求フレームである場合には、前記隣接機器テーブルに格納されている隣接機器情報を書き込んだ隣接機器通知フレームを生成し、自装置の通信アドレスを転送元識別子として付与して返信する第４の手段と、前記ルータから受信した情報の示す通信経路に沿って送受信されるフレームの転送制御が当該情報とともに受信した優先度データの示す優先度で行われるように、当該スイッチングハブにおけるフレームの転送制御の態様を切り換える第５の手段と、を有し、前記複数の通信端末の各々は、前記要求フレームの受信を契機として当該要求フレームに付与されている転送元識別子を当該通信装置についての隣接機器情報として記憶する第６の手段と、自端末が行うデータ通信の優先度を示す優先度データを書き込んだ前記優先度通知フレームに転送元識別子として自装置の通信アドレスを付与して返信する第７の手段とを有することを特徴とする通信システム、を提供する。
【０００９】
このような通信システムにおいては、各通信端末に当該通信端末が行うデータ通信の優先度を示す優先度データを予め記憶させておけば、ルータから当該通信端末へ至る通信経路上の各スイッチングハブのフレーム転送制御における優先度の設定が自動的に変更される。このため、上記通信システムによれば、各スイッチングハブに対して特段の設定作業を行うことなく、各通信端末の実行するデータ通信の優先度に応じた転送制御を各スイッチングハブに行わせることが可能になる。
【００１０】
より好ましい態様においては、前記第５の手段は、前記ルータから受信した情報の示す通信経路の終端に位置する通信端末を送信元とするフレームを受信した場合に、当該フレームのペイロード部に書き込まれているパケットについての第３層におけるパケットの転送制御が当該優先度データの示す優先度に応じて行われるように当該パケットのヘッダ部を書き換えることを特徴とする。このような態様によれば、ルータから他のネットワークへ送出されたパケットが当該他のネットワークにおける第３層の転送制御の際に優先的に取り扱われることが期待される。ここで、第３層における転送制御の際の優先度が高くなるように当該パケットのヘッダ部を書き換えることの具体例としては、ＤＳＣＰ（Diff Serv Code Point）値や、ＣｏＳ値或いはＴＯＳ値を高い優先度を表す値に書き換えることが挙げられる。
【００１１】
また、上記課題を解決するために本発明は、配下のネットワークに含まれる複数のスイッチングハブの各々に対しては当該スイッチングハブに対してフレームの転送を行った通信装置を示す隣接機器情報の送信を要求し、前記複数のスイッチングハブの各々に接続される各通信端末に対しては当該通信端末の行うデータ通信の優先度を示す優先度データと当該通信端末についての隣接機器情報の送信を要求する要求フレームに自装置の通信アドレスを転送元識別子として付与して前記ネットワークに向けてマルチキャストするマルチキャスト手段と、前記複数の通信端末の各々から当該通信端末についての前記優先度および隣接機器情報を通知するために返信されてくる優先度通知フレーム、および前記複数のスイッチングハブの各々から当該スイッチングハブについての隣接機器情報を通知するために返信されてくる隣接機器通知フレームを受信し、当該ルータから前記複数の通信端末の各々へ至る通信経路上のスイッチングハブを通信端末毎に特定し、各通信経路上のスイッチングハブに対して当該通信経路の終端に位置する通信端末の優先度データと当該通信経路を示す情報とを送信し、当該通信経路に沿って送受信されるフレームの転送制御を当該優先度データの示す優先度で行うよう指示する優先度設定制御手段とを有すことを特徴とするルータ、を提供する。このようなルータを、上記スイッチングハブ、および上記通信端末と組み合わせることで、上記通信システムを構成することができるからである。
【００１２】
また、本発明の別の態様としては、コンピュータを上記マルチキャスト手段および優先度設定制御手段として機能させるプログラムを提供する態様も考えられる。このようなプログラムを一般的なコンピュータにインストールし、当該コンピュータの制御部を当該プログラムにしたがって作動させることで、当該コンピュータを本発明のルータとして機能させることができるからである。また、一般的なルータに上記プログラムをインストールし、当該ルータのルーティング制御部を上記プログラムにしたがって作動させることで、一般的なルータに本発明のルータの特徴を顕著に示す機能を付与することが可能になる。なお、上記プログラムの具体的な提供態様としては、例えばＣＤ−ＲＯＭ（Compact Disk-Read Only Memory）やＤＶＤ（Digital Versatile Disc）などのコンピュータ読み取り可能な記録媒体に書き込んで配布する態様や、インターネットなどの電気通信回線経由のダウンロードにより配布する態様が考えられる。
【００１３】
また、上記課題を解決するために本発明は、自装置に対してフレームの転送を行った通信装置を示す隣接機器情報を記憶する隣接機器テーブルと、受信したフレームの転送制御をその宛先に応じて行う手段であって、当該受信フレームに転送元識別子が付与されている場合には当該転送元識別子を隣接器機器情報として前記隣接機器テーブルに書き込んだ後に当該転送元識別子を自装置の通信アドレスに書き換えて当該フレームの宛先に応じた転送制御を行うフレーム転送制御手段と、受信フレームが当該スイッチングハブにフレームを転送した通信装置を示す隣接機器情報の送信を要求するために当該スイッチングハブを含むネットワークを他のネットワークに接続するルータから送信された要求フレームである場合には、前記隣接機器テーブルに格納されている隣接機器情報を書き込んだ隣接機器通知フレームを生成し、自装置の通信アドレスを転送元識別子として付与して返信する隣接機器通知手段と、前記ルータから受信した情報の示す通信経路に沿って送受信されるフレームの転送制御が当該情報とともに受信した優先度データの示す優先度で行われるように、当該スイッチングハブにおけるフレームの転送制御の態様を切り換える優先度設定変更手段と、を有することを特徴とするスイッチングハブ、を提供する。このようなスイッチングハブを、前述したマルチキャスト手段および優先度設定制御手段を有するルータ、および上記通信端末と組み合わせることで、上記通信システムを構成することができるからである。また、本発明の別の態様においては、コンピュータを、隣接機器情報を記憶する記憶手段、フレーム転送制御手段、隣接機器通知手段および優先度設定変更手段として機能させるプログラムを提供する態様が考えられる。
【図面の簡単な説明】
【００１４】
【図１】本発明の第１実施形態の企業内情報システムの構成例を示す図である。
【図２】同システムに含まれる通信端末４０の構成例を示す図である。
【図３】同通信端末４０の制御部４１０が実行する優先度通知処理の流れを示すフローチャートである。
【図４】同システムに含まれるルータ６０の配下のネットワークにおいて送受信されるフレームのデータ構造の一例を示す図である。
【図５】同システムに含まれるスイッチングハブ５０の構成例を示す図である。
【図６】同スイッチングハブ５０のスイッチングエンジン部５２０がファームウェアにしたがって実行する処理の流れを示すフローチャートである。
【図７】同ルータ６０の構成例を示す図である。
【図８】同ルータ６０のルーティングエンジン部６２０がファームウェアにしたがって実行する優先度設定制御処理の流れを示すフローチャートである。
【図９】ＬＡＮ１Ａにおける各装置の接続関係の一例を示す図である。
【図１０】本実施形態の動作を説明するための図である。
【図１１】本実施形態の動作を説明するための図である。
【図１２】本実施形態の効果を説明するための図である。
【図１３】本発明の第２実施形態のＬＡＮ１Ｃの構成例を示す図である。
【図１４】ルータ６０Ａが生成するトポロジデータから把握されるＬＡＮ１Ｃのネットワークトポロジを説明するための図である。
【発明を実施するための形態】
【００１５】
以下、図面を参照しつつ、この発明の実施形態について説明する。
＜Ａ：第１実施形態＞
＜Ａ−１：構成＞
図１は、本発明の一実施形態の通信システムの構成例を示す図である。この通信システムは、前述した企業内情報システムであり、企業の支店などの拠点に敷設される拠点内ＬＡＮであるＬＡＮ１ＡとＬＡＮ１ＢをインターネットなどのＩＰ網に接続して構成されている。図１に示すように、ＬＡＮ１Ａは、ルータ６０Ａと、２台のスイッチングハブ（スイッチングハブ５０Ａおよび５０Ｂ）と、３台の通信端末（通信端末４０Ａ、４０Ｂおよび４０Ｃ）と、を含んでおり、ルータ６０Ａを介してＩＰ網に接続される。図１に示すように、ルータ６０Ａにはスイッチングハブ５０Ａが接続されており、スイッチングハブ５０Ａにはスイッチングハブ５０Ｂと通信端末４０Ａとが接続されている。そして、スイッチングハブ５０Ｂには通信端末４０Ｂと４０Ｃが接続されている。一方、ＬＡＮ１Ｂは、ルータ６０Ｂと、スイッチングハブ５０Ｃと、３台の通信端末（通信端末４０Ｄ、４０Ｅおよび４０Ｆ）と、を含んでおり、ルータ６０Ｂを介してＩＰ網に接続される。図１に示すように、ルータ６０Ｂにはスイッチングハブ５０Ｃが接続されており、スイッチングハブ５０Ｃには通信端末４０Ｄ、４０Ｅおよび４０Ｆの各々が接続される。
【００１６】
図１に示す６台の通信端末は、例えばパーソナルコンピュータであり、全て同一の構成を有している。以下では、これら６台の通信端末の各々を区別する必要がない場合には、「通信端末４０」と表記する。図１に示す３台のスイッチングハブも全て同一の構成を有しており、これら３台のスイッチングハブの各々を区別する必要がない場合には、「スイッチングハブ５０」と表記する。同様に、図１に示すルータ６０Ａおよび６０Ｂの各々も同一の構成を有しており、これら２台のルータの各々を区別する必要がない場合には、「ルータ６０」と表記する。
【００１７】
通信端末４０は、ルータ６０の配下のネットワーク（ルータ６０によってＩＰ網に接続され、ルータ６０をデフォルトゲートウェイとするネットワーク、ルータ６０ＡであればＬＡＮ１Ａ、ルータ６０ＢであればＬＡＮ１Ｂ）に含まれるスイッチングハブ５０に接続されることで、当該ネットワークに収容される。ルータ６０の配下のネットワークに収容された通信端末４０は、他の通信装置（例えば、ＬＡＮ１Ａに収容されている他の通信端末や他の拠点内ＬＡＮに収容されている通信端末、或いはＩＰ網に接続されているＷＷＷサーバなど）との間でデータ通信を行う。より詳細に説明すると、図１に示す６台の通信端末のうち、通信端末４０Ａ、４０Ｂ、４０Ｄおよび４０Ｅの各々はＶｏＩＰにしたがって音声パケットの送受信を行うＶｏＩＰ端末である。ここで、音声パケットとは、端末使用者の発話音声を表す音声データが圧縮符号化されてペイロード部に書き込まれたパケットのことである。これら４台のＶｏＩＰ端末のうち、通信端末４０Ｂと４０Ｅは遠隔会議などの一般的な音声通信に利用され、通信端末４０Ａと４０Ｄは例えば火災通報などの緊急音声通信にのみ利用される。また、通信端末４０Ｃおよび４０Ｆは例えばＨＴＴＰにしたがってテキストデータの送受信を行うなど、音声データ以外のデータの送受信を行う端末である。
【００１８】
スイッチングハブ５０は、第２層においてデータ通信を中継する中継装置であり、フレームの送信先ＭＡＣアドレスに基づく転送制御を行う。ルータ６０は、第３層においてデータ通信を中継する中継装置である。例えば、ルータ６０は、ＩＰ網から受信したパケットの送信先ＩＰアドレスが配下のネットワークに収容された通信端末４０のものであれば、そのパケットを配下のネットワークへと転送し、その送信先ＩＰアドレスが配下のネットワークに収容された通信端末４０のものではない場合にはルーティングテーブルの格納内容にしたがって他のルータへ転送する、といった具合である。
【００１９】
前述したように、図１に示すＬＡＮ１ＡおよびＬＡＮ１Ｂの各々において、各通信端末４０は、一般的な音声通信、緊急音声通信、および音声通信以外のデータ通信の３種類のデータ通信を行う。これら３種類のデータ通信の優先度は互いに異なっている。具体的には、通信端末４０Ａ或いは４０Ｄが行う緊急音声通信の優先度が最も高く、次いで通信端末４０Ｂ或いは４０Ｅが行う音声通信の優先度が高く、通信端末４０Ｃ或いは４０Ｆが行うデータ通信の優先度が最も低い、といった具合である。このため、ＬＡＮ１Ａ（或いはＬＡＮ１Ｂ）においては、通信端末４０Ａ（或いは、通信端末４０Ｄ）が送受信するフレームの転送が最優先で行われ、通信端末４０Ｂ（或いは、通信端末４０Ｅ）が送受信するフレームの転送は次に高い優先度で行われるように各スイッチングハブ５０におけるフレーム転送制御の設定が行われている必要があり、ルータ６０におけるパケット転送制御の設定についても同様である。
【００２０】
従来、これらの設定については、ＬＡＮ１Ａ（或いはＬＡＮ１Ｂ）の運用管理者によって人手で行われることが一般的であった。これに対して、本実施形態では、通信端末４０、スイッチングハブ５０およびルータ６０の各々に本実施形態の特徴を顕著に示す処理を実行させることで、スイッチングハブ５０に対するフレーム転送制御の設定、およびルータ６０に対するパケット転送制御の設定が自動的に行われる。以下、通信端末４０、スイッチングハブ５０、およびルータ６０について詳細に説明する。
【００２１】
＜Ａ−１−１：通信端末４０の構成＞
図２は、通信端末４０の構成を示すブロック図である。図２に示すように、通信端末４０は、制御部４１０、通信インタフェース（以下、Ｉ／Ｆ）部４２０、ユーザＩ／Ｆ部４３０、記憶部４４０、およびこれら構成要素間のデータ授受を仲介するバス４５０を含んでいる。制御部４１０は、ＣＰＵであり、記憶部４４０に格納されているプログラムを実行することで通信端末４０の制御中枢として機能する。通信Ｉ／Ｆ部４２０は、例えばＮＩＣ（Network Interface Card）である。通信Ｉ／Ｆ部４２０は、その接続先のスイッチングハブ５０から転送されてくるデータを受信して制御部４１０に引き渡す一方、制御部４１０から引き渡されたデータを当該スイッチングハブ５０に向けて送出する。
【００２２】
ユーザＩ／Ｆ部４３０は、音声の入出力を行うための音声入出力部や、各種画面を表示する表示部、テンキーなど各種データの入力をユーザに行わせるための操作部（何れも図示略）を含んでいる。通信端末４０Ａ、４０Ｂ、４０Ｄおよび４０Ｅでは、ユーザＩ／Ｆ部４３０を介してユーザの音声が入力されるとともに、通話相手の音声の出力が行われる。また、通信端末４０Ｃおよび４０Ｆでは、ユーザＩ／Ｆ部４３０を介して各種データ（相手方へ送信するテキストデータなど）の入出力が行われる。
【００２３】
記憶部４４０は、図２に示すように、不揮発性記憶部４４２と揮発性記憶部４４４とを含んでいる。不揮発性記憶部４４２は、例えばハードディスクである。この不揮発性記憶部４４２には、ＶｏＩＰにしたがった音声通信やＨＴＴＰにしたがったテキストデータの送受信などを行うための通信プログラム（図２では、図示略）が格納されている。また、不揮発性記憶部４４２には、図３に示す優先度通知処理を制御部４１０に実行させるための優先度通知プログラムと、当該通信端末４０が実行するデータ通信の優先度を示す優先度データとが格納されている。この優先度通知処理の処理内容については後に明らかにする。本実施形態では、優先度データとして“０”、“１”または“２”の何れかの値のデータが使用される。より詳細に説明すると、通信端末４０Ａと４０Ｄには優先度データとして“０”が、通信端末４０Ｂと４０Ｅには優先度データとして“１”が、通信端末４０Ｃと４０Ｆには優先度データとして“２”が予め格納されている。つまり、本実施形態の優先度データは、その値が小さいほど高い優先度を表すのである。不揮発性記憶部４４２への優先度データの書き込みは、例えばユーザＩ／Ｆ部４３０に対する操作によって通信端末４０のユーザ、或いは当該通信端末４０を収容するネットワークの運用管理者に予め行わせておけば良い。
【００２４】
揮発性記憶部４４４は、例えばＲＡＭ（Random Access Memory）であり、通信プログラムや優先度通知プログラムなどの各種プログラムを実行する際のワークエリアとして利用される。また、揮発性記憶部４４４には、図２に示すように、隣接機器情報が格納される。ここで、隣接機器情報とは、当該通信端末４０に対してフレームの転送を行った中継装置を示す情報（本実施形態では、当該通信端末４０の接続先のスイッチングハブ５０のＭＡＣアドレス）である。詳細については後述するが揮発性記憶部４４４への隣接機器情報の書き込みは、優先度通知プログラムの実行過程で行われる。以下では、優先度通知プログラムにしたがって実行される優先度通知処理の処理内容の詳細な説明に先立って、ルータ６０の配下のネットワークにおいて送受信されるフレームのデータ構造を説明しておく。
【００２５】
図４（Ａ）は、ルータ６０の配下のネットワークにおいて送受信される一般的なフレームのデータ構造を示す図である。図４（Ａ）に示すように、フレームは、ヘッダ部と、ペイロード部とを有している。ヘッダ部には、送信先ＭＡＣアドレス、送信元ＭＡＣアドレス、および種別識別子が格納される。送信先ＭＡＣアドレスとは当該フレームの宛先となる機器のＭＡＣアドレスであり、送信元ＭＡＣアドレスとは、フレームを送信した機器のＭＡＣアドレスである。種別識別子とは、当該フレームの種別（例えば、ペイロード部にどのような種類のパケットが書き込まれているか等）を示すデータである。
【００２６】
ルータ６０の配下のネットワークにおいて送受信されるフレームのうち、本実施形態の特徴を顕著に示すものとしては、要求フレーム、優先度通知フレーム、隣接機器通知フレーム、および設定変更指示フレームの４種類が挙げられる。これら４種類のフレームについては種別識別子として共通の値（音声通信に関するフレームやテキストデータのデータ通信に関するものとは異なる値）が書き込まれる。要求フレームとは、ルータ６０が、配下のネットワークに収容された通信端末４０に対しては優先度通知フレームの返信を、同ネットワークに含まれるスイッチングハブ５０に対しては隣接機器通知フレームの返信を、各々要求するために配下のネットワークへマルチキャストするフレームである。優先度通知フレームとは、通信端末４０が上記要求フレームに対する応答として返信（ユニキャスト）するフレームであり、隣接機器通知フレームとは、スイッチングハブ５０が上記要求フレームに対する応答として当該要求フレームの送信元へ返信（ユニキャスト）するフレームである。以下では、隣接機器通知フレームと優先度通知フレームとを区別する必要がない場合には、単に「通知フレーム」と表記する。そして、設定変更指示フレームとは、ルータ６０が配下のネットワークに含まれるスイッチングハブ５０に対してフレーム転送制御における優先度の設定変更を指示するために送信するフレームである。
【００２７】
図４（Ｂ）は、要求フレームのペイロード部のデータ構造を示す図である。図４（Ｂ）に示すように要求フレームのペイロード部には、送信先ＭＡＣアドレス、送信元ＭＡＣアドレス、メッセージ種別識別子、および転送元識別子が書き込まれる。要求フレームのペイロード部の送信先ＭＡＣアドレスは、同フレームにヘッダ部に書き込まれている送信先ＭＡＣアドレスと同一であり、同ペイロード部の送信元ＭＡＣアドレスについても同様である。メッセージ種別識別子には、当該フレームが上記４種類のフレームの何れであるのかを示す値がセットされる。例えば、メッセージ種別識別子として文字コードデータを用いる場合には、要求フレームにはメッセージ種別識別子として“１”（或いは“Ａ”）を示す文字コードが、優先度通知フレームにはメッセージ識別子として“２”（或いは“Ｂ”）を示す文字コードが、隣接機器通知フレームにはメッセージ識別子として“３”（或いは“Ｃ”）を示す文字コードが、設定変更指示フレームにはメッセージ種別識別子として“４”（或いは“Ｄ”）を示す文字コードが各々セットされる、といった具合である。転送元識別子には、要求フレームの送信の際にはその送信元のＭＡＣアドレスがセットされ、スイッチングハブ５０によって当該フレームの転送が行われるたびに当該転送を行ったスイッチングハブ５０のＭＡＣアドレスに書き換えられる。詳細については後述するが、スイッチングハブ５０および通信端末４０は、要求フレームを受信した場合に、当該要求フレームの転送元識別子を参照することで、自装置に対して当該要求フレームの転送を行った中継装置を特定することができるのである。
【００２８】
図４（Ｃ）は、隣接機器通知フレームのペイロード部のデータ構造を示す図である。図４（Ｃ）に示すように、隣接機器通知フレームのペイロード部には、送信先ＭＡＣアドレス、送信元ＭＡＣアドレス、メッセージ種別識別子、および転送元識別子の他に、隣接機器情報リストが書き込まれる。詳細については後述するが、隣接機器情報リストとは、当該隣接機器通知フレームの送信元のスイッチングハブに対してフレームの転送を行った機器のＭＡＣアドレスと当該フレームを受信した通信ポートとの対応関係を表す情報である。図４（Ｄ）は、優先度通知フレームのペイロード部のデータ構造を示す図である。図４（Ｄ）に示すように、優先度通知フレームのペイロード部には、送信先ＭＡＣアドレス、送信元ＭＡＣアドレス、メッセージ種別識別子および転送元識別子の他に、当該優先度通知フレームの送信元の通信端末４０の隣接機器情報と優先度データとが書き込まれる。詳細については後述するが、ルータ６０およびスイッチングハブ５０は、これら通知フレームを受信した場合に、当該通知フレームの転送元識別子を参照することで、自装置に対して当該通知フレームの転送を行った装置を特定することができるのである。
【００２９】
図４（Ｅ）は、設定変更指示フレームのペイロード部のデータ構造を示す図である。図４（Ｅ）に示すように、設定変更指示フレームのペイロード部には、送信先ＭＡＣアドレスと、送信元ＭＡＣアドレスと、メッセージ種別識別子とが書き込まれる他、設定変更指示データが書き込まれる。設定変更指示データには、当該設定変更指示フレームの送信先のスイッチングハブ５０に対して優先度設定を変更するべき通信ポートを示すポート識別子と当該優先度を示す優先度データとが含まれている。以上がルータ６０の配下のネットワークにおいて送受信されるフレームのデータ構造である。
【００３０】
次いで、図３を参照しつつ優先度通知処理の詳細について説明する。この優先度通知処理は、要求フレームの受信を契機として実行される。ここで、受信フレームが要求フレームであるか否かについては、当該受信フレームのペイロード部に書き込まれているメッセージ種別識別子を参照して判定するようにすれば良い。図３に示すように、優先度通知処理では、制御部４１０は、まず、受信した要求フレームのペイロード部に書き込まれている転送元識別子を隣接機器情報として揮発性記憶部４４４に書き込む（ステップＳＡ１００）。次いで、制御部４１０は、前述した優先度通知フレームを生成し、上記要求フレームの送信元へ返信（ユニキャスト）する（ステップＳＡ１１０）。このステップＳＡ１１０にて制御部４１０が返信する優先度通知フレームのペイロード部には、転送元識別子として当該通信端末４０のＭＡＣアドレスが書き込まれるとともに、揮発性記憶部４４４に格納されている隣接機器情報が書き込まれ、さらに、不揮発性記憶部４４２に格納されている優先度データが書き込まれる。
以上が通信端末４０の構成である。
【００３１】
＜Ａ−１−２：スイッチングハブ５０の構成＞
図５は、スイッチングハブ５０の構成を示すブロック図である。図５に示すように、スイッチングハブ５０は、通信Ｉ／Ｆ部５１０、スイッチングエンジン部５２０、および記憶部５３０を有している。通信Ｉ／Ｆ部５１０は、複数の通信ポートを有している。これら複数の通信ポートの各々には、例えば１００ＢＡＳＥ−Ｔなどの通信ケーブルを介して他の通信装置（本実施形態では、ルータ６０や他のスイッチングハブ５０、或いは通信端末４０）が接続される。これら複数の通信ポートの各々には、通信ポート毎に固有のポート識別子（例えば、ポート番号）が予め割り当てられており、このポート識別子を用いて各通信ポートを一意に識別することができる。通信Ｉ／Ｆ部５１０は、各通信ポートを介して受信したフレームをスイッチングエンジン部５２０に与える一方、スイッチングエンジン部５２０から与えられるフレームを同スイッチングエンジン部５２０によって指示された通信ポートから送出する。
【００３２】
記憶部５３０は、例えばＲＡＭなどの揮発性メモリとＥＰＲＯＭ（Erasable Programmable Read Only Memory）などの不揮発性メモリとを含んでいる（図５では、何れも図示略）。この不揮発性メモリには、本発明のスイッチングハブの特徴を顕著に示す処理をスイッチングエンジン部５２０に実行させるためのファームウェア（プログラム）が予め記憶されている。一方、揮発性メモリは、上記ファームウェアを実行する際のワークエリアとしてスイッチングエンジン部５２０によって利用される。また、上記揮発性メモリは、通信Ｉ／Ｆ部５１０によって受信されたフレームを一時的に記憶しておくためのバッファの役割を果たし、さらに、この揮発性メモリには、図５のＭＡＣアドレステーブルと同図５の隣接機器テーブルとが格納される。
【００３３】
図５のＭＡＣアドレステーブルは、従来のスイッチングハブが有するものと特段に変るところはない。このＭＡＣアドレステーブルには、通信Ｉ／Ｆ部５１０によって受信したフレームの送信元ＭＡＣアドレスに対応付けて当該フレームを受信した通信ポートのポート識別子が格納される。ＭＡＣアドレステーブルへのＭＡＣアドレスおよびポート識別子の書き込みは、後述するフレーム転送制御に伴って行われる。例えば、ルータ６０のＭＡＣアドレス解決のために通信端末４０から送信されたフレーム（ペイロード部にＡＲＰ（Address Resolution Protocol）パケットが書き込まれたフレーム）の転送過程では、当該フレームの送信元ＭＡＣアドレス（すなわち、通信端末４０のＭＡＣアドレス）と当該フレームの受信ポートのポート識別子とを対応付けてＭＡＣアドレステーブルに書き込む処理が行われる。一方、当該フレームに対する応答フレームの転送過程では、当該フレームの送信元ＭＡＣアドレス（すなわち、ルータ６０のＭＡＣアドレス）と当該フレームの受信ポートのポート識別子とを対応付けてＭＡＣアドレステーブルに書き込む処理が行われる。このＭＡＣアドレステーブルの格納内容は、送信先ＭＡＣアドレスに基づくフレームの転送制御を行う際に利用される。
【００３４】
隣接機器テーブルには、通信Ｉ／Ｆ部５１０が有する複数の通信ポートの各々のポート識別子に対応付けて、当該通信ポートを介して受信したフレームの転送元の通信装置を一意に示す接続先識別子（本実施形態では、当該通信装置のＭＡＣアドレス）が格納される。この隣接機器テーブルは、スイッチングハブ５０の電源（図示略）が投入されたことを契機として、各接続先識別子をＮＵＬＬ（０ｘ００）とした状態で生成される。そして、予め定められた特定のフレーム（本実施形態では、前述した要求フレームおよび通知フレーム）の中継をスイッチングハブ５０が行うことに伴って、当該テーブルの格納内容の更新（すなわち、これらフレームを受信した通信ポートのポート識別子に対応する接続先識別子を当該フレームの転送元識別子に書き換えること）が行われる。
【００３５】
スイッチングエンジン部５２０は、例えばＣＰＵである。スイッチングエンジン部５２０は、記憶部５３０に記憶されているファームウェアを実行することで、スイッチングハブ５０の制御中枢として機能する。このファームウェアにしたがって作動しているスイッチングエンジン部５２０は、何れかの通信ポートを介してフレームを受信するたびに、当該フレームを揮発性メモリ内のバッファに書き込み、それらフレームの各々について図６のフローチャートに示す処理を実行する。図６に示すように、上記ファームウェアにしたがってスイッチングエンジン部５２０が実行する処理としては、フレーム転送制御処理、隣接機器通知フレーム送信処理、および優先度設定変更処理の３つが挙げられる。
【００３６】
図６に示すように、スイッチングエンジン部５２０は、まず、受信したフレームが自装置宛に送信された設定変更指示フレームであるか否かを、当該受信フレームのヘッダ部の送信先ＭＡＣアドレスと同ペイロード部のメッセージ種別識別子とを参照して判定する（ステップＳＢ１００）。すなわち、送信先ＭＡＣアドレスが自装置のＭＡＣアドレスであり、かつメッセージ種別識別子が設定変更指示フレームを示すものである場合に上記ステップＳＢ１００の判定結果は“Ｙｅｓ”となる。そして、スイッチングエンジン部５２０は、ステップＳＢ１００の判定結果が“Ｙｅｓ”である場合には、優先度設定変更処理（ステップＳＢ１１０）を実行し、逆に、ステップＳＢ１００の判定結果が“Ｎｏ”である場合には、フレーム転送制御処理を実行する。
【００３７】
ステップＳＢ１００の判定結果が“Ｎｏ”である場合に実行されるフレーム転送制御処理は、受信フレームの送信先ＭＡＣアドレスに基づいて当該受信フレームの転送制御を行う処理（ステップＳＢ１９０）を含んでいる。ここで、受信フレームの送信先ＭＡＣアドレスに基づく転送制御とは、当該送信先ＭＡＣアドレスがユニキャストアドレスではない場合、または当該送信先ＭＡＣアドレスがＭＡＣアドレステーブルに格納されていないユニキャストアドレスである場合には、当該受信フレームのフラッディングを行う一方、当該送信先ＭＡＣアドレスがＭＡＣアドレステーブルに格納されたユニキャストアドレスである場合には、当該ＭＡＣアドレスに対応付けてＭＡＣアドレステーブルに格納されているポート識別子の示す通信ポートのみから当該受信フレームを送出することである。ここでユニキャストアドレスではないＭＡＣアドレスとしては、マルチキャストアドレスまたはブロードキャストアドレスが挙げられる。また、フラッディングとは、受信フレームを受信した通信ポート以外の全ての通信ポートから当該受信フレームを送出することである。この送信先ＭＡＣアドレスに基づく転送制御については従来のスイッチングハブにおけるものと特段に変るところはない。換言すれば、従来のスイッチングハブでは、フレーム転送制御処理として上記送信先ＭＡＣアドレスに基づく転送制御（すなわち、ステップＳＢ１９０の処理）のみが実行されるのである。
【００３８】
ステップＳＢ１００の判定結果が“Ｙｅｓ”である場合に実行される優先度設定変更処理は、揮発性メモリ内のバッファに蓄積されているフレームの各々に対してステップＳＢ１９０の処理を行う際の優先度をルータ６０から与えられる指示に応じて変更する処理である。本実施形態の優先度設定変更処理は、ＶＬＡＮ（Virtual Local Area Network）設定の変更とＱｏＳの設定変更とを含んでいる。ここで、ＶＬＡＮ設定とは、ルータ６０から優先度設定の変更を指示された通信ポートをフラッディングの対象から除外して仮想的にネットワークセグメントを分離することである。ＶＬＡＮ設定によって、ネットワークセグメントを分離された通信ポートには、他のネットワークセグメントの通信ポートを介して受信したマルチキャストフレームは送出されないため、当該通信ポートを介して行われるデータ通信がマルチキャストフレームの転送によって阻害されることがなくなる。一方、ＱｏＳとは、ステップＳＢ１９０の処理においてフレームをその宛先に応じた通信ポートへ送出する処理を行う際に、当該フレームよりも優先度の高いフレームがバッファに蓄積されている間は、当該フレームの送出を見合わせることである。このようなＱｏＳを行うことによって、高い優先度を割り当てられたフレームの転送制御が、優先度の低いフレームの転送制御によって阻害されることを回避することができる。本実施形態の優先度設定変更処理では、スイッチングエンジン部５２０は、優先度を“０”とすべきことを指示された通信ポートについては、前述したＶＬＡＮ設定によるネットワークセグメントの分離を行うとともに、当該通信ポートを介して受信したフレーム（或いは、当該通信ポートへ送出するフレーム）についてのＱｏＳにおける優先度を最も高く設定する。また、優先度を“１”とすべきことを指示された通信ポートについては、スイッチングエンジン部５２０は、ＱｏＳの設定変更のみを行い、ＱｏＳにおける優先度を２番目に高く設定する。
【００３９】
本実施形態のフレーム転送制御処理は、前述したステップＳＢ１９０の処理の他に、ステップＳＢ１２０〜ＳＢ１６０の処理を含んでいる。図３に示すように、スイッチングエンジン部５２０は、まず、当該受信フレームのペイロード部に転送元識別子が書き込まれているか否かを判定する（ステップＳＢ１２０）。ここで、受信フレームのペイロード部に転送元識別子が書き込まれているか否かについての具体的な判定手法としては種々のものが考えられる。例えば、受信フレームのペイロード部の該当領域を直接参照し、ＭＡＣアドレスに相当するものが書き込まれているか否かによって判定する態様であっても良く、また、受信フレームが要求フレーム、隣接機器通知フレームおよび優先度通知フレームの何れかであるか否かによって判定する態様であっても良い。前述したように、ルータ６０の配下のネットワークにおいて送受信されるフレームのうち、ペイロード部に転送元識別子が書き込まれているのは要求フレーム、隣接機器通知フレームおよび優先度通知フレームの３種類のみだからである。例えば、後者の態様の場合には、受信フレームのヘッダ部に書き込まれている種別識別子が上記４種類のフレームを示すものであり、かつ同ペイロード部に書き込まれているメッセージ種別識別子が要求フレーム、隣接機器通知フレームまたは優先度通知フレームの何れかを示すものである場合に、ステップＳＢ１２０の判定結果は“Ｙｅｓ”になる。
【００４０】
ステップＳＢ１２０の判定結果が“Ｎｏ”である場合には、スイッチングエンジン部５２０は、受信フレームが音声通信のために配下のネットワークからＩＰ網へ向けて送出される音声通信フレーム（すなわち、ペイロード部に音声パケットが書き込まれたフレーム）であるか否かを、当該受信フレームのヘッダ部の送信先ＭＡＣアドレスおよび種別識別子を参照して判定する（ステップＳＢ１３０）。例えば、受信フレームの送信先ＭＡＣアドレスが自装置の配下のネットワークに収容されている通信端末４０のＭＡＣアドレスではなく、かつ、当該受信フレームの種別識別子がＶｏＩＰを示すものである場合に、ステップＳＢ１３０の判定結果は“Ｙｅｓ”となる。スイッチングエンジン部５２０は、ステップＳＢ１３０の判定結果が“Ｙｅｓ”である場合には、当該音声通信フレームのペイロード部に書き込まれている音声パケットのＤＳＣＰ値をその送信元の優先度に応じて書き換え（ステップＳＢ１４０）、その後、ステップＳＢ１９０の処理を実行する。逆に、ステップＳＢ１３０の判定結果が“Ｎｏ”である場合には、スイッチングエンジン部５２０は、ステップＳＢ１４０の処理を行うことなくステップＳＢ１９０の処理を実行する。ＤＳＣＰ値とは、第３層において音声パケットの転送制御を行う際の優先度を示す値である。詳細については後述するが、ＤＳＣＰ値の書き換えをスイッチングハブ５０において行っておくことによって、ルータ６０からＩＰ網へと送出される音声パケットについて、ＩＰ網内でのパケット転送制御がその送信元の通信端末４０の優先度に応じて行われるようにすることが期待される。なお、本実施形態では、ルータ６０からＩＰ網へと送出される音声パケットについて、ＩＰ網内でのパケット転送制御がその送信元の通信端末４０の優先度に応じて行われるようにするために、ＤＳＣＰ値の書き換えを行ったが、ＣｏＳ値やＴＯＳ値などの他の指標を用いても勿論良い。
【００４１】
これに対して、ステップＳＢ１２０の判定結果が“Ｙｅｓ”である場合（すなわち、受信フレームが要求フレーム、優先度通知フレーム或いは隣接機器通知フレームの何れかである場合）には、スイッチングエンジン部５２０は、当該受信フレームを受信した通信ポートのポート識別子に対応付けて隣接機器テーブルに格納されている隣接機器識別子を、当該受信フレームの転送元識別子で書き換え（ステップＳＢ１５０）、さらに、当該受信フレームの転送元識別子を自装置のＭＡＣアドレスに書き換える（ステップＳＢ１６０）。次いで、スイッチングエンジン部５２０は、受信フレームが要求フレームであるか否かを受信フレームのペイロード部のメッセージ種別識別子を参照して判定し（ステップＳＢ１７０）、その判定結果がＹｅｓである場合には、隣接機器通知フレーム送信処理（ステップＳＢ１７０）を実行した後に、ステップＳＢ１９０の処理を実行する。隣接機器通知フレーム送信処理では、スイッチングエンジン部５２０は、前述した隣接機器通知フレームを生成し、上記要求フレームの送信元へ返信（ユニキャスト）する。この隣接機器通知フレームのペイロード部には、隣接機器情報リストとして上記ステップＳＢ１５０の処理により更新済みの隣接機器テーブルの格納内容が書き込まれる。逆に、ステップＳＢ１７０の判定結果が“Ｎｏ”である場合には、スイッチングエンジン部５２０は、ステップＳＢ１８０の処理を実行することなく、ステップＳＢ１９０の処理を実行する。
以上がスイッチングハブ５０の構成である。
【００４２】
＜Ａ−１−３：ルータ６０の構成＞
図７は、ルータ６０の構成を示すブロック図である。図７に示すように、ルータ６０は、通信Ｉ／Ｆ部６１０、ルーティングエンジン部６２０および記憶部６３０を有している。通信Ｉ／Ｆ部６１０は、スイッチングハブ５０の通信Ｉ／Ｆ部５１０と同様に複数のポートを有しており、各ポートには固有のポート識別子が割り当てられている。例えば、ルータ６０Ａでは、これら複数のポートのうちの２つに、ＩＰ網とスイッチングハブ５０Ａが各々接続される。通信Ｉ／Ｆ部６１０は、通信Ｉ／Ｆ部５１０と同様、各通信ポートを介して受信したフレームをルーティングエンジン部６２０に与える一方、ルーティングエンジン部６２０から与えられるフレームを同ルーティングエンジン部６２０によって指示された通信ポートから送出する。
【００４３】
記憶部６３０も、スイッチングハブ５０の記憶部５３０と同様に、ＲＡＭなどの揮発性メモリとＥＰＲＯＭなどの不揮発性メモリを含んでいる（図示略）。この不揮発性メモリにはファームウェアが格納されている。本実施形態では、このファームウェアにしたがってルーティングエンジン部６２０を作動させることによって本実施形態の特徴を顕著に示すルータ６０の機能が実現される。一方、揮発性メモリは、上記ファームウェアを実行する際のワークエリアとしてルーティングエンジン部６２０によって利用されるとともに、受信したフレーム（或いは、パケット）を一時的に蓄積しておくためのバッファの役割を果たす。また、当該揮発性メモリには、図７に示すルーティングテーブル、当該ルータ６０についてのＭＡＣアドレステーブルおよび隣接機器テーブルの各テーブルが格納される。
【００４４】
ルーティングエンジン部６２０は、スイッチングハブ５０のスイッチングエンジン部５２０と同様、ＣＰＵである。ルーティングエンジン部６２０は、記憶部６３０に記憶されているファームウェアを実行し、ルータ６０の制御中枢として機能する。ルーティングエンジン部６２０は上記ファームウェアにしたがって、パケット転送制御処理、マルチキャスト処理、接続関係特定処理、および優先度設定制御処理、の４種類の処理を実行する。これら４つの処理のうち、パケット転送制御処理については従来のものと特段に変るところはない。したがって、以下では、マルチキャスト処理、接続関係特定処理、および優先度設定制御処理を中心に説明する。
【００４５】
マルチキャスト処理は、ルータ６０の配下のネットワーク（ルータ６０ＡであればＬＡＮ１Ａ、ルータ６０ＢであればＬＡＮ１Ｂ）に向けて要求フレームのマルチキャストを行う処理である。詳細については後述するが、本実施形態では、このマルチキャスト処理はルータ６０の電源（図示略）投入後、所定時間Ｔ（例えば、３秒）が経過する毎に周期的に実行される。
【００４６】
接続関係特定処理では、ルーティングエンジン部６２０は、まず、各スイッチングハブ５０から送信されてくる通知フレームの受信を契機として、当該通知フレームを受信した通信ポートのポート識別子に対応付けて隣接機器テーブルに格納されている接続先識別子を当該フレームのペイロード部に書き込まれている転送元識別子に書き換える。そして、ルーティングエンジン部６２０は、自装置の隣接機器テーブルの格納内容と、各スイッチングハブ５０から返信されてくる隣接機器情報リストと、通信端末４０から返信されてくる隣接機器情報とから、配下のネットワークにおける各装置の接続関係（ネットワークトポロジ）を表すトポロジデータを生成する。
【００４７】
より詳細に説明すると、ルーティングエンジン部６２０は、自装置の隣接機器テーブルの格納内容と、スイッチングハブ５０から返信されてくる隣接機器情報リストと、通信端末４０から返信されてくる隣接機器情報と、に基づいて、自装置、各スイッチングハブ５０および各通信端末４０の各々について、上流側隣接機器を示す第１のポインタ（例えば、上流側隣接機器に接続されている通信ポートのポート識別子と当該上流側隣接機器のＭＡＣアドレスとを示すデータなど）と、下流側隣接機器を示す１または複数の第２のポインタ（例えば、下流側隣接機器に接続されている通信ポートのポート識別子と当該下流側隣接機器のＭＡＣアドレスとを示すデータなど）とからなる双方向リスト構造の構造体データを装置毎に生成し、これら構造体データの集合を上記トポロジデータとする。ここで、上流側隣接機器とは、ルータ６０に近い側の隣接機器であり、下流側隣接機器とは同ルータ６０から遠い側の隣接機器である。例えば、図１のＬＡＮ１Ａにおいてスイッチングハブ５０Ａの上流側隣接機器はルータ６０であり、下流側隣接機器は通信端末４０Ａとスイッチングハブ５０Ｂである。なお、図１のルータ６０のように上流側隣接機器を有さない装置についての構造体データにおいては、上記第１のポインタにＮＵＬＬをセットすれば良く、同様に、図１の通信端末４０のように下流側隣接機器を有さない装置についての構造体データにおいては、上記第２のポインタにＮＵＬＬをセットすれば良い。
【００４８】
上記のような双方向リスト構造の構造体データの集合をトポロジデータとして用いる場合、互いに隣接する２つの装置を上流側から第２のポインタを用いて辿っても、また下流側から第１のポインタを用いて辿っても矛盾が生じないことが必要となる。例えば、図１のＬＡＮ１Ａに関するトポロジデータにおいては、スイッチングハブ５０Ａに対応する構造体データの第２のポインタによってスイッチングハブ５０Ｂが示されており、スイッチングハブ５０Ｂに対応する構造体データの第１のポインタによってスイッチングハブ５０Ａが示されている必要がある。このため、例えば、スイッチングハブ５０Ｂからは隣接機器としてスイッチングハブ５０Ａを通知されたにもかかわらず、スイッチングハブ５０Ａからは隣接機器としてスイッチングハブ５０Ｂが通知されてこないといった矛盾が生じた場合には、ルーティングエンジン部６２０は矛盾が生じていない範囲でのみトポロジデータを生成する。
【００４９】
次いで、図８を参照しつつ優先度設定制御処理の処理内容を説明する。この優先度設定制御処理は、優先度通知フレームの受信を契機として実行される処理である。図８は、優先度設定制御処理の流れを示すフローチャートである。図８に示すように、ルーティングエンジン部６２０は、まず、当該優先度通知フレームの送信元の通信端末４０と自装置との間の通信経路が特定されるか否かをトポロジデータを参照して判定する（ステップＳＣ１００）。より詳細について説明すると、優先度通知フレームの送信元の通信端末４０に対応する構造体データのものから順に第１のポインタを辿って当該ルータ６０まで到達することができた場合には、ステップＳＣ１００の判定結果は“Ｙｅｓ”となる。そして、ルーティングエンジン部６２０は、ステップＳＣ１００の判定結果が“Ｙｅｓ”である場合には、自装置のパケット転送制御における優先度設定を、上記優先度通知フレームのペイロード部に書き込まれていた優先度データの表す優先度に応じて変更し（ステップＳＣ１１０）、さらに、上記通信経路上のスイッチングハブ５０の各々に対して設定変更指示フレームを送信（ユニキャスト）する（ＳＣ１２０）。
以上がルータ６０の構成である。
【００５０】
＜Ａ−２：動作＞
以下、ルータ６０およびスイッチングハブ５０が各々８個の通信ポートを有しており、かつ、ＬＡＮ１Ａにおいて、図９に示すように相互に接続されている場合を例にとって本実施形態の動作を説明する。図９では、通信ポートを黒塗りの丸印で示し、当該通信ポートのポート番号を＃付の数字で表記した。図９に示すように、ルータ６０Ａのポート番号＝１の通信ポートにはスイッチングハブ５０Ａが接続されており、スイッチングハブ５０Ａから見ればルータ６０Ａはスイッチングハブ５０Ａのポート番号＝２の通信ポートに接続されている。図９に示すように、スイッチングハブ５０Ａのポート番号＝３の通信ポートには通信端末４０Ａが接続されており、ポート番号＝４の通信ポートにはスイッチングハブ５０Ｂが接続されている。スイッチングハブ５０Ｂから見ればスイッチングハブ５０Ａはスイッチングハブ５０Ｂのポート番号＝５の通信ポートに接続されており、スイッチングハブ５０Ｂのポート番号＝６の通信ポートには通信端末４０Ｂが、同ポート番号＝７の通信ポートには通信端末４０Ｃが接続されている。また、以下に説明する動作の開始時点では、ルータ６０およびスイッチングハブ５０の隣接機器テーブルの接続先識別子はＮＵＬＬクリアされている。
【００５１】
ルータ６０Ａのルーティングエンジン部６２０は、ルータ６０Ａの電源（図示略）投入後、所定時間Ｔが経過した時刻Ｔ０において要求フレームをマルチキャストする。このようにしてルータ６０Ａからマルチキャストされる要求フレームは、まず、スイッチングハブ５０Ａによって受信される。スイッチングハブ５０Ａのスイッチングエンジン部５２０は、ポート番号＝２の通信ポートを介して上記要求フレームを受信し、図６のステップＳＢ１５０、ＳＢ１６０、ＳＢ１８０およびＳＢ１９０の各処理を実行する。受信フレームが要求フレームであるためステップＳＢ１００の判定結果は“Ｎｏ”になり、ＳＢ１２０およびＳＢ１７０の判定結果は“Ｙｅｓ”になるからである。
【００５２】
ステップＳＢ１５０の処理が実行されるため、ポート番号＝２に対応づけてスイッチングハブ５０Ａの隣接機器テーブルに格納されている接続先識別子は、受信フレームに付与されている転送元識別子（すなわち、ルータ６０のＭＡＣアドレス）によって書き換えられる。さらに、当該受信フレームの転送元識別子はステップＳＢ１６０の処理によってスイッチングハブ５０ＡのＭＡＣアドレスに書き換えられる。ステップＳＢ１８０では、ステップＳＢ１５０の処理による更新後の隣接機器テーブルの格納内容を隣接機器情報リストとして書き込んだ隣接機器通知フレームがスイッチングハブ５０Ａからルータ６０にユニキャストされる。そして、ステップＳＢ１９０では、ステップＳＢ１６０の処理によって転送元識別子の書き換えが行われた要求フレームのフラッディングが行われる。前述したように、要求フレームの送信先ＭＡＣアドレスはマルチキャストアドレスだからである。このようにしてフラッディングされた要求フレームは、通信端末４０Ａおよびスイッチングハブ５０Ｂの各々によって受信される。
【００５３】
通信端末４０Ａの制御部４１０は、通信Ｉ／Ｆ部４２０を介して要求フレームを受信すると、前述した優先度通知処理（図３参照）を実行する。より詳細に説明すると、制御部４１０は、上記要求フレームのペイロード部に書き込まれている転送元識別子（すなわち、スイッチングハブ５０ＡのＭＡＣアドレス）を隣接機器情報として揮発性記憶部４４４に書き込む（図３：ステップＳＡ１００）。次いで、制御部４１０は、上記要求フレームの送信元ＭＡＣアドレス（すなわち、ルータ６０ＡのＭＡＣアドレス）を送信先ＭＡＣアドレスとする優先度通知フレームを生成し、当該優先度通知フレームを送信する（図３：ステップＳＡ１１０）。この優先度通知フレームのペイロード部には、転送元識別子として通信端末４０ＡのＭＡＣアドレスが書き込まれているとともに、通信端末４０Ａの優先度データと隣接機器情報とが書き込まれている。
【００５４】
スイッチングハブ５０Ｂのスイッチングエンジン部５２０は、スイッチングハブ５０Ａから転送された要求フレームを受信すると、スイッチングハブ５０Ａのスイッチングエンジン部５２０と同様に、図６のステップＳＢ１５０、ＳＢ１６０、ＳＢ１８０およびＳＢ１９０の各処理を実行する。より詳細に説明すると、スイッチングハブ５０Ｂのスイッチングエンジン部５２０は、自装置の隣接機器テーブルにおいてポート番号＝５に対応する接続先識別子を、スイッチングハブ５０Ａから転送された要求フレームに付与されている転送元識別子（すなわち、スイッチングハブ５０ＡのＭＡＣアドレス）によって書き換え、当該書き換え後の隣接機器テーブルの格納内容を隣接機器情報リストとして書き込んだ隣接機器通知フレームをルータ６０にユニキャストする。加えて、スイッチングハブ５０Ｂのスイッチングエンジン部５２０は、転送元識別子をスイッチングハブ５０ＢのＭＡＣアドレスに書き換えた要求フレームのフラッディングを行う。
【００５５】
このようにしてフラッディングされた要求フレームは通信端末４０Ｂおよび４０Ｃの各々によって受信される。通信端末４０Ｂ（或いは通信端末４０Ｃ）の制御部４１０は、当該要求フレームの受信を契機として、通信端末４０Ａの制御部４１０と同様に優先度通知処理（図３参照）を実行する。その結果、通信端末４０Ｂ（或いは４０Ｃ）の揮発性記憶部４４４には、隣接機器情報としてスイッチングハブ５０ＢのＭＡＣアドレスが書き込まれ、当該隣接機器情報と通信端末４０Ｂ（或いは４０Ｃ）の優先度データとがペイロード部に書き込まれた優先度通知フレームがルータ６０に返信される。以上説明した動作が実行される結果、スイッチングハブ５０Ａおよび５０Ｂの隣接機器テーブルの格納内容と、通信端末４０Ａ、４０Ｂおよび４０Ｃの隣接機器情報とは、図１０に示す状態となる。
【００５６】
次いで、通知フレームの転送制御に伴って行われる隣接機器テーブルの更新について説明する。スイッチングハブ５０Ｂのスイッチングエンジン部５２０は、通信端末４０Ｂ（或いは、通信端末４０Ｃ）からルータ６０へユニキャストされた優先度通知フレームをポート番号＝６（或いは７）の通信ポートを介して受信すると、図６のステップＳＢ１５０、ＳＢ１６０、およびＳＢ１９０の処理を実行する。受信フレームが優先度通知フレームであるためステップＳＢ１００およびＳＢ１７０の判定結果は“Ｎｏ”になり、ステップＳＢ１２０の判定結果は“Ｙｅｓ”になるからである。
【００５７】
ステップＳＢ１５０の処理が実行されるため、優先度通知フレームを受信した通信ポートのポート識別子に対応付けてスイッチングハブ５０Ｂの隣接機器テーブルに格納されている接続先識別子は、受信フレームに付与されている転送元識別子（すなわち、通信端末４０Ｂ（或いは通信端末４０Ｃ）のＭＡＣアドレス）によって書き換えられ、当該受信フレームの転送元識別子はステップＳＢ１６０の処理によってスイッチングハブ５０ＢのＭＡＣアドレスに書き換えられる。そして、ステップＳＢ１９０では、ステップＳＢ１６０の処理によって転送元識別子の書き換えが行われた優先度通知フレームがポート番号＝５の通信ポートを介して送出される。
【００５８】
スイッチングハブ５０Ａのスイッチングエンジン部５２０は、通信端末４０Ａから送信された優先度通知フレーム、或いはスイッチングハブ５０Ｂから転送されてくる通知フレーム（すなわち、スイッチングハブ５０Ｂが送信した隣接機器通知フレーム、或いはスイッチングハブ５０Ｂによって転送された優先度通知フレーム）を受信すると、同様に、図６のステップＳＢ１５０、ＳＢ１６０、およびＳＢ１９０の処理を実行する。スイッチングハブ５０Ａは、これら通知フレームを受信した通信ポートに対応する接続先識別子を、同通知フレームに付与されている転送元識別子（スイッチングハブ５０Ｂによって転送された通知フレームであれば当該スイッチングハブ５０ＢのＭＡＣアドレス、通信端末４０Ａから送信された優先度通知フレームであれば当該通信端末４０ＡのＭＡＣアドレス）によって書き換え、当該通知フレームの転送元識別子を自装置のＭＡＣアドレスに書き換えてルータ６０に転送する。ルータ６０は、スイッチングハブ５０Ａから転送された通知フレームをポート番号＝１の通信ポートを介して受信すると、自装置の隣接機器テーブルにおいて当該ポート番号に対応する接続先識別子を当該フレームの転送元識別子で書き換える。以上説明した動作が実行される結果、ルータ６０、スイッチングハブ５０Ａおよび５０Ｂの各々の隣接機器テーブルの格納内容は図１０に示す状態から図１１に示す状態へと更新される。図１１を参照すれば明らかように、これら隣接機器テーブルの格納内容および各通信端末４０の隣接機器情報はＬＡＮ１Ａにおけるネットワークトポロジを矛盾なく表している。
【００５９】
ここで注目すべき点は、以上に説明した動作において、ルータ６０Ａがスイッチングハブ５０Ａおよび５０Ｂから受信する隣接機器通知フレームに書き込まれている隣接機器情報リストは、図１１に示す隣接機器テーブルの格納内容ではなく、図１０に示す隣接機器テーブルの格納内容に対応しているという点である。図１０に示す各隣接機器テーブルの格納内容では、ルータ６０Ａとスイッチングハブ５０Ａとの接続関係のみが矛盾なく表されている。このため、時刻Ｔ０においてマルチキャストした要求フレームに対する通知フレームを受信した時点では、ルーティングエンジン部６２０は、ルータ６０Ａとスイッチングハブ５０Ａとの接続関係のみを表すトポロジデータを生成する。
【００６０】
そして、時刻Ｔ０からさらに所定時間Ｔが経過すると、ルーティングエンジン部６２０は、要求フレームをマルチキャストし、スイッチングハブ５０Ａおよび５０Ｂの各々は上記と同様の処理を実行する。時刻Ｔ０＋Ｔにおいてルータ６０Ａから送信された要求フレームに対する応答としてスイッチングハブ５０Ａおよび５０Ｂが返信する隣接機器通知フレームの各々には、図１１に示す隣接機器テーブルの格納内容に対応する隣接機器情報リストが書き込まれている。このため、時刻Ｔ０＋Ｔにおいてマルチキャストした要求フレーム（すなわち、時刻Ｔ０におけるマルチキャストを１回目とすれば、２回目のマルチキャスト）に対して返信される隣接機器通知フレームを受信した時点では、ルーティングエンジン部６２０は、自装置と自装置の配下の全ての通信装置の接続関係を表すトポロジデータを生成する。ＬＡＮ１Ａの運用管理者は、このようにして生成されるトポロジデータを参照することで、ＬＡＮ１Ａのネットワークトポロジを把握することができるのである。
【００６１】
ルータ６０Ａのルーティングエンジン部６２０は、通信端末４０Ａ、４０Ｂおよび４０Ｃの各々から返信されている優先度通知フレームを受信する度に、前述した優先度設定制御処理（図８参照）を実行する。前述したように、この優先度設定制御処理では、ルーティングエンジン部６２０は、自装置と当優先度通知フレームの送信元との間の通信経路を特定することができるか否かをトポロジデータを参照して判定する（ステップＳＣ１００）。前述したように、時刻Ｔ０においてマルチキャストした要求フレームに対して返信されてくる通知フレームを受信した時点では、ルータ６０Ａとスイッチングハブ５０Ａとの接続関係のみを表すトポロジデータ（すなわち、ルータ６０Ａに対応する構造体データとスイッチングハブ５０Ａに対応する構造体データ）しか生成されない。このように、時刻Ｔ０においてマルチキャストした要求フレームに対して返信されてくる優先度通知フレームを受信した時点では、通信端末４０Ａ、４０Ｂおよび４０Ｃの各々に対応する構造体データは生成されず、ステップＳＣ１００の判定結果は“Ｎｏ”になる。つまり、時刻Ｔ０においてマルチキャストした要求フレームに対して返信されてくる優先度通知フレームを受信した時点ではステップＳＣ１１０以降の処理は実行されないのである。
【００６２】
これに対して、時刻Ｔ０＋Ｔにおいてマルチキャストした要求フレームに対して返信されてくる優先度通知フレームを受信した時点では、前述したように、ルータ６０Ａ、スイッチングハブ５０Ａ、５０Ｂ、通信端末４０Ａ、４０Ｂおよび４０Ｃの各々に対応する構造体データが生成されている。このため、例えば、通信端末４０Ｂから送信された優先度通知フレームを受信した場合には、ルーティングエンジン部６２０は、当該通信端末４０Ｂに対応する構造体データの第１のポインタを参照して当該通信端末４０Ｂの接続先がスイッチングハブ５０Ｂであると特定し、スイッチングハブ５０Ｂに対応する構造体データの第２のポインタを参照して当該通信端末４０Ｂがスイッチングハブ５０Ｂのポート番号＝６の通信ポートに接続されていることを特定する。また、ルーティングエンジン部６２０は、スイッチングハブ５０Ｂに対応する構造体データの第１のポインタを参照して当該スイッチングハブ５０Ｂはスイッチングハブ５０Ａに接続されていることを特定し、スイッチングハブ５０Ａに対応する構造体データの第２のポインタを参照してスイッチングハブ５０Ｂがスイッチングハブ５０Ａのポート番号＝４の通信ポートに接続されていることを特定する。そして、ルーティングエンジン部６２０は、スイッチングハブ５０Ａに対応する構造体データの第１のポインタを参照して当該スイッチングハブ５０Ａは自装置に接続されていることを特定し、自装置に対応する構造体データの第２のポインタを参照してスイッチングハブ５０Ａがポート番号＝１の通信ポートに接続されていることを特定する。これにより、ルータ６０Ａと通信端末４０Ｂとの間の通信経路が特定されるのである。
【００６３】
このようにして自装置と通信端末４０Ｂとの間の通信経路が特定されるため、ステップＳＣ１００の判定結果は“Ｙｅｓ”となり、ステップＳＣ１１０以降の処理が実行される。前述したように、通信端末４０Ｂから送信される優先度通知フレームには優先度が“１”であることを示す優先度データが書き込まれている。このため、ステップＳＣ１１０においては、優先度が”０”（最も高い優先度）のデータ通信を行う通信端末（本実施形態では、通信端末４０Ａ）から送信されたパケットが無い限り、通信端末４０Ｂから送信されたパケットを最優先でＩＰ網へ送出し、また、ＩＰ網を介して通信端末４０Ｂ宛のパケットを受信した場合には、優先度が”０”のデータ通信を行う通信端末を宛先とするパケットが無い限り、当該パケットを最優先でスイッチングハブ５０Ａに送出するように、パケット転送制御の優先度設定が行われる。そして、ステップＳＣ１２０では、ルータ６０Ａから通信端末４０Ｂへ至る通信経路上の各スイッチングハブ５０（すなわち、スイッチングハブ５０Ａおよび５０Ｂ）に対して、当該通信端末４０Ｂが接続されている通信ポートと当該通信ポートを介して行われるデータ通信の優先度を“１”とすることとを示す設定変更指示データを書き込んだ設定変更指示フレームが送信される。具体的には、スイッチングハブ５０Ａに対しては、ポート番号＝４と当該ポート番号の通信ポートを介して行われるデータ通信の優先度を“１”とすることを示す設定変更指示データをペイロード部に書き込んだ設定変更指示フレームが送信される。一方、スイッチングハブ５０Ｂに対しては、ポート番号＝６と当該ポート番号の通信ポートを介して行われるデータ通信の優先度を“１”とすることを示す設定変更指示データをペイロード部に書き込んだ設定変更指示フレームが送信される。
【００６４】
スイッチングハブ５０Ａまたは５０Ｂのスイッチングエンジン部５２０は、ルータ６０から送信された設定変更指示フレームを受信すると（図６ステップＳＢ１００：Ｙｅｓ）当該設定変更指示フレームのペイロード部に書き込まれている設定変更指示データの示す内容に応じてフレーム転送制御の際の優先度の設定を変更する（図６ステップＳＢ１１０）。上記設定変更指示フレームのペイロード部に書き込まれている設定変更指示データの示す優先度は“１”であるから、スイッチングエンジン部５２０は、当該設定変更指示データの示す通信ポートについてＱｏＳの設定変更のみを行う。具体的には、優先度が“０”の通信ポートを介して受信したフレーム（或いは、優先度が“０”の通信ポートへ送出するフレーム）がない限り、当該設定変更指示データの示す通信ポートを介して受信したフレーム（或いは同通信ポートへ送出するフレーム）の転送が最優先されるようにＱｏＳの設定が変更されるのである。
【００６５】
これに対して、ルーティングエンジン部６２０は、通信端末４０Ａから送信された優先度通知フレームを受信すると、ポート番号＝３と当該ポート番号の通信ポートを介して行われるデータ通信の優先度を“０”とすることを示す設定変更指示データを書き込んだ設定変更指示フレームをスイッチングハブ５０Ａに送信する。スイッチングハブ５０Ａのスイッチングエンジン部５２０は、この設定変更指示フレームを受信すると、以下のようにフレーム転送制御の際の優先度の設定を変更する。すなわち、上記設定変更指示フレームのペイロード部に書き込まれている設定変更指示データの示す優先度は“０”であるから、当該設定変更指示データの示す通信ポートのネットワークセグメントと他の通信ポートのネットワークセグメントとをＶＬＡＮ設定によって分離し、さらにＱｏＳの設定変更を行う。具体的には、当該通信ポートを介して受信したフレーム（或いは、当該通信ポートへ送出するフレーム）の転送が最優先されるようにＱｏＳの設定が変更されるのである。このようなＶＬＡＮ設定が為される結果、ＬＡＮ１Ａは、図１２にて点線で示すように、通信端末４０Ａのみが属するネットワークセグメントと、スイッチングハブ５０Ｂ、通信端末４０Ｂおよび４０Ｃが属するネットワークセグメントとに仮想的に分離され、通信端末４０Ａが行う音声通信が、通信端末４０Ｂまたは４０Ｃが行うデータ通信によって阻害されることを確実に防止することができるのである。
【００６６】
以上説明したように、本実施形態においては、ルータ６０の配下のネットワークに収容される通信端末４０に対して当該通信端末４０が行うデータ通信の優先度を設定しておけば、各スイッチングハブ５０におけるフレームの転送制御の優先度設定が自動的に変更される。本実施形態では、スイッチングハブ５０に対して、音声データの送受信を行う通信端末４０のＭＡＣアドレスとＱｏＳの設定内容等を対応付けて予め記憶させておく必要はないため、運用管理者の設定作業の煩雑さが軽減される。つまり、本実施形態によれば、設定作業の煩雑さを軽減しつつ、各通信端末の実行するデータ通信の優先度に応じた転送制御を各スイッチングハブ５０に行わせることが可能になる。なお、以上に説明した動作例では、ＬＡＮ１Ａにおける優先度制御について説明したが、ＬＡＮ１Ｂにおける優先度制御についても同様である。
【００６７】
また、本実施形態によれば、スイッチングハブ５０および通信端末４０から返信されてくる隣接機器情報に基づいて生成されるトポロジデータを参照することでルータ６０の配下のネットワークのネットワークトポロジを容易に把握することもできる。ここで、各スイッチングハブ５０から送信されている隣接機器情報のデータサイズは当該スイッチングハブ５０に接続される中継装置の数に応じて定まり、当該スイッチングハブ５０が有する通信ポート数に応じたデータサイズ以上になることはない。つまり、本実施形態における通知フレームのペイロード部のデータサイズは、ＬＡＮ１Ａに含まれるスイッチングハブ５０の数が増加しても、その増加に伴って際限なく大きくなることはない。このため、ＬＡＮ１Ａが大規模化したとしても、ネットワークトポロジの特定のために過剰な負荷がＬＡＮ１Ａにかかることはない。
【００６８】
さらに、本実施形態のルータ６０は、所定時間Ｔが経過する毎に周期的に要求フレームのマルチキャストを行うため、例えばスイッチングハブ５０（或いは通信端末４０）を新たに接続するようなネットワークトポロジの変更が行われたとしても、新たなスイッチングハブの接続から２回目の要求フレームのマルチキャストによって当該変更後のネットワークトポロジを矛盾なく正確に表すトポロジデータが生成される。つまり、本実施形態によれば、ＬＡＮ１Ａに過剰な負荷がかかることを回避しつつ、かつ遅滞なくネットワークトポロジの変更を検出することができる。
【００６９】
＜Ｂ：第２実施形態＞
図１３は、本発明の第２実施形態のＬＡＮ１Ｃの構成例を示すブロック図である。
図１３と図１とを対比すれば明らかように、ＬＡＮ１Ｃはスイッチングハブ５０Ｂに換えてスイッチングハブ５００を有する点がＬＡＮ１Ａと異なる。スイッチングハブ５００は、従来のスイッチングハブであって、受信したフレームの送信先ＭＡＣアドレスに基づくフレームの転送制御（すなわち、図６のステップＳＢ１９０の処理）のみを実行する点がスイッチングハブ５０と異なる。
【００７０】
ＬＡＮ１Ｃにおいては、スイッチングハブ５０Ａからスイッチングハブ５００に転送された要求フレームは転送元識別子を書き換えられることなく、通信端末４０Ｂおよび４０Ｃに転送される。このため、通信端末４０Ｂおよび４０Ｃの揮発性記憶部４４４には、隣接機器情報としてスイッチングハブ５０ＡのＭＡＣアドレスが書き込まれる。同様に、通信端末４０Ｂおよび４０Ｃの各々から送信された優先度通知フレームも、転送元識別子を書き換えられることなくスイッチングハブ５００によってスイッチングハブ５０Ａに転送される。このため、スイッチングハブ５０Ａの隣接機器テーブルには、スイッチングハブ５００が接続されている通信ポートのポート識別子に対応付けて、通信端末４０ＢのＭＡＣアドレスと、通信端末４０ＣのＭＡＣアドレスの何れか一方が書き込まれる。これは、通信端末４０Ｂと４０Ｃの各々から送信された優先度通知フレームのうち、後に受信したほうの転送識別子によって先に受信したほうのものが書き換えられるからである。
【００７１】
以上に説明した要領で隣接機器テーブルへのＭＡＣアドレスの書き込みが行われる結果、ルータ６０Ａは、図１４（Ａ）或いは図１４（Ｂ）に示すネットワークトポロジを表すトポロジデータを生成する。図１４（Ａ）は、通信端末４０Ｂと４０Ｃの各々から送信される優先度通知フレームのうち、後者のほうを先にスイッチングハブ５０Ａが受信した場合に生成されるトポロジデータの表すネットワークトポロジであり、図１４（Ｂ）は前者のほうを先にスイッチングハブ５０Ａが受信した場合に生成されるトポロジデータの表すネットワークトポロジを表す図である。図１４（Ａ）或いは図１４（Ｂ）と、図１３とを対比すれば明らかように、図１４（Ａ）或いは図１４（Ｂ）に示すネットワークトポロジにはスイッチングハブ５００が現れておらず、また、通信端末４０Ｂと４０Ｃの何れか一方しか現れていない点が、ＬＡＮ１Ｃの実際のネットワークトポロジと異なる。
【００７２】
このように、ルータ６０の配下のネットワークに従来のスイッチングハブが含まれている場合には、当該従来のスイッチングハブと他の装置（すなわち、ルータ６０やスイッチングハブ５０、通信端末４０）との接続関係を把握することはできず、従来のスイッチングハブに接続されている通信端末が行うデータ通信についての優先度制御にも支障が生じ得る。例えば、図１４（Ａ）に示すネットワークトポロジを表すトポロジデータが生成される場合には、通信端末４０Ｃが行うデータ通信についての優先度制御を行うことはできず、逆に、図１４（Ｂ）に示すネットワークトポロジを表すトポロジデータが生成される場合には、通信端末４０Ｂが行うデータ通信についての優先度制御を行うことはできない。しかし、ＬＡＮ１Ｃにおいても、ルータ６０とスイッチングハブ５０との大まかな接続関係を把握すること、およびスイッチングハブ５０に接続されている通信端末４０についての優先度制御を行うことは可能である。
【００７３】
ルータ６０の配下のネットワークに含まれるスイッチングハブの全てが従来のものであれば、当該ネットワークにおけるネットワークトポロジの把握やデータ通信毎の優先度制御を行えないことは言うまでもない。しかし、ルータ６０の配下のネットワークに含まれる複数のスイッチングハブのなかに本発明に係るスイッチングハブ５０が少なくとも１台含まれていれば、ルータ６０と当該スイッチングハブ５０との接続関係（すなわち、一般的な従来のスイッチングハブを除いた概略的なネットワークトポロジ）を運用管理者に把握させることができ、また、当該スイッチングハブ５０に接続されている通信端末４０が行うデータ通信についての優先度制御を行うことができるのである。
【００７４】
＜Ｃ：変形＞
以上、本発明の実施形態について説明したが、この実施形態に以下に述べる変形を加えても勿論良い。
（１）上述した各実施形態では、通知フレームの送信を要求するための要求フレームを所定時間間隔で周期的にルータ６０にマルチキャストさせたが、予め定められた所定種類のパケットの受信を契機としてルータ６０に要求フレームをマルチキャストさせても良い。例えば、ＡＲＰパケットの受信を契機としてルータ６０に要求フレームを送信させるのである。新たにＡＲＰパケットが送信されたということは、ルータ６０の配下のネットワークに新たな通信端末４０が接続されたことを意味し、新たな通信端末の接続に伴ってネットワークトポロジが変化した可能性があり、また、フレーム転送制御の優先度を変更する必要がある可能性がある。新たなＡＲＰパケットの受信を契機としてルータ６０に要求フレームを送信させるようにすれば、新たな通信端末の接続に伴うネットワークトポロジの変化を所定時間の経過を待つことなく検出し、さらにフレーム転送制御の優先度設定の変更を上記所定時間の経過を待つことなく行うことができる。
【００７５】
なお、ルータ６０がＤＨＣＰサーバの役割を兼ねている場合には、ＩＰアドレスの割り当てを要求する旨のパケットを配下の通信端末から受信したことを契機として要求フレームをマルチキャストさせても良い。そして、所定時間間隔で周期的に要求フレームをマルチキャストする処理と、特定の種類のパケットの受信を契機として要求フレームをマルチキャストする処理と、をルータ６０に実行させる場合には、後者のマルチキャストを行う度にその時点を起算点として上記所定時間の経過を計測し直させるようにしても良い。制御フレームについても同様に、周期的なマルチキャストに加えて（或いは、周期的なマルチキャストに換えて）、ＡＲＰパケットやＩＰアドレスの割り当てを要求するパケットなどの予め定められた所定種類のパケットの受信を契機としてルータ６０にマルチキャストさせるようにしても良い。
【００７６】
（２）上述した各実施形態では、要求フレームの受信を契機としてスイッチングハブ５０に隣接機器通知フレームを送信させたが、所定時間間隔で周期的に隣接機器通知フレームをスイッチングハブ５０に送信させるようにしても良い。同様に優先度通知フレームについても所定時間間隔で周期的に通信端末４０に送信させるようにしても良い。このように通知フレームを周期的に送信させる態様においては、ルータ６０から要求フレームをマルチキャストする必要はなく、ルータ６０から配下のネットワークに向けてマルチキャストするフレームのうちの予め定められた一部のものに転送元識別子を付与してマルチキャストさせるようにすれば良い。
【００７７】
（３）上述した各実施形態では、要求フレームを受信するたびに、隣接機器情報リストをペイロードに書き込んだ隣接機器通知フレームを各スイッチングハブ５０に返信させた。しかし、Ｎ（自然数）回目の要求フレームの受信からＮ＋１回目の要求フレームの受信までの間に隣接機器テーブルの格納内容に変化がない場合には、当該Ｎ＋１回目に受信した要求フレームに対して応答する際に、隣接機器情報リストに換えて隣接機器情報リストに変化がないことを示すデータをペイロード部に書き込んだ通知フレームを返信させるようにしても良い。
【００７８】
（４）上述した各実施形態では、通信端末４０毎にその通信端末４０が行うデータ通信の種類が予め定められており、かつ、そのデータ通信の優先度を表す優先度データが不揮発性記憶部４４２に予め書き込まれていた。しかし、通信端末４０の各々が複数種類のデータ通信を行えるようにし、かつ、実行中のデータ通信の優先度を示す優先度データを不揮発性記憶部４４２に書き込むようにしても良い。このようなことは、以下の要領で実現可能である。すなわち、通信端末４０の各々に複数種の通信プログラムを記憶させておくとともに、それら通信プログラムの各々とその通信プログラムにしたがって行われるデータ通信の優先度とを対応付ける優先度テーブルを各通信端末４０に記憶させておく。そして、いずれかの通信プログラムの実行を指示されたことを契機として当該通信プログラムに対応する優先度を上記優先度テーブルの格納内容を参照して特定し、その優先度を示す優先度データを不揮発性記憶部４４２に書き込む処理を制御部４１０に実行させるのである。
【００７９】
（５）上述した各実施形態では、本発明のルータの特徴を顕著に示すマルチキャスト処理、および優先度設定制御処理をソフトウェアにより実現した。しかし、マルチキャスト処理を実現するマルチキャスト手段および優先度設定制御処理を実行する優先度設定制御手段の各々を電子回路などのハードウェアで実現しても勿論良い。スイッチングハブ５０についても同様に、フレーム転送制御処理、隣接機器通知フレーム送信処理、および優先度設定変更処理の各処理を電子回路などのハードウェアによって実現しても良い。
【００８０】
（６）上述した各実施形態では、緊急音声通信の優先度を最も高くし、一般的な音声通信の優先度を次に高くし、音声通信以外のデータ通信の優先度を最も低くした。しかし、例えば、データベースサーバへのデータの日次アップロードなど、大容量かつ高速に行う必要があるデータ通信であれば、音声通信以外のデータ通信であっても優先度を高くすることが望ましいことは言うまでも無い。また、上述した実施形態では、通信ポート単位で優先度設定を行ったが、通信経路の終端に位置する通信端末単位（すなわち、各通信端末のＭＡＣアドレス単位）で優先度設定を行っても良い。このようなことは、設定変更指示データとして優先度データと当該優先度データの送信元の通信端末のＭＡＣアドレスとを用い、この設定変更指示データにしたがってスイッチングハブ５０に優先度設定変更処理を実行させるようにすれば良い。
【符号の説明】
【００８１】
１Ａ，１Ｂ，１Ｃ…ＬＡＮ、４０Ａ，４０Ｂ，４０Ｃ，４０Ｄ，４０Ｅ，４０Ｆ…通信端末、５０Ａ，５０Ｂ，５０Ｃ，５０Ｄ，５００…スイッチングハブ、６０…ルータ、４１０…制御部、４２０，５１０，６１０…通信Ｉ／Ｆ部、４３０…ユーザＩ／Ｆ部、５２０…スイッチングエンジン部、４４０，５３０，６３０…記憶部、４４２…不揮発性記憶部、４４４…揮発性記憶部、６２０…ルーティングエンジン部、４５０…バス。
【図１】
0005640853.tif 000002
【図２】
0005640853.tif 000003
【図３】
0005640853.tif 000004
【図４】
0005640853.tif 000005
【図５】
0005640853.tif 000006
【図６】
0005640853.tif 000007
【図７】
0005640853.tif 000008
【図８】
0005640853.tif 000009
【図９】
0005640853.tif 000010
【図１０】
0005640853.tif 000011
【図１１】
0005640853.tif 000012
【図１２】
0005640853.tif 000013
【図１３】
0005640853.tif 000014
【図１４】
0005640853.tif 000015