IOS de Cisco

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar
Familia de sistemas operativos de red por Cisco

El sistema operativo de interconexión de redes (IOS) es una familia de sistemas operativos de red patentados que se utilizan en varios modelos de enrutadores y conmutadores de red fabricados por Cisco Systems. El sistema es un paquete de funciones de enrutamiento, conmutación, interconexión de redes y telecomunicaciones integrado en un sistema operativo multitarea. Aunque la base de código de IOS incluye un kernel multitarea cooperativo, la mayoría de las funciones de IOS se han transferido a otros kernels, como Linux y QNX, para su uso en productos de Cisco.

No todos los productos de red de Cisco ejecutan IOS. Las excepciones incluyen algunos conmutadores Cisco Catalyst, que ejecutan IOS XE, y enrutadores Cisco ASR, que ejecutan IOS XE o IOS XR; ambos son sistemas operativos basados en Linux. Para entornos de centros de datos, los switches Cisco Nexus (Ethernet) y los switches Cisco MDS (Fibre Channel) ejecutan Cisco NX-OS, también un sistema operativo basado en Linux.

Historia

El sistema operativo de red IOS se creó a partir del código escrito por William Yeager en la Universidad de Stanford, que se desarrolló en la década de 1980 para enrutadores con 256 kB de memoria y poca potencia de procesamiento de CPU. A través de extensiones modulares, IOS se ha adaptado para aumentar las capacidades del hardware y los nuevos protocolos de red. Cuando se desarrolló IOS, Cisco Systems' La principal línea de productos eran los enrutadores. La empresa adquirió una serie de empresas jóvenes que se centraron en conmutadores de red, como el inventor del primer conmutador Ethernet Kalpana y, como resultado, los conmutadores Cisco inicialmente no ejecutaban IOS. Antes de IOS, la serie Cisco Catalyst ejecutaba CatOS.

Interfaz de línea de comandos

La interfaz de línea de comandos (CLI) de IOS proporciona un conjunto fijo de comandos de varias palabras. El conjunto disponible está determinado por el "modo" y el nivel de privilegio del usuario actual. "Modo de configuración global" proporciona comandos para cambiar la configuración del sistema y el "modo de configuración de la interfaz" proporciona comandos para cambiar la configuración de una interfaz específica. A todos los comandos se les asigna un nivel de privilegio, de 0 a 15, y solo pueden acceder a ellos los usuarios con el privilegio necesario. A través de la CLI se pueden definir los comandos disponibles para cada nivel de privilegio.

La mayoría de las compilaciones de IOS incluyen un intérprete Tcl. Con la función de administrador de eventos integrada, se puede programar el intérprete para que reaccione ante eventos dentro del entorno de red, como fallas en la interfaz o temporizadores periódicos.

Los modos de comando disponibles incluyen:

  • Modo de usuario EXEC
  • EXCE prerrogado Modo
  • Modo de configuración global
  • ROM Monitor Mode
  • Modo de configuración

Y más de 100 modos y submodos de configuración.

Arquitectura

Cisco IOS tiene una arquitectura monolítica, debido a los recursos de hardware limitados de los enrutadores y conmutadores en la década de 1980. Esto significa que todos los procesos tienen acceso directo al hardware para conservar el tiempo de procesamiento de la CPU. No hay protección de memoria entre los procesos y IOS tiene un programador de ejecución completa, lo que significa que el núcleo no se adelanta a un proceso en ejecución. En su lugar, el proceso debe realizar una llamada al kernel antes de que otros procesos tengan la oportunidad de ejecutarse. IOS considera cada proceso como un único subproceso y le asigna un valor de prioridad, de modo que los procesos de alta prioridad se ejecutan en la CPU antes que los procesos de baja prioridad en cola, pero los procesos de alta prioridad no pueden interrumpir la ejecución de los procesos de baja prioridad.

El kernel monolítico de Cisco IOS no implementa protección de memoria para los datos de diferentes procesos. Toda la memoria física se asigna a un espacio de direcciones virtuales. El kernel de Cisco IOS no realiza ninguna paginación ni intercambio de memoria. Por lo tanto, la memoria direccionable se limita a la memoria física del dispositivo de red en el que está instalado el sistema operativo. Sin embargo, IOS admite la creación de alias de contenidos de memoria virtual duplicados en la misma memoria física. Cisco implementó esta arquitectura para garantizar el rendimiento del sistema y minimizar los gastos generales operativos del sistema operativo.

