Два ведущих производителя сетевого программного обеспечения готовят новые версии своих операционных систем. Каковы их перспективы?

Стив Штайнке

ВОЙНА СЛОВ
ПОМИМО БАЗОВОЙ ЦЕНЫ
КАТАЛОГИ И БАЗЫ ДАННЫХ
ИЕРАРХИЧЕСКАЯ СТРУКТУРА
ПОДЕЛИСЬ С ДРУГИМИ
МАСШТАБИРУЕМОСТЬ И ПРОИЗВОДИТЕЛЬНОСТЬ
РУКОВОДСТВО ПО БЕЗОПАСНОСТИ
ВНЕШНЯЯ ПОДДЕРЖКА
В ПОМОЩЬ КАТАЛОГУ
Что не так с X.500?

Грядущий выбор между двумя ведущими сетевыми операционными системами вызвал лавину заявлений и контрзаявлений со стороны маркетинговых отделов Novell и Microsoft. Чтобы не ошибиться в своем решении, мы должны прежде всего вернуться к основополагающим принципам отбора такой системы, т.е. ответить на вопросы: каковы потребности организации, какова вычислительная среда и какие приложения в настоящем и будущем должны поддерживаться? Высокая производительность, низкая начальная цена, элегантная архитектура, завлекательные обещания следующей версии - все эти факторы необходимо оценивать с точки зрения их практического значения.

Как NetWare, так и Windows NT Server последние годы играют значительную роль в нашей вычислительной инфраструктуре. Наиболее вероятна ситуация, когда пользователи будут получать услуги обеих сетевых ОС прозрачным образом, даже не подозревая, какая из них предоставляет высокую пропускную способность, мультимедиа, виртуальную реальность, голосовой ответ, т.е. те возможности, которые сеть будет обеспечивать в 2000 году. И все-таки некоторым из нас одна из этих жемчужин системного программного обеспечения будет лучше подходить для достижения поставленных целей, чем другая.

ВОЙНА СЛОВ

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

Термин "сетевая операционная система" и был придуман или взят в качестве рекламного клише для демонстрации достоинств NetWare. Первыми сетевыми предложениями от IBM (IBM и Microsoft в то время считались друзьями не разлей вода) стали одноранговые системы, представляющие расширения IBM DOS или MS-DOS. Как мы все теперь знаем, DOS весьма шаткое основание для надежных, быстрых, масштабируемых многозадачных сервисов. Термин "сетевая ОС" подчеркивал эти недостатки конкурентов.

В 1985 году другим потенциальным конкурентом NetWare был Unix, практически повсеместно реализованный в то время как многопользовательская операционная система для хоста с неинтеллектуальными терминалами. В эпоху процессора 80286 ПК совершенно не подходили на роль хостов, так что сетевая ОС представлялась наилучшим способом использования всех возможностей ПК для разделения ресурсов и времени.

С появлением Windows NT Microsoft начала пропагандировать идею сервера приложений. Необходимо иметь в виду, что, благодаря длительному общению с DOS, OS/2, Windows, Windows NT, Microsoft набралась большого опыта в деле привлечения разработчиков приложений к этим платформам: для создания инфраструктуры разработки приложений компания предоставляла инструменты программирования, проводила конференции, помогала в маркетинге и прочее, прочее, прочее.

Сервер приложений призван выполнять приложения - реляционные базы данных поначалу - и быть платформой для серверной половины клиент-серверной технологии. Задачи сервера приложений более интересны, чем у обычного файлового сервера. (Любопытно, что Novell придумала концепцию файлового сервера для того, чтобы отличить NetWare от конкурентов в лице серверов дисков. Последние не устанавливали свою собственную файловую систему на разделяемые диски, а просто экспортировали дисковый интерфейс по сетевому каналу.)

NetWare может выполнять приложения, отличные от сервисов файлов и печати, при помощи загружаемых модулей NetWare (NLM). Однако поддержка Novell разработчиков приложений никогда не была столь всеобъемлющей и убедительной, как у Microsoft. Более того, в отличие от Windows NT и Unix, NetWare не поддерживает вытесняющую многозадачность, а значит, сбойный NLM стороннего производителя может привести к краху всей ОС.

