内容

概要

PTPの設定：

検証：

トラブルシューティング：

概要

Precision Time Protocol(PTP)は、パケットネットワーク用の分散ナノ秒の精度タイミング同期プロトコルです。PTPの精度は、スイッチおよびサーバネットワークインターフェイスカード(NIC)でのPTPのハードウェアサポートに起因します。PTPでは、マルチキャストグループ224.0.1.129とUDPポート319および320が使用されます。現在のPTP規格は、IEEE 1588-2008 Precision Time Protocol(PTP)バージョン2(PTPv2)です

PTPの拡張性は、このプロトコルにBoundary Clock（BC；境界クロック）という概念があることから生じます。この概念は、Grand Master（GM；グランドマスター）クロックから複数の物理/論理ホップに渡り、タイムスタンプを含むメッセージの再較正ポイントとしてされます。Nexus 3kは、BCとして機能し、ローカルエリアネットワーク(LAN)に接続されたサーバに正確なタイミングを提供するために、データセンター(DC)に広く導入されています。 BCとGMは、レイヤ3（ip接続）経由でのみ到達可能である必要があります。GMとPTPエンドクライアントの間には、BCの複数のレイヤが存在する場合があります。冗長性を提供する複数のGMと Nexus 3Kは、Best Master Clock(BMC)アルゴリズムを使用して最適なGMを選択します。

寄稿者：ニシャドモヒドゥエン

編集者：クマールスリダール

PTPの設定：

N3k(config)#機能ptp

このコマンドは、スイッチでPTPを有効にします。

N3k(config)# ptp source <ip address>

このコマンドは、スイッチによって生成されるPTPパケットの送信元IPアドレスを指定します。

N3k(config)# interface Ethernet slot/port

N3k(config-if)# ptp

このコマンドは、ポートでPTPを有効にします。Cisco Nexus 3548は境界クロックであるため、マスターポートとスレーブポートの両方があります。マスターポートとスレーブポートの設定に違いはありません。これらは「ptp」オプションとBMCアルゴリズムの両方で設定され、ポートがPTPスレーブポートかマスターポートかを判別します。

N3k(config)# clock protocol ptp

このコマンドは、PTPを使用してシステムカレンダーを更新するようにスイッチを設定します。この設定では、スイッチのクロックがPTPと同期されます。このコマンドを有効にしないと、スイッチがマスタポートでPTPクロックを伝搬するのを防ぐことができます。ただし、時刻源はNexusローカルクロックになります。

N3k(config)# ptp priority1 <0-255>

N3k(config)# ptp priority2 <0-255>

ローカル（発振器）クロックのプライオリティ値を設定します。数値が小さいほど、優先順位が高くなります。

N3k(config)# no ptp grandmaster-capable

デフォルトでは、Nexus 3kは「ptp grandmaster-capable」であるため、この機能を無効にしてGMと同期します。

インターフェイスの下のオプションのパラメータ（GMとパラメータを照合するように設定）:

N3k(config)# interface Ethernet slot/port

N3k(config-if)# ptp delay-request minimum interval 3

N3k(config-if)# ptp announce interval 2

N3k(config-if)# ptp sync interval 0

検証：

N3k# show ptp clock

PTPデバイスタイプ：境界クロック

Clock Identity(CID):  00:62:ec:ff:fe:40:05:81

クロックドメイン：0

PTPポートの数：0

Priority1:1

Priority2:1

クロック品質：

Class：248

精度:254

オフセット（ログ分散）:65535

マスターからのオフセット：0

Mean Path Delay(MDELAY):0

削除された手順：0

ローカルクロック時間：月5日00:00:23 2017

N3k# show ptp parent

PTP親プロパティ

親クロック：

親クロックID:  00:0c:ec:ff:fe:08:12:b1

親ポート番号：1

観測された親オフセット（ログの差異）:N/A

監視対象の親クロックフェーズの変化率：N/A

Grandmaster Clock:

Grandmaster Clock Identity:  00:0c:ec:ff:fe:08:12:b1

Grandmaster Clock Quality:

Class：6 <<<

精度:32

オフセット（ログ分散）:22752

プライオリティ1:128

優先度2:128

