(57)【特許請求の範囲】
【請求項１】
ネットワーク上のパケットの帯域監視装置であって、
入力回線に接続され、送信端末からのパケットを受信するパケット受信部と、
前記パケット受信部が受信した前記パケットの検索を行うパケット検索部を備え、
前記パケット検索部は、
前記パケットの集合から構成されるフローを検出し、
前記フロー毎の帯域をリーキーバケツアルゴリズムで監視し、
前記送信端末が、応答パケットのパケットヘッダのうちネットワークの輻輳状態を示す値に応じて送信帯域を制御する輻輳通知への応答機能を備える場合には、
前記リーキーバケツアルゴリズムにおけるフロー毎のバケツ水量が第一の閾値を超過すると、受信した前記パケットのパケットヘッダのうち前記ネットワークの輻輳状態を示す値を書き換える輻輳通知を行い、
前記フロー毎のバケツ水量が前記第一の閾値より大きい第二の閾値を超過すると、
前記パケットに制裁を課し、
検出されたフローを構成する前記パケットの送信端末が、輻輳通知に対する応答機能を備えず、輻輳回避機能を備える場合には、前記フロー毎のバケツ水量が前記第一の閾値を超過すると、バケツ水量の値毎に予め定められた確率にて前記パケットを廃棄し、前記フロー毎のバケツ水量が前記第二の閾値を超過すると、パケットを廃棄し、
検出されたフローを構成する前記パケットの送信端末が、輻輳通知に対する応答機能を備えず、且つ輻輳回避機能を備えない場合には、前記フロー毎のバケツ水量が前記第二の閾値を超過すると、パケットを廃棄する、
ことを特徴とする帯域監視装置。
【請求項２】
請求項1に記載の帯域監視装置であって、
前記パケット検索部は、
前記制裁として、前記パケットを廃棄する、前記パケットヘッダのネットワークにおける優先度を示す値を書き換える、または前記装置内の廃棄優先度を変更する、
ことを特徴とする帯域監視装置。
【請求項３】
請求項1に記載の帯域監視装置であって、
前記パケット検索部は、
前記パケットの入力物理回線番号、または入力論理回線番号、またはパケットヘッダ情報のうち少なくとも一つ以上の情報により、前記パケットの集合から構成される前記フローを検出する、
ことを特徴とする帯域監視装置。
【請求項４】
請求項1に記載の帯域監視装置であって、
前記第一の閾値と前記第二の閾値の差を前記パケットの往復遅延時間の関数として、前記第一の閾値と前記第二の閾値のいずれか、または両方を自動で設定する、
ことを特徴とする帯域監視装置。
【請求項５】
請求項1に記載の帯域監視装置であって、
前記パケット検索部は、
前記フロー毎のバケツ水量が前記第一の閾値を超過すると、受信した前記パケットのパケットヘッダのうち前記ネットワークの輻輳状態を示す値を、バケツ水量の値毎に予め定められた確率にて書き換える、
ことを特徴とする帯域監視装置。
【請求項６】
請求項1に記載の帯域監視装置であって、
前記パケット検索部は、
ウインドウアルゴリズムに基づいて帯域を監視する、
ことを特徴とする帯域監視装置。
【請求項７】
請求項1に記載の帯域監視装置であって、
前記パケット検索部は、
輻輳通知に対する応答機能を備える端末を前記送信端末とするパケットから構成されるフローの帯域と、輻輳通知に対する応答機能を備えず、輻輳回避機能を備える端末を前記送信端末とするパケットから構成されるフローの帯域を、それぞれ独立に監視する、
ことを特徴とする帯域監視装置。
【請求項８】
請求項1に記載の帯域監視装置であって、
前記パケット検索部は、
輻輳通知に対する応答機能を備える端末を前記送信端末とするパケットから構成されるフローの帯域と、輻輳通知に対する応答機能を備えず、輻輳回避機能を備えない端末を前記送信端末とするパケットから構成されるフローの帯域を、それぞれ独立に監視する、
ことを特徴とする帯域監視装置。
【請求項９】
請求項1に記載の帯域監視装置であって、
前記パケット検索部は、
輻輳通知を行ったパケットのパケット数とByte数のうち少なくともいずれかの統計と、前記制裁を課したパケットの、パケット数とByte数のうち少なくともいずれかの統計と、前記制裁を課さなかったパケットのパケット数とByte数のうち少なくともいずれかの統計を採取する、
ことを特徴とする帯域監視装置。
【請求項１０】
請求項1に記載の帯域監視装置であって、
前記パケット検索部は、
ECN(IETF、RFC3168)に基づいて前記輻輳通知を行う、
ことを特徴とする帯域監視装置。
【請求項１１】
ネットワーク上におけるパケット中継装置であって、
入力回線に接続され、送信端末からのパケットを受信するパケット受信部と、
前記パケット受信部が受信した前記パケットの検索を行うパケット検索部を備え、
前記パケット検索部は、
前記パケットの集合から構成されるフローを検出し、
前記フロー毎の帯域をリーキーバケツアルゴリズムで監視し、
前記送信端末が、応答パケットのパケットヘッダのうちネットワークの輻輳状態を示す値に応じて送信帯域を制御する輻輳通知への応答機能を備える場合には、
前記リーキーバケツアルゴリズムにおけるフロー毎のバケツ水量が第一の閾値を超過すると、受信した前記パケットのパケットヘッダのうち前記ネットワークの輻輳状態を示す値を書き換える輻輳通知を行い、
前記フロー毎のバケツ水量が前記第一の閾値より大きい第二の閾値を超過すると、
前記パケットに制裁を課し、
検出されたフローを構成する前記パケットの送信端末が、輻輳通知に対する応答機能を備えず、輻輳回避機能を備える場合には、前記フロー毎のバケツ水量が前記第一の閾値を超過すると、バケツ水量の値毎に予め定められた確率にて前記パケットを廃棄し、前記フロー毎のバケツ水量が前記第二の閾値を超過すると、パケットを廃棄し、
検出されたフローを構成する前記パケットの送信端末が、輻輳通知に対する応答機能を備えず、且つ輻輳回避機能を備えない場合には、前記フロー毎のバケツ水量が前記第二の閾値を超過すると、パケットを廃棄する、
ことを特徴とするパケット中継装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークにおけるパケット中継装置に係り、特に輻輳通知機能を備える装置の帯域監視技術に関する。
【背景技術】
【０００２】
米国政府のネットワーク中立性勧告や、これを背景としたIETF（Internet Engineering Task Force）における公平な帯域割当に関する議論の高まりを受け、ECN（Explicit Congestion Notification）（非特許文献1）のような輻輳通知技術が脚光を浴びつつある。
【０００３】
ECNとは、ネットワークを構成するルータ／スイッチのようなパケット中継装置における輻輳発生を、ルータ／スイッチ自身で明示的に送受信端末に通知する輻輳通知技術である。
【０００４】
従来のTCP（Transmission Control Protocol）の輻輳回避機能（非特許文献2）では、輻輳発生を明示的に送受信端末に通知する手段がなかった。そのため、ネットワークにおいてパケット廃棄が生じたことを送信端末にて検出した場合に、輻輳が発生したと自律的に判断する仕組みとなっていた。そして、輻輳が発生したと判断された場合には、送信端末が送信帯域を抑制することで輻輳回避を実現する。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】RFC3168，  “The Addition of Explicit Congestion Notification （ECN） to IP”（ttp：／／www.ietf.org／rfc／rfc3168.txt），
【非特許文献２】RFC2581，  “TCP Congestion Control”，  （ttp：／／www.ietf.org／rfc／rfc2581.txt），
【非特許文献３】RFC2582，  “The NewReno Modification to TCP’s Fast Recovery Algorithm”（ttp：／／www.ietf.org／rfc／rfc2582.txt），
【非特許文献４】Srisankar S. Kunniyur and R. Srikant ”An Adaptive Virtual Queue（AVQ） Algorithm for Active Queue Management”，  IEEE／ACM TRANSACTIONS ON NETWORKING， VOL. 12， NO. 2， APRIL 2004
【非特許文献５】The ATM Forum Traffic Management Specification version 4.1， P42
【非特許文献６】Takeki Yazaki， Takashi Isobe， Yuichi Ishikawa， Hiroki Yano ”New  Bandwidth−control Design:Policer for Probable Packet Discard（PPPD）”，  Proceedings of the 29th Annual IEEE International Conference on Local Computer Networks（LCN’04）
【非特許文献７】NII Journal No. 3 （2001.11）   特集：情報プラットフォーム解説論文「情報流通プラットフォームにおけるQoS 保証のためのトラヒック制御」、Traffic Control for QoS Guarantee in Communication Networks、計宇生、国立情報学研究所、（ttp：／／www.nii.jp／journal／pdf／03／03−04.pdf）， P25，
【非特許文献８】IEEE JOURNAL OF SOLID−STATE CIRCUITS， VOL. 41， NO. 3， MARCH 2006，  “Content−Addressable Memory （CAM） Circuits and Architectures: A Tutorial and Survey” Kostas Pagiamtzis， Student Member， IEEE， and Ali Sheikholeslami， Senior Member， IEEE（ttp：／／static.pagiamtzis.com／publications／pagiamtzis−jssc2006.pdf）
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述のECNが用いられた場合、ルータ／スイッチのようなパケット中継装置において輻輳を検出すると、パケットのIPヘッダのTOS（Type of Service）フィールドで定義されるECNフィールドを、輻輳検出済の意味をもつCE（Congestion Experienced）の値にルータ／スイッチがマーキングして、可能な限りパケット廃棄することなく中継する。CEパケットを受信した受信端末は、以降の送信端末に返信するACK（Acknowledge）パケットにおいて、ECN向けに拡張されたTCP制御フラグのECE（ECN Echo）フラグを’1’にセットする。送信端末は、ECEフラグがセットされたACKパケットを受信すると、送信帯域を抑制することで輻輳回避を実行し、送信パケットにECN向けに拡張されたTCP制御フラグのCWR（Congestion Window Reduced）フラグをセットする。受信端末はCWRフラグがセットされたパケットを受信すると、ACKパケットに対するECEフラグのセットを停止する。
【０００７】
このように、ECNを用いることで、ルータ／スイッチにおいて輻輳を検出した際のパケット廃棄を可能な限り抑止し、パケットを中継しつつ輻輳発生を明示的に送受信端末に通知して送信大域の抑制を促すことが可能となり、パケット廃棄やこれに伴うパケット再送による通信品質の低下を抑制できる。また、ECNでは、ビットエラー障害とネットワークの輻輳を明確に区別することが可能となり、ビットエラー障害に対しては輻輳回避の処理を行わないことが可能となり、送信帯域の不要な低下を防止できるようになる。
【０００８】
このようなECNの技術を仮想キューに適用した技術に関する文献として、非特許文献4があり、パケット到着時の仮想キュー中のバイト数（VQ+b）が仮想バッファ（B）のサイズを超過すると、ECNのマーキングを行う技術が開示されている。
【０００９】
この非特許文献4の仮想キューは、The ATM Forum Traffic Management Specification version 4.1， P42.で開示されているリーキーバケツアルゴリズムに類似の概念と考えられ、実際のキューそのものではなく、帯域演算に用いる仮想的なカウンタとして機能する。このリーキーバケツのアルゴリズムは、ある閾値（THR）を持った穴の空いた漏れバケツのモデルで、バケツに水量（CNT：以下、バケツ水量）が入っている間は監視帯域（R）で水は漏れ続け、パケット入力時にはこのパケット長（LEN）分の水が注ぎ込まれる。パケットの到着揺らぎを許容するためにバケツに深さを持ち、バケツが溢れない場合に入力パケットは遵守と、溢れると違反と判定される。非特許文献4に記載の技術は、リーキーバケツの用語で表現すれば、バケツ水量CNTが閾値THRを超過するとECNマーキングを行うリーキーバケツに関する技術と考えられる。
【００１０】
しかしながら、非特許文献4では、輻輳状態を回避する手段としてECNに基づくマーキングの機構だけが用いられている。そのため、バケツ水量CNTが閾値THRを超過しても、実バッファが枯渇しない限りパケット廃棄は起こらず、パケットの優先度の低下等の制裁も課されない。従って、輻輳の生じたリーキーバケツを備えるルータ／スイッチにてECNマーキングがなされたCEパケットが生じてから往復遅延時間RTTの間、つまりCEパケットを受信端末が受信し、受信端末がECEセットしたACKパケットを送信し、送信端末がECEセットされたACKパケットを受信することにより送信帯域を抑制し、送信帯域の抑制が輻輳の生じたルータ／スイッチにおけるリーキーバケツの状態に反映されるまでの間は、輻輳の生じたルータ／スイッチを含めこれより後段のネットワークには制限無くパケットが流入してしまうという課題がある。
【００１１】
このRTTの間にリーキーバケツの閾値THRを超過してルータ／スイッチが受信するパケットの量は、通常は送信端末のTCPの輻輳ウインドウ制御に基づく一定量に制限されるが、送信端末が備える輻輳回避機能の実装上の不具合や、標準仕様とは異なる実装、あるいは送信端末数の急激な増加等があった場合には、パケットは監視帯域を越えて制限無く後段のネットワークに流入してしまう。これにより、輻輳の生じたルータ／スイッチ自身や、これより後段のネットワークにて、更に二次的な輻輳が生じ、他のフローの通信品質を低下させてしまうという課題がある。
【００１２】
また、非特許文献6にはパケット廃棄により輻輳を検出する従来の輻輳回避機能における輻輳ウインドウとバケツ水量CNTの時間変化が示されており、RTTの周期で周期的な変化を繰り返している。輻輳ウインドウとは、送信端末のTCPにてACKパケットを待つことなく送信可能なデータサイズであり、送信端末は輻輳ウインドウのサイズを制御することにより、送信帯域を制御している。従って、送信帯域も輻輳ウインドウと同様に周期的な変化を繰り返すこととなる。非特許文献1によれば、ECNマーキングにより輻輳を検出する輻輳回避機能に基づく送信帯域の制御は、パケット廃棄により輻輳を検出する従来のTCPで一般的に用いられてきた輻輳回避機能であるNew Reno（非特許文献3）における輻輳回避機能に基づく送信帯域の制御と同一である。そのため、ECNを用いる場合にも送信帯域は周期的な変化を繰り返すこととなり、上述した輻輳の危険性は定常的に生ずるという課題がある。
【００１３】
本発明の目的は、上述の課題を解決することが可能な、輻輳通知機能を備える帯域監視装置、及びパケット中継装置を提供することにある。
【課題を解決するための手段】
【００１４】
上記の目的を達成するため、本発明においては、ネットワーク上のパケットの帯域監視装置であって、入力回線に接続され、送信端末からのパケットを受信するパケット受信部と、パケット受信部が受信したパケットの検索を行うパケット検索部を備え、パケット検索部は、パケットの集合から構成されるフローを検出し、フロー毎の帯域を監視し、パケットの送信端末が、応答パケットのパケットヘッダのうちネットワークの輻輳状態を示す値に応じて送信帯域を制御する輻輳通知への応答機能を備える場合には、フロー毎の帯域が第一の閾値を超過すると、受信した前記パケットのパケットヘッダのうちネットワークの輻輳状態を示す値を書き換える輻輳通知を行い、フロー毎の帯域が第一の閾値より大きい第二の閾値を超過する場合には、パケットに制裁を課すことを特徴とする帯域監視装置を提供する。
【００１５】
また、上記の目的を達成するため、本発明においては、ネットワークにおけるパケット中継装置であって、入力回線に接続され、送信端末からのパケットを受信するパケット受信部と、パケット受信部が受信したパケットの検索を行うパケット検索部を備え、パケット検索部は、パケットの集合から構成されるフローを検出し、フロー毎の帯域を監視し、パケットの送信端末が、応答パケットのパケットヘッダのうちネットワークの輻輳状態を示す値に応じて送信帯域を制御する輻輳通知への応答機能を備える場合には、フロー毎の帯域が第一の閾値を超過すると、受信した前記パケットのパケットヘッダのうちネットワークの輻輳状態を示す値を書き換える輻輳通知を行い、フロー毎の帯域が第一の閾値より大きい第二の閾値を超過する場合には、パケットに制裁を課すことを特徴とするパケット中継装置を提供する。
【００１６】
更に、上記の目的を達成するため、本発明の好適な態様において、パケットに対する制裁として、パケット検索部は、パケットを廃棄する、パケットヘッダのネットワークにおける優先度を示す値を書き換える、または装置内の廃棄優先度を変更する。
【発明の効果】
【００１７】
輻輳通知機能を備える帯域監視装置、あるいはパケット中継装置において、監視帯域を超過するパケットのネットワークへの流入に制限を課し、フロー毎の監視帯域を越えるパケットが無制限に装置より後段のネットワークに流入することを防止できる。
【図面の簡単な説明】
【００１８】
【図１】第１の実施例に係るパケット中継装置の一構成例を示す図である。
【図２】第１の実施例に係る、パケット中継装置内で宛先回線・Next Hop IPアドレス判定前のパケットヘッダ情報の一例を示す図である。
【図３】第１の実施例に係る、パケットヘッダ情報のL3ヘッダ部の要部の一例を示す図である。
【図４】第１の実施例に係る、パケットヘッダ情報のL4ヘッダ部の要部の一例を示す図である。
【図５】第１の実施例に係るフロー検索部の一構成例を示す図である。
【図６】第１の実施例に係るフロー検索テーブルの一構成例を示す図である。
【図７】第１の実施例に係る内部ヘッダ部の一例を示す図である。
【図８】第１の実施例に係る、パケット送信回路内のキュー構成の一例を示す図である。
【図９】第１の実施例に係る、パケット送信回路内のキュー動作を説明するための図である。
【図１０】第１の実施例に係る帯域監視部の一構成例を示す図である。
【図１１】第１の実施例に係る帯域監視テーブルの一構成例を示す図である。
【図１２】第１の実施例に係る帯域監視アルゴリズムの一例を示す図である。
【図１３】第２の実施例に係るパケット中継装置の一構成例を示す図である。
【図１４】第３の実施例に係る帯域監視部の一構成例を示す図である
【図１５】第３の実施例に係る帯域監視テーブルの一構成例を示す図である。
【図１６】第３の実施例に係る、確率制御を説明するための図である。
【図１７】第３の実施例に係る帯域監視アルゴリズムの一例を示す図である。
【図１８】第４の実施例に係る帯域監視アルゴリズムの一例を示す図である。
【図１９】第５の実施例に係る帯域監視アルゴリズムの一例を示す図である。
【図２０】第８の実施例に係るパケット中継装置の一構成例を示す図である。
【図２１】第８の実施例に係る内部ヘッダ部の一例を示す図である。
【図２２】第８の実施例に係るパケット検索部の統計採取部の一構成例を示す図である。
【図２３】第８の実施例に係る統計テーブルの一例を示す図である。
【発明を実施するための形態】
【００１９】
以下に、本発明を実施するための各種の実施例を図面に従い説明する。以下の図面において、同一数番は同一物を示す。なお、ネットワーク上に配置される、本発明に係る輻輳通知機能を備える帯域監視装置として、パケット中継装置を例示して説明するが、それに限定されるものでない。本明細書において、ハードウェア、ソフトウェアで実現される、種々の機能構成要素を、「手段」、「部」、「回路」と呼ぶ場合がある。例えば、パケット検索手段、パケット検索部、パケット検索回路等である。
【実施例１】
【００２０】
第１の実施例に係るパケット中継装置を説明する。以下、本実施例のパケット中継装置においては、TCP／IPパケット、かつ輻輳通知にはECNを用いるものとして説明するが、他のトランスポートプロトコル（Datagram Congestion Control Protpcol：DCCP、Stream Control Transmission Protocol：SCTP等）のパケット、他の輻輳通知のプロトコルを用いても構わない。
【００２１】
図１に示すパケット中継装置0は、パケット入力用の入力回線12と、パケットの受信処理を行うパケット受信回路1と、パケット出力用の出力回線13と、入力パケットに対するパケット検索部2と、パケットを出力回線番号に基づきスイッチングするパケット中継処理手段6と、入力パケットに対するパケット検索部7と、パケットを読み出してパケットの送信処理を行うパケット送信回路8を備える。なお、パケット検索部2とパケット検索部7は、受信側と送信側が異なる他は、フロー検出部4と帯域監視部5などに関し、同様の構成となっている。
【００２２】
図１において、入力回線12と出力回線13とがそれぞれ１回線ずつ記載されているが、パケット中継装置0は、複数の入力回線12、複数の出力回線13を備える。パケット受信回路1とこれに接続されたパケット検索部2は、複数の入力回線12を収容することができる。また、パケット受信回路1とこれに接続されたパケット検索部2を複数備えて、それぞれが互いに異なる複数の入力回線12を収容する構成としても良い。同様にパケット送信回路8とこれに接続されたパケット検索部7は、複数の入力回線13を収容することができる。また、パケット送信回路8とこれに接続されたパケット検索部7を複数備えて、それぞれが互いに異なる複数の出力回線13を収容する構成としても良い。また、パケット中継装置0には管理端末9が接続されており、レジスタ11を経由してパケット中継装置0の管理と各種設定を行う。
【００２３】
図１のパケット中継装置0は、パケット受信回路1に接続される入力回線12からパケットを受信する。送信端末から送信されたパケットは入力回線12を経由してパケット受信回路1に入力される。パケット受信回路1は、入力されたパケットをバッファで一時的に蓄積するとともに、入力回線番号を含む内部ヘッダとパケットヘッダをパケット検索部2に送信する機能を果たす。
【００２４】
図２に、このときのパケットヘッダ情報の一例を示す。このパケットヘッダ情報は、パケット中継装置内で、宛先回線・Next Hop IPアドレス判定前のパケットヘッダ情報の一例である。なお、パケットヘッダ情報には図２に示さないフィールドも存在するが、代表的なフィールドのみ記載する。パケット受信回路1に入力されるパケットのパケットヘッダ1000は、L2ヘッダ部102、L3ヘッダ部103、L4ヘッダ部104を備える。
【００２５】
受信パケットのL2ヘッダ部102として宛先MAC（Media Access Control）アドレス1020、送信元MACアドレス1021、イーサタイプ1022、L3ヘッダ部103としてIPバージョン1030、TOS（Type of Service）1031、L4プロトコル1032、送信元IPアドレス1033、宛先IPアドレス1034、L4ヘッダ部104として送信元ポート番号1040、宛先ポート番号1041、コードビット1042、そしてパケット受信回路1にて付加される内部ヘッダ101として入力回線番号1010とパケットのバイト長を示すLEN（Length）1011から構成される。
【００２６】
図３に示すように、L3ヘッダ部103中のTOS1031は、ネットワークにおける転送の優先度を示すDSCPフィールド10310と、ECNによる輻輳通知に用いられるECNフィールド10311から構成される。なお、DSCPの（DiffServ Code Point）の定義に関してはRFC2474，  “Definition of the Differentiated Services Field （DS Field） in the IPv4 and IPv6 Headers”（ttp：／／www.ietf.org／rfc／rfc2474.txt）に、DSCPが適用されるQOSアーキテクチャのDiffservモデルに関してはRFC2475，  “An Architecture for Differentiated Services” （ttp：／／www.ietf.org／rfc／rfc2475.txt）に説明されている。
【００２７】
ECNフィールド10311は、”01”または”10”の値のときにECNをサポート（ECN:ECN−Capable−Transport）していること、”11”のときにパケットが輻輳を経験したこと（CE:Congestion Experienced）を示す。ECNをサポートしている送信端末はECNフィールドを”01”または”10”に設定したパケットを送信し、パケット中継装置0にて輻輳が発生していると判断された場合、このフィールドはパケット中継装置0により”11”に書き換えられる。本実施例のように、帯域監視により輻輳通知する場合は特に、帯域監視部5にて書き換え処理を行うのが効率的である。
【００２８】
図４に示すように、コードビット1042は、既存のフラグURG10422、ACK10423、PSH10424、RST10425、SYN10426、FIN10427に対し、ECNの拡張によりCWR10420、ECE10421が追加されている。
【００２９】
図１のパケット検索部2は、出力回線13を識別するための出力回線番号を判定する経路検索部3と、フローを検索するフロー検索部4、更には帯域監視部5を備える。パケット検索部2のフロー検索部4は、図２の内部ヘッダ101とパケットヘッダ1000に基づいて、フロー検索する。
【００３０】
図５にフロー検索部4の構成の一例を示す。フロー検索部4は、フロー検索テーブル制御部40とフロー検索テーブル41から構成される。レジスタ11より送信された、帯域監視装置の運用管理者が設定したフローを識別する条件は、フロー検索テーブル制御部40によりフロー検索テーブル41に設定される。
【００３１】
図６に、フロー検索テーブル41の構成の一例を示す。フロー検索テーブル41は、複数のフロー検索エントリ410、411、・・・417より構成される。各フロー検索エントリは、入力回線、送信元MACアドレス、宛先MACアドレス、送信元IPアドレス、宛先IPアドレス、TOS、プロトコル、送信元ポート番号、宛先ポート番号等の各種情報から構成される。パケットが入力すると、パケットヘッダ1000の各項目が全て一致するフロー検索エントリを判定し、一致したフロー検索エントリのアドレス410−a、411−a、・・・417−aをフロー番号として帯域監視部5へ送信する。410−a、411−a、・・・417−aは各々、フロー検索エントリ410、411、・・・417のアドレスを示しており、フロー検索エントリとアドレスは1対1に対応している。「ｄ．ｃ．」は、値を問わず一致と判定する項目である。
【００３２】
検索されたフロー毎に、帯域監視部5にて帯域監視の帯域演算処理と判定処理を行う。その詳細については、後述する。帯域監視による判定結果が遵守であったか違反であったか、遵守であった場合にはネットワーク優先度を示すDSCP、装置内優先度の情報、違反であった場合にはパケットに課す制裁がパケット廃棄であるか否か、パケット廃棄しない場合のDSCP、装置内優先度の情報により構成される判定結果をパケット受信回路1に返す。
【００３３】
またパケット検索部2では、図２の内部ヘッダ101とパケットヘッダ1000に基づいて、経路検索も行う。検索された経路毎に予め設定されたパケットの出力回線番号を判定して、判定結果をパケット受信回路1に返す。
【００３４】
図７に一例を示す内部ヘッダ部101ように、パケット受信回路1では、パケット検索部2で経路検索による判定結果の出力回線番号1011と、帯域監視による判定結果が遵守であったか違反であったかを示す帯域監視結果1012と、違反であった場合にパケットに課す制裁がパケット廃棄であったことを示す制裁廃棄1014と、装置内遅延優先度1015と装置内廃棄優先度1016を内部ヘッダ101に追加する。そして、パケットヘッダ1000と共にパケットとしてパケット中継処理手段6に転送する。
【００３５】
上述の非特許文献4では、バケツ水量CNTが閾値THRを超過して帯域違反となった場合、ECNマーキングするか、パケット廃棄するかは、装置が輻輳通知の機構としてECNを選択するか、パケット廃棄を選択するかに応じて背反的に定まる。従って、ECNマーキングが輻輳通知の機構として選択された場合には、パケット廃棄の制裁情報1014は必要ない。しかし本実施例では、一つのリーキーバケツで単一の帯域を監視する場合であっても、端末側による帯域制御を促すためのECNマーキングの基準となる閾値と、ネットワーク側による帯域制御を促すための制裁（パケット廃棄／DSCPによる制裁／装置内廃棄優先度1016による制裁）の基準となる閾値の両方を備える点が、非特許文献4の内容を実装した帯域監視装置と、本実施例の構成上の一つの相違点である。そして、ECNマーキングによる輻輳通知を行う場合であっても、制裁がパケット廃棄である場合にはパケット廃棄の制裁情報1014を必要とする点が、非特許文献4の内容を実装した帯域監視装置との構成上のもう一つの相違点である。
【００３６】
図７の制裁廃棄1014がパケット廃棄を指示している場合には、パケットをパケット中継処理手段6に送信せず、廃棄する。制裁廃棄1014がパケット廃棄を指示していない場合には、内部ヘッダ101の経路検索結果に含まれるパケットの出力回線番号1012に基づいて、パケットの出力回線を収容するパケット検索部7に転送する。パケット検索部7のフロー検出部にてパケットに一致するフローが設定されていなければ、パケット検索部7から送信されるパケットのDSCP10310と装置内遅延優先度1015と装置内廃棄優先度1016の値は、パケット検索部2にて判定されたDSCPと装置内遅延優先度1015と装置内廃棄優先度1015の値を引き継ぐ。パケット検索部7のフロー検出部にてパケットに一致するフローが設定されている場合には、一致するフローに対して帯域監視を行い、その結果指示されたDSCPと装置内優先度の値に書き換える。なお、パケット検索部7で帯域監視の結果が違反となり、制裁がパケット廃棄を指示されていた場合には、パケットをパケット送信回路8に送信せず、廃棄する。出力回線側のパケット検索部7でパケット廃棄を指示されなかったパケットは、パケット送信回路8に送信される。
【００３７】
図８に示すように、パケット送信回路8は、優先度が定められた複数のキューを備える。パケットの内部ヘッダ101の装置内遅延優先度1015が示すキューを、蓄積キュー判定部80にて判定し、パケット送信回路8のキュー#1からキュー#4に蓄積する。
【００３８】
図９に示すように、各キューは、装置内廃棄優先度1016に対応する閾値86、閾値87、閾値88、閾値89を備え、キュー内に蓄積されたパケットが、入力パケットの装置内廃棄優先度1016に対応する閾値に達すると、パケットを廃棄することにより廃棄優先制御を行う。また調停部85では、優先度の高いキューから優先的にパケットを送信することにより、遅延優先制御を行う。帯域監視部5にて帯域違反と判定されたパケットに対して装置内優先制御による制裁を課す場合には、廃棄優先度1016を帯域遵守と判定されたパケットに対する廃棄優先度よりも低優先の値とする。そして、パケット送信回路8から送信されたパケットは、出力回線13からネットワークに送信される。
【００３９】
次に図１０に、図１のパケット検索部5中の帯域監視部5の構成の一例を示す。同図において、帯域監視部5は、帯域監視テーブル制御部50と、帯域監視テーブル51と、現在水量判定部52と、監視結果判定部53から構成される。帯域監視装置の運用管理者が設定したフロー毎の帯域監視に関する条件は、帯域監視テーブル制御部50により帯域監視テーブル51に設定される。
【００４０】
図１１に帯域監視テーブル51の構成の一例を示す。帯域監視テーブル51は、複数の帯域監視エントリ51−0〜51−nにより構成される。各帯域監視エントリは、監視帯域R510と、前回パケット到着時刻511と、バケツ水量512と、制裁閾値513と、ECNマーキング閾値THRM514と、バケツ水量が制裁閾値513を超過した場合の制裁情報ACT1  515と、バケツ水量がECNマーキング閾値514を超過した場合のECNマーキング情報ACT2  516から構成される。輻輳通知機能を備える帯域監視装置において、制裁閾値513とパケット廃棄またはネットワーク優先度または装置内廃棄優先度の制裁を示す制裁情報ACT1  515を設けた点が、本実施例に特有の構成である。
【００４１】
パケットが入力すると、帯域監視テーブル制御部50において、フロー検索部4にて判定された一致フローのフロー番号を示すアドレスを帯域監視テーブル51の読み出しアドレスとして帯域監視テーブル51を読み出し、一致フローに対する帯域監視エントリを参照する。参照された帯域監視エントリに記載のR510、TLST511、CNT512、THR513、THRM514、ACT1  515、ACT2  516は各々、R蓄積手段522、TLST蓄積手段523、CNT蓄積手段524、THR蓄積手段533、THRM蓄積手段534、ACT1蓄積手段535、ACT2蓄積手段536に蓄積され、帯域監視の判定に用いられる。
【００４２】
図１２に示すように本実施例の帯域監視のアルゴリズムはリーキーバケツアルゴリズムであり、これに沿って本実施例の帯域監視アルゴリズム、すなわち、現在水量判定部52における演算について説明する。現在水量演算回路520では、タイマー521が示す現在時刻から、TLST蓄積手段523に蓄積されたTLSTを減算ことで、経過時間Tを計算する。R蓄積手段522に蓄積されたRとTの積R×Tと、CNT蓄積手段524に蓄積されたCNTを大小比較する（ステップ1201、以下括弧内「ステップ」省略）。その結果、R×Tの方が大きい場合は、CNTをゼロとする。その他の場合には、CNTからR×Tを減算する。以上の処理により決定されたCNTは、NOWCNT蓄積手段531に蓄積する（1202）。
【００４３】
次に、帯域監視結果が遵守であるか違反であるかを判定する監視結果判定部53における演算について説明する。LEN蓄積手段532には、パケット受信回路1より送信された、パケットの内部ヘッダ101のLEN1011が蓄積される。LENは、パケットのバイト長を示す値である。監視結果判定回路530では、NOWCNT蓄積手段531に蓄積されたCNTとTHR蓄積手段533を大小比較し（1203）、CNTの方が大きい場合には、ACT1蓄積手段に蓄積されたACT1が示す制裁に従った制裁を課す。例えばACT1が廃棄を指示する場合にはパケットを廃棄し（1204）、ネットワーク優先度を示すDSCPの優先度の低下を指示する場合にはDSCPをACT1に従って書き換え、装置内廃棄優先度の低下を指示する場合には装置内廃棄優先度をACT1に従って書き換える。その他の場合には、CNTとTHRM蓄積手段534に蓄積されたTHRMを大小比較し（1205）、CNTの方が大きい場合にはECNマーキング情報ACT2が指示するECNの値に従い、パケットのECNフィールド10311を書き換える（1206）。
【００４４】
以上の場合は帯域違反（1207）となり、帯域監視結果1013を、帯域違反を示す値に書き換える。CNTの値をCNT2蓄積手段に蓄積し、タイマー521が示す現在時刻をTLST蓄積手段537に蓄積する。そして、帯域監視テーブル51の、パケットが一致したフローの帯域監視エントリのCNT512を CNT2蓄積手段に蓄積されたCNTで書き換え、パケットが一致したフローの帯域監視エントリのTLST511をTLST蓄積手段に蓄積されたタイマーの値で書き換える。
【００４５】
その他の場合には帯域遵守（1209）となり、帯域監視結果1013を、帯域遵守を示す値に書き換える。CNTにLENを加算した値をCNT2蓄積手段538に蓄積し（1210）、タイマー521が示す現在時刻をTLST蓄積手段537に蓄積する。そして、帯域監視テーブル51の、パケットが一致したフローの帯域監視エントリのCNT512を CNT2蓄積手段に蓄積されたCNTで書き換え、パケットが一致したフローの帯域監視エントリのTLST511をTLST蓄積手段に蓄積されたタイマーの値で書き換える。
【００４６】
帯域監視のアルゴリズムとして、クレジット方式によるリーキーバケツアルゴリズムの他、ウインドウ方式によるJumping Windowアルゴリズムも知られており（非特許文献7参照）、これを用いて帯域監視しても良い。その場合は、時間ウインドウW毎にパケット受信回路1より送信されたパケットのバイト長の積算値Bと、時間ウインドウWの間に許容されるバイト数W×Rとを大小比較し、Bの方が大きい場合には帯域違反、それ以外の場合には帯域遵守として、リーキーバケツアルゴリズムの際と同様な制裁の処理を行う。
【００４７】
なお、以上の説明にいては、受信側のパケット検索部2が備える帯域監視部5にて、受信側の帯域監視を行う構成で説明したが、送信側のパケット検索部7でも同様に帯域監視部5を備えることができ、送信側の帯域監視に本実施例の構成を適用することもできる。以下の各実施例でも、同様である。
【実施例２】
【００４８】
続いて、第２の実施例として、閾値演算ソフトを搭載するパケット中継装置を図１３に従い説明する。第２の実施例の帯域監視装置は、第一の閾値と第二の閾値の差を、パケットの往復遅延時間の関数として、第一の閾値と第二の閾値のいずれか、または両方を自動で設定することが可能である。
【００４９】
そのため、実施例2のパケット中継装置は、実施例1の構成に加え、閾値演算ソフト搭載CPU14を備える。なおここで閾値演算ソフト搭載CPU014とは、閾値演算ソフトであるプログラムが実行できる通常の中央処理部（Central Processing Unit）である。その他の構成は、実施例１の図１に示した構成と同様であり、帯域監視部5の構成も、図１０に示した構成と同様である。
【００５０】
本実施例においては、フロー毎の閾値演算に必要な情報を、管理端末9またはレジスタ11を通じて入手し、閾値演算ソフト搭載CPU14が、これに基づいて閾値を演算して、演算された閾値を、レジスタ11を通じて帯域監視テーブル制御部50により帯域監視テーブル51のフロー毎の帯域監視エントリである図１１のTHR513とTHRM514に設定する。THR513とTHRM514の差を、パケットの往復遅延時間RTT（Round Trip Time）の関数として、THR513とTHRM514のいずれか、または両方を自動で設定する。
【００５１】
まず、両方を自動で設定する場合について説明する。THRM514は非特許文献6に従い、
THRM=（C／4+1）C／8*1500Byte+3C／4*1500Byte
R／8=3C／4*1500Byte／RTT
とする。ただし、パケットのバイト長を1500バイトとする。
【００５２】
THR513は、輻輳通知機能によるフィードバックが得られるまでの遅延にあたるRTTの間に監視帯域分の分のバーストを許容するものとして、
THR=THRM+R×RTT
とする。
【００５３】
あるいは、片方を自動で設定する場合には、例えば、THRM514は帯域監視装置の運用管理者が管理端末9より入力して設定する。THRは、
THR=THRM+R×RTT
により決定する。
【００５４】
これらの演算を行うためには、帯域監視の対象となるフローのRTTを得ることが必要となる。その求め方の一つには、予め帯域監視装置の運用管理者が調査したRTTの値を管理端末9から入力する方法がある。
【００５５】
もう一つの方法としては、帯域監視エントリの設定時に、帯域監視装置にて自律的にpingパケットを生成し、そのreplyによってRTTを測定し、測定されたRTTに基づいて閾値演算する方法がある。この場合には、管理端末9による帯域監視エントリの入力を契機として、閾値演算ソフト搭載CPU14にてpingパケットを生成し、レジスタ11を通じてパケット送信回路8から送信端末と受信端末の両方にpingパケットを送信する。このpingパケットに対する応答パケットをパケット受信回路1にて受信すると、これを、レジスタ11を通じて閾値演算ソフト搭載CPU14に送信し、RTTの値を入手する。RTTの値には、帯域監視装置から送信端末までのRTTと、帯域監視装置から受信端末までのRTTの和を用いる。そして、閾値演算ソフト搭載CPU14得られたRTTに基づいて閾値演算する。
【００５６】
更に、本実施例においては、定期的にpingパケットによるRTT測定処理と、測定値による閾値演算処理を繰り返すことにより、動的なRTTの変化に追随した閾値設定を実現することもできる。なお、上述の通り、送信側のパケット検索部7でも同様に帯域監視部5を備えることができ、送信側の帯域監視に本実施例を適用することもできる。
【実施例３】
【００５７】
第３の実施例のパケット中継装置を図面に従い説明する。第３の実施例の帯域監視装置は、フロー毎の帯域が第一の閾値を超過すると、パケット中継装置が受信したパケットのパケットヘッダのうちネットワークの輻輳状態を示す値を、バケツ水量の値毎に予め定められた確率にて書き換える構成を持つ。
【００５８】
すなわち、実施例3の帯域監視装置は、実施例1の帯域監視装置に対し更に、フロー毎の帯域がTHRM514を超過すると、装置が受信したパケットのパケットヘッダのうちネットワークの輻輳状態を示すECNフィールド10311の値を、バケツ水量CNTの値毎に予め定められた確率にてCEを示す値に書き換える。
【００５９】
そのため、図１４に示すように、本実施例の帯域監視部5は、実施例1の帯域監視部に加え、乱数発生器540と、P蓄積手段539を備える。また、帯域監視テーブル51には、図１５に示すように確率を設定するためのフィールドP517を備える。実施例3の確率制御の実現方式はバケツ閾値毎の確率を設定する方式も考えられるが、ここではバケツ閾値に対する確率は線形に上昇することを前提として、THRにおける確率をPとし、THRMにおける確率を0とする。そして、THRMを始点として、（THR−THRM）／4毎にP／4ずつ、階段的に確率が上昇するような実装を考える。なお、実施例3では階段のステップ数を4として説明するが、ステップ数は任意に実装することが可能である。バケツ水量がTHRを超過するとパケット廃棄を行う。
【００６０】
この本実施例における確率制御を、図１６に模式的に図示した。また、本実施例のアルゴリズムを図１７に示し、実施例1との差分のみ説明する。実施例3では、パケット入力に伴い帯域監視エントリを参照する際に、P517をP蓄積手段539に蓄積する。監視結果判定回路530では、NOWCNT蓄積手段531から受信したCNTがTHRM≦CNT＜THRM＋（THR−THRM）／4のときは図１７においてP（CNT）=P／4とし、THRM+（THR−THRM）／4≦CNT＜THRM＋（THR−THRM）／2のときは図１７においてP（CNT）=P／2とし、THRM＋（THR−THRM）／2≦CNT＜THRM＋3（THR−THRM）／4のときは図１７においてP（CNT）=3P／4とし、THRM+3（THR−THRM）／4  ≦CNT＜THRのときは図１７においてP（CNT）=Pとしたフローに従って判定処理する。
【００６１】
そして、P（CNT）<RAND（［０，１］の一様乱数）の判定処理に入った場合には、乱数発生器540より受信した一様乱数RANDの値をP（CNT）と大小比較し（1210）、P（CNT）の方が大きい場合にはECNマーキング情報ACT2が指示するECNの値に従い、パケットのECNフィールド10311を書き換える（1206）。この場合は帯域違反となり、帯域監視結果1013を、帯域違反を示す値に書き換える（1207）。その他の場合には、帯域遵守（1209）となり、実施例1と同様の処理を行う。
【実施例４】
【００６２】
実施例4のパケット中継装置を図面に従い説明する。本実施例の帯域監視装置は、検出されたフローを構成するパケットの送信端末が、輻輳通知機能への応答機能を備えず、輻輳回避機能を備える場合に対応する実施例である。
【００６３】
すなわち、実施例4の帯域監視装置は、検出されたフローを構成するパケットの送信端末が、輻輳通知機能への応答機能を備えず輻輳回避機能を備える場合、例えばECNをサポートしないTCPパケットであった場合に、実施例3の帯域監視装置に対し更に、フロー毎の帯域がTHRM514を超過すると、バケツ水量の値毎に予め定められた確率にてパケットを廃棄し、フロー毎の帯域がTHR513を超過すると、パケットを廃棄する処理を追加する。
【００６４】
そのため、実施例4の帯域監視装置の監視結果判定回路530では、図１７のアルゴリズムにおけるP（CNT）＞RANDの判定（1210）の結果がYESとなった後に、図１８に示すように、ECNサポートパケットであるか否かを判定（1211）するフローを追加する。パケットが ECNをサポートしているか否かは、実施例1にて説明したとおり、パケットのECNフィールド10311の値により判断することができ、ECNフィールド10311が”01”、”10”、”11”の場合にはECNサポートパケットであり、”00”の場合にはECNをサポートしないパケットであると判断できる。ECNサポートパケットである場合には、実施例3と同様に、ECNフィールド10311の値をバケツ水量CNTの値毎に予め定められた確率にてCEを示す値に書き換える（1206）。ECNをサポートしないパケットである場合には、ECNフィールド10311の書き換え処理の代わりに、バケツ水量CNTの値毎に予め定められた確率にてパケットを廃棄する（1212）。パケットを廃棄する確率は、ECNフィールドを書き換え処理する確率と同じ値としても、異なる値としても構わない。
【実施例５】
【００６５】
実施例5のパケット中継装置を図面に従い説明する。本実施例の帯域監視装置は、検出されたフローを構成するパケットの送信端末が、輻輳通知機能への応答機能と輻輳回避機能を備えない場合に対応する実施例である。
【００６６】
すなわち、実施例5の帯域監視装置は、検出されたフローを構成するパケットの送信端末が、輻輳通知機能への応答機能を備えず、輻輳回避機能も備えない場合、実施例4の帯域監視装置に対し更に、例えばUDPパケットであった場合にフロー毎の帯域がTHR513を超過すると、パケットを廃棄する処理を追加する。
【００６７】
そのため、実施例5の帯域監視装置の監視結果判定回路530では、図１８のアルゴリズムにおけるCNT＞THRの判定結果がNOとなった後に、図１９に示すようにパケットがTCP／DCCP／SCTPパケットであるか否かを判定するフロー（1213）を追加する。パケットがTCP／DCCP／SCTPパケットであるか否かは、IPヘッダのプロトコルフィールドの値により判断することができる。TCP／DCCP／SCTPパケットである場合には、実施例4と同様にCNT＞THRMの判定フロー（1205）に入る。TCP／DCCP／SCTPパケットでない場合には、実施例4とは異なり、CNT＞THRMの判定フローには入らず、帯域遵守となり、実施例1と同様に帯域監視結果1013を、帯域遵守を示す値に書き換える（1209）。
【００６８】
すなわち、CNTにLENを加算した値をCNT2蓄積手段538に蓄積し（1208）、タイマー521が示す現在時刻をTLST蓄積手段537に蓄積する。そして、帯域監視テーブル51の、パケットが一致したフローの帯域監視エントリのCNT512を CNT2蓄積手段に蓄積されたCNTで書き換え、パケットが一致したフローの帯域監視エントリのTLST511をTLST蓄積手段に蓄積されたタイマーの値で書き換える。
【実施例６】
【００６９】
続いて、実施例6のパケット中継装置を説明する。本実施例の帯域監視装置は、輻輳通知に対する応答機能を備える端末を送信端末とするパケットから構成されるフローの帯域と、輻輳通知に対する応答機能を備えず、輻輳回避機能を備える端末を送信端末とする場合の実施例である。
【００７０】
すなわち、実施例6の帯域監視装置は、輻輳通知に対する応答機能を備える端末を送信端末とするパケットから構成されるフローの帯域と、輻輳通知に対する応答機能を備えず輻輳回避機能を備える端末を送信端末とするパケットから構成されるフローの帯域を、独立に監視する。
【００７１】
そのため、実施例6の帯域監視装置のフロー検索テーブル41では、輻輳通知に対する応答機能を備える端末を送信端末とするパケットから構成されるフローと、輻輳通知に対する応答機能を備えず輻輳回避機能を備える端末を送信端末とするパケットから構成されるフローを、異なるフロー検索エントリとして設定する。輻輳回避機能を備える端末は、プロトコル番号で識別できる。プロトコル番号が6であれば、TCPなので輻輳回避機能を備えていることになる。輻輳通知に対する応答機能の有無は、ECNフィールドの値で識別できる。ECNフィールドの値が00であれば、輻輳通知に対する応答機能を備えていないことになる。
【００７２】
輻輳通知に対する応答機能を備える端末を送信端末とするパケットから構成されるフローに対応するフロー検索エントリでは、プロトコル番号が6かつECNフィールドの値が00という条件を設定する。輻輳通知に対する応答機能を備えず輻輳回避機能を備える端末を送信端末とするパケットから構成されるフローに対応するフロー検索エントリでは、プロトコル番号が6かつECNフィールドの値が00以外の値という条件を設定する。
【００７３】
例えば、フロー検索テーブル41をCAM（Content Addressable Memory）（非特許文献8参照）という検索専用のメモリで構成している場合であれば、パケットヘッダ1000をCAMで構成されたフロー検索テーブル41に入力すると、パケットヘッダ1000に一致するフロー検索エントリのアドレスがCAMから出力される。この場合、輻輳通知に対する応答機能を備える端末を送信端末とするパケットから構成されるフローに対応するフロー検索エントリでは、プロトコル番号が6かつECNフィールドの値が00という条件をCAM上のフロー検索エントリとして設定する。そして、輻輳通知に対する応答機能を備えず輻輳回避機能を備える端末を送信端末とするパケットから構成されるフローに対応するフロー検索エントリでは、プロトコル番号が6かつECNフィールドの値がd.c.という条件のフロー検索エントリを、輻輳通知に対する応答機能を備える端末を送信端末とするパケットから構成されるフローに対応するフロー検索エントリの一つ下位のアドレスに設定する。d.c.は非特許文献8に示されるternary CAMに特徴的な設定であり、d.c.に設定された条件は0、1いずれであっても一致するものと判定される。従って、ECNフィールドが00のTCPパケットは、輻輳通知に対する応答機能を備える端末を送信端末とするパケットから構成されるフローに一致する。その他のTCPパケット、即ちECNフィールドが01、10、11のTCPパケットは、輻輳通知に対する応答機能を備えず輻輳回避機能を備える端末を送信端末とするパケットから構成されるフローに一致する。
【００７４】
以上により、本実施例においては、輻輳通知に対する応答機能を備える端末を送信端末とするパケットから構成されるフローと、輻輳通知に対する応答機能を備えず輻輳回避機能を備える端末を送信端末とするパケットから構成されるフローを、各々異なるアドレスのフロー検索エントリで設定することができ、各々のフローを異なる帯域監視エントリで帯域監視することができる、即ち、輻輳通知に対する応答機能を備える端末を送信端末とするパケットから構成されるフローの帯域と、輻輳通知に対する応答機能を備えず輻輳回避機能を備える端末を送信端末とするパケットから構成されるフローの帯域を、独立に監視することができる。
【００７５】
更に、輻輳通知に対する応答機能を備えず輻輳回避機能を備える端末を送信端末とするパケットから構成されるフローに対しては、実施例３で説明した図１７のアルゴリズムにおけるECNマーキングの制裁処理を、廃棄に変更したアルゴリズムを適用することができる。そのため、帯域監視エントリのACT2を、廃棄を示す値に設定する。これにより、検出されたフローを構成するパケットの送信端末が、輻輳通知に対する応答機能を備えず輻輳回避機能を備える場合には、フロー毎の帯域が第一の閾値を超過すると、バケツ水量の値毎に予め定められた確率にてパケットを廃棄し、フロー毎の帯域が第二の閾値を超過すると、パケットを廃棄することを特徴とする帯域監視装置を実現できる。
【実施例７】
【００７６】
実施例7のパケット中継装置を説明する。本実施例の帯域監視装置は、輻輳通知に対する応答機能を備える端末を送信端末とするパケットから構成されるフローの帯域と、輻輳通知に対する応答機能を備えず輻輳回避機能を備えない端末を送信端末とするパケットから構成されるフローの帯域を監視する実施例である。
【００７７】
すなわち、実施例7の帯域監視装置は、実施例6の帯域監視装置に対し更に、輻輳通知に対する応答機能を備える端末を送信端末とするパケットから構成されるフローの帯域と、輻輳通知に対する応答機能を備えず輻輳回避機能を備えない端末を送信端末とするパケットから構成されるフローの帯域を、独立に監視する。
【００７８】
そのため、実施例7の帯域監視装置のフロー検索テーブル41では、輻輳通知に対する応答機能を備える端末を送信端末とするパケットから構成されるフローと、輻輳通知に対する応答機能を備えず輻輳回避機能を備えない端末を送信端末とするパケットから構成されるフローを、異なるフロー検索エントリとして設定する。輻輳回避機能を備えない端末は、プロトコル番号で識別できる。プロトコル番号が17であれば、UDP（User Datagram Protocol）（RFC768，  “User Datagram Protocol”，  
http：／／www.ietf.org／rfc／rfc0768.txt）なので輻輳回避機能を備えていないことになる。
【００７９】
輻輳通知に対する応答機能を備えず輻輳回避機能を備えない端末を送信端末とするパケットから構成されるフローに対応するフロー検索エントリでは、プロトコル番号が17という条件を設定する。
【００８０】
例えば、実施例6のフロー検索テーブル41の構成に対し、更にプロトコル番号が17のフロー検索エントリを、輻輳通知に対する応答機能を備えず輻輳回避機能を備える端末を送信端末とするパケットから構成されるフローに対応するフロー検索エントリの一つ下位のアドレスに設定する。
【００８１】
以上により、輻輳通知に対する応答機能を備える端末を送信端末とするパケットから構成されるフローと、輻輳通知に対する応答機能を備えず輻輳回避機能を備えない端末を送信端末とするパケットから構成されるフローを、各々異なるアドレスのフロー検索エントリで設定することができ、各々のフローを異なる帯域監視エントリで帯域監視することができる、即ち、輻輳通知に対する応答機能を備える端末を送信端末とするパケットから構成されるフローの帯域と、輻輳通知に対する応答機能を備えず輻輳回避機能を備えない端末を送信端末とするパケットから構成されるフローの帯域を、独立に監視することができる。
【００８２】
更に、輻輳通知に対する応答機能を備えず輻輳回避機能を備えない端末を送信端末とするパケットから構成されるフローに対しては、図１８のアルゴリズムを適用することができる。UDPパケットは、TCP／DCCP／SCTPパケットではないので、THRMとCNTの大小比較の判定フローが処理されることはない。これにより、検出されたフローを構成するパケットの送信端末が、輻輳通知に対する応答機能を備えず輻輳回避機能を備えない場合には、フロー毎の帯域が第二の閾値を超過すると、パケットを廃棄することを特徴とする帯域監視装置を実現できる。
【実施例８】
【００８３】
実施例8のパケット中継装置を図２０−図２３により説明する。図２０は本実施例の帯域監視装置の一構成例を示し、図２１は内部ヘッダ部の一例を示し、図２２はパケット検索部に追加された統計採取部の一構成例を示し、図２３は統計テーブルの一例を示している。
【００８４】
本実施例の帯域監視装置は、輻輳通知を行ったパケットのパケット数とByte数のうち少なくともいずれかの統計と、パケットの廃棄、またはネットワークにおける優先度を示す値の書き換え、または装置内の優先度の変更を行ったパケットの、パケット数とByte数のうち少なくともいずれかの統計と、上記のいずれの制裁も課されなかったパケットのパケット数とByte数のうち少なくともいずれかの統計を採取する。そのため、実施例6の帯域監視装置は、図２０に示すようにパケット検索部2に統計採取部15を備える。
【００８５】
以下、統計採取の流れについて、実施例1との差分を中心に説明する。帯域監視部5にてパケットの帯域監視がなされると、輻輳通知がなされた場合には、帯域監視部5の監視結果判定回路530にて輻輳通知指示をしたことを示す輻輳通知指示1017の情報と、帯域監視結果が遵守であるか否かを示す帯域監視結果1013の情報と、フロー検索部4にて判定された帯域監視部5にて帯域監視エントリを参照するのに用いたフロー番号1018を、図２１に示すように内部ヘッダ101に付加して統計採取部15に送信する。
【００８６】
図２２に示すように、統計採取部15は、統計演算部151と統計テーブル制御部152と統計テーブル153と統計種別判定部154を備える。統計採取部15に送信されたパケットは、まず統計種別判定部154にてパケットに対し採取すべき統計種別の判定がなされる。パケットの内部ヘッダ101の帯域監視結果1013が遵守を示す場合には、遵守パケットとしての統計を採取する。帯域監視結果が違反かつ輻輳通知指示が”1”の場合は、違反マーキングパケットとしての統計を採取する。帯域監視結果1013が違反かつ輻輳通知指示が"0"の場合は、違反廃棄パケットとしての統計を採取する。なお、違反廃棄パケットとして扱うのはバケツ水量CNTがTHRを超過した場合の制裁がパケット廃棄の場合であり、制裁がネットワーク優先度の低下である場合には違反ネットワーク優先度低下パケットとしての統計となり、制裁が装置内優先度の低下である場合には違反装置内優先度低下パケットとしての統計となる。
【００８７】
統計種別判定部154にて採取すべき統計種別が判定されると、統計テーブル制御部152がフロー番号1018に基づいて、図２３に示す、統計テーブル153を参照して、統計採取するフローに対応する統計エントリを読み出す。統計テーブル1536は、複数の統計エントリ1530−0、1530−1、1530−nを備え、各統計エントリは遵守パケット数1531、遵守バイト数1532、違反マーキングパケット数1533、違反マーキングバイト数1534、違反廃棄パケット数1535、違反廃棄バイト数1536から構成される。統計種別が遵守パケットであった場合は、遵守パケット数1531と遵守バイト数1532の統計を採取し、統計種別が違反マーキングパケットであった場合は、違反マーキングパケット数1533と違反マーキングバイト数1534の統計を採取し、統計種別が違反は行きパケットであった場合は、違反廃棄パケット数1535と違反廃棄バイト数1536の統計を採取する。
【００８８】
統計の演算処理は、統計演算部151にて行う。読み出したパケット数とバイト数の情報を統計テーブル制御部152から受信すると。パケット数には1を加算し、バイト数には内部ヘッダ101のLEN1011を加算して、統計テーブル制御部152に送信する。
【００８９】
統計テーブル制御部は、統計演算部151から受信したパケット数とバイト数の情報を、対応する統計種別のフィールドにセットするよう、フロー番号1018に基づいて統計テーブル153に書き込み、統計採取の処理を完了する。
【００９０】
必要に応じて、レジスタ11から統計テーブル153を読み出すことにより、フロー毎の遵守パケット数、遵守バイト数、違反マーキングパケット数、違反マーキングバイト数、違反廃棄パケット数、違反廃棄バイト数の統計情報を得ることができる。
【００９１】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明のより良い理解のために詳細に説明したのであり、必ずしも説明の全ての構成を備えるものに限定されものではない。
【００９２】
また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることが可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【００９３】
更に、上述した各構成、機能、処理部等は、それらの一部又は全部を実現するプログラムを作成することによりソフトウェアで実現しても良いし、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現しても良いことはいうまでもない。
【００９４】
以上詳述してきたように、本願明細書には、特許請求の範囲に記載した発明のみならず、種々の発明が開示されている。それらを例示すれば、下記の通りとなる。
【００９５】
[例1]  
例1の帯域監視装置は、
複数の入力回線と出力回線を備え、
入力回線から受信したパケットの入力物理回線番号、または入力論理回線番号、またはパケットヘッダ情報のうち少なくとも一つ以上の情報により識別されるパケットの集合から構成されるフローを検出し、
フロー毎の帯域を監視し、
検出されたフローを構成するパケットの送信端末が、応答パケットのパケットヘッダのうちネットワークの輻輳状態を示す値に応じて送信帯域を制御する輻輳通知への応答機能を備える場合には、
フロー毎の帯域が第一の閾値を超過すると、装置が受信したパケットのパケットヘッダのうちネットワークの輻輳状態を示す値を書き換える輻輳通知を行い、
フロー毎の帯域が第一の閾値より大きい第二の閾値を超過すると、
パケットを廃棄する、
またはパケットヘッダのうちネットワークにおける優先度を示す値を書き換える、
または装置内の優先度を変更する、
のうちのいずれかの制裁をパケットに課すことを特徴とする。
【００９６】
この例1の帯域監視装置によれば、フロー毎の監視帯域を越えるパケットが無制限に帯域監視装置より後段のネットワークに流入することを防止できる。
【００９７】
[例2]
例1に記載の帯域監視装置であって、
第一の閾値と第二の閾値の差を、パケットの往復遅延時間の関数として、第一の閾値と第二の閾値のいずれか、または両方を自動で設定することを特徴とする。
【００９８】
例2の帯域監視装置によれば、第二の閾値がネックとなり実効帯域が低下してしまうことを防止できる。バケツ水量CNTが第一の閾値を超過した後、送信帯域の抑制が帯域監視装置で監視される帯域に反映されるまでには、少なくともパケットの往復遅延時間RTT分の時間がかかる。その間は、帯域監視装置に対し帯域抑制の効果は得られないため、TCPの輻輳ウインドウの制御に基づいた一定量のパケットが送信端末から送信される。この分のパケットに対し、第二の閾値超過による制裁を課してしまうと、TCPの輻輳回避機能が過剰に働いて実効帯域の低下を招く可能性がある。そのため、第二の閾値は第一の閾値に対し、RTTとTCPの輻輳ウインドウ制御から期待される一定値よりも大きな値としておく必要がある。これを満たすため、第一の閾値と第二の閾値のいずれか、または両方をRTTの関数として帯域監視装置にて自動設定することにより、帯域監視装置の運用管理者が適切な閾値を見積もること無しに、実効帯域の低下を防止する閾値の設定が可能となる。
【００９９】
[例3]
例1または例2に記載の帯域監視装置であって、
フロー毎の帯域が第一の閾値を超過すると、装置が受信したパケットのパケットヘッダのうちネットワークの輻輳状態を示す値を、バケツ水量の値毎に予め定められた確率にて書き換えることを特徴とする。
【０１００】
例3の帯域監視装置によれば、ネットワークの輻輳状態を示す値を書き換える確率を、バケツ水量の値に応じて段階的に変更することができる。これにより、バケツ水量の大小を書き換え確率の大小にマッピングして、輻輳回避機能が実行される頻度を制御することが可能となる。
【０１０１】
[例4]
例1から例3のいずれか記載の帯域監視装置であって、
リーキーバケツアルゴリズムに基づいて帯域を監視することを特徴とする。
例4の帯域監視装置によれば、リーキーバケツアルゴリズムに基づいて帯域を監視できる。
【０１０２】
[例5]
例1から例3のいずれか記載の帯域監視装置であって、
ウインドウアルゴリズムに基づいて帯域を監視することを特徴とする。
例5の帯域監視装置によれば、ウインドウアルゴリズムに基づいて帯域を監視できる。
【０１０３】
[例6]
例1から例5のいずれか記載の帯域監視装置であって、
ECN（RFC3168）に基づいて輻輳通知することを特徴とする。
【０１０４】
例6の帯域監視装置によれば、輻輳通知をECN（RFC3168）に基づいて行うことができる。
【０１０５】
[例7]
例1から例6のいずれか記載の帯域監視装置であって、
フローを構成するパケットのトランスポートプロトコルがTCP（RFC793）、DCCP（RFC4340）、SCTP（RFC2960）のいずれかであることを特徴とする。
【０１０６】
例7の帯域監視装置によれば、トランスポートプロトコルがTCP、DCCP、SCTPのいずれかであって、送信元端末が輻輳通知への応答機能を備えるフローに対する帯域監視ができる。
【０１０７】
[例8]
例1から例7のいずれか記載の帯域監視装置であって、
検出されたフローを構成するパケットの送信端末が、輻輳通知に対する応答機能を備えず輻輳回避機能を備える場合には、
フロー毎の帯域が第一の閾値を超過すると、バケツ水量の値毎に予め定められた確率にてパケットを廃棄し、
フロー毎の帯域が第二の閾値を超過すると、パケットを廃棄することを特徴とする。
【０１０８】
例8の帯域監視装置によれば、輻輳通知への応答機能を備えるフローと輻輳通知への応答機能を備えないフローをまとめて帯域監視して、輻輳通知機能の有無に応じて適切に輻輳回避を促すことができる。
【０１０９】
[例9]
例1から例8のいずれか記載の帯域監視装置であって、
検出されたフローを構成するパケットの送信端末が、輻輳通知に対する応答機能を備えず輻輳回避機能を備えない場合には、
フロー毎の帯域が第二の閾値を超過すると、パケットを廃棄することを特徴とする。
【０１１０】
例9の帯域監視装置によれば、輻輳回避機能を備えるフローと輻輳回避機能を備えないフローをまとめて帯域監視して、輻輳回避機能の有るフローに対してのみ適切に輻輳回避を促しつつ、輻輳回避機能の無いフローに対しては不要である確率的なパケット廃棄を防止できる。
【０１１１】
[例10]
例1から例7のいずれか記載の帯域監視装置であって、
輻輳通知に対する応答機能を備える端末を送信端末とするパケットから構成されるフローの帯域と、輻輳通知に対する応答機能を備えず輻輳回避機能を備える端末を送信端末とするパケットから構成されるフローの帯域を、独立に監視することを特徴とする。
【０１１２】
例10の帯域監視装置によれば、輻輳通知への応答機能を備えるフローと輻輳通知への応答機能を備えないフローを独立に帯域監視できる。
【０１１３】
[例11]
例10に記載の帯域監視装置であって、
検出されたフローを構成するパケットの送信端末が、輻輳通知に対する応答機能を備えず輻輳回避機能を備える場合には、
フロー毎の帯域が第一の閾値を超過すると、バケツ水量の値毎に予め定められた確率にてパケットを廃棄し、
フロー毎の帯域が第二の閾値を超過すると、パケットを廃棄することを特徴とする。
【０１１４】
例11の帯域監視装置によれば、輻輳通知への応答機能を備えるフローと輻輳通知への応答機能を備えないフローを独立に帯域監視して、輻輳通知機能の有無に応じて適切に輻輳回避を促すことができる。
【０１１５】
[例12]
例1から例7、または例10のいずれか記載の帯域監視装置であって、
輻輳通知に対する応答機能を備える端末を送信端末とするパケットから構成されるフローの帯域と、輻輳通知に対する応答機能を備えず輻輳回避機能を備えない端末を送信端末とするパケットから構成されるフローの帯域を、独立に監視することを特徴とする。
【０１１６】
例12の帯域監視装置によれば、輻輳回避機能を備えるフローと輻輳回避機能を備えないフローをまとめて帯域監視できる。
【０１１７】
[例13]
例12に記載の帯域監視装置であって、
検出されたフローを構成するパケットの送信端末が、輻輳通知に対する応答機能を備えず輻輳回避機能を備えない場合には、
フロー毎の帯域が第二の閾値を超過すると、パケットを廃棄することを特徴とする。
【０１１８】
例13の帯域監視装置によれば、輻輳回避機能を備えるフローと輻輳回避機能を備えないフローをまとめて帯域監視して、輻輳回避機能の有るフローに対してのみ適切に輻輳回避を促しつつ、輻輳回避機能の無いフローに対しては不要である確率的なパケット廃棄を防止できる。
【０１１９】
[例14]
例1から例13いずれか記載の帯域監視装置であって、
輻輳通知を行ったパケットのパケット数とByte数のうち少なくともいずれかの統計と、
パケットの廃棄、またはネットワークにおける優先度を示す値の書き換え、または装置内の優先度の変更を行ったパケットの、パケット数とByte数のうち少なくともいずれかの統計と、
上記のいずれの制裁も課されなかったパケットのパケット数とByte数のうち少なくともいずれかの統計を採取することを特徴とする。
【０１２０】
例14の帯域監視装置によれば、パケットに対する制裁毎の統計を採取できる。
【０１２１】
[例15]
例15のパケット中継装置のパケットの帯域監視方法であって、
パケット中継装置は、入出力回線に接続されるパケット送受信部、パケット検索部、及びパケット中継処理部を備え、
送信端末からのパケットを受信し、
パケットの集合から構成されるフローを検出し、
フロー毎の帯域を監視し、
送信端末が、応答パケットのパケットヘッダのうちネットワークの輻輳状態を示す値に応じて送信帯域を制御する輻輳通知への応答機能を備える場合には、
フロー毎の帯域が第一の閾値を超過すると、受信したパケットのパケットヘッダのうちネットワークの輻輳状態を示す値を書き換える輻輳通知を行い、
フロー毎の帯域が第一の閾値より大きい第二の閾値を超過すると、
パケットを廃棄する、
またはパケットヘッダのうちネットワークにおける優先度を示す値を書き換える、
または装置内の廃棄優先度を変更する、
のうちのいずれかの制裁をパケットに課すことを特徴とする。
【０１２２】
この例15の帯域監視方法によれば、フロー毎の監視帯域を越えるパケットが無制限にパケット中継装置より後段のネットワークに流入することを防止できる。
【符号の説明】
【０１２３】
0  帯域監視装置
1  パケット受信回路
2  受信側パケット検索部
3  経路検索部
4  フロー検索部
5  帯域監視部
6  パケット中継処理手段
7  送信側パケット検索部
8  パケット送信回路
9  管理端末
10  回線対応部
11  レジスタ
12  入力回線
13  出力回線
14  閾値演算ソフト搭載CPU
15  統計採取部
40  フロー検索テーブル制御部
41  フロー検索テーブル
50  帯域監視テーブル制御部
51  帯域監視テーブル
51−0  帯域監視エントリ
51−1  帯域監視エントリ
51−n  帯域監視エントリ
52  現在水量判定部
53  監視結果判定部
80  蓄積キュー判定部
81  キュー
82  キュー
83  キュー
84  キュー
85  調停部
86  閾値
87  閾値
88  閾値
89  閾値
151  統計演算部
152  統計テーブル制御部
153  統計テーブル
154  統計種別判定部
410  フロー検索エントリ
411  フロー検索エントリ
412  フロー検索エントリ
413  フロー検索エントリ
414  フロー検索エントリ
415  フロー検索エントリ
416  フロー検索エントリ
417  フロー検索エントリ
510  R
511  TLST
512  CNT
513  THR
514  THRM
515  ACT1
516  ACT2
517  P
520  現在水量演算回路
521  タイマー
522  R蓄積手段
523  TLST蓄積手段
524  CNT蓄積手段
530  監視結果判定回路
531  NOWCNT蓄積手段
532  LEN蓄積手段
533  THR蓄積手段
534  THRM蓄積手段
535  ACT1蓄積手段
536  ACT2蓄積手段
537  TLST蓄積手段
538  CNT2蓄積手段
539  P蓄積手段
540  乱数発生器
101  内部ヘッダ
102  L2ヘッダ部
103  L3ヘッダ部
104  L4ヘッダ部
1000  パケットヘッダ
1010  入力回線番号
1011  LEN
1012  出力回線番号
1013  帯域監視結果
1014  制裁廃棄
1015  装置内遅延優先度
1016  装置内廃棄優先度
1017  輻輳通知指示
1018  フロー番号
1020  宛先MACアドレス
1021  送信元MACアドレス
1022  イーサタイプ
1030  IPバージョン
1031  TOS
1032  L4プロトコル
1033  送信元IPアドレス
1034  宛先IPアドレス
1040  送信元ポート番号
1041  宛先ポート番号
1042  コードビット
1530−0  統計エントリ
1530−1  統計エントリ
1530−n  統計エントリ
1531  遵守パケット数
1532  遵守バイト数
1533  違反マーキングパケット数
1534  違反マーキングバイト数
1535  違反廃棄パケット数
1536  違反廃棄バイト数
10310  DSCP
10311  ECN
10420  CWR
10421  ECE
10422  URG
10423  ACK
10424  PSH
10425  RST
10426  SYN
10427  FIN
【図１】
0005538257.tif 000002
【図２】
0005538257.tif 000003
【図３】
0005538257.tif 000004
【図４】
0005538257.tif 000005
【図５】
0005538257.tif 000006
【図６】
0005538257.tif 000007
【図７】
0005538257.tif 000008
【図８】
0005538257.tif 000009
【図９】
0005538257.tif 000010
【図１０】
0005538257.tif 000011
【図１１】
0005538257.tif 000012
【図１２】
0005538257.tif 000013
【図１３】
0005538257.tif 000014
【図１４】
0005538257.tif 000015
【図１５】
0005538257.tif 000016
【図１６】
0005538257.tif 000017
【図１７】
0005538257.tif 000018
【図１８】
0005538257.tif 000019
【図１９】
0005538257.tif 000020
【図２０】
0005538257.tif 000021
【図２１】
0005538257.tif 000022
【図２２】
0005538257.tif 000023
【図２３】
0005538257.tif 000024