Objectifs de certification

CCNA 200-301

  • 5.3 Configurer l’accès aux périphériques avec des mots de passe


Cisco IOS Internetwork Operating System

1. Introduction

Cisco IOS (Internetwork Operating System) est une famille de logiciels utilisée sur la plupart des routeurs et commutateurs Cisco Sytems. IOS dispose d’un ensemble de fonctions de routage (routing), de commutation (switching), d’interconnexion de réseaux (internetworking) et de télécommunications dans un système d’exploitation multitâche.

La plupart des fonctionnalités IOS ont été portées sur d’autres noyaux comme QNX (IOS-XR) et Linux (IOS-XE).

Tous les produits Cisco ne fonctionnent pas nécessairement sous Cisco IOS, comme les plateformes de sécurité ASA (dérivé Linux) ou les routeurs “carrier” qui fonctionnent sous Cisco IOS-XR.

2. Versions

La dénomination des versions Cisco IOS utilise des nombres et certaines lettres, en général sous la forme a.b(c.d)e où :

  • a est le numéro de version majeur
  • b est le numéro de version mineur
  • c est le numéro de révision (release)
  • d est le numéro de l’intérim (omit des révisions générales)
  • e (aucune, une ou deux lettres) est l’identifiant du train comme aucun (Mainline), T (Technology), E (Enterprise), S (Service provider), XA est un train de fonctionnalités spécifiques, etc.

Rebuilds – Un rebuild est souvent une version corrective compilée d’un problème ou d’une vulnérabilité pour une version IOS donnée. Par exemple, 12.1(8)E14 est un Rebuild, le 14 signifiants le 14ème rebuild de 12.1(8)E.

Interim releases – Basé sur une production hebdomadaire.

Maintenance releases – Révision rigoureusement testées.

3. Trains

Un train est un véhicule fournissant un logiciel Cisco auprès d’un ensemble de plateformes et de fonctionnalités.

3.1. Jusqu’en version 12.4

Avant l’IOS release 15, les révisions étaient séparées en différents “trains”, chacun contenant un ensemble de fonctionnalités. Les “trains” étant liés aux différents marchés et clients que Cisco voulait toucher.

  • The mainline train, Version stable.
  • The T – Technology train, Version en développement, prochaine version stable.
  • The S – Service Provider train
  • The E – Enterprise train
  • The B – broadband train
  • The X* (XA, XB, etc.)

3.2. Depuis 15.0

À partir de la version IOS 15, il n’y a plus qu’un seul train : le Train M/T.

4. Packaging / feature sets

La plupart des produits qui fonctionnent en Cisco IOS ont une ou plusieurs “feature sets” ou “packages”, 8 pour les routeurs Cisco et 5 pour les switches Cisco.

Par exemple, pour un switch Catalyst les IOS sont disponibles en versions :

  • “standard” : Routage IP de base
  • “enhanced” : Full routage IPv4
  • “advanced IP services” : Full routage IPv6

On peut trouver une fonctionnalité grâce au “Cisco Feature Set Browser” (Cisco Feature Navigator).

Avec les routeurs ISR 1900, 2900 and 3900, Cisco a révisé son modèle de licence. Les routeurs viennent avec une licence de base et celle-ci est étendue avec une fonctionnalité déjà native au logiciel par activation.

  • Data : BFD, IP SLAs, IPX, L2TPv3, Mobile IP, MPLS, SCTP.
  • Security : VPN, Firewall, IP SLAs, NAC.
  • Unified Comms : CallManager Express, Gatekeeper, H.323, IP SLAs, MGCP, SIP, VoIP, CUBE(SBC).

On trouvera plus d’information sur les versions Cisco IOS dans l’article publié chez Cisco Press “An Overview of Cisco IOS Versions and Naming”.

5. Cisco IOS

Le système d’exploitation Cisco IOS a été développé depuis les années 1980 pour des routeurs disposant de faibles ressources en RAM (256 Kb) et en CPU. La modularité dans l’architecture Cisco IOS a permis sa croissance sur du matériel toujours mieux adapté en fonctionnalités nouvelles.

Dans toutes les versions de Cisco IOS, le routage de paquets (packet routing) et la commutation de paquets (packet switching) sont des fonctions distinctes.

Le routage et les autres protocoles fonctionnent en tant que processus IOS et contribuent à la table “Routing Information Base (RIB)”. Celle-ci subit un traitement pour produire la table finale “IP forwarding table (FIB, Forwarding Information Base)”. La FIB est utilisée par la fonction de transfert (forwarding) du routeur.

