Добавил:
sergeevpavel0406@mail.ru СОВА Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Информатика в техническом университете / Информатика в техническом университете. Телекоммуникации и сети

.pdf
Скачиваний:
131
Добавлен:
06.03.2018
Размер:
23.39 Mб
Скачать

/. Распределенные системы обработки данных

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

На уровне оборудования четко вид1п>1 привычные разработчикам ЭВМ со­ ставляющие архитектуры аппаратных средств:

система команд процессора (процессоров),

организация памяти,

организация ввода-вывода и т. д.,

атакже физическая реализация в виде: системных шин; шин массовой памяти;

интерфейсов периферийных устройств; уровня передачи данных;

физического уровня среды хранения.

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

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

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

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

Для пользователя открытые системы обеспечивают следующее:

новые возможности сохранения сделанных вложений благодаря свойствам эволюции, постепенного развития функций систем, замены отдельных компо­ нентов без перестройки всей системы;

независимость от поставщиков аппаратных или программных средств, воз­ можность выбора продуктов из предложенных на рынке при условии соблюде­ ния поставщиком соответствующих стандартов открытых систем;

20

1.2.Концепция открытых систем

Дружественность среды, в которой работает пользователь, мобильность персонала в процессе эволющш системы;

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

Проектировщик информационных систем получает:

возможность использования разных аппаратных платформ;

возможность совместного использования прикладных программ, реализо­ ванных в разных ОС;

развитые средства инструментальных сред, поддерживающих проектиро­ вание;

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

Разработчики общесистемных программных средств имеют:

новые возможности разделения труда, благодаря повторному использова­ нию программ (reusability);

развитые инструментальные среды и системы программирования;

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

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

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

Открытые системы и объектно-ориентированный подход

В связи с применением открыгых систем весьма перспективным направле­ нием представляется объектно-ориентированный подход проектирования и про­ граммирования.

Объектно-ориентированное программирование - это относительно новый подход к разработке программных систем, строящийся по следующим основ­ ным принципам:

21

1. Распределенные системы обработки данных

данные и процедуры объединяют в программные объекты; для связи объектов используют механизм посылки сообщения; объекты с похожими свойствами объединяют в классы;

объекты наследуют свойства других объектов через иерархию классов. Объектно-ориентированные системы обладают следующими основными

свойствами:

инкапсуляция (скрытие реализации) - данные и процедуры объекта скры­ ваются от внешнего пользователя, и связь с объектом ограничивается набо­ ром сообщений, которые «понимает» объект;

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

динамическое (позднее) связывание - значение имени (область памяти для данньпс или текст программы для процедур) становится известным только во время вьшолнения программы;

абстрактные типы данных - объединение данных и операций для опи­ сания новых типов, позволяющие использовать новые типы наравне с уже су­ ществующими.

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

Объектно-ориентированный подход реализации системы хорошо согласует­ ся с основными свойствами открытых систем (табл. 1.2).

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

Таблица 1.2. Свойства открытых систем

и объектно-ориентированных систем программирования

 

 

 

 

 

 

Расширяе­

 

Свойства

 

 

 

 

 

мость (но­

Интероперабель-

Дружественность

Мобильность

вые функ­

ность (другие

открытых

(пользователь)

(платформы)

ции и об­

системы,

систем

 

 

 

 

 

ласти при­

пользователь)

 

 

 

 

 

 

 

 

 

 

 

Инкапсуляция

менения)

Полиформизм,

 

Объектное

представле­

Наследова­

 

ние предметной облас­

(скрытие реа­

ние, абст­

динамическое

Свойства объект­

ти,

наиболее

удобное лизации)

рактные ти­

связывание

но-ориентирован­

человеку.

Сочетание

 

пы данных

 

ных систем прог­

всех

других

свойств

 

 

 

раммирования

при

конструировании

 

 

 

пользовательского

ингерфейса

22

1.3. Эталонная модель взаимодействия открытых систем

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

Расширяемость. Наследование позволяет сэкономить значительные сред­ ства при расширении системы, поскольку многое не нужно создавать заново, а некоторые новые компоненты можно получить, лишь слегка изменив старые. Использование отлаженных компонентов увеличивает надежность.

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

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

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

Дружественность. Удобство взаимодействия человека с системой требу­ ет от последней наличия всех трех вышеуказанных качеств. Мобильность не­ обходима ввиду быстрой смены старых и появления новых устройств, в част­ ности, средств мультимедиа. Расширяемость необходима для разработки программной поддержки новых парадигм общения человека с машиной. Инте­ роперабельность рассматривает человека как другую систему, с которой от­ крытая система должна уметь взаимодействовать.

1.3. Эталонная модель взаимодействия открытых систем

