Вы находитесь на странице: 1из 136

Министерство образования РФ

––––––––––––––––
Санкт-Петербургский государственный электротехнический
университет "ЛЭТИ"
–––––––––––––––––––––––––––––––––––––––––––––––––––––––––

В. А. Гладцын В. В. Яновский

УПРАВЛЕНИЕ ВЫЧИСЛИТЕЛЬНЫМИ СЕТЯМИ

Учебное пособие

Санкт-Петербург
Издательство СПбГЭТУ "ЛЭТИ"
2000
УДК 681.3
ББК 32.973
Г 47

Гладцын В. А., Яновский В. В. Управление вычислительными сетями:


Учеб. пособие. СПб.: Изд-во СПбГЭТУ "ЛЭТИ", 2000. 136 с.

Содержит сведения об организации работы в глобальных


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

Рецензенты: кафедра цифровой вычислительной техники и


информатики Санкт-Петербургского государственного университета
телекоммуникаций; д-р техн. наук проф. Н. В. Егоров (СПбГУ).

Утверждено
редакционно-издательским советом университета
в качестве учебного пособия

ISBN 5-7629-0329-X © В. А. Гладцын, В. В. Яновский, 2000

2
Введение

Данная работа является логическим продолжением вышедших в


1998 г. учебного пособия "Сетевые технологии" и методических указаний
"Коллективная работа в Internet, FTN и локальных вычислительных сетях" и
посвящена вопросам управления вычислительными сетями.
В пособии рассматривается класс глобальных сетей (ГС),
являющихся одним из основных телекоммуникационных средств
современности. Вводится понятие глобальной сети, приводится пример ее
структуры, обсуждаются методология построения и технология работы в
ГС, а также дается представление о видах интегрированного сервиса
современных глобальных сетей.
Основная цель любой сетевой системы – распределенная обработка
данных, поэтому авторам показалось естественным изложить общие
вопросы распределения данных и вычислительного процесса, привести
несколько вариантов классификации распределенных систем, а также дать
читателю представление об основных типах и элементах управления этими
системами. Поскольку при построении корпоративной сети неизбежно
столкновение с проблемой объединения узлов, реализованных на базе
различных программно-аппаратных платформ, особое внимание уделено
обсуждению принципов и возможностей сетевой интеграции.
В настоящее время, когда существует развитой рынок сетевых,
системных и прикладных программных средств, чрезвычайно актуальным
является вопрос выбора сетевой операционной системы (ОС), наиболее
полно соответствующей целям и задачам, встающим перед разработчиком
корпоративной сети. В связи с этим особое место отводится наиболее
популярным сетевым ОС и критериям их сравнения. Приводятся сведения о
таких важных аспектах, как управление процессами, файловыми
системами, сопоставляются виды сетевого сервиса, предоставляемые
различными ОС, рассматриваются перспективы их развития в свете
соотношения достоинств и недостатков современных версий. При этом
авторы сознательно не углублялись в рассмотрение тонкостей
администрирования той или иной сетевой ОС, поскольку на эту тему
существует множество хорошей литературы, дающей исчерпывающие
ответы на вопросы как начинающего администратора сетей, так и
профессионала.
Пособие содержит глоссарий, где поясняется ряд наиболее
употребимых в области сетевого менеджмента и распределенной
обработки информации терминов и аббревиатур, а также обширный список
литературы, где заинтересованный читатель сможет найти источники,
более глубоко освещающие рассматриваемые в пособии проблемы.

3
1. ТЕХНОЛОГИЯ РАБОТЫ В ГЛОБАЛЬНЫХ СЕТЯХ

1.1. Понятие глобальной сети

Согласно общепринятой классификации, под глобальными сетями


понимают территориально распределенные (в пределах мегаполиса,
региона, государства, континента или земного шара в целом)
телекоммуникационные сети, для которых характерны следующие
особенности:
– объединение в своем составе множества локальных и
корпоративных вычислительных сетей;
– использование общедоступных телекоммуникационных каналов
(PSDN, PSTN, ISDN);
– неоднородность используемых структурных и технологических
решений;
– широкий спектр услуг, предоставляемых пользователям;
– децентрализованное управление.
На рис. 1.1 изображена ГС, объединяющая локальные и
корпоративные подсети.

LAN
R R WAN

PSDN MD MD
PSTN
PSDN

R
R
FOC

R R WAN

PSDN R – маршрутизатор

MD – модем

Рис. 1.1. Обобщенная структурная схема ГС

4
При развитии ГС возникает необходимость решения следующих
серьёзных проблем:
– согласования высокой скорости передачи информации в подсетях с
относительно низкой скоростью обмена информацией между подсетями;
– увеличения надежности каналов ГС, по своей природе менее
надёжных, чем каналы подсетей.
В настоящее время из-за внедрения высокопроизводительных
каналов передачи данных эти проблемы стоят не так остро, но для
отдельных регионов окончательно не решены.
При организации ГС могут использоваться следующие общественные
телекоммуникационные системы:
1. Общедоступные коммутируемые сети передачи данных (PSDN),
которые могут включать в себя муниципальные и корпоративные каналы
связи.
2. Общественные коммутируемые телефонные сети (PSTN).
3. Специальные цифровые сети с предоставлением интегрированных
услуг (ISDN).
Магистральные соединения могут быть реализованы на базе
спутниковой и радиосвязи, оптоволоконных каналов и т. д. Пакеты с
данными на входе и выходе подсетей, объединяемых в ГС, фильтруются с
помощью маршрутизаторов.

1.2. Технологии глобальных сетей

Механизмы передачи данных в локальных и глобальных сетях


существенно различаются. Глобальные сети ориентированы на соединение
– до начала передачи данных между абонентами устанавливается
соединение. В локальных сетях используются методы, не требующие
предварительной установки соединения, — пакет с данными посылается
без подтверждения готовности получателя к обмену. В табл. 1.1
перечислены сетевые технологии и категории сетей, в которых они
используются. Технологии локальных сетей были подробно рассмотрены
авторами в пособии "Сетевые технологии".
Таблица 1.1
Соответствие между типами сетей и сетевыми технологиями

Технология Тип сети


Х.25 LAN
Ethernet, Fast Ethernet, Gigabit Ethernet LAN
100VG-AnyLAN LAN
TokenRing LAN
FDDI LAN, MAN
Frame Relay MAN, WAN
SONET WAN
SMDS MAN, WAN
ATM, B-ISDN WAN

5
Технологии, которые используются в ГС, отличаются от тех, что
применяются в локальных и городских сетях. В частности, эти сети
различаются по скорости. Локальные сети используют скорости до тысяч
мегабит, городские сети работают на скоростях от сотен до тысяч мегабит.
Сети WAN обычно намного медленнее.
Кроме разницы в скорости передачи данных, между этими
категориями сетей существуют и другие различия. В локальных сетях
каждый компьютер имеет сетевой адаптер, который соединяет его со
средой передачи. Городские сети содержат активные коммутирующие
устройства, а глобальные сети обычно состоят из групп мощных
маршрутизаторов пакетов, объединенных каналами связи.
Еще одно различие обусловлено стоимостью обслуживания.
Локальные сети, по существу, "свободны" в ценовой политике. Если
требуется большая полоса пропускания, организация, затратив малые
средства, может ее увеличить. Такое расширение практически не отразится
на стоимости услуг. Напротив, глобальные сети из-за жестких ограничений
полосы пропускания не могут снизить стоимость услуг за счет привлечения
новых пользователей. Наоборот, новые пользователи только причинят
массу неудобств старым, заняв часть полосы пропускания. Расширение
полосы пропускания ГС связано с большими затратами. Программное
обеспечение сетей WAN и предоставляемые услуги должны быть
направлены на оптимизацию использования полосы пропускания. Часто
для этого применяются специальные средства. Иногда используется
статическое мультиплексирование трафика таким образом, что сумма
пиковых нагрузок превышает (на достаточно короткий интервал) доступную
полосу пропускания сети WAN. Применяют также фильтрацию, чтобы
малозначимый трафик не отнимал полосу пропускания у приоритетного.
В последние годы было разработано множество различных
коммутируемых технологий для глобальных сетей. Все они так или иначе
учитывают распространение Internet как сети, имеющей наибольшее
количество абонентов. От ГС сейчас требуется высокое качество и
одновременное повышение скорости.
Определяющей для выбора тех или иных технологий является
система критериев. Она должна носить достаточно универсальный
характер с тем, чтобы ее можно было применять в различных ситуациях.
Для выбора технологии, помимо прочего, необходимо ответить на
следующие вопросы:
• Обеспечивает ли технология адекватное качество обслуживания?
• Может ли она гарантировать качество обслуживания?
• Насколько расширяемой получится сеть?
• Допускается ли выбор топологии сети?
• Рентабельны ли услуги, предоставляемые сетью?
• Насколько будет эффективна система управления?
Ответы на эти вопросы и определяют выбор. Но, в принципе, на
разных участках сети могут использоваться разные технологии. Например,

6
если отдельные участки требуют поддержки мультимедийного трафика в
реальном времени или скорости 45 Мбит/с, то в них устанавливают АТМ.
Если же участок сети требует диалоговой обработки запросов, что не
допускает существенных задержек, то необходимо использовать Frame
Relay, если такие услуги доступны в данной географической области (иначе
придется прибегнуть к Internet). Так, большое предприятие может
соединяться с сетью через АТМ, в то время как филиалы связываются с той
же самой сетью через Frame Relay.
При рассмотрении отдельных технологий ГС авторы пользовались
материалом, превосходно изложенным в книге М. Кульгина "Технологии
корпоративных сетей".

1.2.1. Типы соединений ГС

Состояние, когда абоненты связаны друг с другом, называется


установленным виртуальным соединением. Там, где по каким-либо
причинам это выражение не используется, употребляются его синонимы.
Виртуальное соединение не подразумевает обязательного физического
соединения.
Одним из старейших методов передачи данных является
использование выделенных каналов связи. Оператор связи выделяет
фиксированный канал, который постоянно доступен для передачи данных с
определенной скоростью. Изначально выделенные каналы связи
использовались только для осуществления связи между двумя точками (то
есть для связи типа "точка–точка"). Однако в настоящее время применение
интеллектуальных устройств, например маршрутизаторов, позволяет
осуществлять динамическое управление полосой пропускания между
несколькими пользователями, что необходимо при организации связи двух
локальных сетей.
Каналы связи подразделяются на аналоговые и цифровые. Для
передачи компьютерных данных по аналоговому каналу необходим модем,
который преобразует цифровой сигнал в аналоговый. На другой стороне
канала такой же модем производит обратное преобразование. Из-за
достаточно больших помех в аналоговых каналах существует вероятность
искажения или потери данных при передаче. По этой причине такая связь в
настоящее время ограничена скоростью 33.6 Кбит/с (причем только в
высококачественных аналоговых каналах). Напомним, что для передачи
речи в основном используется диапазон частот от 300 Гц до 3.1 кГц. До
последнего времени скорость передачи данных 33.6 Кбит/с была
максимальной, так как вплотную приближалась к барьеру 35 Кбит/с,
установленному законом Шеннона для стандартных телефонных каналов
шириной 3.1 кГц. Несколько лет назад компании Rockwell Semiconductor
System, Lucent Technologies, 3Com и Motorola объявили, что сумели
преодолеть ограничения закона Шеннона и достигли скорости передачи
данных 56 Кбит/с, правда, только в одном направлении (от АТС к абоненту).

7
Учитывая такие ограничения, широко используется метод передачи
оцифрованного сигнала по аналоговым каналам связи. В этом случае
данные кодируются цифровым методом и передаются непосредственно в
канал. При модемной связи цифровые данные на входе преобразуются в
аналоговый сигнал, передаваемый по каналу связи. В этом и состоит
различие двух методов. Для передачи цифрового сигнала используется
канал со скоростью 64 Кбит/с, который называется DS0 (Digital Signal —
цифровой сигнал, нулевой уровень). На основе этого базового канала
формируются другие каналы, с более высокими скоростями передачи. Так,
объединением (уплотнением) 24 каналов DS0 получают канал DS1 со
скоростью передачи 1.544 Мбит/с. Как получается это число? В состав
каждого кадра канала DS1 входит дополнительная служебная информация
(так называемые биты обрамления) для отсчета времени синхронизации,
так что суммарная скорость передачи данных может быть определена
следующим образом: 24 канала за одну секунду передают по 64 000 бита
информации каждый + 8000 бит обрамления = 1.544 Мбит/с. Канал DS3
получается при уплотнении 28 каналов DS1; его скорость составляет
44.736 Мбит/с.
Цифровые каналы связи (Dataphone Digital Service — DDS) не
требуют преобразования цифровых сигналов в аналоговые. Оконечное
оборудование таких каналов ориентировано на работу только с цифровыми
сигналами. Цифровые каналы строятся на принципах плезиохронной
цифровой иерархии (PDH) и синхронной цифровой иерархии (SDH).
Основным недостатком связи по выделенной линии (по сравнению с такими
технологиями, как Frame Relay или Х.25) является ограниченная
коммутируемость. Например, если необходимо связать друг с другом пять
удаленных офисов, то потребуется десять (4+3+2+1) выделенных линий
связи. При этом динамического выделения полосы пропускания можно
достичь только при использовании мультиплексирования, а изменение
настроек системы мультиплексирования может занять от нескольких минут
до нескольких часов. Невозможно достичь выделения требуемой полосы
пропускания за несколько миллисекунд, как в случае использования Frame
Relay. Однако выигрыш от использования выделенных линий не стоит
недооценивать, так как оборудование для них очень широко
распространено.

1.2.2. Технология ISDN

Аббревиатура ISDN (Integrated Services Digital Network)


расшифровывается как "цифровая сеть с интеграцией услуг". Концепция
ISDN была разработана в 70-х гг. компанией Bellcore, а сама технология
стандартизована комитетом ССIТТ в 1984 г. Разработка ISDN была первой
попыткой создать технологию с возможностью одновременной передачи
голоса и данных. Она базируется на пользовательских каналах со
скоростью 64 Кбит/с (так называемых В-каналах) и на отдельном

8
служебном канале (D-канале). Используя комбинацию этих каналов, можно
реализовать интерфейсы ISDN в трех вариантах: как основное соединение
с рабочей скоростью передачи 128 Кбит/с (два В-канала и один D-канал),
которое поддерживает интерфейс BRI; как первичное соединение с рабочей
скоростью 1536 Кбит/с, которое используется в Северной Америке
(двадцать три В-канала и один D-канал), или как соединение с рабочей
скоростью 1920 Кбит/с, используемое в Европе и поддерживающее
интерфейс PRI (тридцать В-каналов и один D-канал).
Идея, заложенная в основу технологии ISDN, состоит в том, что
различные устройства, например телефоны, компьютеры, факсы и т. д.,
могут одновременно передавать и принимать цифровые сигналы после
установления коммутируемого соединения с удаленным абонентом.
Цифровые сети с интеграцией услуг ISDN можно использовать при
передаче данных, для объединения удаленных локальных сетей, для
доступа к сети Internet и для передачи различных видов трафика, в том
числе мультимедийного. Оконечными устройствами в сети ISDN могут быть:
цифровой телефонный аппарат, компьютер с ISDN-адаптером, файловый
сервер и т. д. В интерфейсе BRI каждому устройству выделяется свой
индивидуальный номер. Интерфейс PRI используется при более высоких
скоростях для передачи больших массивов информации. Например, этот
интерфейс может использоваться для подключения учережденческой АТС к
цифровой телефонной сети.
Для расширения возможностей ISDN Международным
консультативным комитетом по телеграфии и телефонии (ССIТТ) была
разработана и стандартизована система общей канальной сигнализации
№ 7, которая состоит из двух подсистем:
– МТР (Message Transfer Part, подсистема передачи сообщений) –
передает сообщения сигнализации, обнаружения и исправления ошибок;
– UP (User Part, подсистема пользователя) – отвечает за поддержку
пользователей и включает в себя части, отвечающие за сеть и телефонию.
Основные достоинства технологии ISDN сводятся к следующему. При
ее использовании повышается, по сравнению с традиционными модемами,
скорость обмена данными по обычной телефонной сети. ISDN позволяет
организовывать одновременно несколько цифровых каналов через один
телефонный провод. С помощью протоколов объединения каналов базовый
интерфейс обмена позволяет достичь скорости передачи данных
128 Кбит/с. Кроме того, время от отправки запроса до установления связи
для ISDN в несколько раз меньше. При использовании ISDN информацию
от нескольких отправителей можно комбинировать для передачи по одному
каналу, причем ISDN предоставляет единый интерфейс для всех
отправителей.
Недостатками технологии ISDN, с точки зрения передачи данных,
являются скоростной предел 1920 Кбит/с и синхронная структура каналов
передачи, что не позволяет осуществлять динамическое выделение
требуемой пропускной способности. Кроме того, существуют проблемы

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

1.2.3. Технологии B-ISDN и АТМ

Создание технологии B-ISDN (Broadband ISDN) — это попытка


внедрить одну универсальную широко распространенную и
высокоскоростную сеть вместо множества сложных неоднородных сетей.
Эта новая сеть должна, с одной стороны, выполнять все функции передачи
голоса, данных и телевизионных сигналов, возлагаемые на нынешние сети,
а с другой стороны, обладать возможностью поддерживать будущие
коммуникационные технологии. Работа над стандартом такой
универсальной сети была начата в 1990 г., проект стандарта получил
название B-ISDN.
B-ISDN – это высокоскоростная технология, использующая АТМ в
качестве транспортного механизма. Она служит для объединения
нескольких локальных сетей. В настоящее время технология B-ISDN
привлекает к себе все большее внимание, так как она обеспечивает
максимальную технико-экономическую эффективность, которая достигается
за счет интеграции услуг, предоставляемых различными службами,
например обычной узкополосной технологией ISDN, переходом к единому
способу обслуживания множества видов информации, которая может быть
как низкоскоростной (факсы, терминалы и т. д.), так и высокоскоростной в
реальном масштабе времени (телевидение, видеотелефоны и т. д.).
Необходимым условием развертывания широкополосных сетей с
интеграцией услуг является наличие высокоскоростных и эффективных
технических средств, какими сегодня являются средства АТМ. Выбор в
качестве транспортного средства АТМ продиктован несколькими
причинами:
– обеспечивается более гибкий доступ к среде передачи;
– возможно динамическое выделение полосы пропускания по
запросу;
– достигается независимость от физической среды передачи.
B-ISDN и АТМ – это два термина, которые иногда подменяют друг
друга. Однако нельзя сказать, что B-ISDN и АТМ – это одно и то же. Говоря
техническим языком, B-ISDN – это набор стандартов комитета ITU,

10
определяющих такие вещи, как широкополосная сигнализация, передача и
управление интегрированными услугами в глобальных сетях. Изначально
стандарты B-ISDN определяли для АТМ следующие интерфейсы:
User-to-Network Interface (интерфейс "пользователь–сеть", UNI) и
Network-to-Network Interface (интерфейс "сеть–сеть", NNI). Затем Форум
АТМ и консорциум производителей оборудования для сетей АТМ
адаптировали и расширили стандарты B-ISDN для того, чтобы
оборудование АТМ могло взаимодействовать с устройствами традиционных
локальных сетей.
Технология АТМ изначально была разработана для глобальных
сетей, но быстро адаптировалась для использования и в локальных сетях.
Теперь как в глобальных, так и в локальных сетях передача данных
происходит при установлении соединений через высокоскоростные
коммутирующие системы, или, попросту говоря, через коммутаторы АТМ.
Эти коммутаторы выполняют маршрутизацию ячеек от входящих портов к
выходящим в реальном масштабе времени и параллельно на всех портах.
Ячейки обрабатываются коммутаторами значительно быстрее и более
эффективно, чем пакеты данных переменной длины. Структура ячеек
такова, что коммутаторы АТМ могут обрабатывать их параллельно. Так как
все ячейки имеют одинаковую длину, все блоки данных, которые ожидают
передачи на входных портах коммутатора, могут быть обработаны
одновременно и переданы к выходным портам. В результате АТМ может
обрабатывать все существующие типы трафика (голос, данные, видео)
очень эффективно.
Следует отметить, что сети АТМ могут быть реализованы на базе
нескольких физических сред передачи. Существуют рекомендации,
описывающие передачу ячеек АТМ через сети SDH на скоростях 155 и
622 Мбит/с и через сети PDH (DS1, DS3 и т. д.). Не существует единой,
строгой спецификации, которая определяла бы, через какую физическую
среду следует передавать ячейки и какие скорости при этом использовать.
Кроме того, сети на базе технологии АТМ могут быть приспособлены для
обслуживания новых пользователей без ограничения пропускной способ-
ности, выделенной уже работающим пользователям. Это достигается,
например, добавлением дополнительных модулей в коммутатор.
Ввиду гибкости структуры мультиплексирования и возможности
интеграции функций управления и мониторинга сеть SDH позволяет
создавать довольно дешевые высокопроизводительные (по сравнению с
традиционными технологиями передачи) ГС. Это означает, что SDH, скорее
всего, будут лидирующей технологией для АТМ в Европе и России.
Для локальных сетей Форум АТМ определил интерфейсы со
скоростями 25, 52 и 155 Мбит/с по неэкранированной и экранированной
витой паре. Кроме того, существующие сети FDDI могут быть обновлены до
использования с технологией АТМ. В настоящее время разработана и
документирована технология эмуляции локальных сетей (LANE — LAN
Emulation), которая позволяет интегрировать существующие локальные

11
сети с технологией АТМ. Эмуляция локальной сети позволяет
коммутаторам АТМ эмулировать сеть Ethernet до МАС-уровня. Это
означает, что существующие сетевые устройства могут подключаться
напрямую к магистрали АТМ без изменений в программном обеспечении.
Последние стандарты позволяют технологии АТМ внедряться в локальные
сети постепенно, выступая в качестве магистрали, обеспечивающей
высокоскоростные каналы связи между пользователями различных рабочих
групп сети.
Несмотря на то, что АТМ все более ассоциируется с магистральной
технологией в локальных сетях, ее внедрение и использование происходит
не совсем гладко из-за сложностей, возникающих при интеграции АТМ с
существующими сетевыми технологиями, такими как Ethernet, Token Ring и
FDDI. Растянувшийся во времени процесс принятия и внедрения
стандартов на технологии эмуляции локальной сети и Classical IP внес
смятение в ряды пользователей, которые вроде бы уже были готовы к
использованию АТМ в магистралях своих сетей. Однако для пользователей
решающими факторами являются высокая скорость передачи данных и
гарантированное качество обслуживания, а также другие, не менее
привлекательные возможности технологии АТМ.
Магистраль АТМ обеспечивает высокие скорости передачи данных. В
качестве магистрали технология АТМ чаще всего используется для
организации связи центральных коммутаторов рабочих групп, которые
способны поддерживать сотни подключений. Обеспечивая достаточно
большую пропускную способность, АТМ выступает в роли некой общей
высокоскоростной коммутирующей матрицы в цепочке коммутаторов АТМ.
Такая магистраль способна реализовать и поддерживать большое
количество виртуальных соединений между устройствами по алгоритму,
диктуемому особенностями физического канала связи.
АТМ в качестве магистрали в глобальной сети может использоваться
для связи между отдельными городами или даже странами. В глобальных
сетях некоторыми крупными телекоммуникационными компаниями
технология АТМ реализована уже сегодня. Однако считается, что в
ближайшем будущем эта технология получит массовое применение и в
локальных сетях.
Хотя технология АТМ сегодня заслуженно считается перспективной
для использования в глобальных и локальных сетях, ее продвижение
встречает на своем пути некоторые трудности. Внедрение происходит
постепенно, медленными темпами, так как ее стоимость может превышать
все инвестиции, сделанные организациями в существующие сети. Поэтому
менеджеры по информационным технологиям начинают с использования
магистральных коммутаторов АТМ в существующих сетях, что, по их
мнению, быстро окупается. На принятие решения об использовании АТМ
влияют также характер и объем передаваемого трафика. На сегодняшний
день не существует более практичной и эффективной технологии,
способной поддерживать напряженный мультимедийный трафик.

12
1.2.4. Технология Frame Relay

Как и многие другие средства связи, Frame Relay появилась в


исследовательском подразделении Bell Labs компании AT&T. В 1988 г.
протокол Frame Relay был включен в стандарт ISDN в качестве
рекомендации 1.122 и утвержден подкомитетом по стандартам ССIТТ. К
моменту появления окончательного варианта стандарта на технологию
ISDN рекомендация 1.122 превратилась в независимый протокол со своей
областью применения.
Эта технология разрабатывалась с учетом высоких скоростей
передачи данных и низкого уровня ошибок современных сетевых средств.
Первые сети с коммутацией пакетов были рассчитаны на скорость
передачи 64 Кбит/с, в то время как сети Frame Relay предназначались для
работы с гораздо большими скоростями. Достичь повышения скоростей
передачи помогло исключение накладных расходов, которые неизбежны
при контроле ошибок.
Накладные расходы при пакетной коммутации возникают из-за
необходимости контроля вызовов, поиска ошибок и контроля потоков. В
технологии Х.25 пакеты управления вызовами, используемые для
установления и разрыва виртуальных соединений, передаются по тому же
самому соединению, что и пакеты данных. Фактически, вся передача
сигналов осуществляется по основному каналу (так называемая
in-band-передача).
Во Frame Relay сигналы контроля вызова передаются по
виртуальному соединению, отличному от используемого для передачи
пользовательских данных. В пользовательском интерфейсе один канал
управления соединением служит для контроля всех коммутируемых
соединений передачи данных. Так как в настоящее время провайдеры услуг
Frame Relay предлагают, в большинстве своем, только постоянные
виртуальные соединения, то промежуточным коммутирующим узлам нет
необходимости поддерживать таблицы состояний или обрабатывать
управляющие вызовы для каждого соединения в отдельности.
Наиболее очевидно преимущество Frame Relay над Х.25 при
управлении потоками и контролем ошибок. Технология Х.25 использует
физический, канальный и сетевой уровни, что соответствует трем нижним
уровням эталонной модели OSI. На канальном уровне осуществляется
контроль ошибок в транзитных узлах сети с коммутацией пакетов. При этом
каждому узлу присваивается порядковый номер. После проведения
контроля, одновременно с передачей данных на следующий узел,
предыдущему передается подтверждение приема. На сетевом уровне
происходит мультиплексирование нескольких потоков данных разных
виртуальных соединений в единый поток, направленный к пользователю.
Для этого каждый передаваемый кадр получает номер виртуального
соединения, который используется для маршрутизации и коммутации

13
трафика. Управление потоком и контроль ошибок на всем пути следования
пакетов от отправителя до получателя осуществляются при помощи схемы
нумерации сетевого уровня.
Основное различие между технологиями Frame Relay и Х.25 состоит
именно в механизме коррекции ошибок. Так как технология Х.25
разрабатывалась более 20 лет назад для передачи данных по аналоговым
каналам связи, характеризующимся плохим качеством, то требовались
различные механизмы коррекции ошибок и алгоритмы повторной передачи
потерянных данных.
В соединениях Frame Relay мультиплексирование осуществляется на
канальном уровне модели OSI, а контроль ошибок и управление потоком
вовсе отсутствуют. Каждый кадр канального уровня содержит номер
логического соединения, который используется для маршрутизации и
коммутации трафика. Порядковые номера для управления потоком и
контроля ошибок не используются. При этом контроль правильности
передачи данных от отправителя получателю должен осуществляться на
более высоком уровне модели OSI.
Как и технология Х.25, Frame Relay выполняет статическое
мультиплексирование передаваемых кадров с данными от различных
отправителей и направляет их через один канал связи. При этом могут
поддерживаться скорости передачи между 56 Кбит/с и 45 Мбит/с (в то
время как скорость сети Х.25 составляет 56 или 64 Кбит/с). Другой
возможностью, унаследованной от технологии Х.25, является механизм
передачи, ориентированный на предварительное установление
виртуального соединения между взаимодействующими абонентами.
Структура кадра передачи данных в технологии Frame Relay
достаточно проста (рис. 1.2). Данные помещаются между полем,
называемым DLCI (Data Link Connection Identifier, идентификатор связи с
источником данных), которое может занимать от двух до четырех байт, и
полем контрольной суммы в конце кадра, призванного обнаруживать любые
битовые ошибки. Числовое значение, записанное в поле DLCI, служит для
идентификации виртуального соединения между абонентами. В одном
кадре может быть передано до 8000 байт пользовательских данных.
Стартовый флаг Заголовок
DLCI (Data Link Connection Identifier) (2-4 байта) (3-5 байт)
Пользовательские данные (до 8000 байт)
Контрольная сумма (CRC-16)
Конечный флаг
Рис. 1.2. Формат кадра Frame Relay
Причиной того, что технология Frame Relay столь стремительно
занимает нишу локальных сетей, является ее экономическая
эффективность. Frame Relay не требует построения новой
коммуникационной инфраструктуры. Обычно все, что требуется, — это
программное обновление существующих маршрутизирующих систем или
14
незначительная модернизация программно-аппаратного обеспечения
систем коммутации кадров Х.25.
Технология Frame Relay имеет много общего с АТМ. Основное
различие между ними на уровне организации блоков информации состоит в
том, что в первой длина кадров переменна, а во второй — постоянна и
равна 53 байтам. Большинство современных сетей Frame Relay рассчитаны
на максимальную длину кадра 1024 байта, из которых от 6 до 8 байт
занимают служебные данные. Большой вклад в рост популярности
технологии Frame Relay внесла возможность передачи голосовой
информации. Для этого были разработаны голосовые маршрутизаторы
(мультиплексоры) и платы расширения FRAD (Frame Relay Access Device –
устройство доступа к сети Frame Relay), однако до появления нового
поколения этих устройств качество передачи речи оставляло желать
лучшего – наблюдались большие задержки, эхо и т. д. Голосовой
маршрутизатор реализует постоянные виртуальные соединения, что
позволяет упростить процедуру установления связи. Эти устройства
обычно имеют модульную конструкцию, что дает возможность при
необходимости нарастить их функциональность. При передаче голоса
через сеть Frame Relay голосовому трафику присваивается наивысший
приоритет и время доставки информации снижается за счет
переупорядочения очередей пакетов в устройствах доступа к сети. При
этом считается, что между двумя голосовыми пакетами в очереди на
передачу могут находиться не более двух пакетов данных. Данные
разбиваются на короткие кадры так, чтобы время на передачу одного кадра
составляло от 5 до 10 мс. Применяются специальные методы подавления
пауз в разговоре и компрессии голосового сигнала. Привлекательность
технологии Frame Relay еще более возрастет при реализации
коммутируемых, а не постоянных виртуальных соединений. При этом голос
и данные можно будет передавать между двумя заранее не определенными
точками.
Поскольку можно передавать как короткие, так и очень длинные
кадры, существует вероятность того, что последние вызовут большую
задержку между передачей двух коротких кадров. Однако, несмотря на это
обстоятельство, в последующие несколько лет технология Frame Relay
будет играть важную роль в локальных сетях, хотя ее использование для
типичных широкополосных служб с изменяющимся профилем трафика
ограничено.
У технологии Frame Relay остаются два серьезных недостатка:
неоптимальное управление потоками данных и сложность создания и
поддержки коммутируемых виртуальных каналов, причем без устранения
первого из них неизбежна потеря некоторых кадров. Если граничный
маршрутизатор локальной сети не поддерживает какой-либо протокол
контроля за трафиком, то он может направить слишком много данных в
некоторый узел, что приведет к их потере в образовавшемся заторе. В этом
случае потребуется их повторная передача, вызывающая перегрузку сети.

15
Одним из главных достоинств сети Frame Relay является ее
надежность, выражающаяся в том, что благодаря использованию
постоянных виртуальных соединений при возникновении обрыва канала
связи автоматически измененяется маршрут и данные немедленно
направляются по другому пути. Эта технология имеет много
привлекательных сторон: достаточно дешевые и простые средства
управления, возможность передачи голоса, предоставление
гарантированного качества обслуживания как по времени задержки, так и по
скорости передачи данных. С повышением скорости до 44.736 Мбит/с эта
технология способна соревноваться с АТМ, будучи при этом более
дешевой.
1.2.5. Технология SONET

Технология SONET (Synchronous Optical Network, синхронная


оптическая сеть) определяет оптический интерфейс передачи данных. Она
предложена компанией Bellcore и стандартизована ANSI. С технологией
SONET совместима синхронная цифровая иерархия SDH, которая была
утверждена комитетом ССIТТ. Основное достоинство SONET —
оптоволоконные каналы, предназначенные для высокоскоростной передачи
данных.
SONET используется для передачи трафика современных сетей на
базе Frame Relay, АТМ, SMDS, ISDN и т. д. Опыт использования
показывает, что эта технология в чистом виде применяется редко.
Техническая реализация SONET основана, как правило, на применении
мультиплексора с несколькими портами АТМ, соединенными с абонентской
стороной и одним портом SONET со стороны сети общего пользования.
При разработке технологии SONET во внимание принимались
несколько основных требований:
1. Необходимость стандартизации процесса мультиплексирования со
скоростью передачи выше DS3 (44.736 Мбит/с).
2. Обеспечение эффективного доступа к среде передачи при
небольшом объеме трафика. Технология SONET предлагает новый подход
к временному мультиплексированию.
3. Необходимость заложить достаточный резерв для предоставления
в будущем высокосложных услуг связи.
Спецификация на технологию SONET определяет иерархию
стандартных скоростей передачи цифровых данных. Базовый уровень STS-I
(Synchronous Transport Signal, синхронный транспортный сигнал первого
уровня), или, иначе, ОС-1 (Optical Carrier, оптическая несущая), имеет
фиксированную скорость передачи 51.84 Мбит/с. Этот базовый уровень
может использоваться для передачи одного сигнала DS3 или группы менее
быстрых сигналов, например DSI. Кадр базового уровня содержит 810 байт,
которые передаются каждые 125 мс. Служебную информацию несут
27 байт кадра, а остальное занимает полезная нагрузка. Однако в поле
полезной нагрузки расположены 9 служебных байтов, предназначенных для

16
задания пути, причем эти 9 байт могут располагаться в произвольном
месте. Служебная информация кадра содержит указатель на начало
байтов, служащих для определения пути.
Несколько базовых кадров STS-1 могут быть объединены при помощи
процедуры мультиплексирования в сигналы следующих уровней. При этом
спецификация SONET определяет наивысшую скорость передачи STS-48 –
2.5 Гбайт/с.
1.2.6. Технология SMDS
SMDS (Switched Multi-megabit Data Service) — высокоскоростная
коммутационная служба передачи данных. Она была разработана
компанией Bellcore по поручению нескольких других компаний, занятых
разработкой продуктов на базе этой технологии. Европейская версия SMDS
получила название CBDS. Основным понятием в SMDS является "служба"
или "сервис", так как SMDS не является непосредственно технологией или
протоколом передачи данных.
В настоящее время сервис SMDS применяется в сетях с технологией
DQDB, отвечающей стандартам IEEE 802.6 и АТМ. Технология DQDB
получила меньшую известность, чем АТМ. Существует ряд причин,
определяющих такое положение вещей: относительно невысокая скорость
передачи (140 Мбит/с) и довольно сложное дорогостоящее оборудование.
Подобно Frame Relay и АТМ, SMDS определяет служебный
интерфейс пользователя с сетью. Однако, в отличие от первых двух
технологий, ориентированных на установление соединения, SMDS
является службой без установления соединения: она использует
дейтаграммный метод доставки информации. Максимальный размер
дейтаграммы может составлять 9188 байт. Такой размер позволяет
полностью размещать в ней большинство пакетов различных технологий.
При поступлении дейтаграммы на нижний уровень каждая единица данных
разбивается на фиксированные ячейки длиной 53 байта.
Для взаимодействия сетей с сервисом SMDS используется
межсетевой протокол 1С1Р. Очень часто связь между двумя местными
сетями поддерживают операторы региональных или национальных сетей.
Абонент SMDS может оперативно выбрать любого из них, внеся
соответствующие значения в заголовок L3_PDU и воспользовавшись
протоколом 1С1Р.
SMDS обладает несколькими достоинствами. Одним из них является
возможность создания логической частной сети в сети SMDS общего
пользования. Кроме того, SMDS предоставляет информацию о сети и
статистику ее использования.

1.2.7. Системы передачи PDH и SDH

Плезиохронная цифровая иерархия (Plesiochronous Digital Hierarchy,


PDH) была разработана около 40 лет назад в лаборатории Bell Labs и
предназначалась для передачи голосовой информации через каналы связи.

17
Разработчики рассчитывали получить значительное повышение
эффективности связи в городах. Как видно из названия, при использовании
этой технологии формируется иерархия из цифровых каналов (Digital
Stream, DS), каждому из которых назначен уровень и номер. Цифровые
потоки с меньшими номерами мультиплексируются в потоки с большими
номерами с определенным сдвигом частоты.
Синхронная цифровая иерархия (Synchronous Digital Hierarchy, SDH) –
это система передачи, определенная комитетом ITU (бывший ССIТТ) в
1988 г. Первоначально разработчики SDH предлагали рассматривать эту
технологию в качестве всеобщего всемирного стандарта и заменить ею
существующую и уже устаревшую передающую инфраструктуру
национальных и интернациональных сетей. Спецификация SDH описывает
передачу кадров на физическом уровне эталонной модели OSI и может
использоваться как один из транспортных механизмов для технологии АТМ.
В табл. 1.2 показаны уровни иерархии SDH.
Таблица 1.2
Уровни иерархии SDH

Уровень Скорость передачи, Мбит/с


STM-0 или STM-1/3 51.84
STM-1 155.52
STM-4 622.08
STM-16 2488.32

Основное достоинство SDH, по сравнению с устаревшей структурой


