Технический обзор
Зачем нужна альтернатива TCP/IP-стеку Microsoft
В дни триумфального шествия 16-разрядной Windows 3.x появились десятки стеков протоколов TCP/IP, помогающих интегрировать ПК с Unix-сетями. Но стоило Microsoft представить свой 32-разрядный TCP/IP-стек для своих же 32-разрядных операционных систем Windows 95 и Windows NT, как ситуация сразу изменилась.
Предвидя скорый переход корпоративных пользователей на Windows 95, производители программных средств TCP/IP полностью отдали стеки на откуп Microsoft. Тем самым они признали три факта: во-первых, эти продукты корпорации во всех отношениях превосходят своих конкурентов, во-вторых, они легко инсталлируются и, в-третьих, широко распространены (читай, бесплатны). Многие решили, что гораздо лучше смогут использовать имеющиеся у них ресурсы, если переключатся на выпуск TCP/IP-приложений, работающих совместно со стеком Microsoft.
Шансы уравниваются
Но вскоре выяснилось одно обстоятельство, имеющее важное значение для организаций, широко использующих унаследованные системы или находящихся на передовых рубежах технологии. Некоторые производители пришли к выводу, что в TCP/IP-стеке Microsoft и в его интеграции с Windows 95 не все благополучно.
Одно из его слабых мест связано с неспособностью корпорации заставить серверы BOOTP (Bootstrap Protocol - протокол начальной загрузки) пересылать IP-адреса на запускаемые рабочие станции. Конечно, ее стек будет поддерживать новейший стандарт DHCP (Dynamic Host Configuration Protocol - протокол динамической конфигурации хост-компьютера), однако он предназначен для динамического присвоения IP-адресов в средах с преобладанием Windows. Сетям же, использующим статичное распределение IP-адресов (к ним относятся в первую очередь разнородные Unix-среды), со стеком Microsoft явно не повезло.
В защиту корпорации Microsoft можно сказать, что будущее принадлежит DHCP, а не BOOTP, где администраторам приходится самим присваивать IP- и Ethernet-адреса каждому клиентскому компьютеру. Но DHCP-сервер вполне уживается со своим BOOTP-коллегой, а это значит, что он способен принять на себя управление новыми системами, оставив на попечение BOOTP унаследованные аппаратные средства.
Поработав с выпускаемыми фирмой FTP Software приложениями IP Trace или Statistics, любой специалист ясно поймет, что выбор стека оказывает серьезнейшее влияние на диагностику системы. Некоторые производители TCP/IP-стеков открыто выражают недовольство тем, что Windows 95 не отображает локальные статистические данные и лишена графических утилит диагностирования. Конечно, подобные функции поддерживаются на уровне DOS. Можно упомянуть отображение информации и модификацию кэш-регистра ARP (Address Resolution Protocol - протокол определения адресов), "прозванивание" (ping), трассировку маршрута, статистический мониторинг и простой сервер имен для сред типа "NetBEUI поверх IP".
Однако многие из этих утилит слабо проработаны. Чтобы заполнить образовавшуюся брешь, Microsoft выпустила Systems Management Server Network Monitor, предназначенный для решения более сложных задач управления. Корпорация считает своим долгом оградить пользователей от устрашающих сложностей сети и в то же время уберечь сеть от их неумелого вмешательства.
Как и в случае с SNMP, Microsoft может выпустить агент, который поддерживал бы базу управляющей информации MIB-II, но конкуренты способны предложить потребителю гораздо больше.
Путь к новой технике
Каждый TCP/IP-стек в определенной степени выполняет функции маршрутизации, но его потенциал может оказаться недостаточным. Чтобы обойтись без приобретения новых аппаратных средств и при этом повысить скорость обработки входящего и исходящего трафика, нужно расширить возможности программного обеспечения. Стеки некоторых независимых разработчиков позволяют даже обнаруживать динамические маршрутизаторы.
Microsoft выпустила простой статичный маршрутизатор для Windows 95, который способен обслуживать несколько интерфейсов, однако не поддерживает обработку множественных IP-адресов в одном интерфейсе (т. е. множественную адресацию). Если у компании возникнет необходимость свести трафик нескольких сетей в одну высокоскоростную FDDI-магистраль или разместить несколько узлов WWW на одном сервере, Microsoft может предложить только Windows NT, что обеспечит поддержку множественных IP-адресов в одном интерфейсе.
Нельзя также использовать Windows 95 для организации связи по коммутируемым каналам на базе протокола SLIP (Serial Line Internet Protocol - IP-протокол последовательной линии). Взамен пользователям предлагается более современный и функциональный PPP (Point-to-Point Protocol - протокол соединения точка - точка), способный в отличие от своего предшественника автоматически определять параметры подключения. Независимые производители программных стеков оснащают свои продукты обоими протоколами, охватывая тем самым гораздо больший круг потенциальных пользователей.
Мощным сетевым средством является NFS (Network File System - сетевая файловая система), но и ей Microsoft не уделила должного внимания. Эта прозрачная система совместной работы с файлами и обслуживания печати отлично проявила себя в Unix-сетях, и большинство независимых разработчиков обеспечивают доступ к ней. К услугам третьих фирм придется прибегать и в ряде других случаев, например для получения FTP-услуг.
Еще одним аргументом в пользу смены стека может оказаться спецификация IP Multicast, которая пока не получила широкого распространения, но сулит большие перспективы. Она позволит рассылать видеоинформацию и обычные данные одновременно в несколько адресов. Однако в этом направлении Microsoft предприняла ряд шагов. Так, начиная с Windows for Workgroups поддержка данной технологии обеспечивается посредством документированного Winsock-расширения.
Уловка с Winsock
Microsoft сознательно скрыла от пользователей Windows 95 некоторые из возможностей своего TCP/IP-стека (хотя сделала их полностью доступными в среде Windows NT). Winsock либо вообще не предлагает методов доступа к системным функциям низшего уровня, либо эти методы настолько плохо документированы, что многие производители предпочитают вести разработку своих продуктов "с нуля". Чтобы полностью использовать возможности системы в собственных приложениях, администраторы, возможно, захотят перейти на стек, обеспечивающий необходимые методы доступа.
По меньшей мере один разработчик, а именно фирма Ipswitch, снабжает свой продукт интерфейсом к Berkeley Sockets. Ее пакет Acadia/VxD по сравнению с Winsock API делает подключение Unix-приложений к Windows намного проще. Кроме того, он предлагает пользователям интерфейс к Raw Sockets, позволяющий получить доступ к функциям низшего уровня посредством Winsock.
Если компании требуются новейшие технологические разработки в области поддержки протоколов и спецификаций, то у нее нет иного выхода, как отказаться от TCP/IP-стека Microsoft и обратить внимание на продукты других производителей. Спецификация следующего поколения IPv6 (IP Version 6) должна увеличить адресную часть пакетов, еще больше повысить уровень защиты, предложить специальные функции мобильным пользователям.
Расширенные возможности связи между различными платформами и их совместного функционирования несет пользователям версия Winsock 2.0. На горизонте уже маячат новые мультимедийные протоколы, обеспечивающие гарантированную полосу пропускания для видеоинформации. Конечно, Microsoft со временем поддержит и эти новшества, но в ближайшей перспективе, по всей вероятности, удача на рынке будет сопутствовать другим фирмам-производителям.
И наконец, нельзя забывать, что многие решения в области программных средств принимаются с учетом производительности. Не могут не различаться по скорости работы и стеки, однако сегодня даже сами разработчики не слишком афишируют их показатели в этой области. И сама собой напрашивается мысль, что здесь стеки относительно близки между собой, несмотря на различия в других аспектах.
Кен Филлипс
С внештатным редактором Кеном Филлипсом можно связаться через Internet по адресу: kenp@sunrise.alpinet.net.