Электронная почта как сервис глобальной сети. Протоколы передачи почты
Категория реферата: Рефераты по информатике, программированию
Теги реферата: решебник класс, курение реферат
Добавил(а) на сайт: Венедикт.
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 10 11 | Следующая страница реферата
Таблица 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:
5. RECEIVER: 250 OK
6. SENDER: RCPT TO:
7. RECEIVER: 250 OK
8. SENDER: RCPT TO:
9. RECEIVER: 550 No such user here
10. SENDER:: RCPT TO
11. RECEIVER: 250OK
12. SENDER: DATA
13. RECEIVER: 354 Start mail input; end with .
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:
4. SENDER: MAIL FROM:Smith@usc.edu
Четыре команды, MAIL, SEND, SOML и SAML, имеют одинаковый синтаксис:
MAIL FROM: line-feed>
Аргумент “обратный путь” (reverse path) указывает серверу, кому в
случае ошибки отослать соответствующее сообщение. В аргументе содержится
адрес источника сообщения (в нашем случае, Smith@usc.edu). После того как
сервер выдал код ответа 250 (строка 5), согласившись обработать сообщение
от Smith@usc.edu, необходимо указать получателя сообщения. Это делается при
помощи команды RCPT. Команда RCPT имеет аргумент - имя получателя. На одну
команду приходится только одно имя, поэтому, если получателей несколько, команда RCPT выдается несколько раз. В нашем примере команды RCPT
выполняются в строках 6,8 и 10. Синтаксис RCPT похож на синтаксис команды
MAIL:
RCPT TO:
Однако, в отличие от MAIL, аргумент RCPT начинается со слова “TO:”.
Содержимое аргумента - путь передачи сообщения (forward path), а не
обратный путь. В пути передачи сообщения указано имя почтового ящика
получателя. Выдав команду RCPT, МТА-клиент ожидает получить ответ с кодом
250. Однако, в ответ на восьмую строку
8. SENDER: RCPT TO:
сервер отвечает кодом 550:
9. RECEIVER: 550 No such user here
Код ответа 550 означает, что МТА не в состоянии выполнить запрос
клиента, поскольку не знает, как доставить почту указанному пользователю.
То есть скорее всего у мистера по фамилии Green нет почтового ящика
(Green@mit.edu) на этом компьютере. В протоколе SMTP сказано, что сервер
обязан информировать клиента об отсутствии почтового ящика получателя
сообщения.
После того как посланы все команды RCPT, клиент начинает передачу при помощи команды DATA. В строке 12 показано, как МТА-клиент (передатчик) высылает команду DATA, в строке 13 - как сервер отвечает кодом 354. Этот код означает, что передача данных разрешена и должна заканчиваться комбинацией CRLF-точка-CRLF (новой строкой, содержащей только точку).
12. SENDER: DATA
13. RECEIVER: 354 Start mail input; end with .
После того как получен код 354, клиент может начать передачу данных.
МТА-сервер, в свою очередь, помещает принятые данные в очереди входящих
сообщений. Сервер не высылает никаких ответов до тех пор, пока не получит
комбинацию CRLF-точка-CRLF от клиента, означающую конец передачи данных.
Как показано в строках 16 и 17, в ответ на полученную комбинацию CRLF-точка-
CRLF, сервер выдает код 250, что означает успешное окончание операции:
16. SENDER: .
17. RECEIVER: 250 OK
Для того, чтобы закончить почтовую транзакцию, клиент, по правилам
SMTP, обязан послать команду QUIT. Сервер, в свою очередь, отвечает кодом
221, который подтверждает клиенту, что соединение будет закрыто, после чего
соединение действительно закрывается:
18. SENDER: QUIT
19. RECEIVER: 221 mit.edu Service closing transmission channel
В любой момент во время транзакции клиент может использовать команды
NOОР, HELP, EXPN и VRFY. В ответ на каждую команду сервер высылает клиенту
определенную информацию. В зависимости от ответа клиент может предпринять
определенные действия.
2.1.2. Коды ответов SMTP.
В спецификации SMTP требуется, чтобы сервер отвечал на каждую команду
SMТР-клиента. МТА-сервер отвечает трехзначной комбинацией цифр, называемой
кодом ответа. Вместе с кодом ответа, как правило, передается одна или
несколько строк текстовой информации.
Каждая цифра в коде ответа имеет определенный смысл. Первая цифра означает, было ли выполнение команды успешно (2), неуспешно (5) или еще не закончилось (3). Простой клиент может анализировать только первую цифру в ответе сервера, и на основании ее продолжать свои действия. Вторая и третья цифры кода ответа разъясняют значение первой. В табл. 2 приведены возможные значения кодов ответа SMTP.
Таблица 2
Коды ответа SMTP и их значение
|Код |Значение |
|211 |Ответ о состоянии системы или помощь |
|214 |Сообщение-подсказка (помощь) |
|220 | служба готова к работе |
|221 | служба закрывает канал связи |
|250 |Запрошенное действие почтовой транзакции успешно завершилось |
|251 |Данный адресат не является местным; сообщение будет передано по |
| |маршруту |
|354 |Начинай передачу сообщения. Сообщение заканчивается комбинацией |
| |CRLF-точка-CRLF |
|421 | служба недоступна; соединение закрывается |
|450 |Запрошенная команда почтовой транзакции не выполнена, так как |
| |почтовый ящик недоступен |
|451 |Запрошенная команда не выполнена; произошла локальная ошибка при |
| |обработке сообщения |
|452 |Запрошенная команда не выполнена; системе не хватило ресурсов |
|500 |Синтаксическая ошибка в тексте команды; команда не опознана |
|501 |Синтаксическая ошибка в аргументах или параметрах команды |
|502 |Данная команда не реализована |
|503 |Неверная последовательность команд |
|504 |У данной команды не может быть аргументов |
|550 |Запрошенная команда не выполнена, так как почтовый ящик и |
| |недоступен |
|551 |Данный адресат не является местным; попробуйте передать сообщение |
| |по маршруту |
|552 |Запрошенная команда почтовой транзакции прервана; дисковое |
| |пространство, доступное системе, переполнилось |
|553 |Запрошенная команда не выполнена; указано недопустимое имя |
| |почтового ящика |
|554 |Транзакция не выполнена |
Значения первой цифры в коде ответа SMTP
Рекомендуем скачать другие рефераты по теме: решебник по геометрии класс, рассказ язык.
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 10 11 | Следующая страница реферата