PDH, заключается в прозрачности процесса мультиплексирования. Это
означает, что базовый канал со скоростью 64 Кбит/с может быть выделен
напрямую из уровней высшей иерархии SDH (в настоящее время 2.4 Гбит/с)
и наоборот. По этой причине принцип функционирования сети SDH часто
называется однофазным мультиплексированием, что отличается от
принципа работы сети PDH, в которой прямая локализация определенного
коммуникационного канала (например, канала со скоростью 64 Кбит/с) в
мультиплексированных каналах второго или третьего уровней иерархии
(например, 140 Мбит/с) невозможна. Плезиохронный мультиплексор должен
демультиплексировать весь поток информации для выделения нескольких
компонентов сигналов, а затем выполнить процедуру мультиплексирования
заново. Мультиплексор SDH выделяет необходимые составляющие
сигнала, не разбирая весь поток. По сравнению с технологией PDH, SDH
позволяет избежать использования большого числа дорогих
мультиплексирующих и демультиплексирующих устройств и разрабатывать
более гибкую структуру сети.
Важными качествами SDH являются централизованное управление
сетью с обеспечением полного мониторинга состояния каналов и узлов и
автоматическое исключение неисправного оборудования с
перемаршрутизацией каналов, что резко повышает надежность сети в
целом.
18
Мультиплексор SDH имеет две группы интерфейсов:
пользовательскую и агрегатную. Пользовательская группа предназначена
для создания пользовательской структуры, а агрегатная — для создания
линейных межузловых соединений. Эти интерфейсы позволяют создавать
три топологии: "кольцо", "цепочка" и "точка–точка". На их основе можно
строить сеть мультиплексоров практически любого масштаба. В идеале
такая сеть состоит из нескольких уровней. На первом уровне
обеспечивается доступ к сети пользователей, которые через согласующие
устройства (модемы) подключаются к мультиплексорам первого уровня. На
данном уровне используются, как правило, мультиплексоры STM-1. Второй
уровень построен на мультиплексорах STM-4 и отвечает за сбор потоков
информации от первого уровня. Третий уровень выполняет транспортные
функции и строится на мультиплексорах STM-16. Он собирает потоки
информации от второго уровня и транспортирует их далее.
Первый уровень иерархии SDH известен как STM-1 и состоит из кадра
длиной 2430 байт, который передается со скоростью 155.52 Мбит/с. Для
передачи кадра STM-1 требуется 125 мс. Кадр STM-1 разделяется на
девять рядов, каждый размером 270 байт. Первые девять байт каждого
ряда занимает секционная служебная нагрузка (Section OverHead — SOH).
Байты SOH содержат информацию, которая служит для проверки
правильности передачи данных между двумя узлами в сети SDH. Учитывая
секционную служебную нагрузку, можно вычислить, что скорость передачи
полезных данных в кадрах STM-1 составляет 150.34 Мбит/с.
В кадре STM-1 данные при передаче располагаются в так
называемых контейнерах. Размер контейнера (9260 – 2340 байт) не кратен
размеру ячейки. Поэтому отдельные ячейки могут располагаться в двух
смежных контейнерах. Ячейки заполняют контейнер слева направо, сверху
вниз. Формирование кадра более высокого уровня происходит на более
высоком уровне мультиплексирования. В этом кадре как бы "сцепляются"
несколько контейнеров с данными кадра STM-1.

1.2.8. Описание технологии ADSL

В последнее время все большее внимание уделяется оптимизации


использования симметричных пар городских телефонных кабелей. Причина
понятна: каждый обычный телефонный абонент соединен абонентской
парой со своей районной АТС. Учитывая, что восходящий трафик на
информационные запросы обычно существенно меньше нисходящего
трафика, т. е. запрашиваемой информации, была предложена новая
технология, использующая два неравных, асимметричных по скорости
потока: относительно умеренный – от клиента, и существенно более
скоростной – к клиенту. Такая технология получила название ADSL
(Asymmetric Digital Subscriber Line), что расшифровывается как
"асимметричная цифровая абонентская линия". Название подчеркивает

19
изначально заложенное в этой технологии различие скоростей обмена в
направлениях к абоненту и обратно.
Технология является новым решением по организации "последней
мили" между сервис-провайдером и конечным пользователем. Данная
технология обладает следующими особенностями:
– прямой канал (канал, по которому передаются данные от
провайдера к пользователю) и обратный канал (канал, по которому
передаются данные от пользователя к провайдеру) различаются по
пропускной способности;
– в качестве среды передачи данных используется обычная
двухпроводная телефонная линия;
– эта же линия может быть использована для одновременной
передачи данных и телефонного трафика, что не сказывается на качестве
сервиса, предоставляемого телефонной компанией.
Технология ADSL ориентирована, прежде всего, на сервис-
провайдеров, предоставляющих стандартные услуги телефонии, а также на
доступ к сетям передачи данных (Internet). Данная технология может
использоваться сервис-провайдерами, предоставляющими доступ к сетям
общего пользования, при условии установки соответствующего
оборудования. Таким образом, применение технологии ADSL позволяет:
– предоставить пользователю высокоскоростной доступ к
информационным ресурсам сети;
– разгрузить телефонную сеть общего пользования, исключив трафик
передачи данных (при условии установки оборудования ADSL).
Оборудование ADSL, размещенное на АТС, и абонентский
ADSL-модем, подключаемые к обоим концам телефонной линии, образуют
три канала:
– высокоскоростной канал передачи данных из сети в компьютер
(скорость – от 32 Кбит/с до 8 Мбит/с);
– скоростной канал передачи данных из компьютера в сеть (скорость
– от 32 Кбит/с до 1 Мбит/с);
– простой канал телефонной связи, по которому передаются обычные
телефонные разговоры (скорость передачи данных при этом зависит от
длины и качества телефонной линии).
Асимметричный характер скорости передачи данных вводится
специально, поскольку удалённый пользователь Internet обычно загружает
данные из сети в свой компьютер, а в обратном направлении идут либо
команды, либо поток данных с существенно меньшей скоростью. Для
получения асимметрии скорости полоса пропускания абонентского
окончания делится между каналами также асимметрично.
Одно из главных преимуществ технологии ADSL по сравнению с
аналоговыми модемами и протоколами ISDN – то, что поддержка голоса
никак не отражается на параллельной передаче данных по двум быстрым
каналам. Причина подобного эффекта заключается в том, что ADSL

20
основана на принципах разделения частот, благодаря чему голосовой
канал надежно отделен от двух других каналов передачи данных.
Доступ по технологии ADSL организуется с помощью специальных
модемов (DSL Access Module, DSLAM) как на стороне клиента, так и на
стороне оператора. На дальнем конце абонентского окончания должен
располагаться так называемый мультиплексор доступа ADSL–ADSLAM.
Этот мультиплексор выделяет подканалы из общего канала и отправляет
голосовой подканал на АТС, а высокоскоростные каналы данных
направляет на маршрутизатор, подключенный к ADSLAM. Ряд
производителей начали снабжать DSLAM интерфейсами АТМ, что
позволяет напрямую подключать их к ATM-коммутаторам территориально-
распределенных сетей. Также ряд производителей создают
пользовательские модемы, которые представляют собой ADSL-модем, но
для программного обеспечения являются адаптерами ATM. Покажем на
примере организацию доступа клиентских подсетей к информационным
ресурсам через проложенные медные телефонные пары без потери
телефонного номера на используемой линии.
На рис. 1.3 схематически показано оборудование телекомму-
никационного центра (справа) и локальные сети клиентов, подключенных

Телефонная
Телефонный сеть
кросс-коммутатор

LAN 1
Коммутационный
центр

… …
LAN 2
Коммутатор
Телефонные
пары Разделяющие
… фильтры

Маршрутизатор
LAN N АТМ

Локальные сети
клиентов ADSL
Internet

Рис. 1.3. Организация доступа по технологии ADSL

21
по выделенным медным парам (слева). В качестве технологического
решения для реализации связи с такими клиентами можно использовать
оборудование ADSL фирмы 3Com (Affinity line, Rel 1). Его преимущества –
высокая скорость передачи данных (в идеальном случае – до 1 Mбит/с на
Upload и 3.2 Мбит/с на Download), относительная дешевизна и сохранение
телефонной связи.
Медные пары, приходящие в телекоммуникационный центр,
подсоединены к разделяющим фильтрам, где телефонный трафик
отделяется от данных и поступает на кросс-коммутатор АТС.
Концентратором ADSL-линий служит шасси Total Control Enterprise Hub,
оснащённое двухпортовыми модемными модулями AxCell ADSL. Каждый
канал независим и имеет свой интерфейс. ADSL-модемы могут выступать
как маршрутизаторами IP-подсетей, так и простыми мостами 2-го уровня
семиуровневой модели OSI. В рассматриваемом варианте модемы
настраиваются на работу в режиме моста. Физические подсети,
представленные сетевыми интерфейсами AxCell-карт, соединяются с
коммутатором рабочих групп, где административно организуются в
виртуальные сети (VLAN) и интегрируются в общую локальную сеть
телекоммуникационного центра.
Средством обеспечения маршрутизации виртуальных сетей является
маршрутизатор, соединённый с соответствующим портом коммутатора и
взаимодействующий с ним по протоколу ISL (Inter Switch Link). Это
позволяет администрировать виртуальные сети ADSL-клиентов,
устанавливая для них разного рода ограничения.
Стандарты ADSL. В октябре 1998 г. сектор стандартизации в
области телекоммуникаций Международного союза телекоммуникаций
(ITU-T) принял первую редакцию стандарта ADSL.Lite. Группа 15 ITU-T,
стандартизирующая DSL, присвоила всем стандартам направления
ADSL.Lite индекс "G", поэтому в документах ITU-T этот стандарт назван
G.Lite. Рабочая группа T1E1.4 института ANSI недавно одобрила стандарт
на ADSL со скоростью передачи до 6,1 Мбит/с (стандарт T1.413),
определяющий единый терминальный интерфейс со стороны оператора.
Вторая версия этого стандарта определила мультиплексированный
интерфейс со стороны оператора; протоколы конфигурации и управления
сетью.
В 1994 г. был организован ADSL-форум, определяющий концепцию,
дальнейшее развитие технологии ADSL и разработку протоколов. В форум
входят свыше 200 операторов связи и производителей оборудования.
ADSL-форумом выработана рекомендация "ATM over ADSL", определя-
ющая принципы функционирования протоколов сетей ATM через ADSL.
1.3. Сервис глобальных сетей
Основные услуги глобальных и корпоративных сетей – электронная
почта, передача файлов и документооборот, телеконференции, справочные
службы, видеоконференции, компьютерная телефония, доступ к

22
информационным ресурсам и базам данных сетевых серверов. Рассмотрим
их подробнее на примере глобальной сети Internet
Протоколы прикладного уровня. Варианты и номенклатура
предоставляемых сетью услуг во многом определяются использующимися
в ней прикладными протоколами. В настоящее время наиболее известны
протоколы, относящиеся к Internet, а также протоколы ISO-IP (ISO 8473),
относящиеся к семиуровневой модели открытых систем.
Прикладные протоколы Internet:
• TELNET – протокол эмуляции терминала или, другими словами,
протокол реализации дистанционного управления; используется для под-
ключения клиента к серверу при их размещении на разных компьютерах,
пользователь через свой терминал имеет доступ к удаленному серверу;
• FTP (File Transfer Protocol) – протокол файлового обмена
(реализуется режим удаленного узла), с помощью которого клиент может
запрашивать и получать файлы с требуемого сервера, а также перемещать
свои файлы на сервер;
• HTTP (Hypertext Transmission Protocol) – протокол передачи
гипертекстовых документов, обычно используемый для связи
WWW-серверов и WWW-клиентов;
• SMTP (Simple Message Transfer Protocol) – протокол обмена
сообщениями электронной почты;
• ICMP (Internet Control Message Protocol) – протокол передачи
управляющих сообщений, который выполняет функции информирования
источника о причинах потери пакетов, о наличии связи с указанным
адресом, а также может выполнять функции анализатора трафика. Наряду
с ICMP используется протокол SNMP;
• NFS (Network File System) – сетевая файловая система,
обеспечивающая доступ к файлам всех Unix-машин сети, т. е. в этом случае
файловые системы узлов выглядят для пользователя как единая файловая
система. Более подробно организация NFS будет рассмотрена в 5.3.3;
• SNMP (Simple Network Menegement Protocol) – простой протокол
управления сетью – выполняет функции обеспечения отказоустойчивости
(детектирование ошибок, их исправление, восстановление), управления
производительностью, управления параметрами передачи пакетов по сети
(изменение таких настроечных параметров, как время жизни пакета,
уровень секретности и т. п.).
В семиуровневой модели ISO используются аналогичные по
функциональным возможностям протоколы. Так, протокол VT соответствует
протоколу TELNET, FTAM – FTP, MOTIS – SMTP, CMIP – SNMP, при этом в
модели ISO реализован специальный протокол RDA (Remote Database
Access), предназначенный для доступа к удаленным базам данных.
Электронная почта. Электронная почта (E-mail) – средство обмена
сообщениями по электронным коммуникациям (в режиме off-line). Можно
пересылать текстовые сообщения и архивированные файлы. В последних
могут содержаться данные (например, тексты программ, графические

23
данные) в различных форматах. В случае архивирования изображений
возникает проблема выбора форматов кодирования. Функции клиента
почты – составление, отправление, архивирование сообщений. Сообщения
состоят из заголовка и тела (текста). В заголовке указывается, кому
предназначено письмо, от кого оно поступило, кому посланы копии, дата
отправки, указатель ключа, по которому пользователь может определить
ключ для декодирования текста.
Разработан ряд альтернативных протоколов электронной почты для
прикладного уровня. Наиболее популярны среди них протоколы SMTP в
стеке протоколов TCP/IP и Х.400 в модели ISO. Расширение числа
возможных форматов данных по сравнению с SMTP сделано в MIME
(Multipurpose Internet Mail Extensions). На их базе разработано программное
обеспечение E-mail, способное работать в обоих протоколах. Оно включает
программы почтовых серверов и клиентов.
На ЭВМ пользователя должна быть установлена программа-клиент,
поддерживающая функции создания, передачи и приема сообщений. На
почтовом сервере, выделяемом в корпоративной или глобальной сети,
организуется промежуточное хранение поступающих сообщений. Связь
пользователя с почтовым сервером обычно осуществляется по протоколам
IMAP или POP3. Для индивидуального пользователя, общающегося с
другими абонентами по телефонной сети общего пользования, такое
промежуточное хранение возможно в собственном компьютере, но тогда
требуется либо постоянно включенный компьютер, либо предварительная
договоренность о времени связи. В территориальных сетях почтовые
сообщения проходят через ряд промежуточных федеральных или
региональных узлов. В таких узлах устанавливается программное
обеспечение (так называемый агент передачи сообщений), выполняющее
функции сортировки и маршрутизации сообщений.
Примерами программных систем электронной почты, выполняющих
все названные функции E-mail, могут служить Lotus cc:mail и Microsoft Mail.
Они позволяют адресовать сообщения индивидуальному пользователю, на
доску объявлений, для последовательного просмотра несколькими
исполнителями с возможностью коррекции сообщения; осуществлять поиск
сообщений, пришедших на почтовый сервер, по контексту, по адресу, по
времени отправки. В сетях Netware на почтовом сервере можно
использовать программное обеспечение MHS фирмы Novell, а клиентскими
программами могут быть Mapi или Vim. Комплекс программ UUCP
(Unix-to-Unix Copy Program), поддерживающих модемную связь между
Unix-машинами, включает средства электронной почты (программа Mail) и
телеконференций. Комплекс UUPC – эмуляция UUCP для операционной
системы MS DOS. В таком комплексе имеется удобный графический
пользовательский интерфейс, но можно работать и непосредственно с
командами Mail. В настоящее время при разработке многих программных
систем предусматривается интерфейс со средствами электронной почты
или реализуются встроенные почтовые подсистемы.

24
Файловый обмен. Так называется доступ к файлам, распределен-
ным по различным компьютерам. В сети Internet на прикладном уровне
используется протокол FTP. Доступ возможен в режимах off-line и on-line. В
режиме off-line посылается запрос к серверу FTP-mail, который формирует и
посылает ответ на запрос. В режиме on-line осуществляется интерактивный
просмотр каталогов FTP-сервера, выбор и передача нужных файлов. На
ЭВМ пользователя нужно установить клиентские средства FTP. Доступ к
базам данных удаленных ЭВМ с эмуляцией удаленной машины на ЭВМ
пользователя выполняется с помощью протокола Telnet.
При запросе файла по протоколу FTP пользователь должен знать, где
находится нужный ему файл. В большинстве серверов Internet для входа по
FTP-команде требуется предварительная регистрация пользователя и
указание пароля. Однако это не обязательно при обращениях к
общедоступным (анонимным) серверам. Такие серверы создают и
обслуживают организации, заинтересованные в распространении
информации определенного вида.
Каждый обмен порождает два процесса: управляющий (командный)
процесс инициирован в течение всего сеанса связи и осуществляется через
Тelnet, а процесс передачи файла – только на время передачи. Номера
протокольных портов сервера 20 и 21, у клиента могут быть различные
номера портов, в том числе и несколько одновременно. Для
одновременного обслуживания нескольких клиентов создаются копии
программного обеспечения FTP-процессов на сервере и у клиентов.
Эмуляция терминала. С помощью протокола эмуляции терминала
Telnet пользователь сети Internet может работать на удаленном
компьютере. После установления связи все, что пользователь набирает на
клавиатуре своего компьютера, передается на узел, к которому он подклю-
чен в данной сессии Telnet, а содержимое экрана этого узла отображается
на экране пользователя. Telnet должен работать в условиях разных
аппаратных платформ клиента и сервера. Выполнение этого требования
обеспечивает промежуточный виртуальный терминал. В терминале
зафиксирована интерпретация различных символов управления, поскольку
их разновидностей не так уж много. Необходимо предусматривать выход из
блокировок, возникающих, например, из-за зацикливания процесса на
сервере; осуществляется очисткой серверного буфера.
Телеконференции или ньюс-группы. В их рамках обеспечивается
доступ к тематической информации, выделенной для группового
использования. Существуют глобальные и локальные конференции.
Включение материалов в телеконференции, рассылка извещений о вновь
поступивших материалах, выполнение заказов на получение
заинтересовавшей абонента информации – основные функции програм-
много обеспечения телеконференций. Возможны режимы E-mail и on-line.
Самая крупная система телеконференций – USENET. В USENET
информация организована иерархически. Сообщения рассылаются или
лавинообразно, или через списки рассылки. В режиме on-line можно

25
прочитать список сообщений и тут же – выбранное сообщение. В режиме
off-line из списка выбирается сообщение, на него посылается запрос, после
чего копия требуемого сообщения высылается пользователю.
Программное обеспечение телеконференций включает средства
E-mail, текстовый редактор, средства файлового обмена и асинхронной
групповой связи. Используются также средства аудиоконференций
(голосовых телеконференций). Вызов, соединение, разговор происходят,
как в обычном телефоне, но связь идет через Internet.
Видеоконференции. Это способ связи, включающий передачу
видеоизображений по телекоммуникационным каналам связи с
возможностью интерактивного общения (в режиме on-line). Очевидно, что
требования к пропускной способности каналов передачи данных для
видеоконференций существенно выше, чем для рассмотренных ранее
способов связи. Видеоконференции стали доступными (для достаточно
крупных организаций) в результате развития спутниковых каналов связи и
эффективных алгоритмов сжатия данных при их передаче. В настоящее
время, особенно в промышленно развитых странах, сравнительно
недорогие настольные видеосистемы являются общедоступными,
единственное ограничение на их применение может накладывать
пропускная способность используемых каналов связи.
Аналоговое телевидение – самый дорогой вид видеоконференций,
обеспечивающий высокое качество передачи динамических изображений и
требующий полосы пропускания около 5 МГц, что при кодово-импульсной
модуляции и кодировании отсчетов 8-битовыми комбинациями эквива-
лентно пропускной способности каналов в 80 Мбит/с. В других способах
передачи видеоинформации требования к пропускной способности
существенно снижены благодаря сжатию информации с помощью кодеков.
Специализированная видеоконференцсистема включает дистанци-
онно управляемую видеокамеру, монитор с большим экраном, микрофоны,
динамики, устройство для считывания графических документов, кодеки.
Требуется выделенный канал со скоростью выше 64 Кбит/с. Пример
программного обеспечения – PictureTel.
Цифровые видеотелефоны используются для оперативного делового
общения. Состав комплекта аппаратуры: видеокамера, монитор, микрофон,
динамик, кодек. Связь чаще всего организуется по цифровым каналам
(ISDN). Не требуется высокое качество изображения, значительно дешевле
аналогового телевидения.
Видеоконференции для двух собеседников на базе ПЭВМ или
рабочих станций (так называемые настольные видеоконференции)
реализуются на основе мультимедийных средств. Используются компьютер
с аудио-, видео- и сетевой платами, микрофон, динамик, видеокамера.
В настоящее время разработан ряд специальных стандартов
видеоконференцсвязи. В группу стандартов T.120, созданных ITU, входят
T.122/125 (служба многоточечных соединений), Т.126 (технология
whiteboerd), T.127 (передача файлов при многоточечной связи). Стандарт

26
Т.123 содержит описание транспортных протоколов, которые могут
использоваться в системах конференцсвязи. Группа стандартов Н.32х
описывает реализации мультимедийных приложений в различных типах
сетей и включает в себя спецификации Н.320 (совместное использование
аудио- и видеокомплектов с узкополосными каналами ISDN), Н.321
(широкополосные каналы), Н.322 и Н.323 (видеоконференцсвязь в
локальной сети), а также Н.324 (организация групповых видеоконференций
по коммутируемым телефонным каналам). Стандарт Н.310 относится к
мультимедийным приложениям с высоким разрешением. В этих стандартах
устанавливаются требования к сжатию данных, протоколам их передачи и к
синхронизации видео- и аудиопотоков.
Информационные системы. В сети Internet имеются уникальные
информационные системы Gopher и более современная WWW,
представляющие собой распределенные хранилища информации,
серверное и клиентское программное обеспечение для обслуживания этой
информации и доступа к ней. Информационная система Gopher представ-
ляет собой удобную для использования систему дистанционного доступа к
файлам. Файлы размещены на различных Gopher-серверах, находящихся в
разных точках земного шара и связанных между собой сетью Internet.
Доступ осуществляется через Gopher-клиентов, находящихся в абонентских
узлах. В настоящее время система Gopher уступила свои позиции сервису
World Wide Web (WWW, "всемирная паутина").
WWW – гипертекстовая информационная система сети Internet. Она
существенно более развита по сравнению с Gopher и предоставляет
пользователям бόльшие возможности. Во-первых, это гипертекст –
структурированный текст с введенными в него перекрестными ссылками,
отражающими смысловые связи частей текста. Активизация ссылки
вызывает обращение к связанному с ней элементу (тексту, рисунку, файлу
и т. д.). Во-вторых, облегчено по сравнению с Gopher представление и
получение графических изображений. К началу 1999 г. в мире
насчитывалось более 3 млн. WWW-серверов и около двухсот миллионов
пользователей.
Клиентские программы WWW называют браузерами (browsers).
Имеются текстовые (например, Lynx) и графические (наиболее известны
Netscape Navigator и Microsoft Internet Explorer) браузеры, корпорация Sun
предлагает браузер HotJava. В браузерах имеются команды листания,
перехода к предыдущему или последующему документу, печати, перехода
по гипертекстовой ссылке и т. п. Из большинства браузеров доступен не
только сервис просмотра гипертекстовых страниц, но и такие услуги, как
реализация FTP, Gopher, USENET, E-mail. Подготавливаются материалы
для их включения в базу WWW с использованием специально
разработанного языка разметки гипертекстовых документов – HTML
(Hypertext Markup Language) и реализующих его программных редакторов,
например Netscape Composer или Microsoft FrontPage. Для связи
WWW-серверов и клиентов используется протокол HTTP. На базе HTML

27
разработан язык описания сцен виртуальной реальности VRML – в нем
можно использовать трехмерную графику.
Еще одно расширение языка HTML – XML (Extensible Markup
Language) – позволяет использовать в документах типы элементов,
создаваемые для конкретных приложений. С помощью обобщенного языка
разметки документов SGML (Standard Generalized Markup Language) можно
определять содержимое и форму документов в виде последовательности
объектов данных, которые могут храниться в различных файлах. В
итоговый документ они включаются в соответствии с форматами,
задаваемыми в специальном файле описания типов документов DTD
(Documeny Type Definition), что упрощает хранение и поиск документов в
базах данных.
В современные сетевые операционные системы включены
специальные средства поиска информации на серверах Internet. В
настоящее время для облегчения поиска применяют также специальные
информационно-поисковые системы (ИПС). В этих системах собирается,
индексируется и регистрируется информация о документах, имеющихся в
обслуживаемой группе Web-серверов. Пользователю предоставляется
возможность обращаться к серверу с запросами на естественном языке, со
сложными запросами, включающими логические связи.
Для разработки приложений в Internet уже созданы специальные
средства, такие как язык Java или Internet Visial Basic. Примером браузера
на основе языка Java может служить HotJava.
Компьютерная телефония. Под компьютерной телефонией
понимается технология, позволяющая использовать Internet или любую
другую вычислительную сеть в качестве средства организации и ведения
международных и междугородных телефонных разговоров и передачи
факсов в режиме реального времени. Одним из наиболее сложных
системных приложений компьютерной телефонии является IP-телефония.
Известны и практически реализуются две базовые схемы
IP-телефонии. Первая из них (рис. 1.4) связана с организацией телефонных
переговоров между пользователями персональных компьютеров, оснащен-

ПК1
Internet

ПК2
Рис. 1.4. Телефонная связь через сеть Internet

28
ных мультимедийным оборудованием и специальными программными
(программно-аппаратными) средствами, обеспечивающими ведение
дуплексных телефонных переговоров, необходимый сервис и контроль.
Пользовательские компьютеры могут входить в состав локальной сети,
иметь персональный IP-адрес или подключаться к сети Internet при помощи
модема.
Вторая схема (рис. 1.5) предусматривает использование специальных
многофункциональных устройств – шлюзов. Шлюз предназначен для
преобразования аналоговых речевых и служебных сигналов в цифровую
последовательность, организации из этой последовательности пакетов
глобальной сети Internet и передачи их в сеть, приема пакетов и
восстановления цифровой последовательности – цифровых речевых и
служебных сигналов и их преобразования в аналоговую форму, а также
решения большого перечня задач, связанных с организацией интерфейсов,
генерированием и детектированием сигналов абонентской сигнализации,
управлением режимами телефонных переговоров и многого другого.
Шлюзы могут устанавливаться на серверах Internet-провайдеров, на
городских телефонных станциях, учрежденческих АТС, серверах локальных
вычислительных сетей, Web-серверах компаний, нуждающихся в
организации голосовых "горячих линий", служб технической поддержки,
диалоговых справочных служб и т. д. Шлюзы, наконец, могут устанав-
ливаться на маршрутизаторах.

Телефонная IP-шлюз
… сеть А

Internet

… Телефонная IP-шлюз
сеть В

Рис. 1.5. Телефонная связь через сеть Internet с использованием шлюзов

В зависимости от схемы организации связи архитектура шлюза может


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

29
Понятно, что рассмотренные базовые схемы могут комбинироваться.
Возможны разнообразные способы организации IP-телефонной связи с
использованием шлюзов, размещенных в функционально различных точках
сети. Однако, как свидетельствуют многочисленные обзорные публикации,
рекламные сообщения практически всех фирм, работающих в области
IP-телефонии, и здравый смысл, применение шлюзов является сегодня
магистральным направлением, а собственно шлюз – ключевым элементом
системы.
Рассмотрим процесс речевого диалога в системе Internet с
информационной точки зрения. Этот процесс имеет следующие три фазы:
– соединение абонентов;
– обмен информацией;
– разъединение абонентов.
Во время первой и третьей фаз передаются только управляющие
данные, и при этом происходит установление соединения. На протяжении
второй фазы абоненты обмениваются как управляющими, так и
информационными данными.
Источником информационных данных является речевой сигнал,
возможная модель которого – нестационарный случайный процесс. В
первом приближении можно выделить следующие типы сигнальных
фрагментов: вокализированные, невокализированные, переходные и паузы.
При передаче речи в цифровой форме, т.е. в виде последовательности
чисел, каждый тип сигнала при одной и той же длительности и одинаковом
качестве для кодирования и передачи требует различного числа двоичных
единиц (бит). Следовательно, скорость передачи разных типов сигнала
также может быть различной. Отсюда следует важный вывод: передачу
речевых данных во всех направлениях дуплексного канала разумно
рассматривать как передачу асинхронных логически самостоятельных
фрагментов цифровых последовательностей (транзакций) с блочной
(дейтаграммной) синхронизацией внутри транзакции, наполненной блоками
различной длины.
Описанная модель речевого сигнала является базисной для изучения
и построения IP-телефонных систем. Асинхронность же транзакций
позволяет, с одной стороны, оптимизировать трафик за счет снижения
средней скорости передачи и, с другой – за счет относительной свободы
воспроизведения каждой транзакции скомпенсировать неидеальности
канала передачи.
Насколько можно судить по данным, приводимым в литературе по
теме, специальных разработок для Internet-телефонии, рекомендованных
ITU-T, пока не существует. Таковой может считаться спецификация H.323,
одобренная Международным советом по электросвязи в 1996 г. Она
формулирует технические требования для передачи аудио- и видеоданных
по сетям передачи данных и включает в себя стандарты на видеокодеки, на
голосовые кодеки, на общедоступные приложения, на управление
вызовами и системой. Среди международных стандартов, рекомендуемых

30
для подобных систем, чаще других упоминается G.723.1,
регламентирующий передачу речи со скоростью 5.3 и 6.3 Кбит/с, а также
G.729 для скорости передачи 8 Кбит/с.
Упомянутые стандарты, гарантирующие достаточно высокое качество
речи в идеальных условиях передачи, были разработаны для
использования в каналах, отличных от Internet, и позже частично
адаптировались для условий потери пакетов. Стандарты, развивающие это
направление, включают в себя Voice Activity Detector и элементы,
ответственные за синтез речевого сигнала на фрагментах,
соответствующих потерянным речевым данным. В настоящее время
ведущие в области телекоммуникаций фирмы и университеты
разрабатывают алгоритмы вокодеров (кодировщиков речи) для
Internet-телефонии. Ориентируясь на последние публикации, в ближайшие
годы можно ожидать появления алгоритмов компрессии со средними
скоростями 2 – 4 Кбит/с и ниже с качеством синтезированной речи, близким
к коммерческому и допустимых искажениях в условиях 20% потерь пакетов
с речевыми данными.
Распределенные базы данных. В настоящее время все яснее
наблюдаются процессы глобализации информационных ресурсов, так что
появляется потребность в создании и использовании распределенных
хранилищ данных, доступ к которым может быть осуществлен с узлов,
сколь угодно далеко отстоящих как друг от друга, так и от серверов базы
данных. В системах клиент–сервер запрос должен формироваться в ЭВМ
пользователя, а организация поиска данных, их обработка и формирование
ответа на запрос относятся к ЭВМ-серверу. При этом нужная информация
может быть распределена по различным серверам.
В сети Internet имеются специальные серверы баз данных,
называемые WAIS (Wide Area Information Server), в которых могут
содержаться совокупности баз данных под управлением различных СУБД.
При работе с таким сервером пользователь клиентской ЭВМ
выполняет следующую последовательность действий:
– выбор нужной базы данных;
– формирование запроса, состоящего из ключевых слов;
– посылка запроса к WAIS-серверу;
– получение от сервера заголовков документов, соответствующих
заданным ключевым словам;
– выбор нужного заголовка и посылка его к серверу;
– получение требуемого документа.
К сожалению, WAIS в настоящее время не развивается, поэтому
используется мало, хотя индексирование и поиск по индексам в больших
массивах неструктурированной информации, что было одной из основных
функций WAIS, – задача по-прежнему актуальная.
Возможно, причина снижения интереса к WAIS кроется в реализации
Web-технологии во многих прикладных системах, в том числе в ряде СУБД.
Так, в Oracle имеется свой Web-сервер, который принимает HTTP-запросы

31
и переправляет их одному из обработчиков (в Oracle их называют
картриджами). Среди обработчиков – интерпретатор языка Java. Возможны
обработчики, создаваемые пользователями.

1.4. Примеры глобальных сетей

Internet – крупнейшая международная глобальная сеть. К середине


1993 г. в сети было 1776 тыс. ЭВМ из 137 стран, а уже через шесть лет
число подключенных к ней серверов превысило 3 миллиона. В сети
используется стек протоколов TCP/IP. Сеть гетерогенная, узлы могут быть с
ОС Unix, VMS, MS DOS и др. Взаимодействие узлов с разными ОС
осуществляется посредством файловой системы NFS. Для электронной
почты используется несколько протоколов, один из них SMTP. Правильнее
считать Internet не самостоятельной сетью, а некоторой надсетью –
совокупностью многих сетей. Любая сеть, работающая по протоколам
TCP/IP и имеющая каналы связи с любой сетью, уже включенной в Internet,
тоже становится частью Internet.
В настоящее время в США реализуется несколько проектов развития
национальных сетей с перспективой перехода в глобальный статус. В
частности, это проект Internet2.
VBNS – разработка Национального научного фонда США (National
Science Foundation, NSF), который был создателем сети NSFnet –
магистральной опорной сети, сыгравшей определяющую роль в развитии
инфраструктуры Internet в конце 80-х первой половине 90-х гг. Несколько
лет назад NSF начал программу, именуемую vBNS (very high speed
Backbone Network Service – высокоскоростная опорная сеть) и имеющую
целью поддержку высокоскоростных Internet-соединений для работников
науки и образования. Вначале эта программа использовалась для
улучшения соединения между суперкомпьютерными центрами. К
настоящему времени программа расширилась и обеспечивает
высокоскоростное подключение крупных американских научно-
исследовательских центров и университетов. В этой сети используется
технология IP-over-ATM. Основу сети составляют высокоскоростные каналы
связи (155 и 622 Мбит/с) и точки доступа NAP (Network Access Points),
являющиеся базовыми узлами магистральной части сети. Внешние шлюзы
представлены ATM-переключателями ASX-1000. К портам ASX-1000
подсоединяются (непосредственно или через маршрутизаторы Cisco 7507)
cети крупных научных и образовательных центров и автономные системы.
Global Network – планируемая фирмой IBM глобальная сеть ATM.
Пользователи могут подписываться на ассортимент приложений и услуг,
предоставляемых по сети, вместо покупки и сопровождения собственного
программного обеспечения.
DECNet – территориальная сеть фирмы DEC. Сеть стала открытой
благодаря сетевому программному обеспечению Pathworks. Pathworks
поддерживает такие сетевые технологии, как Novell Netware, LAN Manager,

32
AppleTalk. Могут объединяться сети Ethernet, Token Ring, FDDI, X.25.
Имеются средства для подключения IBM-mainframes. Реализуется
спецификация распределенной архитектуры CORBA (Common Object
Request Broker Architecture) – с помощью программы ObjectBroker
производятся распределенные вычисления.
Relcom – широко известная российская сеть электронной почты,
имеющая выход на международные сети. Обеспечивает также
телеконференции в режиме off-line. Relcom является коммерческой сетью и
гейтуется с Internet.
RUNNET – создаваемая сеть университетов России. Предполагаемые
услуги – электронная почта, файловый обмен, доступ к распределенным
базам данных, телеконференции. Благодаря скоростным каналам связи
обеспечивается режим on-line. Верхний уровень сети составляют
федеральные узлы (ФУ). Всего в первой очереди предполагается иметь 15
таких узлов. ФУ в Москве и С.-Петербурге соединены между собой
оптоволоконным каналом емкостью 2 Мбит, они являются центральными
для остальных 13 ФУ, подключаемых по топологии "звезда" к одному из
центральных ФУ по спутниковым каналам связи (от 64 до 512 Кбит/с). Через
центральные ФУ имеется выход на международные сети. Так,
Санкт-Петербургский узел имеет волоконно-оптический канал связи с
Финляндией и через него – с другими международными сетями.
Используются наземные станции спутниковой связи "Кедр-М" или "Калинка"
с модемами SDM-650 и SDM-100. В качестве маршрутизатора в опорной
сети применяется аппаратура CISCO 4000. Коммуникации с региональными
узлами осуществляются через коммуникационный сервер. Региональные
узлы обслуживают около 50 отдельных регионов.
РОСПАК – федеральная государственная сеть общего пользования.
Услуги: электронная почта, доступ к БД в режиме on-line, телеконференции.
В настоящее время проходит первый этап ее создания. Предполагается
создать 14 магистральных центров коммутации пакетов (МЦКП), каждый по
200 портов по 256 Кбит/с, и не менее 300 региональных центров, каждый до
40 портов по 64 Кбит/с, а также терминальные центры – до 8 портов по
9.6 Кбит/с, связанных посредством телефонных аналоговых линий.
MSUnet – информационно-вычислительная сеть МГУ. Сеть имеет
связи с рядом региональных и международных сетей, в частности, с сетью
"Спринт" и через нее – с сетью Sprint Link в США (спутниковый канал
64 Кбит/с); кроме того, имеется связь с наземной станцией в Лондоне через
спутниковый канал (суммарная пропускная способность 2 Гбит/с) и
планируется подключение к московскому общегородскому оптоволоконному
каналу. С несколькими институтами РАН связь поддерживается по
радиорелейным линиям. Локальная часть сети имеет два транспортных
(магистральных) оптоволоконных канала Ethernet, к которым подключаются
внутренние локальные подсети. Удаленные пользователи могут работать в
сети через сервер доступа по телефонным линиям и модемы.

33
2. АРХИТЕКТУРА СОВРЕМЕННЫХ СИСТЕМ
РАСПРЕДЕЛЕННОЙ ОБРАБОТКИ

2.1. Распределённая обработка данных

Понятие распределенной обработки данных. Распределенная


