JP2012205012A - 通信システム、ルータ、スイッチングハブ、およびプログラム - Google Patents

通信システム、ルータ、スイッチングハブ、およびプログラム Download PDF

Info

Publication number
JP2012205012A
JP2012205012A JP2011066591A JP2011066591A JP2012205012A JP 2012205012 A JP2012205012 A JP 2012205012A JP 2011066591 A JP2011066591 A JP 2011066591A JP 2011066591 A JP2011066591 A JP 2011066591A JP 2012205012 A JP2012205012 A JP 2012205012A
Authority
JP
Japan
Prior art keywords
communication
frame
priority
router
switching
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2011066591A
Other languages
English (en)
Other versions
JP5640853B2 (ja
Inventor
Naoto Kuriyama
直人 栗山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP2011066591A priority Critical patent/JP5640853B2/ja
Priority to CN201280014958.5A priority patent/CN103477594B/zh
Priority to PCT/JP2012/057242 priority patent/WO2012128301A1/ja
Publication of JP2012205012A publication Critical patent/JP2012205012A/ja
Application granted granted Critical
Publication of JP5640853B2 publication Critical patent/JP5640853B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2408Traffic characterised by specific attributes, e.g. priority or QoS for supporting different services, e.g. a differentiated services [DiffServ] type of service

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)
  • Telephonic Communication Services (AREA)

Abstract

【課題】設定作業の煩雑さを軽減しつつ、各通信端末の実行するデータ通信の優先度に応じた転送制御を各スイッチングハブに行わせることを可能にする。
【解決手段】複数のスイッチングハブを含むネットワークを他のネットワークに接続するルータから配下のネットワークに含まれる通信端末へ向けて、各通信端末の行うデータ通信の優先度を問い合せる制御フレームをマルチキャストさせる。そして、当該優先度を示す優先度データが書き込まれた応答フレームの受信を契機とし、当該フレームの送信元の通信端末へ至る通信経路上のスイッチングハブの各々に対して、当該優先度データの示す優先度に応じた態様でフレームの転送制御を行う旨の指示を与える処理を当該ルータに実行させる。一方、各スイッチングハブには、ルータから与えられる指示に応じてフレームの転送制御の態様を切り替える処理を実行させる。
【選択図】図1

Description

