Протоколы ИнтернетРефераты >> Программирование и компьютеры >> Протоколы Интернет
Рис. 1. Работа агентов электронной почты
Пользовательские агенты. Самым первым пользовательским агентом была программа /bin/mail, разработанная AT&T. Сейчас есть несколько программ этого класса. Кроме того, существуют пользовательские агенты с графическим интерфейсом пользователя. Существует также стандарт, определяющий включение в почтовые сообщения объектов мультимедиа. Он называется MIME (Multipurpose Internet Mail Extensions) – многоцелевые расширения электронной почты для Internet. Этот стандарт поддерживают некоторые пользовательские агенты. Например, бесплатные пользовательские агенты для ОС UNIX – /bin/mail, pine, elm и др.
Elm представляет собой комбинацию почтового ящика с программой написания писем, в которой для перемещения между письмами используется меню. Большинство систем на основе Unix в настоящее время ее содержит.
Программа Pine построена на основе Elm, но включает некоторые усовершенствования, которые делают ее идеальной системой для новичка. Как и программа Elm, Pine начинается с меню. У нее есть также такая возможность, как "адресная книга", удобная в тех случаях, когда у людей бывают длинные или сложные адреса электронной почты. Затем, если вы хотите послать этому человеку сообщение, достаточно только ввести его имя или прозвище, а Pine автоматически вставит фактический адрес. Адресная книга также позволяет установить список рассылки. Эта возможность позволяет посылать одно и то же сообщение нескольким лицам одновременно. Но что действительно ставит Pine в особое положение - это его встроенный текстовый редактор. У него не только есть автоматический перенос слов в конце строки (самая революционная концепция, которая когда-либо рождалась на свет), у него есть еще и контроль правописания и команда поиска.
Транспортные агенты. Задача транспортного агента – принимать почту от пользовательского агента, интерпретировать адреса получателей и каким-то образом перенаправлять почту на соответствующие машины для последующей доставки. Кроме того, транспортный агент должен принимать входящую почту от других транспортных агентов. Многие транспортные агенты «говорят» на языке протокола SMTP (Simple Mail Transport Protocol – простой протокол транспортировки почты), являющегося протоколом прикладного уровня и использующего транспортный протокол TCP, который определен в RFC821.
Для ОС UNIX разработано несколько транспортных агентов (MMDF, zmailer, smail, upas и другие), но самый мощный, самый гибкий и самый распространенный – sendmail.
Программа sendmail – транспортный агент, программа-связка между пользовательскими и доставочными агентами. Sendmail работает как почтовый курьер, который доставляет обычную почту в отделение связи для дальнейшей рассылки. В Unix-системах программа sendmail сама является отделением связи. Она сортирует почту и рассылает ее адресатам. Для пользователей персональных компьютеров, имеющих почтовые ящики на своих машинах и работающих с почтовыми серверами через коммутируемые телефонные линии, могут потребоваться дополнительные действия. Так, например, пользователи почтовой службы Relcom должны запускать программу UUPC, которая осуществляет доставку почты на почтовый сервер. Для Internet она является и доставочным агентом. Программа sendmail выполняет следующие задачи:
üуправление сообщениями после того, как они вышли из-под пальцев пользователя;
üразбор адресов получателей;
üвыбор соответствующего доставочного или транспортного агента;
üпреобразование адресов в форму, понятную доставочному агенту;
üнеобходимое переформатирование заголовков;
üпередачу преобразованного сообщения доставочному агенту.
Программа sendmail, кроме того, генерирует сообщения об ошибках и возвращает сообщения, которые не могут быть доставлены, отправителю.
Доставочные агенты. Доставочный агент отвечает за прием почты от транспортного агента и ее доставку соответствующим получателям. Почта может доставляться конкретному лицу, в список рассылки, в файл и даже в программу.
Для обслуживания получателя каждого типа может понадобиться отдельный агент. Программа /bin/mail – это доставочный агент для локальных пользователей, а программы uux и spop, fetchmail – доставочные агенты для пользователей удаленных машин, которые для приема почты пользуются услугами UUCP или POP, IMAP. Программа /bin/sh – доставочный агент для почты, которая направляется в файл или программу.
Unix-Unix-CoPy или (UUCP) протокол хорошо подходит для использования телефонных линий связи. Большинство пользователей электронной почты Relcom реально пользуются для доставки почты на узел именно этим протоколом. Разница между SMTP и UUCP заключается в том, что при использовании первого протокола sendmail пытается найти машину-получателя почты и установить с ней взаимодействие в режиме on-line для того, чтобы передать почту в ее почтовый ящик. В случае использования SMTP почта достигает почтового ящика получателя за считанные минуты и время получения сообщения зависит только от того, как часто получатель просматривает свой почтовый ящик. При использовании UUCP почта передается по принципу "stop-go", т.е. почтовое сообщение передается по цепочке почтовых серверов от одной машины к другой пока не достигнет машины-получателя или не будет отвергнуто по причине отсутствия абонента-получателя. С одной стороны, UUCP позволяет доставлять почту по плохим телефонным каналам, т.к. не требуется поддерживать линию все время доставки от отправителя к получателю, а с другой стороны, бывает обидно получить возврат сообщения через сутки после его отправки из-за того, что допущена ошибка в имени пользователя. В целом же общие рекомендации таковы: если имеется возможность надежно работать в режиме on-line и это является нормой, то следует настраивать почту для работы по протоколу SMTP, если линии связи плохие или on-line используется чрезвычайно редко, то лучше использовать UUCP.
Рис. 2. Структура взаимодействия участников почтового обмена
§2.Почтовые протоколы.
Протокол SMTP
Simple Mail Transfer Protocol был разработан для обмена почтовыми сообщениями в сети Internet. SMTP не зависит от транспортной среды и может использоваться для доставки почты в сетях с протоколами, отличными от TCP/IP и Х.25. Достигается это за счет концепции IPCE (InterProcess Communication Environment). IPCE позволяет взаимодействовать процессам, поддерживающим SMTP в интерактивном режиме, а не в режиме "STOP-GO".
Модель протокола. Взаимодействие в рамках SMTP строится по принципу двусторонней связи, которая устанавливается между отправителем и получателем почтового сообщения. При этом отправитель инициирует соединение и посылает запросы на обслуживание, а получатель на эти запросы отвечает. Фактически, отправитель выступает в роли клиента, а получатель - сервера.