La desventaja de la arquitectura IOS es que aumenta la complejidad del sistema operativo, la corrupción de datos es posible ya que un proceso puede escribir sobre los datos de otro, y un proceso puede desestabilizar todo el sistema operativo o incluso causar un software- choque forzado. En el caso de un bloqueo de IOS, el sistema operativo se reinicia automáticamente y vuelve a cargar la configuración guardada.

Enrutamiento

En todas las versiones de Cisco IOS, el enrutamiento y el reenvío (conmutación) de paquetes son funciones distintas. El enrutamiento y otros protocolos se ejecutan como procesos de Cisco IOS y contribuyen a la base de información de enrutamiento (RIB). Esto se procesa para generar la tabla de reenvío de IP final (FIB, Base de información de reenvío), que es utilizada por la función de reenvío del enrutador. En las plataformas de enrutador con reenvío solo de software (p. ej., Cisco 7200), la mayor parte del manejo del tráfico, incluido el filtrado y el reenvío de la lista de control de acceso, se realiza en el nivel de interrupción mediante Cisco Express Forwarding (CEF) o dCEF (CEF distribuido). Esto significa que IOS no tiene que hacer un cambio de contexto de proceso para reenviar un paquete. Las funciones de enrutamiento como OSPF o BGP se ejecutan a nivel de proceso. En los enrutadores con reenvío basado en hardware, como la serie Cisco 12000, el IOS calcula la FIB en el software y la carga en el hardware de reenvío (como un ASIC o un procesador de red), que realiza la función real de reenvío de paquetes.

Bloque descriptor de interfaz

Un bloque descriptor de interfaz, o simplemente IDB, es una parte de la memoria o la estructura de datos internos de Cisco IOS que contiene información como la dirección IP, el estado de la interfaz y las estadísticas de paquetes para los datos de red. El software IOS de Cisco mantiene un IDB para cada interfaz de hardware en un conmutador o enrutador de Cisco en particular y un IDB para cada subinterfaz. La cantidad de IDB presentes en un sistema varía según el tipo de plataforma de hardware de Cisco.

Se hará referencia a las interfaces físicas y lógicas del conmutador con nombres de descripción de puerto ampliados o abreviados. Esto, combinado con la numeración de ranuras, módulos e interfaces, crea una referencia única a esa interfaz.

Identificadores de interfaz
AmpliaciónAbreviatura
Doscientos GigabitEthernetTH
CentradoGigabitEthernetHu
CuarentaGigabitEthernetFo
VeintiFiveGigETwe
FiveGigabitEthernetFi
TenGigabitEthernetTe
TwoGigabit EthernetTw
Gigabit EthernetGi
FastEthernetFa
Canal de puertoPo
AppGigabitEthernetAp

Paquetes y conjuntos de funciones

IOS se envía como un archivo único que se ha compilado para dispositivos de red específicos de Cisco. Por lo tanto, cada imagen de IOS incluye un conjunto de características que determinan los comandos y las características de la interfaz de línea de comandos (CLI) que están disponibles en diferentes dispositivos de Cisco. Por lo tanto, la actualización a otro conjunto de funciones implica la instalación de una nueva imagen de IOS en el dispositivo de red y la recarga del sistema operativo IOS. La información sobre la versión de IOS y el conjunto de funciones que se ejecutan en un dispositivo Cisco se puede obtener con el comando mostrar versión.

La mayoría de los productos de Cisco que ejecutan IOS también tienen uno o más "conjuntos de funciones" o 'paquetes', generalmente ocho paquetes para enrutadores Cisco y cinco paquetes para conmutadores de red Cisco. Por ejemplo, las versiones de Cisco IOS destinadas para su uso en switches Catalyst están disponibles como "estándar" versiones (que solo ofrecen enrutamiento IP básico), "mejoradas" versiones, que brindan soporte completo de enrutamiento IPv4 y "servicios IP avanzados" versiones, que proporcionan las funciones mejoradas, así como la compatibilidad con IPv6.

