EndRun Technologies IEEE1588 PTP グランドマスタークロック
情報システム営業部 - EndRun - IEEE 1588 グランドマスタークロック -お問い合わせ-資料請求フォーム



 
EndRun Technologies
ネットワークタイムサーバー
タイムベース・周波数ベースの専業メーカー エンドラン

Tempus LX IEEE1588 PTP GRANDMASTER CLOCK (廃品種)

後継機 Sonoma D12 PTP グランドマスタークロック をご検討ください

従来製品である Tempus LX GPSおよびTempus LX CDMA そして Meridian では後つけ可能なPTPオプションによりソフトウェアタイムスタンプを行う,ハイブリッドPTPグランドマスタ機能を有効にできました.Endrun Technologies(エンドラン テクノロジーズ)社では,同社第二世代の Tempus LX シリーズに代えて, 第三世代となる Sonoma シリーズを発売いたしました. Sonoma は PTP ハードウェアタイムスタンプ機能を備えており,Tempus LX のハイブリッドタイムスタンプに比べて格段に高いタイムスタンプ精度と分解能を持ち,ハードウェアタイムスタンプを備えたスイッチやスレーブと組み合わせることで高い同期精度を実現します。 ぜひ, Sonoma シリーズをご検討ください.

PTPグランドマスタークロックは,IEEE 1588 Precision Time Protocol (PTP)を用いてLAN経由のマイクロ秒級の同期精度を実現します.

  • 時刻源としてGPS衛星の他に KDDI au CDMA携帯基地局を選択できます(PTPの絶対精度を追求する場合はGPSを使用します)
  • Tempus LX 高精度タイミングエンジンとソフトウェアによるハイブリッドグランドマスタークロック(廃品種)
  • タイムサーバとしてTempus LX GPSでは1us以下,Tempus LX CDMA は10us以下のタイムスタンプ精度を持ちます(Sonoma シリーズはナノ秒級のタイムスタンプ精度を持ちます)
  • Tempus LX は IEEE-1588-2002 V1/ IEEE-1588-2008 V2 IPv4 に対応 ( Sonoma シリーズは IEEE-1588-2008 V2 IPv4 に対応 )
  • 各社のスレーブハードウェアとPTP同期できるほか,サーバーの高精度時刻同期を手軽に実現できる Linux 用 ptpdソフトウェア(PTPv1 PTPv2対応) も使用できます
  • EndRunのPTPサーバは同時にNTPサーバ機能も運用できます
IEEE 1588 PTP についての解説
  • IEEE-1588-2008 についてはGeoffrey Garner による こちら も参照ください
Q
IEEE1588 PTP とは? LANに特化した時刻同期プロトコルです
A
イーサネットなど何らかのメディアで接続された機器間で時刻情報を交換することにより,マイクロ秒やナノ秒RMSでの同期を実現するプロトコルです.この規格は,テストや測定,電気通信,サーバー間時刻同期,電力,オートメーション,画像音声ストリーミングなど,さまざまなアプリケーションの時刻同期方式として着実に定着しつつあります.現在 PTP をサポートしていない機器にも,将来 PTP を組み込むためのハードウェア機能が含まれていることが珍しくなくなりました.

ネットワークを使った時刻同期にもっとも良く使われるプロトコルは Network Time Protocol (NTP) やそれを単純化した SNTP でしょう. NTP では, サーバーが時刻を配信し,クライエントが時刻を受け取ります.クライエントはネットワーク遅延を計算して補正しサーバーに時刻同期し,自己の時間を管理します.NTP はソフトウェア的に実装されており, Client はミリ秒の精度で Server に時刻同期します.

ネットワークが張り巡らされた環境にとってNTPは手軽な時刻同期方式です.しかし,制御やイベント管理やログ管理をマイクロ秒単位で行うにはNTPの精度と分解能では不十分になってきました.かといって他の高精度な時刻同期の方式は費用的に容易に受け入れられるものではありません.

Precision Time Protocol (PTP) は比較的新しいプロトコルであり,利用環境をLANに制限することで高精度な時刻同期を得るために作られました.PTPの仕様は IEEE-1588 として定められています. PTP では Grandmaster (GMC グランドマスタークロック, マスター)が高精度な時刻の配信を行い, スレーブが時刻を受け取ります.どのマスターをGMCとするかは,GMCA と呼ぶマスタークロック選出アルゴリズムで自動的に決定します.

PTP ではネットワークインターフェースチップのMACやPHYに実装されたハードウェアタイムスタンプ機能を使い,マイクロ秒RMS以下のタイムスタンプ精度を実現します. また誤差の要因であるネットワークの伝搬遅延を検出して補正する仕掛けを持ちます.Version 1では大規模な展開を行うためにセグメントを区切るBoundary Clock (BC)が用意されました. 現在標準とされている Version 2 では遅延管理機能を持つスイッチングハブ Transparent Clock (TC) が用意され,より柔軟で精度の高い展開が可能になりました.PTP の時刻同期精度は グランドマスタークロックやスレーブクロックのタイムスタンプ精度だけで決まるのではなく,ネットワークのトポロジー,例えばスイッチ, BC, TC とかスレーブの能力が影響を与えます.PTPの動作説明と,Endrunの製品にどのようにPTPが実装されているかについては,このEndRun 1588/PTP白書も参照ください.

