(57)【要約】【課題】ネットワーク輻輳時にもネットワークリソースを有効に利用して、特別なシグナリングプロトコルやコネクション毎の状態管理を必要とせず、輻輳の継続や助長およびリソースの無効保留を回避することができ、通信中のＴＣＰ品質を確保する。【解決手段】通信網におけるノード間のあるリンクにＴＣＰコネクションが多重されている場合に、該ノードのヘッダ解析部４１にパケットが到着したとき、該パケットのＴＣＰヘッダ内にＴＣＰコネクションの開始を表すＳＹＮフラグが立っており、かつ、トラヒック監視部４４で該リンクが輻輳していることを検出した場合には、パケット廃棄決定部４２に通知することで、該パケットを廃棄する。別の方法として、パケット転送部４３に配置されたリンクの出力待ちバッファを２つのクラスに分け、パケットのＴＣＰヘッダ内にＴＣＰコネクションの開始を表すＳＹＮフラグが立っており、かつ、リンクが輻輳している場合には、低優先クラスバッファに収容し、そうでなければ高優先バッファに収容する。【選択図】図２
2005117131.tif 000002
【特許請求の範囲】
【請求項１】
通信網におけるノード間のあるリンクにＴＣＰコネクションが多重されている場合のＴＣＰトラヒック制御方法において、
該ノードにパケットが到着したとき、該パケットのＴＣＰヘッダ内にＴＣＰコネクションの開始を表すＳＹＮフラグが立っており、かつ、該リンクが輻輳していることを検出した場合には、該パケットを廃棄することを特徴としたＴＣＰトラヒック制御方法。
【請求項２】
通信網におけるノード間のあるリンクにＴＣＰコネクションが多重されている場合のＴＣＰトラヒック制御方法において、
該リンクの出力待ちバッファを２つのクラスに分け、各クラスバッファからは予め定めた重みに従ってパケットを取り出すことにより優先制御を行う制御方法であって、
該ノードにパケットが到着したとき、該パケットのＴＣＰヘッダ内にＴＣＰコネクションの開始を表すＳＹＮフラグが立っており、かつ、該リンクが輻輳していることを検出した場合には、該パケットを低優先クラスバッファに収容し、そうでなければ高優先バッファに収容して優先制御を行うことを特徴としたＴＣＰトラヒック制御方法。
【請求項３】
請求項１または２に記載のＴＣＰトラヒック制御方法において、
該ノードにパケットが到着したとき、該パケットのＴＣＰヘッダ内にＴＣＰコネクションの開始を表すＳＹＮおよびパケットの受信完了を表すＡＣＫの両方にフラグの立っているパケットのみに対して、パケットの選択廃棄あるいは優先制御を実施することを特徴とするＴＣＰトラヒック制御方法。
【請求項４】
通信網におけるノード間のあるリンクにＴＣＰコネクションが多重されている場合のＴＣＰトラヒック制御方法において、
ユーザ端末からＳＹＮおよびＡＣＫにフラグが立っているパケットが送信された場合に、着信先ＩＰアドレスを管理するテーブルを配置し、
該ノードに着信先ＩＰアドレスがｊであるパケットが到着したとき、該パケットのＴＣＰヘッダ内のＳＹＮおよびＡＣＫにフラグが立っており、かつリンクが輻輳していることを検出したなら、該パケットの属する着信先ＩＰアドレスｊが該テーブルにエントリされていなければ該パケットを受け付け、該テーブルに追加し、
着信先ＩＰアドレスｊがテーブルに既にエントりされていれば、該ＩＰアドレスｊに対応するＳＹＮパケット通過カウンタの値をテーブルから読み出して、確率Ｐ  ｉｎｃ（Ｃ  ｐａｓｓ（ｊ））（ここで、Ｐ  ｉｎｃ（ｘ）は０≦Ｐ  ｉｎｃ（ｘ）≦１であり、ｘに関して単調増加関数）で該パケットを廃棄することを特徴としたＴＣＰトラヒック制御方法。
【請求項５】
通信網におけるノード間のあるリンクにＴＣＰコネクションが多重されている場合のＴＣＰトラヒック制御方法において、
ユーザ端末からＳＹＮおよびＡＣＫにフラグが立っているパケットが送信された場合に、着信先ＩＰアドレスを管理するテーブルを配置し、
該ノードに着信先ＩＰアドレスがｊであるパケットが到着したとき、該パケットのＴＣＰヘッダ内にＳＹＮおよびＡＣＫにフラグが立っており、かつリンクが輻輳していることを検出したなら、該パケットの属する着信先ＩＰアドレスｊがテーブルにエントリされていなければ該パケットを廃棄し、
着信先ＩＰアドレスｊがテーブルに既にエントリされていれば、該ＩＰアドレスｊに対応するＳＹＮパケット廃棄カウンタの値（Ｃ  ｄｒｏｐ（ｊ））を該テーブルから読み出して、確率Ｐ  ｄｅｃ（Ｃ  ｄｒｏｐ（ｊ））（ここで、ｐ  ｄｅｃ（ｘ）は０≦Ｐ  ｐｄｅｃ（ｘ）≦１であり、ｘに関して単調減少関数）で該パケットを廃棄することを特徴としたＴＣＰトラヒック制御方法。
【請求項６】
請求項１から請求項５までのいずれかに記載のＴＣＰトラヒック制御方法において、
前記ノードの出力待ちバッファにおけるバッファ内パケット長Ｑが予め定めた閾値を超えていたならば、リンクが輻輳していると判断し、到着パケットの選択廃棄あるいは優先制御を実施することを特徴とするＴＣＰトラヒック制御方法。
【請求項７】
請求項１から請求項５までのいずれかに記載のＴＣＰトラヒック制御方法において、
前記ノードでは、予め定めた周期ｔ０毎にリンクへの到着バイト数Ａを測定しておき、該ノードにパケットが到着したとき、現在の到着バイト数Ａが予め定めた閾値を超えていたならば、リンクが輻輳していると判断して、該パケットの選択廃棄あるいは優先制御を実施することを特徴とするＴＣＰトラヒック制御方法。
【請求項８】
請求項１から請求項５までのいずれかに記載のＴＣＰトラヒック制御方法において、
前記ノードでは、予め定めた周期ｔ０毎にリンクへのＳＹＮフラグ付きパケットの到着数Ａｓｙｎを測定しておき、ノードにパケットが到着したとき、現在のＳＹＮフラグ付きパケットの到着数Ａｓｙｎが予め定めた閾値を超えていたならば、リンクが輻輳していると判断し、該パケットの選択廃棄あるいは優先制御を実施することを特徴とするＴＣＰトラヒック制御方法。
【請求項９】
請求項１から請求項５までのいずれかに記載のＴＣＰトラヒック制御方法において、
前記ノードでは、パケットがノードに到着したとき、該パケットのＴＣＰヘッダを読み取り、ＴＣＰコネクションの開始を表すＳＹＮフラグが立っていれば同時接続コネクションカウンタＬを１カウントアップ、ＴＣＰコネクションの終了を表すＦＩＮフラグあるいはＲＳＴフラグが立っていればＬをカウントダウンして同時接続コネクション数Ｌを把握しておき、
該ノードにパケットが到着したとき、現在の同時接続コネクション数Ｌが予め定めた閾値を超えていたならば、リンクが輻輳していると判断して、該パケットの選択廃棄あるいは優先制御を実施することを特徴とするＴＣＰトラヒック制御方法。
【請求項１０】
請求項１から請求項５までのいずれかに記載のＴＣＰトラヒック制御方法において、
前記ノードでは、予め定めた周期ｔ０毎にリンクへのＳＹＮフラグ付きパケットの到着数Ａｓｙｎを測定しておき、かつ、同時接続コネクション数Ｌを測定しておき、
該同時接続コネクション数Ｌの平均値Ｅ〔Ｌ〕を周期ｔ０毎に計算し、
ＡｓｙｎおよびＥ〔Ｌ〕から平均ファイル転送時間Ｅ〔Ｔ〕をＥ〔Ｔ〕＝Ｅ〔Ｌ〕／（Ａｓｙｎ／ｔ０）により推定しておき、
該ノードにパケットが到着したとき、現在のＥ〔Ｔ〕が予め定めた閾値を超えていたならば、リンクが輻輳していると判断して、該パケットの選択廃棄を実施することを特徴とするＴＣＰトラヒック制御方法。
【請求項１１】
通信網におけるノード間のあるリンクにＴＣＰコネクションが多重されている場合のＴＣＰトラヒック制御装置において、
パケットの選択廃棄あるいは優先制御を行う手段、および上記リンクの輻輳状況を把握して、上記選択廃棄あるいは優先制御を行う手段に輻輳状況を通知する手段を具備することを特徴とするＴＣＰトラヒック制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＰネットワークにおいて、ネットワークリソースを有効に利用してネットワークが輻輳した場合でも、通信中のＴＣＰ通信品質を維持できるＴＣＰトラヒック制御方法および制御装置に関する。
【背景技術】
【０００２】
ＩＰネットワークが広く利用されてくるに伴い、ＩＰネットワーク上での通信品質保証に対する要求が高まっている。インターネット関連プロトコルの多くは、通信の成立にただ最善を尽くすタイプのプロトコルであって、このポリシーがネットワークをローコストで実現することができる理由である。従って、ＩＰネットワークでは、通信開始時にネットワークリソースの予約を行わないベストエフォート型通信が一般的である。
この場合、新たに通信を開始するＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）コネクションは全てネットワークにおいて受け付けられ、ネットワークが輻輳すると、ボトルネックリンク／ノードにおける同時接続コネクション数に反比例して、ＴＣＰ品質は著しく劣化してしまい、結局、全てのユーザの品質が劣化してしまう。
【０００３】
また、ネットワーク輻輳時には、パケット損や遅延変動が生じるため、ＴＣＰによる再送パケットが増加し、無駄なトラヒックが増えて輻輳を助長する可能性がある。さらに、ＴＣＰ品質が著しく劣化していると、途中で通信をあきらめるユーザも発生し、それまでそのユーザのために費やしたパケット転送は無駄になり、ネットワークリソースの無効保留が生じる可能性もある。
【０００４】
以上の問題点は、Ｌ．Ｍａｓｓｏｕｌｉｅ  ａｎｄ  Ｊ．Ｒｏｂｅｒｔｓ，“Ａｒｇｕｍｅｎｔｓ  ｉｎ  ｆａｖｏｒ  ｏｆ  ａｄｍｉｓｓｉｏｎ  ｃｏｎｔｒｏｌ  ｆｏｒ  ＴＣＰ  ＦＬＯＷＳ，”ＩＴＣ１６，１９９９．（非特許文献１参照）においても指摘されているが、具体的な解決方法は示されていない。上記非特許文献１では、ＴＣＰコネクションごとに状態を管理し、受け付けコネクション数を制限する方法について述べているが、多重コネクション数の多いノードでは、実現上、スケーラビリティに問題があった。
【０００５】
一方、通信開始時にネットワーク内の各ルータに対して、帯域の予約用のシグナリングを用いて帯域予約を行うＲＳＶＰ（Ｒｅｓｏｕｒｃｅ  Ｒｅｓｅｒｖａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）と呼ばれるプロトコルがある。これは、ルータ相互間で特定の通信チャネルの伝送帯域を管理するためのプロトコルであって、ボトルネックになり易いＷＡＮ側回線部分の帯域を確保する方法である。しかしながら、この方法は、ネットワーク内の各ルータがＲＳＶＰ用のシグナリング処理を実施する必要があり、かつ各ルータでは、ＴＣＰコネクションごとに状態を管理する必要があるため、多重コネクション数の多い場合にはスケーラビリティに問題があった。
【０００６】
【特許文献１】特表２００１−５２２１８３号公報
【特許文献２】特開平１０−２３３８０２号公報
【特許文献３】特開２０００−４９８５３号公報
【特許文献４】特開２００３−２３４４３号公報
【特許文献５】特開２００１−１２７８３０号公報
【非特許文献１】Ｌ．Ｍａｓｓｏｕｌｉｅ  ａｎｄ  Ｊ．Ｒｏｂｅｒｔｓ，“Ａｒｇｕｍｅｎｔｓ  ｉｎ  ｆａｖｏｒ  ｏｆ  ａｄｍｉｓｓｉｏｎ  ｃｏｎｔｒｏｌ  ｆｏｒ  ＴＣＰ  ＦＬＯＷＳ，”ＩＴＣ１６，１９９９．
【非特許文献２】Ｓ．Ｆｌｏｙｄ  ａｎｄ  Ｖ．  Ｊａｃｏｂｓｏｎ，“Ｒａｎｄｏｍ  ｅａｒｌｙ  ｄｅｔｅｃｔｉｏｎ  ｇａｔｅｗａｙｓ  ｆｏｒ  ｃｏｎｇｅｓｔｉｏｎ  ａｖｏｉｄａｎｃｅ，”ＩＥＥＥ／ＡＣＭ  Ｔｒａｎｓａｃｔｉｏｎ  ｏｎ  Ｎｅｔｗｏｒｋｉｎｇ，ｖｏｌ．１，ｐｐ．397 -413，Ａｕｇ．1993.
【非特許文献３】川原,石橋,朝香,織，“ＴＣＰフロー統計情報を用いたＩＰトラヒック管理手法”信学技報ＮＳ２００２−１７０，ｐｐ．５３−５６，２００２．
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ＴＣＰトラヒック制御に関しては、数多くの提案がなされている。ＴＣＰスループットとＴＣＰコネクション間の公平性を向上させるためのパケット廃棄法として、ＲＥＤ（Ｒａｎｄｏｍ  Ｅａｒｌｙ  Ｄｅｔｅｃｔｉｏｎ）が一般的に知られている。ＲＥＤは、例えば、Ｓ．Ｆｌｏｙｄ  ａｎｄ  Ｖ．  Ｊａｃｏｂｓｏｎ，“Ｒａｎｄｏｍ  ｅａｒｌｙ  ｄｅｔｅｃｔｉｏｎ  ｇａｔｅｗａｙｓ  ｆｏｒ  ｃｏｎｇｅｓｔｉｏｎ  ａｖｏｉｄａｎｃｅ，”ＩＥＥＥ／ＡＣＭ  Ｔｒａｎｓａｃｔｉｏｎ  ｏｎ  Ｎｅｔｗｏｒｋｉｎｇ，ｖｏｌ．１，ｐｐ．397 -413，Ａｕｇ．1993.（非特許文献２参照）に記載されている。
ＲＥＤは、確率的なパケット廃棄を行うことでバースト的なパケット廃棄を防止し、平均キュー長を利用した輻輳検出方式に基づいている。
【０００８】
その他にも、ＴＣＰスループットとＴＣＰコネクション間の公平性を改善するためのバッファ管理法がいくつか提案されている。例えば、特表２００１−５２２１８３号公報（特許文献１参照）、特開平１０−２３３８０２号公報（特許文献２参照）、特開２０００−４９８５３号公報（特許文献３参照）、特開２００３−２３４４３号公報（特許文献４参照）がある。
しかしながら、いずれも、ＴＣＰコネクション間の公平性を確保するためのものであり、通信要求コネクション数自体を制限しないので、非常に多くのコネクションが発生すると、全てのユーザのＴＣＰ品質が著しく劣化してしまう、という問題があった。
【０００９】
本発明と同様に、ＴＣＰフラグ情報を用いてトラヒック制御を行う方法がある（例えば、特開２００１−１２７８３０号公報（特許文献５参照））。これらの方法は、輻輳時、特に送達確認（ＡＣＫ）等を指る方向の輻輳時にも高性能なデータ転送を行うデータ通信方法及びデータ通信網に関するものであって、ＴＣＰヘッダがＡＣＫを示す場合には、その転送を優先することで所望の目標を実現している。これらの方法も、通信要求コネクション数自体を制限しないので、非常に多くのコネクションが発生すると、全てのユーザのＴＣＰ品質が著しく劣化してしまう、という問題があった。
【００１０】
（目的）
本発明の目的は、上記の問題点を解決するもので、ネットワーク輻輳時にもネットワークリソースを有効に利用して、特別なシグナリングプロトコルやコネクション毎の状態管理を必要とせずに、輻輳の継続や助長およびリソースの無効保留を回避でき、通信中のＴＣＰ品質を確保できるＴＣＰトラヒック制御方法および制御装置を提供することにある。
【課題を解決するための手段】
【００１１】
本発明は、ＴＣＰの通信開始を示すＳＹＮフラグを持つパケットをネットワーク輻輳時に廃棄することにより、受け付けコネクション数を制限する方法であって、コネクション毎に状態を管理することなく、ＳＹＮフラグが立っているか否かで制御を行うことができる。
本発明の第１の実施例に係るＴＣＰトラヒック制御方法においては、通信網におけるノード間のあるリンクにＴＣＰコネクションが多重されている場合に、該ノードにパケットが到着したとき、該パケットのＴＣＰヘッダ内にＴＣＰコネクションの開始を表すＳＹＮフラグが立っており、かつ、該リンクが輻輳していることを検出した場合には、該パケットを廃棄することを特徴としている。
【００１２】
本発明の第２の実施例に係るＴＣＰトラヒック制御方法においては、リンクの出力待ちバッファを２つのクラスに分け、各クラスバッファからは予め定めた重みに従ってパケットを取り出すことにより優先制御を行う制御方法であって、ノードにパケットが到着したとき、該パケットのＴＣＰヘッダ内にＴＣＰコネクションの開始を表すＳＹＮフラグが立っており、かつ、該リンクが輻輳していることを検出した場合には、そのパケットを低優先クラスバッファに収容し、そうでなければ高優先バッファに収容して優先制御を行うことを特徴としている。
本発明の第３の実施例に係るＴＣＰトラヒック制御方法においては、上記第１から第２の実施例のいずれかの方法でＳＹＮフラグが立っているパケットの選択廃棄あるいは優先制御を実施する代りに、ＳＹＮおよびＡＣＫの両方にフラグの立っているパケットのみに対して第１から第２の実施例のいずれかの方法でパケットの選択廃棄あるいは優先制御を実施することを特徴としている。
この方法では、いわゆるクライアント・サーバ型通信を想定しており、クライアントからサーバへ通信の開始であるＳＹＮパケットを送信し、それを受け取ったサーバは、クライアントへＳＹＮおよびＡＣＫにフラグの立ったパケットを返信し、サーバからクライアントへ向けて大きいサイズのデータがダウンロードされる。従って、ＳＹＮおよびＡＣＫにフラグが立っているパケットが送信される方向と、大量データが転送される方向が一致しているので、大量データを引き起こす最初のパケットであるＳＹＮおよびＡＣＫパケットを選択廃棄することにより、より木目の細かい制御が可能となる。
【００１３】
本発明の第４の実施例に係るＴＣＰトラヒック制御方法においては、ＳＹＮおよびＡＣＫにフラグが立っているパケットを送信してきたユーザの着信先ＩＰアドレスを管理するテーブルを用意し、ＳＹＮおよびＡＣＫにフラグが立っているパケットが到着したときに後述する方法で該パケットが廃棄されずに受け付けられたならば、そのパケットの着信先ＩＰアドレス＃ｉを読み出し、該ＩＰアドレス＃ｉが既にテーブルにエントリされていれば、ＳＹＮパケット通過カウンタＣ  ｐａｓｓ（ｉ）を１カウントアップし、テーブルにエントリされていない新たなパケットであれば、テーブルに追加し、ＳＹＮパケット通過カウンタＣ  ｐａｓｓ（ｉ）を１にセットする。最後にカウンタを更新してから、予め定めたタイムアウト時間Ｔｏｕｔ経過したならば、Ｃ  ｐａｓｓ（ｉ）←ＩＮＴ〔Ｃ  ｐａｓｓ（ｉ）×α〕（αは０＜α＜１となるパラメータ、ＩＮＴ〔ｘ〕はｘを超えない最大の整数）により更新し、Ｃ  ｐａｓｓ（ｉ）＝０となったならば、そのアドレス＃ｉをテブルから削除する。
ノードに着信先ＩＰアドレスがｊであるパケットが到着したとき、該パケットのＴＣＰヘッダ内のＳＹＮおよびＡＣＫにフラグが立っており、かつリンクが輻輳していることを検出したなら、該パケットの属する着信先ＩＰアドレス＃ｉがテーブルにエントリされていなければ該パケットを受け付け、着信先ＩＰアドレス＃ｊがテーブルに既にエントりされていれば、該ＩＰアドレス＃ｊに対応するカウンタの値Ｃ  ｐａｓｓ（ｊ）をテーブルから読み出して確率Ｐ  ｉｎｃ（Ｃ  ｐａｓｓ（ｊ））（ここで、Ｐ  ｉｎｃ（ｘ）は０≦Ｐ  ｉｎｃ（ｘ）≦１であり、ｘに関して単調増加関数）で該パケットを廃棄することを特徴としている。
【００１４】
上記第４の実施例の方法では、いわゆるクライアント・サーバ通信を想定しており、クライアントからサーバへ通信の開始であるＳＹＮパケットを送信し、それを受け取ったサーバは、クライアントへＳＹＮおよびＡＣＫにフラグの立ったパケットを返信する。このとき、該パケットの着信先ＩＰアドレスにクライアントのＩＰアドレスが設定されている。
そこで、本発明では、ＳＹＮおよびＡＣＫにフラグが立っているパケットの着信先ＩＰアドレスを管理することにより、クライアントのアクセス状況を把握している。なお、クライアントからサーバへ最初に送信するＳＹＮパケットと、そのときのクライアントのＩＰアドレスを表す該パケットの送信元ＩＰアドレスを管理してもよいが、この場合、ＳＹＮパケットの送信方向と、サーバからクライアントへダウンロードされる、いわゆるトラヒックの多い方向が逆となるため、リンクの輻輳が発生する方向と管理対象のＳＹＮパケットが流れる方向が逆となる。
ここでは、廃棄されずに受け付けられたＳＹＮパケットが多いユーザを優先的に廃棄することにより、第１から第６の実施例の方法における制御法のユーザ間の公平性を向上させることが可能になる。なお、コネクション毎のテーブル作成が必要となるが、ＳＹＮパケットのみが対象であるため、コネクション数を把握するためのコネクション毎管理（上記非特許文献１参照）よりも処理負荷は軽いと考えられる。
【００１５】
本発明の第５の実施例に係るＴＣＰトラヒック制御方法においては、ＳＹＮおよびＡＣＫにフラグが立っているパケットを送信してきたユーザの着信先ＩＰアドレスを管理するテーブルを用意し、ＳＹＮおよびＡＣＫにフラグが立っているパケットが到着したときに後述する方法で該パケットが廃棄されたならば、そのパケットの着信先ＩＰアドレス＃ｉが既にテーブルにエントリされていれば、ＳＹＮパケット廃棄カウンタＣ  ｄｒｏｐ（ｉ）を１カウントアップし、テーブルにエントリされていない新たなパケットであれば、テーブルに追加し、カウンタＣ  ｄｒｏｐ（ｉ）を１にセットする。最後にカウンタを更新してから、予め定めたタイムアウト時間Ｔｏｕｔ経過したならば、Ｃ  ｄｒｏｐ（ｉ）←ＩＮＴ〔Ｃ  ｄｒｏｐ（ｉ）×α〕（αは０＜α＜１となるパラメータ、ＩＮＴ〔ｘ〕はｘを超えない最大の整数）により更新し、Ｃ  ｄｒｏｐ（ｉ）＝０となったなら、そのアドレス＃ｉをテーブルから削除する。
ノードに着信先ＩＰアドレスがｊであるパケットが到着したとき、該パケットのＴＣＰヘッダ内にＳＹＮおよびＡＣＫにフラグが立っており、かつリンクが輻輳していることを検出したなら、該パケットの属する着信先ＩＰアドレス＃ｊがテーブルにエントリされていなければ該パケットを廃棄し、着信先ＩＰアドレス＃ｊがテーブルに既にエントリされていれば、該ＩＰアドレス＃ｊに対応するカウンタの値Ｃ  ｄｒｏｐ（ｊ）をテーブルから読み出して確率Ｐ  ｄｅｃ（Ｃ  ｄｒｏｐ（ｊ））（ここで、ｐ  ｄｅｃ（ｘ）は０≦Ｐ  ｐｄｅｃ（ｘ）≦１であり、ｘに関して単調減少関数）で該パケットを廃棄することを特徴としている。
上記第４の実施例の方法では受け付けられたＳＹＮパケット数をユーザ毎に管理していたが、第５の実施例の方法では、廃棄されたＳＹＮパケット数を管理し、廃棄数が多いユーザの廃棄率を小さくすることにより、ユーザ間の公平性を確保している。
【００１６】
本発明の第６の実施例に係るＴＣＰトラヒック制御方法においては、出力待ちバッファにおけるバッファ内パケット長Ｑが予め定めた閾値を超えていたならば、リンクが輻輳していると判断して、第１から第５までのいずれかの方法でパケットの選択廃棄あるいは優先制御を実施することを特徴としている。
本発明の第７の実施例に係るＴＣＰトラヒック制御方法においては、予め定めた周期ｔ０毎にリンクへの到着バイト数Ａを測定しておき、ノードにパケットが到着したとき、現在の到着バイト数Ａが予め定めた閾値を超えていたならば、リンクが輻輳していると判断して、第１から第５までの実施例のいずれかの方法でパケットの選択廃棄あるいは優先制御を実施することを特徴としている。
本発明の第８の実施例に係るＴＣＰトラヒック制御方法においては、予め定めた周期ｔ０毎にリンクへのＳＹＮフラグ付きパケットの到着数Ａｓｙｎを測定しておき、ノードにパケットが到着したとき、現在のＳＹＮフラグ付きパケットの到着数Ａｓｙｎが予め定めた閾値を超えていたならば、リンクが輻輳していると判断し、第１から第５までの実施例のいずれかの方法でパケットの選択廃棄あるいは優先制御を実施することを特徴としている。
【００１７】
本発明の第９の実施例に係るＴＣＰトラヒック制御方法においては、パケットがノードに到着したとき、該パケットのＴＣＰヘッダを読み取り、ＴＣＰコネクションの開始を表すＳＹＮフラグが立っていればカウンタＬを１カウントアップ、ＴＣＰコネクションの終了を表すＦＩＮフラグあるいはＲＳＴフラグが立っていればＬをカウントダウンして同時接続コネクション数Ｌを把握しておき、該ノードにパケットが到着したとき、現在の同時接続コネクション数Ｌが予め定めた閾値を超えていたならば、リンクが輻輳していると判断して、第１から第５までの実施例のいずれかの方法でパケットの選択廃棄あるいは優先制御を実施することを特徴としている。
本発明の第１０の実施例に係るＴＣＰトラヒック制御方法においては、第８の実施例の方法と同様に、予め定めた周期ｔ０毎にリンクへのＳＹＮフラグ付きパケットの到着数Ａｓｙｎを測定しておき、かつ、第９の実施例の方法と同様に同時接続コネクション数Ｌを測定しておき、その平均値Ｅ〔Ｌ〕を周期ｔ０毎に計算し、ＡｓｙｎおよびＥ〔Ｌ〕から平均ファイル転送時間Ｅ〔Ｔ〕をＥ〔Ｔ〕＝Ｅ〔Ｌ〕／（Ａｓｙｎ／ｔ０）により推定しておき、ノードにパケットが到着したとき、現在のＥ〔Ｔ〕が予め定めた閾値を超えていたならば、リンクが輻輳していると判断して、第１から第５までの実施例のいずれかの方法でパケットの選択廃棄を実施することを特徴としている。
本発明の第１１の実施例に係るＴＣＰトラヒック制御装置においては、上記第１から第５までの実施例のいずれかの方法でパケットの選択廃棄あるいは優先制御を行う手段、および、上記第６から第１０までの実施例のいずれかの方法でリンクの輻輳状況を把握する手段を具備することを特徴としている。
【発明の効果】
【００１８】
本発明によれば、ネットワーク輻輳時にもネットワークリソースを有効に利用して、特別なシグナリングプロトコルやコネクション毎の状態管理を必要とせず、輻輳の継続や助長およびリソースの無効保留を回避することができ、通信中のＴＣＰ品質を確保することが可能である。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の実施例を、図面により詳細に説明する。
（第１の実施例）
図１は、本発明が適用されるＩＰネットワークの基本構成図である。
図１における入側ノード１０にＴＣＰトラヒック制御装置を配備することにより、本発明を適用する。２０は出側ノードであり、３０は中継リンクである。
図２は、本発明の第１の実施例に係るパケット選択廃棄方法で用いるＴＣＰトラヒック制御装置の構成図である。
なお、後述する第６の実施例に係るリンク輻輳判定方法および第１１の実施例に係るＴＣＰトラヒック制御装置の構成も、図２により説明される。
図２に示すように、ユーザから到着したパケットは、ヘッダ解析部４１、トラヒック監視部４４、ならびにパケット廃棄決定部４２へ転送される。パケット転送部４３は処理が済んだパケットをリンクへ出力する。
ヘッダ解析部４１は、該パケットのＴＣＰへッダ内にＴＣＰコネクションの開始を表すＳＹＮフラグが立っているか否かを調べ、その結果をパケット廃棄決定部４２に通知する。
【００２０】
一方、ユーザからのパケットを受け取ったトラヒック監視部４４は、現在のキュー長Ｑ
〔ｐａｃｋｅｔｓ〕をＱ←Ｑ＋１により更新し、パケット廃棄決定部４２にＱの値を通知する。パケット廃棄決定部４２は、Ｑの値と予め定めておいた閾値Ｔｈを比較し、Ｑ＞Ｔｈかつ該パケットにＳＹＮフラグが立っていれば、該パケットを廃棄する。トラヒック監視部４４は、キュー長をＱ←Ｑ−１により更新する。そうでなければ、該パケットを受け付け、パケット転送部４３へ転送する。パケットを受け取ったパケット転送部４３は、バッファにパケットを蓄積する。また、バッファの先頭からパケットを出力リンク速度で取り出す。パケットを取り出したならば、トラヒック監視部４４にその旨を通知する。トラヒック監視部４４は、キュー長Ｑを、Ｑ←Ｑ−１により更新する。
なお、トラヒック監視部４４におけるキュー長として、Ｑを直接用いる代わりに、平均キュー長を用いてもよい。平均キュー長をＱａｖｅとし、一定周期ｔ０毎にＱａｖｅ←（１−ａ）×Ｑａｖｅ＋ａ×Ｑ（ａは平滑化パラメータ）により更新して保持しておく。
【００２１】
（第２の実施例）
図３は、本発明の第２の実施例に係るＴＣＰトラヒック制御方法の制御装置の構成図である。
本発明の第２の実施例においては、第１の実施例のようにパケット廃棄決定部４２を設ける代わりに、パケット転送部４３において、リンクの出力待ちバッファを２つのクラス（高優先クラス、低優先クラス）に分け、各クラスバッファ４５，４６からは予め定めた重みに従ってパケットを取り出すことにより、優先制御を行う。
ノードにパケットが到着したとき、該パケットのＴＣＰヘッダ内にＴＣＰコネクションの開始を表すＳＹＮフラグが立っていれば、そのパケットを低優先クラスバッファ４６に収容し、そうでなければ高優先クラスバッファ４５に収容して優先制御を行う。
【００２２】
（第３の実施例）
図２および図３により、本発明の第３の実施例を説明する。
上記第１および第２の実施例のように、ヘッダ解析部４１において、ＳＹＮフラグが立っているか否かを調べる代わりに、ＳＹＮおよびＡＣＫにフラグが立っているか否かを調べる方法である。すなわち、図２において、ヘッダ解析部４１は、ユーザからのパケットが到着すると、ＴＣＰコネクションの開始を表すＳＹＮフラグが立っており、かつＡＣＫフラグが立っているパケットか否かを判定する。ヘッダ解析部４１は、これら両方にフラグが立っているパケットのみ廃棄するように、パケット廃棄決定部４２に通知する。
また、図３においても、ヘッダ解析部４１はユーザからのパケットが到着すると、ＳＹＮフラグおよびＡＣＫフラグの両方が立っているパケットであるか否かを判定し、両方にフラグが立っているパケットを低優先クラスバッファ４６に収容し、それ以外のパケットを高優先クラスバッファ４５に収容する。パケット転送部４３は、高優先クラスバッファ４５から優先してパケットを取り出し、リンクへ出力する。
【００２３】
（第４の実施例）
図４は本発明の第４の実施例に係るＴＣＰトラヒック制御方法で用いられるテーブル構成図であり、図５は同じく第４の実施例に係るＴＣＰトラヒック制御方法で用いられるヘッダ解析部の内部構成図である。
本実施例においては、ＳＹＮおよびＡＣＫにフラグが立っているパケットを送信してきたユーザの着信先ＩＰアドレスを管理するテーブルを用意し、ＳＹＮおよびＡＣＫにフラグが立っているパケットが到着したときに、後述する方法で該パケットが廃棄されずに受け付けられたならば、そのパケットの着信先ＩＰアドレス＃ｉを読み出し、該ＩＰアドレス＃ｉが既にテーブルにエントリされていれば、ＳＹＮパケット通過カウンタＣ  ｐａｓｓ（ｉ）を１カウントアップし、テーブルにエントリされていない新たなパケットであれば、テーブルに追加して、カウンタＣ  ｐａｓｓ（ｉ）を１にセットする。最後にカウンタを更新してから、予め定めたタイムアウト時間Ｔｏｕｔ経過したならば、Ｃ  ｐａｓｓ（ｉ）←ＩＮＴ〔Ｃ  ｐａｓｓ（ｉ）×α〕（αは０＜α＜１となるパラメータ、ＩＮＴ〔ｘ〕はｘを超えない最大の整数）により更新し、Ｃ  ｐａｓｓ（ｉ）＝０となったならば、そのアドレス＃ｉをテーブルから削除する。
【００２４】
図４に示すように、テーブル４１２には、例えばパケットの到着番号、ＴＣＰヘッダ内のＳＹＮ，ＡＣＫフラグの有無、着信先ＩＰアドレスを格納する。
図５に示すように、上記テーブル４１２とＳＹＮ通過カウンタ４１１は、いずれもヘッダ解析部４１内に配置され、ヘッダ解析部内の制御回路４１３の制御によりテーブル４１２の着信先ＩＰアドレスが参照されるとともに、ＳＹＮ通過カウンタ４１１のカウントアップまたはカウントダウンが実施される。
ユーザからのパケットがノードに到着し、到着パケットの着信先ＩＰアドレスがｊであったとき、該パケットのＴＣＰヘッダ内のＳＹＮおよびＡＣＫにフラグが立っており、かつリンクが輻輳していることを検出したならば、該パケットの属する着信先ＩＰアドレス＃ｊがテーブル４１２にエントリされていなければ、該パケットを受け付け、着信先ＩＰアドレス＃ｊがテーブル４１２に既にエントリされていれば、該ＩＰアドレス＃ｊに対応するカウンタの値Ｃ  ｐａｓｓ（ｊ）をテーブル４１２から読み出して確率Ｐ  ｉｎｃ（Ｃ  ｐａｓｓ（ｊ））（ここで、Ｐ  ｉｎｃ（ｘ）は０≦Ｐ  ｉｎｃ（ｘ）≦１であり、ｘに関して単調増加関数）で該パケットを廃棄する。すなわち、図２に示すように、ヘッダ解析部４１がパケット廃棄決定部４２に通知することで、該パケットは廃棄される。
【００２５】
（第５の実施例）
図６は、本発明の第５の実施例に係るＴＣＰトラヒック制御方法で用いられるヘッダ解析部の構成図である。
ＳＹＮおよびＡＣＫにフラグが立っているパケットを送信してきたユーザの着信先ＩＰアドレスを管理するテーブル４１２を用意し、ＳＹＮおよびＡＣＫにフラグが立っているパケットが到着したときに、後述する方法で該パケットが廃棄されたならば、そのパケットの着信先ＩＰアドレス＃ｉを読み出し、該ＩＰアドレス＃ｉが既にテーブル４１２にエントリされていれば、ＳＹＮパケット廃棄カウンタＣ  ｄｒｏｐ（ｉ）４１４を１カウントアップし、また、テーブル４１２にエントリされていない新たなパケットであれば、テーブル４１２に追加し、カウンタ４１４を１にセットする。最後にカウンタ４１４を更新してから、予め定めたタイムアウト時間Ｔｏｕｔ経過したならば、カウンタＣ  ｄｒｏｐ（ｉ）←ＩＮＴ〔Ｃ  ｄｒｏｐ（ｉ）×α〕（ここで、αは０＜α＜１となるパラメータ、ＩＮＴ〔ｘ〕はｘを超えない最大の整数）により更新し、Ｃ  ｄｒｏｐ（ｉ）＝０となったならば、そのアドレス＃ｉをテーブルから削除する。
【００２６】
すなわち、トラヒック監視部４４において、第４の実施例のように廃棄されずに受け付けられたＳＹＮパケット数を管理する代わりに、廃棄されたＳＹＮパケット数Ｃ  ｄｒｏｐ（ｊ）を管理し、パケット廃棄決定部４２において、第４の実施例のように、Ｐ  ｉｎｃ（Ｃ  ｐａｓｓ（ｊ））で廃棄確率を決定する代わりに、確率Ｐ  ｄｅｃ（Ｃ  ｄｒｏｐ（ｊ））（Ｐ  ｄｅｃ（ｘ）は０≦Ｐ  ｄｅｃ（ｘ）≦１であり、ｘに関して単調減少関数）で該パケットを廃棄する。
図２において、ヘッダ解析部４１はノードに着信先ＩＰアドレスがｊであるパケットが到着したとき、該パケットのＴＣＰヘッダ内にＳＹＮおよびＡＣＫにフラグが立っており、該リンクが輻輳していることを検出したならば、該パケットの属する着信先ＩＰアドレス＃ｊがテーブル４１２にエントリされていなければ該パケットを廃棄するようパケット廃棄決定部４２に通知する。一方、着信先ＩＰアドレス＃ｊがテーブル４１２に既にエントリされていれば、該ＩＰアドレス＃ｊに対応するカウンタ４１４の値Ｃ  ｄｒｏｐ（ｊ）をテーブル４１２から読み出して、確率Ｐ  ｄｅｃ（Ｃ  ｄｒｏｐ（ｊ））（ここで、Ｐ  ｄｅｃ（ｘ）は０≦Ｐ  ｄｅｃ（ｘ）≦１であり、ｘに関して単調減少関数）で該パケットを廃棄するよう、パケット廃棄決定部４２に通知する。なお、図６の４４２は、バッファのキュー長Ｑを測定するカウンタである。
【００２７】
（第６の実施例）
本発明の第６の実施例について説明する。
出力待ちバッファにおけるバッファ内パケット長Ｑが予め定めた閾値を超えていた場合には、リンクが輻輳していると判断して、第１〜第５の実施例のいずれかの方法でパケットの選択廃棄あるいは優先制御を実施する。
本実施例では、さらにタイマが配置される。すなわち、トラヒック監視部４４において、キュー長を監視していた代わりに、予め定めた周期ｔ０毎にリンクへの到着バイト数Ａを測定し、それが予め定めた値を超えたとき輻輳であると判定し、それを用いてパケット廃棄を行うか否かを判定する。
ヘッダ解析部４１は、出力待ちバッファにおけるバッファ内パケット長Ｑが予め定めた閾値を超えていることをトラヒック監視部４４から通知されたならば、リンクが輻輳していると判断して、第１の実施例から第５の実施例までのいずれかの方法でパケットの選択廃棄あるいは優先制御を実施する。
【００２８】
すなわち、第６の実施例では、輻輳か否かを判断する基準として、パケット長Ｑが閾値を超えているか否かを測定する方法である。例えば、第１の実施例では、図２に示すように、ヘッダ解析部４１はパケット長Ｑが閾値を超えていることをトラヒック監視部４４から通知された時点で、送られてきたパケットのＴＣＰヘッダ内にＳＹＮフラグが立っていることを検出すれば、パケット廃棄決定部２にその旨を通知して、該パケットを廃棄させる。また、第２の実施例では、図３に示すように、ヘッダ解析部４１はパケット長Ｑが閾値を超えていることを検出した時点で、送られてきたパケットのＴＣＰヘッダ内にＳＹＮフラグが立っていることを検出したときには、低優先クラスのバッフア４６に該パケットを収容し、ＳＹＮフラグが立っていることを検出しないときには、高優先クラスのバッファ４５に該パケットを収容する。
【００２９】
（第７の実施例）
第１の実施例におけるトラヒック監視部４４でキュー長を監視していた代わりに、予め定めた周期ｔ０毎にリンクへの到着バイト数Ａを測定し、予め定めた閾値を超えた場合に輻輳と判定する。それを用いて、第１の実施例〜第５の実施例のいずれかの方法によりパケットの廃棄あるいは優先制御を行うか否かを判定する。例えば、図７に示すように、トラヒック監視部４４において、タイマ４４４をセットすることにより予め定めた周期ｔ０毎にリンクに到着するパケットのバイト数Ａカウンタ４４１により測定する。
【００３０】
（第８の実施例）
第８の実施例では、輻輳であるか否かの判断基準として、キュー長の代わりに、ＳＹＮフラグ付きパケットの到着数Ａｓｙｎを測定し、それを用いてパケット廃棄を行うか否かを判断する。従って、第１から第５までの実施例の方法を組合せて実施される。
例えば、図７に示すように、トラヒック監視部４４においてキュー長を監視していた代わりに、制御回路４４３で到着したパケットのＴＣＰヘッダ内にＳＹＮフラグが立っているか否かを判別し、立っていれば、ＳＹＮフラグ付きパケットの到着数Ａｓｙｎを予め定めた周期ｔ０毎に測定して、予め定めた値を超えていれば輻輳と判定し、パケット廃棄を行うか否かを判定する。
【００３１】
第１の実施例を組合せた場合には、パケット到着数Ａｓｙｎが予め定めた閾値を超えたとき、ＳＹＮフラグ付きパケットをパケット廃棄決定部４２に通知して全て廃棄させる。第２の実施例を組合せた場合には、パケット到着数Ａｓｙｎが閾値を超えたとき、ＳＹＮフラグ付きパケットは低優先クラスバッファ４６に収容し、それ以外のパケットは高優先クラスバッファ４５に収容する。第３の実施例を組合せた場合には、パケット到着数Ａｓｙｎが閾値を超えたとき、ＳＹＮフラグに加えてＡＣＫフラグが立っているパケットのみ、廃棄または低優先クラスバッファ４６に収容する。第４の実施例を組合せた場合には、パケット到着数Ａｓｙｎが閾値を超えたとき、ＳＹＮフラグおよびＡＣＫフラグ付きパケットが既にテーブルにエントリされていれば確率Ｐ  ｉｎｃ（Ｃ  ｐａｓｓ（ｊ））で廃棄し、新たにエントリされる場合には、受け付ける。第５の実施例を組合せた場合には、パケット到着数Ａｓｙｎが閾値を超えたとき、廃棄されたＳＹＮパケット数Ｃ  ｄｒｏｐ（ｊ）を管理し、確率Ｐ  ｄｅｃ（Ｃ  ｄｒｏｐ（ｊ））でパケットを廃棄する。
【００３２】
（第９の実施例）
図８は、本発明の第９の実施例に係るトラヒック監視部の構成図である。
第１の実施例におけるトラヒック監視部４４では、キュー長を監視していたが、本実施例では、その代わりにＴＣＰコネクションの開始を表すＳＹＮフラグが立っていれば、同時接続コネクションカウンタＬを１カウントアップし、ＴＣＰコネクションの終了を表すＦＩＮフラグあるいはＲＳＴフラグが立っていれば、カウンタＬを１カウントダウンして、同時接続コネクション数Ｌを把握し、その値Ｌが予め定めた値を超えていれば輻輳と判定し、それを用いてパケットの廃棄を行うか否かを判定する。
【００３３】
第１の実施例を組合せた場合には、同時接続コネクション数Ｌが予め定めた閾値を超えたとき、ＳＹＮフラグ付きパケットをパケット廃棄決定部４２に通知して全て廃棄させる。第２の実施例を組合せた場合には、同時接続コネクション数Ｌが閾値を超えたとき、ＳＹＮフラグ付きパケットは低優先クラスバッファ４６に収容し、それ以外のパケットは高優先クラスバッファ４５に収容する。第３の実施例を組合せた場合には、同時接続コネクション数Ｌが閾値を超えたとき、ＳＹＮフラグに加えてＡＣＫフラグが立っているパケットのみ、廃棄または低優先クラスバッファ４６に収容する。第４の実施例を組合せた場合には、同時接続コネクション数Ｌが閾値を超えたとき、ＳＹＮフラグおよびＡＣＫフラグ付きパケットが既にテーブルにエントリされていれば確率Ｐ  ｉｎｃ（Ｃ  ｐａｓｓ（ｊ））で廃棄し、新たにエントリされる場合には、受け付ける。第５の実施例を組合せた場合には、同時接続コネクション数Ｌが閾値を超えたとき、廃棄されたＳＹＮパケット数Ｃ  ｄｒｏｐ（ｊ）を管理し、確率Ｐ  ｄｅｃ（Ｃ  ｄｒｏｐ（ｊ））でパケットを廃棄する。
【００３４】
（第１０の実施例）
本発明の第１０の実施例は、第８と第９の実施例の組合せである。
すなわち、第１の実施例におけるトラヒック監視部４４でのキュー長の監視の代わりに、第８の実施例と同様に、予め定めた周期ｔ０毎にリンクへのＳＹＮフラグ付きパケットの到着数Ａｓｙｎを測定しておき、かつ、第９の実施例と同様に、同時接続コネクション数Ｌを測定しておき、その平均値Ｅ〔Ｌ〕を周期ｔ０毎に計算し、ＡｓｙｎおよびＥ〔Ｌ〕から平均ファイル転送時間Ｅ〔Ｔ〕をＥ〔Ｔ〕＝Ｅ〔Ｌ〕／（Ａｓｙｎ／ｔ０）により推定して、予め定めた値を超えていれば輻輳と判定する。それを用いて、パケットを廃棄するか否かを決定する。
【００３５】
（第１１の実施例）
図２は、本発明の第１１の実施例に係るＴＣＰトラヒック制御装置の構成図である。
第１〜第５の実施例のいずれかの方法でパケットの選択廃棄あるいは優先制御を行う手段（図２のヘッダ解析部４１およびパケット廃棄決定部４２）、リンクの輻輳状況を把握する手段（図２のトラヒック監視部４４）、および処理後のパケットをリンクに転送する手段（図２のパケット転送部４３）を具備している。
【図面の簡単な説明】
【００３６】
【図１】本発明が適用されるＩＰネットワークの基本構成を示す図である。
【図２】本発明の一実施例に係るＴＣＰトラヒック制御装置の構成図である。
【図３】本発明の第２の実施例に係るＴＣＰトラヒック制御装置の構成図である。
【図４】本発明の第４の実施例に係る着信先ＩＰアドレスを管理するテーブルの構成図である。
【図５】本発明の第４の実施例に係るヘッダ解析部の構成図である。
【図６】本発明の第５の実施例に係るヘッダ解析部の構成図である。
【図７】本発明の第７と第８の実施例に係るトラヒック監視部の構成図である。
【図８】本発明の第９の実施例に係るトラヒック監視部の構成図である。
【符号の説明】
【００３７】
１０…入側ノード、２０…出側ノード、３０…中継リンク、４０…ノード、
４１…ヘッダ解析部、４２…パケット廃棄決定部、４３…パケット転送部、
４４…トラヒック監視部、４５…高優先クラスバッファ、４６…低優先クラスバッファ、
４１２…着信先ＩＰアドレス管理テーブル、４１１…ＳＹＮパケット通過カウンタ、
４１３…制御回路、４１４…ＳＹＮパケット廃棄カウンタ、
４４１…ＳＹＮパケット通過カウンタ、４４４…タイマ、４４３…制御回路、
４４４…カウンタ、４４５…同時接続コネクションカウンタ。
【図１】
2005117131.tif 000003
【図２】
2005117131.tif 000004
【図３】
2005117131.tif 000005
【図４】
2005117131.tif 000006
【図５】
2005117131.tif 000007
【図６】
2005117131.tif 000008
【図７】
2005117131.tif 000009
【図８】
2005117131.tif 000010