PTP の設定

この章では、Cisco NX-OS デバイスで高精度時間プロトコル(PTP)を設定する方法について説明します。

この章は、次の項で構成されています。

PTP について

PTP はネットワークに分散したノードの時刻同期プロトコルです。そのハードウェアのタイムスタンプ機能は、ネットワーク タイム プロトコル(NTP)などの他の時刻同期プロトコルよりも高い精度を実現します。

PTP システムは、PTP および非 PTP デバイスの組み合わせで構成できます。PTP デバイスには、オーディナリ クロック、境界クロック、およびトランスペアレント クロックが含まれます。非 PTP デバイスには、通常のネットワーク スイッチやルータなどのインフラストラクチャ デバイスが含まれます。

PTP は、システムのリアルタイム PTP クロックが相互に同期する方法を指定する分散プロトコルです。これらのクロックは、グランドマスター クロック(階層の最上部にあるクロック)を持つマスター/スレーブ同期階層に編成され、システム全体の時間基準を決定します。同期は、タイミング情報を使用して階層のマスターの時刻にクロックを調整するメンバーと、PTP タイミング メッセージを交換することによって実現されます。PTP は、PTP ドメインと呼ばれる論理範囲内で動作します。

PTP デバイス タイプ

次のクロックは、一般的な PTP デバイスです。

オーディナリ クロック

エンド ホストと同様に、単一の物理ポートに基づいてネットワークと通信します。オーディナリ クロックはグランドマスター クロックとして動作できます。

境界クロック

通常、複数の物理ポートがあり、各ポートはオーディナリ クロックのポートのように動作します。ただし、各ポートはローカル クロックを共有し、クロックのデータ セットはすべてのポートに共通です。各ポートは、境界クロックのその他すべてのポートから使用可能な最善のクロックに基づいて、個々の状態を、マスター(それに接続されている他のポートを同期する)またはスレーブ(ダウンストリーム ポートに同期する)に決定します。同期とマスター/スレーブ階層の確立に関するメッセージは、境界クロックのプロトコル エンジンで終了し、転送されません。

トランスペアレント クロック

通常のスイッチやルータなどのすべての PTP メッセージを転送しますが、スイッチでのパケットの滞留時間(パケットがトランスペアレント クロックを通過するために要した時間)と、場合によってはパケットの入力ポートのリンク遅延を測定します。トランスペアレント クロックはグランドマスター クロックに同期する必要がないため、ポートの状態はありません。

次の 2 種類のトランスペアレント クロックがあります。

エンドツーエンド トランスペアレント クロック

PTP メッセージの滞留時間を測定し、PTP メッセージまたは関連付けられたフォローアップ メッセージの修正フィールドの時間を収集します。

ピアツーピア トランスペアレント クロック

PTP メッセージの滞留時間を測定し、各ポートと、リンクを共有する他のノードの同じように装備されたポートとの間のリンク遅延を計算します。パケットの場合、この着信リンクの遅延は、PTP メッセージまたは関連付けられたフォローアップ メッセージの修正フィールドの滞留時間に追加されます。


(注)  


PTP は境界クロック モードのみで動作します。Grand Master Clock(10 MHz)アップストリームを導入することを推奨します。サーバーには、同期する必要があり、スイッチに接続されたクロックが含まれます。

エンドツーエンド トランスペアレント クロック モードとピアツーピア トランスペアレント クロック モードはサポートされません。


PTP プロセス

PTP プロセスは、マスター/スレーブ階層の確立とクロックの同期の 2 つのフェーズで構成されます。

PTP ドメイン内では、オーディナリ クロックまたは境界クロックの各ポートが、次のプロセスに従ってステートを決定します。

  • 受信したすべての(マスター ステートのポートによって発行された)アナウンス メッセージの内容を検査します

  • 外部マスターのデータ セット(アナウンス メッセージ内)とローカル クロックで、優先順位、クロック クラス、精度などを比較します

  • 自身のステートがマスターまたはスレーブのいずれであるかを決定します

