IEEE1588v2 Precision Time Protocolを理解するために必要な情報をまとめます。
PTPv1 | V2の登場により使われなくなりました. UDPによるマルチキャストで時刻情報を頻繁に配信するプロトコル BC(バウンダリークロック)を多段に使用することは誤差の累積を招きます. |
PTPv2 | TC(トランスペアレントクロック)と呼ばれる遅延管理機能を持ったスイッチングハブの利用が可能になりました. UDPマルチキャストに加えてP2Pのユニキャストも可能になりました |
業界分野によってプロファイルという形で分類されています。
PTPという同じパケットフォーマットですが、方式や通信方法が異なるため基本的に互換性はないです。
どのPTPプロファイルに対応しているかを確認してネットワーク機器を選定する必要があります。
Default Profile | IEEE1588にて規格化 |
Enterprise Profile | 金融向けプロファイル。 金融業界は、少し前までは、デフォルトプロファイルが利用されていた。 機器が対応していないことがあるので、必要なら機器選びに注意 |
Telecom-2008 Profile | テレコム用。ITU-T規格 |
Power Profile | 電力 |
SMPTE ST2059 | 映像配信分野向けプロファイル |
参考:
https://www.marubun.co.jp/product/system/a7ijkd0000001e2g-att/a7ijkd0000001edm.pdf
https://www.marubun.co.jp/product/system/a7ijkd00000073fw.html
パラメータ | 説明 | 例 |
---|---|---|
Domain number | PTPで同期するグループ (0〜127) | 127 |
Announce interval | アナウンスメッセージの送信間隔 (125ms - 1s) | 250ms (-2) |
Sync interval | syncフレームの送信間隔 (1/128s - 500ms) | 125ms (-3) |
Delay request interval | Delay requestフレームの送信間隔 (Sync interval - 32 x Sync interval) | Sync interval (-3) |
秒ではなく、周期で設定する機器もあります。
2 : 4s 1 : 2s 0 : 1s -1 : 1/2s = 500ms -2 : 1/4s = 250ms -3 : 1/8s = 125ms
マスターとなる機器の時刻にスレーブとなる機器が時刻を合わせる仕組みになっています。
スターとなる機器の最上位になるグランドマスター(PTPタイムサーバ)はGPSなど高精度な時刻源と同期している必要があります。
One-Step モード | Sync にT1 を埋め込んで送信 |
Two-Step モード | Sync の後にT1 を埋め込んだFollow_Upを送信 |
通信量が少ないOne-stepモードの方が優れていますが、まだOne-stepモードをサポートする機器が少ない為、Two-stepモードが使われることが多いです。
OC | Ordinary Clock | PTPポートを1つだけ持つノードのクロック マスターかスレーブになります。 ・マスターモード:スレーブに配信する ・スレーブモード:マスターに同期させる |
GM | Grand master clock | PTP ドメイン内で最優先されるクロックソース PTP ドメイン上に複数の GM が存在する場合は、 Best Master Clock (BMC) アルゴリズムによって最適な GM が選択されます。 |
Slave clock | スレーブクロックは GM からの PTP メッセージを受信し、時刻の同期を行ないます。 | |
BC Mode | Boundary Clock | BC は PTP ドメイン上で GM に同期するスレーブクロックとして動作します。 また、接続されたネットワークに対し PTP メッセージを中継する役割を持ちます。 |
E2E TC Mode | Transparent clock | |
P2P TC Mode | Transparent clock |
トランスペアレントモードを利用する場合、PTPコミュニケーション方法として、E2Eか、P2Pがあります。
ひとつのPTPネットワークで、共通にする必要があります。
参考:
https://www.marubun.co.jp/product/system/a7ijkd0000001e2g-att/a7ijkd0000001edm.pdf
https://www.marubun.co.jp/product/system/a7ijkd00000073fw.html
GMCとSlaveが中間ノードを超えてメッセージ交換する
Delay ReqとDelay Reapを隣り合うノード間で通信する
ネットワークスイッチの物理層を使って周波数を伝播する方式。
物理層を使用するのでトラフィック環境に依存せず高精度な周波数を配信できます。
同期を行う伝送路のすべての装置がSync-Eに対応している必要があります。
BMCA(Best Master Clock Algorithm)で、同一ドメイン内で最も優先度の高いClockがMasterになります。
BMC(Best Master Clock) は、2つのグランドマスターのクロックデータを比較し、ベストなクロックを決定します。
ベストなクロックデータを持つグランドマスターがそのネットワークの PTP グランドマスターとなり、
スレーブに時刻を送信します。
1つの PTP グランドマスターが同期パケットを送信します
アナウンスメッセージには下記パラメータが含まれており、1から順に比較が行われ、値が小さい方が優先されます。
1 | Priority1 | 任意の値を設定でき、グランドマスターにしたい機器は最小に設定します |
2 | Clock Class | 時刻源に同期している状態かどうか |
3 | Clock Accuracy | 機器固有の値でクロック精度 |
4 | Clock Variance | クロックのばらつき |
5 | Priority2 | 任意の値を設定でき、1-4で評価できなかった際に使われます |
6 | Unique Identifier | 他の全ての値で評価できなかった場合は一意の値としてUUID(NICのMAC Address)で評価します |
任意に設定できるのは、Priority1とPriority2です。
機器 | Priority1 | Priority2 |
---|---|---|
GrandMaster1 | 10 | 10 |
GrandMaster2 | 11 | 11 |
BC Switch1 | 100 | 100 |
BC Switch2 | 101 | 101 |
参考:https://www.netone.co.jp/knowledge-center/blog-column/knowledge_takumi_223/
PTPの冗長化したネットワークの設計ポイントは、PTPを受信しているスイッチ同士を同期させる専用のネットワークを物理的に分けて、
PTP信号のみを転送するようにし、それ以外の通信は転送しないようにする必要があります。