В общем, можно сказать, что NetWare оптимизирована для быстрейшего и эффективного выполнения файловых сервисов, в то время как NT и Unix (и OS/2) - это операционные системы общего назначения с нацеленностью на поддержку приложений. Стоит упомянуть, что назначение многих серверов приложений состоит в быстром и эффективном предоставлении файлов. Возможно, наилучшим примером служит сервер Web - файловый сервер с нанесенными поверх буквами HTTP (и крупной желтой наклейкой Now Includes Internet на коробке).

Руководство Novell одно время прельстилось на приманку в виде сервера приложений. Компания приобрела Unix Systems Labs и объявила о намерении объединить UnixWare и NetWare в SuperNOS. Этот шаг выглядел так, будто Novell решила идти по стопам Microsoft.

Теперешняя позиция Novell состоит в том, что компания стремится быть основным провайдером программного обеспечения для предоставления сетевых сервисов, включая такие компоненты инфраструктуры, как служба каталогов, защита и управление плюс обычные сервисы файлов и печати. Скрытый подтекст здесь таков: сервисы приложений заняли свое место, но мы предоставляем сервисы, которые вам действительно нужны, вне зависимости от того, имеете вы NT, Unix, NLM или что-нибудь еще.

Новые версии Windows NT Server и NetWare должны появиться до конца года, хотя во время написания этой статьи ни Windows NT Server 4.0, ни последняя версия NetWare (под кодовым названием Green River) еще не появились. В Испытательном стенде мы обязательно протестируем эти продукты, однако данная статья посвящена архитектурным аспектам NetWare и Windows NT. Надеемся, что дым, мешающий непредубежденному взгляду на эти продукты, рассеится.

ПОМИМО БАЗОВОЙ ЦЕНЫ

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

Наиболее весомую часть общих расходов составляют затраты на администрирование (в том числе создание и изменение бюджетов пользователей, определение групп, назначение паролей и разграничение прав доступа), конфигурацию (включая заплаты, модификации, новые драйверы и адаптацию) и восстановление (включая резервирование и восстановление, диагностику, защиту и непредвиденные простои) - одним словом, на управляемость системы.

Управляемость системы определяется многими факторами. Программный инструментарий для администрирования может быть как удобен, так и не удобен в использовании. Комплект сетевой ОС содержит утилиты для резервирования, или их необходимо приобретать у сторонних поставщиков. Провайдер сетевой ОС вовремя или с опозданием предоставляет необходимые заплаты и способы определения их необходимости, имеет или не имеет налаженные каналы их дистрибуции. Однако ключевым элементом для определения управляемости системы является каталог.

Сетевая ОС имеет весьма небольшое число элементов (часто их называют объектами, при этом возникает риск путаницы с объектами, используемыми программистами для ассемблирования объектно-ориентированных программ), след которых она должна хранить. Объектами сетевой ОС являются пользователи, группы, пароли, файлы, каталоги, тома, серверы, принтеры и, помимо всего прочего, приложения.

КАТАЛОГИ И БАЗЫ ДАННЫХ

Одно из решений - поддержка базы данных на каждом сервере, где таблица локальных объектов и их атрибутов служит центральным хранилищем административной информации. Такой базой данных является таблица связей NetWare (bindery), используемая во всех версиях NetWare вплоть до 3.1. Важнейший архитектурный элемент данной ОС - ее "плоское" пространство имен, где таким ресурсам, как серверы, даются имена физических устройств.

Каталог с плоской структурой пространства имен удовлетворительно служит целям администрирования в сетевой ОС, лишь когда сеть имеет только один сервер. Когда серверов несколько, возникают проблемы, отнимающие много времени. Пользователи вынуждены входить непосредственно на тот сервер, который им нужен. Пользовательские бюджеты должны быть созданы на каждом сервере, имеющем необходимые пользователю ресурсы. Права на ресурсы нужно предоставлять или отбирать в обоих местах; предоставление администратору сервера А полных прав на сервере Б может оказаться нежелательным. С другой стороны, дать администратору А частичный доступ к серверу Б, для уменьшения нагрузки другого администратора, может оказаться не так-то просто. Когда число серверов в сети переваливает за дюжину, вероятность ошибок, начиная от опечаток при вводе данных и кончая неправильной конфигурацией доступа, многократно повышается.

Другое решение проблемы нескольких серверов - определение административных доменов. Этот подход Microsoft применила в LAN Manager и Windows NT Directory Services, а Novell в безвременно почившей NetWare Name Services (представлена в 1990 г.). Домены состоят из нескольких серверов, сгруппированных по логическому принципу. Объекты и атрибуты сетевой ОС отслеживаются единой базой данных для всех серверов в домене.