A partir de las series 1900, 2900 y 3900 de enrutadores ISR, Cisco revisó el modelo de licencias de IOS. Para simplificar el proceso de ampliar el conjunto de funciones y reducir la necesidad de recargar el sistema operativo de la red, Cisco introdujo imágenes IOS universales, que incluyen todas las funciones disponibles para un dispositivo y los clientes pueden desbloquear ciertas funciones comprando una licencia de software adicional. El conjunto de características exacto requerido para una función en particular se puede determinar utilizando Cisco Feature Navigator. Los enrutadores vienen con IP Base instalado, y se pueden instalar licencias de paquetes de funciones adicionales como adiciones adicionales para expandir el conjunto de funciones del dispositivo. Los paquetes de características disponibles son:

  • Datos añade características como BFD, IP SLAs, IPX, L2TPv3, IP móvil, MPLS, SCTP.
  • Seguridad añade características como VPN, Firewall, IP SLAs, NAC.
  • Comms unificados añade características como CallManager Express, Gatekeeper, H.323, IP SLAs, MGCP, SIP, VoIP, CUBE(SBC).

Las imágenes de IOS no se pueden actualizar con correcciones de errores de software. Para parchear una vulnerabilidad en IOS, se debe cargar un archivo binario con todo el sistema operativo.

Versión

Cisco IOS se versiona usando tres números y algunas letras, en la forma general a.b(c.d)e, donde:

  • a es el número de versión principal.
  • b es el número de versión menor.
  • c es el número de liberación, que comienza a uno y aumenta como nuevas versiones de la misma manera a. b El tren es liberado. "Train" es Cisco-speak para "un vehículo para entregar el software Cisco a un conjunto específico de plataformas y características."
  • d (omitted from general releases) es el número de compilación provisional.
  • e (cero, una o dos letras) es el identificador de trenes de liberación de software, como ninguna (que designa la línea principal, ver abajo), T (para la tecnología), E (para Enterprise), S (para el proveedor de servicios), XA como un tren de funcionalidad especial, XB como un tren de funcionalidad especial diferente, etc.

Reconstrucciones: a menudo, una reconstrucción se compila para solucionar un único problema o vulnerabilidad específica para una versión determinada de IOS. Por ejemplo, 12.1(8)E14 es una reconstrucción, el 14 denota la 14.ª reconstrucción de 12.1(8)E. Las reconstrucciones se producen para reparar rápidamente un defecto o para satisfacer a los clientes que no desean actualizar a una revisión importante posterior porque pueden estar ejecutando infraestructura crítica en sus dispositivos y, por lo tanto, prefieren minimizar el cambio y el riesgo.

Lanzamientos provisionales: generalmente se producen semanalmente y forman un resumen del esfuerzo de desarrollo actual. El sitio web de avisos de Cisco puede enumerar más de una medida provisional posible para solucionar un problema asociado (la razón de esto es desconocida para el público en general).

Versiones de mantenimiento: versiones rigurosamente probadas que están disponibles e incluyen mejoras y correcciones de errores. Cisco recomienda actualizar a las versiones de mantenimiento siempre que sea posible, sobre las versiones provisionales y de reconstrucción.

Trenes

Cisco dice: "Un tren es un vehículo para entregar el software de Cisco a un conjunto específico de plataformas y características".

Hasta 12.4

Antes de la versión 15 de Cisco IOS, las versiones se dividían en varios trenes, cada uno con un conjunto diferente de funciones. Los trenes se asignan más o menos a distintos mercados o grupos de clientes a los que apunta Cisco.

  • El mainline El tren está destinado a ser la liberación más estable que la empresa puede ofrecer, y su conjunto de características nunca se expande durante su vida. Las actualizaciones se publican sólo para abordar errores en el producto. El tren tecnológico anterior se convierte en la fuente del tren principal actual, por ejemplo, el tren 12.1T se convierte en la base para la línea principal 12.2. Por lo tanto, para determinar las características disponibles en una versión en línea principal particular, consulte la versión anterior del tren T.
  • El T – Tren tecnológico, consigue nuevas características y correcciones de errores a lo largo de su vida, y por lo tanto es potencialmente menos estable que la línea principal. (En versiones anteriores a Cisco IOS Release 12.0, el P tren servido como el tren tecnológico.) Cisco no recomienda el uso de T train en entornos de producción a menos que haya urgencia para implementar una nueva característica de T train.
  • El S – Service Provider train, funciona sólo en los productos básicos de router de la empresa y está muy personalizado para clientes de Service Provider.
  • El E – Tren empresarial, se adapta para su implementación en entornos empresariales.
  • El B – tren de banda ancha, soporta características de banda ancha basadas en Internet.
  • El X* (XA, XB, etc.) – Tren especial de lanzamiento, contiene versiones únicas diseñadas para fijar un determinado error o proporcionar una nueva característica. Estos se fusionan con uno de los trenes anteriores.

