Архивы: по дате | по разделам | по авторам

Маршрутизатор под OS/2

Архив
автор : ВИКТОР МЕТЕЛИЦА    29.09.1997

Если бы существовала среда с безграничной пропускной способностью, способная обеспечить непосредственную связь всех компьютеров друг с другом в одной сети, никаких маршрутизаторов бы не понадобилось. В реальности же мы зачастую не можем обеспечить такую связь даже в пределах одного здания. Физические пределы, соображения надежности и безопасности заставляют дробить сети на подсети. Маршрутизаторы же выступают в роли некоего клея, их объединяющего.

Что это такое - маршрутизатор? Это компьютер, имеющий несколько сетевых интерфейсов, причем разные интерфейсы принадлежат разным сетям. (Всякого рода аппаратные маршрутизаторы, наподобие тех, что выпускают Bay Networks и Cisco, тоже являются компьютерами, пусть и специализированными.) Задача маршрутизатора - переправлять пакеты данных между интерфейсами. Сетевые интерфейсы могут быть разными - сетевые карты Ethernet, модемы на выделенных и коммутируемых линиях, X.25 PAD, ISDN и т. д.

В зависимости от сложности сети, нам требуется либо статическая, либо динамическая маршрутизация, либо их сочетание. Статическая маршрутизация применяется тогда, когда пути следования пакетов можно задать заранее. Один из жизненных примеров: сеть на тонком коаксиальном кабеле очень ненадежна, и, чтобы хоть немного повысить надежность, где-то в середине ее поставили компьютер с двумя сетевыми интерфейсами. Другой пример - подключение локальной сети к провайдеру Internet. Здесь известно, что все пакеты, не относящиеся к данной локальной сети, надо передать провайдеру, а он уже сам должен с ними разбираться.

Когда нужна динамическая маршрутизация? Возьмем такой пример, чисто учебный (рис. 1). Пусть у нас имеются три сети (A, B и C), каждая из которых соединена с каждой маршрутизаторами по выделенной линии. Фактически, кстати, возникают еще три сети - это соединения AB, BC и AC (обозначим их AB, BC и AC). Из сети A мы желаем работать с компьютером в B. Пакеты могут достигнуть его двумя путями: либо через выделенную линию AB, либо проходя через AC, сеть C и далее через BC. Мы можем воспользоваться статической маршрутизацией и жестко задать маршрут (пакеты для B передавать только через AB), но хочется, чтобы при возможном разрыве связи AB пакеты автоматически пошли по альтернативному пути, а при восстановлении связи был восстановлен старый путь. Это и есть динамическая маршрутизация. Программы-демоны должны следить за состоянием сети и автоматически находить наиболее выгодный маршрут.

Наиболее часто для маршрутизации используются разного рода версии Unix. Однако это совершенно необязательно, и в некоторых местах эту роль могут сыграть другие операционные системы. Я взялся написать об использовании в качестве маршрутизатора машины с операционной системой OS/2. Честно говоря, при детальном рассмотрении темы я почувствовал себя довольно неуверенно. Для меня машина с OS/2 - это сервер, на котором работает уйма различных программ и сервисов: DNS, DHCP, POP3-сервер, WWW-сервер, news-сервер, SQL-сервер DB2, proxy разного сорта, а также пара фидошных мэйлеров в придачу, один из которых работает по телефонной линии, а другой, точно такой же, при помощи VModem работает по TCP/IP. То, что она еще и занимается маршрутизацией в сети, для меня как бы "бесплатная добавка". При рассмотрении ее в качестве "выделенного" маршрутизатора выяснилось, что Linux она все-таки кое в чем уступает, однако работать с ней можно.

Для чего же не годится OS/2? Прежде всего заметим, что IPX она маршрутизировать не будет. Конечно, IPX сейчас уже не актуален, но любители некоторых сетевых игрушек будут разочарованы. Единственный протокол, который она будет маршрутизировать, - это TCP/IP.



Рисунок 1.

