26 de mayo de 2018

¿IOS o IOS XE?

Hace ya algunos años apareció en el universo Cisco IOS XE, y en los últimos años hemos presenciado como, de modo progresivo, más dispositivos Cisco han implementado este sistema operativo. 
El primer dispositivo en implementar IOS XE ha sido el router ASR-1000 en el año 2008 (hace ya 10 años), luego fueron los switches Catalyst 4500-E en octubre de 2010. Hoy encontramos este sistema operativo en la nueva línea de switches Catalyst 9000 que aparece como destinada a reemplazar a los Catalyst 2960 y 3500 que utilizan el IOS tradicional.

¿Qué es IOS XE?
IOS XE ha sido presentado por Cisco como la evolución de IOS para soportar su nueva generación de plataformas de hardware. La idea ha sido un sistema operativo más moderno, adaptado al hardware actual, con capacidades de virtualización, listo para SDN y con una estrategia de arquitectura diferente a la de su predecesor pero con la misma interfaz de gestión de IOS.
A la pregunta de si se trata de un sistema operativo diferente, la respuesta de Cisco es: "absolutamente no".
IOS XE es un sistema operativo de tipo modular que opera sobre un kernel Linux apto para operar en entornos de CPU multiprocesador con una lógica de virtualización en base a contenedores.
De esta manera puede responder eficientemente a los requerimientos de mayor seguridad y alta disponibilidad de las redes actuales. En esta nueva arquitectura IOS corre como un daemon (que recibe el nombre de IOSd) sobre el kernel Linux. Esto permite que en hardware multiprocesador cada proceso pueda utilizar un procesador diferente balanceando de esta manera la carga de procesamiento.
Dada su arquitectura distribuida, algunas de las tareas propias del sistema operativo han sido desplazadas fuera del proceso de IOS que ahora opera en un contenedor. Es decir, IOS es ahora uno de las varios  procesos que corren en el dispositivo. Esto permite contar con redundancia de ISO, alta disponibilidad, NonStop Forwarding (NSF) e In Service Software Upgrade (ISSU).
Su arquitectura permite además separar el procesamiento del plano de control de el del plano de datos. Para esto se ha introducido la interfaz estándar de FFM (Forwarding and Feature Manager) para acceder a FED (Forwarding Engine Driver). FFM suministra un conjunto de APIs para acceder a los procesos del plano de control.
Los drivers del hardware (platform dependent) han sido desplazados fuera del código de IOS que ahora es completamente independiente de la plataforma, de modo que el proceso de IOS ahora está claramente orientado a la operación independiente del hardware lo que conlleva un modelo más eficiente de suministro de software.
Incluye además interfaces programables NetConf (RFC 6241), OpenConfig, implementa YANG push telemetry y YANG data model de IETF, y Guest Shell Linx Containers.
Esta arquitectura está diseñada para poder incorporar nuevas aplicaciones. Estas aplicaciones pueden estar integradas en IOS mismo o correr a la par del mismo de modo independiente y con poca o ninguna interacción. De esta manera las aplicaciones pueden ser actualizadas o reiniciadas independientemente. Si la aplicación requiere interactuar con IOS puede hacerlo a través de librerías que permiten proyectar la información y servicios de IOS a aplicaciones externas que se gestionan de modo independiente.

¿Qué cambios introduce en la línea de comandos?
La línea de comandos de IOS XE presenta el mismo look and feel que la del IOS tradicional al mismo tiempo que incorpora nuevas funcionalidades. 
Las funciones que se agregan corren como procesos independientes.
De esta manera la CLI de IOS XE es esencialmente igual a la CLI de IOS con sólo algunas pequeñas diferencias principalmente debidas a la diferencia del hardware sobre el que opera. Estas diferencias se verifican en comandos como show processor o show memory.
De esta manera la implementación de IOS XE no requiere reentrenamiento. Quien hoy gestiona IOS puede gestionar IOS XE.
Esto es así porque IOS XE corre el mismo IOS solo que ahora en un contenedor, corriendo como un proceso dentro de IOS XE (esto es IOSd). De esta manera, IOS XE contempla todos los features soportados en IOS.
Si bien inicialmente la definición del número de versión de IOS XE era diferente de la de IOS, esto se resolvió a partir de la versión 16, emparejando los números de versión y generando un único conjunto de documentación de referencia para ambos sistemas operativos.
Las versiones actuales de IOS XE no sólo se identifican por su número de versión y release, sino también por un nombre tomado de las montañas más altas de diferentes continentes. Así los últimos release disponibles de IOS XE son:
  • IOS XE Denali 16.3.1
  • IOS XE Everest 16.6.1
  • IOS XE Fuji 16.8.1