обработка данных является одной из важнейших сфер применения сетевых
технологий. Говоря о распределенной обработке, необходимо начать с
рассмотрения понятия "открытая система", поскольку применение подхода
открытых систем в настоящее время является основной тенденцией в
области информационных технологий, связанных с телекоммуникациями и
вычислительными сетями. Идеологию открытых систем реализуют в своих
последних разработках все ведущие фирмы-поставщики средств
вычислительной техники, передачи информации, программного
обеспечения и разработки прикладных информационных систем. Что
понимается под открытыми системами? Французская ассоциация
пользователей Unix (AFUU) дает следующее определение: "Открытая
система – это система, которая состоит из компонентов,
взаимодействующих друг с другом через стандартные интерфейсы".
Термин "распределенная обработка данных" (Distributed Data
Processing, DDP) применяется для описания систем с несколькими процес-
сорами. Однако многие специалисты трактуют его по-разному, поскольку
соединять процессоры можно различными способами и для различных
целей. Часто под этим термином понимаются мультипроцессорные
комплексы, расположенные в одном месте. Но в общепринятом смысле
слово "распределенный" означает, что процессоры территориально удале-
ны друг от друга. Иногда этот термин употребляется применительно к рабо-
там, выполняемым на множестве не связанных между собой компьютеров.
Централизация и децентрализация. В принципе, аргументы "за" и
"против" распределенной обработки в некоторой конкретной системе
распадаются на три группы, касающиеся обработки, данных и механизмов
управления. Каждая из этих групп требует особого рассмотрения. Могут
быть аргументы "за" централизацию одних данных и рассредоточение
других, причем они могут не совпадать с аргументами в пользу
распределения собственно обработки. Наконец, в системе может быть в
большой степени территориально рассредоточена обработка, а общие
механизмы управления локализованы.
Вычислительные сети могут иметь как централизованные механизмы
управления, так и рассредоточенные. В случае полной централизации
управления при выходе из строя центра становится неработоспособной вся
сеть. Распределенное управление предполагает, что с выходом из строя
любой части сети оставшаяся часть продолжает функционировать.
Надежность централизованной системы можно повысить, предусмотрев
несколько центров управления или несколько компьютеров в одном центре,
готовых взять на себя функции управления. На практике пользователи

34
сталкиваются и с централизованным и с распределенным управлением, но
чаще – с их комбинацией. Функционирование машинных сетей зависит от
работоспособности определенных критических компонентов. По мере того
как на сети будет возлагаться все большее число жизненно важных
функций, все большее значение начнет придаваться механизмам
управления, устойчивым к отказам.
Преимущества распределенной обработки данных заключаются в
следующем:
– в большом числе взаимодействующих между собой пользователей,
выполняющих функции сбора, регистрации, хранения, передачи и выдачи
информации;
– снятии пиковых нагрузок с централизованной базы путем распре-
деления обработки и хранения локальных баз данных на разных ЭВМ;
– обеспечении доступа информационного работника к вычислитель-
ным ресурсам сети ЭВМ;
– обеспечении симметричного обмена данными между удаленными
пользователями;
– эффективности параллельных вычислений по сравнению с
однопоточными алгоритмами. Преимущество параллельных приложений
заключаются в отсутствии блокировок потока выполнения при выполнении
действий, критичных к использованию ресурсов оборудования и системного
программного обеспечения. В распределенной среде логично разместить
параллельно выполняющиеся части приложения на разных вычислитель-
ных элементах. Таким образом, в отличие от алгоритмов разделения
процессорного времени, достигаются "истинная" параллельность и более
эффективное использование ресурсов.
Новые возможности, предоставляемые распределенной обработкой
данных, поставили перед администраторами, ответственными за обработку
информации, много сложных проблем. Какие функции должны быть
централизованы, а какие – децентрализованы? Где должны храниться
данные? Какая конфигурация мэйнфреймов, персональных компьютеров и
интеллектуальных терминалов ("тонких клиентов") окажется наилучшей
для обслуживания проекта?
Помимо технических аспектов, при проектировании систем
(обработка, данные, механизмы управления) специалистам в области
информации приходится учитывать психологические, социальные и другие
аспекты. Должно ли прикладное программирование вестись
централизованно или периферийными группами? Должно ли общее
руководство ходом разработки быть централизованным или
распределенным? Какие стандарты следует принимать и использовать
централизованно?
Высокая степень централизации аппаратуры обычно увеличивает её
стоимость, что особенно видно из сопоставления стоимости мощных
мэйнфреймов со стоимостью сетевой системы, состоящей из "персоналок".
Кроме того, хорошо известно, что при разработке крупной промышленной

35
вычислительной системы платить приходится не только за аппаратуру.
Поэтому существует множество различных аргументов как "за", так и
"против" централизации. И, как правило, далеко не всегда технические
аргументы оказываются решающими.
Важно отметить, что современный уровень технологии предоставляет
разработчику системы возможность выбора. Сочетание персональных
компьютеров с большими машинами и коммуникационное программное
обеспечение, объединяющее их в единое целое, позволяют осуществлять
централизацию и децентрализацию в любых комбинациях в соответствии с
нуждами предприятия. Ниже перечислены основные факторы,
стимулирующие развитие распределенной обработки данных.
Снижение стоимости персональных компьютеров и сетевого
оборудования. Цены на персональные компьютеры и их оборудование
упали до уровня, при котором большинство групп пользователей могут
позволить себе приобрести целый парк собственных машин. Мощности этих
машин продолжают стремительно расти, а цены – снижаться.
Отмена закона Гроша. Закон Гроша утверждает, что стоимость
обработки обратно пропорциональна квадрату размера машины. Этим
объяснялось существовавшее ранее стремление к централизации и
программного обеспечения, и обработки данных. Сегодня выполнение
команды на ПК обходится во много раз дешевле, чем ее выполнение на
мэйнфрейме, что ведет к децентрализации большинства функций.
Развитие систем телекоммуникаций. В последние десять лет
произошел резкий скачок в развитии и распространении средств
глобальных телекоммуникаций – высококачественных проводных (wired) и
беспроводных (wireless) линий связи.
Повышение квалификации конечных пользователей. Сегодня все
больше и больше потенциальных пользователей изучают компьютеры и
овладевают искусством программирования, а поэтому хотели бы принять
более активное участие в процессах разработки систем.
Необходимость повышения надежности. Многие пользователи были
недовольны тем, что они не могли получить от централизованной системы
данные или машинное время в тот момент, когда они им нужны, либо из-за
отказов аппаратуры и программного обеспечения, либо из-за неудобного
графика работы. Распределенность позволяет минимизировать риск
подобного отказа.
Поддержка работы пользователей. Познакомившись с принципами
работы компьютеров и программированием, пользователь начинает
активно искать способ получить от машины помощь. Многие варианты
применения машин исходят не от централизованных групп, а от
пользователей. Только конечный пользователь может хорошо знать все
конкретные проблемы, возникающие в его предметной области.
Необходимость централизованного дистанционного управления
вычислительными системами. Случайное, неуправляемое, децентрализо-
ванное развитие ведет к тому, что отдельные части систем быстро

36
становятся несовместимыми. В результате затрудняется взаимодействие
между отдельными частями информационной системы и администрация
фирмы теряет контроль над производственным процессом. Решение этих
проблем также требует создания сетей для распределенной обработки
данных и сведения соответствующих стандартов.
Возможность взаимодействия систем. По мере внедрения средств
обработки данных в организации все острее встает проблема налаживания
взаимодействия разобщенных систем.
Необходимость удаленного доступа к базам данных. Базы данных,
создаваемые и поддерживаемые в одних местах, представляют ценность
для пользователей в других местах. Желательно обеспечить
заинтересованным пользователям доступ к базам данных из террито-
риально удаленных программ.
Развитие сетевого программного обеспечения. Уже создано и
совершенствуется огромное количество самого различного программного
обеспечения для поддержки работы в сетях и распределенной обработки
информации.
Безопасность. В распределенных системах легче обеспечить защиту
данных от несанкционированного доступа, поскольку есть возможность
размещать их в территориально разнесенных местах. При этом защита
информации при передаче по сети может быть обеспечена посредством
использования различных алгоритмов шифрования (TripleDES и др.), время
"вскрытия" которых обычно превышает время, в течение которого
информация сохраняет свою ценность
Эффективность распределения нагрузки по узлам обработки.
Большие установки с мощными системами все хуже справляются с
нагрузкой по мере усложнения прикладных задач и применения
программного обеспечения, что увеличивает накладные расходы.
Большинство функций должно быть снято с центральных процессоров и
передано распределенным. Скорости больших машин повышаются не
настолько быстро, чтобы можно было удовлетворить все возрастающие
запросы со стороны прикладных задач, в то время как темпы роста
мощности ПК достаточно высоки.
Возможность оптимального сочетания централизации и
децентрализации. Как отмечалось, существуют серьезные аргументы "за" и
"против" централизации. Распределенная обработка позволяет строить
системы, в которых гибко сочетаются достоинства как централизации, так и
децентрализации.
Распределение данных. Если соединенные линиями связи
процессоры территориально удалены друг от друга, то и перерабаты-
ваемые ими данные также могут быть распределенными. Однако
ограничения на размещение данных и размещение узлов их хранения и
обработки часто бывают различны. Во многих системах именно структура
данных и характер их использования обусловливают рациональное
размещение узлов обработки (т. е. элементов сети).

37
Обычно, данные могут храниться двумя способами – непосред-
ственно в виде файлов или в базах данных. Файлы создаются, как правило,
для работы с одной прикладной задачей или с группой связанных задач.
Представление программиста о файле практически соответствует
физической структуре последнего. База данных – это хранящаяся в
независимом от приложений виде совокупность данных, из которой с
помощью программного обеспечения может быть порождено множество
различных программистских записей. Использование баз данных дает
большие преимущества. Долгое время их программное обеспечение
работало с данными, сосредоточенными в одном месте, однако теперь все
большее распространение приобретают распределенные системы баз
данных, совместно функционирующие на нескольких узлах. При этом
централизация или децентрализация, как правило, диктуется существом
самих хранимых данных. В частности, если данные непрерывно
обновляются, а территориально разобщенные пользователи должны
получать всякий раз их последнее состояние (например, как в системе
резервирования авиабилетов), то естественно такие данные
централизовать. Информация обычно централизуется и тогда, когда поиск
производится во всей её совокупности. С другой стороны, если данные
используются локально в точке их происхождения, они могут быть
децентрализованными. При низкой скорости обновления или при
автономном обновлении (off-line) допустимо хранение нескольких копий
одних и тех же данных в разных местах.
Вопрос о конфигурации в каждой конкретной ситуации
распределенной обработки зависит главным образом от характера
использования данных и целесообразности их распределения.
Распределение вычислительного процесса. Как уже отмечалось,
наличие в составе вычислительных сетей нескольких рабочих станций (PC)
создает возможность одновременной (параллельной) обработки
информации в различных узлах сети. Для управления такой обработкой
используется сетевое программное обеспечение, являющееся, с точки
зрения пользователей, распределенной операционной средой (системой).
Распределенные операционные системы (РОС) реализуются на
нескольких компьютерах. Принципиальные отличия РОС от традиционных
централизованных заключаются в управлении несколькими одновременно
выполняемыми процессами, обрабатывающими информацию, и в
необходимости применять средства передачи сообщений между этими
процессами и средства синхронизации этих процессов.
Во время функционирования РОС могут возникать параллельные
вычислительные процессы между процессами:
• внутри одной задачи;
• принадлежащими разным задачам;
• задачи пользователя и операционной системы;
• самой операционной системы.

38
В распределенных операционных системах ВС появляется ряд
функций, не свойственных операционным системам однопроцессорных
компьютеров: инициализация и завершение параллельно протекающих
процессов, обмен сообщениями между ними, их синхронизация, а также
распределение ресурсов для самой распределенной ОС. Кроме того,
усложняется решение проблем, имеющих место и в традиционных ОС
однопроцессорных машин: например, распределение ресурсов между
задачами и процессами, устранение возможных тупиков, повышение
реактивности систем и др. В тех случаях, когда операционная система
реализуется на нескольких компьютерах, возможны следующие варианты
ее функционирования:
• каждый компьютер реализует все функции ОС, т. е. хранит в своей
оперативной памяти всю резидентную часть и имеет доступ к любой
нерезидентной части операционной системы, хранящейся на внешних
носителях;
• копии программ часто используемых функций ОС имеются на всех
компьютерах, редко используемых – на одной или на немногих ЭВМ;
• каждый компьютер выполняет определенный набор функций
операционной системы, причем эти функции на разных ЭВМ могут быть
различными, но могут и пересекаться.
Распределенные ОС управляют ресурсами, выделенными в
монопольное пользование отдельным параллельно протекающим процес-
сам, а также разделяемыми между этими процессами ресурсами. В связи с
возникновением параллелизма вычислительных процессов важными
функциями распределенных ОС являются организация обмена информа-
цией между процессами, выполняемыми на отдельных компьютерах, и
синхронизация этих процессов. В ВС обмен информацией между PC связан
с существенными временными затратами, поэтому характерным отличием
распределенных ОС являются слои операционных систем, обеспечива-
ющие обмен информацией между машинами.
Параллелизм вычислительных процессов в ВС требует организации
взаимодействия параллельных процессов. Это задача достаточно сложная,
и способ ее решения существенно влияет на производительность системы.
В одной и той же сети время, затрачиваемое на организацию
взаимодействия процессов, в зависимости от алгоритмов операционной
системы может различаться во много раз.
Выделяют три элемента взаимодействия асинхронных параллельных
процессов – инициацию, завершение и синхронизацию.
Основное отличие методов инициации и завершения параллельных
процессов в ВС от методов, применяемых в системах с общей памятью, за-
ключается в том, что процесс может быть инициирован (завершен) посыл-
кой сообщения локальной операционной системе, находящейся в другом
узле сети. Процесс инициируется в узле, принявшем сообщение. В таких
системах процессы и сообщения дополняют друг друга: сообщения иници-
ируют выполнение процессов, а процессы вызывают посылку сообщений.

39
В вычислительных системах для синхронизации процессов широко
используется механизм событий, назначение которого аналогично
назначению семафоров. Алгоритмы синхронизации, основанные на
механизме событий, в различных операционных системах различаются
деталями, но в силу своей идеологической близости могут быть
проиллюстрированы механизмом событий, используемым в вычисли-
тельной машине IВМ/390, который базируется на блоке управления
событием (БУС) и двух макрокомандах WAIT и POST. Синхронизация
событий в системах с общей памятью может выполняться с его помощью,
но при этом любая операция синхронизации приводит, фактически, к
одному межмашинному обмену или нескольким. Поэтому в системах с
раздельной памятью для синхронизации событий необходим еще один
оператор – оператор посылки сообщений.
Одним из аспектов синхронизации параллельных процессов является
синхронизация доступа к разделяемым ресурсам, в частности к ресурсам в
базах данных. Последовательность операций над одним или над
несколькими объектами базы данных (файлами, записями и т. д.), которые
переводят систему из одного целостного состояния в другое, принято
называть транзакцией. Транзакция может быть связана с данными только
одного узла (локальная транзакция) или нескольких узлов (распределенная
транзакция). Решение проблем синхронизации основано на том или ином
виде запрета доступа к ресурсу. Транзакция может запретить доступ к
ресурсу для того, чтобы обеспечить его монопольное использование в
течение некоторого времени. Если транзакция пытается запретить
использование ресурса, на который уже наложен запрет, она должна либо
ждать, либо должна быть снята с решения, либо должна стать в очередь.
Существуют три типа доступа к ресурсу (закрытия ресурса):
• монопольный – только одна транзакция получает доступ к
ресурсу (монопольный тип доступа обычно используется при записи
информации);
• разделяемый – несколько транзакций получают доступ к ресурсу
(разделяемый тип доступа обычно используется при чтении информации);
• предупредительный – в грáфе запретов введен запрет на узел
Х нижнего уровня. Поддеревья, в которые входит узел X, помечаются
меткой предупредительного запрета, чтобы не допустить наложения на
поддеревья, содержащие узел X.
Всякая транзакция при обращении к ресурсу узла должна:
• закрывать доступ к ресурсу одним из типов закрытия;
• не закрывать монопольный доступ к ресурсу, если он уже закрыт
другой транзакцией;
• перед окончанием работы с ресурсом открывать его, т. е. снимать
ограничение на доступ к нему;
• закрыв его, не закрывать доступ к ресурсу повторно.

40
Синхронизация считается выполненной корректно, если результат
параллельных вычислений всегда совпадает с результатом
последовательных вычислений.
Один из неприятных моментов в распределенных вычислительных
системах — тупиковые ситуации. Они возникают, когда для решения двух
(или более) активных, т. е. уже находящихся в стадии решения, задач
(процессов) требуются одни и те же ресурсы (устройства ввода-вывода,
наборы данных, программы, ОЗУ), а их приоритет одинаков. Самым
простым примером тупиковой ситуации являются состояния, когда два
процесса монопольно владеют каждый своим ресурсом, но для завершения
этих процессов каждому из них требуется еще ресурс, находящийся в
монопольном владении другого. В настоящее время сформировались три
основных подхода борьбы с тупиковыми ситуациями: предотвращение,
недопущение и обнаружение.
Предотвращение тупиковых ситуаций. Возможны три способа
предотвращения тупиковых ситуаций: прерывание процесса, запрос всех
требуемых ресурсов одновременно, упорядочение ресурсов.
Прерывание. Если процесс запрашивает ресурсы, занятые в момент
запроса, процесс прерывается и у него отнимаются все ресурсы, которыми
он владел. Способ прост, но малоэффективен при множестве разнотипных
ресурсов, так как приводит к частому снятию процесса с решения, а это
связано с большими системными затратами.
Запрос всех требуемых ресурсов одновременно. Такой запрос,
как правило, производится перед запуском задачи. Это один из наиболее
распространенных способов предотвращения самозамыкания, но имеющий
два очевидных недостатка:
– неэффективно используются ресурсы, так как они блокируются для
других задач (процессов) на все время работы задачи (процесса), для
которой они выделены;
– время ожидания ресурса задачей (процессом) может оказаться
чрезмерно большим.
Упорядочение ресурсов. При этом способе ресурсы разбиваются на
классы. Каждому классу присваивается номер. Процессу разрешается
запрашивать ресурсы в динамике выполнения только в том случае, если
номер класса запрашиваемого ресурса выше номеров классов тех ресур-
сов, которыми процесс уже владеет. Этот метод более гибок, чем первые
два, но его применение резко ограничивает возможные последователь-
ности запросов на ресурсы, поэтому популярностью он не пользуется.
Недопущение тупиковых ситуаций. Этот метод позволяет
запрашивать ресурсы динамически и тем самым увеличивает возможность
параллельного выполнения процессов. Ресурс задаче предоставляется
только в том случае, когда остается по крайней мере один путь для
завершения всех задач (процессов). Недопущение тупиковых ситуаций
заключается в анализе каждого возможного способа выделения ресурсов и
определении тех из них, которые ведут к состояниям, безопасным

41
относительно тупиков. Недостатки метода – необходимость иметь
априорную информацию о будущих потребностях процессов в ресурсах и
сложность алгоритмов недопущения тупиковых ситуаций, реализуемых в
динамике выполнения процесса.
Обнаружение тупиковых ситуаций. Эта стратегия предполагает,
что все требования на ресурсы будут немедленно удовлетворяться.
Периодически включается алгоритм, который проверяет, в каком состоянии
находится система: в тупиковом или не тупиковом. При обнаружении тупика
принимаются меры к выводу системы из этого состояния. Таким образом, с
помощью этого метода решаются две задачи – обнаружение тупиковой
ситуации и выход из нее, однако он имеет определенные недостатки,
связанные с необходимостью затрат процессорного времени на обнару-
жение тупика и на выход из него, а также потенциальными потерями,
обусловленными простоем ресурсов, когда система находится в тупике.
Достоинство метода заключается в предоставлении процессу требуемого
ресурса по мере его освобождения.
В системах с раздельной памятью, в том числе в сетях
вычислительных машин, обнаружение тупиковых состояний вызывает
дополнительные сложности. Задержка передачи информации в сетях может
затруднить точную оценку состояния сети. В результате, переход в
тупиковое состояние может быть не замечен или, наоборот, система может
считаться находящейся в тупике, хотя она в нем не находится. Для борьбы
с тупиками в системах с раздельной памятью используются перечисленные
ранее методы с учетом фактора неопределенности информации по
вычислительным устройствам и временных задержек, вызванных
пересылкой информации.
На основании изложенного можно заключить, что обработка
информации в сетях имеет множество аспектов, в рамках каждого из
которых могут быть рассмотрены достаточно сложные задачи с учетом
топологии сети, характеристик среды передачи данных, методов доступа,
возможностей абонентов сети и т. д.
Значительно меньше внимания большинство проектировщиков
корпоративных информационных систем уделяют содержательной стороне
процессов обработки информации в узлах сети. Однако во многих случаях
именно от характера работы, выполняемой на ЭВМ узла сети, зависит
эффективное функционирование всей ВС. Например, в
автоматизированных системах организационного типа на компьютерах
узлов сети могут решаться задачи информационного обеспечения
деятельности соответствующих должностных лиц. Совокупности задач
могут обслуживать конкретную предметную область и объединяться в
комплексы (пакеты). Комплексы задач обычно решаются в одном
(собственном) узле сети. При этом используются его информационные и
вычислительные ресурсы и (при необходимости) информация из других
узлов. Однако наличие высокоскоростной среды передачи данных,
возможность организации распределенных баз данных, доступность

42
ресурсов других узлов, наличие в узлах сети компьютеров с достаточно
высокими характеристиками (в том числе современных персональных ЭВМ)
позволяют перейти от традиционной централизованной обработки к
распределенной. При этом используются все доступные информационные и
вычислительные ресурсы различных узлов сети. Данные, необходимые для
решения задач, могут находиться как в локальной базе данных (база
данных собственного узла), так и во фрагментах распределенной базы
данных, находящихся в других узлах. На период решения комплекса задач
становится доступным процессорное время удаленных ЭВМ, а в ходе его
выполнения в узлах сети возможен обмен сообщениями между задачами.
Результаты решения одних задач, входящих в комплекс, могут служить
исходными данными для других.
Если воспринимать совокупность процессов преобразования
информации, протекающих во всех технических средствах системы,
которые функционируют под управлением программного обеспечения, как
вычислительный процесс (ВП) в широком смысле слова, то количество
задач, рассматриваемых в рамках проблемы его организации, становится
практически неограниченным, а поиск решения проблемы –
трудноосуществимым. Поэтому в дальнейшем изложении под
вычислительным процессом в узком смысле понимается процесс решения
комплексов задач (заранее определенных, с известными требованиями к
ресурсам) средствами сети. При этом узлы, в которых будут выполняться
задачи, называются исполнительными, а узел, из которого осуществляется
управление ходом решения задач, – диспетчерским.
Для решения задач, возлагаемых на ВС, а также для рационального
применения технических средств системы при организации
вычислительного процесса применяется планирование использования
выделяемых ресурсов, которое будет рассмотрено в разделе, посвященном
элементам управления вычислительными сетями.
2.2. Характеристики сетевых систем
В качестве характеристик сетевых систем обработки данных обычно
рассматриваются следующие основные параметры.
Производительность сетевой системы может быть определена как
количество обработанных транзакций в единицу времени. С
производительностью тесно связаны такие характеристики, как пропускная
способность каналов передачи данных, эффективность (отношение
производительности к стоимости создания и сопровождения системы либо к
стоимости используемых аппаратных средств и других ресурсов),
реактивность (временной интервал между воздействием на систему и
изменением ее состояния) и др.
Под отказоустойчивостью системы подразумеваются доступность
системы и ее надежность, что предполагает автоматизированное
восстановление сбоев и устойчивость отдельных элементов
распределенного приложения.

43
Доступность системы (availability) определяется как вероятность
того, что система будет функционировать в данный момент времени, или,
другими словами, это доля времени всего периода работы системы, в
течение которого последняя выполняет свои функции. Недоступность
системы обычно выражается как отказ в предоставлении услуги. Высокая
доступность системы обычно достигается использованием дополни-
тельного (избыточного) оборудования.
Надежность системы (reliability) определяется как вероятность того,
что система будет выполнять свои функции в течение всего требуемого
интервала времени [t0, t], при условии, что она функционировала в момент
времени t0. Понятие надежности сильно отличается от понятия
доступности, так как надежность является мерой времени, в течение
которого возможно предоставление системой услуги (обслуживание заявки,
обработка запроса).
Восстанавливаемость (устойчивость функционирования) –
возможность системы восстанавливать нормальную работу после
возникновения тех или иных сбоев, а также способность обнаруживать
подобные сбои и адекватно реагировать на их возникновение.
Расширяемость (масштабируемость) – возможность добавления в
систему новых узлов разного уровня (серверов, рабочих станций и др.) без
кардинальной перестройки системы (т. е. в рамках выбранных архитектуры
и технологии).
Мобильность (переносимость) – поддержка различных программно-
аппаратных платформ. Мобильность может относиться как к входящим в
систему узлам обработки (рабочим станциям, серверам и т. д.), так и
непосредственно к сетевому оборудованию.
Интероперабельность, т. е. способность к взаимодействию с
другими системами, которая подразумевает возможность интеграции в одну
систему разноплатформенных программно-аппаратных комплексов и
возможность связи по информации или по управлению разнородных
распределенных систем.
Управляемость – способность системы адекватно реагировать
(изменять свое состояние или характеристики) на управляющие
воздействия со стороны средств сетевого администрирования.
Сопровождаемость, т. е. простота и эффективность поддержки
функционирования системы. К этой характеристике примыкают показатель
отношения стоимости разработки и создания системы к стоимости ее
поддержки и сопровождения, а также документированность и
дружественность к пользователю и администратору.
2.3. Архитектура сетевых распределённых систем
Существует множество вариантом классификации архитектур
распределенных вычислительных систем.
По степени связности компонентов распределенные параллельные
архитектуры подразделяются на два класса – слабосвязные системы

44
(loosely coupled) и системы с сильной связью (tightly coupled). Рассмотрим
эти два класса архитектур, для чего определим обобщенную модель
распределенного приложения как событийно управляемую систему,
состоящую из набора задач, выполняющихся параллельно в разных
адресных пространствах распределенной системы и взаимодействующих
между собой посредством обмена синхронными или асинхронными
сообщениями.
Слабосвязные системы характеризуются отсутствием или
минимальным количеством разделяемых данных между параллельно
выполняющимися компонентами распределенного приложения. Это
означает, что такие системы не требуют обязательной синхронизации или
контроля множественного доступа к общим данным. Каждая задача
работает преимущественно со своим множеством данных. Большую долю
сетевого трафика в таких системах составляет управляющая информация.
В рамках данной модели возможна реализация как синхронной, так и
асинхронной схем обмена сообщениями между компонентами приложения.
Отказоустойчивость этих систем складывается из целостности данных
каждой задачи, надежности самой задачи и вычислительного элемента, в
рамках которых она выполняется, а также надежности доставки сообщений,
что предполагает надежность физической линии и надежность механизма
передачи. Вычислительный элемент может представлять собой как
отдельное адресное пространство, так и отдельную машину. Термин
"слабосвязные системы" часто используется в связи с архитектурой
обработки транзакций в реальном времени OLTP (On-line Transaction
Processing). Надежность доставки сообщений в таких системах часто
реализуется с помощью механизма транзакций. Системы OLTP
характеризуются низким трафиком между узлами кластера.
Системы с сильной связью характеризуются наличием данных,
разделяемых между компонентами распределенного приложения. Это
свойство накладывает конкретные ограничения на архитектуру приложения.
В частности, необходима синхронизация отдельных процессов и нитей
выполнения приложения при доступе к разделяемым ресурсам и данным.
Для этого часто используется репликация данных между компонентами
таким образом, чтобы каждая задача работала со своей копией данных,
после чего осуществляется синхронизация глобальных данных с данными
каждого компонента. Это означает наличие высокого трафика между
узлами кластерной системы, порождаемого копированием больших
объемов данных. Термин "система с сильной связью" часто используется по
отношению к архитектурам аналитической обработки информации в режиме
реального времени OLAP (On-line Analytical Processing). Наряду с таким
разделением распределенных систем можно ввести классификацию по
степени рассредоточения распределенных компонентов:
1) связь через общую шину с целью образования единого
вычислительного комплекса;

45
2) связь по кабелям в пределах одного машинного зала, этажа или
здания;
3) связь через общие средства коммуникации с постоянным
соединением (например, по выделенной телефонной линии или постоянной
виртуальной цепи);
4) связь через общие средства коммуникации с непостоянным
соединением (например, по коммутируемой телефонной линии или с
помощью виртуальных вызовов);
5) отсутствие физической связи.
В случаях 2) – 4) речь идет о сети машин. Существуют принципиально
различные типы машинных сетей. Использовавшиеся ранее для передачи
данных линии связи были, как правило, много медленнее (часто – на
несколько порядков) тех каналов, которыми связываются компоненты
систем в пределах машинного зала. Поэтому считалось, что функции,
распределяемые (рассредоточиваемые) географически, обычно отличают-
ся от функций, распределяемых в одном машинном зале. В современных
условиях в связи с повсеместным распространением средств
телекоммуникаций и улучшением используемых сетевых технологий эти
различия зачастую стираются.
Классификация систем по способам распределения данных.
Существует несколько типов систем, различающихся по характеру
распределения данных и их использованию.
Системы с централизованными данными. При наличии нескольких
хост-машин они могут либо находиться в том же месте, где размещены
данные, либо быть удалены от них.
Иерархические системы. В схеме иерархии зависимых данных
данные в машинах нижнего уровня тесно связаны с данными в машине
верхнего уровня. Зачастую первые могут быть подмножествами данных
верхнего уровня, используемыми в локальных приложениях. Эталонная
копия данных (master copy) при этом может храниться также на верхнем
уровне. При внесении изменений в данные на нижнем уровне эти
изменения должны передаваться в машину верхнего уровня – иногда
немедленно, иногда позднее (в цикле подновления).
В схеме иерархии независимых данных все узлы представляют собой
независимые замкнутые системы обработки данных. Структура данных на
машинах нижнего уровня обычно сильно отличается от их структуры на
верхнем уровне. Наиболее распространенным примером отношений такого
вида могут служить системы, в которых нижние уровни предназначены для
рутинных повторяющихся (массовых) операций: приема заказов, контроля
за выпуском продукции, управления складом и т. п. В машине верхнего
уровня, как правило размещаемой при главном управлении предприятием,
находится информационная система, которая должна снабжать
необходимой информацией руководство, планирующие подразделения,
отделы прогнозирования, разработчиков новых изделий и стратегий.

46
Системы с расщепленными данными. В этом случае используется
несколько систем с идентичными структурами данных. Большинству
обрабатываемых транзакций требуются только те данные, которые
находятся в обрабатывающей системе, но в некоторых случаях для
обработки транзакции, возникшей в одном районе, могут потребоваться
данные из другого района. При этом объектом передачи из одного района в
другой через сеть могут стать либо транзакция, либо данные. Во многих
организациях установлено большое число компьютеров с одинаковыми
расщепленными файлами в каждой, а сеть объединяет их в единую
систему.
Системы с реплицированными данными. Идентичные копии данных
хранятся в разных местах, поскольку дублирование памяти позволяет
избежать передачи больших объемов данных, что оказывается дешевле.
Такая организация имеет смысл только в тех случаях, когда объем
подновления невелик.
Гетерогенные (неоднородные) системы. Состоят из независимых
вычислительных систем, установленных различными организациями для
решения своих специфических задач и объединенных через глобальную
или корпоративную сеть типа Internet. Каждый компьютер хранит только
собственные данные, и никакого сходства или единства форм организации
данных здесь нет. Пользователь может получить доступ к любой машине в
сети, но он должен в деталях знать, как организованы данные на этой
конкретной машине.
Представляющаяся авторам настоящего издания наиболее стройной
классификация распределенных архитектур с точки зрения развития
клиент-серверного взаимодействия была подробно рассмотрена в
учебном пособии "Сетевые технологии".
Выбор варианта архитектуры распределенной системы предполагает
решение следующих задач: выбор способа реализации задач, возлагаемых
на систему; выбор сетевой технологии и топологии из различных
вариантов; выбор системного программного обеспечения (ПО) (прежде
всего, сетевой операционной системы) и режима его функционирования;
определение состава пакета прикладного ПО; выбор средств и методов
разработки и др.

2.4. Intranet и идеология систем клиент-сервер

Сеть intranet представляет собой технологию управления


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

47
intranet практически не отличается от Internet. Здесь такие же локальные и
глобальные сети, те же программы: Internet-навигаторы, Web-серверы,
электронная почта, телеконференции и даже те же производители
программного обеспечения. Главная отличительная особенность intranet
кроется в информационном уровне коммуникаций.
Наиболее мощный толчок к развитию сети intranet получили в рамках
парадигмы клиент-сервер. Всем технологическим и архитектурным
принципам свойственно развиваться и модифицироваться. Именно это и
произошло с технологией клиент-сервер. Далее рассматривается
эволюционирование систем, построенных в архитектуре такого типа.
Классическая (двухуровневая) модель. Исторически это первая
модель в рассматриваемой архитектуре, возникшая как попытка
организовать распределенные вычисления с ярко выраженной
централизацией.
Здесь клиентская часть отвечает за предоставление
пользовательского интерфейса и при функционировании взаимодействует с
сервером базы данных. При этом бизнес-логика реализуется либо
непосредственно самим клиентом, либо компонентами сервера базы
данных (например, хранимыми процедурами), либо и тем, и другими.
Клиентская часть обычно взаимодействует с сервером базы данных,
используя различные API: или специфичные для данного сервера
(DB-Library API, SQL*Net и т. д.), или более универсальные (например,
ODBC). Клиентские ("front-end") компоненты системы размещаются на
связанных в корпоративную сеть персональных рабочих станциях. В той же
сети на PC-сервере функционирует и серверный ("back-end") компонент.
Как правило, сервер находится в состоянии пассивного ожидания запросов
от клиентов на информацию или на определенный ресурс. Обслужив
запрос, сервер посылает информацию клиенту, который отображает ее для
пользователя.
Очевидный недостаток такой модели – это значительные трудности
масштабирования и модификации бизнес-логики, поскольку последняя в
значительной степени располагается на клиенте, что приводит, в частности,
к значительным затратам на синхронизацию клиентских приложений между
собой.
Еще один существенный недостаток – значительный перенос нагрузки
на клиентскую часть и на среду передачи данных (например, локальную
сеть) – типичные проблемы "толстого" клиента. Заметим, что при этом
сервер может быть почти или полностью не загружен.
Трехуровневая модель. Данная модель возникла как модификация
предыдущей модели, призванная "истончить" клиента. Суть трехуровневой
модели – в разделении уровня клиентских представлений
(пользовательского интерфейса), уровня бизнес-процессов (собственно
содержательной части задачи) и уровня управления данными (подсистемы
хранилища). Такая архитектура позволяет создавать гибкие, легко
изменяемые под требования рынка приложения.

48
В данной модели сервер приложений взаимодействует с сервером
баз данных по одному из упомянутых ранее протоколов, взаимодействие же
с клиентом строится по протоколу, специфическому для конкретной
системы. К преимуществам такой организации можно отнести:
• снижение требований к мощности клиентского рабочего места;
• возможность независимо (или почти независимо) изменять
бизнес-логику, логику представления и логику хранения данных;
• значительно более широкие возможности обеспечения контроля
доступа, целостности;
• в отдельных случаях – увеличение производительности.
Именно по описываемой модели построены intranet-системы, их
характерной особенностью является фиксация протокола обмена между
клиентской частью и сервером приложений – HTTP, что дает возможность
использовать универсальный (или относительно универсальный) клиент –
Web-browser. Сервер приложений в системах такого типа принято называть
Web-сервером.
Многоуровневая распределенная модель. У рассмотренной
трехуровневой модели, несмотря на ее привлекательные стороны, имеется
несколько существенных требований к отдельным частям системы, в
особенности к серверу приложений.
Поскольку вся бизнес-логика перенесена на сервер приложений,
нагрузка на него существенно возрастает, что требует высокой
производительности, кроме этого возникают дополнительные проблемы,
связанные с обеспечением безопасности, одновременного доступа,
целостности данных и т. п.
В большей части случаев становится возможным найти общий подход
к решению такого рода проблем. Именно это привело к созданию
множества продуктов, предназначенных для их решения, в общем случае –
мониторов транзакций, серверов сообщений, координаторов взаимо-
действия и т. д.
Таким образом, средний уровень разрастался, становился более
распределенным, в нем стало возможно выделить несколько собственных
уровней. Особенно интенсивно такого рода прогресс наблюдался в
intranet-системах и приблизительно те же процессы – в системах,
организующих хранение данных, – т. е. стало возможным взаимодействие с
разнородными источниками данных. Все изложенное указывает на то, что
трехуровневые монолитные системы в реальности становились
многоуровневыми распределенными.
Можно сказать, что распределенные системы распределены двояко:
можно выделить логическую и физическую распределенности.
Логическая распределенность подразумевает наличие в системе
нескольких независимо функционирующих компонентов. Эти компоненты, в
свою очередь, можно разбить на три группы: компоненты представления
данных, компоненты бизнес-логики, компоненты доступа к данным. Таким
образом, перед пользователем снова появляются три уровня организации.

49
Физическая распределенность предполагает распределенность
отдельных функциональных узлов по нескольким машинам, даже по
нескольким платформам. Используя множество небольших компьютеров,
разработчики систем клиент-сервер могут эмулировать вычислительную
мощность больших ЭВМ, распределяя прикладную задачу по различным
микрокомпьютерам и серверам. Каждый из них берет на себя свою часть
вычислительной нагрузки, используя информацию совместно с другими
процессорами сети. Суть идеи – в повышении мощности системы без
наращивания производительности одного компьютера, а суммированием
средств многих.
Быстродействие – основной фактор целесообразности разработки
систем для архитектуры клиент-сервер. Применение средств быстрой
разработки программ (Rapid Application Development – RAD), таких как
Delphi компании Inprise, PowerBuilder фирмы PowerSoft и Visual Basic
корпорации Microsoft, позволяет разработчикам создавать прикладные
системы для архитектуры клиент-сервер в рекордно короткие сроки.
Технология серверов баз данных также становится проще в использовании
и сочетается в единых системах со средствами RAD. Таким образом,
ожидается, что с помощью этой скоростной и практически защищенной от
несанкционированного использования платформы разработки сократится
время, необходимое для подготовки и передачи прикладной программы
пользователю. Однако идеология клиент-сервер сама по себе не содержит
универсальных рецептов. Она лишь дает общее представление о том, как
должна быть организована современная распределенная информационная
система.
В качестве примера рассмотрим один из основных принципов
создания программных систем в среде технологии клиент-сервер. Он
заключается в разделении функций стандартного приложения на три
группы, имеющие различную природу. Первая группа – это функции ввода и
отображения данных. Вторая группа объединяет чисто прикладные
функции, характерные для данной предметной области. Наконец, к третьей
группе относятся фундаментальные функции хранения и управления
данными (базами данных, файловыми системами и т. д.). При этом в любом
приложении выделяются следующие логические компоненты:
• компонент представления (presentation), реализующий функции
первой группы;
• прикладной компонент (business application), поддерживающий
функции второй группы;
• компонент доступа к информационным ресурсам (resource acces),
или менеджер ресурсов (Resource manager), поддерживающий функции
третьей группы.
Таким образом, приведены наиболее общие рекомендации и
стандарты построения системы. В то же время реализация этой технологии
в конкретных программных продуктах, и даже в видах программного
обеспечения, может различаться весьма существенно, поскольку в