この発明は、LAN(Local
Area Network)などの通信網を介して行われる各種データ通信の優先度制御に関する。
近年、企業等においては、支店などの各拠点にLAN(以下、拠点内LAN)を敷設し、これら拠点内LANをルータによってインターネットなどのIP(Internet Protocol)網に接続して企業内情報システムを構築することが一般に行われている。このような拠点内LANは複数のスイッチングハブをカスケード接続して構成されることが多く、各ユーザ(例えば、企業の従業者)の使用する通信端末はそれらスイッチングハブの何れかに接続される。ここで、ルータとは、OSI(Open Systems Interconnection)参照モデルにおける第3層(ネットワーク層)の通信プロトコルにしたがってパケット(第3層におけるデータの送受信単位)の転送制御を行う中継装置である。また、スイッチングハブとは、OSI参照モデルにおける第2層(データリンク層)の通信プロトコルにしたがってフレーム(第2層におけるデータの送受信単位)の転送制御を行う中継装置であり、L2スイッチとも呼ばれる。
一般に、企業内情報システムでは、VoIP(Voice Over Internet Protocol)に従った音声データの送受信や、HTTP(Hyper Text Transport Protocol)などにしたがったテキストデータの送受信など、様々な種類のデータ通信が行われる。例えば、拠点間の遠隔会議ではVoIPにしたがった音声データの送受信が行われ、社内掲示板の閲覧または書き込みの際にはテキストデータの送受信が行われる、といった具合である。このように、様々な種類のデータ通信が同時かつ並列に行われ得る場合には、データ通信の種類毎に優先度を予め定めておき、優先度の高いデータ通信が優先度の低いデータ通信によって阻害されないようにする必要がある。例えば、VoIPにしたがって行われるデータ通信の優先度を、HTTPにしたがって行われるデータ通信の優先度よりも高くしておき、後者によって前者が妨げられないようにするのである。前者が後者によって妨げられると、遠隔会議における各会議参加者の発言を表す音声が途切れ途切れに再生されるなどして会議の運営に支障が生じるからである。
データ通信の種類毎に優先度を予め定めておき、優先度の高いデータ通信が優先度の低いデータ通信によって阻害されないようにする技術の一例としては、QoS(Quality of Service)が挙げられる。QoSとは、各スイッチングハブがフレームの転送制御を行う際に、優先度の高いデータ通信に関するフレームの転送を他のフレームよりも優先的に行うようにすることである。上記のような企業内情報システムの場合、各拠点内LANの運用管理者は、当該拠点内LANに含まれるスイッチングハブの各々に対して、どのような種類のデータ通信を行う通信端末が直接接続されているのか或いは間接的に(すなわち、他のスイッチングハブを介して)接続されるのかを把握した上でそれらデータ通信の優先度との関係でQoSの設定を適切に行うといった煩雑な作業を行わなければならない。このため、QoSの設定に関する煩雑さを軽減するための技術が種々提案されており、その一例としては特許文献1に開示された技術が挙げられる。特許文献1に開示された技術では、音声データの送受信を行う通信端末のMAC(Media Access Control)アドレスと当該音声データを内包したフレームの転送制御の際のQoSの設定内容とを対応付けて各スイッチングハブに予め記憶させておく。そして、自装置のMACアドレステーブルに当該MACアドレスが格納されたことを契機として当該MACアドレスに対応する通信ポートに対して上記設定を適用する処理を各スイッチングハブに実行させるのである。
特開2005−184192号公報
特許文献1に開示された技術によれば、音声データ通信を行う通信端末と各スイッチングハブとの接続関係を事前に把握する必要がなくなるという点では運用管理者の作業負荷は軽減される。しかし、特許文献1に開示された技術では、LANに含まれる全てのスイッチングハブに対して、音声データ通信を行う通信端末のMACアドレスとQoSの設定内容とを対応付けて記憶させておくといった作業を事前に行っておく必要があり、運用管理者の作業負荷の軽減が充分ではない。
本発明は上記課題に鑑みて為されたものであり、設定作業の煩雑さを軽減しつつ、各通信端末の実行するデータ通信の優先度に応じた転送制御を各スイッチングハブに行わせることを可能にする技術を提供することを目的とする。
上記課題を解決するために本発明は、配下のネットワークと他のネットワークとを接続するルータと、前記ルータの配下のネットワークに含まれる複数のスイッチングハブと、前記複数のスイッチングハブの何れかに各々接続される複数の通信端末とを含む通信システムにおいて、前記ルータは、前記複数の通信端末の各々に対しては当該通信端末の行うデータ通信の優先度を示す優先度データと当該通信端末に対してフレームの転送を行った通信装置を示す隣接機器情報の送信とを要求し、前記複数のスイッチングハブの各々に対しては当該スイッチングハブについての隣接機器情報の送信を要求する要求フレームに転送元識別子として自装置の通信アドレスを付与して前記ネットワークに向けてマルチキャストする第1の手段と、前記複数の通信端末の各々から当該通信端末についての前記優先度および隣接機器情報を通知するために返信されてくる優先度通知フレーム、および前記複数のスイッチングハブの各々から当該スイッチングハブについての隣接機器情報を通知するために返信されてくる隣接機器通知フレームを受信し、当該ルータから前記複数の通信端末の各々へ至る通信経路上のスイッチングハブを通信端末毎に特定し、各通信経路上のスイッチングハブに対して当該通信経路の終端に位置する通信端末の優先度データと当該通信経路を示す情報とを送信し、当該通信経路に沿って送受信されるフレーム(すなわち、当該通信経路の終端に位置する通信端末を送信先または送信元とするフレーム)の転送制御を当該優先度データの示す優先度で行うよう指示する第2の手段と、を有し、前記複数のスイッチングハブの各々は、自装置に対してフレームの転送を行った通信装置を示す隣接機器情報を記憶する隣接機器テーブルと、受信したフレームに転送元識別子が付与されている場合には当該転送元識別子を隣接器機器情報として前記隣接機器テーブルに書き込んだ後に当該転送元識別子を自装置の通信アドレスに書き換えて当該フレームの宛先に応じた転送制御を行う第3の手段と、受信フレームが前記要求フレームである場合には、前記隣接機器テーブルに格納されている隣接機器情報を書き込んだ隣接機器通知フレームを生成し、自装置の通信アドレスを転送元識別子として付与して返信する第4の手段と、前記ルータから受信した情報の示す通信経路に沿って送受信されるフレームの転送制御が当該情報とともに受信した優先度データの示す優先度で行われるように、当該スイッチングハブにおけるフレームの転送制御の態様を切り換える第5の手段と、を有し、前記複数の通信端末の各々は、前記要求フレームの受信を契機として当該要求フレームに付与されている転送元識別子を当該通信装置についての隣接機器情報として記憶する第6の手段と、自端末が行うデータ通信の優先度を示す優先度データを書き込んだ前記優先度通知フレームに転送元識別子として自装置の通信アドレスを付与して返信する第7の手段とを有することを特徴とする通信システム、を提供する。
このような通信システムにおいては、各通信端末に当該通信端末が行うデータ通信の優先度を示す優先度データを予め記憶させておけば、ルータから当該通信端末へ至る通信経路上の各スイッチングハブのフレーム転送制御における優先度の設定が自動的に変更される。このため、上記通信システムによれば、各スイッチングハブに対して特段の設定作業を行うことなく、各通信端末の実行するデータ通信の優先度に応じた転送制御を各スイッチングハブに行わせることが可能になる。
より好ましい態様においては、前記第5の手段は、前記ルータから受信した情報の示す通信経路の終端に位置する通信端末を送信元とするフレームを受信した場合に、当該フレームのペイロード部に書き込まれているパケットについての第3層におけるパケットの転送制御が当該優先度データの示す優先度に応じて行われるように当該パケットのヘッダ部を書き換えることを特徴とする。このような態様によれば、ルータから他のネットワークへ送出されたパケットが当該他のネットワークにおける第3層の転送制御の際に優先的に取り扱われることが期待される。ここで、第3層における転送制御の際の優先度が高くなるように当該パケットのヘッダ部を書き換えることの具体例としては、DSCP(Diff Serv Code Point)値や、CoS値或いはTOS値を高い優先度を表す値に書き換えることが挙げられる。
また、上記課題を解決するために本発明は、配下のネットワークに含まれる複数のスイッチングハブの各々に対しては当該スイッチングハブに対してフレームの転送を行った通信装置を示す隣接機器情報の送信を要求し、前記複数のスイッチングハブの各々に接続される各通信端末に対しては当該通信端末の行うデータ通信の優先度を示す優先度データと当該通信端末についての隣接機器情報の送信を要求する要求フレームに自装置の通信アドレスを転送元識別子として付与して前記ネットワークに向けてマルチキャストするマルチキャスト手段と、前記複数の通信端末の各々から当該通信端末についての前記優先度および隣接機器情報を通知するために返信されてくる優先度通知フレーム、および前記複数のスイッチングハブの各々から当該スイッチングハブについての隣接機器情報を通知するために返信されてくる隣接機器通知フレームを受信し、当該ルータから前記複数の通信端末の各々へ至る通信経路上のスイッチングハブを通信端末毎に特定し、各通信経路上のスイッチングハブに対して当該通信経路の終端に位置する通信端末の優先度データと当該通信経路を示す情報とを送信し、当該通信経路に沿って送受信されるフレームの転送制御を当該優先度データの示す優先度で行うよう指示する優先度設定制御手段とを有すことを特徴とするルータ、を提供する。このようなルータを、上記スイッチングハブ、および上記通信端末と組み合わせることで、上記通信システムを構成することができるからである。
また、本発明の別の態様としては、コンピュータを上記マルチキャスト手段および優先度設定制御手段として機能させるプログラムを提供する態様も考えられる。このようなプログラムを一般的なコンピュータにインストールし、当該コンピュータの制御部を当該プログラムにしたがって作動させることで、当該コンピュータを本発明のルータとして機能させることができるからである。また、一般的なルータに上記プログラムをインストールし、当該ルータのルーティング制御部を上記プログラムにしたがって作動させることで、一般的なルータに本発明のルータの特徴を顕著に示す機能を付与することが可能になる。なお、上記プログラムの具体的な提供態様としては、例えばCD−ROM(Compact Disk-Read Only Memory)やDVD(Digital Versatile Disc)などのコンピュータ読み取り可能な記録媒体に書き込んで配布する態様や、インターネットなどの電気通信回線経由のダウンロードにより配布する態様が考えられる。
また、上記課題を解決するために本発明は、自装置に対してフレームの転送を行った通信装置を示す隣接機器情報を記憶する隣接機器テーブルと、受信したフレームの転送制御をその宛先に応じて行う手段であって、当該受信フレームに転送元識別子が付与されている場合には当該転送元識別子を隣接器機器情報として前記隣接機器テーブルに書き込んだ後に当該転送元識別子を自装置の通信アドレスに書き換えて当該フレームの宛先に応じた転送制御を行うフレーム転送制御手段と、受信フレームが当該スイッチングハブにフレームを転送した通信装置を示す隣接機器情報の送信を要求するために当該スイッチングハブを含むネットワークを他のネットワークに接続するルータから送信された要求フレームである場合には、前記隣接機器テーブルに格納されている隣接機器情報を書き込んだ隣接機器通知フレームを生成し、自装置の通信アドレスを転送元識別子として付与して返信する隣接機器通知手段と、前記ルータから受信した情報の示す通信経路に沿って送受信されるフレームの転送制御が当該情報とともに受信した優先度データの示す優先度で行われるように、当該スイッチングハブにおけるフレームの転送制御の態様を切り換える優先度設定変更手段と、を有することを特徴とするスイッチングハブ、を提供する。このようなスイッチングハブを、前述したマルチキャスト手段および優先度設定制御手段を有するルータ、および上記通信端末と組み合わせることで、上記通信システムを構成することができるからである。また、本発明の別の態様においては、コンピュータを、隣接機器情報を記憶する記憶手段、フレーム転送制御手段、隣接機器通知手段および優先度設定変更手段として機能させるプログラムを提供する態様が考えられる。
本発明の第1実施形態の企業内情報システムの構成例を示す図である。 同システムに含まれる通信端末40の構成例を示す図である。 同通信端末40の制御部410が実行する優先度通知処理の流れを示すフローチャートである。 同システムに含まれるルータ60の配下のネットワークにおいて送受信されるフレームのデータ構造の一例を示す図である。 同システムに含まれるスイッチングハブ50の構成例を示す図である。 同スイッチングハブ50のスイッチングエンジン部520がファームウェアにしたがって実行する処理の流れを示すフローチャートである。 同ルータ60の構成例を示す図である。 同ルータ60のルーティングエンジン部620がファームウェアにしたがって実行する優先度設定制御処理の流れを示すフローチャートである。 LAN1Aにおける各装置の接続関係の一例を示す図である。 本実施形態の動作を説明するための図である。 本実施形態の動作を説明するための図である。 本実施形態の効果を説明するための図である。 本発明の第2実施形態のLAN1Cの構成例を示す図である。 ルータ60Aが生成するトポロジデータから把握されるLAN1Cのネットワークトポロジを説明するための図である。
以下、図面を参照しつつ、この発明の実施形態について説明する。
<A:第1実施形態>
<A−1:構成>
図1は、本発明の一実施形態の通信システムの構成例を示す図である。この通信システムは、前述した企業内情報システムであり、企業の支店などの拠点に敷設される拠点内LANであるLAN1AとLAN1BをインターネットなどのIP網に接続して構成されている。図1に示すように、LAN1Aは、ルータ60Aと、2台のスイッチングハブ(スイッチングハブ50Aおよび50B)と、3台の通信端末(通信端末40A、40Bおよび40C)と、を含んでおり、ルータ60Aを介してIP網に接続される。図1に示すように、ルータ60Aにはスイッチングハブ50Aが接続されており、スイッチングハブ50Aにはスイッチングハブ50Bと通信端末40Aとが接続されている。そして、スイッチングハブ50Bには通信端末40Bと40Cが接続されている。一方、LAN1Bは、ルータ60Bと、スイッチングハブ50Cと、3台の通信端末(通信端末40D、40Eおよび40F)と、を含んでおり、ルータ60Bを介してIP網に接続される。図1に示すように、ルータ60Bにはスイッチングハブ50Cが接続されており、スイッチングハブ50Cには通信端末40D、40Eおよび40Fの各々が接続される。
図1に示す6台の通信端末は、例えばパーソナルコンピュータであり、全て同一の構成を有している。以下では、これら6台の通信端末の各々を区別する必要がない場合には、「通信端末40」と表記する。図1に示す3台のスイッチングハブも全て同一の構成を有しており、これら3台のスイッチングハブの各々を区別する必要がない場合には、「スイッチングハブ50」と表記する。同様に、図1に示すルータ60Aおよび60Bの各々も同一の構成を有しており、これら2台のルータの各々を区別する必要がない場合には、「ルータ60」と表記する。
通信端末40は、ルータ60の配下のネットワーク(ルータ60によってIP網に接続され、ルータ60をデフォルトゲートウェイとするネットワーク、ルータ60AであればLAN1A、ルータ60BであればLAN1B)に含まれるスイッチングハブ50に接続されることで、当該ネットワークに収容される。ルータ60の配下のネットワークに収容された通信端末40は、他の通信装置(例えば、LAN1Aに収容されている他の通信端末や他の拠点内LANに収容されている通信端末、或いはIP網に接続されているWWWサーバなど)との間でデータ通信を行う。より詳細に説明すると、図1に示す6台の通信端末のうち、通信端末40A、40B、40Dおよび40Eの各々はVoIPにしたがって音声パケットの送受信を行うVoIP端末である。ここで、音声パケットとは、端末使用者の発話音声を表す音声データが圧縮符号化されてペイロード部に書き込まれたパケットのことである。これら4台のVoIP端末のうち、通信端末40Bと40Eは遠隔会議などの一般的な音声通信に利用され、通信端末40Aと40Dは例えば火災通報などの緊急音声通信にのみ利用される。また、通信端末40Cおよび40Fは例えばHTTPにしたがってテキストデータの送受信を行うなど、音声データ以外のデータの送受信を行う端末である。
スイッチングハブ50は、第2層においてデータ通信を中継する中継装置であり、フレームの送信先MACアドレスに基づく転送制御を行う。ルータ60は、第3層においてデータ通信を中継する中継装置である。例えば、ルータ60は、IP網から受信したパケットの送信先IPアドレスが配下のネットワークに収容された通信端末40のものであれば、そのパケットを配下のネットワークへと転送し、その送信先IPアドレスが配下のネットワークに収容された通信端末40のものではない場合にはルーティングテーブルの格納内容にしたがって他のルータへ転送する、といった具合である。
前述したように、図1に示すLAN1AおよびLAN1Bの各々において、各通信端末40は、一般的な音声通信、緊急音声通信、および音声通信以外のデータ通信の3種類のデータ通信を行う。これら3種類のデータ通信の優先度は互いに異なっている。具体的には、通信端末40A或いは40Dが行う緊急音声通信の優先度が最も高く、次いで通信端末40B或いは40Eが行う音声通信の優先度が高く、通信端末40C或いは40Fが行うデータ通信の優先度が最も低い、といった具合である。このため、LAN1A(或いはLAN1B)においては、通信端末40A(或いは、通信端末40D)が送受信するフレームの転送が最優先で行われ、通信端末40B(或いは、通信端末40E)が送受信するフレームの転送は次に高い優先度で行われるように各スイッチングハブ50におけるフレーム転送制御の設定が行われている必要があり、ルータ60におけるパケット転送制御の設定についても同様である。
従来、これらの設定については、LAN1A(或いはLAN1B)の運用管理者によって人手で行われることが一般的であった。これに対して、本実施形態では、通信端末40、スイッチングハブ50およびルータ60の各々に本実施形態の特徴を顕著に示す処理を実行させることで、スイッチングハブ50に対するフレーム転送制御の設定、およびルータ60に対するパケット転送制御の設定が自動的に行われる。以下、通信端末40、スイッチングハブ50、およびルータ60について詳細に説明する。
<A−1−1:通信端末40の構成>
図2は、通信端末40の構成を示すブロック図である。図2に示すように、通信端末40は、制御部410、通信インタフェース(以下、I/F)部420、ユーザI/F部430、記憶部440、およびこれら構成要素間のデータ授受を仲介するバス450を含んでいる。制御部410は、CPUであり、記憶部440に格納されているプログラムを実行することで通信端末40の制御中枢として機能する。通信I/F部420は、例えばNIC(Network Interface Card)である。通信I/F部420は、その接続先のスイッチングハブ50から転送されてくるデータを受信して制御部410に引き渡す一方、制御部410から引き渡されたデータを当該スイッチングハブ50に向けて送出する。
ユーザI/F部430は、音声の入出力を行うための音声入出力部や、各種画面を表示する表示部、テンキーなど各種データの入力をユーザに行わせるための操作部(何れも図示略)を含んでいる。通信端末40A、40B、40Dおよび40Eでは、ユーザI/F部430を介してユーザの音声が入力されるとともに、通話相手の音声の出力が行われる。また、通信端末40Cおよび40Fでは、ユーザI/F部430を介して各種データ(相手方へ送信するテキストデータなど)の入出力が行われる。
記憶部440は、図2に示すように、不揮発性記憶部442と揮発性記憶部444とを含んでいる。不揮発性記憶部442は、例えばハードディスクである。この不揮発性記憶部442には、VoIPにしたがった音声通信やHTTPにしたがったテキストデータの送受信などを行うための通信プログラム(図2では、図示略)が格納されている。また、不揮発性記憶部442には、図3に示す優先度通知処理を制御部410に実行させるための優先度通知プログラムと、当該通信端末40が実行するデータ通信の優先度を示す優先度データとが格納されている。この優先度通知処理の処理内容については後に明らかにする。本実施形態では、優先度データとして“0”、“1”または“2”の何れかの値のデータが使用される。より詳細に説明すると、通信端末40Aと40Dには優先度データとして“0”が、通信端末40Bと40Eには優先度データとして“1”が、通信端末40Cと40Fには優先度データとして“2”が予め格納されている。つまり、本実施形態の優先度データは、その値が小さいほど高い優先度を表すのである。不揮発性記憶部442への優先度データの書き込みは、例えばユーザI/F部430に対する操作によって通信端末40のユーザ、或いは当該通信端末40を収容するネットワークの運用管理者に予め行わせておけば良い。
揮発性記憶部444は、例えばRAM(Random Access Memory)であり、通信プログラムや優先度通知プログラムなどの各種プログラムを実行する際のワークエリアとして利用される。また、揮発性記憶部444には、図2に示すように、隣接機器情報が格納される。ここで、隣接機器情報とは、当該通信端末40に対してフレームの転送を行った中継装置を示す情報(本実施形態では、当該通信端末40の接続先のスイッチングハブ50のMACアドレス)である。詳細については後述するが揮発性記憶部444への隣接機器情報の書き込みは、優先度通知プログラムの実行過程で行われる。以下では、優先度通知プログラムにしたがって実行される優先度通知処理の処理内容の詳細な説明に先立って、ルータ60の配下のネットワークにおいて送受信されるフレームのデータ構造を説明しておく。
図4(A)は、ルータ60の配下のネットワークにおいて送受信される一般的なフレームのデータ構造を示す図である。図4(A)に示すように、フレームは、ヘッダ部と、ペイロード部とを有している。ヘッダ部には、送信先MACアドレス、送信元MACアドレス、および種別識別子が格納される。送信先MACアドレスとは当該フレームの宛先となる機器のMACアドレスであり、送信元MACアドレスとは、フレームを送信した機器のMACアドレスである。種別識別子とは、当該フレームの種別(例えば、ペイロード部にどのような種類のパケットが書き込まれているか等)を示すデータである。
ルータ60の配下のネットワークにおいて送受信されるフレームのうち、本実施形態の特徴を顕著に示すものとしては、要求フレーム、優先度通知フレーム、隣接機器通知フレーム、および設定変更指示フレームの4種類が挙げられる。これら4種類のフレームについては種別識別子として共通の値(音声通信に関するフレームやテキストデータのデータ通信に関するものとは異なる値)が書き込まれる。要求フレームとは、ルータ60が、配下のネットワークに収容された通信端末40に対しては優先度通知フレームの返信を、同ネットワークに含まれるスイッチングハブ50に対しては隣接機器通知フレームの返信を、各々要求するために配下のネットワークへマルチキャストするフレームである。優先度通知フレームとは、通信端末40が上記要求フレームに対する応答として返信(ユニキャスト)するフレームであり、隣接機器通知フレームとは、スイッチングハブ50が上記要求フレームに対する応答として当該要求フレームの送信元へ返信(ユニキャスト)するフレームである。以下では、隣接機器通知フレームと優先度通知フレームとを区別する必要がない場合には、単に「通知フレーム」と表記する。そして、設定変更指示フレームとは、ルータ60が配下のネットワークに含まれるスイッチングハブ50に対してフレーム転送制御における優先度の設定変更を指示するために送信するフレームである。
図4(B)は、要求フレームのペイロード部のデータ構造を示す図である。図4(B)に示すように要求フレームのペイロード部には、送信先MACアドレス、送信元MACアドレス、メッセージ種別識別子、および転送元識別子が書き込まれる。要求フレームのペイロード部の送信先MACアドレスは、同フレームにヘッダ部に書き込まれている送信先MACアドレスと同一であり、同ペイロード部の送信元MACアドレスについても同様である。メッセージ種別識別子には、当該フレームが上記4種類のフレームの何れであるのかを示す値がセットされる。例えば、メッセージ種別識別子として文字コードデータを用いる場合には、要求フレームにはメッセージ種別識別子として“1”(或いは“A”)を示す文字コードが、優先度通知フレームにはメッセージ識別子として“2”(或いは“B”)を示す文字コードが、隣接機器通知フレームにはメッセージ識別子として“3”(或いは“C”)を示す文字コードが、設定変更指示フレームにはメッセージ種別識別子として“4”(或いは“D”)を示す文字コードが各々セットされる、といった具合である。転送元識別子には、要求フレームの送信の際にはその送信元のMACアドレスがセットされ、スイッチングハブ50によって当該フレームの転送が行われるたびに当該転送を行ったスイッチングハブ50のMACアドレスに書き換えられる。詳細については後述するが、スイッチングハブ50および通信端末40は、要求フレームを受信した場合に、当該要求フレームの転送元識別子を参照することで、自装置に対して当該要求フレームの転送を行った中継装置を特定することができるのである。
図4(C)は、隣接機器通知フレームのペイロード部のデータ構造を示す図である。図4(C)に示すように、隣接機器通知フレームのペイロード部には、送信先MACアドレス、送信元MACアドレス、メッセージ種別識別子、および転送元識別子の他に、隣接機器情報リストが書き込まれる。詳細については後述するが、隣接機器情報リストとは、当該隣接機器通知フレームの送信元のスイッチングハブに対してフレームの転送を行った機器のMACアドレスと当該フレームを受信した通信ポートとの対応関係を表す情報である。図4(D)は、優先度通知フレームのペイロード部のデータ構造を示す図である。図4(D)に示すように、優先度通知フレームのペイロード部には、送信先MACアドレス、送信元MACアドレス、メッセージ種別識別子および転送元識別子の他に、当該優先度通知フレームの送信元の通信端末40の隣接機器情報と優先度データとが書き込まれる。詳細については後述するが、ルータ60およびスイッチングハブ50は、これら通知フレームを受信した場合に、当該通知フレームの転送元識別子を参照することで、自装置に対して当該通知フレームの転送を行った装置を特定することができるのである。
図4(E)は、設定変更指示フレームのペイロード部のデータ構造を示す図である。図4(E)に示すように、設定変更指示フレームのペイロード部には、送信先MACアドレスと、送信元MACアドレスと、メッセージ種別識別子とが書き込まれる他、設定変更指示データが書き込まれる。設定変更指示データには、当該設定変更指示フレームの送信先のスイッチングハブ50に対して優先度設定を変更するべき通信ポートを示すポート識別子と当該優先度を示す優先度データとが含まれている。以上がルータ60の配下のネットワークにおいて送受信されるフレームのデータ構造である。
次いで、図3を参照しつつ優先度通知処理の詳細について説明する。この優先度通知処理は、要求フレームの受信を契機として実行される。ここで、受信フレームが要求フレームであるか否かについては、当該受信フレームのペイロード部に書き込まれているメッセージ種別識別子を参照して判定するようにすれば良い。図3に示すように、優先度通知処理では、制御部410は、まず、受信した要求フレームのペイロード部に書き込まれている転送元識別子を隣接機器情報として揮発性記憶部444に書き込む(ステップSA100)。次いで、制御部410は、前述した優先度通知フレームを生成し、上記要求フレームの送信元へ返信(ユニキャスト)する(ステップSA110)。このステップSA110にて制御部410が返信する優先度通知フレームのペイロード部には、転送元識別子として当該通信端末40のMACアドレスが書き込まれるとともに、揮発性記憶部444に格納されている隣接機器情報が書き込まれ、さらに、不揮発性記憶部442に格納されている優先度データが書き込まれる。
以上が通信端末40の構成である。
<A−1−2:スイッチングハブ50の構成>
図5は、スイッチングハブ50の構成を示すブロック図である。図5に示すように、スイッチングハブ50は、通信I/F部510、スイッチングエンジン部520、および記憶部530を有している。通信I/F部510は、複数の通信ポートを有している。これら複数の通信ポートの各々には、例えば100BASE−Tなどの通信ケーブルを介して他の通信装置(本実施形態では、ルータ60や他のスイッチングハブ50、或いは通信端末40)が接続される。これら複数の通信ポートの各々には、通信ポート毎に固有のポート識別子(例えば、ポート番号)が予め割り当てられており、このポート識別子を用いて各通信ポートを一意に識別することができる。通信I/F部510は、各通信ポートを介して受信したフレームをスイッチングエンジン部520に与える一方、スイッチングエンジン部520から与えられるフレームを同スイッチングエンジン部520によって指示された通信ポートから送出する。
記憶部530は、例えばRAMなどの揮発性メモリとEPROM(Erasable Programmable Read Only Memory)などの不揮発性メモリとを含んでいる(図5では、何れも図示略)。この不揮発性メモリには、本発明のスイッチングハブの特徴を顕著に示す処理をスイッチングエンジン部520に実行させるためのファームウェア(プログラム)が予め記憶されている。一方、揮発性メモリは、上記ファームウェアを実行する際のワークエリアとしてスイッチングエンジン部520によって利用される。また、上記揮発性メモリは、通信I/F部510によって受信されたフレームを一時的に記憶しておくためのバッファの役割を果たし、さらに、この揮発性メモリには、図5のMACアドレステーブルと同図5の隣接機器テーブルとが格納される。
図5のMACアドレステーブルは、従来のスイッチングハブが有するものと特段に変るところはない。このMACアドレステーブルには、通信I/F部510によって受信したフレームの送信元MACアドレスに対応付けて当該フレームを受信した通信ポートのポート識別子が格納される。MACアドレステーブルへのMACアドレスおよびポート識別子の書き込みは、後述するフレーム転送制御に伴って行われる。例えば、ルータ60のMACアドレス解決のために通信端末40から送信されたフレーム(ペイロード部にARP(Address Resolution Protocol)パケットが書き込まれたフレーム)の転送過程では、当該フレームの送信元MACアドレス(すなわち、通信端末40のMACアドレス)と当該フレームの受信ポートのポート識別子とを対応付けてMACアドレステーブルに書き込む処理が行われる。一方、当該フレームに対する応答フレームの転送過程では、当該フレームの送信元MACアドレス(すなわち、ルータ60のMACアドレス)と当該フレームの受信ポートのポート識別子とを対応付けてMACアドレステーブルに書き込む処理が行われる。このMACアドレステーブルの格納内容は、送信先MACアドレスに基づくフレームの転送制御を行う際に利用される。
隣接機器テーブルには、通信I/F部510が有する複数の通信ポートの各々のポート識別子に対応付けて、当該通信ポートを介して受信したフレームの転送元の通信装置を一意に示す接続先識別子(本実施形態では、当該通信装置のMACアドレス)が格納される。この隣接機器テーブルは、スイッチングハブ50の電源(図示略)が投入されたことを契機として、各接続先識別子をNULL(0x00)とした状態で生成される。そして、予め定められた特定のフレーム(本実施形態では、前述した要求フレームおよび通知フレーム)の中継をスイッチングハブ50が行うことに伴って、当該テーブルの格納内容の更新(すなわち、これらフレームを受信した通信ポートのポート識別子に対応する接続先識別子を当該フレームの転送元識別子に書き換えること)が行われる。
スイッチングエンジン部520は、例えばCPUである。スイッチングエンジン部520は、記憶部530に記憶されているファームウェアを実行することで、スイッチングハブ50の制御中枢として機能する。このファームウェアにしたがって作動しているスイッチングエンジン部520は、何れかの通信ポートを介してフレームを受信するたびに、当該フレームを揮発性メモリ内のバッファに書き込み、それらフレームの各々について図6のフローチャートに示す処理を実行する。図6に示すように、上記ファームウェアにしたがってスイッチングエンジン部520が実行する処理としては、フレーム転送制御処理、隣接機器通知フレーム送信処理、および優先度設定変更処理の3つが挙げられる。
図6に示すように、スイッチングエンジン部520は、まず、受信したフレームが自装置宛に送信された設定変更指示フレームであるか否かを、当該受信フレームのヘッダ部の送信先MACアドレスと同ペイロード部のメッセージ種別識別子とを参照して判定する(ステップSB100)。すなわち、送信先MACアドレスが自装置のMACアドレスであり、かつメッセージ種別識別子が設定変更指示フレームを示すものである場合に上記ステップSB100の判定結果は“Yes”となる。そして、スイッチングエンジン部520は、ステップSB100の判定結果が“Yes”である場合には、優先度設定変更処理(ステップSB110)を実行し、逆に、ステップSB100の判定結果が“No”である場合には、フレーム転送制御処理を実行する。
ステップSB100の判定結果が“No”である場合に実行されるフレーム転送制御処理は、受信フレームの送信先MACアドレスに基づいて当該受信フレームの転送制御を行う処理(ステップSB190)を含んでいる。ここで、受信フレームの送信先MACアドレスに基づく転送制御とは、当該送信先MACアドレスがユニキャストアドレスではない場合、または当該送信先MACアドレスがMACアドレステーブルに格納されていないユニキャストアドレスである場合には、当該受信フレームのフラッディングを行う一方、当該送信先MACアドレスがMACアドレステーブルに格納されたユニキャストアドレスである場合には、当該MACアドレスに対応付けてMACアドレステーブルに格納されているポート識別子の示す通信ポートのみから当該受信フレームを送出することである。ここでユニキャストアドレスではないMACアドレスとしては、マルチキャストアドレスまたはブロードキャストアドレスが挙げられる。また、フラッディングとは、受信フレームを受信した通信ポート以外の全ての通信ポートから当該受信フレームを送出することである。この送信先MACアドレスに基づく転送制御については従来のスイッチングハブにおけるものと特段に変るところはない。換言すれば、従来のスイッチングハブでは、フレーム転送制御処理として上記送信先MACアドレスに基づく転送制御(すなわち、ステップSB190の処理)のみが実行されるのである。
ステップSB100の判定結果が“Yes”である場合に実行される優先度設定変更処理は、揮発性メモリ内のバッファに蓄積されているフレームの各々に対してステップSB190の処理を行う際の優先度をルータ60から与えられる指示に応じて変更する処理である。本実施形態の優先度設定変更処理は、VLAN(Virtual Local Area Network)設定の変更とQoSの設定変更とを含んでいる。ここで、VLAN設定とは、ルータ60から優先度設定の変更を指示された通信ポートをフラッディングの対象から除外して仮想的にネットワークセグメントを分離することである。VLAN設定によって、ネットワークセグメントを分離された通信ポートには、他のネットワークセグメントの通信ポートを介して受信したマルチキャストフレームは送出されないため、当該通信ポートを介して行われるデータ通信がマルチキャストフレームの転送によって阻害されることがなくなる。一方、QoSとは、ステップSB190の処理においてフレームをその宛先に応じた通信ポートへ送出する処理を行う際に、当該フレームよりも優先度の高いフレームがバッファに蓄積されている間は、当該フレームの送出を見合わせることである。このようなQoSを行うことによって、高い優先度を割り当てられたフレームの転送制御が、優先度の低いフレームの転送制御によって阻害されることを回避することができる。本実施形態の優先度設定変更処理では、スイッチングエンジン部520は、優先度を“0”とすべきことを指示された通信ポートについては、前述したVLAN設定によるネットワークセグメントの分離を行うとともに、当該通信ポートを介して受信したフレーム(或いは、当該通信ポートへ送出するフレーム)についてのQoSにおける優先度を最も高く設定する。また、優先度を“1”とすべきことを指示された通信ポートについては、スイッチングエンジン部520は、QoSの設定変更のみを行い、QoSにおける優先度を2番目に高く設定する。
本実施形態のフレーム転送制御処理は、前述したステップSB190の処理の他に、ステップSB120〜SB160の処理を含んでいる。図3に示すように、スイッチングエンジン部520は、まず、当該受信フレームのペイロード部に転送元識別子が書き込まれているか否かを判定する(ステップSB120)。ここで、受信フレームのペイロード部に転送元識別子が書き込まれているか否かについての具体的な判定手法としては種々のものが考えられる。例えば、受信フレームのペイロード部の該当領域を直接参照し、MACアドレスに相当するものが書き込まれているか否かによって判定する態様であっても良く、また、受信フレームが要求フレーム、隣接機器通知フレームおよび優先度通知フレームの何れかであるか否かによって判定する態様であっても良い。前述したように、ルータ60の配下のネットワークにおいて送受信されるフレームのうち、ペイロード部に転送元識別子が書き込まれているのは要求フレーム、隣接機器通知フレームおよび優先度通知フレームの3種類のみだからである。例えば、後者の態様の場合には、受信フレームのヘッダ部に書き込まれている種別識別子が上記4種類のフレームを示すものであり、かつ同ペイロード部に書き込まれているメッセージ種別識別子が要求フレーム、隣接機器通知フレームまたは優先度通知フレームの何れかを示すものである場合に、ステップSB120の判定結果は“Yes”になる。
ステップSB120の判定結果が“No”である場合には、スイッチングエンジン部520は、受信フレームが音声通信のために配下のネットワークからIP網へ向けて送出される音声通信フレーム(すなわち、ペイロード部に音声パケットが書き込まれたフレーム)であるか否かを、当該受信フレームのヘッダ部の送信先MACアドレスおよび種別識別子を参照して判定する(ステップSB130)。例えば、受信フレームの送信先MACアドレスが自装置の配下のネットワークに収容されている通信端末40のMACアドレスではなく、かつ、当該受信フレームの種別識別子がVoIPを示すものである場合に、ステップSB130の判定結果は“Yes”となる。スイッチングエンジン部520は、ステップSB130の判定結果が“Yes”である場合には、当該音声通信フレームのペイロード部に書き込まれている音声パケットのDSCP値をその送信元の優先度に応じて書き換え(ステップSB140)、その後、ステップSB190の処理を実行する。逆に、ステップSB130の判定結果が“No”である場合には、スイッチングエンジン部520は、ステップSB140の処理を行うことなくステップSB190の処理を実行する。DSCP値とは、第3層において音声パケットの転送制御を行う際の優先度を示す値である。詳細については後述するが、DSCP値の書き換えをスイッチングハブ50において行っておくことによって、ルータ60からIP網へと送出される音声パケットについて、IP網内でのパケット転送制御がその送信元の通信端末40の優先度に応じて行われるようにすることが期待される。なお、本実施形態では、ルータ60からIP網へと送出される音声パケットについて、IP網内でのパケット転送制御がその送信元の通信端末40の優先度に応じて行われるようにするために、DSCP値の書き換えを行ったが、CoS値やTOS値などの他の指標を用いても勿論良い。
これに対して、ステップSB120の判定結果が“Yes”である場合(すなわち、受信フレームが要求フレーム、優先度通知フレーム或いは隣接機器通知フレームの何れかである場合)には、スイッチングエンジン部520は、当該受信フレームを受信した通信ポートのポート識別子に対応付けて隣接機器テーブルに格納されている隣接機器識別子を、当該受信フレームの転送元識別子で書き換え(ステップSB150)、さらに、当該受信フレームの転送元識別子を自装置のMACアドレスに書き換える(ステップSB160)。次いで、スイッチングエンジン部520は、受信フレームが要求フレームであるか否かを受信フレームのペイロード部のメッセージ種別識別子を参照して判定し(ステップSB170)、その判定結果がYesである場合には、隣接機器通知フレーム送信処理(ステップSB170)を実行した後に、ステップSB190の処理を実行する。隣接機器通知フレーム送信処理では、スイッチングエンジン部520は、前述した隣接機器通知フレームを生成し、上記要求フレームの送信元へ返信(ユニキャスト)する。この隣接機器通知フレームのペイロード部には、隣接機器情報リストとして上記ステップSB150の処理により更新済みの隣接機器テーブルの格納内容が書き込まれる。逆に、ステップSB170の判定結果が“No”である場合には、スイッチングエンジン部520は、ステップSB180の処理を実行することなく、ステップSB190の処理を実行する。
以上がスイッチングハブ50の構成である。
<A−1−3:ルータ60の構成>
図7は、ルータ60の構成を示すブロック図である。図7に示すように、ルータ60は、通信I/F部610、ルーティングエンジン部620および記憶部630を有している。通信I/F部610は、スイッチングハブ50の通信I/F部510と同様に複数のポートを有しており、各ポートには固有のポート識別子が割り当てられている。例えば、ルータ60Aでは、これら複数のポートのうちの2つに、IP網とスイッチングハブ50Aが各々接続される。通信I/F部610は、通信I/F部510と同様、各通信ポートを介して受信したフレームをルーティングエンジン部620に与える一方、ルーティングエンジン部620から与えられるフレームを同ルーティングエンジン部620によって指示された通信ポートから送出する。
記憶部630も、スイッチングハブ50の記憶部530と同様に、RAMなどの揮発性メモリとEPROMなどの不揮発性メモリを含んでいる(図示略)。この不揮発性メモリにはファームウェアが格納されている。本実施形態では、このファームウェアにしたがってルーティングエンジン部620を作動させることによって本実施形態の特徴を顕著に示すルータ60の機能が実現される。一方、揮発性メモリは、上記ファームウェアを実行する際のワークエリアとしてルーティングエンジン部620によって利用されるとともに、受信したフレーム(或いは、パケット)を一時的に蓄積しておくためのバッファの役割を果たす。また、当該揮発性メモリには、図7に示すルーティングテーブル、当該ルータ60についてのMACアドレステーブルおよび隣接機器テーブルの各テーブルが格納される。
ルーティングエンジン部620は、スイッチングハブ50のスイッチングエンジン部520と同様、CPUである。ルーティングエンジン部620は、記憶部630に記憶されているファームウェアを実行し、ルータ60の制御中枢として機能する。ルーティングエンジン部620は上記ファームウェアにしたがって、パケット転送制御処理、マルチキャスト処理、接続関係特定処理、および優先度設定制御処理、の4種類の処理を実行する。これら4つの処理のうち、パケット転送制御処理については従来のものと特段に変るところはない。したがって、以下では、マルチキャスト処理、接続関係特定処理、および優先度設定制御処理を中心に説明する。
マルチキャスト処理は、ルータ60の配下のネットワーク(ルータ60AであればLAN1A、ルータ60BであればLAN1B)に向けて要求フレームのマルチキャストを行う処理である。詳細については後述するが、本実施形態では、このマルチキャスト処理はルータ60の電源(図示略)投入後、所定時間T(例えば、3秒)が経過する毎に周期的に実行される。
接続関係特定処理では、ルーティングエンジン部620は、まず、各スイッチングハブ50から送信されてくる通知フレームの受信を契機として、当該通知フレームを受信した通信ポートのポート識別子に対応付けて隣接機器テーブルに格納されている接続先識別子を当該フレームのペイロード部に書き込まれている転送元識別子に書き換える。そして、ルーティングエンジン部620は、自装置の隣接機器テーブルの格納内容と、各スイッチングハブ50から返信されてくる隣接機器情報リストと、通信端末40から返信されてくる隣接機器情報とから、配下のネットワークにおける各装置の接続関係(ネットワークトポロジ)を表すトポロジデータを生成する。
より詳細に説明すると、ルーティングエンジン部620は、自装置の隣接機器テーブルの格納内容と、スイッチングハブ50から返信されてくる隣接機器情報リストと、通信端末40から返信されてくる隣接機器情報と、に基づいて、自装置、各スイッチングハブ50および各通信端末40の各々について、上流側隣接機器を示す第1のポインタ(例えば、上流側隣接機器に接続されている通信ポートのポート識別子と当該上流側隣接機器のMACアドレスとを示すデータなど)と、下流側隣接機器を示す1または複数の第2のポインタ(例えば、下流側隣接機器に接続されている通信ポートのポート識別子と当該下流側隣接機器のMACアドレスとを示すデータなど)とからなる双方向リスト構造の構造体データを装置毎に生成し、これら構造体データの集合を上記トポロジデータとする。ここで、上流側隣接機器とは、ルータ60に近い側の隣接機器であり、下流側隣接機器とは同ルータ60から遠い側の隣接機器である。例えば、図1のLAN1Aにおいてスイッチングハブ50Aの上流側隣接機器はルータ60であり、下流側隣接機器は通信端末40Aとスイッチングハブ50Bである。なお、図1のルータ60のように上流側隣接機器を有さない装置についての構造体データにおいては、上記第1のポインタにNULLをセットすれば良く、同様に、図1の通信端末40のように下流側隣接機器を有さない装置についての構造体データにおいては、上記第2のポインタにNULLをセットすれば良い。
上記のような双方向リスト構造の構造体データの集合をトポロジデータとして用いる場合、互いに隣接する2つの装置を上流側から第2のポインタを用いて辿っても、また下流側から第1のポインタを用いて辿っても矛盾が生じないことが必要となる。例えば、図1のLAN1Aに関するトポロジデータにおいては、スイッチングハブ50Aに対応する構造体データの第2のポインタによってスイッチングハブ50Bが示されており、スイッチングハブ50Bに対応する構造体データの第1のポインタによってスイッチングハブ50Aが示されている必要がある。このため、例えば、スイッチングハブ50Bからは隣接機器としてスイッチングハブ50Aを通知されたにもかかわらず、スイッチングハブ50Aからは隣接機器としてスイッチングハブ50Bが通知されてこないといった矛盾が生じた場合には、ルーティングエンジン部620は矛盾が生じていない範囲でのみトポロジデータを生成する。
次いで、図8を参照しつつ優先度設定制御処理の処理内容を説明する。この優先度設定制御処理は、優先度通知フレームの受信を契機として実行される処理である。図8は、優先度設定制御処理の流れを示すフローチャートである。図8に示すように、ルーティングエンジン部620は、まず、当該優先度通知フレームの送信元の通信端末40と自装置との間の通信経路が特定されるか否かをトポロジデータを参照して判定する(ステップSC100)。より詳細について説明すると、優先度通知フレームの送信元の通信端末40に対応する構造体データのものから順に第1のポインタを辿って当該ルータ60まで到達することができた場合には、ステップSC100の判定結果は“Yes”となる。そして、ルーティングエンジン部620は、ステップSC100の判定結果が“Yes”である場合には、自装置のパケット転送制御における優先度設定を、上記優先度通知フレームのペイロード部に書き込まれていた優先度データの表す優先度に応じて変更し(ステップSC110)、さらに、上記通信経路上のスイッチングハブ50の各々に対して設定変更指示フレームを送信(ユニキャスト)する(SC120)。
以上がルータ60の構成である。
<A−2:動作>
以下、ルータ60およびスイッチングハブ50が各々8個の通信ポートを有しており、かつ、LAN1Aにおいて、図9に示すように相互に接続されている場合を例にとって本実施形態の動作を説明する。図9では、通信ポートを黒塗りの丸印で示し、当該通信ポートのポート番号を#付の数字で表記した。図9に示すように、ルータ60Aのポート番号=1の通信ポートにはスイッチングハブ50Aが接続されており、スイッチングハブ50Aから見ればルータ60Aはスイッチングハブ50Aのポート番号=2の通信ポートに接続されている。図9に示すように、スイッチングハブ50Aのポート番号=3の通信ポートには通信端末40Aが接続されており、ポート番号=4の通信ポートにはスイッチングハブ50Bが接続されている。スイッチングハブ50Bから見ればスイッチングハブ50Aはスイッチングハブ50Bのポート番号=5の通信ポートに接続されており、スイッチングハブ50Bのポート番号=6の通信ポートには通信端末40Bが、同ポート番号=7の通信ポートには通信端末40Cが接続されている。また、以下に説明する動作の開始時点では、ルータ60およびスイッチングハブ50の隣接機器テーブルの接続先識別子はNULLクリアされている。
ルータ60Aのルーティングエンジン部620は、ルータ60Aの電源(図示略)投入後、所定時間Tが経過した時刻T0において要求フレームをマルチキャストする。このようにしてルータ60Aからマルチキャストされる要求フレームは、まず、スイッチングハブ50Aによって受信される。スイッチングハブ50Aのスイッチングエンジン部520は、ポート番号=2の通信ポートを介して上記要求フレームを受信し、図6のステップSB150、SB160、SB180およびSB190の各処理を実行する。受信フレームが要求フレームであるためステップSB100の判定結果は“No”になり、SB120およびSB170の判定結果は“Yes”になるからである。
ステップSB150の処理が実行されるため、ポート番号=2に対応づけてスイッチングハブ50Aの隣接機器テーブルに格納されている接続先識別子は、受信フレームに付与されている転送元識別子(すなわち、ルータ60のMACアドレス)によって書き換えられる。さらに、当該受信フレームの転送元識別子はステップSB160の処理によってスイッチングハブ50AのMACアドレスに書き換えられる。ステップSB180では、ステップSB150の処理による更新後の隣接機器テーブルの格納内容を隣接機器情報リストとして書き込んだ隣接機器通知フレームがスイッチングハブ50Aからルータ60にユニキャストされる。そして、ステップSB190では、ステップSB160の処理によって転送元識別子の書き換えが行われた要求フレームのフラッディングが行われる。前述したように、要求フレームの送信先MACアドレスはマルチキャストアドレスだからである。このようにしてフラッディングされた要求フレームは、通信端末40Aおよびスイッチングハブ50Bの各々によって受信される。
通信端末40Aの制御部410は、通信I/F部420を介して要求フレームを受信すると、前述した優先度通知処理(図3参照)を実行する。より詳細に説明すると、制御部410は、上記要求フレームのペイロード部に書き込まれている転送元識別子(すなわち、スイッチングハブ50AのMACアドレス)を隣接機器情報として揮発性記憶部444に書き込む(図3:ステップSA100)。次いで、制御部410は、上記要求フレームの送信元MACアドレス(すなわち、ルータ60AのMACアドレス)を送信先MACアドレスとする優先度通知フレームを生成し、当該優先度通知フレームを送信する(図3:ステップSA110)。この優先度通知フレームのペイロード部には、転送元識別子として通信端末40AのMACアドレスが書き込まれているとともに、通信端末40Aの優先度データと隣接機器情報とが書き込まれている。
スイッチングハブ50Bのスイッチングエンジン部520は、スイッチングハブ50Aから転送された要求フレームを受信すると、スイッチングハブ50Aのスイッチングエンジン部520と同様に、図6のステップSB150、SB160、SB180およびSB190の各処理を実行する。より詳細に説明すると、スイッチングハブ50Bのスイッチングエンジン部520は、自装置の隣接機器テーブルにおいてポート番号=5に対応する接続先識別子を、スイッチングハブ50Aから転送された要求フレームに付与されている転送元識別子(すなわち、スイッチングハブ50AのMACアドレス)によって書き換え、当該書き換え後の隣接機器テーブルの格納内容を隣接機器情報リストとして書き込んだ隣接機器通知フレームをルータ60にユニキャストする。加えて、スイッチングハブ50Bのスイッチングエンジン部520は、転送元識別子をスイッチングハブ50BのMACアドレスに書き換えた要求フレームのフラッディングを行う。
このようにしてフラッディングされた要求フレームは通信端末40Bおよび40Cの各々によって受信される。通信端末40B(或いは通信端末40C)の制御部410は、当該要求フレームの受信を契機として、通信端末40Aの制御部410と同様に優先度通知処理(図3参照)を実行する。その結果、通信端末40B(或いは40C)の揮発性記憶部444には、隣接機器情報としてスイッチングハブ50BのMACアドレスが書き込まれ、当該隣接機器情報と通信端末40B(或いは40C)の優先度データとがペイロード部に書き込まれた優先度通知フレームがルータ60に返信される。以上説明した動作が実行される結果、スイッチングハブ50Aおよび50Bの隣接機器テーブルの格納内容と、通信端末40A、40Bおよび40Cの隣接機器情報とは、図10に示す状態となる。
次いで、通知フレームの転送制御に伴って行われる隣接機器テーブルの更新について説明する。スイッチングハブ50Bのスイッチングエンジン部520は、通信端末40B(或いは、通信端末40C)からルータ60へユニキャストされた優先度通知フレームをポート番号=6(或いは7)の通信ポートを介して受信すると、図6のステップSB150、SB160、およびSB190の処理を実行する。受信フレームが優先度通知フレームであるためステップSB100およびSB170の判定結果は“No”になり、ステップSB120の判定結果は“Yes”になるからである。
ステップSB150の処理が実行されるため、優先度通知フレームを受信した通信ポートのポート識別子に対応付けてスイッチングハブ50Bの隣接機器テーブルに格納されている接続先識別子は、受信フレームに付与されている転送元識別子(すなわち、通信端末40B(或いは通信端末40C)のMACアドレス)によって書き換えられ、当該受信フレームの転送元識別子はステップSB160の処理によってスイッチングハブ50BのMACアドレスに書き換えられる。そして、ステップSB190では、ステップSB160の処理によって転送元識別子の書き換えが行われた優先度通知フレームがポート番号=5の通信ポートを介して送出される。
スイッチングハブ50Aのスイッチングエンジン部520は、通信端末40Aから送信された優先度通知フレーム、或いはスイッチングハブ50Bから転送されてくる通知フレーム(すなわち、スイッチングハブ50Bが送信した隣接機器通知フレーム、或いはスイッチングハブ50Bによって転送された優先度通知フレーム)を受信すると、同様に、図6のステップSB150、SB160、およびSB190の処理を実行する。スイッチングハブ50Aは、これら通知フレームを受信した通信ポートに対応する接続先識別子を、同通知フレームに付与されている転送元識別子(スイッチングハブ50Bによって転送された通知フレームであれば当該スイッチングハブ50BのMACアドレス、通信端末40Aから送信された優先度通知フレームであれば当該通信端末40AのMACアドレス)によって書き換え、当該通知フレームの転送元識別子を自装置のMACアドレスに書き換えてルータ60に転送する。ルータ60は、スイッチングハブ50Aから転送された通知フレームをポート番号=1の通信ポートを介して受信すると、自装置の隣接機器テーブルにおいて当該ポート番号に対応する接続先識別子を当該フレームの転送元識別子で書き換える。以上説明した動作が実行される結果、ルータ60、スイッチングハブ50Aおよび50Bの各々の隣接機器テーブルの格納内容は図10に示す状態から図11に示す状態へと更新される。図11を参照すれば明らかように、これら隣接機器テーブルの格納内容および各通信端末40の隣接機器情報はLAN1Aにおけるネットワークトポロジを矛盾なく表している。
ここで注目すべき点は、以上に説明した動作において、ルータ60Aがスイッチングハブ50Aおよび50Bから受信する隣接機器通知フレームに書き込まれている隣接機器情報リストは、図11に示す隣接機器テーブルの格納内容ではなく、図10に示す隣接機器テーブルの格納内容に対応しているという点である。図10に示す各隣接機器テーブルの格納内容では、ルータ60Aとスイッチングハブ50Aとの接続関係のみが矛盾なく表されている。このため、時刻T0においてマルチキャストした要求フレームに対する通知フレームを受信した時点では、ルーティングエンジン部620は、ルータ60Aとスイッチングハブ50Aとの接続関係のみを表すトポロジデータを生成する。
そして、時刻T0からさらに所定時間Tが経過すると、ルーティングエンジン部620は、要求フレームをマルチキャストし、スイッチングハブ50Aおよび50Bの各々は上記と同様の処理を実行する。時刻T0+Tにおいてルータ60Aから送信された要求フレームに対する応答としてスイッチングハブ50Aおよび50Bが返信する隣接機器通知フレームの各々には、図11に示す隣接機器テーブルの格納内容に対応する隣接機器情報リストが書き込まれている。このため、時刻T0+Tにおいてマルチキャストした要求フレーム(すなわち、時刻T0におけるマルチキャストを1回目とすれば、2回目のマルチキャスト)に対して返信される隣接機器通知フレームを受信した時点では、ルーティングエンジン部620は、自装置と自装置の配下の全ての通信装置の接続関係を表すトポロジデータを生成する。LAN1Aの運用管理者は、このようにして生成されるトポロジデータを参照することで、LAN1Aのネットワークトポロジを把握することができるのである。
ルータ60Aのルーティングエンジン部620は、通信端末40A、40Bおよび40Cの各々から返信されている優先度通知フレームを受信する度に、前述した優先度設定制御処理(図8参照)を実行する。前述したように、この優先度設定制御処理では、ルーティングエンジン部620は、自装置と当優先度通知フレームの送信元との間の通信経路を特定することができるか否かをトポロジデータを参照して判定する(ステップSC100)。前述したように、時刻T0においてマルチキャストした要求フレームに対して返信されてくる通知フレームを受信した時点では、ルータ60Aとスイッチングハブ50Aとの接続関係のみを表すトポロジデータ(すなわち、ルータ60Aに対応する構造体データとスイッチングハブ50Aに対応する構造体データ)しか生成されない。このように、時刻T0においてマルチキャストした要求フレームに対して返信されてくる優先度通知フレームを受信した時点では、通信端末40A、40Bおよび40Cの各々に対応する構造体データは生成されず、ステップSC100の判定結果は“No”になる。つまり、時刻T0においてマルチキャストした要求フレームに対して返信されてくる優先度通知フレームを受信した時点ではステップSC110以降の処理は実行されないのである。
これに対して、時刻T0+Tにおいてマルチキャストした要求フレームに対して返信されてくる優先度通知フレームを受信した時点では、前述したように、ルータ60A、スイッチングハブ50A、50B、通信端末40A、40Bおよび40Cの各々に対応する構造体データが生成されている。このため、例えば、通信端末40Bから送信された優先度通知フレームを受信した場合には、ルーティングエンジン部620は、当該通信端末40Bに対応する構造体データの第1のポインタを参照して当該通信端末40Bの接続先がスイッチングハブ50Bであると特定し、スイッチングハブ50Bに対応する構造体データの第2のポインタを参照して当該通信端末40Bがスイッチングハブ50Bのポート番号=6の通信ポートに接続されていることを特定する。また、ルーティングエンジン部620は、スイッチングハブ50Bに対応する構造体データの第1のポインタを参照して当該スイッチングハブ50Bはスイッチングハブ50Aに接続されていることを特定し、スイッチングハブ50Aに対応する構造体データの第2のポインタを参照してスイッチングハブ50Bがスイッチングハブ50Aのポート番号=4の通信ポートに接続されていることを特定する。そして、ルーティングエンジン部620は、スイッチングハブ50Aに対応する構造体データの第1のポインタを参照して当該スイッチングハブ50Aは自装置に接続されていることを特定し、自装置に対応する構造体データの第2のポインタを参照してスイッチングハブ50Aがポート番号=1の通信ポートに接続されていることを特定する。これにより、ルータ60Aと通信端末40Bとの間の通信経路が特定されるのである。
このようにして自装置と通信端末40Bとの間の通信経路が特定されるため、ステップSC100の判定結果は“Yes”となり、ステップSC110以降の処理が実行される。前述したように、通信端末40Bから送信される優先度通知フレームには優先度が“1”であることを示す優先度データが書き込まれている。このため、ステップSC110においては、優先度が”0”(最も高い優先度)のデータ通信を行う通信端末(本実施形態では、通信端末40A)から送信されたパケットが無い限り、通信端末40Bから送信されたパケットを最優先でIP網へ送出し、また、IP網を介して通信端末40B宛のパケットを受信した場合には、優先度が”0”のデータ通信を行う通信端末を宛先とするパケットが無い限り、当該パケットを最優先でスイッチングハブ50Aに送出するように、パケット転送制御の優先度設定が行われる。そして、ステップSC120では、ルータ60Aから通信端末40Bへ至る通信経路上の各スイッチングハブ50(すなわち、スイッチングハブ50Aおよび50B)に対して、当該通信端末40Bが接続されている通信ポートと当該通信ポートを介して行われるデータ通信の優先度を“1”とすることとを示す設定変更指示データを書き込んだ設定変更指示フレームが送信される。具体的には、スイッチングハブ50Aに対しては、ポート番号=4と当該ポート番号の通信ポートを介して行われるデータ通信の優先度を“1”とすることを示す設定変更指示データをペイロード部に書き込んだ設定変更指示フレームが送信される。一方、スイッチングハブ50Bに対しては、ポート番号=6と当該ポート番号の通信ポートを介して行われるデータ通信の優先度を“1”とすることを示す設定変更指示データをペイロード部に書き込んだ設定変更指示フレームが送信される。
スイッチングハブ50Aまたは50Bのスイッチングエンジン部520は、ルータ60から送信された設定変更指示フレームを受信すると(図6ステップSB100:Yes)当該設定変更指示フレームのペイロード部に書き込まれている設定変更指示データの示す内容に応じてフレーム転送制御の際の優先度の設定を変更する(図6ステップSB110)。上記設定変更指示フレームのペイロード部に書き込まれている設定変更指示データの示す優先度は“1”であるから、スイッチングエンジン部520は、当該設定変更指示データの示す通信ポートについてQoSの設定変更のみを行う。具体的には、優先度が“0”の通信ポートを介して受信したフレーム(或いは、優先度が“0”の通信ポートへ送出するフレーム)がない限り、当該設定変更指示データの示す通信ポートを介して受信したフレーム(或いは同通信ポートへ送出するフレーム)の転送が最優先されるようにQoSの設定が変更されるのである。
これに対して、ルーティングエンジン部620は、通信端末40Aから送信された優先度通知フレームを受信すると、ポート番号=3と当該ポート番号の通信ポートを介して行われるデータ通信の優先度を“0”とすることを示す設定変更指示データを書き込んだ設定変更指示フレームをスイッチングハブ50Aに送信する。スイッチングハブ50Aのスイッチングエンジン部520は、この設定変更指示フレームを受信すると、以下のようにフレーム転送制御の際の優先度の設定を変更する。すなわち、上記設定変更指示フレームのペイロード部に書き込まれている設定変更指示データの示す優先度は“0”であるから、当該設定変更指示データの示す通信ポートのネットワークセグメントと他の通信ポートのネットワークセグメントとをVLAN設定によって分離し、さらにQoSの設定変更を行う。具体的には、当該通信ポートを介して受信したフレーム(或いは、当該通信ポートへ送出するフレーム)の転送が最優先されるようにQoSの設定が変更されるのである。このようなVLAN設定が為される結果、LAN1Aは、図12にて点線で示すように、通信端末40Aのみが属するネットワークセグメントと、スイッチングハブ50B、通信端末40Bおよび40Cが属するネットワークセグメントとに仮想的に分離され、通信端末40Aが行う音声通信が、通信端末40Bまたは40Cが行うデータ通信によって阻害されることを確実に防止することができるのである。
以上説明したように、本実施形態においては、ルータ60の配下のネットワークに収容される通信端末40に対して当該通信端末40が行うデータ通信の優先度を設定しておけば、各スイッチングハブ50におけるフレームの転送制御の優先度設定が自動的に変更される。本実施形態では、スイッチングハブ50に対して、音声データの送受信を行う通信端末40のMACアドレスとQoSの設定内容等を対応付けて予め記憶させておく必要はないため、運用管理者の設定作業の煩雑さが軽減される。つまり、本実施形態によれば、設定作業の煩雑さを軽減しつつ、各通信端末の実行するデータ通信の優先度に応じた転送制御を各スイッチングハブ50に行わせることが可能になる。なお、以上に説明した動作例では、LAN1Aにおける優先度制御について説明したが、LAN1Bにおける優先度制御についても同様である。
また、本実施形態によれば、スイッチングハブ50および通信端末40から返信されてくる隣接機器情報に基づいて生成されるトポロジデータを参照することでルータ60の配下のネットワークのネットワークトポロジを容易に把握することもできる。ここで、各スイッチングハブ50から送信されている隣接機器情報のデータサイズは当該スイッチングハブ50に接続される中継装置の数に応じて定まり、当該スイッチングハブ50が有する通信ポート数に応じたデータサイズ以上になることはない。つまり、本実施形態における通知フレームのペイロード部のデータサイズは、LAN1Aに含まれるスイッチングハブ50の数が増加しても、その増加に伴って際限なく大きくなることはない。このため、LAN1Aが大規模化したとしても、ネットワークトポロジの特定のために過剰な負荷がLAN1Aにかかることはない。
さらに、本実施形態のルータ60は、所定時間Tが経過する毎に周期的に要求フレームのマルチキャストを行うため、例えばスイッチングハブ50(或いは通信端末40)を新たに接続するようなネットワークトポロジの変更が行われたとしても、新たなスイッチングハブの接続から2回目の要求フレームのマルチキャストによって当該変更後のネットワークトポロジを矛盾なく正確に表すトポロジデータが生成される。つまり、本実施形態によれば、LAN1Aに過剰な負荷がかかることを回避しつつ、かつ遅滞なくネットワークトポロジの変更を検出することができる。
<B:第2実施形態>
図13は、本発明の第2実施形態のLAN1Cの構成例を示すブロック図である。
図13と図1とを対比すれば明らかように、LAN1Cはスイッチングハブ50Bに換えてスイッチングハブ500を有する点がLAN1Aと異なる。スイッチングハブ500は、従来のスイッチングハブであって、受信したフレームの送信先MACアドレスに基づくフレームの転送制御(すなわち、図6のステップSB190の処理)のみを実行する点がスイッチングハブ50と異なる。
LAN1Cにおいては、スイッチングハブ50Aからスイッチングハブ500に転送された要求フレームは転送元識別子を書き換えられることなく、通信端末40Bおよび40Cに転送される。このため、通信端末40Bおよび40Cの揮発性記憶部444には、隣接機器情報としてスイッチングハブ50AのMACアドレスが書き込まれる。同様に、通信端末40Bおよび40Cの各々から送信された優先度通知フレームも、転送元識別子を書き換えられることなくスイッチングハブ500によってスイッチングハブ50Aに転送される。このため、スイッチングハブ50Aの隣接機器テーブルには、スイッチングハブ500が接続されている通信ポートのポート識別子に対応付けて、通信端末40BのMACアドレスと、通信端末40CのMACアドレスの何れか一方が書き込まれる。これは、通信端末40Bと40Cの各々から送信された優先度通知フレームのうち、後に受信したほうの転送識別子によって先に受信したほうのものが書き換えられるからである。
以上に説明した要領で隣接機器テーブルへのMACアドレスの書き込みが行われる結果、ルータ60Aは、図14(A)或いは図14(B)に示すネットワークトポロジを表すトポロジデータを生成する。図14(A)は、通信端末40Bと40Cの各々から送信される優先度通知フレームのうち、後者のほうを先にスイッチングハブ50Aが受信した場合に生成されるトポロジデータの表すネットワークトポロジであり、図14(B)は前者のほうを先にスイッチングハブ50Aが受信した場合に生成されるトポロジデータの表すネットワークトポロジを表す図である。図14(A)或いは図14(B)と、図13とを対比すれば明らかように、図14(A)或いは図14(B)に示すネットワークトポロジにはスイッチングハブ500が現れておらず、また、通信端末40Bと40Cの何れか一方しか現れていない点が、LAN1Cの実際のネットワークトポロジと異なる。
このように、ルータ60の配下のネットワークに従来のスイッチングハブが含まれている場合には、当該従来のスイッチングハブと他の装置(すなわち、ルータ60やスイッチングハブ50、通信端末40)との接続関係を把握することはできず、従来のスイッチングハブに接続されている通信端末が行うデータ通信についての優先度制御にも支障が生じ得る。例えば、図14(A)に示すネットワークトポロジを表すトポロジデータが生成される場合には、通信端末40Cが行うデータ通信についての優先度制御を行うことはできず、逆に、図14(B)に示すネットワークトポロジを表すトポロジデータが生成される場合には、通信端末40Bが行うデータ通信についての優先度制御を行うことはできない。しかし、LAN1Cにおいても、ルータ60とスイッチングハブ50との大まかな接続関係を把握すること、およびスイッチングハブ50に接続されている通信端末40についての優先度制御を行うことは可能である。
ルータ60の配下のネットワークに含まれるスイッチングハブの全てが従来のものであれば、当該ネットワークにおけるネットワークトポロジの把握やデータ通信毎の優先度制御を行えないことは言うまでもない。しかし、ルータ60の配下のネットワークに含まれる複数のスイッチングハブのなかに本発明に係るスイッチングハブ50が少なくとも1台含まれていれば、ルータ60と当該スイッチングハブ50との接続関係(すなわち、一般的な従来のスイッチングハブを除いた概略的なネットワークトポロジ)を運用管理者に把握させることができ、また、当該スイッチングハブ50に接続されている通信端末40が行うデータ通信についての優先度制御を行うことができるのである。
<C:変形>
以上、本発明の実施形態について説明したが、この実施形態に以下に述べる変形を加えても勿論良い。
(1)上述した各実施形態では、通知フレームの送信を要求するための要求フレームを所定時間間隔で周期的にルータ60にマルチキャストさせたが、予め定められた所定種類のパケットの受信を契機としてルータ60に要求フレームをマルチキャストさせても良い。例えば、ARPパケットの受信を契機としてルータ60に要求フレームを送信させるのである。新たにARPパケットが送信されたということは、ルータ60の配下のネットワークに新たな通信端末40が接続されたことを意味し、新たな通信端末の接続に伴ってネットワークトポロジが変化した可能性があり、また、フレーム転送制御の優先度を変更する必要がある可能性がある。新たなARPパケットの受信を契機としてルータ60に要求フレームを送信させるようにすれば、新たな通信端末の接続に伴うネットワークトポロジの変化を所定時間の経過を待つことなく検出し、さらにフレーム転送制御の優先度設定の変更を上記所定時間の経過を待つことなく行うことができる。
なお、ルータ60がDHCPサーバの役割を兼ねている場合には、IPアドレスの割り当てを要求する旨のパケットを配下の通信端末から受信したことを契機として要求フレームをマルチキャストさせても良い。そして、所定時間間隔で周期的に要求フレームをマルチキャストする処理と、特定の種類のパケットの受信を契機として要求フレームをマルチキャストする処理と、をルータ60に実行させる場合には、後者のマルチキャストを行う度にその時点を起算点として上記所定時間の経過を計測し直させるようにしても良い。制御フレームについても同様に、周期的なマルチキャストに加えて(或いは、周期的なマルチキャストに換えて)、ARPパケットやIPアドレスの割り当てを要求するパケットなどの予め定められた所定種類のパケットの受信を契機としてルータ60にマルチキャストさせるようにしても良い。
(2)上述した各実施形態では、要求フレームの受信を契機としてスイッチングハブ50に隣接機器通知フレームを送信させたが、所定時間間隔で周期的に隣接機器通知フレームをスイッチングハブ50に送信させるようにしても良い。同様に優先度通知フレームについても所定時間間隔で周期的に通信端末40に送信させるようにしても良い。このように通知フレームを周期的に送信させる態様においては、ルータ60から要求フレームをマルチキャストする必要はなく、ルータ60から配下のネットワークに向けてマルチキャストするフレームのうちの予め定められた一部のものに転送元識別子を付与してマルチキャストさせるようにすれば良い。
(3)上述した各実施形態では、要求フレームを受信するたびに、隣接機器情報リストをペイロードに書き込んだ隣接機器通知フレームを各スイッチングハブ50に返信させた。しかし、N(自然数)回目の要求フレームの受信からN+1回目の要求フレームの受信までの間に隣接機器テーブルの格納内容に変化がない場合には、当該N+1回目に受信した要求フレームに対して応答する際に、隣接機器情報リストに換えて隣接機器情報リストに変化がないことを示すデータをペイロード部に書き込んだ通知フレームを返信させるようにしても良い。
(4)上述した各実施形態では、通信端末40毎にその通信端末40が行うデータ通信の種類が予め定められており、かつ、そのデータ通信の優先度を表す優先度データが不揮発性記憶部442に予め書き込まれていた。しかし、通信端末40の各々が複数種類のデータ通信を行えるようにし、かつ、実行中のデータ通信の優先度を示す優先度データを不揮発性記憶部442に書き込むようにしても良い。このようなことは、以下の要領で実現可能である。すなわち、通信端末40の各々に複数種の通信プログラムを記憶させておくとともに、それら通信プログラムの各々とその通信プログラムにしたがって行われるデータ通信の優先度とを対応付ける優先度テーブルを各通信端末40に記憶させておく。そして、いずれかの通信プログラムの実行を指示されたことを契機として当該通信プログラムに対応する優先度を上記優先度テーブルの格納内容を参照して特定し、その優先度を示す優先度データを不揮発性記憶部442に書き込む処理を制御部410に実行させるのである。
(5)上述した各実施形態では、本発明のルータの特徴を顕著に示すマルチキャスト処理、および優先度設定制御処理をソフトウェアにより実現した。しかし、マルチキャスト処理を実現するマルチキャスト手段および優先度設定制御処理を実行する優先度設定制御手段の各々を電子回路などのハードウェアで実現しても勿論良い。スイッチングハブ50についても同様に、フレーム転送制御処理、隣接機器通知フレーム送信処理、および優先度設定変更処理の各処理を電子回路などのハードウェアによって実現しても良い。
(6)上述した各実施形態では、緊急音声通信の優先度を最も高くし、一般的な音声通信の優先度を次に高くし、音声通信以外のデータ通信の優先度を最も低くした。しかし、例えば、データベースサーバへのデータの日次アップロードなど、大容量かつ高速に行う必要があるデータ通信であれば、音声通信以外のデータ通信であっても優先度を高くすることが望ましいことは言うまでも無い。また、上述した実施形態では、通信ポート単位で優先度設定を行ったが、通信経路の終端に位置する通信端末単位(すなわち、各通信端末のMACアドレス単位)で優先度設定を行っても良い。このようなことは、設定変更指示データとして優先度データと当該優先度データの送信元の通信端末のMACアドレスとを用い、この設定変更指示データにしたがってスイッチングハブ50に優先度設定変更処理を実行させるようにすれば良い。
1A,1B,1C…LAN、40A,40B,40C,40D,40E,40F…通信端末、50A,50B,50C,50D,500…スイッチングハブ、60…ルータ、410…制御部、420,510,610…通信I/F部、430…ユーザI/F部、520…スイッチングエンジン部、440,530,630…記憶部、442…不揮発性記憶部、444…揮発性記憶部、620…ルーティングエンジン部、450…バス。

