Cisco IOS
Cisco IOS (Internetwork Operating System) — общее название для семейства сетевых операционных систем, используемых на оборудовании компании Cisco Systems. Это семейство включает как классическую IOS с монолитной архитектурой, разработанную Cisco самостоятельно, так и её современные версии, построенные на базе Unix-подобных ядер[2].
Классическая IOS является полностью проприетарной разработкой с монолитным ядром, не основанной на Unix[2], где все компоненты работают в едином адресном пространстве[3]. В отличие от неё, современные операционные системы Cisco имеют модульную архитектуру. Cisco IOS XE основана на ядре Linux, в которой классическая IOS запускается как отдельный процесс (демон IOSd)[2], что позволяет сохранить привычный интерфейс, добавив многозадачность и защиту памяти[4]. Cisco IOS XR — система для оборудования операторского класса, использующая ядро QNX[2]. Cisco NX-OS, предназначенная для коммутаторов центров обработки данных, также базируется на Linux[2].
Общие сведения
| Cisco IOS | |
|---|---|
| Разработчик | Cisco Systems |
| Семейство ОС | проприетарное семейство ОС |
| Исходный код | проприетарный |
| Первый выпуск | 1986 |
| Последняя версия | |
| Частота обновления финальных версий | Нерегулярно, зависит от ветки релиза |
| Метод обновления | Копирование с сетевого сервера (TFTP, FTP, SCP), USB-накопитель |
| Менеджеры пакетов | нет |
| Поддерживаемые языки | английский |
| Поддерживаемые платформы | маршрутизаторы и коммутаторы Cisco |
| Тип ядра | монолитное |
| Интерфейс | командная строка |
| Лицензия | Проприетарная, EULA |
| Состояние | активное |
| Репозиторий исходного кода | нет |
| Следующая | Cisco IOS XE |
| Веб-сайт | cisco.com/c/en/us/produc… |
История
Зарождение и ранние годы (1980-е — 1990-е)
Программное обеспечение, ставшее основой для Cisco IOS, было создано на основе кода, разработанного Уильямом Йегером в Стэнфордском университете в 1980-х годах[[5]]. В 1986 году компания выпустила свой первый коммерческий продукт — маршрутизатор Advanced Gateway Server (AGS), который работал под управлением этой операционной системы[5][[6]]. Этот год считается фактическим годом появления первой рабочей версии будущей IOS. Изначально у программного обеспечения не было официального названия, и его называли просто «программным обеспечением для маршрутизаторов»[7]. Название Internetwork Operating System (IOS) было дано позже, чтобы отразить миссию компании по объединению разнородных сетей.
В 1990-е годы Cisco начала активно выходить на рынок коммутации. 7 декабря 1994 года компания завершила приобретение Kalpana, которая считалась изобретателем технологии коммутации Ethernet[8][[9]]. Исторически коммутаторы Cisco Catalyst работали под управлением отдельной операционной системы CatOS (разработанной на основе ОС компании Crescendo Communications, приобретённой Cisco в конце 1993 года), которая отвечала за функции коммутации (Layer 2), в то время как IOS использовалась на маршрутизаторах для маршрутизации (Layer 3)[10].
Переход к единой операционной системе был постепенным. На модульных коммутаторах, таких как Catalyst 6500, был внедрён «гибридный режим» (Hybrid Mode): основной процессор (Supervisor Engine) работал под управлением CatOS, а на отдельный модуль маршрутизации (MSFC) устанавливалась IOS[10]. Следующим шагом стало появление «нативного режима» (Native IOS), в котором IOS могла полностью управлять как функциями коммутации, так и маршрутизации, что позволило унифицировать операционную систему на всех устройствах и отказаться от CatOS[10].
Развитие и безопасность (2000-е)
В 2000-е годы развитие Cisco IOS было сосредоточено на повышении стабильности и внедрении комплексных функций безопасности. 29 августа 2005 года Cisco представила технологию IOS Software Modularity для коммутаторов Catalyst 6500, работавших под управлением IOS ветки 12.2SX[11]. Эта инициатива была попыткой внедрить модульность в монолитную архитектуру: отдельные подсистемы, такие как протоколы маршрутизации, запускались в защищённых процессах и могли быть перезапущены без перезагрузки всего устройства. Однако эта технология была переходным этапом, и в дальнейшем Cisco сделала ставку на изначально модульную архитектуру IOS XE[12].
В 2006 году развитие функций безопасности было сконцентрировано в технологической ветке 12.4T, в которой появились улучшения систем предотвращения вторжений (IPS) и SSL VPN[13]. Вместе с тем, в этот период был обнаружен ряд серьёзных уязвимостей. В июле 2006 года была раскрыта критическая уязвимость в утилите Cisco Router Web Setup (CRWS), позволявшая удалённо выполнять команды с наивысшими привилегиями без аутентификации (CVE-2006-3595)[14]. В 2007 году была выявлена уязвимость в модуле Network Analysis Module (NAM), допускавшая удалённое выполнение команд через SNMP (CVE-2007-1257)[15].
Ключевым событием десятилетия стало появление в 2008 году операционной системы Cisco IOS XE вместе с маршрутизаторами серии ASR 1000. В отличие от монолитной IOS, IOS XE была построена на ядре Linux, где классическая IOS запускалась как отдельный процесс (демон IOSd)[16]. Такая архитектура обеспечила изоляцию процессов и защиту памяти, что значительно повысило отказоустойчивость и безопасность. Несмотря на это, в 2008 году в IOS была обнаружена уязвимость в реализации MPLS, позволявшая вызвать отказ в обслуживании[17].
К концу 2000-х годов Cisco сместила фокус на развитие более гибких и масштабируемых технологий безопасности. В 2009 году основной парадигмой защиты стал межсетевой экран на основе политик зон (Zone-Based Policy Firewall, ZBF), который пришёл на смену классическому CBAC. Новые функции безопасности разрабатывались уже для ZBF, а на платформах с IOS XE, таких как ASR 1000, он стал единственным поддерживаемым межсетевым экраном[18]. В том же году началось активное внедрение технологии GET VPN (Group Encrypted Transport VPN), которая позволяла шифровать трафик в глобальных сетях без необходимости создания множества туннелей «точка-точка», что упростило масштабирование корпоративных VPN.
Эпоха IOS XE и программируемости (2010-е)
2010-е годы стали для операционных систем Cisco периодом фундаментальных архитектурных изменений, главным из которых стал переход от монолитной IOS к модульной и программируемой Cisco IOS XE. Десятилетие началось с выпуска в ноябре 2009 года версии IOS 15.0(1)M[19], которая заложила основу для новой модели релизов. В начале десятилетия компания сосредоточилась на развитии комплексных архитектур безопасности: в 2010 году получили распространение технология шифрования в глобальных сетях GET VPN[20] и архитектура Cisco TrustSec для сегментации сети на основе политик[21]. В 2011 и 2012 годах Cisco выпустила крупные пакеты обновлений, устранив десятки уязвимостей, большинство из которых могли привести к отказу в обслуживании (DoS) в таких функциях, как IPv6, NAT, ZBF и SIP[22][23].
В середине десятилетия Cisco начала активно укреплять безопасность на аппаратном и программном уровнях. Была внедрена инициатива Trustworthy Systems, направленная на обеспечение целостности устройств с помощью таких технологий, как безопасная загрузка (Secure Boot), цифровая подпись образов ПО и аппаратный модуль доверия (Trust Anchor module)[24]. Одновременно компания перешла к использованию более стойкой криптографии в рамках инициативы Next Generation Encryption (NGE), внедрив алгоритмы из набора Suite B, такие как AES-GCM, SHA-2 и криптографию на эллиптических кривых[25]. В марте 2013 года были представлены маршрутизаторы ISR-AX, поставлявшиеся с предустановленным пакетом лицензий на сервисы безопасности и оптимизации WAN, что превратило маршрутизатор в платформу для доставки приложений[26]. В марте 2015 года Cisco перешла на предсказуемый график публикации обновлений безопасности для IOS и IOS XE — дважды в год, в марте и сентябре[27][28].
Ключевым событием десятилетия стал окончательный переход на IOS XE. В 2016 году с выходом версии 16.1.1 «Denali» была представлена единая программная платформа для маршрутизаторов и коммутаторов, что унифицировало разработку[29]. В июне 2017 года были выпущены коммутаторы нового поколения Catalyst 9000, работающие под управлением архитектуры «Open IOS XE»[30]. В этой архитектуре традиционная IOS запускается как отдельный процесс (демон IOSd) поверх ядра Linux, что обеспечивает модульность, повышенную отказоустойчивость и новые возможности: программируемость через API (NETCONF, RESTCONF) и хостинг сторонних приложений в контейнерах[30][31].
В конце 2010-х годов фокус сместился на автоматизацию и новые модели лицензирования. В 2018 году в релизах IOS XE ветки «Fuji» (16.8.x, 16.9.x) активно развивалась технология автоматической настройки Zero-Touch Provisioning (ZTP)[32]. В том же году Cisco начала переход на централизованную модель лицензирования Smart Licensing, которая стала обязательной для новых версий ПО[33]. В конце года началась разработка версии 16.10.1 «Gibraltar», добавившей поддержку массовых линеек оборудования — коммутаторов Catalyst 9200 и беспроводных контроллеров Catalyst 9800[34]. В декабре 2019 года Cisco анонсировала IOS XR7 — версию ОС для оборудования операторского класса, адаптированную для облачных сред и обладающую улучшенной модульностью и поддержкой API[35][36]. В том же году была устранена критическая уязвимость (CVE-2019-12643) в REST API на ряде платформ с IOS XE.
Унификация и облачная интеграция (2020-е)
2020-е годы ознаменовались для операционных систем Cisco стратегическим сдвигом в сторону унификации программного обеспечения, облачных моделей лицензирования и углублённой интеграции с искусственным интеллектом. Этот период также был отмечен обнаружением и устранением ряда критических уязвимостей, а также планомерным завершением жизненного цикла устаревших платформ.
В 2020 году ключевым изменением в Cisco IOS XE стал выпуск версии 17.2.1r, в которой был представлен единый универсальный образ ПО для традиционных сетей и сетей SD-WAN, что упростило развёртывание[37]. В том же году с выходом версии 17.3.2 была внедрена новая модель лицензирования Smart Licensing Using Policy (SLUP), основанная на периодической отправке отчётов об использовании, а не на постоянной связи с облаком Cisco[38]. Для IOS XR год был отмечен устранением активно эксплуатируемых уязвимостей в протоколе DVMRP (CVE-2020-3566, CVE-2020-3569)[39]. Одновременно продолжался отказ от старых версий: 31 января 2020 года завершился жизненный цикл ветки IOS 15.2(M&T)[40].
В 2021 году развитие IOS XE было сфокусировано на поддержке нового оборудования, в частности, в версии 17.7.1 была добавлена поддержка маршрутизаторов ISR 1130 с Wi-Fi 6[41]. В IOS XR релиз 7.3.1 принёс улучшения для Segment Routing и поддержку оптики 400G-ZR[42]. В 2022 году в IOS XE версии 17.8 была добавлена поддержка LACP на маршрутизаторах ISR1131[43], а в сентябре был выпущен крупный пакет обновлений, устранивший 14 уязвимостей высокой степени опасности[44]. Для IOS XR была обнаружена уязвимость «нулевого дня» (CVE-2022-20821), позволявшая получить несанкционированный доступ к контейнеру Redis[45].
Ключевым событием 2023 года стало обнаружение в октябре критической уязвимости в веб-интерфейсе IOS XE (CVE-2023-20198, CVSS 10.0), которая позволяла удалённому злоумышленнику без аутентификации создавать учётные записи с максимальными привилегиями и устанавливать вредоносное ПО[46][47]. Уязвимость активно эксплуатировалась, что привело к компрометации десятков тысяч устройств по всему миру[48]. Эксплуатация этой уязвимости на необновлённых устройствах продолжалась и в последующие годы[49]. В 2024 году Cisco выпустила плановые пакеты обновлений, устранив уязвимости в LISP, IKEv1, DHCP Snooping (март)[50] и CSRF в веб-интерфейсе (сентябрь)[51].
В 2025 году стратегический фокус сместился на интеграцию ИИ, в частности, был представлен Cisco AI Assistant для упрощения управления сетями[52][53]. Однако в сентябре была раскрыта новая уязвимость «нулевого дня» в подсистеме SNMP (CVE-2025-20352), позволявшая вызвать отказ в обслуживании[54]. Параллельно Cisco продолжала развивать архитектуру SD-Access на базе модели «нулевого доверия» и укреплять аппаратную безопасность в рамках инициативы Trustworthy Systems[55].
Десятилетие также характеризуется планомерным завершением жизненного цикла популярных платформ. В октябре 2020 года было объявлено о прекращении поддержки коммутаторов Catalyst 2960-X/XR (с окончанием выпуска обновлений безопасности в октябре 2024 года)[40]. В ноябре 2022 года аналогичное объявление было сделано для маршрутизаторов серии ISR 4000 (с окончанием выпуска обновлений безопасности в ноябре 2027 года)[56].
Командная строка
Интерфейс командной строки (CLI) IOS является англоязычным[57] и предоставляет фиксированный набор многословных команд, наличие которых определяется рабочим режимом и уровнем привилегий пользователя. Режим глобальной конфигурации предназначен для изменения системных настроек, а режим конфигурации интерфейса — для управления отдельными интерфейсами. Все команды имеют свой уровень привилегий от 0 до 15, и доступны только пользователям с достаточными правами. Через интерфейс командной строки можно определить, какие команды будут разрешены для каждого уровня привилегий.
Поддержка скриптов
Tcl (унаследованный подход)
В большинстве сборок IOS встроен интерпретатор Tcl[58]. Благодаря этому, используя механизм встроенного менеджера событий (Embedded Event Manager, EEM), возможно написание скриптов (апплетов), реагирующих на различные события в сети, такие как сбой интерфейса, срабатывание таймера или появление определённого сообщения в системном журнале. Несмотря на поддержку, Tcl считается унаследованным инструментом, и для новых задач предпочтение отдаётся Python[59].
Python (современный подход)
Современные операционные системы Cisco IOS XE и IOS XR предоставляют встроенные возможности для выполнения скриптов на Python, что является стратегическим направлением для автоматизации сетевых операций. Классическая монолитная IOS не имеет встроенной поддержки Python[60].
- В Cisco IOS XE поддержка Python реализована через Guest Shell — изолированную среду на базе Linux (контейнер), работающую непосредственно на сетевом устройстве[61]. Администратор может войти в эту среду и запускать скрипты, которые взаимодействуют с основной ОС через специальные модули для выполнения команд и получения данных. Эта функция доступна на современных платформах, таких как коммутаторы Catalyst 9000 и маршрутизаторы ISR 4000/ASR 1000[62].
- В Cisco IOS XR поддержка Python является нативной и не требует отдельной гостевой среды[63]. Система позволяет напрямую запускать скрипты для автоматизации, которые могут быть нескольких типов: Exec-скрипты (запускаемые вручную), Config-скрипты (для валидации конфигурации), EEM-скрипты (запускаемые по событиям) и Process-скрипты (работающие как фоновые процессы)[64].
Режимы работы
Доступные рабочие режимы включают:[65]
- User EXEC Mode
- Privileged EXEC Mode
- Global Configuration Mode
- ROM Monitor Mode
- Setup Mode
И более 100 других режимов конфигурирования и подрежимов.
Архитектура
Cisco IOS реализует монолитную архитектуру ядра из-за ограничений аппаратных ресурсов маршрутизаторов и коммутаторов 1980-х годов. Это означает, что все процессы имеют прямой доступ к оборудованию с целью максимального использования процессорного времени. В системе отсутствует защита памяти между процессами, а планировщик работает по принципу run-to-completion (процесс завершает работу до передачи управления). Процесс не может быть прерван планировщиком: только сам процесс может передать управление ядру с помощью системного вызова. Каждому процессу присваивается приоритет, и процессы с высоким приоритетом получают доступ к процессору раньше очереди низкоприоритетных, но процессы с низким приоритетом не могут быть прерваны.
Ядро IOS не реализует защиту памяти для данных различных процессов — вся физическая память доступна в едином адресном пространстве. Paging и свопинг отсутствуют, объём используемой памяти ограничивается установленной физической памятью устройства. Такая архитектура была выбрана ради повышения производительности и минимизации накладных расходов. Недостатками такой реализации являются усложнение кода, возможность повреждения данных между процессами и даже нестабильность или аварийное завершение работы всей системы. При критическом сбое операционная система автоматически перезагружается и восстанавливает сохранённую конфигурацию.
В отличие от классической IOS, современные операционные системы, такие как Cisco IOS XE, имеют модульную архитектуру, основанную на ядре Linux. В этой архитектуре традиционная IOS запускается как отдельный процесс (демон IOSd), что позволяет сохранить привычный интерфейс командной строки, добавив при этом преимущества современных ОС: многозадачность, защиту памяти и, как следствие, более высокую отказоустойчивость[66].
Подход к управлению программным обеспечением также кардинально различается. Классическая IOS представляет собой единый монолитный образ (файл с расширением .bin), и для обновления или изменения набора функций требуется полная замена этого файла с последующей перезагрузкой устройства[66][67]. В IOS XE, напротив, используется пакетная система: операционная система состоит из набора отдельных программных подпакетов[68]. На современных устройствах по умолчанию используется режим установки (Install Mode), при котором все компоненты отслеживаются в файле packages.conf. Это позволяет устанавливать, обновлять или удалять отдельные пакеты, что упрощает управление ПО и в некоторых случаях позволяет избежать полной перезагрузки системы[69].
Маршрутизация
Во всех версиях Cisco IOS функции маршрутизации и пересылки пакетов (коммутации) реализованы раздельно. Протоколы маршрутизации и сервисы работают как процессы IOS и формируют Routing Information Base (RIB), которая затем используется для построения таблицы маршрутизации (FIB, Forwarding Information Base), применяемой функцией пересылки пакетов. На маршрутизаторах с программной пересылкой (например, Cisco 7200) большинство операций, включая фильтрацию по access-list и коммутацию, реализуется на уровне прерываний с помощью Cisco Express Forwarding (CEF) или dCEF. Это позволяет обрабатывать пакеты без переключения контекста процесса. Функции маршрутизации — например, OSPF или BGP — выполняются как отдельные процессы. В устройствах с аппаратной коммутацией (например, серия Cisco 12000) FIB строится в программном обеспечении и загружается в аппаратные компоненты (ASIC или сетевой процессор), которые отвечают за пересылку пакетов.
Interface descriptor block
Interface Descriptor Block (IDB) — это область памяти или внутренняя структура данных IOS, содержащая такие сведения, как IP-адрес, состояние интерфейса и статистика по переданным пакетам. Для каждого физического интерфейса и каждой подпорты IOS поддерживает отдельный IDB. Количество IDB в системе зависит от модели оборудования.
Физические и логические интерфейсы обозначаются сокращёнными или полными именами портов в сочетании с указанием слота, модуля и номера интерфейса. В таблице ниже приведены полные названия и общепринятые сокращения для различных типов интерфейсов[70][71], включая современные стандарты скоростей до 800 Гбит/с[72].
| Полное название | Сокращение |
|---|---|
| EightHundredGigabitEthernet | EH |
| FourHundredGigabitEthernet | F |
| TwoHundredGigabitEthernet | TH |
| HundredGigabitEthernet | Hu |
| FiftyGigE | FGE |
| FortyGigabitEthernet | Fo |
| TwentyFiveGigE | Twe |
| TenGigabitEthernet | Te |
| FiveGigabitEthernet | Fi |
| TwoGigabitEthernet | Tw |
| GigabitEthernet | Gi |
| FastEthernet | Fa |
| Ethernet | Et |
| Port-channel | Po |
| AppGigabitEthernet | Ap |
Пакеты и функциональные наборы
Программное обеспечение Cisco IOS поставляется в виде единого скомпилированного файла (образа), уникального для каждой модели оборудования. В классической IOS для обновления или изменения набора функций требуется полная замена этого файла с последующей перезагрузкой устройства[73]. Обновление производится путём копирования нового образа с сетевого сервера (по протоколам TFTP, FTP, SCP) или с USB-накопителя[74][75].
Эволюция модели лицензирования
Модель лицензирования IOS со временем претерпела значительные изменения, перейдя от отдельных образов ПО к универсальным сборкам с централизованным управлением.
Традиционная модель (до IOS 15)
Изначально для получения разного функционала Cisco выпускала различные образы операционной системы, так называемые «наборы функций» (feature sets). Например, для коммутаторов Catalyst существовали версии с базовой маршрутизацией (IP Base), полной поддержкой IPv4 (IP Services) и расширенными функциями, включая IPv6 (Advanced IP Services)[73]. Выбор образа определял доступный набор команд и возможности оборудования.
Универсальные образы и пакеты активации
С выходом маршрутизаторов ISR G2 (серий 1900, 2900, 3900) и операционной системы IOS версии 15.0(1)M Cisco перешла на модель с универсальными образами (например, universalk9)[76]. В таком образе содержатся все доступные для платформы функции, но большинство из них заблокированы. Для их активации требуется установка лицензии, которая приобреталась с помощью ключа активации продукта (Product Activation Key, PAK)[73]. Основные технологические пакеты включали[76]:
- IP Base — базовый набор функций, поставляемый по умолчанию.
- Data — функции для глобальных сетей, такие как MPLS.
- Security (SEC) — расширенные функции безопасности, включая VPN и межсетевой экран Cisco IOS Firewall.
- Unified Communications (UC) — функции для IP-телефонии (VoIP).
Централизованное лицензирование: Smart Licensing
В середине 2018 года с выходом IOS XE версии 16.9.1 для новых версий ПО на ключевых платформах (например, Catalyst 9000) стало обязательным использование Smart Licensing[77]. Эта модель предполагает централизованное управление всеми лицензиями организации через облачный портал Cisco (Smart Account). Устройства должны периодически синхронизироваться с сервером Cisco Smart Software Manager (CSSM) для подтверждения легитимности используемых лицензий[78].
Упрощение: Smart Licensing Using Policy (SLUP)
В конце 2020 года, начиная с IOS XE 17.3.2, была внедрена усовершенствованная модель Smart Licensing Using Policy (SLUP)[79]. В отличие от предыдущей версии, она не требует обязательной регистрации и постоянной связи с облаком для начала работы. Модель основана на периодической отправке отчётов об использовании лицензий (RUM-отчёты) в Smart Account администратором[80]. Для сетей, изолированных от интернета, предусмотрен механизм резервирования лицензий (Specific License Reservation, SLR)[81].
Подписки Cisco DNA и DNX
Современная модель лицензирования для оборудования на IOS XE сочетает бессрочные и срочные лицензии. При покупке устройства приобретаются[82]:
- Сетевая лицензия (Network Essentials или Network Advantage) — является бессрочной (perpetual) и определяет базовый функционал коммутации и маршрутизации.
- Подписка Cisco DNA (DNA Essentials или DNA Advantage) — является обязательной, приобретается на срок 3, 5 или 7 лет и открывает доступ к расширенным возможностям автоматизации, аналитики и безопасности через систему управления Cisco Catalyst Center (ранее DNA Center)[83]. По истечении срока подписки базовый сетевой функционал сохраняется, но доступ к расширенным функциям и обновлениям ПО прекращается[84]. В 2024 году начался ребрендинг подписок DNA в DNX[82].
Нумерация версий
Cisco IOS использует для версий три числовых поля и дополнительные буквы: a.b(c.d)e, где
- a — основная версия
- b — дополнительная версия
- c — номер выпуска, увеличивается с каждой новой сборкой одной ветки
- d — номер промежуточной сборки (interim build), отсутствует в обычных релизах
- e (отсутствует, одна или две буквы) — идентификатор ветки/типа релиза: T (Technology), E (Enterprise), S (Service provider), XA, XB и т. д.
Rebuilds — специальные сборки, исправляющие конкретную проблему или уязвимость для определённой версии IOS; например, 12.1(8)E14 — четырнадцатый rebuild версии 12.1(8)E.
Interim releases — формируются обычно еженедельно и содержат наработки текущей разработки.
Maintenance releases — регулярно тестируемые стабильные релизы с исправлениями и доработками; рекомендуется использовать их вместо interim и rebuild.
Ветки релизов (trains)
По терминологии Cisco, «train» (ветка релиза) — это ветка поставки ПО, объединяющая определённый набор функций и исправлений[85]. Исторически (до версии IOS 15) Cisco IOS развивалась в двух основных параллельных ветках[86]:
- Mainline (M) train (основная ветка) — наиболее стабильные релизы, предназначенные для длительной эксплуатации. В эту ветку включались только исправления критических ошибок, но не новые функции.
- Technology (T) train (технологическая ветка) — использовалась для внедрения новых функций и поддержки нового оборудования. Релизы в T-ветке выходили чаще, но считались менее стабильными. Со временем проверенные функции из T-ветки объединялись для создания следующей основной версии[87].
Релизы, которые Cisco считала достаточно стабильными для широкого внедрения, получали статус General Deployment (GD)[88].
Начиная с IOS версии 15, эта модель была упрощена: вместо двух расходящихся веток появилась единая, в которой релизы делятся на два типа по сроку поддержки[89]:
- Extended Maintenance (M) (релизы с расширенной поддержкой) — стабильные версии с длительным сроком поддержки (44 месяца), выходящие примерно каждые 16–20 месяцев. Они рекомендуются для долгосрочного использования.
- Standard Maintenance (T) (стандартные релизы) — выходят чаще (2–3 раза в год), включают новейшие функции, но имеют короткий срок поддержки (около 18 месяцев).
До 12.4
До релиза 15 IOS делился на несколько веток (trains), соответствующих разным рынкам и типам оборудования:
- mainline — самая стабильная ветка, в течение жизненного цикла не расширяется; обновления только по багфиксам;
- T (Technology) — функциональная ветка, дополняется новшествами и исправлениями; потенциально менее стабильна;
- S (Service Provider) — специализированная для маршрутизаторов ядра операторских сетей;
- E (Enterprise) — ориентирована на корпоративные сети;
- B (Broadband) — поддержка Интернет-доступа по широкополосным каналам;
- X* (XA, XB и др.) — специальные релизы, протестированные для отдельных задач или клиентов.
Существовали и иные ветки, например 12.0AA — для конкретных платформ.
С версии 15.0
Начиная с IOS версии 15, модель веток была упрощена. В отличие от предыдущей модели с двумя расходящимися ветками (Mainline и Technology), в IOS 15 была введена единая ветка M&T[85], в которой чередовались релизы двух типов[90]:
- Extended Maintenance (M) (релизы с расширенной поддержкой) — стабильные версии с длительным сроком поддержки (исправления ошибок в течение 44 месяцев), выходящие примерно каждые 16–20 месяцев[89]. Они рекомендуются для долгосрочного использования.
- Standard Maintenance (T) (стандартные релизы) — выходили чаще (2–3 раза в год), включали новейшие функции, но имели короткий срок поддержки (около 18 месяцев).
Первым M-релизом стал 15.0(1)M, а первым T-релизом — 15.1(1)T.
Начиная с версии 15.6(3)M, Cisco ещё больше упростила модель, отказавшись от выпуска T-релизов[85][91]. С этого момента в ветке 15 M&T стали выходить только M-релизы и их последующие обновления[85].
Нумерация версий IOS XE
Для современной операционной системы Cisco IOS XE была внедрена более предсказуемая модель выпуска обновлений. Релизы делятся на два типа по сроку поддержки[92]:
- Standard-Support Release (Стандартный релиз) — имеет жизненный цикл поддержки 18 месяцев.
- Extended-Support Release (Релиз с расширенной поддержкой) — обеспечивает поддержку в течение 48 месяцев.
При этом действует правило, согласно которому каждый третий релиз (например, 3.10S, 3.13S, 3.16S) является релизом с расширенной поддержкой, что позволяет планировать обновления на долгосрочную перспективу[92].
С выходом унифицированной версии IOS XE 16.x в 2016 году была также введена практика присвоения кодовых имён для крупных веток релизов. Например, релизы с 16.1.x по 16.3.x носили имя «Denali», а следующие за ними (16.4.x, 16.5.x, 16.6.x) получили название «Everest».
Безопасность и уязвимости
Cisco IOS является проприетарным программным обеспечением, и её исходный код представляет собой коммерческую тайну. Публичный репозиторий исходного кода отсутствует[93]. В истории были зафиксированы случаи нелегальных утечек частей кода, например, в 2004 году[94].
Хранение паролей
Для ряда задач (например, аутентификация CHAP) IOS хранит пароли в конфигурации в виде слабо зашифрованных строк типа 7, например: Router(config)#username jdoe password 7 0832585B1910010713181F. Этот механизм предназначен лишь для противодействия просмотру паролей с экрана (shoulder-surfing), но небезопасен — пароли легко расшифровываются с помощью ПО наподобие "getpass" (известно с 1995 года) или современных утилит, например "ios7crypt"[95]. Тем не менее, эти программы не способны расшифровать пароли типа 5 или установленные с помощью enable secret: при этом применяется соли и хешируются по алгоритму MD5[96].
Со временем алгоритмы хеширования паролей типов 5 и 7 были признаны устаревшими и уязвимыми. Начиная с версии IOS XE 16.9.1, система выводит предупреждение об их использовании[97]. Для замены были введены более стойкие типы хеширования[98]:
- Тип 9 (scrypt) — использует алгоритм scrypt, который считается наиболее надёжным, поскольку он требователен к памяти и устойчив к атакам с использованием GPU и ASIC[99].
- Тип 8 (SHA-256) — использует алгоритм PBKDF2 с хешем SHA-2 (SHA-256), 80-битной солью и 20 000 итераций[98].
Для настройки используется команда enable algorithm-type [scrypt | sha256] secret пароль[100]. В 64-битной ОС IOS XR поддержка паролей типов 8 и 9 была добавлена начиная с релиза 7.0.1[101].
Cisco рекомендует для всех устройств с IOS внедрять модель безопасности AAA (Authentication, Authorization, Accounting), используя при этом базы RADIUS, TACACS+ или локальные учётные записи (на случай аварийных ситуаций)[102].
На конференции Black Hat Briefings в июле 2005 года Майкл Линн (IBM Internet Security Systems) представил исследование критической уязвимости IOS[103]. Cisco уже выпустила патч, но просила не раскрывать подробностей[104]. Компания подала в суд; разбирательство завершилось заключением о неразглашении[105].
Ветка IOS XR
Для устройств Cisco, требующих высокой доступности (например, Cisco CRS-1), архитектура монолитного ядра стала критической проблемой. Кроме этого, у конкурентов (например, Juniper Junos OS) появились системы, лишённые этих ограничений[106]. Ответом Cisco стала разработка нового поколения ОС, обладающей модульной архитектурой, защитой памяти между процессами, «лёгкими» потоками, вытесняющей многозадачностью и возможностью отдельной перезагрузки процессов. Первые версии IOS XR построены на микроядре QNX; значительная часть исходников IOS была переработана с учетом модульности. С 2005 года IOS XR внедряется в серии Cisco 12000 — на аппаратной базе Cisco CRS-1 для магистральных сетей. Начиная с версии 6.0.0, выпущенной в декабре 2015 года, в роли ядра используется 64-битная версия Linux вместо QNX. Одними из первых устройств, получивших поддержку новой ОС, стали маршрутизаторы серии Cisco NCS 5500. Были также попытки внедрить модульную архитектуру и в классический IOS (Catalyst 6500), но они получили ограниченное распространение и были прекращены из-за высоких требований к ресурсам и потери стабильности.
Примечания
- ↑ https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/15-8m/release/notes/15-8-3-m-rel-notes.html (англ.) — 2019.
- ↑ 1 2 3 4 5 К 25-летию компании Cisco: история операционной системы IOS. TAdviser. Дата обращения: 3 ноября 2025.
- ↑ Cisco IOS. StudFiles. Дата обращения: 3 ноября 2025.
- ↑ Что такое Cisco IOS XE. Merionet. Дата обращения: 3 ноября 2025. Архивировано 9 сентября 2025 года.
- ↑ 1 2 Cisco Router Repair Revives Piece Of Internet History. Hackaday. Дата обращения: 3 ноября 2025. Архивировано 26 августа 2025 года.
- ↑ История компании Cisco. Habr. Дата обращения: 3 ноября 2025.
- ↑ Cisco’s First Router: Revisiting the Venerable AGS in 2021. designated-router.com. Дата обращения: 3 ноября 2025. Архивировано 4 ноября 2024 года.
- ↑ Cisco Systems Completes Acquisition of Kalpana. Cisco Systems (7 декабря 1994). Дата обращения: 3 ноября 2025. Архивировано 20 января 2025 года.
- ↑ Cisco to Acquire Kalpana, Leading Ethernet Switching Company. Cisco Systems (24 октября 1994). Дата обращения: 3 ноября 2025. Архивировано 2 ноября 2024 года.
- ↑ 1 2 3 Comparison CatOS and Cisco IOS. RouteXP. Дата обращения: 3 ноября 2025. Архивировано 6 февраля 2025 года.
- ↑ Cisco Catalyst 6500 Series Switches With IOS Software Modularity Make IT Managers More Productive and Further Improve Network Reliability. Cisco Systems (29 августа 2005). Дата обращения: 3 ноября 2025. Архивировано 6 августа 2025 года.
- ↑ Comparison: Cisco Catalyst and Cisco IOS Operating Systems. Cisco Community. Дата обращения: 3 ноября 2025. Архивировано 2 апреля 2025 года.
- ↑ Cisco IOS v.12.4(15)T Advanced Security. American Tech Depot. Дата обращения: 3 ноября 2025.
- ↑ Cisco Router Web Setup Default Configuration Vulnerability. Cisco Systems (12 июля 2006). Дата обращения: 3 ноября 2025. Архивировано 9 сентября 2024 года.
- ↑ CVE-2007-1257. CVE. Дата обращения: 3 ноября 2025. Архивировано 16 апреля 2025 года.
- ↑ Cisco IOS XE Architecture Deep Dive (pdf). Cisco Live. Дата обращения: 3 ноября 2025. Архивировано 2 августа 2025 года.
- ↑ Cisco IOS Multiple Protocol Label Switching (MPLS) DoS. SecurityLab.ru (25 сентября 2008). Дата обращения: 3 ноября 2025.
- ↑ Обзор, настройка и поиск неисправностей функций безопасности маршрутизаторов Cisco ISR G2 (pdf). Technon. Дата обращения: 3 ноября 2025. Архивировано 24 июня 2025 года.
- ↑ An Introduction to Cisco IOS Version 15. CiscoZine. Дата обращения: 3 ноября 2025. Архивировано 10 сентября 2024 года.
- ↑ Cisco Group Encrypted Transport Virtual Private Network (GET VPN). Anticisco.ru (10 февраля 2010). Дата обращения: 3 ноября 2025. Архивировано 6 декабря 2024 года.
- ↑ Cisco TrustSec: безопасность на основе ролей. Компьютерные вести (12 декабря 2007). Дата обращения: 3 ноября 2025. Архивировано 22 апреля 2024 года.
- ↑ Cisco patches IOS in major rollout, releases 10 security advisories. ComputerWeekly.com (29 сентября 2011). Дата обращения: 3 ноября 2025. Архивировано 26 апреля 2025 года.
- ↑ Cisco IOS Software Security Advisory Bundled Publication. seclists.org (28 марта 2012). Дата обращения: 3 ноября 2025. Архивировано 15 августа 2025 года.
- ↑ Cisco Trustworthy Technologies Data Sheet Updated. Firmwaresecurity.com (31 марта 2019). Дата обращения: 3 ноября 2025. Архивировано 9 октября 2025 года.
- ↑ Next-Generation Encryption. Zones. Дата обращения: 3 ноября 2025.
- ↑ Cisco Evolves the Router into an Application Delivery Platform. Cisco Systems (26 марта 2013). Дата обращения: 3 ноября 2025. Архивировано 12 июля 2024 года.
- ↑ Cisco Fixes DoS Vulnerabilities in IOS Software. SecurityWeek (26 марта 2015). Дата обращения: 3 ноября 2025. Архивировано 20 марта 2025 года.
- ↑ Announcing the first Cisco IOS XE Software Security Advisory Bundled Publication. Cisco Blogs (25 марта 2015). Дата обращения: 3 ноября 2025. Архивировано 14 августа 2025 года.
- ↑ All you need to know about Cisco IOS XE 16.x releases. Cisco Community (12 сентября 2018). Дата обращения: 3 ноября 2025. Архивировано 12 ноября 2020 года.
- ↑ 1 2 The Growing Catalyst 9000 Family. Cisco Community (16 января 2019). Дата обращения: 3 ноября 2025. Архивировано 19 марта 2025 года.
- ↑ Cisco’s 2013: A Look Back at Its Major Moves. Router-switch.com (27 декабря 2013). Дата обращения: 3 ноября 2025. Архивировано 10 августа 2025 года.
- ↑ IOS XE 16.9 programmability cg. Scribd. Дата обращения: 3 ноября 2025. Архивировано 6 октября 2025 года.
- ↑ Cisco IOS and IOS XE Software Security Advisory Bundled Publication, March 2018. Cisco Systems (28 марта 2018). Дата обращения: 3 ноября 2025. Архивировано 6 сентября 2025 года.
- ↑ Cisco IOS XE 16.10.1: The Catalyst Update. Cisco Community (30 января 2019). Дата обращения: 3 ноября 2025. Архивировано 13 марта 2025 года.
- ↑ Cisco IOS XR7. TAdviser. Дата обращения: 3 ноября 2025.
- ↑ Обновленное программное обеспечение IOS XR от Cisco. Netstore (12 декабря 2019). Дата обращения: 3 ноября 2025. Архивировано 3 августа 2024 года.
- ↑ Cisco IOS XE Amsterdam 17.2.1r Enterprise Routing Release Update. Cisco Community (21 апреля 2020). Дата обращения: 3 ноября 2025. Архивировано 27 февраля 2025 года.
- ↑ Cisco IOS XE 17.3.x (pdf). Cisco Systems. Дата обращения: 3 ноября 2025.
- ↑ Cisco IOS XR Software Security Advisory. Cisco (28 октября 2020). Дата обращения: 3 ноября 2025.
- ↑ 1 2 Cisco End of Life (EOL) & End of Service Life (EOSL). Park Place Technologies. Дата обращения: 3 ноября 2025. Архивировано 20 апреля 2025 года.
- ↑ What’s New: IOS-XE 17.7 Routing Release Update. Cisco Community (15 декабря 2021). Дата обращения: 3 ноября 2025. Архивировано 2 марта 2025 года.
- ↑ IOS-XR 7.3.1 Innovations. xrdocs.io. Дата обращения: 3 ноября 2025. Архивировано 7 июля 2025 года.
- ↑ What’s New: IOS-XE 17.8 Routing Release Update. Cisco Community (27 апреля 2022). Дата обращения: 3 ноября 2025. Архивировано 21 мая 2022 года.
- ↑ Cisco's September patch day: bugs swarm in IOS XE. iTnews (29 сентября 2022). Дата обращения: 3 ноября 2025. Архивировано 16 июня 2025 года.
- ↑ Cisco Ios Xr 7.4.1. CVE Details. Дата обращения: 3 ноября 2025.
- ↑ Active exploitation of Cisco IOS XE Software Web UI vulnerability. Cisco Talos (16 октября 2023). Дата обращения: 3 ноября 2025. Архивировано 10 июля 2025 года.
- ↑ Cisco Networking Catalyst 9000 Switches (pdf). Connection. Дата обращения: 3 ноября 2025.
- ↑ Cisco экстренно устранила 0-day уязвимость в IOS XE, которой уже пользуются хакеры. ServerNews (23 октября 2023). Дата обращения: 3 ноября 2025. Архивировано 15 мая 2025 года.
- ↑ Хакеры продолжают заражать маршрутизаторы Cisco через старую уязвимость. SecurityLab.ru (21 октября 2025). Дата обращения: 3 ноября 2025.
- ↑ Multiple Vulnerabilities in Cisco IOS and IOS XE Software. Cyber Security Agency of Singapore (28 марта 2024). Дата обращения: 3 ноября 2025. Архивировано 19 апреля 2025 года.
- ↑ Severe Vulnerabilities in Cisco IOS & IOS XE Addressed. SOCRadar (26 сентября 2024). Дата обращения: 3 ноября 2025. Архивировано 12 октября 2024 года.
- ↑ Cisco Live US 2025 Key Announcements. Scribd. Дата обращения: 3 ноября 2025.
- ↑ Key Takeaways From Cisco Live 2025: Cisco’s Big Bets For Unified Security And AI. Forrester (5 июня 2025). Дата обращения: 3 ноября 2025. Архивировано 29 сентября 2025 года.
- ↑ Cisco IOS и IOS XE: Уязвимость нулевого дня в SNMP (CVE-2025-20352). CyberSecureFox (2 октября 2025). Дата обращения: 3 ноября 2025.
- ↑ Cisco Trusted Platforms: Building a Secure Foundation for Your Network. Cisco Blogs. Дата обращения: 3 ноября 2025. Архивировано 25 сентября 2025 года.
- ↑ Cisco IOS Software Product Lifecycle Dates & Milestones. Scribd. Дата обращения: 3 ноября 2025. Архивировано 20 августа 2025 года.
- ↑ CLI Language Versions. Cisco Community. Дата обращения: 3 ноября 2025. Архивировано 2 апреля 2025 года.
- ↑ Tcl для Cisco IOS в простых примерах. temofeev.ru. Дата обращения: 3 ноября 2025.
- ↑ TCL для Cisco IOS. Примеры скриптов для автоматизации настроек. Sedicomm (11 декабря 2020). Дата обращения: 3 ноября 2025. Архивировано 10 июля 2025 года.
- ↑ A Guide to On-box Python Scripting. xrdocs.io. Дата обращения: 3 ноября 2025.
- ↑ Guest Shell: Built-in Linux Container on Cisco IOS-XE. Brezular (1 июня 2020). Дата обращения: 3 ноября 2025. Архивировано 1 июня 2022 года.
- ↑ cisco-ios-xe-programmability-lab-day0-guestshell-guestshare. GitHub. Дата обращения: 3 ноября 2025.
- ↑ Exec Scripts Overview. Cisco DevNet. Дата обращения: 3 ноября 2025. Архивировано 19 июля 2024 года.
- ↑ xr-python-scripts. GitHub. Дата обращения: 3 ноября 2025. Архивировано 27 марта 2025 года.
- ↑ Configuration Fundamentals Configuration Guide, Cisco IOS Release 15M&T. Cisco. Дата обращения: 14 мая 2022. Архивировано 15 мая 2022 года.
- ↑ 1 2 What are the key differences between Cisco IOS and IOS-XE? Packet Coders. Дата обращения: 3 ноября 2025. Архивировано 10 июля 2025 года.
- ↑ Про операционную систему Cisco IOS. Merionet. Дата обращения: 3 ноября 2025. Архивировано 24 января 2025 года.
- ↑ Differences between IOS and IOS-XE. nocsma.wordpress.com (27 февраля 2018). Дата обращения: 3 ноября 2025.
- ↑ Introduction to Cisco IOS-XE. NetworkLessons.com. Дата обращения: 3 ноября 2025.
- ↑ Shortname for a TwentyFiveGigE on the show interface status. Cisco Community (21 марта 2019). Дата обращения: 3 ноября 2025. Архивировано 12 марта 2025 года.
- ↑ Cisco Port Abbreviations. reece.ai. Дата обращения: 3 ноября 2025.
- ↑ New Cisco 800G Innovations Help to Supercharge the Internet for the Future. Cisco Systems (6 марта 2023). Дата обращения: 3 ноября 2025. Архивировано 29 июня 2025 года.
- ↑ 1 2 3 IOS Licensing. NetworkLessons.com. Дата обращения: 3 ноября 2025. Архивировано 8 августа 2025 года.
- ↑ Обновление прошивки (IOS) на Cisco. xCAT. Дата обращения: 3 ноября 2025. Архивировано 6 октября 2025 года.
- ↑ Обновление Cisco IOS с флешки. Quaded. Дата обращения: 3 ноября 2025. Архивировано 7 декабря 2024 года.
- ↑ 1 2 Licensing Information for ISR G2. Cisco Community (15 февраля 2011). Дата обращения: 3 ноября 2025. Архивировано 4 марта 2025 года.
- ↑ Важное объявление касаемо Cisco IOS XE 16.9.1. Т-Маш (12 сентября 2018). Дата обращения: 3 ноября 2025. Архивировано 22 июня 2025 года.
- ↑ Cisco Smart Licensing Explained. Router-switch.com. Дата обращения: 3 ноября 2025.
- ↑ Лицензирование Cisco Smart Licensing в вопросах и ответах. Netstore. Дата обращения: 3 ноября 2025. Архивировано 10 апреля 2021 года.
- ↑ Smart License Using Policy (SLP). Cisco Community (13 ноября 2020). Дата обращения: 3 ноября 2025. Архивировано 22 сентября 2022 года.
- ↑ Подробная документация по резервированию лицензий Cisco. ITMALL.SALE. Дата обращения: 3 ноября 2025.
- ↑ 1 2 Cisco DNA Essentials vs. DNA Advantage. Edgeium. Дата обращения: 3 ноября 2025. Архивировано 18 апреля 2025 года.
- ↑ Как выбрать лицензию для коммутатора Cisco. Квантум. Дата обращения: 3 ноября 2025. Архивировано 4 сентября 2025 года.
- ↑ Cisco DNA for Access Wireless and Switching Subscription (pdf). Cloud Managed. Дата обращения: 3 ноября 2025. Архивировано 2 августа 2025 года.
- ↑ 1 2 3 4 Cisco IOS and NX-OS Software Reference Guide. Cisco. Дата обращения: 3 ноября 2025. Архивировано 13 июля 2025 года.
- ↑ Версии Cisco IOS (Cisco IOS Versions). CiscoTips. Дата обращения: 3 ноября 2025. Архивировано 18 мая 2025 года.
- ↑ Cisco IOS Versions and Naming Overview. Router-switch.com (20 августа 2013). Дата обращения: 3 ноября 2025. Архивировано 19 июля 2025 года.
- ↑ Версии Cisco IOS. Microsin. Дата обращения: 3 ноября 2025. Архивировано 16 июня 2025 года.
- ↑ 1 2 9.1.1.5 Cisco IOS 15. jarkom.unama.ac.id. Дата обращения: 3 ноября 2025.
- ↑ Cisco IOS Naming Convention. CCNACourseComplete. Дата обращения: 3 ноября 2025. Архивировано 22 ноября 2023 года.
- ↑ STL-TR-2018-02 (pdf). htwsaar.de. Дата обращения: 3 ноября 2025.
- ↑ 1 2 cisco-ios-xe-software-support-timeline-starting. studylib.net. Дата обращения: 3 ноября 2025. Архивировано 15 августа 2025 года.
- ↑ Cisco Data Leaked By Hacker. Forbes. Дата обращения: 3 ноября 2025. Архивировано 30 мая 2025 года.
- ↑ Cisco probes source code leak. iTnews (17 мая 2004). Дата обращения: 3 ноября 2025. Архивировано 14 июля 2025 года.
- ↑ ios7crypt. GitHub. Дата обращения: 19 сентября 2012. Архивировано 25 марта 2017 года.
- ↑ Cisco IOS Password Encryption Facts. Дата обращения: 12 сентября 2017. Архивировано 13 сентября 2017 года.
- ↑ Why you should be using scrypt for Cisco router password storage. Cisco Community. Дата обращения: 3 ноября 2025. Архивировано 4 октября 2022 года.
- ↑ 1 2 Cisco Password Types Best Practices (pdf). Cybersecurity and Infrastructure Security Agency (17 февраля 2022). Дата обращения: 3 ноября 2025. Архивировано 28 сентября 2025 года.
- ↑ Upgrading Your Cisco IOS Passwords. thisbridgeistheroot.com. Дата обращения: 3 ноября 2025. Архивировано 15 февраля 2025 года.
- ↑ How to configure level 9 enable secret on IOS-XE. Cisco Community. Дата обращения: 3 ноября 2025. Архивировано 25 февраля 2025 года.
- ↑ Password, AAA, and Security Command Reference for Cisco NCS 5500 Series Routers, IOS XR Release 7.0.x (pdf). Cisco. Дата обращения: 3 ноября 2025.
- ↑ Cisco 500-052 Test. Дата обращения: 21 февраля 2017. Архивировано 22 февраля 2017 года.
- ↑ Kim Zetter (2005-08-01). “Router Flaw Is a Ticking Bomb”. Wired. Архивировано из оригинала 2014-09-04. Дата обращения 2014-08-09. Используется устаревший параметр
|url-status=(справка) - ↑ Kim Zetter (2005-07-27). “Cisco Security Hole a Whopper”. Wired. Архивировано из оригинала 2014-09-05. Дата обращения 2014-08-09. Используется устаревший параметр
|url-status=(справка) - ↑ Statement on Federal District Court Injunction (Black Hat Presentation), Press release, Cisco Systems (28 июля 2005). Архивировано 5 февраля 2012 года. Дата обращения: 18 июня 2013.
- ↑ Junos OS. Juniper Networks. Дата обращения: 10 апреля 2024. Архивировано 6 апреля 2024 года.