50
настоящее время отсутствует единый подход к практическому воплощению
указанных принципов.
Подводя итог, перечислим основные преимущества распределенных
клиент-серверных систем:
– компонентная архитектура;
– функциональность на уровне компонентов;
– нагрузка на отдельные компоненты, а не на систему в целом;
– возможность повторного использования компонентов;
– возможность одновременного использования компонентов;
– простота модификации и масштабирования;
– больший потенциал для обеспечения производительности;
– возможность независимой разработки компонентов.
Принимая во внимание потенциал "внутренних сетей", предоставляю-
щих пользователю весь спектр услуг Internet при обеспечении необходимой
защиты информации, а также учитывая современные решения в сфере
архитектур с "тонкими клиентами", позволяющие избежать резкой смены
идеологии создания приложений и интегрировать в единую систему различ-
ные программно-аппаратные платформы (например, используя идеологии
CORBA или COM-DCOM), можно сказать, что их эффективное сочетание
позволит с наименьшими затратами создавать глобальные информацион-
ные комплексы в любых сферах применения вычислительных систем.

2.5. Модели распределенных систем


в архитектуре клиент-сервер

При нынешнем уровне зависимости бизнеса от информационных


систем разработчикам приходится сталкиваться не только с задачами
реализации, адекватными техническим требованиям функциональности и
пользовательского интерфейса, но и с оптимизацией обмена данным между
различными компонентами системы. С учетом того, что корпоративные
системы обладают достаточно высоким уровнем сложности, в процессе их
эксплуатации возникает ряд вопросов, связанных с надежностью и
управляемостью такой системы. Появление сложностей подобного рода в
процессе проектирования и разработки корпоративных систем приводит к
необходимости решить следующую важную задачу: выделение из
клиентской и из серверной систем компонентов, несущих на себе строго
определенную служебную функциональность.
Традиционные подходы в моделировании. На верхнем уровне
абстрагирования достаточно четко можно выделить следующие
компоненты:
– презентационную логику (Presentation Layer – PL);
– логику доступа к ресурсам (Access Layer – AL);
– бизнес-логику (Business Layer – BL).

51
Таким образом, можно прийти к нескольким моделям клиент-
серверного взаимодействия:
• "толстый" клиент. Наиболее часто встречающийся вариант
реализации архитектуры клиент-сервер в уже внедренных и активно
используемых системах. Такая модель подразумевает объединение в
клиентском приложении как PL, так и BL. Серверная часть в описанном
подходе представляет собой сервер баз данных, реализующий AL. К
описанной модели часто применяют аббревиатуру RDA – Remote Data
Access;
• "тонкий" клиент. Модель, начинающая активно использоваться в
корпоративной среде в связи с распространением Internet-технологий и, в
первую очередь, Web-браузеров. В этом случае клиентское приложение
обеспечивает реализацию PL, а сервер объединяет BL и AL;
• сервер бизнес-логики. Это модель с физически выделенным в
отдельное приложение блоком BL.
Хотя рассматриваемые здесь варианты разделения функциональ-
ности между клиентом и сервером являются классическими, далее будет
использоваться не только устоявшаяся традиционная, но и более новая
терминология, возникшая вследствие распространения в корпоративных
средах Internet/intranet-технологий и стандартов.
Хотя в общем случае в качестве серверной части выступает
менеджер многопользовательского доступа к информационым ресурсам, в
настоящем разделе будет сохраняться ориентация на серверы баз данных
как на оконечное серверное звено.
Описанные модели организации клиент-серверных систем в большей
степени являются ориентирами в задании жесткости связей между
различными функциональными компонентами, чем строго описываемыми
программами в реальных проектах. Жесткость связей в схеме
взаимодействия компонентов системы часто определяется отсутствием
(или наличием) транспортного (TL) или сетевого уровня, обеспечивающих
обмен информацией между различными компонентами.
Серверы приложений. С точки зрения применения описанных
моделей, при проектировании прикладных систем разработчик часто
сталкивается с правилом 20/80. Суть этого правила заключается в том, что
80% пользователей обращаются к 20% функциональности, заложенной в
систему, но оставшиеся 20% задействуют основную бизнес-логику – 80%. В
первую группу пользователей попадают операторы информационных
систем (ввод и редактирование информации), а также рядовые сотрудники
и менеджеры, обращающиеся к поисковым и справочным механизмам
(поиск и чтение данных). Во вторую группу пользователей входят эксперты,
аналитики и менеджеры управляющего звена, которым требуются как
специфические возможности отбора информации, так и развитые средства
ее анализа и представления.
С точки зрения реализации модели необходимо обеспечить
прозрачность взаимодействия между различными компонентами системы, а

52
следовательно, обратиться к существующим стандартам такого
взаимодействия.
Любой прикладной системе вне зависимости от выбранной модели
взаимодействия требуется такой инструментарий, который смог бы
существенно ускорить сам процесс создания системы и одновременно с
этим обеспечить прозрачность и наращиваемость кода. В разработке и
внедрении систем корпоративного масштаба явно присутствует тенденция
использования объектно-ориентированных компонентных средств
разработки. Соответственно, полноценное применение объектов в
распределенной клиент-серверной среде требует и распределенного
объектно-ориентированного взаимодействия, т. е. возможности обращения
к удаленным объектам.
Таким образом, следует перейти к анализу существующих
распределенных объектных моделей. На настоящий момент наибольшей
проработанностью отличаются модели COM/DCOM/ActiveX и
CORBA/DCE/Java. Если в первом случае требуемые механизмы поддержки
модели являются неотъемлемой частью операционной платформы Win32
(Windows 98/NT/CE/2000), то во втором случае предусмотрена
действительная кроссплатформенность. Если попытаться объективно
оценить перспективы применения таких моделей, то для этого необходимо
понять требования к операционным платформам, выдвигаемые
различными функциональными компонентами системы. При построении
реальных систем корпоративного масштаба уже мало обходиться их
разделением на три базовых фрагмента PL, BL, AL. Поскольку
бизнес-логика является блоком, наиболее емким и специфичным для
каждого проекта, именно ее приходится разделять на более мелкие
составляющие. Такими составляющими могут быть, например,
функциональные компоненты обработки транзакций (КОТ), средства
обеспечения безопасности (Security-серверы) при наличии разграничения
прав доступа и выходе в Internet, подготовки отчетов, отбора и анализа
данных в процессе принятия решений, асинхронного уведомления о
событиях тиражирования данных (репликации), почтового обмена и др.
Наличие такого огромного количества функций, закладываемых в блоки
поддержки бизнес-логики обусловливает появление понятия сервера
приложений (СП). Причем сервер приложений является не просто неким
единым универсальным средним BL-звеном между клиентской и серверной
частями системы, но и существует во множественном варианте в качестве
частично изолированных приложений, выполняющих специальные функции,
обладающие открытыми интерфейсами управления, и поддерживающих
стандарты объектного взаимодействия.
Проникновение информационных технологий в сферу бизнеса в
качестве неотъемлемого условия успешного управления приводит к тому,
что системы корпоративных масштабов требуют сочетания различных
клиент-серверных моделей в зависимости от задач, решаемых на
различных конкретных направлениях деятельности предприятия. Вспомнив

53
снова о правиле 20/80, можно прийти к выводу, что наиболее оптимальным
выбором, с точки зрения управляемости и надежности системы, является
сочетание различных моделей взаимодействия клиентской и серверной
частей. По сути, речь идет даже не о трехуровневой, а о многоуровневой
(N-tier) модели, объединяющей различных по "толщине" клиентов, серверы
баз данных и множество специализированных серверов приложений,
взаимодействующих на базе открытых объектных стандартов.
Существенным облегчением в реализации многоуровневых гетерогенных
систем является активная работа ряда производителей программного
обеспечения, направленная на создание переходного ПО. В отличие от
продуктов middleware, обеспечивающих верхний транспортный уровень
(универсальные интерфейсы доступа к данным ОDВС, JDВС, ВDЕ; Message
Oriented Middleware – MOM; Object Request Broker – ORB), переходное ПО
отвечает за трансляцию вызовов в рамках одного стандарта обмена в
вызовы другого (мосты ODBC/JDBC и BDE/ODBC, COM/COBRA,
Java/ActiveX и т. п.). На рис. 2.1 представлена обобщенная многоуровневая
модель клиент-серверной системы.

"Толстый" "Тонкий" "Тонкий"


клиент клиент клиент

СП

СП СП Web-сервер

КОТ

Сервер Security-сервер
базы данных

Рис. 2.1. Многоуровневая клиент-серверная модель

Различные стандарты взаимодействия могут применяться в различ-


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

54
Многоуровневое представление "от клиента". Традиционная
архитектура клиент-сервер исторически развивалась в реальных
прикладных системах от "толстого" клиента. Клиентские приложения
объединяли как пользовательский интерфейс, так и бизнес-логику. В связи
с этим инструментальные средства для построения клиентских приложений
сами по себе предлагали многоуровневую архитектуру объектов. Эволюция
такого рода многоуровневого клиентского инструментария рассматривается
далее на примере Inprise Delphi Client-Server.
Концептуально, архитектура Delphi ориентирована на использование
цепочек объектов "Data Control – Data Source – Data Set", что может быть
переведено следующим образом:
– элементы пользовательского интерфейса;
– компоненты потоков ввода-вывода;
– компоненты доступа к данным.
Введение методики Delphi обеспечило упрощение процесса
реализации трехуровневой модели в рамках конкретных приложений,
содержащих в себе только фрагмент PL. Транспортный уровень (TL)
поддержан компонентами объектного взаимодействия клиента и сервера
приложений Remote Server и Provider. Множество данных (Data Sets),
запросы (Query), хранимые процедуры (Quety), таблицы (Table) реально
переносятся на Remote Server и представляются множеством данных Client
Data Set. Процесс "сужения" клиента продолжался за счет исключения
интерфейса доступа к данным BDE (Borland Data Base Engine), что, в свою
очередь, упрощается процесс администрирования системы.
В заключение можно отметить, что появление среды Delphi и
подобных ей перевело модели многоуровневых архитектур из стадии НИР в
стадию ОКР. Тем не менее, то, что кажется простым в теории, с трудом
воплощается на практике. К моменту выхода настоящего учебного пособия
предложенные исследования, будем надеяться, найдут практическое
применение в системах с распределенной бизнес-логикой.

2.6. Особенности корпоративных приложений архитектуры


клиент-сервер в концепции intranet

Традиционная архитектура клиент-сервер подразумевает, что логика


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

55
Клиент 1

Клиент 2 БД

Клиент 3

Рис. 2.2. Архитектура с файловым сервером

На рис. 2.3 приведено традиционное решение в архитектуре


клиент-сервер. Клиентские приложения обращаются к серверу БД
(например, InterBase, Oracle, Informix, Sybase, MS SQL). Логика клиентского
приложения может быть написана на Paradox, dBase, Delphi или С/С++.
Следует еще раз отметить, что при этом все взаимодействие с БД ведется
через линки компаний-производителей, причем клиентское приложение
может напрямую запрашивать у сервера данные и оперирует понятиями
запросов, транзакций и таблиц.
Клиент 1

Клиент 2 SQL
БД

Клиент 3

Рис. 2.3. Традиционная клиент-серверная архитектура

В последнее время была разработана и другая архитектура,


позволяющая работать с сервером не напрямую, а через монитор
транзакций (рис. 2.4).

Клиент 1
SQL
БД
Клиент 2 Монитор

Клиент 3
SQL
БД

Рис. 2.4. Клиент-серверная архитектура с монитором транзакций

56
В числе прочих, компания Borland (Inprise) в программе "Upsizing
application" выпустила серию инструментов разработчика, которые с
успехом применялись и применяются при разработке клиент-серверных
проектов. Это уже упоминавшийся Delphi 2.0 – 5.0 для Win 95/NT, а
также Paradox 5.0, известный с 1995 г. Paradox 7, Visual dBase 5.5,
С++ 4.5 с BDE 2.5 и С++ 5.02 с BDE 3.0 для Windows 95/98/NT. При помощи
этих инструментов можно разрабатывать локальные приложения для баз
данных, а затем легко адаптировать их к использованию в архитектуре
клиент-сервер.
В локальных приложениях эти инструменты напрямую работают с
данными, а в архитектуре клиент-сервер данные с сервера можно получить
только посредством запросов к серверу. При этом SQL-сервер занимается
поиском и поддержанием целостности данных. По сравнению с
файл-серверной архитектурой, налицо реальные преимущества – более
низкий сетевой трафик и более высокая надежность хранения данных.
Кроме того, при разработке информационной системы в архитектуре
клиент-сервер немаловажное значение имеет доступность CASE-средств,
облегчающих проектирование сложной системы.
Однако при создании клиент-серверной системы более чем на
100-200 клиентских мест сразу возникают дополнительные сложности.
Во-первых, стоимость коннекта – стоимость клиентской лицензии для
SQL-сервера в среднем достаточно высока и при умножении ее на
соответствующее количество пользователей возникает пугающая циф-
ра, особенно в современных экономических условиях. Во-вторых, даже
если отбросить в сторону финансовые соображения, существуют и
дополнительные сложности. На каждый клиентский коннект сервер
должен выделять значительное количество памяти на аппаратуре
серверной машины, в зависимости от типа SQL-сервера это коли-
чество разное, однако общая тенденция очевидна. Вероятность того,
что в действующей системе потребуется доступ к данным с клиентских
станций разных типов и моделей, достаточно высока – в большой
корпоративной или межкорпоративной системе имеется чрезвычайно
широкий спектр различной техники – от терминалов и 286 моделей до
серьезных Unix-станций и мэйнфреймов. В большой информационной
системе, как правило, наблюдается и разнобой физической реализации
коммуникаций – от модемных соединений скоростью 2400 бод до
выделенных оптоволоконных линий связи. Реально ли в таких условиях
рассчитывать на приемлемое клиент-серверное решение задачи
построения информационной системы?
О применении технологий Internet (прежде всего – Web-приложений и
систем электронной почты) для построения корпоративных
информационных систем речь шла уже давно. Заманчиво было бы
использовать опыт надежного и удобного соединения разнородных
вычислительных ресурсов в единую систему, – уже "обкатанный" в Internet,
– для решения внутрикорпоративных задач. Основной проблемой при таком

57
подходе является отсутствие стабильных стандартов, что характерно
для бурно развивающейся области информационных технологий.
Internet. Какими же возможностями обладает разработчик при
использовании технологий Internet в проекте закрытой корпоративной сети
для различных структур и протоколов?
TCP/IP. Сетевой протокол TCP/IP фактически реализован для любых
типов сетей. Любая аппаратурная платформа поддерживает этот протокол.
Коннект. Коннект клиентского браузера к Web-серверу
осуществляется исключительно легко. Многие проблемы, которые
существовали в прежней архитектуре клиент-сервер, когда клиентское
приложение напрямую осуществляло доступ к SQL-серверу, снимаются при
использовании технологии Internet. На сервере требуется меньше памяти,
логика коннекта позволяет "удерживать" коннект даже при физическом
обрыве линии. Поскольку взаимодействие интернетовских браузеров с
хостом отлаживалось в самых разных условиях, по-разному передаются и
различные куски информации. Так, например в расчете на медленное
соединение, клиенту вначале передается текстовая информация, и только
потом докачиваются графические или другие большие двоичные объекты.
Пользователь модемной линии может не дожидаться докачки всего
изображения и принять решение о переходе к новой странице информации.
Данные: файлы, текст, ссылки, изображение, 3D, звук. Понимание
того, что ограниченность типов данных является препятствием к широкому
применению классических реляционных СУБД, привело к расширению
типов данных, используемых современными SQL-серверами. Например,
InterBase может оперировать расширенным типом данных BLOb –
большими двоичными объектами. А браузеры Internet могут воспринимать
текстовую информацию, ссылки на ресурсы (URL), изображение, звук,
оперировать присоединенными файлами.
Механизм маршрутизации и логики коннекта. Надежность
механизмов маршрутизации Internet позволяет строить сколь угодно
сложную и разветвленную сеть.
Безопасность. Несмотря на то, что внутрикорпоративная сеть может
быть отключена от внешней Internet, меры безопасности, предпринимаемые
разработчиками, могут оказаться нелишними в реальной ситуации. Методы
кодирования открытым ключом и передача по сети от сервера до
клиентского браузера только зашифрованного сообщения позволяют
владельцам и пользователям важной информации избежать лишних
неприятностей. В России существуют стандарты на передачу шифрованных
данных, а несложность включения соответствующих методик и алгоритмов
при разработке приложений имеющимися инструментами позволяет легко
реализовывать хорошо защищенные системы.
Многоплатформенность. В свое время Internet так или иначе
справилась с этой проблемой, и в настоящее время используются готовые
решения. Стандартные браузеры реализованы для большинства
распространенных программно-аппаратных платформ, новые стандарты

58
(например, язык Java) также ориентированы на применение на всем
разнообразии используемой техники и операционных сред.
Стандарты. Бурное развитие Internet порождает множество
проблем. Разработчику большой системы приходится иметь дело со
множеством неустоявшихся стандартов, или, что очень опасно для
будущего системы, – со стандартом де-факто, пока еще не принятым, но
уже достаточно распространенным. При планировании, проектировании и
разработке системы следует учитывать это обстоятельство.
Intranet. Имея определенное впечатление об intranet как о системе, в
которой каждый клиент имеет доступ к данным Web-сервера посредством
своего браузера, логично задать вопрос: является ли такая архитектура
архитектурой клиент-сервер? Ведь в классическом понимании на
клиентское приложение возлагаются некие дополнительные задачи –
дополнительная логика. Позволяет ли стандартный браузер решать такие
задачи? Если иметь в виду распространенный браузер Netscape, то почти
ничего, за исключением простейших диалогов и просматривания данных,
такой клиент делать не может, что заставляет этого клиента называть
"тонким" (thin client), поскольку в большинстве случаев использование
браузера по своим возможностям мало чем отличается от применения
терминала со своей системой команд.
Сервер. Слабость клиента заставляет размещать логику приложения
на сервере. Фактически, для реализации системы подачи информации
(например, рекламного гипертекстового сервера) требуется существенно
дописывать функционирование стандартного Web-сервера, превращая (или
дополняя) его в полнофункциональный сервер приложений.
Клиент. На сегодня существует заметная тенденция по превращению
"тонкого" клиента в клиента, оснащенного возможностями исполнения
логики приложения. Для этого должен был бы использоваться некий
универсальный язык программирования, обладающий достаточно
противоречивыми характеристиками. С одной стороны, этот язык должен
функционировать на большинстве используемых платформ, т. е. быть легко
переносимым с платформы на платформу, с другой – должен быть
достаточно выразительным, чтобы с его помощью можно было легко
строить довольно сложные приложения. Сейчас трудно предсказать, какой
язык сможет наилучшим образом удовлетворить все существующие
противоречивые требования к инструментарию разработки распределенных
систем, однако наиболее перспективным на роль интернетовского
эсперанто является язык Java, разработанный компанией Sun Microsystems.
Приложение. Возможность исполнения логики приложения с
применением одного и того же языка как на клиенте, так и на сервере
позволяет использовать единый цикл разработки как для сервера, так и для
клиента. Быть может, суждено сбыться мечтам разработчиков о прозрачном
перемещении логики приложения с клиента на сервер или даже на
множество серверов? Возможно, наиболее разумным решением задачи
построения сложной корпоративной системы в будущем станет реализация

59
ее в виде цепочки серверов приложений, причем в момент разработки
логика приложения может свободно мигрировать, обеспечивая
максимальную производительность и ясность всей системы.
Связь с БД. Наиболее важный аспект построения сложной системы –
это сложность поддержания данных в целостном и структурированном виде
для систем intranet. Наиболее распространенная технология, когда данные
представлены в виде гипертекстовых страниц, связанных перекрестными
ссылками, не слишком применима для корпораций, имеющих дело с
потоком часто обновляемой и меняющейся информации. Технология
реляционных баз данных доказала свою применимость для таких случаев.
Поэтому весьма важно знать о совместимости подхода Internet к
использованию SQL-сервера в качестве хранилища информации. В прессе
уже звучали заявления различных ведущих компаний о решении тем или
иным способом этой проблемы.
Формирование гипертекстовых страниц. Фактически, основное
требование – обеспечить формирование Web-сервером гипертекстовых
страниц для клиентского браузера, исходя из результатов запроса к
SQL-серверу и шаблона такой странички. При этом особенное внимание в
настоящее время уделяется способам представления разнотипных данных,
а также информации, имеющей сложную структуру. Практически каждый
месяц в печати появляются сообщения о создании или тестировании новых
расширений для базового языка разметки гипертексовых документов. Так,
среди последних примеров можно назвать язык разметки речевых
сообщений (VML), позволяющий воспроизводить на клиентском месте
текстовую информацию, используя имитатор человеческого голоса с
возможностью задания необходисых громкости, тембра и других
параметров. При этом не остаются забытыми и пользователи, чьи
клиентские места состоят исключительно из мобильного телефона или
карманного компьютера. Для них также разработан ряд стандартов,
наиболее важные из которых – протокол беспроводного доступа к
информационным ресурсам (Wireless Application Protocol – WAP) и сервис
передачи коротких текстовых сообщений (Short Messaging Service – SMS).
WAP-сайты располагаются на Internet- и intranet-серверах и представлены в
специальном формате WML (Wireless Markup Language). Этот язык
разметки специально адаптирован под возможности мобильного
телефона – двухцветную графику, маленький экран и небольшую память.
При этом SMS используется для отправки коротких сообщений прямо на
мобильный телефон или с мобильного телефона. Таким образом, работа с
распределенными информационными ресурсами может производиться без
применения дополнительного оборудования. SMS является частью
цифрового стандарта Глобальной системы мобильных коммуникаций
(GSM).
О создании инструментов создания подобных систем объявили
практически все ведущие компании: Oracle, Informix, Sybase, Borland,
Microsoft, IBM.

60
3. ОСНОВЫ УПРАВЛЕНИЯ ВЫЧИСЛИТЕЛЬНЫМИ СЕТЯМИ

Основой жизнедеятельности любого предприятия является надежная


инфраструктура компьютерных систем и ее сопровождение. Типичное
предприятие с этой точки зрения можно рассматривать как сложную сеть
неоднородных информационных ресурсов. Надежность функционирования
сети и ее сопровождение можно обеспечить при помощи системы управ-
ления информационными ресурсами, которая решает следующие задачи:
• сетевого администрирования;
• контроля и анализа трафика;
• обслуживания рабочих групп в различных сетевых ОС;
• инвентаризации аппаратного и программного обеспечения;
• мониторинга работоспособности систем и обслуживания
ошибочных и сбойных ситуаций;
• администрирования и удаленного мониторинга СУБД, возможности
настройки и выполнения административных функций;
• обеспечения интегрированной системы безопасности;
• управления и обслуживания интегрированной системы резервного
архивирования и восстановления информации;
• обеспечения заданного уровня сервиса клиента информационной
технологии;
• интеграции с системами управления телекоммуникационным
оборудованием.
Одними из первых задач, встающих перед персоналом, отвечающим
за жизнеспособность информационной системы, всегда будут задачи
сетевого управления.

3.1. Понятие об управлении вычислительными сетями

Управление ВС скорее является искусством, чем наукой. При


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

61
работой системы и ее обслуживанием, и те, что связаны с модификацией,
развитием или пересмотром существующей системы.
Управление вычислительными сетями – сложный процесс, который, с
точки зрения выполняемых функций, можно разделить на несколько. При
рассмотрении компьютерных сетей широко употребляются следующие
четыре термина: control, management, maintenance и administration.
Трактуются они зачастую довольно свободно; в настоящем издании они
определены следующим образом.
Слежение, или управление нижнего уровня (control) связывают с
ежесекундным выполнением аппаратных или программных функций,
которые повторяются непрерывно в течение длительного времени,
например, нормальный поток данных через транспортную подсистему или
нормальная работа в процессе уже установленного сеанса.
Менеджмент (management) относится к программным функциям,
которые не являются частью ежесекундных повторяющихся операций
слежения. Выполнение этих функций может быть прекращено, а механизмы
слежения будут продолжать работать по крайней мере в течение
некоторого времени. К менеджменту относятся: установление сеанса,
прекращение сеанса, начисление и получение платы за сеансы,
программное восстановление, автоматическое переключение с одного
устройства на другое, рестарты с контрольной точки.
Обслуживание (maintenance) в основном относится к деятельности
человека по поддержанию сети в рабочем состоянии: диагностика ошибок,
ремонт, изготовление и проверка запасных частей, регулярное профилакти-
ческое обслуживание. Чтобы облегчить выполнение этих функций, должен
быть предусмотрен целый набор машинных возможностей, в том числе
средства диагностики и регистрации ошибок, терминалы и про-граммы,
позволяющие обслуживающему персоналу проверять работоспособность
сети, запускать диагностические тесты и устранять неисправности.
Администрирование (administration) относится к работе человека,
связанной с функционированием сети. Администратор сети запускает сеть
и останавливает ее, следит за ее производительностью, подключает при
необходимости новые цепи или меняет конфигурацию сети, вводит в ресурс
сети новые пользовательские машины, следит за потенциально возмож-
ными нарушениями секретности. Администратору сети, который является
особым конечным пользователем, нужны терминал и специальные програм-
мы. Программное обеспечение для административного управления сетью
должно присутствовать на всех узлах сетевой вычислительной системы.

3.2. Элементы управления сетевыми распределёнными системами

Элементы управления распределенными системами определяются


требуемыми функциями управления. Далее перечислены возможности,
которыми могут обладать административное управление и менеджмент в
сетях.

62
Сеансовое обслуживание. В состав его функций могут входить такие
компоненты, как получение запросов на проведение сеансов; проверка
допустимости запросов на проведение сеансов; выделение ресурсов для
проведения сеанса; отведение подканалов, позиций в таблицах,
идентификаторов сеансов и т. п.; выбор маршрута для проведения сеанса
(для систем без динамической маршрутизации пакетов может также
выбираться альтернативный маршрут на случай неисправности);
увязывание партнеров и инициация сеанса; завершение сеанса;
развязывание партнеров; инициация процедур восстановления сеанса при
сбоях; обработка запросов на сеансы с сетью от устройств с инородной
архитектурой и т. д.
Управление физическими ресурсами. В этой группе функций можно
выделить: ведение справочников физических ресурсов (процессоров,
терминалов, групповых контроллеров, периферийных устройств, каналов,
цепей, групп линий и т. п.); активацию и дезактивацию этих физических
ресурсов со стороны модулей-менеджеров; динамическую реконфигурацию
при неисправностях, инициацию действий по восстановлению;
предоставление оператору сети информации, позволяющей работать с
физическими ресурсами; предоставление информации о состоянии
физических ресурсов; мониторные функции для измерения производи-
тельности.
Диагностическое обслуживание. Основные задачи компонентов
такого обслуживания – это поддержка сетевых терминалов; регистрация
сбоев и отказов; составление и анализ сводок о сбоях и отказах и
предоставление возможности их просмотра; автоматическое инфор-
мирование о возникающих отклонениях от нормы; запуск диагностических и
других тестов (возможно, автоматически, а возможно, вручную –
администратором); принятие решения о выводе из состава сети
компонентов или цепей в зависимости от серьезности или частоты
ошибок.
Защита информации. В состав функций этого класса входят
поддержка кодирования передаваемой информации; организация
помехозащищенности и необходимого резервирования сохраняемых
данных; обработка журнала регистрации всех случаев нарушения
процедуры защиты; сигнализация о появлении нарушений определенного
типа; обработка данных с паролями, шифровальных ключей или иной
секретной информации и др.
Администраторское управление. Это такие функции, как выдача
на администраторские терминалы состояния сети и различных ресурсов;
активизация и приостановка различных сетевых услуг администратором;
запуск, остановка и сопровождение прикладных программ, имеющих
сетевые интерфейсы; динамическая реконфигурация (без остановки) сети;
смена параметров сетевых управляющих механизмов нижнего уровня;
запуск средств трассировки, сбора статистики и измерения
производительности распределенной системы; измерения и анализ

63
производительности (и, может быть, проведение экспериментов), а также
ряд функций по сбору информации для начисления платы и подготовки
счетов.
Планирование распределенного вычислительного процесса. На
этой группе функций как основе построения всех распределенных систем
обработки данных необходимо остановиться подробнее. В связи с
многообразием структур вычислительных систем на основе ВС, режимов
работы таких систем и методов управления ими методы планирования
вычислительного процесса могут классифицироваться по большому
количеству признаков. Чаще всего выделяют следующие признаки:
• качество решения задачи планирования;
• применимость для составления планов реализации задач
различной степени связности;
• возможность использования для ВС различной структуры;
• применимость для планирования вычислительного процесса в
различных режимах работы ВС;
• степень адаптивности процесса планирования к возмущающим
факторам, воздействующим на вычислительный процесс.
По качеству решения задачи планирования различают методы,
позволяющие получить план, оптимальный в отношении выбранного
критерия, и методы составления приближенных планов. Выбранный метод
должен обеспечивать лучшую организацию вычислительного процесса с
учетом затрат машинного времени на составление плана.
При выборе метода планирования следует принимать во внимание
степень связности решаемых задач, поскольку составление планов
реализации связанных задач может оказаться сложнее, чем в случае
несвязанных. Это обусловлено, во-первых, трудностью формального
описания ограничений, налагаемых связностью задач, при использовании
методов математического программирования для решения проблем
планирования. Во-вторых, в связи с большим количеством ограничений
возрастает трудность математического решения задачи планирования.
Выбор метода планирования существенно зависит от структуры ВС.
Различают методы планирования для однородных и неоднородных сетей.
Планирование для неоднородных сетей сложнее и требует больших затрат
времени из-за значительного роста числа возможных вариантов
допустимых планов. По этой же причине сложность планирования
возрастает с увеличением числа рабочих станций или процессоров
системы.
Выбор метода планирования тесно связан с режимом
функционирования ЛВС. Выделяют, например, такие методы планирования:
– однопрограммной (однозадачной) пакетной обработки;
– многопрограммной (многозадачной) пакетной обработки;
– однопрограммной мультипроцессорной обработки (для сетевых
систем, работающих в режиме параллельной обработки одной программы);

64
– однопрограммной обработки в режиме разделения времени
(многопользовательские системы);
– многопрограммной обработки в режиме разделения времени;
– многопрограммной мультипроцессорной обработки для ВС,
работающих в универсальном режиме.
По степени учета изменения внешних и внутренних факторов,
воздействующих на вычислительный процесс, различают методы
адаптивного и методы неадаптивного планирования. Первые обеспечивают
получение эффективных планов в условиях воздействия на
вычислительный процесс различных возмущающих факторов. Однако такие
методы сложны в реализации, требуют больших затрат ресурсов системы
на планирование и поэтому используются редко.
В зависимости от принципа построения различают статические планы
и динамические планы (расписания). Статические расписания (статическое
планирование) строятся заранее, т. е. не во время функционирования ВС.
Такое планирование целесообразно для специализированных ВС с
ограниченным перечнем решаемых задач, для каждой из которых известны
потребности в ресурсах ЛВС, частота их решения и т. п. Кроме того,
перечень задач должен быть достаточно стабильным, а надобность в их
выполнении возникать неоднократно. В этом случае выполнение перечня
задач планируется один раз, затраты на планирование могут быть
большими, а сами планы – оптимальными.
Динамическое расписание составляется в процессе функци-
онирования ВС непосредственно перед началом решения группы задач,
поступившей в систему к данному моменту времени. Составленный план
обычно корректируется с каждым поступлением в систему новой задачи.
Динамическое планирование осуществляется с учетом сложившейся к
моменту принятия решения ситуации по свободным и занятым ресурсам
системы, наличия очередей задач, директив администратора (оператора)
системы и т. д. Такое планирование применяется чаще всего в
универсальных системах. Из-за недостаточной информации о
характеристиках решаемых задач, а также из-за ограниченности ресурсов,
выделяемых для планирования, получение оптимального плана весьма
затруднительно, поэтому для динамического планирования, как правило,
используются методы получения приближенных планов.
В качестве основного критерия оптимальности расписания для
детерминированных моделей параллельных программ можно указать:
– минимизацию времени выполнения программы;
– минимизацию количества требуемых PC;
– минимизацию среднего времени окончания выполнения заданий;
– максимизацию загрузки PC;
– минимизацию времени простоев PC.
Первые два критерия являются минимаксными. В первом случае
требуется минимизировать максимальное время окончания обработки
задач при заданном количестве доступных процессов. Во втором случае

65
необходимо минимизировать количество процессов, обеспечивающих
выполнение программы за время, не превышающее заданное. Критерий
минимизации среднего времени окончания выполнения заданий, который
явно учитывает моменты окончания каждого задания, ориентирован на
наиболее быстрое (в среднем) освобождение занимаемых ресурсов ВС.
Последние два критерия направлены на более полное использование
процессорного времени. Чаще применяется первый критерий.
Иногда при составлении расписаний, в особенности для программных
систем реального времени, могут быть установлены директивные сроки, к
моменту наступления которых соответствующие задания должны быть
выполнены.
При использовании моделей параллельных программ с
вероятностными параметрами критерии оптимальности расписаний обычно
формулируются в виде соответствующих вероятностных аналогов
критериев, указанных ранее, например математических ожиданий,
дисперсий и т. п.
Расписание считается оптимальным, если оно удовлетворяет
заданному критерию, и приближенным – в противоположном случае. Для
построения оптимальных расписаний часто используют метод
динамического программирования, метод ветвей и границ. Иногда задачу
планирования удается свести к задаче линейного программирования,
методы решения которой хорошо разработаны. В ряде случаев может
использоваться полный перебор вариантов, а также некоторые другие
методы.
При поиске оптимального расписания обычно возникают
комбинаторные задачи большой размерности, что требует больших затрат
ресурсов на планирование (как правило, памяти и машинного времени). В
ряде случае это оказывается неприемлемым и тогда используют
достаточно простые методы построения приближенных расписаний,
близких к оптимальным. Среди приближенных расписаний можно выделить
локально-оптимальные, обеспечивающие оптимальность на отдельных
этапах вычислений и не гарантирующие оптимальности в целом, и
эвристические расписания, основанные на интуитивно-рациональном
принципе. Граница между этими типами расписаний весьма условна, так как
при определенных условиях эвристические расписания могут оказаться
локально-оптимальными, а эвристические и локально-оптимальные
расписания – оптимальными. К локально-оптимальным могут быть
отнесены методы поярусного планирования, когда исходный набор задач
представляется в виде графа ярусно-параллельной формы. Среди
эвристических расписаний широко известны распространенные на
практике простые и достаточно эффективные списочные (приоритетные
расписания).
Различают также неитерационные и итерационные методы
построения расписаний. В первом случае расписание получается один раз
и не корректируется. Во втором случае сначала получается исходное

66
расписание, которое затем несколько раз итерационно корректируется с
целью построения более эффективного итогового расписания.
В расписании предусматриваются три основные операции:
– выбор задач для их назначения на ЭВМ (узлы обработки);
– выбор компьютеров для назначения на них задач;
– назначение выбранных задач на выбранные компьютеры для
выполнения обработки.
Эти операции могут быть связаны между собой, например в
статических оптимальных расписаниях, или могут разделяться достаточно
четко, например в динамических списочных расписаниях.
Для решения задачи планирования распределенного вычислитель-
ного процесса может быть применен декомпозиционный подход, суть
которого состоит в следующем.
Чтобы сократить время решения всего комплекса задач, выполнение
их комплекса на нескольких PC сети лишь тогда будет иметь смысл, если
некоторые задачи этого комплекса могут быть выполнены одновременно
(параллельно) на разных рабочих станциях. Однако между некоторыми
задачами могут существовать связи (например, информационные,
логические), которые препятствуют параллельному исполнению задач. Это
приводит к необходимости выявить существующие связи между задачами
комплекса и выделить независимые задачи, которые можно решать
параллельно на различных ЭВМ. При этом важно вскрыть максимальную
потенциальную параллельность комплекса задач. Распараллеливание
комплекса задач – суть первого этапа решения поставленной цели.
Второй этап представляет собой собственно построение
оптимального (в смысле выбранного критерия) плана выполнения
комплекса задач в сети с использованием результатов первого этапа.
Задача второго этапа относится к классу задач теории расписаний. Для их
решения, как отмечалось, используются как методы, позволяющие получить
точное решение, так и методы приближенного решения. Следует иметь в
виду два важных момента, связанных с поставленной проблемой.
Во-первых, достаточная стабильность комплексов задач, характерная для
систем организационного управления, позволяет выполнять
предварительное (статическое) планирование. Во-вторых, относительно
небольшое число задач (20-30), входящих в комплекс, упрощает
составление плана его решения.
В заключение следует заметить, что рассмотренные вопросы
организации распределенных вычислений в ЛВС на практике в полной мере
не реализованы. В то же время интерес разработчиков и пользователей
ЛВС к распределенным вычислениям растет. Особенно он усилился с
увеличением разработки приложений на языках четвертого поколения. С их
появлением в лексиконе разработчиков систем клиент-сервер появился
термин "сегментация приложений".
Как видно, большая часть работы по управлению ВС состоит из
слежения за работой устройств, контроля производительности

67
компьютерной сети, диагностики сбоев и устранения их причин, контроля за
использованием и распределением системных и сетевых ресурсов и
организации и контроля доступа к данным. Исходя из данного перечня,
можно сделать вывод, что основным компонентом управления
вычислительными сетями как на высоком, так и на среднем и низком
уровнях являются сетевые операционные системы (СОС), рассмотрению
которых посвящено дальнейшее изложение маериала.
Следует заметить, что механизмы управления нижнего уровня
(слежения) в основном были рассмотрены авторами в учебном пособии
"Сетевые технологии". Необходимо напомнить, что в транспортной
подсистеме нужно контролировать ошибки, управлять потоком и
маршрутизацией, а в сеансовой подсистеме – управлять темпом передачи
данных и контролировать использование протоколов.
Наряду с СОС существует еще целый ряд вспомогательных средств
управления сетями (анализаторы информационных потоков, анализаторы
протоколов, средства защиты информации, сетевые компоненты
распределенного прикладного программного обеспечения (например,
средства управления потоками данных в распределенных СУБД) и т. д.).