Такая архитектура позволяет решать многие проблемы, характерные для нескольких серверов. Пользовательские бюджеты создаются и модифицируются один раз для всех серверов. В то же время домен содержит все необходимые пользователю ресурсы; пользователь входит в домен один раз и получает доступ ко всему, на что имеет права. Базы данных доменов могут быть продублированы на нескольких серверах. Это позволяет избежать зависимости от точки сбоя, чреватой потерей критических данных, повысить производительность и продолжать работу в сети, даже когда основная база данных недоступна.

Резервные базы данных периодически синхронизируются с основной. В Windows NT Server резервная база данных (резервный контроллер домена) может быть вручную сделана основной (основной контроллер домена, PDC) в случае, если основная база данных недоступна и необходимо внести изменения.

Недостатки этого подхода начинают проявляться с ростом числа доменов. Если пользователям домена А нужен доступ к ресурсам домена Б, то домену А необходимы доверительные права на домен Б. Доверительные права однонаправлены и должны быть явным образом определены (см. Рис. 1).

Picture 1a Picture 1b (1х1)

Рисунок 1.
Microsoft рекомендует структурированную реализацию доверительных взаимоотношений между "главным" доменом, объединяющим всех пользователей и "ресурсными" доменами, объединяющими файлы и принтеры. Novell заявляет, что управляемости доменов можно достичь, только если установить доверительные отношения между доменами по принципу "каждый с каждым".

Домену Б нужны гарантии, что идентификация и привилегии доступа, предоставляемые доменом А, заслуживают доверия. Если домен Б доверяет домену А, то пользователи А получают разрешение на доступ к файлам и другим ресурсам в Б, а администраторы А получают возможность устанавливать разрешения на доступ к некоторым или ко всем ресурсам Б.

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

ИЕРАРХИЧЕСКАЯ СТРУКТУРА

Наиболее элегантная архитектура для службы каталогов - это иерархическая структура с единым корнем. Данная модель именования объектов хорошо знакома всем работавшим с файловыми системами DOS, Unix или Macintosh. Такая модель может иметь произвольное число уровней. Одно и то же имя должно использоваться только один раз в данном каталоге или контейнере файлов. Повторение имен в разных каталогах или контейнерах файлов не проблематично, поскольку путь, ведущий к имени, вместе с самим именем составляет уникальный идентификатор.

Логическая структура иерархии имен уже готова для выполнения административных задач. Так, lanmag.mfi.com идентифицирует административную область, отличную от dbms.mfi.com, в то время как mfi.com контролирует все, что касается этих двух областей (см. Рис. 2).

Picture 2 (1x1)

Рисунок 2.
Если система имен имеет древовидную структуру, то каждое имя идентифицируется однозначно при использовании полного имени, при условии, конечно, что оно не повторяется на том же самом уровне. В плоских пространствах имен повторное использование одного и того же имени невозможно.

Каталоги Banyan и служба каталогов Novell, а также X.500 и доменная система имен Internet используют иерархическую систему имен для логического представления сетевых объектов. Потенциально, они не обязательно должны указывать на определенное местоположение. (Дополнительную информацию см. во врезке "Что не так с X.500?".)

Иерархическое пространство имен позволяет администратору абстрагировать ресурсы от их физического местоположения. Таким образом, том с данными отчетов по кредитным карточкам, физически расположенный на сервере А, можно поместить рядом с томом с данными отчетов о чеках, физически расположенном на сервере Z. Оба тома могут находиться в организационной единице с именем Finance, не имеющим реального аналога в сети. Пользователю может быть разрешен доступ к одному из этих томов, или он может иметь права доступа к Finance и, следовательно, к обоим дочерним томам. При продуманной схеме и реализации такое логическое представление и абстракция сделают администрирование гораздо более простой задачей.

В отличие от плоских пространств имен, иерархические пространства имен используют разбиение на разделы и частичное тиражирование. Структуры пространства плоских имен (домены) тиражируют базы данных целиком на нескольких серверах. В случае базы данных, разбитой на разделы, одна или несколько ветвей дерева каталогов могут быть размещены на сервере, где их эффективность будет оптимальной; они могут также тиражироваться несколько раз в зависимости от среды. При этом ресурсов, естественно, потребуется каждый раз меньше, чем на тиражирование всего каталога целиком. Если правильно разбить каталог на разделы, то можно создать чрезвычайно эластичную распределенную базу данных с эффективным распределением избыточности.

