Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Механизмы сокетов, вызов удаленных процедур




Механизм сокетов (sokets) впервые появился в BSD Unix. Механизм сокетов представляет собой удобный и достаточно универсальный интерфейс обмена сообщениями, предназначенный для разработки сетевых распределенных приложений. Его универсальность обеспечивают следующие концепции:

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

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

Вызов удаленных процедур (RPC) – еще один удобный механизм, облегчающий взаимодействие операционных систем и приложений по сети. Он представляет собой надстройку над системой обмена сообщениями ос, поэтому позволяет более удобно и прозрачно организовать действия программ по сети.

Средства удаленного вызова процедур предназначены для облегчения организации распределенных вычислений. Когда вызываемая процедура действительно является удаленной, в библиотеку процедур вместо локальной реализации оригинального кода процедуры помещается другая версия процедуры, называемая клиентским стабом. На удаленный компьютер, который исполняет роль сервера процедур, помещается оригинальный код вызываемой процедуры, а также еще один стаб, называемый серверным стабом. Назначение этих стабов – организовать передачу параметров вызываемой процедуры так, чтобы код оригинальной процедуры, помещенный на сервер, был полностью сохранен. Иногда в подсистеме обмена сообщениями выделяется программный модуль, организующий связь стабов с примитивами передачи сообщений, называемый модулем RPC Runtime.

Мезанизм RPC оперирует двумя типами сообщений:

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

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

С помощью этих сообщений реализуется протокол RPC, определяющий способ взаимодействия клиента с сервером. Протокол RPC предусматривает установление сеанса связи на период выполнения удаленной процедуры, то есть этот протокол может быть отнесен к сеансовому уровню модели OSI.

Реализации RPC обычно не связаны жестко с каким-либо из протоколов транспортного уровня, с помощью которых RPC-сообщения должны доставляться по сети от клиента к серверу и обратно. При использовании в сети стека протоков TCP/IP это может быть протокол TCP или UDP, в локальных сетях частично используется также протокол NetBEUI/NetBIOS или IPX/SPX.

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

 

Сетевая файловая система.

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

Сетевая файловая система (ФС) включает следующие элементы:

o Клиент сетевой файловой системы;

o Сервер сетевой файловой системы;

o Интерфейс сетевой файловой системы;

o Локальная файловая система;

o Интерфейс локальной файловой системой;

o Протокол клиент-сервер сетевой файловой системы.

 

Клиенты сетевой ФС – это программы, которые работают на многочисленных компьютерах, подключенных к сети. Эти программы обслуживают запросы приложений на доступ к файлам, хранящимся на удаленном компьютере. В качестве таких приложений часто выступают графические или символьные оболочки ос, такие как Проводник Windows или Unix shell. Клиент сетевой ФС передает по сети запросы другому программному компоненту – серверу сетевой ФС, работающему на удаленном компьютере.

Клиент и сервер взаимодействуют друг с другом через сеть по протоколу сетевой файловой системы. Если интерфейсы локальной и сетевой файловых систем совпадают, это протокол может быть достаточно простым – в его функции должна входить ретрансляция серверу запросов, принятых клиентом от приложений, с которыми тот затем будет обращаться к локальной ФС. Одним из механизмов, используемых для этой цели, может быть механизм RPC.

В среде операционной системы Unix наибольшее распространение получили две сетевые ФС и два протокола клиент-сервер – FTP и NFS. Они первоначально разрабатывались для доступа к локальной файловой системе s5/ufs, являющейся основой для многих ос системы Unix.

Задачей сетевой ФС является предоставление всем сетевым пользователям надежного, производительного и безопасного доступа к разделяемым файлам.

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

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

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

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

В ос семейства Windows NT существует два механизма защиты 0 на уровне разделяемых каталогов и на уровне локальных каталогов и файлов. Последний работает только в том случае, когда в качестве локальной файловой системы используется система NTFS, поддерживающая механизм ACL. Механизм защиты разделяемых каталогов нужен для того, чтобы защитить данные, хранящиеся в локальной файловой системе FAT, не имеющей механизмов защиты.

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





Поделиться с друзьями:


Дата добавления: 2016-10-22; Мы поможем в написании ваших работ!; просмотров: 621 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Своим успехом я обязана тому, что никогда не оправдывалась и не принимала оправданий от других. © Флоренс Найтингейл
==> читать все изречения...

2396 - | 2210 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.011 с.