L’article intitulé « IOS, IOS-XE et IOS-XR: de quel IOS me parlez-vous ? » évoque les différences structurelles entre l’IOS traditionnel et l’IOS-XR. Ces informations sont certes intéressantes, elles restent peu pertinentes pour l’administrateur réseau. Pour les professionnels, ce qui importe, c’est bien la différence dans l’exploitation et la mise en oeuvre des technologies sur les équipements qui embarquent l’IOS-XR. Ça tombe bien: c’est l’objet de cet article !
IOS-XR: de quels équipements parle-t-on?
A la date de publication de cet article (Octobre 2015), les seuls équipements qui exploitent l’IOS-XR sont des équipements destinés aux opérateurs. On identifie 4 gammes:
- le NCS 6000 (Network Convergence System);
- le CSR-1 (Carrier Routing System);
- Routeurs XR 12000 ;
- Routeurs Cisco ASR (9000).
Comme expliqué dans l’article précédemennt cité, l’objectif de ce logiciel est d’augmenter la fiabilité, la disponibilité, etc. Pas étonnant que le matériel associé réponde également à ces objectifs !
L’interface de Commande en Ligne de l’IOS-XR
Tout d’abord, il faut souligner que l’accès à l’interface de commande en ligne (CLI) impose une authentification avec un utilisateur et un mot de passe. Il est impossible d’accéder au CLI sans un compte. De plus, ce sont les droits associés au compte qui identifie les possibilités d’administration avec le compte: la commande enable qui existe sur l’IOS traditionnel n’a donc plus de sens en environnement IOS-XR (elle n’existe donc pas).
Par contre, comme sur l’IOS traditionnel, l’interface de commande en ligne de l’IOS-XR propose deux modes distincts:
- mode exec pour les opérations normales (commandes show, par exemple)
- mode config pour le paramétrage de l’équipement.
Depuis le mode exec, il suffit de taper la commande configure pour passer au mode config. Les commandes sont proches de celles de l’IOS mais parfois il y a des différences syntaxiques votre grammaticales.
Autre chose très différente sur l’IOS-XR, c’est la présence d’un mode d’administration du chassis:
- mode admin: pour les opérations spécifiques au chassis
- mode config (admin): pour modifier tout ce qui touche aux paramètres du chassis.
On passe du mode exec au mode admin par la commande admin. Puis, on passe dans le mode de configuration duchassis en tapant la commande configure.
Le mode dans lequel le CLI se trouve peut être rapidement repéré par le prompt (cf. ci-desssous):
Identification des interfaces et de l’équipements
Comme on le voit sur la capture d’écran ci-dessus, le prompt ne se limite pas à utiliser le nom du système (modifié en « XR1 » dans l’exemple). Ce nom de système est précédé du type et de l’identifiant du noeud (node). Le concept de noeud est nouveau, il identifie un des éléments matériels qui constitue l’équipement.
Dans le monde de l’IOS-XR, un noeud peut être une carte processeur (RP), une carte d’interface (LC pour LineCard) mais aussi un module de ventilation ou d’alimentation électrique. Tous ces éléments sont identifiés par l’IOS-XR grâce à une nomenclature hiérarchique spécifique.
En mode admin, la commande show platform montre la totalité des ressources (incluant les ventilateurs et les alimentations électriques)
Dans notre exemple, le prompt est constitué du type (RP pour Route Processor) suivi du caractère slash (« / ») puis le Node identifié avec une hiérarchie à 3 niveaux (chaque niveau est séparé par le slash « / »). Ainsi, toujours pour notre exemple, l’identifiant du noeud 0/0/CPU0 doit être interprété comme suit:
- le premier chiffre correspond au numéro de rack, ici le système est autonome (valeur 0 réservée à cet effet),
- le second chiffre correspond au numéro de slot, ici le slot 0 (premier slot du chassis)
- le dernier élément identifie le module: ici, CPU0 correspond au premier processeur.
Configuration de l’IOS-XR
Nouveau concept: la configuration cible
Dans l’IOS traditionnel, on distingue deux » fichiers » de configurations:
- la configuration de démarrage (la startup-config) utilisée lorsque l’équipement s’initialise;
- la configuration active (la running-config) qui représente ce que fait réellement l’équipement.
Lorsqu’une commande est tapée dans le CLI en mode config, elle modifie instantanément (après vérification syntaxique) la configuration active. Cette configuration active peut être affichée avec la commande show running-config. Cette commande affiche, dans le cas de l’IOS, les informations sur les interfaces et une partie du paramétrage par défaut.
Cette approche est différente avec l’IOS-XR, puisque la configuration de l’équipement se fait en deux étapes:
- Lorsque l’on rentre les commandes dans le mode config, la commande n’est pas prise en compte immédiatement par l’équipement. En effet, la commande modifie non pas la configuration active mais la configuration cible (Target Configuration, en anglais).
- Pour que la configuration cible soit effectivement activée et qu’elle modifie de fait le comportement de l’équipement, il faut la valider avec la commande commit (en mode config).
Il faut noter que sur l’IOS-XR, les interfaces non paramétrées (dont le comportement est laissé par défaut) n’apparaissent pas dans le retour de la commande show running-config.
Double vérification: syntaxique et grammaticale
L’étape intermédiaire permet une vérification sémantique (ou grammaticale) qui n’existe pas dans l’IOS traditionnel: la vérification sémantique garantit autant que possible de la cohérence globale des commandes rentrées par l’administrateur.
Cette vérification se fait lors de la commande commit, c’est à dire au moment où l’on demande que la configuration cible soit activée. S’il y a une erreur de cohérence détectée, la configuration n’est pas activée (c’est un peu du tout ou rien finalement). Il est possible de faire afficher les causes de l’échec de la vérification avec la commande show config failed.
Néanmoins, il reste possible de demander à l’IOS-XR de n’activer que la partie de configuration qui passe avec succès la vérification sémantique et d’écarter ce qui n’est pas cohérent. On utilise pour cela la commande commit best-effort.
Gestion des configurations: Services complémentaires
La séparation des deux actions: modification de la configuration cible avant son activation permet à l’IOS-XR d’offrir des services complémentaires intéressants pour l’administrateur.
Tout d’abord, un historique des configurations qui ont été activées est sauvegardé. Il est possible de donner un nom à une évolution pour pouvoir y faire référence ultérieurement. La liste des configuration sauvegardées est accessible à l’aide de la commande show config commit list.
Ensuite, le retour arrière (rollback) est grandement facilité. Il est facile de demander de revenir en arrière en revenant à configuration de référence (soit en utilisant le nom donné ou l’identifiant automatiquement attribué).
Dans l’exemple ci-dessous, la commande load rollback changes last 1 permet de modifier la configuration cible pour revenir à la précédente configuration active. On voit bien que l’activation (commit) permet un retour avec l’ancien nom de système:
RP/0/0/CPU0:ios#conf Tue Sep 22 09:50:11.811 UTC RP/0/0/CPU0:ios(config)#hostname XR1 RP/0/0/CPU0:ios(config)#commit Tue Sep 22 09:50:17.950 UTC RP/0/0/CPU0:XR1(config)#end RP/0/0/CPU0:XR1#configure Tue Sep 22 09:50:21.740 UTC RP/0/0/CPU0:XR1(config)#lo load locale logging RP/0/0/CPU0:XR1(config)#load rollback ? changes Load configuration changes to be made during a rollback operation RP/0/0/CPU0:XR1(config)#load rollback changes ? last Changes for rolling back last <n> commits to Changes up to (and including) a specific commit 1000000005 Commit ID 1000000004 Commit ID 1000000003 Commit ID 1000000002 Commit ID 1000000001 Commit ID RP/0/0/CPU0:XR1(config)#load rollback changes last ? <1-5> Number of commits RP/0/0/CPU0:XR1(config)#load rollback changes last 1 Building configuration... Loading. 48 bytes parsed in 1 sec (46)bytes/sec RP/0/0/CPU0:XR1(config)#commit Tue Sep 22 09:50:47.388 UTC RP/0/0/CPU0:ios(config)#
—
Voilà donc une rapide introduction aux différences opérationnelles entre l’IOS et l’IOS-XR. Il y en a encore d’autres. D’ailleurs, bon nombre des technologies et protocoles ne se configurent plus comme sur l’IOS traditionnel. Une bonne raison pour comprendre les mécanismes plutôt que d’apprendre les commandes. Les commandes changent mais les mécanismes restent les même !
Si vous avez des questions, des commentaires ou même des suggestions, lassez-moi un message dans l’espace commentaire ci-dessous. A bientôt !
Laisser un commentaire