Cisco IOS est construit selon une architecture monolithique. Il fonctionne comme une seule image et tous les processus partagent le même espace mémoire. Il n’y aucun mécanisme de protection entre les processus. En d’autres termes, un bug dans l’IOS peut potentiellement corrompre des données utilisées par un autre processus. Le noyau de l’IOS n’est pas préemptif.

TypenoyauMémoire
IOSMonolithique, non-préemptifmémoire partagée sans protection entre processus, pas de “swapping” ou “paging”, plus de performance moins de sécurité

Plateformes fonctionnant en Cisco IOS monolithique.

Gamme de plateformesType de plateformes
Routeurs ISR G1 et ISR G2Cisco 800, 1800, 1900, 2800, 3200, 3800, 2900, 3900, 3600 et 3700.
Commutateurs Cisco Catalyst2970, 3560 3750, 4500, 4900 et 6500.
Routeur virtuel générique de labIOSv

6. Cisco IOS-XR

Pour les produits Cisco nécessitant de la haute disponibilité comme les Cisco CRS, les limites d’un IOS monolithique ne sont plus acceptables d’autant plus qu’un système d’exploitation d’un compétiteur comme JUNOS de Juniper de 10 à 20 ans son cadet ne connait pas ces limites grâce à sa base UNIX.

Une réponse de Cisco a été de concevoir une nouvelle version de Cisco IOS appelée Cisco IOS-XR (2006) offrant plus de modularité et une protection entre les processus, des “lightweight threads”, de l’ordonnancement préemptif et la capacité de redémarrer indépendamment des processus qui ont échoué. IOS-XR utilise un micro-noyau tiers en temps réel (“a 3rd party real-time operating system microkernel”) appelé QNX. Un bonne partie du code source de l’IOS a été réécrit pour profiter du nouveau noyau. L’avantage d’un micro-noyau est qu’il élimine tout processus qui n’est absolument pas nécessaire d’une part, et d’autre part qu’il les exécute ces processus comme des processus d’application.

Grâce à cette méthode, IOS-XR est capable d’atteindre le niveau de haute disponibilité que doivent atteindre les nouvelles plateformes. Même si les systèmes sont de conception franchement différente, ils sont très proches quant à leur usage.

TypenoyauMémoire
IOS-XRthird-party real-time operating system (RTOS) microkernel, QNX, multitâches préemptif, protection entre les processus, des “lightweight threads”, de l’ordonnancement préemptif et la capacité de redémarrer indépendamment des processus qui ont échouémémoire dédiée et protégée.

Plateformes IOS-XR :

  • Cisco CRS-1 Carrier Routing System (CRS),
  • CRS-3 Carrier Routing System,
  • ASR9000 Series routers,
  • Cisco XR 12000 Series routers pour service provider core networks,
  • IOS-XRv
Cisco CRS 16-Slot Back-to-Back (2+0) System

Source de l’image : Cisco CRS 16-Slot Back-to-Back (2+0) System

7. Cisco IOS-XE

L’IOS-XE utilise des composants d’architecture qui l’améliore et le différencie par rapport à un noyau IOS traditionnel. Toutefois, la ligne de commande Cisco IOS CLI (Command Line Interface) et les procédures de configuration sont très proches de telle sorte que les opérateurs puissent passer de l’un à l’autre facilement. Il fonctionne sur des machines physiques dédiées ou virtuelles avec des processeurs Intel 64 bits.

IOS-XE ajoute la stabilité grâce à l’abstraction de la plateforme supportée par un noyau Linux. Le noyau Linux et ses pilotes sont les seuls composants de l’architecture IOS-XE qui disposent d’un accès direct au matériel en fournissant une stabilité supplémentaire.

Le noyau Linux permet d’exécuter des processus sur de multiples processeurs. Les librairies logicielles permettent à des applications de fonctionner sur le même matériel. L’exécution de Wireshark sur un Superviseur Catalyst 4500 est un exemple.

Tous les protocoles de routage sont des démons appelés IOSd qui fonctionnent comme des processus distincts.

IOS-XE supporte des architectures Intel 64 bits permettant une exploitation de la mémoire vive au-delà de 4 Go (limite associée aux architectures 32 bits). Le noyau attribue de la mémoire vive aux processus IOSd. Les IOSd attribuent alors une taille de mémoire configurable et les utilisent pour diverses fonctions de l’IOS.

Plateformes IOS-XE

Gamme Cisco ASR1000

Source de l’image : Gamme Cisco ASR1000

Cisco Systems et le programme de la certification CCNA nous invitent à nous intéresser à la programmation des infrastructures réseau à partir de Cisco IOS-XE comme par exemple sur https://developer.cisco.com/site/ios-xe/.

8. Cisco NX-OS

