高精度時間プロトコル(PTP)は、比較的高精度で、潜在的に高い精度を持つコンピュータネットワーク全体のクロック同期のためのプロトコルです。ローカルエリアネットワーク(LAN)では、精度はマイクロ秒未満になる可能性があり、測定および制御システムに適しています。 [1] PTPは、金融取引、携帯電話の塔の送信、海底音響アレイ、および正確なタイミングを必要とするが衛星ナビゲーション信号にアクセスできないネットワークを同期するために使用されます。[要出典]
PTP の最初のバージョンであるIEEE 1588-2002は、2002 年に公開されました。PTPバージョン 2 としても知られるIEEE 1588-2008は、 2002 バージョンとの下位互換性がありません。IEEE 1588-2019 は、2019 年 11 月に公開され、2008 年の公開に対する下位互換性のある改良が含まれています。IEEE 1588-2008 には、PTP の動作パラメータとオプションを定義するプロファイルの概念が含まれています。電気通信、電力分配、オーディオビジュアル用途などのアプリケーション向けに、いくつかのプロファイルが定義されています。IEEE 802.1AS は、オーディオ ビデオ ブリッジング(AVB) およびタイム センシティブ ネットワーキング(TSN) で使用するために PTP を改良したもので、gPTP と呼ばれます
歴史
IEEE 1588-2002 標準化の取り組みを主導した John Eidson によると、「IEEE 1588 は、2 つの主要なプロトコルであるNTPとGPS のどちらでも十分に対応できないニッチを埋めるために設計されています。IEEE 1588 は、NTP を使用して達成できる精度を超える精度を必要とするローカル システム向けに設計されています。また、各ノードにGPS 受信機を設置するコストを負担できないアプリケーションや、GPS 信号にアクセスできないアプリケーション向けにも設計されています。」[2]
PTPはもともとIEEE 1588-2002規格で定義され、正式名称はネットワーク計測および制御システム向け高精度クロック同期プロトコル規格で、2002年に公開されました。2008年にIEEE 1588-2008は改訂版としてリリースされました。PTPバージョン2(PTPv2)とも呼ばれ、精度、精密度、堅牢性が向上していますが、オリジナルの2002バージョンとの下位互換性はありません。 [3] IEEE 1588-2019は2019年11月に公開され、[4]非公式にはPTPv2.1と呼ばれ、2008年の公開版に対する下位互換性のある改善が含まれています。[5]
建築
IEEE 1588 規格は、1 つ以上のネットワーク セグメントと 1 つ以上のクロックで構成されるクロック配信の階層型 マスター スレーブ アーキテクチャを規定しています。通常のクロックは、同期リファレンスのソースまたは宛先となる単一のネットワーク接続を持つデバイスです。ソースはリーダー(マスターとも呼ばれます) と呼ばれ、宛先はフォロワー(スレーブとも呼ばれます) と呼ばれます。境界クロックは複数のネットワーク接続を持ち、1 つのネットワーク セグメントを別のネットワーク セグメントと同期します。各ネットワーク セグメントに対して、単一の同期リーダーが選択 (選出) されます。ルート タイミング リファレンスはグランドマスターと呼ばれます。[6]
比較的単純な PTP アーキテクチャは、境界クロックのない単一セグメント ネットワーク上の通常のクロックで構成されます。グランドマスターが選出され、他のすべてのクロックがそれに同期します。
IEEE 1588-2008 では、PTP メッセージを伝送するために使用されるネットワーク機器に関連付けられたクロックが導入されています。透過クロックは、デバイスを通過する PTP メッセージを変更します。[7]メッセージ内の タイムスタンプは、ネットワーク機器を通過するのに費やされた時間に合わせて修正されます。この方式により、ネットワーク全体の 配信のばらつきを補正することで、配信精度が向上します。
PTP は通常、 Unix 時間と同じエポックを使用します(1970 年 1 月 1 日の開始)。[a] Unix 時間は協定世界時(UTC) に基づいており、うるう秒の影響を受けますが、PTP は国際原子時(TAI)に基づいています。PTP グランドマスターは、UTC と TAI 間の現在のオフセットを通信し、受信した PTP 時間から UTC を計算できるようにします。
プロトコルの詳細
PTP システムの同期と管理は、通信媒体を介したメッセージの交換によって実現されます。このために、PTP は次のメッセージ タイプを使用します。
- Sync、Follow_Up、Delay_Req、およびDelay_Respメッセージは通常のクロックと境界クロックによって使用され、ネットワーク全体でクロックを同期するために使用される時間関連の情報を伝達します。
- Pdelay_Req、Pdelay_Resp、およびPdelay_Resp_Follow_Upは、透過クロックによって通信媒体全体の遅延を測定し、システムで補正できるようにするために使用されます。透過クロックとそれに関連するこれらのメッセージは、元の IEEE 1588-2002 PTPv1 標準では使用できず、PTPv2 で追加されました。
- アナウンスメッセージは、IEEE 1588-2008のベストマスタークロックアルゴリズムによってクロック階層を構築し、グランドマスターを選択するために使用されます。[b]
- 管理メッセージは、ネットワーク管理によってPTP システムを監視、構成、および保守するために使用されます。
- シグナリングメッセージは、クロック間の時間的に重要でない通信に使用されます。シグナリング メッセージは、IEEE 1588-2008 で導入されました。
メッセージは、イベント メッセージと一般メッセージに分類されます。イベントメッセージは、送信と受信のタイムスタンプの精度がクロック配信の精度に直接影響するため、タイム クリティカルです。Sync 、Delay_Req、Pdelay_Req、およびPdelay_respはイベントメッセージです。一般メッセージは、これらのメッセージ内のデータは PTP にとって重要ですが、送信と受信のタイムスタンプは重要ではないという点で、より従来的なプロトコル データ ユニットです。Announce 、Follow_Up、Delay_Resp、Pdelay_Resp_Follow_Up、管理およびシグナリングメッセージは、一般メッセージ クラスのメンバーです。[8] : 6.4 項
メッセージ転送
PTP メッセージは、トランスポートにインターネット プロトコル上のユーザー データグラム プロトコル(UDP/IP)を使用できます。IEEE 1588-2002 はIPv4トランスポートのみを使用しますが、[9] : 付録 D では、IEEE 1588-2008 ではIPv6も含まれるように拡張されています。[8] : 付録 F IEEE 1588-2002 では、すべての PTP メッセージはマルチキャストメッセージングを使用して送信されますが、IEEE 1588-2008 では、デバイスがポートごとにユニキャスト送信をネゴシエートするオプションが導入されました。 [8] : 条項 16.1 マルチキャスト送信では、 IP マルチキャストアドレス指定が使用されます。このアドレス指定では、マルチキャスト グループ アドレスが IPv4 と IPv6 に対して定義されています (表を参照)。[8] : 付録DおよびE 時間的に重要なイベントメッセージ(Sync、Delay_req、Pdelay_Req、Pdelay_Resp)はポート番号319に送信されます。一般的なメッセージ(Announce、Follow_Up、Delay_Resp、Pdelay_Resp_Follow_Up、管理およびシグナリング)はポート番号320を使用します。[8] : 条項6.4
IEEE 1588-2008では、 DeviceNet、[8] :付録G、 ControlNet [8] :付録H 、PROFINET [8] :付録I についてもカプセル化が定義されている。
ドメイン
ドメイン[i]は、PTP を使用して相互に同期する相互作用するクロックのセットです。クロックは、受信または生成する PTP メッセージのサブドメイン名(IEEE 1588-2002) またはドメイン番号(IEEE 1588-2008) フィールドの内容に基づいてドメインに割り当てられます。ドメインにより、複数のクロック配信システムが同じ通信媒体を共有できるようになります。
最高のマスタークロックアルゴリズム
ベストマスター クロック アルゴリズム(BMCA) は、次のクロック プロパティに基づいて、リーダーとして機能する最適なクロックの分散選択を実行します。
- 識別子 – クロックの普遍的に一意の数値識別子。これは通常、デバイスのMAC アドレスに基づいて構築されます。
- 品質 - IEEE 1588 の両方のバージョンは、予想されるタイミング偏差、クロックを実装するために使用されるテクノロジ、またはクロック ストラタムスキーマ内の場所に基づいてクロック品質を定量化しようとしますが、データ フィールドストラタムを認識しているのは V1 (IEEE 1588-2002) のみです。PTP V2 (IEEE 1588-2008) は、データ フィールドclockAccuracyとclockClass を使用してクロックの全体的な品質を定義します。
- 優先度 – BMCA がPTP ドメインのグランドマスターを選択するために使用する、管理上割り当てられた優先度のヒント。IEEE 1588-2002 では、優先度を示すために単一のブール変数が使用されていました。IEEE 1588-2008 には、2 つの 8 ビット優先度フィールドがあります。
- 変動 – PTP リファレンスに対するパフォーマンスの観察に基づくクロックの安定性の推定値。
IEEE 1588-2008では、以下の特性に基づいた階層的選択アルゴリズムを以下の順序で採用している。[8] :図27
- 優先度 1 – ユーザーは各クロックに特定の静的に設計された優先度を割り当て、それらの間の優先度を事前に定義できます。数値が小さいほど優先度が高くなります。
- クラス – 各クロックは特定のクラスのメンバーであり、各クラスには独自の優先順位が与えられます。
- 精度 – 時計と UTC 間の精度(ナノ秒(ns)単位)
- 変動 – 時計の変動性
- 優先度 2 – 最終的に定義された優先度。他の基準が十分でなかった場合のバックアップ順序を定義します。数値が小さいほど優先度が高くなります。
- 一意の識別子 - 他のすべてのプロパティが等しい場合、MAC アドレス ベースの選択がタイブレーカーとして使用されます。
IEEE 1588-2002 では、類似した特性に基づく選択アルゴリズムが使用されます。
クロックのプロパティは、IEEE 1588-2002 Syncメッセージと IEEE 1588-2008 Announceメッセージで通知されます。現在のリーダーは、この情報を定期的に送信します。より優れたリーダーであると自認するクロックは、リーダーの変更を促すためにこの情報を送信します。現在のリーダーがより良いクロックを認識すると、現在のリーダーはSyncメッセージと関連するクロック プロパティ ( IEEE 1588-2008 の場合はAnnounceメッセージ) の送信を停止し、より優れたクロックがリーダーを引き継ぎます。 [10] BMCA は、クロックの自己宣言品質のみを考慮し、ネットワーク リンク品質は考慮しません。[11]
同期
PTP は BMCA を介して、IEEE 1588 ドメインとドメイン内の各ネットワーク セグメントの時間ソースを選択します。
クロックは、自分自身とリーダーの間のオフセットを決定します。[12]変数が物理的な時間を表すものとします。特定のフォロワーデバイスの場合、時間オフセットは次のように定義されます。
ここで、 は物理時間 にフォロワー クロックによって測定された時間を表し、 は物理時間 にリーダー クロックによって測定された時間を表します。
リーダーは、現在の時刻をメッセージとして他のクロックに定期的にブロードキャストします。IEEE 1588-2002 では、ブロードキャストは 1 秒あたり最大 1 回です。IEEE 1588-2008 では、1 秒あたり最大 10 回までが許可されます。

