Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
Chapitre 17. Configurer PTP en utilisant ptp4l
17.1. Introduction à PTP
Precision Time Protocol (PTP) est un protocole utilisé pour synchroniser des horloges dans un réseau. Lorsqu'utilisé en conjonction avec une prise en charge du matériel, le
PTP
est capable d'atteindre une précision inférieure à la microseconde, ce qui est bien mieux que les résultats normalement obtenus avec NTP
. La prise en charge de PTP
est divisée entre le noyau et l'espace utilisateur. Le noyau dans Red Hat Enterprise Linux inclut la prise en charge des horloges PTP
, qui sont fournies par les pilotes réseaux. L'implémentation du protocole est connue sous le nom linuxptp, une implémentation PTPv2
selon le standard IEEE 1588 pour Linux.
Le paquet linuxptp inclut les programmes ptp4l et phc2sys pour la synchronisation des horloges. Le programme ptp4l implémente la « Boundary lock »
PTP
et l'« Ordinary Clock ». Avec l'horodatage matériel, ce paquet est utilisé pour synchroniser l'horloge matérielle PTP
à l'horloge maître, et avec l'horodatage logiciel, il permet de synchroniser l'horloge système à l'horloge maître. Le programme phc2sys n'est utilie que pour l'horodatage matériel, pour synchroniser l'horloge système à l'horloge matérielle PTP
sur la carte réseau (NIC).
17.1.1. Comprendre PTP
Les horloges synchronisées par
PTP
sont organisées sous une hiérarchie de type maître-esclave. Les esclaves sont synchronisés à leurs maîtres qui peuvent eux-mêmes être esclaves d'autres maîtres. La hiérarchie est créée et mise à jour automatiquement par l'algorithme « best master clock » (BMC), qui est exécuté sur chaque horloge. Lorsqu'une horloge ne possède qu'un seul port, celle-ci peut être maître (« master ») ou esclave (« slave »), ce type d'horloge est appelé une Ordinary Clock (OC). Une horloge avec de multiples ports peut être maître sur un port et esclave sur un autre, ce type d'horloge est appelé une Boundary Clock (BC). L'horloge maître se trouvant tout en haut est appelée Grandmaster Clock, et peut être synchronisée en utilisant une source de temps GPS (Global Positioning System). En utilisant une source de temps basée GPS, des réseaux disparates peuvent être synchronisés avec un haut degré de précision.

Figure 17.1. Horloges PTP grandmaster, horloges boundary, et horloges esclaves
17.1.2. Avantages de PTP
L'un des principaux avantages offerts par
PTP
comparé au protocole Network Time Protocol (ou NTP) est la prise en charge matérielle présente dans divers NIC (Network Interface Controllers) et interrupteurs réseau. Ce matériel spécialisé permet à PTP
de tenir compte des délais de transfert de messages, et de largement augmenter la précision de la synchronisation du temps. Même s'il est possible d'utiliser des composants matériel dans le réseau sur lesquels PTP n'est pas activé, cela causera souvent une instabilité ou introduira une asymétrie dans le délai, résultant en inexactitudes de synchronisation, et en une multitude de composants ne reconnaissant pas PTP, utilisés tout au long du chemin de communication. Pour atteindre la meilleure précision possible, il est recommandé que le matériel autorise PTP
sur tous les composants réseau entre horloges PTP
. La synchronisation du temps dans les réseaux de plus grandes taille où tout le matériel réseau ne prend pas forcément en charge PTP
pourrait être plus adéquat pour NTP
.
Avec la prise en charge matérielle
PTP
, le NIC possède sa propre horloge intégrée, qui est utilisée pour horodater les messages PTP
reçus et transmis. Cette horloge intégrée est effectivement synchronisée avec l'horloge maître PTP
, et l'horloge système de l'ordinateur est synchronisée avec l'horloge matérielle PTP
sur le NIC. Avec la prise en charge PTP
, l'horloge système est utilisée pour horodater les messages PTP
et est synchronisée avec l'horloge maître PTP
directement. La prise en charge matérielle PTP
offre une meilleure précision puisque le NIC peut horodater les paquets PTP
au moment exact où ils sont envoyés et reçus, tandis que la prise en charge PTP
logicielle requiert le traitement supplémentaire des paquets PTP
par le système d'exploitation.