CBS( Credit Based Shaper)の基本動作原理は、リーキーバケットモデルだ。図1 の様に、蛇口から注いだ水がバケツの穴から常に一定量漏れ出すモデルだ。さらに細かく分類すれば「 Leaky bucket as a meter 」に準じたモデルだ。判定ポイントで、バケツに Credit (トークン)が十分あれば、パケットを出力し、足りなければパケットは止まる。パケットはキューに蓄積され、キューに収まらない場合は、キューの末尾で廃棄される(図2)。


Ethernet TSN のリーキバケットモデルは、一般的なモデルとは少し異なる。一般的なモデルでは、送信パケット長に見合う水位(Credit)になればパケットを送信できる(図3(a))。CBS では、Credit≧0 であればパケットを送信できる。Credit は送信の状況によりプラス領域とマイナス領域で変化する(図3(b))。Credit 加減算の考え方は同じだが、判定レベルの違いや底が抜けたバケツの様な形をしていることに注意いただきたい。

一般的なモデルは、初期状態が「0」でスタートした場合、Credit が一定量蓄積されるまではパケット送信ができない。これに対し、CBS モデルは初期状態が「0」でスタートするため、最初からパケット送信ができる。一般モデルでも、初期状態を「判定レベル」に変えれば、CBS モデルと同じ動作が可能だ。つまり、この2つのモデルは表現は異なるが同じ動作が可能だ。いずれのモデルも、バーストに関しては Credit の増減により抑制されるが完全に抑えることはできない。元々、SRクラスA ストリームは、比較的小さいパケットをバースト送信することで、応答性の改善を狙った面もあり、積極的にバーストを抑えているわけではない。
一般的なモデルは、判定レベルを変えることで送信レートを変える。これに対し、CBS モデル
は「sendSlope」と「idleSlope」を変えることで送信レートを変える。
sendSlope=0% & idleSlope=100% で 100% 送信が可能
sendSlope=100% & idleSlope=0% で 0% 送信が可能
CBS は、SR クラスA/B にそれぞれ用意されたキューからパケットを取り出すための仕組みだ。 SR クラスA/B のそれぞれにキューと Credit を持っている。CBS 動作は、次の4つのパラメータで動作が決まる。各パラメータのイメージは、図4 を参照いただきたい。
CBS パラメータ
hiCredit | Credit の上限値 |
loCredit | Credit の下限値 |
idleSlope | Credit の加算レート |
sendSlope | Credit の減算レート |

hiCredit=idleSlope × MaxFrameSize
loCredit=sendSlope × MaxFrameSize
図5 は CBS の動作例だ。Credit の初期値は「0」で始まる。SR クラスパケットを受信しキューに格納中は Credit は減少しない。Credit≧0 でパケット送信ができるため、パケット1 のキュー格納が完了すると送信が始まる。パケット送信が始まると sendSlope の割合で Credit は減少し、送信が完了すると idleSlope の割合で Credit は「0」まで増加する。

Credit 増加中(マイナス領域)にパケット2を受信しキューに格納されるが、 Credit≧0 になるまで待たされ、Credit=0 になったところでパケット2の送信が始まる。パケット送信が始まると sendSlope の割合で Credit は減少し、送信が完了すると idleSlope の割合で Credit は 「0」まで増加する。
Best Effort の先行パケットの送信が始まり、パケット3は待ち状態になる。この状態では、プラス領域であっても Credit は増加する。先行パケットの送信が完了すると、パケット3の送信が始まり sendSlope の割合で Credit は減少する。Credit は SR クラスパケット送信中減少するため、「0」を超えマイナス領域まで減少する。送信が完了すると idleSlope の割合で Credit は増加する。
図6 は Credit プラス領域での Credit 増減の例だ。パケット3の送信時間が短く、送信完了時 Credit はまだプラスになっている。しかし、継続して送信する SR クラスパケットが無い場合は、 Credit は「0」クリアされる。つまり、SR クラスパケットがキューに滞留していない状態では、 Credit は常に「0」以下になっている。

Credit 加減算基本ルール
- Credit 初期値は「0」
- Credit ≧0 で、SR クラスパケットを送信開始できる
- SR クラスパケット送信中は、sendSlope で Credit 減算。下限値は loCredit
- SR クラスパケット送信していないときは、idleSlope で Credit 加算。上限値は 0
Credit 加減算特殊ルール(Credit プラス領域)
- 先行する非 SR パケットの送信が続いていて、SR クラスパケットが待たされているときは、Credit はプラス領域まで加算可能。上限値は hiCredit
- SR クラスパケット送信が完了し、キューに滞留パケットが無い場合、Credit を「0」クリア
ここまでは「その他時間帯」での CBS 挙動の話だ。Credit は「その他時間帯」で使用するが、その他時間帯の中にある「Guard Band」と「CDT 専用時間帯」での挙動を決める必要がある。 図7 の様に、ガードバンドで SR クラスパケットが送信中であれば、 sendSlope の割合で Credit は減少する。送信完了または送信していない状態では、Credit は変化しない。CDT 専用 時間帯では、Credit は変化しない。

