# red-curve

モード
  トラフィックコントロールモード
カテゴリー
  トラフィック制御 / Quality of Service

## 構文

コマンド構文

`(config-tc)# red-curve NAME [limit <4-127> & avpkt <64-1518> & min <3-126> & max <4-127> & probability <1-100> & ecn [ecn-drop]]`

`(config-tc)# no red-curve NAME`

## コマンド説明

RED（Random Early Discard）アルゴリズムの動作を規定するREDカーブテンプレートを作成・変更する。
no形式で実行した場合は指定したREDカーブテンプレートを削除する。
初期状態ではデフォルトのREDカーブテンプレート「default」が存在している。
REDは、キュー長が上限に達する前にパケットを徐々に破棄していくことで、輻輳回避やより細やかな帯域制御を実現するアルゴリズム。
REDの設定は、キュー長とパケット破棄率の関係を示す「REDカーブテンプレート」を本コマンドで定義し、class(htb)、class(priority)、class(wrr)、sub-class(htb)、sub-class(priority)、sub-class(wrr)、sub-sub-class(htb)、sub-sub-class(priority)、sub-sub-class(wrr)の red-curve パラメーターでQoSポリシー内の各末端クラスに適用することで行う。詳細は解説編を参照のこと。

## パラメーター

`NAME`
  REDカーブテンプレート名
`limit <4-127>`
  最大キュー長（パケット数）。内部的にキュー長は avpkt × limit のバイト数として扱われ、キュー長がこの値を超えた場合、該当フローのパケットはすべて破棄される。省略時は127
`avpkt <64-1518>`
  想定される平均パケットサイズ（バイト）。内部的にはバイト数で扱われる最大キュー長、破棄開始点、完全破棄点を計算するための基準となるパラメーター。省略時値は576
`min <3-126>`
  破棄開始点（パケット数）。内部的に破棄開始点は avpkt × min のバイト数として扱われ、キュー長がこの値を超えるとパケット破棄率が徐々に高くなり、キュー長が完全破棄点に達したときに破棄率が probability で指定された値となる。省略時値は10
`max <4-127>`
  完全破棄点（パケット数）。内部的に完全破棄点は avpkt × max のバイト数として扱われ、キュー長がこの値を超えるとすべてのパケットが破棄されるようになる。省略時値は32
`probability <1-100>`
  キュー長が完全破棄点に達したときのパケット破棄率（%）。省略時値は2
`ecn`
  キュー長が破棄開始点を超えた場合に、パケットを破棄するのではなく明示的輻輳通知（ECN）のマーキングを行いたいときに指定する。省略時は破棄（ECN無効）
`ecn-drop`
  ecnパラメーターを指定した場合（ECN有効時）、キュー長が完全破棄点を超えても最大キュー長に達するまではパケットを破棄せずにECNのマーキングだけを行うが、ecnパラメーターに加えて本パラメーターを指定した場合は、完全破棄点から最大キュー長までの間はパケットを破棄するようになる

## 使用例

実際にはパケットを破棄せず、明示的輻輳通知（ECN）だけを行うREDカーブテンプレート「red-ECN」を作成する。キュー長、平均パケットサイズ、破棄開始点、完全破棄点などカーブを定義する各パラメーターは初期値を使う。

    awplus(config-tc)# red-curve red-ECN ecn

「default」よりも積極的にパケットを破棄するREDカーブテンプレート「aggressive」を作成する。

    awplus(config-tc)# red-curve aggressive min 5 max 50 probability 70

## 注意・補足事項

REDアルゴリズムの動作は、REDカーブテンプレートを適用した末端クラス内のフロー単位で適用される。
デフォルトのREDカーブテンプレート「default」は削除できない。

## コマンドツリー

## 関連コマンド