Si un problème de communication se produit sur un circuit virtuel permanent (aucun trafic ne circulant dans un sens ou dans l'autre), le circuit virtuel permanent (PVC) reste activé sur les périphériques finaux. Par conséquent, les entrées de routage pointant vers ce circuit virtuel permanent restent dans la table de routage pendant un certain temps et, par conséquent, les paquets seront perdus. La solution à ce problème est d'utiliser l'OAM (Operation and Maintenance) pour détecter de telles défaillances et permettre au circuit virtuel permanent de se déconnecter en cas de perturbation le long de son chemin.
Vous pouvez afficher un exemple de configuration sur l'utilisation d'OAM pour la gestion des circuits virtuels permanents en cliquant ici.
Pour plus d'informations sur les conventions des documents, référez-vous aux Conventions utilisées pour les conseils techniques de Cisco.
Aucune condition préalable spécifique n'est requise pour ce document.
La gestion OAM et PVC est prise en charge depuis Cisco IOS® version 11.1(22)CC et dans Cisco IOS version 12.0 et ultérieures.
Les informations présentées dans ce document ont été créées à partir de périphériques dans un environnement de laboratoire spécifique. All of the devices used in this document started with a cleared (default) configuration. Si vous travaillez dans un réseau opérationnel, assurez-vous de bien comprendre l'impact potentiel de toute commande avant de l'utiliser.
Ce document est basé sur la configuration suivante :
1/116 est le VPI/VCI attribué au circuit virtuel (VC) sur le chemin complet.
Les commutateurs ATM exécutent Cisco IOS 12.0. Les commutateurs ATM ont été configurés pour envoyer l'indicateur de signal d'alarme/de défaut à distance (AIS/RDI) en cas de défaillance de liaison, comme expliqué dans ce document.
Vous pouvez produire des échecs en arrêtant l'interface (sub)de Guilder et en observant ce qui se passe sur Bernard. Nous avons activé les horodatages de service debug datetime msec dans les configurations pour tous les débogages de ce document. Cela nous permet de voir l'heure de chaque événement en ms.
Nous examinerons uniquement les cellules OAM F5 (niveau VC) pour ce document, car il s'agit des seules cellules utilisées par les périphériques finaux (routeurs) Cisco pour détecter les défaillances. Afin de détecter une défaillance le long du chemin PVC sur un périphérique final, OAM utilise ces cellules spécifiques :
Cellules de bouclage
Cellules CC (Continuity Check)
Cellules AIS (Alarm Indication Signal)
Cellules RDI (Remote Detection Indication)
Il existe trois conditions pour déclarer un PVC UP :
Le routeur reçoit un nombre configuré de réponses successives de cellules de bouclage OAM F5 de bout en bout.
Le routeur ne reçoit pas de cellules AIS-F5 pendant 3 secondes.
Le routeur ne reçoit pas de cellules F5-RDI pendant 3 secondes.
La section suivante décrit ces cellules et les résultats montrant leurs effets.
À intervalles réguliers, les périphériques finaux (tels que les routeurs) configurés pour OAM envoient des cellules de bouclage qui doivent être bouclées sur le réseau. Ce point de boucle peut être la machine à l'extrémité du circuit virtuel permanent (cellules de bouclage de bout en bout) ou un équipement sur le chemin (cellules de bouclage de segment).
Les identificateurs de la cellule de bouclage indiquent le ou les périphériques qui doivent boucler la cellule. Un périphérique Cisco qui met fin à un circuit virtuel lors de la réception d'une telle cellule sur un circuit virtuel permanent le met en boucle, même s'il n'est pas configuré pour le mode OAM. De plus, chacune de ces cellules contiendra un indicateur de « direction » (pour déterminer s'il s'agit d'une cellule de commande ou de réponse) et un numéro de séquence (appelé étiquette de corrélation ou CTag dans les débogages). La cellule de bouclage « commande » et la cellule de bouclage « réponse » auront le même numéro de séquence.
Le schéma suivant illustre les cellules de bouclage (LB) :
Les éléments suivants présentent les débogages (debug atm oam) qui illustrent les cellules de bouclage sur Bernard :
Mar 30 14:22:39.050: ATM OAM(ATM2/0/0.116): Timer: VCD#4 VC 1/116 Status:2 CTag:17128 Tries:0 Mar 30 14:22:39.050: ATM OAM LOOP(ATM2/0/0.116) O: VCD#4 VC 1/116 CTag:42E9 Mar 30 14:22:39.050: ATM OAM LOOP(ATM2/0/0) I: VCD#4 VC 1/116 LoopInd:0CTag:42E9 Mar 30 14:22:48.958: ATM OAM(ATM2/0/0.116): Timer: VCD#4 VC 1/116 Status:2 CTag:17129 Tries:0 Mar 30 14:22:48.958: ATM OAM LOOP(ATM2/0/0.116) O: VCD#4 VC 1/116 CTag:42EA Mar 30 14:22:48.958: ATM OAM LOOP(ATM2/0/0) I: VCD#4 VC 1/116 LoopInd:0CTag:42EA
La première ligne indique que le compteur utilisé pour identifier lorsqu'une cellule de bouclage doit être émise sur une (sous)interface a expiré.
Une cellule de bouclage de commande est ensuite envoyée en sortie sur l'interface correspondante (deuxième ligne des débogages). La valeur CTag affichée sur cette ligne est la valeur hexadécimale de la première ligne CTag plus un.
Une cellule de bouclage en boucle est ensuite reçue avec un LoopInd égal à zéro.
Remarque : LoopInd=1 indique une cellule de commande et LoopInd=0 indique une cellule de réponse (bouclée). LoopInd=1 ne s'affiche pas dans les débogages, mais s'affiche sur une trace de renifleur.
Considérez un périphérique (utilisant des circuits virtuels permanents) configuré pour envoyer des cellules OAM et utiliser la gestion des circuits virtuels permanents. Si cet équipement perd un certain nombre de cellules de bouclage, il place le circuit virtuel permanent dans un état Down. Reportez-vous aux débogages suivants :
Mar 30 14:48:31.704: ATM OAM(ATM2/0/0.116): Timer: VCD#4 VC 1/116 Status:2 CTag:17284 Tries:0 Mar 30 14:48:31.704: ATM OAM LOOP(ATM2/0/0.116) O: VCD#4 VC 1/116 CTag:4385 At this point, the sub-interface corresponding to PVC 1/116 on Guilder is shut down Mar 30 14:48:41.684: ATM OAM(ATM2/0/0.116): Timer: VCD#4 VC 1/116 Status:1 CTag:17285 Tries:0 Mar 30 14:48:41.684: atm_oam_setstate - VCD#4, VC 1/116: newstate = Down Retry <-no reply to the loopback cell just sent Mar 30 14:48:41.684: ATM OAM LOOP(ATM2/0/0.116) O: VCD#4 VC 1/116 CTag:4386 Mar 30 14:48:42.680: ATM OAM(ATM2/0/0.116): Timer: VCD#4 VC 1/116 Status:1 CTag:17286 Tries:1 Mar 30 14:48:42.680: ATM OAM LOOP(ATM2/0/0.116) O: VCD#4 VC 1/116 CTag:4387 Mar 30 14:48:43.680: ATM OAM(ATM2/0/0.116): Timer: VCD#4 VC 1/116 Status:1 CTag:17287 Tries:2 Mar 30 14:48:43.680: ATM OAM LOOP(ATM2/0/0.116) O: VCD#4 VC 1/116 CTag:4388 Mar 30 14:48:44.680: ATM OAM(ATM2/0/0.116): Timer: VCD#4 VC 1/116 Status:1 CTag:17288 Tries:3 Mar 30 14:48:44.680: ATM OAM LOOP(ATM2/0/0.116) O: VCD#4 VC 1/116 CTag:4389 Mar 30 14:48:45.676: ATM OAM(ATM2/0/0.116): Timer: VCD#4 VC 1/116 Status:1 CTag:17289 Tries:4 Mar 30 14:48:45.676: ATM OAM LOOP(ATM2/0/0.116) O: VCD#4 VC 1/116 CTag:438A Mar 30 14:48:46.676: ATM OAM(ATM2/0/0.116): Timer: VCD#4 VC 1/116 Status:1 CTag:17290 Tries:5 <- the router makes 5 retries before declaring the PVC down Mar 30 14:48:46.676: atm_oam_setstate - VCD#4, VC 1/116: newstate = Not Verified <-5 retries and no answers -> PVC declared down Mar 30 14:48:46.676: %LINEPROTO-5-UPDOWN: Line protocol on Interface ATM2/0/0.116,changed state to down Mar 30 14:48:46.676: ATM OAM LOOP(ATM2/0/0.116) O: VCD#4 VC 1/116 CTag:438B
Vous pouvez configurer la quantité de cellules perdues nécessaires pour mettre le circuit virtuel permanent hors tension. La commande show atm pvc vpi/vci suivante explique les débogages précédents.
Bernard# sh atm pvc 1/116 ATM2/0/0.116: VCD: 4, VPI: 1, VCI: 116 UBR, PeakRate: 155000 AAL5-LLC/SNAP, etype:0x0, Flags: 0xC20, VCmode: 0x0 OAM frequency: 10 second(s), OAM retry frequency: 1 second(s) OAM up retry count: 3, OAM down retry count: 5 OAM Loopback status: OAM Sent OAM VC state: Not Verified ILMI VC state: Not Managed VC is managed by OAM. InARP frequency: 15 minutes(s) InPkts: 4, OutPkts: 4, InBytes: 280, OutBytes: 300 InPRoc: 2, OutPRoc: 0, Broadcasts: 5 InFast: 0, OutFast: 0, InAS: 2, OutAS: 0 InPktDrops: 0, OutPktDrops: 364240961 CrcErrors: 0, SarTimeOuts: 0, OverSizedSDUs: 0 Out CLP=1 Pkts: 0 OAM cells received: 9 F5 InEndloop: 9, F5 InSegloop: 0, F5 InAIS: 0, F5 InRDI: 0 F4 InEndloop: 0, F4 InSegloop: 0, F4 InAIS: 0, F4 InRDI: 0 OAM cells sent: 18 F5 OutEndloop: 18, F5 OutSegloop: 0, F5 OutRDI: 0 F4 OutEndloop: 0, F4 OutSegloop: 0, F4 OutRDI: 0 OAM cell drops: 0 Status: DOWN, State: NOT_VERIFIED
Comme vous pouvez le voir, des boucles F5 ont été envoyées, mais aucune réponse (18 F5 OutEndloop mais seulement 9 F5 InEndloop ; par conséquent, 9 cellules de bouclage F5 ont été perdues.). Cela a entraîné la désactivation du circuit virtuel permanent (lorsque la gestion du circuit virtuel permanent est configurée). F5 OutEndloop représente le nombre de cellules de bouclage envoyées et F5 InEndloop le nombre de cellules de bouclage F5 reçues.
Comme vous pouvez le voir également, les compteurs de cellules OAM F4 sont présents, mais rien n'est enregistré puisque seules les cellules F5 sont prises en compte ici. À partir de la sortie de la commande show ci-dessus, d'autres informations intéressantes peuvent être collectées concernant les cellules de bouclage :
Les cellules OAM sont envoyées toutes les 10 secondes, que le circuit virtuel permanent soit actif ou non.
Si le circuit virtuel permanent est actif mais que l'autre extrémité ne répond pas, le routeur tente d'envoyer la cellule OAM toutes les secondes jusqu'à ce qu'il reçoive une réponse ou jusqu'à ce que 5 cellules OAM n'aient pas obtenu de réponse. Puis le circuit virtuel permanent tombe en panne (voir les débogages ci-dessus).
À l'autre extrémité, si le circuit virtuel permanent est désactivé et qu'il reçoit soudainement une cellule en boucle valide, il tente de renvoyer les cellules LB toutes les secondes jusqu'à ce que 3 cellules en boucle dans une ligne soient reçues. Puis le circuit virtuel permanent remontera. Reportez-vous aux débogages ci-dessous.
Mar 31 12:40:10.154: %LINEPROTO-5-UPDOWN: Line protocol on Interface ATM2/0/0.116, changed state to down Mar 31 12:40:20.074: ATM OAM(ATM2/0/0.116): Timer: VCD#4 VC 1/116 Status:1 CTag:25267 Tries:6 Mar 31 12:40:20.074: ATM OAM LOOP(ATM2/0/0.116) O: VCD#4 VC 1/116 CTag:62B4 Mar 31 12:40:20.074: ATM OAM LOOP(ATM2/0/0) I: VCD#4 VC 1/116 LoopInd:0 CTag:62B4 Mar 31 12:40:20.074: atm_oam_setstate - VCD#4, VC 1/116: newstate = Up Retry ! PVC was down and suddenly receives a valid response loopback cell Mar 31 12:40:21.070: ATM OAM(ATM2/0/0.116): Timer: VCD#4 VC 1/116 Status:2 CTag:25268 Tries:0 Mar 31 12:40:21.070: ATM OAM LOOP(ATM2/0/0.116) O: VCD#4 VC 1/116 CTag:62B5 Mar 31 12:40:21.070: ATM OAM LOOP(ATM2/0/0) I: VCD#4 VC 1/116 LoopInd:0 CTag:62B5 ! first looped LB cell Mar 31 12:40:22.066: ATM OAM(ATM2/0/0.116): Timer: VCD#4 VC 1/116 Status:2 CTag:25269 Tries:0 Mar 31 12:40:22.066: ATM OAM LOOP(ATM2/0/0.116) O: VCD#4 VC 1/116 CTag:62B6 Mar 31 12:40:22.066: ATM OAM LOOP(ATM2/0/0) I: VCD#4 VC 1/116 LoopInd:0 CTag:62B6 ! second looped LB cell in a row Mar 31 12:40:23.062: ATM OAM(ATM2/0/0.116): Timer: VCD#4 VC 1/116 Status:2 CTag:25270 Tries:0 Mar 31 12:40:23.062: ATM OAM LOOP(ATM2/0/0.116) O: VCD#4 VC 1/116 CTag:62B7 Mar 31 12:40:23.062: ATM OAM LOOP(ATM2/0/0) I: VCD#4 VC 1/116 LoopInd:0 CTag:62B7 ! third looped LB cell in a row Mar 31 12:40:23.062: atm_oam_setstate - VCD#4, VC 1/116: newstate = Verified ! PVC is declared up again Mar 31 12:40:23.062: %LINEPROTO-5-UPDOWN: Line protocol on Interface ATM2/0 0.116, changed state to up
Comme vous pouvez le voir, la sous-interface (d'où le PVC) a été réactivée après la réception de trois cellules de bouclage de réponse valides dans une ligne.
Remarque : l'utilisateur peut configurer tous les paramètres décrits ci-dessus, et utiliser la commande show atm pvc vpi/vci pour vérifier les paramètres.
Une fois qu'une défaillance est détectée, un périphérique configuré pour OAM envoie des trames AIS en aval et envoie des trames RDI en amont.
L'exemple suivant illustre les cellules AIS et RDI. Supposons que le signal Rx disparaisse sur un commutateur. La défaillance dans ce cas est appelée perte de signal (LOS). Le commutateur qui a détecté qu'il envoie un AIS en aval par rapport à la défaillance et un RDI en amont par rapport à la défaillance.
Lors de la réception de ces cellules, un périphérique final configuré pour la gestion des circuits virtuels permanents désactive les circuits virtuels permanents affectés. Ces cellules AIS et RDI sont envoyées en utilisant le même VPI/VCI que les cellules utilisateur sur le circuit virtuel permanent. En outre, le périphérique envoie ces cellules toutes les secondes jusqu'à ce que la défaillance disparaisse.
Vous pouvez détecter une panne de plusieurs manières :
Un niveau OAM inférieur (AIS F1, perte de signal, etc.) le signale.
La réception d'un AIS ou d'un RDI le déclenche.
Le périphérique ne reçoit plus de cellules CC.
Une cellule CC (Continuity Check) est une cellule que les périphériques configurés pour OAM envoient et utilisent régulièrement pour vérifier l'intégrité de la « liaison ». Les routeurs Cisco n'envoient pas ces cellules, donc elles ne sont pas abordées ici. Pour plus d'informations sur les cellules CC OAM, référez-vous à ITU-T I.610.
Le débogage suivant montre ce qui se passe sur un routeur configuré pour la gestion PVC à la réception d'une cellule AIS/RDI :
Mar 31 13:11:18.990: ATM OAM(ATM2/0/0.116): Timer: VCD#4 VC 1/116 Status:2 CTag:25470 Tries:0 Mar 31 13:11:18.990: ATM OAM LOOP(ATM2/0/0.116) O: VCD#4 VC 1/116 CTag:637F Mar 31 13:11:18.990: ATM OAM LOOP(ATM2/0/0) I: VCD#4 VC 1/116 LoopInd:0 CTag:637F
À ce stade, le circuit virtuel permanent de Bernard s'arrête (l'interface principale de Guilder s'arrête) :
Mar 31 13:11:28.894: ATM OAM(ATM2/0/0.116): Timer: VCD#4 VC 1/116 Status:2 CTag:25471 Tries:0 Mar 31 13:11:28.894: ATM OAM LOOP(ATM2/0/0.116) O: VCD#4 VC 1/116 CTag:6380 Mar 31 13:11:29.806: atm_oam_ais(ATM2/0/0): AIS signal, failure=0x6A, VC 1/116 Mar 31 13:11:29.806: atm_oam_setstate - VCD#4, VC 1/116: newstate = AIS/RDI Mar 31 13:11:29.806: %LINEPROTO-5-UPDOWN: Line protocol on Interface ATM2/0/0.116, changed state to down Mar 31 13:11:30.806: atm_oam_ais(ATM2/0/0): AIS signal, failure=0x6A, VC 1/116 Mar 31 13:11:31.806: atm_oam_ais(ATM2/0/0): AIS signal, failure=0x6A, VC 1/116 Mar 31 13:11:32.806: atm_oam_ais(ATM2/0/0): AIS signal, failure=0x6A, VC 1/116
Vous pouvez vérifier le nouvel état du circuit virtuel permanent à l'aide de la commande suivante :
Bernard# sh atm pvc 1/116 ATM2/0/0.116: VCD: 4, VPI: 1, VCI: 116 UBR, PeakRate: 155000 AAL5-LLC/SNAP, etype:0x0, Flags: 0xC20, VCmode: 0x0 OAM frequency: 10 second(s), OAM retry frequency: 1 second(s) OAM up retry count: 3, OAM down retry count: 5 OAM Loopback status: OAM Sent OAM VC state: AIS/RDI ILMI VC state: Not Managed VC is managed by OAM. InARP frequency: 15 minutes(s) InPkts: 4, OutPkts: 2, InBytes: 140, OutBytes: 60 InPRoc: 0, OutPRoc: 0, Broadcasts: 0 InFast: 0, OutFast: 0, InAS: 4, OutAS: 2 InPktDrops: 0, OutPktDrops: 0 CrcErrors: 0, SarTimeOuts: 0, OverSizedSDUs: 0 Out CLP=1 Pkts: 0 OAM cells received: 14 F5 InEndloop: 0, F5 InSegloop: 0, F5 InAIS: 14, F5 InRDI: 0 F4 InEndloop: 0, F4 InSegloop: 0, F4 InAIS: 0, F4 InRDI: 0 OAM cells sent: 15 F5 OutEndloop: 1, F5 OutSegloop: 0, F5 OutRDI: 14 F4 OutEndloop: 0, F4 OutSegloop: 0, F4 OutRDI: 0 OAM cell drops: 0 Status: DOWN, State: NOT_VERIFIED
Comme vous pouvez le voir, le circuit virtuel permanent est tombé parce qu'il a reçu un signal AIS ou RDI F5 (dans ce cas particulier, un AIS). Vous pouvez également voir que le routeur a généré des cellules RDI F5 à la réception des cellules AIS F5.
L'exemple suivant illustre l'activité sur les deux commutateurs du chemin :
Sur LS1010-1 :
1d03h: % OAM Pkt Rcv 1d03h: % Intf: 0/0/0 VPI: 1 VCI: 116 OAM: F5-END-LPBK ! OAM LB cell 1d03h: % OAM Pkt Sent 1d03h: % Intf: 0/0/1 VPI: 1 VCI: 116 OAM: F5-END-LPBK ! OAM LB cell
À ce stade, PVC tombe sur Guilder :
1d03h: % OAM Pkt Rcv 1d03h: % Intf: 0/0/1 VPI: 1 VCI: 116 OAM: F5-AIS ! AIS cell sent downstream by LS1010-2 upon detection of the failure 1d03h: % OAM Pkt Sent 1d03h: % Intf: 0/0/0 VPI: 1 VCI: 116 OAM: F5-AIS 1d03h: % OAM Pkt Rcv 1d03h: % Intf: 0/0/0 VPI: 1 VCI: 116 OAM: F5-RDI ! RDI sent by Bernard upstream compared to the failure 1d03h: % OAM Pkt Sent 1d03h: % Intf: 0/0/1 VPI: 1 VCI: 116 OAM: F5-RDI ! Bernard's RDI forwarded upstream 1d03h: % OAM Pkt Rcv 1d03h: % Intf: 0/0/1 VPI: 1 VCI: 116 OAM: F5-AIS 1d03h: % OAM Pkt Sent 1d03h: % Intf: 0/0/0 VPI: 1 VCI: 116 OAM: F5-AIS
Et ainsi de suite jusqu'à ce que l'échec soit éliminé.
Sur LS1010-2 :
Une fois la défaillance détectée (dans ce cas, le signal Rx disparaît sur int atm 1/1/2 connecté à Guilder), les cellules AIS sont envoyées en aval vers LS1010-1 :
Mar 31 13:17:09.847: % OAM Pkt Sent Mar 31 13:17:09.847: % Intf: 0/0/0 VPI: 1 VCI: 116 OAM: F5-AIS Mar 31 13:17:10.847: % OAM Pkt Sent Mar 31 13:17:10.847: % Intf: 0/0/0 VPI: 1 VCI: 116 OAM: F5-AIS
Comme vous pouvez le voir dans tous les débogages jusqu'à présent, toutes les cellules OAM F5 sont envoyées sur VPI 1 VCI 116, qui est le VPI/VCI utilisé par les cellules de l'utilisateur.
debug atm oam (sur les routeurs)
show atm pvc vpi/vci avec 12.0 et 12.0T
show atm vc <vcd> avec 11.1CC
show int atm x[/y/[z]].w (nous vous recommandons d'utiliser show atm pvc lorsque cela est possible au lieu de show int atm x) avec 12.0
Révision | Date de publication | Commentaires |
---|---|---|
1.0 |
15-Nov-2007 |
Première publication |