基本的に遅延量が予測できる伝送路に適用できる時刻配信プロトコルです.セグメント越えはできますが、遅延量がダイナミックに大きく変化するWANに展開することは考えられていません.
Q
IEEE1588 PTPの他にも時刻同期には方法があるのでは?
A
伝統的に使われてきた時刻同期手段と精度は概ね以下の通りです.
時刻同期方式精度媒体Endrun製品の対応
IRIG-B (振幅変調)1ms同軸,600Ω平行線 Sonoma, Meridian II, Tempus LX, Meridian
IRIG-B (DCLS)100us同軸 Sonoma, Meridian II, Tempus LX, Meridian
1PPS信号1us同軸 Sonoma, Meridian II, Tempus LX, Meridian. Praecis II
GPS1usGPS衛星 Sonoma, Meridian II, Tempus LX, Meridian
CDMA1~10usCDMA携帯基地局 Sonoma, Meridian II, Tempus LX, Meridian, Praecis II
NTP1~10ms イーサネットなど
LAN/WAN環境
Sonoma, Meridian II, Tempus LX, Meridian
PTP v1/v2 IPv4
ハイブリッドタイムスタンプ
10us イーサネットなど
LAN環境
Tempus LX, Meridian
PTP v2 IPv4
ハードウェアタイムスタンプ
1us以下 イーサネットなど
LAN環境
Sonoma, Meridian II

クライエント・スレーブの同期精度は時刻サーバのタイムスタンプ精度だけでなく,配信ネットワークのトポロジと受信側の同期能力に依存します.
Q
なぜIEEE1588 PTPプロトコルが必要になるのですか?
A
PTP Verion 1は次の要請にこたえるよう作られました.現在は使われることはまれです.
  • LAN内の機器をマイクロ秒の精度で時刻同期させる手段がほしい
  • どのクロックを親にするか決めるルールがほしい
  • マスタークロックにスレーブクロックを頻繁に時刻合わせすることで同期精度を向上させたい
  • 伝達経路(遅延に方向性なく,常に一定=例えばネットワークケーブルを想定)で生ずる遅延を補正したい
さらに現在主流の PTP Version 2 では Version 1 に加えて次の要請にも応えられるようになりました
  • ネットワークケーブルだけでなくスイッチングハブなど能動機器の遅延も補正したい(遅延に方向性があり且つ変化することに対応する)
  • 経路の切り替えが起こる前に経路毎の遅延を知っておきたい
  • クロックデバイスの状況を知りたい(SNMPのごとく)
Q
なぜNTPではだめなのですか?
A
NTPはWAN環境でも機能するように作られ,ミリ秒RMSの同期精度のために作られました.PTPとは要求する同期精度が何桁も異なります.用途によってはNTPでも十分な精度が得られます.NTPの特徴は以下の通りです.
  • NTPはLANでもWANでも使える
  • NTPはミリ秒から数十ミリ秒RMSの同期を実現
  • NTPサーバーと時刻問い合わせやブロードキャストの間隔が比較的長い(トラフィックが少ない)
  • NTPクライエントの時刻保持能力に依存する
  • NTPは伝達経路上(遅延に方向性なく,あまり変化しないと想定)で生ずる遅延を補正する
  • NTPは主にソフトウェアで構成する
一方,PTPは主に遅延の厳密な管理が可能なLAN内で使うことを条件に,NTPに対して何桁も高い同期精度を比較的簡単な仕掛けで実現するものです.
Q
IEEE1588 PTP を構成する要素は?
A
それぞれの要素の性格をよく表した独特な名前が使われます.
要素名称内容PTP
OCOrdinary Clockポートを1つだけ持つPTPノードV1/V2
OC MasterOrdinary Clock Masterマスターポートを持つOC 時刻源V1/V2
OC SlaveOrdinary Clock Slaveスレーブポートを持つOC 機器類V1/V2
GMCGrand Master Clock時刻基準の時刻源 GMCAで選出V1/V2
BCBoundary Clock複数のポートを持つPTPノードV1/V2
BC MasterBoundary Clock MasterBCのマスターポートV1/V2
BC SlaveBoundary Clock SlaveBCのスレーブポートV1/V2
TCTransparent ClockPTPノードではないV2
TC MasterTransparent Clock MasterTCのマスターポートV2
TC SlaveTransparent Clock SlaveTCのスレーブポートV2

これらはイーサネット(他のメディアでもかまわない)を介して接続されます.独特な名前が付いていますが,GMCが時刻源であり,それにOC Slaveが時刻同期します.BCとTCはPTPプロトコルを理解し取り扱うPTP対応スイッチやルーターに相当します. 現在は V1 が使われることはまれであり、V2のみが使われます.
Q
IEEE1588 PTP v2 のメッセージとは?
A
Eventタイプのメッセージが正確なタイムスタンプを扱います.
HexMessageTypePTP
00SyncEventV1/V2
01Delay_ReqEventV1/V2
02Pdelay_ReqEventV2
03Pdelay_RespEventV2
08Follow_UpGeneralV1/V2
09Delay_RespGeneralV1/V2
0aPdelay_Resp_Follow_UpGeneralV2
0bAnnounceGeneralV2
0cSignalingGeneralV2
0dManagementGeneralV2