El último release disponibles de IOS es IOS 15.5M&T.

¿Qué productos implementan IOS XE?

Swtiches Catalyst:
  • 3650
  • 3850
  • 9300
  • 9400
  • 9500
  • 4500-E
Routers de servicios integrados:
  • 1000
  • 4221
  • 4321
  • 4331
  • 4351
  • 4431
  • 4451
Routers de borde ASR:
  • 900
  • 1001-X
  • 1002-X
  • 1001-HX
  • 1002-HX
  • 1004
  • 1006
  • 1006-X
  • 1009-X
  • 1013
  • NCS 4200
Como dijo Cisco hace ya varios años, las plataformas de nueva generación de Cisco irán migrando todas hacia IOS XE progresivamente.

¿Es posible implementar IOS XE en otras plataformas como switches Catalyst 3560 o routers Cisco 3900?
No.
IOS XE se introduce progresivamente en las nuevas plataformas de hardware, y no soporta plataformas de hardware anteriores. De la misma forma, las plataformas que implementan IOS XE no están soportadas en IOS.


Las abreviaturas y siglas utilizadas en este post puede encontrarlas desarrolladas en
que está disponible en la Librería en Línea de EduBooks.


10 de mayo de 2018

Comados: show version

Un comando clave al momento de hacer inventario o revisar el hardware y software de los dispositivos es show version. Es uno de los primeros comandos que aprendemos, pero al mismo tiempo uno que no atendemos suficientemente.

Introducido ya en .IOS 9.0,  está presente en todas las plataformas.

Permite verificar la información correspondiente a hardaware y software, a lo que se suma que es el único comando que muestra el valor del registro de configuración.

Consideremos en primer lugar un ejemplo tomado como base el resultado de la ejecución en un router Cisco 3600, para luego revisarlo con mayor detalle.

Router# show version

Cisco IOS Software, 3600 Software (C3660-I-M), Version 12.3(4)T
 TAC Support: http://www.cisco.com/tac
 Copyright (c) 1986-2003 by Cisco Systems, Inc.
 Compiled Thu 18-Sep-03 15:37 by ccai

 ROM: System Bootstrap, Version 12.0(6r)T, RELEASE SOFTWARE (fc1)
 ROM: 

 C3660-1 uptime is 1 week, 3 days, 6 hours, 41 minutes
 System returned to ROM by power-on
 System image file is "flash:/c3660-i-mz.123-4.T"

 Cisco 3660 (R527x) processor (revision 10.0) with 57344K/8192K bytes of memory.
 Processor board ID JAB055180FF
 R527x CPU at 225Mhz, Implementation 40, Rev 10.0, 2048KB L2 Cache


 3660 Chassis type: ENTERPRISE
 2 FastEthernet interfaces
 4 Serial interfaces
 DRAM configuration is 64 bits wide with parity disabled.
 125K bytes of NVRAM.
 16384K bytes of processor board System flash (Read/Write)

 Flash card inserted. Reading filesystem...done.
 20480K bytes of processor board PCMCIA Slot0 flash (Read/Write)

 Configuration register is 0x2102


Lectura del comando

El comando provee específicamente esta información:

Información acerca del software:
  • Versión de la imagen principal de IOS.
  • Capacidades de la imagen principal de IOS.
  • Ubicación y nombre del archivo de inicio en la ROM.
  • Versión de la imagen de bootflash (dependiendo de la plataforma).
Información específica del dispositivo
  • Nombre del dispositivo.
  • Tiempo de operación desde el último arranque.
  • Motivo del reinicio del sistema.
  • Configuración del registro de configuración.
  • Configuración del registro de configuración luego del próximo reinicio (dependiendo de la plataforma).
Información referida al hardware:
  • Tipo de plataforma.
  • Tipo de procesador.
  • Versión de hardware del procesador.
  • Cantidad de memoria instalada en el procesador principal.
  • Cantidad de memoria I/O instalada.
  • Cantidad de memoria flash instalada de diferentes tipos (dependiendo de la plataforma).
  • ID de la placa del procesador.