Claims (7)

  1. 配下のネットワークと他のネットワークとを接続するルータと、前記ルータの配下のネットワークに含まれる複数のスイッチングハブと、前記複数のスイッチングハブの何れかに各々接続される複数の通信端末とを含む通信システムにおいて、
    前記ルータは、
    前記複数の通信端末の各々に対しては当該通信端末の行うデータ通信の優先度を示す優先度データと当該通信端末に対してフレームの転送を行った通信装置を示す隣接機器情報の送信とを要求し、前記複数のスイッチングハブの各々に対しては当該スイッチングハブについての隣接機器情報の送信を要求する要求フレームに転送元識別子として自装置の通信アドレスを付与して前記ネットワークに向けてマルチキャストする第1の手段と、
    前記複数の通信端末の各々から当該通信端末についての前記優先度および隣接機器情報を通知するために返信されてくる優先度通知フレーム、および前記複数のスイッチングハブの各々から当該スイッチングハブについての隣接機器情報を通知するために返信されてくる隣接機器通知フレームを受信し、当該ルータから前記複数の通信端末の各々へ至る通信経路上のスイッチングハブを通信端末毎に特定し、各通信経路上のスイッチングハブに対して当該通信経路の終端に位置する通信端末の優先度データと当該通信経路を示す情報とを送信し、当該通信経路に沿って送受信されるフレームの転送制御を当該優先度データの示す優先度で行うよう指示する第2の手段と、を有し、
    前記複数のスイッチングハブの各々は、
    自装置に対してフレームの転送を行った通信装置を示す隣接機器情報を記憶する隣接機器テーブルと、
    受信したフレームに転送元識別子が付与されている場合には当該転送元識別子を隣接器機器情報として前記隣接機器テーブルに書き込んだ後に当該転送元識別子を自装置の通信アドレスに書き換えて当該フレームの宛先に応じた転送制御を行う第3の手段と、
    受信フレームが前記要求フレームである場合には、前記隣接機器テーブルに格納されている隣接機器情報を書き込んだ隣接機器通知フレームを生成し、自装置の通信アドレスを転送元識別子として付与して返信する第4の手段と、
    前記ルータから受信した情報の示す通信経路に沿って送受信されるフレームの転送制御が当該情報とともに受信した優先度データの示す優先度で行われるように、当該スイッチングハブにおけるフレームの転送制御の態様を切り換える第5の手段と、を有し、
    前記複数の通信端末の各々は、
    前記要求フレームの受信を契機として当該要求フレームに付与されている転送元識別子を当該通信装置についての隣接機器情報として記憶する第6の手段と、
    自端末が行うデータ通信の優先度を示す優先度データを書き込んだ前記優先度通知フレームに転送元識別子として自装置の通信アドレスを付与して返信する第7の手段とを有する
    ことを特徴とする通信システム。
  2. 前記第5の手段は、QoS(Quality of Service)設定とVLAN(Virtual Local Area Network)設定の少なくとも一方を、前記ルータから受信した優先度データに応じて切り換えることを特徴とする請求項1に記載の通信システム。
  3. 前記第5の手段は、前記ルータから受信した情報の示す通信経路の終端に位置する通信端末を送信元とするフレームを受信した場合に、当該フレームのペイロード部に書き込まれているパケットについての第3層におけるパケットの転送制御が当該優先度データの示す優先度に応じて行われるように当該パケットのヘッダ部を書き換えることを特徴とする請求項1または2に記載の通信システム。
  4. 配下のネットワークに含まれる複数のスイッチングハブの各々に対しては当該スイッチングハブに対してフレームの転送を行った通信装置を示す隣接機器情報の送信を要求し、前記複数のスイッチングハブの各々に接続される各通信端末に対しては当該通信端末の行うデータ通信の優先度を示す優先度データと当該通信端末についての隣接機器情報の送信を要求する要求フレームに自装置の通信アドレスを転送元識別子として付与して前記ネットワークに向けてマルチキャストするマルチキャスト手段と、
    前記複数の通信端末の各々から当該通信端末についての前記優先度および隣接機器情報を通知するために返信されてくる優先度通知フレーム、および前記複数のスイッチングハブの各々から当該スイッチングハブについての隣接機器情報を通知するために返信されてくる隣接機器通知フレームを受信し、当該ルータから前記複数の通信端末の各々へ至る通信経路上のスイッチングハブを通信端末毎に特定し、各通信経路上のスイッチングハブに対して当該通信経路の終端に位置する通信端末の優先度データと当該通信経路を示す情報とを送信し、当該通信経路に沿って送受信されるフレームの転送制御を当該優先度データの示す優先度で行うよう指示する優先度設定制御手段と
    を有すことを特徴とするルータ。
  5. 自装置に対してフレームの転送を行った通信装置を示す隣接機器情報を記憶する隣接機器テーブルと、
    受信したフレームの転送制御をその宛先に応じて行う手段であって、当該受信フレームに転送元識別子が付与されている場合には当該転送元識別子を隣接器機器情報として前記隣接機器テーブルに書き込んだ後に当該転送元識別子を自装置の通信アドレスに書き換えて当該フレームの宛先に応じた転送制御を行うフレーム転送制御手段と、
    受信フレームが当該スイッチングハブにフレームを転送した通信装置を示す隣接機器情報の送信を要求するために当該スイッチングハブを含むネットワークを他のネットワークに接続するルータから送信された要求フレームである場合には、前記隣接機器テーブルに格納されている隣接機器情報を書き込んだ隣接機器通知フレームを生成し、自装置の通信アドレスを転送元識別子として付与して返信する隣接機器通知手段と、
    前記ルータから受信した情報の示す通信経路に沿って送受信されるフレームの転送制御が当該情報とともに受信した優先度データの示す優先度で行われるように、当該スイッチングハブにおけるフレームの転送制御の態様を切り換える優先度設定変更手段と、
    を有することを特徴とするスイッチングハブ。
  6. コンピュータを、
    当該コンピュータをルータとして他のネットワークに接続されるネットワークに含まれる複数のスイッチングハブの各々に対しては当該スイッチングハブに対してフレームの転送を行った通信装置を示す隣接機器情報の送信を要求し、前記複数のスイッチングハブの各々に接続される各通信端末に対しては当該通信端末の行うデータ通信の優先度を示す優先度データと当該通信端末についての隣接機器情報の送信を要求する要求フレームに自装置の通信アドレスを転送元識別子として付与して前記ネットワークに向けてマルチキャストするマルチキャスト手段と、
    前記複数の通信端末の各々から当該通信端末についての前記優先度および隣接機器情報を通知するために返信されてくる優先度通知フレーム、および前記複数のスイッチングハブの各々から当該スイッチングハブについての隣接機器情報を通知するために返信されてくる隣接機器通知フレームを受信し、当該ルータから前記複数の通信端末の各々へ至る通信経路上のスイッチングハブを通信端末毎に特定し、各通信経路上のスイッチングハブに対して当該通信経路の終端に位置する通信端末の優先度データと当該通信経路を示す情報とを送信し、当該通信経路に沿って送受信されるフレームの転送制御を当該優先度データの示す優先度で行うよう指示する優先度設定制御手段
    として機能させることを特徴とするプログラム。
  7. コンピュータを、
    当該コンピュータに対してフレームの転送を行った通信装置を示す隣接機器情報を記憶する記憶手段と、
    受信したフレームの転送制御をその宛先に応じて行う手段であって、当該受信フレームに転送元識別子が付与されている場合には当該転送元識別子を隣接器機器情報として前記記憶手段に書き込んだ後に当該転送元識別子を自装置の通信アドレスに書き換えて当該フレームの宛先に応じた転送制御を行うフレーム転送制御手段と、
    受信フレームが当該コンピュータにフレームを転送した通信装置を示す隣接機器情報の送信を要求するために当該コンピュータを含むネットワークを他のネットワークに接続するルータから送信された要求フレームである場合には、前記記憶手段に格納されている隣接機器情報を書き込んだ隣接機器通知フレームを生成し、自装置の通信アドレスを転送元識別子として付与して返信する隣接機器通知手段と、
    前記ルータから受信した情報の示す通信経路に沿って送受信されるフレームの転送制御が当該情報とともに受信した優先度データの示す優先度で行われるように、当該コンピュータにおけるフレームの転送制御の態様を切り換える優先度設定変更手段と、
    として機能させることを特徴とするプログラム。
