![]() |
Pyramids Telecomm |
| Главная | Архив статей | Теория, практика, примеры конфигураций | Словарь терминов |
IOS (Internetwork Operation System) - межсетевая операционная система является одной из самых значительных разработок фирмы Cisco Systems. Развитие средств телекоммуникаций, технологий, стандартов приводит к новым требованиям, предъявляемым пользователями. Cisco IOS как раз и является тем гибким средством для добавления новых сервисов, возможностей и приложений в корпоративную сеть. Для этого необходимо просто заменить IOS в соответствующем устройстве. Эта операционная система не только конкретный программный код, но и целая группа технологий, по-разному этим кодом реализуемая на различных типах устройств.
Cisco IOS поставляется в виде файлов, название которых, в большинстве случаев, состоит из трех частей: xxxx-yyyy-zz (например для маршрутизатора Cisco 3640 существует такой файл c3640-ds-mz.121-5.bin), где
| c3640 | |
| -ds- | |
| -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 семейства - c3640 Версия IOS - 12.1(6) Feature Set IOS - IP | IPX | AT | DEC PLUS Image filename of IOS - c3640-ds-mz Дескриптор системы - IOS (tm) 3600 Software (C3640-DS-MZ), Version 12.1(6), Release Software (fc1) Compiled Wed 27-Dec-00 12:52 by kellythw
По листингу мы видим семейство, к которому относится IOS, его версию, Feature Set, настоящее имя файла, дескриптор системы, а также информацию о компилировании данного продукта.
Процесс загрузки маршрутизатора состоит из следующих этапов:
Одновременно с процессом загрузки удобно рассмотреть организацию памяти в маршрутизаторах фирмы Cisco Systems. Существует 4 вида памяти: ROM, RAM, NVRAM и flash. Рассмотрим каждую из них.
ROM - ПЗУ (постоянное запоминающее устройство) содержит в себе укороченную версию IOS и начальный загрузчик Bootstrap, который загружается сразу после включения маршрутизатора. Bootstrap можно сравнить с BIOS в компьютере. Он проверяет внутреннюю целостность маршрутизатора: процессор, память и т.д., какие присутствуют модули, определяет стратегию загрузки IOS (в каком порядке и откуда его грузить).
По команде show version в листинге можно увидеть строку, информирующую о версии Bootstrap, находящегося в ROM:
ROM: System Bootstrap, Version 11.1(20)AA2, EARLY DEPLOYMENT RELEASE SOFTWARE (fc1)
Начальный загрузчик Bootstrap может быть жестко прописан в ROM (например, в маршрутизаторах Cisco 3640, 2514, 2611). А в Cisco 7206 существует отдельная электрически перепрограммируемая микросхема памяти, называемая Bootflash. В которую можно прописать новую версию Bootstrap. При этом в имени файла будет слово boot, например c7200-boot-mz.121-2.bin.
Flash-память - ЭППЗУ (электрически перепрограммируемое постоянное запоминающее устройство). Служит для хранения рабочей версии IOS. Для того, чтобы узнать что содержится во Flash-памяти, из чего она состоит, необходимо воспользоваться следующей командой: show flash: all Результат ее выполнения - ниже:
Partition Size Used Free Bank-Size State Copy Mode
1 16384K 8823K 7560K 8192K Read/Write Direct
System flash directory:
File Length Name/status
addr fcksum ccksum
1 9035232 c3640-ds-mz.121-5.bin
0x40 0xB025 0xB025
[9035296 bytes used, 7741920 available, 16777216 total]
16384K bytes of processor board System flash (Read/Write)
Chip Bank Code Size Name
1 1 01AD 2048KB AMD 29F016
2 1 01AD 2048KB AMD 29F016
3 1 01AD 2048KB AMD 29F016
4 1 01AD 2048KB AMD 29F016
1 2 01AD 2048KB AMD 29F016
2 2 01AD 2048KB AMD 29F016
3 2 01AD 2048KB AMD 29F016
4 2 01AD 2048KB AMD 29F016
Здесь мы видим следующую информацию: размер 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 он в сжатом виде. Это можно увидеть в листинге, выдаваемом на терминал при загрузке маршрутизатора:
program load complete, entry point: 0x80008000, size: 0x89dcc4 Self decompressing the image : ####### .... [OK]
При загрузке маршрутизатора на терминал выдается информация о величине памяти RAM (ОЗУ) - в данном случае 48 Мб.
Copyright (c) 1999 by cisco Systems, Inc.oC3600 processor with 49152 Kbytes of main memory
По команде show version в листинге можно увидеть такую строку:
cisco 3640 (R4700) processor (revision 0x00) with 36864K/12288K bytes of memory.
Здесь мы видим интересную вещь: RAM делится на две части 36864K/12288K. Последняя цифра - это 25% от полного объема RAM. Эта часть памяти называется пакетной. В ней хранятся пакеты всех существующих интерфейсов перед тем, как их начнет обрабатывать центральный процессор (маршрутизация, трансляция и т.д.). Это значение можно поменять, в Cisco IOS имеется определенный набор значений. При использовании маршрутизатором двух потоков Е1 рекомендуется принять значение пакетной памяти в размере 30% от общего объема RAM. При отключении питания все содержимое RAM теряется.
NVRAM - энергонезависимое ОЗУ. Служит для хранения рабочей конфигурации (startup configuration) и архивной конфигурации (backup configuration). При выключении питания содержимое NVRAM сохраняется. По команде show version можно увидеть объем памяти NVRAM:
125K bytes of non-volatile configuration memory.
Существует еще одна очень интересная команда show file system, позволяющая просмотреть файловую систему маршрутизатора:
File Systems:
Size(b) Free(b) Type Flags Prefixes
129016 126574 nvram rw nvram:
- - opaque rw null:
- - opaque rw system:
- - network rw tftp:
* 16777216 7741920 flash rw flash:
- - flash ro slot0:
- - flash ro slot1:
- - opaque wo lex:
- - opaque ro xmodem:
- - opaque ro ymodem:
- - network rw rcp:
- - network rw pram:
- - network rw ftp:
Фирмой 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, например:
boot system tftp c3640-ds-mz_121-5.bin 10.42.12.3
boot system flash slot0:c3640-ds-mz_121-5.bin
Из примера видим, что порядок загрузки IOS следующий (первоначальная загрузка из flash при этом игнорируется):
tftp-server slot0:c3640-ds-mz_121-5.bin
Каждая запись boot system в конфигурации создает системную переменную, записываемую в NVRAM и хранящуюся там постоянно. Просмотреть эти переменные можно из режима ROM-монитора командой set (для Cisco 2611 и 3640), выглядит это примерно так:
BOOT=tftp:c3640-ds-mz_121-5.bin 10.42.12.3,12;tftp c3640-ds-mz_121-5.bin 10.42.12.13,5;
Исходя из сказанного, можно сделать вывод, что Bootstrap работает следующим образом: считывает значение регистра конфигурации, если это стандартное значение для загрузки IOS из flash, то из NVRAM берется значение системной переменной, описывающей порядок загрузки и местоположение IOS, определенное администратором.
| Главная | Архив статей | Теория, практика, примеры конфигураций | Словарь терминов |
Created 2001 by Евгений
Copyright Pyramids Telecomm 2001