各ブロードキャストは、リーダーからドメイン内のすべてのクロックに送信されるSyncメッセージで開始されます。このメッセージを受信したクロックは、このメッセージを受信したときのローカル時間を記録します。
リーダーはその後、正確なタイムスタンプを含むマルチキャストFollow_Upを送信できます。すべてのリーダーが Sync メッセージに正確なタイムスタンプを表示できるわけではありません。送信が完了した後でのみ、ネットワーク ハードウェアからSync送信の正確なタイムスタンプを取得できます。この制限があるリーダーはFollow_Upメッセージを使用して伝達します。ネットワーク ハードウェアに PTP 機能が組み込まれているリーダーは、 Syncメッセージに正確なタイムスタンプを表示できるため、Follow_Up メッセージを送信する必要はありません。
リーダーと正確に同期するために、クロックはSyncメッセージのネットワーク通過時間を個別に決定する必要があります。通過時間は、各クロックからそのリーダーまでの往復時間を測定することによって間接的に決定されます。クロックは、通過時間を測定するように設計されたリーダーとの交換を開始します。交換は、クロックが時間にリーダーにDelay_Reqメッセージを送信することから始まります。リーダーは時間にDelay_Req を受信してタイムスタンプを付け、Delay_Respメッセージで応答します。リーダーはDelay_Respメッセージにタイムスタンプを含めます。
これらのやり取りを通じて、時計は、、およびを学習します。
が同期メッセージの通過時間であり、がリーダークロックとフォロワークロック間の一定のオフセットである場合 、
上記の2つの式を組み合わせると、
クロックは、このトランザクション中のオフセットを認識し、リーダーと一致するようにこの量だけ自身を修正することができます。
1 つの仮定は、このメッセージの交換は、その期間にわたってこのオフセットが一定であると安全に考えられるほど短い期間にわたって行われるというものです。もう 1 つの仮定は、リーダーからフォロワーへのメッセージの送信時間は、フォロワーからリーダーへのメッセージの送信時間と等しいというものです。最後に、リーダーとフォロワーの両方が、メッセージの送信または受信時間を正確に測定できると仮定します。これらの仮定がどの程度当てはまるかによって、フォロワー デバイスのクロックの精度が決まります。[8] : 6.2 項
オプション機能
IEEE 1588-2008 標準では、実装でサポートすることを選択できる次の機能セットがリストされています。
- 代替タイムスケール
- グランドマスタークラスター
- ユニキャストマスター
- 代替マスター
- パストレース
IEEE 1588-2019では、オプション機能と下位互換性のある機能が追加されている: [5]
- モジュール式透明時計
- 組み込みの時間配信を備えたトランスポートとインターフェースするための特別なPTPポート
- ユニキャストDelay_ReqおよびDelay_Respメッセージ
- BMCA をオーバーライドする手動ポート設定
- 非対称性校正
- 物理層周波数リファレンスを利用する機能(例:同期イーサネット)
- プロファイル分離
- ドメイン間の相互作用
- 整合性チェックのためのセキュリティTLV
- 標準的なパフォーマンスレポート指標
- スレーブポート監視
関連する取り組み
- 計測、制御、通信のための高精度クロック同期に関する国際IEEEシンポジウム(ISPCS)は、IEEEが主催する年次イベントで、プラグテストや、PTPのさまざまな側面を網羅した論文やポスターの発表、チュートリアル、ディスカッションなどの会議プログラムが含まれています。[13]
- チューリッヒ応用科学大学/ZHAWの組み込みシステム研究所 (InES) は、PTP の実用的な実装と応用に取り組んでいます。
- IEEE 1588 は、テストおよび測定の通信と制御のためのLXI標準の重要なテクノロジです。
- IEEE 802.1AS-2011 は、IEEEオーディオビデオブリッジング(AVB) 標準規格グループの一部です。[k]これは、IEEE 802.1Qで定義されている仮想ブリッジローカルエリアネットワーク上の時間同期に IEEE 1588-2008 を使用するためのプロファイルを指定します。特に、802.1AS は、IEEE 802.3 (イーサネット)、IEEE 802.11 ( Wi-Fi )、およびMoCA がすべて同じ PTP タイミングドメインの一部になる方法を定義します。[14]
- SMPTE 2059 -2は放送メディアシステムの同期に使用するPTPプロファイルです。[15]
- AES67オーディオネットワーク相互運用性規格には、SMPTE ST2059-2と互換性のあるPTPv2プロファイルが含まれています。[16]
- Danteは同期にPTPv1を使用する。[17]
- Q-LAN [18]とRAVENNA [17]は時間同期にPTPv2を使用しています。
- White Rabbit プロジェクトは、同期イーサネットと PTPを組み合わせます。
- IEC 62439-3 の産業オートメーション向け高精度時間プロトコル業界プロファイルPTP プロファイル (L2P2P および L3E2E)
- IEC 61850 で採用された変電所自動化のためのIEC/IEEE 61850-9-3 PTP プロファイル
- 並列ネットワークにおける産業オートメーションのための PTP プロファイル (L2P2P および L3E2E) を使用した並列冗長プロトコル
- PTPは、電力システムの広域監視における安全な時刻同期プロトコルとして適用することが研究されている[19]
参照
注記
- ^ IEEE 1588-2008のプロファイル機能では、アプリケーション固有のエポックの使用が許可されています。[8] : 付録B
- ^ IEEE 1588-2002 では、アナウンスメッセージで伝えられる情報は、同期メッセージで伝えられます。IEEE 1588-2008 では、同期メッセージが最適化され、この情報はここでは伝えられなくなりました。
- ^ Ethertype 0x88F7を使用した IEEE 802.3 イーサネット経由の PTP
- ^ IEEE 1588-2002 のデフォルト以外のドメインは、宛先アドレス 224.0.1.130 から 224.0.1.132 を使用します (「ドメイン」を参照)。
- ^ ここで、x はRFC 2373 に従ったアドレス スコープ (リンク ローカルの場合は 2) です ( IPv6 マルチキャスト アドレスを参照)
- ^ 一部のPTPアプリケーションでは、すべてのPTPメッセージを01-1B-19-00-00-00に送信することが許可されています。
- ^ ピア遅延メッセージは、直接接続されたネイバーに伝播することを目的としています。これらのメッセージのマルチキャスト アドレスは、リンク ローカル スコープになるように設計されており、ルーターを経由しません。IEEE 1588-2008 では、メッセージがルーティングされないようにするために、存続時間を1 (IPv4) に設定するか、ホップ制限を 0 (IPv6) に設定することも推奨されています。
- ^ ピア遅延メッセージングはIEEE 1588-2002には存在しない
- ^ IEEE 1588-2002では、ドメインを相互接続されたクロックのセット (相互に同期しているかどうかに関係なく) として定義し、 IEEE 1588-2008 でドメインとして知られているものを指すためにサブドメインを使用します。
- ^ IEEE 1588-2008 では、すべてのマルチキャスト メッセージのアドレスとして 224.0.1.129 を使用します。
- ^ AVB は、IEEE 802.1 Time-Sensitive Networking (TSN) タスク グループによってさらに拡張されています。
参考文献
- ^ Eidson, John (2005 年 10 月 10 日)。「ネットワーク化された測定および制御システム用の高精度クロック同期プロトコルの IEEE-1588 標準、チュートリアル」。米国国立標準技術研究所 (NIST)。
- ^ Eidson, John C. (2006 年 4月)。IEEE 1588 を使用した測定、制御、通信。Springer。ISBN 978-1-84628-250-8。
- ^ Eidson, John (2006 年 10 月 2 日). 「IEEE 1588 標準バージョン 2 - チュートリアル」(PDF)。2010 年 3 月 31 日時点のオリジナル(PDF)からアーカイブ。2008 年6 月 12 日閲覧。
- ^ 「1588-2019 - ネットワーク化された測定および制御システム向けの高精度クロック同期プロトコルのIEEE承認ドラフト標準」。IEEE 。 2020年2月15日閲覧。
- ^ ab Douglas Arnold (2017年9月24日). 「IEEE 1588の次期版では何が発表されるのか?」. 2020年2月15日閲覧。
- ^ 「IEEE 1588 で使用される一般的な用語の意味」。米国国立標準技術研究所。2010 年 5 月 27 日時点のオリジナルよりアーカイブ。2006年5 月 19 日閲覧。
- ^ 「AN-1838 DP83640 を使用した IEEE 1588 境界クロックおよび透過クロックの実装」(PDF) . ti.com . Texas Instruments . 2019 年7 月 17 日閲覧。
- ^ abcdefghijkl IEEE 標準、ネットワーク計測および制御システム向け高精度クロック同期プロトコル、IEEE、2008 年 7 月 24 日、doi :10.1109/IEEESTD.2008.4579760、ISBN 978-0-7381-5400-8
- ^ abc IEEE 標準、ネットワーク計測および制御システム向け高精度クロック同期プロトコル、IEEE、2002 年 11 月 8 日、doi :10.1109/IEEESTD.2002.94144、ISBN 978-0-7381-3369-0
- ^ Watt, Steve T.; Achanta, Shankar; Abubakari, Hamza; Sagen, Eric (2014 年 3 月)、Understanding and Applying Precision Time Protocol (PDF) 、 2017 年9 月 9 日閲覧
- ^ FSMLabs テクニカル スタッフ (2015 年 9 月)、「スマートおよびダム PTP クライアントといわゆる「ベスト マスター クロック アルゴリズム」」、2018 年5 月 17 日閲覧
- ^ 国際規格 IEC 61588: ネットワーク化された計測および制御システムのための高精度クロック同期プロトコル。2004 年。
- ^ ISPCSウェブサイト
- ^ Geoffrey M. Garner (2010 年 5 月 28 日)、IEEE 802.1AS および IEEE 1588 (PDF)
- ^ SMPTE が既存の SDI プラントで PTP タイミング機器の導入を可能にする標準規格の最初の 2 部を公開、米国映画テレビ技術者協会、2015 年 4 月 13 日、2015 年5 月 21 日閲覧
- ^ AES-R16-2016: AES 標準レポート - AES67 と SMPTE ST 2059-2 の相互運用性のための PTP パラメータ、Audio Engineering Society、2016 年 5 月 2 日
- ^ ab https://www.smpte.org/sites/default/files/users/user27446/AES67%20for%20Audio%20Production-Background%20Applications%20and%20Challenges.pdf [リンク切れ ]
- ^ 「AV ネットワークにおける PTPv2 タイミング プロトコル」。Luminex。2017 年 6 月 6 日。Q
-LAN は約 2 年前に PTPv2 にアップデートされました。
- ^ Pepiciello, Antonio; Vaccaro, Alfredo (2018 年 12 月 17 日)、「WAMPAC 同期のための高精度時間プロトコルに基づく信頼性の高いアーキテクチャ」、2018 AEIT 国際年次会議、IEEE、pp. 1–5、doi :10.23919/AEIT.2018.8577414、ISBN 978-8-8872-3740-5、S2CID 58819556
外部リンク
- NIST IEEE 1588 サイト
- InES の PTP ドキュメント
- PTP と LTE モバイル ネットワークの同期
- 設置・保守の観点から見たPTPの説明
- Hirschmann PTP ホワイトペーパー
- Cisco CGS 2520 スイッチ ソフトウェア コンフィギュレーション ガイドの PTP の概要
- RuggedCom スマートグリッド研究 IEC 61850 テクノロジーに関する展望と優先事項
- スマート変電所ソリューションを使用したプロジェクト
- McGhee, Jim; Goraj, Maciej (2010)、「IEC 61850 プロセス バスと IEEE 1588 時間同期に基づくスマート高電圧変電所」、2010 年第 1 回 IEEE 国際スマート グリッド通信会議、pp. 489–494、doi :10.1109/SMARTGRID.2010.5622092、ISBN 978-1-4244-6510-1、S2CID 30638718
- Ingram, DME; Campbell, DA; Schaub, P.; Ledwich, GF (2011)。「マルチプロトコル サンプル値保護スキームのテストおよび評価システム」。2011 IEEE Trondheim PowerTech 。トロンハイム、ノルウェー: IEEE。pp. 1–7。doi :10.1109/ PTC.2011.6019243。ISBN 978-1-4244-8419-5. S2CID 42991214。
- ホワイトラビットプロジェクトPTP
- IEC&IEEE 高精度時間プロトコル、Pacworld、2016 年 9 月
- IEC 62439-3 付録 AE クロックとネットワーク管理の冗長接続
- AV ネットワークにおける PTPv2 タイミング プロトコル
- FSMLabs: 単一ソースの IEEE PTP 1588 では金融規制基準を満たすことができない