マスター/スレーブ階層が確立されると、クロックは次のように同期されます。

  • マスターはスレーブに同期メッセージを送信し、送信された時刻を記録します。

  • スレーブは同期メッセージを受信し、受信した時刻を記録します。すべての同期メッセージには、フォローアップ メッセージがあります。同期メッセージの数は、フォローアップ メッセージの数と同じである必要があります。

  • スレーブはマスターに遅延要求メッセージを送信し、送信された時刻を記録します。

  • マスターは遅延要求メッセージを受信し、受信した時刻を記録します。

  • マスターはスレーブに遅延応答メッセージを送信します。遅延要求メッセージの数は、遅延応答メッセージの数と同じある必要があります。

  • スレーブは、これらのタイムスタンプを使用して、クロックをマスターの時刻に調整します。

PTP のハイ アベイラビリティ

PTP のステートフル リスタートはサポートされません。

PTP の注意事項および制約事項

  • Cisco Nexus 3600 シリーズ スイッチでは、PTP クロック修正は 100 ~ 999 ナノ秒までの 3 桁の範囲に収まることが予想されます。

  • PTP は境界クロック モードのみで動作します。エンドツーエンド トランスペアレント クロック モードとピアツーピア トランスペアレント クロック モードはサポートされません。

  • PTP はユーザー データグラム プロトコル(UDP)上の転送をサポートします。イーサネット上の転送はサポートされません。

  • PTP はマルチキャスト通信だけをサポートします。ネゴシエートされたユニキャスト通信はサポートされません。

  • PTP はネットワークごとに 1 つのドメインに制限されます。

  • PTP 管理パケットを転送することはサポートされていません。

  • PTP 対応ポートは、ポート上で PTP をイネーブルにしない場合、PTP パケットを識別せず、これらのパケットにタイムスタンプを適用したり、パケットをリダイレクトしたりしません。

  • 1 pulse per second(1 PPS)入力はサポートされていません。

  • IPv6 を介した PTP はサポートされていません。

  • Cisco Nexus スイッチは、-2 ~ -5 の同期化ログ間隔を使用して、隣接マスターから同期する必要があります。

PTP のデフォルト設定

次の表に、PTP パラメータのデフォルト設定を示します。

表 1. デフォルトの PTP パラメータ
パラメータ デフォルト

PTP

ディセーブル

PTP バージョン

2

PTP ドメイン

0

クロックをアドバタイズする場合、PTP プライオリティ 1 値

255

クロックをアドバタイズする場合、PTP プライオリティ 2 値

255

PTP アナウンス間隔

1 ログ秒

PTP 同期間隔

– 2 ログ秒

PTP アナウンス タイムアウト

3 アナウンス間隔

PTP 最小遅延要求間隔

0 ログ秒

PTP VLAN

1

PTP の設定

PTP のグローバルな設定

デバイスで PTP をグローバルにイネーブルまたはディセーブルにできます。また、ネットワーク内のどのクロックがグランドマスターとして選択される優先順位が最も高いかを判別するために、さまざまな PTP クロック パラメータを構成できます。

手順の概要

  1. switch# configure terminal
  2. switch(config) # [no] feature ptp
  3. switch(config) # [no] ptp source ip-address [ vrf vrf]
  4. (任意) switch(config) # [no] ptp domain number
  5. (任意) switch(config) # [no] ptp priority1 value
  6. (任意) switch(config) # [no] ptp priority2 value
  7. (任意) switch(config) # show ptp brief
  8. (任意) switch(config) # show ptp clock
  9. (任意) switch(config)# copy running-config startup-config

手順の詳細

  コマンドまたはアクション 目的

ステップ 1

switch# configure terminal

グローバル構成モードを開始します。

ステップ 2

switch(config) # [no] feature ptp

デバイス上で PTP をイネーブルまたはディセーブルにします。