JP2011066591A 2011-03-24 2011-03-24 通信システム、ルータ、スイッチングハブ、およびプログラム Active JP5640853B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2011066591A JP5640853B2 (ja) 2011-03-24 2011-03-24 通信システム、ルータ、スイッチングハブ、およびプログラム
CN201280014958.5A CN103477594B (zh) 2011-03-24 2012-03-21 通信系统、路由器、交换式集线器及通信方法
PCT/JP2012/057242 WO2012128301A1 (ja) 2011-03-24 2012-03-21 通信システム、ルータ、スイッチングハブ、および通信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011066591A JP5640853B2 (ja) 2011-03-24 2011-03-24 通信システム、ルータ、スイッチングハブ、およびプログラム

Publications (2)

Publication Number Publication Date
JP2012205012A true JP2012205012A (ja) 2012-10-22
JP5640853B2 JP5640853B2 (ja) 2014-12-17

Family

ID=46879442

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011066591A Active JP5640853B2 (ja) 2011-03-24 2011-03-24 通信システム、ルータ、スイッチングハブ、およびプログラム

Country Status (3)

Country Link
JP (1) JP5640853B2 (ja)
CN (1) CN103477594B (ja)
WO (1) WO2012128301A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017092750A (ja) * 2015-11-12 2017-05-25 Necプラットフォームズ株式会社 集線装置及び方法
JP2017212726A (ja) * 2016-05-27 2017-11-30 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 電子制御ユニット、フレーム生成方法及びプログラム
US11044116B2 (en) 2017-06-27 2021-06-22 Mitsubishi Electric Corporation Management device, communication system, management method, and computer readable medium

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016006150A1 (ja) * 2014-07-10 2016-01-14 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 車載ネットワークシステム、電子制御ユニット、受信方法及び送信方法
CN109842591B (zh) * 2017-11-27 2021-08-13 北京聚利科技有限公司 集线器间通信的方法及用于集线器间通信的系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04269038A (ja) * 1991-02-25 1992-09-25 Matsushita Electric Works Ltd ネットワーク管理装置
JPH10336228A (ja) * 1997-05-28 1998-12-18 Hitachi Cable Ltd 中継装置及びネットワーク管理装置
JP2008172449A (ja) * 2007-01-10 2008-07-24 Kddi Corp ネットワークの論理トポロジを検出するトポロジ検出方法、通信装置、管理装置及びプログラム
JP2008271015A (ja) * 2007-04-18 2008-11-06 Hitachi Ltd ネットワークシステム、管理計算機及び利用者端末
US20090238196A1 (en) * 2005-12-09 2009-09-24 Yosuke Ukita Network system and relay device

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7054304B2 (en) * 2001-01-19 2006-05-30 Terited International , Inc. Method and protocol for managing broadband IP services in a layer two broadcast network
JP2003244222A (ja) * 2002-02-18 2003-08-29 Sony Corp 通信制御装置、通信制御システム、および方法、並びにコンピュータ・プログラム
JP4325516B2 (ja) * 2004-09-07 2009-09-02 Kddi株式会社 モバイルネットワークシステムにおけるデータの優先制御方法
JP5062530B2 (ja) * 2008-04-24 2012-10-31 株式会社ナカヨ通信機 優先端末以外のデータ通信を低減する通信制御システム
CN101640737A (zh) * 2008-07-31 2010-02-03 上海贝尔阿尔卡特股份有限公司 用户选择QoS等级的方法和实现该方法的设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04269038A (ja) * 1991-02-25 1992-09-25 Matsushita Electric Works Ltd ネットワーク管理装置
JPH10336228A (ja) * 1997-05-28 1998-12-18 Hitachi Cable Ltd 中継装置及びネットワーク管理装置
US20090238196A1 (en) * 2005-12-09 2009-09-24 Yosuke Ukita Network system and relay device
JP2008172449A (ja) * 2007-01-10 2008-07-24 Kddi Corp ネットワークの論理トポロジを検出するトポロジ検出方法、通信装置、管理装置及びプログラム
JP2008271015A (ja) * 2007-04-18 2008-11-06 Hitachi Ltd ネットワークシステム、管理計算機及び利用者端末

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017092750A (ja) * 2015-11-12 2017-05-25 Necプラットフォームズ株式会社 集線装置及び方法
JP2017212726A (ja) * 2016-05-27 2017-11-30 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 電子制御ユニット、フレーム生成方法及びプログラム
US11012255B2 (en) 2016-05-27 2021-05-18 Panasonic Intellectual Property Corporation Of America Electronic control unit, frame generating method, and non-transitory computer-readable recording medium storing a program
JP2021119724A (ja) * 2016-05-27 2021-08-12 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 電子制御ユニット、フレーム生成方法及びプログラム
US11463275B2 (en) 2016-05-27 2022-10-04 Panasonic Intellectual Property Corporation Of America Electronic control unit, frame generating method, and non-transitory computer-readable recording medium storing a program
JP7289332B2 (ja) 2016-05-27 2023-06-09 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 電子制御ユニット、フレーム生成方法及びプログラム
US11044116B2 (en) 2017-06-27 2021-06-22 Mitsubishi Electric Corporation Management device, communication system, management method, and computer readable medium

