Критические размышления о Linux Router Project

  Автор: © Mark Fevola
Перевод: © Иван Песин.


 

Размышляете об использовании Linux в качестве маршрутизатора? Эта статья сравнивает некоторые старые "одно-дискетные" маршрутизаторы с проектом Linux Router (LRP).

Несколько лет назад была компания, которая называлась MorningStar Technologies (не путать с финансовой фирмой ! ;), которая позже была куплена фирмой Ascend. Ascend - если я не ошибаюсь - купила Livingston, а Livingston, в свою очередь, была куплена Lucent, и так до омерзенья. Или это была CompaqDigitalMicrocom 3ComMegahertz ? Неважно.

MorningStar выпускала маршрутизаторы. Были такие две модели MorningStar Express FR и MorningStar Express Plus. И, что важно, они были дешевыми. Один из их многих конкурентов, Cisco Systems, продавала маршрутизатор за $2500. С той же функциональностью роутер от MorningStar стоил всего $1450. MSE FR представлял из себя тяжелую металлическую коробку, размером с лаптоп, только в "rack mountable" исполнении (в виде крепежной стойки). Plus же, вообще говоря, был совершенно другим зверем. Он представлял из себя 386SX ПК с 4Mб RAM (да-да!), 1.44MB дисководом, и платой RISCom ( == последовательный порт V.35, или "порт T1", http://www.sdlcomm.com/).

Как и маршрутизаторы фирмы Cisco, линейка MSE имела свой набор команд, исполняемых файлов и т.д., а разница заключалась в используемых платформах. Вы могли взять ПО от MSE, записать на одну 1.44 дискетку, вставить в любой ПК с соответствующим аппаратным обеспечением (установки IRQ и адреса портов должным были так же соответствовать) и вуаля - маршрутизатор "моментального приготовления" готов!

Был у меня такой случай. Мой MSE совершенно вышел из строя после скачка напряжения (я использовал кабели от NYNEX). У нас не было запасных маршрутизаторов и клиент оказался отключенным. В 1995 самое большое, на что мы могли рассчитывать - получить новый роутер на следующее утро за фантастическую цену. Но "на следующее утро" - это было СЛИШКОМ ДОЛГО для нашего клиента. Мне нужен был маршрутизатор, причем быстро. Ну так я его и сделал. Я взял 386DX (материнскую плату получил на местной BBS в обмен на модем, кажется) с 4Mб RAM, плату RISCom вытащил из MSE, и взял лицензионную копию BSDi 2.0. Это хозяйство держало выделенную линию 56K между Bangor, ME и Ellsworth, ME - около полутора лет. Имя хоста, кажется, было Sloth (лень) или Gluttony (ненасытность), но я не уверен. В любом случае, это пример того, как начинался Linux Router Project (LRP).

Надо еще вспомнить потрясающий и весьма странный маршрутизатор, который я назвал 'The F-Box.' 'F' означает Frankenstein. Я собрал его из наших запчастей. Это был роутер, который запускался с одной дискетки под DOS. Софт называется IPRoute ( http://www.mischler.com/iproute/), написан David F. Mischler. Еще мне понадобился драйвер сетевой карты (взял с http://www.crynwr.com/ и все уже готово. Если нужен контроль потока (управление трафиком, ограничение скорости) вы делаете это аппаратно: что бы ограничить Ethernet поток до 56K просто берете 286 ПК. Он просто не может работать быстрее. Используйте 386SX для ISDN скоростей, и т.д. Изучайте эмпирически свою ситуацию сами.

Суть в том, что в Один Прекрасный День, вы можете запихать порт V.35 в Unix-машину и моментально Unix машины превращается в маршрутизатор. Или вставить две сетевых карты и назвать это мостом. Конечно, ядро должно уметь работать с аппаратным обеспечением - раньше не было поддержки карт RISCom. Выбор между индустриальным стандартом Cisco и Linux машиной зависит от ситуации. Нужно думать о: накладных расходах, безопасности, цене, наборе команд, правилах фильтрации, помехах на линии, ограничении трафика, сложности, соотношении цена/производительность, и т.д., и т.п. Просто надо все взвесить и выбрать подходящий инструмент для конкретной для задачи. Впрочем, исследуйте сами ситуацию.

Я не внес сколько-нибудь значительного вклада в развитие и даже просто изучение проекта LRP ( linuxrouter.org org ), однако я хорошо знаком с "Materhorn Project [sic]". Я не знаю, почему они так называются. Это блестящая Linux-реализация, занимающая одну дискету (совсем как у MSE), но с набором команд Linux (как у BSDi-машины). FAQ можно найти здесь. Однако он не поддерживает стандартных команд Linux, таких как 'ifconfig' и 'route', а работает с командой 'ip', что означает необходимость изучения новых команд в любом случае.

Практически я не вижу большой разницы между MSE и Materhorn. Для малых сетей получаете RIP, NAT (маскарад) или DHCP. Но для больших сетей они не поддерживают gateD, и нет возможности строить маршруты между автономными системами (ASs). Исходный код gateD доступен, так что, я думаю, просто пока что до этого не дошли руки у LRP Borg. Дайте им время. Однако в отличие от MSE, Materhorn имеет петлевой интерфейс (loopback interface) - возможно это потому, что последний случай, обновления ПО MSE, который я могу вспомнить, был в 1995. И, наконец, еще одно отличие - это TFTP. У MSE он есть, в то время как у Materhorn -- нету.

Кроме LRP есть еще огромное множество устройств, аппаратов, систем и программного обеспечения выполняющих ту же функцию. Просто выросшая популярность и покровительство прессы, так же как и в деле Napster против Gnutella, Hotline, Scour, и т.д. поместили Linux в центр внимания как разработчиков, так и пользователей. Если вы слышали о Napster, знаете ли вы о Gnutella? Точно так же, если вы слышали о Linux - вы знаете о LRP. Есть множество других продуктов. Маршрутизаторы, основанные на DOS, например, являются однопоточными и, соответственно, намного более надежны и стабильны, чем любой продукт, основанный на Unix/Linux/Freenix системах. Выходила ли из строя когда-нибудь однофунциональная DOS система?

Вы поклонник NIST (национальный институт стандартов и технологий) ? Я стандартизировал мои Alpha и Intel сервера - они работают на одной версии Linux; на каждой машине в магазине стоит сетевая карта от SMC; все ПК работают под управлением одной и той же версии Win 98 (начинается нервное покашливание); а все маршрутизаторы -- фирмы Cisco. Это, если говорить о стандартизации. И когда Jackie из отдела продаж звонит и сообщает, что у нее не работает сеть, мы не спрашиваем какая у нее ОС, и мы не идем к ней, чтобы узнать тип сетевой карты, которая стоит у нее. У нас есть один CD и один набор драйверов для всех машин.

Сервера замечательно работают под Linux. Но должны ли мы ставить Linux на каждую машину в магазине? Каждый тип задач желательно стандартизировать - если вы собираетесь покупать один хаб Linksys, вы хотите, вообще говоря, что бы все ваши хабы были от Linksys. Если у вас маршрутизатор от Cisco, аналогично. Linux на бездисковых ПК в качестве роутера -- аналогично. Или, если вы не можете позволить себе Cisco, вы делаете компромисс: деньги на время: время, которое вам понадобиться на изучение команд LRP. Исключая случай, если у вас уже есть Linux на сервере!

Возможно, есть ситуации, когда нужен LRP, хотя лично я таковых не вижу (даже во встроенных системах). Microsoft желает, что бы ваш холодильник работал под управлением Windows CE; ну, разработчики Linux делают примерно тоже самое. С одной стороны - это хорошо, с другой - плохо. С моей точки зрения, LRP - это куча разработчиков, которые тратят зря свое время. Я надеюсь, при этом, они хотя бы получают удовольствие.

 


Copyright © 2001, Mark Fevola.
Copying license http://www.linuxgazette.com/copying.html
Published in Issue 64 of Linux Gazette, March 2001

Вернуться на главную страницу