Колонка редактора
Как это работает
Профессионал
Новости
Вопросы и ответы
Литература


Начальная страница
E-mail


Стандарты службы справочников

Введение

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

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

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

Эта статья посвящена способам создания глобального распределенного справочника, позволяющего получать достаточно произвольную информацию о различных объектах из любой точки мира. Такой справочник должен основываться на международном стандарте. Как теле фон, он должен быть способен работать с продуктами любых производителей, если только они удовлетворяют стандарту. Решения на базе глобальных стандартов обычно появляются на рынке позже, чем корпоративные решения, и имеют несчастливое свойство не удовлетво рять полностью ни одного из действующих на этот момент производителей, зато они дают возможность создать действительно глобальную услугу. Здесь мы не будем говорить о справочных службах (иногда их в русском переводе называют также службой каталогов, хотя по-английски это одно и то же - Directory services) корпоративных стандартов, таких, как превосходная Novell Directory Service или ожидаемый Microsoft Active Directory, а остановимся на протоколе X.500 и, в меньшей степени, LDAP.

Стандарт Справочника X.500 разработан Международным Союзом Электросвязи, организации, создавшей, в частности, стандарты X.25 и X.400. Что касается X.400, первый вариант стандарта имел существенные недоработки, которые были исправлены в версиях 1988, 19 92 и 1993 годов.

X.500 представляет собой группу стандартов Справочника. Первая его версия появилась в 1988 году, затем она дорабатывалась в 1993 и 1996 годах. X.500 предлагает описание модели, услуг и протоколов взаимодействия справочных систем и является частью модел и Взаимодействия Открытых Систем (ВОС, OSI). Главная его цель - позволить разнообразным системам образовать единый Справочник. С этой точки зрения X.500, как и другие стандарты OSI, определяет правила "внешнего" поведения систем, с минимальными предположениями об их внутреннем устройстве.

Справочник X.500 может содержать сетевую информацию, адреса e-mail, телефонные номера и другую информацию, например, касающуюся идентификации и авторизации пользователей. Услуги Справочника могут предоставляться как другим приложениям, так и конечным п ользователям. Человек может искать в Справочнике номер телефона, а приложение - например, сетевой адрес какого - либо другого процесса.

Необходимость X.500

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

  • Рост Internet, предоставившей дешевую возможность связи различных почтовых систем
  • Развитие стандарта X.400, создавшего основу общедоступных почтовых систем высокой надежности

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

С появлением World Wide Web необходимость в таком справочнике стала еще более очевидной. Адрес Web еще более эфемерен, чем E-Mail, и каждому пользователю браузера знакомо сообщение Error 404, URL not found. Как и X.400, создававшийся как основа глобаль ной сети электронной почты, X.500 отвечает потребности в масштабируемом, стандартизованном, распределенном справочнике, деляющем сетевую информацию доступной всем.

Что должен уметь делать Справочник

Давайте посмотрим, что можно ожидать от такого Справочника. Важнейшая его функция - запоминание и проверка имен, чтобы пользователь мог искать в Справочнике, например, имя Petr Ivanov, а не сложный и трудно запоминаемый адрес E-Mail.

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

Как реализуются справочники

Существует большое число приложений, осуществляющих отображение сетевых имен в адреса, например, служба имен доменов (DNS) Internet. Аналогично, пакеты электронной почты для LAN имеют свои собственные услуги адресных книг, которые обычно умеют лишь зад авать мнемонические имена для адресов E-Mail. Полные пакеты X.500 позволяют делать сложный поиск, синхронизацию и управлять политикой доступа и безопасности.

Такие системы идеально подходят для информации, распределенной по многим местам. Управление доступом позволяет каждой группе пользователей получать ту информацию, которая ей нужна, в то же время единое администрирование снижает цену обслуживания систем ы. Справочник также нужен операторам сети, предоставляющим услуги E-Mail. Безусловно, глобальная электронная почта невозможна без Справочника.

Качества Справочника

Все мы выросли на схеме адресации, принятой в Internet - RFC822, свыклись с ней и считаем ее едва ли не идеальной. user@dol.ru легко запомнить и достаточно легко истолковать (правда, в нашем примере надо знать, что есть такая служба - Demos On-Line). Т ем не менее у этой схемы есть ряд недостатков. Она не слишком хорошо приспособлена для нужд организаций - не отражает иерархическую структуру. Часто встречаются непонятные коды экзотических стран (какой код у Кореи?). Иерархия лучше проработана в X.400, в опросы гибкости и расширяемости разрешаются в X.500. Естественно, необходима высокая производительность и расширяемая структура базы данных, которая должна уметь взаимодействовать с обычными коммерческими БД, например, посредством SQL.

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

Следующий уровень - реплицирование наиболее часто запрашиваемой информации. Оно строится на механизме ведущих / ведомых серверов (master/slave), когда один ведущий сервер занимается тем, что рассылает реплики своей информации по ведомым. Кэширование - это другой способ реплицирования информации, при котором сервер хранит у себя копию наиболее часто запрашиваемой информации, которая официально хранится на другом сервере. Кэширование легко реализовать, но оно не дает гарантии актуальности полученной из к эша информации и создает проблемы с разграничением прав доступа. Алгоритм синхронизации частично снимает эти проблемы, используя расписание обновлений информации, позволяющее найти компромисс между актуальностью данных и сетевым трафиком. Распределение - это простейший способ синхронизации, при его использовании информация движется в одну сторону и принимающий сервер не запрашивается, нужно ли ему обновление или нет.

Все эти способы реализуют уровень актуальности данных, известный как временное несоответствие (transient inconsistency). Поскольку протоколы X.500 предназначены для использования в среде из сотен одновременно действующих серверов, они, в отличие от про токолов, основанных на транзакциях (например, Systems Network Architecture IBM), смиряются с тем, что в какой-то части системы в какой-то момент может находиться устаревшая информация, и пытаются достичь того уровня актуальности данных, который допустим б ез перегрузки сети. Вводная глава стандарта X.500 прямо говорит, что система планировалась, исходя из предположения, что операции чтения будут производиться значительно чаще, чем операции обновления информации.

Реализации X.500 могут сильно отличаться в рамках вышеописанной стратегии. Лучшие продукты используют графический интерфейс администратора базы данных, позволяют легко добавлять и удалять объекты, умеют автоматически регистрировать себя на взаимодейств ующих серверах и обновлять их маршрутные таблицы.

Модель услуг Справочника X.500

X.500 является протоколом уровня приложения семиуровневой модели ВОС и использует соответствующие услуги нижележащих уровней, называемые Элементами Услуг (Service Elements). Поскольку приложения должны взаимодействовать между собой, им необходимо устан овить соединение. Эта задача выполняется Элементом Службы Управления Соединением (Association Control Service Element, ACSE). После установления соединения становятся возможны удаленные операции, управляемые Элементом Службы Удаленных Операций (Remote Ope rations Service Element, ROSE). Поскольку приложения могут исполняться на различных компьютерах, необходим платформно-независимый язык описания структур, называемый Нотацией Абстрактного Синтаксиса 1 (Abstract Syntax Notation One, ASN.1).

Характеристики X.500

Стандарт X.500 характеризуется следующими основными свойствами:

  • Возможность доступа из произвольных приложений
  • Распределенность (пользователь видит единый Справочник)
  • Доступ из различных мест для одного пользователя, доступ различных пользователей из одного места
  • Функции поиска и запроса
  • Поддержка различных транспортных протоколов
  • Шлюзы в системы третьих фирм


Страница 2 >>