Cisco a fabriqué un système d’exploitation de prochaine génération pour le data center pour un maximum d’évolutivité et de disponibilité des applications. NX-OS est une évolution du système d’exploitation industriel Cisco Storage Area Network Operating System (SAN-OS) Software et fonctionne avec une base Wind River Linux1.

Plateformes IOS NX :

Cisco Nexus 3000

Source de l’image : Cisco Nexus 3000

9. Cisco ASA OS

La gamme “Adaptive Security Appliance” (ASA) est celle des pare-feu chez Cisco. Cisco ASA Software est le système d’exploitation développé sur ces plateformes. Il fonctionnait sous d’anciennes plateformes comme Cisco PIX, Cisco VPN 3000, Cisco IPS 4200. L’interface Cisco AS-OS est très proche de celle des plateformes IOS.

Gamme Cisco ASA

Source de l’image : Gamme Cisco ASA

10. Cisco IOx

L’environnement applicatif Cisco® IOx combine l’exécution d’applications IoT dans le brouillard, une connectivité sécurisée avec le logiciel Cisco IOS® et des services puissants pour une intégration rapide et fiable avec les capteurs de l’Internet des objets (IoT) et le nuage. En apportant la capacité d’exécution d’applications à la source des données IoT, les clients surmontent les difficultés liées aux volumes élevés de données et à la nécessité d’une réactivité du système automatisée en temps quasi réel. Cisco IOx offre une gestion et un hébergement cohérents pour tous les produits d’infrastructure réseau, y compris les routeurs, les commutateurs et les modules de calcul Cisco. Cisco IOx permet aux développeurs d’applications de travailler dans l’environnement familier des applications Linux avec leur choix de langages et de modèles de programmation avec des outils de développement open-source familiers.2

Cisco IOx peut être activé sur les plateformes suivantes :

  • Cisco 800 Series Industrial Integrated Services Routers
  • Cisco Industrial Ethernet 4000 family of switches
  • Compute Module for Cisco 1000 Series Connected Grid Routers
  • Cisco IR510 WPAN Industrial Router

En termes d’architecture matérielle, à titre d’exemples, les routeurs matériels IR829 et IR809 utilisent le même processeur Intel Rangeley double coeur, avec 2 Go de mémoire DDR3, 8 Mo de mémoire SPI Bootflash et 8 Go (4 Go utilisables) de mémoire flash eMMC.3

L’hyperviseur, fourni par LynxWorks, fonctionne sur le matériel baremetal sur lequel l’IOS et un OS invité (par exemple Linux) fonctionnent comme deux machines virtuelles (VM) séparées.

L’hyperviseur présente le matériel sous-jacent aux machines virtuelles (IOS et OS invité) comme un sous-ensemble du matériel physique réel – ce qui permet la virtualisation imbriquée (Netsed virtualization). La configuration de l’hyperviseur permet de déterminer quels périphériques doivent être affectés à quelle VM. Les VM accèdent à une unité centrale virtuelle, à des zones de mémoire préconfigurées, à un stockage sur disque flash prédivisé et à d’autres périphériques matériels. LynxSecure Separation Kernel v. 5.1 a été sélectionné comme hyperviseur.

Chaque périphérique PCI peut être détenu exclusivement par une VM dans l’architecture de l’hyperviseur. Toutefois, l’IOS et le système d’exploitation invité doivent accéder à certains périphériques partagés, par exemple la mémoire flash eMMC. La solution est un serveur de périphériques virtuels (VDS), qui est une VM distincte possédant des périphériques partagés. L’IOS et le système d’exploitation invité accèdent aux dispositifs virtuels émulés dans l’hyperviseur. L’hyperviseur et le VDS coordonnent ensuite l’accès aux dispositifs partagés. Le VDS fournit également des canaux de communication entre les VM, en utilisant des interfaces Ethernet émulées.

L’IOS agit comme une passerelle vers les ressources réseau pour la partition Linux, en utilisant l’adresse IP et une connexion de commutateur virtuel fournie à l’hyperviseur. IOS et Linux fonctionnent chacun comme un système d’exploitation invité de l’hyperviseur.

Le chemin réseau de IOXVM à IOS est disponible via une liaison Ethernet émulée entre eux. Le protocole IPv4 ou IPv6 peut être exécuté sur la liaison Ethernet.

L’IOXVM exécute le CAF et d’autres éléments de l’infrastructure IOx sur le Linux hôte et héberge toutes les applications LXC.

On imagine donc que des machines virtuelles Qemu/KVM ou des containers Docker puissent être intégrés au plus proche des clients dans le matériel réseau.

Vous pouvez commencer avec Cisco IOx à partir de la page “What is IOx?”

11. Sources du document