(注)  

 
スイッチの PTP をイネーブルにしても、各インターフェイスの PTP はイネーブルになりません。

ステップ 3

switch(config) # [no] ptp source ip-address [ vrf vrf]

すべての PTP パケットのソース IP アドレスを設定します。

ip-address には IPv4 形式を使用できます。

ステップ 4

(任意) switch(config) # [no] ptp domain number

(任意)

このクロックで使用するドメイン番号を構成します。PTP ドメインを使用すると、1 つのネットワーク上で、複数の独立した PTP クロッキング サブドメインを使用できます。

number の範囲は 0 ~ 128 です。

ステップ 5

(任意) switch(config) # [no] ptp priority1 value

(任意)

このクロックをアドバタイズするときに使用する priority1 の値を構成します。この値はベスト マスター クロック選択のデフォルトの基準(クロック品質、クロック クラスなど)を上書きします。低い値が優先されます。

value の範囲は 0 ~ 255 です。

ステップ 6

(任意) switch(config) # [no] ptp priority2 value

(任意)

このクロックをアドバタイズするときに使用する priority2 の値を構成します。この値は、デフォルトの基準では同等に一致する 2 台のデバイスのうち、どちらを優先するかを決めるために使用されます。たとえば、priority2 値を使用して、特定のスイッチが他の同等のスイッチよりも優先されるようにすることができます。

value の範囲は 0 ~ 255 です。

ステップ 7

(任意) switch(config) # show ptp brief

(任意)

PTP のステータスを表示します。

ステップ 8

(任意) switch(config) # show ptp clock

(任意)

ローカル クロックのプロパティを表示します。

ステップ 9

(任意) switch(config)# copy running-config startup-config

(任意)

リブートおよびリスタート時に実行コンフィギュレーションをスタートアップ コンフィギュレーションにコピーして、変更を継続的に保存します。

次に、デバイス上で PTP をグローバルに構成し、PTP 通信用の送信元 IP アドレスを指定し、クロックの優先レベルを構成する例を示します。

switch# configure terminal
switch(config)# feature ptp
switch(config)# ptp source 10.10.10.1
switch(config)# ptp priority1 1
switch(config)# ptp priority2 1
switch(config)# show ptp brief
PTP port status
-----------------------
Port State
------- --------------
switch(config)# show ptp clock
PTP Device Type: Boundary clock
Clock Identity : 0:22:55:ff:ff:79:a4:c1
Clock Domain: 0
Number of PTP ports: 0
Priority1 : 1
Priority2 : 1
Clock Quality:
Class : 248
Accuracy : 254
Offset (log variance) : 65535
Offset From Master : 0
Mean Path Delay : 0
Steps removed : 0
Local clock time:Sun Jul 3 14:13:24 2011
switch(config)#

インターフェイスでの PTP の設定

PTP をグローバルにイネーブルにしても、デフォルトで、サポートされているすべてのインターフェイス上でイネーブルになりません。PTP インターフェイスは個別にイネーブルに設定する必要があります。

始める前に

スイッチ上でグローバルに PTP をイネーブルにし、PTP 通信の送信元 IP アドレスを設定したことを確認します。

手順の概要

  1. switch# configure terminal
  2. switch(config) # interface ethernet slot/port
  3. switch(config-if) # [no] feature ptp
  4. (任意) switch(config-if) # [no] ptp announce { interval log seconds | timeout count}
  5. (任意) switch(config-if) # [no] ptp delay request minimum interval log seconds
  6. (任意) switch(config-if) # [no] ptp sync interval log seconds
  7. (任意) switch(config-if) # [no] ptp vlan vlan-id
  8. (任意) switch(config-if) # show ptp brief
  9. (任意) switch(config-if) # show ptp port interface interface slot/port
  10. (任意) switch(config-if)# copy running-config startup-config

手順の詳細

  コマンドまたはアクション 目的

ステップ 1

switch# configure terminal

