Sommario

Introduzione

Configurazione PTP:

Verifica:

Risoluzione dei problemi:

Introduzione

Precision Time Protocol (PTP) è un protocollo distribuito di sincronizzazione della sincronizzazione della precisione in nanosecondi per le reti a pacchetti. La precisione di PTP deriva dal supporto hardware per PTP nelle schede di interfaccia di rete (NIC, Network Interface Card) di switch e server. PTP utilizza il gruppo multicast 24.0.1.129 e le porte UDP 319 e 320. Lo standard PTP corrente è IEEE 1588-2008 Precision Time Protocol (PTP) versione 2 (PTPv2)

La scalabilità di PTP deriva dal fatto che questo protocollo ha un concetto di Boundary Clock (BC), che può essere costituito da più hop fisici/logici lontani dall'orologio Grand Master (GM) e funge da punto di ri-calibrazione per i messaggi contenenti timestamp. I Nexus 3k sono ampiamente installati nei centri dati (DC) per fungere da BC e fornire intervalli precisi ai server collegati alla LAN (Local Area Network). Il BC e il GM devono essere raggiungibili solo attraverso il layer 3 (connettività ip). Ci possono essere diversi livelli di BC tra il GM e il client finale PTP. Possono esistere più GM per fornire ridondanza e Nexus 3K selezionerà il migliore GM tramite l'algoritmo Best Master Clock (BMC).

Contributo di: Nishad Mohiuddeen

Modificato da: Kumar Sridhar

Configurazione PTP:

N3k(config)# funzionalità ptp

Questo comando abilita PTP sullo switch.

N3k(config)# origine ptp <indirizzo ip>

Questo comando specifica l'indirizzo IP di origine dei pacchetti PTP generati dallo switch.

N3k(config)# interfaccia Slot/porta Ethernet

N3k(config-if)# ptp

Questo comando abilita PTP su una porta. Cisco Nexus 3548 è un clock di confine, quindi ha porte sia master che slave. Non vi sono differenze di configurazione tra una porta master e una porta slave. Entrambi sono configurati con l'opzione "ptp" e l'algoritmo BMC determinerà se la porta è una porta slave o master PTP.

N3k(config)# protocollo di clock ptp

Con questo comando lo switch viene configurato in modo da utilizzare PTP per aggiornare il calendario di sistema. In questo modo, l'orologio dello switch rimane sincronizzato con quello dello switch PTP. La mancata attivazione di questo comando non impedisce allo switch di propagare l'orologio PTP sulle sue porte master. Tuttavia, l'origine ora sarà l'orologio locale Nexus.

N3k(config)# ptp priority1 <0-255>

N3k(config)# ptp priority2 <0-255>

Configurare i valori di priorità per l'orologio locale (oscillatore). Il valore numerico più basso indica una priorità più alta.

N3k(config)# senza supporto per master ptp

Per impostazione predefinita Nexus 3k è "ptp gran master-able", quindi disabilitare questa funzionalità per sincronizzarsi con il GM.

Parametri facoltativi nell'interfaccia (configurati per la corrispondenza del parametro con GM):

N3k(config)# interfaccia Slot/porta Ethernet

N3k(config-if)# intervallo minimo richiesta ritardata PTP 3

N3k(config-if)# ptp intervallo di annuncio 2

N3k(config-if)# intervallo di sincronizzazione ptp 0

Verifica:

N3k# mostra orologio ptp

Tipo di dispositivo PTP: Orologio

Identità orologio:  00:62:ec:ff:fe:40:05:81

Dominio orologio: 0

Numero di porte PTP: 2

Priorità 1: 1

Priorità 2: 1

Qualità orologio:

Classe: 248

Precisione: 254

Offset (varianza log): 65535

Offset dal master: 0

Ritardo medio percorso: 0

Passaggi rimossi: 0

Ora orologio locale:lun giu 5 00:00:23 2017

N3k# mostra padre ptp

PROPRIETÀ PADRE PTP

Orologio principale:

Identità orologio padre:  00:0c:ec:ff:fe:08:12:b1

Numero porta padre: 1

Offset padre osservato (scostamento log): N/D

Frequenza di modifica fase di clock padre osservata: N/D

Orologio maestro:

Identità orologio principale:  00:0c:ec:ff:fe:08:12:b1

Qualità orologio:

Classe: 6 <<<

Precisione: 32

Offset (scostamento log): 22752

Priorità 1: 128

