CCNP SPCOR 350-501 · Chapitre 2 : IOS, IOS XE et IOS XR, les architectures logicielles Cisco
Pourquoi un routeur d’opérateur ne tourne pas sous le même système qu’un routeur d’agence, ce qui change vraiment entre IOS, IOS XE et IOS XR, et comment configurer un routeur XR sans risque grâce au commit en deux temps, au rollback et à la gestion des paquets logiciels.
- Expliquer les différences d’architecture entre IOS, IOS XE et IOS XR (noyau, ordonnancement, mémoire, séparation des plans).
- Reconnaître les différentes générations d’IOS XR (classique, eXR, XR7 / LNT) et leur mode de gestion des paquets.
- Configurer un routeur IOS XR avec le commit en deux étapes, et revenir en arrière proprement (rollback, commit confirmed, labels).
- Sécuriser tes changements sur IOS XE avec l’archive,
configure replaceet le revert timer. - Naviguer dans la CLI hiérarchique de XR et comprendre son modèle d’autorisation par tâches.
- Pourquoi le système d’exploitation compte autant chez un opérateur
- IOS classique : le monolithe historique
- IOS XE : IOS sur un noyau Linux
- IOS XR : l’OS conçu pour les opérateurs
- Configurer IOS XR au quotidien : commit, rollback et CLI hiérarchique
- Tableau comparatif IOS / IOS XE / IOS XR
- Lab PNETLab pas à pas
- Fiche de révision, quiz, glossaire et sources
1. Pourquoi le système d’exploitation compte autant
Un opérateur s’engage souvent sur une disponibilité de 99,999 % (« cinq neuf ») : cela représente à peine plus de 5 minutes d’indisponibilité par an. Avec un tel objectif, on ne peut pas se permettre qu’un bug dans un processus (par exemple BGP) fasse redémarrer tout le routeur, ni qu’un copier-coller raté dans la console coupe des milliers de clients sans possibilité de retour arrière rapide.
Cisco a fait évoluer son système d’exploitation réseau en trois grandes familles, chacune née d’un besoin précis :
- IOS (années 1980) : un OS léger pour des routeurs aux ressources très limitées.
- IOS XE (2004, avec l’ASR 1000) : IOS modernisé, posé sur un noyau Linux, pour gagner en stabilité tout en gardant la même CLI.
- IOS XR (2004, avec le CRS-1) : un OS repensé pour les grands routeurs d’opérateurs, distribué, modulaire et pensé pour la haute disponibilité.
2. IOS classique : le monolithe historique
IOS est né à une époque où un routeur disposait de quelques centaines de kilo-octets de mémoire et d’un processeur modeste. Ses choix de conception s’expliquent par ces contraintes :
- Noyau monolithique : tout le système tourne dans une seule image ; les processus accèdent directement au matériel, ce qui économise du temps de traitement.
- Ordonnanceur « run-to-completion » (coopératif) : un processus qui a la main la garde jusqu’à ce qu’il ait fini ou qu’il la rende de lui-même. Avantage : pas de changements de contexte coûteux. Inconvénient : un processus qui part en boucle (« runaway process ») peut monopoliser le CPU et rendre le routeur instable.
- Pas de protection mémoire : toute la mémoire physique forme un seul espace d’adressage à plat. Un processus qui corrompt la mémoire peut faire planter le système entier, et seul un redémarrage complet le répare.
Ce modèle est efficace sur de petits équipements, mais il atteint ses limites quand les routeurs doivent faire tourner des dizaines de protocoles, porter des millions de routes et ne jamais redémarrer.
3. IOS XE : IOS posé sur Linux
En 2004, Cisco lance IOS XE avec l’ASR 1000. Pour l’utilisateur, presque rien ne change : la CLI et la logique de configuration sont celles d’IOS. Sous le capot, en revanche, c’est un autre système :
- un noyau Linux est le seul à accéder directement au matériel, ce qui stabilise la plateforme ;
- le système est découpé en processus séparés : tous les protocoles de routage et la CLI vivent dans un processus appelé IOSd (le « démon IOS »), la programmation du matériel et la gestion de la plateforme ont leurs propres processus ;
- séparation du plan de contrôle et du plan de données : sur un ASR 1000, le plan de données est traité par un processeur dédié (QFP) ;
- 64 bits, mémoire virtuelle et protégée : fin de la limite des 4 Go et une corruption mémoire reste confinée à son processus ;
- exploitation des processeurs multicœurs ;
- une image universelle dont certaines fonctions sont activées par licence (aujourd’hui via Smart Licensing).
IOS XE fait tourner l’immense majorité des routeurs et switches Cisco d’entreprise actuels (ISR, Catalyst 8000, Catalyst 9000, ASR 1000) et des routeurs virtuels (CSR 1000v, Catalyst 8000v). Dans la suite de la série, comme dans le livre officiel, « IOS » désigne IOS XE quand il n’y a pas de différence fonctionnelle.
3.1 Les modes de la CLI IOS / IOS XE
| Mode | Invite | Ce qu’on y fait |
|---|---|---|
| User EXEC | R1> | Consultation limitée (quelques show, ping). Accès par défaut à la connexion. |
| Privileged EXEC | R1# | Tous les show, debug, copies de fichiers, rechargement. On y entre avec enable. |
| Global configuration | R1(config)# | Modifier la configuration. On y entre avec configure terminal. Les sous-modes (config-if, config-router…) en découlent. |
3.2 Le point faible : une configuration appliquée immédiatement
Sur IOS et IOS XE, chaque ligne est appliquée dès que tu appuies sur Entrée. Il n’y a aucune vérification de cohérence avec le reste de la configuration. Tout ingénieur réseau a connu ce moment où la session SSH se fige juste après avoir validé une commande sur un équipement distant…
Et revenir en arrière n’est pas trivial. Une erreur classique consiste à faire copy startup-config running-config : cette commande fusionne la configuration sauvegardée avec la configuration courante, elle ne la remplace pas. Les lignes ajoutées par erreur restent en place. Les bons outils sur IOS XE sont l’archive, configure replace et le revert timer.
Sauvegarder et remplacer une configuration
! 1. Activer l'archivage automatique des configurations PE3(config)# archive PE3(config-archive)# path bootflash:cfg- PE3(config-archive)# write-memory ! une archive à chaque "write memory" PE3(config-archive)# time-period 1440 ! et au moins une fois par jour (minutes) PE3(config-archive)# maximum 10 PE3(config-archive)# end PE3# write memory PE3# show archive ! liste des archives, la plus récente est marquée ! 2. Comparer la config actuelle avec une archive PE3# show archive config differences bootflash:cfg--Oct-12-07-45-10.123-1 ! 3. Remplacer entièrement la running-config par l'archive PE3# configure replace bootflash:cfg--Oct-12-07-45-10.123-1 list ! "list" affiche les lignes ajoutées / retirées ; l'outil calcule lui-même les "no ..." nécessaires
configure replace calcule la différence entre la configuration actuelle et le fichier cible, puis applique les ajouts et les suppressions nécessaires. Il faut assez de mémoire pour les deux versions, et quelques rares commandes ne peuvent pas être retirées à chaud.
Le filet de sécurité : le revert timer
PE3# configure terminal revert timer 5 ! IOS XE sauvegarde la config actuelle et programme un retour arrière dans 5 minutes PE3(config)# interface GigabitEthernet2 PE3(config-if)# ip access-group FILTRE-MGMT in ! changement risqué à distance PE3(config-if)# end ! Si tu as toujours la main et que tout va bien : PE3# configure confirm ! Si tu as perdu l'accès, le routeur revient seul à la config précédente au bout de 5 minutes.
La gestion des images sur IOS XE
IOS XE peut démarrer en mode bundle (le routeur démarre directement sur un gros fichier .bin) ou en mode install (recommandé : l’image est décompressée en paquets, et le routeur démarre sur un fichier packages.conf). En mode install, la mise à jour suit le cycle install add file bootflash:image.bin activate commit.
4. IOS XR : l’OS conçu pour les opérateurs
IOS XR naît en mai 2004 avec le CRS-1, le routeur de cœur à très grande capacité de Cisco. On le retrouve aujourd’hui sur les ASR 9000, NCS 540 / 560 / 5500 / 5700, Cisco 8000 et en version virtuelle (XRv, XRv 9000, XRd). Ses principes de conception :
- Architecture distribuée : les fonctions sont réparties entre les processeurs de routage (RP / RSP) et les cartes de ligne, qui ont leur propre CPU. Le plan de contrôle et le plan de données sont séparés.
- Micro-noyau (QNX pour les premières versions) : le noyau ne fait presque rien, tous les services (BGP, IS-IS, gestion des interfaces, base de configuration…) tournent comme des processus utilisateurs isolés. Un processus qui plante peut être redémarré seul sans recharger le routeur.
- Ordonnancement préemptif : un processus de faible priorité peut être suspendu (changement de contexte) au profit d’un plus prioritaire. Le CPU est partagé plus équitablement et un processus ne peut plus le monopoliser.
- Protection mémoire : une unité de gestion mémoire (MMU) fait la correspondance entre adresses virtuelles et physiques ; chaque processus a son propre espace, une corruption reste locale.
- Logiciel modulaire en paquets : on installe, met à jour ou retire des fonctions (MPLS, multicast…) sans réinstaller tout le système, et on corrige un bug avec un patch ciblé.
- Modèle de configuration transactionnel : commit en deux étapes, historique des changements, rollback (section 5).
4.1 Le nommage des nœuds et des interfaces
L’invite d’un routeur XR indique sur quel processeur tu es connecté : RP/0/RP0/CPU0:PE1# se lit Route Processor / rack 0 / slot RP0 / CPU 0. Selon la plateforme, tu verras RP/0/RSP0/CPU0 (ASR 9000), RP/0/RP0/CPU0 (NCS, Cisco 8000) ou RP/0/0/CPU0 (XRv). Les interfaces suivent le même principe en quatre champs : GigabitEthernet0/0/0/1 = rack / slot / sous-slot / port.
Autres différences visibles dès la connexion :
- Pas de mode User EXEC (
>) : tu arrives directement en#, et tes droits dépendent de ton profil d’autorisation (section 5.5). - La plupart des commandes affichent un horodatage en première ligne, pratique pour documenter un changement ou un incident.
- Les adresses s’écrivent
ipv4 address/ipv6 address(et nonip address), et les interfaces sont généralement administrativement désactivées par défaut dans une nouvelle configuration (à vérifier selon la plateforme) : pense auno shutdown.
4.2 Les générations d’IOS XR
« IOS XR » recouvre plusieurs générations aux architectures différentes. Peu de chances d’avoir une question pointue dessus, mais savoir les reconnaître évite de se perdre entre des commandes qui diffèrent.
| Génération | Base | Caractéristiques | Paquets |
|---|---|---|---|
| XR classique (cXR) | Micro-noyau QNX, 32 bits | Systèmes distribués et multi-châssis (CRS, premiers ASR 9000) | PIE et SMU |
| XR 64 bits virtualisé | Linux 64 bits, XR dans une machine virtuelle | Contexte admin séparé (« System Admin »), ISSU visant zéro perte de paquets / zéro perte de topologie, notion de SDR (Secure Domain Router, découpage d’un châssis en routeurs logiques) aujourd’hui abandonnée | RPM |
| eXR (Evolved XR) | Linux 64 bits, conteneurs LXC | Plus léger, meilleure télémétrie, hébergement d’applications ; le plan admin tourne toujours dans un conteneur séparé | RPM |
| XR7 / XR LNT (« lint ») | Linux natif | Ensemble minimal de binaires XR, démarrage plus rapide, plus de contexte admin ni de SDR, plus d’ISSU, sécurité renforcée (Cisco 8000, NCS 540 récents…) | RPM, images « golden ISO » (GISO) |
! Accès au contexte admin sur les générations qui en ont un RP/0/RSP0/CPU0:ASR9K# admin RP/0/RSP0/CPU0:ASR9K(admin)# ! versions logicielles, paquets, état du châssis... ! Identifier la génération : la ligne de version suffit RP/0/RP0/CPU0:PE1# show version Cisco IOS XR Software, Version 7.x.x LNT ! "LNT" = XR7 Linux natif
4.3 Les paquets logiciels : PIE, SMU, RPM
Sur IOS XE, les fonctions avancées s’activent par licence sur une image universelle. Sur IOS XR, le logiciel est découpé en paquets qu’on installe selon ses besoins.
- PIE (Package Installation Envelope, XR classique) : fichier contenant le code d’un ensemble de fonctions. Les PIE obligatoires forment l’image de base (« mini ») ; les autres sont optionnels.
- SMU (Software Maintenance Upgrade) : un correctif ciblé pour un bug, livré rapidement, qui permet de rester sur la même version logicielle. Idéal pour corriger un problème critique sans migration complète.
- RPM : sur les XR 64 bits, paquets et SMU sont au format RPM Linux. Sur XR7, on travaille de préférence avec des GISO (golden ISO) qui regroupent l’image de base, les paquets optionnels et les SMU choisis.
| Paquets du « mini » obligatoire (XR classique) | Exemples de paquets optionnels |
|---|---|
| OS (noyau, système de fichiers, mémoire) · Base (gestionnaire d’interfaces, SysDB, gestion de config, checkpoint) · Admin (cartes, fabric) · Forwarding (FIB, ACL, QoS, ARP) · Pilotes de cartes · Routing (RIB, OSPF, IS-IS, BGP, RPL) | MPLS · Multicast · BNG · Satellite · CGN (NAT) · Sécurité (k9sec) · Interception légale · Manageability (mgbl) · Optiques / FPD |
Le cycle de vie d’un paquet
| Étape | XR classique (PIE) | XR 64 bits / eXR (RPM) | XR7 / LNT |
|---|---|---|---|
| Ajouter | admin install add tftp://srv/asr9k-mpls-px.pie | install add source tftp://srv/ pkg.rpm | install package add source … pkg |
| Activer | admin install activate disk0:asr9k-mpls-px-x.y.z | install activate id <n> | install apply (ou install replace GISO) |
| Valider | admin install commit | install commit | install commit |
| Vérifier | show install active summary · show install committed · show install inactive | ||
La syntaxe exacte varie selon la plateforme et la version : en production, suis toujours la procédure de la note de version correspondante.
4.4 Redémarrer un processus sans redémarrer le routeur
C’est l’illustration concrète de la modularité de XR. Si un processus se comporte mal, on peut le relancer seul ; le système (et grâce aux mécanismes de haute disponibilité, souvent le trafic) continue de fonctionner :
RP/0/RP0/CPU0:PE1# show processes isis ! état, PID, nombre de redémarrages RP/0/RP0/CPU0:PE1# process restart isis ! relance uniquement IS-IS RP/0/RP0/CPU0:PE1# show processes cpu sort 5min | include isis
5. Configurer IOS XR au quotidien
5.1 Le commit en deux étapes
C’est LA différence que tout le monde remarque en arrivant sur XR. Quand tu tapes une commande en mode configuration, rien n’est appliqué. Tes modifications s’accumulent dans une configuration cible (target configuration), propre à ta session, qui ne contient que tes changements (pas une copie de toute la configuration). Ce n’est qu’au moment du commit que le système :
- vérifie la syntaxe et la cohérence sémantique de tes changements ;
- les applique à la running-config de façon atomique : tout passe ou rien ne passe (par défaut, mode « pseudo-atomique ») ;
- enregistre le changement dans la base des commits avec un identifiant, l’utilisateur, la date et éventuellement un label.
RP/0/RP0/CPU0:ios# configure RP/0/RP0/CPU0:ios(config)# hostname PE1 RP/0/RP0/CPU0:ios(config)# show configuration ! ce qui sera appliqué (target) hostname PE1 RP/0/RP0/CPU0:ios(config)# commit label INIT-HOSTNAME comment "Nommage du PE" RP/0/RP0/CPU0:PE1(config)# end ! l'invite ne change qu'après le commit RP/0/RP0/CPU0:PE1# show configuration commit list SNo. Label/ID User Line Client Time Stamp ~~~~ ~~~~~~~~ ~~~~ ~~~~ ~~~~~~ ~~~~~~~~~~ 1 INIT-HOSTNAME zoher vty0 CLI ... RP/0/RP0/CPU0:PE1# show configuration commit changes last 1 hostname PE1
5.2 Les variantes de commit à connaître
| Commande | Effet | Quand l’utiliser |
|---|---|---|
commit | Applique la target de façon pseudo-atomique (tout ou rien) | Cas général |
commit label <nom> / comment "…" | Donne un nom lisible et un commentaire au changement | Toujours en production (numéro de ticket, objet du changement) |
commit confirmed [secondes] ou commit confirmed minutes <1-1024> | Applique le changement provisoirement ; s’il n’est pas confirmé par un nouveau commit avant la fin du délai, il est annulé automatiquement | Changement risqué à distance (ACL de management, routage vers le routeur lui-même) |
commit best-effort | Applique les lignes valides même si certaines échouent | Rarement ; préfère corriger les erreurs |
commit replace | Remplace toute la running-config par la target (tout ce qui n’y figure pas est supprimé) | Restaurer une configuration complète chargée avec load. Dangereux avec une target incomplète ! |
commit show-error | Affiche immédiatement la cause d’un échec | Dépannage |
commit force | Ignore les contrôles de mémoire disponible | À éviter, uniquement sur avis du support |
commit replace n’ajoute pas : il remplace. Si ta target ne contient qu’un hostname, ton routeur se retrouve avec… seulement un hostname. C’est l’équivalent d’un effacement suivi de l’application de la target. En pratique, on l’utilise après load bootflash:config-complete.cfg pour revenir à une configuration de référence.Le réflexe commit confirmed
RP/0/RP0/CPU0:PE1(config)# interface MgmtEth0/RP0/CPU0/0 RP/0/RP0/CPU0:PE1(config-if)# ipv4 access-group MGMT-IN ingress RP/0/RP0/CPU0:PE1(config-if)# commit confirmed minutes 5 ! Le changement est actif... et sera annulé dans 5 minutes sauf confirmation. ! Tu ouvres une NOUVELLE session SSH pour vérifier que tu as toujours accès, puis : RP/0/RP0/CPU0:PE1(config)# commit ! confirmation : le changement devient définitif
5.3 Consulter, comparer et revenir en arrière
| Besoin | Commande |
|---|---|
| Voir ce que je vais appliquer (en mode config) | show configuration |
| Voir le résultat final si je commit (running + target) | show configuration merge |
| Voir la différence avec la running | show commit changes diff |
| Historique des commits | show configuration commit list |
| Contenu d’un commit | show configuration commit changes last 1 · … changes <ID> |
| Prévisualiser un rollback | show configuration rollback changes last 2 |
| Annuler les N derniers commits | rollback configuration last 2 |
| Revenir à l’état d’un commit précis | rollback configuration to <ID ou label> |
| Comprendre pourquoi un commit a échoué | show configuration failed |
| Abandonner la target et sortir du mode config | abort |
| Vider la target sans sortir | clear |
| Voir la running ligne par ligne avec le chemin complet | show running-config formal |
RP/0/RP0/CPU0:PE1# show configuration rollback changes last 2 ! que va faire le rollback ? RP/0/RP0/CPU0:PE1# rollback configuration last 2 Loading Rollback Changes. Committing. Configuration successfully rolled back 2 commits.
Un rollback est lui-même un commit : il apparaît dans l’historique, et on peut donc… annuler un rollback.
Si tu tapes end ou exit avec des changements non validés, XR te demande : Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]. La réponse par défaut, cancel, te laisse en mode configuration.
RP/0/RP0/CPU0:R1# rollback configuration last 2. Pas en mode config, et pas « rollback 2 » tout court.5.4 Une CLI hiérarchique
Sur IOS, la configuration d’une même fonction peut être éparpillée : un bout sous le processus de routage, un bout sous l’interface, un bout en global. Sur XR, la configuration est strictement hiérarchique : tout ce qui concerne IS-IS est sous router isis, y compris les interfaces IS-IS. C’est plus lisible une fois habitué, mais cela piège au début : on reste dans le sous-mode courant tant qu’on n’en sort pas explicitement.
RP/0/RP0/CPU0:PE1(config)# router isis CORE RP/0/RP0/CPU0:PE1(config-isis)# interface GigabitEthernet0/0/0/0 RP/0/RP0/CPU0:PE1(config-isis-if)# ipv4 address 10.1.12.1 255.255.255.252 ^ % Invalid input detected at '^' marker. ! on est encore dans IS-IS ! RP/0/RP0/CPU0:PE1(config-isis-if)# pwd ! où suis-je ? router isis CORE interface GigabitEthernet0/0/0/0 RP/0/RP0/CPU0:PE1(config-isis-if)# root ! retour au sommet (ou plusieurs "exit") RP/0/RP0/CPU0:PE1(config)# interface GigabitEthernet0/0/0/0 RP/0/RP0/CPU0:PE1(config-if)# ipv4 address 10.1.12.1 255.255.255.252 RP/0/RP0/CPU0:PE1(config-if)# do show clock ! "do" : une commande EXEC sans quitter le mode config
Autres outils utiles : configure exclusive (verrouille la configuration pour être le seul à pouvoir commiter), show configuration sessions (qui est en train de configurer ?), les groupes de configuration (group / apply-group) pour factoriser des blocs répétitifs, et load pour charger un fichier dans la target.
5.5 L’autorisation par tâches (task-based authorization)
IOS utilise des niveaux de privilège (0 à 15). XR utilise un modèle plus fin, en quatre couches :
- Task ID : une catégorie de fonctions (
bgp,ospf,isis,interface,aaa…), chacune avec des droits read, write, execute, debug. - Taskgroup : un ensemble de task IDs avec leurs droits.
- Usergroup : un ensemble de taskgroups (et éventuellement d’autres usergroups hérités).
- Utilisateur : appartient à un ou plusieurs usergroups.
Des groupes prédéfinis existent : root-system, root-lr, netadmin, sysadmin, operator, serviceadmin, read-only-tg…
! Exemple : un compte NOC qui peut lire le routage mais rien modifier taskgroup TG-NOC-ROUTAGE task read bgp task read ospf task read isis task read mpls-ldp ! usergroup UG-NOC taskgroup TG-NOC-ROUTAGE taskgroup read-only-tg ! username noc1 group UG-NOC secret 0 <mot-de-passe> ! saisi en clair, stocké chiffré ! commit
taskgroup ospf est refusé au commit ; show configuration failed indique alors une erreur sémantique du type « Usergroup/Taskgroup names cannot be taskid names ». Choisis des noms explicites et préfixés (TG-…, UG-…).6. Tableau comparatif IOS / IOS XE / IOS XR
| Critère | IOS | IOS XE | IOS XR |
|---|---|---|---|
| Apparition | Années 1980 | 2004 (ASR 1000) | 2004 (CRS-1) |
| Noyau | Monolithique | Linux ; IOS tourne dans le processus IOSd | Micro-noyau QNX (classique), puis Linux 64 bits |
| Ordonnancement | Run-to-completion (coopératif) | Linux (préemptif) ; coopératif à l’intérieur d’IOSd | Préemptif |
| Protection mémoire | Non (espace à plat) | Oui entre processus | Oui (MMU, espaces séparés) |
| Redémarrage d’un processus seul | Non | Partiel (IOSd est un bloc) | Oui (process restart) |
| Architecture | Centralisée | Centralisée, plans contrôle / données séparés | Distribuée (RP + CPU des cartes), multi-châssis possible |
| Fonctions | Feature sets (images différentes) | Image universelle + licences | Paquets (PIE, SMU, RPM, GISO) |
| Application de la config | Immédiate, ligne par ligne | Immédiate, ligne par ligne | Commit en deux étapes, atomique |
| Retour arrière | Manuel | Archive, configure replace, revert timer | Natif : rollback, commit confirmed, labels |
| Droits | Niveaux de privilège 0–15 | Niveaux de privilège 0–15 | Task IDs, taskgroups, usergroups |
Mode User EXEC (>) | Oui | Oui | Non |
| Plateformes typiques | Anciens ISR, 7200 | ISR, Catalyst 8000/9000, ASR 1000, CSR 1000v / C8000v | ASR 9000, NCS, Cisco 8000, CRS, XRv / XRd |
7. Lab PNETLab pas à pas
Matériel : 1 IOS XRv (ou XRv 9000) nommé PE1, 1 CSR 1000v / Catalyst 8000v nommé PE3, reliés par un lien Gi0/0/0/0 ↔ Gi2. Durée : environ 1 h à 1 h 30.
- Identifier la plateforme (XR).
show version,show install active summary,show platform. Note la génération d’XR et la liste des paquets actifs. - Premier commit. Configure le hostname et une Loopback0
10.0.0.1/32. Avant de valider, regardeshow configurationetshow commit changes diff. Valide aveccommit label LAB-01. - Lire l’historique.
show configuration commit list, puisshow configuration commit changes last 1. - Le piège de la hiérarchie. Entre dans
router isis LAB, puis dans une interface IS-IS, et essaie d’y configurer une adresse IP. Utilisepwdpuisrootpour te sortir de là. - Une erreur sémantique. Crée
taskgroup ospfet commit. Lisshow configuration failed, puis faisabort. - commit confirmed. Change l’adresse de la Loopback0 en
10.0.0.99/32aveccommit confirmed 60. Attends 1 minute sans rien faire : vérifie avecshow running-config interface Loopback0que l’ancienne adresse est revenue. Recommence, et cette fois confirme aveccommit. - Rollback. Fais trois commits successifs (une description d’interface, une deuxième loopback, une bannière). Prévisualise avec
show configuration rollback changes last 2, puis exécuterollback configuration last 2. Vérifie que seule la description reste. - abort et clear. Entre en configuration, tape deux ou trois commandes, utilise
clearet vérifie avecshow configurationque la target est vide. Recommence et sors avecabort. - Côté IOS XE (PE3). Active l’archive, fais un
write memory, change le hostname, compare avecshow archive config differences, puis restaure avecconfigure replace … list. - Revert timer (PE3).
configure terminal revert timer 2, modifie la description de Gi2, ne confirme pas, et observe le retour arrière automatique au bout de 2 minutes. - Bonus : droits sur XR. Crée le compte
noc1de la section 5.5, connecte-toi avec, vérifie queshow bgp summarypasse mais queconfiguresuivi d’uncommitest refusé.
commit confirmed pour tout ce qui touche à l’accès au routeur, un show commit changes diff avant chaque commit, et un show configuration rollback changes avant chaque rollback. Ces quatre réflexes évitent la plupart des incidents liés à la configuration.8. Fiche de révision
- IOS : monolithique, run-to-completion, pas de protection mémoire.
- IOS XE : noyau Linux + processus IOSd, 64 bits, mémoire protégée, licences.
- IOS XR : micro-noyau, préemptif, MMU, processus redémarrables, distribué, paquets.
- Générations XR : cXR (QNX 32 bits) → XR 64 bits / eXR (LXC, admin séparé) → XR7 / LNT (pas d’admin, pas d’ISSU).
- Paquets : PIE (fonctions), SMU (correctif sans changer de version), RPM / GISO.
- Cycle : add → activate → commit ; retrait : deactivate → commit → remove.
commit·commit label X·commit confirmed·commit replaceshow configuration(target) ·show commit changes diffshow configuration commit list·… commit changes last 1rollback configuration last N(mode EXEC) ·… to <ID|label>show configuration failedabort(annule et sort) ·clear(annule et reste)pwd·root·do- IOS XE :
archive,configure replace,configure terminal revert timer+configure confirm
9. Quiz d’auto-évaluation
1. Citer deux caractéristiques d’IOS XR absentes d’IOS classique.
2. Dans quel processus tournent les protocoles de routage sur IOS XE ?
3. Qu’est-ce qu’un ordonnanceur run-to-completion, et quel est son principal risque ?
4. Quelles sont les trois étapes pour mettre un paquet en service durablement sur XR ?
5. À quoi sert un SMU ?
6. Quelle commande annule les deux derniers changements de configuration sur XR, et dans quel mode ?
rollback configuration last 2, en mode EXEC (invite #, pas en config).7. Quelle est la différence entre abort et clear ?
8. Tu configures une ACL de management à distance. Quel commit utiliser ?
commit confirmed (avec un délai) : si tu perds l’accès, le changement est annulé automatiquement ; sinon tu confirmes avec un nouveau commit.9. Pourquoi « copy startup-config running-config » ne permet-il pas de revenir proprement en arrière sur IOS XE ?
configure replace.10. Quelle commande indique où tu te trouves dans la hiérarchie de configuration XR ?
pwd (et root pour remonter au sommet).10. Glossaire
| Terme | Définition courte |
|---|---|
| Commit en deux étapes | Modèle XR : on prépare une target config, puis on la valide de façon atomique. |
| Target configuration | Ensemble des changements non encore validés d’une session de configuration XR. |
| Rollback | Retour à un état antérieur de la configuration à partir de la base des commits. |
| IOSd | Processus qui exécute IOS (routage, CLI) sur IOS XE. |
| Micro-noyau | Noyau minimal ; les services tournent comme des processus isolés. |
| Ordonnancement préemptif | Le système peut interrompre une tâche pour en exécuter une plus prioritaire. |
| PIE / SMU | Paquet de fonctions / correctif ciblé (XR classique). |
| GISO | Golden ISO : image XR personnalisée incluant paquets et correctifs. |
| ISSU | In-Service Software Upgrade : mise à jour sans interruption de service. |
| SDR | Secure Domain Router : partition d’un châssis XR en routeurs logiques (abandonné). |
| Classic XR / eXR / XR7 (LNT) | Générations successives d’IOS XR (QNX, Linux + conteneurs, Linux natif). |
| Task ID / taskgroup / usergroup | Briques du modèle d’autorisation d’IOS XR. |
| Revert timer | Retour arrière automatique d’IOS XE si le changement n’est pas confirmé. |
11. Sources et pour aller plus loin
- Programme officiel de l’examen Cisco 350-501 SPCOR (objectifs 1.2.a à 1.2.c).
- CCNP SPCOR 350-501 Official Cert Guide, Cisco Press, chapitre 2 (référence de révision ; cet article est une synthèse rédigée indépendamment, les exemples de configuration sont propres à la série).
- Cisco : guides « System Management Configuration » et « System Setup and Software Installation » d’IOS XR ; guide « Configuration Replace and Configuration Rollback » d’IOS XE.
- Pour approfondir les différences de syntaxe : IP Routing on Cisco IOS, IOS XE, and IOS XR, Cisco Press.
Article rédigé pour Les Z’héros du Réseau dans le cadre de la série de préparation au CCNP Service Provider (350-501 SPCOR). Chapitre précédent : les architectures des réseaux opérateurs. Prochain chapitre : les architectures de virtualisation (NFV, VNF, conteneurs).