Главная » Просмотр файлов » Сетевое ПО Лекция 8

Сетевое ПО Лекция 8 (1061294), страница 3

Файл №1061294 Сетевое ПО Лекция 8 (Электронные лекции) 3 страницаСетевое ПО Лекция 8 (1061294) страница 32017-12-28СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 3)

Сервер может выполнятьоперации приема и передачи данных с помощью функций recv и send.Клиенты, ориентированные на логические соединения, подключаютсяк серверу вызовом Winsock-функции connect с указанием адреса удаленногокомпьютера.После того как соединение установлено, клиент может посылать ипринимать сообщения через свой сокет.Рис. 16 иллюстрирует коммуникационную связь между клиентом исервером Winsock, ориентированными на логические соединения.Послепривязкикадресу сервер,нетребующийлогическихсоединений, ничем не отличается от аналогичного клиента; он посылает иполучает сообщения через сокет, просто указывая удаленный адрес длякаждого сообщения.При использовании сообщений, не требующих логических соединений(т.

е. дейтаграмм), отправитель получает код ошибки в ходе следующейоперации приема, если предыдущее сообщение не было доставлено.2.4 Remote Procedure Call (RPC)RPC, опираясь на другие сетевые API (именованные каналы илиWinsock), предоставляет альтернативную модель программирования, вкакой-томерескрывающуюразработчика приложений.Функционирование RPCдеталисетевогопрограммированияот13Сетевое ПО. Лекция 8(2014 г.)Механизм RPC позволяет создавать приложения, состоящие изпроизвольного числа процедур, часть которых выполняется локально, а часть— на удаленных компьютерах (через сеть).RPC предоставляет модель работы с сетью, ориентированную напроцедуры, а не на транспорты, что упрощает разработку распределенныхприложений.Сетевое программное обеспечение традиционно базируется на моделиобработки ввода-вывода.В Windows сетевая операция начинается с того, что приложение выдаетзапрос на удаленный ввод-вывод.

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

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

д.,программное обеспечение RPC выполняет все эти задачи автоматически.14Сетевое ПО. Лекция 8(2014 г.)Кроме того, механизм RPC в Windows работает с любымитранспортами, которые имеются в системе.Создавая приложение RPC, программист решает, какие процедурыбудут выполняться локально, а какие — удаленно. Допустим, обычнаярабочая станция подключена по сети к суперкомпьютеру Cray или кспециализированной машине, предназначенной для быстрого выполнениявекторных вычислений. Если программист пишет программу, работающую сбольшими матрицами, то с точки зрения производительности имело бысмысл переложить математические вычисления на удаленный компьютер,написав программу в виде приложения RPCФункционирует приложение RPC следующим образом.В процессе своей работы оно вызывает как локальные процедуры, так ипроцедуры, отсутствующие на локальной машине.Для обработки последнего случая приложение связывается с локальнойDLL, которая содержит интерфейсные процедуры (stub procedures) для всехудаленных процедур.Впростойпрограммеинтерфейсныепроцедурыстатическисвязываются с приложением, но в компоненте большего размера онивключаются в отдельные DLL.

В DCOM обычно применяется последнийметод. Интерфейсная процедура имеет то же имя и тот же интерфейс, что иудаленная процедура, но вместо выполнения соответствующей операции онапросто преобразует переданные ей параметры для передачи по сети — такойпроцесс называется маршалингом (marshaling).Маршалинг заключается в упорядочении параметров и их упаковке вопределенном формате.Далее интерфейсная процедура вызывает процедуры библиотеки RPCпериода выполнения, и они находят компьютер, на котором расположеныудаленные процедуры, определяют используемые этим компьютероммеханизмы транспорта и посылают запрос при помощи локальногопрограммного обеспечения сетевого транспорта.15Сетевое ПО.

Лекция 8(2014 г.)Когда удаленный сервер получает запрос RPC, он выполняет обратноепреобразование параметров (unmarshaling), реконструирует исходный вызовпроцедуры и вызывает ее.Закончив обработку, сервер выполняет обратную последовательностьдействий для возврата результатов вызывающей программе.Кроме интерфейса, основанного на описанном здесь синхронномвызове процедур, RPC в Windows также поддерживает асинхронный RPC(asynchronous RPC).Он позволяет приложению RPC вызывать функцию и, не дожидаясь еевыполнения, продолжать свою работу.

На это время приложение можетперейти к выполнению другого кода. Когда от сервера придет ответ,библиотекаRPCпериодавыполненияосвободитобъект-событие,сопоставленный клиентом с асинхронным вызовом. Чтобы узнать озавершении функции, клиент использует стандартные Win32-функции типаWaitForSingleObject.Помимо библиотеки периода выполнения в Microsoft RPC входиткомпилятор MIDL (Microsoft Interface Definition Language).

Этот компиляторупрощает создание приложений RPC. Программист пишет набор обычныхпрототипов функций (предполагается, что он использует язык С или C++),описывающих удаленные процедуры, а затем помещает их в какой-либофайл. Далее он добавляет к этим прототипам нужную дополнительнуюинформацию, например уникальный для сети идентификатор пакетапроцедур, номер версии и атрибуты, указывающие, являются ли параметрывходными, выходными или и теми, и другими одновременно. В конечномсчете программист получает файл на языке IDL (Interface DefinitionLanguage).ПодготовленныйIDL-файлтранслируетсякомпиляторомMIDL,который создает интерфейсные процедуры для клиентской и сервернойсторон, а также заголовочные файлы, включаемые в приложение.

Когдаклиентское приложение связывается с файлом интерфейсных процедур,16Сетевое ПО. Лекция 8(2014 г.)компоновщик разрешает все ссылки на удаленные процедуры. Аналогичнымобразом удаленные процедуры устанавливаются на серверной машине.Программист, который намерен вызывать существующее приложение RPC,должен написать только клиентскую часть программы и скомпоновать ее слокальной библиотекой RPC периода выполнения.Библиотека RPC периода выполнения использует для взаимодействия странспортнымпротоколомуниверсальныйинтерфейспровайдеровтранспорта RPC (RPC transport provider interface).Этот интерфейс служит тонкой прослойкой между механизмом RPC итранспортом,котораяувязываетоперацииRPCсфункциями,предоставляемыми транспортом.RPC в Windows реализует DLL-модули провайдеров транспорта дляименованных каналов, NetBIOS и TPC/IPПоддержкудругихтранспортовможноввести,написавдополнительные DLL.

Аналогичным образом RPC поддерживает работу сразличными средствами сетевой защиты.Большинство сетевых служб Windows является приложениямиRPC, a это значит, что они могут вызываться как локальными процессами,так и процессами на удаленных машинах.Таким образом, удаленный клиентский компьютер может обращаться кслужбам сервера для просмотра списка общих ресурсов, открытия файлов,записи данных в очереди печати или добавления пользователей на этомсервере, либо он может вызывать Messenger Service (Службу сообщений) дляпосылки сообщений (конечно, при наличии соответствующих прав доступа).Сервер может регистрировать свое имя по адресу, который будетдоступен клиенту при поиске.

Эта возможность, называемая публикациейимени сервера, реализована в RPC и интегрирована с Active Directory. ЕслиActive Directory не установлена, служба локатора имен возвращается кшироковещательной рассылке с использованием NetBIOS..

Характеристики

Тип файла
PDF-файл
Размер
337,26 Kb
Тип материала
Высшее учебное заведение

Список файлов лекций

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6549
Авторов
на СтудИзбе
300
Средний доход
с одного платного файла
Обучение Подробнее