Скромные труженики сетей
Архив"Разделяй и властвуй", - было сказано в применении к управлению своими многочисленными вассалами, или поданными. Самое интересное, что практически без изменений указанный принцип применим и сейчас, в том числе - к сетевому строительству. Обусловлено это тем, что все существующие сетевые технологии применяют для передачи данных среду с ограниченной пропускной способностью. Есть физические ограничения и на размеры сети - так, например, особенности реализации Ethernet не позволяют использовать сегменты с длиной, превышающей длину, и, соответственно, время прохождения (длительность) самого короткого пакета данных, - в этом случае возможна ситуация, когда по одному и тому же сегменту будут одновременно "гулять" несколько пакетов данных; что из этого получится, я думаю, понятно. Вдобавок, зачастую возникают причины, побуждающие ограничить распространение внутреннего трафика за некие, заранее оговоренные пределы.
Задача разбиения сети на части, или подсети, которыми и управлять легче, и надежность которых, просто вследствие меньшего числа элементов, выше, может быть решена с помощью маршрутизаторов. Им, кстати, по плечу и другая задача - объединение уже существующих сетей и организация взаимодействия между ними.
Задача объединения сетей, кстати, возникла еще на заре компьютерной эры. С тех пор прошло достаточно времени, чтобы технологии "утряслись" и из всего множества конкурирующих протоколов межсетевого взаимодействия лидерство занял TCP/IP, используемый для передачи данных двумя другими лауреатами - Интернетом и интранетом.
Победное шествие указанного протокола началось еще в 1983 году, когда поддержка стека протоколов TCP/IP вошла в состав одной из версий Unix и с тех пор стала бесплатной для всех его пользователей. Unix'ом дело не ограничилось, и сейчас стеки TCP/IP входят в состав практически всех операционных систем, будь то Windows 95, NT, OS/2 или IntranetWare.
Согласно протоколу, каждому из устройств, подключенных к сети, присваивается уникальный IP-адрес. Основные принципы адресации можно посмотреть во врезке, мы же повторим их вкратце: Интернет имеет адресное пространство, которое разбивается на подсети. Каждая из подсетей имеет уникальный адрес, или точку входа. Допускается дальнейшее разбиение получившихся сетей на подсети, и так - до тех пор, пока это оправдано какими-либо потребностями, вплоть до подсети с маской 255.255.255.252 на четыре адреса, один из которых будет адресом самой подсети, один будет задействован для широкополосной рассылки пакетов (broadcasting) и два адреса будут свободны для использования. Причем, маршрутизатору вовсе не обязательно знать о структуре подсети - ему достаточно знать только адреса и маски точек входа, а дальнейшую маршрутизацию пакетов он оставляет на совесть маршрутизаторов соответствующих подсетей.
IP-протокол рассматривает два типа адресуемых сетевых устройств - хост, или компьютер, и маршрутизатор, причем эта классификация довольно условна и, в общем, маршрутизатор от хоста отличает только наличие двух или более сетевых интерфейсов, ведущих к различным сегментам, и соответствующего программного обеспечения, реализующего протоколы маршрутизации.
В этом легко убедиться, поэкспериментировав на досуге с командами route (таблицы маршрутизации и их модификация), arp (установка соответствия между IP-адресами и адресами сетевых адаптеров) и netstat (диагностика состояния сети), если у вас установлен Интернет, а его, как известно, без поддержки TCP/IP не бывает, все они будут выполняться на вашем компьютере, начиная с Windows 95 и выше.
В чем-то похожи на маршрутизаторы привычные всем телефонные коммутаторы: точно так же, для того чтобы установить соединение с абонентом, нужно набрать его телефонный номер (сетевой адрес). Руководствуясь вашими инструкциями (телефонный номер, может быть, код города и страны), АТС построят только им известный путь и установят соединение. Разница в том, что телефонный коммутатор переключает каналы, а маршрутизатор определяет пути движения пакетов с данными и направляет их по выбранным направлениям.
Наряду с определением маршрута и передачей данных, маршрутизаторам приходится решать и другие задачи - это и фильтрация IP-пакетов, и определение их приоритетов, и - даже - подстановка "на лету" IP-адресов, или Network Address Translation (NAT), называемая еще IP-masquerading.
Для того чтобы понять, зачем нужно подставлять IP-адреса, приведем достаточно простой пример работы вырожденного, под ДОС, маршрутизатора под названием IPRoute. В связке с еще одним приложением, ISPA, он способен выполнять довольно любопытную задачу - представьте, вы подключены к Интернет и, как это водится, IP-адрес получаете динамически. Так вот, ISPA транслирует этот динамический адрес в статический, а IPRoute осуществляет на него маршрутизацию из вашей локальной сети. В результате, через одно коммутируемое телефонное или ISDN-соединение можно подключить к Интернет несколько пользователей (см. например http://carol.fwi.uva.nl/~leeuw/isdn/ipr_ispa.html).
Среди других особенностей IPRoute - низкие требования к аппаратным ресурсам, приложение способно работать даже на 286-м компьютере, причем, как утверждают разработчики, наличие жесткого диска вовсе не обязательно - грузиться можно и с дискеты.
Ясно, что это не единственное применение схем подстановки адресов, - NAT позволяет строить внутренние интранет-сети, с собственными, не требующими согласования схемами адресации, используя подсети 10/8, 172.16/12, 192.168/16 (через дробь указан префикс подсети), которые специально выделены в Интернет, и маршрутизация в которые (с некоторыми оговорками) не производится. В какой-то мере это помогает решить проблему нехватки адресов в Интернет, особенно в случае больших организаций и соответственно, интранетов, и, кстати, немного сэкономить на отчислениях за поддержание блока статических адресов.
Для того чтобы представить объем работы по маршрутизации IP-трафика в Интернет, можно обратиться к весьма неполным статистическим данным.
Статистика по ста Американским компаниям
из списка Fortune 100
Пакетов в день (за год удваивается) | 7000000000 |
Почтовых сообщений | 1000000 |
Внутренних Web-серверов | 1200 |
Внутренних страниц | 159600 |
О заторах в Интернет, я думаю, всем известно. С распространением мультимедиа-информации, Интернет-телефонии и Second Web объемы передаваемой информации и, соответственно, нагрузка на маршрутизаторы только увеличатся. С появлением новых требований меняются и магистрали, и маршрутизаторы, и сами принципы передачи данных в Сети - появляются серверы маршрутизации, определяющие оптимальные маршруты и полученную информацию передающие коммутаторам второго уровня, которые, собственно, и передают информацию.
Впрочем, обо всех новинках не расскажешь. Да и касаются они пока в большей степени магистральных линий передачи. В то время как на последней миле и в локальных сетях маршрутизация вполне под силу универсальным компьютерам под управлением многозадачных операционных систем (или даже ДОС, но тогда маршрутизатор должен быть выделенным). Это подметили производители софта, и сейчас программные маршрутизаторы входят в состав, например, IntranetWare (MultiProtocol Router), Microsoft бесплатно предлагает их для своей Windows NT (RRAS). Не забыты и OS/2, и многочисленные клоны Unix.
О преимуществах программной или аппаратной маршрутизации можно спорить сколь угодно долго - в каждом конкретном случае будет существовать свое, оптимальное для данной конкретной ситуации (и квалификации) решение.
Ей, маршрутизации, посвящена тема этого номера. Отзывы принимаются по адресу gbash@cterra.com
|