Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Принцип взаимодействия прикладной программы с системным программным обеспечением
Для взаимодействия прикладных сетевых программ ОС предоставляет механизм сокетов (sockets). Механизм сокетов обеспечивает удобный и достаточно универсальный интерфейс обмена сообщениями, предназначенный для разработки сетевых распределенных приложений. Его универсальность обеспечивают следующие концепции. § Независимость от нижележащих сетевых протоколов и технологий. § Использование абстрактной конечной точки соединения, получившей название сокет (socket – гнездо). Сокет – это точка, через которую сообщения уходят в сеть или принимаются из сети. Сетевое соединение между двумя процессами осуществляется через пару сокетов. Каждый процесс пользуется своим сокетом, при этом сокеты могу находиться как на разных компьютерах, так и на одном. § Сокет может иметь как высокоуровневое символьное имя (адрес), так и низкоуровневое, отражающее специфику адресации определенного коммуникационного домена. Например, в домене Интернета низкоуровневое имя представлено парой (IP-адрес, порт). Анализ структуры локальной сети факультета ПМИ Структура локальной сети ФПМИ по состоянию на 01.09.2005 представлена на рис. 1.1 Рис 1.1. Схема локальной сети факультета ПМИ Задание к лабораторной работе 1. Создать личную страничку (на бригаду) на сервере fpm2 для размещения отчетов о выполненных лабораторных работах. Рекомендуется личную страничку оформить в следующем виде:
2. Выполнить анализ структуры локальной сети факультета по следующим пунктам: § какие сетевые устройства используются в сети; § какие линии связи используются в локальной сети факультета; § схема соединения ПКi с сервером fpm2; § структура сетевого программного обеспечения на каждом узле схемы соединения ПКi с сервером fpm2; § IP и MAC-адреса ПКi и сервера fpm2. 3. Выполнить анализ директории CD в каталоге DNL. 4. Ответить на контрольные вопросы к лабораторной работе. Контрольные вопросы 1. Дайте определения сетевого протокола. Зачем он нужен? 2. Какой стек протоколов используется в сети Internet? 3. В чем преимущества и недостатки многоуровневой организации системы? 4. Назовите виды единиц обмена информацией разных уровней в архитектуре протоколов. 5. Перечислите уровни стека протоколов Internet и назовите их основные функции. 6. Перечислите известные вам виды сетевого оборудования и объясните, для чего они используются. 7. Перечислите виды физических сред передачи данных и их особенности. 8. В чем состоит принцип взаимодействия прикладной программы с системным программным обеспечением? Лабораторная работа №2 Технология клиент-сервер. Эхо-повтор. Цель работы Изучить основные принципы разработки клиент-серверных приложений на примере простейшей однопользовательской программы. Методические указания Модель, которая предусматривает, что прикладная программа должна пассивно ждать, пока другое приложение не инициирует связь, широко применяется в распределенных вычислениях и носит название – взаимодействие по принципу клиент/сервер. Приложение, которое активно инициирует контакт, называется клиентом, а приложение, которое пассивно ожидает контакта, называется сервером. Хотя и существуют небольшие различия, большинство реализаций средств взаимодействия клиент/сервер характеризуется общими особенностями. Клиентская программа: Ø Представляет собой произвольную прикладную программу, которая становится клиентом на время, когда ей требуется удаленный доступ, но выполняет также другие локальные действия; Ø Вызывается непосредственно пользователем и действует на протяжении только одного сеанса; Ø Функционирует локально на персональном компьютере пользователя; Ø Активно инициирует контакт с сервером; Ø Может обращаться по мере необходимости к нескольким службам, но в определенный момент времени активно контактирует только с одним удаленным сервером; Ø Не требует специальных аппаратных средств или сложной операционной системы. Серверная программа: Ø Представляет собой программу специального назначения, которая выделена для предоставления одной службы, но может обслуживать нескольких удаленных клиентов одновременно; Ø Вызывается автоматически во время начальной загрузки системы и продолжает работать, проводя один сеанс взаимодействия за другим; Ø Выполняется на компьютере, предоставленном в общее пользование; Ø Пассивно ожидает поступления запросов на установление соединения от удаленных клиентов; Ø Принимает запросы от клиентов, но предоставляет единственную службу; Ø Требует применения мощных аппаратных средств и сложной операционной системы. В процессе обмена данными между большинством приложений Internet выполняется одна и та же последовательность операций. Ø В начале запускается на выполнение серверное приложение и ожидает запроса на установление соединения от клиента. Ø Клиент обращается к серверу, указывая его местонахождение и передавая требование приступить к обмену данными. Ø Клиент и сервер обмениваются сообщениями. Ø После завершения передачи данных и клиент, и сервер сообщают о том, что достигнут конец файла, чтобы прекратить обмен данными. Общая схема взаимодействия клиента и сервера приведена на рис. 2.1. Взаимодействие клиента и сервера на транспортном уровне может происходить с использованием различных протоколов. Наиболее распространенными протоколами являются TCP и UDP. Приведем некоторые различия в схеме взаимодействия клиентской и серверной программ при использовании этих протоколов. Протокол TCP является протоколом, поддерживающим надежную передачу потока данных с предварительным установлением связи между источником информации и ее получателем. На базе протокола TCP реализованы такие протоколы уровня приложений, как Telneat, FTP, HTTP. Протокол характеризуется следующими особенностями: Ø Перед фактической передачей данных необходимо установление связи, т.е. запрос на начало сеанса передачи данных источником и подтверждение получателем. Ø После обмена данными сеанс передачи должен быть явно завершен. Ø Доставка информации является надежной, не допускающей дублирования или нарушения очередности получения данных. Ø Возможность управления потоком данных для избежания переполнения и затора. Эти возможности протокола позволяют протоколам верхнего уровня и приложениям, их реализующим, не заботиться о надежности и последовательности доставки данных. Поэтому, протоколы приложений, использующих TCP, могут быть значительно упрощены. Но это, в свою очередь, ведет к сложности самого протокола, а значит и значительным накладным расходам при передаче данных. Протокол UDP обеспечивает логический коммуникационный канал между источником и получателем данных без предварительного установления связи. Для передачи датаграмм UDP используют протокол IP, который также не обеспечивает надежность передачи данных. Поэтому приложения, использующие данный протокол должны самостоятельно отслеживать надежность доставки, например, путем обмена подтверждениями и повторной передачей недоставленных сообщений. Протокол UDP используют такие протоколы уровня приложений, как протокол взаимодействия с сервером доменных имен DNS, протокол удаленного копирования Trivial FTP, удаленный вызов процедур RPC. Благодаря минимальной функциональности протокола UDP, передача данных с его использованием вносит гораздо меньшие накладные расходы по сравнению с протоколом TCP. Популярное:
|
Последнее изменение этой страницы: 2016-05-03; Просмотров: 1271; Нарушение авторского права страницы