Había otros trenes de vez en cuando, diseñados para necesidades específicas; por ejemplo, el tren 12.0AA contenía un nuevo código requerido para el producto AS5800 de Cisco.

Desde 15.0

A partir de la versión 15 de Cisco IOS, solo hay un tren, el tren M/T. Este tren incluye versiones de mantenimiento extendidas y versiones de mantenimiento estándar. Las versiones M son versiones de mantenimiento extendidas y Cisco proporcionará correcciones de errores durante 44 meses. Las versiones T son versiones de mantenimiento estándar y Cisco solo proporcionará correcciones de errores durante 18 meses.

Seguridad y vulnerabilidades

Debido a que IOS necesita conocer la contraseña de texto claro para ciertos usos (p. ej., autenticación CHAP), las contraseñas ingresadas en la CLI de manera predeterminada están encriptadas débilmente como 'Tipo 7' texto cifrado, como "Router(config)#username jdoe password 7 0832585B1910010713181F". Esto está diseñado para evitar el "hombro de navegación" ataca al ver las configuraciones del enrutador y no es seguro: se descifran fácilmente con un software llamado "getpass" disponible desde 1995, o "ios7crypt", una variante moderna, aunque las contraseñas pueden ser decodificadas por el enrutador usando el "llavero" e ingresando la contraseña de tipo 7 como la clave, y luego emitiendo una "mostrar clave" dominio; el ejemplo anterior se descifra a "stupidpass". Sin embargo, el programa no descifrará 'Tipo 5' contraseñas o contraseñas configuradas con el comando enable secret, que utiliza hashes MD5 salados.

Cisco recomienda que todos los dispositivos Cisco IOS implementen el modelo de seguridad de autenticación, autorización y contabilidad (AAA). AAA puede usar bases de datos locales, RADIUS y TACACS+. Sin embargo, aún se requiere una cuenta local para situaciones de emergencia.

En la conferencia Black Hat Briefings de julio de 2005, Michael Lynn, que trabajaba para Internet Security Systems en ese momento, presentó información sobre una vulnerabilidad en IOS. Cisco ya había emitido un parche, pero pidió que no se revelara la falla. Cisco presentó una demanda, pero llegó a un acuerdo después de que se emitió una orden judicial para evitar más divulgaciones.

Tren IOS XR

Para los productos de Cisco que requerían una disponibilidad muy alta, como Cisco CRS-1, las limitaciones de un kernel monolítico no eran aceptables. Además, los sistemas operativos de enrutadores de la competencia que surgieron entre 10 y 20 años después de IOS, como el sistema operativo Junos de Juniper, se diseñaron para no tener estas limitaciones. La respuesta de Cisco fue desarrollar un árbol de Cisco IOS que ofreciera modularidad y protección de memoria entre procesos, subprocesos livianos, programación preventiva y la capacidad de reiniciar procesos fallidos de manera independiente. El tren de desarrollo de IOS XR utilizó inicialmente el microkernel del sistema operativo en tiempo real (QNX) y una gran parte del código fuente de IOS se reescribió para aprovechar las características que ofrece el kernel. En 2005, Cisco introdujo el sistema operativo de red Cisco IOS XR en la serie 12000 de enrutadores de red, extendiendo la arquitectura microkernel de los enrutadores CRS-1 a los enrutadores centrales ampliamente implementados de Cisco. En 2006, Cisco introdujo la modularidad del software IOS, que amplía la arquitectura del micronúcleo al entorno IOS, al mismo tiempo que proporciona las capacidades de actualización del software.

Contenido relacionado

Cono ciego de antena

En telecomunicaciones, el cono ciego de antena es el volumen del espacio, generalmente aproximadamente cónico con su vértice en la antena, que no puede ser...

Telecomunicaciones en Sri Lanka

Las telecomunicaciones en Sri Lanka comenzaron en 1858 después de que se iniciara el primer circuito telegráfico entre Colombo y Galle. El sector sigue...

Transporte en Grecia

El transporte en Grecia ha experimentado cambios significativos en las últimas dos décadas, modernizando enormemente la infraestructura y el transporte del...
Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save