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.
Horloges PTP grandmaster, horloges boundary, et horloges esclaves

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.