72d145f36868320082f4aa11edeca8a3.ppt
- Количество слайдов: 54
Лекция № 5. Именование
УЧЕБНЫЕ ВОПРСЫ 1. Именованные сущности 2. Размещение мобильных сущностей
Вопрос № 1 Имя в распределенной системе представляет собой строку битов, или символов, используемую для ссылки на сущность. Сущностью в распределенной системе является практически все. Типичными примерами являются ресурсы, включая хосты, принтеры, диски, файлы. Другие хорошо известные примеры сущностей, часто получающие имена, — это процессы, пользователи, почтовые ящики, группы новостей, web-страницы, графические окна, сообщения, сетевые соединения и т. д.
Вопрос № 1 Чтобы работать с сущностью, необходимо иметь к ней доступ, для которого мы используем точку доступа (access point). Точка доступа — это еще один специальный вид сущности в распределенных системах. Имя точки доступа называется адресом (address). Адрес точки доступа сущности часто называют просто адресом сущности.
Вопрос № 1 Точка доступа сущности может с течением времени изменяться. Если для ссылки на сущность использовать адрес, то после изменения точки входа или назначения ее другой сущности мы получим неверную ссылку.
Вопрос № 1 Имя сущности, не связанное с ее адресами, часто значительно проще и удобнее. Такие имена мы называем локально независимыми (local independent).
Вопрос № 1 Правильный идентификатор (true identifier) — это имя со следующими свойствами: • идентификатор ссылается не более чем на одну сущность; • на каждую сущность ссылается не более одного идентификатора; • идентификатор всегда ссылается на одну и ту же сущность (то есть не может быть использован повторно).
Вопрос № 1 Имена в распределенных системах организуются в некоторую сущность, которая носит название пространства имен (name space). Пространство имен может быть представлено как направленный граф с двумя типами узлов. Листовой узел (leaf node), или лист, представлен именованной сущностью и не имеет исходящих из него ребер. Листовой узел обычно содержит информацию о представляемой сущности — например, ее адрес, — к которой имеют доступ клиенты.
Вопрос № 1 Направляющий узел (directory node) имеет несколько исходящих из него ребер, каждое их которых именовано. Направляющий узел хранит таблицу, в которой все исходящие ребра представлены в виде пар (метка ребра, идентификатор узла). Эта таблица называется направляющей таблицей (directory table).
Вопрос № 1 Рис. 1. Обобщенный граф именования с одним корневым узлом
Вопрос № 1 Граф именования, показанный на рисунке, имеет один узел, а именно n 0, у которого имеются только исходящие ребра. Входящих ребер у него нет. Такой узел называется корневым узлом (root node), или корнем, графа именования. Любой путь в графе именования должен быть представлен последовательностью меток, соответствующих ребрам графа, например: N: <label-1 , label-2, label-n>
Вопрос № 1 Здесь N соответствует первому из узлов пути. Эта последовательность называется именем пути (path пате). Если первый узел пути — корень графа именования, это имя называется абсолютным именем пути (absolute path пате). В противном случае оно называется относительным именем пути (relative path name). Имя всегда определяется только относительно направляющего узла.
Вопрос № 1 Глобальным именем (global пате) называется имя, которое обозначает одну и ту же сущность, вне зависимости от того, где в системе оно используется. Локальное имя (local пате) — это имя, интерпретация которого зависит от того, где это имя используется.
Вопрос № 1 В общем виде, зная имя пути, можно извлечь всю информацию, которая хранится в узле, соответствующем этому имени. Процесс поиска информации называется разрешением имени (name resolution).
Вопрос № 1 Разрешение имен может происходить только в том случае, если известно, откуда и как начать. Знание того, откуда и как начинать разрешение имен, называется механизмом свертывания (closure mechanism). По существу, механизм свертывания относится к выбору начального узла пространства имен, с которого должно начинаться разрешение имени
Вопрос № 1 С разрешением имен связано использование псевдонимов (aliases). Псевдоним — это другое имя той же сущности. В понятиях графа именования существует два основных способа реализации псевдонимов. • Первый способ — просто предоставление нескольких абсолютных путей к каждому узлу графа именования. • Другой подход соответствует использованию символических ссылок (symbolic links)
Вопрос № 1 Рис. 2. Концепция символической ссылки в графе именования
Вопрос № 1 Монтируемая файловая система — это система, в которой направляющий узел хранит идентификатор направляющего узла другого пространства имен, называемого внешним пространством имен. Направляющий узел, содержащий такой идентификатор узла, называется монтажной точкой (mount point). Соответственно, направляющий узел во внешнем пространстве имен называется точкой монтирования (mounting point).
Вопрос № 1 Чтобы смонтировать внешнее пространство имен в распределенной системе, необходима как минимум следующая информация: + имя протокола доступа; + имя сервера; + имя монтирующей точки во внешнем пространстве имен.
Вопрос № 1 Другой подход, применяемый в глобальной службе имен (Global Name Service, GNS) компании DEC, состоит в том, чтобы создать новый корневой узел, а существующие корневые узлы сделать дочерними от него
Вопрос № 1 Рис. 3. Организация глобальной службы имен компании DEC
Вопрос № 1 Для эффективной реализации этого пространства имен удобно разбить его на логические уровни. В [98] выделяют три уровня: + глобальный уровень; + административный уровень; + управленческий уровень.
Вопрос № 1 Глобальный уровень (global layer) формируется узлами верхнего уровня, то есть корневыми узлами и другими направляющими узлами, которые логически связаны с корневыми, то есть их дочерними узлами. Узлы глобального уровня обычно характеризуются своей стабильностью
Вопрос № 1 Административный уровень (administrational layer) формируется из направляющих узлов, которые вместе представляют одну организацию. Характерной чертой направляющих узлов административного уровня является то, что они представляют группы сущностей, относящихся к одной и той же организации или административной единице.
Вопрос № 1 Управленческий уровень (managerial layer) состоит из узлов, которые обычно регулярно изменяются. Например, в этот уровень входят узлы, представляющие хосты локальной сети.
Вопрос № 1 Высокая доступность особенно важна для серверов имен глобального уровня. Если происходит сбой сервера имен, большая часть пространства имен оказывается недоступной, поскольку разрешение имен не может «перескочить через голову» иерархии имен на оконечные серверы.
Вопрос № 1 Рис. 4. Пример разбиения пространства имен DNS на три уровня
Вопрос № 1 Пространство имен разделено на неперекрывающиеся части, которые в DNS называются зонами (zones). Зона — это часть пространства имен, реализованная отдельным сервером имен (некоторые из зон показаны на рисунке).
Вопрос № 1 Способы реализации разрешения имен • итеративное разрешение имени • рекурсивное разрешение имени
Вопрос № 1 При итеративном разрешении имени (iterative name resolution) процедура разрешения имен передает полное имя корневому серверу имен. Предполагается, что адрес корневого сервера, с которым контактирует процедура разрешения имен, общеизвестен. Корневой сервер разрешит ту часть пути, которую сможет, и вернет результат клиенту, т. е. вернет адрес сервера имен, ассоциированного с частью пути. После этого клиент передаст этому серверу имен оставшуюся часть пути, и т. д.
Вопрос № 1 Рис. 5. Принцип итеративного разрешения имен.
Вопрос № 1 При рекурсивном разрешении имени (recursive name resolution) сервер имен передает эти результаты следующему обнаруженному серверу имен.
Вопрос № 1 Рис. 6. Принцип рекурсивного разрешения имен.
Вопрос № 2 Проблемы традиционных систем именования Рассмотрим изменение адреса ftp. cs. vu. nl, например, из-за переноса FTP-сервера на другую машину. До тех пор пока сервер будет оставаться на машине, входящей в домен cs. vu. nl, обновление можно выполнить быстро. В этом случае изменению подвергнется только база данных DNS сервера имен cs. vu. nl. Поиск будет столь же эффективен, как и ранее. Посмотрим теперь, что произойдет, если сервер ftp. cs. vu. nl придется переносить на машину с именем ftp. cs. umsa. edu. au, находящуюся в абсолютно другом домене.
Вопрос № 2 Существует два основных решения. Первое решение — записать адрес новой машины в базе данных DNS для cs. vu. nl. Второе решение — записать имя новой машины, а не ее адрес, включив fip. cs. vu. nl в символическую ссылку.
Вопрос № 2 Запись адреса новой машины. Если сервер ftp. cs. vu. nl придется еще раз переносить на новую машину, придется обновлять и его элемент базы данных DNS в cs. vu. nl, а это может занимать значительное время. Использования символических ссылок Недостаток — добавление еще одного шага к операции поиска, т. е. теряется эффективность операций поиска.
Вопрос № 2 Наилучшее решение состоит в том, чтобы отделить именование сущностей от их размещения, введя идентификаторы, как показано на рис. 7, б. Рис. 7. Прямое одноуровневое отображение имен в адреса (а). Двухуровневое отображение с использованием идентификаторов (б).
Вопрос № 2 При поиске сущности средствами службы именования она возвращает идентификатор. Идентификатор может быть сохранен на локальной машине на любой необходимый срок, поскольку он не может ни начать указывать на другую сущность, ни измениться. Под каким именем он сохранен, не важно. Соответственно, когда этот идентификатор потребуется снова, его можно будет просто взять с локальной машины, не обращаясь к поиску средствами службы именования. Размещение сущности определяется посредством отдельной службы локализации (location service). Служба локализации, собственно, использует в качестве исходных данных идентификатор и возвращает текущий адрес соответствующей ему сущности. Если имеется несколько копий сущности, будет возвращено несколько адресов
Вопрос № 2 Реализация эффективной службы локализации
Вопрос № 2 Широковещательная и групповая рассылки Локализация сущности в такой среде проста: сообщение, содержащее идентификатор сущности, широковещательной рассылкой доносится до каждой машины и каждая из машин откликается на этот запрос проверкой, не на ней ли размещена эта сущность. Те машины, которые могут предоставить точку входа к искомой сущности, посылают ответное сообщение, содержащее адрес точки входа. Этот принцип использован в протоколе разрешения адресов (Address Resolution Protocol ARP) Интернета для поиска канального адреса машины, для которой известен только IРадрес
Вопрос № 2 Широковещательная и групповая рассылки Недостатки 1. Потеря пропускной способности сети на пересылку сообщений 2. Множество хостов вынуждены прерывать свою работу из-за запроса, на который они не будут отвечать
Вопрос № 2 Передача указателей Когда сущность перемещается из A в B она сохраняет ссылку на свое новое местоположение в А. Преимущество этого подхода — в его простоте: как только сущность локализуется при помощи, например, традиционной службы именования, клиент может найти ее текущий адрес, пройдя по цепочке переданных указателей.
Вопрос № 2 Передача указателей Недостатки 1. если не предпринимать специальных мер, цепочка может стать настолько длинной, что локализация сущности станет слишком дорогим удовольствием. 2. все промежуточные местоположения в цепочке должны поддерживать свою часть цепочки так долго, как это будет необходимо. 3. уязвимость к потере ссылок.
Вопрос № 2 Подходы на основе базовой точки Базовая точка (home location) – это место, из которого отслеживается текущее местоположение объекта. На практике базовой точкой обычно выбирается то место, где была создана сущность.
Вопрос № 2 Подходы на основе базовой точки Примером подхода является схема мобильного IР-адреса. Каждый мобильный хост имеет фиксированный IP-адрес. Всякая связь с этим IP-адресом изначально перенаправляется агенту базы (home agent) мобильного хоста. Этот агент находится в локальной сети, соответствующей сетевому адресу, содержащему IP-адрес мобильного хоста. Каждый раз, когда мобильный хост перемещается в другую сеть, он запрашивает временный адрес для связи. Этот адрес, который называется контрольным адресом (care-of address), регистрируется агентом базы.
Вопрос № 2 Подходы на основе базовой точки Когда агент базы получает от мобильного хоста пакет, он проверяет местонахождение хоста. Если хост находится в текущей локальной сети, пакет просто пересылается ему. В противном случае он передается туда, где в настоящее время находится хост, то есть помещается в виде данных в IP-пакет и пересылается на контрольный адрес. Одновременно отправитель пакета уведомляется о текущем местоположении хоста.
Вопрос № 2 Рис. 8. Принцип работы схемы мобильного IP-адреса В соответствии с рисунком схема мобильного IP-адреса работает следующим образом. 1. Отправка пакета хосту на его базу. 2. Возвращение текущего адреса. 3. Передача сигнального пакета по текущему адресу. 4. Передача последующих пакетов по текущему адресу.
Вопрос № 2 Подходы на основе базовой точки Недостатки • задержки связи • обязательная фиксированность базовой точки. То есть всегда должна бать гарантия существование базовой точки. В противном случае связаться с сущностью не удастся.
Вопрос № 2 Иерархические подходы В иерархической схеме сеть делится на домены (как в DNS). Домен верхнего уровня охватывает сеть целиком. Каждый домен делится на множество поддоменов. Домен самого нижнего уровня, называемый листовым доменом (leaf domain), обычно соответствует локальной сети в компьютерных сетях или соту в мобильной телефонии. Также аналогично DNS и другим иерархическим системам именования. Каждый домен D имеет ассоциированный с ним направляющий узел dir(D) который отслеживает сущности домена. Таким образом, мы получаем дерево направляющих узлов. Направляющий узел домена верхнего уровня, именуемый корневым направляющим узлом (root directory node), содержит сведения обо всех сущностях.
Вопрос № 2 Рис. 9. Иерархическая организация службы локализации в виде доменов, каждый из которых имеет ассоциированный с ним направляющий узел
Вопрос № 2 Иерархические подходы. Операции обновления Рассмотрим сущность Е, для которой в листовом домене D была создана реплика. Необходимо вставить в направляющий узел адрес этой реплики. Вставка начинается с листового узла dir(D) домена Д который немедленно пересылает запрос на вставку своему родителю. Родитель также пересылает запрос на вставку, и так до тех пор, пока он не достигнет направляющего узла М, в котором уже имеется локализующая запись для Е.
Вопрос № 2 Рис. 10. Запрос на вставку
Вопрос № 2 Иерархические подходы. Операция поиска Клиент, желающий найти сущность Е, посылает запрос на поиск направляющему узлу листового домена D, к которому этот клиент прикреплен. Если направляющий узел не содержит локализующей записи для этой сущности, узел пересылает запрос своему родителю. Если и родительский домен не содержит локализующей записи для Е, запрос на поиск передается уровнем выше и т. д. После того как запрос достигнет направляющего узла М, где хранится локализующая запись для сущности Е, становится известно, что Е находится где-то в домене dom(M), содержимое которого отражено на узле М. Запрос на поиск будет переслан направляющему узлу этого поддомена, который в свою очередь переправит его дальше, вниз по дереву, пока он не достигнет листового узла. Локализующая запись, хранящаяся на листовом узле, содержит адрес сущности Е в этом листовом домене. Этот адрес и будет возвращен клиенту, инициировавшему поиск.
Вопрос № 2 Рис. 11. Поиск сущности в иерархической службе локализации
72d145f36868320082f4aa11edeca8a3.ppt