Le protocole PTP est un protocole standardisé permettant la distribution de la fréquence et du temps de façon précise sur un réseau par paquets (ethernet). Il est défini par l’association IEEE, la version actuelle est IEEE1588-2008 (« PTP v2 »).

L’objectif du Precise Time Protocol est de garantir un horodatage précis à la micro-seconde. En effet de nombreuses applications échangeant de plus en plus d’informations sur IP ne pouvaient se contenter du protocole NTP insuffisamment précis et qui, fonction de la charge du réseau, donne des valeurs différentes. De nombreuses applications sur IP dans les domaines de la mesure, des télécommunications, de l’énergie, du trading ou du broadcast exigent des datations ou synchronisation de leurs équipements à la micro-seconde.

 

Qu’est-ce qui fait que le protocole PTP est plus précis ?

Le tableau suivant résume les différences entre les 3 protocoles souvent utilisés pour la synchronisation : seul le protocole PTP permet une précision inférieure à la micro-seconde :

IRIG NTP PTP
Précision (typique) 1 us 1ms <1 us
Réseau Coax dédié LAN, WAN LAN
Auto-calibration NON OUI OUI
Hardware spécialisé OUI NON OUI

La réponse à cette question est : « le hardware timestamping » : les messages échangés sont datés au niveau de la couche physique, éliminant ainsi les retards dues aux couches logicielles. Cela nécessite donc un hardware spécialisé pour effectuer cette opération.

protocole-ptpt

De plus des mécanismes au niveau de chaque élément du réseau ont été définis pour minimer/compenser les retards dus aux transmissions des messages. Pour cela 4 « types d’horloges » ont été définis :

Master Clock : horloge primaire qui dispose de la référence de temps.

Boundary Clock : élément du réseau (par exemple un switch ou routeur) qui dispose d’un port en entrée fonctionnant en mode esclave, mets à jour sa propre horloge, puis regénère à partir de sa propre horloge le message PTP en sortie.

Transparent Clock : élément du réseau (par exemple un switch ou routeur) qui détermine le temps passé par le message PTP pour aller de l’entrée à la sortie. Ce délai est inscrit dans le message PTP en sortie.

Slave Clock : élément final de la chaine, et mettant à jour sa propre horloge.

Fonctionnement du protocole PTP

Le principe de calcul des offset et delay est assez similaire à celui utilisé par le protocole NTP : la master clock et la slave clock s’échangent des messages permettant le calcul de « l’offset » et du « delay » de la façon suivante :

kairos-ptp

Slave clock time offset = ((t1-t2) + (t4-t3)) / 2

On suppose que le temps aller et le temps retour d’un paquet est identique. Il existe donc une erreur sur cet offset égale à (temps aller – temps retour) / 2

Un algorithme BMCA (Best Master Class Algorithm) permet la sélection de la « meilleure master clock » sur le réseau. Chaque horloge du réseau reçoit un « announce message » dans lequel figure

les paramètres d’état de l’horloge master clock. Chaque horloge compare son état à celui de la Master clock et peut éventuellement devenir Master clock.

Le « packet delay variation »

Un des enjeux pour la précision est de minimiser l’erreur due à la variation du temps d’aller-retour d’un paquet. Des mécanismes de filtrage existent pour améliorer ce paramètre : en sélectionnant uniquement les «lucky packets», c’est-à-dire les paquets les plus rapides (« delay » le plus faible), on va réduire considérablement le « packet delay variation ».

Les profils PTP

Les profils ont été introduits pour des besoins spécifiques et propres à certaines applications, et aussi permettre l’inter-opérabilité. Un profil définit le jeu de paramètres et d’options laissés libre par le protocole PTP. Les profils supportés par le module HPS-100 de Meinberg :

  • Default:
    – IEEE 1588v2 PTPv2
    – IEEE 1588v1 PTPv1
  • Power:
    – IEC 61850-9-3
    – IEEE C37.238-2011
    – IEEE C37.238-2017
  • Telecom:
    – ITU-T G.8265.1 Frequency
    – ITU-T G.8275.1 Phase/Time
    – ITU-T G.8275.2 Phase/Time
  • Broadcast:
    – SMPTE ST 2059-2
    – AES67 Media Profile
  • AVB/TSN:
    – IEEE 802.1AS

Les solutions Meinberg IEEE1588

Meinberg développe depuis très longtemps des solutions serveurs de temps PTP et cartes PTP IEEE 1588.

Meinberg s’est renforcé en 2019 en faisant l’acquisition de Oregano Systems, spécialiste de la technologie PTP en particulier ses stacks PTP. Meinberg est membre de nombreux organismes de standardisation et professionnels :

  • IEEE: Douglas Arnold de Meinberg est Working Group Chair of IEEE 1588
  • IETF: Douglas Arnold et Heiko Gerstung auteurs de Enterprise Profile RFC
  • ITU-T: Associate Member of Study Group 15
  • SMPTE: Bronze Member
  • AIMS: Associate Alliance Member
  • RAVENNA: Meinberg partenaire officiel
  • PCI SIG
  • Network Time Foundation: Founding Member
  • Linux Foundation: Silver Member

L’équipe de Kairos-Data est à votre écoute. Si vous souhaitez plus d’informations sur nos produits, n’hésitez pas à nous contacter grâce à notre formulaire.