1. はじめに
このドキュメントは Nexus シリーズにおける PTP のサポート状況、及び PTP の基本的な動作について説明を行ないます。
2. 対象機種
Nexus シリーズでは以下の機器が PTP をサポートしています。
- Nexus 9000 シリーズ 7.0(3)I1(1) 以降 ( *1 )
- Nexus 7000 シリーズ 5.2(1) 以降
- Nexus 6000 シリーズ 6.0(2)N1(2) 以降 (最初のリリースからサポート)
- Nexus 5000 シリーズ 5.2(1)N1(1) 以降
- Nexus 3500 シリーズ 6.0(2)A1(1) 以降
- Nexus 3000 シリーズ 5.0(3)U2(2) 以降
*1 7.0(3)I1(1) では 9332PQ/9396PX/X9636PQ Linecard でのみサポート
3. PTP とは
Precision Time Protocol (PTP) は IEEE-1588 で定義された Network Time Protocol (NTP) よりも非常高い制度で時刻同期を行なうためのプロトコルです。
PTP ドメインは階層構造を持ち、役割によって幾つかのクロックタイプが定義されています。
![](/legacyfs/online/media/ptp.png)
4. PTP クロックタイプ
PTP には主に以下のようなクロックタイプがあります
4.1. Ordinary clock (OC)
ポートを一つだけ持つ PTP ノードで、Master もしくは Slave として動作します。Master で動作した場合 Grand Master Clock となります。
4.2. Grand master clock (GM)
GM は PTP ドメイン内で最優先されるクロックソースを提供します。
PTP ドメイン上に複数の GM が存在する場合は、Best Master Clock (BMC) アルゴリズムによって最適な GM が選択されます。
4.3. Slave clock
スレーブクロックは GM からの PTP メッセージを受信し、時刻の同期を行ないます。
4.4. Boundary clock (BC)
BC は PTP ドメイン上で GM に同期するスレーブクロックとして動作し、また接続されたネットワークに対し PTP メッセージを中継する役割を持ちます。
4.5. Transparent clock (TC)
TC は PTP ドメインで PTP メッセージを中継しますが時刻を終端しません。TC が存在する場合、時刻同期までのシーケンスが若干異なりますが、このドキュメントでは説明を行ないません。
5. PTP アルゴリズム
PTP は以下のような手順を経て時刻の同期を行ないます。
- Master は Sync メッセージを送信し、Slave は受信した時刻を T2 とします。
- Master は Follow_up メッセージを生成し、Sync メッセージを送信した時刻 T1 を Slave に伝えます。
- Slave は Delay_Req を送信します。送信した時刻が T3 となります。
- Master は Delay_Req を受信した時刻 T4 を含んだ Delay_Resp を送信します。
- Delay_Resp を受信した Slave は T1/T2/T3/T4 を元に時刻のずれを修整します。
修整に必要な補正 (Offset) の算出には以下の計算式が使用されます。
Offset = T2 - T1 - meanPathDelay
meanPathDelay = ((T2 - T1) + (T4 - T3)) / 2
以下の例では ((82 - 100) + (106 - 86)) / 2 により meanPathDelay が 2 秒, Offset は 82 - 100 - 2 により -20 秒。これにより Slave が 20 秒遅れていることが分かったので +20 秒が実際に補正されます。
![](/legacyfs/online/media/white-paper-c11-731501_2.jpg)
6. BMC アルゴリズム
分散されたクロックソースから最適なソースを選択するために BMC アルゴリズム (BMCA) が提供されています。BMCA は以下の属性順に比較し優先するソースを選択します。
- Priority1
- clockClass
- clockAccuracy
- offsetScaledLogVariance
- Priority2
- clockIdentity
Nexus シリーズのは PTP ポートは BMCA クロックによって以下のステータスに遷移します。
Master: クロックソースとして動作しているポートです。
Slave: Master ポートから PTP メッセージを受信し、時刻同期したポートです。
Disabled: PTP が無効となっているポートです
Passive: Master ではなく,また Slave として時刻同期もしていないポートです。
Passive ポートは PTP のメッセージがループするような構成で、Spanning Tree の Blocking ポートのような役割を持ちます。
7. PTP 使用時の注意点
PTP の設定は物理インターフェースに行ない、ポートチャネルインターフェースや VLAN インターフェースに行なう事はできません。これは ASIC のハードウェアクロックを使用して同期を行なっており,論理インターフェースでは ASIC のクロックを利用できないため設定を行なう事ができません。
もし、ポートチャネルのリンクで PTP を使用したい場合は、メンバーの物理インターフェース全てで PTP の設定を行なってください。
PTP ドメイン内の機器は全て PTP 対応である事が推奨されます。以下のような制限があります。
- PTP 非対応の機器が存在する場合,その機器での遅延が考慮されず正確な時刻同期が行なえません。
- PTP 非対応の機器とのポートチャネルでの接続が行なえません。
8. 関連情報