Precision Time Protocol について
Precision Time Protocol(PTP)は、IEEE 1588 で、ネットワーク化された測定および制御システムの高精度クロック同期として定義されており、さまざまな精度と安定性の分散デバイス クロックを含むパケットベース ネットワークでクロックを同期させるために開発されました。PTPは、産業用のネットワーク化された測定および制御システム向けに特別に設計されており、最小限の帯域幅とわずかな処理オーバーヘッドしか必要としないため、分散システムでの使用に最適です。
(注) |
シスコは、従来のマスター/スレーブの命名法から移行しています。このドキュメントでは、代わりにグランドマスタークロック(GMC)または時刻源と時刻受信者という用語が使用されます。 |
PTP を使用する理由
ピーク時課金、仮想発電機、停電の監視/管理などのスマート グリッド電力自動化アプリケーションは、非常に正確な時刻精度と安定性を必要とします。タイミングの精度は、ネットワーク監視の精度とトラブルシューティング能力を向上させます。
時刻精度および同期の提供に加えて、PTP メッセージベース プロトコルは、イーサネット ネットワークなどのパケットベース ネットワークに実装することもできます。イーサネット ネットワークで PTP を使用する利点は次のとおりです。
-
既存のイーサネット ネットワークでコストを削減でき、セットアップも容易
-
PTP データパケットは限られた帯域幅しか必要としない
イーサネット スイッチと遅延
イーサネット ネットワークでは、スイッチは、ネットワーク デバイス間の全二重通信パスを提供します。スイッチは、パケットに含まれるアドレス情報を使用して、データ パケットをパケット宛先に送信します。スイッチは、複数のパケットを同時に送信しようとする場合、送信前に失われないようにパケットの一部をバッファします。バッファがいっぱいになると、スイッチはパケットの送信を遅延させます。この遅延により、ネットワーク上のデバイス クロックが相互に同期しなくなる可能性があります。
スイッチが MAC アドレス テーブルを検索してパケット CRC フィールドを確認している間に、スイッチに入るパケットがローカル メモリに保存されると、追加の遅延が発生する可能性があります。このプロセスによりパケット転送時間のレイテンシが変動し、これらの変動によってパケット遅延時間が非対称になる場合があります。
PTP をネットワークに追加することで、デバイス クロックを正しく調整し、相互の同期を維持することにより、これらのレイテンシおよび遅延の問題を補うことができます。PTP により、ネットワーク スイッチは、境界クロック(BC)やトランスペアレント クロック(TC)などの PTP デバイスとして機能することが可能になります。
(注) |
PTP クロック デバイスと PTP ネットワークにおけるそれらの役割の詳細については、PTP クロックを参照してください。 |
メッセージベースの同期
クロックの同期を確保するために、PTP では、時刻源(グランドマスタークロック)と時刻受信者の間の通信パス遅延を正確に測定する必要があります。PTP は、遅延測定を決定するために、時刻源と時刻受信者の間でメッセージを送信します。次に、PTP は正確なメッセージ送受信時間を測定し、これらの時間を使用して通信パス遅延を計算します。その後、PTP は、計算された遅延に対してネットワーク データに含まれる現在の時刻情報を調整し、より正確な時刻情報を生成します。
この遅延測定原理によってネットワーク上のデバイス間のパス遅延が決定され、時刻源と時刻受信者の間で送信される一連のメッセージを使用して、この遅延に関してローカルクロックが調整されます。一方向の遅延時間は、送信メッセージと受信メッセージのパス遅延を平均化することによって計算されます。この計算は対称的な通信パスを前提としていますが、スイッチド ネットワークは、バッファリング プロセスのために必ずしも対称的な通信パスを持つとはかぎりません。
PTP は、トランスペアレントクロックを使用し、スイッチをネットワーク上の時刻源と時刻受信者ノードに対して一時的に透過的にして、ネットワーク タイミング パケットの時間間隔フィールドの遅延を測定し、割り出す方法を提供します。エンドツーエンド トランスペアレント クロックは、スイッチと同じ方法で、ネットワーク上のすべてのメッセージを転送します。
(注) |
Cisco PTP は、マルチキャスト PTP メッセージのみをサポートしています。 |
同期メッセージの詳細については、PTP イベント メッセージ シーケンスを参照してください。トランスペアレント クロックがネットワーク遅延を計算する方法の詳細については、PTP クロックを参照してください。
次の図に、時刻源クロック、境界クロックモードのスイッチ、およびデジタルリレーや保護デバイスなどのインテリジェントな電子機器(IED)を含む、標準的な 1588 PTP ネットワークを示します。この図では、Time Source 1 がグランドマスタークロックです。Time Source 1 が使用できなくなった場合、時刻受信者の境界クロックは同期のために Time Source 2 に切り替わります。
PTP イベント メッセージ シーケンス
ここでは、同期中に発生する PTP イベント メッセージ シーケンスについて説明します。
境界クロックとの同期
遅延要求/応答メカニズム用に設定されたオーディナリ クロックと境界クロックは、次のイベント メッセージを使用してタイミング情報を生成し、伝えます。
-
Sync
-
Delay_Req
-
Follow_Up
-
Delay_Resp
これらのメッセージは、次のシーケンスで送信されます。
-
時刻源が、時刻受信者に Sync メッセージを送信し、それが送信された時刻(t1)を記録します。
-
時刻受信者が、Sync メッセージを受信し、受信した時刻(t2)を記録します。
-
時刻源が、Follow_Up メッセージにタイムスタンプ t1 を組み込むことによって、タイムスタンプ t1 を時刻受信者に伝えます。
-
時刻受信者が、時刻源に Delay_Req メッセージを送信し、それが送信された時刻(t3)を記録します。
-
時刻源が、Delay_Req メッセージを受信し、受信した時刻(t4)を記録します。
-
時刻源は、タイムスタンプ t4 を Delay_Resp メッセージに埋め込むことにより、タイムスタンプ t4 を時刻受信者に伝達します。
このシーケンスの後、時刻受信者は 4 つのタイムスタンプをすべて保有します。これらのタイムスタンプを使用して、時刻源に対する時刻受信者クロックのオフセットと、2 つのクロック間のメッセージの平均伝達時間を計算できます。
オフセット計算は、メッセージが時刻源から時刻受信者に伝達される時間が時刻受信者から時刻源に伝達されるために必要な時間と同じであるという前提に基づいています。この前提は、非対称的なパケット遅延時間のためにイーサネット ネットワーク上では必ずしも妥当ではありません。
ピアツーピア トランスペアレント クロックとの同期
ネットワークの階層内に複数のレベルの境界クロックが含まれており、それらの間に非 PTP 対応デバイスがある場合は、同期の精度が低下します。
ラウンドトリップ時間は mean_path_delay/2 と等しいことが前提となっていますが、この前提はイーサネット ネットワークでは必ずしも妥当ではありません。精度を向上させるために、各中間クロックの常駐時間がエンドツーエンド トランスペアレント クロックのオフセットに追加されます。ただし、常駐時間にはピア間のリンク遅延が考慮されていません。ピア間のリンク遅延はピアツーピア トランスペアレント クロックによって処理されます。
ピアツーピア トランスペアレント クロックは、ピア遅延メカニズムを実装する 2 つのクロック ポート間のリンク遅延を測定します。リンク遅延は、Sync メッセージと Follow_Up メッセージのタイミング情報を修正するために使用されます。
ピアツーピア トランスペアレント クロックは、次のイベント メッセージを使用します。
-
Pdelay_Req
-
Pdelay_Resp
-
Pdelay_Resp_Follow_Up
これらのメッセージは、次のシーケンスで送信されます。
-
ポート 1 が、Pdelay_Req メッセージのタイムスタンプ t1 を生成します。
-
ポート 2 が、このメッセージを受信してタイムスタンプ t2 を生成します。
-
ポート 2 が、Pdelay_Resp メッセージを返してタイムスタンプ t3 を生成します。
2 つのポート間の周波数オフセットによるエラーを最小限に抑えるために、ポート 2 は、Pdelay_Reqメッセージを受信した後に、できるかぎり迅速に Pdelay_Resp メッセージを返します。
-
ポート 2 が、Pdelay_Resp メッセージと Pdelay_Resp_Follow_Up メッセージでそれぞれタイムスタンプ t2 とタイムスタンプ t3 を返します。
-
ポート 1 が、Pdelay_Resp メッセージを受信した後に、タイムスタンプ t4 を生成します。その後、ポート 1 が、4 つのタイムスタンプ(t1、t2、t3、t4)を使用して平均リンク遅延を計算します。
ローカル クロックの同期
理想的な PTP ネットワークでは、時刻源クロックと時刻受信者クロックは同じ周波数で動作します。ただし、このネットワークでは「ばらつき」が発生する可能性があります。ドリフトは、時刻源クロックと時刻受信者クロックの周波数差です。デバイスハードウェアのタイムスタンプ情報とフォローアップメッセージ(スイッチで代行受信)を使用してローカルクロックの周波数を調整し、時刻源クロックの周波数と一致させることによって、ばらつきを補うことができます。
ベスト マスター クロック アルゴリズム
ベスト マスター クロック アルゴリズム(BMCA)は PTP 機能の基盤です。BMCA は、ネットワーク上の各クロックが、そのサブドメイン内で認識できるすべてのクロック(そのクロック自体を含む)のうちのベスト マスター クロックを決定する方法を指定します。BMCA はネットワーク上で継続的に動作し、ネットワーク構成における変更に対して迅速に調整します。
BMCA は、次の基準を使用して、サブドメイン内のベスト マスター クロックを決定します。
-
クロック品質(たとえば、GPS は最高品質とみなされます)
-
クロックの時刻基準のクロック精度。
-
局部発振器の安定性
-
グランドマスターに最も近いクロック
BMCA は、ベスト マスター クロックを特定するだけでなく、次のことを保証して、PTP ネットワーク上でのクロック競合の発生を確実に防止します。
-
クロックが相互にネゴシエートする必要がない。
-
マスター クロック特定プロセスの結果として、マスター クロックが 2 つ存在する、またはマスター クロックが存在しないといった不適切な設定になっていない。
PTP クロック
PTP ネットワークは、PTP 対応デバイスと PTP を使用していないデバイスで構成されます。PTP 対応デバイスは、通常、次のクロック タイプで構成されます。
グランドマスター クロック
PTP ドメイン内では、グランドマスター クロックが、PTP によるクロック同期の主時刻源です。グランドマスター クロックは、通常、GPS や原子時計などの非常に正確な時刻源を持っています。ネットワークが外部時刻リファレンスを必要とせず、内部でのみ同期する必要がある場合、グランドマスター クロックはフリー ランできます。
スイッチは、NTP を時刻源として使用し、ハイブリッド グランドマスター境界クロックとして機能することができます。詳細については、NTP から PTP への時間変換を参照してください。
オーディナリ クロック
オーディナリ クロックは、1 つの PTP ポートを持つ PTP クロックです。PTP ネットワークのノードとして機能します。オーディナリ クロックは、同期が必要なデバイスに接続されているネットワーク上のエンド ノードとして使用されるため、PTP ネットワーク上で最も一般的なクロック タイプです。オーディナリ クロックには、外部デバイスに対するさまざまなインタフェースがあります。
境界クロック
PTP ネットワークの境界クロックは、標準ネットワーク スイッチまたはルータの代わりに動作します。境界クロックには複数の PTP ポートがあり、各ポートは個別の PTP 通信パスへのアクセスを提供します。境界クロックは、PTP ドメイン間のインターフェイスを提供します。このクロックは、すべての PTP メッセージを代行受信して処理し、他のすべてのネットワーク トラフィックを渡します。また、境界クロックは、BMCA を使用して、どのポートからも認識されるベスト クロックを選択します。選択したポートは非マスターモードに設定されます。マスターポートはダウンストリームに接続されたクロックを同期させ、非マスターポートはアップストリーム マスター クロックと同期します。
トランスペアレント クロック
PTP ネットワークのトランスペアレント クロックの役割は、PTP イベント メッセージの一部である時間間隔フィールドを更新することです。この更新により、スイッチの遅延が補われ、1 ピコ秒未満の精度が実現されます。
次の 2 種類のトランスペアレント クロックがあります。
End-to-end (E2E) transparent clocks は、SYNC メッセージと DELAY_REQUEST メッセージに関して PTP イベントメッセージ中継時間(「常駐時間」とも呼ばれる)を測定します。この測定された中継時間は、対応するメッセージのデータフィールド(修正フィールド)に追加されます。
-
SYNC メッセージの測定された中継時間は、対応する SYNC メッセージまたは FOLLOW_UP メッセージの修正フィールドに追加されます。
-
DELAY_REQUEST メッセージの測定された中継時間は、対応する DELAY_RESPONSE メッセージの修正フィールドに追加されます。
時刻受信者は、時刻受信者と時刻源の時間の間のオフセットを決定するときにこの情報を使用します。E2E トランスペアレント クロックは、リンク自体の伝播遅延は修正しません。
Peer-to-peer (P2P) transparent clocks は、前述のように、E2E トランスペアレントクロックと同じ方法で PTP イベントメッセージ中継時間を測定します。さらに、P2P トランスペアレント クロックはアップストリーム リンク遅延を測定します。アップストリーム リンク遅延は、アップストリーム ネイバー P2P トランスペアレント クロックと考慮対象の P2P トランスペアレント クロックの間の推定パケット伝搬遅延です。
これらの 2 つの時間(メッセージ中継時間とアップストリームリンク遅延時間)は両方とも PTP イベントメッセージの修正フィールドに追加され、時刻受信者によって受信されるメッセージの修正フィールドにはすべてのリンク遅延の合計が含まれます。理論的には、これは、SYNC パケットのエンドツーエンドの遅延の合計(時刻源から時刻受信者まで)です。
次の図に、PTP ネットワーク内の時刻源/時刻受信者階層に含まれる PTP クロックを示します。
PTP プロファイル
ここでは、スイッチ上で使用できる次の PTP プロファイルについて説明します。
-
電力プロファイル
-
デフォルト プロファイル
電力プロファイルは、PC37.238-2011:電力システムアプリケーションでの IEEE 1588 Precision Time Protocol の使用に関する IEEE ドラフト標準プロファイルで定義されています。このスイッチ ドキュメンテーションでは、この IEEE 1588 プロファイルおよび関連設定値を参照する際に、電力プロファイル モードとデフォルト プロファイル モードという用語を使用します。
PTP プロファイルの IEEE 1588 定義は、「デバイスに適用可能な、許容される一連の PTP 機能」です。PTP プロファイルは、通常、特定のタイプのアプリケーションまたは環境に固有のものであり、次の値を定義します。
-
ベスト マスター クロック アルゴリズム オプション
-
設定管理オプション
-
パス遅延メカニズム(ピア遅延または遅延要求/応答)
-
すべての PTP 設定可能属性およびデータ セット メンバーの範囲とデフォルト値
-
必要な、許可される、または禁止されるトランスポート メカニズム
-
必要な、許可される、または禁止されるノード タイプ
-
必要な、許可される、または禁止されるオプション
デフォルト プロファイル モード
スイッチのデフォルトの PTP プロファイル モードは、デフォルト プロファイル モードです。このモードでは、次のようになります。
-
トランスポートの PTP モードはレイヤ 3 です。
-
サポートされるトランスペアレント クロック モードはエンドツーエンド(E2E)です。
デフォルトプロファイルは、すべての PTP メッセージに L3 トランスポート マルチキャスト アドレス 224.0.1.129(MAC アドレス01-00-5e-00-01-81)を使用します。
デフォルト プロファイル モードと電力プロファイルモードでのスイッチの設定値のリストについては、電力プロファイル モード を参照してください。
電力プロファイル モード
IEEE 電力プロファイルは、変電所で使用される PTP ネットワークの特定の値または許容値を定義します。定義される値には、最適な物理層、PTP メッセージ用のより高位のプロトコル、および優先されるベスト マスター クロック アルゴリズムが含まれます。電力プロファイルの値は、変電所内、変電所間、および広い地理的領域にわたる一貫した信頼性のあるネットワーク時刻配信を保証します。
スイッチは、次の方法で PTP 用に最適化されます。
-
ハードウェア:スイッチは PTP 機能のために FPGA と PHY を使用します。PHY は、ファスト イーサネット ポートとギガビット イーサネット ポートにタイムスタンプを付与します。
-
ソフトウェア:電力プロファイル モードでは、スイッチは、IEEE 1588 電力プロファイル標準で定義されている設定値を使用します。
次の表に、IEEE 1588 電力プロファイルで定義されている設定値と、スイッチが各 PTP プロファイル モードで使用する値を示します。
PTP フィールド |
電力プロファイル値 |
スイッチの設定値 |
|
---|---|---|---|
電力プロファイル モード |
デフォルト プロファイル モード |
||
メッセージ伝送 |
Ethertype 0X88F7 のイーサネット 802.3。PTP メッセージは、デフォルトの VLAN 0 とデフォルトの優先順位 4 で 802.1Q タグ付きイーサネット フレームとして送信されます。 |
Access Ports :タグなしレイヤ 2 パケット。Trunk Ports :ポート上のネイティブ VLAN とデフォルトの優先順位値 4 による 802.1Q タグ付きレイヤ 2 パケット。 |
レイヤ 3 パケット。デフォルトでは、802.1q タギングは無効になっています。 |
MAC address– 非ピア遅延メッセージ |
01-1B-19-00-00-00. |
01-1B-19-00-00-00. |
01-00-5e-00-01-81. |
MAC address– ピア遅延メッセージ |
01-80-C2-00-00-0E. |
01-80-C2-00-00-0E. |
このモードには適用されません。 |
ドメイン番号 |
0. |
0. |
0. |
パス遅延計算 |
ピアツーピア トランスペアレント クロック |
peer_delay メカニズムを使用するピアツーピア トランスペアレント クロック。 |
delay_request メカニズムを使用するエンドツーエンド トランスペアレント クロック。 |
BMCA |
有効。 |
有効。 |
有効。 |
クロック タイプ |
2 ステップ クロックがサポートされます。 |
2 ステップ。 |
2 ステップ。 |
時間スケール |
新紀元。1 |
新紀元。 |
新紀元。 |
グランドマスター ID とローカル時刻の決定 |
グランドマスター ID を示す PTP 固有のTLV(タイプ、長さ、値)。 |
グランドマスター ID を示す PTP 固有のTLV。 |
グランドマスター ID を示す PTP 固有のタイプ、長さ、値。 |
ネットワーク ホップを超えた時刻精度 |
16 のホップを超えて、 時刻受信者デバイス同期精度は 1 usec(1 マイクロ秒)未満です。 |
16 のホップを超えて、 時刻受信者デバイス同期精度は 1 usec(1 マイクロ秒)未満です。 |
このモードでは適用されません。 |
PTP パケットのタグ付け動作
次の表に、電力プロファイル モードとデフォルト プロファイル モードでのスイッチタグ付け動作を示します。
スイッチ ポート モード |
設定 |
電力プロファイル モード |
デフォルト プロファイル モード |
||
---|---|---|---|---|---|
動作 |
優先順位 |
動作 |
優先順位 |
||
トランク ポート |
vlan dot1q tag native enabled |
スイッチがパケットをタグ付け |
7 |
スイッチがパケットをタグ付け |
7 |
トランク ポート |
vlan dot1q tag native 無効 |
PTP ソフトウェアがパケットをタグ付け |
4 |
タグなし |
なし |
アクセス ポート |
該当なし |
タグなし |
なし |
タグなし |
なし |
スイッチでサポートされる PTP クロック モード
PTP 同期動作は、スイッチで設定する PTP クロック モードによって異なります。スイッチは、次のいずれかのグローバル モードに設定できます。
各クロックモードの設定のガイドラインについては、注意事項と制約事項を参照してください。
グランドマスター 境界クロック モード
スイッチは、NTP を時刻源として使用し、ハイブリッド グランドマスター境界クロックとして機能することができます。詳細については、NTP から PTP への時間変換を参照してください。
境界クロック モード
境界クロックモードに設定されたスイッチは、サブドメインの最善の時刻源クロックの選択に参加し、認識できるすべてのクロック(そのスイッチ自体を含む)から最善の時刻源クロックを選択します。スイッチがそれ自体よりも正確なクロックを検出しなかった場合は、そのスイッチが時刻源クロックになります。より正確なクロックが検出された場合、スイッチはそのクロックに同期し、時刻受信者クロックになります。
最初の同期のあと、スイッチと接続済み装置は、PTP タイミング メッセージを交換して、クロックのオフセットとネットワークの遅延による時間の変更を修正します。
転送モード
転送モードに設定されたスイッチは、受信 PTP パケットを通常のマルチキャスト トラフィックとして渡します。
E2E トランスペアレント クロック モード
エンドツーエンド トランスペアレント クロック モードに設定されたスイッチは、そのクロックを時刻源クロックと同期させません。このモードのスイッチは、時刻源クロックの選択に参加せず、すべてのポートでデフォルト PTP クロックモードを使用します。
P2P トランスペアレント クロック モード
ピアツーピア トランスペアレント クロック モードに設定されたスイッチは、そのクロックを時刻源クロックと同期させません。このモードのスイッチは、時刻源クロックの選択に参加せず、すべてのポートでデフォルト PTP クロックモードを使用します。
設定可能な境界クロック同期アルゴリズム
入力時刻エラーのフィルタリングと迅速な収束のどちらを優先させる必要があるかに応じて、さまざまな PTP 使用例に対応するように BC 同期アルゴリズムを設定できます。パケット遅延変動(PDV)をフィルタリングする PTP アルゴリズムは、フィルタリングしない PTP アルゴリズムより収束に時間がかかります。
デフォルトでは、BC は線形フィードバック コントローラ(つまりサーボ)を使用して BC の時刻出力を次のクロックに設定します。線形サーボは、少量の PDV フィルタリングを提供し、平均時間内に収束します。BC は、収束時間を改善するために、TC フィードフォワード アルゴリズムを使用して、ネットワーク要素フォワーディング プレーン(外乱)によって加えられた遅延を測定し、その測定された遅延を使用して時刻出力を制御することができます。
フィードフォワード BC により境界クロックが劇的に迅速化されますが、フィードフォワード BC は PDV をフィルタリングしません。適応型 PDV フィルタは、PTP をサポートせず、PDV を大幅に増加させるワイヤレス アクセス ポイント(AP)およびエンタープライズ スイッチ間で、PDV が存在する場合の高品質の時刻同期を実現します。
BC 同期には次の 3 つのオプション(すべて IEEE 1588-2008に準拠)があります。
-
フィードフォワード:非常に迅速かつ正確な収束を実現します。PDV フィルタリングはありません。
-
適応型:PDV 特性、ハードウェア構成、および環境条件に関する一連の仮定を考慮し、可能なかぎり多くの PDV をフィルタリングします。
(注)
適応型フィルタを使用する場合、スイッチは、ITU-T G.8261 で規定されている時間パフォーマンス要件を満たしません。
-
線形:単純な線形フィルタリングを提供します(デフォルト)。
適応型モード(ptp transfer filter adaptive )は、電力プロファイルモードでは使用できません。
設定情報については、スイッチの PTP の設定を参照してください。