3.3. Сетевая интеграция

Общие понятия сетевой интеграции. Сетевым администраторам


очень часто приходится сталкиваться с задачей объединения сетей, каждая
из которых уже работает на основе собственных программно-аппаратных
платформ. Каждая из этих платформ уже имеет свою нишу и своих
сторонников, вот почему очень вероятно, что в отдельных частях большой
(корпоративной или глобальной) сети будут использоваться неоднородные
элементы. Ключевое преимущество интеграции сетей состоит в
объединении системы управления.
Как отмечалось, средства взаимодействия компьютеров в сети
организованы в виде многоуровневой структуры – стека протоколов. В
однородной сети все компьютеры используют один и тот же стек. В
контексте межсетевого взаимодействия понятие "сеть" можно определить
как совокупность компьютеров, общающихся друг с другом с помощью
единого стека протоколов. Проблема возникает тогда, когда требуется
организовать взаимодействие компьютеров, принадлежащих разным
сетям (в указанном ранее смысле), т. е. организовать взаимодействие
компьютеров, на которых установлены разные стеки коммуникационных
протоколов.
Задачи устранения неоднородности имеют некоторую специфику в
зависимости от того, к какому уровню модели OSI (подробно модель была
рассмотрена в пособии "Сетевые технологии") они относятся, и даже имеют
разные названия. Задача объединения транспортных подсистем,
отвечающих только за передачу сообщений, обычно называется
"internetworking".

68
Несколько иная проблема, называемая "interoperability", возникает при
объединении сетей, использующих разные протоколы более высоких
уровней. Как сделать, например, возможным для клиентов сети Novell
NetWare доступ к файловому сервису Windows NT или работу с сервисом
telnet ОС Unix?
Очевидно, что подобные проблемы весьма характерны для
корпоративных сетей, где в разных подразделениях часто работают разные
сетевые операционные системы.
Проблема межсетевого взаимодействия может иметь различные
внешние проявления, но суть ее одна – несовпадение используемых
коммуникационных протоколов. Например, эта проблема возникает в сети,
в которой используется только одна сетевая ОС, но в которой транспортная
подсистема неоднородна из-за того, что сеть включает в себя фрагменты
Ethernet, объединенные кольцом FDDI. Здесь в качестве
взаимодействующих сетей выступают группы компьютеров, использующие
различные протоколы канального и физического уровней (например, сеть
Ethernet, сеть FDDI).
По этой же причине проблема межсетевого взаимодействия может
возникнуть в однородной сети Ethernet, в которой установлено несколько
сетевых ОС. В данном случае все компьютеры и все приложения
используют для транспортировки сообщений один и тот же набор
протоколов, но клиентские и серверные части сетевых сервисов
взаимодействуют по разным протоколам. Здесь компьютеры могут быть
отнесены к разным сетям, если у них различаются протоколы верхних
уровней (например, сеть Windows NT, сеть NetWare). Конечно, эти сети
могут спокойно сосуществовать, не мешая друг другу и мирно пользуясь
общим транспортом. Однако если потребуется обеспечить доступ к данным
файлового сервера NetWare для клиентов Windows NT, администратор сети
столкнется в необходимостью согласования сетевых сервисов.
Существует три основных подхода к согласованию разных стеков
протоколов:
• трансляция;
• мультиплексирование;
• инкапсуляция.
Трансляция протоколов. Трансляция обеспечивает согласование
двух протоколов преобразованием (трансляцией) сообщений, поступающих
от одной сети, в формат другой сети. Транслирующий элемент (в качестве
которого могут выступать, например, программный или аппаратный шлюз,
мост, коммутатор или маршрутизатор) размещается между взаимодей-
ствующими сетями и служит посредником в их "диалоге".
В зависимости от типа транслируемых протоколов процедура
трансляции может иметь разную степень сложности. Например, трансляция
протоколов сетевого уровня IP и IPX представляет собой сложный,
интеллектуальный процесс, включающий не только преобразование

69
форматов сообщений, но и отображение адресов сетей и узлов, различным
образом трактуемых в этих протоколах.
Мультиплексирование протоколов. Другим подходом к
согласованию коммуникационных протоколов является технология
мультиплексирования. Этот подход состоит в установке нескольких
дополнительных стеков протоколов на одной из конечных машин,
участвующих во взаимодействии. Компьютер с несколькими стеками
протоколов использует для взаимодействия с другим компьютером тот стек,
который "понимает" этот компьютер.
Для того чтобы запрос от прикладного процесса был правильно
обработан и направлен через соответствующий стек, необходимо наличие
специального программного элемента – мультиплексора протоколов.
Мультиплексор должен уметь определять, к какой сети направляется
запрос клиента.
При использовании технологии мультиплексирования структура
коммуникационных средств операционной системы может быть и более
сложной: мультиплексирование осуществляется не на уровне стеков, а на
уровне отдельных протоколов. В общем случае на каждом уровне может
быть установлено несколько протоколов и для каждого уровня может
существовать собственный мультиплексор, выполняющий коммутацию
между протоколами соседних уровней. Например, рабочая станция может
получить доступ к сетям с протоколами NetBIOS, IP, IPX через один сетевой
адаптер. Аналогично, сервер, поддерживающий прикладные протоколы
NCP, SMB и NFS, может без проблем выполнять запросы рабочих станций
сетей NetWare, Windows NT и Solaris одновременно.
Сравнение трансляции и мультиплексирования. Использование
техники трансляции связано со следующими достоинствами:
• не требуется устанавливать дополнительное программное
обеспечение на рабочих станциях;
• сохраняется привычная среда пользователей и приложений
(транслятор полностью прозрачен для них);
• все проблемы межсетевого взаимодействия локализованы,
следовательно, упрощается администрирование, поиск неисправностей,
обеспечение безопасности.
Недостатки согласования протоколов трансляцией заключаются в
следующем:
• транслятор замедляет работу из-за относительно больших
временных затрат на сложную процедуру трансляции, а также из-за
ожидания запросов в очередях к единственному элементу, через который
проходит весь межсетевой трафик;
• централизация обслуживания запросов к чужой сети снижает
надежность, однако можно предусмотреть резервирование – использовать
несколько трансляторов;

70
• при увеличении числа пользователей и интенсивности обращений
к ресурсам другой сети резко снижается производительность – плохая
масштабируемость.
Достоинства мультиплексирования по сравнению с трансляцией
протоколов заключаются в следующем:
• запросы выполняются быстрее – за счет отсутствия очередей к
единственному межсетевому устройству и использования более простой,
чем трансляция, процедуры переключения на нужный протокол;
• в более высокой надежности – при отказе стека на одном из
компьютеров доступ к ресурсам другой сети возможен посредством
протоколов, установленных на других компьютерах.
Недостатки данного подхода:
• сложнее осуществляется администрирование и контроль доступа;
• высокая избыточность требует дополнительных ресурсов от
рабочих станций, особенно если требуется установить несколько стеков
для доступа к нескольким сетям;
• по сравнению с транслятором менее удобен для пользователей,
так как требует навыков работы с транспортными протоколами чужих сетей.
Инкапсуляция (туннелирование) протоколов. Инкапсуляция
(encapsulation), или туннелирование (tunneling) – это еще один метод
решения задачи согласования сетей, который, однако, применим только
для согласования транспортных протоколов и только при определенных
ограничениях. Инкапсуляция может быть использована в случае, когда две
сети с одной транспортной технологией необходимо соединить через сеть,
использующую другую транспортную технологию.
Метод инкапсуляции заключается в том, что пограничные
маршрутизаторы, которые подключают объединяемые сети к транзитной,
упаковывают пакеты транспортного протокола объединяемых сетей в
пакеты транспортного протокола транзитной сети.
Инкапсуляция может быть использована для транспортных
протоколов любого уровня. Например, протокол сетевого уровня Х.25
может быть инкапсулирован в протокол транспортного уровня TCP или же
протокол сетевого уровня IP может быть инкапсулирован в протокол
сетевого уровня Х.25. Для согласования сетей на сетевом уровне могут
быть использованы многопротокольные и инкапсулирующие
маршрутизаторы, а также программные и аппаратные шлюзы.
Обычно инкапсуляция приводит к более простым и быстрым
решениям по сравнению с трансляцией, так как решает более частную
задачу, не обеспечивая взаимодействия с узлами транзитной сети.
Наиболее часто встает задача интеграции сегментов сети,
функционирующих под управлением СОС клона Unix c сегментами NetWare
или Microsoft Windows NT.

71
4. АРХИТЕКТУРА СЕТЕВЫХ ОС

4.1. Структура сетевой операционной системы

Сетевая операционная система предназначена для управления


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

Средства управления
ресурсами ЭВМ

Серверная часть

Клиентская часть

Телекоммуникационная часть

Рис. 4.1. Структурная схема СОС


1. Средства управления ресурсами отдельных ЭВМ в составе сети,
отвечающие: за распределение памяти между процессами; планирование и
диспетчеризацию процессов; управление функциями в мультипроцес-
сорных ЭВМ; управление работой внешних устройств и т. д.
2. Серверная часть, включающая в себя средства распределения
собственных ресурсов и услуг компьтера в общее пользование. С помощью
этих средств обеспечивается: блокировка файлов и записей,
необходимость в которой возникает при их совместном использовании;
ведение каталогов-справочников; обработка запросов удаленного доступа к
файловой подсистеме и базе данных; управление удаленным доступом к
ресурсам.
3. Клиентская часть (редиректор) – средства запроса доступа к
удаленным ресурсам, услугам и их использования. Эта часть осуществляет
прием ответов от сервера, преобразование их в локальный формат, а также

72
распознавание и перенаправление в сеть запросов к удаленным ресурсам
от приложений пользователей в форме, соответствующей требованиям
сервера.
4. Телекоммуникационная часть (ТКЧ) – средства СОС,
обеспечивающие обмен сообщениями в сети. С помощью этих средств
осуществляется адресация, буферизация и фильтрация сообщений, выбор
маршрута передачи, контроль и обеспечение надежности.
На рис. 4.2 показано взаимодействие компонентов СОС при работе
двух процессов в сети.

ПК1 ПК2

Процесс А Процесс В

Клиент Управление
ресурсами

Управление
ресурсами Сервер

Ресурсы ТКЧ ТКЧ БД


клиента

Рис. 4.2. Взаимодействие процессов под управлением СОС

На ПК1 выделена клиентская часть – "Клиент", редиректор которой


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

4.2. Сетевые службы

Реализацию доступа к сетевым ресурсам осуществляют компоненты


операционной системы, называемые сетевыми службами, или сетевыми
сервисами. Каждый сервис связан с определенным типом сетевых

73
ресурсов. Например, файловый сервис обеспечивает доступ пользователей
сети к разделяемым файлам сети, факс- и принт-сервисы – доступ к
принтеру и факсу соответственно, сервис удаленного доступа позволяет
пользователям, связанным с основной сетью коммутируемыми каналами,
получать доступ ко всем ресурсам сети, сервис электронной почты
предоставляет пользователям сети возможность обмениваться
сообщениями.
Среди сетевых служб можно выделить такие, которые ориентированы
не на простого пользователя, а на администратора. Такие службы
предназначены для организации правильной работы сети в целом
(например, служба администрирования учетных записей о пользователях
Domain User Manager в Windows NT, которая позволяет администратору
вести общую базу данных о пользователях сети). Более прогрессивным
является подход с созданием централизованной справочной службы, или,
по-иному, службы каталогов, которая предназначена для ведения базы
данных не только обо всех пользователях сети, но и обо всех ее
программных и аппаратных компонентах. В качестве примеров службы
каталогов часто приводятся NDS компании Novell и StreetTalk компании
Banyan. Другими примерами сетевых служб, предоставляющих сервис
администратору, являются: служба мониторинга сети, позволяющая
захватывать и анализировать сетевой трафик; служба безопасности, в
функции которой может входить, в частности, выполнение процедуры
логического входа с проверкой пароля; служба резервного копирования и
архивирования.
От того, насколько богатый набор сервисов предлагает операционная
система конечным пользователям, приложениям и администраторам сети,
зависит ее позиция в общем ряду сетевых ОС.
Сетевые службы по своей природе являются клиент-серверными
системами. Поскольку при реализации любого сетевого сервиса
естественно возникают источник запросов (клиент) и исполнитель запросов
(сервер), то и любая сетевая служба может содержать в своем составе две
несимметричные части – клиентскую и серверную.
Клиентские части сетевых служб выполняют распознавание и
перенаправление в сеть запросов к удаленным ресурсам от приложений и
пользователей, при этом запрос поступает от приложения в локальной
форме, а передается в сеть в другой форме, соответствующей
требованиям сервера. Клиентская часть также осуществляет прием ответов
от сервера и преобразование их в локальный формат, так что для
приложения выполнение локальных и удаленных запросов неразличимо.
Серверные части сетевых служб в зависимости от вида
предоставляемых ресурсов или услуг (файлов, принтеров, факсов,
модемов, удаленного доступа и др.) могут выполнить различные действия.
Файловые серверы обеспечивают, например, блокировку файлов и записей,
необходимую для их совместного использования, поддержку справочников
имен сетевых ресурсов, обработку запросов удаленного доступа к

74
собственной файловой системе, управление очередями запросов и
правами доступа удаленных пользователей к своим файлам.
Сетевые службы операционной системы выполняют функции,
соответствующие верхним уровням модели OSI, – прикладному,
представительному и сеансовому. Для протоколов этого уровня особенно
характерно многообразие стандартов. Только для одного файлового
сервиса можно назвать с десяток стандартных протоколов, среди которых
наиболее популярны FTAM (протокол передачи файлов стека OSI), NFS,
FTP и TFTP (протоколы пересылки файлов стека TCP/IP), NCP (протокол
взаимодействия сервера Novell NetWare и оболочки рабочей станции), SMB
(протокол, регламентирующий взаимодействие рабочей станции с сервером
в сетях Microsoft и IBM). Этому многообразию протоколов соответствует
многообразие файловых сервисов.
Транспортные средства операционной системы соответствуют
протоколам сетевого, транспортного и канального уровней. На канальном
уровне работают драйверы сетевых адаптеров; как правило, операционная
система поддерживает стандарты Ethernet, TokenRing, FDDI. Протоколы
сетевого и транспортного уровней (IP, TCP, IPX, SPX, NetBEUI и др.) часто
также реализуются в виде драйверов. От того, насколько разнообразен
набор поддерживаемых коммуникационных протоколов, зависит
"открытость" операционной системы, т. е. возможность ее взаимодействия с
сетевыми средствами различных производителей.

4.3. Встроенные сетевые службы и сетевые оболочки

На практике сложилось несколько подходов к построению сетевых


операционных систем, различающихся тем, насколько глубоко внедрены
сетевые службы в операционную систему:
– сетевые службы глубоко встроены в ОС;
– сетевые службы объединены в виде некоторого набора – оболочки,
– сетевые службы производятся и поставляются в виде отдельного
продукта.
На рис. 4.3 показаны первые два варианта построения СОС.
Построение СОС как совокупности существующей ОС и отдельной
сетевой оболочки – достаточно часто используемый вариант. При этом в
локальную ОС загружают минимум средств, необходимых для поддержки
сетевой оболочки. В составе этих средств присутствует в минимальном
варианте блокировка файлов и записей, что обеспечивает формирование
функций администрирования сети. Такой подход используется в
современных ОС – LANtastic, Novell и др.
Бурное развитие корпоративных сетей вызвало необходимость более
совершенных структур ОС, сетевые функции в которых реализуются
основными модулями. Такой подход позволяет повысить производитель-

75
Вариант А Вариант В

Сетевая оболочка
ОС
со встроенными
Локальная ОС сетевыми
функциями

LAN Manager Windows NT


Personal Ware Netware (сервер)
Netware (клиенты) семейство Unix
и др. и др.

Рис. 4.3. Варианты построения СОС

ность ВС, обеспечивает их логическую стройность, простоту эксплуатации,


гибкость, эффективность и надежность. Примером такого варианта
построения может служить широко распространенные СОС Unix и
Windows NT.

4.3.1. Встроенные службы

Первые сетевые ОС представляли собой совокупность уже


существующей локальной ОС и надстроенной над ней сетевой оболочки.
При этом в локальную ОС встраивался минимум сетевых функций,
необходимых для работы сетевой оболочки, которая выполняла основные
сетевые функции.
Однако в дальнейшем разработчики сетевых ОС посчитали более
эффективным подход, при котором сетевая ОС с самого начала работы над
ней задумывается и проектируется специально для работы в сети. Сетевые
функции у этих ОС глубоко встраиваются в основные модули системы, что
обеспечивает ее логическую стройность, простоту эксплуатации и
модификации, а также высокую производительность. Важно, что при таком
подходе отсутствует избыточность. Если все сетевые службы хорошо
интегрированы, т. е. рассматриваются как неотъемлемые части ОС, то все
внутренние механизмы этой операционной системы могут быть
оптимизированы для выполнения сетевых функций. Примером такой ОС
является система Windows NT фирмы Microsoft, которая за счет
встроенности сетевых средств обеспечивает более высокие показатели
производительности и защищенности информации по сравнению с сетевой
ОС LAN Manager той же фирмы, являющейся надстройкой над локальной

76
операционной системой OS/2. Другими примерами сетевых ОС со
встроенными сетевыми службами являются все современные версии Unix,
серверной части NetWare, OS/2 Warp.

4.3.2. Оболочка

Другой вариант реализации сетевых служб – объединение их в виде


некоторого набора (оболочки), при этом все службы такого набора должны
быть между собой согласованы, т. е. в своей работе они могут обращаться
друг к другу, могут иметь в своем составе общие компоненты, например
общую подсистему аутентификации пользователей или единый
пользовательский интерфейс. Для работы оболочки необходимо наличие
некоторой локальной операционной системы, которая бы выполняла
обычные функции, необходимые для управления аппаратурой компьютера,
и в среде которой функционировали бы сетевые службы, составляющие эту
оболочку. Оболочка представляет собой самостоятельный программный
продукт и, как всякий продукт, имеет название, номер версии и другие
соответствующие характеристики. Примерами сетевой оболочки могут
служить, в частности, LAN Server и LAN Manager.
Одна и та же оболочка может предназначаться для работы над
совершенно разными операционными системами. В таких случаях оболочка
должна строиться с учетом специфики той операционной системы, над
которой она будет работать. Так, LAN Server существует в различных
вариантах: для работы над операционными системами VAX VMS, VM,
OS/400, AIX, OS/2.
Сетевые оболочки часто подразделяются на клиентские и на
серверные. Оболочка, которая содержит преимущественно клиентские
части сетевых служб, называется клиентской. Например, типичным
набором программного обеспечения рабочей станции в сети NetWare
является MS DOS с установленной над ней клиентской оболочкой NetWare,
состоящей из клиентских частей файлового сервиса и сервиса печати, а
также компонентов, поддерживающих пользовательский интерфейс.
Серверная сетевая оболочка, примерами которой могут служить те же
LAN Server и LAN Manager, а также NetWare for Unix, File and Print Services
for NetWare, ориентирована на выполнение серверных функций. Серверная
оболочка как минимум содержит серверные компоненты двух основных
сетевых сервисов – файлового сервиса и печати (именно такой набор
серверов реализован в упомянутых NetWare for Unix и File and Print Services
for NetWare). Некоторые же оболочки содержат настолько широкий набор
сетевых служб, что их называют сетевыми операционными системами. Так,
ни один обзор сетевых операционных систем не будет достаточно полным,
если в нем отсутствует информация о LAN Server, LAN Manager, ENS,
являющихся сетевыми оболочками.
С одним типом ресурсов могут быть связаны разные сервисы,
различающиеся протоколом взаимодействия клиентских и серверных

77
частей. Так, например встроенный в Windows NT файловый сервис,
реализует протокол SMB, используемый во всех ОС компании Microsoft, а
дополнительный файловый сервис, входящий в состав оболочки File and
Print Services for NetWare для этой же Windows NT, работает по протоколу
NCP, родному для сетей NetWare. Кроме того, в стандартную поставку
Windows NT входит сервер FTP, реализующий файловый сервис
Unix-систем. Ничто не мешает приобрести и установить для работы в среде
Windows NT и другие файловые сервисы, такие, например, как NFS, кстати
имеющий несколько реализаций, выполненных разными фирмами. Наличие
нескольких видов файлового сервиса позволяет работать в сети
приложениям, разработанным для разных операционных систем.
Сетевые оболочки создаются как для локальных операционных
систем, так и для сетевых операционных систем. Действительно, почему бы
не дополнить набор сетевых служб, встроенных в сетевую ОС, другими
службами, составляющими некоторую сетевую оболочку, например сетевую
оболочку ENS (Enterprise Network Services), содержащую базовый набор
сетевых служб операционной системы

4.4. Одноранговые СОС и СОС с выделенным сервером

В соответствии с архитектурами обработки информации


клиент-клиент и клиент-файловый сервер выделяют два класса сетевых
операционных систем: одноранговые СОС и СОС с выделенным сервером.
На рис. 4.4 показано взаимодействие двух ПК под управлением
одноранговой СОС. В таких сетях к известной функции управления сервера
ПК1 ПК2

Процесс А Процесс В

К С К С

ТКЧ ТКЧ

Рис. 4.4. Схема однорангового взаимодействия

(блок С) добавляется функция предоставления собственных ресурсов


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

78
поэтому в одноранговых сетях все компьютеры равны в правах доступа к
ресурсам друг друга.
Каждый пользователь имеет возможность объявить свой локальный
ресурс разделяемым (shared), после чего другие пользователи могут с ним
работать. В сетях подобного класса на всех компьютерах устанавливается
один и тот же вариант сетевой ОС либо совместимые друг с другом
системы, предоставляющие всем компьютерам в сети потенциально
равные возможности. Одноранговые сети могут быть построены на базе
таких СОС, как LANtastic, Windows 9x и др.
Несмотря на потенциальное равноправие рабочих станций, в
одноранговых сетях может возникать функциональная асимметричность,
если часть пользователей не желает делать свои локальные ресурсы
разделяемыми. В таком случае их ПК выполняют роль "чистого" клиента.
Еще один вариант асимметрии возникает, когда администратор сети
принудительно закрепляет за рядом ПК функции по организации
совместного использования ресурсов, следовательно, эти компьютеры
фактически будут являться серверами. В наиболее общем случае, если
локальный пользователь не возражает против использования его ресурсов
другими и при этом сам имеет возможность обращения к удаленным
ресурсам, СОС, устанавливаемая на его компьютере, должна содержать и
клентскую и серверную части. В отличие от сетей с выделенным сервером,
в одноранговых сетях отсутствует специализация вариантов СОС в
зависимости от исполняемых ими функций – клиентской или серверной. Все
вариации реализуются средствами конфигурирования одного и того же
варианта системы.
Одноранговые сети более просты в организации и эксплуатации,
однако они применяются в основном для объединения небольших групп
пользователей, не предъявляющих повышенных требований к объемам
хранимой информации, ее защищенности от несанкционированного доступа
и скорости обращения к сетевым ресурсам, поскольку при наличии
подобных требований к этим характеристикам более подходящими
являются сети с выделенными серверами. В последнем случае сервер
лучше решает задачу обслуживания пользователей за счет собственных
ресурсов, так как его программно-аппаратное обеспечение специально
спроектировано для этой цели.
На рис. 4.5 показана организация взаимодействия в сети под
управлением СОС с выделенным сервером, или, как ее еще называют,
двухранговой сети. В двухранговой сети одна из ЭВМ используется для
управления процессами в сети и для организации предоставления
совместного использования файлов и оборудования. В зависимости от того,
какой ресурс сети является разделяемым, серверы называются файл-
серверами, серверами приложений, принт-серверами, серверами
удаленного доступа и т. п. Все перечисленные функции серверов или их
часть может выполнять один ПК.

79
К1 К2
Процессы Специализированные
файлового сервера серверные процессы

К С С1 С2 … СN

ТКЧ ТКЧ

ТКЧ ТКЧ ТКЧ ТКЧ

К С К К К

Клиентский Клиентский Клиентский Клиентский
процесс 0 процесс 1 процесс 2 процесс N

К3 ПК1 ПК2 ПКN

Рис. 4.5. Организация взаимодействия в двухранговой сети

Таким образом, на выделенных серверах устанавливаются СОС,


ориентированные на выполнение тех или иных серверных функций и,
соответственно, предполагается наличие серверных вариантов. Обычно,
СОС предполагают поддержку базового варианта поддержки файл-сервера,
а все прочие типы серверов поддерживаются за счет погружаемых
модулей.
Другим примером СОС, ориентированной на управление
корпоративной сетью, являются СОС Windows NT Server (WNTS) и Windows
NT Workstation (WNTW), которые поддерживают функции и сервера и
клиента. При этом WNTS обладает значительно большим спектром
возможностей по предоставлению ресурсов, количеству соединений с
клиентами, управлению сетью, чем WNTW.
В отдельных случаях на сервер может возлагаться выполнение
текущих задач, однако тогда снижается производительность при
выполнении основных функций. В Netware содержательная обработка
прикладных программ просто исключена, т. е. сервер не имеет клиентской
части К (рис. 4.5). Но несмотря на возможность выполнения одним
компьютером одновременно функций и сервера и клиента, практическое

80
применение это находит только в режимах отладки и администрирования.
Функциональная асимметричность (разделение функций сервера и клиента)
вызывает асимметричность аппаратную.
В большинстве случаев на практике для реализации файловых
серверов применяют специально разработанные компьютеры (К1),
обладающие высокими показателями: по вычислительным ресурсам,
производительности, надежности, объему дисковой подсистемы и
принятым дополнительным мерам по повышению отказоустойчивости и
защищенности системы. Двухранговые сети допускают подключение через
телекоммуникационные части отдельных клиентов (К3), работающих под
управлением своей СОС и имеющих в своем составе серверную и
клиентскую части. В качестве рабочих станций ("чистых" клиентов) в
основном используются ПК, дополненные ТКЧ (ПК1 – ПКN).
Специализированные серверные процессы (сервер печати, сервер
приложений, почтовый сервер, сервер новостей, Web-сервер и др.) могут
быть реализованы на ПК или на специальных компьютерах (К2).

5. РЕАЛИЗАЦИЯ СЕТЕВЫХ ОС

5.1. Семейство сетевых ОС Novell NetWare

Novell – это крупнейшая фирма, которой принадлежит, согласно


различным источникам, от 65 до 75% рынка сетевых операционных систем
для локальных вычислительных сетей. Наибольшую известность фирма
Novell приобрела благодаря своим сетевым операционным системам
семейства NetWare.
Фирмой Novell разработано несколько поколений сетевых
операционных систем (начиная с ELS (Entry Level System) NetWare),
которые могли обслуживать до восьми станций. Advanced NetWare 2.x уже
являлась полноценной сетевой ОС, способной одновременно обслуживать
до 100 пользователей сервера на базе процессора, начиная с i386, как
выделенного, так и невыделенного. На современном этапе развития
компьютерных технологий наибольший интерес представляют СОС
NetWare версий 3.12 и 4.1х, так как они получили наибольшее
распространение на практике.
Версия 3.12 являлась наиболее стройной системой своего поколения,
в которой были исправлены ошибки предыдущих версий и сделана попытка
перехода к сетям нового поколения – 4.x. Версия 3.12 появилась позже 4.0,
но унаследовала ее некоторые свойства – поддержку CD-ROM, включение в
поставку почтовых средств Basic MHS и First Mail, наличие VLM-клиента,
поддержку фреймов IEEE_802.2 и некоторые другие. В связи с более
поздним появлением эти особенности иногда ошибочно относят только к
СОС NetWare 4.x.
Версии NetWare 4.0, 4.01 и 4.02 были быстросменяемыми заявками
на новое поколение, и их "сырость" значительно сдерживала стремление

81
пользователей сменить надежную версию 3.12 на что-то более
прогрессивное. Появление на рынке NetWare 4.1 порадовало тех
приверженцев продуктов Novell, которым требовалось создавать и
обслуживать большие и очень большие локальные и территориально
разъединенные сети.
По внутреннему устройству NetWare 4.1 является этапом эволюции
предыдущего поколения, закрепившим его положительные
фундаментальные свойства и изменившим систему организации объектов и
ресурсов сети, в частности по сравнению с NetWare 3.12, была повышена
производительность сервера, правда, ценой увеличения расхода
оперативной памяти. Далее будут подробно рассмотрены эти и другие
отличия поколений систем и описаны их общие свойства. Название
NetWare без указания конкретной версии будет подразумевать
применимость изложенного к NetWare 3.12, также (почти всего) – к версии
3.11 с установленными пакетами обновлений и к версии 4.1.

5.1.1. Особенности и параметры NetWare

Основными особенностями системы являются:


• наличие клиентского и серверного вариантов системы;
• реализация архитектуры с выделенным файловым сервером;
• реализация клиента в качестве надстройки над другими
локальными ОС, берущими на себя все управление процессами и данными
(при этом клиентская часть сетевой ОС NetWare поддерживает только
функции сетевого интерфейса);
• отсутствие средств распределения вычислительного процесса,
т. е. возможности выполнения части пользовательских вычислительных
процессов на сервере.
Таким образом, NetWare представляет собой многозадачную
многосерверную сетевую операционную систему, относящуюся к классу
сетевых ОС с централизованным управлением.
Услуги, предоставляемые NetWare:
• разделяемое использование файлов (File Sharing) – возможность
чтения и записи файлов, физически расположенных в дисковом
пространстве файл-сервера, с рабочих станций сети. ОС обеспечивает
доступ приложений рабочих станций к сетевым файлам так же, как и к
файлам локальных дисков, с заданными правами доступа и разрешением
множественного доступа нескольких клиентов сети;
• разделяемое использование принтеров (Printer Sharing) –
возможность коллективного использования принтеров, физически
подключенных к серверу, либо к рабочей станции, или аппаратных принт-
серверов;
• обмен сообщениями (Messaging Services) – обмен короткими
сообщениями или электронными письмами;

82
• коммуникационный сервис – использование сервера в качестве
мультипротокольного маршрутизатора;
• архивирование и восстановление файлов (Backup and Restore) –
централизованное использование устройств архивации (обычно
ленточных).
Платформа сервера обеспечивает запуск приложений, использующих
ресурсы и коммуникационные системы сервера, которые расширяют список
предоставляемых сетью сервисов.
Средства безопасности (Security). Они охватывают все сетевые
ресурсы и обеспечивают:
• защиту регистрации (Login Security) – вход в сеть только под
заранее заданным именем и, при необходимости, с предъявлением пароля;
• защиту консоли (Console Security) – возможность установления
пароля на доступ к консоли сервера;
• защиту файловой системы – мощные и гибкие средства
разграничения прав доступа пользователей к файлам и каталогам;
возможность восстановления удаленных файлов;
• защиту управлением объектами – разграничение привилегий
пользователей и администраторов;
• защиту коммуникаций – шифрование паролей в сетевых пакетах и
применение сигнатур для противодействия подглядыванию и
фальсификации сетевых пакетов;
• сетевой аудит – отслеживание попыток доступа к важным
ресурсам и ведение журналов событий.
Средства защиты информации встроены в NetWare на базовых
уровнях операционной системы, а не являются надстройкой в виде какого-
либо приложения. Поскольку NetWare использует на файл-сервере особую
структуру файлов, то пользователи не могут получить доступ к сетевым
файлам, даже если они получат физический доступ к файл-серверу.
Операционные системы NetWare содержат механизмы защиты
следующих уровней:
– информации о пользователе;
– паролем;
– каталогов;
– файлов;
– межсетевой.
С точки зрения защиты, ОС NetWare не делает различия между
операционными системами рабочих станций. Станции, работающие под
управлением DOS, Windows, OS/2, Macintosh и UnixWare, обслуживаются
совершенно одинаково, и все функции защиты применяются к всем
операционным системам, которые могут использоваться в сети NetWare
Средства обеспечения отказоустойчивости (System Fault
Tolerance, SFT). В системах NetWare предусмотрен ряд функций,
обеспечивающих надежность системы и целостность данных. Далее
перечислены функции, которые обеспечивают защиту всех частей сервера

83
– от устройств хранения данных до критичных файлов прикладных
программ. Наличие таких функций позволяет NetWare обеспечить очень
высокий уровень надежности сети.
Средства обеспечения надежности SFT I:
– проверка чтением после записи. После записи на диск каждый блок
данных немедленно считывается в память для проверки читаемости.
Первоначальное содержание блока не стирается до окончания проверки.
Если данные не читаются, они записываются в другой блок диска, а первый
блок помечается как дефектный;
– дублирование каталогов. NetWare хранит копию структуры
корневого каталога. Если портится основная структура, то начинает
использоваться резервная;
– дублирование таблицы размещения файлов FAT. NetWare хранит
копию FAT и использует ее при порче основной таблицы FAT;
– оперативное исправление первого уровня (Hot Fix 1). Возможна
запись или перезапись данных из дефектных блоков в специальную
резервную область диска;
– контроль источников бесперебойного питания (UPS).
Средства обеспечения надежности SFT II:
– зеркальное отображение дисков, подключенных к одному дисковому
контроллеру (Disk Mirroring);
– дуплексирование дисков, подключенных к различным дисковым
контроллерам (Disk Duplexing).
– оперативное исправление второго уровня (Hot Fix 2): повторное
выполнение операции чтения на отраженном диске и запись данных в
резервную область;
– система отслеживания транзакций (TTS).
Средства обеспечения надежности SFT III заключаются в полном
динамическом зеркальном отображении двух серверов, которые могут
находиться на значительном удалении друг от друга (при использовании
оптоволоконного кабеля для межсерверной связи – до 4 км).
Средства обеспечения надежности уровней SFT I и SFT II
реализованы в NetWare v 3.11, NetWare v 3.12 и NetWare v 4.x. Уровень
надежности SFT III реализован, пока, только в NetWare SFT III v 3.11.
Средства конфигурирования и настройки. Динамическое
конфигурирование сервера в процессе эксплуатации – запуск и выгрузка
дополнительных загружаемых модулей – NLM (NetWare Loadable Module).
Автоматическая настройка сервера (Autotuning) – изменение
распределения памяти и выделение дополнительных ресурсов для
процессов под воздействием изменений нагрузки.
Средства сетевой интеграции. Поддержка протокольных стеков
обеспечивает возможность одновременного использования нескольких
протокольных стеков (IPX/SPX, TCP/IP, AppleTalk и др.) при независимости
набора предоставляемых услуг от используемого протокола. Поддержка
файловых систем DOS, Macintosh, OS/2, Unix позволяет использовать

84
различные пространства имен файлов и каталогов и их атрибутов.
Клиентское обеспечение поддерживает операционные системы DOS,
Macintosh, OS/2, Unix. Поддержка временных зон обеспечивает
синхронизацию служб времени для широкомасштабных сетей,
охватывающих несколько часовых поясов.
Управление сетью. Обеспечивается поддержкой SNMP как на
серверах, так и на рабочих станциях. Совместимость с младшими версиями
обеспечивает возможность работы клиентов и утилит новых версий с
серверами предыдущих версий.
Компоненты сетей на базе ОС NetWare. К ресурсам сети
относятся файл-серверы, дисковые тома, сетевые принтеры, устройства
архивации, модемы и другие устройства коллективного использования. С
предварительного разрешения администратора эти ресурсы становятся
доступны зарегистрированным пользователям, которых для облегчения
задач администрирования можно объединять в группы. В многосерверных
сетях способ организации ресурсов и клиентов сети играет немаловажную
роль как для администраторов, так и для пользователей сети.

5.1.2. Управление процессами

NetWare работает в защищенном режиме центрального процессора,


используя все преимущества современных процессоров, связанные с
32-разрядной адресацией памяти.
В защищенном режиме память адресуется непрерывным диапазоном
адресов. Эта так называемая плоская (flat) модель памяти делает
управление ею более удобным и гибким. В данном случае нет
необходимости переключать сегменты памяти, так как вся она состоит из
одного сегмента. При работе в реальном режиме CPU отдельная
операция по выделению памяти ограничена размером 64 Кбайта, так как
64 Кбайта – это максимальный размер сегмента. Работа в 32-разрядном
режиме значительно повышает скорость выполнения всех компонентов и
модулей ОС.
Другим преимуществом защищенного режима является возможность
выполнять несколько программ одновременно. Часто это называют
многозадачностью (multitasking). В NetWare реализован механизм нитей
(thread), который позволяет использовать все преимущества расщепления
одного процесса на несколько параллельно выполняемых нитей. NetWare
обеспечивает удобные средства для реализации многонитевых процессов.
Существует несколько вариантов реализации алгоритма
диспетчеризации нитей. NetWare использует метод невытесняющей
многозадачности (nonpreemptive multitasking). Это означает, что прерывание
приложений и их нитей другими приложениями и нитями обычно
невозможно. Главным преимуществом невытесняющей многозадачности
является более быстрое переключение с нити на нить, по сравнению с
вытесняющей многозадачностью (preemptive multitasking), когда нить

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

5.1.3. Управление данными

Вся оперативная память, оставшаяся после загрузки ОС и


дополнительных модулей, используется для кэширования диска, что, при
соответствующих размерах оперативной памяти, естественно, существенно
повышает скорость обращения к дисковым файлам.
В ОС NetWare предусмотрен отдельный процесс чтения с диска,
который считывает данные с жестких дисков сервера и размещает их в кэш-
буферах. Этот процесс сортирует поступающие запросы на чтение и
располагает их в порядке приоритетов в зависимости от текущего
положения головок дисковода. Такой метод обслуживания запросов,
называемый элеваторным поиском (elevator seeking), оптимизирует
перемещение головок и в результате позволяет значительно увеличить
пропускную способность дисковой подсистемы при большой интенсивности
запросов.
Если на сервере имеется несколько дисковых каналов, то NetWare
может параллельно осуществлять поиск данных на нескольких дисках (по
одному диску на канал). Это существенно повышает производительность.
Файловая система NetWare значительно отличается от файловых
систем ОС общего назначения следующими ключевыми свойствами:
• в ней предприняты дополнительные меры по сохранению
целостности данных;
• достигнута высокая производительность;
• обеспечена емкость файловых систем класса мейнфреймов;
• обеспечен широкий набор функций файловых API для серверных
приложений.
Файловая система NetWare 4.x обратно совместима с файловой
системой NetWare 3.x, но имеет несколько новых свойств, в частности
интерфейс монитора файловой системы.
Тома и жесткие диски. Том – это первичная структура данных
файловой системы NetWare. Он включает физическое хранилище данных,
логическую информацию о файлах (файлы и каталоги), информацию

