Der Time Offset eines Kabelmodems, auch Spanning Offset genannt, ist ein Wert, der die Round-Trip-Verzögerung zwischen einem Cable Modem Termination System (CMTS) und einem angeschlossenen Kabelmodem angibt. Dieser Wert wird vom CMTS und dem Kabelmodem als Teil des ersten Bereichsprozesses berechnet, wenn ein Kabelmodem online ist. Ein CMTS- und Kabelmodem muss eine genaue Vorstellung vom korrekten Zeitversatz haben, damit Upstream-Übertragungen von Kabelmodems ordnungsgemäß synchronisiert werden, wenn sie zum richtigen Zeitpunkt am CMTS eintreffen.
Einige Kabelmodems verletzen möglicherweise bestimmte Teile der DOCSIS-Spezifikation, wenn sie den anfänglichen Bereich aufrufen, und erzeugen möglicherweise ein Negative Time Offset oder ein Time Offset, das deutlich kleiner als der tatsächliche Wert ist. Wenn ein Kabelmodem einen Nullpunkt oder einen negativen Timing-Offset anzeigt, ist es nicht vollständig DOCSIS-konform. Das Modem speichert den zuletzt verwendeten Timing-Offset nicht richtig, wird offline geschaltet und verwendet diesen Timing-Offset dann wieder, wenn die Registrierung wiederhergestellt wird. Die Ursachen dieses Problems und empfohlene Vorgehensweisen werden in diesem Dokument beschrieben. Beachten Sie, dass die Ursache des Problems auf das Verhalten des Kabelmodems und nicht auf das CMTS zurückzuführen ist.
Der größte Teil der schädlichen Auswirkungen des Problems kann durch die Konfiguration des Kabelschnittstellen-Befehls Kabelübersicht auf dem CMTS behoben werden. Der Verkäufer des Kabelmodems ist jedoch dafür verantwortlich, das Problem des negativen Zeitversatzes durch die Bereitstellung neuerer Versionen der Kabelmodem-Firmware zu beheben.
Der Leser muss grundlegende Kenntnisse über DOCSIS in Bezug auf das Spektrum besitzen, das Kabelmodems für die Verbindung mit einem CMTS ausführen müssen.
Dieses Dokument ist nicht auf bestimmte Software- und Hardwareversionen beschränkt.
Der Zeitversatz, der auf die Round-Trip-Verzögerung zwischen einem CMTS- und einem Kabelmodem hinweist, wird normalerweise durch vier Hauptfaktoren bestimmt:
Die physische Entfernung des Kabelmodems vom CMTS
Das Downstream-Modulationsschema und die Interleave-Tiefe
Das Upstream-Modulationsschema und die Kanalbreite
Das Modell von Kabelmodem und Firmware
Sie können den Wert für den Zeitversatz eines bestimmten Kabelmodems anzeigen, indem Sie den Befehl show cable modem (Kabelmodem anzeigen) auf dem angeschlossenen CMTS ausführen. Hier ist eine Beispielausgabe dieses Befehls in einem typischen System.
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
Das Time Offset wird in Einheiten von 1/64 eines DOCSIS-Ticks angegeben. Ein Häkchen ist als 6,25 Mikrosekunden definiert, wodurch eine Time Offset-Einheit 97,65625 Nanosekunden entspricht.
Das Time Offset wird als Teil des Prozesses für den anfänglichen Bereich berechnet, der für die Verbindung mit einem CMTS von Kabelmodems abgeschlossen werden muss. Die Teile des Prozesses für den anfänglichen Bereich, von dem das Time Offset abgeleitet wird, sind in Abbildung 1 unten dargestellt. Beachten Sie, dass in dieser Abbildung einige Komponenten des Anfangsbereichs fehlen, die für dieses Dokument nicht relevant sind.
Abbildung 1
In Abbildung 1 sehen wir zwei Zeitpläne. Die obere Zeitleiste zeigt den Systemzeitstempel entsprechend dem CMTS an. Die untere Zeitleiste zeigt den Zeitstempel des Systems entsprechend dem Kabelmodem an. Um der Einfachheit willen starten wir diese Zeitlinie um 0 und verwenden imaginäre Zeiteinheiten. Beachten Sie, dass das Kabelmodem zunächst nicht weiß, was der Zeitstempel des Systems ist.
Das Kabelmodem muss warten, bis eine SYNC-Nachricht vom CMTS mit dem richtigen System-Zeitstempel gesendet wird, bevor es weiß, wie der aktuelle Zeitstempel lautet. Beachten Sie, dass der Zeitstempel des CMTS aufgrund der von der SYNC-Nachricht aufgetretenen Übertragungsverzögerung auf 3 erhöht wurde, wenn das Kabelmodem die SYNC-Nachricht hört, dass der System-Zeitstempel 0 ist.
Die nächste Meldung im Diagramm ist eine MAP-Meldung, die das Kabelmodem dazu auffordert, eine anfängliche Bereichsanforderung mit Zeitstempel 9 zu senden. Da das Kabelmodem nicht weiß, wann Timestamp 9 auf dem CMTS auftritt, muss es die ursprüngliche Bereichsanforderung mit Timestamp 9 gemäß seiner eigenen Uhr senden.
Das CMTS geht davon aus, dass Anfragen zum anfänglichen Bereich jederzeit zwischen dem CMTS-Zeitstempel 9 und 16 eingehen können. Diese Zeit, die für den Empfang von Anfragen zum anfänglichen Rangierbereich zugewiesen wird, wird als Initial Ranging Interval (Anfängliches Ranging Interval) bezeichnet und muss groß genug sein, um die Übertragungsverzögerung zwischen dem CMTS und einem Kabelmodem am weitesten entfernten Punkt in der Kabelanlage aufzunehmen.
Das Kabelmodem sendet seine anfängliche Bereichsanforderung, wenn der interne Zeitstempel "9" lautet, der Timestamp des CMTS jedoch beim Abrufen der ursprünglichen Bereichsanforderung an den CMTS 15 beträgt. Das bedeutet, dass der CMTS die Zeitauslagerung dieses Kabelmodems auf 15-9 = 6 Einheiten berechnen kann.
Der CMTS übermittelt diesen Time Offset-Wert an das Kabelmodem, indem eine Ranging-Antwort-Meldung gesendet wird. Wenn das Kabelmodem diese Nachricht empfängt, kann es allen an das CMTS gesendeten zukünftigen Nachrichten den entsprechenden Zeitversatz hinzufügen.
In Abbildung 2 unten sehen wir, dass das Modem das Time Offset berücksichtigt, wenn das CMTS das Kabelmodem anordnet, einige Daten zu einem bestimmten Zeitstempel zu übertragen. In der Abbildung wird eine MAP-Meldung vom CMTS an das Kabelmodem gesendet, die es auffordert, einige Daten mit Timestamp 70 zu übertragen. Wenn das Kabelmodem den Zeitausgleich 6 berücksichtigt, bedeutet dies, dass das Kabelmodem seine Daten mit Zeitstempel 70 - 6 = 64 überträgt. Beachten Sie, dass die Übertragung mit Zeitstempel 70 am CMTS eingeht.
Abbildung 2
Wenn ein Kabelmodem aus irgendeinem Grund vom Online- in den Offline-Status wechselt, muss es den Anfangsbereich erneut ausführen, um erneut eine Verbindung zum CMTS herzustellen. Einige Kabelmodems "betrügen" während dieses Vorgangs, indem sie sich an den ursprünglichen Timing-Offset erinnern, wenn sie zum zweiten Mal online sind. Auch wenn man annehmen könnte, dass die Betrügereien die anfängliche Reichweite beschleunigen, kann dies in Wirklichkeit nicht die Zeit erhöhen, die das Modem braucht, um wieder in den Online-Status zurückzukehren. Wenn das Paket für den anfänglichen Bereich für den CMTS zu früh ankommt, gehen die Daten eines anderen Modems verloren, und der CM versucht nicht, eine Verbindung herzustellen. Wenn das erste Bereichspaket genau zu Beginn der Bereichsmöglichkeit eingeht, sieht das CMTS einen Zeitversatz von Null, bietet jedoch keine bessere Verbindungsmöglichkeit.
In diesem Abschnitt wird erläutert, wie diese Kabelmodems beim Online-Zugriff die DOCSIS-Spezifikation verletzen.
Abbildung 3 zeigt die Abfolge von Ereignissen, bei denen ein Modem seinen ursprünglichen Zeitversatz bei der Durchführung des Anfangsbereichs speichert. In diesem Diagramm wird davon ausgegangen, dass die Übertragungsverzögerung zwischen dem CMTS und dem Kabelmodem zwischen dem Zeitpunkt, zu dem das Modem offline ist, unverändert bleibt und anschließend erneut versucht, online zu gehen.
Abbildung 3
Im Diagramm wird dem Kabelmodem angewiesen, eine anfängliche Bereichsanforderung mit Timestamp 88 zu senden. Da sich das Kabelmodem an seinen früheren Zeitversatz erinnert, beschließt es, die Rangieranforderung mit 88 - 6 = 82 zu senden. Dies bedeutet, dass die anfängliche Bereichsanforderung des Kabelmodems mit Zeitstempel 88 beim CMTS eingeht. Das CMTS geht daher davon aus, dass der Zeitversatz für dieses Kabelmodem null beträgt. Im folgenden Beispiel zeigt das Kabelmodem die Ausgabe des Modems mit der MAC-Adresse 00ff.de4d.b3ef an.
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
Wie wir wissen, ist die Übertragungsverzögerung oder Latenz des HFC-Netzwerks definiert als die Lichtgeschwindigkeit durch die Glasfaser und Koaxiallänge vom CMTS zum Modem und zurück. Diese Geschwindigkeit hängt von der Temperatur ab, und über große Entfernungen, die für ein HFC-Netzwerk typisch sind, kann die Timing-Auflösung sehr präzise um Hunderte von Zeitticks pro Tag variieren. Wenn sich die Übertragungsverzögerung oder die Latenz des Upstream- oder Downstream-Pfads zwischen dem Zeitpunkt, zu dem das Modem offline ist, und dem erneuten Versuch, online zu gehen, ändert, ist der Zeitversatz, an dem sich das Modem erinnert, ungültig. Wenn die Verbreitungsverzögerung zunimmt, kann die Reihenfolge der Ereignisse, wenn das Modem wieder in Betrieb genommen wird, mit den in Abbildung 4 angegebenen Werten übereinstimmen.
Abbildung 4
In Abbildung 4 ist der CMTS der Ansicht, dass der Timing-Offset des Kabelmodems 2 ist. Dies stellt das Szenario dar, in dem der Timing-Offset, der in der Ausgabe eines Anzeigekabels angezeigt wird, eine Zeit anzeigt, die unter der minimalen möglichen Round-Trip-Zeit liegt. Wenn ein Kabelmodem einen Timing-Offset von deutlich weniger als 1000 meldet, verhält es sich möglicherweise wie das Kabelmodem in Abbildung 4. Im folgenden Beispiel zeigen Sie Kabelmodem Ausgabe das Modem mit der MAC-Adresse 00ff.de4d.b3ef zeigt diese Art von Verhalten.
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
Ein weiterer potenzieller Fall ist, dass die Übertragungsverzögerung des Pfads zwischen dem CMTS und dem Kabelmodem zwischen dem Zeitpunkt, zu dem das Modem offline ist, leicht abnimmt und dann erneut versucht, online zu gehen. Dies ist in Abbildung 5 dargestellt.
Abbildung 5
In Abbildung 5 wird die Bereichsanforderung des Kabelmodems beim CMTS mit Zeitstempel 86 empfangen, d. h. zwei Einheiten vor Beginn des anfänglichen Bereichsintervalls. Wenn das CMTS diese Bereichsanforderung noch empfangen und interpretieren kann, geht das CMTS davon aus, dass der Timing-Offset des Kabelmodems negativ 2 ist. Dies stellt das Szenario dar, in dem der Timing-Offset, der in der Ausgabe eines Anzeigekabels angezeigt wird, eine negative Zahl ist. Im folgenden Beispiel zeigen Sie Kabelmodem Ausgabe das Modem mit der MAC-Adresse 00ff.de4d.b3ef zeigt diese Art von Verhalten.
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
Das Hauptproblem, das durch Modems verursacht wird, die einen negativen oder ungültigen Zeitversatz erzeugen, ist die standardmäßig aktivierte Unterbrechung des Dynamic Map-Advance-Algorithmus für Cisco CMTS-Produkte, auf denen Cisco IOS®-Softwareversionen nach 12.0(9)SC, 12.1(2)EC1, 12.1(1a) und 12.1(1a)T ausgeführt werden.
Der Dynamic Map Advance-Algorithmus verbessert die Upstream-Leistung für Kabelmodems erheblich, indem der Zeitversatz des am weitesten entfernten Kabelmodems vom CMTS dynamisch bestimmt wird. Mithilfe dieser Informationen kann das CMTS die Verzögerung zwischen dem Kabelmodem, das Upstream-Bandbreite anfordert, und dem Zeitpunkt reduzieren, zu dem das CMTS diese Bandbreite einem Kabelmodem zuweist.
Abbildung 6 zeigt, wie der Dynamic Map Advance-Algorithmus den maximalen Timing-Offset verwendet. Die Round-Trip-Verzögerung für jedes Kabelmodem ist im Diagramm dargestellt. Durch die Betrachtung des für jedes Modem gemeldeten Zeitversatzes kann der CMTS den Zeitversatz des am weitesten entfernten Modems berechnen.
Klicken Sie auf Abbildung 6, um zu erfahren, wie der Dynamic Map Advance-Algorithmus den maximalen Timing-Offset verwendet.
Wenn das am weitesten entfernte Kabelmodem des CMTS das negative Zeitversatz aufweist, geht das CMTS davon aus, dass dieses Kabelmodem näher am CMTS ist, als es tatsächlich der Fall ist. Anders ausgedrückt: Der Time Offset für dieses Modem in der Ausgabe des Kabelmodems wird viel kleiner sein, als es wirklich ist. Das bedeutet, dass die tatsächliche Entfernung des Modems vom CMTS nicht korrekt berücksichtigt wird, wenn der Algorithmus "Dynamic Map-Advance" die maximale Round-Trip-Verzögerung für alle Kabelmodems berechnet. Dies führt zu Verbindungsproblemen für dieses entfernteste Modem.
Abbildung 7 zeigt die Situation, in der das am weitesten entfernte Kabelmodem in einem System eine falsche Zeitverstellung hat. Obwohl der Echtzeit-Offset des am weitesten entfernten Modems 30 beträgt, wird ein Zeitversatz von -2 gemeldet. Das bedeutet, dass der Algorithmus zur dynamischen Kartenvorschau davon ausgeht, dass das stärkste Modem im System das mit Zeitversatz 20 ist. Dadurch wird das nächstgelegene Modem über den Dynamic Map Advance Cutoff-Punkt hinaus im System platziert.
Klicken Sie hier, um Abbildung 7 als Video anzuzeigen.
Versionen der Cisco IOS Software nach 12.0(10)SC, 12.1(2)EC1, 12.1(2) und 12.1(2)T verfügen über einen Mechanismus, der den Dynamic Map Advance-Algorithmus vor Kabelmodems mit negativen Zeitausgleichs schützt. Wenn ein Kabelmodem mit einem negativen Zeitversatz online geht, protokolliert der CMTS eine Fehlermeldung im Formular:
%UBR7200-4-BADTXOFFSET: Bad timing offset -2 detected for cable modem 00ff.0bad.caf3
Wenn diese Meldung auf Ihrem CMTS angezeigt wird, sollten Sie sich an den Modemanbieter wenden und eine Firmware-Version anfordern, die das Problem nicht aufweist.
Um sicherzustellen, dass Kabelmodems, die einen negativen Zeitversatz aufweisen, die Konnektivität aufrechterhalten, kann es erforderlich sein, den Algorithmus für die dynamische Kartenvorschubfunktion zu deaktivieren, bis alle mit dem CMTS verbundenen Kabelmodems eine DOCSIS-konforme Firmware ausführen. Geben Sie die folgenden Befehle in Ihrem CMTS ein, um den dynamischen Kartenvorlauf an einem bestimmten Downstream-Port zu deaktivieren.
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#
Um sicherzustellen, dass der dynamische Kartenvorlauf deaktiviert wurde, suchen Sie in der Ausgabe des Show-Controller-Kabels X/Y Upstream Z nach der Zeile Map Advance (Statisch), wobei X/Y die Nummer des Downstream-Kabels und Z ein aktiver Upstream-Port ist.
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
Beachten Sie, dass nach der Deaktivierung von Dynamic Map-Advance noch BADTXOFFSET-Fehlermeldungen ausgegeben werden können, Kabelmodems sollten jedoch die Konnektivität aufrechterhalten können.
Wie in Abbildung 5 gezeigt, können Kabelmodems, die ein Negative Time Offset aufweisen, Anfragen zum anfänglichen Bereich vor dem richtigen Zeitpunkt übertragen. Diese frühen Übertragungen können das Senden von Daten durch ein anderes Kabelmodem beeinträchtigen. Dies bedeutet, dass sowohl die Anfrage für den anfänglichen Bereich als auch die vom anderen Kabelmodem gesendeten Daten beschädigt und verloren gehen.
Im schlimmsten Fall sendet das Kabelmodem mit einem Negative Time Offset alle paar Sekunden eine Anfrage für den anfänglichen Bereich, die eine gültige Datenübertragung von einem anderen Modem überschreibt. Ein Modem, das auf diese Weise agiert, stellt möglicherweise kein erhebliches Problem dar, aber mehrere Modems, die auf diese Weise agieren, könnten die Ursache für einen erheblichen Datenverlust sein.
Die einzige Möglichkeit, dieses Problem zu beheben, besteht darin, sich an den Verkäufer des Kabelmodems zu wenden und eine Firmware-Version zu erhalten, die von dem Problem "Negative Time Offset" nicht betroffen ist. Es gibt nichts, was auf dem CMTS konfiguriert werden kann, um dieses Problem zu vermeiden.
Eine sehr seltene Alternative zu Negative Time Offsets besteht darin, dass zwei oder mehr CMTS-Geräte ein gemeinsames Kabelsegment bedienen. Wenn zwei CMTSs mit den gleichen Upstream-Frequenzeinstellungen für ein bestimmtes Kabelsegment eingerichtet werden, kann ein CMTS eine anfängliche Bereichsanforderung von einem Kabelmodem, das mit einem anderen CMTS verbunden ist, "überhören". Diese anfängliche Bereichsanforderung kann zufällig innerhalb des Anfänglichen Intervalls für den Bereich gehört werden. Daher wird für das Kabelmodem ein ungültiger Zeitversatz berechnet.
Die typischen Symptome dieses Problems sind, dass ein Befehl show cable modem eine Reihe von Kabelmodems im Offline- oder Init(r1)-Zustand mit negativen, sehr kleinen positiven oder sehr großen positiven Time Offsets anzeigt. In der unten stehenden Beispielausgabe sind Modems, die in diese Kategorie fallen, fett dargestellt.
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
Das Modem mit SID 2 weist einen Timing-Offset von deutlich weniger als 1000 auf, das Modem mit SID 4 zeigt einen negativen Zeitversatz und das Modem mit SID 7 einen Timing-Offset, der deutlich größer ist als die meisten Modems.
Dieses Problem lässt sich beheben, indem beide CMTS so konfiguriert werden, dass sie unterschiedliche Upstream-Frequenzen verwenden. Keine zwei Geräte im gleichen Kabelsegment sollten dieselbe Upstream-Frequenz gleichzeitig nutzen. Beachten Sie jedoch, dass Sie zwei separate Geräte gleichzeitig mit derselben Upstream-Frequenz verwenden können, solange diese mit physisch separaten Kabelsegmenten verbunden sind.