(57)【特許請求の範囲】
【請求項１】
第一中継装置と第二中継装置とを備えているネットワーク中継システムであって、
前記第一中継装置は、
データパケットの入力及び出力を行う、前記第二中継装置に接続されている第一ポートと、
前記第一ポートから前記第二中継装置に転送するデータパケットのトラフィックの輻輳状態を検出する検出部と、
前記輻輳状態を検出したときに、前記第二中継装置へ宛てて、該輻輳状態を検出したことを示す検出通知を送信する第一送信部と、
を備えており、
前記第二中継装置は、
データパケットの入力及び出力を行う複数のポートと、
前記複数のポートの各々について、入力されたデータパケットを転送する宛先と該入力されたデータパケットを出力するポートの識別情報とが対応付けられている記憶部と、
前記第一中継装置から前記検出通知を受信する受信部と、
前記検出通知を受信したときに、前記複数のポートのうち前記第一中継装置に接続されているポートに対応付けられている宛先を前記記憶部から得て、得た宛先に輻輳の通知を送信する第二送信部と、
を備えている、
ことを特徴とするネットワーク中継システム。
【請求項２】
前記検出部は、前記第一ポートから出力するデータパケットが一時的に格納されるキューの長さが所定の第一閾値を上回ったことを検出することによって前記輻輳状態を検出すると共に、該輻輳状態の検出後に、該キューの長さが、該第一閾値よりも短い所定の第二閾値を下回ったことを検出することによって該輻輳状態の解消を検出し、
前記第一送信部は、前記第一検出部が前記輻輳状態の解消を検出したときには、前記検出通知の送信を停止する、
ことを特徴とする請求項１に記載のネットワーク中継システム。
【請求項３】
前記第二送信部は、前記輻輳の通知に、該輻輳の通知の宛先の識別情報を含めたものを送信することを特徴とする請求項１又は２に記載のネットワーク中継システム。
【請求項４】
前記第一送信部が送信した前記検出通知に応答して前記第二中継装置から送られてくる前記宛先の識別情報を受け取ると、前記輻輳の通知に、該輻輳の通知の宛先の識別情報を含めたものを送信する輻輳発生通知パケット送信部を更に有することを特徴とする請求項１又は２に記載のネットワーク中継システム。
【請求項５】
前記第二中継装置はレイヤ２スイッチであり、
前記記憶部は、前記レイヤ２スイッチにおけるフォワーディング・データベース（ＦＤＢ）であり、前記宛先がメディア・アクセス・コントロール・アドレス（ＭＡＣアドレス）で表されている、
ことを特徴とする請求項１から４のうちのいずれか一項に記載のネットワーク中継システム。
【請求項６】
データパケットの入力及び出力を行う複数のポートと、
前記複数のポートの各々について、入力されたデータパケットを転送する宛先と該入力されたデータパケットを出力するポートの識別情報とが対応付けられている記憶部と、
前記複数のポートのうちの輻輳状態にあるデータパケットのトラフィックを流入させている流入元装置から、該輻輳状態を検出したことを示している検出通知を受信する受信部と、
前記受信部が前記検出通知を受信したときに、前記輻輳状態にあるデータパケットのトラフィックが流入しているポートに対応付けられている宛先を前記記憶部から得て、得た宛先に輻輳の通知を送信する第一送信部と、
前記複数のポートの各々から流出させるデータパケットのトラフィックについての輻輳状態を該ポート毎に検出する検出部と、
前記検出部が前記輻輳状態を検出したときに、該輻輳状態を検出したポートに接続されている流出先装置へ宛てて、前記検出通知を送信する第二送信部と、
前記第二送信部が送信した前記検出通知に応答して前記流出先装置から送られてくる前記宛先の識別情報を受け取ったときに、前記輻輳の通知に、該輻輳の通知の宛先の識別情報を含めたものを送信する第三送信部と、
を備えていることを特徴とするネットワーク中継装置。
【請求項７】
第一中継装置と第二中継装置とを備えているネットワーク中継システムにおいて発生したデータパケットのトラフィックの輻輳状態を通知する方法であって、
データパケットの入力及び出力を行うポートを備えている前記第一中継装置が、
前記第二中継装置に接続されているポートから該第二中継装置に転送するデータトラフィックの輻輳状態の検出を行い、
前記輻輳状態を検出したときに、前記第二中継装置へ宛てて、該輻輳状態を検出したことを示している検出通知を送信し、
データパケットの入力及び出力を行う複数のポートを備えている前記第二中継装置が、
前記第一中継装置から前記検出通知を受信し、
前記検出通知を受信したときに、前記複数のポートの各々について、入力されたデータパケットを転送する宛先と該入力されたデータパケットを出力するポートの識別情報とが対応付けられている記憶部から、前記第一中継装置に接続されているポートに対応付けられている宛先を得て、得た宛先に輻輳の通知を送信する、
ことを特徴とする輻輳状態通知方法。
【請求項８】
ネットワーク中継システムにおいて発生したデータパケットのトラフィックの輻輳状態を、該ネットワーク中継システムが備えている中継装置から通知する方法であって、
データパケットの入力及び出力を行う複数のポートを備えている前記中継装置が、
前記複数のポートの各々について、入力されたデータパケットを転送する宛先と、該入力されたデータパケットを出力するポートの識別情報とが対応付けられている記憶部を参照し、
前記複数のポートのうちの輻輳状態にあるデータパケットのトラフィックを流入させている流入元装置から、該輻輳状態を検出したことを示している検出通知を受信し、
前記検出通知を受信したときに、前記輻輳状態にあるデータパケットのトラフィックが流入しているポートに対応付けられている宛先を前記記憶部から得て、得た宛先に輻輳の通知を送信し、
前記複数のポートの各々から流出させるデータパケットのトラフィックについての輻輳状態を該ポート毎に検出し、
前記輻輳状態を検出したときに、該輻輳状態を検出したポートに接続されている流出先装置へ宛てて、前記検出通知を送信し、
送信された前記検出通知に応答して前記流出先装置から送られてくる前記宛先の識別情報を受け取ったときに、前記輻輳の通知に、該輻輳の通知の宛先の識別情報を含めたものを送信する、
ことを特徴とする輻輳状態通知方法。
【請求項９】
ネットワーク中継システムが備えている中継装置の制御を行う演算処理装置に実行させることによって、該ネットワーク中継システムにおいて発生したデータパケットのトラフィックの輻輳状態の通知を該中継装置から行わせるためのプログラムであって、
前記中継装置はデータパケットの入力及び出力を行う複数のポートを備えており、
前記プログラムは、
前記複数のポートの各々について、入力されたデータパケットを転送する宛先と、該入力されたデータパケットを出力するポートの識別情報とが対応付けられている記憶部を参照する処理と、
前記複数のポートのうちの輻輳状態にあるデータパケットのトラフィックを流入させている流入元装置から、該輻輳状態を検出したことを示している検出通知を前記中継装置に受信させる処理と、
前記検出通知が受信されたときに、前記輻輳状態にあるデータパケットのトラフィックが流入しているポートに対応付けられている宛先を前記記憶部から得て、得た宛先に輻輳の通知を前記中継装置に送信させる処理と、
前記複数のポートの各々から流出させるデータパケットのトラフィックについての輻輳状態の該ポート毎の検出を前記中継装置に行わせる処理と、
前記輻輳状態が検出されたときに、該輻輳状態が検出されたポートに接続されている流出先装置へ宛てた前記検出通知の送信を前記中継装置に行わせる処理と、
送信された前記検出通知に応答して前記流出先装置から送られてくる前記宛先の識別情報を前記中継装置が受け取ったときに、前記輻輳の通知に、該輻輳の通知の宛先の識別情報を含めたものを前記中継装置に送信させる処理と、
を前記演算処理装置に行わせることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信ネットワークを流れるデータフローの制御技術に関する。
【背景技術】
【０００２】
通信ネットワークの規格であるイーサネット（登録商標）を拡張した規格であるＣＥＥ（Converged Enhanced Ethernet ）の標準化が進んでいる。ＣＥＥの標準化の進展に伴い、イーサネットのネットワーク上にＦＣ（Fiber Channel ）プロトコルのデータフローを流すＦＣｏＥ（FC over Ethernet）技術を活用したＬＡＮ（Local Area Network）とＳＡＮ（Storage Area Network）との統合が進んでいる。
【０００３】
ＦＣプロトコルは、元々、通信ネットワーク上でのパケットロスの発生を意図して作られたプロトコルではない。このため、イーサネットのネットワーク上にＦＣプロトコルのデータフローを流す場合には、ネットワーク内での通信パケットのロスがゼロである通信を実現する必要がある。前述したＣＥＥの標準化においては、ＩＥＥＥ８０２．１Ｑａｕと称されている輻輳制御規格を用いて、このような通信を実現する。
【０００４】
ＩＥＥＥ８０２．１Ｑａｕ規格における処理の概要は次の通りである。
まず、ネットワーク機器の各出力ポートのキュー長の監視が行われる。ここで、キュー長が所定値以上になった出力ポートは輻輳状態が発生していると判定され、この出力ポートを流れているデータトラフィックから、ひとつのデータフローが抽出される。そして、そのデータフローの発信元の端末へ宛てて輻輳通知パケットを送信する。この輻輳通知パケットを受信した発信元端末は、以降に送信するデータフローの転送レートを低下させることで、その出力ポートで発生している輻輳状態の継続を回避する。
【０００５】
ＩＥＥＥ８０２．１Ｑａｕ規格では、出力ポートの輻輳状態が発生したときには、その出力ポート（輻輳ポート）を流れるデータトラフィックから任意に抽出された１つのデータフローの発信元に対してのみ輻輳通知を行うため、輻輳が収束するまでに長い時間を要する。本来であれば、輻輳ポートを流れている全てのデータフローの発信元に輻輳通知を行うことが望ましい。このような技術が幾つか提案されている。
【０００６】
その第一の技術は、イーサネットスイッチの出力ポートを通過するトラフィックを監視する機能を提供するハードウェアをスイッチ自身に備えるというものである。この技術は、出力ポートでの輻輳の発生時に、データトラフィックの監視により作成された管理情報を用いて、輻輳ポートを通過しているデータトラフィックを形成している全てのデータフローの発信元を特定する。そして、その発信元の全てに宛てた輻輳通知パケットを送信する。
【０００７】
また、その第二の技術は、データパケットがイーサネットスイッチに到着する度に当該スイッチがＦＤＢ（Forwarding DataBase ）を用いて行う、当該パケットを出力するポートの解決時に、当該出力ポートの輻輳状態の判定を行うというものである。この技術では、出力ポートが輻輳状態にあると判定された場合には、到着したデータパケットに記されている、当該データパケットの発信元のＭＡＣアドレスを宛先アドレスとして設定した輻輳通知パケットの送信が行われる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０００−２７０００２号公報
【特許文献２】特開２００２−２２３２２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
前述した第一の技術は、データトラフィックを監視して、出力ポート毎に出力ポートを通過している全てのデータフローを特定するという高負荷の処理をスイッチで行うために、スイッチに新たなハードウェアの追加を必要としている。
【００１０】
また、前述した第二の技術では、輻輳状態の発生が検出されても、到着したデータパケットの送信元に対してのみ輻輳通知パケットが送信される。従って、例えば間欠的な通信を行っている他のデータフローの発信元には輻輳通知パケットが届かない。このため、例えば、既に輻輳状態が発生しているにもかかわらず輻輳通知を受けていない発信元が大量のデータパケットを送出した場合には、大量のデータパケットの廃棄の発生や、輻輳状態の収束の遅れによる遅延時間の長時間化などが懸念される。
【００１１】
上述した問題に鑑み、本明細書で後述するネットワーク中継システムは、通信ネットワーク上で発生した輻輳状態を、早期に解消できるようにする。
【課題を解決するための手段】
【００１２】
本明細書で後述するネットワーク中継システムのひとつに、第一中継装置と第二中継装置とを備えているものがある。
このうち、第一中継装置は、データパケットの入力及び出力を行う、前記第二中継装置に接続されている第一ポートと、検出部と、第一送信部とを備えている。ここで、検出部は、第一ポートから第二中継装置に転送するデータパケットのトラフィックの輻輳状態を検出する。また、第一送信部は、前記輻輳状態を検出したときに、第二中継装置へ宛てて、輻輳状態を検出したことを示す検出通知を送信する。
【００１３】
一方、第二中継装置は、データパケットの入力及び出力を行う複数のポートと、記憶部と、受信部と、第二送信部とを備えている。ここで、記憶部では、複数のポートの各々について、入力されたデータパケットを転送する宛先と、該入力されたデータパケットを出力するポートとが対応付けられている。また、受信部は、第一中継装置から前記検出通知を受信する。そして、第二送信部は、前記検出通知を受信したときに、前記複数のポートのうち第一中継装置が接続されているポートに対応付けられている宛先を記憶部から得て得た宛先に輻輳の通知を送信する。
【発明の効果】
【００１４】
本明細書で後述するネットワーク中継システムは、通信ネットワーク上で発生した輻輳状態が、早期に解消されるという効果を奏する。
【図面の簡単な説明】
【００１５】
【図１】ネットワーク中継システムの一実施例の構成図である。
【図２】ネットワークスイッチの具体的構成の第一の例である。
【図３】信号処理部のハードウェア構成例である。
【図４】輻輳監視処理の処理内容を図解したフローチャートである。
【図５】輻輳検出通知パケットの構造の第一の例である。
【図６】パケット受信処理の第一の例の処理内容を図解したフローチャートである。
【図７】輻輳発生通知パケットの構造の一例である。
【図８】ネットワーク中継システムでのデータパケットの流れの第一の例である。
【図９】図８のデータパケットの流れを図解したシーケンス図である。
【図１０】ネットワークスイッチの具体的構成の第二の例である。
【図１１】輻輳検出通知パケットの構造の第二の例である。
【図１２】パケット受信処理の第二の例の処理内容を図解したフローチャートである。
【図１３】輻輳検出通知応答パケットの構造の一例である。
【図１４】ネットワーク中継システムでのデータパケットの流れの第二の例である。
【図１５】図１４のデータパケットの流れを図解したシーケンス図である。
【発明を実施するための形態】
【００１６】
まず図１について説明する。図１は、ネットワーク中継システムの一実施例の構成図である。
このネットワーク中継システム１は、第一中継装置１０と第二中継装置２０とを備えて構成されている。
【００１７】
第一中継装置１０は、データパケットの入力及び出力を行うポート１１−１、１１−２、１１−３、及び１１−４を備えており、第二中継装置２０は同様のポート２１−１、２１−２、２１−３、及び２１−４を備えている。なお、第一中継装置１０及び第二中継装置２０各々のポート数は図１ではどちらも４個であるが、この個数は任意の複数でよい。
【００１８】
図１のネットワーク中継システム１では、第一中継装置１０のポート１１−１と、第二中継装置２０とが通信ケーブル２を介して物理的に接続されている。
なお、以下の説明では、ポート１１−１、１１−２、１１−３、及び１１−４を特に区別する必要がない場合には、「複数のポート１１」と称することとする。また、同様に、ポート２１−１、２１−２、２１−３、及び２１−４を特に区別する必要がない場合には、「複数のポート２１」と称することとする。
【００１９】
第一中継装置１０は、複数のポート１１に加えて、更に、輻輳状態検出部１２と輻輳検出通知送信部１３とを備えている。
輻輳状態検出部１２は、ポート１１−１から第二中継装置２０に流出させるデータトラフィックの輻輳状態の発生を検出する。この輻輳状態の発生の検出は、例えば、ポート１１−１から出力するデータパケットが一時的に格納されるキュー１４の長さが所定の第一閾値を上回ったことを検出することによって行われる。
【００２０】
輻輳検出通知送信部１３は、輻輳状態検出部１２が上述した輻輳状態の発生を検出したときに、輻輳状態となっているデータトラフィックの流出先装置である第二中継装置２０へ宛てて、輻輳状態の発生を検出したことを示している輻輳検出通知を送信する。この輻輳検出通知は、ポート１１−１から通信ケーブル２を介して送られ、第二中継装置２０のポート２１−４に届けられる。
【００２１】
なお、輻輳状態検出部１２が、更に、ポート１１−１から第二中継装置２０に流出させるデータトラフィックの輻輳状態の解消を検出するようにしてもよい。ここで、輻輳状態検出部１２が輻輳状態の解消を検出したときには、輻輳検出通知送信部１３が輻輳検出通知の送信を停止するようにしてもよい。なお、輻輳状態検出部１２による輻輳状態の解消の検出は、例えば、輻輳状態の発生の検出後に、キュー１４の長さが、第一閾値よりも短い所定の第二閾値を下回ったことを検出することによって行うことができる。
【００２２】
第二中継装置２０は、複数のポート２１に加えて、更に、データベース２２、輻輳検出通知受信部２３、及び宛先装置情報送信部２４を備えている。
データベース２２は、複数のポート２１の各々に入力されるデータパケットの宛先である宛先装置の識別情報と、そのデータパケットを出力するとデータパケットがその宛先装置に届けられるポート２１とが対応付けられて格納されている。
【００２３】
なお、第二中継装置２０は、レイヤ２スイッチ（データパケットのルーティングにＯＳＩ（Open Systems Interconnection）参照モデルの第二層（データリンク層）のデータを用いるスイッチ）として構成してもよい。第二中継装置２０をレイヤ２スイッチとして構成する場合には、データベース２２としてＦＤＢ（Forwarding DataBase ）を用いてもよい。なお、データベース２２としてＦＤＢを用いる場合には、ＭＡＣアドレス（Media Access Control Address）を、前述した宛先装置の識別情報として使用する。
【００２４】
輻輳検出通知受信部２３は、輻輳状態となっているデータトラフィックの流入元装置である第一中継装置１０の輻輳検出通知送信部１３により送信される、前述した輻輳検出通知を受信する。
【００２５】
宛先装置情報送信部２４は、データベース２２において第一中継装置１０が物理的に接続されているポート２１−４に対応付けられている宛先装置の識別情報を、そのポート２１から送信する。この宛先装置情報送信部２４による宛先装置の識別情報の送信は、例えば輻輳検出通知受信部２３が輻輳検出通知を受信したときに行われる。
【００２６】
第二中継装置２０には、前述したように、データパケットの宛先である宛先装置の識別情報と、その宛先装置へ宛ててデータパケットを送るときにそのデータパケットを出力するポートとが対応付けられて格納されているデータベース２２を備えている。第二中継装置２０は、データパケットを宛先装置に届けるための経路の適切な選択を、このデータベース２２を参照することで行っている。なお、このデータベース２２は、例えば、第一中継装置１０が物理的に接続されているポート２１−４から流入するデータパケットから当該データパケットの発信元を示す識別情報を抽出して、この識別情報とポート２１−４とを対応付けることによって作成される。従って、第二中継装置２０は、第一中継装置１０が物理的に接続されているポート２１−４から流入している、輻輳状態となっているデータトラフィックを形成している全てのデータパケットの発信元の情報を、データベース２２に有している。
【００２７】
その一方で、第一中継装置１０は、第二中継装置２０が物理的に接続されているポート１１−１において輻輳状態となっているデータトラフィックを形成しているデータパケットの発信元の情報を有していない。そこで、図１のネットワーク中継システム１では、第一中継装置１０が有していない上述の情報を、第二中継装置２０の宛先装置情報送信部２４が第一中継装置１０に送るようにしている。こうすることで、輻輳状態となっているポート１１−１のデータトラフィックを形成している全てのデータパケットの発信元への輻輳通知の送付が第一中継装置１０で可能になるので、輻輳状態を迅速に解消できるようになる。また、輻輳状態となっているデータトラフィックに、間欠的な通信を行っているデータパケットが含まれていても、そのようなデータパケットの発信元へにも輻輳通知の送付が可能になる。
【００２８】
なお、輻輳通知の送付のために、輻輳通知パケット送信部１５を更に第一中継装置１０に備えるようにしてもよい。輻輳通知パケット送信部１５は、輻輳検出通知送信部１３が送信した輻輳検出通知に応答して第二中継装置２０の宛先装置情報送信部２４から送信される前述の宛先装置の識別情報を受け取ると、輻輳発生通知パケットを送信する。輻輳発生通知パケットは輻輳状態の発生を通知するものであり、輻輳通知パケット送信部１５は、この輻輳発生通知パケットに、輻輳発生通知パケットの宛先の情報として、宛先装置の識別情報を含めたものを送信する。
【００２９】
また、輻輳通知の送付のためには、第二中継装置２０の宛先装置情報送信部２４自身が、輻輳状態の発生を通知する輻輳発生通知パケットに、その輻輳発生通知パケットの宛先の情報として、宛先装置の識別情報を含めたものを送信するようにしてもよい。このようにすることで、前述した輻輳通知パケット送信部１５を第一中継装置１０に備えることなく、輻輳状態となっているポート１１−１のデータトラフィックを形成している全てのデータパケットの発信元への輻輳通知の送付が可能になる。
【００３０】
なお、第一中継装置１０と第二中継装置２０との構成を共通にしてもよい。すなわち、第一中継装置１０が備えている輻輳状態検出部１２、輻輳検出通知送信部１３及び輻輳通知パケット送信部１５を第二中継装置２０に備える。そして、第二中継装置２０が備えているデータベース２２、輻輳検出通知受信部２３、及び宛先装置情報送信部２４を第一中継装置１０に備える。このようにして、第一中継装置１０と第二中継装置２０との構成を共通にしてもよい。
【００３１】
次に、図１のネットワーク中継システム１の動作について更に説明する。
まず、第一の動作例について、図２から図６の各図を用いて説明する。この第一の動作例は、輻輳発生通知パケットの送信を第二中継装置２０が行う場合の動作である。
【００３２】
まず図２について説明する。図２は、ネットワークスイッチの具体的構成の第一の例を図解したものである。
図２のネットワークスイッチ１００は、前述したように構成を共通にした第一中継装置１０及び第二中継装置２０のどちらにも使用できるものである。なお、以下の図２の説明では、簡単のため、ネットワークスイッチ１００を第一中継装置１０として使用する場合について説明する。
【００３３】
このネットワークスイッチ１００は、レイヤ２パケットフォワーディングエンジン１１０と信号処理部１２０とを備えている。
レイヤ２パケットフォワーディングエンジン１１０は、まず、ＦＤＢ１１１を作成する処理を行う。ＦＤＢ１１１には、複数のポート１１の各々に入力されるデータパケットの宛先である宛先装置のＭＡＣアドレスと、このデータパケットを出力すると当該宛先装置にそのデータパケットが届けられるポートとが対応付けられている。レイヤ２パケットフォワーディングエンジン１１０は、複数のポート１１の各々に入力されたデータパケットからその発信元のＭＡＣアドレスを抽出し、このＭＡＣアドレスと、そのデータパケットが入力されたポート１１とを対応付けてＦＤＢ１１１を作成する。このＦＤＢ１１１は、図１におけるデータベース２２の一例である。
【００３４】
また、レイヤ２パケットフォワーディングエンジン１１０は、複数のポート１１のうちのいずれかのポートに入力されたデータパケットを、複数のポート１１のうちの他のいずれかのポートから出力する処理を行う。データパケットを出力するポートは、ＦＤＢ１１１を用いて以下のようにして決定される。
【００３５】
まず、入力されたデータパケットから、そこに示されている宛先の装置のＭＡＣアドレスを抽出する処理が行われる。次に、ＦＤＢ１１１を参照し、ＦＤＢ１１１において、抽出したＭＡＣアドレスに対応付けられているポートの情報を取得する処理が行われる。こうして取得されたポートを、データパケットを出力するポートとして決定する。
【００３６】
更に、レイヤ２パケットフォワーディングエンジン１１０は、複数のポート１１の各々に入力されるデータパケットを抽出して信号処理部１２０に送付する処理や、信号処理部１２０が作成したデータパケットを他のデータパケット群に挿入して出力する処理も行う。
なお、以下の説明では、レイヤ２パケットフォワーディングエンジン１１０を、「ＰＦエンジン１１０」と称することとする。
【００３７】
信号処理部１２０は、輻輳状態検出処理１２１、輻輳検出通知送信処理１２２、輻輳検出通知受信処理１２３、及び宛先装置情報送信処理１２４などを行う。この信号処理部１２０のハードウェア構成例を図３に図解する。
【００３８】
図３の信号処理部１２０は、ＭＰＵ１２５、フラッシュメモリ１２６、ＲＡＭ１２７、及びインタフェース部１２８を備えている。なお、これらの構成要素はバスライン１２９を介して接続されており、ＭＰＵ１２５の管理の下で各種のデータを相互に授受することができる。
【００３９】
ＭＰＵ（Micro Processing Unit）１２５は、この信号処理部１２０全体の動作を制御する演算処理装置である。
フラッシュメモリ１２６は、ＭＰＵ１２５によって実行される各種の制御プログラムが記録される不揮発性の半導体メモリである。ＭＰＵ１２５は、この制御プログラムをネットワークスイッチ１００の起動時にフラッシュメモリ１２６から読み出して実行することにより、信号処理部１２０の各構成要素の動作制御が可能になる。また、この制御プログラムをＭＰＵ１２５が実行することにより、信号処理部１２０が、輻輳状態検出処理１２１、輻輳検出通知送信処理１２２、輻輳検出通知受信処理１２３、及び宛先装置情報送信処理１２４などの各種処理を行えるようになる。
【００４０】
ＲＡＭ（Random Access Memory）１２７は、ＭＰＵ１２５が各種の制御プログラムを実行する際に、必要に応じて作業用記憶領域として使用する、随時書き込み読み出し可能な半導体メモリである。
【００４１】
インタフェース部１２８は、ＰＦエンジン１１０との間での各種のデータの授受の管理を行う。
なお、フラッシュメモリ１２６には、前述した制御プログラムを予め記録させておくようにする。この代わりに、例えばネットワークスイッチ１００が接続されている通信ネットワーク上の端末装置から送信された制御プログラムを、ＰＦエンジン１１０及びインタフェース部１２８を介して受信してフラッシュメモリ１２６に書き込むようにしてもよい。また、信号処理部１２０に記録媒体駆動部１３０を更に備えて、可搬型記録媒体１３１に記録されている制御プログラムを、記録媒体駆動部１３０が読み出してフラッシュメモリ１２６に書き込むようにしてもよい。可搬型記録媒体１３１としては、例えば、ＵＳＢ（Universal Serial Bus）規格のコネクタが備えられているフラッシュメモリ、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＤＶＤ−ＲＯＭ（Digital Versatile Disc Read Only Memory）などがある。
【００４２】
次に、ＭＰＵ１２５が行う制御処理である、輻輳監視処理及びパケット受信処理について説明する。これらの処理は、ＭＰＵ１２５がフラッシュメモリ１２６に記録されている制御プログラムを実行することによって提供される。
【００４３】
まず、輻輳監視処理について説明する。図４は、輻輳監視処理の処理内容をフローチャートで図解したものである。
この輻輳監視処理は、信号処理部１２０が輻輳状態検出処理１２１と輻輳検出通知送信処理１２２とを行うための処理であり、ネットワークスイッチ１００が備えている複数のポート１１の各々について、個別に並行して行われる。なお、輻輳監視処理は、ネットワークスイッチ１００が起動すると開始される。
【００４４】
なお、図４の説明では、ネットワークスイッチ１００を第一中継装置１０として使用する場合について説明する。
図４において、まず、Ｓ１０１では、ポート１１から出力されるデータパケットが一時的に格納されるキューの長さが所定の通知閾値を上回ったか否かを判定する処理をＭＰＵ１２５が行う。このキューはＰＦエンジン１１０が備えているが、図２では図示を省略している。このＳ１０１の判定処理により、ポート１１でのデータトラフィックの輻輳状態の発生の検出が行われる。
【００４５】
Ｓ１０１の判定処理において、キューの長さが通知閾値を上回ったと判定されたとき（判定結果がＹｅｓのとき）には、Ｓ１０２に処理が進む。一方、キューの長さが通知閾値以下であると判定されたとき（判定結果がＮｏのとき）には、キューの長さが通知閾値を上回って判定結果がＹｅｓとなるまで、このＳ１０１の処理が繰り返される。
【００４６】
次に、Ｓ１０２では、ＰＦエンジン１１０を制御して、ポート１１でのデータトラフィックの輻輳状態の発生を検出したことを通知するためのデータパケットである輻輳検出通知パケットを、ポート１１から送信させる処理をＭＰＵ１２５が行う。
【００４７】
ここで図５について説明する。図５は輻輳検出通知パケットの構造の第一の例を図解したものである。
図５に図解されているように、この輻輳検出通知パケットは、「ＤｓｔＭＡＣ」、「ＳｒｃＭＡＣ」、「Ｔｙｐｅ」、及び「ｄａｔａ」の各データ格納領域を有している。
【００４８】
「ＤｓｔＭＡＣ」には、この輻輳検出通知パケットの宛先である装置のＭＡＣアドレスが格納される。従って、この輻輳検出通知パケットが第二中継装置２０宛てのものである場合には、「ＤｓｔＭＡＣ」には第二中継装置２０に割り当てられているＭＡＣアドレスが格納される。
【００４９】
「ＳｒｃＭＡＣ」には、この輻輳検出通知パケットの発信元である装置のＭＡＣアドレスが格納される。従って、この輻輳検出通知パケットが第一中継装置１０から発信されるものである場合には、「ＳｒｃＭＡＣ」には第一中継装置１０に割り当てられているＭＡＣアドレスが格納される。
【００５０】
「Ｔｙｐｅ」には、このデータパケットが輻輳検出通知パケットであることを表す識別データが格納される。
「ｄａｔａ」には制御データが格納されるが、制御データを輻輳検出通知パケットに格納することは必須ではなく、不要な場合には制御データを輻輳検出通知パケットに格納しなくてもよい。
【００５１】
図４の説明に戻る。Ｓ１０３からＳ１０６にかけての処理は、ポート１１で発生したデータトラフィックの輻輳状態が解消するまで、所定の時間間隔で、輻輳検出通知パケットの送信を繰り返すための処理である。
【００５２】
まず、Ｓ１０３では、輻輳検出通知パケットを送信してから所定時間が経過したか否かを判定する処理をＭＰＵ１２５が行う。ここで、輻輳検出通知パケットを送信してから所定時間が経過したと判定されたとき（判定結果がＹｅｓのとき）にはＳ１０５に処理が進む。一方、輻輳検出通知パケットを送信してから所定時間が未だ経過していないと判定されたとき（判定結果がＮｏのとき）にはＳ１０４に処理が進む。
【００５３】
次に、Ｓ１０４では、ＰＦエンジン１１０を制御して、Ｓ１０２の処理により送信されたものと同一の輻輳検出通知パケットを、ポート１１から再送信させる処理をＭＰＵ１２５が行う。
【００５４】
次に、Ｓ１０５では、ポート１１についての前述したキューの長さが所定の解除閾値を下回ったか否かを判定する処理をＭＰＵ１２５が行う。なお、この解除閾値は、前述した通知閾値よりも短い値に設定される。このＳ１０５の判定処理において、キューの長さが所定の解除閾値を下回ったと判定されたとき（判定結果がＹｅｓのとき）には、Ｓ１０６に処理が進む。一方、キューの長さが所定の通知閾値以上であると判定されたとき（判定結果がＮｏのとき）には、Ｓ１０３に処理が戻る。
【００５５】
次に、Ｓ１０６では、輻輳検出通知パケットの送信を停止する処理をＭＰＵ１２５が行う。その後はＳ１０１に処理が戻り、ポート１１でのデータトラフィックの輻輳状態の発生を検出するための処理が再開される。
【００５６】
以上までの処理が輻輳監視処理であり、この処理をＭＰＵ１２５が行うことにより、図１における輻輳状態検出部１２及び輻輳検出通知送信部１３の機能が、図２のネットワークスイッチ１００で提供される。
【００５７】
次にパケット受信処理について説明する。図６は、パケット受信処理の第一の例の処理内容をフローチャートで図解したものである。
このパケット受信処理は、信号処理部１２０が輻輳検出通知受信処理１２３と宛先装置情報送信処理１２４とを行うための処理である。なお、パケット受信処理は、ネットワークスイッチ１００が新たなデータパケットを複数のポート２１のいずれかで受け取る度に開始される。
【００５８】
なお、図６の説明では、ネットワークスイッチ１００を第二中継装置２０として使用する場合について説明する。
図６において、Ｓ１１１では、受信したデータパケットが輻輳検出通知パケットであったか否かを判定する処理をＭＰＵ１２５が行う。ここで、受信したデータパケットが輻輳検出通知パケットであったと判定されたとき（判定結果がＹｅｓのとき）にはＳ１１３に処理が進む。一方、受信したデータパケットが輻輳検出通知パケットではなかったと判定されたとき（判定結果がＮｏのとき）にはＳ１１２に処理が進み、ＰＦエンジン１１０による通常のデータパケットの中継処理が行われる。
【００５９】
次に、Ｓ１１３では、ＰＦエンジン１１０のＦＤＢ１１１を参照する処理をＭＰＵ１２５が行う。
次に、Ｓ１１４では、参照中のＦＤＢ１１１の全てのエントリについて、後述するＳ１１５の処理による判定を確認済みであるか否かを判定する処理をＭＰＵ１２５が行う。ここで、ＦＤＢ１１１の全てのエントリが確認済みであると判定されたとき（判定結果がＹｅｓのとき）にはこのパケット受信処理が終了する。一方、ＦＤＢ１１１に未確認のエントリが残っていると判定されたとき（判定結果がＮｏのとき）には、Ｓ１１５に処理が進む。
【００６０】
Ｓ１１５では、ＦＤＢ１１１のうちの未確認のエントリのひとつに注目し、Ｓ１１１の処理で受信が確認された輻輳検出通知パケットが届いたポート２１と、このエントリに示されているポートの情報とが一致するか否かを判定する処理をＭＰＵ１２５が行う。ここで、この両者が一致したと判定されたとき（判定結果がＹｅｓのとき）にはＳ１１６に処理が進む。一方、この両者が一致しないと判定されたとき（判定結果がＮｏのとき）には、Ｓ１１４に処理が戻って、Ｓ１１４及びＳ１１５の処理が再度行われる。
【００６１】
Ｓ１１６では、ＰＦエンジン１１０を制御して、輻輳発生通知パケットをポート２１から送信させる処理をＭＰＵ１２５が行い、その後はＳ１１４に処理が戻ってＳ１１４及びＳ１１５の処理が再度行われる。
【００６２】
輻輳発生通知パケットは、データトラフィックの輻輳状態の発生を、そのデータトラフィックを形成しているデータパケットの発信元へ通知するためのデータパケットであり、その構造は後述する。Ｓ１１６において、ＭＰＵ１２５は、ＰＦエンジン１１０を制御して、この輻輳発生通知パケットを、輻輳状態のデータトラフィックを形成している全てのデータパケットの発信元へ宛てて送信する。
【００６３】
以上までの処理がパケット受信処理の第一の例であり、この処理をＭＰＵ１２５が行うことにより、図１における輻輳検出通知受信部２３及び宛先装置情報送信部２４の機能が、図２のネットワークスイッチ１００で提供される。
【００６４】
ここで図７について説明する。図７は輻輳発生通知パケットの構造の一例を図解したものである。
図７に図解されているように、この輻輳発生通知パケットは、「ＤｓｔＭＡＣ」、「ＳｒｃＭＡＣ」、「Ｔｙｐｅ」、及び「ｄａｔａ」の各データ格納領域を有している。
【００６５】
「ＤｓｔＭＡＣ」には、この輻輳発生通知パケットの宛先である装置のＭＡＣアドレスが格納される。この「ＤｓｔＭＡＣ」に格納されるＭＡＣアドレスは、ＦＤＢ１１１において、受信が確認された輻輳検出通知パケットが届いたポート２１に対応付けられていたものである。
【００６６】
「ＳｒｃＭＡＣ」には、この輻輳発生通知パケットの発信元である装置のＭＡＣアドレスが格納される。従って、この輻輳発生通知パケットが第二中継装置２０から発信されるものである場合には、「ＳｒｃＭＡＣ」には第二中継装置２０に割り当てられているＭＡＣアドレスが格納される。
【００６７】
「Ｔｙｐｅ」には、このデータパケットが輻輳発生通知パケットであることを表す識別データが格納される。
「ｄａｔａ」には制御データが格納されるが、制御データを輻輳発生通知パケットに格納することは必須ではなく、不要な場合には制御データを輻輳発生通知パケットに格納しなくてもよい。
【００６８】
次に、上述した図１のネットワーク中継システム１の第一の動作例に従って各データパケットが転送される様子について、図８及び図９を用いて更に説明する。
図８は、ネットワーク中継システム１でのデータパケットの流れの第一の例を図解したものである。また、図９は、図８のデータパケットの流れの第一の例をより明解に図解したシーケンス図である。
【００６９】
図８においては、第一中継装置１０を「ＳＷ−Ａ」と称し、第二中継装置２０を「ＳＷ−Ｂ」と称している。また、第一中継装置１０が備えているポート１１−１、１１−２、１１−３、及び１１−４を、それぞれ「Ｐ１１」、「Ｐ１２」「Ｐ１３」、及び「Ｐ１４」と称している。更に、第二中継装置２０が備えているポート２１−１、２１−２、２１−３、及び２１−４を、それぞれ「Ｐ２１」、「Ｐ２２」「Ｐ２３」、及び「Ｐ２４」と称している。
【００７０】
図８の例で想定されているネットワーク構成では、ＳＷ−ＡのＰ１３にスイッチ３０が接続されており、このスイッチ３０に端末装置Ａ及び端末装置Ｂが接続されている。また、ＳＷ−ＡのＰ１４にスイッチ４０が接続されており、このスイッチ４０に端末装置Ｃ及び端末装置Ｄが接続されている。一方、ＳＷ−ＢのＰ２１にスイッチ５０が接続されており、このスイッチ５０に端末装置Ｅが接続されている。また、ＳＷ−ＢのＰ２２に端末装置Ｆが直接接続されている。なお、ＳＷ−ＡのＰ１１とＳＷ−ＢのＰ２４とが物理的に直接接続されている。
【００７１】
なお、図８において、データベース２２−１は、ＳＷ−Ａであるネットワークスイッチ１００が備えているＦＤＢ１１１であり、データベース２２−２は、ＳＷ−Ｂであるネットワークスイッチ１００が備えているＦＤＢ１１１である。データベース２２−１には、ＳＷ−Ａに入力データパケットの発信元の端末装置のＭＡＣアドレスと、このデータパケットが入力されたＳＷ−Ａのポートとの関係が示されている。また、データベース２２−２には、ＳＷ−Ｂに入力データパケットの発信元の端末装置のＭＡＣアドレスと、このデータパケットが入力されたＳＷ−Ｂのポートとの関係が示されている。
【００７２】
この図８の例では、端末装置Ａと端末装置Ｅとの間、及び、端末装置Ｃと端末装置Ｆとの間でそれぞれ通信が行われている場合を想定している。ＳＷ−Ａは、端末装置Ａと端末装置Ｅとの間、及び、端末装置Ｃと端末装置Ｆとの間で交換されているデータパケットに示されている発信元の情報と、これらのデータパケットが入力されたポートとの関係を取得して、データベース２２−１を作成している。また、ＳＷ−Ｂも、これらのデータパケットに示されている発信元の情報と、これらのデータパケットが入力されたポートとの関係を取得して、データベース２２−２を作成している。
【００７３】
この図８の例において、端末装置Ａによる端末装置Ｅ宛ての大量のデータパケットの送出に並行して、端末装置Ｃによる端末装置Ｆ宛ての大量のデータパケットの送出が行われて、ＳＷ−ＡのＰ１１でデータトラフィックの輻輳状態が発生した場合を考える。
【００７４】
この場合、Ｐ１１から出力されるデータパケットが一時的に格納されるキューの長さが前述の通知閾値を上回ることが検出されて、ＳＷ−ＡのＰ１１でのデータトラフィックの輻輳状態の発生が、ＳＷ−Ａの輻輳状態検出部１２により検出される。すると、Ｐ１１からＳＷ−Ｂ宛ての輻輳検出通知パケットがＳＷ−Ａの輻輳検出通知送信部１３により送信される。なお、前述したように、この輻輳検出通知パケットの送信は所定の時間間隔で繰り返される。
【００７５】
ＳＷ−ＡのＰ１１から送信されたデータパケットは、ＳＷ−ＢのＰ２４を介して輻輳検出通知受信部２３により受信され、その種別が輻輳検出通知パケットであることが判明する。すると、ＳＷ−Ｂの備えているデータベース２２−２が参照されて、輻輳検出通知パケットが届けられたＰ２４に対応付けられているＭＡＣアドレスとして、端末装置Ａと端末装置ＣとのＭＡＣアドレスがデータベース２２−２から読み出される。すると、ＳＷ−Ｂの宛先装置情報送信部２４は、端末装置Ａを宛先情報として含む輻輳発生通知パケットと、端末装置Ｃを宛先情報として含む輻輳発生通知パケットとを、Ｐ２４から送信する。これらの輻輳発生通知パケットは、ＳＷ−Ａを経由して、端末装置Ａ及び端末装置Ｃに届く。端末装置Ａ及び端末装置Ｃは、輻輳発生通知パケットを受信すると、以降に送信するデータパケットの送出レートを低下させる。この結果、ＳＷ−ＡのＰ１１でのデータトラフィックの輻輳状態が解消され、前述のキューの長さが前述の解除閾値を下回ることが検出されることで、前述した輻輳検出通知パケットの送信の繰り返しが停止される。
【００７６】
次に、図１のネットワーク中継システム１の第二の動作例について説明する。この第二の動作例は、輻輳発生通知パケットの送信を第一中継装置１０の輻輳通知パケット送信部１５が行う場合の動作である。
【００７７】
まず図１０について説明する。図１０は、ネットワークスイッチの具体的構成の第二の例を図解したものである。
図１０のネットワークスイッチ１００は、図２の第一の例と同様に、ＰＦエンジン１１０と信号処理部１２０とを備えている。但し、図１０の信号処理部１２０は、図２のものと同様の処理を行うことに加えて、更に、宛先装置情報受信処理２２１と、輻輳発生通知送信処理２２２とを行う点が異なっている。
【００７８】
なお、図１０の信号処理部１２０のハードウェアは、図３のハードウェア構成例と同一のものを利用することが可能であるので、ここでは説明を省略する。
次に、図１０の信号処理部１２０のＭＰＵ１２５が行う制御処理について説明する。この処理は、ＭＰＵ１２５がフラッシュメモリ１２６に記録されている制御プログラムを実行することによって提供される。
【００７９】
図１０の信号処理部１２０のＭＰＵ１２５は、図２のものと同様に、制御処理として、輻輳監視処理及びパケット受信処理を行う。なお、このうちの輻輳監視処理の処理内容は、図４にフローチャートで図解した図２の信号処理部１２０のＭＰＵ１２５が行うものと同様である。そこで、ここでは輻輳監視処理の処理内容の説明を省略する。但し、図４の処理により送信される輻輳検出通知パケットの構造が、図５の構造から少し異なっているので、この構造について説明する。
【００８０】
ここで図１１について説明する。図１１は、輻輳検出通知パケットの構造の第二の例を図解したものである。
図１１に図解されているように、この輻輳検出通知パケットは、「ＤｓｔＭＡＣ」、「ＳｒｃＭＡＣ」、「Ｔｙｐｅ」、「ｍｏｄｅ」、及び「ｄａｔａ」の各データ格納領域を有している。
【００８１】
「ＤｓｔＭＡＣ」には、この輻輳検出通知パケットの宛先である装置のＭＡＣアドレスが格納される。従って、この輻輳検出通知パケットが第二中継装置２０宛てのものである場合には、「ＤｓｔＭＡＣ」には第二中継装置２０に割り当てられているＭＡＣアドレスが格納される。
【００８２】
「ＳｒｃＭＡＣ」には、この輻輳検出通知パケットの発信元である装置のＭＡＣアドレスが格納される。従って、この輻輳検出通知パケットが第一中継装置１０から発信されるものである場合には、「ＳｒｃＭＡＣ」には第一中継装置１０に割り当てられているＭＡＣアドレスが格納される。
【００８３】
「Ｔｙｐｅ」には、このデータパケットが輻輳検出通知パケット（若しくは、後述する輻輳検出通知応答パケット）であることを表す識別データが格納される。
「ｍｏｄｅ」には、この輻輳検出通知パケットが、輻輳状態となっているデータトラフィックを形成しているパケットデータの発信元の装置の情報の応答を要求していることを表す識別データが格納される。
【００８４】
「ｄａｔａ」には制御データが格納されるが、制御データを輻輳検出通知パケットに格納することは必須ではなく、不要な場合には制御データを輻輳検出通知パケットに格納しなくてもよい。
【００８５】
次に、図１０の信号処理部１２０のＭＰＵ１２５が行うパケット受信処理について説明する。図１２は、パケット受信処理の処理内容をフローチャートで図解したものである。
このパケット受信処理は、信号処理部１２０が、輻輳検出通知受信処理１２３、宛先装置情報送信処理１２４、宛先装置情報受信処理２２１、及び輻輳発生通知送信処理２２２を行うための処理である。なお、パケット受信処理は、ネットワークスイッチ１００が新たなデータパケットを複数のポート２１のいずれかで受け取る度に開始される。
【００８６】
なお、図１２の説明では、ネットワークスイッチ１００を第二中継装置２０として使用する場合について説明する。
図１２において、Ｓ２１１では、受信したデータパケットが輻輳検出通知応答パケットであったか否かを判定する処理をＭＰＵ１２５が行う。ここで、受信したデータパケットが輻輳検出通知応答パケットであったと判定されたとき（判定結果がＹｅｓのとき）にはＳ２１２に処理が進む。一方、受信したデータパケットが輻輳検出通知応答パケットではなかったと判定されたとき（判定結果がＮｏのとき）にはＳ２１３に処理が進む。
【００８７】
輻輳検出通知応答パケットは、図１１の構造を有する輻輳検出通知パケットの受信に応答して、当該輻輳検出通知パケットの発信元に宛てて送信されるパケットである。図１３は、この輻輳検出通知応答パケットの構造の一例を図解したものである。
【００８８】
図１３に図解されているように、この輻輳検出通知応答パケットは、「ＤｓｔＭＡＣ」、「ＳｒｃＭＡＣ」、「Ｔｙｐｅ」、「ｍｏｄｅ」、及び「ＭＡＣ情報」の各データ格納領域を有している。
【００８９】
「ＤｓｔＭＡＣ」には、この輻輳検出通知応答パケットの宛先である、輻輳検出通知パケットの発信元装置のＭＡＣアドレスが格納される。従って、輻輳検出通知パケットの発信元が第一中継装置１０である場合には、「ＤｓｔＭＡＣ」には第一中継装置１０に割り当てられているＭＡＣアドレスが格納される。
【００９０】
「ＳｒｃＭＡＣ」には、この輻輳検出通知応答パケットの発信元である装置のＭＡＣアドレスが格納される。従って、この輻輳検出通知応答パケットが第二中継装置２０から発信されるものである場合には、「ＳｒｃＭＡＣ」には第二中継装置２０に割り当てられているＭＡＣアドレスが格納される。
【００９１】
「Ｔｙｐｅ」には、このデータパケットが輻輳検出通知応答パケット（若しくは、前述した輻輳検出通知パケット）であることを表す識別データが格納される。
【００９２】
「ｍｏｄｅ」には、この輻輳検出通知応答パケットが、輻輳検出通知パケットへの応答の情報として、輻輳状態となっているデータトラフィックを形成しているパケットデータの発信元の装置の情報を有していることを表す識別データが格納される。輻輳検出通知パケットと輻輳検出通知応答パケットとは、この「ｍｏｄｅ」の識別データの違いにより識別することができる。
【００９３】
「ＭＡＣ情報」には、輻輳状態となっているデータトラフィックを形成している全てのパケットデータの発信元の装置のＭＡＣアドレスが１つずつ格納される。
【００９４】
図１２の説明に戻る。Ｓ２１２では、ＰＦエンジン１１０を制御して、輻輳発生通知パケットを、それぞれの宛先に応じた出力ポートから送信させる処理をＭＰＵ１２５が行い、その後はこのパケット受信処理が終了する。
【００９５】
このＳ２１２の処理により送信される輻輳発生通知パケットの構造は、例えば図７に図解したものと同一のものでよい。但し、この輻輳発生通知パケットにおける「ＤｓｔＭＡＣ」のデータ格納領域に格納されるＭＡＣアドレスは、Ｓ２１１の処理により受信が確認された輻輳検出通知応答パケットの「ＭＡＣ情報」に格納されていたものである。ＭＰＵ１２５は、Ｓ２１２において、ＰＦエンジン１１０を制御して、この輻輳発生通知パケットを、輻輳状態のデータトラフィックを形成している全てのデータパケットの発信元へ宛てて送信する。
【００９６】
図１２のＳ２１３からＳ２１７にかけての処理は、輻輳検出通知パケットの受信の検出を行い、この受信が検出された場合には、輻輳検出通知応答パケットを送信して応答するための処理である。
【００９７】
まず、Ｓ２１３では、受信したデータパケットが、図１１にその構造を図解した輻輳検出通知パケットであったか否かを判定する処理をＭＰＵ１２５が行う。ここで、受信したデータパケットが輻輳検出通知パケットであったと判定されたとき（判定結果がＹｅｓのとき）にはＳ２１５に処理が進む。一方、受信したデータパケットが輻輳検出通知パケットではなかったと判定されたとき（判定結果がＮｏのとき）にはＳ２１４に処理が進み、ＰＦエンジン１１０による通常のデータパケットの中継処理が行われる。
【００９８】
次に、Ｓ２１５では、ＰＦエンジン１１０のＦＤＢ１１１を参照する処理をＭＰＵ１２５が行う。
次に、Ｓ２１６では、参照中のＦＤＢ１１１の全てのエントリについて、後述するＳ２１８の処理による判定を確認済みであるか否かを判定する処理をＭＰＵ１２５が行う。ここで、ＦＤＢ１１１の全てのエントリが確認済みであると判定されたとき（判定結果がＹｅｓのとき）にはＳ２１７に処理が進む。一方、ＦＤＢ１１１に未確認のエントリが残っていると判定されたとき（判定結果がＮｏのとき）には、Ｓ２１８に処理が進む。
【００９９】
Ｓ２１７では、ＰＦエンジン１１０を制御して、図１３に構造の例を図解した輻輳検出通知応答パケットをポート２１から送信させる処理をＭＰＵ１２５が行う。なお、この輻輳検出通知応答パケットにおいて、「ＭＡＣ情報」のデータ格納領域には、後述するＳ２１９の情報保持処理によりＲＡＭ１２７で保持されていた全てのＭＡＣアドレスが格納される。
【０１００】
Ｓ２１８では、ＦＤＢ１１１のうちの未確認のエントリのひとつに注目し、Ｓ２１３の処理で受信が確認された輻輳検出通知パケットが届いたポート２１と、このエントリに示されているポートの情報とが一致するか否かを判定する処理をＭＰＵ１２５が行う。ここで、この両者が一致したと判定されたとき（判定結果がＹｅｓのとき）にはＳ２１９に処理が進む。一方、この両者が一致しないと判定されたとき（判定結果がＮｏのとき）には、Ｓ２１６に処理が戻ってＳ２１６の処理が再度行われる。
【０１０１】
Ｓ２１９では情報保持処理をＭＰＵ１２５が行い、その後はＳ２１６に処理が戻ってＳ２１６の処理が再度行われる。この情報保持処理は、Ｓ２１８の処理で、ＦＤＢ１１１において、Ｓ２１３の処理で受信が確認された輻輳検出通知パケットが届いたポート２１との一致が判明したポートに対応付けられていたＭＡＣアドレスをＲＡＭ１２７に記憶させて保持しておく処理である。従って、前述したＳ２１７の処理では、この輻輳検出通知応答パケットにおける「ＭＡＣ情報」のデータ格納領域に、このＭＡＣアドレスを格納したものが送信される。
【０１０２】
以上までの処理がパケット受信処理の第二の例である。この処理をＭＰＵ１２５が行うことにより、図１における輻輳検出通知受信部２３及び宛先装置情報送信部２４の機能並びに輻輳通知パケット送信部１５の機能が、図１０のネットワークスイッチ１００で提供される。
【０１０３】
次に、上述した図１のネットワーク中継システム１の第二の動作例に従って各データパケットが転送される様子について、図１４及び図１５を用いて更に説明する。
図１４は、ネットワーク中継システム１でのデータパケットの流れの第二の例を図解したものである。また、図１５は、図１４のデータパケットの流れの第一の例をより明解に図解したシーケンス図である。
【０１０４】
図１４においては、図８と同様に、第一中継装置１０を「ＳＷ−Ａ」と称し、第二中継装置２０を「ＳＷ−Ｂ」と称している。また、第一中継装置１０が備えているポート１１−１、１１−２、１１−３、及び１１−４を、それぞれ「Ｐ１１」、「Ｐ１２」「Ｐ１３」、及び「Ｐ１４」と称している。更に、第二中継装置２０が備えているポート２１−１、２１−２、２１−３、及び２１−４を、それぞれ「Ｐ２１」、「Ｐ２２」「Ｐ２３」、及び「Ｐ２４」と称している。
【０１０５】
図１４の例で想定されているネットワーク構成は、図８の例での想定と同一である。すなわち、ＳＷ−ＡのＰ１３にスイッチ３０が接続されており、このスイッチ３０に端末装置Ａ及び端末装置Ｂが接続されている。また、ＳＷ−ＡのＰ１４にスイッチ４０が接続されており、このスイッチ４０に端末装置Ｃ及び端末装置Ｄが接続されている。一方、ＳＷ−ＢのＰ２１にスイッチ５０が接続されており、このスイッチ５０に端末装置Ｅが接続されている。また、ＳＷ−ＢのＰ２２に端末装置Ｆが直接接続されている。なお、ＳＷ−ＡのＰ１１とＳＷ−ＢのＰ２４とが物理的に直接接続されている。
【０１０６】
なお、図１４において、データベース２２−１は、ＳＷ−Ａであるネットワークスイッチ１００が備えているＦＤＢ１１１であり、データベース２２−２は、ＳＷ−Ｂであるネットワークスイッチ１００が備えているＦＤＢ１１１である。これらも図８と同様である。
【０１０７】
この図１４の例においても、図８の例と同様に、端末装置Ａと端末装置Ｅとの間、及び、端末装置Ｃと端末装置Ｆとの間でそれぞれ通信が行われている場合を想定している。ここで、端末装置Ａによる端末装置Ｅ宛ての大量のデータパケットの送出に並行して、端末装置Ｃによる端末装置Ｆ宛ての大量のデータパケットの送出が行われて、ＳＷ−ＡのＰ１１でデータトラフィックの輻輳状態が発生した場合を考える。
【０１０８】
この場合、Ｐ１１から出力されるデータパケットが一時的に格納されるキューの長さが前述の通知閾値を上回ることが検出されて、ＳＷ−ＡのＰ１１でのデータトラフィックの輻輳状態の発生が、ＳＷ−Ａの輻輳状態検出部１２により検出される。すると、Ｐ１１からＳＷ−Ｂ宛ての輻輳検出通知パケットがＳＷ−Ａの輻輳検出通知送信部１３により送信される。なお、前述したように、この輻輳検出通知パケットの送信は所定の時間間隔で繰り返される。
【０１０９】
ＳＷ−ＡのＰ１１から送信されたデータパケットは、ＳＷ−ＢのＰ２４を介して輻輳検出通知受信部２３により受信され、その種別が輻輳検出通知パケットであることが判明する。すると、ＳＷ−Ｂの備えているデータベース２２−２が参照されて、輻輳検出通知パケットが届けられたＰ２４に対応付けられているＭＡＣアドレスとして、端末装置Ａと端末装置ＣとのＭＡＣアドレスがデータベース２２−２から読み出される。
【０１１０】
ここまでの動作は、図８及び図９を用いて説明したネットワーク中継システム１の第一の動作例と同様である。
ここで、端末装置Ａ及び端末装置ＣのＭＡＣアドレスがデータベース２２−２から読み出されると、ＳＷ−Ｂの宛先装置情報送信部２４は、端末装置Ａ及び端末装置ＣのＭＡＣアドレスを「ＭＡＣ情報」として含めた輻輳検出通知応答パケットをＰ２４から送信する。この輻輳検出通知応答パケットはＳＷ−ＡのＰ１１に届く。
【０１１１】
輻輳通知パケット送信部１５は、この輻輳検出通知応答パケットを受け取ると、輻輳発生通知パケットを送信する。このとき、輻輳通知パケット送信部１５は、この輻輳発生通知パケットに、受け取った輻輳検出通知応答パケットの「ＭＡＣ情報」に含まれている端末装置Ａ及び端末装置ＣのＭＡＣアドレスを、宛先の情報として記して送信する。このとき、端末装置Ａ宛ての輻輳発生通知パケットは、データベース２２−２の情報に従い、Ｐ１３から送信される。また、端末装置Ｃ宛ての輻輳発生通知パケットは、データベース２２−２の情報に従い、Ｐ１４から送信される。
【０１１２】
端末装置Ａ及び端末装置Ｃは、輻輳発生通知パケットを受信すると、以降に送信するデータパケットの送出レートを低下させる。この結果、ＳＷ−ＡのＰ１１でのデータトラフィックの輻輳状態が解消され、前述のキューの長さが前述の解除閾値を下回ることが検出されることで、前述した輻輳検出通知パケットの送信の繰り返しが停止される。
【０１１３】
なお、以上までに説明した実施形態に関し、更に以下の付記を開示する。
（付記１）
第一中継装置と第二中継装置とを備えているネットワーク中継システムであって、
前記第一中継装置は、
データパケットの入力及び出力を行う、前記第二中継装置に接続されている第一ポートと、
前記第一ポートから前記第二中継装置に転送するデータパケットのトラフィックの輻輳状態を検出する検出部と、
前記輻輳状態を検出したときに、前記第二中継装置へ宛てて、該輻輳状態を検出したことを示す検出通知を送信する第一送信部と、
を備えており、
前記第二中継装置は、
データパケットの入力及び出力を行う複数のポートと、
前記複数のポートの各々について、入力されたデータパケットを転送する宛先と該入力されたデータパケットを出力するポートの識別情報とが対応付けられている記憶部と、
前記第一中継装置から前記検出通知を受信する受信部と、
前記検出通知を受信したときに、前記複数のポートのうち前記第一中継装置に接続されているポートに対応付けられている宛先を前記記憶部から得て、得た宛先に輻輳の通知を送信する第二送信部と、
を備えている、
ことを特徴とするネットワーク中継システム。
（付記２）
前記第一検出部は、前記第一ポートから出力するデータパケットが一時的に格納されるキューの長さが所定の第一閾値を上回ったことを検出することによって前記輻輳状態を検出すると共に、該輻輳状態の検出後に、該キューの長さが、該第一閾値よりも短い所定の第二閾値を下回ったことを検出することによって該輻輳状態の解消を検出し、
前記第一送信部は、前記第一検出部が前記輻輳状態の解消を検出したときには、前記検出通知の送信を停止する、
ことを特徴とする付記１に記載のネットワーク中継システム。
（付記３）
前記第二送信部は、前記輻輳の通知に、該輻輳の通知の宛先の識別情報を含めたものを送信することを特徴とする付記１又は２に記載のネットワーク中継システム。
（付記４）
前記第一送信部が送信した前記検出通知に応答して前記第二中継装置から送られてくる前記宛先の識別情報を受け取ると、前記輻輳の通知に、該輻輳の通知の宛先の識別情報を含めたものを送信する第三送信部を前記第一中継装置が更に有することを特徴とする付記１又は２に記載のネットワーク中継システム。
（付記５）
前記第二中継装置はレイヤ２スイッチであり、
前記記憶部は、前記レイヤ２スイッチにおけるフォワーディング・データベース（ＦＤＢ）であり、前記宛先がメディア・アクセス・コントロール・アドレス（ＭＡＣアドレス）で表されている、
ことを特徴とする付記１から４のうちのいずれか一項に記載のネットワーク中継システム。
（付記６）
データパケットの入力及び出力を行う複数のポートと、
前記複数のポートの各々について、入力されたデータパケットを転送する宛先と該入力されたデータパケットを出力するポートの識別情報とが対応付けられている記憶部と、
前記複数のポートのうちの輻輳状態にあるデータパケットのトラフィックが流入しているポートに対応付けられている宛先を前記記憶部から得て、得た宛先に輻輳の通知を送信する第一送信部と、
を備えていることを特徴とするネットワーク中継装置。
（付記７）
前記輻輳状態にあるデータパケットのトラフィックを流入させている流入元装置から、該輻輳状態を検出したことを示している検出通知を受信する受信部を更に備えており、
前記第一送信部は、前記受信部が前記検出通知を受信したときに、前記輻輳の通知を送信する、
ことを特徴とする付記６に記載のネットワーク中継装置。
（付記８）
前記ポートから流出させるデータパケットのトラフィックの輻輳状態を該ポート毎に検出する検出部と、
前記検出部が前記輻輳状態を検出したときに、該輻輳状態を検出したポートに接続されている流出先装置へ宛てて、前記検出通知を送信する第二送信部と、
を更に備えていることを特徴とする付記７に記載のネットワーク中継装置。
（付記９）
前記検出部は、前記ポートから出力するデータパケットが一時的に格納されるキューの長さが所定の第一閾値を上回ったことを検出することによって前記輻輳状態を検出すると共に、該輻輳状態の検出後に、該キューの長さが、該第一閾値よりも短い所定の第二閾値を下回ったことを検出することによって該輻輳状態の解消を検出し、
前記第二送信部は、前記検出部が前記輻輳状態の解消を検出したときには、前記検出通知の送信を停止する、
ことを特徴とする付記８に記載のネットワーク中継装置。
（付記１０）
前記第一送信部は、前記輻輳の通知に、該輻輳の通知の宛先の識別情報を含めたものを送信することを特徴とする付記５から９のうちのいずれか一項に記載のネットワーク中継装置。
（付記１１）
前記第二送信部が送信した前記検出通知に応答して前記流出先装置から送られてくる前記宛先の識別情報を受け取ると、前記輻輳の通知に、該輻輳の通知の宛先の識別情報を含めたものを送信する第三送信部を更に有することを特徴とする付記８又は９に記載のネットワーク中継装置。
（付記１２）
前記ネットワーク中継装置はレイヤ２スイッチであり、
前記記憶部は、前記レイヤ２スイッチにおけるフォワーディング・データベース（ＦＤＢ）であり、前記宛先がメディア・アクセス・コントロール・アドレス（ＭＡＣアドレス）で表されている、
ことを特徴とする付記６から１１のうちのいずれか一項に記載のネットワーク中継装置。
（付記１３）
第一中継装置と第二中継装置とを備えているネットワーク中継システムにおいて発生したデータパケットのトラフィックの輻輳状態を通知する方法であって、
データパケットの入力及び出力を行うポートを備えている前記第一中継装置が、
前記第二中継装置に接続されているポートから該第二中継装置に転送するデータトラフィックの輻輳状態の検出を行い、
前記輻輳状態を検出したときに、前記第二中継装置へ宛てて、該輻輳状態を検出したことを示している検出通知を送信し、
データパケットの入力及び出力を行う複数のポートを備えている前記第二中継装置が、
前記第一中継装置から前記検出通知を受信し、
前記検出通知を受信したときに、前記複数のポートの各々について、入力されとデータパケットを転送する宛先と該入力されたデータパケットを出力するポートの識別情報とが対応付けられている記憶部から、前記第一中継装置に接続されているポートに対応付けられている宛先を得て、得た宛先に輻輳の通知を送信する、
ことを特徴とする輻輳状態通知方法。
（付記１４）
ネットワーク中継システムにおいて発生したデータパケットのトラフィックの輻輳状態を、該ネットワーク中継システムが備えている中継装置から通知する方法であって、
データパケットの入力及び出力を行う複数のポートを備えている前記中継装置が、
前記複数のポートの各々について、入力されたデータパケットを転送する宛先と、該入力されたデータパケットを出力するポートの識別情報とが対応付けられている記憶部を参照し、
前記複数のポートのうちの輻輳状態にあるデータパケットのトラフィックが流入しているポートに対応付けられている宛先を前記記憶部から得て、得た宛先に輻輳の通知を送信する、
ことを特徴とする輻輳状態通知方法。
（付記１５）
ネットワーク中継システムが備えている中継装置の制御を行う演算処理装置に実行させることによって、該ネットワーク中継システムにおいて発生したデータパケットのトラフィックの輻輳状態の通知を該中継装置から行わせるためのプログラムであって、
前記中継装置はデータパケットの入力及び出力を行う複数のポートを備えており、
前記プログラムは、
前記複数のポートの各々について、入力されたデータパケットを転送する宛先と、該入力されたデータパケットを出力するポートの識別情報とが対応付けられている記憶部を参照する処理と、
前記複数のポートのうちの輻輳状態にあるデータトラフィックが流入しているポートに対応付けられている宛先を前記記憶部から得て、得た宛先に輻輳の通知を該中継装置に送信させる処理と、
を前記演算処理装置に行わせることを特徴とするプログラム。
【符号の説明】
【０１１４】
１  ネットワーク中継システム
２  通信ケーブル
１０  第一中継装置
１１、１１−１、１１−２、１１−３、１１−４  ポート
１２  輻輳状態検出部
１３  輻輳検出通知送信部
１４  キュー
１５  輻輳通知パケット送信部
２０  第二中継装置
２１、２１−１、２１−２、２１−３、２１−４  ポート
２２、２２−１、２２−２  データベース
２３  輻輳検出通知受信部
２４  宛先装置情報送信部
３０、４０、５０  スイッチ
１００  ネットワークスイッチ
１１０  レイヤ２パケットフォワーディングエンジン
１１１  ＦＤＢ
１２０  信号処理部
１２１  輻輳状態検出処理
１２２  輻輳検出通知送信処理
１２３  輻輳検出通知受信処理
１２４  宛先装置情報送信処理
１２５  ＭＰＵ
１２６  フラッシュメモリ
１２７  ＲＡＭ
１２８  インタフェース部
１２９  バスライン
１３０  記録媒体駆動部
１３１  可搬型記録媒体
２２１  宛先装置情報受信処理
２２２  輻輳発生通知送信処理
【図１】
0005601193.tif 000002
【図２】
0005601193.tif 000003
【図３】
0005601193.tif 000004
【図４】
0005601193.tif 000005
【図５】
0005601193.tif 000006
【図６】
0005601193.tif 000007
【図７】
0005601193.tif 000008
【図１０】
0005601193.tif 000009
【図１２】
0005601193.tif 000010
【図８】
0005601193.tif 000011
【図９】
0005601193.tif 000012
【図１１】
0005601193.tif 000013
【図１３】
0005601193.tif 000014
【図１４】
0005601193.tif 000015
【図１５】
0005601193.tif 000016