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 |
GPS | 1us | GPS衛星 |
Sonoma, Meridian II, Tempus LX, Meridian |
CDMA | 1~10us | CDMA携帯基地局 |
Sonoma, Meridian II, Tempus LX, Meridian, Praecis II |
NTP | 1~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の特徴は以下の通りです.
一方,PTPは主に遅延の厳密な管理が可能なLAN内で使うことを条件に,NTPに対して何桁も高い同期精度を比較的簡単な仕掛けで実現するものです. |
Q | IEEE1588 PTP を構成する要素は? |
A |
それぞれの要素の性格をよく表した独特な名前が使われます.
要素 | 名称 | 内容 | PTP |
OC | Ordinary Clock | ポートを1つだけ持つPTPノード | V1/V2 |
OC Master | Ordinary Clock Master | マスターポートを持つOC 時刻源 | V1/V2 |
OC Slave | Ordinary Clock Slave | スレーブポートを持つOC 機器類 | V1/V2 |
GMC | Grand Master Clock | 時刻基準の時刻源 GMCAで選出 | V1/V2 |
BC | Boundary Clock | 複数のポートを持つPTPノード | V1/V2 |
BC Master | Boundary Clock Master | BCのマスターポート | V1/V2 |
BC Slave | Boundary Clock Slave | BCのスレーブポート | V1/V2 |
TC | Transparent Clock | PTPノードではない | V2 |
TC Master | Transparent Clock Master | TCのマスターポート | V2 |
TC Slave | Transparent Clock Slave | TCのスレーブポート | V2 |
これらはイーサネット(他のメディアでもかまわない)を介して接続されます.独特な名前が付いていますが,GMCが時刻源であり,それにOC Slaveが時刻同期します.BCとTCはPTPプロトコルを理解し取り扱うPTP対応スイッチやルーターに相当します. 現在は V1 が使われることはまれであり、V2のみが使われます. |
Q | IEEE1588 PTP v2 のメッセージとは? |
A |
Eventタイプのメッセージが正確なタイムスタンプを扱います.
Hex | Message | Type | PTP |
00 | Sync | Event | V1/V2 |
01 | Delay_Req | Event | V1/V2 |
02 | Pdelay_Req | Event | V2 |
03 | Pdelay_Resp | Event | V2 |
08 | Follow_Up | General | V1/V2 |
09 | Delay_Resp | General | V1/V2 |
0a | Pdelay_Resp_Follow_Up | General | V2 |
0b | Announce | General | V2 |
0c | Signaling | General | V2 |
0d | Management | General | V2 |
|
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秒).
マスタークロックからドメインに対してSYNCメッセージがマルチキャストされる
SYNCメッセージにはメッセージがマスターを離れた時のマスタークロックの時刻 T1 が書き込まれています.それがタイムスタンプです.0時0分10秒というタイムスタンプが打たれていたとします.1stepではここまでですが、2stepではFOLLOW_UPメッセージに,正確に測り直した T1 を書き込んで相手に通知します.
スレーブクロックはSYNCメッセージを受け取った時刻を記録します
0時0分10秒 のタイムスタンプを持つSYNCメッセージがスレーブに届きますが,スレーブの時計は2秒遅れているのでスレーブの時計では0時0分8秒にマスターを離れたことになります.それが遅延時間1秒をかけてスレーブに届くのですから,到達した時刻 t2 はスレーブの時計では0時0分9秒になります.
スレーブクロックからマスターに DELAY_REQ を送ります
DELAY_REQ メッセージにはメッセージがスレーブを離れた時のスレーブクロックの時刻 t3 がタイムスタンプとして書き込まれています.0時0分20秒というタイムスタンプが打たれていたとします.
マスタークロックは DELAY_REQ メッセージを受け取った時刻を記録します
0時0分20秒 のタイムスタンプを持つDELAY_REQメッセージがマスターに届きますが,マスターの時計はスレーブに比べて2秒進んでいるので,マスターの時計では0時0分22秒にスレーブを離れたことになります.それが遅延時間1秒をかけてスレーブに届くのですから,到達した時刻 T4 はマスターの時計では0時0分23秒になります.
マスタークロックは DELAY_RESP メッセージをドメインに対してマルチキャストで送信します
マスターはスレーブに T4 を伝える目的で DELAY_RESP メッセージを送信します.
スレーブクロックは 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は対応しません
(オプション) パストレース
(オプション) 代替タイムスケール
(オプション) マスタークラスターテーブル
(オプション) 代替マスター
|
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をまとめると以下のようになります.
| BC | E2E TC | P2P TC |
クロック | Syncronized | Syntonized | Syntonized |
トポロジ | 無制限 | 無制限 | 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 Interval | 1か2秒 | Syncフレームの送信頻度 | 1 |
| Announce Interval | 1,2,4,8,16秒 | | 16 |
| Priority1 value | 0...255 |
GMCとしての絶対優先度
小さいほど優先度が高い | 127 |
| Priority2 value | 0...255 |
同点決勝時に比較する値
小さいほど優先度が高い
(クロッククラス, 精度, 変移, BC/OCでも決着がつかない時に参照) (Priority 2でも決着がつかないとID=MACアドレスで判別) | 128 |
| Delay Mechanism | E2E/P2P | 遅延補正の方式 | P2P |
| Domain value | 0...255 |
ドメイン値
この値によりマルチキャストアドレスが変わる | 0 |
| Time Mode | UTC/PTP | 時刻標準 | UTC |
| TTL value | 1...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 | |
MOXA | Yes | Yes | Yes | 機種による |
Perle | Yes | Yes | Yes | |
|
Q | PTP 以外の方法で正確な時刻をアンテナ工事することなく手にする方法は? |
A | Endrunではアンテナ工事をすることなくGPSと同等の時刻精度を得ることが出来るCDMAタイムサーバと時刻標準を用意しています.
-
-
Praecis II KDDI携帯基地局を時刻源とするコンパクトな時刻標準 1PPS シリアルタイムコード
|
|
|
| お問い合わせください. |
|
IEEE1588 / PTP 802.1AS リンク集
|