86
пространства имен (Name Space) (это необходимо для поддержки
форматов файлов, отличных от ОС MS DOS) и системы отказоустойчивости
– систему оперативного исправления (Hot Fix) и систему отслеживания
транзакций (TTS). Сервер NetWare 3.12 или 4.x может иметь до 64 томов,
монтируемых одновременно. Каждый том может обеспечивать хранение до
32 Тбайт, если сервер имеет достаточный кэш для хранения структур
данных тома, включая FAT (File Allocation Table) тома. Том NetWare – это
аналог понятия "файловая система" в Unix, иными словами, том можно
монтировать и демонтировать, как и файловую систему Unix. Однако
внутренняя структура тома NetWare существенно отличается от структуры
файловой системы Unix.
Физическая структура тома. Физический носитель, который
доступен для приложений с помощью средств тома NetWare, состоит из
блоков. Блок тома соответствует последовательности секторов
физического носителя. Стандартный размер блока тома – 4 Kбайта (восемь
секторов), но возможны блоки и больших размеров. Том NetWare – это
массив блоков, а каждый блок – это массив секторов. Блоки тома должны
быть связаны с реальным физическим носителем, который состоит из
сегментов областей физического носителя, являющихся разделами
(partitions), подготовленными для использования в качестве части тома
NetWare. Таким образом, базовая структура тома NetWare включает:
• сегмент физического носителя, который подготовлен как раздел
NetWare;
• секторы физического носителя, поддерживаемые контроллером
диска;
• блоки, каждый из которых состоит из массива секторов;
Том представляет собой массив блоков и может быть
многосегментным, поэтому физический носитель тома может состоять из
нескольких дисководов. Размещение сегментов одного тома на разных
дисках позволяет осуществлять операции чтения и записи различных
частей этого тома одновременно, что повышает скорость доступа к данным.
Однако при размещении сегментов тома на нескольких дисках требуется
зеркальное отображение дисков для защиты информации при отказе
какого-либо диска, иначе такой отказ приведет к потере одного тома или
нескольких. Таблица, которая описывает сегмент, называется таблицей
определения тома (Volume Definition Table – VDT). В этой таблице
содержатся имя тома, размер тома и информация о расположении
сегментов тома на различных дисках. Каждый том NetWare содержит
четыре копии (для обеспечения отказоустойчивости) таблицы VDT в каждом
разделе NetWare диска. Кроме таблиц VDT раздел NetWare содержит
область переназначения дефектных блоков Hot Fix; остальная часть этого
раздела отводится под сегменты, которые могут принадлежать различным
томам.
На сервере NetWare должен иметься один диск, содержащий раздел
DOS. Этот раздел является активным, и с него после выполнения

87
стартового командного файла DOS autoexec.bat автоматически стартует ОС
NetWare.
Логическая структура тома. Каждый том имеет таблицу
распределения блоков файлов FAT и таблицу входов в каталог DET
(Directory Entry Table). Таблица FAT по своему назначению аналогична
таблице FAT MS DOS, а таблица DET – корневому каталогу диска MS DOS.
Отличие DET от корневого каталога DOS состоит в том, что для каждого
файла в первом может находиться несколько записей – входов, если файл
имеет "недосовский" формат.
Таблицы FAT и DET кэшируются в оперативной памяти сервера: FAT
кэшируется всегда, а DET – динамически: кэшируются только те входы,
которые используются. (Входы DET могут выгружаться из памяти, если они
долгое время не используются.) Для обеспечения надежности NetWare
всегда оперирует с избыточным числом копий FAT и DET.
Кэширование файлов. В NetWare для достижения высокой
производительности файловой системы реализован обширный
динамический кэш файлов в оперативной памяти, который построен на
блочной основе. Когда приложение читает данные или записывает их в
файл, NetWare копирует нужные блоки данных файла в кэш (если они еще
там не находятся). Когда файловая кэш-память полностью заполняется,
NetWare выполняет процедуру выгрузки в соответствии с алгоритмом
"наименее используемый в последнее время" (Least Recently Used – LRU).
NetWare конфигурирует файловую кэш-память во время инсталляции
ОС. После распределения памяти для структур данных операционной
системы и инициализации динамических таблиц для стартовой
конфигурации NetWare превращает всю оставшуюся память в файловый
кэш. NetWare кэширует данные файлов поблочно, что позволяет ей
достигать высокой степени синхронизации между буферами файлового
кэша и блоками тома. Фактически, система кэширования файлов
представляет собой часть логической файловой системы NetWare. Такая
тесная интеграция между файловым кэшем и физическими носителями
помогает сохранить целостность данных в файлах при значительном
выигрыше в производительности.
В NetWare в буферах кэш-системы хранятся не только блоки данных
файлов, но и такие элементы файловой системы, как FAT, Turbo FAT, кэш-
таблица и входы каталогов. Turbo FAT представляет собой таблицу, в кото-
рой непосредственно перечислены все блоки файла, если их количество
превышает 64. Это обеспечивает быстрый доступ к большим файлам.

5.1.4. NetWare 3.x

В NetWare 3.12 и младше объекты сети организуются с помощью баз


данных Bindery (связи), индивидуальных для каждого сервера и не
связанных друг с другом. Bindery содержит список объектов (пользователи
и их группы, принтеры и их очереди, и т. п.), списки свойств и значений

88
свойств этих объектов. Все объекты каждой базы принадлежат только ее
серверу. Для получения доступа к ресурсам сервера пользователю
необходимо иметь на нем свой бюджет (account) и зарегистрироваться под
соответствующим именем. Для получения доступа к ресурсам другого
сервера необходимо также зарегистрироваться и в нем (и также иметь на
нем свой бюджет). Список ресурсов сервера становится доступным
пользователю (в пределах отпущенных ему прав) только после успешной
регистрации. Бюджеты и права каждого пользователя (или группы) в
ресурсах каждого сервера задаются администратором в базе Bindery
каждого сервера. Эта организация является серверно-центрической (server-
centric): сервер в ней является центром своего небольшого "мирка". Такая
организация приемлема только для относительно небольших сетей или тех,
в которых пользователям не требуются ресурсы многих серверов.

5.1.5. NetWare 4.x

Решением проблемы организации объектов для больших


многосерверных сетей является использование сервиса Каталогов
(NetWare Directory Services – NDS), радикально отличающего NetWare 4.x от
предыдущих версий. Здесь информация обо всех объектах сети
независимо от их принадлежности к конкретному серверу хранится в общей
базе данных сети – Каталоге (Directory). Это слово в данном контексте
принято писать с заглавной буквы, чтобы не путать с обычным дисковым
каталогом.
Все объекты сети – пользователи, группы, серверы, тома, принтеры
со своими очередями и серверами – с помощью специальных объектов-
контейнеров организованы в иерархическую структуру – перевернутое
корнем вверх дерево каталогов. Дерево организуется по логическому
принципу – страна, город, организация, подразделение и т. п. Для
получения доступа к любым ресурсам всей сети необходима лишь
однократная регистрация пользователя. Для поиска нужного объекта
необходимо знать его имя и местоположение в дереве, поскольку его
физическое перемещение (например, переключение с одного сервера на
другой) скрыто от пользователя. Данный способ является
"сетецентрическим" (network-centric): единая для всей сети репликативная
база описания ресурсов существует в виде копий (дубликатов, реплик) на
всех серверах сети, что обеспечивает дополнительную отказоустойчивость
в случае потери доступности базы на каком-либо сервере.
Сервис Каталогов обеспечивает неограниченную наращиваемость
сети как по ее размеру, так и по составу объектов, допуская определение
приложениями новых классов объектов. Он также облегчает организацию
системы безопасности, делая ее более стройной и гибкой.
Для совместимости с серверами NetWare 2.x-3.x NDS имеет
возможность их включения в Каталог, а при необходимости использования
старых клиентов возможна эмуляция Bindery.

89
Преимущества древовидной структуры организации сети
подчеркиваются графическим интерфейсом утилит Windows, отражающим
различные объекты и их связи соответствующими мнемоническими
картинками и обеспечивающим простой интерфейс для перемещения по
дереву и для действий с объектами.
Новое поколение NetWare имеет ряд существенных отличий, часть их
них является прямым следствием изменения подхода к организации, а
другая часть обусловлена развитием общих функциональных свойств.
Процедура регистрации пользователя изменилась в соответствии с
принципами организации сети. Однократная регистрация обеспечивает
доступ к всем ресурсам Каталога.
Служба времени, обеспечивающая синхронизацию северов,
использует новую категорию – тайм-сервер (Time Server). Система тайм-
серверов задает общее время для всей сети, что необходимо для
обслуживания репликативной базы данных Directory.
Сжатие файлов обеспечивает возможность хранения редко
используемых файлов в упакованном виде. В отличие от динамических
компрессоров типа DoubleSpace или Stacker, сжатый файл NetWare при
запросе на доступ должен сначала распаковаться в свободном дисковом
пространстве, что вызывает некоторые неудобства и задержку
обслуживания первого обращения.
Подразделение блоков (Block suballocation) – разбиение блоков диска
на подблоки меньшего размера (512 байт) повышает эффективность
использования диска, особенно для маленьких файлов.
Миграция данных обеспечивает возможность хранения редко
используемых файлов на внешних носителях большой емкости (HCSS),
имеющих сравнительно большое время доступа. Аналогично сжатым
файлам, файлы-мигранты по первому запросу доступа должны вернуться в
нормальное состояние на стандартный диск.
Возможность невыделенного сервера: NetWare Server for OS/2
устанавливается на компьютере с ОЗУ объемом более 16 Мбайт, при этом
сервер и его OS/2-клиент могут работать параллельно, разделяя
использование ресурсов компьютера.
Расширенный сетевой аудит позволяет отслеживать все обращения
по чтению или записи к файлам и каталогам, причем функции аудитора
(сугубо пассивного, но всевидящего наблюдателя) неподвластны (и не
видны) даже администратору.
Набор сетевых утилит, необходимых администратору и
пользователю, по сравнению с наборами утилит предыдущих версий,
значительно сокращен за счет расширения функциональности утилит.
Управление сервером получило удобный меню-интерфейс
SERVMAN.NLM – альтернативу множеству длинных команд SET; набор
управляемых параметров расширился.
Использование памяти сервера улучшено, сокращены
безвозвратные выделения памяти. Защита памяти сервера – возможность

90
запуска сомнительных модулей в специальной области памяти –
предотвращает повреждение ими памяти, принадлежащей другим модулям
(высокая вероятность подобных интерференции не документировалась в
описаниях предыдущих версий).
Поддержка аппаратных средств сервера осуществляется с
использованием преимуществ современных высокопроизводительных
процессоров, мультипроцессорной архитектуры, шины PCI и с поддержкой
адаптеров с интерфейсом PC Card (новое название стандарта PCMCIA).
Сетевая печать при сохранении основных принципов получила
"выпрямленную" процедуру установки и настройки.
Лицензирование сервера организовано подобно предыдущим
версиям NetWare: количество пользователей, обслуживаемых ядром ОС на
каждом файл-сервере, ограничено лицензионным параметром
приобретенного пакета, и в одной сети невозможна работа серверов с
одинаковыми серийными номерами. Однако в NetWare 4.x дополнительно
введена аддитивность лицензии: ограничение определяется суммой
приобретенных лицензий, которые, к тому же, могут сниматься с одного
сервера и устанавливаться на другой. Лицензия может распространяться на
5, 10, 25, 50, 100, 250, 500 и 1000 пользователей

5.1.6. Одноранговые сети Novell

Фирма Novell выпустила и несколько версий одноранговых СОС,


функционирующих в среде DOS и использующих ее файловую систему.
Они обеспечивают совместное использование каталогов и дисков, CD-ROM,
принтеров и обмен сообщениями в небольших сетях. Каждый узел может
являться клиентом, сервером или выступать в обеих ролях.
NetWare Lite 1.0-1.1. Первыми продуктами были сети NetWare Lite,
поддерживающие до 25 узлов в сети. Версия 1.1 имеет некоторые усовер-
шенствования. В ее поставку входят утилиты кэширования дисков сервера
NLCACHEx.EXE (x = C, X, M – для использования основной, расширенной
или отображаемой памяти). Модули CLIENT.EXE и SERVER.EXE могут
загружаться в верхнюю память (командами LH), а также выгружаться из
памяти; введена поддержка CD-ROM. NET-команды приближены по
названиям к "большому" NetWare. Все клиенты и серверы сети NetWare Lite
должны использовать уникальные экземпляры модулей CLIENT.EXE и
SERVER.EXE, которые имеют серийные номера, но в отличие от "больших"
NetWare их номера не зашифрованы и легко вычисляются. При встрече в
сети двух узлов с совпадающими номерами на их консоли периодически
выводятся сообщения о нарушении лицензионных прав.
Personal NetWare и Novell DOS 7. Продукт Novell Personal NetWare
(PNW) стал преемником NetWare Lite, он поддерживает до 50
пользователей на каждый сервер и до 50 серверов в каждой рабочей
группе. Распределенная база данных объектов обеспечивает однократную
регистрацию пользователя в сети для доступа к ресурсам любого сервера

91
(при использовании на них одинаковых имени и пароля). Система
безопасности включает средства ограничения доступа, шифрование
паролей, трассировку сетевых событий. Поддерживаются средства
управления сетями в стандартах NMS и SNMP. При включении–выключении
серверов клиент реконфигурируется автоматически без необходимости
перезагрузки. Клиентская часть использует драйверы IPXODI и запросчик
VLM.EXE из NetWare 3.12+, обеспечивающий полную совместимость со
всеми версиями NetWare (2.x, 3.x, 4.x) и не имеющий лицензионных
ограничений. Серверная часть и управление сетью похожи на NetWare
Lite 1.1, изменены названия некоторых файлов.
Personal NetWare входит в комплект поставки OС Novell DOS 7 –
однопользовательской системы, функционально совместимой с MS DOS 6,
имеющей средства переключения задач TASKMGR.EXE и являющейся
преемником DR-DOS 6.0 фирмы Digital Research. Novell DOS 7 в большей
степени ориентирована на сетевое использование, чем MS DOS:
встроенные средства безопасности обеспечивают паролирование входа в
систему и доступа к каталогам; утилита DELWATCH.EXE обеспечивает
защиту от уничтожения удаленных файлов, а UNDELETE.EXE позволяет
восстанавливать удаленные (но защищаемые от уничтожения) файлы в
сети, в том числе и на серверах NetWare 2, 3, 4.

5.1.7. Сравнительные характеристики системы

NetWare имеет некоторые преимущества по сравнению со своим


конкурентом Windows NT Server: маршрутизацию всех протоколов на
сервере, удаленное управление самим сервером и эффективную
поддержку клиентских станций, работающих под управлением DOS. Более
того, NetWare 4.1 обеспечивает поддержку ряда служб, необходимых для
ОС средней корпоративной сети, а служба справочника NetWare стала
мощным средством управления даже большими корпоративными сетями.
Система безопасности включает функцию ограничения объема данных
пользователя на томе сервера, которая отсутствует в Windows NT.
Производительность NetWare при операциях с файлами и службами
сетевой печати по-прежнему выше, чем у ее конкурентов, особенно в
случае крупных разнородных сетей. По сравнению с другими сетевыми ОС,
NetWare поддерживает большее число операционных сред клиентов,
включая DOS, Windows, OS/2, MacOS и Unix.
NetWare лидирует и по числу представленных на рынке аппаратных и
программных средств третьих фирм, которые расширяют и дополняют ее
функциональные возможности. Система имеет больше возможностей для
резервного копирования и хранения данных, больше управляющих утилит и
сетевых приложений, чем любая другая операционная система. Еще одно
преимущество NetWare заключается в том, что для ее обслуживания легче
найти квалифицированный обслуживающий персонал: прочие ее характе-
ристики перечислены в табл. 5.1.

92
Таблица 5.1
Некоторые характеристики NetWare
Характеристика Значение
Минимальный объем оперативной 9 Мбайт (для NetWare 4.х)
памяти файлового сервера
Поддержка клиентских платформ DOS, Windows, WFW, Unix, OS/2,
MacOS, Windows NT Workstation
Регистрация пользователей и Поддерживается однократная ре-
доступ к сетевым ресурсам гистрация при входе в сеть
Почтовые шлюзы, включенные в MHS (для NetWare 4.1)
поставку ОС
Средства маршрутизации, включен- IPX, TCP/IP, AppleTalk
ные в поставку
Число прав доступа к файлам и Восемь
каталогам
Поддержка компрессии файлов на Поддерживается в NetWare 4.х
жестком диске
Существует и ряд недостатков. В частности, операционная система
NetWare имеет ограниченные возможности по разработке приложений
вследствие ряда причин:
• имеется небольшое число средств для разработки NLM-модулей (в
основном компилятор Watcom C);
• нет средств организации на файловом сервере виртуальных
машин;
• в NetWare 3.х нет встроенных средств защиты оперативной памяти
(ОП) задачи (нити);
• в NetWare 4.х эта защита реализована только между двумя
доменами (кольцами) ОП файлового сервера;
• многопроцессорную обработку поддерживают только
операционные системы NetWare 4.1 SMP и NetWare SFT III, причем
возможности последней ОС весьма ограничены;
• не реализована встроенная распределенная файловая система;
• ОС не поддерживает удаленные процедуры.
Для устранения перечисленных недостатков фирма Novell
разработала Unix-подобную ОС UnixWare. Это связано с тем, что
операционная система Unix не имеет отмеченных выше ограничений.
NetWare имеет и некоторые другие недостатки:
• для администрирования необходимо иметь рабочую станцию;
• ОС поддерживает персональные компьютеры с Intel-совместимым
процессором;
• при инсталляции операционная система не распознает
автоматически параметры сетевых адаптеров и периферийных устройств,
их следует указывать вручную.

93
5.2. Семейство операционных систем Windows

C 1984 г. корпорация Microsoft разработала целый спектр системных


решений – начиная от графических оболочек над ОС MS DOS с поддержкой
клиентских сетевых функций (Windows 1.0 – 3.11) до многополь-
зовательских мультизадачных операционных систем Windows 9x и
Windows NT. Последняя, с точки зрения изучения архитектуры сетевого
взаимодействия, представляет наибольший интерес, поскольку, во-первых,
целенаправленно проектировалась как сетевая ОС, во-вторых, имеет два
варианта реализации – клиентский и серверный.
В настоящее время ОС семейства Windows являются лидирующими в
сфере офисных решений, а также занимают заметное место в числе
платформ реализации корпоративных intranet-сетей.

5.2.1. Особенности Windows NT

Операционная система Windows NT с самого начала проектировалась


с учетом всех требований, предъявляемых к современным ОС:
расширяемости, переносимости, надежности, совместимости,
производительности, что проявилось даже в названии продукта – NT,
которое расшифровывается как New Technologies. Эти свойства были
достигнуты за счет применения передовых технологий структурного
проектирования, таких как клиент-сервер, микроядра, объекты. Кроме этого,
в отличие от большинства других операционных систем, Windows NT
изначально разрабатывалась с учетом возможности работы в сети.
Клиентский вариант системы – Windows NT Workstation может
использоваться прежде всего как клиент в сетях Windows NT Server, а также
в сетях NetWare, Unix, Vines. Она может быть рабочей станцией и в
одноранговых сетях, выполняя одновременно функции и клиента и сервера.
Windows NT Workstation может применяться в качестве ОС автономного
компьютера, если необходимо обеспечить повышенную производитель-
ность, секретность, а также при реализации сложных графических
приложений, например в системах автоматизированного проектирования.
Windows NT Server может использоваться преимущественно как
сервер в корпоративной сети. Здесь весьма полезной оказывается его
возможность выполнять функции контроллера доменов, позволяющая
структурировать сеть и упрощать задачи администрирования и управления.
Он используется также в качестве файл-сервера, принт-сервера, сервера
приложений, сервера удаленного доступа и сервера связи (шлюза). Кроме
того, Windows NT Server может быть использован как платформа для
сложных сетевых приложений, особенно тех, которые построены с
использованием архитектуры клиент-сервер. Так, под управлением
Windows NT Server может работать сервер баз данных Microsoft SQL Server,
а также серверы баз данных других известных фирм, такие как Oracle и
Sybase, Adabas и InterBase.

94
Структурно Windows NT может быть представлена в виде двух
частей: части операционной системы, работающей в режиме пользователя,
и части операционной системы, работающей в режиме ядра.
Часть Windows NT, работающая в режиме ядра, называется
исполнительной частью (executive). Она включает ряд компонентов,
которые управляют виртуальной памятью, объектами (ресурсами), вводом-
выводом и файловой системой (включая сетевые драйверы),
взаимодействием процессов и частично – системой безопасности. Эти
компоненты взаимодействуют между собой с помощью межмодульной
связи. Каждый компонент вызывает другие с помощью набора тщательно
специфицированных внутренних процедур.
Вторую часть Windows NT, работающую в режиме пользователя,
составляют серверы – так называемые защищенные подсистемы. Серверы
Windows NT называются защищенными подсистемами, поскольку каждый
из них выполняется в отдельном процессе, память которого отделена от
других процессов системой управления виртуальной памятью NT executive.
Так как подсистемы автоматически не могут совместно использовать
память, они общаются друг с другом посредством посылки сообщений.
Сообщения могут передаваться как между клиентом и сервером, так и
между двумя серверами. Все сообщения проходят через исполнительную
часть Windows NT. Ядро Windows NT планирует нити защищенных
подсистем точно так же, как и нити обычных прикладных процессов.
При создании NT разработчики руководствовались задачами
улучшения производительности и сетевых возможностей, а наряду с этим –
требованием поддержки определенного набора прикладных сред. Данная
цель была достигнута продуманным разделением функций между
модулями ядра и остальными модулями. Например, передача данных в
файловую систему и по сети производится быстрее в пространстве ядра,
поэтому внутри ядра NT выделены буфера для небольших по объему (от 16
до 32 Кбайт) операций чтения и записи, являющихся типичными для
приложений клиент-сервер и распределенных приложений.
Наиболее важной подсистемой окружения является Win32 –
подсистема, которая обеспечивает доступ для приложений к 32-bit Windows
API. Дополнительно эта система обеспечивает графический интерфейс с
пользователем и управляет вводом–выводом данных пользователя. Также
системой поддерживаются подсистемы POSIX, OS/2, 16-разрядная Windows
и MS DOS.

5.2.2. Управление процессами

В отличие от Windows 9х, в которой реализована многозадачность без


вытеснения (non-preemptive multitasking), в Windows NT используется
механизм многозадачности с вытеснением (preemptive multitasking).

95
Windows NT поддерживает симметричную многопроцессорную
организацию вычислительного процесса, в соответствии с которой ОС
может выполняться на любом свободном процессоре или на всех
процессорах одновременно, разделяя память между ними. С учетом того,
что многозадачность реализуется на уровне нитей, разные части одного и
того же процесса могут действительно выполняться параллельно.
Следовательно, многонитевые серверы могут обслуживать более одного
клиента.
Для управления нитями Windows NT Server использует механизм
приоритетов. В определенные моменты производятся оценка приоритетов и
перераспределение нитей по процессорам, в результате чего
последовательные стадии одного потока программы могут выполняться
разными процессорами или откладываться до высвобождения очередного
процессора.
Процессы Windows NT имеют следующие характерные свойства:
• реализованы в форме объектов, и доступ к ним осуществляется
посредством службы объектов;
• имеют многонитевую организацию;
• как объекты-процессы, так и объекты-нити имеют встроенные
средства синхронизации;
• менеджер процессов Windows NT не поддерживает между
процессами отношений типа "родитель–потомок".
Адресное пространство каждого процесса защищено от
вмешательства в него любого другого процесса. Это обеспечивается
механизмами виртуальной памяти. Операционная система, конечно, тоже
защищена от прикладных процессов. Чтобы выполнить какую-либо
процедуру ОС или прочитать что-либо из ее области памяти, нить должна
выполняться в режиме ядра. Пользовательские процессы получают доступ
к функциям ядра посредством системных вызовов. В пользовательском
режиме выполняются не только прикладные программы, но и защищенные
подсистемы Windows NT.
В Windows NT процесс – это просто объект, создаваемый и
уничтожаемый менеджером объектов. Объект-процесс, как и другие
объекты, содержит заголовок, который создается и инициализируется
менеджером объектов. Менеджер процессов определяет атрибуты,
хранимые в теле объекта-процесса, а также обеспечивает системный
сервис, который восстанавливает и изменяет эти атрибуты. В число
атрибутов тела объекта-процесса входят:
– идентификатор процесса – уникальное значение, которое
идентифицирует процесс в рамках операционной системы;
– токен доступа – исполняемый объект, содержащий информацию о
безопасности;
– базовый приоритет – основа для исполнительного приоритета
нитей процесса;

96
– процессорная совместимость – набор процессоров, на которых
могут выполняться нити процесса;
– предельные значения квот – максимальное количество страничной
и нестраничной системной памяти, дискового пространства,
предназначенного для выгрузки страниц, процессорного времени, которые
могут быть использованы процессами пользователя;
– время исполнения – общее количество времени, в течение которого
выполняются все нити процесса.

5.2.3. Управление файлами

Хотя Windows NT поддерживает работу с такими файловыми


системами, как FAT и HPFS, основной ее файловой системой является
NTFS. Система преобразует FAT или HPFS в NTFS, сохраняя всю
информацию на диске. Обратное преобразование невозможно.
NTFS разработана для быстрого выполнения стандартных файловых
операций типа чтения, записи и поиска, а также улучшенных операций типа
восстановления файловой системы на очень больших жестких дисках. Она
также включает возможности безопасности, требуемые для файловых
серверов и высококачественных персональных компьютеров в
корпоративной среде. NTFS поддерживает управление доступом к данным
и привилегии владельца, что является важным для целостности
корпоративных данных. В то время как каталогам, разделяемым при
помощи Windows NT Server, назначаются специфические разрешения,
файлам и каталогам NTFS могут назначаться разрешения вне зависимости,
разделены они или нет. NTFS – единственная файловая система в Windows
NT, которая позволяет назначить разрешения для отдельных файлов.
NTFS является простой, но очень мощной разработкой. Для этой
перспективной файловой системы вся информация на томе NTFS является
файлом или его частью. Каждый распределенный на томе NTFS сектор
принадлежит некоторому файлу. Даже метаданные (metadata) файловой
системы (информация, которая описывает непосредственно файловую
систему) являются частью файла.
Эта основанная на атрибутах файловая система поддерживает
объектно-ориентированные приложения, обрабатывая все файлы как
объекты, которые имеют определяемые пользователем и системой
атрибуты.
Главная файловая таблица. Каждый файл на томе NTFS
представлен записью в специальном файле, называемом главной
файловой таблицей (Master File Table – MFA). NTFS резервирует 16
начальных записей таблицы для специальной информации. Первая запись
этой таблицы описывает непосредственно главную файловую таблицу; за
ней следует зеркальная запись (mirror record) MFT. Если первая запись MFT
разрушена, то NTFS читает вторую запись для отыскания зеркального

97
файла MFT, первая запись которого идентична первой записи MFT. Место-
положения сегментов данных MFT и зеркального файла MFT записаны в
секторе начальной загрузки. Дубликат сектора начальной загрузки
находится в логическом центре диска. Третья запись MFT – файл
регистрации (log file) – используется для восстановления файлов.
Семнадцатая и последующие записи главной файловой таблицы
используются собственно файлами и каталогами (рассматриваемыми также
как файлы NTFS) на томе. На рис. 5.1 приведена упрощенная структура
MFT.
Главная файловая таблица отводит определенное количество
пространства для каждой записи файла. Атрибуты файла записываются в
распределенное пространство MFT. Небольшие файлы и каталоги (обычно,
до 1500 байт или меньше) могут полностью содержаться внутри записи
главной файловой таблицы.
Подобный подход обеспечивает очень быстрый доступ к файлам.
Рассмотрим, например файловую систему FAT, которая использует
таблицу размещения файлов, где перечисляются имена и адрес каждого
файла. Элементам каталога FAT соответствуют индексы в таблице
размещения файлов. В случае, если необходимо просмотреть содержимое
файла, FAT сначала читает таблицу размещения файлов и убеждается в
существовании файла. Далее FAT восстанавливает файл, ища цепочку
распределенных блоков, относящихся к этому файлу. В NTFS поиск файла
производится только для непосредственного его использования.

Фрагмент
Главная файловая
таблица
Фрагмент
MFT

Фрагмент
Запись файла регистрации

...

Запись небольшого файла


Фрагмент

Фрагмент
Запись большого файла
Запись небольшого каталога Фрагмент
...

Рис. 5.1. Главная файловая таблица

98
Записи каталога помещены внутри главной файловой таблицы так же,
как и записи файла. Вместо данных каталоги содержат индексную
информацию. Небольшие записи каталогов находятся полностью внутри
структуры MFT. Большие каталоги организованы в виде B-дерева, имея
записи с указателями на внешние кластеры, содержащие элементы
каталога, которые не могли быть записаны внутри структуры MFT.
Атрибуты файла NTFS. NTFS просматривает каждый файл (или
каталог) как набор атрибутов файла. Такие элементы, как имя файла,
информация защиты и даже данные – все это атрибуты файла. Каждый
атрибут идентифицирован кодом типа атрибута и (необязательно) именем
атрибута.
Если атрибуты файла могут находиться внутри записи файла MFT,
они называются резидентными (resident) атрибутами. Например,
информация типа имени файла и отметки времени всегда включается в
запись файла MFT. Если файл слишком большой, чтобы содержать все
атрибуты в записи файла MFT, часть атрибутов является нерезидентной
(nonresident). Нерезидентные атрибуты занимают один пробег (run) или
несколько пробегов дискового пространства в другом месте тома (пробег
дискового пространства – непрерывная линейная область на диске).
Вообще, все атрибуты могут быть вызваны как поток байтов
независимо от того, являются ли они резидентными или нерезидентными. В
табл. 5.2 представлен список всех атрибутов файла, в настоящее время
определенных для NTFS. Этот список расширяем, т. е. другие атрибуты
файла в будущем в случае необходимости могут быть определены.

Таблица 5.2
Атрибуты файла NTFS

Тип атрибута Описание


Standard Information Включает бюджет связи и т. д.
(стандартная
информация)
Attribute List (список Перечисляет все другие атрибуты
атрибутов) (только в больших файлах)
Filename (имя файла) Атрибут, повторяющийся для длинных и для
коротких имен файлов. Длинное имя файла
может содержать до 255 символов Unicode.
Короткое имя – восемь плюс три символа, без
учета регистра. Дополнительные имена или
жесткие связи (hard links) могут быть также
включены в качестве дополнительных атрибутов
имени файла
Security Descriptor Фиксирует информацию о том, кто может
(дескриптор обращаться к файлу, кто является его владельцем
безопасности) и т. д.

99
Окончание табл. 5.2
Тип атрибута Описание
Data (данные) Содержит данные файла
Index Root (корень Используется при работе с каталогами
индексов)
Index Allocation Используется при работе с каталогами
(индексное
размещение)
Volume Information Используется только в системном файле тома
(информация тома) и включает, в частности, версию и имя тома
Bitmap (битовый Предоставляет информацию об использовании
массив) записей в MFT или каталоге
Extended Attribute Используется файловыми серверами, которые
Information связаны с системами OS/2.
(информация расши- Не используется Windows NT
ренного атрибута)
Extended Attributes Используется файловыми серверами, которые
(расширенные связаны с системами OS/2.
атрибуты) Не используется Windows NT

Длинные и короткие имена файлов. NTFS поддерживает имена


файла до 255 символов. Имена файла NTFS используют набор символов
Unicode с 16 битами; однако при этом вопрос доступа из MS DOS решен.
NTFS автоматически генерирует поддерживаемое MS DOS имя (восемь
плюс три символа) для каждого файла. Таким образом, файлы NTFS могут
использоваться через сеть операционными системами MS DOS и OS/2. Это
особенно важно для файловых серверов организации, которая использует
персональные компьютеры с несколькими типами операционных систем.
Создавая имена файла восемь плюс три, NTFS также позволяет
приложениям MS DOS и Windows 3.х работать с файлами, имеющими
длинные имена NTFS. Кроме того, при сохранении файла приложениями
MS DOS или Windows 3.x на томе NTFS сохраняются и имя файла восемь
плюс три и длинное имя NTFS. При сохранении файла приложениями
MS DOS или Windows З.х на томе NTFS, если приложение сохраняет
временный файл или удаляет первоначальный файл и переименовывает
временный файл с первоначальным именем, длинное имя файла теряется.
Любой уникальный набор разрешений файла также теряется. Разрешения
передаются заново из родительского каталога.
При работе с Windows NT файлы, созданные или переименованные в
разделах FAT, могут иметь связанные длинные имена. Правила управления
длинными именами файла на томе NTFS также относятся к длинным
именам файла на разделах FAT; отличие заключается в том, что имена
файла на FAT не могут содержать расширенные символы.

100
Генерация короткого имени файла. Поскольку NTFS использует
набор символов Unicode для имен файлов, существует возможность
задействования нескольких запрещенных символов, которые обычная FAT
не может читать в имени файла. Для генерации короткого имени файла в
стиле MS DOS NTFS удаляет все эти символы и любые пробелы из
длинного имени файла. Так как имя файла в MS-DOS может иметь только
одну точку, NTFS также удаляет все дополнительные точки из имени
файла. Далее, при необходимости, NTFS усекает имя файла до шести
символов и добавляет тильду (~) и номер. Например, к каждому
недублированному имени файла добавляется ~1. Повторяющиеся имена
файлов заканчиваются символами ~2, ~3 и т. д. Расширение имени файла
усекается до трех или меньшего количества символов. Наконец, при
отображении имени файла в командной строке NTFS транслирует все
символы в имени файла и расширении к верхнему регистру (File Manager
отображает эти имена файла в нижнем регистре).
Windows NT использует несколько другой метод для создания
коротких имен файлов в случае, когда имеется пять или более файлов,
которые привели бы к двойным коротким именам файла. Для пятого и
последующих файлов Windows NT использует только два первых символа
от длинного имени файла и далее специальной математической операцией
(функция от длинного имени) генерирует следующие уникальные четыре
символа короткого имени файла; после этого к результату добавляется ~5
(или другой номер, чтобы избежать двойного имени файла). Такой метод
весьма эффективен в случае, когда Windows NT должна создавать короткие
имена файлов для большого количества файлов с похожими длинными
именами, а также для создания коротких имен для томов FAT и NTFS.

5.2.4. Сетевые средства

Средства сетевого взаимодействия Windows NT направлены на


реализацию взаимодействия с существующими типами сетей, возможности
загрузки и выгрузки сетевого программного обеспечения, а также на
поддержку распределенных приложений.
Windows NT, с точки зрения реализации сетевых средств, имеет
следующие особенности:
• встроенность на уровне драйверов (это свойство обеспечивает
быстродействие);
• открытость, обусловливаемую легкостью динамической загрузки-
выгрузки, мультиплексируемостью протоколов;
• наличие RPC, именованных конвейеров и почтовых ящиков для
поддержки распределенных приложений;
• наличие дополнительных сетевых средств, позволяющих строить
сети в масштабах корпорации: дополнительные средства безопасности
централизованное администрирование, отказоустойчивость (UPS, зеркаль-
ные диски).

101
Windows NT унаследовала от своих предшественников редиректор и
сервер, протокол верхнего уровня SMB и транспортный протокол NetBIOS
(правда, с новым "наполнением" NetBEUI). Редиректор перенаправляет
локальные запросы ввода–вывода на удаленный сервер, а сервер
принимает и обрабатывает эти запросы. Редиректор и сервер встроены в
Windows NT, они не зависят от архитектуры аппаратных средств, на
которых работает ОС.
Реализация редиректора и сервера как драйверов файловой системы
делают их частью NT executive. Следовательно, они имеют доступ к
специализированным интерфейсам, которые менеджер ввода-вывода
обеспечивает для драйверов. Эти интерфейсы, в свою очередь, были
разработаны с учетом нужд сетевых компонентов. Доступ к интерфейсам
драйверов плюс возможности непосредственного вызова кэш-менеджера
дают значительный вклад в повышение производительности редиректора и
сервера. Многоуровневая модель драйверов менеджера ввода-вывода
отражает многоуровневую модель сетевых протоколов. Так как редиректор
и сервер являются драйверами, то они могут быть размещены на верхнем
уровне, под которым располагаются все необходимые драйверы
транспортных протоколов. Данная структура обеспечивает модульность
сетевых компонентов и создает эффективный путь от уровня редиректора
или сервера вниз к транспортному и к физическому уровням сети.
Сетевой редиректор обеспечивает средства, необходимые одному
компьютеру Windows NT для доступа к файлам и принтерам другого
компьютера. Так как он поддерживает SMB-протокол, то он работает с
существующими серверами MS NET и LAN Manager, обеспечивая доступ к
системам MS DOS, Windows и OS/2 из Windows NT. Механизмы
безопасности обеспечивают защиту данных Windows NT, разделяемых по
сети, от несанкционированного доступа.
Редиректор имеет одну основную задачу – поддержку распределен-
ной файловой системы, которая ведет себя подобно локальной файловой
системе, хотя и работает через ненадежную среду (сеть). Когда связь
отказывает, редиректор ответствен за восстановление соединения (если
это возможно) или же за возврат кода ошибки, чтобы приложение смогло
повторить операцию.
Подобно другим драйверам файловой системы редиректор должен
поддерживать асинхронные операции ввода-вывода, если они вызываются.
Когда пользовательский запрос является асинхронным, то редиректор
должен вернуть управление немедленно, независимо от того, завершилась
ли удаленная операция ввода-вывода или нет. При этом редиректор
выполняется в контексте этой нити. Вызывающая нить должна продолжить
свою работу, а редиректор должен ждать завершения запущенной
операции. Есть два варианта решения этой проблемы: или редиректор сам
создает новую нить, которая будет ждать, или он может передать эту
работу уже готовой нити, существующей в системе. В Windows NT
реализован второй вариант.

