902行目: |
902行目: |
| | | |
| * ウェイテッド・ランダム・アーリー・ディスカード (WRED) | | * ウェイテッド・ランダム・アーリー・ディスカード (WRED) |
| + | <blockquote>WRED はキューがいっぱいになるために、帯域を超過したポートのキューで、ランダムにフレームを廃棄するためのアルゴリズムです。WRED はランダム・アーリー・ディスカード (RED) アルゴリズムがベースになっています。</blockquote><blockquote>RED と WRED を見る前に、TCP フロー管理を簡単に振り返ってみましょう。フロー管理は、TCP 送信側がネットワークを埋め尽くさないようにします。"TCP スロー スタート" アルゴリズム (RFC2001 で定義) はこれに対処するための解決策の一部です。それはフローを開始する時に指示し、1 つのパケットが送信されると、次に確認応答 (ACK) を待ちます。ACK が受信されると、TCP エンドポイントは 2 つのパケットを送信し、さらにデータを送る前に、次の ACK を待ちます。パケットの数を段々と増加させて送信します。これはフローが送信レベル (パケットを x 個送信) に達するまで継続し、ネットワークに混雑を伴う負荷を発生させないように、管理します。混雑が発生した場合、スロースタート アルゴリズムは、ウィンドウ サイズ (ACK を待つ前に送信したパケットの数) を抑制します。これによりネットワークがそれらをドロップせずに処理できる数に、送信が正規化されます。 |
| | | |
− | WRED はキューがいっぱいになるために、帯域を超過したポートのキューで、ランダムにフレームを廃棄するためのアルゴリズムです。WRED はランダム・アーリー・ディスカード (RED) アルゴリズムがベースになっています。
| |
| | | |
− | RED と WRED を見る前に、TCP フロー管理を簡単に振り返ってみましょう。フロー管理は、TCP 送信側がネットワークを埋め尽くさないようにします。"TCP スロー スタート" アルゴリズム (RFC2001 で定義) はこれに対処するための解決策の一部です。それはフローを開始する時に指示し、1 つのパケットが送信されると、次に確認応答 (ACK) を待ちます。ACK が受信されると、TCP エンドポイントは 2 つのパケットを送信し、さらにデータを送る前に、次の ACK を待ちます。パケットの数を段々と増加させて送信します。これはフローが送信レベル (パケットを x 個送信) に達するまで継続し、ネットワークに混雑を伴う負荷を発生させないように、管理します。混雑が発生した場合、スロースタート アルゴリズムは、ウィンドウ サイズ (ACK を待つ前に送信したパケットの数) を抑制します。これによりネットワークがそれらをドロップせずに処理できる数に、送信が正規化されます。
| + | RED はキューが一杯になり始めるか監視します。しきい値を超過すると、パケットはランダムにドロップさせられます。これらのパケットは高優先 or 低優先フローから選択され、単一のフロー or 複数の TCP フローからなる場合もあります。もし複数のフローに影響があると、上記で説明したように、それぞれのフローのウィンドウ サイズで考慮すべき影響が出てしまいます。</blockquote> |
− | | + | <blockquote>RED とは異なり、WRED ではパケットをドロップする時に完全なランダムではありません。WRED はパケットの優先度 (CoS , DSCP , トラフィック クラス , IP プレシデンス値) を考慮して、ドロップするパケットを選択します。この処理は高優先度のフローは影響を受けず、大きなウィンドウ サイズを保持でき、送信側から受信側へパケットを送る際、遅延を最小化に抑えることができます。 |
− | | |
− | RED はキューが一杯になり始めるか監視します。しきい値を超過すると、パケットはランダムにドロップさせられます。これらのパケットは高優先 or 低優先フローから選択され、単一のフロー or 複数の TCP フローからなる場合もあります。もし複数のフローに影響があると、上記で説明したように、それぞれのフローのウィンドウ サイズで考慮すべき影響が出てしまいます。 | |
− | | |
− | | |
− | | |
− | RED とは異なり、WRED ではパケットをドロップする時に完全なランダムではありません。WRED はパケットの優先度 (CoS , DSCP , トラフィック クラス , IP プレシデンス値) を考慮して、ドロップするパケットを選択します。この処理は高優先度のフローは影響を受けず、大きなウィンドウ サイズを保持でき、送信側から受信側へパケットを送る際、遅延を最小化に抑えることができます。 | |
| | | |
| WRED の実装は、UADP 2.0 かそれ以降 (AQM ブロック内) で、アプラクサミトゥ・フェア・ドロップ (AFD) アルゴリズムとキューの使用率がベースになっています。AFD はパケットのドロップ確率を、低しきい値と高しきい値の平均をとして計算するために使用されます。WRED しきい値は、WTD しきい値とは異なるものです。 | | WRED の実装は、UADP 2.0 かそれ以降 (AQM ブロック内) で、アプラクサミトゥ・フェア・ドロップ (AFD) アルゴリズムとキューの使用率がベースになっています。AFD はパケットのドロップ確率を、低しきい値と高しきい値の平均をとして計算するために使用されます。WRED しきい値は、WTD しきい値とは異なるものです。 |
919行目: |
913行目: |
| 17.3(1) から MPLS EXP ベースとした WRED もサポートされます。 | | 17.3(1) から MPLS EXP ベースとした WRED もサポートされます。 |
| | | |
− | パケットがキューに来た時、WRED は最初に計算されます。WRED に基づいて、キューが帯域幅を超過した場合、パケットは最初の WRED 計算でドロップされ、次にテールドロップでドロップされます。 | + | パケットがキューに来た時、WRED は最初に計算されます。WRED に基づいて、キューが帯域幅を超過した場合、パケットは最初の WRED 計算でドロップされ、次にテールドロップでドロップされます。 </blockquote>画像 31. に AFD で計算された WRED の例を示します。この計算は低しきい値の CoS 0 , 1 と、高しきい値の CoS 2 ,3 の平均をベースにしています。 |
− | | |
− | 画像 23. に AFD で計算された WRED の例を示します。この計算は低しきい値の CoS 0 , 1 と、高しきい値の CoS 2 ,3 の平均をベースにしています。 | |
| | | |
| | | |
| AFD はドロップの確率を以下のように計算します : | | AFD はドロップの確率を以下のように計算します : |
| | | |
− | * CoS 0 ,1 が低優先度 = 20 と 高 = 30 の場合パケットの重み付けは以下 : | + | * CoS 0 ,1 が低優先度 = 20 と 高 = 30 の場合パケットの重み付けは以下 : (20 + 30) / 2 = 重み付け 25 or CoS 2 , 3 より前にパケットをドロップさせはじめる ドロップの確率は、(1 / weight) = 1 / 25 = 0.04 |
− | | |
− | (20 + 30) / 2 = 重み付け 25 or CoS 2 , 3 より前にパケットをドロップさせはじめる | |
− | | |
− | ドロップの確率は、(1 / weight) = 1 / 25 = 0.04 | |
− | | |
− | * CoS 2 ,3 が低優先度 = 60 と 高 = 80 の場合パケットの重み付けは以下 :
| |
− | | |
− | (60 + 80) / 2 = 重み付け 70 or CoS 0 , 1 より後にパケットをドロップさせはじめる
| |
| | | |
− | ドロップの確率は、(1 / weight) = 1 / 70 = 0.01428 | + | * CoS 2 ,3 が低優先度 = 60 と 高 = 80 の場合パケットの重み付けは以下 : (60 + 80) / 2 = 重み付け 70 or CoS 0 , 1 より後にパケットをドロップさせはじめる ドロップの確率は、(1 / weight) = 1 / 70 = 0.01428 |
| | | |
| CoS 0 , 1 のドロップ確率は、ドロップが早く開始され、キューをいっぱいになるとさらに増加するため、確率も常に高くなります。 | | CoS 0 , 1 のドロップ確率は、ドロップが早く開始され、キューをいっぱいになるとさらに増加するため、確率も常に高くなります。 |