Le décalage temporel d'un modem câble, également appelé décalage de plage, est une valeur indiquant le délai aller-retour entre un système CMTS (Cable Modem Termination System) et un modem câble connecté. Cette valeur est calculée par le CMTS et le modem câble dans le cadre du processus de plage initiale lorsqu'un modem câble est mis en ligne. Il est important qu'un CMTS et un modem câble aient une idée précise du décalage horaire correct afin que les transmissions en amont des modems câble soient correctement synchronisées lorsqu'elles arrivent au CMTS au moment approprié.
Certains modems câble peuvent violer certaines parties de la spécification DOCSIS lors de l'exécution de la gamme initiale et peuvent produire un décalage temporel négatif ou un décalage temporel sensiblement inférieur à la valeur réelle. Lorsqu'un modem câble affiche zéro ou des décalages de synchronisation négatifs, il n'est pas entièrement conforme à DOCSIS et résulte de la mise en cache incorrecte du dernier décalage de synchronisation utilisé, de la mise hors ligne, puis de la réutilisation de ce décalage de synchronisation lors du rétablissement de l'enregistrement. Les causes de ce problème et les mesures recommandées sont décrites dans ce document. Il est important de noter que la cause du problème est due au comportement du modem câble et non au CMTS.
La plupart des conséquences néfastes du problème peuvent être contournées en configurant la commande d'interface de câble cable map-forward static sur le CMTS. Cependant, le fournisseur du modem câble est responsable de résoudre le problème de décalage de synchronisation négatif en fournissant de nouvelles révisions du micrologiciel du modem câble.
Le lecteur doit posséder une certaine connaissance de base de DOCSIS en ce qui concerne le processus de portée que les modems câble doivent effectuer pour se connecter à un CMTS.
Ce document n'est pas limité à des versions de matériel et de logiciel spécifiques.
Le décalage temporel, qui est une indication du délai aller-retour entre un CMTS et un modem câble, est normalement déterminé par quatre facteurs principaux :
Distance physique du modem câble par rapport au CMTS
Schéma de modulation en aval et profondeur d'entrelacement
Schéma de modulation en amont et largeur de canal
Le modèle du modem câble et du micrologiciel
Vous pouvez afficher la valeur de décalage temporel pour un modem câble particulier en exécutant la commande show cable modem sur le CMTS auquel il est connecté. Voici un exemple de sortie de cette commande dans un système classique.
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
Le décalage horaire est indiqué en unités du 1/64e d'une graduation DOCSIS. Une graduation est définie comme étant de 6,25 microsecondes, ce qui fait qu'une unité de décalage temporel est égale à 97,65625 nanosecondes.
Le décalage horaire est calculé dans le cadre du processus de plage initiale que les modems câble doivent effectuer pour se connecter à un CMTS. Les parties du processus de plage initiale dans lesquelles le décalage temporel est dérivé sont illustrées à la Figure 1 ci-dessous. Notez que cette figure ne présente pas quelques composants de la plage initiale qui ne sont pas pertinents pour ce document.
Figure 1
La Figure 1 présente deux calendriers. La chronologie supérieure affiche l'horodatage système conformément au CMTS. La chronologie du bas indique l'horodatage du système en fonction du modem câble. Par souci de simplicité, nous commençons cette ligne de temps à 0 et nous utilisons des unités de temps imaginaires. Notez qu'au début, le modem câble ne connaît pas l'horodatage du système.
Le modem câble doit attendre d'entendre un message SYNC envoyé par le CMTS avec l'horodatage système correct avant de savoir quel est l'horodatage actuel. Notez qu'en raison du délai de propagation rencontré par le message SYNC, au moment où le modem câble entend le message SYNC indiquant que l'horodatage du système est 0, l'horodatage du CMTS est passé à 3.
Le message suivant du schéma est un message MAP qui commande au modem câble d'envoyer une demande de plage initiale à l'horodatage 9. Puisque le modem câble ne sait pas quand l'horodatage 9 se produit sur le CMTS, il doit envoyer la demande de plage initiale à l'horodatage 9 selon sa propre horloge.
Le SMTS s'attend à ce que les demandes de plage initiale arrivent à tout moment entre l'horodatage 9 et 16 du CMTS. Ce temps alloué à la réception des demandes de plage initiale est appelé intervalle de plage initiale et doit être suffisamment grand pour prendre en charge le délai de propagation entre le CMTS et un modem câble au point le plus éloigné de l'installation de câblage.
Le modem câble envoie sa demande de plage initiale lorsque son horodatage interne est « 9 », mais lorsque la demande de plage initiale arrive au CMTS, l'horodatage du CMTS est 15. Cela signifie que le CMTS peut calculer le décalage temporel de ce modem câble à 15 - 9 = 6 unités.
Le CMTS communique cette valeur de décalage temporel au modem câble en envoyant un message de réponse à la plage. Une fois que le modem câble a reçu ce message, il peut ajouter le décalage horaire approprié à tous les messages futurs envoyés au CMTS.
Dans la Figure 2 ci-dessous, nous voyons qu'à partir de maintenant, lorsque le CMTS commande au modem câble de transmettre certaines données à un horodatage particulier, le modem prend en compte le décalage temporel. Dans la figure, un message MAP est envoyé par le CMTS au modem câble pour transmettre certaines données à l'horodatage 70. Lorsque le modem câble prend en compte le décalage horaire de 6, cela signifie que le modem câble transmet ses données à l'horodatage 70 - 6 = 64. Notez que la transmission arrive au CMTS à l'horodatage 70.
Figure 2
Lorsqu'un modem câble passe de l'état en ligne à l'état hors ligne pour une raison quelconque, il doit effectuer une nouvelle plage initiale afin de se reconnecter au CMTS. Certains modems câble « trompent » au cours de ce processus en se souvenant de leur décalage de synchronisation d'origine lorsqu'ils se connectent pour la deuxième fois. Même si l'on peut penser que la tricherie accélère la durée initiale, en réalité cela ne peut pas améliorer le temps nécessaire au modem pour revenir à l'état en ligne. En fait, si le paquet de plage initiale arrive trop « tôt » pour le CMTS, les données d'un autre modem seront perdues et le CM qui tente de se reconnecter échouera. Si le paquet de plage initiale arrive exactement au début de l'opportunité de plage, le CMTS voit un décalage temporel de zéro, mais ne fournit aucune meilleure opportunité de connexion.
Cette section décrit en détail comment ces modems câble violent les spécifications DOCSIS lors de leur mise en ligne.
La Figure 3 montre la séquence d'événements lorsqu'un modem se souvient de son décalage horaire d'origine lors de l'exécution de la plage initiale. Dans ce schéma, nous supposons que le délai de propagation entre le CMTS et le modem câble est inchangé entre le moment où le modem est hors connexion et celui où il tente de se reconnecter.
Figure 3
Dans le schéma, le modem câble doit envoyer une demande de plage initiale à l'horodatage 88. Puisque le modem câble se souvient de son décalage horaire précédent, il décide d'envoyer la requête de plage au moment 88 - 6 = 82. Cela signifie que la demande de plage initiale du modem câble arrive au CMTS à l'horodatage 88. Le CMTS pense donc que le décalage temporel de ce modem câble est égal à zéro. Dans la sortie suivante de la commande show cable modem, le modem avec l'adresse MAC 00ff.de4d.b3ef présente ce type de comportement.
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
Comme nous le savons, le délai de propagation ou la latence du réseau HFC est défini comme la vitesse de la lumière à travers la fibre et la distance coaxial entre le CMTS et le modem et le retour. Cette vitesse dépend de la température, et sur de longues distances typiques d'un réseau HFC, et la résolution de synchronisation très fine, est sujette à des variations de centaines de graduations de temps par jour. Si le délai de propagation ou la latence du chemin d'accès en amont ou en aval change entre le moment où le modem se déconnecte, puis tente de se reconnecter, le décalage horaire dont le modem se souvient ne sera pas valide. Si le délai de propagation augmente, l'ordre des événements lorsque le modem revient en ligne peut ressembler à ceux illustrés à la Figure 4.
Figure 4
Dans la Figure 4, le CMTS estime que le décalage de synchronisation du modem câble est 2. Il s'agit du scénario réel où le décalage de synchronisation indiqué dans une sortie show cable modem affiche un temps inférieur au temps de trajet aller-retour minimum possible. Si un modem câble signale un décalage de synchronisation nettement inférieur à 1 000, il peut se comporter comme le modem câble de la Figure 4. Dans la sortie show cable modem suivante, le modem avec l'adresse MAC 00ff.de4d.b3ef affiche ce type de comportement.
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 autre cas potentiel est celui où le délai de propagation du chemin entre le CMTS et le modem câble diminue légèrement entre le moment où le modem se déconnecte, puis tente de se reconnecter. Ceci est illustré à la Figure 5.
Figure 5
Dans la Figure 5, la demande de plage du modem câble est reçue par le CMTS à l'horodatage 86, soit 2 unités avant le début de l'intervalle de plage initial. En supposant que le CMTS puisse toujours recevoir et interpréter cette requête de plage, le CMTS pense que le décalage de synchronisation du modem câble est négatif 2. Ceci représente le scénario réel où le décalage de synchronisation indiqué dans la sortie d'un modem câble show est un nombre négatif. Dans la sortie show cable modem suivante, le modem avec l'adresse MAC 00ff.de4d.b3ef affiche ce type de comportement.
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
Le principal problème causé par les modems qui génèrent un décalage temporel négatif ou non valide est la perturbation de l'algorithme Dynamic Map-Advance qui est activé par défaut sur les produits Cisco CMTS exécutant les versions du logiciel Cisco IOS® ultérieures à 12.0(9)SC, 12.1(2)EC1, 12.1(1a) et 12.1(1a)T.
L’algorithme Dynamic Map Advance améliore considérablement les performances en amont des modems câble en déterminant dynamiquement le décalage temporel du modem câble le plus éloigné du CMTS. En utilisant ces informations, le CMTS peut réduire le délai entre les demandes de bande passante en amont du modem câble et le moment où le CMTS alloue effectivement cette bande passante à un modem câble.
La Figure 6 montre comment l'algorithme Dynamic Map Advance utilise le décalage de synchronisation maximal. Le délai aller-retour de chaque modem câble est indiqué dans le schéma. En regardant le décalage de temps indiqué pour chaque modem, le CMTS peut calculer le décalage de temps du modem le plus éloigné.
Cliquez sur la Figure 6 pour voir comment l'algorithme Dynamic Map Advance utilise le décalage de synchronisation maximal.
Si le modem câble le plus éloigné du CMTS présente un problème de décalage temporel négatif, le CMTS croira que ce modem câble est plus proche du CMTS qu'il ne l'est réellement. Autrement dit, le décalage horaire de ce modem dans la sortie show cable modem sera beaucoup plus petit qu'il ne l'est réellement. Cela signifie que la distance réelle du modem par rapport au CMTS ne sera pas correctement prise en compte lorsque l'algorithme Dynamic Map-Advance calcule le délai de transmission maximal pour tous les modems câble. Cela entraînera des problèmes de connectivité pour ce modem le plus éloigné.
La figure 7 illustre la situation dans laquelle le décalage temporel du modem câble le plus éloigné d'un système est incorrect. Même si le décalage en temps réel du modem le plus éloigné est 30, il est signalé que le décalage en temps réel est -2. Cela signifie que l'algorithme d'avance de carte dynamique croira que le plus éloigné des modems du système est celui avec décalage temporel 20. Le modem le plus éloigné du système se trouve au-delà du point de coupure avancée de la carte dynamique.
Cliquez ici pour voir la figure 7 comme une vidéo.
Les versions du logiciel Cisco IOS ultérieures aux versions 12.0(10)SC, 12.1(2)EC1, 12.1(2) et 12.1(2)T disposent d'un mécanisme qui protège l'algorithme Dynamic Map Advance des modems câblés avec des décalages temporels négatifs. Lorsqu'un modem câble est mis en ligne avec un décalage horaire négatif, le CMTS enregistre un message d'erreur du formulaire :
%UBR7200-4-BADTXOFFSET: Bad timing offset -2 detected for cable modem 00ff.0bad.caf3
Si ce message apparaît sur votre CMTS, vous devez contacter le fournisseur du modem et demander une version du micrologiciel qui ne présente pas le problème.
Afin de s'assurer que les modems câble présentant le problème de décalage temporel négatif maintiennent la connectivité, il peut être nécessaire de désactiver l'algorithme d'avance de carte dynamique jusqu'à ce que tous les modems câble connectés au CMTS exécutent un micrologiciel conforme à DOCSIS. Afin de désactiver l'avance de la carte dynamique sur un port aval particulier, entrez les commandes suivantes sur votre 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#
Afin de confirmer que l'avance de la carte dynamique a été désactivée, recherchez l'avance de la carte de ligne (statique) dans la sortie d'un câble show controller X/Y en amont Z où X/Y est le numéro de port en aval du câble et Z un port en amont actif.
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
Notez qu'une fois la carte dynamique avancée désactivée, vous pouvez toujours recevoir des messages d'erreur BADTXOFFSET. Toutefois, les modems câble doivent être en mesure de maintenir la connectivité.
Comme le montre la Figure 5, les modems câble présentant un décalage temporel négatif peuvent transmettre les demandes de plage initiale avant l'heure correcte. Ces transmissions précoces peuvent interférer avec les données envoyées par un autre modem câble. Cela signifie que la demande de plage initiale et les données envoyées par l'autre modem câble seront corrompues et perdues.
Le pire scénario est que le modem câble présentant un décalage temporel négatif transmet une demande de plage initiale toutes les quelques secondes qui remplace une transmission de données valide à partir d'un autre modem. Un modem agissant de cette manière peut ne pas présenter de problème important, mais plusieurs modems agissant de cette manière pourraient être la cause d'une perte de données substantielle.
La seule façon de résoudre ce problème est de contacter votre fournisseur de modem câble et d'obtenir une version du micrologiciel qui n'est pas affectée par le problème de décalage temporel négatif. Rien ne peut être configuré sur le CMTS pour éviter ce problème.
Une cause alternative très rare de décalage temporel négatif est le fait que deux périphériques CMTS ou plus desservent un segment de câble commun. Si deux CMTS sont configurés avec les mêmes paramètres de fréquence en amont pour un segment de câble particulier, un CMTS peut surentendre une demande de plage initiale d'un modem câble se connectant à un autre CMTS. Cette demande de plage initiale peut être entendue au hasard dans l'intervalle de plage initiale. Par conséquent, un décalage temporel non valide sera calculé pour le modem câble.
Les symptômes typiques de ce problème sont qu'une commande show cable modem affichera un certain nombre de modems câble dans l'état hors ligne ou init(r1) avec des décalages temporels négatifs, très petits positifs ou très grands positifs. Dans l'exemple de résultat ci-dessous, les modems qui entrent dans cette catégorie sont en gras.
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
Le modem avec SID 2 affiche un décalage temporel nettement inférieur à 1 000, le modem avec SID 4 affiche un décalage temporel négatif et le modem avec SID 7 un décalage temporel beaucoup plus important que la majorité des modems.
La façon de résoudre ce problème consiste à configurer les deux CMTS pour qu'ils utilisent des fréquences en amont différentes. Aucun périphérique sur le même segment de câble ne doit utiliser simultanément la même fréquence en amont. Toutefois, notez que vous pouvez avoir deux périphériques distincts simultanément en utilisant la même fréquence en amont, à condition qu'ils soient connectés à des segments de câble physiquement séparés.