(57)【要約】【課題】  輻輳時に優先度が高いフレームを落とすといった不具合を防止したネットワークスイッチを提供すること。【解決手段】  フレーム判別部１１は、受信したフレームの優先度を判別し、判別結果に応じて優先度別にフレームをキューＱ０〜Ｑ３に蓄積する。メモリ監視部２２は、キューＱ０〜Ｑ３に蓄積されているフレームの総容量からバッファメモリ２１の空き容量を求め、空き容量がしきい値に達している場合に、優先度が低いフレームをバッファメモリ２１に格納せずに、当該フレームを廃棄するようメモリマネージャ１２に指示する。したがって、輻輳時において優先度が低いフレームをバッファに溜め込んでしまい、優先度が高いフレームを落としてしまうといった不具合を防止することが可能となる。【選択図】        図１
2006074484.tif 000002
【特許請求の範囲】
【請求項１】
受信したフレームを中継するネットワークスイッチであって、
受信したフレームを格納するための格納手段と、
受信したフレームの優先度を判別するための判別手段と、
前記判別手段による判別結果に応じて、優先度別にフレームを蓄積する複数のキューと、
前記複数のキューに蓄積されているフレームの総容量から前記格納手段の空き容量を求め、該空き容量がしきい値に達している場合に、優先度が低いフレームを前記格納手段に格納せずに、当該フレームを廃棄するための廃棄手段とを含む、ネットワークスイッチ。
【請求項２】
前記判別手段は、受信したフレームの所定領域を参照してフレームの優先度を判別する、請求項１記載のネットワークスイッチ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ルータ、ブリッジなどのネットワークスイッチに関し、特に、輻輳時にパケットの優先度に応じて効率的に廃棄処理を行うネットワークスイッチに関する。
【背景技術】
【０００２】
近年、インターネットが広く普及しており、利用者は世界各地で運営されているサイトの様々な情報にアクセスし、その情報を入手することが可能である。それに伴って、ＡＤＳＬ（Asymmetric Digital Subscriber Line）、ＦＴＴＨ（Fiber To The Home）などのブロードバンドアクセスに対する要望も急速に高まってきている。
【０００３】
このような通信において、パケットを中継するためにルータ、ブリッジなどのネットワークスイッチが使用されている。一般に、このようなネットワークスイッチにおいては、輻輳時に優先度の低いパケットを破棄する機能が設けられており、これに関連する技術として特開２００２−２６９６５号および特開平７−１３５５１２号公報に開示された発明がある。
【０００４】
特開２００２−２６９６５号公報に開示された送信キュー管理システムにおいては、パケットヘッダ情報識別部が受信パケットのヘッダと廃棄優先情報保持部内のルックアップ・テーブルのパケットヘッダパタンとを比較し、一致の場合そのパケットヘッダパタンに対応する廃棄優先情報を出力する。廃棄優先情報付与部はこの廃棄優先情報に基づきパケットに廃棄優先情報を付与する。廃棄優先情報が付与されたパケットは送信キューに蓄積されるが、蓄積数がしきい値に達すると一括廃棄処理により廃棄優先度の最も高いパケットが一括廃棄される。
【０００５】
また、特開平７−１３５５１２号公報に開示されたルータ装置においては、優先度制御ユニットによって、受信したパケットの優先度情報およびプロトコル情報から処理優先度および廃棄許容度を決定し、優先度キューにパケットを追加する。パケット管理ユニットにおいて空きバッファ領域の状態を監視し、空きバッファ領域の容量が不足し輻輳状態となった場合は、廃棄制御ユニットにおいて処理優先度および廃棄許容度に基づいて選択したパケットを廃棄する。
【特許文献１】特開２００２−２６９６５号
【特許文献２】特開平７−１３５５１２号
【発明の開示】
【発明が解決しようとする課題】
【０００６】
近年、ネットワークスイッチに要求される仕様が変わってきており、フレームをなるべく落とさないようにキューを管理することよりも、必要なフレームを絶対に落とさないようにキューを管理する方向へと向かっている。
【０００７】
しかしながら、上述した特許文献においては、輻輳時に優先度の低いパケットを廃棄する機能が設けられているが、バッファの空き容量の多寡にかかわらず入力側でフレームを受信してしまう。これは、ネットワークスイッチが一度入力されたフレームをなるべくバッファに溜め込むという方式で設計がなされており、かつ各キューの「廃棄処理」は出力側のトラフィックマネージャによって行なわれるためである。
【０００８】
このように、入力側に到着したフレームはとりあえずバッファに溜め込むように設計されているため、輻輳時に優先度の高いフレームを落とすことがあるといった問題点があった。
【０００９】
本発明は、上記問題点を解決するためになされたものであり、その目的は、輻輳時において優先度が低いフレームをバッファに溜め込んでしまい、優先度が高いフレームを落としてしまうといった不具合を防止することが可能なネットワークスイッチを提供することである。
【課題を解決するための手段】
【００１０】
本発明のある局面に従えば、受信したフレームを中継するネットワークスイッチであって、受信したフレームを格納するための格納手段と、受信したフレームの優先度を判別するための判別手段と、判別手段による判別結果に応じて、優先度別にフレームを蓄積する複数のキューと、複数のキューに蓄積されているフレームの総容量から格納手段の空き容量を求め、空き容量がしきい値に達している場合に、優先度が低いフレームを格納手段に格納せずに、当該フレームを廃棄するための廃棄手段とを含む。
【００１１】
好ましくは、判別手段は、受信したフレームの所定領域を参照してフレームの優先度を判別する。
【発明の効果】
【００１２】
本発明のある局面によれば、廃棄手段が、複数のキューに蓄積されているフレームの総容量から格納手段の空き容量を求め、空き容量がしきい値に達している場合に、優先度が低いフレームを格納手段に格納せずに、当該フレームを廃棄するので、輻輳時において優先度が低いフレームをバッファに溜め込んでしまい、優先度が高いフレームを落としてしまうといった不具合を防止することが可能となった。
【００１３】
また、判別手段が、受信したフレームの所定領域を参照してフレームの優先度を判別するので、フレームの優先度を容易に判別することが可能となった。
【発明を実施するための最良の形態】
【００１４】
図１は、本発明の実施の形態におけるネットワークスイッチの概略構成を示すブロック図である。このネットワークスイッチは、ポート＃１〜＃Ｎのそれぞれのキュー管理を行なうキュー管理部１０−１〜１０−Ｎと、ポート＃１〜＃Ｎに対応したフレームが格納されるシェアードバッファメモリ（以下、単にバッファメモリと呼ぶ。）２１と、バッファメモリ２１に蓄積されたフレームの容量を監視し、バッファメモリ２１の空き容量がしきい値に達している場合にフレームの廃棄情報を出力するメモリ監視部２２と、上位ネットワークにフレームを出力するフレーム出力部２３とを含む。
【００１５】
また、キュー管理部１０−１〜１０−Ｎのそれぞれは、下位ネットワークから入力したフレームの優先度を判別するフレーム判別部１１と、フレーム判別部１１による判別結果に応じて優先度別にフレームがキューイングされるキューＱ０〜Ｑ３と、キューＱ０〜Ｑ３に蓄積されるフレームを管理し、メモリ監視部２２から出力される廃棄情報に応じてフレームを廃棄するメモリマネージャ１２とを含む。なお、フレーム自体はバッファメモリ２１に格納され、バッファメモリ２１に格納されたフレームを指し示すポインタ等の情報がキューＱ０〜Ｑ３にキューイングされる。また、Ｑ０〜Ｑ３はそれぞれ、優先度が最高、高、中、低に対応しており、優先度が低いキューにキューイングされたフレームから順に廃棄される。
【００１６】
フレーム判別部１１は、フレームのヘッダを参照して、そのフレームがＶＬＡＮ（Virtual Local Area Network）フレーム、ＩＰ（Internet Protocol）フレームおよびその他のフレームの属性を判別する。フレームがＶＬＡＮフレームであれば、ヘッダのＶＬＡＮ  ＩＤのプライオリティフィールドを参照して優先度を判別する。また、フレームがＩＰｖ４フレームであれば、ヘッダのＴＯＳ（Type Of Service）フィールドを参照して優先度を判別する。
【００１７】
メモリマネージャ１２は、キューＱ０〜Ｑ３に入力されるフレームと、キューＱ０〜Ｑ３から出力されるフレームとを管理すると共に、キューＱ０〜Ｑ３のフレーム容量を管理する。また、メモリマネージャ１２は、優先度別のフレーム容量を統計情報としてメモリ監視部２２に送出する。
【００１８】
メモリマネージャ１２は、メモリ監視部２２から出力される廃棄情報に応じて、キューＱ０〜Ｑ３に入力されるフレームを廃棄し、そのフレームをバッファメモリ２１に蓄積しない。たとえば、廃棄情報がキューＱ３（優先度が低）のフレームの廃棄を示していれば、キューＱ３に入力されるフレームを廃棄して、そのフレームのバッファメモリ２１への蓄積を行なわない。
【００１９】
メモリ監視部２２は、予め設定された計算式にしたがって各キューからフレームを順番に取出して対応するフレームをフレーム出力部２４に出力させる。このとき、メモリ監視部２２は、キュー管理部１０−１〜１０−Ｎから出力される統計情報を参照し、バッファメモリ２１の空き容量がしきい値に達していれば、優先度の低いフレームの廃棄を指示する廃棄情報を生成してメモリマネージャ１２に出力する。
【００２０】
たとえば、バッファメモリ２１に格納されるフレーム容量の総和がバッファメモリ２１の総容量の１／２（空き容量が１／２）となれば、キューＱ３（優先度が低）のフレームの廃棄を指示する廃棄情報を出力する。
【００２１】
また、バッファメモリ２１に格納されるフレーム容量の総和がバッファメモリ２１の総容量の３／４（空き容量が１／４）となれば、キューＱ２（優先度が中）およびキューＱ３（優先度が低）のフレームの廃棄を指示する廃棄情報を出力する。
【００２２】
また、バッファメモリ２１に格納されるフレーム容量の総和がバッファメモリ２１の総容量の７／８（空き容量が１／８）となれば、キューＱ３（優先度が高）、キューＱ２（優先度が中）およびキューＱ３（優先度が低）のフレームの廃棄を指示する廃棄情報を出力する。
【００２３】
ここで、イーサネット（登録商標）フレームの容量の管理は、バイト数ではなくフレーム数で行なわれる。イーサネット（登録商標）フレームはＶＬＡＮフレームでも１５２２バイトを超えることはないので、１５３６バイトを１フレーム単位とすると、バッファメモリ２１の容量が３Ｍバイトであれば２０４８個のフレーム毎バッファを確保することができる。これによって、空き容量のしきい値を、１０２４（空き容量が１／２）、５１２（空き容量が１／４）、２５６（空き容量が１／８）と定義することができる。
【００２４】
図２は、本発明の実施の形態におけるネットワークスイッチの処理手順を説明するためのフローチャートである。まず、フレーム判別部１１は、フレームに優先度タグがあるか否かを判定する（Ｓ１１）。フレームに優先度タグがあれば（Ｓ１１，Ｙｅｓ）、そのフレームがＶＬＡＮフレームであると判断し、優先度タグをキュー番号に変換して対応するキューにフレームをキューイングし（Ｓ１２）、ステップＳ１６に処理が進む。キュー番号の変換は、優先度タグに応じて優先度を判別し、その優先度に対応するキュー番号を求めることによって行なわれる。
【００２５】
フレームに優先度タグがなければ（Ｓ１１，Ｎｏ）、フレームのヘッダを参照してＩＰフレームであるか否かを判定する（Ｓ１３）。フレームがＩＰフレームであれば（Ｓ１３，Ｙｅｓ）、ＴＯＳフィールドをキュー番号に変換して対応するキューにフレームをキューイングし（Ｓ１４）、ステップＳ１６に処理が進む。キュー番号の変換は、ＴＯＳフィールドに応じて優先度を判別し、その優先度に対応するキュー番号を求めることによって行なわれる。
【００２６】
フレームがＩＰフレームでなければ（Ｓ１３，Ｎｏ）、キュー番号として規定値を設定して対応するキューにフレームをキューイングし（Ｓ１５）、ステップＳ１６に処理が進む。
【００２７】
ステップＳ１６において、メモリ監視部２２は、バッファメモリ２１の空き容量がしきい値に達しているか否かを判定する（Ｓ１６）。バッファメモリ２１の空き容量がしきい値に達していなければ（Ｓ１６，Ｎｏ）、メモリマネージャ１２はキューＱ０〜Ｑ３に入力されるフレームに応じて、バッファメモリ２１にそのフレームを蓄積して（Ｓ１９）、処理を終了する。
【００２８】
また、バッファメモリ２１の空き容量がしきい値に達していれば（Ｓ１６，Ｙｅｓ）、メモリ監視部２２はそのしきい値に対応する廃棄情報を生成してメモリマネージャ１２に出力する。メモリマネージャ１２は、その廃棄情報に応じてキューＱ０〜Ｑ３に入力されるフレームがしきい値に対応するフレームであるか否かを判定する（Ｓ１７）。
【００２９】
キューＱ０〜Ｑ３に入力されるフレームがしきい値に対応するフレームでなければ（Ｓ１７，Ｎｏ）、メモリマネージャ１２はキューＱ０〜Ｑ３に入力されるフレームに応じて、バッファメモリ２１にそのフレームを蓄積して（Ｓ１９）、処理を終了する。また、キューＱ０〜Ｑ３に入力されるフレームがしきい値に対応するフレームであれば（Ｓ１７，Ｙｅｓ）、メモリマネージャ１２はそのフレームを廃棄してバッファメモリ２１への蓄積を行なわずに（Ｓ１８）、処理を終了する。
【００３０】
なお、以上の説明においては、しきい値を固定値として説明したが、各キューの占有率などからしきい値を動的に変更するようにしてもよい。また、各ポート毎に異なるしきい値を設定できるようにし、ポート間で優先度をつけるようにしてもよい。
【００３１】
以上説明したように、本実施の形態におけるネットワークスイッチにおいては、バッファメモリ２１の空き容量がしきい値に達すると優先度の低いフレームから廃棄し、バッファメモリ２１に格納しないようにしたので、輻輳時において優先度が低いフレームをバッファに溜め込んでしまい、優先度が高いフレームを落としてしまうといった不具合を防止することが可能となった。
【００３２】
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【００３３】
【図１】本発明の実施の形態におけるネットワークスイッチの概略構成を示すブロック図である。
【図２】本発明の実施の形態におけるネットワークスイッチの処理手順を説明するためのフローチャートである。
【符号の説明】
【００３４】
１０−１〜１０−Ｎ  キュー管理部、１１  フレーム判別部、１２  メモリマネージャ、２１  シェアードバッファメモリ、２２  メモリ監視部、２３  フレーム出力部、Ｑ０〜Ｑ３  キュー。
【図１】
2006074484.tif 000003
【図２】
2006074484.tif 000004