En Une :

Cisco IOS Internetwork Operating System

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.

Bien que le code de base comprenne un noyau multitâche coopératif, 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.

1. Versions Cisco IOS

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'indentifiant 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.

1.1. Trains Cisco IOS

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

1.1.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.)

Source : https://www.ciscopress.com/

1.1.2. Depuis 15.0

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

Source : https://www.ciscopress.com/

1.2. Packaging / feature sets

Cisco Feature Navigator : http://cfn.cloudapps.cisco.com/ITDIT/CFN/jsp/index.jsp

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".

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).

IOS Software Packaging (Routers and Switches)

IOS Software Packaging (ISR G2 Routers)

2. Cisco IOS

L'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 comme processus IOS Cisco 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 dispose d'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.

Type noyau Mémoire
IOS Monolithique, non-préemptif mémoire partagée sans protection entre processus, pas de swapping ou paging, plus de performance moins de sécurité

Plateformes IOS :

  • Routeurs ISR G1 et ISR G2 : Cisco 800, 1800, 1900, 2800, 3200, 3800, 2900, 3900, 3600 et 3700.
  • Commutateurs Cisco Catalyst 2970, 3560 3750, 4500, 4900 et 6500.
  • IOSv

3. IOS XR

Pour les produits Cisco nécessitant de la haute disponibilité comme le Cisco CRS-1, ces limites 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.

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 microkernel tiers en temps réel (a 3rd party real-time operating system microkernel) QNX. Un bonne partie du code de l'IOS a été réécrite pour profiter du nouveau noyau. L'avantage d'un micronoyau est qu'il élimine tout processus qui n'est pas absolument nécessaire du noyau et qu'il les exécute 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érentes, ils sont très proches quant à leur usage.

Type noyau Mémoire
IOS-XR third-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.

4. IOS XE

L'IOS XE utilise des composants d'architecture qui l'améliore et le différencie par rapport à un noyau IOS. Les CLI (Command Line Interface) et les procédures de configuration des deux sont très proches de telle sorte que le personnel puisse passer de l'un à l'autre facilement.

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 interfaces de programmation permettent à des applications de fonctionner sur le même matériel. 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 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

  • ASR1000
  • CSR1000v
  • Cisco ASR 900 Series
  • Catalyst 4000 Series Supervisor 7

https://developer.cisco.com/site/ios-xe/

5. Cisco NX-OS (NX-OSv)

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 basé sur le système d'exploitation industriel Cisco Storage Area Network Operating System (SAN-OS) Software.

Les caractéristiques de Cisco NX-OS sont :

  • Unified data center operating system
  • Robust and rich feature set with a variety of Cisco innovations
  • Flexibility and scalability
  • Modularity
  • Virtualization
  • Resiliency
  • IPv4 and IPv6 IP routing and multicast features
  • Comprehensive security, availability, serviceability, and management features

Plateformes IOS NX :

  • Cisco Nexus 3000,
  • Cisco Nexus 5000,
  • Cisco Nexus 7000
  • Cisco 9k series routers.

6. ASA OS

La gamme ASA est celle des pare-feu chez Cisco.

Author image
Francois Goffinet est formateur Cisco Systems depuis 2002. Passionné des technologies des réseaux, de virtualisation et en nuage, Web et de cybersécurité souvent en Open Source ou Unix-Like, devops.