Схема работы почтовых протоколов стека TCP/IP 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Схема работы почтовых протоколов стека TCP/IP



SMTP

В Интернете для доставки электронной почты машина-источник устанавливает TCP-соединение с портом 25 машины приемника. Этот порт прослушивается почтовым демоном, и их общение происходит с помощью протокола SMTP (Simple Mail Transfer Protocol простой протокол электронной почты). Этот демон принимает входящие соединения и копирует сообщения из них в соответствующие почтовые ящики. Если письмо не возможно доставить, отправителю отправляется сообщение об ошибки, содержащее первую часть этого письма.

MTA (Mail Transfer Agent) - агент передачи почты - является основным компонентом системы передачи почты Internet, который представляет данный сетевой компьютер для сетевой системы электронной почты. Обычно пользователи работают не с MTA, а с программой MUA (Mail User Agent) - клиентом электронной почты. Схематично принцип взаимодействия показан на рисунке.

Протокол SMTP представляет собой простой ASCII протокол. Установив ТСР-соединение с портом 25. передающая машина выступающая в роли клиента, ждет запроса принимающей машины, работающей в режиме сервера. Сервер начинает диалог с того что посылает текстовую строку, содержащую его идентификатор и сообщающую о его готовности (или неготовности) к приему почты. Если сервер не готов, клиент разрывает соединение и продолжает попытку позднее.

Если сервер готов принимать почту, клиент объявляет, от кого поступила почта и кому она предназначается. Если получатель почты существует, сервер дает клиенту добро на пересылку сообщения. Затем клиент посылает сообщение. А сервер подтверждает его получение. Контрольные суммы не проверяются, так как протокол ТСР обеспечивает надежный байтовый поток. Если у отправителя есть еще почта. Она также отправляется. После передачи всей почты в обоих направлениях соединение разрывается.

Простейший пример SMTP-сессии С: - клиент, S: - сервер

S: (ожидает соединения)C: (Подключается к порту 25 сервера)S:220 mail.company.tld ESMTP CommuniGate Pro 5.1.4i is glad to see you!C:HELOS:250 domain name should be qualifiedC:MAIL FROM: S:250 someusername@somecompany.ru sender acceptedC:RCPT TO:S:250 user1@company.tld okC:RCPT TO: S:550 user2@company.tld unknown user accountC:DATAS:354 Enter mail, end with "." on a line by itselfC:Hi!C:.S:250 769947 message accepted for deliveryC:QUITS:221 mail.company.tld CommuniGate Pro SMTP closing connectionS: (закрывает соединение)

В результате такой сессии письмо будет доставлено адресату user1@company.tld, но не будет доставлено адресату user2@company.tld, потому что такого адреса не существует.

Некоторые команды SMTP

HELO {SP} {string}{CRLF} Идентифицирует SMTP-сервер отправителя, открывает сеанс {SP} пробел
QUIT{CRLF} Завершает SMTP-сеанс.
MAIL {SP} FROM:{reverse-path} {CRLF} Задает адрес отправителя.
RCPT {SP} TO:{forward-path} {CRLF} Задает адрес получателя.
DATA {CRLF} Указывает на начало сообщения. Для окончания сообщения указывается {CRLF}.
VRFY {SP} {string}{CRLF} проверяет существование получателя.
EXPN {SP} {string}{CRLF} показывает список адресов для списка рассылки.
NOOP{CRLF} пустая операция
TURN{CRLF} сервер и клиент меняются ролями после ответа сервера 200 OK
RSET{CRLF} сброс сессии в исходное состояние
HELP{CRLF} информация о поддерживаемых командах

Из-за проблем со спамом, почти все современные сервера игнорируют команды VRFY и EXPN, как раскрывающие информацию о пользователе.

Для решения некоторых проблем. Был разработан расширенный протокол SMTP, ESMTP. Клиенты, желающие использовать его, должны начинать сессию связи с посылки приветствия EHLO вместо HELO. Если команда не принимается сервером, значить, сервер поддерживает только обычный протокол SMTP и клиенту следует работать в обычном режиме. Если же EHLO принято, значить, установлена сессия ESMTP и возможна работа с новыми параметрами и командами.