Priorità 2: 128

N3k# mostra descrizione comando

Stato porta PTP

—

Stato porta

—

Eth1/5 Slave <<< verso GM

Eth1/24 Master << verso l'host

Eth1/24 in ascolto << nessun host o GM valido rilevato

N3k#show run | in orologio (per controllare il protocollo clock)

N3k#show ptp conta tutti (per controllare il Tx e il Rx dei messaggi PTP come Sync, Announce, Delay_Req, Delay_Resp ecc.)

N3k# show ptp counters interface ethernet 1/24

Contatori pacchetti PTP dell'interfaccia Eth1/24:

—

Tipo di pacchetto TX RX

— —

Annuncio 558 4479

Sincr. 1773 8941

Follow-up 1754 8950

Richiesta di ritardo 35.0

Risposta di ritardo 0 35

Richiesta PDelay 0

Ris. PDelay 0

PDSelay Follow-up 0 0

Gestione 0 0

—

N3k#show ptp corrections (per controllare i timestamp delle correzioni PTP)

Correzioni passate PTP

—

Correzione tempo SUP porta slave (ns) ritardo/i medio percorso

— — —

Eth1/24 Lun Giu 5 05:48:45 2017 171026 -51 1806

Eth1/24 Lun Giu 5 05:48:46 2017 171727 -2 1806

Eth1/24 Lun Giu 5 05:48:47 2017 173329 -47 1806

Eth1/24 Mon Giu 5 05:48:48 2017 174047 86 1806

Eth1/24 Lun Giu 5 05:48:49 2017 175690 -55 1794

Eth1/24 Lun Giu 5 05:48:50 2017 235577 -6 1794

Eth1/24 Lun Giu 5 05:48:51 2017 178035 -44 1794

Eth1/24 Lun Giu 5 05:48:52 2017 178804 83 1794

Eth1/24 Lun Giu 5 05:48:53 2017 180371 35 1794

Eth1/24 Lun Giu 5 05:48:54 2017 181839 -48 1794

Eth1/24 Lun Giu 5 05:48:55 2017 183667 -42 1794

Eth1/24 Lun Giu 5 05:48:56 2017 184423 -5 1794

Mon 1/24 Giu 5 05:48:57 2017 186030 113 1794

Eth1/24 Lun Giu 5 05:48:58 2017 186653 -48 1794

Eth1/24 Lun Giu 5 05:48:59 2017 188298 -6 1794

Eth1/24 Lun Giu 5 05:49:00 2017 189000 -88 1794

<cattura>

Risoluzione dei problemi:

1. Verificare se è possibile eseguire il ping del file GM da PTP (connettività unicast).

2. Controllare il protocollo di clock, che deve essere PTP, via

N3k#show run | in tempo

3. Per impostazione predefinita, i N3K sono "compatibili con gran maestro". È necessario disabilitarlo tramite

N3k# nessun master ptp

4. Utilizzare il comando show ptp brief per verificare se lo stato della porta è "In ascolto".

5. Quindi eseguire una cattura dell'etanalizzatore.

etanalyzer local interface inbound-hi capture-filter "udp port 320" limit-capture-frames 0 <<< Annuncio e completamento

ethanalyzer local interface inbound-hi capture-filter "udp port 319" limit-capture-frames 0 <<< Sync

Dal lato PTP GM ci sarebbero messaggi Annuncio e Sincronizzazione. TIl client invierà Delay_Req e GM invierà Delay_Resp.

Se nell'analizzatore non vengono acquisiti pacchetti, potrebbe trattarsi di un problema prioritario. Se Nexus 3k riceve pacchetti PTP con priorità inferiore (o classe di clock in caso di uguale priorità), scarterà il pacchetto e non punterà alla CPU.

6. Il modo migliore è fare acquisizioni di pacchetti (per ottenere il pacchetto tra GM e BC) per capire perché il BC non è sincronizzato con il GM. Dalla cattura possiamo verificare la priorità PTP inviata da GM guardando il messaggio ‘Annuncio’ proveniente da GM. Se la priorità è inferiore (valore numerico più alto) rispetto alla priorità configurata nel BC, modificare la priorità PTP del BC in un valore numerico più alto.

7. Se il BC (Nexus3k) è sincronizzato con GM ma gli host/server a valle non lo sono, cercare "Delay_Req_Message" dall'host/server. Se non è presente, il daemon PTP nell'host/server presenta qualche problema.