ПОДЕЛИСЬ С ДРУГИМИ

Другой характеристикой службы каталогов является расширяемость. Служба каталогов Novell позволяет добавлять новые атрибуты или поля с данными любого типа - все от номера факса до картинки с талисманом группы. Настоящая реализация службы каталогов сервера NT не расширяема.

Несмотря на элегантность архитектурного решения службы каталогов Novell (NDS), администраторы Windows NT, установившие продукты BackOffice, получат значительные преимущества от службы каталогов NT (NT Directory Services, NTDS). SNA Server, Systems Management Server и SQL Server, - все они используют инструменты идентификации, контроля доступа и администрирования NT. (На настоящий момент Exchange имеет отдельные средства управления каталогами.)

Продукты GroupWise и ManageWise компании Novell используют NDS и административную утилиту Novell. Согласно сведениям Novell служба каталагов задействуется свыше 160 продуктами сторонних поставщиков. Однако ни одно из важнейших приложений сторонних поставщиков, которые администратору сети хотелось бы видеть интегрированными со службой каталогов NetWare, не было адаптировано для NDS или NTDS - ни Lotus Notes, ни Oracle, ни Sybase, ни другие ведущие продукты электронной почты.

Несмотря на усилия Novell и Microsoft по популяризации своих продуктов, пока данные службы применяются в основном только с продуктами каждой из этих компаний и для управления самой сетевой ОС. Администраторы сети, не желающие обитать в резервации, уготованной им поставщиком сетевой ОС, будут, скорее всего, вынуждены поддерживать отдельные каталоги для электронной почты, баз данных, факс-серверов и приложений компьютерной телефонии.

Любопытно, что Microsoft сделала больше, чем кто-либо иной в деле интеграции средств администрирования и управления NT и NetWare. Несколько нахально названный "диспетчером службы каталогов для NetWare", Directory Service Manager for NetWare позволяет администратору NTDS обращаться и изменять файлы таблицы связей NetWare без использования инструментов Novell. Предположительно, NT Server 4.0 будет иметь доступ к NDS. Novell также заявила о планах внедрения NDS в NT Server не позже начала следующего года.

Windows NT 4.0 будет иметь также и другие новшества - Microsoft, когда она не на первом месте, может быть весьма изобретательной. Новый диспетчер задач (Task Manager) следит за работой приложений и систем. Новые административные эксперты призваны упростить обременительные задачи управления. System Policy Editor, доступный ранее только в Windows 95, позволит администраторам систем стандартизировать настольные конфигурации.

МАСШТАБИРУЕМОСТЬ И ПРОИЗВОДИТЕЛЬНОСТЬ

При отсутствии тестовых версий сравнить эффективность NT Server 4.0 и Green River не представляется возможным. Очевидно, однако, что Microsoft, ранее критиковавшая Novell за "безответственный" запуск кода NetWare и NLM в кольце 0 (тип выполнения программы на процессорах Intel, при котором аппаратная защита от сбоев программных процессов невозможна), модифицировала NT Server таким образом, что некоторые его компоненты теперь выполняются в кольце 0. Поэтому будет удивительно, если производительность NT Server на процессорах Intel не возрастет. Старое правило масштабируемости гласит, что сервер NetWare может нормально обслуживать в два раза большее число пользователей, чем то, с которым NT Server едва справляется.

Другой аспект масштабируемости касается многопроцессорных серверов. Поддержку симметричной многопроцессорности NetWare 4.1 возлагает на поставщика серверов, однако в Green River компания Novell берет ответственность за нее целиком на себя. NT Server поддерживает многопроцессорность дольше, чем NetWare - симметричная многопроцессорность была заложена в эту ОС с самого начала, в отличие от NetWare, вынужденной теперь частично пожертвовать симметрией для совместимости с некоторыми унаследованными NLM, появившимися до того, как режим SMP стал поддерживаться.

Еще один аспект масштабируемости касается поддержки процессоров нескольких типов. NT Server работает на процессорах Alpha, MIPS, PowerPC и, конечно, Intel, в то время как NetWare - только на процессорах Intel.

