Ethernet TSN(6)時分割多重における時刻同期メカニズム

【4】第2層 PTP メッセージ/【5】Peer-to-Peer メカニズム/【6】2ステップクロック

BMCA で時刻基準となる 「GM」 が決定し、時刻同期をとる領域である「クロックドメイン」と時刻情報の「配信経路」が確定した。すべての条件が揃ったところで、いよいよ時刻同期がとれる。

時刻同期をとる手法は2種類ある。Peer-to-Peer(P2P)と End-to-End(E2E)だ。図1 の P2P は伝送路上の全ての通信装置と末端のノードとの「時刻同期」をとる。これに対し、図2 の E2E は途中伝送路の時刻同期は取らず通過し、末端のノードとの時刻同期をとる。Ethernet TSN は本来 の目的(第2層スイッチの時刻同期)に適した P2P を採用し、E2E はサポートしていない。

図1 P2P イメージ
図1 P2P イメージ
図2 E2E イメージ
図2 E2E イメージ

P2P 同期メカニズムは、先ず Grand Master が次段 BC の時刻同期を取り、次に時刻同期がとれた BC が更に次段 BC の時刻同期をとる。これを順次末端まで繰り返し、最終段まで時刻同期をとる。 時刻同期をとる Sync Message を BC でいったん終端し、順次リレーされるイメージだ。

E2E 同期メカニズムは、GM または上位 TC から受け取った Sync Message に内部遅延時間を追記し、次段に送信する。TC は時刻同期を取らない。

もう一つ重要なポイントは、Ethernet TSN の伝送路は「第2層」のみをサポートし、ルータでのサブ ネット分割をサポートしていないことだ。理由は、車載ネットワークや産業オートメーション分野での優先事項は、シンプル・高速・低コストだと考えているためだ。ルーティングを行うと、フレーム変換などの処理が増え複雑化するだけではなく、経路構築と経路変更に時間がかかるためリアルタイム性が損なわれるためだ。

BMCA で GM が決まり、時刻配信経路とクロックドメインが決まった段階では、GM/BC/End Node の時刻は一致していない。最上位の GM を起点に、順次下位の BC や End Node の時刻を合わせなければならない。図3 のような状態だ。2台の装置間の伝送路には、相応の伝送遅れがある。伝送路の遅れは一様ではなく、実測する以外に方法はない。一般的にメタルの伝送路は、1m当たり5ナノ秒ほどの遅れがあり、100mの UTP ケーブルでは 500ナノ秒程度の伝送遅れがある。光ファイバーでも、1m当たり3ナノ秒程度は遅れる。2000mのファイバーであれば、6マイクロ秒の遅れがある。1マイクロ秒の時間誤差を実現する上で、無視できない時間だ。

図3 時刻ズレ
図3 時刻ズレ

伝送路の遅れも含め、時刻を補正する方法が必要だ。ただし、図3 の送信遅延と受信遅延を個別に測定することはできないため、「送信遅延と受信遅延は同じ」とみなし時刻補正を行う方法が一般的だ。gPTP では、次の4つの Sync メッセージで時刻補正を行う。

  • Sync Message
  • Follow_Up Message
  • Delay_Req Message
  • Delay_Resp Message

図4 は gPTP がサポートする 2step PTP 同期シーケンスだ。gPTP は、4種類のメッセージと4種類の時刻を使い時刻同期をとる。マスタークロックは Sync Message をスレーブクロックに送信し、メッセージ送信時にタイムスタンプ t1 を記録する。スレーブクロックがこのメッセージを受信すると、スレーブクロックも到着時刻 t2 を記録する。マスタークロックは、記録した t1 を含む Follow_Up Message をスレーブに送信する。スレーブは Delay_Req Message をマスターに送信し、送信時刻 t3 を記録する。マスターはこのメッセージを取得すると、受信時刻 t4 を記録し、その値をDelay_Resp Message でスレーブに送り返す。スレーブクロックは、マスターに対するオフセット値(時刻ズレ)と、2つのクロック間の伝搬遅延時間を計算するために使用する4つの時刻をすべて手に入れた。t1t4 は上位のマスタクロック時刻で、 t2t3 は下位のスレーブクロック時刻だ。オフセット値と伝搬遅延時間の計算方法は、この後説明したい。

図4 2step P2P 同期シーケンス
図4 2step P2P 同期シーケンス

図5 は 1step PTP 同期シーケンスだ。1step と 2step の違いは、t1 時刻を送るタイミングだ

1step では Sync Message と同時に t1 時刻を送る。このためSync Message を送り出す瞬間の時刻 を記録し、送信中の Sync Message に書き込まなければならない。1step は通信回数を削減できるが、ハードウェアでの高速処理が必要になりコストアップを招く可能性がある。コストに敏感な車載ネットワークや産業分野で使用するgPTP は、実現が容易な 2step を採用した。

図5 1step P2P 同期シーケンス
図5 1step P2P 同期シーケンス

gPTP のような高精度時刻同期では、フレームの送受信時刻であるタイムスタンプを採取するタイミングが厳密に規定されている。gPTP のベースである IEEE1588 では、「フレームのMACヘッダの先頭が装置と回線の境界を越えた時」と規定している。送信時は図6(A)の様に、プリアンブルに続く SFD と MAC ヘッダの先頭である宛先 MAC アドレスの境界でタイムスタンプを採取する。受信時も同様に、SFD と MAC アドレスの先頭との境界が通過するタイミングでタイムスタンプを採取する(図6(B))。

送受信タイムスタンプ採取タイミング
送受信タイムスタンプ採取タイミング