POP

Post Office Protocol Version 3 - протокол почтового отделения, версия 3 - это сетевой протокол, используемый почтовым клиентом для получения сообщений электронной почты с сервера. Обычно используется в паре с протоколом SMTP.

Предыдущие версии протокола (POP, POP2) устарели. Альтернативным протоколом для сбора сообщений с почтового сервера является IMAP. По умолчанию использует TCP-порт 110. Существуют реализации POP3-серверов, поддерживающие TLS и SSL.

После установки соединения протокол РОР3 проходит три последовательных состояния

Авторизация клиент проходит процедуру аутентификации

Транзакция клиент получает информацию о состоянии почтового ящика, принимает и удаляет почту.

Обновление сервер удаляет выбранные письма и закрывает соединение.

Не смотря на то, что протокол РОР3 действительно поддерживает возможность получения одного или нескольких писем и оставления их на сервере, большинство программ обработки электронной почты просто скачивают все письма и опустошают почтовый ящик на сервере.

Пример сессии

S: <Сервер ожидает входящих соединений на порту 110>C: <подключается к серверу>S: +OK POP3 server ready <1896.697170952@dbc.mtview.ca.us>C: APOP mrose c4c9334bac560ecc979e58001b3e22fbS: +OK mrose's maildrop has 2 messages (320 octets)C: STATS: +OK 2 320C: LISTS: +OK 2 messages (320 octets)S: 1 120 S: 2 200S:.C: RETR 1S: +OK 120 octetsS: <сервер передает сообщение 1>S:.C: DELE 1S: +OK message 1 deletedC: RETR 2S: +OK 200 octetsS: <сервер передает сообщение 2>S:.C: DELE 2S: +OK message 2 deletedC: QUITS: +OK dewey POP3 server signing off (maildrop empty)C: <закрывает соединение>S: <продолждает ждать входящие соединения>

IMAP

Пользователю, имеющему одну учетную запись у одного провайдера и всегда соединяющегося с провайдером с одной и той же машины, вполне достаточно протокола РОР3. Этот протокол используется повсеместно благодаря его простоте и надежности. Но у многих пользователей есть одна учетная запись в учебном заведении или на работе, но они хотят иметь к ней доступ и из дома, и с места работы (учебы), и во время командировки те из разных мест. Хотя протокол РОР3 и позволяет разрешить такую ситуацию. Но проблема в том что при таком использовании электронной почты вся корреспонденция пользователя очень быстро распространится по случайным машинам, с которых он получал доступ в Интернет, и некоторые из этих компьютеров могут вообще не принадлежать пользователь.

Это неудобство привело к созданию альтернативного протокола для получения почты, IMAP.

IMAP (англ. Internet Message Access Protocol) - интернет-протокол прикладного уровня для доступа к электронной почте.

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

IMAP был разработан для замены более простого протокола POP3 и имеет следующие преимущества по сравнению с последним:

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

Поддержка нескольких почтовых ящиков (или папок). Клиент может создавать, удалять и переименовывать почтовые ящики на сервере, а также перемещать письма из одного почтового ящика в другой.

Возможно создание общих папок, к которым могут иметь доступ несколько пользователей.

Информация о состоянии писем хранится на сервере и доступна всем клиентам. Письма могут быть помечены как прочитанные, важные и т. п.

Поддержка поиска на сервере. Нет необходимости скачивать с сервера множество сообщений для того чтобы найти одно нужное.

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

Предусмотрен механизм расширения возможностей протокола.

Текущая версия протокола имеет обозначение IMAP4rev1 (IMAP, версия 4, ревизия 1). Протокол поддерживает передачу пароля пользователя в зашифрованном виде. Кроме того, IMAP-трафик можно зашифровать с помощью SSL.

Сводная таблица по почтовым клиентам и серверам для различных ОС.



Поделиться:


Последнее изменение этой страницы: 2017-02-10; просмотров: 368; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.118.227.69 (0.021 с.)