Q
PTPではどのようにして時刻同期するのですか?
A
基本的にはNTPとよく似た方法でネットワークの遅延を知りマスタークロックとスレーブクロックは時刻同期します.この遅延時間を測定する仕掛けをPTPでは Delay Mechanism と呼びます.これを理解するにはまず,オフセットと遅延時間が何なのか考えます.マスターの時計で測った時刻は,スレーブの時計で測った時刻はとします.ここで説明するのはIEEE 1588-2002 すなわち PTPv1 で決められた End to End Delay Measurement Mechanism です.
  • オフセット Offset
    オフセット Offset(t) その時刻 t におけるマスタークロックの持つ時刻 Tm(t) とスレーブクロックの持つ時刻 Ts(t) の差を言います.式にするとこんな感じです.

    Offset(t)=Ts(t)-Tm(t)
    ならべかえると
    Tm(t)=Ts(t)-Offset(t)
    すなわち,スレーブの時刻からオフセットを引き算するとマスターの時刻になります

    マスタークロックに比べてスレーブクロックが遅れると負に,逆になると正になります.正の数字だったらスレーブが進んでいます.スレーブの立場で考えると,なんとなく直感的に理解できます.

  • 遅延時間 Delay
    遅延時間 d はマスタークロックからスレーブクロック方向に,あるいはスレーブクロックからマスタークロック方向に送ったメッセージが相手に達するのにかかる時間です.もし,マスターとスレーブが電線だけで接続されているのであればこの時間は電線の長さに比例した方向性を持たないマイクロ秒以下のものになるのですが,実際LANにはL2やL3ネットワークスイッチが介在して蓄積伝送をしますので,最大数十マイクロ秒ものダイナミックに変化する遅延が発生します.さらに,メッセージの流れる方向により到達にかかる時間が異なります.
    でも,まずあまり深く考えずに,遅延時間はメッセージが相手に伝わるのにかかる時間と考えます.

もし,遅延時間がわかるのなら,マスターから受け取った時刻に遅延時間を加えた時刻が、その時点にマスターの時計が示している時刻になります.しかし,正確な遅延時間を知るのは容易ではありません.

