Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
27 Gopher, FTP.doc
Скачиваний:
2
Добавлен:
19.09.2019
Размер:
98.82 Кб
Скачать

Файловая система Gopher

Файловая система Gopher была разработана для реализации рас­пределенной базы документов, которые хранятся на машинах сети и предоставляются пользователю в виде единой иерархической фай­ловой системы. Модель файловой системы наилучшим образом подходит для отображения структуры хранения документов по сле­дующим очевидным соображениям:

  • иерархическое представление данных привычно большинству пользователей, так как иерархии широко используются во многих компьютерных представлениях (UNIX, MS-DOS, системах BBS);

  • Gopher рассчитан на применение недорогих решений как в аппаратной части, так и при программировании, поскольку первоначально он был ориентирован на разработку информационной системы университета (шт. Миннесота). Система со­ответствовала реальной структуре университета с его делением на факультеты и кафедры, что также хорошо описывается иерархической моделью данных;

  • модель файловой системы может быть легко расширена путем добавления к традиционным файлам и директориям других объектов, которые можно назвать виртуальными файлами. Такие виртуальные объекты могут быть поисковыми запросами, или шлюзами, в другие информационные ресурсы Internet. Вначале система ориентировалась на два типа виртуальных файлов, добавленных к основным: информационный поиск по ключевым словам и записные/телефонные книжки.

Gopher представляет весь Internet (серверы Gopher) в виде еди­ной иерархической системы. Gopher-серверы объединены в единое информационное пространство в Internet. Многие архивы дублиру­ют информацию из других архивов (так называемые «зеркала» — mirrors).

Gopher считается простой системой, лег­кой в установке и администрировании, достаточно надежной и за­щищенной. Количество серверов Gopher на 1994 г. превышало в 1,5 раза число серверов WWW, и до 1995 г. темпы роста установок серверов Gopher опережали все остальные ресурсы Internet. В Рос­сии Gopher-серверы распространены не так широко, как во всем мире, — пользователи предпочитают World Wide Web.

Протокол Gopher предназначен для работы по модели «кли­ент — сервер», при этом программа-клиент установлена на рабочем месте пользователя. Эта программа посылает запрос-селектор в ТСР-порт (строку текста, которая может быть и пустой), а затем сервер отвечает блоком текста, в конце которого стоит точка. Ника­кой информации о состоянии соединения сервер клиенту не сооб­щает и, в свою очередь, не запрашивает. После ответа сервера сое­динение разрывается, а при новом запросе оно должно быть уста­новлено заново. Простота этого алгоритма позволяет реализовать его даже на маломощных персональных компьютерах.

Возвращаемый сервером текст представляет собой справку о со­держании текущей директории (каталога), каждый элемент которой включает:

  • тип (объекта в директории);

  • имя (используется для отображения и в запросах);

  • неотображаемую строку выбора, которая обычно описывает путь, используемый удаленным хостом для доступа к объекту (селектор);

  • имя хоста (машины, к которой надо обращаться за информацией);

  • номер порта (на котором сервер данного объекта ожидает за­прос).

Пользователь реально видит только имя объекта. Програм­ма-клиент может воспользоваться триадой селектор, хост, порт для поиска каждого объекта.

Для использования поискового объекта из директории Gopher клиент посылает запрос специальному поисковому серверу Gopher. В этом случае клиент посылает серверу строку-селектор и ключевые слова, а получает от сервера список адресов документов, удовлетво­ряющих запросу.

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

Модель взаимодействия Gopher основывается на архитектуре «клиент — сервер». Сервер ожидает запросы пользовате­ля по назначенному порту TCP (по умолчанию это порт 70), а кли­ент посылает в этот порт запросы.

Первый символ каждой строки определяет тип ресурса — документ, каталог или поисковый критерий (соответственно цифры 0,1,7). Все остальные символы после кода типа до первого символа табуляции задают отображаемую в дереве виртуа­льной файловой системы информацию. Интерфейсы-клиенты ото­бражают эту информацию в виде идентификатора входа в элемент файловой системы. Тип информации обычно может отображаться в виде изображения (иконки) соответствующего типа в графических интерфейсах или символа. Таким образом пользователю дается подсказка, с каким типом данных или программ он будет иметь дело, если выберет тот или иной вход в виртуальную файловую сис­тему Gopher. Следующее за идентификатором поле — строка-селек­тор, которую клиент отсылает на сервер, если пользователь выбрал данный вход.

