NDIS パケット タイムスタンプの概要
NDIS パケット タイムスタンプ インターフェイスは、Precision Time Protocol (PTP) バージョン 2 のネットワーク インターフェイス カード (NIC) のハードウェア タイムスタンプ機能をサポートしています。
多くの NIC では、独自のハードウェア クロックを使用してパケットを送受信するときに、ハードウェアでタイムスタンプを生成できます。 NDIS 6.82 以降では、NDIS パケット タイムスタンプを使用すると、NIC ドライバーにハードウェア タイムスタンプのサポートを追加できます。
タイムスタンプのサポートを有効にして、クロック同期アプリケーションの精度を向上させることができます。 ミニポート ドライバーは、既定ですべての種類のタイムスタンプのサポートを無効にする必要があります。
具体的には、NDIS パケット タイムスタンプが、オペレーティング システムでハードウェア タイムスタンプを使用できるようにすると、トランスポートとして UDP を使用して PTP プロトコルを実装するアプリケーションがそれらを使用できるようになります。 PTP は、ハードウェア タイムスタンプを使用してシステム間のより正確な時刻同期を実現できるプロトコルです。
タイムスタンプの生成が厳密であるほど、ネットワーク アダプター ハードウェアによってパケットが送受信されたときの同期アプリケーションの精度が高くなります。 NDIS パケット タイムスタンプは、NIC ハードウェアで生成されたタイムスタンプを使用できるようにすることで、時刻同期アプリケーションの精度を向上させることができます。
NDIS パケット タイムスタンプにより、2 段階認証モードで動作する PTP バージョン 2 アプリケーション (IEEE で定義) が、NIC のハードウェア タイムスタンプ機能を使用できるようになります。 2 段階モードでは、PTP パケットのタイムスタンプがハードウェアから取得され、ハードウェアでオンザフライで生成されるのではなく、個別のメッセージとして伝達されます。
NDIS パケット タイムスタンプでは、次の機能が提供されます。
NIC ハードウェアのタイムスタンプ機能を検出します。
NIC ハードウェア クロックのタイムスタンプを、UDP 経由で実行されている PTP バージョン 2 のトラフィックに関連付けます (PTP に定義されている標準の UDP ポート (319 や 320 など) を使用)。
NIC ハードウェアのクロックを自走クロックとして使用します。 ネットワーク ハードウェアのクロックに対してクエリを実行し、ネットワーク ハードウェア クロックとシステム クロック間の関係を確立する機能により、これを実現できます。
ソフトウェア タイムスタンプを生成します。
NDIS パケット タイムスタンプ インターフェイスのターゲットはイーサネット ハードウェアです。 このインターフェイスは、PTP バージョン 2 トラフィックのハードウェア タイムスタンプ生成を特にサポートする NIC と、すべてのトラフィックに対してハードウェア タイムスタンプを生成できる NIC の両方で動作します。これらの NIC は PTP トラフィックでも動作します。