3. PC-роутеры

PC-роутер--это IBM PC, ниже среднего класса (по сегодняшним меркам), без монитора, клавиатуры и гибкого диска, с операционной системой ОС Linux и свободным программным обеспечением для ОС Linux. Во время подготовки к установке в городскую телекоммуникационную систему PC-роутер снабжается сетевой периферией (комплектность зависит от применения), а его программное обеспечение конфигурируется так, чтобы:

Таким образом, PC-роутер-специализированная ПЭВМ, которая в различных конфигурациях реализует разнообразные функциональные устройства в городской телекоммуникационной сети. При этом стоимость любого такого устройства весьма скромная: $400-$1,000.

Подчеркнем высокую модульность данного подхода к реализации системы: большая часть городской системы телекоммуникаций построена из:

3.1 Аппаратура PC-роутера

3.1.1 Базовый комплект аппаратуры

Базовым комплектом аппаратуры РС-роутера:

При закупке только новых комплектующих, доступных на компьютерном рынке, получаем следующую оценку стоимости базового комплекта аппаратуры PC-роутера:

Таблица 1. Базовый комплект аппаратуры PC-роутера

корпус minitower с блоком питания $30
материнская плата SIS 496 PCI $60
процессор AMD 486DX4-100 $35
SIMM 72 pin 8 MB $35
HDD 850 MB $160
ИТОГО $320

3.1.2 Интерфейсная аппаратура PC-роутера

Интерфейсное оборудование PC-роутера предназначено для подключения обслуживаемых им каналов и устройств. Их состав и количество определяется конкретным применением PC-роутера.

В качестве интерфейсной аппаратуры рекомендуем использовать следующие изделия(4):

Таблица 2. Интерфейсная аппаратура PC-роутера

Назначение Изделие Цена
Интерфейс локальной сети сетевая карта Ethernet 10Mbps NE2000 ISA $20
сетевая карта Ethernet 10Mbps NE2000 PCI $20
сетевая карта Ethernet 10Mbps NE2100 PCI $20
сетевая карта Ethernet 10Mbps 3C509 ISA $70
сетевая карта Ethernet 100Mbps DEC21140 PCI $76
сетевая карта Ethernet 100Mbps 3C595 PCI $100
Подключение модемов (асинхронные порты) интерфейсная плата Titan 9006, 4═x═RS-232C, FIFO, ISA $85
интерфейсная плата SCS-16, 16═x═RS-232C, FIFO, ISA (собственная разработка лаборатории Ботик) $250
Подключение синхронных модемов интерфейсная плата SDL Riscom N2, 2xV.35, до 4 Mbps, ISA $1,000
Каналы Radio-Ethernet сетевая карта RadioEthernet WaveLAN 2.4GHz, 2Mbps, ISA $900

Параллельные и асинхронные последовательные порты, как правило, присутствующие в базовом комплекте аппаратуры PC-роутера, также могут использоваться для подключения каналов и устройств.

Выше перечислена всего лишь та часть из возможного интерфейсного оснащения PC-роутера, которая представляется нам наиболее осмысленной на сегодняшнем этапе развития городских телекоммуникационных подсистем.

Заметим, что PC-роутер обладает необычайными гибкостью и возможностями наращивания производительности своей интерфейсной части и поддержки всевозможных интерфейсов и протоколов. Так, уже сегодня интерфейсная часть PC-роутера может поддерживать 100Base-T, FDDI, ATM и пр.(5) Однако широкое использование этих телекоммуникационных технологий в городских телекоммуникационных системах представляется сейчас в большинстве случаев преждевременным.

3.1.3 Специальные возможности и аппаратура watchdog

PC-роутер (при любом аппаратном и программном наполнении) выполнен так, что операция ре-инициализации (сброс или отключение-включение питания):

Таким образом:

  1. не требуется снабжать PC-роутеры средствами бесперебойного электропитания;
  2. не требуется никаких специльных знаний у местного персонала--выполнения операции "отключение-включение питания" можно доверить практически любому.

Более того, для более быстрого восстановления работоспособности "подвисшего" PC-роутера без вмешательства местного персонала, настоятельно рекомендуется во всех PC-роутерах устанавливать специальную аппаратуру (так называемый watchdog) слежения за работоспособностью PC-роутера и автоматического восстановления (ре-инициализации) "подвисшего" PC-роутера.

Снабженный watchdog-аппаратурой PC-роутер является предельно надежным необслуживаемым сетевым устройством и не предполагает наличия персонала в точке его расположения.

