News

PTP - Precision Time Protocol

Precision Time Protocol

Accuratezza di sincronizzazione nanosecondo

ptp

Fino a pochi anni fa, per la sincronizzazione distribuita dei clock dei computer in una rete LAN (Local Area Network), era possibile utilizzare protocolli standard come l’NTP (Network Time Protocol) e SNTP (Simple Network Time Protocol).

Questi protocolli sono stati introdotti negli anni ‘80 e riescono a garantire (in base al sistema operativo da sincronizzare ed alle condizioni ed al carico della rete) una precisione nell’ordine del millisecondo. Tuttavia, con l’evoluzione delle reti industriali e delle moderne reti di telecomunicazioni, c’è stata una crescente richiesta di precisione in termini di accuratezza.

Per soddisfare queste richieste provenienti dal mondo dell’energia e dell’IT, è stato introdotto (per la prima volta nel 2002) lo standard IEEE 1588 Precision Time Protocol (PTP), offrendo un metodo per la sincronizzazione del clock con un precisione nell’ordine del microsecondo e (talvolta) nanosecondo. Nel 2008 è stata pubblicata la seconda versione del protocollo PTP (non retro-compatibile con la versione PTP V1). Dal 2008 ad oggi il PTP è diventato sempre di più indispensabile per sincronizzare in maniera precisa i processi, come ad esempio nel caso dei sistemi di automazione e controllo, misura e test automatico, centrali di produzione elettrica, nel mondo delle telecomunicazioni (5G) e nel settore dell’IT e del trading (MiFID II).

Ma come funziona il protocollo PTP?

La soluzione adottata per la sincronizzazione dei clock su una rete Ethernet è quella dell’invio agli slaves di un messaggio contenente il valore del tempo del PTP Grandmaster. Ricevuto il pacchetto dal PTP Grand Master, gli slave impostano il proprio clock in modo da farlo coincidere a quello del master. Tuttavia, a causa del tempo necessario per l’invio del messaggio ed a causa del ritardo di propagazione del percorso Ethernet, ai ritardi introdotti dalle CPU per l’elaborazione dei pacchetti ed al tempo (non statisticamente prevedibile) trascorso negli switch, il tempo in cui viene ricevuto dallo slave non indica in maniera precisa il tempo del Grand Master.

ptp

Il PTP risolve questo problema con diversi soluzioni: il protocollo PTP infatti prevede l’utilizzo di un Hardware Timestamping per timestampare il pacchetto scambiato tra il Grand Master e lo slave, definito attraverso l’IEEE 1588-2008.

Nella figura sopra il diagramma mostra lo scambio di messaggi tra un PTP grandmaster ed un PTP slave. Il tempo di partenza e di arrivo del messaggio di Sync e di Delay Request sono salvati con 4 timestamp (t1-t4). Il messaggio di Follow-Up e di Delay_response sono utilizzati per trasportare i time stamp salvati dal master clock allo slave, in modo che abbia le informazioni necessarie per regolare il tempo. Alla fine di questi scambi il clock del dispositivo slave ha tutti e quattro i timestamp e quindi si può calcolare l'offset del suo orologio rispetto al master attraverso la formula sotto.

Delay = [(t2-t1) + (t4-t3)]/2


Offset = (t2-t1) - Delay

Tuttavia, c'è un problema. Questa equazione presuppone che il tempo impiegato dai messaggi per passare dal master allo slave ed il relativo ritardo di inoltro, sia lo stesso del tempo impiegato dai messaggi per passare dallo slave al master. Non c'è alcun problema se questi ritardi sono grandi, purché siano uguali. Qualsiasi differenza nel ritardo in avanti e indietro provoca un errore nel determinare la differenza tra il clock master e il clock slave.  Nel mondo reale tuttavia, i ritardi di andata e di ritorno sono diversi: questo è dovuto principalmente alle code dei pacchetti di sincronizzazione nei router, negli switch e persino negli stack di rete sui dispositivi finali. Di solito i messaggi trascorrono un tempo minimo nelle code, ma a volte sono in attesa che un dispositivo finisca con altri messaggi sulla stessa porta o che un sistema operativo completi ciò che stava facendo in modo che possa applicare un timestamp. In alcuni casi il ritardo può essere piuttosto lungo, molti microsecondi o persino millisecondi. Quindi ovviamente se questo accade nell'unica direzione, ma non nell'altra, allora si ha un grosso errore di trasferimento!
Image
Con i timestamp hardware, quando i messaggi partono o arrivano a una porta di rete, l'hardware speciale genera un timestamp dal clock locale, solitamente nell'interfaccia indipendente dal supporto tra il livello di collegamento dati (MAC) e il livello fisico (PHY). Ciò rimuove la risposta imprevedibilmente lenta del sistema operativo e di altri software.

Switch e router che sono PTP aware provvedono anche ad inserire il timestamp sui messaggi PTP in transito. I dispositivi possono essere di due tipi: Trasparent Clock che funzionano aggiornando il campo del pacchetto PTP con il tempo di transito all’interno del dispositivo stesso e Boundary Clock, che utilizzano il messaggio PTP per impostare il proprio clock e quindi inviare il messaggio di tempo a tutti gli slave che ne hanno bisogno fungendo a sua volta da master per la rete sottostante.

Prodotti con supporto PTP Hardware

Oregano Systems dispone di un Transparent Clock E2E PTP con un’accuratezza di timestamp di circa 2 nanoSecondi. Meinberg dispone invece di una vasta gamma di PTP Grand Master con supporto di PTP V1 ( IEEE 1588v1 ) e PTP V2 e di tutti i profili PTP attualmente sul mercato, come IEEE 1588v2 Default Profile, l’ Enterprise Profile, l’ IEEE C.37.238 Power Profile per il settore dell’energia, ITU-T G.8265.1 Telecom Frequency Profile, ITU-T G.8275.1 Telecom Phase / Time Profile (full timing support) e ITU-T G.8275.2 Telecom Phase / Time Profile (partial timing support) per il settore delle Telecomunicazioni, l’ SMPTE ST 2059-2 Broadcast Profile, IEEE 802.1AS TSN/AVB Profile, AES67 Media Profile e DOCSIS 3.1 per il mondo del broadcast e audio.

ptp

Prodotti correlati

Meinberg M1000

Il LANTIME M1000 è un apparato modulare aggiornabile sul campo ed estremamente flessibile che copre le esigenze di sincronizzazione di oggi e di domani.

Meinberg microSync

microSync è un Timeserver / PTP Grandmaster che all'interno di mezza unità rack dispone di svariate uscite e garantisce delle performance elevate.

Categorie

I più letti