2.1. Простой протокол передачи почты (SMTP).

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

Рис.1 Схема взаимодействия по протоколу SMTP

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

2.1.1. Команды SMTP и их последовательность.

Простой протокол передачи почты обеспечивает двухсторонний обмен сообщениями между локальным клиентом и удаленным сервером МТА. МТА-клиент шлет команды МТА-серверу, а он, в свою очередь, отвечает клиенту. Другими словами, протокол SMTP требует получать ответы от приемника команд SMTP. Обмен командами и ответами на них называется почтовой транзакцией (mail transaction). Данные передаются в формате NVT ASCII. Кроме того, команды тоже передаются в формате NVT ASCII. Команды передаются в форме ключевых слов, а не специальных символов, и указывают на необходимость совершить ту или иную операцию. В табл. 1 приведен список ключевых слов (команд), определенный в спецификации SMTP.

Таблица 1

Команды простого протокола передачи почты (SMTP)

Команда

Обязательна

Описание

HELO Х Идентифицирует модуль-передатчик для модуля-приемника (hello).
MAIL X Начинает почтовую транзакцию, которая завершается передачей данных в один или несколько почтовых ящиков (mail).
RCPT Х Идентифицирует получателя почтового сообщения (recipient).
DATA Строки, следующие за этой командой, рассматриваются получателем как данные почтового сообщения. В случае SMTP, почтовое сообщение заканчивается комбинацией символов: CRLF-точка-CRLF.
RSET Прерывает текущую почтовую транзакцию (reset).
NOOP Требует от получателя не предпринимать никаких действий, а только выдать ответ ОК. Используется главным образом для тестирования. (No operation.)
QUIT Требует выдать ответ ОК и закрыть текущее соединение.
VRFY Требует от приемника подтвердить, что ее аргумент является действительным именем пользователя.
SEND Начинает почтовую транзакцию, доставляющую данные на один или несколько терминалов (а не в почтовый ящик).
SOML Начинает транзакцию MAIL или SEND, доставляющую данные на один или несколько терминалов или в почтовые ящики.
SAML Начинает транзакцию MAIL и SEND, доставляющие данные на один или несколько терминалов и в почтовые ящики.
EXPN Команда SMTP-прнемнику подтвердить, действительно ли аргумент является адресом почтовой рассылки и если да, вернуть адрес получателя сообщения (expand).
HELP Команда SMTP-приемнику вернуть сообщение-справку о его командах.
TURN Команда SMTP-приемнику либо сказать OK и поменяться ролями, то есть стать STMP-передатчиком, либо послать сообщение-отказ и остаться в роли SMTP-приемника.

Команды, помеченные крестиком, обязаны присутствовать в любой реализации SMTP. Остальные команды могут быть реализованы дополнительно. Каждая SMTP-команда должна заканчиваться либо пробелом (если у нее есть аргумент), либо комбинацией CRLF. SMTP способен передавать данные любого содержания (например, текст, графические, звуковые файлы).

MTP обеспечивает двухстороннюю связь между агентами передачи почты (МТА), клиентом и сервером. Клиенты шлют команды серверу, а серверы отвечают клиентам. Однако SMTP оговаривает последовательность SMTP-команд. Лучший способ понять это — взглянуть на образец почтовой транзакции. Следующий пример демонстрирует типичную почтовую транзакцию. В примере фигурирует мистер Smith (на компьютере usc.edu), посылающий сообщения мистерам Jones, Green и Brown (на компьютере mit.edu). Агент передачи почты хоста mit.edu принимает почту для мистеров Jones и Brown, однако не знает, где расположен почтовый ящик мистера Green.

Для целей дальнейшего повествования каждой строке присвоен номер и обозначено, кому они принадлежат - передатчику или приемнику. Текст справа от слов “RECEIVER” или “SENDER” содержит действительно передаваемые данные. Трехзначные цифровые комбинации в начале передаваемых строк обозначают коды ответа. Ответ SMTP похож на сообщения-подтверждения о доставке, поскольку появляется лишь в том случае, когда приемник получил данные.