Базовая эталонная модель OSI является концептуальной основой, опреде­ ляющей характеристики и средства открытых систем. Она определяет взаи­ модействие открытых систем, обеспечивающее работу в одной сети систем, вьшускаемых различными производителями, и координирует:

взаимодействие прикладных процессов;

формы представления данных;

единообразное хранение данных;

управление сетевыми ресурсами;

безопасность данных и защиту информации;

диагностику программ и технических средств.

23

1. Распределенные системы обработки данных

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

В модели OSI средства взаимодействия делятся на семь уровней: приклад­ ной, представительный, сеансовый, транспортный, сетевой, канальный и физи­ ческий. Каждый уровень имеет дело с одним определенным аспектом взаимо­ действия сетевых устройств (рис. 1.4).

Модель OSI описывает только системные средства взаимодействия, реализуемые ОС, системными утилитами, системными аппаратньш[и средства­ ми. Модель не включает в себя средства взаимодействия приложений конеч­ ных пользователей. Свои собственные протоколы взаимодействия приложения реализуют, обращаясь к системным средствам. Поэтому нужно различать уро­ вень взаимодействия приложений и прикладной уровень.

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

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

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

24

1.3. Эталонная модель взаимодействия открытых систем

Прикладной

уровень

Представительный

уровень

Сеансовый

уровень

Транспортный

уровень

Сетевой

уровень

Канальный

уровень

Физический

уровень

Процесс А

 

 

Процесс В

 

А

 

 

Протоколы

 

 

 

 

А

V

^

 

 

 

->

 

 

V

 

 

 

 

 

 

 

А

 

 

Интерфейсы

 

 

 

 

А

V

 

 

 

 

• >

6 7

V

I

6^5

< -

 

 

I

V

 

>

 

 

I

 

 

 

 

 

 

 

А

 

 

 

 

 

 

 

 

I

 

->

4|5|б|7 ^^^1

7[б|5|

 

 

- >

3|4|5|б|7 ^^M^i

I

 

 

 

 

 

 

 

I

l ^ ^ b

^

|[з[г

< — >

ррр

 

 

 

^^ш^6 5 4 3 2

1 ^ — >

3 4 5

6

^•^Ш]

I

 

 

 

2

 

$

А А

Il^i^ll6|5|4|3[2|i]

Передача по сети

 

-а XL

 

Сообщение Заголовки — служебная

информация

 

Рис. 1.4. Модель взаимодействия открытых систем OSIASO

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

25

 

1. Распределенные

системы обработки данных

Сообщение

 

 

 

 

 

3-го уровня

 

 

 

 

 

 

 

Заголовок

Поле данных

Концевик

 

 

 

3-го уровня

3-го уровня

3-го уровня

 

Сообщение

Ж-

 

_v

2-го уровня

Поле данных

 

Заголовок

Заголовок

Концевик

Концевик

 

2-го уровня

3-го уровня

3-го уровня

3-го уровня

2-го уровня

Сообщение

 

 

 

 

 

1-го уровня \|/

 

 

 

КонцевикЖКонцевик

Заголовок

Заголовок

Заголовок

Поле данных

Концевик

1-го уровня

2-го уровня

3-го уровня

3-го уровня

3-го уровня

2-го уровня 1-го уровня

Рис. 1.5. Вложенность сообщений различных уровней

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

Для обозначения единиц данных, с которыми имеют дело протоколы разных уровней, в OSI используется общее название протокольный блок данных (PDU - Protocol Data Unit). Для обозначения блоков данных определенных уров­ ней часто используют специальные названия: кадр (frame), пакет (packet), дей­ таграмма (datagram), сегмент (segment).

Вмодели OSI различаются два основных типа протоколов:

• с установлением соединения (connection-oriented);

• без предварительного установления соединения (connectionless).

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

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

Уровни модели OSI

Физический уровень. Физический уровень (Physical layer) имеет дело с передачей битов по физическим каналам связи, таким, например, как коакси­ альный кабель, витая пара, оптоволоконный кабель или радиосреда. К этому уровню имеют отношение характеристики физических сред передачи данных, такие, как полоса пропускашся, помехозащищенность, затухание и др. На этом

26

1.3. Эталонная модель взаимодействия открытых систем

же уровне определяют характеристики электрических сигналов, передающих дискретную информацию, например, крутизну фронтов импульсов, уровни на­ пряжения или тока передаваемого сигнала, скорость передачи сигналов и типы кодирования. Здесь же стандартизуют типы разъемов и назначение каждого контакта.

Функщ1и физического уровня реализуют все устройства, подключенные к сети. Со стороны, например, персональной ЭВМ (компьютера) функщш физи­ ческого уровня выполняет сетевой адаптер или последовательный коммуникащюнный порт.

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

При получении кадра адресат снова вычисляет контрольную последователь­ ность. Если принятая с кадром и вычисленная контрольные последовательно­ сти совпадают, кадр считается правильным и принимается. Если же они не совпадают, то фиксируется ошибка. Канальный уровень может не только об­ наруживать ошибки, но и исправлять их за счет повторной передачи повреждершых кадров. Необходимо отметить, что функция исправления ошибок не является обязательной для канального уровня, поэтому в некоторых протоко­ лах этого уровня она отсутствует, например, в Ethernet и Frame relay.

В компьютерах локальных сетей функции канального уровня реализуются совместными усилиями сетевых адаптеров и их драйверов. Канальный уро­ вень обеспечивает доставку кадра между любыми двумя узлами локальной сети той топологии, для которой он бьш разработан. К таким типовым тополо­ гиям, поддерживаемым протоколами канального уровня локальных сетей, от­ носятся общая шина, кольцо и звезда, а также структуры, полученные с по­ мощью мостов и коммутаторов. Примерами протоколов канального уровня являются протоколы Ethernet, Token Ring, FDDI, lOOVG-AnyLAN.

В глобальных сетях, которые редко обладают регулярной топологией, ка­ нальный уровень часто обеспечивает обмен сообщениями только между дву­ мя соседними компьютерами, соединенными индивидуальной линией связи. Примерами протоколов «точка-точка» (так часто называют такие протоколы) могут служить широко распространенные протоколы РРР и LAP-B.

Сетевой уровень. Сетевой уровень (Network layer) служит для образова­ ния единой транспортной системы, объединяющей несколько сетей, причем эти сети могут использовать различные принципы передачи сообщений между ко­ нечными узлами и обладать произвольной структурой связей.

27

1. Распределенные системы обработки данных

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

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

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

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

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

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

28

1.3. Эталонная модель взаимодействия открытых систем

На сетевом уровне работают два вида протоколов. Первый вид - сетевые протоколы (routed protocols) - реализуют продвижение пакетов через сеть, второй - протоколы обмена маршрутной информацией или просто протоколы маршрутизации (routing protocols). С помощью этих протоколов маршрутиза­ торы собирают информацию о топологии межсетевых соединений.

Протоколы сетевого уровня реализуются программными модулями ОС, а также программными и аппаратными средствами маршрутизаторов.

На сетевом уровне работают протоколы, которые отвечают за перевод ло­ гического адреса узла, используемого на сетевом уровне, в физический адрес, используемый в локальной сети. Это так называемые протоколы разреше­ ния адресов (ARP - Address Resolution Protocol).

Примерами протоколов сетевого уровня являются протокол межсетевого взаимодействия DP стека TCP/IP и протокол обмена пакетами IPX стека Novell.

Транспортный уровень. На пути от отправителя к получателю пакеты могут быгь искажены или утеряны, однако, некоторые приложения предпочи­ тают иметь дело с надежным соединением. Поэтому основной функцией транс­ портного уровня (Transport layer) является обеспечение гарантированной дос­ тавки пакетов без ошибок, в той же последовательности, без потерь и дублирования. На этом уровне сообщения переупаковываются: длинные раз­ биваются на несколько пакетов, короткие объединяются в один. Это увеличи­ вает эффективность передачи пакетов по сети. На транспортном уровне ком­ пьютера-получателя сообщения распаковываются, восстанавливаются в первоначальном виде и обычно посылается сигнал подтверждения приема.

Транспортный уровень управляет потоком, проверяет ошибки и участвует в решении проблем, связанных с отправкой и получением пакетов. Модель OSI определяет пять классов сервиса, предоставляемых транспортным уровнем. Эти классы сервиса отличаются качеством предоставляемых услуг: срочнос­ тью, возможностью восстановления прерванной связи, наличием средств муль­ типлексирования нескольких соединений между различными прикладными про­ токолами через общий транспортный протокол, а главное - способностью к обнаружению и исправлешпо ошибок передачи, таких, как искажение, потеря и дублирование пакетов.

Выбор класса сервиса транспортного уровня определяется, с одной сторо­ ны, тем, в какой степени задача обеспечения надежности решается самими приложениями и протоколами более высоких, чем транспортный, уровней, а с другой стороны, этот выбор зависит от того, насколько надежной является си­ стема транспортировки данных в сети, обеспечиваемая уровнями, расположен­ ными ниже транспортного сетевым, канальным и физическим. Так, например, если качество каналов передачи связи очень высокое и вероятность возникно­ вения ошибок, не обнаруженных протоколами более низких уровней, невелика, то разумно воспользоваться одним из облегченньпс сервисов транспортного уровня, не обремененных многочисленными проверками, квитированием и дру­ гими приемами повьппения надежности. Если же транспортные средства ниж-

29