私の最大の関心:私はマインバーグのエージェントです:-)
はい Chronyまたはntpdを実行するベアメタル上のLinux「クライアント」を、GPS、ローカル原子時計、またはそのようなソースによって統制されたLinuxベースのNTPサーバーに同期する場合、50マイクロ秒(マイクロ秒)のジッター。
ローカルGPS(PPS相互接続)を備えたマシンでは、OSで実行されているntpdインスタンスとそのPPS refclockドライバーの入力との間に、おそらく0〜2マイクロ秒のオフセットがあります。
「LANを介したエンドツーエンド」の50 usの残りは、バッファリング、可変IRQレイテンシ、LANおよび関連するコンピュータバスなどに干渉する他のトラフィックのいくつかの段階の結果です。50 usは、トラフィックが非常に少ないLANを意味します。スイッチだけでも数マイクロ秒のジッターを追加できます。また、複雑な機能を備えたハイエンドスイッチは、レイテンシとジッターを追加します。言い換えると、実際のLANで実際の状況でこれらの50マイクロ秒を達成するのはかなり難しい場合があります。
同様に、PPSオフセットのこれらのcca <2usは、正常に動作するPCハードウェアでのIRQレイテンシの不確実性と一般的なバスレイテンシジッタに起因します。
NTPとその実装ntpdとChronyは、確実にNTPトランザクションの往復時間を測定し、その往復の半分を差し引いて(実際に)加算することに注意してください。また、異常値の拒否、定足数のコンセンサス、シスピアの選択、およびNTPデーモンがアップストリームクエリに対する応答をフィルタリングします。したがって、他の人が言ったように、PingおよびTracerouteで表示されるミリ秒は、ローカルクロックを直接オフセットしません。重要なのは、トランザクションの往復の変動性、つまり、アップストリームNTPサーバーへのパス上の他のトラフィックです。Ntpq -pはあなたの友達です。
TCXOを備えたタイミング用の基本的なGPS受信機では、PPS出力に100〜200 nsの残留ジッタ+ワンダーが発生する可能性があります。GPSがロックされている限り、NTPに十分に適しています。(ホールドオーバーのパフォーマンスは、TCXOの場合はあまり良くありません。)OCXOを備えた高品質のタイミングGPSは100 ns以内で、10〜30 nsの残留誤差(グローバルUTCからのオフセット)のようです。
GPSジェネレーターを備えたラボでのベンチマークよりも、実際の衛星が大気中を飛行して大気中を照らしていることは、受信機にとってやや厳しいゲームであることに注意してください。
PTPはハンマーです。グランドマスター、スレーブ、および任意のスイッチでHWサポートが必要ですが、すべてを取得すると、ナノ秒の下位2桁までの残留オフセットが可能になります。私は個人的にこれを、HWをサポートするi210 NICで実行されているptp4lで見ました(ナノ秒の解像度でのタイムスタンプ)。
i210チップは不思議です。PPS信号の入力または出力に使用できる4つの汎用ピンがあります。i210(およびいくつかの大手ベンダーのOEMバージョン)を搭載したリファレンスIntelアドオンNICボードには、少なくとも2つのGPIOピン(Intelによって呼び出されるSDP)にアクセスできるピンヘッダーが装備されています。PTPグランドマスターポートの実装とは別に、PPS入力を活用して、パケットキャプチャの正確なタイムスタンプを取得できます。サーボループを実行してi210のPHCをext.PPSに微調整するには、PPSの正確なソースとソフトウェアのカスタムピースが必要です。私のテスト装置では、これにより、1桁のns(1秒の反復あたり)の残留オフセットが生じました。これは、キャプチャタイムスタンプで取得する精度です。最新のLinuxカーネルで最近のtcpdumpまたはwiresharkを実行する場合(すべてのソフトウェアはナノ秒レベルの解像度をサポートする必要があります)。さらに良いこと:私はずっと行き、正確なアップストリーム10MHz基準にロックされたNICクロック用に25MHzを生成する単純なPLLシンセを構築しました。その後、パケットキャプチャリグのサーボループの残留オフセットが0になりました(10 MHzの基準が同じGPSボックスからのPPSと位相同期していることの証明)。
PTPグランドマスターは、8 nsごとに実際の粒度でタイムスタンプを提供するように指定できることに注意してください(1 nsの解像度のデータ型で)。これは理にかなっています-ギガビットイーサネットは、MACの内部でバイトクロックとして使用される125 MHzクロックを使用する傾向があり、このクロックはおそらくGMIIでも使用され、メタリック1000Base-TXのシンボルクロックでもあります(4ペア並行して、ペアあたりシンボルあたり2ビット)。したがって、1000Base-FX(光ファイバー)をSERDESとともに使用し、PHYのHWタイムスタンプユニットの個々のSERDESビットまで機能する過激な実装を使用している場合を除き、これらの8 nsは、ギガビットイーサネットで現実的に期待できるすべてです。一部のチップデータシート(PTPサポート付き)では、MIIデータパスにバッファリングがなく、そこからジッターが発生する可能性があるとさえ主張しています。
PTPパケットには、実際に、サブナノ秒の深い解像度を可能にするデータ型で保存されたタイムスタンプが含まれています。しかし、「サブナノ秒の分数フィールド」は現在では一般的に使用されていません。AFAIRは、ホワイトラビットプロジェクト(スイスの研究センターCERNに関連)のみがサブns精度をこれまでに実装しています。
PTPは、ハードウェアアクセラレーションなしの純粋なソフトウェアでも利用できます。その場合、SWベースのGMおよびSWベースのクライアントの場合、NTPと同様の残留ジッター、つまり、専用だがPTPを認識しないLANで約50 usを取得することを期待してください。直接相互接続(中間スイッチなし)およびSW専用クライアント(PTP非対応PC NIC)のHWグランドマスターからサブマイクロ秒の精度を得たことを思い出します。NTPと比較して、PTPのサーボははるかに速く収束します。
いくつかの「宿題」をしている間に、最近、広域光ファイバルートを介してPPSまたは同様の「離散」タイミング信号を転送すると、温度依存の伝播時間「ワンダー」の影響を受けやすいことがわかりました。そして、これを実験的にテストする方法はありませんが、インターウェブのいくつかのソースは、1 kmあたり40〜76ピコ秒とケルビンの数値を引用しています。この種の「サーマルワンダー」はシンプレックスPPS伝送の「帯域内」を緩和することはできませんが、PTPは標準パス遅延測定(全二重伝送に依存)に基づいてこれを本質的に事後補償します。
さまざまなタイミングテクノロジー/インターフェイスでの「精度」がどのように見えるかの概要については、ここまでです。どのレベルの精度で十分かは、アプリケーションや実際のニーズによって異なります。