102
Редиректор отправляет и получает блоки SMB для выполнения своей
работы. Протокол SMB является протоколом прикладного уровня,
включающим сетевой уровень и уровень представления.
SMB реализует:
– установление сессии;
– файловый сервис;
– сервис печати;
– сервис сообщений.
Интерфейс, в соответствии с которым редиректор посылает блоки
SMB, называется интерфейсом транспортных драйверов (Transport Driver
Interface – TDI). Редиректор вызывает функции TDI для передачи блоков
SMB различным транспортным драйверам, загруженным в Windows NT. Для
вызова функций TDI редиректор должен открыть канал, называемый
виртуальной связью (virtual circuit), к машине назначения, а затем послать
SMB-сообщение через эту виртуальную связь. Редиректор создает только
одну виртуальную связь для каждого сервера, с которым соединена
система Windows NT, и мультиплексирует через нее запросы к этому
серверу. Транспортный уровень определяет, каким образом реализовать
виртуальную связь, и пересылает данные через сеть.
Как и редиректор, сервер Windows NT полностью совместим с
существующими SMB-протоколами MS-NET и LAN Manager. Эта полная
совместимость позволяет серверу обрабатывать запросы, исходящие не
только от систем Windows NT, но и от других систем, работающих с
программным обеспечением LAN Manager. Как и редиректор, сервер
выполнен в виде драйвера файловой системы.
Хотя сервер и не является драйвером в обычном смысле и он не
управляет файловой системой на самом деле, использование модели
драйвера обеспечивает некоторые преимущества. Главное из них состоит в
том, что драйвер реализован в среде NT executive и может вызывать кэш-
менеджер NT непосредственно, что оптимизирует передачу данных.
Например, когда сервер получает запрос на чтение большого количества
данных, он вызывает кэш-менеджер для определения места расположения
этих данных в кэше (или для загрузки этих данных в кэш, если их там нет) и
для фиксации данных в памяти. Затем сервер передает данные
непосредственно из кэша в сеть, минуя доступ к диску. Аналогично, при
запросе на запись данных сервер вызывает кэш-менеджер для
резервирования места для поступающих данных. Затем сервер пишет
данные непосредственно в кэш (записывая данные в кэш, сервер
возвращает управление клиенту гораздо быстрее); затем кэш-менеджер
записывает данные на диск в фоновом режиме (используя страничные
средства менеджера виртуальной памяти).
Будучи драйвером файловой системы, сервер несколько более гибок
по сравнению с своей реализацией в виде процесса. Например, он может
регистрировать функции завершения ввода-вывода, что позволяет ему
получать управление немедленно после завершения работы драйверов

103
нижнего уровня. Хотя сервер Windows NT реализован как драйвер
файловой системы, другие серверы могут быть реализованы и как
драйверы, и как серверные процессы.
Открытая архитектура сетевых средств Windows NT обеспечивает
работу своих рабочих станций (и серверов) в гетерогенных сетях не только
предоставлением возможности динамически загружать и выгружать
сетевые средства, но и непосредственным переключением в ходе работы
системы с программных сетевых средств, ориентированных на
взаимодействие с одним типом сетей, на программные средства для
другого типа сетей. Windows NT поддерживает переключение программных
средств на трех уровнях:
• на уровне редиректоров – каждый редиректор предназначен для
своего протокола (SMP, NCP, NFS, VINES);
• на уровне драйверов транспортных протоколов, предоставляя для
них и для редиректоров стандартный интерфейс TDI;
• на уровне драйверов сетевых адаптеров – со стандартным
интерфейсом NDIS 3.0.
Для доступа к другим типам сетей в Windows NT помимо встроенного
могут загружаться дополнительные редиректоры. Специальные компоненты
Windows NT решают, какой редиректор должен быть вызван для
обслуживания запроса на удаленный ввод-вывод. За последние
десятилетия получили распространение различные протоколы передачи
информации по сети. И хотя Windows NT поддерживает не все эти
протоколы, она, по крайней мере, разрешает включать их поддержку.
Windows NT обеспечивает интерфейс и программную среду,
называемые спецификацией интерфейса сетевого драйвера (NDIS),
которые экранируют сетевые драйверы от деталей различных
транспортных протоколов. Самый верхний уровень драйвера сетевого
адаптера должен быть написан в соответствии с рекомендациями NDIS. В
этом случае пользователь может работать с сетью TCP/IP и сетью NetBEUI
(или DECnet, NetWare, VINES и т. п.), используя один сетевой адаптер и
один сетевой драйвер. Среда NDIS использовалась в сетях LAN Manager,
но для Windows NT она была обновлена. Через свою нижнюю границу
драйвер сетевого адаптера обычно взаимодействует непосредственно с
адаптером или адаптерами, которые он обслуживает. Драйвер сетевого
адаптера, реализованный для среды NDIS, не управляет адаптером
непосредственно, а использует для этого функции, предоставляемые NDIS
(например, для запуска ввода-вывода или обработки прерываний). Таким
образом, среда NDIS образует некую оболочку, которая позволяет
достаточно просто переносить драйверы сетевых адаптеров из одной ОС в
другую. NDIS позволяет сетевым драйверам не содержать встроенных
знаний о процессоре или об операционной системе, на которых он
работает.

104
5.2.5. Windows 9x

Windows 9х представляет собой переходную стадию эволюционного


развития архитектуры Windows от графической оболочки к базовой
операционной системе корпоративных сетей. Таким образом, ее можно
рассматривать как расширенную версию Windows 3.11 и как усеченную
версию Windows NT.
Эта ОС выполняет 16- и 32-разрядные приложения, поддерживает
технологию "plug-and-play" и содержит встроенные средства для сетевой
работы. Windows 9х обеспечивает наилучшую среди всех операционных
систем поддержку мобильных пользователей; спектр ее коммуникационных
средств чрезвычайно широк и гибок; с ее помощью, наконец, решается
давняя проблема недостатка памяти для выполнения приложений. Именно
для мобильных пользователей, работающих на портативных компьютерах с
шиной PCMCIA, наилучшим образом проявляет себя технология "plug-and-
play", хотя для персональных компьютеров с шиной ISA могут возникать
некоторые проблемы, связанные с совместимостью с устаревшими
устройствами. Windows 9х автоматически отслеживает подключение
портативного компьютера к рабочей станции сети и загружает или
выгружает соответствующие драйверы.
Windows 9х также является отличным коммуникационным средством
в качестве сетевого клиента: она поддерживает практически все сетевые
протоколы и адаптеры. Для коммуникаций, использующих коммутируемые
телефонные линии, Windows 9х предлагает использовать средства
Microsoft Exchange. Встроенный клиент Microsoft Exchange имеет
подсистемы для пересылки факсов, сообщений электронной почты и сети
Microsoft Network, которая занимается рассылкой программного
обеспечения и технической поддержкой пользователей в режиме on-line.
Наконец, переделка средств управления оперативной памятью
позволяет загрузить больше приложений прежде, чем система выдаст
сообщение о нехватке памяти.
Заметными достоинствами системы являются простота ее настройки
и конфигурирования, а также интуитивный графический интерфейс
пользователя.
Однако в случае применения в серьезных корпоративных проектах
существенными недостатками системы, практически сводящими на нет все
ее положительные стороны, являются:
• крайняя неустойчивость функционирования;
• использование неэффективной файловой системы (VFAT, FAT32);
• повышенная требовательность к аппаратным ресурсам (данный
недостаток характерен для всех решений, предоставляемых компанией
Microsoft);
• слабая защита информации от несанкционированного доступа;
• нерациональное разделение системных ресурсов между
процессами.

105
Еще одно потенциально слабое место системы – организация
многозадачности. Windows 9х пересылает все вызовы USER API через
16-разрядную системную виртуальную машину System VM, которая
размещается там же, где и выполняемое 16-разрядное приложение. Если
16-разрядное приложение "подвешивает" машину System VM, отказываясь
обрабатывать сообщение (тип ошибки, встречающийся чаще всего в
существующих приложениях Windows), то все остальные процессы
приостанавливаются. Пока пользователь не завершит в принудительном
порядке зависшее 16-разрядное приложение (в Windows 9х есть хорошее
средство для выполнения этой операции) и тем самым не освободит
машину System VM, другие выполняемые программы, даже 32-разрядные,
будут заблокированы.
Архитектура Windows 9х представляет собой немного улучшенную
версию архитектуры Windows 3.1. Приложения Win32 работают на основе
алгоритма вытесняющей многозадачности в отдельных адресных
пространствах, а все приложения Win16 выполняются как единый процесс в
общем адресном пространстве на основе алгоритма невытесняющей
многозадачности. Библиотеки динамической компоновки – USER, USER32,
GDI, GDI32, KERNEL и KERNEL32, которые предоставляют системные
сервисы всем приложениям, загружаются в системную VM и отображаются
в адресные пространства каждого прикладного процесса. Это повышает
общую производительность системы за счет устранения затрат времени на
переходы между кольцами защиты при вызове системных функций. Но
одновременно это ставит под угрозу целостность системы, открывая доступ
к частям ОС для прикладных программ. На виртуальных DOS-машинах
(VDM) выполняются DOS-программы, работающие в режиме вытесняющей
многозадачности.
Подсистема управления файлами Windows 9х работает в нулевом
кольце защиты и обрабатывает все вызовы, связанные с вводом-выводом.
Большинство вызовов обрабатывается в защищенном режиме, но некото-
рые по-прежнему требуют переключения в режим Virtual 86, и обраба-
тываются в реальном режиме DOS. Диспетчер устанавливаемых файловых
систем IFS передает вызовы файлового ввода-вывода драйверу соответ-
ствующей файловой системы. Драйвер файловой системы VFAT реализует
собственную VFAT-систему Windows 9х, которая похожа на файловую
систему FAT с добавленными средствами обработки длинных имен файлов.
Подсистема управления виртуальными машинами (VMM)
предоставляет низкоуровневые сервисные функции, например,
планирование нитей и управление памятью. Сюда также относятся
драйверы виртуальных устройств (VxD) для аппаратуры.
Разбиение версий Windows на два семейства – NT и 9х – явление
временное. Оно вызвано скорее не стратегическими соображениями, а
тактикой борьбы за пользователей в условиях, когда мощность большей
части персональных компьютеров, установленных в настоящее время у
пользователей, оказалась явно недостаточной для эффективной работы

106
Windows NT. Ввиду угрозы перетекания конечных пользователей на более
компактную и менее ресурсоемкую (по сравнению с Windows NT) OS/2 Warp
Connect компания Microsoft и выпустила Windows 95 как некоторую
временную ОС с ограниченным сроком годности – не более 5 лет. И хотя
Microsoft планировала выпустить еще две версии, улучшающие свойства
Windows 95 (реально были выпущены два релиза версии Windows 98, не
имеющей, однако, существенных отличий от своей предшественницы),
наличие некоторых общих свойств у Windows NT и Windows 9х, а также
очевидные слабости всего клона Windows 9х, говорят о том, что
долговременная стратегия Microsoft связана с линией Windows NT, многие
из новых свойств которой будут отрабатываться и в версиях линии Windows
9х (как это произошло с пользовательским интерфейсом и некоторыми
системными утилитами типа клиента Microsoft Exchange). Выпуск семейства
ОС Windows 2000 подтверждает сделанные предположения.

5.3. Семейство ОС Unix

Unix зародилась в лаборатории Bell Labs фирмы AT&T почти 30 лет


назад. Имя Unix (Uniplex Information and Computing Services) было дано
системе сотрудником Bell Labs, Брайаном Керниганом, который
первоначально назвал ее UNICS, подчеркивая ее отличие от
многопользовательской MULTICS. Вскоре UNICS начали называть Unix.
Большое влияние на судьбу Unix оказал перевод ее кода на язык
высокого уровня С, разработанный Денисом Ритчи специально для этой
цели. Это произошло в 1973 г., Unix насчитывала к этому времени уже
25 инсталляций, и в Bell Labs была создана специальная группа ее
поддержки.
Широкую известность Unix получила с 1974 г., после описания этой
системы в компьютерном журнале CACM. Массовое распространение
эффективных C-компиляторов сделало Unix уникальной для того времени
ОС из-за возможности ее переноса на различные аппаратные платформы,
но породило проблему несовместимости ее многочисленных версий.
Периодически делались и делаются попытки стандартизации Unix, но их
успех незначителен. Процесс сближения различных версий Unix и их
расхождения носит циклический характер. Однако в этом процессе есть и
положительная сторона – появление новых идей и средств, улучшающих
как Unix, так и многие другие операционные системы, перенявшие у нее за
долгие годы ее существования много полезного.
Наибольшее распространение получили две весьма несовместимые
линии версий Unix: линия AT&T – Unix System V и линия университета
Berkley – BSD. Многие фирмы на основе этих версий разработали и
поддерживают свои версии Unix: SunOS и Solaris фирмы Sun Microsystems,
UX фирмы Hewlett-Packard, XENIX фирмы Microsoft, AIX фирмы IBM,
UnixWare фирмы Novell (проданный теперь компании SCO) и т. д.

107
Наибольшее влияние на унификацию версий Unix оказали такие
стандарты, как SVID фирмы AT&T, POSIX, созданный под эгидой IEEE, и
XPG4 консорциума X/Open. В этих стандартах сформулированы требования
к интерфейсу между приложениями и ОС, что дает возможность
приложениям успешно работать под управлением различных версий Unix.

5.3.1. Основные свойства Unix

Независимо от версии общими для Unix чертами являются:


• многопользовательский режим со средствами защиты данных от
несанкционированного доступа;
• реализация мультипрограммной обработки в режиме разделения
времени, основанная на использовании алгоритмов вытесняющей
многозадачности (preemptive multitasking);
• использование механизмов виртуальной памяти и свопинга для
повышения уровня мультипрограммирования;
• унификация операций ввода-вывода на основе расширенного
использования понятия "файл";
• иерархическая файловая система, образующая единое дерево
каталогов независимо от количества физических устройств, используемых
для размещения файлов;
• переносимость системы за счет написания ее основной части на
языке C;
• разнообразные средства взаимодействия процессов, в том числе и
через сеть;
• кэширование диска для уменьшения среднего времени доступа к
файлам.

5.3.2. Управление процессами

В основе Unix лежит концепция процесса, как единицы управления и


единицы потребления ресурсов. Процесс представляет собой программу в
состоянии выполнения, причем в Unix в рамках одного процесса не могут
выполняться никакие параллельные действия.
Каждый процесс работает в своем виртуальном адресном
пространстве. Совокупность участков физической памяти, отображаемых на
виртуальные адреса процесса, называется образом процесса.
При управлении процессами операционная система использует два
основных типа информационных структур: дескриптор процесса (структура
proc) и контекст процесса (структура user).
Дескриптор процесса содержит такую информацию о процессе,
которая необходима ядру в течение всего жизненного цикла процесса
независимо от того, находится ли он в активном или пассивном состоянии,
находится ли образ процесса в оперативной памяти или выгружен на диск.
Дескрипторы отдельных процессов объединены в список, образующий

108
таблицу процессов. Память для нее отводится динамически в области ядра.
На основании информации, содержащейся в таблице процессов,
операционная система осуществляет планирование и синхронизацию
процессов. В дескрипторе прямо или косвенно (через указатели на
связанные с ним структуры) содержатся информация о состоянии процесса,
расположении образа процесса в оперативной памяти и на диске, о
значении отдельных составляющих приоритета, а также его итоговое
значение – глобальный приоритет, идентификатор пользователя,
создавшего процесс, информация о родственных процессах, о событиях,
осуществления которых ожидает данный процесс, и некоторая другая
информация.
Контекст процесса содержит менее оперативную, но более
объемную часть информации о процессе, необходимую для возобновления
выполнения его с прерванного места: содержимое регистров процессора,
коды ошибок выполняемых процессором системных вызовов, информацию
о всех открытых данным процессом файлов и незавершенных операциях
ввода-вывода (указатели на структуры file) и другие данные,
характеризующие состояние вычислительной среды в момент прерывания.
Контекст, так же, как и дескриптор процесса, доступен только программам
ядра, т. е. находится в виртуальном адресном пространстве операционной
системы, однако он хранится не в области ядра, а непосредственно
примыкает к образу процесса и перемещается вместе с ним, если это
необходимо, из оперативной памяти на диск. В Unix для процессов
предусмотрены два режима выполнения: привилегированный режим –
"система" и обычный режим – "пользователь". В режиме "пользователь"
запрещено выполнение действий, связанных с управлением ресурсами
системы: в частности, корректировка системных таблиц, управление
внешними устройствами, маскирование прерываний, обработка
прерываний. В режиме "система" выполняются программы ядра, а в режиме
"пользователь" – оболочка и прикладные программы. При необходимости
выполнить привилегированные действия пользовательский процесс
обращается с запросом к ядру в форме так называемого системного
вызова, в результате которого управление передается соответствующей
программе ядра. С момента начала выполнения системного вызова
процесс считается системным.
Таким образом, один и тот же процесс может находиться и в
пользовательской и в системной фазах, но эти фазы никогда не
выполняются одновременно.
Планирование процессов. В системе Unix System V Release 4
реализована вытесняющая многозадачность, основанная на использовании
приоритетов и квантования. Все процессы разбиты на несколько групп,
называемых классами приоритетов. Каждая группа имеет свои
характеристики планирования процессов.
Созданный процесс наследует характеристики планирования
процесса-родителя, которые включают класс приоритета и величину

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

5.3.3. Файловые системы Unix

В мире Unix существует несколько разных видов файловых систем со


своей структурой внешней памяти. Наиболее известны традиционная
файловая система Unix System V (s5) и файловая система семейства Unix
BSD (ufs). В сетевых приложениях широкое распространение получила
разработанная фирмой Sun Microsystems сетевая файловая система NFS,
которая позволяет разделять файлы и каталоги в гетерогенных сетях.
Традиционная файловая система s5. Файловая система Unix s5
поддерживает логическую организацию файла в виде последовательности
байтов. По функциональному назначению различают обычные файлы,
каталоги и специальные файлы.
Обычные файлы содержат ту информацию, которую заносит в них
пользователь или которая образуется в результате работы системных и
пользовательских программ, т. е. ОС не накладывает никаких ограничений
на структуру и характер информации, хранимой в обычных файлах.
Каталог – файл, содержащий служебную информацию файловой
системы о группе файлов, входящих в данный каталог. В каталог могут
входить обычные, специальные файлы и каталоги более низкого уровня.
Специальный файл – фиктивный файл, ассоциируемый с каким-либо
устройством ввода-вывода, используется для унификации механизма
доступа к файлам и внешним устройствам.
Файловая система s5 имеет иерархическую структуру, в которой
уровни создаются за счет каталогов, содержащих информацию о файлах
более низкого уровня. Каталог самого верхнего уровня называется
корневым и имеет имя root. Иерархическая структура удобна для
многопользовательской работы: каждый пользователь локализуется в
своем каталоге или поддереве каталогов, и вместе с тем все файлы в

110
системе логически связаны. Корневой каталог файловой системы всегда
располагается на системном устройстве (диске, имеющем такой признак).
Однако это не означает, что и все остальные файлы могут содержаться
только на нем. Для связи иерархий файлов, расположенных на разных
носителях, применяется монтирование файловой системы, выполняемое
системным вызовом mount. Операция монтирования заключается в
следующем: в корневой файловой системе выбирается некоторый
существующий каталог, содержащий один пустой файл. После выполнения
монтирования выбранный каталог становится корневым каталогом
смонтированной файловой системы, через который она подсоединяется как
поддерево к общему дереву. При этом нет логической разницы между
основной и смонтированными файловыми системами.
В Unix для файла существует три типа имени – краткое, полное и
относительное. Краткое имя идентифицирует файл в пределах одного
каталога. Оно может состоять не более чем из 14 символов и содержать так
называемый суффикс, отделяемый точкой. Полное имя однозначно
определяет файл. Оно состоит из цепочки имен каталогов, через которые
проходит маршрут от корневого каталога до данного файла. Имена
каталогов разделяются символами "/", при этом имя корневого каталога не
указывается (например, /mnt/rk2/test.c, где mnt и rk2 – имена каталогов, а
test.c – имя файла). Каждому полному имени в ОС соответствует только
один файл, однако файл может иметь несколько различных имен, так как
ссылки на один и тот же файл могут содержаться в разных каталогах
(жесткие связи). Относительное имя файла связано с понятием "текущий
каталог" (т. е. каталог, имя которого задавать не нужно, так как оно
подразумевается по умолчанию). Имя файла относительно текущего
каталога называется относительным. Оно представляет собой цепочку
имен каталогов, через которые проходит маршрут от текущего каталога до
данного файла. Относительное имя, в отличие от полного, не начинается с
символа "/". Так, если в предыдущем примере принять за текущий каталог
/mnt, то относительное имя файла: test.c будет rk2/test.c.
В Unix s5 все пользователи по отношению к данному файлу делятся
на три категории: владелец, член группы владельца и все остальные.
Группа – это пользователи, которые объединены по какому-либо признаку,
например, по принадлежности к одной разработке. Кроме этого, в системе
существует суперпользователь, обладающий абсолютными правами по
доступу к всем файлам системы.
Определены также три вида доступа к файлу – чтение, запись и
выполнение. Привилегии доступа к каждому файлу определены для каждой
из трех категорий пользователей и для каждой из трех операций доступа.
Начальные значения прав доступа к файлу устанавливаются при его
создании операционной системой и могут изменяться его владельцем или
суперпользователем.
В общем случае файл может располагаться в несмежных блоках
дисковой памяти. Логическая последовательность блоков в файле задается

111
набором из 13 элементов. Первые 10 элементов предназначаются для
непосредственного указания номеров первых 10 блоков файла. Если
размер файла превышает 10 блоков, то в 11-м элементе указывается
номер блока, в котором содержится список следующих 128 блоков файла.
Если файл имеет размер больший, чем 10+128 блоков, то используется
12-й элемент, содержащий номер блока, в котором указываются номера 128
блоков, каждый из которых может содержать еще по 128 номеров блоков
файла. Таким образом, 12-й элемент используется для двухуровневой
косвенной адресации. В случае, если файл больше, чем 10+128+1282
блока, то используется 13-й элемент для трехуровневой косвенной
адресации. При таком способе адресации предельный размер файла
составляет 2 113 674 блока. Традиционная файловая система s5
поддерживает размеры блоков 512, 1024 или 2048 байт.
Вся необходимая операционной системе информация о файле, кроме
его символьного имени, хранится в специальной системной таблице,
называемой индексным дескриптором (inode) файла. Индексные
дескрипторы всех файлов имеют одинаковый размер (64 байта) и содержат
данные о типе файла, о физическом расположении файла на диске
(описанные выше 13 элементов), о размере в байтах, о датах создания,
последней модификации и последнего обращения к файлу, о привилегиях
доступа и некоторую другую информацию. Индексные дескрипторы
пронумерованы и хранятся в специальной области файловой системы.
Номер индексного дескриптора является уникальным именем файла.
Соответствие между полными символьными именами файлов и их
уникальными именами устанавливается с помощью иерархии каталогов.
Каталог представляет собой совокупность записей обо всех файлах и
каталогах, входящих в него. Каждая запись состоит из 16 байтов: 14 байтов
отводится под короткое символьное имя файла или каталога, а 2 байта –
под номер индексного дескриптора этого файла. В каталоге файловой
системы s5 характеристики файлов непосредственно не указываются.
Такая организация файловой системы позволяет с меньшими затратами
перестраивать систему каталогов. Например, при включении файла в
каталог или исключении его из каталога идет манипулирование меньшими
объемами информации. Кроме того, при включении одного и того же файла
в разные каталоги не нужно иметь несколько копий как характеристик, так и
самих файлов – с этой целью в индексном дескрипторе ведется учет
ссылок на данный файл во всех каталогах. Как только число ссылок стано-
вится равным нулю, индексный дескриптор данного файла уничтожается.
Все дисковое пространство, отведенное под файловую систему,
делится на четыре области:
• загрузочный блок (boot), в котором хранится загрузчик
операционной системы;
• суперблок (superblock), содержащий самую общую информацию о
файловой системе: размер файловой системы, размер области индексных
дескрипторов, число индексных дескрипторов, список свободных блоков и

112
список свободных индексных дескрипторов, а также другую
административную информацию;
• область индексных дескрипторов, порядок расположения
индексных дескрипторов в которой соответствует их номерам;
• область данных, в которой расположены как обычные файлы, так и
файлы-каталоги.
Специальные файлы представлены в файловой системе только
записями в соответствующих каталогах и индексными дескрипторами
специального формата, но места в области данных не занимают.
Доступ к файлу осуществляется последовательным просмотром всей
цепочки каталогов, входящих в полное имя файла, и соответствующих им
индексных дескрипторов. Поиск завершается после получения всех
характеристик из индексного дескриптора заданного файла. Эта процедура
требует в общем случае нескольких обращений к диску, число которых
пропорционально числу составляющих в полном имени файла. Для
уменьшения среднего времени доступа к файлу его дескриптор копируется
в специальную системную область памяти. Копирование индексного
дескриптора входит в процедуру открытия файла.
При открытии файла ядро выполняет следующие действия.
1. Проверяет, существует ли файл. Если он не существует, то можно
ли его создать. Если существует, то разрешен ли к нему доступ требуемого
вида.
2. Копирует индексный дескриптор с диска в оперативную память.
Если с указанным файлом уже ведется работа, то новая копия индексного
дескриптора не создается.
3. Создает в области ядра структуру, предназначенную для
отображения текущего состояния операции обмена данными с указанным
файлом. Эта структура, называемая file, содержит данные о типе операции
(чтение, запись или чтение и запись), о числе считанных или записанных
байтов, указатель на байт файла, с которым проводится операция.
4. Делает отметку в контексте процесса, выдавшего системный вызов
на операцию с данным файлом.
Сетевая файловая система NFS. Одной из самых известных
сетевых файловых систем является Network File System (NFS). NFS была
первоначально создана для Unix-компьютеров. Сейчас она поддерживает
как Unix, так и другие ОС, включая MS DOS. NFS поддерживает
неоднородные системы, например DOS-клиенты и Unix-серверы.
Основная идея, заложенная в NFS, – позволить произвольному
набору пользователей разделять общую файловую систему. Чаще всего
все пользователи принадлежат одной локальной сети, но не обязательно –
NFS может быть реализована и в рамках глобальной сети. Каждый
NFS-сервер предоставляет один свой каталог или более для доступа
удаленным клиентам. Каталог объявляется доступным со всеми его
подкаталогами. Список каталогов, которые сервер передает, содержится в
файле /etc/exports, так что эти каталоги сразу автоматически

113
экспортируются при загрузке сервера. Клиенты получают доступ к
экспортируемым каталогам путем монтирования. В современных
архитектурах распределенной обработки часто используются бездисковые
рабочие станции (тонкие клиенты), но и в этом случае можно монтировать
удаленную файловую систему на корневой каталог, при этом вся файловая
система целиком располагается на сервере. Для выполнения программ
почти нет различий, расположен ли файл локально или на удаленном
диске. Если два клиента или более одновременно смонтировали один и тот
же каталог, то они могут связываться с помощью разделения файла.
Так как одной из целей NFS является поддержка неоднородных
систем с клиентами и серверами, выполняющими различные ОС на
различной аппаратуре, то особенно важно, чтобы интерфейс между
клиентами и серверами был хорошо определен. Только в этом случае
станет возможным написание программного обеспечения клиентской части
для новых операционных систем рабочих станций, которое будет
правильно работать с существующими серверами. Это цель достигается
двумя протоколами.
Первый NFS-протокол управляет монтированием. Клиент может
послать полное имя каталога серверу и запросить разрешение на
монтирование данного каталога на какое-либо место собственного дерева
каталогов. При этом серверу не указывается, в какое место будет
монтироваться его каталог, так как серверу это безразлично. Получив имя,
сервер проверяет законность поступившего запроса и возвращает клиенту
описатель файла, содержащий тип файловой системы, диск, номер
дескриптора (inode) каталога, сведения о защите информации. Операции
чтения и записи файлов из монтируемых файловых систем используют этот
описатель файла. Монтирование может выполняться автоматически с
помощью командных файлов при загрузке. Существует другой вариант
автоматического монтирования: при загрузке ОС удаленная файловая
система не монтируется на рабочей станции, но при первом открытии
удаленного файла ОС посылает запросы каждому серверу и после
обнаружения этого файла монтирует каталог того сервера, на котором этот
файл расположен.
Второй NFS-протокол используется для доступа к удаленным файлам
и каталогам. Клиенты могут послать запрос серверу для выполнения какого-
либо действия над каталогом или операции чтения либо записи файла.
Кроме того, они могут запросить атрибуты файла, такие как тип, размер,
время создания и модификации. Большая часть системных вызовов Unix
поддерживается NFS, за исключением open и close.
Исключение open и close не случайно. Вместо операции открытия
удаленного файла клиент посылает серверу сообщение, содержащее имя
файла, с запросом отыскать его (lookup) и вернуть описатель файла. В
отличие от вызова open, вызов lookup не копирует никакую информацию во
внутренние системные таблицы сервера. Вызов read содержит описатель
того файла, который нужно читать, смещение в уже читаемом файле и

114
количество байтов, которые нужно прочитать. Преимуществом такой схемы
является то, что сервер ничего не должен запоминать об открытых файлах.
Таким образом, если сервер откажет, а затем будет восстановлен,
информация об открытых файлах не потеряется, потому что ее нет.
Серверы, подобные этому, т. е. не хранящие постоянную информацию об
открытых файлах, называются stateless.
К сожалению, метод NFS затрудняет блокировку файлов. В Unix файл
может быть открыт и заблокирован так, что другие процессы не имеют к
нему доступа. Когда файл закрывается, блокировка снимается. В stateless-
системах, подобных NFS, блокирование не может быть связано с
открытием файла, так как сервер не знает, какой файл открыт.
Следовательно, NFS требует специальных дополнительных средств
управления блокированием.
Реализация кодов клиента и сервера в NFS имеет многоуровневую
структуру (рис. 5.2). Верхний уровень клиента – уровень системных
вызовов, таких как OPEN, READ, CLOSE. После грамматического разбора
вызова и проверки параметров этот уровень обращается ко второму уровню
– уровню виртуальной файловой системы. В структуре vnode имеется
информация о том, является ли файл удаленным или локальным.
В основе NFS лежит транспортный протокол UDP, работающий через
IP. Этот протокол не требует постоянного межмашинного обмена для
обеспечения активности связи. Каждый вызов процедуры NFS содержит
всю информацию, необходимую для правильного выполнения данного
запроса. После выполнения данного запроса никакого другого обмена до
следующего взаимодействия не требуется.

NFS-Клиент NFS-Сервер
Серверная
Системные
система
вызовы

Локальные Удаленные Серверный Локальные


файловые файловые процесс файловые
системы системы системы

Физические RPC RPC Физические


диски диски

Сеть

Рис. 5.2. Многоуровневая структура NFS

115
NFS использует технологию удаленного вызова процедур RPC
(Remote Procedure Call), что позволяет использовать удаленную файловую
систему аналогично локальной. В рамках RPC вызывающий процесс может
обратиться к серверному процессу с запросом на исполнение процедуры
так, как будто он запускает процедуру в своем собственном адресном
пространстве (как и в локальной модели). Поскольку вызывающий процесс
и сервер выступают в качестве двух самостоятельных процессов, им нет
необходимости существовать на одной и той же физической машине. Если
обращение реализуется через локальную файловую систему, запросы
адресуются к данным, расположенным на тех устройствах, которые
подключены к клиентской машине. Если обращение идет через удаленную
файловую систему, запрос обрабатывается RPC.
Механизм RPC обеспечивает взаимодействие в сети разнотипных
операционных систем и делает тем самым тип операционной системы
удаленного сервера не имеющим значения.
Чтобы смонтировать удаленную файловую систему, системный
администратор вызывает программу монтирования, указывая удаленный
каталог, локальный каталог, на который должен монтироваться удаленный
каталог, и другую информацию. Программа монтирования выполняет
грамматический разбор имени удаленного каталога и определяет имя
машины, где находится удаленный каталог. Если каталог существует и
является доступным для удаленного монтирования, то сервер возвращает
описатель каталога программе монтирования, которая выполнением
системного вызова MOUNT передает этот описатель в ядро. Затем ядро
создает vnode для удаленного каталога и обращается с запросом к
клиент-программе для создания rnode (удаленного inode) в ее внутренних
таблицах. Каждый vnode указывает либо на какой-нибудь rnode в
клиент-коде NFS, либо на inode в локальной ОС.

5.3.4. Управление памятью

В Unix реализована сегментно-страничная модель памяти в ее


традиционном виде. Наряду с механизмом управления страницами
используется и механизм свопинга, когда на диск выталкиваются все
страницы какого-либо процесса. Свопинг применяется в "предаварийных"
ситуациях, когда размер свободной оперативной памяти уменьшается до
некоторого заданного порога, так что работа всей системы очень
затрудняется.
Каждый дескриптор сегмента описывает один виртуальный сегмент
процесса. Дескрипторы сегментов процесса связаны в двунаправленный
список. Дескриптор сегмента содержит базовый адрес начала сегмента в
виртуальном адресном пространстве процесса, размер сегмента, а также
указатели на операции, которые допускаются над этим сегментом
(дублирование, освобождение, отображение и т. д.).
Имеются следующие типы виртуальных сегментов:

116
• текст (text) – содержит коды команд исполняемого модуля
процесса. Обычно обозначается как "только для чтения", для того, чтобы ни
сам процесс, ни другие процессы не могли изменить его кодовую часть.
Текстовый сегмент может разделяться многими процессами, например
всеми пользователями, работающими с одним редактором;
• данные (data) – содержит данные, используемые и модифи-
цируемые процессом во время выполнения. К сегменту данных обычно
разрешается иметь доступ для чтения и записи. В отличие от текстового
сегмента, сегмент данных никогда не разделяется другими процессами;
• стек (stack) – содержит стек процесса. Помечается доступным для
чтения и записи и подобно сегменту данных не может разделяться другими
процессами;
• разделяемая память (shared memory) – область памяти, доступная
для чтения и записи нескольким процессам;
• отображенный файл (mapped file) – сегменты отображенного
файла. Используются для того, чтобы отобразить части файлов в адресное
пространство процесса и использовать стандартные механизмы ОС
управления виртуальной памятью для ускорения доступа к файлам.
Каждый сегмент имеет связь с дисковым пространством, на котором
хранятся данные, отображаемые в данный сегмент виртуального адресного
пространства. Это могут быть или файл, или часть файла на диске, или
область виртуальной памяти (свопинга), которая файлом не является.
Сегмент кода или сегмент инициализированных данных обычно связаны с
файлом, в котором хранится исполняемая программа. Под связью с
файлом понимается отображение виртуального сегмента и его страниц на
определенную область диска, из которой загружаются данные виртуальных
страниц сегмента при их перемещении в оперативную память, а также куда
помещаются данные при вытеснении виртуальных страниц на диск.
Виртуальные страницы, которые были изначально взяты из определенного
файла (который описывается на уровне ядра структурой vnode),
называются vnode-страницами, а страницы, которые появились только при
развертывании процесса (а это, обычно, страницы стека или
неинициализированных сегментов данных) – анонимными страницами.
Однако анонимные страницы также имеют связь с файлом, в который они
выталкиваются при их вытеснении из физической памяти (так называемое
свопинг-устройство). На свопинг-устройство также указывает vnode,
поэтому в этом качестве может выступать любой файл, а перемещение
страниц из свопинг-устройства в память осуществляется теми же
функциями, которые используются для vnode-страниц.
Отображение виртуальных страниц сегмента на физические задается
с помощью таблицы HAT (Hardware Address Translation), указатель на
которую имеется в структуре адресного пространства процесса as.
Структура таблицы HAT зависит от аппаратной платформы, но в любом
случае с ее помощью можно найти таблицу или таблицы страниц,
содержащих дескрипторы страниц. Дескриптор страницы содержит признак

117
наличия данной виртуальной страницы в физической памяти, номер
соответствующей физической страницы, а также ряд признаков типа
"модификация", "была ссылка", помогающих операционной системе
планировать процесс вытеснения виртуальных страниц на диск.
В Unix System V Release 4 используется алгоритм перемещения
виртуальных страниц процесса в физическую память по запросу. Обычно,
при запуске процесса в физическую память помещается только небольшая
часть страниц, необходимая для старта процесса, а остальные страницы
загружаются при страничных сбоях. Очевидно, что начальный период
работы любого процесса порождает повышенную нагрузку на систему. Если
при поиске виртуального адреса в соответствующем дескрипторе
обнаруживается признак отсутствия этой страницы в физической памяти, то
происходит страничное прерывание и ядро перемещает эту страницу с
диска в физическую память.
Если в физической памяти недостаточно места для размещения
затребованной процессом страницы, то ОС выгружает некоторые страницы
на диск. Этот процесс осуществляется специальным процессом ядра –
"выталкивателем страниц", имеющем в Unix System V Release 4 имя
pageout. Для принятия решения о том, какую виртуальную страницу нужно
переместить на диск, процессу pageout нужно иметь информацию о
текущем состоянии физической памяти.

5.4. Операционная система OS/2

Разработанная корпорацией IBM операционная система OS/2 была


первой доступной и работающей 32-битной ОС для персональных
компьютеров. OS/2 Warp, предназначенная для клиентских машин сетей
клиент-сервер и одноранговых сетей; на рынке она появилась раньше
Windows 95, позиционированной аналогичным образом. OS/2 Warp была
также первой системой, включившей набор средств поддержки Internet, а
также средств объектной ориентации.

5.4.1. Характеристики системы

OS/2 подобно Windows 95 или Unix не является специфически


сетевой операционной системой, однако современные ее реализации (OS/2
Warp или OS/2 Connect) имеют поддержку широкого спектра сетевых услуг
и сетевых стандартов (в частности, семейств сетевых протоколов IPX/SPX и
TCP/IP).
На базе OS/2 могут быть реализованы как одноранговые локальные,
так и иерархические корпоративные сети. В частности, возможна
организация клиент-серверной системы с использованием мощного
сервера базы данных на базе ОС Warp Server и СУБД DB2.

118
OS/2 является многозадачной системой с возможностью выполнения
на виртуальных машинах приложений DOS и Windows. Наиболее
интересным решением архитектуры данной ОС является реализация
высокопроизводительной файловой системы HPFS, выгодно отличающейся
от файловой системы FAT и ее разновидностей.
Однако в настоящее время в результате конкурентной борьбы фирма
IBM Software была вынуждена практически прекратить поддержку своей
системы среди индивидуальных пользователей, уступив свои позиции в
секторе серверных систем ОС семейства Unix, а в секторе клиентов –
Windows 9x.