今,大元の時計(マスタークロック)に比べて手元の時計(スレーブクロック)が2秒遅れているとします(遅れているからオフセットは-2秒です). 例えば,マスターの時計が0時0分10秒の時にスレーブの時計は0時0分8秒を示します.そして,メッセージがマスターとスレーブの間を伝わるのに1秒かかるとします(遅延時間が1秒).
  1. マスタークロックからドメインに対してSYNCメッセージがマルチキャストされる
    SYNCメッセージにはメッセージがマスターを離れた時のマスタークロックの時刻 T1 が書き込まれています.それがタイムスタンプです.0時0分10秒というタイムスタンプが打たれていたとします.1stepではここまでですが、2stepではFOLLOW_UPメッセージに,正確に測り直した T1 を書き込んで相手に通知します.

  2. スレーブクロックはSYNCメッセージを受け取った時刻を記録します
    0時0分10秒 のタイムスタンプを持つSYNCメッセージがスレーブに届きますが,スレーブの時計は2秒遅れているのでスレーブの時計では0時0分8秒にマスターを離れたことになります.それが遅延時間1秒をかけてスレーブに届くのですから,到達した時刻 t2 はスレーブの時計では0時0分9秒になります.

  3. スレーブクロックからマスターに DELAY_REQ を送ります
    DELAY_REQ メッセージにはメッセージがスレーブを離れた時のスレーブクロックの時刻 t3 がタイムスタンプとして書き込まれています.0時0分20秒というタイムスタンプが打たれていたとします.

  4. マスタークロックは DELAY_REQ メッセージを受け取った時刻を記録します
    0時0分20秒 のタイムスタンプを持つDELAY_REQメッセージがマスターに届きますが,マスターの時計はスレーブに比べて2秒進んでいるので,マスターの時計では0時0分22秒にスレーブを離れたことになります.それが遅延時間1秒をかけてスレーブに届くのですから,到達した時刻 T4 はマスターの時計では0時0分23秒になります.

  5. マスタークロックは DELAY_RESP メッセージをドメインに対してマルチキャストで送信します
    マスターはスレーブに T4 を伝える目的で DELAY_RESP メッセージを送信します.

  6. スレーブクロックは DELAY_RESP メッセージを受信し,T4 を記録します.
    これで遅延時間とオフセットを計算するのに必要な,4つの時刻がスレーブクロックにそろいました.
    マスターの時計
    スタンプ
    PTP メッセージ
    スタンプ
    スレーブの時計
    時刻
    0時0分10秒
    T1
    SYNC
    0時0分8秒
    0時0分11秒
    t2
    0時0分9秒
    T1 t2
    0時0分22秒
    DELAY_REQ
    t3
    0時0分20秒
    T1 t2 t3
    0時0分23秒
    T4
    0時0分21秒
    0時0分24秒
    DELAY_RESP
    0時0分22秒
    0時0分25秒
    0時0分23秒
    T1 t2 t3 T4

    ここでマスターとスレーブは同期していると仮定して,伝送にかかった時間(遅延時間を計算してみます.

    T1 にマスターを出たメッセージが t2 にスレーブに届いたのですから届くのにかかった時間(遅延時間)は到達した時刻から出発した時刻を引き算します.でも,スレーブの時計はマスターの時計に対して2秒遅れている,すなわちオフセットが-2秒ありますので,引き算をする前に時刻をそろえておかねばなりません.ではオフセットを考慮して時刻をそろえてみます.スレーブの時刻からオフセット分を引くとマスターの時計と同じになりますから,この方法でスレーブの時計を調整します.
    t2 をマスターの時刻に読みかえると (t2-オフセット)
    t3 をマスターの時刻に読みかえると (t3-オフセット)
    になります.

    T1にマスターを出たメッセージが(t2-オフセット)にスレーブに届くのにかかった時間(遅延時間)は
    (t2-オフセット)-T1 = (0時0分9秒-(-2秒)) - 0時0分10秒 = 1秒 = 遅延時間

    (t3-オフセット)にスレーブを出たメッセージが T4 にマスターに届くのにかかった時間(遅延時間)は
    T4-(t3-オフセット) = 0時0分23秒 - (0時0分20秒-(-2秒)) = 1秒 = 遅延時間

    この2つの関係から次のことがわかります.
    遅延時間 = ((t2-T1)+(T4-t3))/2
    オフセット = ((t2-T1)-(T4-t3))/2
このように遅延時間とオフセットは切り離せない関係にあります.スレーブはオフセットが 0 になるように自分の時計を調整しますが,そのために正確に遅延時間を知る必要があります.遅延時間はメッセージの伝送経路の特性です.そこにダイナミックに遅延が数十マイクロ秒単位で変化するL2やL3スイッチが介在すると,そのまま誤差の要因になります.また,上記は遅延に方向性が無いことを仮定していますので,もし遅延に方向性があると(多くのスイッチには場合,方向性があります)も誤差の要因になります.これらを解決してくれるのがトランスペアレントクロック(TC)と呼ばれるPTPに対応したネットワークスイッチです.各社からいろいろなグレードの製品が発売されるようになりました.
Q
IEEE1588 PTP は普通のスイッチングハブを通過できますか?
A
PTPは普通のスイッチングハブを通過しますし,用途によっては十分な精度をえられます.通常TTL1なのでL3スイッチやルータを通過できませんが,TTLを大きくしてそれらを通過させることが可能です.ただし,普通のスイッチングハブでは方向性のある比較的大きな遅延が生じ、また時々刻々変化するため,それが同期誤差の要因になります. BC や PTP v2 で定義された透過クロック(TC) は,それら遅延を管理するスイッチです.PTPの同期精度はネットワークトポロジとスレーブの同期能力に大きく影響を受けます.
Q
サーバー群やクラスタの時刻同期に使いたいのですが?
A

サーバーの高精度時刻同期に必要とされるのは数10マイクロ秒RMS程度と考えられます.その程度の精度であれば EndRun NTPタイムサーバにPTP グランドマスタークロックオプションをインストールし,サーバー群にオープンソースのPTPクライエントソフトをインストールするだけで実現できるでしょう.サーバー群に特別なハードウェアは必要ありません.(注意:現在のFINRAの要求は1マイクロ秒精度なため,ナノ秒級の同期精度が求められます)
注意:PTPスレーブの同期精度はOSを含むスレーブの構成に大きく依存します.

さらに高精度なサブマイクロ秒のPTP同期を望む場合は,新しいOSとPTP同期のための専用PCIe基板をサーバに実装し、正確なタイムスタンプ能力を持つスイッチを使用します. このような要求に十分応えられる Sonoma シリーズの採用を推奨します. 証券業界では Arista のスイッチと SolarFlare の時刻同期PCIe基板が使われてきました.このような PCIe 基板は1PPS出力を持っており,同期精度の確認にも利用できます.

Q
EndRun の PTP グランドマスタークロックの方式は?
A
Sonoma シリーズ は二つの1Gbpsポートの一つあるいは両方にハードウェアPTP グランドマスタークロック機能を持たせられます(オプション).それぞれのポートはハードウェアタイムスタンプ機能を備え、GPSやCDMA基地局と同期したハードウェアクロックを元に業界最高水準の非常に正確なナノ秒精度のタイムスタンプを打ちます.ネットワークとクライエントにもよりますが、現在の証券業界が必要とするサブマイクロ秒級以上の時刻同期が可能になります.

従来品種のTempus LX の PTP グランドマスタークロックでは,正確にGPSやCDMA基地局と同期したハードウェアクロックとソフトウェアタイムスタンプを組み合わせたハイブリッド方式です.このため安価なPTP グランドマスタークロックオプションソフトウェアをインストールするだけで,ネットワークとクライエントにもよりますが、手軽に10マイクロ秒級の時刻同期が可能になります.このEndRun 1588/PTP白書を参照ください
Q
ハードウェアタイムスタンプとハイブリッドタイムスタンプの違いは?
A
Sonoma シリーズは正確なクロックと本格的なハードウェアタイムスタンプ機能を備えており,PTPオプションを実装することでナノ秒級の正確なハードウェアタイムスタンプ能力を備えたPTPグランドマスタークロックを有効にできます.Tempus LX(廃品種)では,PTPオプションを実装することで,ハイブリッド方式のハードウェアクロックとソフトウェアタイミングを組み合わせた,10~100マイクロ秒のRMS同期精度をえられます.
  • SONOMAが備えるハードウェアタイムスタンプでは,タイムスタンプと高精度クロックの機構がネットワークインターフェースにハードウェアとして組み込まれています.ナノ秒級のRMSスタンプ精度が期待できます.
    SONOMAはハードウェアタイムスタンプに必要なハードウェアを備えており,PTPオプションを追加することでハードウェアタイムスタンプPTPグランドマスタークロックとなります.
  • TEMPUS LX(廃品種)のハイブリッドタイムスタンプでは,CDMA/GPSタイミングエンジンに同期する高精度クロックが管理する正確な時刻を元にネットワークインターフェースのハードウェアがタイムスタンプを行います.10マイクロ秒RMS以下のタイムスタンプ精度がえられます.比較的安価です.Tempus LX CDMA/GPSにオプションとして用意されていました.
EndRun の Sonoma D12 は本格的なハードウェアタイムスタンプを2つの1Gbpsポートに備えて高精度PTP時刻同期を実現しています.また Tempus LX(廃品種)には手軽にPTPを利用できるハイブリッドタイムスタンプオプションを提供していました.
Q
EndRun Sonoma や Meridian II の PTP V2 の標準設定は?
A
Q
PTPグランドマスタークロックはPTP Secondを使うべきですか?UTCを使うべきですか?
A
PTP Second すなわち標準原子時刻 TAI を使うべきです.PTP V2 ではこれが標準です.PTP Second を使うとうるう秒の通知機能が有効になります. TAI はうるう秒のない時刻です.うるう秒をどう扱うかはスレーブ側が対応することになります.
Q
PTP V2 でUTCを使うと何がおきますか?
A
スレーブ次第です.うるう秒の事前通知は行われません.
Q
EndRun はPTP バージョン1とバージョン2のどちらですか?
A
Sonoma D12 はV2 だけをサポートします.
Tempus LX のV5.07以降のファームウェアを持つ PTP グランドマスタークロック は V1 と V2 に切り替えて使えますが,V2 を使うべきです.
Q
PTP バージョン1 と 2 は何が違うのですか?
A
Version 2 は Version 1 に対する改善であり,V1とV2の違いをごく簡単に書き出すと次のようになります.

IEEE-1588-2002 V1 (PTPv1)
V2の登場により使われなくなりました.UDPによるマルチキャストで時刻情報を頻繁に配信するプロトコルであり,クライエント側ではNTPをはるかにしのぐ同期精度を手軽に得られます. PTP v1 を大規模に展開するにはネットワーク遅延を補正するためにバウンダリークロックが必要になります.ただし,バウンダリークロックを多段に使用することは誤差の累積を招きます.

IEEE-1588-2008 V2 (PTPv2)
PTP v2 は PTP v1 に対する改善であり,主に精度,安定性と拡張性を強化しています.PTP v2 はPTP v1 と互換性を持たないので,マスターとスレーブは同じPTPバージョンを使うようにせねばなりません.PTP v2 ではマルチキャストに加えてP2Pのユニキャストも可能になりました(Sonomaはユニキャストをサポートしません).Syncフレームからベストマスタークロックアルゴリズム(BMCA)関連の情報を分離したことにより,165-octet から 44-octet にフレームが短縮され,ネットワーク負荷が軽減されたことで,より頻繁に時刻情報(Syncフレーム)を配信出来るようになりました.分離されたBMCA関連情報はAnnounceフレームとしてSyncフレームより低い頻度で送られます. 遅延の方向非対称性に対応する peer delay mechanism とトランスペアレントクロックが導入されました.またプロファイルが定義され,用途に応じた設定をプリセットすることができます.トランスペアレントクロック(TC)と呼ばれる遅延管理機能を持ったスイッチングハブの利用が可能になりました.トランスペアレントクロックはネットワークにおける誤差の積み重ねを排除,またTLVといった,新たな追加管理機能を提供します.さらにV2には幅広い自由度が与えられ,用途に応じたプロファイル設定が可能になっています.

すなわちV2では:
  • ナノ秒級の誤差の同期が可能に
  • V1ではSYNC送出間隔は1秒以上だったが、V2では10回/秒も可能
  • それを可能にする短いメッセージ
  • 新たに規定されたメッセージ (アナウンスメッセージ, PDelay_Req, PDelay_Resp, Pdelay_Resp_Follow_Up と シグナリングメッセージとマネージメントメッセージ)
  • one-step-mode の導入 (follow-up メッセージ不要)
  • トランスペアレントクロックの導入 (E2E と P2P) による連接されたトポロジーでの誤差の累積の排除
  • プロファイルの導入 (機能と設定を定義 e.g P802.1AS や PROFInet)
  • DeviceNet, PROFInet, ControlNet へのマッピングと IEEE802.3/Ethernet
  • TLV の導入 (将来に向けた新機能やオプションによるプロトコルの拡張)
  • (オプション) ユニキャスト対応 EndRunは対応しません
  • (オプション) パストレース
  • (オプション) 代替タイムスケール
  • (オプション) マスタークラスターテーブル
  • (オプション) 代替マスター

こちらも参照ください IEEE1588v1_vs_IEEE1588v2.pdf
Q
IEEE1588 PTP バージョン 1 と 2 のどちらを使うべきですか?
A
PTP v2 を使うべきです.あえて PTP v1 を使う理由はなにもありません.PTP v1とPTP v2に互換性はなく,混用できません.
Q
PTP を使うにはPTP専用のスイッチングハブが必要ですか?
A
必ずしも必要ではありません.要求する精度によってはPTP v1 であれ PTP v2 であれ通常のネットワークスイッチが使えます.同一セグメント内にマスタークロックとサーバー群がある場合はこの方法でも10マイクロ秒RMSの精度が得られるでしょう. 一方,大規模なネットワークの同期にはPTPに対応したスイッチ,すなわちバウンダリークロック(BC)やトランスペアレントクロック(TC)を使うことによりPTP時刻配信トポロジーを設計することで,ネットワーク遅延のジッターの影響を軽減したより正確な時刻同期が可能となります.現在は,低遅延で高精度な TC を使うのが一般的です.
Q
PTP に対応したネットワークスイッチとはなんですか?
A
バウンダリークロック(BC 境界クロック)やトランスペアレントクロック(TC 透過クロック)と呼ばれるネットワークスイッチです.PTPに対応しており,ネットワーク遅延のジッターの影響を軽減できるマルチポートデバイスです.トランスペアレントクロック(TC 透過クロック)はE2EとP2Pを片方あるいは両方サポートしたものがあります.すでにスイッチメーカー各社から多様な製品が販売されており,BCとTCの機能を兼ね備えるものもあります.新たにPTPを導入するのであれば,最上流から最下流までP2Pをサポートすることをおすすめします.現在市場で手に入るTCの性能は千差万別です.EndRunが推奨するTCについてはお問い合わせください.
Q
PTP バウンダリークロックとトランスペアレントクロックとはなんですか?
A
IEEE1588 PTP 対応のルーターやスイッチが持っている機能です.

IEEE 1588 バウンダリークロック(BC 境界クロック PTP v1/v2) は,PTPのノードとして機能し,上位クロックに同期するスレーブポートと,下位クロックに同期するマスターポートを持ちます.すべてのマスターポートはスレーブポートに時刻同期しています.下流のプロトコル負荷を上流から遮断します.性質上,多段に接続すると誤差が幾何級数的に増加します.トポロジの下流から見るとBCがマスタークロックになります.

IEEE 1588 トランスペアレントクロック(TC 透過クロック PTP v2) は,PTPのノードとしては動作せず,TC内をフレームが通過するのにかかった時間をSYNCメッセージとFollowUPメッセージのCorrectionフィールドに加算します.PTPのプロトコルは,伝送経路の遅延時間が通過方向に対して対称であることを期待しますが,一般的なスイッチングハブでは遅延の対称性は保証されません.トランスペアレントクロックはパケットがスイッチを通過する際に生ずる遅延を補正することで,あたかも遅延時間が一定な電線のようにふるまいます.トランスペアレントクロックの動作には2つのモードE2EとP2Pがあり,それぞれ長所と短所があります.E2EとP2PをPTPの一つの流れに混用することはできません.
  • E2E : End-to-End トランスペアレントクロック :
    遅延時間の測定に End-to-End (E2E) Delay request- Delay response メカニズムを使います.伝送遅延誤差の大きな原因であるスイッチ内の滞留時間(処理と待ちにより発生)をSYNCとDELAY_REQについて測定した結果をCorrectionフィールドに加算して伝えることで,より正確な遅延時間の計算を可能にします.SYNCメッセージの滞留時間はSYNCあるいはFOLLOW_UPメッセージのCorrectionフィールドに、DELAY_REQメッセージの滞留時間はDELAY_RESPメッセージのCorrectionフィールドに加算されます.経路にあるすべてのTCが滞留時間を加算しますので、スレーブが受け取るSYNCメッセージやDELAY_RESPメッセージはそれぞれ滞留時間の総和がCorrectionフィールドに含まれています.スレーブはこれをオフセットの計算に使います.遅延時間の計測はマスターとスレーブの間で行われます.

  • P2P : Peer-to-Peer トランスペアレントクロック :
    遅延時間の測定に Peer-to-Peer (P2P) Peer delay メカニズムを使います.上流のリンクのパス遅延をPDELAY_REQメッセージとPDELAY_RESP,PDELAY_RESP.FLOLLOW_UPメッセージをやり取りして測定します.E2E同様に伝送遅延誤差の大きな原因であるスイッチ内の滞留時間(処理と待ちにより発生)をCorrectionフィールドに加算しますが,加えてPeer Delayメカニズムで測定した上流リンクのパス遅延量もCorrectionフィールドに加算します.即ち,スレーブに到達したSYNCとDELAY_REQメッセージのCorrectionフィールドには,その経路の滞留遅延とパス遅延の遅延時間の総和が入っていることになります.スレーブはこれをオフセットの計算に使います.遅延時間の計測を各ピア間で行うため,スレーブクロックは伝搬経路が切り替わっても即座にオフセットを知ることができます.
BCとTCをまとめると以下のようになります.

    BCE2E TCP2P TC
    クロックSyncronizedSyntonizedSyntonized
    トポロジ無制限無制限Peer Delay mechanism
    ステート
    保持
    ポート毎
    ユニキャスト毎
    2-step リンク毎
    2-step
    補正再生成 処理時間
    待ち時間
    遠端間遅延
    処理時間
    待ち時間
    リンク遅延
    拡張性階層的 クライエント増加に伴い
    マスターの負担が増加
    階層的
    階層化誤差累積する累積しない累積しない
    トポロジの変更遅延の再計測遅延の再計測要す既知


すなわち;
  • E2E TC : ポートは複数.PTPノードとしては機能しない.correctionFieldに滞留遅延を加算する.PTP v2 のみ.
  • P2P TC : ポートは複数.PTPノードとしては機能しない.pdelayを実行.correctionFieldに滞留遅延と上流リンクのパス遅延を加算する.PTP v2 のみ.
  • BC : ポートは複数.PTPマスターとスレーブポートを持つ.マスターに同期した内蔵クロックを使いスレーブポートを出て行くパケットをタイプスタンプする.多段に使うと精度が落ちる.ドメインの中でE2EもP2Pも使うことができる.
  • 普通のスイッチングハブやルータ : 何もしない.通過方向により遅延時間が異なるし、遅延時間も変動するので同期誤差の原因となる.
  • P2P TC と E2E TC を同一経路に混ぜることはできない(特別な例外を除いて).
  • OC : ドメインの中でE2EもP2Pも使うことができる.
  • 大規模なPTP時刻同期の展開ではBC(上流)とTC(中間と下流)を適所に配置する
Q
PTPクライエントソフトは用意されていますか?
A
弊社から汎用OS用のPTPクライエントソフトを提供することはいたしません..以下は参考情報です.

Open SourceのPTPクライエントが配布されていますのでご利用ください.PTPタイムスタンプ機能を備えたネットワーク基板も販売されています.またNTPに比べてPTPの実装は負担が少ないこともあり,いろいろな機器にPTPクライエント機能が組み込まれるようになりました.
WindowsはそもそもPTPがサポートする時刻精度に対応できるOSではありません.

Linux, uClinux, FreeBSD, NetBSD
Linux カーネル2.6.30からNICのハードウェアタイムスタンプに容易にアクセスできるようになり,3.0.0からはハードウェアクロックチューニングにもアクセスできます.いずれにせよPTPdのようなアプリケーションが必要です.
PTPd デーモンソフトウェアは Sourceforge からダウンロードできます. PTPd は IEEE-1588の仕様を完全に実装しています.PTPdのソースコードはオープンソースであり,移植性や互換性も高く,非常に安定しています.ソフトウェアの実装だけで,システムクロックをグランドマスタークロックに対して10~100usの精度で同期させることが可能です.PTP Version 1 対応の ptpd-1.x.x.tar.gz とVersion 2 対応の ptpd-2.x.x.tar.gz がありますので,ダウンロードの際に注意してください.

PTPクライエントPCIe 基板例
PTPクライエントPCIe 基板例

Windows系OS
Windows用PTPクライエントソフトを利用することもできますが, PTPスレーブソフトウェアは非常に限られています.また,そもそも Windows OS はマイクロ秒レベルでの時刻同期はできないので PTP を利用する利点はありません.WindowsではNTPやSNTPを使うことをおすすめします.
しかし,PTPをサポートするハードウェアをインストールすれば,Windows PCを完全なPTPスレーブとすることができます.一例としては,ナショナルインスツルメントからそのようなハードウェアとソフトウェアが市販されています.GreywareからDOMAIN TIME II ソフトウェアが販売されています.

注意:PTPクライエントは弊社サポートの対応外です.お問い合わせいただいても対応いたしかねます.また,PTPクライエントの同期精度はクライエントとネットワークで決まります.クライエントの同期精度に関しての問い合わせにはお答えいたしかねます.現在証券業界で要求されるサブマイクロ秒の同期精度を実現するには,スレーブにもハードウェアタイムスタンプ機能と正確なクロックが必要になります.
Q
PTPをサブネットを越えて,あるいはルーティング環境で使うことはできますか?
A
E2EであればTTLを変えることでサブネット越えできます.ただし同期精度を維持したいのであれば,一般のL3スイッチではなくBCやTCを利用しなければなりません.BCやTCを計画的に配置する必要があります.こちらを参照ください.
一方PTPをWAN環境(VPNを含む)で使うことは想定されていません.WANにはNTPを使うべきです.
Q
PTP P2Pをサブネットを越えて,あるいはルーティング環境で使うことはできますか?
A
使えません.P2Pに使われるPdelay メッセージのTTLは1です.サブネット越えやルーター越えはできません.
Q
PTP P2PとE2Eを混在させられますか?
A
あるドメインのマスターからスレーブへの通信経路にP2PとE2Eを混在させることはできません.
Q
PTP Default Profileとは?
A
用途に応じてあらかじめ決められたPTPの運用仕様の一つです.二つのDefault Profileが用意されています.
  • Delay Request Response profile
    End to End 遅延測定のロファイルです
    domain 0, Announce interval 1 (range 0.4), Sync interval 0 (-1 to 1), Delay_Req interval 0 (0.5), Announce timeout 3 (2.10), Priority1 128, Priority2 128.

  • Peer to Peer profile
    Peer to Peer 遅延測定のプロファイルです
    Pdelay_Req interval 0 (0-5) が加わります
Q
PTP オプションを既存のTempus LXやMeridianにインストールできますか?
A
はい,すべてのTempus LX と Unison, Meridian タイムサーバーに PTP v1/v2 ハイブリッドグランドマスタークロック機能を追加できます.しかし,この機会に最新のハードウェアタイムスタンプ機能を備えた Sonoma シリーズ に更新することを強くお勧めいたします.
Q
PTP はどのような場所で実用されていますか?
A
すでに PTP は多くの場所で使われて始めています.
  • サーバー群の正確な時刻同期に利用されています.特に,クラスターなど複数のノード間の時刻同期に利用されています.
  • 株式や証券,債券のプログラム売買のようにミリ秒以下の単位で頻繁に取引が行われる環境では,NTPを使うことができずPTPが時刻同期の標準になっています.
  • 電力用通信網のIP化における,時刻同期への適用が世界的に広がりつつあります..
  • 産業機器やセンサーネットワークの中にもPTPが取り入れられつつあります.
  • 産業ロボットの同期にもPTPが使われます.
  • 携帯電話のフェムトセルの時刻同期はPTPが標準採用されています.
  • ストリーミング映像音楽配信やAVデジタル通信への応用 802.1AS が検討されています.
Q
2-step と 1-step の違いは?
A
Syncフレームにt1情報(egress time stamp)を含めるのがPTP v2で導入された 1-stepです.t1情報をSyncフレームとは別にFollow_upフレームで送るのを 2-step と呼びます.
Q
Tempus LX ハイブリッドグランドマスタークロック PTP v2 の実装は?
A
EndRun の PTPv2 実装は次の通りです:
Default profile.
Multicast messages.
Two-step clock.
Peer-to-peer (P2P) ないし end-to-end (E2E) delay mechanism 選択可
Sync Interval: 1 ないし 2 秒.
Announce Interval: 1, 2, 4, 8 ないし 16 秒.
Transport: UDP/IPv4.
Q
Tempus LX Meridian の ptp2config の代表的な設定は?
A
Tempus LX / Meridian の ptp2config の設定項目は次の通りです:
要素名称設定値内容代表値

PTP Sync Interval1か2秒
Syncフレームの送信頻度
1

Announce Interval1,2,4,8,16秒
16

Priority1 value0...255
GMCとしての絶対優先度
小さいほど優先度が高い
127

Priority2 value0...255
同点決勝時に比較する値
小さいほど優先度が高い
(クロッククラス, 精度, 変移, BC/OCでも決着がつかない時に参照) (Priority 2でも決着がつかないとID=MACアドレスで判別)
128

Delay MechanismE2E/P2P
遅延補正の方式
P2P

Domain value0...255
ドメイン値
この値によりマルチキャストアドレスが変わる
0

Time ModeUTC/PTP
時刻標準
UTC

TTL value1...255
1








実際のPTPトポロジ構成に合わせて設定願います. 現在は unicast のメッセージングには対応しておりません.
Q
ptp v2 の動作状況を確認する方法は?
A

Tempus LX 側では cptp2stat (CDMA) と gptp2stat (GPS) が用意されています.詳しくはマニュアルを参照ください.
クライエント側ではそれぞれのクライエントに用意されたツールを使います.

Q
ptp 対応のスイッチングハブはありますか?
A
TC や BC としての PTP 処理性能は各社千差万別です.詳しくは各販社にお問い合わせください.
販社(順不同)
PTP v1 BC
PTP v2 E2E
PTP v2 P2P
注記
Arista
Yes
Yes
Yes
機種による 7150
CISCO
Yes
Yes
Yes
機種による
Gigabee
Yes
Yes
Yes
機種による
HIRSCHMANN
Yes
Yes
Yes
機種による
JUNIPER
Yes
Yes
Yes
機種による
RUGGEDCOM
Yes
Yes
Yes
機種による RSG2288
MOXA
Yes
Yes
Yes
機種による
Perle
Yes
Yes
Yes

機種による


Q
PTP 以外の方法で正確な時刻をアンテナ工事することなく手にする方法は?
A
Endrunではアンテナ工事をすることなくGPSと同等の時刻精度を得ることが出来るCDMAタイムサーバと時刻標準を用意しています.
  • Sonoma D12 CDMA KDDI携帯が使えるところならGPSと同等の高精度な時刻が得られる NTP/PTP タイムサーバ
  • Praecis II KDDI携帯基地局を時刻源とするコンパクトな時刻標準 1PPS シリアルタイムコード



お問い合わせください


IEEE1588 / PTP 802.1AS リンク集