(57)【要約】【課題】ＷＲＥＤ方式による良好なパケット破棄特性が得られるパケット中継装置を提供する。【解決手段】パケット中継装置は、パケットを受信する毎に乱数値と目標破棄確率に基づいた破棄比較値とを生成し、これらの比較結果に基づいて受信パケットを破棄すべきか蓄積すべきか判定する。【選択図】図１
2009239435.tif 000002
【特許請求の範囲】
【請求項１】
通信網から到来したパケットを受信して当該パケットを蓄積するパケット受信蓄積部と、前記パケット受信蓄積部に蓄積されているパケットを通信網へ送信する送信部と、を含むパケット中継装置であって、
乱数値を生成する乱数生成部と、
目標破棄確率に基づいて破棄比較値を生成する破棄比較値生成部と、
前記乱数値と前記破棄比較値とを比較して破棄比較結果を得る比較部と、
前記破棄比較結果に基づいて前記パケットを破棄又は蓄積すべき旨を表す破棄蓄積判定結果を得る破棄判定部と、を含み、
前記パケット受信蓄積部は、前記破棄蓄積判定結果が前記パケットを蓄積すべき旨を表す場合にのみ前記パケットを蓄積することを特徴とするパケット中継装置。
【請求項２】
前記破棄比較値は、前記目標破棄確率と、前記乱数の要素数と、の積であることを特徴とする請求項１に記載のパケット中継装置。
【請求項３】
最大破棄閾値と最小破棄閾値との差Ｄ＝２ｄ、前記最大破棄閾値と前記パケット蓄積部に蓄積されているパケットの数との差α、最大破棄確率Ｍ＝１／２ｍ、前記乱数の要素数Ｎ＝２n、であり、前記破棄比較値生成部は、下記の数１に表される数式によって得られた値を前記破棄比較値ＨＫとすることを特徴とする請求項１又は２に記載のパケット中継装置。
【数１】
2009239435.tif 000007
【請求項４】
前記破棄比較値生成部は、減算回路、加算回路、丸め回路及びシフト回路により前記数１に表される数式を表すように構成されたことを特徴とする請求項３に記載のパケット中継装置。
【請求項５】
前記乱数生成部は、Ｍ系列値を生成するＭ系列値生成部と、前記Ｍ系列値にハッシュ化処理を施して得られた値を前記乱数値とするハッシュ化部と、からなることを特徴とする請求項１に記載のパケット中継装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信網からのパケットを中継するパケット中継装置に関する。
【背景技術】
【０００２】
インターネットにおけるパケット再送量の低減及び通信トラフィックの輻輳回避のために、通信インターフェースのキューに蓄積されたパケットを破棄する方式としてＷＲＥＤ（Weighted Random Early Detection）方式が知られている。破棄閾値を超えた場合にキューに蓄積されたパケットを全て破棄するテールドロップ方式も知られているが、破棄の結果として一斉にパケットの再送がなされるため、輻輳を引き起こし、通信網の有効利用が図れないという問題がある。そのため、ＷＲＥＤ方式によりパケットを破棄することが望ましい。
【０００３】
一般的なＷＲＥＤ方式の動作の仕組みについて以下に説明する。ＷＲＥＤ方式では予め最小破棄閾値及び最大破棄閾値が設定される。キューに蓄積されたパケット数が最小破棄閾値に達するまでは全てのパケットがキューに蓄積される。キューに蓄積されたパケット数が最大破棄閾値に達した場合には以降のパケットは全て破棄される。また、キューに蓄積されたパケット数が最小破棄閾値と最大破棄閾値との間にある場合には、キューに蓄積されたパケット数に応じた破棄確率にてパケットが破棄される。
【０００４】
図１２は、従来のＷＲＥＤ方式によるパケット破棄確率を表す図である。キューに蓄積されたパケット数が最小破棄閾値に達するまでの破棄確率は０である。キューに蓄積されたパケット数が最大破棄閾値に達したときの破棄確率は最大破棄確率である。最大破棄確率は別途定義される値である。キューに蓄積されたパケット数が最小破棄閾値と最大破棄閾値との間にあるときの破棄確率は、キューに蓄積されたパケット数の増加に応じて、０から最大破棄確率まで線形的に増加する。キューに蓄積されたパケット数が最大破棄閾値を超過した場合には破棄確率は１００％となる。
【０００５】
従来、上記したようなＷＲＥＤ方式によるパケット破棄機能はソフトウェアのみ又はソフトウェアとハードウェアとを組み合わせた構成により実現されるのが一般的であった。しかしながら、この場合、ソフトウェアによる計算時間やソフトウェアとハードウェアとの間の情報の交換などに時間を要していたため、高速通信を実現するためのルータ装置には適用できなかった。例えば特許文献１には、ハードウェアにてパケットの破棄により通信ネットワークトラフィックの輻輳を回避するパケット処理装置が開示されている。
【特許文献１】特開２００５−９４３９２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に開示されているパケット処理装置には以下の問題点があった。特許文献１の公開公報の段落［００３１］、［００３２］及び図６に示されているように、最小しきい値ｍｉｎＴＨから最大しきい値ｍａｘＴＨまでの区間における理想の破棄確率Ｋ１は線形的である。特許文献１のパケット処理装置は、当該区間をステップ数ｓ１〜ｓ９までの８区間に分割し、８段階の定率の破棄確率からなる破棄確率Ｋ２により破棄確率Ｋ１を近似している。図６に示される如く、近似の破棄確率Ｋ２は理想の破棄確率Ｋ１の如く線形的に変化するものではないので、ＷＲＥＤ方式による良好なパケット破棄特性が得られないという問題点があった。
【０００７】
本発明は上記した如き問題点に鑑みてなされたものであって、ＷＲＥＤ方式による良好なパケット破棄特性が得られるパケット中継装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明によるパケット中継装置は、通信網から到来したパケットを受信して当該パケットを蓄積するパケット受信蓄積部と、前記パケット受信蓄積部に蓄積されているパケットを通信網へ送信する送信部と、を含むパケット中継装置であって、乱数値を生成する乱数生成部と、目標破棄確率に基づいて破棄比較値を生成する破棄比較値生成部と、前記乱数値と前記破棄比較値とを比較して破棄比較結果を得る比較部と、前記破棄比較結果に基づいて前記パケットを破棄又は蓄積すべき旨を表す破棄蓄積判定結果を得る破棄判定部と、を含み、前記パケット受信蓄積部は、前記破棄蓄積判定結果が前記パケットを蓄積すべき旨を表す場合にのみ前記パケットを蓄積することを特徴とする。
【発明を実施するための最良の形態】
【０００９】
以下、本発明に係る実施例について添付の図面を参照しつつ詳細に説明する。
【００１０】
図１は本実施例によるパケット中継装置１００を表すブロック図である。パケット中継装置１００は、通信網２１０からパケットを受信しつつ（以下、当該パケットを受信パケットと称する）、受信パケットをいわゆるキュー（Queue）構成のメモリであるパケット蓄積部１１２に蓄積すると共に、当該キューに蓄積されているパケットを取り出して通信網２２０に中継する、例えばルータ装置などのパケット中継装置である。
【００１１】
パケット中継装置１００は、全ての受信パケットをパケット蓄積部１１２に蓄積するわけではなく、所定の条件に従って受信パケットを破棄することにより、通信網２２０における通信トラフィックの輻輳を回避する。この輻輳の回避のために、パケット中継装置１００は、ＷＲＥＤ（Weighted Random Early Detection）方式による受信パケットの確率的破棄を行う。
【００１２】
パケット中継装置１００は、パケット受信蓄積部１１０と、送信部１２０と、破棄判定回路１３０と、を含む。パケット受信蓄積部１１０は、受信部１１１と、パケット蓄積部１１２と、からなる。
【００１３】
受信部１１１は、通信網２１０から到来したパケットＰＫを受信し、破棄判定部１８０からの破棄蓄積判定結果ＪＤに応じて、受信パケットを破棄するか又はパケット蓄積部１１２に蓄積せしめる。すなわち、受信部１１１は、破棄蓄積判定結果ＪＤが受信パケットを破棄すべき旨を表す場合には受信パケットを破棄し、破棄蓄積判定結果ＪＤが受信パケットを蓄積すべき旨を表す場合には受信パケットをパケット蓄積部１１２に蓄積せしめる。また、受信部１１１は、パケットを受信する毎にパケット受信通知ＴＲを破棄判定回路１３０へ与える。
【００１４】
パケット蓄積部１１２は、いわゆるキュー（Queue）構成のメモリであり、受信部１１１からの受信パケットを順次、蓄積する。
【００１５】
送信部１２０は、パケット蓄積部１１２に蓄積されているパケットを順次、取り出し、これを通信網２２０に中継する。
【００１６】
破棄判定回路１３０は、破棄比較値生成部１５０と、乱数生成部１６０と、比較部１７０と、破棄判定部１８０と、と含む。図２は、破棄比較値生成部１５０を詳細に表した破棄判定回路１３０を表すブロック図である。以下、図２を参照しつつ、破棄判定回路１３０の構成及び動作について説明する。
【００１７】
破棄比較値生成部１５０は、受信部１１１からパケット受信通知ＴＲを受け取る毎に、パケット蓄積部１１２に現在、蓄積されているパケットの数（以下、現在蓄積パケット数Ｃｎｏｗと称する）を取得し、現在蓄積パケット数Ｃｎｏｗに基づいて目標破棄確率Ｓを算出すると共に、目標破棄確率Ｓに基づいて破棄比較値ＨＫを生成する。
【００１８】
図３は、現在蓄積パケット数Ｃｎｏｗとパケット目標破棄確率の関係を表すグラフである。破棄比較値生成部１５０における破棄比較値ＨＫの生成処理の説明に先立って、図３のグラフを参照しつつ、現在蓄積パケット数Ｃｎｏｗとパケット目標破棄確率の関係について以下に説明する。当該グラフの横軸は現在蓄積パケット数Ｃｎｏｗを表し、縦軸はパケット目標破棄確率を表す。最大破棄閾値Ｃｍａｘ及び最小破棄閾値Ｃｍｉｎは破棄比較値生成部１５０に予め設定されている値である。
【００１９】
現在蓄積パケット数Ｃｎｏｗが最小破棄閾値Ｃｍｉｎに達するまでのパケット目標破棄確率は０である。現在蓄積パケット数Ｃｎｏｗが最大破棄閾値Ｃｍａｘに達したときのパケット目標破棄確率は最大破棄確率Ｍである。最大破棄確率Ｍは破棄比較値生成部１５０に予め設定されている値である。現在蓄積パケット数Ｃｎｏｗが最小破棄閾値Ｃｍｉｎと最大破棄閾値Ｃｍａｘとの間にあるときのパケット目標破棄確率（以下、目標破棄確率Ｓと称する）は、現在蓄積パケット数Ｃｎｏｗの増加に応じて、０から最大破棄確率Ｍまで線形的に増加する。現在蓄積パケット数Ｃｎｏｗが最大破棄閾値Ｃｍａｘを超過した場合には最大破棄確率Ｍ＝１すなわちパケット目標破棄確率は１００％となる。
【００２０】
目標破棄確率Ｓは次式で表される。すなわち、最大値側差分α＝最大破棄閾値Ｃｍａｘ−現在蓄積パケット数Ｃｎｏｗ、閾値差分Ｄ＝最大破棄閾値Ｃｍａｘ−最小破棄閾値Ｃｍｉｎ、最大破棄確率Ｍとしたとき、目標破棄確率Ｓ＝（Ｄ−α）／Ｄ×Ｍで表される。ここで、破棄比較値生成部１５０を小規模の回路構成で実現するために、閾値差分Ｄ及び最大破棄確率Ｍに丸め処理を施した値を用いて目標破棄確率Ｓを表現する。
【００２１】
先ず、閾値差分Ｄを２のべき数で丸めた値を丸め閾値差分Ｄ’とする。丸め閾値差分Ｄ’は、閾値差分Ｄ又は閾値差分Ｄの２倍のいずれか近い方の値に丸められた値とする。例えば閾値差分Ｄ＝５１２の場合は丸め閾値差分Ｄ’＝２の９乗となる。また、閾値差分Ｄ＝５００の場合は丸め閾値差分Ｄ’＝２の９乗（閾値差分Ｄ＝５１２に近い方の値）となり、閾値差分Ｄ＝１０００の場合は丸め閾値差分Ｄ’＝２の１０乗（閾値差分Ｄの２倍である１０２４に近い方の値）となる。
【００２２】
また、最大破棄確率Ｍを１／（２のべき数ｍ）で丸めた値を丸め最大破棄確率Ｍ’とする。丸め最大破棄確率Ｍ’は最大破棄確率Ｍ又は最大破棄確率Ｍの近似値に丸められた値とする。例えば最大破棄確率Ｍ＝０．１２５の場合、丸め最大破棄確率Ｍ＝１／（２の３乗）となる。また、最大破棄確率Ｍ＝０．１００の場合も、最大破棄確率Ｍの近似値となるように、丸め最大破棄確率Ｍ＝１／（２の３乗）となる。
【００２３】
上記した丸め処理により得られた丸め閾値差分Ｄ’及び最大破棄確率Ｍ’を用いて表される丸め処理後の目標破棄確率Ｓ’は以下のようになる。すなわち、目標破棄確率Ｓ’＝（Ｄ−α）／Ｄ’×Ｍ’となる。ここで、Ｄ’＝２のｄ乗、Ｍ’＝１／（２のｍ乗）である。
【００２４】
ここで、例えば１６ビットの一様乱数Ｒが存在したとすると、以下の式（１）が成立する確率と、目標破棄確率Ｓ’とは等しくなる。
【００２５】
【数１】
2009239435.tif 000003
【００２６】
式（１）をまとめると以下の式（２）となる。
【００２７】
【数２】
2009239435.tif 000004
【００２８】
式（１）及び（２）は一様乱数Ｒがとり得る乱数の要素数Ｎを２の１６乗個とした場合の式であるが、一様乱数Ｒがとり得る乱数の要素数Ｎ＝２のｎ乗個とすると、式（３）のように表される。
【００２９】
【数３】
2009239435.tif 000005
【００３０】
破棄比較値生成部１５０は、式（３）に右辺の式によって得られる値を破棄比較値ＨＫとして生成する。破棄比較値ＨＫは式（４）にて表される。
【００３１】
【数４】
2009239435.tif 000006
【００３２】
再び図２を参照する。破棄比較値生成部１５０は、減算部１５１、１４２及び１４３と、丸め部１５４及び１４５と、加算部１５６と、シフト部１５７と、からなる。
【００３３】
減算部１５１は、一方の入力を最大破棄閾値Ｃｍａｘとし、他方の入力を現在蓄積パケット数Ｃｎｏｗとし、最大破棄閾値Ｃｍａｘ−現在蓄積パケット数Ｃｎｏｗ＝最大値側差分αを出力する。
【００３４】
減算部１５２は、一方の入力を最大破棄閾値Ｃｍａｘとし、他方の入力を最小破棄閾値Ｃｍｉｎとし、最大破棄閾値Ｃｍａｘ−最小破棄閾値Ｃｍｉｎ＝閾値差分Ｄを出力する。
【００３５】
減算部１５３は、一方の入力を最大値側差分αとし、他方の入力を閾値差分Ｄとし、最大値側差分α−閾値差分Ｄ＝Ｄ−αを出力する。
【００３６】
丸め部１５４は、入力を閾値差分Ｄとし、閾値差分Ｄを２のべき数に丸めた場合のべき数を閾値差分べき数ｄとして出力する。例えば、閾値差分Ｄ＝５１２の場合、閾値差分Ｄ＝２の９乗と表されるため、閾値差分べき数ｄ＝９となる。
【００３７】
丸め部１５５は、入力を最大破棄確率Ｍとし、最大破棄確率Ｍを１／（２のべき数）に丸めた場合のべき数を最大破棄確率べき数ｍとして出力する。例えば、最大破棄確率Ｍ＝０．１２５の場合、最大破棄確率Ｍ＝１／（２の３乗）と表されるため、最大破棄確率べき数ｍ＝３となる。
【００３８】
加算部１５６は、一方の入力を閾値差分べき数ｄとし、他方の入力を最大破棄確率べき数ｍとし、閾値差分べき数ｄ＋最大破棄確率べき数ｍ＝ｄ＋ｍを出力する。
【００３９】
シフト部１５７には、一様乱数Ｒがとり得る乱数の要素数Ｎとして２のｎ乗が予め設定されている。シフト部１５７は、一方の入力をｄ＋ｍとし、設定されている２のｎ乗を−（ｄ＋ｍ）だけシフトして、２の（ｎ−ｄ−ｋ）乗とし、これと、他方の入力であるＤ−αと、を乗算して式（４）に表される破棄比較値ＨＫを得る。シフト部１５７は、破棄比較値ＨＫを比較部１７０へ与える。
【００４０】
乱数生成部１６０は、受信部１１１からパケット受信通知ＴＲを受け取る毎に、一様乱数Ｒを生成する。図４は乱数生成部１６０を表すブロック図である。乱数生成部１６０は、Ｍ系列値生成部１６１と、ハッシュ化部１６２と、からなる。
【００４１】
Ｍ系列値生成部１６１は、いわゆるM系列（Maximum Length Sequence）値ＭＫを生成する。Ｍ系列値生成部１６１が例えば１６ビットのレジスタからなる場合、生成されるM系列値ＭＫの周期は２の１６乗−１となる。すなわち、確率的にはＭ系列値生成部１６１が２の１６乗回、M系列値ＭＫを生成したときに始めて同一の値のM系列値ＭＫが生成されることになり、周期内で値が巡回することなく一様な擬似乱数値が生成される。Ｍ系列値生成部１６１が１６ビットのレジスタからなる場合、M系列値ＭＫのとり得る値は１〜６５５３５の範囲内の自然数であり、その個数は６５５３４（＝２の１６乗−１）である。
【００４２】
ハッシュ化部１６２は、M系列値ＭＫに通常のハッシュ化処理を施して一様乱数Ｒを得る。これにより、擬似乱数値であるM系列値ＭＫに比較してよりランダムな乱数値が得られる。Ｍ系列値生成部１６１が１６ビットのレジスタからなる場合、一様乱数Ｒのとり得る乱数値は０〜６５５３５の範囲内の整数であり、その個数は６５５３４（＝２の１６乗−１）である。
【００４３】
比較部１７０は、一方の入力を一様乱数Ｒとし、他方の入力を破棄比較値ＨＫとし、これらの比較結果である破棄比較結果ＣＰを出力として破棄判定部１８０に与える。
【００４４】
破棄判定部１８０は、比較部１７０からの破棄比較結果ＣＰに基づいて受信パケットを破棄すべきか蓄積すべきかを判定し、当該判定の結果を表す破棄蓄積判定結果ＪＤを受信部１１１へ与える。図５は破棄判定部１８０を表すブロック図である。破棄判定部１８０は減算部１８１及び１７２と、判定部１８３とからなる。
【００４５】
減算部１８１は、一方の入力を最大破棄閾値Ｃｍａｘとし、他方の入力を現在蓄積パケット数Ｃｎｏｗとし、最大破棄閾値Ｃｍａｘ−現在蓄積パケット数Ｃｎｏｗ＝最大値側差分αを出力する。
【００４６】
減算部１８２は、一方の入力を最小破棄閾値Ｃｍｉｎとし、他方の入力を現在蓄積パケット数Ｃｎｏｗとし、最小破棄閾値Ｃｍｉｎ−現在蓄積パケット数Ｃｎｏｗ＝最小値側差分βを出力する。
【００４７】
判定部１８３は、減算部１８１からの最大値側差分α、減算部１８２からの最小値側差分β及び比較部１７０からの破棄比較結果ＣＰに基づいて受信パケットを破棄すべきか蓄積すべきかを判定する。図６は、判定部１８３におけるパケット破棄判定処理ルーチンを表すフローチャートである。以下、図６を参照しつつ、判定部１８３におけるパケット破棄判定処理について説明する。
【００４８】
判定部１８３は、先ず、最大値側差分αが０より小さいか否かを判別する（ステップＳ１０１）。判定部１８３は、最大値側差分αが０より小さいと判別した場合、すなわち、現在蓄積パケット数Ｃｎｏｗが最大破棄閾値Ｃｍａｘを超えている場合、受信パケットを破棄すべきと判定する（ステップＳ１０２）。判定部１８３は、最大値側差分αが０以上であると判別した場合、すなわち、現在蓄積パケット数Ｃｎｏｗが最大破棄閾値Ｃｍａｘに達していない場合、最小値側差分βが０以上であるか否かを判別する（ステップＳ１０３）。判定部１８３は、最小値側差分βが０以上であると判別した場合、すなわち、現在蓄積パケット数Ｃｎｏｗが最小破棄閾値Ｃｍｉｎに達していない場合、受信パケットを蓄積すべきと判定する（ステップＳ１０４）。判定部１８３は、最小値側差分βが０より小さいと判別した場合、すなわち、現在蓄積パケット数Ｃｎｏｗが最小破棄閾値Ｃｍｉｎを超えて且つ最大破棄閾値Ｃｍａｘに達していない場合、破棄比較結果ＣＰに基づいて受信パケットを破棄すべきか蓄積すべきかを判定する（ステップＳ１０５）。
【００４９】
図７は破棄比較結果に基づく判定処理ルーチンを表すフローチャートである。判定部１８３は、比較部１７０からの破棄比較結果ＣＰが、一様乱数Ｒが破棄比較値ＨＫ以下である旨を表しているか否かを判別する（ステップＳ２０１）。すなわち、式（３）に表される条件を満たすか否かを判別する。一様乱数Ｒが破棄比較値ＨＫ以下である場合、判定部１８３は、受信パケットを破棄すべきと判定する（ステップＳ２０２）。一方、一様乱数Ｒが破棄比較値ＨＫより大きい場合、判定部１８３は、受信パケットを蓄積すべきと判定する（ステップＳ２０３）。
【００５０】
判定部１８３は、上記したパケット破棄判定処理の結果を表す破棄蓄積判定結果ＪＤを受信部１１１へ与える。
【００５１】
図８はパケット中継装置１００における確率的破棄処理ルーチンを表すフローチャートである。当該ルーチンはパケット毎になされる処理を表している。以下、図8を参照しつつ、パケット中継装置１００における確率的破棄処理について説明する。
【００５２】
受信部１１１は、通信網２１０から到来したパケットＰＫを受信した場合に、パケット受信通知ＴＲを破棄比較値生成部１５０及び乱数生成部１６０へ与える（ステップＳ３０１）。
【００５３】
破棄比較値生成部１５０は、受信部１１１からのパケット受信通知ＴＲに応じて、パケット蓄積部１１２の現在蓄積パケット数Ｃｎｏｗを取得し、破棄比較値ＨＫを生成する（ステップＳ３０２）。このとき、破棄比較値生成部１５０は、式（４）によって算出される値を破棄比較値ＨＫとして生成する。
【００５４】
乱数生成部１６０は、受信部１１１からのパケット受信通知ＴＲに応じて、一様乱数Ｒを生成する（ステップＳ３０３）。このとき、乱数生成部１６０は、巡回周期が２のｎ乗であるM系列値ＭＫを生成し、更にM系列値ＭＫにハッシュ化処理を施して得られた値を一様乱数Ｒとする。上記したステップＳ３０２における処理とステップＳ３０３における処理とは併行して実行される。
【００５５】
比較部１７０は、破棄比較値生成部１５０からの破棄比較値ＨＫと、乱数生成部１６０からの一様乱数Ｒとを比較し（ステップＳ３０４）、当該比較の結果である破棄比較結果ＣＰを破棄判定部１８０に与える。
【００５６】
破棄判定部１８０は、比較部１７０からの破棄比較結果ＣＰに基づいて受信パケットを破棄すべきか蓄積すべきかを判定し（ステップＳ３０５）、当該判定の結果を表す破棄蓄積判定結果ＪＤを受信部１１１へ与える。このとき、破棄判定部１８０は、図6及び図7に示される判定処理に従って受信パケットを破棄すべきか蓄積すべきかを判定する。破棄判定部１８０は、現在蓄積パケット数Ｃｎｏｗが最大破棄閾値Ｃｍａｘと最小破棄閾値Ｃｍｉｎとの間にある場合、破棄比較結果ＣＰに基づいて以下のように判定を行う。すなわち、一様乱数Ｒが破棄比較値ＨＫ以下である場合、判定部１８３は、受信パケットを破棄すべきと判定する。一方、一様乱数Ｒが破棄比較値ＨＫより大きい場合、判定部１８３は、受信パケットを蓄積すべきと判定する。判定部１８３は、パケット破棄判定処理の結果を表す破棄蓄積判定結果ＪＤを受信部１１１へ与える。
【００５７】
受信部１１１は、破棄判定部１８０からの破棄蓄積判定結果ＪＤに応じて、受信パケットを破棄するか又はパケット蓄積部１１２に蓄積せしめる（ステップＳ３０６）。
【００５８】
図９は、最大破棄閾値Ｃｍａｘ＝１０２４（＝２の１０乗）、最小破棄閾値Ｃｍｉｎ＝５１２（＝２の９乗）、最大破棄確率Ｍ＝０．１２５（１２．５％）、としたときの最小破棄閾値Ｃｍｉｎから最大破棄閾値Ｃｍａｘまでの範囲における現在蓄積パケット数Ｃｎｏｗと目標破棄確率Ｓとの関係を表すグラフである。グラフの縦軸は目標破棄確率Ｓ＝（Ｄ−α）／Ｄ×Ｍを百分率で表し、横軸は現在蓄積パケット数Ｃｎｏｗを表している。現在蓄積パケット数Ｃｎｏｗが最小破棄閾値Ｃｍｉｎに等しいときの目標破棄確率Ｓは０％である。現在蓄積パケット数Ｃｎｏｗが最大破棄閾値Ｃｍａｘに等しいときの目標破棄確率Ｓは最大破棄確率Ｍ＝１２．５％である。最小破棄閾値Ｃｍｉｎから最大破棄閾値Ｃｍａｘまでの範囲における目標破棄確率Ｓは線形に増加している。
【００５９】
図１０は、最大破棄閾値Ｃｍａｘ＝１０２４（＝２の１０乗）、最小破棄閾値Ｃｍｉｎ＝５１２（＝２の９乗）、最大破棄確率Ｍ＝０．１２５（１２．５％）、一様乱数Ｒのとり得る乱数の要素数Ｎ＝６５５３６（＝２の１６乗個）としたときの最小破棄閾値Ｃｍｉｎから最大破棄閾値Ｃｍａｘまでの範囲における現在蓄積パケット数Ｃｎｏｗと破棄比較値ＨＫとの関係を表すグラフである。グラフの縦軸は破棄比較値ＨＫを表し、横軸は現在蓄積パケット数Ｃｎｏｗを表している。破棄比較値ＨＫは式（４）で表される。なお、閾値差分Ｄ＝最大破棄閾値Ｃｍａｘ−最小破棄閾値Ｃｍｉｎ＝１０２４−５１２＝５１２（２の９乗）であることから、式（４）中の閾値差分べき数ｄ＝９となる。また、最大破棄確率Ｍ＝０．１２５＝１／(２の３乗)であることから、式（４）中の最大破棄確率べき数ｍ＝３となる。現在蓄積パケット数Ｃｎｏｗが最小破棄閾値Ｃｍｉｎに等しいときの破棄比較値ＨＫは０である。現在蓄積パケット数Ｃｎｏｗが最大破棄閾値Ｃｍａｘに等しいときの破棄比較値ＨＫは８１９２である。最小破棄閾値Ｃｍｉｎから最大破棄閾値Ｃｍａｘまでの範囲における破棄比較値ＨＫは線形に増加している。
【００６０】
上記した条件の場合に、式（３）を満たす確率、すなわち、乱数生成部１６０により生成された一様乱数Ｒが破棄比較値生成部１５０により生成された破棄比較値ＨＫ以下になる確率は以下のようになる。例えば、図１０に示される如く現在蓄積パケット数Ｃｎｏｗ＝７６８のときは、破棄比較値ＨＫ＝４０９６である。一様乱数Ｒは０〜６５５３５までの整数であって要素数Ｎ＝６５５３６の乱数値である。一様乱数Ｒが破棄比較値ＨＫ＝４０９６以下になる確率は４０９６／６５５３６＝６．２５％となる。また、現在蓄積パケット数Ｃｎｏｗ＝１０２４のときは、破棄比較値ＨＫ＝８１９２であり、一様乱数Ｒが破棄比較値ＨＫ＝８１９２以下になる確率は８１９２／６５５３６＝１２．５％となる。他の破棄比較値ＨＫの場合にも上記したのと同様に計算される。
【００６１】
式（３）を満たす確率、すなわち、一様乱数Ｒが破棄比較値ＨＫ以下になる確率を破棄確率Ｔとして、破棄確率Ｔと現在蓄積パケット数Ｃｎｏｗとの関係を表したグラフが図１１である。図１１に示されるように破棄判定回路１３０によって得られる破棄確率Ｔは、図９に示される目標破棄確率Ｓと一致しており、最小破棄閾値Ｃｍｉｎから最大破棄閾値Ｃｍａｘまでの範囲において線形に増加している。
【００６２】
上記したように本実施例によるパケット中継装置１００は、パケットを受信する毎に、一様乱数Ｒと、目標破棄確率に基づいた破棄比較値ＨＫと、を生成し、これらを比較した結果に基づいて受信パケットを破棄するか蓄積するかを判定することにより、最小破棄閾値Ｃｍｉｎから最大破棄閾値Ｃｍａｘまでの範囲において線形に変化する破棄確率を得る。当該破棄確率はＷＲＥＤ方式による目標破棄確率Ｓと一致しており、良好なパケット破棄特性が得られる。破棄比較値生成部１５０は、加算回路、減算回路、丸め及回路びシフト回路による小規模の構成により実現できるため、従来、困難であったハードウェアによるＷＲＥＤ処理を実現できる。
【００６３】
また、本実施例によるパケット中継装置１００は、巡回周期が２のｎ乗であるM系列値ＭＫを生成し、更にM系列値ＭＫにハッシュ化処理を施して一様乱数Ｒを生成する。このようにして得られた一様乱数Ｒを比較対象とすることで、M系列値ＭＫの巡回周期内においては受信パケットの破棄の偏りをなくすことができる。
【図面の簡単な説明】
【００６４】
【図１】本発明によるパケット中継装置を表すブロック図である。
【図２】破棄判定回路を表すブロック図である。
【図３】現在蓄積パケット数とパケット破棄確率の関係を表す図である。
【図４】乱数生成部を表すブロック図である。
【図５】破棄判定部を表すブロック図である。
【図６】パケット破棄判定処理ルーチンを表すフローチャートである。
【図７】破棄比較結果に基づく判定処理ルーチンを表すフローチャートである。
【図８】確率的破棄処理ルーチンを表すフローチャートである。
【図９】現在蓄積パケット数とパケット目標破棄確率との関係を表すグラフである。
【図１０】現在蓄積パケット数と破棄比較値との関係を表すグラフである。
【図１１】破棄判定回路によって得られる破棄確率と現在蓄積パケット数との関係を表すグラフである。
【図１２】従来のＷＲＥＤ方式によるパケット破棄確率を表す図である。
【符号の説明】
【００６５】
１００  パケット中継装置
１１０  パケット受信蓄積部
１１１  受信部
１１２  パケット蓄積部
１２０  送信部
１３０  破棄判定回路
１５０  破棄比較値生成部
１５１、１５２、１５３  減算部
１５４、１５５  丸め部
１５６  加算部
１５７  シフト部
１６０  乱数生成部
１６１  M系列値生成部
１６２  ハッシュ化部
１７０  比較部
１８０  破棄判定部
１８１、１８２  減算部
１８３  判定部
【図１】
2009239435.tif 000008
【図２】
2009239435.tif 000009
【図３】
2009239435.tif 000010
【図４】
2009239435.tif 000011
【図５】
2009239435.tif 000012
【図６】
2009239435.tif 000013
【図７】
2009239435.tif 000014
【図８】
2009239435.tif 000015
【図９】
2009239435.tif 000016
【図１０】
2009239435.tif 000017
【図１１】
2009239435.tif 000018
【図１２】
2009239435.tif 000019