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