Ethernet TSN(5)時分割多重における時刻基準と配信経路

【2】BMCA/【3】クロックドメイン

通信機器やノードの時刻同期をとる前に、必要なことが2つある。時刻同期の基準時間となる「グランドマスタ(GM)」の選択と、時刻同期の配信経路を確定しクロックドメイン(時刻同期の範囲)を設定することだ。GM の選択方法を BMCA( Best Master Clock Algorithm )と呼ぶ。

gPTP ネットワークでは、1つのクロックソースが GM として選出される。他の通信装置やノードは、 GM に従うことで全体の時刻同期を実現している。図1 は、 GM を選出し、クロックドメインが構成された例だ。gPTP で登場する機器(デバイス)は表1 に示すように、GM、OCとBC の3種類 で、GM は OC の一種だ。gPTP では TC をサポートしていない。

図16 クロックドメインが構成された例
図1 クロックドメインが構成された例
略号名称概要
GMグランドマスター
Grand Master
GNSS 等の時刻源に接続されたデバイス。gPTP 内で最優先で使用するクロックソースで、ドメイン内のすべてのクロックは GM と同期する。ドメイン内に複数の GM が存在する場合は、 BMCA(Best Master Clock Algorithm)で最適な GM を選択する。最適ではない GM は、 Backup Grand Master になり、機能的にはスレーブになる。
OCオーディナリークロック
Ordinary Clock
単一の gPTP ポート を持つデバイス。次のいずれかのモードで動作する。
■マスター モード:ネットワーク経由で 1 つまたは複数のスレーブデバイスに時刻情報を配信する。その結果、スレーブデバイスはマスターに時刻同期する。GM がこれに相当する。■スレーブモード:クロックをマスタークロックに時刻同期させる。最終段のデバイス(PC、表示装置、工作機械等)がこれに相当する。
BCバンダリクロック
Boundary Clock
複数の gPTP ポートを持つデバイス。上位のマスターに対してスレーブとして動作し、自身の時刻を補正(マスターに合わせる)する。下位に接続されたスレーブに対してはマスターとして動作する。GM に複数の機器を同期させる際に gPTP の負荷を分配することができる。適切なマスタークロックが検出されない場合は、GM として動作することもできる。
gPTP では、BC は第2層スイッチの機能として実装される。
TCトランスペアレント クロック
Transparent Clock
BC と同様に GM に複数機器を時刻同期させるための PTP フレーム分配に使用。スイッチ内を通過する PTP フレームの転送にかかった時間をフレーム内の「補正値」領域に書込み、次段に渡す。つまり、スイッチは時刻同期を取らず、転送のみを行う。タイミング計算については透過的なデバイス。時刻同期を取らないため、GM にはならない。gPTP ではサポートしていない。
表1 PTPの構成デバイスと gPTP のサポート範囲(赤枠内)

赤枠内は、gPTP がサポートするデバイス。gPTP は全てのスイッチが時刻同期をとる方式のみサポートするため、時刻情報を通過させる TC は使えない。

時刻情報が流れる範囲が「クロックドメイン」だ。IEEE1588(PTP)は、128個のクロックドメイン を設定できるが、gPTP では1個のクロックドメインしか設定できない。ドメイン番号は「0」に決められている。

Ethernet TSN は全てのトポロジに対応している。リングやメッシュなどのループがあるトポロジでは、ループを論理的に遮断することができる。ループ遮断プロトコルは、標準イーサネットで一般的に使われる RSTP(Rapid Spanning Tree Protocol)を想定している。Ethernet TSN(IEEE802.1AS で規定)と RSTP の仕組みは変わらないが、用語が異なるので注意が必要だ。用語の対応は、表2 を参照いただきたい。RSTP の動作は改めてお話しするので、ここではループのない構造で話を進めたい。

IEEE802.1AS(Ethernet TSN)IEEE802,1Q(RSTP)
Clock Master PortDesignated Port
Clock slave portRoot Port
Passive PortAlternate Port
表2 用語対比

Ethernet TSN では、時刻情報を配信する装置間リンクの上位側ポートを「Clock Master port」、下位側を「Clock Slave port」と呼ぶ。グランドマスターが配信する時刻情報は、水の流れのように下 位層(下流)に向かって流れ、エンドノード(OC)で止まる。この時刻情報が流れる範囲が「クロックドメイン」だ。水が流れ出すリンクの上位側(上流)を「Clock Master port」、水を受け止 めるリンクの下位側(下流)を「Clock Slave port」と呼ぶ。時刻情報は、 Clock Master port から Clock Slave port へと順次伝播する。

BMCA は、ネットワーク上で最適な時刻源(GM)を決定する方法だ。BMCA はネットワーク上で常 に動作し、新しい GM の登場や動作中の GM 故障などのネットワークの変化に迅速に対応し、最適
な GM への切り替えを行う。最適な GM の選択には図2 の6個のパラメータを[1]から順次比較し、差が生じたところで決着する。いずれの項目も、値が小さい方が優先度が高い。

標準のPTP では Priority2 を変更できるが、[1]~[4] のパラメータ変更は推奨していない。gPTP は [1]~[5] のパラメータの変更を推奨していないため、[6] Unique Identifier(MAC Address)の小さい方が最適な時刻源に選ばれる。この場合の MAC Address を「Tie Breaker」と呼ぶ。GM 候補は、この6個のパラメータを Announce Message で2秒に1回交換することで、常に最適な GM が選ばれる。

図17 BMCA パラメータ
図2 BMCA パラメータ

2つの GM 候補が BC を介して接続した例が図3 だ。GM 候補の OC-1 と OC-2 は相互に各 GM の優先度情報を含む Announce Message を送信し、優先度を比較する。優位な方が GM になり、劣勢な方は Backup GM としてスレーブ動作に移行する。この例では、OC-1 の MAC Address が小さいため GM になる。

図18 BMCA 基本動作
図3 BMCA 基本動作

BMCA では、図3 の様に Announce Message を交換し合うケースだけではなく、様々な状況が考えられる。例えば、運用中の GM が停止し Backup GM に切り替わるケースや、新たな GM が追加されるケースなどが考えられる。BMCA は図4 のような状態遷移を設定し、全てのケースに対応している。電源投入などの初期状態から「Listen」状態に遷移すると、Announce Message タイムアウト時間 Listen 状態を保持し、外部の Announce Message を待つ。Announce Message がなければ、自分自身が唯一の GM と判断し Grand Master になる。自分自身より優位な Announce Message を受信すると Slave になる。Master または Slave に遷移後も、Announce Message により状態を変える。

図19 BMCA 状態遷移
図4 BMCA 状態遷移

BMCA での GM 決定と同時に、Announce Message は順次下位の BC を経由し、末端の OC に到達する。リンクの上位側が「Clock Master Port」、下位側が「Clock Slave Port」になり、時刻配信経路とクロックドメインが決まる(図5)。

図20 クロックドメインが構成された例
図5 クロックドメインが構成された例

初期状態での BMCA 、Grand Master の切り替え(故障等による)には、4秒の待ち時間が発生する。ホームネットワークや産業オートメーショでは大きな問題にならないが、自動車では使えない。自動車では BMCA を使用せず、GM(時刻源)は固定設定になる。

Ethernet TSN

この記事を書いた人

岩崎 有平

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