1ステップクロックでは、PHY(第1層/物理層)で採取したタイムスタンプを送信中 SYC フレームの送信時刻設定領域に書き込まなければならない(図7)。処理の複雑さだけではなく処理時間も厳しい。gPTP が 1Step をサポートせず、2Step を採用した理由はここにある。

図7 送受タイムスタンプ採取と書込み
図7 送受タイムスタンプ採取と書込み

IEEE1588 では、タイムスタンプの採取タイミングを「フレームのMACヘッダの先頭が装置と回線の境界を越えた時」と規定しているが、物理層 LSI の修正が必要だ。実際は、MII 等の PHY-MAC 間インタフェースや、MAC処理層の中で採取し、物理層の出入り口までの時間を補正する方法がとられる。補正値が一定ならば、高い精度の送受信時間を得ることができる。

送信時は、フレーム処理部や PHY-MAC 間インタフェースで取得した「仮のタイムスタンプ (ta)」に実際の「送信タイムスタンプとの差分(⊿ts)」を加算することで計算できる(図8)。 受信時は逆に、フレーム処理部や PHY-MAC 間インタフェースで取得した「仮のタイムスタンプ(tb)」から実際の「受信タイムスタンプとの差分(⊿tr)」を減算することで計算できる(図9)。

図8 補正値による送信タイムスタンプ採取
図8 補正値による送信タイムスタンプ採取
図9 補正値による受信タイムスタンプ採取
図9 補正値による受信タイムスタンプ採取

オフセット値と伝搬遅延時間の計算

スレーブクロックのマスタークロックに対するオフセット時間(時間進み/遅れ)が分かると、スレーブの時刻を同期(補正)できる。マスター・スレーブ間の遅延時間が分かるとエンドノード迄の遅延時間が計算できる。図4、図5 の t1~t4 の時間で、オフセット時間と遅延時間が計算できる。

前提条件は、マスター/スレーブ間の遅れ時間は送信・受信とも同じとし(図10 : tMS=tSM )、平均値を遅延時間とする。オフセット時間計算式、オフセット時間または遅延時間を使ったスレーブの補正時刻の計算式は、下記の通りだ。

図10 オフセットと遅延時間
図10 オフセットと遅延時間

スレーブのオフセット時間は、進み方向を+、遅れ方向をーとする。 𝐭𝐌𝐒 は進み方向のオフセット、 𝐭𝐒𝐌 は遅れ方向のオフセットになる。

  • 𝐭𝐌𝐒 = t2 – t1 =(遅延時間+オフセット時間)
  • 𝐭𝐒𝐌 = t4 – t3 =(遅延時間ーオフセット時間)
  • (𝐭𝐌𝐒 + 𝐭𝐒𝐌)/2 = ((遅延時間+オフセット時間)+(遅延時間ーオフセット時間))/2 =遅延時間
  • (𝐭𝐌𝐒𝐭𝐒𝐌)/2 = ((遅延時間+オフセット時間)-(遅延時間ーオフセット時間))/2 =オフセット時間

遅延時間(Delay)、オフセット時間(Offset)と補正時刻は、図10 の計算式になる。

図11 の構成例で、時刻同期の流れを説明する。GM は、1秒に1回 Sync Message とこれに続く Follow_Up Message を下位層に送信する。これらを受信した下位層の BC は、更に次段の BC や OC にメッセージを転送する。最終段である OC に到達するまで繰り返される。

図11 時刻同期維持の構成例
図11 時刻同期維持の構成例

図11 は GM を頂点に4つの階層で構成されるため、図12 のタイミングで同期信号は順次転送され、時刻同期を維持する。オフセット時間や遅延時間を補正する Delay_Req は、Sync/Follow_Up メッセージと同程度の頻度で起動する。gPTP では明確なサイクル時間の規定がないが、Sync Message と同程度の頻度で起動される。

表1 は、各種時刻同期パラメータ概要の一覧で、赤枠内がIEEE802,1AS(gPTP)だ。

図12 Sync Message 伝播
図12 Sync Message 伝播
DefaultG.8265.1G.8275.1G.8275.2PowerIEEE802.1ASSMPTE2059-2Enterprise
規格団体IEEEITU-TITU-TITU-TIEEEIEEESMPTEIETF
主要用途テレコムテレコムテレコム電力産業映像・放送金融
Transport MechanismL2/L3L3L2L3L2L2L3L3
通信方式multicastunicastmulticastunicastmulticastmulticastmulticastunicast/multicast
Message Rate
(1)Sync & Followup1/秒128/秒~1/16秒16/秒128/秒~1/秒1/秒1/秒1/秒1/秒
(2)Req/ResNot Fixed128/秒~1/16秒16/秒128/秒~1/16秒NoneNot FixedNot Fixed1/秒
(3)Announce1/2秒8/秒~1/16秒8/秒8/秒~1/秒1/秒1/2秒1/2秒1/秒
PTP方式E2E/P2PE2EE2EE2EP2PP2PE2EE2E
Domain Number04~23ange24(24~43range)44(44~63range)0(0~127range)0127(0~127range)4~127
Priority1128Not used128128128(slave:255)128128(0~255range)0~126
Priority2128Not used128(1~255range)128(0~255range)128(slave:255)128128(0~255range)127
表1 時刻同期プロファイルパラメータ

IEEE802.1AS の Announce Message :連続2回消失でタイムアウト/Sync Message:連続3回消失でタイムアウト Delay_Req Message 送信間隔は、特に規定はないが他のプロファイルでは Sync Message と同程度

Ethernet TSN

この記事を書いた人

岩崎 有平

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