Contents

Introduction

Configuração do PTP:

Verificação:

Troubleshooting:

Introduction

O Precision Time Protocol (PTP) é um protocolo de sincronização de temporização de precisão de nanossegundos distribuído para redes de pacotes. A precisão do PTP vem do suporte de hardware do PTP nas placas de interface de rede (NICs) do switch e do servidor. O PTP usa o grupo multicast 224.0.1.129 e as portas UDP 319 e 320. O padrão PTP atual é IEEE 1588-2008 Precision Time Protocol (PTP) versão 2 (PTPv2)

A escalabilidade do PTP vem do fato de que esse protocolo tem um conceito de Boundary Clock (BC), que pode ser vários saltos físicos/lógicos distantes do relógio do Grand Master (GM) e atua como um ponto de recalibração para as mensagens que contêm timestamps. Os Nexus 3ks são amplamente implantados em data centers (DCs) para atuar como BC e fornecer temporizações precisas aos servidores conectados à LAN (Local Area Network, rede local). O BC e o GM precisam estar acessíveis somente através da Camada 3 (conectividade ip). Pode haver várias camadas de BC entre o cliente final GM e PTP. Pode haver vários GMs para fornecer redundância e O Nexus 3K selecionará o melhor GM através do algoritmo Best Master Clock (BMC).

Contribuído por: Nishad Mohiuddeen

Editado por: Kumar Sridhar

Configuração do PTP:

N3k(config)# recurso ptp

Esse comando ativa o PTP no switch.

N3k(config)# ptp source <ip address>

Esse comando especifica o endereço IP origem dos pacotes PTP gerados pelo switch.

N3k(config)# interface slot/porta Ethernet

N3k(config-if)# ptp

Esse comando ativa o PTP em uma porta. O Cisco Nexus 3548 é um relógio de limite, portanto ele tem portas master e slave. Não há diferença de configuração entre uma porta mestre e uma porta escrava. Ambos são configurados com a opção "ptp" e o algoritmo BMC determinará se a porta é uma porta mestre ou escrava PTP.

N3k(config)# clock protocol ptp

Esse comando configura o switch para usar o PTP para atualizar o calendário do sistema. Essa configuração mantém o relógio do switch sincronizado com o PTP. Não habilitar esse comando não impedirá que o switch propague o relógio PTP em suas portas mestre. No entanto, a fonte de tempo será o relógio local do Nexus.

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

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

Configure os valores de prioridade para o relógio local (oscilador). Valor numérico mais baixo indica prioridade mais alta.

N3k(config)# sem capacidade para ptp Grandmaster

Por padrão, o Nexus 3k é "compatível com ptp Grandmaster", portanto, desative esse recurso para ser sincronizado com o GM.

Parâmetros opcionais na interface (configure para corresponder o parâmetro com GM):

N3k(config)# interface slot/porta Ethernet

N3k(config-if)# intervalo mínimo de solicitação de retardo ptp 3

N3k(config-if)#ptp anunciar intervalo 2

N3k(config-if)# intervalo de sincronização de ptp 0

Verificação:

N3k# show ptp clock

Tipo de dispositivo PTP: relógio de limite

Identidade do relógio: 00:62:ec:ff:fe:40:05:81

Domínio do relógio: 0

Número de portas PTP: 2

Prioridade 1: 1

Prioridade 2: 1

Qualidade do relógio:

Classe: 248

Precisão : 254

Deslocamento (variação de log): 65535

Deslocamento do mestre: 0

Atraso médio do caminho: 0

Etapas removidas: 0

Hora do relógio local:Seg Jun 5 00:00:23 2017

N3k# show ptp parent

PROPRIEDADES DO PTP PAI

Relógio pai:

Identidade do relógio pai: 00:0c:ec:ff:fe:08:12:b1

Número da porta pai: 1

Deslocamento pai observado (variação de log): N/A

Taxa de alteração da fase de relógio principal observada: N/A

Relógio do avô:

Identidade do relógio do avô: 00:0c:ec:ff:fe:08:12:b1

