Бездисковый PC-маршутизатор под управлением OC UNIX
Основное преимущество построения систем такого рода на основе PC — универсальность и дешевизна решения, основной недостаток — недостаточная надежность архитектуры персонального компьютера для организации безотказного движения информационных потоков.
В системах с повышенными требованиями к надежности и отказоустойчивости обычно используют классическое решение: применяют аппаратные маршутизаторы. Как правило, это специализированные фирменные устройства со встроенной ОС. Они состоят из аппаратной части (процессор, память, порты сопряжения с сетью и телефонией), а также из программной части — фирменной операционной системы, чаще всего — UNIX-подобной. Главным преимуществом таких решений является высокая надежность работы и большое время наработки "на отказ". Наиболее распространены подобные устройства фирм Cisco Systems, Bay Network, IBM. Аппаратные маршутизаторы стоят довольно дорого (от $2000 до $15000), их стоимость складывается из стоимости аппаратной части и стоимости операционной системы.
Надежность функционирования и время наработки на отказ при использовании PC-архитектуры значительно возрастут, если применить довольно оригинальное решение — "изъятие" из PC-архитектуры важнейшего компонента — жесткого диска (HDD). Это, как известно, наиболее ненадежная часть компьютера. В жестких дисках много механических узлов, они чувствительны к температурному режиму, влажности, запыленности, имеют меньшее время наработки на отказ в ряду других устройств компьютера и быстрее стареют.
решение на основе Flash-технологии
В последние годы электронная промышленность представила на рынок компонентов компактные перезаписываемые устройства памяти, которые могут хранить данные при отключении питания. Они выполнены на основе так называемой Flash-технологии. Устройства для компьютеров из этого ряда называются Flash-картами. В последнее время появляется все больше Flash-карт для различных применений. Одна из разновидностей Flash-карты — устройство "Disk on Chip". Такая карта вставляется в IDE-разъем системной платы компьютера, а в ОС она встраивается как жесткий диск c IDE-интерфейсом. В компьютере, таким образом, реализуется подобие жесткого диска, построенного исключительно на электронных компонентах.
Однако, просто заменить HDD на Flash-карту не получается, потому что Flash-карты, сопоставимые по объему накапливаемой информации с HDD, стоят очень дорого (например, Flash-карта объемом 120 Мбайт стоит порядка 700$). Но небольшие по объему Flash-карты стоят дешево. Flash-карта объемом 4 Мбайт стоит около 30$. Проблема, таким образом, сводится к следующему, — можно ли, имея столь небольшой объем накопителя, построить полноценное устройство? Если ОС решает много универсальных задач, то системе требуется большой объем для полноценной работы (например, минимальная инсталляция ОС UNIX FreeBSD занимает около 40 МБайт, а полная — около 500 МБайт). Если же система строится для решения узко профильных задач, то ее объем можно значительно сократить, оставив только самые необходимые для решаемой задачи компоненты.
Именно эту такая задача и была поставлена — построить систему на основе PC-компьютера с использованием Flash-карты объемом не более 4 Мбайт. Система должна обеспечить маршрутизацию IP-потоков (два потока 10Мбит через Ethernet-интерфейсы), произвести вывод локальной сети с Интранет-адресами (порядка 150 компьютеров под управлением ОС Windows) в глобальную сеть Интернет, обеспечить защиту локальной сети от нежелательного трафика и атак из Интернета.
За основу решения была взята ОС UNIX FreeBSD, как наиболее развитая и стабильная ОС для PC. Кроме того, эта ОС некоммерческая и поставляется с исходными текстами, что позволяет создавать на ее основе разные версии. Одна из них — PicoBSD — представляет собой минимальный FreeBSD-сервер на одной дискете объемом 1.44 Мбайт. Авторы PicoBSD предлагают загрузить на дискету различные образы (маршрутизатор, сервер доступа по выделенным линиям и др.), специальной утилитой "развернуть" их на дискете и использовать. Для работы с Flash и IDE поставляемый разработчиками продукт не предназначен.
В ходе решения задачи комплект PicoBSD был переработан:
- ядро системы преобразовано для работы с IDE устройствами;
- изменены компоненты компиляции системы и сценарии загрузки;
- параметры системы, формирующейся в результате сборки, преобразованы под размер Flash-карты.
В результате модификации комплект PicoBSD стал пригодным для управления Flash-картами.
результаты
Создана работоспособная система, в которой роль жесткого диска выполняет Flash-карта объемом 4 Мбайт. Логика работы системы такова: на Flash-карте хранится сжатое ядро и образ файловой системы, а также архив конфигурационных файлов. При загрузке система разжимает c Flash-карты ядро ОС, загружает его и создает в оперативной памяти новую файловую систему. После этого, образ файловой системы с Flash-карты разжимается и передается в созданную файловую систему. Вся работа с системой строится в памяти — система обращается к Flash карте только во время загрузки и изменения конфигурационных файлов. Это позволяет получить большое время работы "на отказ", т. к. число операций обращения к Flash-карте (чтение/запись) минимально. Конфигурация системы хранится на Flash-карте, и поэтому, при сбоях по питанию, система корректно восстанавливается.
Проведенные испытания показали, что система вполне справляется с решением возложенных на нее задач, и представляет собой полноценную систему маршрутизации и межсетевой защиты на основе PC, повышенной архитектурной надежности (без движущихся частей) и невысокой стоимости (около 200-300$). Она безотказно работает при неблагоприятных внешних условиях (неотапливаемая площадка антенного комплекса).
В процессе испытаний и исследований системы выявлены следующие свойства:
- система исключительно защищена от атак и взломов из Интернет, т. к. содержит в себе только необходимые компоненты. (В отличие от "классической" FreeBSD здесь отсутствуют программы-демоны, несущие потенциальную опасность взлома: sendmail, syslog, inetd и др.);
- система содержит компактное минимальное ядро, доступ к которому строго регламентирован. Для конфигурирования используется шифрованный канал ssh.
- система компактна: на Flash-карте реально используется около 2 MБайт.
- система "мобильна". Комплект программ и ядро, входящие в систему легко модифицируются под конкретные задачи подготавливаемого решения (это могут быть различные системы маршутизации, слежения, анализа и т. п.).
- систему можно применять при неблагоприятных внешних условиях (запыленность, повышенная влажность, резкие перепады температур, вибрация), например, в промышленных цехах, в не отапливаемых производственных помещениях.
Дмитрий Новиков
обсуждение статьи
Сетевые решения. Статья была опубликована в номере 02 за 2003 год в рубрике решения