16.4 Пересылка почтового сообщения
Почему MTA пересылает сообщение через промежуточные хосты, а не соединяется непосредственно с системой назначения? Когда хост использует прямое соединение, должна быть уверенность в том, что сообщение достигнет конечной точки. Пересылка через промежуточные MTA требует дополнительных ресурсов и создания нескольких отдельных соединений. При пересылке нужно точно указать путь следования сообщения, иначе оно может отправиться по неэффективному маршруту.
16.4.1 Сценарий доставки почтового сообщения
Для понимания работы механизма "сохранить-и-переслать" проанализируем сценарий, приведенный на рис. 16.5. Фред работает в компании ABC Industries. Он оправляет почтовое сообщение Мери из компании JCN Computer. Компьютер Фреда является рабочей станцией локальной сети, включенной большую часть суток. Рабочая станция посылает и получает почтовые сообщения через сервер доставки своей локальной сети.
Рис. 16.5. Пересылка сообщения электронной почты
Обе компании реализуют средства защиты от внешнего доступа. Обмен почтой с внешним миром может проводиться только через специально выделенный сетевой хост для доставки почты (Mail Exchanger). Каждая компания соединена с внешним миром через маршрутизатор, блокирующий весь входной трафик, за исключением соединений с портом почты (25) на хосте почтовой доставки.
В локальной сети Фреда для работы с почтой используется лицензированный программный продукт, а в сети Мери — протокол TCP/IP.
Как видно на рис. 16.5, почтовое сообщение с настольного компьютера Фреда на сервер локальной сети пересылается по лицензированному почтовому протоколу. Сервер сети является программным шлюзом для трансляции между форматом лицензированного почтового программного обеспечения и форматом сообщений Интернета. После шлюза сообщение поступает на хост доставки почты компании ABC. Далее оно пересылается по внешней сети (в нашем случае — Интернет) на хост доставки компании JCN. Затем почтовое сообщение попадает на почтовый сервер локальной сети Мери, где и хранится, пока Мери не соединится с сервером и не извлечет сообщение через протокол POP.
Предложенный сценарий выявляет несколько преимуществ данного способа:
■ Персональные компьютеры и рабочие станции передают серверу локальной сети права на отправку исходящих сообщений и хранение поступивших сообщений электронной почты.
■ Сотрудники компании могут использовать электронную почту, но при этом сохраняются все требования к защите сети, поскольку почта пересылается по туннелю через систему почтового обмена.
■ Снижаются затраты на пересылку, поскольку сообщения могут пакетироваться для одновременной доставки в любое время суток.
■ При доставке может происходить преобразование формата.
В следующем разделе мы подробнее рассмотрим механизмы семейства протоколов TCP/IP, поддерживающие расширенные возможности доставки электронной почты.
16.5 Идентификация получателя и обмен сообщениями
В Интернете получатель почтового сообщения идентифицируется по имени с использованием следующего общего формата:
локальная_часть@имя_домена
Этот формат очень гибок. Многие годы в Интернете предпочитали формат с использованием имен:
идентификатор_пользователя@имя_хоста
Например:
smithm@sales.chicago.jcn.com.
В настоящее время применяется более удобный формат:
имя-фамилия@имя_почтового_домена
Например:
Mary-Smith@jcn.com
В этом случае Mary-Smith — это не идентификатор пользователя, а jcn.com — не имя хоста. Применяются локальные имена, назначенные в системе почтового обмена. Как же тогда доставлять почту адресату? Механизм почтовой доставки зависит от системы имен доменов. Его работа будет сводиться к следующему:
■ Один или несколько компьютеров назначаются в качестве систем почтовой доставки для данной организации.
■ Для системы почтовой доставки выбирается логическое имя, обычно имя домена организации, которое и включается в базу данных DNS.
■ Программа агента пересылки сообщения (MTA) будет просматривать в адресе сообщения часть, связанную с именем почтового домена, и на ее основе извлекать из DNS реальные имена и адреса системы почтового обмена получателя. Затем туда будет направлено сообщение.
Ниже представлен пример выполняемых действий. Запускается программа nslookup и запрашивается идентификатор системы почтовой доставки (Mail Exchanger) компании Cisco. Как можно заметить, реально выведены сведения о двух системах — hubbub.cisco.com и beasley.cicso.com. Для большей доступности своих почтовых служб многие компании запускают несколько систем почтового обмена.
Отметим выведенные значения предпочтения (preference), равные 5 и 10. Более предпочтительным для отправки почты будет сервер с меньшим номером (hubbub). Именно с ним нужно попытаться соединиться. Если же это будет невозможно, попробуем соединиться с beasley. Реально сами значения предпочтения не имеют никакого смысла, важно только соотношение между ними.
> nslookup
Default Server: DEPT-GW.cs.YALE.EDU
Address: 128.36.0.36
> set type = mx
> cisco.com
Cisco.com preference = 5, mail exchanger = hubbub.cisco.com
Cisco.com preference = 10, mail exchanger = beasley.cisco.com
Hubbub.cisco.com inet address = 198.92.30.32
Beasley.cisco.com inet address = 171.69.2.135
Dennis.cisco.com inet address = 171.69.2.132
Nsl.barrnet.net inet address = 131.119.245.5
Noc.near.net inet address = 198.112.8.2
Noc.near.net inet address = 192.52.71.21
Следующий запрос показывает, как некоторые организации реализуют дополнительный слой безопасности. Отметим наличие сразу трех систем почтового обмена, две из которых фактически принадлежат провайдеру UUNET:
> clarinet.com
Server: DEPT-GW.cs.YALE.EDU
Address: 128.36.0.36
Clarinet.com preference = 10, mail exchanger = looking.clarinet.com
Clarinet.com preference = 100, mail exchanger = relay1.uu.net
Clarinet.com preference = 100, mail exchanger = relay2.uu.net
Looking.clarinet.com inet address = 192.54.253.1
Relay1.uu.net inet address = 192.48.96.5
Relay2.uu.net inet address = 192.48.96.7
>
Компания Clarinet могла бы организовать свою сеть так, чтобы поступающая почта сначала направлялась на одну из систем UUNET, а затем передавалась на looking.clarinet.com.
На рис. 16.6 показано, как это можно сделать. Фильтрующий маршрутизатор нужно установить на блокирование всех соединений, за исключением связи с системой почтовой доставки провайдера UUNET. Внешняя система попробует соединиться с наиболее предпочтительным сайтом looking.clarinet.com. Однако маршрутизатор предотвратит такое соединение. Поэтому в следующей попытке почта будет направлена на один из менее предпочтительных сайтов relay1 или relay2. Теперь система UUNET сможет переслать почту системе почтового обмена компании Clarinet.