Второе замечание: нет службы WINS, того, что IBM называет "NetBIOS Name Server". Эквивалент для OS/2 существует, но в стандартную поставку не входит и стоит чрезвычайно дорого. (Смотрите о Shadow Netbios Name Server by Network Telesystems страничку http://www.software.ibm.com/os/warp/pspinfo/ wspr19.html). Если локальная Ethernet-сеть разбита на сегменты, в отсутствие WINS пользователям Windows 95 придется описывать машины в чужих сегментах в своих файлах lmhosts. Конечно, это не так уж и трудно. Этот файл (lmhosts) содержит IP-адреса машин и их соответствие NetBIOS-именам машин (то есть именам машин в сети Microsoft Windows, как это называет фирма Microsoft). По своей сути он похож на файл hosts, в нем должны быть описаны все машины в чужих подсетях, чьи ресурсы вы желаете видеть. Пример такого файла, под названием lmhosts.sam, находится в системном каталоге Windows. Кстати, DHCP в сети без WINS лучше не пользоваться, поскольку в lmhosts, понятное дело, надо указывать статические адреса.

Третье замечание - коммутируемые линии. В стандартной поставке нет "звонильщиков", которые умеют "dial on demand" (то есть "звонить по необходимости"). Эту возможность имеет пакет InJoy (это звонилка, dialer, с неайбиэмовской реализацией PPP и SLIP), но его надо приобретать отдельно (см. http://www.fx.dk). Он выпускается в трех вариантах: InJoy Basic Client, InJoy Extended Client и InJoy Professional Enterprise Server/Client. Второй и третий варианты поддерживают dial on demand и IP masquerading (это трансляция сетевых адресов, нечто, напоминающее proxy). Существует еще бесплатный sockd - брандмауэр (firewall), который, кроме всего прочего, судя по документации, может автоматически запускать звонилку. Его можно получить на http://hobbes.nmsu.edu, архив называется sockd.zip.



Рисунок 2.

Четвертое замечание - по поводу драйверов. К некоторым сетевым интерфейсам (вроде RadioEthernet) они могут даже вообще не существовать.

Пятое замечание - по поводу динамической маршрутизации. Для OS/2 существует только routed (то есть поддержка RIP), а более новый демон gated не существует.



Рисунок 3.

Более или менее твердо можно утверждать, что OS/2 годится для статической маршрутизации в локальных Ethernet-сетях и для связи с помощью модемов по выделенной линии. Во многих случаях этого вполне достаточно. По коммутируемой линии даже без наличия InJoy Extended Client работать тоже будет можно, но здесь придется изворачиваться. (Автоматически по обращению клиента стандартный айбиэмовский PPP dialer звонить не будет, однако можно будет попытаться явно передать ему какой-нибудь сигнал, чтобы попросить его об этом. Потребуется писать скрипт, который в бесконечном цикле будет ожидать некоего условия и при его выполнении заставлять PPP звонить. Условием могут служить семафоры, сбрасываемые скриптами CGI Web-сервера, или данные, переданные по именованному каналу с другой машины, или наличие заданного файла в заданном каталоге, - вариантов может быть много.) Динамическая маршрутизация при помощи routed тоже будет вполне нормальна, если только интрасеть не окажется чрезмерно велика. На той же машине может иметь смысл установить proxy и/или sockd, упомянутый мной выше (эта штука похожа на proxy тем, что в локальной сети благодаря ей можно пользоваться нелегальными IP-адресами, но вместо посредничества при запросах к WWW или FTP она занимается перетрансляцией IP-адресов, а ее основное назначение - закрыть локальную сеть от внешнего мира).

Аппаратные требования зависят от нагрузки, которая ляжет на машину. Очевидно, что для связи с провайдером через выделенную линию больших мощностей не требуется, и использование для этого даже 386-го процессора мне кажется расточительством (но на более слабый процессор установить OS/2 2.0 и поздние версии уже невозможно). С другой стороны, для 100-мегабитной Ethernet может потребоваться 486DX100 или Pentium. Загрузка зависит также от типа маршрутизации (динамическая маршрутизация потребует больших ресурсов, чем статическая) и количества обслуживаемых сетевых интерфейсов. Если, кроме маршрутизации, от компьютера потребуются дополнительные услуги, требования, конечно, еще возрастут. Оперативной памяти для маршрутизатора тоже потребуется не так уж много, но разный объем в зависимости от выполняемых задач. Warp 3 для "чистого маршрутизатора" достаточно будет 4 мегабайт, а все лишнее ляжет в swap-файл и маршрутизатору не будет мешать. Однако устанавливать и настраивать операционную систему окажется довольно-таки неудобно, поэтому, если возможно, поставьте 8 мегабайт. Чем больше сервисов, тем больше требуется памяти. Для WWW-сервера фирмы IBM, к примеру, потребуется минимум 12 мегабайт на машине.

OS/2 очень критична к качеству оборудования. Если оперативная память или сетевая карточка окажется дефектной, возможна масса неприятностей. Такое замечание я делаю потому, что, к сожалению, нередко тестом оборудования оказывается именно работа под OS/2, а под другими ОС сбои гораздо менее заметны. Приходится выяснять перебором, в чем причина и какое устройство нужно заменить. Обязательно убедитесь, что к сетевым карточкам у вас имеются самые "свежие" драйверы. Впрочем, порой и это не помогает: например, из-за дефектов в драйверах мне не удалось использовать на одной машине две сетевых карточки 3Com серии EL59X. Еще одно больное место - это карточки, совместимые с NE2000. Найти драйверы к ним теоретически можно (у меня, например, они есть), но в стандартной поставке их нет. Не забудьте также получить фикспаки для самой OS/2 и ее сетевых служб. Это можно сделать по адресу ftp://ftp.software.ibm.com, в различных подкаталогах каталога /ps/products.

Какую версию OS/2 использовать? Маршрутизацией могут заниматься сетевые службы как Warp 3 Connect, так и Warp 4 (обычно называемого "Мерлином"). "Мерлин" требует значительно больше ресурсов, чем Warp 3. Например, инсталлятор откажется его устанавливать на дисковый раздел объемом менее 100 мегабайт. При самой минимальной установке он займет 53 мегабайта, и к этому надо будет прибавить 7 мегабайт на MPTS (Multi Protocol Transport Support) и столько же на минимальную инсталляцию сервисов "Приложений TCP/IP". Оставшееся место почти целиком покроет swap-файл, так что 100 мегабайт - как раз. В отличие от "Мерлина", Warp 3 для инсталляции требует раздел не менее 35 мегабайт, и поэтому маршрутизатор на ее основе можно будет без проблем разместить на двух винчестерах по 40 мегабайт. Требования к объему оперативной памяти у "Мерлина" тоже выше - минимум 8 мегабайт.

Любой знаток OS/2 заметит, что мои требования завышены и при определенных затратах времени даже "Мерлин" с сетями можно будет установить на винчестер в 40 мегабайт. Принцип такой же, как у скульпторов: устанавливаем OS/2 на большой винчестер, а затем отсекаем все лишнее. После этого операционку можно будет скопировать на маленький винчестер и, воспользовавшись программой sysinstx, сделать его загрузочным. Даже самая минимальная инсталляция несет с собой много лишнего. Например, при установке MPTS на диск копируются все имеющиеся в поставке драйверы, "Приложения TCP/IP" при установке принесут большое количество ненужных утилит типа ftppm. Главные же резервы - в удалении WorkPlace Shell, Presentation Manager, а также всего, связанного с этим, и установке взамен текстовой оболочки tshell. Честное слово, это простое, но совершенно неинтересное занятие. Лучше потратить немного больше денег на винчестер, чем заниматься такими нудными делами.

Исходя из вышеизложенного, устанавливать на маломощную машину, которую планируют использовать только в качестве маршрутизатора, следует OS/2 Warp 3.0. Если же вы хотите в дополнение к маршрутизации нагрузить машину какими-то другими делами, мне кажется, что стоит предпочесть "Мерлин". Одна из причин в том, что фирма IBM взяла курс на развитие Java и, хотя пока программ на Java написано немного, в будущем это положение может резко измениться.

Кроме самой операционной системы, для маршрутизатора нужны только MPTS и приложения TCP/IP. MPTS (Multi Protocol Transport Support), он же LAPS (LAN Adapter and Protocol Support), служит некоей основой для работы с локальной сетью. Он отвечает за драйверы сетевых карточек (MAC - Media Access Control) и протоколы (NetBIOS, TCP/IP, IEEE 802.2). В составе его инсталляции имеются утилиты arp, ifconfig, route, netstat и некоторые другие. Его наличия достаточно для статической маршрутизации TCP/IP и работы в LAN сетевых приложений, пользующихся вышеуказанными протоколами (в том числе WWW, POP3 и SQL-серверов). Для интересующихся замечу, что при установке он будет помещен в каталоги C:\IBMCOM и C:\MPTN (считая, что вы устанавливали его на диск C:). В каталоге C:\MPTN\ETC будут помещены все конфигурационные файлы программ-демонов, имеющих отношение к TCP/IP. Сами же настройки MPTS будут находиться в файле C:\IBMCOM\PROTOCOL.INI. Удобнее всего их исправлять не вручную, а используя C:\IBMCOM\MPTS.EXE (но эта программа требует наличия Presentation Manager).

OS/2 Peer, благодаря которому в сети возможно совместное использование дисков, принтеров и COM-портов машины, на которой он установлен, выступает по отношению к MPTS в качестве прикладной программы, которая пользуется услугами MPTS. Для "выделенного" маршрутизатора OS/2 Peer, конечно, не нужен.

"Приложения TCP/IP" (в старой Warp 3, которая еще не была Warp 3 Connect, это называлось Internet Access Kit, то есть "наборчик для доступа к Internet") содержит в своем составе демоны разного рода (ftpd, sendmail и т. д.), поддержку SLIP/PPP и звонилку, клиентский софт (Web Explorer, FTP PM, Telnet и пр.), поддержку TCP/IP для DOS- и Windows-сеансов (кстати, мне в OS/2 удавалось работать с Microsoft Internet Explorer 3.01 для Windows 3.1x). Почти ничего из этого для маршрутизатора не требуется, может понадобиться только routed (не забудьте взять последнюю исправленную версию у IBM, с ftp.software.ibm.com!) и, возможно, PPP dialer. Даже в случае Warp 3 их, пожалуй, стоит взять более новые, мерлиновские. Ну, и InJoy приобретите, если звонить будете - он настраивается значительно легче, чем стандартный PPP dialer от IBM.

Если на машине только 4 мегабайта RAM, вам не удастся отформатировать винчестер под HPFS, но для маршрутизатора это совершенно безразлично. Еще один маленький совет: не пожалейте один мегабайт на Boot Manager! Это не важно, что ОС будет установлена только одна, а места на диске и так мало, - мегабайт погоду не сделает. Зато вы сможете перегружать систему в командном режиме (в скрипте или через telnet) при помощи команды "setboot /ibd:C". Это может оказаться важным. К сожалению, другого документированного способа автоматически перегрузить машину без всяких вопросов из командной строки я не знаю.

Теперь перейдем к учебным примерам. Первый из них - это локальная сеть, состоящая из двух подсетей (A и B). Пусть подсети в нашем примере - это сети класса C, и машины в подсети 1 могут иметь адреса от A1.A2.A3.1 до A1.A2.A3.254, машины в подсети 2 могут иметь адреса от B1.B2.B3.1 до B1.B2.B3.254. Сетевая маска сетей будет, как и положено сетям класса C, 255.255.255.0. Выделим маршрутизатору (машине с двумя сетевыми карточками Ethernet) в этих подсетях два адреса (например, A1.A2.A3.X и B1.B2.B3.Y). Чтобы маршрутизатор начал работу, требуется выполнить несколько команд:

route -fh

arp -f

ifconfig lo 127.0.0.1

ifconfig lan0 A1.A2.A3.X netmask 255.255.255.0

ifconfig lan1 B1.B2.B3.Y netmask 255.255.255.0

ipgate on

(Вместо A1.A2.A3.X и B1.B2.B3.Y, конечно, следует поставить реальные адреса, присвоенные сетевым интерфейсам.)

Как вы видите, ничего особенного. Смысл этих команд вы можете узнать почти в любой книжке по Unix (говорят, что полезные сведения на русском языке имеются по адресу http://www.free.net:8001/FREEnet/PBL/), а потом справиться в руководстве "TCP/IP Command Reference", поставляемом в виде INF-файла в комплекте сетевых служб OS/2, о поддерживаемом айбиэмовской реализацией подмножестве.

Вкратце, команда "route -fh" полностью очищает всю таблицу маршрутов (то есть список указаний, для какого хоста и какой сети на какой маршрутизатор слать пакеты). Команда "arp -f" полностью очищает ARP-таблицу (то есть список соответствий IP-адресов и внутренних адресов сетевых карточек). Далее команда "ifconfig lo 127.0.0.1" указывает, что некоему предопределенному закольцовывающему (loopback) интерфейсу присвоен предопределенный IP-адрес. (Этот закольцовывающий адаптер удобен для отладки и совместной работы на одной машине программ, общающихся по TCP/IP, когда сети вообще нет.) Потом команда "ifconfig lan0 A1.A2.A3.X netmask 255.255.255.0" первому адаптеру, упомянутому в конфигурации MPTS, присваивает адрес A1.A2.A3.X, а команда "ifconfig lan1 B1.B2.B3.Y netmask 255.255.255.0" присваивает адрес B1.B2.B3.Y второму адаптеру. В заключение команда "ipgate on" разрешает передачу сетевых пакетов с одного интерфейса на другой. После ее выполнения пакеты, пересланные из подсети 1 для подсети 2 на адаптер с сетевым адресом A1.A2.A3.X, будут автоматически переданы через B1.B2.B3.Y; и аналогично будет для передач из подсети 2 в 1. (Хочу еще заметить, что в айбиэмовском TCP/IP "Command Reference" в описании команды ifconfig в качестве возможных интерфейсов указаны lan0, lan1, lan2, lan3, lan4, lan5, lan6, lan7, sl, x25 и lo, но вместе с MPTS вы не сможете иметь более четырех сетевых карточек Ethernet, то есть имеют смысл только интерфейсы lan0..lan3, но не lan4..lan7; интерфейс SLIP обычно называется sl0, а интерфейс PPP при использовании InJoy называется ppp0). Команда "ifconfig netmask" характерна для конфигурации адаптеров локальной сети, а команда "ifconfig netmask" характерна для соединений вида "точка - точка" (к ним относятся соединения по протоколам SLIP и PPP).

Обычно эти команды помещаются в командный файл SETUP.CMD, который расположен в C:\MPTN\BIN. Он создается стандартным конфигуратором TCP/IP и выполняется при запуске машины. Однако ничто не мешает изменять его вручную в каком-нибудь текстовом редакторе (в отсутствие Presentation Manager ничего другого и не останется) и вручную запускать при внесении каких-либо изменениях. После редактирования этого файла и его перезапуска маршрутизатор можно считать уже функционирующим. Не забудьте на клиентских машинах указать маршрутизатор и маску. На машинах в подсети 1 потребуется указать маршрутизатором (то есть "шлюзом", по стандартной терминологии TCP/IP) "по умолчанию" A1.A2.A3.X, а в подсети 1 - B1.B2.B3.Y. Учтите, что две машины могут связываться через маршрутизатор только тогда, когда они обе правильно настроены.

Теперь немного усложним этот пример и свяжем две наши подсети с провайдером Internet (рис.2). Все, что нам надо, это подключить модем, связанный по выделенной линии с провайдером, к маршрутизатору и запустить InJoy (вполне годится его вариант "Basic Client"). В настройках InJoy нам потребуется заполнить имя пользователя и пароль. Возможно (но не обязательно), потребуется заполнить поля "your IP address", "dest. IP address" и "netmask" - содержимое этих полей будет зависеть от договоренности с провайдером. Поля "timeout" и "timer" имеет смысл установить в 0 (тогда InJoy их проверять не будет). В "COMM setup" нам потребуется указать "(*) Use Terminal Mode" и "[*] Autostart packet mode at dial if DCD".

После запуска InJoy должны быть выполнены команды наподобие:ifconfig ppp0 X1.X2.X3.X4 Y1.Y2.Y3.Y4 netmask 255.255.255.0 route add default Y1.Y2.Y3.Y4 1

Здесь X1.X2.X3.X4 - адрес, присвоенный статически (то есть явно заданный в конфигурации InJoy), или присвоенный динамически (то есть сообщенный DHCP-сервером провайдера в момент связи) интерфейсу ppp0 вашего маршрутизатора; Y1.Y2.Y3.Y4 - адрес интерфейса маршрутизатора провайдера (он тоже мог быть задан явно или передан DHCP). Интерфейс ppp0 не существует до запуска InJoy и исчезнет при завершении его работы. Команда "route add default Y1.Y2.Y3.Y4 1" указывает, что все пакеты, назначение которых маршрутизатору неизвестно (в нашем примере это пакеты, отправляемые машинам, чьи адреса не начинаются с A1.A2.A3 или B1.B2.B3), будут переправлены на Y1.Y2.Y3.Y4, то есть на маршрутизатор провайдера, который и будет решать, куда отправлять эти пакеты дальше.

Вам не придется изменять и дописывать SETUP.CMD, поскольку InJoy сам, автоматически, выполнит эти команды. Таким образом, правильно сконфигурированный InJoy (не забудьте для автозапуска при включении машины указать его в STARTUP.CMD) - это все, что нужно. Также ничего не потребуется перенастраивать на клиентах.

Следующий учебный пример - динамическая маршрутизация (рис.3). В этом примере мы в нашей сети к подсетям 1 (машины диапазона A1.A2.A3.1 - A1.A2.A3.254) и 2 (машины диапазона B1.B2.B3.1 - B1.B2.B3.254) мы добавим подсеть 3 (машины диапазона C1.C2.C3.1 - A1.A2.A3.254) и, кроме маршрутизатора 1, связывающего A и B (с интерфейсами A1.A2.A3.X1 и B1.B2.B3.Y1), добавим маршрутизатор 2, связывающий A и C (с интерфейсами A1.A2.A3.X2 и C1.C2.C3.Y2), а также маршрутизатор 3, связывающий B и C (с интерфейсами C1.C2.C3.X3 и B1.B2.B3.Y3). Мы хотим, например, чтобы пакеты из сети A в сеть B ходили через маршрутизатор 1, но, в случае его выхода из строя, автоматически возникла связь через маршрутизаторы 2 и 3.

Конфигурация сетевых интерфейсов маршрутизатора остается подобной самому первому примеру, так что в C:\MPTN\BIN\SETUP.CMD первого маршрутизатора мы запишем:

route -fh

arp -f

ifconfig lo 127.0.0.1

ifconfig lan0 A1.A2.A3.X1 netmask 255.255.255.0

ifconfig lan1 B1.B2.B3.Y1 netmask 255.255.255.0

ipgate on

Аналогично сконфигурируем два других.

Все, что нам осталось для обеспечения динамической маршрутизации, - это запустить на каждом маршрутизаторе программу-демон routed.exe с параметром "-s". Если же один из маршрутизаторов связан с провайдером Internet, на этой машине в дополнение к параметру "-s" следует добавить параметр "-g", указывающий, что данный маршрутизатор используется "по умолчанию". Замечу, что стандартный конфигуратор прописывает запуск демонов в скрипте C:\TCPIP\BIN\TCPSTART.CMD, тень (shadow) от которого лежит в фолдере Startup. Если вы удалили Workplace Shell, этот скрипт не запустится автоматически, так что не забудьте вызвать его из STARTUP.CMD.

Демон routed может работать в двух режимах - активном и пассивном. В пассивном, или тихом, режиме (с параметром "-q") этот демон слушает демонов, находящихся в активном режиме, но сам не предоставляет никакой информации демонам других машин. В активном режиме (параметр "-s") этот демон не только слушает, но и время от времени (по умолчанию - каждые 30 секунд) сообщает другим демонам о сетях, с которыми соединена его машина, а также другие сведения - то, что он знает об окружающих сетях (в пределах 16 переходов). (Эти параметры можно не указывать, и тогда на машине с одним сетевым интерфейсом демон будет пассивен, а на машине с несколькими сетевыми интерфейсами - активен.) В нашем учебном примере через несколько минут демоны, запущенные на маршрутизаторах, уже будут знать, в какой сети они находятся и на какой маршрутизатор удобнее будет отправлять пакеты для разных сетей. Если же вдруг один из демонов перестанет сообщать о себе, через несколько минут оставшиеся будут считать его "временно умершим" и исключат из своих таблиц маршрутизации.

Понятно, что на маршрутизаторах routed следует запускать в активном режиме, а на остальных машинах - в пассивном. Однако, в принципе, на клиентских машинах можно не запускать routed, а указать статическую маршрутизацию. Например, если в нашем учебном примере на рабочей станции в сети A мы укажем в качестве маршрутизатора "по умолчанию" первый маршрутизатор (AB), а работать будем с некоей машиной в сети C, первый маршрутизатор укажет рабочей станции, что для связи с данной машиной использовать следует второй (AC). Это называется "ICMP redirect".

Демон routed нередко подвергают критике за повышенный сетевой трафик и плохую оптимизацию маршрутов (он подсчитывает только количество посещаемых пакетом маршрутизаторов, а между 10-мегабитным Ethernet и выделенной линией на 19200 бит/с разницу почувствовать неспособен). Это надо знать, но не надо бояться - в маленькой сети его недостатки не будут видны, а в больших корпоративных сетях со значительным трафиком обычно применяют аппаратные маршрутизаторы.

Вот, пожалуй, и все. Стоило бы поразбираться поподробнее с socks (одним из видов firewall) и разного рода proxy, но это как-нибудь в следующий раз. Если вы заинтересованы в продолжении этой темы, желаете узнать подробности или указать на мои ошибки, пишите мне по адресам: vvm@inics.tsu.tmn.ru, или 2:5077/13@fidonet.

© ООО "Компьютерра-Онлайн", 1997-2022
При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.