
- •1 Задачи и проблемы распределенной обработки данных.
- •2 Эволюция вычислительных сетей и систем
- •3 Классификация сетей по способам распределения данных.
- •4 Типы сетей. Сравнительная характеристика различных типов сетей.
- •5 Общие принципы построения сетей
- •6 Локальные и глобальные сети. Конвергенция сетей.
- •7 Основы организации и функционирования сетей. Топология и адресация в сетях
- •8 Сетевые операционные системы
- •9 Основные сетевые стандарты. Структура стандартов ieee 802.X
- •10. Взаимодействие открытых систем. Стандартизация сетей.
- •11. Модель взаимодействия открытых систем (osi). Уровни osi.
- •12. Средства взаимодействия процессов в сетях.
- •1. Удаленный вызов процедур
- •2. Обращение к удаленным объектам
- •3. Связь посредством сообщений
- •4. Связь на основе потоков данных.
- •13. Распределенные системы. Системы типа «клиент - сервер»
- •14. Распределенная обработка информации в системах клиент-сервер.
- •15. Одноранговые сети.
- •16. Средства идентификации и аутентификации в сетях.
- •17. Средства повышения надежности функционирования сетей
- •18. Интеграция локальных вычислительных сетей в глобальные и региональные сети.
- •20. Сетевые средства unix : основные протоколы, службы
- •22. Сетевая операционная система Novel NetWare: основные протоколы, службы.
- •24. Сетевая операционная система Microsoft Windows: основные протоколы, службы
- •26. Глобальные вычислительные сети. Интернет: Основные службы и предоставляемые услуги.
- •27. Глобальные вычислительные сети. Интернет: стандарты, перспективы развития.
- •28. Основные программные и аппаратные компоненты сети
- •29. Протоколы канального и сетевого уровней
- •30. Стек протоколов tcp/ip. Структура пакетов.
- •31. Стек протоколов ipx/spx. Структура пакетов.
- •32. Стек протоколов ibm/Microsoft.
- •33. Стек протоколов osi
- •34. Адресация в вычислительных сетях
- •35. Маршрутизация в вычислительных сетях
- •36. Межсетевое взаимодействие. Шлюзы и межсетевые экраны. Сокрытие адресов nat
- •37. Виртуальные сети vlan и vpn
- •По степени защищенности используемой среды
- •По способу реализации
- •По назначению
- •По типу протокола
- •По уровню сетевого протокола
- •38. Линия связи. Типы линий связи. Кодирование информации
4. Связь на основе потоков данных.
Рассмотренные ранее способы связи между процессами, работающими на разных ЭВМ, касались обмена более или менее независимыми, законченными порциями информации, не привязанными к реальному времени (параметры процедур и объектов, сообщения). Однако в прикладных программах реального масштаба времени (аудио и видео) временные характеристики имеют решающее значение (аудио- и видеопотоки).
Для обмена критичной ко времени передачи информацией распределенные системы предоставляют поддержку потоков данных. Классификация потоков данных:
1. По физическому содержанию потока:
а) Дискретный поток данных - поток байт;
б) Непрерывный поток данных - поток бит;
2. По информационному содержанию потока:
а) Простой поток данных - содержит только одну последовательность данных;
б) Комплексный поток данных - содержит несколько связанных между собой простых потоков, называемых вложенными потоками данных (напр.: видео со стереозвуком).
Различают три режима передачи потоков данных:
1. Асинхронный режим передачи. В асинхронном режиме передачи временные ограничения на передачу потока данных не накладываются;
2. Синхронный режим передачи. В синхронном режиме передачи для каждого элемента потока данных определяется максимально возможная задержка передачи. Этот режим используется там, где необходимо передавать данные не реже какого-либо промежутка времени - например, при измерении параметров;
3. Изохронный режим передачи. В изохронном режиме передачи для каждого элемента данных определяется как максимально возможная, так и минимально возможная задержка передачи. Этот режим используется там, где недопустимо ни замедление ни ускорение передачи данных - например, при передаче аудио- и видеопотоков. Интервал времени между минимально возможной и максимально возможной задержками передачи называется интервалом дрожания.
Наиболее просто синхронизация вложенных потоков данных достигается путем их взаимного мультиплексирования (напр.: стандарт MPEG - Motion Picture Expert Group).
13. Распределенные системы. Системы типа «клиент - сервер»
14. Распределенная обработка информации в системах клиент-сервер.
Распределённая ОС, динамически и автоматически распределяя работы по различным машинам системы для обработки, заставляет набор сетевых машин обрабатывать информацию параллельно. Пользователь распределённой ОС, вообще говоря, не имеет сведений о том, на какой машине выполняется его работа.
Распределённая ОС существует как единая операционная система в масштабах вычислительной системы. Каждый компьютер сети, работающей под управлением распределённой ОС, выполняет часть функций этой глобальной ОС. Распределённая ОС объединяет все компьютеры сети в том смысле, что они работают в тесной кооперации друг с другом для эффективного использования всех ресурсов компьютерной сети.
Согласно определению, в распределенной системе процессы распределены по разным ЭВМ сети. Распределенная обработка информации подразумевает, что по разным ЭВМ сети распределяются не просто любые не связанные друг с другом процессы, а процессы одной прикладной программы, то есть процессы, совместно выполняющие одну общую задачу. Для лучшего понимания механизмов распределенной обработки информации путем её декомпозиции на отдельные легко обозримые компоненты, существует модель «клиент-сервер». В базовой модели «клиент-сервер» все процессы в распределенных системах делятся на две возможно перекрывающиеся группы:
1. Сервер. Сервер - это процесс, реализующий некоторую сетевую службу. Существует второе определение сервера, как ЭВМ, осуществляющая управление доступом к ресурсам сети. Эти два определения не противоречат друг другу, а первое определение является даже более общим. С точки зрения первого определения, второе определение можно перефразировать, как ЭВМ, на которой работает процесс, реализующий сетевую службу предоставления доступа к ресурсам сети;
2. Клиент. Клиент - это процесс, запрашивающий службы у серверов. Взаимодействие клиента и сервера осуществляется в режиме «запрос-ответ».
Прикладные программы типа «клиент-сервер» принято делить на три логических уровня:
1. Уровень пользовательского интерфейса - обычно реализуется на рабочих станциях (клиентских ЭВМ). Этот уровень содержит средства взаимодействия (интерфейса) пользователя и прикладной программы.
2. Уровень обработки - реализует основную функциональную часть прикладной программы, может располагаться как на рабочей станции, так и на сервере.
3. Уровень данных - содержит программы обеспечения доступа к данным и их сохранности. Обычно уровень данных реализуется на серверах.
Прикладная программа может физически делиться на две, три или более частей и выполняться, соответственно, на двух (физически двухзвенная архитектура), трех (физически трехзвенная архитектура) или более (многопоточная технология) ЭВМ одновременно. Физическое разделение прикладной программы по двум ЭВМ (физически двухзвенная архитектура) -рабочей станции и серверной ЭВМ, может производиться в пяти вариантах.
В физически трехзвенной архитектуре прикладная программа физически разделяется на три части по уровням. При этом уровень пользовательского интерфейса реализуется на рабочих станциях, уровень обработки реализуется на ЭВМ, называемой сервер приложений, а уровень данных реализуется на ЭВМ, называемой сервер баз данных. В этой архитектуре уровень обработки выступает в качестве сервера по отношению к уровню пользовательского интерфейса и, одновременно, в качестве клиента по отношению к уровню данных. Именно по этой причине говорят, что все процессы в распределенных системах делятся на две возможно перекрывающиеся группы - клиент и сервер, то есть один и тот же процесс по отношению к другим процессам может быть одновременно и клиентом, и сервером.
Практика показывает, что простое физическое разделение прикладной программы на клиентскую и серверную части бывает недостаточно для повышения производительности распределенных вычислений. Решение заключается в более тонком дроблении прикладной программы в форме нескольких потоков выполнения (многопоточная технология). Поток выполнения - это комплекс информационно-независимых процессов одной прикладной программы, способных работать параллельно без взаимной блокировки.
На локальной ЭВМ преимущества многопоточных технологий проявляются только в многопроцессорных системах с общей (разделяемой) памятью. При этом и операционная система ЭВМ также должна поддерживать многопоточные технологии (напр.: ОС UNIX). Распределенная система, представляясь пользователю как виртуальная локальная многопроцессорная ЭВМ, является идеальной платформой для реализации многопоточной технологии. Важным свойством потоков выполнения является отсутствие блокировки других процессов при блокировке одного из них.
В соответствии с рассматриваемой моделью «клиент-сервер», в многопоточной технологии также существуют клиенты и серверы, причем в распределенных системах и те, и другие могут быть многопоточными. Многопоточные клиенты, как правило, реализуют пользовательский интерфейс в виде составного документа. Составной документ - это набор интерфейсных средств различных типов, предоставляемых различными прикладными программами, которые интегрируются в единый пользовательский интерфейс. В качестве примера можно привести судовую автоматизированную систему управления, где на устройстве отображения информации капитана в едином стиле, в одном окне, на адекватном картографическом фоне отображаются результаты решения различных задач (счисления пути, обсерваций, радиолокационной обстановки и т.д.), причем вся отображаемая информация эргономически оптимизирована для минимизации ошибок её восприятия. Пользовательский интерфейс, в котором представляется составной документ, скрывает тот факт, что с разными частями документа работают различные прикладные программы.
Многопоточные серверы, как правило, выгоднее всего реализовывать в виде серверов объектов. В отличие от других серверов, сервер объектов не предоставляет конкретной службы. Конкретные службы реализуются объектами, размещенными на сервере. Сервер предоставляет только средства обращения к локальным объектам по запросу удаленных клиентов. Таким образом можно легко изменять набор служб, просто добавляя или удаляя объекты. Правила обращения к объекту называются политикой активизации объекта. При этом объект перед обращением к нему должен быть перемещен в оперативную память сервера, т.е. активизирован. Механизм группирования объектов в соответствии с политикой активизации каждого из них называется адаптер объектов или упаковщик объектов.
Адаптер объектов контролирует один или несколько объектов. Поскольку сервер должен поддерживать объекты с различной политикой активизации, на одном сервере могут работать несколько адаптеров объектов.