РУКОВОДСТВО ПО БЕЗОПАСНОСТИ

Microsoft и Novell сломали почти столько же копий по поводу безопасности, сколько по поводу служб каталогов.

Microsoft получила сертификат на соответствие C2 для Windows NT Server 3.5 и Windows NT Workstation 3.5 с Service Pack 3, но обе версии оценивались исключительно как автономные продукты (Оранжевая книга). Novell и Microsoft занялись сертификацией своих систем на соответствие Красной книге. Оба претендента заявляют, что они получили формальное одобрение и, в отличие от конкурента, ближе к завершению сертификации.

Отказоустойчивость может рассматриваться как один из аспектов безопасности. NT Server не имеет эквивалента NetWare SFT III, представляющего собой по существу "дуплексный" сервер, всегда готовый немедленно взять все функции на себя, если оборудование основного сервера выйдет из строя. NT Server имеет программную реализацию RAID-5, в то время как пользователи NetWare, желающие иметь у себя RAID-5, должны купить аппаратную подсистему.

ВНЕШНЯЯ ПОДДЕРЖКА

По сравнению с NT Server, NetWare пока имеет гораздо более развитую инфраструктуру поддержки в виде каналов дистрибуции, справочных систем и услуг сторонних поставщиков, обучающих центров и литературы, а также кадров опытных администраторов. Однако лучшие из них решили получить второе гражданство в виде сертификата системного инженера Microsoft в дополнении к CNE.

NT Server пользуется все возрастающим спросом на рынке, частью вследствие привлекательности платформы для разработчиков приложений, но главным образом потому, что как сетевая операционная система он становится все лучше и лучше. Если только Novell не удастся значительно улучшить характеристики своей сетевой ОС в Green River, элегантная и логичная служба каталогов скоро останется единственным преимуществом NetWare над NT Server. Со стороны выглядит так, будто Microsoft обратила свои взгляды на NetWare, а Novell мечется как олень в свете фар, словно забыв о тех годах, когда она и не думала делать NDS многоплатформенной службой.


Стив Штайнке - старший редактор LAN Magazine. С ним можно связаться через Internet по адресу: ssteinke@mfi.com.

В ПОМОЩЬ КАТАЛОГУ

Что не так с X.500?

Стандарт OSI на службу каталогов, протокол глобального значения, принятый Международной организацией по стандартизации, известен как X.500. Измененные версии стандарта были опубликованы в 1988 и 1993 годах. Однако полностью совместимых реализаций появилось с той поры не так уж и много, хотя Banyan и Novell заявляют о значительной степени взаимодействия между их службой каталогов и X.500. Как и большинство других протоколов OSI, X.500 перегружен возможностями, реализовать которые на настольных компьютерах невозможно. Целевая аудитория этих протоколов - телекоммуникационные бюро и такие глобальные корпорации, как AT&T и IBM.

Во-первых, X.500, как и большинство стандартов такого рода, не зависит от рынка так, как стандарты де-факто и многие запросы для отзыва Internet. Как следствие, он имеет многочисленные возможности, ненужные быстро развивающемуся рынку. Во-вторых, X.500 является истинным протоколом OSI и, как и другие протоколы OSI прикладного уровня (например протокол общей управляющей информации, CMIP), может взаимодействовать только через стек протоколов OSI. Передача X.500 поверх TCP/IP или других популярных стеков невозможна без специального шлюза. По причинам их раздутости локальные сети на базе протоколов OSI на практике не встречаются.

Шлюз в IP для каталогов X.500 есть, и это компактный протокол доступа к каталогам (Lightweight Directory Access Protocol, LDAP), о поддержке которого заявила компания Netscape со товарищи в лице Novell, Sun, IBM и др. Microsoft, ненавистник Netscape, не была приглашена в столь почтенную компанию, но объявила поддержку LDAP сама по себе.

По всей видимости, и Netscape, и Microsoft собираются представить службу каталогов, по существу включающую и расширяющую доменную систему имен Internet. DNS и серверы, ее реализующие, до сих пор обеспечивали определение адресов по псевдонимам - преобразование deodorant.com в 199.104.14.151 - и поиск адресов электронной почты. DNS, однако, имеет иерархическое пространство имен, подходящее для более широкого применения, так что она наверняка будет использоваться для переадресации запросов каталогов LDAP каталогам, способным на них ответить.