Ethernet TSN の QoS(5)IEEE 802.1Qat:SRP / MSRP 属性

AskingAdvertiseReady メッセージを交換することで、Talker/Listener 間の帯域や遅延時間などの QoS リソース確保を行うことはすでに説明した。これら以外にも、Talker/Listener には、ストリーム優先度や帯域設定用などの幾つか属性値を持っている。

Listener 属性

Listener 属性には、 AskingReady が持つ4つのサブタイプと、ストリームを識別するStream IDがある。

Stream ID

ストリーム識別コードで、8バイトで構成される。6バイト(48ビット)はTalker の MAC アドレス、2バイト(16ビット)は同一 Talker から送信されるストリームの識別に使用する。Stream ID は Talker/Listener 共通になっている。

Sub Type

Asking
少なくとも1台の Listener がストリーム配信を要求している。パスが確立していないため、ストリームは送信できない。
Asking failed
少なくとも1台の Listener がストリーム配信を要求したが、帯域不足等で予約に失敗した。つまり、予約に成功した Listener は1台もいないが、希望者はいる状態。
Ready
少なくとも1台の Listener が居て予約に成功した。ストリーム配信を要求したが、予約に失敗した Listener はいない。つまり、全 Listener が予約に成功し、ストリーム配信ができる状態。
Ready failed
少なくとも1台の Listener が予約に成功した。しかし、ストリーム配信を要求したが、予約に失敗した Listener が少なくとも1台いる。つまり、予約に成功した Listener と予約に失敗した Listener が混在している状態。

Talker 属性

Talker が発信する Advertise には属性として、次の2つの状態(Sub-Type)がある。また、 QoS 要件を設定するための様々な属性がある。

Sub type

Advertise
ストリーム予約に必要なリソースを確保している。
Advertised Failed
ストリーム予約に必要なリソース確保に失敗した。

Stream ID

Listener のStream ID と同じ

ストリーム識別コードで、8バイトで構成される。6バイト(48ビット)はTalker の MAC アドレス、2バイト(16ビット)は同一 Talker から送信されるストリームの識別に使用する。Stream ID は、当然だが Talker/Listener 共通になっている。

Data Frame Parameter

AV Bridge で使用するストリームのアドレス情報で、次の2つで構成される。

Destination MAC Address
ストリームの宛先MACアドレス。ユニキャストアドレスも使用できるが、通常はマルチキャストアドレスを使用する。宛先MACアドレスと Talker は常に1対1に対応する必要がある。1つの宛先MACアドレスに複数の Talker を割り当てることはできない。
VLAN ID
ストリームの VLAN ID(図1 参照)。
図1 イーサネットフレーム
図1 イーサネットフレーム

T-spec(Traffic Specification)

ストリームのトラフィック特性で、帯域制御で使用する重要なパラメータだ。次の3つで構成される。

Max Frame Size
物理層で付加される部分を除く最大フレーム長。イーサネットフレームの場合は、OH(Over Head)として24バイト付加される(図1)。
Max Interval Frames
各クラスのインターバル(Interval Time)での最大送信フレーム数。AVクラスA は125マイクロ秒、AVクラスB は250マイクロ秒のインターバルが決められている。
Stream Bandwidth
Talker が送信するストリームの帯域幅で、下記計算式で算出し、帯域制御のパラメータ(sendSlope/idleSlope)を決定する。 sendSlope/idleSlope は、後術記載するCredit Based Shaper の項目を参照いただきたい。

帯域計算

  • 100Mbps イーサネットで、SR クラスA ストリームの Interval time(125マイクロ秒)内で最大長フレームを0.1パケット送信とした場合
  • 「Max Frame Size + OH 」は、Byte→bit→時間 と換算する必要がある
       Max Frame Size=1518Byte(物理層オーバーヘッドを除く)
       OH=24Byte
       フレーム送信時間=1528+24 Byte → 12,336 bit → 123.36 μ秒
       ∴ (Max Frame Size + OH)時間換算値=123.36マイクロ秒
       Max Interval Frames=0.1
       Interval Time=125マイクロ秒
        ∴Stream Bandwidth=(123.36/125)×0.1×100Mbps=9.8688 Mbps

Priority and Rank

Data Frame Priority
VLAN タグの PCP(Priority Code Point)(図1)。
Rank
緊急ストリームと非緊急ストリームを指定。「0」で緊急ストリーム。「1」で非緊急ストリーム。

Accumulated Latency

Talker から Listener までの片方向最大遅延時間。ブリッジ 1台の片方向遅延時間は、図2 の「伝搬遅延」「挿入遅延」「シリアル化遅延」を合計した値の最大値になる。Talker から Listener までの片方向最大遅延時間は、各ホップの最大値を加算した値になる。伝搬遅延は gPTP でRTT(往復伝搬遅延時間)を測定し、その半分を片方向の伝搬遅延と定義している(図3)。挿入遅延は、フレーム受信から送信開始までの内部処理時間だ。各ブリッジ固有の値になる。 Ethernet TSN で想定している Store & Forward の挿入遅延は 5マイクロ秒だが、筆者の経験では、最近のスイッチの挿入遅延時間はせいぜい 1マイクロ秒程度と思われる。シリアル化遅延は、最大長フレームの送信時間になる。遅延時間の定義は「QoS(4)QoS 評価項目」を参照いただきたい。

図2 SRP 遅延時間
図2 SRP 遅延時間

片方向最大遅延時間は、SR クラスA は2ミリ秒、SR クラスB は50ミリ秒と規定されている。この値を超えると経路予約ができない。

図3 片方向遅延
図3 片方向遅延

SRP プロトコルに思うこと

SRP は、第2層で動作する便利なツールだ。しかしいくつか気になることもある。1つは、帯域確保が「先着順」になっていることだ。Rank を操作することで、緊急性の高いストリームを優先することはできるが、同程度の優先度のストリームは先着順だ。また、都度帯域を確保していく仕組みのため、全体像が見えなくなる。この辺りを改善するために、IEEE802.Qcc で集中管理の考え方が持ち込まれ改善されている。

もう一つ気になることは「遅さ」だ。映像を新たに表示するためストリーム配信に参加するには 200ミリ秒の待ち時間がある。この間は映像が表示されない。ストリーム配信から離脱するには 1000ミリ秒(1秒)かかる。この間ストリーム配信は止まらない。映像配信の反応の悪さは、過去にも同じことが起きている。IP マルチキャスト配信でも同様の事象が起き、映像表示と離脱を高速化する手法が登場した。IGMP Snooping やIGMP fast leave などだ。SRP でも同様な改善策が登場すると思われる。

Ethernet TSN の QoS

この記事を書いた人

岩崎 有平

早稲田大学 理工学部 電子通信学科にて通信工学を専攻。
安立電気(現 アンリツ)に入社後、コンピュータ周辺機器の開発を経てネットワーク機器の開発やプロモーションに従事する。
おもにEthernetを利用したリアルタイム監視映像配信サービスの実現や、重要データの優先配信、映像ストリームの安定配信に向けた機器の開発行い、Video On Demandや金融機関のネットワークシステム安定化に注力した。
現在は、Ethernetにおけるリアルタイム機能の強化・開発と普及に向けて、Ethernet TSNの普及活動を行っている。