Qualidade do relógio do vovô:

Classe: 6 <<<

Precisão: 32

Deslocamento (variação de log): 22752

Prioridade 1: 128

Prioridade 2: 128

N3k# show ptp brief

status da porta PTP

—

Estado da porta

—

Escravo Eth1/5 << para GM

Mestre Eth1/24 <<<< em direção ao host

Eth1/24 Ouvindo <<< sem GM ou host válido detectado

N3k#show run | no relógio (para verificar o protocolo de clock)

N3k#show ptp counters all (para verificar o Tx e o Rx de mensagens PTP como Sincronização, Anúncio, Retardo_Req, Delay_Resp etc.)

N3k# show ptp counters interface ethernet 1/24

Contadores de Pacotes PTP da Interface Eth1/24:

—

Tipo de pacote TX RX

— —

Anúncio 558 4479

Sync 1773 8941

Acompanhamento 1754 8950

Solicitação de atraso 35 0

Resposta de atraso 0 35

PDelay Request 0 0

PDelay Res 0 0

PDelay Segulowup 0 0

Gestão 0 0

—

N3k#mostrar correções de ptp (para verificar os timestamps de correção de PTP)

correções passadas de PTP

—

Correção(ões) de tempo SUP de porta escrava Atraso(s) de caminho(s)

— — —

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

Eth1/24 Mon Jun 5 05:48:46 2017 171727 -2 1806

Eth1/24 Mon Jun 5 05:48:47 2017 173329 -47 1806

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

Eth1/24 Mon Jun 5 05:48:49 2017 175690 -55 1794

Eth1/24 Mon Jun 5 05:48:50 2017 235577 -6 1794

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

Eth1/24 Mon Jun 5 05:48:52 2017 178804 83 1794

Eth1/24 Mon Jun 5 05:48:53 2017 180371 35 1794

Eth1/24 Mon Jun 5 05:48:54 2017 181839 -48 1794

Eth1/24 Mon Jun 5 05:48:55 2017 183667 -42 1794

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

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

Eth1/24 Mon Jun 5 05:48:58 2017 186653 -48 1794

Eth1/24 Mon Jun 5 05:48:59 2017 188298 -6 1794

Eth1/24 Mon Jun 5 05:49:00 2017 189000 -88 1794

<snip>

Troubleshooting:

1. Verifique se você pode fazer ping no GM a partir do PTP (conectividade unicast).

2. Verifique o protocolo de relógio, que deve ser PTP, via

N3k#show run | em relógio

3. Por padrão, os N3Ks são "habilitados para o grande mestre". Precisa desabilitá-lo via

N3k# no ptp Grandmaster

4. Use o comando show ptp brief para verificar se o estado da porta é "Ouvindo".

5. Em seguida, faça uma captura de analisador de éteres.

eethanalyzer local interface inbound-hi capture-filter "udp port 320" limit-captured-frames 0 << Announce and Follow up

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

Do lado do PTP GM, há mensagens de Anúncio e Sincronização. TO cliente enviará Delay_Req e o GM enviará Delay_Resp.

Se nenhum pacote for capturado no analisador de eventos, isso pode ser um problema prioritário. Se o Nexus 3k receber pacotes PTP com prioridade mais baixa (ou classe de relógio em caso de prioridade igual) ele descartará o pacote e não cravará a CPU.

6. A melhor maneira é fazer capturas de pacotes (para obter o pacote entre GM e BC) para ver por que o BC não está sincronizando com o GM. A partir da captura, podemos verificar a prioridade de PTP enviada pelo GM, observando a mensagem "Announce" vinda do GM. Se a prioridade for menor (valor numérico mais alto) que a prioridade configurada no BC, altere a prioridade PTP do BC para um valor numérico mais alto.

7. Se o BC (Nexus3k) estiver sincronizado com o GM, mas os hosts/servidores de downstream não estiverem, procure "Delay_Req_Message" do host/servidor. Se não estiver presente, há algo errado com o daemon PTP no host/servidor.