5.4.2. Управление процессами

В OS/2 имеется несколько видов виртуальных машин для прикладных


программ. Собственные 32- и 16-разрядные программы OS/2 выполняются
на отдельных виртуальных машинах в режиме вытесняющей
многозадачности и могут общаться между собой с помощью средств DDE
OS/2. Прикладные программы DOS и Windows могут запускаться на
отдельных виртуальных машинах в многозадачном режиме. При этом они
поддерживают полноценные связи DDE и OLE 2.0 друг с другом и связи
DDE с 32-разрядными программами OS/2. Кроме того, можно запустить
несколько программ Win16 на общей виртуальной машине Win16, где они
работают в режиме невытесняющей многозадачности. Разнообразные
сервисные функции API OS/2, в том числе модель системных объектов
(System Object Model – SOM), обеспечиваются с помощью системных
динамических библиотек DLL, к которым можно обращаться без требующих
затрат времени переходов между кольцами защиты. Ядро OS/2
предоставляет многие базовые сервисные функции API, обеспечивает
поддержку файловой системы, управление памятью и имеет диспетчер
аппаратных прерываний. В ядре виртуальных DOS-машин (VDM-ядре)
осуществляются эмуляция DOS и процессора 8086, а также управление
VDM. Драйверы виртуальных устройств обеспечивают уровень аппаратной
абстракции. Драйверы физических устройств напрямую взаимодействуют с
аппаратурой.

5.4.3. Файловая система

HPFS – сокращенное название высокопроизводительной файловой


системы (High Performance File System), в 1989 г. совместно разработанной
корпорациями IBM и Microsoft для того, чтобы преодолеть некоторые
недостатки файловой системы FAT, к числу которых относятся:
– ограничения, налагаемые на размер файлов и дискового
пространства;
– ограничение длины имени файла;

119
– фрагментация файлов, приводящая к снижению быстродействия
системы и износу оборудования;
– непроизводительные затраты памяти, вызванные большими
размерами кластеров;
– подверженность потерям данных.
Проблема непроизводительных потерь дискового пространства
связана с тем, что место на диске выделяется целыми блоками –
кластерами. Кластер – единица дискового пространства; этими единицами
оперирует файловая система при выделении места для файла. В среднем,
половина выделяемого кластера для каждого файла будет затрачиваться
впустую, что может являться одной из причин нерационального
использования памяти диска. Система HPFS позволяет уменьшить
непроизводительные потери, так как в ней предусмотрено хранение до 300
байт расширенных атрибутов без захвата для этого дополнительного
сектора.
Другая проблема связана с фрагментацией файлов, наиболее
характерной для емких дисков с большим числом файлов. Фрагментация
существенно сказывается на времени доступа к файлу. Другой негативный
эффект фрагментации – повышенный износ диска. О серьезности этой
проблемы говорит обилие утилит для дефрагментации дисков,
использующих FAT.
Файловая система HPFS обеспечивает гораздо более низкий уровень
фрагментации. Хотя избавиться полностью от нее не удается, снижение
производительности, возникающее по этой причине, почти незаметно для
пользователя.
Первые 16 секторов раздела HPFS составляют загрузочный блок. Эта
область содержит метку диска и код начальной загрузки системы. Сектор
16, известный под названием суперблок (SuperBlock), содержит много
общей информации о файловой системе в целом: размер раздела,
указатель на корневой каталог, счетчик элементов каталогов, номер версии
HPFS, дату последней проверки и исправления раздела, а также дату
последнего выполнения процедуры дефрагментации раздела. Он также
содержит указатели на список испорченных блоков на диске, таблицу
дефектных секторов и список доступных секторов.
Сектор 17 носит название запасной блок (SpareBlock). Он содержит
указатель на список секторов, которые можно использовать для "горячего"
исправления ошибок, счетчик доступных секторов для "горячего"
исправления ошибок, указатель на резерв свободных блоков, применяемых
для управления деревьями каталогов, и информацию о языковых наборах
символов. Система HPFS использует информацию о языковых наборах,
чтобы дать возможность пересылать файлы, составленные на разных
языках, даже в том случае, когда имена файлов содержат уникальные для
какого-либо языка символы. SpareBlock наряду с этим содержит так
называемый грязный флаг. Этот флаг передает операционной системе
сообщение о том, было ли завершение предыдущего сеанса работы

120
нормальным либо произошло в результате сбоя электропитания или файлы
не были закрыты должным образом по какой-то другой причине. Если этот
флаг обнаруживается во время начальной загрузки, то операционная
система автоматически запускает утилиту CHKDSK, пытаясь найти и
исправить все ошибки, внесенные в файловую систему из-за неправильного
выключения системы.
Во время форматирования раздела HPFS делит его на полосы по
8 Мбайт каждая. Каждая полоса (ее можно представить себе как
виртуальный "мини-диск") имеет отдельную таблицу объемом 2 Кбайт, в
которой указывается, какие секторы полосы доступны, а какие – заняты.
Чтобы максимально увеличить протяженность непрерывного пространства
для размещения файлов, таблицы попеременно располагаются в начале и
в конце полос. Этот метод позволяет файлам размером до 16 Мбайт (минус
4 Кбайта, отводимые для размещения таблицы) храниться в одной
непрерывной области.
Затем файловая система HPFS оценивает размер каталога и
резервирует необходимое пространство в полосе, расположенной ближе
всего к середине диска. Сразу же после форматирования объем диска в
HPFS оказывается несколько меньше, чем в FAT, так как заранее
резервируется место для каталогов в центре диска. Место резервируется в
середине диска для того, чтобы физические головки, считывающие данные,
никогда не проходили более половины ширины диска.
Тот факт, что все пространство заранее распределено, также
позволяет HPFS использовать специально оптимизированное программное
обеспечение для более быстрой и эффективной работы с каталогами.
Размещение каталогов в середине диска повышает производительность
системы. Вместе с тем, такое предварительное распределение не
накладывает ограничений на число файлов, которые могут быть
размещены на жестком диске. В редких случаях, когда системе HPFS
потребуется больше пространства, чем изначально было отведено под
каталоги, она может выделить дополнительное пространство из любой
доступной области диска.
Число файлов в каждом блоке каталога – переменная величина,
зависящая от длины имен файлов, которые в нем содержатся. Имена
файлов в HPFS могут иметь длину до 254 символов, они сортируются в
порядке, определяемом последовательностью символов в текущей кодовой
странице системы.
Скорость работы увеличивается также благодаря способу хранения
элементов каталогов. Система FAT последовательно просматривает
каждый элемент каталога, чтобы отыскать нужный файл. Поэтому в самом
худшем случае приходится перебирать все файлы в каталоге, прежде чем
найдется нужный. Но HPFS использует для хранения элементов каталогов
структуру данных, называемую В-деревом. Каждый элемент каталога
начинается с числа, представляющего длину элемента, которая изменяется
в зависимости от длины имени файла. Затем следуют время и дата

121
создания файла, его размер и атрибуты (только для чтения, архивный,
скрытый и системный), а также указатель на F-узел файла. Каждый файл (и
каталог) имеет F-узел – структуру данных, занимающую один сектор и
содержащую принципиально важную информацию о файле.
F-узел содержит: указатель на начало файла, первые 15 символов
имени файла; дополнительные временные маркеры последней записи и
последнего доступа; журнал, хранящий информацию о предыдущих
обращениях к файлу; структуру распределения, описывающую размещение
файла на диске, и первые 300 байт расширенных атрибутов файла.
(Расширенные атрибуты редко занимают более 300 байт, что фактически
означает, что HPFS для получения этой информации приходится читать на
один сектор меньше, чем FAT.)
Структура размещения HPFS имеет дополнительные преимущества,
по сравнению с FAT, благодаря техническому приему, называемому
кодированием по длине выполнения (Run Length Encoding, RLE). Вместо
того, чтобы определять в таблице каждый используемый сектор, HPFS
сохраняет указатель на первый сектор и число последовательно
расположенных используемых секторов. Каждая область дискового
пространства, описываемая парой (сектор, длина), называется экстентом.
Хотя HPFS и сводит фрагментацию к минимуму, файлы все же могут быть в
некоторой степени фрагментированными. В таких ситуациях пары,
описывающие экстенты, добавляются к F-узлу файла. Один F-узел может
хранить до 8 экстентов, обеспечивая достаточное пространство для
большинства файлов. Если потребуется еще большее пространство, то
HPFS изменяет структуру таким образом, что F-узел становится корнем
В+-дерева секторов размещения. В+-дерево является вариантом бинарного
В-дерева. Созданное как структура для более быстрого обнаружения
данных по сравнению с методом последовательного перебора бинарное
дерево состоит из ветвей, каждая из которых представляет выбор одного из
двух возможных продолжений. Эффективность бинарных деревьев зависит
от последовательности, в которой в них добавляются новые элементы
данных. Структура В-дерева была разработана в целях предотвращения
этой зависимости. Методы управления В-деревьями обеспечивают сбалан-
сированность дерева, что делает дерево более эффективным, но приводит
к дополнительным затратам, так как его балансировка выполняется всякий
раз при добавлении или удалении элемента либо при изменении значения
элемента.
Возвращаясь к методу описания физической структуры файла,
основанному на экстентах, следует учесть, что многие современные
контроллеры дисков могут читать за одно обращение сразу несколько
секторов. Применяемая в HPFS схема значительно повышает шансы
использовать такую возможность; при этом происходит еще большее
уменьшение числа требуемых операций взаимодействия между
программой, файловой системой, драйвером дискового устройства и
физическим диском.

122
HPFS имеет и другие оптимизирующие функции. Так, при открытии
или создании файла интеллектуальный алгоритм выделяет наиболее
подходящую полосу. Программный интерфейс, используемый для создания
файла, позволяет программисту сообщить операционной системе
предполагаемый размер файла. С помощью этой информации HPFS может
заранее выбрать для размещения файла полосу, имеющую непрерывную
область наибольшего размера. Именно поэтому HPFS наиболее
эффективно работает в больших разделах – большее число полос
предоставляет большие возможности выбора.
Предположим, что многонитевая операционная система одновре-
менно создает четыре новых файла на диске, использующем FAT. Так как
для каждого файла нужен новый сектор, то он занимает ближайший доступ-
ный сектор в таблице размещения файлов. Это приводит к значительной
фрагментации, поскольку кластеры между файлами распределяются
вперемежку, тогда как HPFS выделила бы каждому из четырех файлов
отдельную полосу, чтобы их содержимое оставалось непрерывным.
При открытии файла F-узел и три первых сектора считываются и
помещаются в кэш. Если открываемый файл – исполняемый или если по
данным журнала доступа к файлам в F-узле видно, что файл после
открытия часто читается целиком, то многие секторы будут предварительно
автоматически прочитаны и помещены в кэш.
Операции записи в кэш осуществляются особым способом, который
называется "ленивой" записью. Когда программа посылает команду записи,
HPFS помещает данные в кэш и немедленно сообщает программе, что
операция выполнена, и только потом в фоновом режиме данные
перемещаются из оперативной памяти на устройство. Это исключает
длительную задержку, сопровождающую действительную операцию записи
данных на устройство ввода-вывода. Однако при этом существует риск
нарушения целостности данных. Например, уже после того, как программа
получила от ОС сообщение об успешном завершении операции ввода-
вывода, при попытке записать данные из кэша на диск драйвер этого
устройства может сообщить об ошибке обращения к диску. В таком случае
весьма полезным является список блоков "горячего" исправления.
Если попытка записи на диск заканчивается неудачно, то HPFS
отыскивает в SpareBlock блок, который можно использовать для "горячего"
исправления. Данные записываются в область "горячего" исправления, а
таблицы неисправных блоков обновляются, указывая испорченные сектор и
блок. HPFS будет автоматически перенаправлять запросы чтения по
новому адресу. Во время очередного выполнения утилиты проверки диска
файл будет скопирован в новое место, где он может храниться в
непрерывной области. При обращении к нему нет необходимости
переходить к блоку "горячего" исправления и обратно. Блок будет
освобожден для использования в случае возникновения и другой подобной
проблемы. Таким образом, проблема решается автоматически без участия
пользователя.

123
Для повышения эффективности система HPFS также предоставляет
многоуровневые кэши. Например, она сохраняет в кэше подкаталоги, а
также полное составное имя, записав в памяти контрольную сумму, одно-
значно определяющую путь к файлу. Поэтому при обращении к файлу, рас-
положенному в глубоко вложенном каталоге, скорее всего будет возможен
быстрый доступ сразу в нужный каталог без поиска по дереву каталогов.
HPFS обладает повышенной отказоустойчивостью по сравнению с
FAT. Если на диске с FAT оказалась стертой таблица распределения
файлов, то скорее всего окажутся потерянными все данные, которые
находятся вне корневого каталога. В системе HPFS вместо таблицы
размещения файлов применяется битовый массив, который содержит флаг,
помечающий используемые секторы. Если область битового массива будет
разрушена, пользователь этого не заметит, даже если это случится во
время работы системы. F-Узел файла также содержит информацию о
размещении каждого файла. Поэтому область битового массива может
быть восстановлена после поиска данной информации в F-узлах.
Пользователь не увидит даже предупреждения – поиск выполняется
автоматически.
В системе FAT при порче каталогов теряются указатели на начало
цепочки кластеров каждого файла. Можно соединить отдельные кластеры в
файл, но многое придется делать вручную. Так как утилиты, подобные
CHKDSK, не знают имени файлов, то для того, чтобы восстановить их
старые имена, придется загружать файлы в текстовый редактор и пытаться
определить, что они из себя представляют.
В случае потери каталога при работе с HPFS у каждого файла из
этого каталога теряются только дата последней операции записи в файл и
иных изменений, дата создания и длинное имя файла (символы,
следующие за первыми пятнадцатью). Элемент каталога – это всего лишь
указатель на F-узел. В F-узле, как отмечалось, хранятся первые 15
символов имени файла (плюс информация о том, имелись ли в имени
файла другие символы, кроме первых 15) и прочая информация, нужная
для доступа к файлу. Утилиты восстановления могут впоследствии найти в
F-узле сведения о том или ином файле. Эта избыточность, обеспечиваемая
каталогом и F-узлами, значительно увеличивает шансы на восстановление
данных. CHKDSK в настоящее время – единственная утилита восстанов-
ления, поставляемая с OS/2, которая, к сожалению, пока не использует всю
имеющуюся информацию.
HPFS не налагает ограничений на максимальный размер файла, но
OS/2 в настоящее время устанавливает предел в 2 Гбайта на один файл.

5.4.4. Сетевые средства системы

Сетевые средства OS/2 делятся на четыре уровня (рис. 5.3).


Прикладной уровень включает программные интерфейсы приложений
операционной системы. Компоненты на уровне файловой системы

124
отвечают за выполнение файловых операций. Транспортный уровень
реализует коммуникационные протоколы. Имеется компонент Общая
транспортная семантика (Common Transport Semantic), который позволяет
использовать любую файловую систему (а точнее, ее редиректор) в
сочетании с любым протоколом транспортного уровня.
Программное обеспечение подуровня MAC включает драйверы
сетевых адаптеров и диспетчерский слой в стандарте NDIS 2.01, который
позволяет различным сетевым протоколам работать через один адаптер и
различным адаптерам связываться через общий протокол. Существует
модуль преобразования ODI–NDIS, который дает возможность исполь-
зовать модули транспортных протоколов, реализованные в расчете на
работу с диспетчерским слоем ODI компании Novell.

Прикладной Прикладные интерфейсы Прикладные интерфейсы


уровень DOS и Windows OS/2

Диспетчер инсталлируемой файловой системы

Файловые
системы Редиректор Редиректор NFS HPFS,
NCP SMB CDFS

Общая транспортная семантика


Транспортный
уровень IPX/SPX NetBEUI TCP/IP

Преобразование
ODI – NDIS
Подуровень
MAC
NDIS

Рис. 5.3. Структура сетевых средств OS/2

Диспетчер инсталлируемой файловой системы (IFS) позволяет,


теоретически, любой прикладной программе работать с любой файловой
системой.

125
Заключение

Современные сетевые решения претерпевают наиболее интенсивное


развитие в области компьютерных технологий. Последствия такого
развития – стремительное устаревание существовавшей классификации
сетевых систем (например, практически исчезает наиболее
распространенный ранее класс локальных вычислительных сетей),
отсутствие установившейся и общепринятой терминологии в сфере
сетевых архитектур, а также изменения в номенклатуре сетевых устройств.
Значительные усилия разработчиков направлены на поиск дружественных
интерфейсов с пользователем.
Не оправдались большие надежды, которые возлагались на ряд
технологий, например FDDI, PDH/TPM или 100VG-AnyLAN. Эти технологии
не заняли доминирующего положения среди современных
высокопроизводительных сетей. Возникают новые решения, такие как ATM,
SDH, Sonet и др. Процесс развития здесь еще продолжается. Заметно
движение и в технологиях последней мили, наиболее важных для конечного
потребителя информационных услуг. Налицо стремление как можно
эффективнее использовать существующую инфрастуктуру сетевых систем,
и прежде всего – городские телефонные сети. Примером таких технологий
является ADSL, которая в ближайшем будущем может занять важное место
в сфере информационного сервиса. Намечается и противоположная
тенденция, связанная с отказом от традиционных (проводных) сред
передачи данных, но о ее перспективах судить пока еще рано.
Тем не менее, можно с определенной долей уверенности утверждать,
что темпы развития сетей замедлились: определился набор базовых
технологий, определены направления развития высокоскоростных сетей,
подходы и методы решения ключевых задач, практически реализовано
множество технических решений, обеспечивающих функционирование
сетей. Наметилось существенное удешевление технических средств
поддержки телекоммуникационных систем, что несомненно приведет к
более широкому их распространению среди массового потребителя.
Одновременно с этим достигнуты показатели производительности на
уровне передачи гигабит данных в секунду, что покрывает потребности
самого широкого класса пользователей. Успешно решаются проблемы
высокоскоростной передачи информации в магистральных сетях.
Налицо увеличение масштабов сетей, объединение подсетей
небольшого радиуса действия в единые телекоммуникационные комплексы,
решаются проблемы управления такими сетями. Поэтому весьма
серьезным вопросом является разработка средств совместимости и
интеграции гетерогенных сетевых структур.
Учитывая перечисленные задачи, можно отметить, что определение
базового набора сетевых технологий не означает, что в данной сфере не
следует ожидать появления новых решений, реализующих более

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

127
Глоссарий

ADSL (Asymmetric Digital Subscriber Line) – асимметричная цифровая


абонентская линия – технология доступа к глобальным сетям, основанная
на высокоскоростной дуплексной асимметричной передаче двоичной
информации по обычной абонентской паре телефонного кабеля.
API (Application Programming Interface) – интерфейс прикладных
программ. Стандартный набор функций, которые обеспечивают
"прозрачный" доступ к операционной системе или сетевым функциям.
Наличие API-функций позволяет программистам использовать один и тот
же стандартный программный интерфейс для всех родственных типов
оборудования вместо написания специализированных программ для
каждого нового устройства.
ATM (Asyncronous Transfer Mode) – высокоскоростная технология
глобальных и корпоративных сетей, основанная на асинхронном методе
доступа и коммутации ячеек.
Bandwidth – полоса пропускания. Описывает доступную ширину
канала (сети или шины) по частоте (измеряется в герцах). Эта величина в
общем случае не может служить характеристикой скорости установленного
соединения. Более точная мера скорости соединения — пропускная
способность.
Bindery – база данных сервера NetWare 3.X, содержащая список
сетевых объектов (пользователи и их группы, принтеры и т. п.).
B-ISDN (Broadband ISDN) – высокоскоростная технология,
использующая АТМ в качестве транспортного механизма. Она служит для
объединения нескольких локальных сетей.
Cell Relay – ретрансляция ячеек. Технология доступа в сетях WAN,
созданная для управления постоянным потоком данных. Все пакеты,
передаваемые через сеть WAN, независимо от типа содержащихся в них
данных состоят из 53-байтовых ячеек. Когда ячейки достигают места
назначения, они обрабатываются в том же порядке, в каком передавались.
Поэтому передача протекает настолько равномерно, насколько это
возможно по условиям распространения.
Circuit-Switched Network – сеть с коммутацией каналов.
Разновидность сети WAN, в которой задается статический маршрут от
отправителя к получателю, используемый в течение всего сеанса передачи.
Пакеты, пересылаемые по сетям с коммутацией каналов, не должны
содержать информацию о маршруте, поскольку она уже содержится в
параметрах организуемого виртуального канала.
Client/Server – клиент-сервер. Сетевая архитектура. Отдельные
компьютеры, называемые серверами, специально выделяются для работы
в качестве поставщиков услуг всем другим компьютерам, называемым
клиентами (рабочими станциями), на которых пользователи выполняют
свои задания. Серверы могут применяться для выполнения одной функции

128
или нескольких (например, хранение данных, печать, связь, электронная
почта и доступ в Web).
CRC (Cyclic Redundancy Checking) – контроль с использованием
циклического избыточного кода. Метод контроля ошибок, используемый в
некоторых сетях с коммутацией пакетов, например Х25.
DHCP (Dynamic Host Configuration Protocol) – протокол динамичес-кого
конфигурирования компьютера. Метод автоматического присваивания
IP-адресов клиентным компьютерам сети.
DNS (Domain Name Service) – служба имен домена. Служба сети
TCP/IP, транслирующая имена компьютеров в числовые адреса сети
Internet.
FAT (File Allocation Table).– 1. Таблица размещения файлов.
2. Файловая система на ее базе, используемая в ОС MS DOS и др.
Современные модификации – VFAT, FAT32.
FDDI (Fiber Distributed Data Interface) – распределенный интерфейс
передачи данных по оптоволоконным каналам. Оптоволоконная сеть
кольцевой структуры. Как правило, для обеспечения целостности
соединений применяется двойная кабельная проводка.
FC (Fiber Channel) – оптоволоконный канал.
FOC (Fiber Optic Cable) – оптоволоконный кабель. Состоит из тонкого,
оптически однородного стеклянного или пластикового волокна, окруженного
изоляционным слоем и защитным покрытием. Нечувствителен к внешним
электромагнитным воздействиям, поскольку для передачи данных
используются световые, а не электрические сигналы.
Frame Relay – ретрансляция кадров. Метод доступа в сетях WAN, при
котором передаются кадры переменной длины. Ретрансляция кадров
отличается своей техникой комбинирования канального пространства для
всех пользователей WAN, позволяющей полностью использовать полосу
пропускания. Это значительно повышает пропускную способность по
сравнению с той, которая достигается при раздельной поддержке всех
каналов. В отличие от стандарта Х.25, технология Frame Relay не
предусматривает средств контроля ошибок, поэтому ее предпочтительно
использовать в надежных сетях.
Gateway – шлюз. Компьютер, выполняющий функции маршрути-
затора, транслятора данных различных форматов либо фильтра данных
для всей сети или подсети.
HDSL (High Data-Rate Digital Subscriber Line) – высокоскоростная
цифровая абонентская линия – технология доступа к глобальным сетям,
обеспечивающей передачу данных на скорости 1536 или 2048 Мбит/с в
обоих направлениях. Протяженность линии может достигать 3.7 км.
Предлагается в качестве более дешевой альтернативы выделенным
каналам E1, T1. Требует четырехпроводной абонентской линии.
HPFS (High-perfomance File System) – высокопроизводительная
файловая система, реализованная в OS/2.

129
HTML (Hypertext Markup Language) – язык разметки гипертекста. Язык
форматирования. Для идентификации разделов документа, например
заголовков, списков, гипертекстовых связей и т. д. применяются
соответствующие коды (тэги).
HTTP (Hypertext Transfer Protocol) – протокол передачи гипертекста.
Основной протокол Internet для передачи документов HTML.
IIS (Internet Information Server) – информационный сервер Internet.
Программный продукт, реализующий Web-сервер в среде Windows NT.
Сервер IIS обслуживает протоколы Internet высшего уровня (HTTP и FTP)
для работы с клиентами, использующими браузеры Web.
. Internet – глобальная сеть компьютеров на основе семейства
протоколов TCP/IP. Первоначально разработана Управлением
перспективных исследований и разработок Министерства обороны США
для улучшения связи между армейскими сетями.
Internetworking – объединение сетей, интерсеть. Соединение
нескольких сетей, при котором между сетями можно передавать
сообщения, но сами сети сохраняют свою самостоятельность.
Intranet – внутренняя сеть. Корпоративная сеть, работающая на
основе технологии World Wide Web с использованием протоколов
семейства TCP/IP.
ISDN (Integrated Services Digital Network) – цифровая сеть с
интеграцией услуг. Сеть, обеспечивающая прямое цифровое удаленное
соединение через коммутируемую телефонную сеть общего пользования
(PSTN). Работает на канальном уровне со скоростью 64 Кбит/канал. Для
соединения абонента с центральным офисом PSTN используется кабель
"витая пара". Две витые пары позволяют мультиплексировать до
24 каналов.
LAN (Local Area Network) – локальная сеть. Сеть, ограниченная
пределами здания или офиса.
MAN (Metropolitan Area Network) – вычислительная сеть, ограниченная
масштабами города.
MFT (Main File Table) – главная файловая таблица, отвечающая за
размещение файлов в NTFS.
NDIS (Network Driver Interface Specification) – спецификация
интерфейса сетевых драйверов. Спецификация Microsoft, которой должны
соответствовать драйверы сетевых адаптеров при работе с сетевыми
операционными системами Microsoft.
NetBEUI (NetBIOS Extended User Interface) – расширенный
пользовательский интерфейс среды NetBIOS. Простой транспортный
протокол сетевого уровня, разработанный для поддержки приложений
NetBIOS.
NetBIOS (Network Basic Input-Output System) – базовая система
сетевого ввода-вывода. Сетевой протокол для обеспечения
взаимодействия процессов приложений клиент-сервер. Разработан фирмой
IBM в начале 80-х гг. Реализован в сетях на базе семейств Windows и OS/2.

130
NFS (Network File System) – сетевая файловая система,
разработанная фирмой Sun для систем клона Unix и позволяющая работать
с удаленными дисковыми накопителями, как с локальными файловыми
системами.
NOS (Network Operating System) – сетевая операционная система.
Операционная система компьютера, специально спроектированная для
оптимизации способности компьютера предоставлять или использовать
сетевые услуги.
NTFS (New Technology File System) – файловая система,
реализованная в ОС Windows NT. Содержит модель системы защиты
Windows NT, предназначенную для задания уровней доступа и
распределения общих ресурсов. Оптимизирована для использования на
жестких дисках емкостью свыше 500 Мбайт; требует слишком больших
накладных расходов при использовании на жестких дисках емкостью менее
50 Мбайт.
Open System – открытая система. Сетевая система, которая может
легко связываться с другими сетевыми системами, использующими
одинаковые коммуникационные модели.
Packet-Switched Network – сеть с коммутацией пакетов.
Разновидность сети WAN, в которой не организуются виртуальные каналы
между источником и приемником. Вместо этого каждый передаваемый по
сети пакет несет с собой маршрутную информацию и поэтому может
динамически выбирать свой путь. В течение одного сеанса различные
пакеты выбирают различные пути, если, например, в середине передачи
появится путь с меньшей стоимостью.
PDH (Plesiochronous Digital Hierarchy) – плезиохронная цифровая
иерархия. Была разработана около 40 лет назад в лаборатории Bell Labs и
предназначалась для передачи голосовой информации через каналы связи.
РРР (Point-to-Pomt Protocol) – протокол двухточечный. Протокол
линии связи канального уровня, используемый при создании двухузловых
сетевых соединений, например последовательных или модемных линий
связи.
Proxy Server – прокси-сервер. Сетевой компьютер, исполняющий
приложение, которое позволяет ему работать в качестве портала между
одной сетью и другой, например между интрасетью и Internet. Может
использоваться для защиты сети или выравнивания трафика, причем
незаметно для клиентов.
RPC (Remote Procedure Call) – технология удаленного вызова
процедур.
SDH (Synchronous Digital Hierarchy) – синхронная цифровая иерархия.
Система передачи, определенная Комитетом ITU в 1988 г. в качестве
всемирного стандарта передающей инфраструктуры национальных и
интернациональных сетей. Спецификация SDH описывает передачу кадров
на физическом уровне эталонной модели OSI и может использоваться как
один из транспортных механизмов для технологии АТМ.

131
SMB (Server Message Blocks) – блоки сообщений сервера. Сетевой
протокол, применяемый в сетевых операционных системах Microsoft.
Позволяет одному компьютеру использовать файлы и прочие ресурсы
другого, точно так же, как если бы они были локальными.
SMDS (Switched Multi-megabit Data Service) – высокоскоростная
коммутационная служба передачи данных.
SONET (Synchronous Optical Network) – технология построения
синхронной оптической сети, определяет оптический интерфейс передачи
данных.
Terminal Server – терминальный сервер. Сервер, программное
обеспечение которого допускает локальный запуск приложений. При этом
выводимые приложением данные отображаются на рабочем столе
компьютера клиента. Исходные данные, необходимые для работы
программы вводятся клиентом.
Thin Client Networking – сеть с "тонкими" клиентами. Вариант сети,
объединяющей сервер терминала с компьютерами клиентов. Каждый
клиент проводит собственные сеансы с сервером терминала, на котором
исполняет приложения. Вводимые данные генерируются на компьютере
клиента и загружаются на сервер терминала, а затем с помощью команд
отображения выводятся на монитор клиента.
Tunneling – туннелирование. Метод передачи пакетов с помощью
протокола, не поддерживаемого сетью. На время прохождения по сети,
неподдерживаемые пакеты "вкладываются" в поддерживаемые, а в месте
назначения "извлекаются" из них.
URL (Uniform Resource Locator) – универсальный локатор ресурсов.
Полный путь к конкретному документу или разделу на компьютере,
подключенному к сети Internet, а также метод доступа к нему, т. е. протокол
работы с программами сервера, функционирующими на удаленном
компьютере.
VPN (Virtual Private Network) – виртуальная частная сеть. Создается
"внутри" общедоступной сети (например, Internet). Для работы данной сети
необходимо использовать туннельные протоколы такие, как РРТР.
WAN (Wide-Area Network) – глобальная сеть. Сеть, выходящая за
пределы одного здания.
WAP (Wireless Application Protocol) – протокол беспроводного доступа
к информационным и сервисным ресурсам глобальной сети Internet
непосредственно с мобильных телефонов.
WWW (World Wide Web) – семейство серверов Internet, предостав-
ляющих документы с гипертекстовым форматированием клиентам Internet,
использующим Web-браузеры.
X.25. Стандарт, описывающий интерфейс (электрические соединения,
протокол передачи данных, средства обнаружения и исправления ошибок и
пр.) в сети с коммутацией пакетов.

132
Список рекомендуемой литературы

Бертсекас Д., Галлагер Р. Сети передачи данных / Пер. с англ. М.:


Мир, 1989.
Блэк Ю. Сети ЭВМ: протоколы, стандарты, интерфейсы / Пер с англ.
М.: Мир, 1990.
Вейцман К. Распределенные системы мини- и микроЭВМ / Пер. с
англ. М.: Финансы и статистика, 1982.
Гантер Д., Барнет С., Гантер Л. Интеграция Windows NT и Unix в
подлиннике / Пер. с англ. СПб.: BHV–Санкт-Петербург, 1998.
Гаскин Д. И. Интеграция Unix и сетей NetWare / Пер. с англ. М.: ЛОРИ,
1994.
Гладцын В. А., Яновский В. В. Сетевые технологии: Учеб. пособие /
СПбГЭТУ (ЛЭТИ). СПб., 1998.
Козлов О. С., Мараховский В. Б. Программное обеспечение вычисли-
тельных сетей: Учеб. пособие / ЛЭТИ. Л., 1990.
Коллективная работа в Internet, FTN и локальных вычислительных
сетях: Метод. указ. / Сост.: В. А. Гладцын, В. В. Дубовец, А. В. Маленков
и др. / СПбГЭТУ. СПб., 1998.
Кульгин М. Технологии корпоративных сетей: Энцикл. СПб.: Питер,
1999.
Кэмпбелл Дж. Л. Операционная система OS/2: Справ. рук-во для
программистов / Пер. с англ. М.: Финансы и статистика, 1991.
Лагутенко О.И. Модемы: Справ. пользователя. СПб.: Лань, 1997.
Локальные вычислительные сети: Справ.: В 3 кн. / С. В. Назаров,
Н. В. Ашихмин, А. В. Луговец и др.; Под ред. С. В. Назарова. М.: Финансы и
статистика, 1995.
Мартин Д. Вычислительные сети и распределенная обработка
данных: программное обеспечение, методы и архитектура / Пер. с англ. М.:
Финансы и статистика, 1985.
Нанс Б. Компьютерные сети / Пер. с англ. М.: БИНОМ, 1995.
Олифер В. Г., Олифер Н. А. Компьютерные сети. Принципы, техноло-
гии, протоколы. СПб.: Питер, 1999.
Саймино Д. Сети Intranet: внутреннее движение / Пер. с англ. М.: ООО
"Бук Медиа Паблишер", 1997.
Саммерс Ч., Дюнц Б. Высокоскоростное цифровое соединение с
сетью Интернет / Пер. с англ. M.: Радио и связь, 1998
Сетевые средства Microsoft Windows NT Server 4.0: Справ. СПб.:
BHV-Санкт-Петербург, 1999
Слепов Н. Н. Синхронные цифровые сети SDH. M.: Эко-Трендз, 1999.
Фролов А. В., Фролов Г. В. Глобальные сети компьютеров.
М.: ДИАЛОГ-МИФИ, 1996.
Чаппелл Л. А., Хейкс Д. Е. Анализатор локальных сетей NetWare /
Пер. с англ. М.: ЛОРИ, 1995.
Шатт С. Мир компьютерных сетей / Пер. с англ. Киев: BHV, 1996.

133
СОДЕРЖАНИЕ

Введение ............................................................................................................. 3
1. ТЕХНОЛОГИЯ РАБОТЫ В ГЛОБАЛЬНЫХ СЕТЯХ ...................................... 4
1.1. Понятие глобальной сети ........................................................................ 4
1.2. Технологии глобальных сетей ................................................................ 5
1.2.1. Типы соединений ГС ......................................................................... 7
1.2.2. Технология ISDN ............................................................................... 8
1.2.3. Технологии B-ISDN и ATM ............................................................. 10
1.2.4. Технология FrameRelay .................................................................. 13
1.2.5. Технология SONET ......................................................................... 16
1.2.6. Технология SMDS ........................................................................... 17
1.2.7. Системы передачи PDH и SDH ..................................................... 17
1.2.8. Описание технологии ADSL ........................................................... 19
1.3. Сервис глобальных сетей ..................................................................... 22
1.4. Примеры глобальных сетей .................................................................. 32
2. АРХИТЕКТУРА СОВРЕМЕННЫХ СИСТЕМ РАСПРЕДЕЛЕННОЙ
ОБРАБОТКИ .................................................................................................. 34
2.1. Распределенная обработка данных ..................................................... 34
2.2. Характеристики сетевых систем .......................................................... 43
2.3. Архитектура сетевых распределенных систем ................................... 44
2.4. Intranet и идеология систем клиент-сервер ......................................... 47
2.5. Модели распределенных систем в архитектуре клиент-сервер......... 51
2.6. Особенности корпоративных приложений архитектуры
клиент-сервер в концепции intranet ...................................................... 55
3. ОСНОВЫ УПРАВЛЕНИЯ ВЫЧИСЛИТЕЛЬНЫМИ СЕТЯМИ ..................... 61
3.1. Понятие об управлении вычислительными сетями ............................ 61
3.2. Элементы управления сетевыми распределенными системами ...... 62
3.3. Сетевая интеграция ............................................................................... 68
4. АРХИТЕКТУРА СЕТЕВЫХ ОС...................................................................... 72
4.1. Структура сетевой операционной системы ......................................... 72
4.2. Сетевые службы .................................................................................... 73
4.3. Встроенные сетевые службы и сетевые оболочки ............................. 75
4.3.1. Встроенные службы ........................................................................ 76
4.3.2. Оболочка ......................................................................................... 77
4.4. Одноранговые СОС и СОС с выделенным сервером ......................... 78
5. РЕАЛИЗАЦИЯ СЕТЕВЫХ ОС ...................................................................... 81
5.1. Семейство сетевых ОС Novell Netware ................................................ 81
5.1.1. Особенности и параметры NetWare .............................................. 82
5.1.2. Управление процессами ................................................................ 85
5.1.3. Управление данными ..................................................................... 86
5.1.4. NetWare 3.x ...................................................................................... 88
5.1.5. NetWare 4.x ...................................................................................... 89
5.1.6. Одноранговые сети Novell .............................................................. 91
5.1.7. Сравнительные характеристики системы ..................................... 92

134
5.2. Семейство операционных систем Windows ........................................ 94
5.2.1. Особенности Windows NT .............................................................. 94
5.2.2. Управление процессами ................................................................ 95
5.2.3. Управление файлами ..................................................................... 97
5.2.4. Сетевые средства ......................................................................... 101
5.2.5. Windows 9x .................................................................................... 105
5.3. Семейство ОС Unix .............................................................................. 107
5.3.1. Основные свойства Unix ............................................................... 108
5.3.2. Управление процессами .............................................................. 108
5.3.3. Файловые системы Unix ............................................................... 110
5.3.4. Управление памятью .................................................................... 116
5.4. Операционная система OS/2 .............................................................. 118
5.4.1. Характеристики системы .............................................................. 118
5.4.2. Управление процессами ............................................................... 119
5.4.3. Файловая система ........................................................................ 119
5.4.4. Сетевые средства системы ......................................................... 124
Заключение ..................................................................................................... 126
Глоссарий ........................................................................................................ 128
Список рекомендуемой литературы ............................................................. 133

135
Гладцын Вадим Андреевич
Яновский Владислав Васильевич

Управление вычислительными сетями

Учебное пособие

Редактор И. Б. Синишева

ЛР № 020617 от 24.06.98

Подписано в печать 14.09.2000. Формат 60 х 84 1/16. Бумага офсетная.


Печать офсетная. Гарнитура "Arial Cyr". Усл. печ. л. 7.91. Уч.–изд. л. 8.5.
Тираж экз. Заказ
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
Издательство СПбГЭТУ "ЛЭТИ"
197376, С.–Петербург, ул. Проф. Попова, 5

136

Вам также может понравиться