Also Published As

Publication number Publication date
WO2012128301A1 (ja) 2012-09-27
CN103477594B (zh) 2016-08-10
CN103477594A (zh) 2013-12-25
JP5640853B2 (ja) 2014-12-17

Similar Documents

Publication Publication Date Title
US9571382B2 (en) Method, controller, and system for processing data packet
Misra et al. Network routing: fundamentals, applications, and emerging technologies
JP5255653B2 (ja) エニーキャストを介したマップレスグローバルトラフィック負荷のバランシング
JP5757324B2 (ja) コンピュータシステム、及び通信方法
JP4033773B2 (ja) ネットワークルーティングを実行する方法および装置
JP3701476B2 (ja) データ通信方法
US8493989B2 (en) Network device and data control program
EP3958509A1 (en) Method, apparatus and system for communication between controllers in tsn
CN100579034C (zh) 上报设备信息的方法、获取设备信息的系统和设备
US20080232276A1 (en) Load-Aware Network Path Configuration
JP4517997B2 (ja) ネットワーク管理装置およびネットワークシステム
JP5640853B2 (ja) 通信システム、ルータ、スイッチングハブ、およびプログラム
WO2021196967A1 (zh) 消息交互方法、装置、设备和存储介质
JPWO2012081631A1 (ja) スイッチング装置、その上位装置、ネットワーク及びパケット転送方法
WO2012173172A1 (ja) 通信システム、コントローラ、スイッチ、ストレージ管理装置、及び通信方法
US20130212241A1 (en) System and method for operating network based on network virtualization
JP5233295B2 (ja) 通信装置、通信システム及び通信方法
CN105516025A (zh) 端到端的路径控制和数据传输方法、OpenFlow控制器和交换机
US8612626B2 (en) Group member detection among nodes of a network
Paliwal et al. Effective flow table space management using policy-based routing approach in hybrid sdn network
CN105591963A (zh) Sdn中报文转发方法和设备
JP5750933B2 (ja) 通信システム、スイッチングハブ、ルータおよびプログラム
Rayes et al. The internet in IoT
KR20210016802A (ko) 소프트웨어 정의 네트워킹 환경에서 서버-클라이언트 기반의 네트워크 서비스를 위한 플로우 테이블을 최적화하는 방법 및 이를 위한 sdn 스위치
CN100450068C (zh) 一种组播组的维护方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140122

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140516

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140527

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140724

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140930

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141013

R150 Certificate of patent or registration of utility model

Ref document number: 5640853

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150