Автор работы: Пользователь скрыл имя, 10 Мая 2014 в 20:57, курсовая работа
Существует значительное число систем электронной почты, они отличаются реализацией протоколов и форматами передаваемых почтовых сообщений. Однако практически все почтовые системы в зависимости от стандартов, на которых они основываются, делятся на :
1. Системы, основанные на протоколе Х.400
2. Системы, основанные на протоколе SMTP
3. Системы на основе частных стандартов (например MS Mail, cc:Mail)
4. Гибридные системы (например MS Exchange Server)
1. Обзор существующих систем электронной почты
Существует значительное число систем электронной почты, они отличаются реализацией протоколов и форматами передаваемых почтовых сообщений. Однако практически все почтовые системы в зависимости от стандартов, на которых они основываются, делятся на :
1.1. Системы на базе X.400
X.400 представляет собой набор
рекомендаций по построению
Более поздние рекомендации описывают дополнительные протоколы и форматы передачи данных, корректируют неточности и/или изменяют трактовку более ранних. Исправления и дополнения к указанным спецификациям выпускаются ежегодно, однако существующие системы в подавляющем большинстве поддерживают рекомендации 1984 и/или 1988 годов.
На рисунке 1.2 приведена схема построения среды управления сообщениями (сетевая среда, Messaging Handling Environment или MHE). Эта схема является классической, и в терминах этой схемы может быть описана структура и принципы функционирования любой существующей почтовой системы на любой платформе.
Рис. 1.2. Схема построения среды управления сообщениями
Схема функционирования каждого почтового отделения (системы управления сообщениями, Messaging Handling Systems или MHS) реализуется в соответствии с технологией "клиент-сервер", когда почтовый сервер осуществляет обработку запросов, поступающих от почтовых клиентов (пользовательских агентов, User Agent или UA) . В качестве почтовых клиентов выступают программы электронной почты, установленные на компьютерах пользователей. Программы, исполняющие роль почтовых серверов, чаще всего устанавливаются на серверах сети.
Основными компонентами почтового сервера являются:
В зависимости от масштабности сети пересылка сообщений подсистемой передачи может выполняться либо напрямую почтовому серверу получателя, либо через промежуточные почтовые серверы в соответствии с правилами маршрутизации, определяемыми используемым протоколом обмена электронными сообщениями.
Хранилище сообщений каждого почтового сервера состоит из почтовых ящиков пользователей этого сервера, а также перевалочных почтовых ящиков, используемых для промежуточного хранения транзитных сообщений. Хранилище позволяет осуществлять отправку сообщений в наиболее удобное для почтового сервера время. Кроме того, хранилище не требует постоянного подключения к почтовому серверу компьютеров пользователей, что актуально для Internet. В этом случае почтовые клиенты могут извлекать предназначенные для пользователей сообщения при подключении к серверу.
Таким образом, основными способами отправки почтовых сообщений являются следующие:
К основным способам получения сообщений относятся:
Первые из перечисленных способов отправки и получения электронных сообщений используют в случае отсутствия постоянного подключения компьютеров пользователей к почтовому серверу, вторые- при постоянном подключении пользовательских компьютеров к сети.
В качестве дополнительного, но очень важного компонента почтового сервера выступает служба каталогов, поддерживающая имена, описания и адреса пользователей сети. В состав почтового клиента должна входить адресная книга, также предназначенная для хранения имен, описаний и адресов пользователей сети. Но в отличие от службы каталогов, хранящей всю справочную информацию, адресная книга заполняется пользователем. Адресная книга, по сути, является службой каталогов, поддерживаемой пользователем, и должна обеспечивать взаимодействие с общей службой каталогов сети.
Адресная книга и служба каталогов сети должны иметь возможность создания, сохранения и выборки списков рассылки. Список рассылки представляет собой группу электронных адресов, по которым можно одновременно отправить одно сообщение. Будучи отправлено на адрес списка рассылки, сообщение будет доставлено по всем входящим в него адресам.
Рассмотрим еще одно базовое понятие - собственно почтовое сообщение и его составляющие. Для описания формата сообщения в рекомендациях X.400 была принята привычная парадигма конверта (envelope) и содержимого (content) традиционных почтовых систем. Как и положено, конверт содержит исчерпывающую информацию о том, куда и кому должно быть доставлено письмо, обратный адрес отправителя и пометку о срочности доставки. При этом системе нет необходимости знать, что бы то ни было о содержимом письма. На основе информации, указанной на конверте, среда доставки выполняет необходимую маршрутизацию и передачу с возможным промежуточным хранением (store and forward). Роль перевалочных пунктов и средств транспортировки выполняют MTA. Конверт может иметь специальную пометку о необходимости установки на нем электронного "штампа" (trace information) каждым MTA, через который проходит сообщение на пути к адресату. Это, в частности, позволяет системе автоматически отслеживать возникновение почтовых петель. Формат конверта X.400 определяет спецификация P1, которая является общей для рекомендаций 1984 и 1988 годов. Формат содержимого определяется его функциональной нагрузкой. Поскольку основной функцией MTS является передача сообщений между людьми (персонами), для этого существует специальный тип содержимого, называемый интерперсональным сообщением (Inter Personal Message или IPM). Интерперсональное сообщение является составным объектом. На рисунке 1.4 приведена схема, поясняющая структуру электронного письма и IPM. IPM состоит из заголовка (header) и тела (body). Заголовок обычно включает в себя копию информации, указанной на конверте, и дополнительных полей, определяющих расширенные свойства сообщения. Тело в свою очередь может быть составным и включать различные типы информации, такие как плоский текст, графика, документы различных форматов, вложенные сообщения и т.д. Отдельные части сообщения именуются body parts. В настоящее время используются два формата IPM, различающиеся набором поддерживаемых типов данных и правил кодирования текста, содержащего символы национальных алфавитов: P2, используемый в системах X.400 1984 года, и P22, используемый в системах X.400 1988 года. Эти форматы совместимы снизу вверх, т.е. системы 1988 года могут работать как с содержимым в формате P2 так и P22.
Рис. 1.4. Структура сообщения X.400
Еще один тип содержимого сообщений X.400 - интерперсональная нотификация (Inter Personal Notification). Нотификация используется для автоматического уведомления отправителя о факте доставки и/или прочтения, посланного им сообщения. IPN представляет собой плоский текст произвольного содержания в формате US-ASCII. Прочие типы содержимого несут служебную нагрузку и используются исключительно для взаимодействия систем между собой.
Несмотря на мощную теоретическую базу и практически безупречный архитектурный дизайн, семейство протоколов X.400 не получило широкого распространения за пределами государственных и банковских учреждений. Ахиллесовой пятой этого стандарта явились чрезмерная сложность реализации и значительная стоимость внедрения и эксплуатации систем на его основе. Отсутствие свободного доступа к стандартам и проблемы несовместимости MTA версий 1984 и 1988 годов также отрицательно сказались на темпах внедрения X.400 в качестве глобальной среды передачи данных.
1.2. Системы на базе SMTP
SMTP (Simple Message Transfer Protocol), или в дословном переводе простой протокол передачи сообщений, был рожден в среде UNIX и предназначался исключительно для общения между собой почтовых серверов.
В связи с бурным ростом Internet, на сегодняшний момент SMTP, как протокол передачи сообщений, приобрел статус стандарта де-факто. Практически все производители пакетов электронной почты либо поддерживают протокол SMTP как базовый, либо на уровне шлюзов. В большой степени такая популярность объясняется сравнительной простотой реализации и широкими возможностями расширяемости без ущерба для обратной совместимости с существующими версиями почтовых систем. Немаловажным фактором является также широкая доступность спецификаций и отсутствие необходимости отчислять средства за их использование.
SMTP-системы за последнее
Начальная версия протокола SMTP поддерживала ограниченный набор команд и сервисов для приема и передачи сообщений. В последнее время был разработан его расширенный вариант (Extended или ESMTP), обеспечивающий стандартную возможность дальнейшего расширения и поддержку таких функций как подтверждение доставки (Delivery Notification Request или DNR), согласование максимального допустимого размера сообщений, передаваемых между серверами и принудительная инициация передачи накопленной почты (dequeue). Однако одной из слабых сторон на данный момент SMTP было и продолжает быть отсутствие возможности аутентификации входящих соединений, шифрования диалога и потока передачи данных между серверами.
Отсутствие средств аутентификации входящих соединений не позволило использовать SMTP для обслуживания клиентского доступа. Классическая почтовая SMTP-система требует наличия файлового доступа клиента к своему почтовому ящику для получения и работы с сообщениями. Для реализации работы в режиме клиент-сервер был создан протокол обслуживания почтового офиса (Post Office Protocol или POP). Наиболее удачной оказалась версия POP3, широко используемая в современных SMTP-системах. Наиболее продвинутые реализации поддерживают аутентификацию с шифрованием имени и пароля и шифрование трафика по протоколу Secure Socket Layer (SSL). Однако, при использовании протокола POP3 отсутствует возможность просмотра характеристик сообщения без предварительной загрузки его на станцию клиента. Для решения проблемы просмотра и манипуляции свойствами почтового сообщения непосредственно на сервере, а также преодоления ряда других функциональных ограничений был разработан протокол IMAP4, его поддержка в большинстве коммерческих систем ожидается в ближайшем будущем. Следует заметить, что как для случая использования классического клиента (команда mail), так и для случая применения POP3 или IMAP4 отправка подготовленных клиентом сообщений требует наличия сервера SMTP. На рисунке 1.6 приведена схема представления типичной SMTP-системы, использующей как традиционный для ОС UNIX файловый метод доступа к почтовому ящику, так и доступ по протоколам POP3 и IMAP4.
Рис. 1.6. Схема типичной SMTP-системы с поддержкой POP3 и IMAP4
Изначально SMTP-системы рассчитывались на передачу информации исключительно в текстовом виде и не были ориентированы на передачу символов национальных алфавитов, т.е. использовали 7-битный набор символов. Для решения проблемы передачи двоичных файлов был разработан стандарт UUENCODE, позволяющий внедрять предварительно преобразованные из бинарного в текстовый вид произвольные данные непосредственно в текст сообщения. Однако всеобъемлющим данный подход назвать было трудно, ибо в общем случае никакой информации о природе вложения (типе передаваемых данных и породившем их приложении) принимающая сторона не имела. По мере расширения сети Internet, усложнения программного обеспечения и активного внедрения мультимедиа назрела необходимость создания универсального формата типизации и представления двоичных данных и текста, содержащего национальные символы. Таким универсальным форматом стали многофункциональные расширения почты Internet (Multipurpose Internet Mail Extensions или MIME). Формат MIME оказался чрезвычайно удачным, поскольку в него были заложены возможности неограниченного расширения, как поддерживаемых типов данных, так и национальных кодировок.
Сообщение SMTP, подобно сообщению X.400, использует понятия конверта и содержимого, которое в свою очередь имеет заголовок и тело. Функциональное назначение их полностью идентично. Состав полей в заголовке определяется форматом тела сообщения (UUENCODE или MIME). Ни одно поле не является обязательным, но, как правило, указываются такие поля как, кому (To:), от кого (From:) и тема (Subject:). В случае использования формата MIME, в заголовке обязательно должна присутствовать строка "MIME-Version: 1.0
Отличительной особенностью SMTP-систем является то, что в них, как правило, обеспечивается фактическая независимость процесса передачи от формата содержимого. За интерпретацию содержимого должна отвечать только клиентская программа (mail reader). Однако платой за совместимость на уровне MTA в данном случае является неэффективность передачи любых нетекстовых данных или сообщений, использующих символы национальных алфавитов, вследствие предварительной трансляции информации в текстовое представление. В зависимости от используемого алгоритма преобразования размер фактически передаваемых данных может возрасти на 30-100%.
Немаловажной проблемой при передаче данных через SMTP-системы является обеспечение конфиденциальности. Поскольку сообщения передаются в текстовом виде, они могут быть легко перехвачены и произвольным образом изменены. Для решения проблем с защитой информации был создан стандарт на шифрование тела сообщения, так называемый засекреченные многофункциональные расширения почты (Secure MIME или S/MIME). Однако, этот протокол не в состоянии защитить от перехвата заголовки сообщений.