El formato básico del resultado de la ejecución del comando (coloco entre corchetes las variables):

Cisco IOS Software, [plataforma] Software ([ID de imagen]), Version [versión de software][tipo de software] 

 Technical Support: http://www.cisco.com/techsupport
 Copyright (c) [fecha] by Cisco Systems, Inc.
 Compiled [día] [fecha] [hora] by [ID del compilador]

 ROM: System Bootstrap, Version [versión de software][tipo de software]
 BOOTLDR: [plataforma] Software (image-id), Version [versión de software] [tipo de software] 

[nombre del dispositivo] uptime is [#] weeks, [#] days, [#] hours, [#] minutes
 System returned to ROM by reload at [hora] [día] [fecha]
 System image file is "[ubicación]/[nombre de la imagen]"
 Last reload reason: [motivo del reinicio]

 Cisco [tipo de plataforma] processor (revision [ID de revisión del procesador]) with [memoria DRAM libre] K/[memoria de paquetes] K bytes of memory.
 Processor board ID [identificador] [tipo de CPU] CPU at [velocidad] Mhz, Implementation [número], Rev [número de revisión]
[tamaño del caché de memoria] KB [nivel] Cache

Revisemos eso sobre nuestro ejemplo:
Router# show version

 Cisco IOS Software, 3600 Software (C3660-I-M), Version 12.3(4)T

  • Esta información corresponde a un router Cisco 3600.
  • Implementa una imagen de IOS versión 12.3(4)T.

 TAC Support: http://www.cisco.com/tac
 Copyright (c) 1986-2003 by Cisco Systems, Inc.
 Compiled Thu 18-Sep-03 15:37 by ccai

  • Esta imagen de IOS ha sido compilada el 18 de septiembre de 2003 por "ccai".

 ROM: System Bootstrap, Version 12.0(6r)T, RELEASE SOFTWARE (fc1)
 ROM: 

  • Este equipo cuenta con un bootstrap versión 12.0(6f)T.

 C3660-1 uptime is 1 week, 3 days, 6 hours, 41 minutes

  • El hostname del equipo es C3660-1.
  • Está encendido desde hace 1 semana, 3 días, 6 horas y 41 minutos.

 System returned to ROM by power-on

  • El sistema fue encendido manualmente.

 System image file is "flash:/c3660-i-mz.123-4.T"

  • La imagen de IOS que se está utilizando se leyó de la memoria flash.
  • El nombre del archivo de la imagen de sistema operativo es "c3660-i-mz.123-4.T".

 Cisco 3660 (R527x) processor (revision 10.0) with 57344K/8192K bytes of memory.

  • La plataforma de hardware de este router es la R527x.
  • Con un procesador revisión 10.0.
  • Con 57 MB (aproximadamente) de memoria DRAM libre y aproximadamente 8 MB de memoria RAM ocupada por paquetes.

 Processor board ID JAB055180FF

  • El identificador del procesador es JAB055180FF.

 R527x CPU at 225Mhz, Implementation 40, Rev 10.0, 2048KB L2 Cache

    • La CPU R527x está operando a 227 Mhz.
    • Su número de revisión es 10.0.
    • Cuenta con un caché de memoria layer 2 de 2 MB

 3660 Chassis type: ENTERPRISE

  • Se trata de un chasis 3660.

 2 FastEthernet interfaces

  • IOS detectó 2 puertos FastEthernet.

 4 Serial interfaces

  • Además detectó 4 puertos seriales.

 DRAM configuration is 64 bits wide with parity disabled.

  • Cuenta con una memoria DRAM de 64 bits.

 125K bytes of NVRAM.

  • Un total de 125 KB de memoria NVRAM

 16384K bytes of processor board System flash (Read/Write)

  • Y 16 MB de memoria flash.


 Flash card inserted. Reading filesystem...done.
 20480K bytes of processor board PCMCIA Slot0 flash (Read/Write)

  • Adicionalmente este equipo cuenta con una flash card de 20 MB en el slot0.

 Configuration register is 0x2102
  • El registro de configuración actual es 0x2102.



Las abreviaturas y siglas utilizadas en este post puede encontrarlas desarrolladas en
que está disponible en la Librería en Línea de EduBooks.