グローバル構成モードを開始します。

ステップ 2

switch(config) # interface ethernet slot/port

PTP をイネーブルにするインターフェイスを指定し、インターフェイス構成モードを開始します。

ステップ 3

switch(config-if) # [no] feature ptp

インターフェイスで PTP をイネーブルまたはディセーブルにします。

ステップ 4

(任意) switch(config-if) # [no] ptp announce { interval log seconds | timeout count}

(任意)

インターフェイス上の PTP アナウンス メッセージ間の間隔またはタイムアウトがインターフェイスで発生する前の PTP 間隔の数を構成します。

PTP アナウンス間隔の範囲は 0 ~ 4 秒で、間隔のタイムアウトの範囲は 2 ~ 10 です。

ステップ 5

(任意) switch(config-if) # [no] ptp delay request minimum interval log seconds

(任意)

ポートがマスター ステートの場合に PTP 遅延要求メッセージ間で許可される最小間隔を構成します。

有効な範囲は -1 ~ -6 ログ秒です。ログ(-2)は、1 秒あたり 4 フレームです。

ステップ 6

(任意) switch(config-if) # [no] ptp sync interval log seconds

(任意)

インターフェイス上の PTP 同期メッセージの送信間隔を構成します。

PTP 同期間隔の範囲は -6 ログ秒 ~ 1 秒です。

ステップ 7

(任意) switch(config-if) # [no] ptp vlan vlan-id

(任意)

PTP をイネーブルにするインターフェイスの VLAN を指定します。インターフェイスの 1 つの VLAN でイネーブルにできるのは、1 つの PTP のみです。

指定できる範囲は 1 ~ 4094 です。

ステップ 8

(任意) switch(config-if) # show ptp brief

(任意)

PTP のステータスを表示します。

ステップ 9

(任意) switch(config-if) # show ptp port interface interface slot/port

(任意)

PTP ポートのステータスを表示します。

ステップ 10

(任意) switch(config-if)# copy running-config startup-config

(任意)

リブートおよびリスタート時に実行コンフィギュレーションをスタートアップ コンフィギュレーションにコピーして、変更を継続的に保存します。

次に、インターフェイス上で PTP を構成し、アナウンス、遅延要求、および同期メッセージの間隔を構成する例を示します。

switch# configure terminal
switch(config)# interface ethernet 2/1
switch(config-if)# ptp
switch(config-if)# ptp announce interval 3
switch(config-if)# ptp announce timeout 2
switch(config-if)# ptp delay-request minimum interval 4
switch(config-if)# ptp sync interval -1
switch(config-if)# show ptp brief
PTP port status
-----------------------
Port State
------- --------------
Eth2/1 Master
switch(config-if)# show ptp port interface ethernet 2/1
PTP Port Dataset: Eth2/1
Port identity: clock identity: 0:22:55:ff:ff:79:a4:c1
Port identity: port number: 1028
PTP version: 2
Port state: Master
Delay request interval(log mean): 4
Announce receipt time out: 2
Peer mean path delay: 0
Announce interval(log mean): 3
Sync interval(log mean): -1
Delay Mechanism: End to End
Peer delay request interval(log mean): 0
switch(config-if)#

PTP 設定の確認

次のいずれかのコマンドを使用して、設定を確認します。

表 2. PTP Show コマンド
コマンド 目的
show ptp brief

PTP のステータスを表示します。

show ptp clock

ローカル クロックのプロパティ(クロック ID など)を表示します。

show ptp clock foreign-masters-record

PTP プロセスが認識している外部マスターの状態を表示します。外部マスターごとに、出力に、クロック ID、基本的なクロック プロパティ、およびクロックがグランドマスターとして使用されているかどうかが表示されます。

show ptp corrections

最後の数個の PTP 修正を表示します。

show ptp parent

PTP の親のプロパティを表示します。

show ptp port interface ethernet slot/port

スイッチの PTP ポートのステータスを表示します。