高精度時間プロトコルについて
高精度時間プロトコル(PTP)は、IEEE 1588 で、ネットワーク化された測定および制御システムのための高精度クロック同期として定義されており、さまざまな精度と安定性の分散デバイス クロックを含むパケットベース ネットワークでクロックを同期させるために開発されました。PTPは、産業用のネットワーク化された測定および制御システム向けに特別に設計されており、最小限の帯域幅とわずかな処理オーバーヘッドしか必要としないため、分散システムでの使用に最適です。Cisco Catalyst IE3x00 高耐久性、IE3400 Heavy Duty、および ESS3300 シリーズ スイッチ(以降、「スイッチ」と呼びます)は PTP をサポートしています。
![]() (注) |
シスコは、従来のマスター/スレーブの命名法から移行しています。このドキュメントでは、代わりにグランドマスタークロック(GMC)または時刻源と時刻受信者という用語が使用されます。 |
PTP を使用する理由
ピーク時課金、仮想発電機、停電の監視/管理などのスマート グリッド電力自動化アプリケーションは、非常に正確な時刻精度と安定性を必要とします。タイミングの精度は、ネットワーク監視の精度とトラブルシューティング能力を向上させます。
時刻精度および同期の提供に加えて、PTP メッセージベース プロトコルは、イーサネット ネットワークなどのパケットベース ネットワークに実装することもできます。イーサネット ネットワークで PTP を使用する利点は次のとおりです。
-
既存のイーサネット ネットワークでコストを削減でき、セットアップも容易
-
PTP データパケットは限られた帯域幅しか必要としない
イーサネット スイッチと遅延
イーサネット ネットワークでは、スイッチは、ネットワーク デバイス間の全二重通信パスを提供します。スイッチは、パケットに含まれるアドレス情報を使用して、データ パケットをパケットの宛先に送信します。スイッチは、複数のパケットを同時に送信しようとする場合、送信前に失われないようにパケットの一部をバッファします。バッファがいっぱいになると、スイッチはパケットの送信を遅延させます。この遅延により、ネットワーク上のデバイス クロックが相互に同期しなくなる可能性があります。
スイッチが MAC アドレステーブルを検索してパケットの Cyclic Redundancy Check(CRC)フィールドを確認している間に、スイッチに入るパケットがローカルメモリに保存されると、追加の遅延が発生する可能性があります。このプロセスによりパケット転送時間の遅延が変動し、これらの変動によってパケット遅延時間が非対称になる場合があります。
PTP をネットワークに追加することで、デバイスクロックを正しく調整し、相互の同期を維持することにより、これらのレイテンシおよび遅延の問題を埋め合わせることができます。PTP により、ネットワークスイッチは、境界クロックや透過クロックなどの PTP デバイスとして機能することが可能になります。
![]() (注) |
PTP クロックデバイスと PTP ネットワークにおけるそれらの役割の詳細については、「PTP クロック」を参照してください。 |
メッセージベースの同期
クロックの同期を確保するために、PTP では、時刻源(グランドマスタークロック)と時刻受信者の間の通信パス遅延を正確に測定する必要があります。PTP は、遅延の測定結果を見極めるために、時刻源と時刻受信者の間でメッセージを送信します。次に、PTP は正確なメッセージ送受信時間を測定し、これらの時間を使用して通信パス遅延を計算します。その後、PTP は、計算された遅延に応じてネットワークデータに含まれる現在の時刻情報を調整し、より正確な時刻情報を生成します。
この遅延測定方式によってネットワーク上のデバイス間のパス遅延が判定され、時刻源と時刻受信者の間で送信される一連のメッセージを使用して、この遅延に合わせてローカルクロックが調整されます。片方向の遅延時間は、送信メッセージと受信メッセージのパス遅延を平均化することによって計算されます。この計算は、対称的な通信パスを前提としています。ただし、スイッチドネットワークには、バッファリングプロセスがあるため、必ずしも対称的な通信パスがあるとは限りません。
PTP は、スイッチをネットワーク上の時刻源と時刻受信者ノードに対して一時的に透過的にして、ネットワーク タイミング パケットの時間間隔フィールドの遅延を測定して明らかにする、透過クロックを使用した測定方法を提供します。エンドツーエンド透過クロックは、スイッチと同じ方法で、ネットワーク上のすべてのメッセージを転送します。
![]() (注) |
シスコの 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 ネットワークでは、時刻源クロックと時刻受信者クロックは同じ周波数で動作します。ただし、このネットワークでは「ドリフト」が発生する可能性があります。ドリフトとは、時刻源クロックと時刻受信者クロックの周波数差のことです。デバイスハードウェアのタイムスタンプ情報と Follow_Up メッセージ(スイッチで代行受信)を使用してローカルクロックの周波数を調整し、時刻源クロックの周波数と一致させることによって、ドリフトを補償することができます。
ベスト マスター クロック アルゴリズム
ベスト マスター クロック アルゴリズム(BMCA)は PTP 機能の基盤です。BMCA は、ネットワーク上の各クロックが、そのサブドメイン内で認識できるすべてのクロック(そのクロック自体を含む)のうちで最適な時刻送信側クロックを決定する方法を指定します。BMCA はネットワーク上で継続的に動作し、ネットワーク構成における変更に対して迅速に調整します。
BMCA は、次の基準を使用して、サブドメイン内の最適な時刻送信側クロックを決定します。
-
クロック品質(たとえば、GPS は最高品質とみなされます)
-
クロックの時刻基準のクロック精度
-
局部発振器の安定性
-
グランドマスターに最も近いクロック
BMCA は最適な時刻源クロックを特定するのみでなく、次のことを保証して、PTP ネットワーク上でのクロック競合の発生を確実に防止します。
-
クロックが相互にネゴシエートする必要がない。
-
時刻源クロックの識別プロセスの結果として、時刻送信側クロックが 2 つある、または時刻送信側クロックがないなどの誤設定をしない。
PTP クロック
PTP ネットワークは、PTP 対応デバイスと PTP を使用していないデバイスで構成されます。PTP 対応デバイスは、通常、次のクロック タイプで構成されます。
グランドマスター クロック
PTP ドメイン内では、グランドマスタークロック(GMC)が、PTP によるクロック同期の主時刻源です。グランドマスタークロックには、通常、GPS や原子時計などの非常に正確な時刻源があります。ネットワークが外部時刻リファレンスを必要とせず、内部での同期のみが必要な場合、GMC はフリーランできます。
スイッチは、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 プロファイルについて説明します。
-
Power プロファイル
-
Default プロファイル
Power プロファイルは、PC37.238-2011:電力システムアプリケーションでの IEEE 1588 Precision Time Protocol の使用に関する IEEE ドラフト標準プロファイルで定義されています。シスコの PTP 実装では、この IEEE 1588 プロファイルおよび関連設定値を参照する際に、Power プロファイルモードと Default プロファイルモードという用語を使用します。
PTP プロファイルの IEEE 1588 定義は、「デバイスに適用可能な、許容される一連の PTP 機能」です。PTP プロファイルは、通常、特定のタイプのアプリケーションまたは環境に固有のものであり、次の値を定義します。
-
BMCA オプション
-
設定管理オプション
-
パス遅延機構(ピア遅延または遅延要求/応答)
-
すべての PTP 設定可能属性およびデータ セット メンバーの範囲とデフォルト値
-
必要な、許可される、または禁止される伝送機構
-
必要な、許可される、または禁止されるノード タイプ
-
必要な、許可される、または禁止されるオプション
Default プロファイルモード
スイッチのデフォルトの PTP プロファイルモードは、Default プロファイルモードです。このモードでは、次のようになります。
-
この PTP モードの伝送はレイヤ 3 です。
-
サポートされる透過クロック モードはエンドツーエンド(E2E)です。
Default プロファイルは、すべての PTP メッセージに L3 伝送マルチキャスト アドレス 224.0.1.129(MAC アドレス01-00-5e-00-01-81)を使用します。
Default プロファイルモードと Power プロファイルモードでのスイッチの設定値のリストについては、Power プロファイルモード を参照してください。
Power プロファイルモード
IEEE Power プロファイルは、変電所で使用される PTP ネットワークの特定の値または許容値を定義します。定義される値には、最適な物理レイヤ、PTP メッセージ用のより高位のプロトコル、および優先される BMCA が含まれます。Power プロファイルの値は、変電所内、変電所間、および広い地理的領域にわたる一貫した信頼性のあるネットワーク時刻配信を保証します。
スイッチは、次の方法で PTP 用に最適化されます。
-
ハードウェア:スイッチは PTP 機能のために FPGA と PHY を使用します。PHY は、ファスト イーサネット ポートとギガビット イーサネット ポートにタイムスタンプを付与します。
-
ソフトウェア:Power プロファイルモードでは、スイッチは、IEEE 1588 Power プロファイル標準で定義されている設定値を使用します。
次の表に、IEEE 1588 Power プロファイルで定義されている設定値と、スイッチが各 PTP プロファイル モードで使用する値を示します。
|
PTP フィールド |
Power プロファイル値 |
スイッチの設定値 |
|
|---|---|---|---|
|
Power プロファイルモード |
Default プロファイルモード |
||
|
メッセージ伝送 |
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. |
|
パス遅延計算 |
ピアツーピア透過クロック |
ピア遅延機構を使用するピアツーピア透過クロック。 |
遅延要求機構を使用するエンドツーエンド透過クロック。 |
|
BMCA |
有効。 |
有効。 |
有効。 |
|
クロック タイプ |
2 ステップ クロックがサポートされます。 |
2 ステップ。 |
2 ステップ。 |
|
時間スケール |
エポック。1 |
エポック。 |
エポック。 |
|
グランドマスター ID とローカル時刻の決定 |
グランドマスター ID を示す PTP 固有のTLV(タイプ、長さ、値)。 |
グランドマスター ID を示す PTP 固有のTLV。 |
グランドマスター ID を示す PTP 固有のタイプ、長さ、値。 |
|
ネットワーク ホップを超えた時刻精度 |
16 ホップで、時刻受信者デバイス同期精度は 1 usec(1 マイクロ秒)未満です。 |
16 ホップで、時刻受信者デバイス同期精度は 1 usec(1 マイクロ秒)未満です。 |
このモードでは適用されません。 |
PTP パケットのタグ付け動作
次の表に、Power プロファイルモードと Default プロファイルモードでのスイッチタグ付け動作を示します。
|
スイッチ ポート モード |
設定 |
Power プロファイルモード |
Default プロファイルモード |
||
|---|---|---|---|---|---|
|
動作 |
優先度 |
動作 |
優先度 |
||
|
トランク ポート |
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 フィルタは、PDV 存在下、即ちワイヤレス アクセス ポイント(AP)や企業向けスイッチ等の PTP をサポートせず PDV を大幅に増加させる装置の上で、高品質の時刻同期を実現します。
BC 同期には次の 3 つのオプション(すべて IEEE 1588-2008に準拠)があります。
-
フィードフォワード:非常に迅速かつ正確な収束を実現します。PDV フィルタリングはありません。
-
適応型:PDV 特性、ハードウェア構成、および環境条件に関する一連の仮定を考慮し、可能なかぎり多くの PDV をフィルタリングします。

(注)
適応型フィルタを使用する場合、スイッチは、ITU-T G.8261 で規定されている時間性能要件を満たしません。
-
線形:単純な線形フィルタリングを提供します(デフォルト)。
適応型モード(ptp transfer filter adaptive )は、Power プロファイルモードでは使用できません。
設定情報については、スイッチの PTP の設定を参照してください。


フィードバック