L'offset dell'ora di un modem via cavo, noto anche come offset della gamma, è un valore che indica il ritardo di andata e ritorno tra un sistema di terminazione del modem via cavo (CMTS) e un modem via cavo collegato. Questo valore viene calcolato dal CMTS e dal modem via cavo come parte del processo di intervallo iniziale quando un modem via cavo viene connesso. È importante che il CMTS e il modem via cavo abbiano un'idea precisa della corretta differenza di tempo in modo che le trasmissioni upstream dai modem via cavo siano sincronizzate correttamente quando arrivano al CMTS al momento opportuno.
Alcuni modem via cavo possono violare alcune parti della specifica DOCSIS durante l'esecuzione dell'intervallo iniziale e possono produrre uno scostamento tempo negativo o uno scostamento tempo notevolmente inferiore al valore reale. Quando un modem via cavo mostra offset zero o negativi, non è completamente compatibile con DOCSIS e deriva dal fatto che il modem non memorizza correttamente nella cache l'ultimo offset di temporizzazione utilizzato, passa offline e quindi riutilizza tale offset quando ristabilisce la registrazione. Le cause di questo problema e le azioni consigliate sono descritte in questo documento. È importante notare che la causa del problema è dovuta al comportamento del modem via cavo e non al CMTS.
La maggior parte dell'impatto dannoso del problema può essere risolto configurando il comando di interfaccia del cavo mappa-anticipo statico sul CMTS, tuttavia il fornitore del modem via cavo è responsabile della risoluzione effettiva del problema di sfasamento temporale negativo fornendo nuove revisioni del firmware del modem via cavo.
Il lettore deve avere una conoscenza di base di DOCSIS per quanto riguarda il processo di definizione dell'intervallo che i modem via cavo devono completare per connettersi a un CMTS.
Il documento può essere consultato per tutte le versioni software o hardware.
La differenza di tempo, che è un'indicazione del ritardo di andata e ritorno tra un CMTS e un modem via cavo, è generalmente determinata da quattro fattori principali:
La distanza fisica del modem via cavo dal CMTS
Schema di modulazione in downstream e profondità di interfoliazione
Schema di modulazione upstream e larghezza del canale
Il modello di modem via cavo e firmware
Per visualizzare il valore di scostamento orario per un particolare modem via cavo, eseguire il comando show cable modem sul CMTS a cui è connesso. Di seguito è riportato un esempio di output di questo comando in un sistema tipico.
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
L'offset dell'ora è espresso in unità di 1/64 di un tick DOCSIS. Un tick è definito come 6,25 microsecondi che rende un'unità di tempo offset uguale a 97,65625 nanosecondi.
L'offset del tempo viene calcolato come parte del processo di intervallo iniziale che i modem via cavo devono completare per connettersi a un CMTS. Le parti del processo di intervallo iniziale in cui viene derivato l'offset temporale sono mostrate nella Figura 1 seguente. Nella figura mancano alcuni componenti dell'intervallo iniziale non pertinenti per questo documento.
Figura 1
Nella Figura 1 sono riportate due timeline. La linea temporale superiore mostra l'indicatore orario del sistema in base al CMTS. Nella timeline inferiore viene visualizzato il timestamp del sistema in base al modem via cavo. Per semplicità, iniziamo questa linea temporale da 0 e usiamo unità di tempo immaginarie. Si noti che inizialmente il modem via cavo non è a conoscenza dell'indicatore orario del sistema.
Il modem via cavo deve attendere di ricevere un messaggio SYNC inviato dal CMTS con l'indicatore orario corretto del sistema prima di conoscere l'indicatore orario corrente. Si noti che, a causa del ritardo di propagazione rilevato dal messaggio SYNC, quando il modem via cavo sente il messaggio SYNC che indica che l'indicatore orario del sistema è 0, l'indicatore orario del CMTS è aumentato a 3.
Il messaggio successivo nel diagramma è un messaggio MAP che indica al modem via cavo di inviare una richiesta di intervallo iniziale con l'indicatore orario 9. Poiché il modem via cavo non sa quando l'indicatore orario 9 si verifica sul CMTS, deve inviare la richiesta di intervallo iniziale con l'indicatore orario 9 in base al proprio orologio.
Il CMTS prevede che le richieste di intervallo iniziale possano arrivare in qualsiasi momento tra i timestamp CMTS 9 e 16. Il tempo allocato per la ricezione delle richieste di intervallo iniziali è denominato intervallo di intervallo iniziale e deve essere sufficientemente grande da contenere il ritardo di propagazione tra il CMTS e un modem via cavo nel punto più lontano dell'impianto.
Il modem via cavo invia la richiesta di intervallo iniziale quando il relativo timestamp interno è "9" ma quando la richiesta di intervallo iniziale raggiunge il CMTS, il timestamp del CMTS è 15. Ciò significa che il CMTS può calcolare l'offset del tempo del modem via cavo in modo che sia 15 - 9 = 6 unità.
Il CMTS comunica questo valore di scostamento tempo al modem via cavo inviando un messaggio di risposta di intervallo. Dopo aver ricevuto il messaggio, il modem via cavo può aggiungere l'offset appropriato a qualsiasi messaggio futuro inviato al CMTS.
Nella Figura 2 seguente è illustrato che, da questo momento in poi, quando il CMTS ordina al modem via cavo di trasmettere alcuni dati a un particolare timestamp, il modem prende in considerazione la differenza di tempo. Nella figura, il CMTS invia un messaggio MAP al modem via cavo ordinandogli di trasmettere alcuni dati con l'indicatore orario 70. Se il modem via cavo prende in considerazione l'offset di 6, il modem via cavo trasmette i dati con l'indicatore orario 70 - 6 = 64. La trasmissione arriva al CMTS con l'indicatore orario 70.
Figura 2
Quando per qualsiasi motivo un modem via cavo passa dallo stato online allo stato offline, deve eseguire nuovamente l'intervallo iniziale per riconnettersi al CMTS. Alcuni modem via cavo "imbrogliano" durante questo processo ricordando il loro offset di temporizzazione originale quando sono in linea per la seconda volta. Anche se si potrebbe pensare che la truffa velocizza il tempo di gittata iniziale, in realtà questo non può migliorare il tempo che ci vuole affinché il modem torni allo stato online. Infatti, se il pacchetto Initial Ranging arriva troppo presto per il CMTS, i dati di un altro modem andranno persi e il tentativo di riconnessione del CMTS non avrà esito positivo. Se il pacchetto iniziale arriva esattamente all'inizio dell'opportunità di variazione, il CMTS vede una differenza di tempo pari a zero, ma non fornisce alcuna migliore opportunità di connessione.
In questa sezione vengono illustrati in dettaglio come questi modem via cavo violino le specifiche DOCSIS quando sono online.
Nella Figura 3 è illustrata la sequenza di eventi in cui un modem ricorda la differenza di tempo originale durante l'esecuzione della funzione di intervallo iniziale. Nel diagramma si presume che il ritardo della propagazione tra il CMTS e il modem via cavo sia invariato tra il momento in cui il modem non è in linea e il successivo tentativo di connessione.
Figura 3
Nel diagramma, il modem via cavo è invitato a inviare una richiesta di intervallo iniziale all'ora 88. Poiché il modem via cavo ricorda la differenza di orario precedente, decide di inviare la richiesta di intervallo all'ora 88 - 6 = 82. Ciò significa che la richiesta di intervallo iniziale del modem via cavo arriva al CMTS all'ora 88. Il CMTS riterrà pertanto che la differenza di orario per questo modem via cavo sia zero. Nell'output seguente relativo al modem via cavo, il modem con indirizzo MAC 00ff.de4d.b3ef mostra questo tipo di 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
Come sappiamo, il ritardo o la latenza di propagazione della rete HFC è definita come la velocità della luce attraverso la fibra e la distanza coassiale dal CMTS al modem e viceversa. Questa velocità dipende dalla temperatura e, su lunghe distanze, in genere in una rete HFC, è soggetta a variazioni in base a centinaia di cicli orari al giorno. Se il ritardo o la latenza della propagazione del percorso a monte o a valle cambia tra il momento in cui il modem non è in linea e il tentativo di riportare in linea, l'offset temporale che il modem ricorda non sarà valido. Se il ritardo di propagazione aumenta, l'ordine degli eventi quando il modem torna in linea potrebbe essere simile a quello mostrato nella Figura 4.
Figura 4
Nella Figura 4, il CMTS ritiene che lo scarto temporale del modem via cavo sia 2. Ciò rappresenta lo scenario reale in cui lo scarto temporale riportato in un output del modem show cable visualizza un'ora inferiore al tempo minimo possibile di andata e ritorno. Se un modem via cavo segnala una differenza di tempo significativamente inferiore a 1000, potrebbe comportarsi come il modem via cavo nella Figura 4. Nell'output seguente del modem via cavo il modem con indirizzo MAC 00ff.de4d.b3ef mostra questo tipo di 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
Un altro caso potenziale è quello in cui il ritardo di propagazione del percorso tra il CMTS e il modem via cavo diminuisce leggermente tra il momento in cui il modem non è in linea e il tentativo di riportare in linea. come mostrato nella Figura 5.
Figura 5
Nella Figura 5, la richiesta di intervallo del modem via cavo viene ricevuta dal CMTS con il timestamp 86, ovvero 2 unità prima dell'inizio dell'intervallo iniziale. Supponendo che il CMTS sia ancora in grado di ricevere e interpretare questa richiesta di intervallo, il CMTS riterrà che lo scostamento di tempo del modem via cavo sia negativo 2. Questo rappresenta lo scenario reale in cui lo scostamento di tempo segnalato in un output del modem via cavo show è un numero negativo. Nel seguente show cable modem output il modem con indirizzo MAC 00ff.de4d.b3ef mostra questo tipo di 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
Il problema principale causato dai modem che generano un offset tempo negativo o non valido è l'interruzione dell'algoritmo Dynamic Map-Advance abilitato per impostazione predefinita sui prodotti Cisco CMTS con software Cisco IOS® versioni successive a 12.0(9)SC, 12.1(2)EC1, 12.1(1a) e 12.1(1a)T.
L'algoritmo Dynamic Map Advance migliora in modo significativo le prestazioni a monte dei modem via cavo determinando in modo dinamico lo scostamento temporale del modem via cavo più lontano dal CMTS. Utilizzando queste informazioni, il CMTS è in grado di ridurre il ritardo tra il momento in cui il modem via cavo effettua le richieste di larghezza di banda a monte e il momento in cui il CMTS assegna effettivamente questa larghezza di banda a un modem via cavo.
La Figura 6 mostra come l'algoritmo Dynamic Map Advance utilizza l'offset di sincronizzazione massimo. Nel diagramma è illustrato il ritardo di andata e ritorno di ciascun modem via cavo. Osservando la differenza di tempo riportata per ciascun modem, il CMTS è in grado di calcolare la differenza di tempo del modem più lontano.
Fare clic su Figura 6 per vedere in che modo l'algoritmo Dynamic Map Advance utilizza l'offset di sincronizzazione massimo.
Se il modem via cavo più lontano dal CMTS mostra un problema di scostamento temporale negativo, il CMTS riterrà che questo modem via cavo sia più vicino al CMTS di quanto non sia in realtà. In altri termini, lo scostamento orario per questo modem nell'output show cable modem sarà molto inferiore a quello effettivo. Ciò significa che la reale distanza del modem dal CMTS non verrà considerata correttamente quando l'algoritmo Dynamic Map-Advance calcola il ritardo di andata e ritorno massimo per tutti i modem via cavo. Ciò causerà problemi di connettività per il modem più lontano.
Nella Figura 7 è illustrato il caso in cui l'offset del modem via cavo più lontano nel sistema non è corretto. Anche se l'offset in tempo reale del modem più lontano è 30, l'offset in tempo indicato è -2. Ciò significa che l'algoritmo di avanzamento della mappa dinamica crederà che il modem più lontano nel sistema sia quello con offset in tempo 20. Questo posizionerà il modem più lontano nel sistema oltre il punto di interruzione dell'avanzamento della mappa dinamica.
Fare clic qui per visualizzare la Figura 7 come video.
Le versioni del software Cisco IOS successive alle 12.0(10)SC, 12.1(2)EC1, 12.1(2) e 12.1(2)T hanno un meccanismo che protegge l'algoritmo Dynamic Map Advance dai modem via cavo con offset di tempo negativi. Quando un modem via cavo è in linea con una differenza di tempo negativa, il CMTS registrerà un messaggio di errore nel formato:
%UBR7200-4-BADTXOFFSET: Bad timing offset -2 detected for cable modem 00ff.0bad.caf3
Se questo messaggio viene visualizzato sul CMTS, contattare il fornitore del modem e richiedere una versione del firmware che non presenti il problema.
Per garantire che i modem via cavo che presentano il problema di scostamento temporale negativo mantengano la connettività, potrebbe essere necessario disattivare l'algoritmo di avanzamento dinamico della mappa fino a quando tutti i modem via cavo collegati al CMTS non eseguono un firmware compatibile con DOCSIS. Per disabilitare l'avanzamento della mappa dinamica su una particolare porta a valle, immettere i seguenti comandi nel 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#
Per verificare che l'avanzamento della mappa dinamica sia stato disattivato, cercare la linea Map Advance (Static) nell'output di un show controller cable X/Y upstream Z dove X/Y è il numero di porta a valle del cavo e Z è una porta a monte attiva.
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
Una volta disattivato l'avanzamento dinamico delle mappe, è possibile ricevere messaggi di errore BADTXOFFSET, tuttavia i modem via cavo dovrebbero essere in grado di mantenere la connettività.
Come mostrato nella Figura 5, i modem via cavo con offset tempo negativo possono trasmettere le richieste di intervallo iniziali prima dell'ora corretta. Queste prime trasmissioni possono interferire con i dati inviati da un altro modem via cavo. In questo modo, la richiesta iniziale di intervallo e i dati inviati dall'altro modem via cavo risulteranno danneggiati e andranno persi.
Lo scenario peggiore prevede che il modem via cavo con offset tempo negativo trasmetta una richiesta di intervallo iniziale a intervalli di pochi secondi, sovrascrivendo una trasmissione di dati valida da un altro modem. Un modem che agisce in questo modo potrebbe non presentare un problema significativo, ma diversi modem che agiscono in questo modo potrebbero causare una notevole perdita di dati.
L'unico modo per risolvere il problema è contattare il fornitore del modem via cavo e ottenere una versione del firmware non interessata dal problema di scostamento tempo negativo. Il CMTS non consente di configurare nulla per evitare questo problema.
Una causa molto rara degli offset temporali negativi è il fatto che due o più dispositivi CMTS servono un segmento di cavo comune. Se due CMTS sono configurati con le stesse impostazioni di frequenza a monte per un particolare segmento di cavo, un CMTS potrebbe "ascoltare" una richiesta di intervallo iniziale da un modem via cavo collegato a un altro CMTS. Questa richiesta iniziale di intervallo può essere ascoltata in un momento casuale compreso nell'intervallo iniziale, pertanto per il modem via cavo verrà calcolato un offset di tempo non valido.
I sintomi tipici di questo problema sono che un comando show cable modem visualizza un numero di modem via cavo in stato offline o init(r1) con scarti temporali positivi, negativi, molto piccoli o molto grandi. Nell'output di esempio seguente, i modem che appartengono a questa categoria sono in grassetto.
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
Il modem con SID 2 mostra una differenza di tempo significativamente inferiore a 1000, il modem con SID 4 mostra una differenza di tempo negativa e il modem con SID 7 mostra una differenza di tempo molto maggiore della maggior parte dei modem.
Per risolvere questo problema, configurare entrambi i CMTS in modo che utilizzino frequenze upstream diverse. Due dispositivi sullo stesso segmento di cavo non devono utilizzare contemporaneamente la stessa frequenza a monte. Tuttavia, è possibile avere due dispositivi separati che utilizzano contemporaneamente la stessa frequenza a monte, purché siano collegati a segmenti di cavo fisicamente separati.