Норенков И.П. - Основы автоматизированного проектирования (1060628), страница 47
Текст из файла (страница 47)
5.1).В режиме удаленного узла основные процедуры приложения исполняютсяна терминальном узле. Связь с удаленным узлом используется для пересылкифайлов. В большинстве случаев режим удаленного узла приводит к более заметной инерционности связи, чем режим дистанционного управления.Дистанционное управление обеспечивает передачу клавишных команд впрямом направлении и экранных изображений (обычно лишь изменений в них)в сжатом виде в обратном направлении, поэтому задержки меньше.Системы распределенных вычислений основаны на режиме дистанционного управления, при котором терминальный узел используется преимущественно для интерфейса с пользователем и передачи команд управления, а основныепроцедуры приложения исполняются на удаленном узле (сервере).
Поэтому всетях распределенных вычислений должны быть выделены серверы приложений.Программное обеспечение организации распределенных вычислений называют ПО промежуточного слоя (Middleware). Современная организация распределенных вычислений в сетях Internet /Intranet основана на создании и использовании программных средств, которые могут работать в различныхаппаратно-программных средах. Совокупность таких средств называют также многоплатформенной распределенной средой — MFC (Crossware).ЭкрантерминалаДлинная связьпри дистанционномуправленииФайлы,базы данныхПроцедурыприложенияДлинная связьс удаленными узламиРис.
5.1. Режимы удаленного узла и дистанционного управления2025.1. Функции сетевого программного обеспеченияНаходят применение технологии распределенных вычислений RFC (RemoteProcedure Call), ORB (Object Request Broker), DCE (Distributed ComputingEnvironment), мониторы транзакций ТРМ (Transaction Processing Monitors) и др.Средства RFC входят во многие системы сетевого ПО. Процедурная блокирующая синхронная технология RPC предложена фирмой Sun Microsystems.Вызов удаленных программ подобен вызову функций в языке С.
При пересылках на основе транспортных протоколов TCP или UDP данные представляются в едином формате обмена. Синхронность и блокирование означают, что клиент, обратившись к серверу, для продолжения работы ждет ответа от сервера.Для систем распределенных вычислений разработаны специальные языки,например для RPC — язык IDL (Interface Definition Language), который позволяет пользователю оперировать различными объектами безотносительно к ихрасположению в сети. На этом языке описываются интерфейсы к распределенным по сети компонентам в виде списка выполняемых компонентами процедур, типов аргументов и результатов процедур. С помощью компилятора языкаIDL описание интерфейса преобразуется в программные модули, называемыестабами.
Стаб на стороне клиента предназначен для упаковки параметров процедуры и обращения к системному вызову «послать», который позволяет передать параметры серверу. Стаб на стороне сервера распаковывает параметрыи вызывает запрошенную процедуру. После выполнения процедуры аналогичным образом стабы участвуют в передаче клиенту результатов процедуры.Формат RPC-сообщения:идентификатор сообщения;тип сообщения (запрос или ответ);идентификатор клиента;идентификатор удаленной процедуры;аргументы.В идентификатор процедуры входят: имя узла, номер программы (частономер означает совокупность программ определенного назначения), версияпрограммы (версия — это идентификатор копии программы, например, версия- это время создания копии, копии создаются для использования в многопользовательском режиме), имя процедуры в программе.
Имя сервера указывается в аргументах сгенерированного стаба. При компиляции стаба это имя ужеизвестно или благодаря широковещательной рассылке информации сервером,или с помощью специальной программы — агента связывания.ORB — технология объектно-ориентированного подхода, базирующаяся наспецификациях CORBA. Спецификации CORBA (Common Object Request BrokerArchitecture) устанавливают способы использования удаленных объектов (серверных компонентов) в клиентских программах.
Взаимодействие клиента ссервером происходит с помощью программы-посредника (брокера) ORB. Вслучае применения ORB (в отличие от RPC) хранить сведения о расположениисерверных объектов в узле-клиенте не нужно, достаточно знать расположениев сети брокера ORB. Поэтому доступ пользователя к различным объектам2035. Методическое и программное обеспечение автоматизированных систем(программам, данным, принтерам и т.п.) существенно упрощен.
Брокер должен определять, в каком месте сети находится запрашиваемый ресурс, и инициализировать серверную программу. После этого клиент может направлятьзапрос в серверный узел, а после выполнения запроса сервер будет возвращатьрезультаты пользователю.Для описания интерфейсов распределенных объектов используют язык ГОЬ,предложенный в CORBA. Этот язык отличается от языка IDL технологии RPC,в нем имеются средства описания интерфейсов, но нет средств описания операций.При использовании ORB может увеличиться нагрузка на сеть, однако имеется и ряд преимуществ: обеспечивается взаимодействие разных платформ,не требуется дублирования прикладных программ во многих узлах, упрощаются программирование сетевых приложений и поддержка мультимедиа.В CORBA создан протокол ПОР (Internet Inter-ORB Protocol), который обеспечивает взаимодействие между брокерами разных производителей.Мониторы транзакций отличаются от RPC наличием готовых процедуробработки транзакций (в том числе отката транзакций), что упрощает работупрограммистов.
Принимая запросы от клиентов и мультиплексируя их, монитор транзакций избавляет от необходимости создавать для каждого клиентаотдельное соединение с базой данных. Мониторы транзакций могут оптимально распределять нагрузку на серверы, выполнять автоматическое восстановление после сбоя и перезапуск системы.Технология DCE разработана консорциумом OSF (Open Software Foundation).Она не противопоставляется другим технологиям (RPC, ORB), а является средой для их использования, например, в одной из реализаций DCE пакет Encinaесть монитор транзакций, а пакет Orbix ORB представляет собой технологиюORB.В DCE возможна одно- или многоячеечная структура сети.
Выделение ячеекпроизводится по функциональным, а не по территориальным признакам. В каждой ячейке должен быть главный сервер данных и возможно несколько дополнительных серверов с копиями содержимого главного сервера, причем доступк дополнительным серверам разрешен только для чтения. Обновление данныхосуществляется исключительно через главный сервер.
Ячейка может занимать значительную территорию, главный сервер размещается вблизи от центра ячейки, дополнительные серверы — по периферии.К функциям DCE относятся распределение вычислений по технологии RPC;распараллеливание вычислений (но программист сам проектирует параллельный процесс); защита данных; синхронизация (согласование времени); поддержка распределенной файловой системы.Работая в DCE, пользователь дополнительно к своей прикладной программе пишет IDL-файл, в котором указывает свое имя, требуемые операции итипы данных. IDL-компилятор на основе этого файла создает три модуля: клиентский стаб (С1), серверный стаб (Sr), головной файл (Hd).
Модуль С1 содер-2045.1. Функции сетевого программного обеспеченияжиг вызовы процедур, Sr—обращения к базе процедур, Hd устанавливает связьмежду стабами.Определение нужного сервера в DCE либо происходит автоматически спомощью ORB, либо возлагается на программиста, как в RPC.Прикладные протоколы и телекоммуникационныеинформационные услугиОсновные услуги телекоммуникационных технологий — электронная почта,передача файлов, телеконференции, справочные службы (доски объявлений),видеоконференции, доступ к информационным ресурсам (информационным базам) сетевых серверов и др.
Эти услуги обеспечиваются соответствующимиприкладными протоколами и сетевыми программами.Среди прикладных протоколов наиболее известны протоколы, связанные сInternet, и протоколы ISO-IP (ISO 8473), относящиеся к семиуровневой моделиоткрытых систем.
К важным прикладным протоколам Internet относятся следующие:Telnet — протокол эмуляции терминала, или, другими словами, протокол реализации дистанционного управления, он используется для подключения клиента к серверу при их размещении на разных компьютерах, пользователь черезсвой терминал имеет доступ к компьютеру-серверу;FTP — протокол файлового обмена (реализуется режим удаленного узла),клиент может запрашивать и получать файлы с сервера, адрес которого указанв запросе;HTTP (Hypertext Transmission Protocol) — протокол для связи Web-серверов и Web-клиентов;SMTP, IMAP, РОРЗ — протоколы электронной почты;SNMP — протокол управления сетью.Указанные протоколы поддерживаются с помощью соответствующего ПО.Как правило, прикладной протокол реализуется серверной и клиентской программами. Клиентская программа запрашивает информационную услугу, серверная программа выполняет запрос.
Для Telnet, FTP, SMTP на серверной стороне выделены фиксированные номера протокольных портов.Электронная почта — средство обмена сообщениями по электронным коммуникациям (в режиме off-line). Посылка сообщения осуществляется по инициативе отправителя. Можно пересылать текстовые сообщения и архивированные файлы. В последних могут содержаться данные (например, текстыпрограмм, графические данные) в различных форматах.На ЭВМ пользователя должна быть установлена программа-клиент, поддерживающая функции создания, передачи и приема сообщений. На почтовомсервере, выделяемом в корпоративной или локальной сети, организуется промежуточное хранение поступающих сообщений. Связь индивидуальных пользователей с почтовым сервером осуществляется по протоколам IMAP или РОРЗ.В территориальных сетях почтовые сообщения проходят через ряд промежуточных федеральных или региональных узлов.