
Введение в корпоративные сети
.doc1.2.5.4. Адресация в SMTP. В системах на базе SMTP используется интуитивно понятная, простая и одновременно очень мощная иерархическая схема адресации, аналогичная той, что принята в службе имен Internet (Domain Name Services или DNS). Данная схема может обеспечить уникальность адреса практически неограниченному числу пользователей. Почтовый адрес SMTP записывается в следующем виде:
mailbox@domain
где mailbox — символическое имя почтового ящика пользователя (длиной до 63 символов), a domain — уникальное имя почтового домена, в котором зарегистрирован упомянутый пользователь (длиной до 255 символов). Сочетание имен почтового ящика и почтового домена образует уникальный идентификатор пользователя.
Почтовый домен хранит полную информацию о положении системы в иерархии почтового пространства организации (рис. 1.26). В имени домена имя каждого следующего уровня иерархии отделяется от предыдущего точкой. Разбор имени домена выполняется справа налево. Самый верхний уровень, называемый корневым доменом, соответствует либо типу организации (например, corn — коммерческая, gov — государственная, org — общественная), либо географическому региону (например, ru — Россия, a fr — Франция). Следующими в иерархии идут домены первого уровня, как правило, представляющие имя организации.
Рис. 1.26. Пример иерархической схемы адресации в SMTP
Регистрацией имен доменов первого уровня занимается международный центр Internet (Internet Network Information Center или InterNIC). За назначение имен доменов более низкого уровня чаще всего отвечают сами компании. Поскольку организациям не запрещается регистрировать для собственных нужд несколько параллельных доменов (например, spektr.spb.ru и spektr. corn), пользователь может иметь более одного SMTP-адреса. Кроме того, современные SMTP-системы зачастую позволяют назначать псевдонимы для самого почтового ящика.
В приведенном примере spektr.spb.ru является субдоменом spb.ru, который в свою очередь является субдоменом ru. Компания SPEKTR имеет два зарегистрированных имени, и каждый пользователь может иметь два почтовых адреса.
1.2.5.5. Маршрутизация в SMTP. Для того чтобы SMPT-сервер доставил почту на имя адресата ivanov@spektr.com, ему предварительно нужно узнать IP-адрес почтового сервера, обслуживающего домен spektr. corn, обратившись с соответствующим запросом к серверу DNS. В службе имен DNS предусмотрен специальный тип ресурсной записи для обслуживания такого рода запросов — MX или Mail Exchanger. Данная запись имеет следующий формат:
domain MX [cost] hostname
где domain — это имя почтового домена, к которому принадлежит адресат;
hostname — символическое имя почтового сервера, располагающего знаниями о том, как осуществлять дальнейшую доставку сообщения; cost — относительная стоимость доставки через этот компьютер. Для получения IP-адреса компьютера с именем hostname выполняется поиск адресной ресурсной записи в DNS. При наличии нескольких МХ-записей для одного и того же домена сначала будет выполнена попытка установить соединение с тем почтовым сервером, у которого стоимость доставки ниже. Если такой компьютер окажется недоступным или перегруженным, будут использоваться компьютеры с большими значениями стоимости.
Таким образом, чтобы доставить сообщение на имя адресата ivanov@spektr.com, сначала будет выполнен запрос к серверу DNS на получение списка ресурсных записей с типом MX. Если список не пуст, по имени компьютера с наименьшим значением стоимости доставки будет получен его адрес (опять же через DNS), после чего будет установлено соединение и отправлена почта. Если для домена spektr. corn нет МХ-записи, домен будет трактоваться как имя компьютера. Будет выполнена попытка получить его IP-адрес и доставить сообщение напрямую.
В связи с тем, что служба имен DNS полагается источником статической информации, схема маршрутизации сообщений SMTP является статической. В соответствии с протоколом SMTP в сетях, не имеющих прямого выхода в Internet и не использующих возможности МХ-записей DNS, могут использоваться отдельные статические таблицы маршрутизации почтовых сообщений.
В зависимости от возможностей маршрутизации SMTP-сервер может выступать в одной или нескольких из следующих ролей:
- mail exchanger — компьютер, непосредственно подключенный к Internet и выполняющий доставку сообщений напрямую адресатам внутри организации, к которой он принадлежит; в организации может быть несколько таких компьютеров с различными или одинаковыми значениями показателя стоимости доставки;
- relay — компьютер, выполняющий прием почтового трафика от лица других доменов, не имеющих непосредственного и/или постоянного подключения к Internet и, как правило, не принадлежащий к организациям, чьи домены он обслуживает; для каждого отдельного домена может быть определено не более одного relay-сервера;
- smart host — компьютер, который способен осуществлять пересылку сообщений на основе собственной статической таблицы маршрутизации;
- одной из функций smart host является переписывание на конверте адреса получателя и/или отправителя перед осуществлением дальнейшей передачи сообщения.
Большинство современных реализации SMTP-серверов позволяют сочетать все перечисленные функции на одном компьютере.
Передача новостей
В компьютерных сетях актуальной является не только задача оперативного обмена данными, но и тиражирования электронных сообщений для совместного использования информации различной тематики. Системы новостей, предназначенные для решения этой задачи, обеспечивают распространение посланных по каждой теме электронных статей всем подписавшимся на эту тему пользователям сети.
В системах новостей используются два основных метода тиражирования:
- отправка статей по спискам рассылки;
- использование распределенной базы новостей, статьи из которой пользователи получают сами.
В первом случае серверы тиражирования хранят у себя списки адресов подписчиков на статьи по различным темам. При необходимости тиражирования какой-либо статьи по определенной тематике пользователь отправляет данную статью в виде сообщения электронной почты по адресу соответствующего сервера. Тот, в свою очередь, рассылает копии данной статьи непосредственно по электронным адресам пользователей, подписавшихся на указанную в статье тему. Тиражирование статей на основе списков рассылки становится неэффективным при росте количества подписчиков. Это связано, прежде всего, со сложностью поддержания списков рассылки в актуальном состоянии, а также дополнительными требованиями по надежности функционирования серверов, осуществляющих рассылку.
Указанный недостаток устраняется при тиражировании путем использования распределенной базы новостей, статьи из которой пользователи получают сами. Данный способ тиражирования положен в основу службы USENET, являющейся наиболее популярной в сети Internet и ставшей общепризнанным стандартом для систем новостей.
Служба USENET изначально ориентирована на работу в архитектуре "клиент-сервер" и позволяет поддерживать базы новостей, распределенные между несколькими серверами с возможностью автоматической репликации вновь поступающих сообщений. Для взаимодействия серверов новостей друг с другом, а также клиентов с серверами был разработан протокол NNTP (Network News Transport Protocol — протокол передачи сетевых новостей).
В USENET используется формат и способ адресации сообщений, совпадающий с принятыми в SMTP-системах. Информация, специфическая для службы новостей, указывается в расширенных полях заголовка сообщения. Это позволяет разрабатывать клиентские программы для чтения почты и новостей на основе единого кода, а также использовать существующие сети SMTP для получения новостей в тех местах, где непосредственный доступ к серверу новостей по каким-либо причинам невозможен. Кроме того, применяются служебные сообщения, предназначенные для обмена управляющей информацией между серверами новостей. Благодаря служебным сообщениям упрощается процесс автоматического создания и удаления тематических групп новостей, а также ликвидации устаревших статей.
Вся информация, хранимая в USENET, представляется единым иерархическим деревом, организованным по тематическому признаку. В этом смысле USENET выступает в роли тематического каталога, содержащего мнения людей на ту или иную тему. Статьи, объединенные общей тематикой, помещаются в тематические группы, называемые группами новостей. Группы новостей, в свою очередь, могут содержаться внутри других групп, образовывая тематические иерархии. Каждый уровень иерархии называется категорией. В рамках категории группа имеет уникальное имя. Полное характерное имя группы получается последовательным добавлением слева направо имен категорий при движении вниз от корня по дереву иерархии. Имена категорий разделяются точкой. Например, имя relcom.comp.security соответствует группе новостей по компьютерной безопасности (comp.security) русскоязычной сети Relcom.
Иерархии или их отдельные ветви реплицируются между серверами новостей, образующими пространство USENET. В качестве единицы репликации выступает отдельная статья. При репликации используется схема издатель-подписчик. Каждый сервер USENET может быть подписан на некоторое подмножество групп, предоставляемых другими серверами. Одновременно он может публиковать некоторое подмножество групп, расположенных непосредственно на нем, в том числе группы, получаемые по подписке.
В терминах USENET репликация именуется заполнением (feed). В зависимости от того, какой сервер выступает инициатором этого процесса, различают два типа заполнения:
- вытягивание (pull feed), когда сервер, ожидающий поступления новых статей, сам обращается к своему издателю;
- проталкивание (push feed), когда сервер, имеющий у себя новые статьи, производит попытку передать их подписчику.
Еще одним немаловажным моментом службы USENET является возможность создания модерированных групп новостей. В модерируемой группе каж-дое новое сообщение автоматически перенаправляется лицу, выполняющему роль цензора или модератора. Если сообщение не противоречит уставу конференции и одобрено модератором, оно становится публично доступным для прочтения. В противном случае — просто удаляется.
Поскольку служба новостей изначально создавалась как средство ведения хранилища публично доступной информации, в ней не были предусмотрены функции назначения и проверки прав доступа на отдельные ветви каталога. Большинство существующих служб новостей способны выполнить лишь однократную проверку имени и пароля пользователя при установлении соединения с сервером, после удачного завершения которой все статьи становятся доступны клиенту. Кроме того, не предусмотрена возможность авторизации серверов и служебных сообщений. Как следствие этого, массовое применение USENET оправдано только для организации публичных групп новостей с анонимным режимом доступа.
Возможностями надежной проверки подлинности пользователей и разграничения их доступа к статьям по темам обладают системы электронной почты и новостей, специально разработанные для корпоративных сетей, например, система Microsoft Exchange, которая совместима со службой новостей USENET.