1. RECEIVER: 220 mit.edu Simple Mail Transfer Service Ready

2. SENDER: HELO usc.edu

3. RECEIVER: 250 mit.edu

4. SENDER:  MAIL FROM:<Smith@usc.edu>

5. RECEIVER: 250 OK

6. SENDER: RCPT TO:<Jones@init.edu>

7. RECEIVER: 250 OK

8. SENDER: RCPT TO:<Green@mit.edu>

9. RECEIVER: 550 No such user here

10. SENDER:: RCPT TO <Brown@mit.edu>

11. RECEIVER: 250OK

12. SENDER: DATA

13. RECEIVER: 354 Start mail input; end with <CRLF>.<CRLF>

14. SENDER: Blah blah blah...

15. SENDER: ...etc. etc. etc.

16. SENDER: .

17. RECEIVER: 250 OK

18. SENDER: QUIT

19. RECEIVER: 221 mit.edu Service closing transmission channel

Как видно из строки 1, когда SMTP-клиент устанавливает TCP-соединение с портом протокола 25, SMTP-сервер отвечает кодом 220. Это означает, что соединение успешно установлено:

1. RECEIVER: 220 mit.edu Simple Mail Transfer Service Ready

После того, как MTA компьютеров mit.edu и usc.edu установили соединение и обменялись приветствием, первой командой должна быть команда HELO. Как указано в строке 2, SMTP-клиент передает HELO, называя имя своего компьютера в качестве аргумента. Команда HELO употребляется с аргументом, как показано ниже:

2. SENDER: HELO usc.edu

В ответ на HELO приемник выдает код 250, сообщая передатчику о том, что команда принята и обработана:

3. RECEIVER: 250 mit.edu

После установления TCP-соединения и идентификации (при помощи HELO) SMTP-клиент приступает к почтовой транзакции. Для начала он выполняет одну из следующих команд: MAIL, SEND, SOML или SAML. В нашем примере использована команда MAIL:


Информация о работе «Электронная почта как сервис глобальной сети. Протоколы передачи почты»
Раздел: Информатика, программирование
Количество знаков с пробелами: 106780
Количество таблиц: 9
Количество изображений: 3

Похожие работы

Скачать
50469
0
6

... . В настоящее время ATM предоставляется конечным пользователям только в виде постоянных виртуальных соединений. Однопротокольная среда ATM и в локальных, и в глобальных сетях упрощает управление. Благодаря тому, что межсетевым устройствам не нужно переводить один протокол в другой, задержка невелика и предсказуема. Если сравнивать frame relay и ATM, то последняя, как технология передачи ячеек, ...

Скачать
79237
0
0

... гипертекстовых связей между документами находящимися в различных архивах сети; благодаря этим связям можнонепосредственно во время просмотра одного документа переходить к другим документам. Internet - глобальная компьютерная сеть. internet - технология сетевого взаимодействия между компьютерами разных типов. IP (Internet Protocol) - протокол межсетевого взаимодействия, самый важный из ...

Скачать
591939
0
0

... 29-10 Упражнение 29 29-11 [КС xv] []Приложение А []Ссылки А-1 []Приложение В []Рисунки В-1 []Приложение С []Решения С-1 []Словарь []Сокращения []Индексы [КС xvi] [1]Технология создания сетей ЭВМ [1]Вопросы и ответы []Эта форма поможет вам получить ответ на любой вопрос, возникший в процессе изучения ...

Скачать
84781
2
0

... можете зарегистрировать на себя новый домен и в дальнейшем, при переезде из города в город сохранять за собой эти имена. Будет меняться только организации, которые осуществляют ваш выход в Интернет, регистрируя эти имена в глобальной сети. 6.2. IP адрес Второй параметр, который будет уникально определять ваш компьютер в мире – это IP адрес. IP адрес – это четыре числа, каждое из которых может ...

0 комментариев


Наверх