N3k# show ptp brief

PTPポートステータス

—

ポートの状態

— —

Eth1/5スレーブ<< GMへ

Eth1/24 Master << to Host

Eth1/24 Listening << no Valid GM or Host detected

N3k# show run | in clock（clock-protocolをチェックする）

N3k#show ptp counters all（Sync、Announce、Delay_Req、Delay_RespなどのPTPメッセージのTxとRxをチェックするため）

N3k# show ptp counters interface ethernet 1/24

インターフェイスEth1/24のPTPパケットカウンタ：

—

パケットタイプTX RX

— — —

アナウンス558 4479

同期1773 8941

フォローアップ1754 8950

遅延要求35 0

遅延応答0 35

PDelay要求0 0

PDelay Res 0 0

PDelayフォローアップ0 0

管理0 0

—

N3k#show ptp correction（PTP訂正タイムスタンプを確認するため）

PTPの過去の修正

—

スレーブポートのSUP時刻修正(ns) MeanPath Delay(ns)

— — — —

Eth1/24 Mon Jun 5 05:48:45 2017 171026 -51 1806

Eth1/24 Mon Jun 5 05:48:46 2017 171727 -2 1806

Eth1/24 Mon Jun 5 05:48:47 2017 173329 -47 1806

Eth1/24 Mon Jun 5 05:48:48 2017 174047 86 1806

Eth1/24 Mon Jun 5 05:48:49 2017 175690 -55 1794

Eth1/24 Mon Jun 5 05:48:50 2017 235577 -6 1794

Eth1/24 Mon Jun 5 05:48:51 2017 178035 -44 1794

Eth1/24 Mon Jun 5 05:48:52 2017 178804 83 1794

Eth1/24 Mon Jun 5 05:48:53 2017 180371 35 1794

Eth1/24 Mon Jun 5 05:48:54 2017 181839 -48 1794

Eth1/24 Mon Jun 5 05:48:55 2017 183667 -42 1794

Eth1/24 Mon Jun 5 05:48:56 2017 184423 -5 1794

Eth1/24 Mon Jun 5 05:48:57 2017 186030 113 1794

Eth1/24 Mon Jun 5 05:48:58 2017 186653 -48 1794

Eth1/24 Mon Jun 5 05:48:59 2017 188298 -6 1794

Eth1/24 Mon Jun 5 05:49:00 2017 189000 -88 1794

<中略>

トラブルシューティング：

1. PTP（ユニキャスト接続）からGMにpingできるかどうかを確認します。

2.経由でPTPであるクロックプロトコルをチェックします

N3k#show run | in clock

3.デフォルトでは、N3Kは「グランドマスター対応」です。を使用して無効にする必要がある

N3k# no ptp grandmaster capable

4. show ptp briefコマンドを使用して、ポートの状態が「リスニング」かどうかを確認します。

5.次に、ethanalyzerキャプチャを実行します。

ethanalyzer local interface inbound-hi capture-filter "udp port 320" limit-captured-frames 0 << <アナウンスとフォローアップ

ethanalyzer local interface inbound-hi capture-filter "udp port 319" limit-captured-frames 0 << Sync

PTP GM側からは、AnnounceメッセージとSyncメッセージがあります。TクライアントはDelay_Reqを送信し、GMはDelay_Respを送信します。

ethanalyzerでキャプチャされたパケットがない場合は、プライオリティの問題である可能性があります。Nexus 3kが優先順位の低いPTPパケット（または優先順位が等しい場合はクロッククラス）を受信すると、パケットは廃棄され、CPUにパントされません。

6.最善の方法は、パケットキャプチャ（GMとBCの間のパケットを取得するため）を実行して、BCがGMと同期していない理由を確認することです。キャプチャから、GMから送信される「Announce」メッセージを確認することで、GMから送信されるPTPプライオリティを確認できます。優先度がBCで設定された優先度より低い（数値が高い）場合、BCのPTP優先度を数値に変更します。

7. BC(Nexus3k)がGMと同期しているが、ダウンストリームホスト/サーバが同期されていない場合は、ホスト/サーバから「Delay_Req_Message」を探します。存在しない場合、ホスト/サーバのPTPデーモンに問題があります。