O Deslocamento de Tempo de um Cable Modem, também conhecido como Offset de Intervalo, é um valor que indica o retardo de round trip entre um Sistema de Terminação de Cable Modem (CMTS) de um Cable Modem conectado. Esse valor é calculado pelo CMTS e pelo Cable Modem como parte do Processo de variação inicial quando um modem a cabo torna-se on-line. É importante que um CMTS e um modem a cabo tenham uma ideia precisa do deslocamento de tempo correto para que as transmissões upstream de modems a cabo sejam sincronizadas corretamente quando chegarem ao CMTS no momento apropriado.
Alguns modems a cabo podem violar certas partes da especificação DOCSIS quando executam a variação inicial e podem produzir uma compensação de tempo negativa ou significativamente inferior ao valor real. Quando um modem a cabo mostra deslocamento de temporização zerado ou negativo, esse modem não é totalmente compatível com DOCSIS e isto resulta no armazenamento inadequado em cache do último deslocamento de temporização utilizado, além de fazer com que o modem entre em modo offline e, em seguida, reutilize o deslocamento de temporização durante o restabelecimento do registro. As causas desse problema e os cursos de ação recomendados estão descritos neste documento. É importante observar que a causa do problema se deve ao comportamento do modem a cabo e não ao CMTS.
A maior parte do impacto prejudicial do problema pode ser solucionado configurando o comando cable interface cable map-Advance static no CMTS, no entanto, o fornecedor do Cable Modem é responsável por corrigir o problema de deslocamento de temporização negativo fornecendo revisões mais recentes do firmware do Cable Modem.
O leitor deve ter algum conhecimento básico do DOCSIS em relação ao processo de alcance que os modems a cabo devem concluir para se conectar a um CMTS.
Este documento não se restringe a versões de software e hardware específicas.
O desvio de tempo, que é uma indicação do retardo de round trip entre um CMTS e o Cable Modem, é normalmente determinado por quatro fatores principais:
A distância física do Cable Modem a partir do CMTS
O esquema de modulação de downstream e a profundidade de intercalação
O esquema de modulação upstream e a largura do canal
O modelo do modem a cabo e do firmware
Você pode visualizar o valor do deslocamento de tempo de um modem a cabo específico executando o comando show cable modem no CMTS ao qual ele está conectado. Aqui há um exemplo de saída deste comando em um sistema típico.
CMTS# show cable modem Interface Prim Online Timing Rec QoS CPE IP address MAC address Sid State Offset Power Cable3/0/U0 2 online 3011 0.75 5 0 10.1.1.52 0001.9659.4461 Cable3/0/U0 3 online 2647 0.50 7 0 10.1.1.40 0001.9659.5370 Cable3/0/U0 4 online 3011 0.25 5 0 10.1.1.48 0001.9659.4415 Cable3/0/U0 5 online 3007 0.25 6 0 10.1.1.11 0001.9659.43fd
O deslocamento de tempo é cotado em unidades de 1/64 de um pulso DOCSIS. Um tick é definido como 6,25 milhões de segundos o que torna uma unidade de deslocamento de tempo igual a 97.65625 bilionésimos do segundo.
O deslocamento de tempo é calculado como parte de um processo de alcance inicial que os modems a cabo devem concluir a fim de se conectar a um CMTS. As partes do processo de Alcance Inicial do qual o Deslocamento de Tempo é derivado são mostradas na Figura 1 abaixo. Observe que esta figura não contém alguns componentes do alcance inicial que não são relevantes a este documento.
Figure 1
Na Figura 1 temos dois cronogramas. A linha do tempo superior mostra o timestamp do sistema de acordo com o CMTS. A linha de tempo inferior mostra o timbre de hora do sistema de acordo com o modem a cabo. Para tornar o processo mais simples, iniciamos essa linha de tempo em 0 e utilizamos unidades de tempo imaginárias. Observe que, a princípio, o Modem a Cabo não sabe qual é o selo de data/hora.
O modem a cabo deve esperar para ouvir uma mensagem SYNC enviada pelo CMTS com o timestamp correto do sistema antes de saber qual é o timestamp atual. Observe que, devido ao atraso de propagação encontrado pela mensagem SYNC, quando o modem a cabo ouvir a mensagem SYNC informando que o timestamp do sistema é 0, o timestamp do CMTS aumentou para 3.
A próxima mensagem no diagrama é uma mensagem MAP que comanda o modem a cabo a enviar uma solicitação de alcance inicial no timestamp 9. Como o modem a cabo não sabe quando o timestamp 9 ocorre no CMTS, ele deve enviar a solicitação de alcance inicial no timestamp 9 de acordo com seu próprio relógio.
O CMTS espera que as solicitações de alcance inicial possam chegar a qualquer momento entre o carimbo de data e hora do CMTS 9 e 16. Esse tempo alocado para receber solicitações de alcance inicial é chamado de Intervalo de alcance inicial e precisa ser grande o suficiente para acomodar o atraso de propagação entre o CMTS e um modem a cabo no ponto mais distante da planta de cabos.
O modem a cabo envia sua solicitação de alcance inicial quando seu timestamp interno é "9", mas quando a solicitação de alcance inicial chegar ao CMTS, o timestamp do CMTS será 15. Isso significa que o CMTS pode calcular a compensação de tempo desse modem a cabo como sendo 15 - 9 = 6 unidades.
O CMTS comunica esse valor de deslocamento de tempo ao modem a cabo enviando uma mensagem Ranging Response. Assim que o modem a cabo receber esta mensagem, ele estará apto a adicionar o deslocamento de tempo adequado para qualquer mensagem futura enviada ao CMTS.
Na Figura 2 abaixo, vemos que, a partir de agora, quando o CMTS comanda o modem a cabo a transmitir alguns dados em um timbre de hora específico, o modem leva em conta a compensação de tempo. Na figura, uma mensagem MAP é enviada do CMTS para o modem a cabo, o que a obriga a transmitir alguns dados no Timestamp 70. Quando o modem a cabo leva em conta o deslocamento de tempo de 6, isso significa que o modem a cabo transmite seus dados no carimbo de data/hora 70 - 6 = 64. Observe que a transmissão chega ao CMTS no rótulo de tempo 70.
Figure 2
Quando um modem a cabo passa do estado on-line para o estado off-line por qualquer motivo, ele deve executar novamente a variação inicial para se conectar de novo ao CMTS. Alguns modems a cabo "trapaceiam" durante esse processo, lembrando seu deslocamento de temporização original quando ficam on-line pela segunda vez. Embora possamos pensar que a fraude agiliza o tempo de alcance inicial, no entanto, ela não pode aumentar o tempo que leva para o modem retornar ao status on-line. Na verdade, se o pacote de alcance inicial chegar muito "cedo" para o CMTS, os dados de outro modem serão perdidos, e o CM que tenta se reconectar não terá êxito. Se o pacote de intervalo inicial chegar exatamente ao início da oportunidade de intervalo, o CMTS verá um desvio de tempo de zero, mas não fornecerá nenhuma oportunidade melhor para se conectar.
Esta seção aborda com detalhes a forma como esses modems a cabo violam a especificação DOCSIS quando são colocados on-line.
A Figura 3 mostra a seqüência de eventos quando um modem se lembra de seu deslocamento de tempo original ao executar o Alcance inicial. Neste diagrama, assumimos que o retardo da propagação entre o CMTS e o modem a cabo não é alterado durante o tempo em que o modem fica off-line e tenta voltar on-line.
Figure 3
No diagrama, o modem a cabo é instruído a enviar uma solicitação de alcance inicial no timestamp 88. Como o modem a cabo se lembra do deslocamento de tempo anterior, ele decide enviar a solicitação de alcance 88 - 6 = 82 no momento. Isso significa que a solicitação de alcance inicial do modem a cabo chega ao CMTS no carimbo de data e hora 88. O CMTS achará, portanto, que o deslocamento de tempo para esse modem a cabo é zero. Na seguinte saída de show cable modem, o modem com endereço MAC 00ff.de4d.b3ef está exibindo esse tipo de comportamento.
CMTS# show cable modem Interface Prim Online Timing Rec QoS CPE IP address MAC address Sid State Offset Power Cable3/0/U0 2 online 3011 0.75 5 0 10.1.1.52 0001.9659.4461 Cable3/0/U0 3 online 2647 0.50 7 0 10.1.1.40 0020.4001.5370 Cable3/0/U0 4 online 0 0.00 5 0 10.1.1.57 00ff.de4d.b3ef Cable3/0/U0 5 online 3011 0.25 5 0 10.1.1.48 0001.9659.4415
Como sabemos, o atraso de propagação ou a latência da rede HFC é definida como a velocidade da luz através da fibra e a distância coaxial do CMTS para o modem e vice-versa. Essa velocidade depende da temperatura e, em longas distâncias, é típica de uma rede HFC, e uma resolução de temporização muito fina, está sujeita a uma variação de centenas de tiques de tempo por dia. Se o retardo de propagação ou latência do caminho upstream ou downstream alterar entre o tempo em que o modem fica off-line e, em seguida, tenta ficar on-line novamente, o deslocamento de tempo que o modem lembra será inválido. Se o retardo da propagação aumentar, a ordem de eventos quando o modem estiver novamente on-line talvez seja semelhante à mostrada na Figura 4.
Figure 4
Na Figura 4, o CMTS acredita que o deslocamento de temporização do modem a cabo é 2. Isso representa o cenário de vida real na qual a compensação de tempo do resultado do comando show cable modem exibe um tempo inferior ao tempo mínimo possível da round trip. se um modem a cabo reportar um deslocamento de temporização significativamente menor que 1000, ele pode estar se comportando como o modem a cabo da figura 4. Na seguinte saída de show cable modem, o modem com endereço MAC 00ff.de4d.b3ef está exibindo esse tipo de comportamento.
CMTS# show cable modem Interface Prim Online Timing Rec QoS CPE IP address MAC address Sid State Offset Power Cable3/0/U0 2 online 3011 0.75 5 0 10.1.1.52 0001.9659.4461 Cable3/0/U0 3 online 2647 0.50 7 0 10.1.1.40 0020.4001.5370 Cable3/0/U0 4 online 35 0.00 5 0 10.1.1.57 00ff.de4d.b3ef Cable3/0/U0 5 online 3011 0.25 5 0 10.1.1.48 0001.9659.4415
Outro caso possível ocorre onde o retardo de propagação do caminho entre o CMTS e o modem a cabo diminui ligeiramente o tempo em que o modem fica off-line e tenta voltar on-line. Isto é mostrado na Figura 5.
Figure 5
Na Figura 5, a Requisição de Intervalo de Cable Modems é recebida pelo CMTS no rótulo de tempo 86 que corresponde a 2 unidades antes do início do Intervalo Inicial. Supondo que o CMTS ainda possa receber e interpretar essa solicitação de alcance, o CMTS pensará que o deslocamento de temporização do modem a cabo é negativo 2. Isso representa o cenário de vida real em que o deslocamento de temporização relatado em uma saída de show cable modem é um número negativo. Na seguinte saída de show cable modem, o modem com endereço MAC 00ff.de4d.b3ef está exibindo esse tipo de comportamento.
CMTS# show cable modem Interface Prim Online Timing Rec QoS CPE IP address MAC address Sid State Offset Power Cable3/0/U0 2 online 3011 0.75 5 0 10.1.1.52 0001.9659.4461 Cable3/0/U0 3 online 2647 0.50 7 0 10.1.1.40 0020.4001.5370 Cable3/0/U0 4 online -93 0.00 5 0 10.1.1.57 00ff.de4d.b3ef Cable3/0/U0 5 online 3011 0.25 5 0 10.1.1.48 0001.9659.4415
O principal problema causado pelos modems que geram um deslocamento de tempo inválido ou negativo é a interrupção do algoritmo Dynamic Map-Advance habilitado por padrão para produtos Cisco CMTS com versões do software Cisco IOS® posteriores à 12.0(9)SC, 12.1(2)EC1, 12.1(1a) e 12.1(1a)T.
O algoritmo de Avanço de mapa dinâmico aumenta significativamente o desempenho upstream para modems a cabo determinando dinamicamente a compensação de tempo do modem a cabo mais distante do CMTS. Usando esta informação, o CMTS pode reduzir o atraso entre as requisições de largura de banda upstream do modem a cabo e o tempo em que o CMTS realmente aloca essa largura de banda a um modem a cabo.
A Figura 6 mostra como o algoritmo Dynamic Map Advance usa o deslocamento de temporização máximo. O retardo de round trip de cada modem a cabo é mostrado no diagrama. Observando o deslocamento de tempo reportado para cada modem, o CMTS é capaz de calcular o deslocamento de tempo do modem mais distante.
Clique na Figura 6 para ver como o algoritmo Dynamic Map Advance usa o deslocamento de temporização máximo.
Se o modem a cabo mais distante do CMTS exibir o problema de deslocamento de tempo negativo, o CMTS acreditará que esse modem a cabo está mais perto do CMTS do que realmente é. Em outras palavras, o Deslocamento de Tempo para esse modem na saída show cable modem será muito menor do que realmente é. Isso significa que a distância real do modem do CMTS não será levada em conta corretamente quando o algoritmo Dynamic Map-Advance estiver calculando o retardo de round trip máximo para todos os modems a cabo. Isso levará a problemas de conectividade para esse modem mais distante.
A Figura 7 mostra a situação em que o modem a cabo mais distante em um sistema tem um deslocamento de tempo incorreto. Embora o deslocamento de tempo real mais distante do modem seja 30, o deslocamento de tempo reportado é -2. Isso significa que o algoritmo de avanço de mapa dinâmico acreditará que o modem mais distante no sistema é o que tem desvio de tempo 20. Isso colocará o modem mais distante no sistema além do ponto de corte de avanço de mapa dinâmico.
Clique aqui para ver a Figura 7 como um vídeo.
Versões do software Cisco IOS posteriores a 12.0(10)SC, 12.1(2)EC1, 12.1(2) e 12.1(2)T têm dentro deles um mecanismo que protege o algoritmo Dynamic Map Advance de modems a cabo com compensações de tempo negativas. Quando um cable modem entrar online com um deslocamento de tempo negativo, o CMTS registrará uma mensagem de erro com o formato:
%UBR7200-4-BADTXOFFSET: Bad timing offset -2 detected for cable modem 00ff.0bad.caf3
Se esta mensagem for exibida em seu CMTS, você deverá entrar em contato com o fornecedor do modem e solicitar uma versão de firmware que não apresente esse problema.
Para garantir que os modems a cabo que exibem o problema de deslocamento de tempo negativo mantenham a conectividade, pode ser necessário desativar o algoritmo de avanço de mapa dinâmico até que todos os modems a cabo conectados ao CMTS estejam executando o firmware compatível com DOCSIS. Para desativar o avanço de mapa dinâmico em uma porta de downstream específica, digite os comandos a seguir no seu CMTS.
CMTS# conf t Enter configuration commands, one per line. End with CNTL/Z. CMTS(config)# interface cable 3/0 !--Specify the Cable interface affected CMTS(config-if)# cable map-advance static CMTS(config-if)# end CMTS#
Para confirmar que o avanço de mapas dinâmicos esteja desativado, observe a linha Map Advance (Static) na saída de um comando show controller cable X/Y upstream Z, em que X/Y seja o número da porta de downstream do cabo e Z seja uma porta de upstream ativa.
CMTS# show controller cable 3/0 upstream 0 Cable3/0 Upstream 0 is up Frequency 25.008 MHz, Channel Width 1.600 MHz, QPSK Symbol Rate 1.280 Msps Spectrum Group is overridden SNR 33.640 dB Nominal Input Power Level 1 dBmV, Tx Timing Offset 2817 Ranging Backoff automatic (Start 0, End 3) Ranging Insertion Interval automatic (60 ms) Tx Backoff Start 0, Tx Backoff End 4 Modulation Profile Group 1 Concatenation is enabled part_id=0x3137, rev_id=0x03, rev2_id=0xFF nb_agc_thr=0x0000, nb_agc_nom=0x0000 Range Load Reg Size=0x58 Request Load Reg Size=0x0E Minislot Size in number of Timebase Ticks is = 8 Minislot Size in Symbols = 64 Bandwidth Requests = 0x2F Piggyback Requests = 0x22 Invalid BW Requests= 0x0 Minislots Requested= 0x50D Minislots Granted = 0x50D Minislot Size in Bytes = 16 Map Advance (Static) : 3480 usecs UCD Count = 122 DES Ctrl Reg#0 = C000C043, Reg#1 = 0
Observe que, após a desativação do avanço do mapa dinâmico, você ainda poderá receber mensagens de erro BADTXOFFSET, mas os cable modems devem ser capazes de manter a conectividade.
Conforme visto na Figura 5, os modems a cabo que exibem um Deslocamento de tempo negativo podem transmitir Solicitações de alcance inicial antes do tempo correto. Essas transmissões prematuras podem interferir nos dados sendo enviados por outro modem a cabo. Isso significará que tanto a Requisição de Intervalo Inicial quanto os dados enviados pelo Cable Modem serão corrompidos e perdidos.
O pior cenário é que o modem a cabo que exibe um deslocamento de tempo negativo transmitirá uma solicitação de alcance inicial a cada poucos segundos que sobrescreve uma transmissão de dados válida de outro modem. Pode ser que um modem atuando dessa maneira não apresente um problema significativo, mas diversos modens atuando dessa maneira podem ser a causa da perda substancial de dados.
A única forma de resolver esse problema é entrar em contato com seu fornecedor de Modem de Cabo e obter uma versão de firmware não afetada pelo problema Deslocamento de Tempo Negativo. Não há nada que se possa configurar no CMTS para evitar esse problema.
Uma causa alternativa bastante rara de Deslocamentos de tempo negativos é quando dois ou mais dispositivos CMTS servem um segmento de cabo comum. Se dois CMTSs forem configurados com as mesmas configurações de freqüência de upstream para um segmento de cabo particular, então um CMTS pode receber "por acaso" uma Solicitação de alcance inicial de um modem a cabo conectando-se a outro CMTS. Essa solicitação de alcance inicial pode ser ouvida aleatoriamente no intervalo de alcance inicial e, a partir daí, será calculada uma compensação de tempo inválido para o modem a cabo.
Os sintomas típicos desse problema são que um comando show cable modem exibirá vários modems a cabo no estado off-line ou init(r1) com Deslocamentos de tempo positivos negativos, muito pequenos ou muito grandes. Na saída de exemplo abaixo, os modems que pertencem a essa categoria estão em negrito.
CMTS# show cable modem Interface Prim Online Timing Rec QoS CPE IP address MAC address Sid State Offset Power Cable3/0/U0 1 online 2801 -0.50 5 0 10.1.1.44 0001.9607.3831 Cable3/0/U0 2 offline 103 0.75 5 0 10.1.1.52 0001.9659.4461 Cable3/0/U0 3 online 2647 0.50 7 0 10.1.1.40 0020.4001.5370 Cable3/0/U0 4 init(r1) -93 0.00 5 0 10.1.1.57 00ff.de4d.b3ef Cable3/0/U0 5 online 3091 0.25 5 0 10.1.1.48 0001.9659.4415 Cable3/0/U0 6 online 2811 1.25 5 0 10.1.1.24 0002.fdfa.0a35 Cable3/0/U0 7 offline 17291 1.00 5 0 10.1.1.33 0050.7366.1fb9 Cable3/0/U0 8 online 2816 1.00 5 0 10.1.1.11 0001.9659.43fd
O modem com SID 2 está mostrando um deslocamento de temporização significativamente menor que 1000, o modem com SID 4 está mostrando um deslocamento de tempo negativo e o modem com SID 7 está mostrando um deslocamento de temporização muito maior que a maioria dos modems.
A forma de resolver esse problema é configurar os dois CMTSs para usar freqüências de upstream diferentes. Dois dispositivos no mesmo segmento de cabo não devem estar utilizando a mesma frequência de upstream ao mesmo tempo. Entretanto, observe que você pode ter dois dispositivos separados, simultaneamente, usando a mesma freqüência de upstream, desde que estejam conectados a segmentos de cabo fisicamente separados.