3.1.3.1 Назначение программно-аппаратного комплекса Watchdog

Программно-аппаратный комплекс watchdog предназначен для:

3.1.3.2 Принципы реализации и программная часть комплекса watchdog

Слежение за работоспособностью системы и выработка сигнала о нормальной работе системы (далее--О'К) реализовано программно: в PC-роутере запускается watchdog-драйвер--Unix-процесс, постоянно следящий за исправностью системы. Конкретный набор выполняемых проверок зависит от конфигурации и периферии PC-роутера.

Пока условие "все работает нормально" выполняется, данный процесс (watchdog-драйвер) с некоторым периодом t выдает аппаратный сигнал О'К на интерфейс watchdog-аппаратуры.

Аппаратная часть watchdog вырабатывает сигнал Reset в случае, если в течение периода Т═>═t не поступил сигнал О'К подтверждения нормальной работы системы. Таким образом, вне зависимости от причин сбоя (аппаратное "зависание", программные ошибки), потерянная работоспособность PC-роутера будет гарантированно восстановлена без вмешательства персонала.

Для передачи от watchdog-драйвера к watchdog-аппаратуре сигнала О'К использован стандартный разъем для подключения внутреннего динамика IBM PC--разъем speaker, присутствующий на материнских платах всех типов. Такое решение обусловлено желанием исключить доработку материнских плат и не занимать стандартные разъемы шины, которые являются критичным ресурсом PC-роутера, так как их можно использовать для подключения сетевой периферии. Использование разъема speaker как интерфейса между драйвером и аппаратурой watchdog:

3.1.3.3 Аппаратная часть комплекса Watchdog

Рисунок 1. Функциональная схема аппаратуры Watchdog

Функционально Watchdog представляет собой одновибратор и состоит из двух узлов (см. Рисунок 1):

Частота генератора--5.5 +/- 0.5 КГц, что позволяет получить на выходе делителя сигнал с периодом Т около 3═мин. Такая величена задержки необходима для того, чтобы watchdog дождался (не сделал сброса) выполнения загрузки операционной системы, запуска watchdog-драйвера и получения первого сигнала О'К от него.

После запуска программного обеспечения, watchdog-драйвер вырабатывает сигнал О'К с периодичностью t═<═T. Этот сигнал сбрасывает в ноль счетчик watchdog-аппаратуры. При отсутствии сигнала сброса в течение периода T счетчик переполняется и аппаратура watchdog вырабатывает сигнал Reset--производит перезагрузку системы.

Сброс счетчика watchdog-аппаратуры (установка его в нулевое состояние) происходит также:

Для индикации работы watchdog-аппаратуры используется светодиод TurboLED (сигнал LED ).

3.1.3.4 Принципиальная схема аппаратуры Watchdog29.06.98

29.06.98
в схему аппаратной чати Watcdog внесены следующие изменения:

  1. увеличена частота мигания светодиодом TurboLED;
  2. изменена схема сброса от сигнала О'К (добавлен транзистор VT1 для усиления и инвертирования сигнала)

Это повысило удобство контроля работоспособности Watcdoga и позволило использовать аппаратуру с материнскими платами, на которых сигнал на выходе разъема speaker имет небольшую амплитуду.

Рисунок 2. Принципиальная схема аппаратуры Watchdog 29.06.98

Схема watchdog (см. Рисунок 2) реализована на распространенной специализированной часовой микросхеме К176ИЕ12, имеющей в своем составе два инвертора и два делителя на 32768 и 60. Это позволило обойтись при проектировании одним корпусом.

Генератор реализован на двух инверторах микросхемы DD1 (выводы 12, 13, 14) и внешних элементах R8, C3 и C4, задающих частоту генерации. Частота генератора подобрана достаточно высокой для обеспечения стабильности генерации и облегчения запуска генератора.

Счетчик собран на делителях микросхемы DD1, включенных последовательно.

Для индикации работы watchdog использован светодиод Turbo LED корпуса системного блока, мигающий с частотой взятой с выхода делителя на 32768.

Сигнал Reset вырабатывается при появлении "1" на выходе делителя на 60 (вывод 4). Формирование сигнала производится транзисторами VT3 и VT4. Использование двух транзисторов позволяет подключать разъем reset с произвольной полярностью. Сигнал Reset держится включенным в течение 1/120 T, а затем происходит сброс счетчика и снятие сигнала Reset. Это реализовано на транзисторе VT2, выполняющем функции логического "И" с одним инвертированным входом.

На диодах VD1, VD2 и транзисторе VT1 собран трехвходовый логический элемент "ИЛИ". Отключение watchdog производится кнопкой Turbo корпуса системного блока, при этом происходит установка на входе сброса счетчика логической единицы.

При установке watchdog-аппаратуры и подключении ее к материнской плате PC-роутера следует учитывать полярность разъемов Speaker и TurboLED.

В случае отсутствия земли на разъеме Speaker материнской платы можно использовать контакт земли с разъема reset. Для этого следует вместо транзистора VТ4 установить перемычку между его коллектором и эмиттером. После такой переделки следует особенно внимательно следить за полярностью подключения watchdog-аппаратуры к разъемам Speaker и Reset.

Спецификация деталей платы Watchdog приведенa в таблице 3.

Таблица 3 Спецификация деталей платы Watchdog 29.06.98

Позиция Обозначение Наименование Кол. Примечание
Конденсаторы
1 C1,C2,C5 КМ-6-25В-100нФ 3
2 C3 КМ-6-25В-220пФ 1
3 C4 КМ-6-25В-3нФ 1
Микросхема
4 DD1 К176ИЕ12 1
Резисторы
5 R1,R12 МЛТ 0,125Вт-180 Ом 5% 2
6 R2 МЛТ 0,125Вт-1 кОм 5% 1
7 R3,R4,R5 МЛТ 0,125Вт-100 кОм 5% 3
8 R6,R7,R9-R11 МЛТ 0,125Вт-20 кОм 5% 5
9 R8 МЛТ 0,125Вт-200 кОм 5% 1
10 R13 МЛТ 0,125Вт-51 Ом 5% 1
Транзисторы
11 VT1,VT2 КТ3107Б 2 КТ3107
12 VT3-VT5 КТ3102Е 3 КТ3102Г,Д
Диоды
13 VD1,VD2 КД522 2
Разъемы
14 XP2 4-х штырьковый 1
15 XP3,XP4 2-х штырьковыe 2

При аккуратной сборке watchdog по схеме (см. Рисунок 2) с соответствующими номиналами (см. Таблица 3) схема не требует наладки.

3.1.3.5 Дополнительные возможности Watchdog

Заметим, что среди прочего установка watchdog в PC-роутер повышает дистанционную управляемость системы: администратор получает средство удаленного выполнения жесткого сброса любого PC-роутера-для этого достаточно остановить watchdog-драйвер и через время Т PC-роутер будет жестко ре-инициализирован.

3.1.3.6 Конструкторская документация 29.06.98

Ниже приведено изображение печатной платы watchdog в увеличенном массштабе. Печатная плата выполнена односторонней, с контактными площадками увеличенного диаметра и широкими (0.65 мм) проводниками. Это позволяет при необходимости воспроизвести ее в кустарных условиях. К контактам XS1 и XS2 следует припаять проводники, заканчивающиеся соответствующими разъемами, пля подключения к материнской плате. Более полную конструкторскую документацию следует смотреть в Приложении 5.

3.2 Программное обеспечение и функции PC-роутера

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

В качестве операционной системы (ОС) PC-роутера использована ОС Linux--свободный клон ОС UNIX. Ядро Linux обеспечивает маршрутизацию IP-пакетов, фильтрацию пакетов (IP firewalling), подсчет пакетов (IP accounting), и работу с различными типами сетевых интерфейсов и протоколов. Нами использовались:

3.2.2 Поддержка устойчивости PC-роутера к отключению питания

В общем случае внезапные выключения Unix-компьютера могут привести к нарушениям корректности файловой системы. Повреждения возникают из-за того, что операции с файловой системой не являются неделимыми; например, модификация файла включает в себя изменение как блоков файла, так и описателя файла (i-node), списка свободных блоков и т.д., которые записываются на диск несколькими раздельными операциями записи. После выполнения первой из операций и вплоть до завершения последней файловая система на диске находится в промежуточном, переходном состоянии; если в этот момент произойдет выключение, файловая система так и останется в некорректном состоянии и будет требовать починки (fsck).

Во многих случаях повреждения оказываются несерьезными, так что при загрузке системы возможна автоматическая починка без потери файлов (fsck -a). Тем не менее, существует вероятность серьезного повреждения, которое потребует починки в ручном режиме и, возможно, восстановления потерянных файлов. Поэтому допускать повреждения файловой системы PC-роутера нельзя, ибо это противоречит принципу необслуживаемости изделия.

Нами предложено следующее решение данной проблемы. Поскольку повреждения возникают исключительно как результат незавершенных операций записи на диск, мы можем избежать повреждений, работая с диском в режиме "только на чтение" (read-only, r/o). Однако просто смонтировать весь диск read-only нельзя, поскольку для полноценной работы системы требуется, чтобы некоторые каталоги (/tmp, /var/run, /var/log, ...) работали в режиме "чтение и запись" (read/write, r/w). При этом записываемая в эти каталоги информация носит преходящий характер (временные файлы, .pid файлы, файлы с отладочными протоколами и т.д.) Поэтому полноценное решение проблемы выглядит так:

  1. Диск PC-роутера разбиваем на два раздела, один read-only, другой read/write, и файловое дерево распределяем между разделами так, чтобы требующие модификации каталоги находились на втором из них;
  2. Поскольку r/w раздел при выключении машины повреждается, при загрузке системы мы создаем его (mkfs) заново и инициализируем с мастер-копии, хранящейся на корневом разделе.

Детально реализация устойчивости PC-роутера к отключению питания в произвольные моменты времени обсуждается в приложении "Обеспечение целостности файловой системы при внезапных выключениях роутера".

3.2.3 IP-маршрутизация, фильтрация IP-пакетов

Для многих применений PC-роутеров достаточно статической маршрутизации, но возможен и запуск на PC-роутере демона динамической маршрутизации (gated, протоколы BGP-4, OSPF-2).

Может быть поддержана (ipfwadm) и фильтрация IP-пакетов

3.2.4 Ethernet-бриджинг

Ядро Linux поддерживает работу PC-роутера в режиме моста (bridge), позволяя объединять сегменты Ethernet в единую логическую сеть. При этом поддерживается протокол IEEE Spanning Tree 802.1d, позволяющий вносить избыточность в граф сети с целью повышения устойчивости к отказам отдельных сегментов сети.

3.2.5 IPX-маршрутизация

Linux поддерживает работу PC-роутера в режиме IPX-маршрутизатора (IPX router specification v1.20). Также поддерживается передача IPX пакетов по PPP-каналам, и туннелирование IPX-in-IP. Поддержана фильтрация IPX-пакетов.

3.2.6 Сервер безопасности (firewall)

Возможна организация на базе PC-роутера сервера безопасности (firewall), обеспечивающего строгую регламентацию доступа к машинам обслуживаемой сети из внешнего мира.

3.2.7 Дополнительные функции PC-роутера

3.2.7.1 Статистический учет

PC-роутер может выполнять статистический учет (ipfwadm-2.3) по IP/IPX-трафику и по использованию модемного пула.

3.2.7.2 Кэширующий nameserver

При невысокой скорости линии связи между локальной сетью и внешним миром, время разрешения доменных имен (преобразования имен в IP-номера) для машин локальной сети может быть существенно улучшено за счет запуска на PC-роутере демона named в кэширующем режиме.

3.2.7.3 Спулер печати

Подключение к PC-роутеру принтера позволяет использовать его как сетевой принтер. Причем возможна организация преобразования данных перед печатью, например, из формата Postscript в формат команд принтера.

3.2.7.4 Терминальный сервер, обслуживание модемного пула

В СТ "Ботик" модемный пул подключен не к центральному серверу, а к PC-роутеру trub-router, достаточно удаленному от центрального сервера (6 км, два IP-перехода: 10Base-FL и RadioEthernet).

Таким образом, среди прочего данный PC-роутер работает и как терминальный сервер. Он обслуживает 16 асинхронных портов с модемами, обрабатывает входные звонки dial-up пользователей и организует передачу "по IP-тунелям" потоков данных от модемов к центральному серверу. Реально же ("содержательно") работает с dial-up пользователями центральный сервер.

По этой же схеме организован прием FAX-сообщений на этот же модемный пул.

Организация терминального сервера на PC-роутере весьма эффективное решение. Оно позволяет освободить центральный сервер от обработки многочисленных прерываний от асинхронных портов и разместить модемный пул там, где это удобно.

Заинтересованному читателю рекомендуем сравнить функции и цены PC-роутера trub-router с его "железным" фирменным аналогом--претендентом в номинации "продукты для компьютерной связи" на выставке "Comdex/Spring'97" (см. http://www.equinox.com/termserv/termserv.html).

3.2.8 Удаленная конфигурация роутера

Удаленная конфигурация роутера производится в режиме терминального доступа по протоколам telnet или rlogin/rsh. Возможно также использование протокола SNMP.


Замечания, предложения и вопросы направляйте на tech@botik.ru