(57)【特許請求の範囲】
【請求項１】
ＴＣＰ同期現象を回避するＲＥＤ方式を使用した輻輳制御装置であって、
ウィンドウサイズ分のパケット群の中で、先頭のパケットにマークを付加するマーク付加手段と、
前記マーク付加手段により付加されたマークを検出するマーク検出手段と、
該マーク検出手段により検出した先頭のパケットに基づいて、前記ウィンドウサイズ分のパケット群の中から最終パケットを検出する最終パケット検出手段と、
該最終パケット検出手段により検出した最終パケットを廃棄するパケット廃棄手段と、
前記各手段を制御する制御手段と、を備えたことを特徴とする輻輳制御装置。
【請求項２】
前記最終パケット検出手段は、パケットが受信されたことを示すＡＣＫが受信側より返信された時点で、次の順番のパケットが到着していないとき、該通過したパケットを前記最終パケットであると判定することを特徴とする請求項１に記載の輻輳制御装置。
【請求項３】
前記マーク付加手段は、前記最終パケット検出手段により検出した最終パケットの次に到着したパケットを先頭のパケットとして前記マークを付加することを特徴とする請求項１又は２に記載の輻輳制御装置。
【請求項４】
前記制御手段は、前記マーク検出手段によりマークを検出したことを認識すると、該マークを消去することを特徴とする請求項１、２又は３に記載の輻輳制御装置。
【請求項５】
マーク付加手段、マーク検出手段、最終パケット検出手段、パケット廃棄手段、及び制御手段を備えた輻輳制御装置の輻輳制御方法であって、
前記マーク付加手段が、ウィンドウサイズ分のパケット群の中で、先頭のパケットにマークを付加するステップと、
前記マーク検出手段が、前記マーク付加手段により付加されたマークを検出するステップと、
前記最終パケット検出手段が、前記マーク検出手段により検出した先頭のパケットに基づいて、前記ウィンドウサイズ分のパケット群の中から最終パケットを検出するステップと、
前記パケット廃棄手段が、前記最終パケット検出手段により検出した最終パケットを廃棄するステップと、
前記制御手段が、前記各手段を制御するステップと、を備えたことを特徴とする輻輳制御装置の輻輳制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、輻輳制御装置及び輻輳制御方法に関し、さらに詳しくは、ＴＣＰ同期現象を回避するＲＥＤ方式の課題を解消してパケットの廃棄率を低減する輻輳制御装置及び輻輳制御方法に関するものである。
【背景技術】
【０００２】
近年、低コストのＴＣＰ／ＩＰに基づく汎用通信機器は、インターネットのみならず、企業内の閉域ネットワークへも適用が進んでいる。そして、ネットワークに様々なアプリケーションが取り込まれるに従って、輻輳への対策はますます重要となってきている。輻輳防止のための基本的な対策は、輻輳を発生させないように、ネットワーク設備の増強を行うことであるが、経済的な理由から増強の時期を遅らせざるを得ない場合、あるいは冗長化・負担分散化された通信経路で障害が発生した場合等には、トラフィックの集中するノードで輻輳が発生する可能性が高い。このため、輻輳の発生時においても、効率的に輻輳制御を行えるような対策を行う必要がある。
そこで、大部分のアプリケーションで転送用プロトコルとして用いられているＴＣＰは、設備容量内にトラフィックを抑制するために、通信速度を抑制する輻輳制御の機能を備えている。即ち、通信経路内のノードにおいて輻輳が発生してパケットが廃棄された場合、送信元のＴＣＰがそれを検出し、一度に送信できるパケット数を決めるウィンドウサイズを減少させることにより、ネットワークへのパケット送出速度を抑制して輻輳を解消するものである。
【０００３】
一方、ルータやスイッチの多くは、バッファにおいてＴａｉｌ  Ｄｒｏｐ方式を採用している。Ｔａｉｌ  Ｄｒｏｐ方式では、到着順にパケットをバッファに蓄積するが、輻輳によりバッファが一杯になった場合は、到着するパケットを廃棄する。このとき、到着するパケットを無作為に廃棄するため、複数のフローにわたってパケットがほぼ連続的に廃棄される（ここで、フローとは、送信側と受信側を１対１でつないでいる通信コネクションのことをいう）。そのため、複数のフローで同時にＴＣＰの輻輳制御機能が働き、そろってウィンドウサイズを半分（もしくは１パケット）まで減少させることから、一時的に通信効率が大きく低下する。また、この状態から、一斉にウィンドウサイズを増加させることとなるが、このときバッファ内のパケット量が減少しており、これに伴い、ＲＴＴ（Round Trip Time）も低下していることから、ウィンドウサイズの増加は急激となる。このため、再び輻輳に陥り、パケット廃棄が発生する。この現象はＴＣＰ同期と呼ばれ、通信効率の低下を招くという問題がある。
【０００４】
このようなＴＣＰ同期現象を回避する一手法として、バッファにおけるパケット廃棄方式であるＲＥＤ（Random Early Detection）がよく知られている。ＴＣＰ同期現象は、輻輳によりバッファが一杯になり、ほぼ連続的なパケット廃棄が発生することによって引き起こされる。ＲＥＤはこの点に着目し、ほぼ連続的なパケット廃棄が発生しないようにすることでＴＣＰ同期現象を回避するものである。すなわち、ＲＥＤではバッファが一杯になる前に、到着するパケットを十分に低い確率で廃棄する。パケットが廃棄されたフローは、ＴＣＰの輻輳制御が働き、ウィンドウサイズが減少してパケット送出速度が抑制される。これにより、輻輳が緩和されてバッファ内のパケット量の増加も抑制される。このため、バッファが一杯にならず、パケットのほぼ連続的な廃棄が発生しないためＴＣＰ同期現象を回避できる。図４に示すように、ＲＥＤによるパケット廃棄率は、平均バッファ長（バッファの蓄積パケット量）がＭＩＮｔｈから増加を始め、平均バッファ長がＭＡＸｔｈのときにＭＡＸｐとなる（ＭＡＸｐを超えると全てのパケットを廃棄する）。ＲＥＤは多くのルータやスイッチの市販製品に実装されており、使用可否を選択することができる。
尚、輻輳を解消する従来技術として特許文献１には、ノードのバッファが輻輳により所定の閾値を超えた時点で、共通の外部バッファへパケットを転送し、一時的に保持して、輻輳が収まった時点でノードのバッファへパケットを戻す技術について開示されている。また、特許文献２には、ノードのバッファが輻輳により、所定の閾値を越えた時点で、複数のノードに対して速度を下げる制御信号を送信し、それを受けたノードが速度を下げ、余剰パケットを一時的に保持することで輻輳を解消する方式について開示されている。また、特許文献３には、ノードのバッファが所定の閾値を超えた時点で、同じノード内における別のポート用のバッファへパケットを転送し、一時的に保管する方式について開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−３２５１７８公報
【特許文献２】特開２００９−６０２８３公報
【特許文献３】特開２００９−０８１５９５公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、ＲＥＤにも以下に述べる課題を含んでいる。即ち、ＲＥＤは低い確率でパケットを積極的に廃棄することによって、バッファが一杯になることを回避し、ひいては、ほぼ連続的なパケット廃棄が発生することを回避するものである。このため、平均バッファ長がＭＩＮｔｈを超えた時点から、低い確率ではあるものの、常にパケット廃棄が発生している。パケット廃棄が発生すると、送信側からパケットが再送される。この動作について、現在広く普及しているＴＣＰ  Ｒｅｎｏバージョンを対象に具体的に説明する。
ＴＣＰの通信では、送信側はウィンドウサイズ分のパケット群を一度に送信する。そして、受信側はパケットを受信する度に確認応答パケット（以下、ＡＣＫという）を返信する。送信側はウィンドウサイズ分のパケット群の中で最後のパケットに対するＡＣＫを受け取った時点で、次のウィンドウサイズ分のパケット群を一度に送出する。つまり、ＴＣＰ通信では、ウィンドウサイズ分のパケット群の送出が繰り返し行われている。ここで、パケット群の中の１つのパケットがＲＥＤにより廃棄されたとする。この場合、このパケットに対するＡＣＫが受信側より返信されず、送信側に届かない。
そして、このパケットよりも後の順番にあたるパケットに対するＡＣＫが３つ連続で届いた時点で、送信側はパケットがネットワーク中のどこかで消失したと判断し、この消失した（廃棄された）パケット以降の全てのパケットを再送する。このようなＴＣＰの再送の仕組みにおいては、廃棄されたパケットのみならず、一度に送信されたパケット群の中で、廃棄されたパケットよりも後の順番にあたる全てのパケットが再送されることとなる。その結果、ＲＥＤでは、パケット廃棄に伴って無駄な再送パケットが多く発生してしまい、実効的な通信効率の低下を招くという課題があった。
【０００７】
また、特許文献１に開示されている従来技術は、共通の外部バッファを必要とするため、ＴＣＰプロキシと同様に、最適な配置位置を選定しなければならないといった課題がある。
また、特許文献２に開示されている従来技術は、輻輳発生中のノードが速度を下げる制御信号を送信し、これを受信したノードが速度制御を行ない、その結果として、輻輳発生中のノードの輻輳が解消されるというフィードバック制御であるため、トラフィック状況に応じた最適なバッファの閾値や速度制御の設定が難しく、最適な設定でない場合、制御遅延の影響でパケット廃棄に到るといった問題が発生する。
本発明は、かかる課題に鑑みてなされたものであり、ウィンドウサイズ分のパケット群の中で、先頭のパケットにマークを付加し、輻輳が発生したノードで、付加されたマークを検出することで最終パケットを検出して、当該最終パケットを廃棄することにより、廃棄に伴う再送パケットを最小限に抑制することが可能な輻輳制御装置及び輻輳制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明はかかる課題を解決するために、請求項１は、ＴＣＰ同期現象を回避するＲＥＤ方式を使用した輻輳制御装置であって、ウィンドウサイズ分のパケット群の中で、先頭のパケットにマークを付加するマーク付加手段と、前記マーク付加手段により付加されたマークを検出するマーク検出手段と、該マーク検出手段により検出した先頭のパケットに基づいて、前記ウィンドウサイズ分のパケット群の中から最終パケットを検出する最終パケット検出手段と、該最終パケット検出手段により検出した最終パケットを廃棄するパケット廃棄手段と、前記各手段を制御する制御手段と、を備えたことを特徴とする。
ＴＣＰ同期現象を回避するＲＥＤ方式を使用した輻輳制御装置において、ウィンドウサイズ分のパケット群の中で、先頭のパケットにマークを付加し、付加されたマークを検出し、検出した先頭のパケットに基づいて、ウィンドウサイズ分のパケット群の中から最終パケットを検出し、検出した最終パケットを廃棄するように制御する。
これにより、ウィンドウサイズ分のパケット群の中で、先頭のパケットにマークを付加し、輻輳が発生したノードで、付加されたマークを検出することで最終パケットを検出して、当該最終パケットを廃棄することにより、廃棄に伴う再送パケットを最小限に抑制することが可能になる。
【０００９】
請求項２は、前記最終パケット検出手段は、パケットが受信されたことを示すＡＣＫが受信側より返信された時点で、次の順番のパケットが到着していないとき、該通過したパケットを前記最終パケットであると判定することを特徴とする。
最終のパケットがエッジノードを通過した場合には、次の条件により判定できる。すなわち、あるパケットがエッジノードを通過し、パケットが受信されたことを示すＡＣＫが受信側より返信されてきた時点で、次の順番のパケットが到着していないとき、この通過したパケットは、最終のパケットであったことが判定できる。これにより、ウィンドウサイズの終端を識別することができる。
請求項３は、前記マーク付加手段は、前記最終パケット検出手段により検出した最終パケットの次に到着したパケットを先頭のパケットとして前記マークを付加することを特徴とする。
エッジノードにて、ウィンドウサイズ分のパケット群の中で、先頭のパケットにマークを付加するには、まず、エッジノードは、送信側から送信されてきた個々のパケットのシーケンス番号を検出し、フロー毎にテーブルで管理する（フローは送信側と受信側アドレスより識別する）。次に、受信側から返信されてきたＡＣＫについてもシーケンス番号を検出し、パケットとの対応関係を識別した上で、テーブルで管理する。ここで、最後のパケットがエッジノードを通過したことを検出し、次に到着したパケットにマークを付加すれば、先頭のパケットにマークが付加されたことになる。これにより、ウィンドウサイズ分のパケット群の中の先頭のパケットに確実にマークを付加することができる。
【００１０】
請求項４は、前記制御手段は、前記マーク検出手段によりマークを検出したことを認識すると、該マークを消去することを特徴とする。
輻輳中のノードでは、先頭パケットに付加されたマークを検出するが、そのマークを付加したまま送信すると、受信側で不具合が出ないとも限らない。そこで本発明では、検出した後は消去することで、受信側に何ら影響を与えないようにする。
請求項５は、マーク付加手段、マーク検出手段、最終パケット検出手段、パケット廃棄手段、及び制御手段を備えた輻輳制御装置の輻輳制御方法であって、前記マーク付加手段が、ウィンドウサイズ分のパケット群の中で、先頭のパケットにマークを付加するステップと、前記マーク検出手段が、前記マーク付加手段により付加されたマークを検出するステップと、前記最終パケット検出手段が、前記マーク検出手段により検出した先頭のパケットに基づいて、前記ウィンドウサイズ分のパケット群の中から最終パケットを検出するステップと、前記パケット廃棄手段が、前記最終パケット検出手段により検出した最終パケットを廃棄するステップと、前記制御手段が、前記各手段を制御するステップと、を備えたことを特徴とする。
請求項１と同様の作用効果を奏する。
【発明の効果】
【００１１】
本発明によれば、再送パケットを常に最小限とすることができ、これにより実効的な通信効率の低下を回避することができる。
また、送信側・受信側のＴＣＰには何ら変更を加えず、ネットワーク中のノードの機能だけで対処することができる。そのため、運用面や経済面における様々な現実的事情により、送信側・受信側のＴＣＰを変更できない場合にも適用でき、実導入面で有利である。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施形態に係る輻輳制御装置の機能を示すブロック図である。
【図２】ネットワーク図の一例を示す図である。
【図３】（ａ）は従来方法によるパケット廃棄を説明する図、（ｂ）は本発明によるパケット廃棄を説明する図である。
【図４】ＲＥＤ方式による平均バッファ長とパケット廃棄率の関係を示す図である。
【発明を実施するための形態】
【００１３】
以下、本発明を図に示した実施形態を用いて詳細に説明する。但し、この実施形態に記載される構成要素、種類、組み合わせ、形状、その相対配置などは特定的な記載がない限り、この発明の範囲をそれのみに限定する主旨ではなく単なる説明例に過ぎない。
【００１４】
図１は本発明の一実施形態に係る輻輳制御装置の機能を示すブロック図である。この輻輳制御装置１は、ＴＣＰ同期現象を回避するＲＥＤ方式を使用した輻輳制御装置１であって、ウィンドウサイズ分のパケット群の中で、先頭のパケットにマークを付加するマーク付加手段７と、マーク付加手段７により付加されたマークを検出するマーク検出手段３と、マーク検出手段３により検出した先頭のパケットに基づいて、ウィンドウサイズ分のパケット群の中から最終パケットを検出する最終パケット検出手段４と、最終パケット検出手段４により検出した最終パケットを廃棄するパケット廃棄手段６と、各手段を制御する制御部（制御手段）５と、を備え、輻輳制御装置１は、インターフェース２を介してネットワーク８によりエッジノード９と接続されている。尚、本実施形態の場合は、輻輳制御装置１はコアノード１１内に備えられ、エッジノード９にも同様な構成の輻輳制御装置１が備えられている。従って、どこに備えられているかにより、機能する手段と機能しない手段がある。
即ち、ＴＣＰの通信では、送信側はウィンドウサイズ分だけのパケット群を一度に送信する。そして、パケット群の中でどの位置のパケットが廃棄されるかによって、再送されるパケット数が異なってくる。すなわち、パケット群の中で最初の方のパケットが廃棄された場合、最大でウィンドウサイズ分のパケットが再送される。逆に、最後の方のパケットが廃棄された場合、最小で１つのパケットが再送される。従って、ＲＥＤによって発生する再送パケット数を最小限に抑制するためには、送信されるパケット群の中で、なるべく最後の方のパケットを廃棄すればよいことになる。そこで本実施形態では、ウィンドウサイズ分のパケット群の中で、先頭のパケットにマークを付加して、輻輳中のノードでそのマークを検出し、当該マークに基づいて最終パケットの位置を検出して、その最終パケットを廃棄する。これにより、再送するパケット数を最小限にすることができる（詳細は図３で説明する）。
【００１５】
図２はネットワーク図の一例を示す図である。送信端１０の回線を集約しているノードをエッジノード９、それ以外をコアノード１１とする。エッジノード９はネットワーク８中に複数存在する。エッジノード９は、送信端１０からパケットを受け取ると、すぐに確認応答（ＡＣＫ）パケットを送信端１０に返信する。一方、エッジノード９が受け取ったパケットは、コアノード１１へ送られ、受信端１２へ到着すると、受信端１２から確認応答（ＡＣＫ）パケットを受け取る。つまり、エッジノード９でＴＣＰコネクションが張りなおされる形となる。このとき、エッジノード９から見て、送信端１０側のネットワークはＲＴＴ（Round Trip Time）が小さいので通信速度は速く、逆にコアノード１１側のネットワークは（特に輻輳時には）ＲＴＴが大きいので通信速度は遅い。そのため、この速度差によってエッジノード９のバッファには自然にパケットが蓄積される。これは、送信端１０が持っていた送信データがエッジノード９のバッファに引っ張り出されるイメージとなる。このような原理上、バッファにパケットが蓄積されていても、通信遅延は発生していない。また、このバッファは、ＴＣＰコネクションで繋がったパケットを蓄積するものではないので、たとえ保持時間が長い場合でも、タイムアウトでＴＣＰが切断されることはない。
また、エッジノード９は、コアノード１１へ送信するパケットのヘッダ部にマークを付ける機能を持ち、そのマークはコアノード１１によって読み取られ、ＲＥＤの制御に用いられる。このような動作は、その必要性の生じる輻輳時に限って行う仕組みとしても良い。コアノード１１で輻輳が発生した場合、ＲＥＤによってパケットが廃棄され、エッジノード９は、これを検出してウィンドウサイズを減少させ、コアノード１１側の通信速度を下げる。同時に、送信端側の通信速度を下げる制御を行うこととなる。
【００１６】
図３は本発明の輻輳制御装置の動作を説明するために、従来方法との比較で例示した図である。図３（ａ）は従来方法によるパケット廃棄を説明する図、図３（ｂ）は本発明によるパケット廃棄を説明する図である。
ＴＣＰの通信では、送信側はウィンドウサイズ分のパケット群を一度に送信する。そして、受信側はパケットを受信する度に確認応答パケット（以下、ＡＣＫという）を返信する。送信側はウィンドウサイズ分のパケット群の中で最後のパケットに対するＡＣＫを受け取った時点で、次のウィンドウサイズ分のパケット群を一度に送出する。つまり、ＴＣＰ通信では、ウィンドウサイズ分のパケット群の送出が繰り返し行われている。
ここで、パケット群の中の１つのパケットがＲＥＤにより廃棄されたとする。この場合、このパケットに対するＡＣＫが受信側より返信されず、送信側に届かない。そして、このパケットよりも後の順番にあたるパケットに対するＡＣＫが３つ連続で届いた時点で、送信側はパケットがネットワーク中のどこかで消失したと判断し、この消失した（廃棄された）パケット以降の全てのパケットを再送する。このようなＴＣＰの再送の仕組みにおいては、廃棄されたパケットのみならず、一度に送信されたパケット群の中で、廃棄されたパケットよりも後の順番にあたる全てのパケットが再送されることとなる。このため、ＲＥＤでは、パケット廃棄に伴って無駄な再送パケットが多く発生してしまい、実効的な通信効率の低下を招くという課題があった。
【００１７】
図３（ａ）を用いて更に詳細に説明すると、フローＡ〜Ｄごとに所定のウィンドウサイズでパケットが到着した場合について説明する。図の右側が輻輳中のノードへのパケット到着順が先で、左側が後である。ここで廃棄パケット数が２の場合について説明する。ウィンドウサイズがＰ１−１〜Ｐ１−５のパケット群では、Ｐ１−１〜Ｐ１−３がフローＡであり、Ｐ１−４〜Ｐ１−５までがフローＢである。同じく、ウィンドウサイズがＰ２−１〜Ｐ２−１２のパケット群では、Ｐ２−１〜Ｐ２−６がフローＢであり、Ｐ２−７〜Ｐ２−１２までがフローＣである。同じく、ウィンドウサイズがＰ３−１〜Ｐ３−２のパケット群では、Ｐ３−１〜Ｐ３−２がフローＣである。同じく、ウィンドウサイズがＰ４−１〜Ｐ４−８のパケット群では、Ｐ４−１〜Ｐ４−８がフローＤである。ここで、パケットＰ１−１、Ｐ２−１、Ｐ３−１、Ｐ４−１がウィンドウサイズの最初のパケットであり、パケットＰ１−３とＰ２−６が廃棄パケットとすると、パケットＰ１−１、Ｐ２−１、Ｐ３−１、Ｐ４−１には何ら情報が付加されておらず、ノードで識別することができない。その結果、廃棄パケットＰ１−３と最初のパケットＰ１−１の間のＰ１−２のパケットと、廃棄パケットＰ２−６と最初のパケットＰ２−１の間のＰ２−２〜Ｐ２−５のパケットが後で再送されることになるパケットとなる。即ち、廃棄パケット数が２であり、後で再送することになるパケット数は、廃棄パケットを含めて７となる。
【００１８】
それに対して本発明では、ＲＥＤによって発生する再送パケットを最小限に抑制する。これによって実効的な通信効率の低下を最小限とすることができる。また、本発明では、送信側・受信側のＴＣＰには何ら変更を加えず、ネットワーク中のノードの機能だけで対処することができる。以下、詳細に説明する。
ＴＣＰの通信では、送信側はウィンドウサイズ分だけのパケット群を一度に送信する。そして、パケット群の中でどの位置のパケットが廃棄されるかによって、再送されるパケット数が異なってくる。すなわち、パケット群の中で最初の方のパケットが廃棄された場合、最大でウィンドウサイズ分のパケットが再送される。逆に、最後の方のパケットが廃棄された場合、最小で１つのパケットが再送される。
即ち、ＲＥＤによって発生する再送パケット数を最小限に抑制するためには、送信されるパケット群の中で、なるべく最後の方のパケットを廃棄すればよい。しかし、ネットワーク中のノードは、到達したパケットがウィンドウサイズ分のパケット群の中で、どの位置にあるかを識別する機能を持っていない（パケットの順番はＴＣＰヘッダに記されたシーケンス番号から識別できるものの、ウィンドウサイズの端がどこなのか識別できない）。
【００１９】
そこで、本発明では、エッジノードにて、ウィンドウサイズ分のパケット群の中で、先頭のパケットにマークを付加する。これは、次のようにして行う。まず、エッジノードは、送信側から送信されてきた個々のパケットのシーケンス番号を検出し、フロー毎にテーブルで管理する（フローは送信側と受信側アドレスより識別する）。次に、受信側から返信されてきたＡＣＫについてもシーケンス番号を検出し、パケットとの対応関係を識別した上で、テーブルで管理する。ここで、最後のパケットがエッジノードを通過した場合には、次の条件により判定できる。即ち、あるパケットがエッジノードを通過し、それに対するＡＣＫが受信側より返信されてきた時点で、次の順番のパケットが到着していないとき、この通過したパケットは、最後のパケットであったことが判定できる。
なお、輻輳中のノードではなく、エッジノードで検出して判定する理由は、単なるパケットの遅延を原因とする誤った判定が起こる可能性を排除するためである。つまり、エッジノードであれば、パケットが通過し、これに対するＡＣＫが返信され、通過するまでに、ＲＴＴ（Round Trip Time）に近い時間が経過しており、単なるパケットの遅延によって次の順番のパケットが到着していないだけであるという可能性が非常に低くなるためである。このような判定に基づき、次に到着したパケットにマークを付加すれば、先頭のパケットにマークが付加されたことになる。マークを付加する場所は、例えば、ＴＣＰヘッダのウィンドウサイズ・フィールドや、ＩＰヘッダのオプション・フィールドであればよい。なお、前者は通常、ＡＣＫで用いられている。つまり、受信側から送信側に対して、現状の受信バッファの空き容量を通知し、スライディング・ウィンドウ方式でパケットを受け取るために用いられている。後者は、通常、使用されていない。
【００２０】
一方、輻輳中のノードでは、先頭パケットに付加されたマークを検出する。なお、検出した後は消去することで、受信側に何ら影響を与えないようにする。先頭パケットに付加されたマークの検出により、続いて到着する個々のパケットが、先頭パケットから数えて何番目にあるかを知ることができる。ただし、これを知るだけでは、なるべく最後の方のパケットを選択して廃棄するためには十分ではない。その理由は、ウィンドウサイズは通信開始時の１パケットから始まり徐々に増加するため、前回のウィンドウサイズは分かっているものの、次回のウィンドウサイズは分からない。そのため、ウィンドウサイズの終わりのパケットがいつ到着するのかについても、事前には分からないためである。これを解決するために、これまでのウィンドウサイズの推移を記録した上で、ウィンドウサイズが最大値にまで開ききったために一定になっているフローにパケット廃棄の対象を絞り込む。このようにパケット廃棄の対象を絞り込めば、次回のウィンドウサイズが前回と同じであると断定でき、ウィンドウサイズの終わりが事前に分かる。このため、なるべく最後のパケットを選択して廃棄することができる。なお、ウィンドウサイズが最大値にまで開ききって一定になっているフローとは、言い換えれば、パケット送出速度が最大値となっているフローであるため、パケット廃棄の対象とすることは、輻輳制御を効果的に行うためにも望ましい。
【００２１】
上記は、次回のウィンドウサイズを事前に知る方法として、最もシンプルな方法を示したが、例えば過去の推移を元に、ＴＣＰのウィンドウサイズの変更メカニズムを考慮した上で予測する方法であっても良い。この場合は、計算処理の負担がかかる一方で、上記よりもパケット廃棄の対象が広がることとなる。
また、輻輳中のノードは、内部に管理テーブルを持ち、フロー毎にウィンドウサイズの推移を記録し、同じウィンドウサイズが継続したフローをパケット廃棄の対象として管理する。加えて、フロー毎にパケットの通過数を記録し、バッファ内に蓄積されている到着パケットが先頭パケットから数えて何番目なのか、ひいては最後のパケットから数えて何番目なのかを管理する。
今、本発明の輻輳制御装置を動作させたノードで輻輳が発生し、平均バッファ長がＭＩＮｔｈを超過することにより、ある廃棄率でパケットを廃棄することとなったとする。このとき、バッファ内に蓄積されている到着パケットのうち、パケット廃棄の対象であり、かつ、なるべくパケット群の中で最後の方のパケットを選択して廃棄する。これにより、廃棄に伴う再送パケットを最小限に抑制することができる。
【００２２】
図３（ｂ）を用いて更に詳細に説明すると、フローＡ〜Ｄごとに所定のウィンドウサイズでパケットが到着した場合について説明する。図の右側が輻輳中のノードへのパケット到着順が先で、左側が後である。ここで廃棄パケット数が２の場合について説明する。フローとウィンドウサイズの関係は、図３（ａ）と同様であるので説明を省略する。ここで、パケットＰ１−１、Ｐ２−１、Ｐ３−１、Ｐ４−１がウィンドウサイズの最初のパケットであり、パケットＰ１−３とＰ３−２が廃棄パケットとすると、パケットＰ１−１、Ｐ２−１、Ｐ３−１、Ｐ４−１には情報が付加され、ノードで識別することができる。その結果、廃棄パケットＰ１−３と最初のパケットＰ１−１の間のＰ１−２のパケットと、廃棄パケットＰ３−２が後で再送されることになるパケットとなる。即ち、廃棄パケット数が図３（ａ）と同じ２であるが、後で再送することになるパケット数は、廃棄パケットを含めて３で済むことになる。
【符号の説明】
【００２３】
１  輻輳制御装置、２  インターフェース、３  マーク検出手段、４  最終パケット検出手段、５  制御部、６  パケット廃棄手段、７  マーク付加手段、８  ネットワーク、９  エッジノード、１０  送信端、１１  コアノード、１２  受信端
【図１】
0005518534.tif 000002
【図２】
0005518534.tif 000003
【図３】
0005518534.tif 000004
【図４】
0005518534.tif 000005