Credit 加減算ルール・・・CDT /ガードバンド領域での動作
- ガードバンド内で、SR クラスパケット送信時は、 sendSlope で Credit を減算
- ガードバンド内では、Credit を加算しない
- CDT 領域(時間帯)では、Credit は加減算しない(変化しない)
IdleSlope/sendSlope/hiCredit/loCredit の計算式は次のようになっている。物理層を含むイーサネットフレーム形式は図8 だ。ここまで Byte 単位で話を進めてきたが、 IEEE 802.1Qav 規格では、bit または bit/秒を使用する。注意いただきたい。

CBS パラメータ計算式(x:SR クラスA/B )
- Bx:SR 各クラスの帯域割合(予約帯域÷フレーム間隔)
- MFSx:SR 各クラスの最大フレーム長(物理層付加オーバーヘッド含む) PTR:物理層送信速度
- idleSlope x = Bx×PTR
- sendSlope x = idleSlope x – PTR
- loCredit x = MFSx× sendSlope x÷PTR
- hiCredit x = idleSlope x× MFSx ÷ PTR
Ethernet TSN の QoS
-
3-4.Ethernet TSN の QoS
Ethernet TSN の QoS(1)IntServ(イントサーブ)
Ethernet TSN の QoS 体系での位置づけは図1 のようになっていて、優先制御と帯域制御を組み合わせることで、リアルタイム性を実現している。優先制御は SPQ(Strict Priority Queueing […] -
3-4.Ethernet TSN の QoS
Ethernet TSN の QoS(2)Ethernet AVB 登場
従来のアナログ AV 機器は、ほぼ全ての機器を 1対1 でケーブル接続することが常識だ。しかも、ケーブルやコネクタ規格はインタフェースごとに異なるため、オーディオ機器の背面には多くのコネクタがあり、様々なケーブルが這いま […] -
3-4.Ethernet TSN の QoS
Ethernet TSN の QoS(3)IEEE 802.1Qat:SRP / 配信手順
SRP(Stream Reservation Protocol:ストリーム予約プロトコル)は、ストリームの配信経路を確定し、経路上のスイッチやエンドステーション(映像表示装置など)の帯域確保と最悪時の遅延時間の確認を行う […] -
3-4.Ethernet TSN の QoS
Ethernet TSN の QoS(4)IEEE 802.1Qat:SRP / MSRP 動作とストリーム配信の可否判断
ネットワーク構成を単純化したモデルで、改めて MSRP の動作と Talker と Listener が送信する各種パラメータを説明したい。 図1 はMSRP 説明モデルで、次の要素からできている。全ての要素には MSR […] -
3-4.Ethernet TSN の QoS
Ethernet TSN の QoS(5)IEEE 802.1Qat:SRP / MSRP 属性
Asking、Advertise、Ready メッセージを交換することで、Talker/Listener 間の帯域や遅延時間などの QoS リソース確保を行うことはすでに説明した。これら以外にも、Talker/Liste […] -
3-4.Ethernet TSN の QoS
Ethernet TSN の QoS(6)その他時間帯の QoS:SPQ(絶対優先)
Ethernet TSN は、ハードリアルタイムが必要な工作機械などの制御データとその他のデータの時間帯を分けている。制御データが収まる「CDT専用時間帯」は、従来のフィールドバス同様に厳密なタイミングやデータ量設計を行 […] -
3-4.Ethernet TSN の QoS
Ethernet TSN の QoS(7)その他時間帯の QoS:Credit Based Shaper(帯域制御)
CBS( Credit Based Shaper)の基本動作原理は、リーキーバケットモデルだ。図1 の様に、蛇口から注いだ水がバケツの穴から常に一定量漏れ出すモデルだ。さらに細かく分類すれば「 Leaky bucket […] -
3-4.Ethernet TSN の QoS
Ethernet TSN の QoS(8)全体動作検証
Ethernet TSN は、制御データを確実に伝送する「CDT 専用時間帯」と、プロトコル制御データ(gPTP、SRP 等)、映像ストリームやファイルなどの Best Effort データを伝送する「その他時間帯」に分 […]