PC-роутер--это IBM PC, ниже среднего класса (по сегодняшним меркам), без монитора, клавиатуры и гибкого диска, с операционной системой ОС Linux и свободным программным обеспечением для ОС Linux. Во время подготовки к установке в городскую телекоммуникационную систему PC-роутер снабжается сетевой периферией (комплектность зависит от применения), а его программное обеспечение конфигурируется так, чтобы:
Таким образом, PC-роутер-специализированная ПЭВМ, которая в различных конфигурациях реализует разнообразные функциональные устройства в городской телекоммуникационной сети. При этом стоимость любого такого устройства весьма скромная: $400-$1,000.
Подчеркнем высокую модульность данного подхода к реализации системы: большая часть городской системы телекоммуникаций построена из:
Базовым комплектом аппаратуры РС-роутера:
При закупке только новых комплектующих, доступных на компьютерном рынке, получаем следующую оценку стоимости базового комплекта аппаратуры PC-роутера:
корпус minitower с блоком питания | $30 |
материнская плата SIS 496 PCI | $60 |
процессор AMD 486DX4-100 | $35 |
SIMM 72 pin 8 MB | $35 |
HDD 850 MB | $160 |
ИТОГО | $320 |
Интерфейсное оборудование PC-роутера предназначено для подключения обслуживаемых им каналов и устройств. Их состав и количество определяется конкретным применением PC-роутера.
В качестве интерфейсной аппаратуры рекомендуем использовать следующие изделия(4):
Назначение | Изделие | Цена |
Интерфейс локальной сети | сетевая карта 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) Однако широкое использование этих телекоммуникационных технологий в городских телекоммуникационных системах представляется сейчас в большинстве случаев преждевременным.
PC-роутер (при любом аппаратном и программном наполнении) выполнен так, что операция ре-инициализации (сброс или отключение-включение питания):
Таким образом:
Более того, для более быстрого восстановления работоспособности "подвисшего" PC-роутера без вмешательства местного персонала, настоятельно рекомендуется во всех PC-роутерах устанавливать специальную аппаратуру (так называемый watchdog) слежения за работоспособностью PC-роутера и автоматического восстановления (ре-инициализации) "подвисшего" PC-роутера.
Снабженный watchdog-аппаратурой PC-роутер является предельно надежным необслуживаемым сетевым устройством и не предполагает наличия персонала в точке его расположения.
Программно-аппаратный комплекс watchdog предназначен для:
Слежение за работоспособностью системы и выработка сигнала о нормальной работе системы (далее--О'К) реализовано программно: в PC-роутере запускается watchdog-драйвер--Unix-процесс, постоянно следящий за исправностью системы. Конкретный набор выполняемых проверок зависит от конфигурации и периферии PC-роутера.
Пока условие "все работает нормально" выполняется, данный процесс (watchdog-драйвер) с некоторым периодом t выдает аппаратный сигнал О'К на интерфейс watchdog-аппаратуры.
Аппаратная часть watchdog вырабатывает сигнал Reset в случае, если в течение периода Т═>═t не поступил сигнал О'К подтверждения нормальной работы системы. Таким образом, вне зависимости от причин сбоя (аппаратное "зависание", программные ошибки), потерянная работоспособность PC-роутера будет гарантированно восстановлена без вмешательства персонала.
Для передачи от watchdog-драйвера к watchdog-аппаратуре сигнала О'К использован стандартный разъем для подключения внутреннего динамика IBM PC--разъем speaker, присутствующий на материнских платах всех типов. Такое решение обусловлено желанием исключить доработку материнских плат и не занимать стандартные разъемы шины, которые являются критичным ресурсом PC-роутера, так как их можно использовать для подключения сетевой периферии. Использование разъема speaker как интерфейса между драйвером и аппаратурой watchdog:
Рисунок 1. Функциональная схема аппаратуры Watchdog
|
Функционально Watchdog представляет собой одновибратор и состоит из двух узлов (см. Рисунок 1):
Частота генератора--5.5 +/- 0.5 КГц, что позволяет получить на выходе делителя сигнал с периодом Т около 3═мин. Такая величена задержки необходима для того, чтобы watchdog дождался (не сделал сброса) выполнения загрузки операционной системы, запуска watchdog-драйвера и получения первого сигнала О'К от него.
После запуска программного обеспечения, watchdog-драйвер вырабатывает сигнал О'К с периодичностью t═<═T. Этот сигнал сбрасывает в ноль счетчик watchdog-аппаратуры. При отсутствии сигнала сброса в течение периода T счетчик переполняется и аппаратура watchdog вырабатывает сигнал Reset--производит перезагрузку системы.
Сброс счетчика watchdog-аппаратуры (установка его в нулевое состояние) происходит также:
Для индикации работы watchdog-аппаратуры используется светодиод TurboLED (сигнал LED ).
29.06.98
в схему аппаратной чати Watcdog внесены следующие изменения:
Это повысило удобство контроля работоспособности 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.
Позиция | Обозначение | Наименование | Кол. | Примечание |
Конденсаторы | ||||
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) схема не требует наладки.
Заметим, что среди прочего установка watchdog в PC-роутер повышает дистанционную управляемость системы: администратор получает средство удаленного выполнения жесткого сброса любого PC-роутера-для этого достаточно остановить watchdog-драйвер и через время Т PC-роутер будет жестко ре-инициализирован.
Ниже приведено изображение печатной платы watchdog в увеличенном массштабе. Печатная плата выполнена односторонней, с контактными площадками увеличенного диаметра и широкими (0.65 мм) проводниками. Это позволяет при необходимости воспроизвести ее в кустарных условиях. К контактам XS1 и XS2 следует припаять проводники, заканчивающиеся соответствующими разъемами, пля подключения к материнской плате. Более полную конструкторскую документацию следует смотреть в Приложении 5.
В качестве операционной системы (ОС) PC-роутера использована ОС Linux--свободный клон ОС UNIX. Ядро Linux обеспечивает маршрутизацию IP-пакетов, фильтрацию пакетов (IP firewalling), подсчет пакетов (IP accounting), и работу с различными типами сетевых интерфейсов и протоколов. Нами использовались:
В общем случае внезапные выключения Unix-компьютера могут привести к нарушениям корректности файловой системы. Повреждения возникают из-за того, что операции с файловой системой не являются неделимыми; например, модификация файла включает в себя изменение как блоков файла, так и описателя файла (i-node), списка свободных блоков и т.д., которые записываются на диск несколькими раздельными операциями записи. После выполнения первой из операций и вплоть до завершения последней файловая система на диске находится в промежуточном, переходном состоянии; если в этот момент произойдет выключение, файловая система так и останется в некорректном состоянии и будет требовать починки (fsck).
Во многих случаях повреждения оказываются несерьезными, так что при загрузке системы возможна автоматическая починка без потери файлов (fsck -a). Тем не менее, существует вероятность серьезного повреждения, которое потребует починки в ручном режиме и, возможно, восстановления потерянных файлов. Поэтому допускать повреждения файловой системы PC-роутера нельзя, ибо это противоречит принципу необслуживаемости изделия.
Нами предложено следующее решение данной проблемы. Поскольку повреждения возникают исключительно как результат незавершенных операций записи на диск, мы можем избежать повреждений, работая с диском в режиме "только на чтение" (read-only, r/o). Однако просто смонтировать весь диск read-only нельзя, поскольку для полноценной работы системы требуется, чтобы некоторые каталоги (/tmp, /var/run, /var/log, ...) работали в режиме "чтение и запись" (read/write, r/w). При этом записываемая в эти каталоги информация носит преходящий характер (временные файлы, .pid файлы, файлы с отладочными протоколами и т.д.) Поэтому полноценное решение проблемы выглядит так:
Детально реализация устойчивости PC-роутера к отключению питания в произвольные моменты времени обсуждается в приложении "Обеспечение целостности файловой системы при внезапных выключениях роутера".
Для многих применений PC-роутеров достаточно статической маршрутизации, но возможен и запуск на PC-роутере демона динамической маршрутизации (gated, протоколы BGP-4, OSPF-2).
Может быть поддержана (ipfwadm) и фильтрация IP-пакетов
Ядро Linux поддерживает работу PC-роутера в режиме моста (bridge), позволяя объединять сегменты Ethernet в единую логическую сеть. При этом поддерживается протокол IEEE Spanning Tree 802.1d, позволяющий вносить избыточность в граф сети с целью повышения устойчивости к отказам отдельных сегментов сети.
Linux поддерживает работу PC-роутера в режиме IPX-маршрутизатора (IPX router specification v1.20). Также поддерживается передача IPX пакетов по PPP-каналам, и туннелирование IPX-in-IP. Поддержана фильтрация IPX-пакетов.
Возможна организация на базе PC-роутера сервера безопасности (firewall), обеспечивающего строгую регламентацию доступа к машинам обслуживаемой сети из внешнего мира.
PC-роутер может выполнять статистический учет (ipfwadm-2.3) по IP/IPX-трафику и по использованию модемного пула.
При невысокой скорости линии связи между локальной сетью и внешним миром, время разрешения доменных имен (преобразования имен в IP-номера) для машин локальной сети может быть существенно улучшено за счет запуска на PC-роутере демона named в кэширующем режиме.
Подключение к PC-роутеру принтера позволяет использовать его как сетевой принтер. Причем возможна организация преобразования данных перед печатью, например, из формата Postscript в формат команд принтера.
В СТ "Ботик" модемный пул подключен не к центральному серверу, а к 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).
Удаленная конфигурация роутера производится в режиме терминального доступа по протоколам telnet или rlogin/rsh. Возможно также использование протокола SNMP.