Маршрутизаторы Cisco Systems и их конфигурирование
Rambler's Top100
Pyramids Telecomm
Главная Архив статей Теория, практика, примеры конфигураций Словарь терминов

Операционная система Cisco IOS

IOS (Internetwork Operation System) - межсетевая операционная система является одной из самых значительных разработок фирмы Cisco Systems. Развитие средств телекоммуникаций, технологий, стандартов приводит к новым требованиям, предъявляемым пользователями. Cisco IOS как раз и является тем гибким средством для добавления новых сервисов, возможностей и приложений в корпоративную сеть. Для этого необходимо просто заменить IOS в соответствующем устройстве. Эта операционная система не только конкретный программный код, но и целая группа технологий, по-разному этим кодом реализуемая на различных типах устройств.



Имена файлов Cisco IOS.

Cisco IOS поставляется в виде файлов, название которых, в большинстве случаев, состоит из трех частей: xxxx-yyyy-zz (например для маршрутизатора Cisco 3640 существует такой файл c3640-ds-mz.121-5.bin), где

  • xxxx - Hardware Product (название платформы под которое поставляется IOS)
  • c3640
  • yyyy - Features (специальные возможности, поддерживаемые IOS)
  • -ds-
  • zz - Run Location, Compressed Status (место запуска, сжатие)
  • -mz

    Список всех обозначений достаточно обширен, приведем только некоторые из них:

    Hardware Product

        as5200     5200           Сервер доступа AS5200
        c1600      1600           Маршрутизатор серии Cisco 1600
        c3640      3640           Маршрутизатор Cisco 3640
        c5300      AS5300         Сервер доступа AS5300
        c7200      7200           Маршрутизатор серии Cisco 7200
    

    Features

        boot - версия для прошивки boot
        d    - Desktop subset - версия с полным набором протоколов (SNMP, IP, Bridging, WAN,
               Remote Node, Terminal Services, IPX, Atalk, ARAP)
        ds   - Desktop Plus
        d2   - уменьшенная версия Desktop subset (SNMP, IP, IPX, ATALK, ARAP)
        f    - FRAD subset (SNMP, FR, PPP, SDLLC, STUN)
        f2   - modified FRAD subset, EIGRP, Pcbus, Lan Mgr removed, OSPF added 
        g    - ISDN subset (SNMP, IP, Bridging, ISDN, PPP, IPX, Atalk)
        g2   - gatekeeper proxy, voice and video
        i    - IP subset (SNMP, IP, Bridging, WAN, Remote Node, Terminal Services)
        is   - IP Plus
        i3   - reduced IP subset with BGP/MIB, EGP/MIB, NHRP, DIRRESP removed
        j    - Enterprise - промышленная версия (formerly bpx, includes protocol translation)
       c2600  - (NAT, IBM, MMP, VPDN/L2F, VOIP and ATM)
       c3640  - (NAT, IBM, MMP, VPDN/L2F) In 11.3T added VOIP
       c7200  - (NAT, ISL, IBM, MMP, VPDN/L2F)
       z    - managed modems
       56   - 56-bit encryption
       

    Run Location, Compressed Status

        Местоположение загрузки IOS
              f - Flash
              m - RAM
              r - ROM
              l - relocatable
        
        Компрессия
              z - zip compressed
              x - mzip compressed
        

    В приведенном примере имя файла содержит и версию IOS, в которой иногда встречается буква Т, например, 12.0.5Т. Это означает, что данная версия является технологической, т.е. в нее включены новые возможности, находящиеся в стадии обкатки. В последнее время мы отказались от их применения, когда столкнулись с вдруг возникшими проблемами после загрузки одной из таких версий. Вдруг перестали работать вполне обычные стандартные, но очень для нас необходимые вещи. Поэтому при загрузке таких IOS нужно быть очень осторожными.

    Но иногда возникает ситуация, когда имя файла IOS намеренно с какой-то целью изменено. Тогда вроде бы и нет возможности узнать свойства и возможности имеющегося IOS. Это не совсем так. Проанализировав структуру файла и выявив определенные закономерности, товарищ по работе написал совсем маленькую программку на Си, работающую по DOS. Ниже приведен результат ее работы с файлом c3640-ds-mz_121-6.bin (предварительно переименованным в abc.asd - даже с другим разрешением).

    По листингу мы видим семейство, к которому относится IOS, его версию, Feature Set, настоящее имя файла, дескриптор системы, а также информацию о компилировании данного продукта.

    Процесс загрузки маршрутизатора и организация памяти.

    Процесс загрузки маршрутизатора состоит из следующих этапов:

    1. проверка hardware;
    2. поиск и загрузка операционной системы Cisco IOS;
    3. поиск и применение к использованию информации по конфигурации маршрутизатора.

    Одновременно с процессом загрузки удобно рассмотреть организацию памяти в маршрутизаторах фирмы Cisco Systems. Существует 4 вида памяти: ROM, RAM, NVRAM и flash. Рассмотрим каждую из них.

    ROM - ПЗУ (постоянное запоминающее устройство) содержит в себе укороченную версию IOS и начальный загрузчик Bootstrap, который загружается сразу после включения маршрутизатора. Bootstrap можно сравнить с BIOS в компьютере. Он проверяет внутреннюю целостность маршрутизатора: процессор, память и т.д., какие присутствуют модули, определяет стратегию загрузки IOS (в каком порядке и откуда его грузить).

    По команде show version в листинге можно увидеть строку, информирующую о версии Bootstrap, находящегося в ROM:

    Начальный загрузчик Bootstrap может быть жестко прописан в ROM (например, в маршрутизаторах Cisco 3640, 2514, 2611). А в Cisco 7206 существует отдельная электрически перепрограммируемая микросхема памяти, называемая Bootflash. В которую можно прописать новую версию Bootstrap. При этом в имени файла будет слово boot, например c7200-boot-mz.121-2.bin.

    Flash-память - ЭППЗУ (электрически перепрограммируемое постоянное запоминающее устройство). Служит для хранения рабочей версии IOS. Для того, чтобы узнать что содержится во Flash-памяти, из чего она состоит, необходимо воспользоваться следующей командой: show flash: all Результат ее выполнения - ниже:

    Здесь мы видим следующую информацию: размер Flash-памяти (Size 16384 Кб) и ее статус (чтение/запись - Read/Write), сколько занято (Used 8823 Кб), сколько свободно (Free 7560 Кб), количество банков памяти (Bank) и количество чипов в одном банке памяти (Chip), размер одного банка (Bank-Size 8192 Кб), размер каждого чипа памяти (2048 Кб) и его фирма-производитель (AMD), имя файла IOS (c3640-ds-mz.121-5.bin) и его размер (9035232 bytes).

    RAM - ОЗУ (оперативное запоминающее устройство). Структуру RAM можно представить так:

    Commands Executive (выполнение команд) Internetwork Operation System (IOS)
    Programs (ваполнение программы Bootstrap) Active Configuration File (активный файл конфигурации) Tables (таблицы маршрутизации, ARP таблицы) Buffers

    После отработки начального загрузчика, IOS загружается в RAM (обычно из flash-памяти), при этом происходит декомпрессия IOS, т.к. хранится во flash он в сжатом виде. Это можно увидеть в листинге, выдаваемом на терминал при загрузке маршрутизатора:

    При загрузке маршрутизатора на терминал выдается информация о величине памяти RAM (ОЗУ) - в данном случае 48 Мб.

    По команде show version в листинге можно увидеть такую строку:

    Здесь мы видим интересную вещь: RAM делится на две части 36864K/12288K. Последняя цифра - это 25% от полного объема RAM. Эта часть памяти называется пакетной. В ней хранятся пакеты всех существующих интерфейсов перед тем, как их начнет обрабатывать центральный процессор (маршрутизация, трансляция и т.д.). Это значение можно поменять, в Cisco IOS имеется определенный набор значений. При использовании маршрутизатором двух потоков Е1 рекомендуется принять значение пакетной памяти в размере 30% от общего объема RAM. При отключении питания все содержимое RAM теряется.

    NVRAM - энергонезависимое ОЗУ. Служит для хранения рабочей конфигурации (startup configuration) и архивной конфигурации (backup configuration). При выключении питания содержимое NVRAM сохраняется. По команде show version можно увидеть объем памяти NVRAM:

    Существует еще одна очень интересная команда show file system, позволяющая просмотреть файловую систему маршрутизатора:

    Порядок загрузки Cisco IOS.

    Фирмой Cisco Systems разработана очень удобная стратегия загрузки операционной системы IOS, называемая толерантной. Для повышения работоспособности и надежности маршрутизатора администратор может самостоятельно определять порядок загрузки маршрутизатором операционной системы, а так же спланировать пути загрузки IOS при чрезвычайных ситуациях. Таких возможных путей достаточно много: из собственной flash-памяти или из flash-памяти другого доступного по локальной сети маршрутизатора; из внешней flash-памяти, если имеется PCMCIA слот; из локальной сети - с tftp или rcp сервера. В исключительных случаях, когда IOS нигде не обнаружена, есть возможность загрузить операционную систему, находясь в режиме ROM-монитора, этому посвящен целый раздел статьи "Работа в режиме ROM-монитора".

    В первую очередь на загрузку IOS оказывает влияние регистр конфигурации (config-register), состоящий из 16 бит, из которых младшие 4 бита (3, 2, 1, 0) образуют поле загрузки. Приведу некоторые его значения:

    0x100 - загрузить маршрутизатор в режим ROM-монитора. Этот режим начальной загрузки необходим, если маршрутизатор не может найти образ операционной системы или процесс загрузки был прерван. Более подробно узнать про работу в режиме ROM-монитора, можно в специальной статье - "Работа в режиме ROM-монитора".
    0x102-0x10F - загрузка IOS из Flash-памяти.
    0x141 - загрузить укороченную версию из ROM (для Cisco 2514).

    По умолчанию IOS загружается из Flash-памяти. Но как уже было сказано, администратор может изменить это правило, прописав (в режиме глобальной конфигурации) альтернативные пути загрузки операционной системы IOS, например:

    Из примера видим, что порядок загрузки IOS следующий (первоначальная загрузка из flash при этом игнорируется):

    1. загрузить IOS с tftp сервера;
    2. загрузить IOS из внешней flash-памяти, т.к. имеется PCMCIA слот;
    3. загрузить IOS с tftp сервера, причем tftp сервером в данном случае является маршрутизатор, у которого в конфигурации обязательно должно быть прописано, что он является tftp сервером:

    Каждая запись boot system в конфигурации создает системную переменную, записываемую в NVRAM и хранящуюся там постоянно. Просмотреть эти переменные можно из режима ROM-монитора командой set (для Cisco 2611 и 3640), выглядит это примерно так:

    Исходя из сказанного, можно сделать вывод, что Bootstrap работает следующим образом: считывает значение регистра конфигурации, если это стандартное значение для загрузки IOS из flash, то из NVRAM берется значение системной переменной, описывающей порядок загрузки и местоположение IOS, определенное администратором.

    Главная Архив статей Теория, практика, примеры конфигураций Словарь терминов
    Rambler's Top100 TopList be number one нЕУОСКФ НЕЗЪНЗЛЮ ъНВИWeb

    Created 2001 by Евгений
    Copyright Pyramids Telecomm 2001