За селектором следует доменный адрес Gopher-сервера, затем номер порта, по которому осуществляется взаимодействие. Обычно это порт 70, но можно указать и другой, на котором есть обслужива­ние Gopher-клиента.

Рассмотрим более подробно детали взаимодействия по протоко­лу Gopher, начиная с адресации ресурсов Gopher.

Адрес информационного ресурса . Документы или любые другие объекты, с которыми работает система, определяются триадой стро­ка-селектор, доменный адрес сервера и порт. Предполагается, что су­ществует сервер верхнего уровня, в котором зарегистрированы сер­веры нижнего уровня (центральный сер­вер, в котором регистрируются другие серверы). При такой организации виртуальная файловая система Gopher совпадает с то­пологией сети компьютеров организации. Следует отметить, что строгое соблюдение иерархии не является обязательным. Серверы нижнего уровня могу ссылаться друг на друга непосредственно, а не через сервер верхнего уровня. Из этого следует, что физическая структура связей Gopher может иметь форму графа произвольного типа, а не только дерева.

Переносимость и имена . При реализации Gopher-сети рекомен­дуется использовать механизм синонимов. Доменные имена в сети могут меняться (гораздо реже, чем IP-адреса, но это все-таки воз­можно). Синоним можно связать с любым новым именем, и это не приведет к разрушению дерева Gopher. Изменять же во всех доку­ментах старые имена на новые — работа довольно трудоемкая, а иногда и невыполнимая, поскольку какой-то сервер может оказать­ся за пределами ответственности одного администратора.

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

Подключение дополнительных ресурсов. Первый символ каждой строки определяет тип единицы хранения информации в виртуаль­ной файловой системе сервера. Возможно использо­вание других типов, позволяющих работать с различными ресурса­ми сети (FTP, Telnet, WWW) Такой подход позволяет разгрузить Gopher, если число обращений к серверу вели­ко. Кроме того, сам Gopher-сервер будет избавлен от необходимо­сти реализации большого количества протоколов и может передове­рить их обслуживание специализированным программам. Обычно обслуживание сторонних протоколов реализуется за счет запуска параллельных задач, которые работают с указанным ресурсом. Реа­льно это позволяет организовать многооконный интерфейс к ресур­сам Internet.

С другой стороны, доступ к ресурсам сети может быть осущест­влен и при помощи другого механизма, который называют шлюзом. Существуют шлюзы Gopher-FTP, Gopher-WAIS, Gopher-WWW и др. Разница между первым и вторым способами заключается в том, что при вызове внешней программы и сессии Gopher и дру­гие сессии существуют параллельно. При шлюзовой технологии все взаимодействия осуществляются через сервер Gopher.

Программы-клиенты. Программа-клиент посылает строку-селек­тор серверу для того, чтобы получить от него ответ на этот запрос. Сервер может не только управлять файлами или директориями, но и содержать другую информацию, а также другие серверы. Клиент обычно имеет стек, в котором хранится информация о пути обхода дерева Gopher. Такая информация необходима для «отката» .

Некоторые клиенты сохраняют не только информацию о прой­денных узлах, но и тексты этих узлов. Такой подход позволяет со­кратить время обращения к документу и разгружает сеть.

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

Gopher-серверы. Известны два вида стандартных серверов: обычные, или общие, серверы, обеспечивающие доступ к ресурсам файловой системы (файлам и директориям), и поисковые серверы, которые выполняют запросы, составленные из ключевых слов.

При использовании обычного сервера строка-селектор может быть именем файла или директории. Она никак не преобразуется при обмене по протоколу Gopher, и ее интерпретация целиком за­висит от алгоритмов, реализованных в сервере.

Известны два специальных сервера Gopher, телефонный справоч­ник (тип 2), работающий по протоколу CSO, и поисковый сервер (тип 7).

Сервер CSO был разработан для поддержки телефонной книги Университета Миннесоты и широко не применяется.

Поисковый сервер в ответ на запрос возвращает список доку­ментов, удовлетворяющих запросу. Если результат поиска не­обходимо обновить, то запрос обязательно надо выполнить заново, так как информация из буфера не соответствует текущему состоя­нию системы. Наиболее часто в качестве поисковых серверов испо­льзуются WAIS и Veronica.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]