Одна из наиболее популярных сетевых услуг – это электронная почта (e-mail). TCP/IP протокол, который поддерживает сообщения электронной почты в Интернете — это простой протокол электронной почты (SMTP — Simple Mail Transfer Protocol). Он описывает систему команд и соглашений для посылки сообщений к другим компьютерным пользователям, основанную на адресах электронной почты. SMTP обеспечивает обмен почтовыми сообщениями между пользователями одной и той же или различных компьютерных сетей. Система поддерживает:
Начнем с того, что надо отделить работу сервера клиента от почтовой сети, так чтобы он мог иметь режим работы, независимый от почтовой сети, и наоборот. Чтобы его повседневная работа не влияла на почтовую сеть, введем
На рис. 14.1. показаны агенты пользователя (UA-АП) и агенты почтовой передачи (
(рис 14.1) Почтовый Агент передачиСледующий рисунок ( рис. 14.2.) воспроизводит более сложный случай, когда используются транзитные серверы сети Интернет. Транзитные участки не обязательно применяют набор протоколов TCP/IP для посылки почтовых сообщений. В этом случае на сети могут появиться почтовые шлюзы, которые могут преобразовывать SMTP-формат в другие форматы перед посылкой пользователю.
(рис 14.2) Применение почтового шлюзаТеперь рассмотрим основные компоненты.
Почтовый
Большинство агентов пользователя предоставляют специальную форму для заполнения письма, которая выводится на экран. Она содержит поля адресов (исходящий адрес, тема письма, адреса отправки копий). В скрытом виде добавляется адрес отправителя. Как правило,
Кроме этого, современные пользовательские агенты позволяют проводить грамматическую проверку текста письма на нескольких языках.
Агент предоставляет возможность пользователю сформировать ответ на письмо. По запросу пользователя он автоматически выводит на экран форму ответа, в которой занесен адрес приславшего письмо и текст этого письма. Пользователь может сохранить этот текст, добавить в его начало, конец или середину в любом месте свой текст или стереть поступивший текст и создать новый.
Пересылка предоставляет возможность переслать текст третьему лицу. При этом пользователю выводится форма, где указано, что это пересылка (знак "Fw:"); пользователь должен вставить адрес пересылки и может дополнить или исправить пересылаемый текст.
Агент позволяет хранить все письма рассортированными по группам, пока они не будут удалены пользователем. При этом обеспечивается упорядочивание по различным критериям – по алфавиту, по фамилии приславшего, по дате и т. п.
На рис. 14.3. показано прохождение почтового сообщения от абонента с именем Alex@mail2.spez.com к почтовому серверу абонента с именем Bob@mail3.param.ru по протоколу SMTP. Для посылки почты пользователь с помощью программы-агента порождает отправление, очень похожее на почтовое отправление. Оно содержит конверт и сообщение.
(рис 14.3) Пересылка по сети почтовых сообщений по протоколу SMTPКонверт обычно содержит адрес отправителя и получателя и другую информацию.
Сообщение содержит заголовок и само содержание (
Программа-
Адресация почтовых сообщений аналогична той, что принята в системе доменных имен (Domain Name System, DNS). Почтовый адрес имеет вид Alex@spez.com, где Alex –
Локальная (местная) часть адреса определяет имя специального файла, названного по имени почтового ящика, где накапливается вся почта пользователя с целью обработки ее программой-агентом отправителя.
Вторая часть адреса – доменное имя. Дается для выбора одной или более главных машин (хост) для посылки и получения электронной почты; иногда эти машины называют почтовыми станциями. Доменное имя присваивается каждой почтовой станции согласно базе доменных имен или по логическому имени (например, по имени организации).
Электронный адрес становится более сложным, когда используется почтовый шлюз. В этом случае электронный адрес должен определять оба адреса – адрес шлюза и адрес реального получателя. Доменное имя должно определять имя почтового шлюза, в базе данных доменных имен и локальной части должен быть определен локальный физический адрес, компьютер присоединяет номера сетевого и пользовательского почтового ящика. Большинство почтовых систем не использует почтовую адресацию, определяемую SMTP, — это может породить проблемы и ошибки.
SMTP отличается от других прикладных программ тем, что вносит задержки. Это означает, что этот протокол не обеспечивает немедленную доставку, а задерживает ее на стороне отправителя, стороне получателя или на серверах межсетевого общения.
Отправляемое сообщение может быть задержано стороной передачи. SMTP предусматривает, что отправитель должен располагать системой размещения в очереди, в которой сообщение накапливается, перед тем как быть переданным. После того как
После того как сообщение получено, SMTP не передает его непосредственно. Почта может быть накоплена в почтовом ящике приемника.
Как уже упоминалось, SMTP позволяет обслуживать непосредственно почтовых агентов как клиентов и как серверы. Они также могут получать почту, сохранять почту в их собственных почтовых ящиках, записывать в буфер и отсылать сообщения в соответствующий момент.
SMTP позволяет использовать только одно имя, псевдоним, позволяющий последовательную различную адресацию — это называют расширением "один ко многим". Также отдельный пользователь может обладать различными адресами — это называется расширение "много к одному". Такие операции должны опираться на включение средств расширения на обоих концах ( рис. 14.4.), в частности средств буферизации – накопления (
(рис 14.4) Расширение по групповому имениВ ситуации, где одно и то же сообщение может посылаться различным получателям, пользователь может создать псевдоним, который отображает список получателей. В момент посылки сообщения система проверяет имя получателя в базе данных псевдонимов; если оно имеется, сообщение разделяется на отдельные сообщения, и в каждый из адресов должно быть отправлено и обработано почтовой системой отдельное сообщение. Если это имя отсутствует, то сообщение передается как одиночное по адресу получателя.
Пользователь может иметь много сетевых адресов, но пользовательский агент при этом может иметь одно имя. Обычно в таком случае различается локальная часть адреса. Когда система получает почту, она проверяет базу данных типа "много к одному". Если
Реальная передача происходит через почтового агента передачи. Чтобы передать сообщение, система должна иметь клиентского почтового агента, а приемная сторона должна иметь агента почтового сервера. Протокол SMTP не предъявляет специальных требований к почтовым агентам. Он определяет команды и отклики, которые должны посылаться назад и далее. Каждая сеть свободна в выборе пакета программ для реализации. Далее в этой лекции еще будет обсуждаться механизм передачи SMTP. Однако вначале представим полную картину двусторонней передачи электронной почты, как это определено SMTP. Рис. 14.5. иллюстрирует процесс посылки и получения электронной почты, как это было рассмотрено ранее. Для получения и передачи сообщения в соответствии с протоколом SMTP пользовательский интерфейс не является необходимым, но создает дружественный диалог с компьютером, как это, например, сделано в Outlook Express.
(рис 14.5) Основные составляющие системы электронной почтыНа этом рисунке протокол SMTP используется два раза, между передатчиком или передатчиками и сервером и между двумя почтовыми серверами. Между почтовым сервером и получателем необходимо применить другой протокол.
SMTP использует команды и отклики для передачи сообщения между почтовыми агентами (
Команду посылают от клиента к серверу. Она содержит ключевое слово и следующие за ним ноль или более аргументов. В SMTP определяется 14 команд. Первые пять — обязательные команды; любая реализация почты должна поддерживать эти пять команд. Следующие три часто используются и очень рекомендуются. Последние шесть команд применяются редко. Команды перечислены в таблице 14.1 и ниже рассмотрены более детально.
| Ключевое слово | Аргумент(ы) |
|---|---|
| HELLO | |
| MAIL FROM | |
| RCPT TO | Предназначенный |
| DATA | Содержание ( |
| QUIT | Завершение соединения |
| RSET | Прерывание текущего действия |
| VRFY | Проверяемое имя получателя |
| NOOP | Проверка состояния получателя |
| TURN | Смена положения отправителя и получателя ( в настоящее время не используется) |
| EXPN | Почтовый список расширения |
| HELP | Имя команды |
| SEND FROM | Предназначенный |
| SMOL FROM | Предназначенный |
| SMAL FROM | Предназначенный |
MAIL FROM: berlin@sut.ru
RCPT TO: jenifer@edu.com
DATA Этим письмом я подтверждаю свое согласие на издание книги.
QUIT
VRFY: jenifer@edu.com
NOOP
TURN
EXPN: x,y,z
HELP: mail
SEND FROM: berlin@edu.com
SMOL FROM: berlin@edu.com
SMAL FROM: berlin@edu.com
Отклики посылаются от сервера к клиенту. Отклик содержит три десятичных кода, которые могут дополняться текстовой информацией. Смысл первых цифр следующий:
Вторые и третьи цифры сообщают дополнительные детали об отклике. Табл. 14.2 содержит список некоторых откликов.
| Код | Описание |
|---|---|
| Положительное подтверждение завершения | |
| 211 | Системное состояние или отклик на справку |
| 214 | Справочное сообщение |
| 220 | Готовность к обслуживанию |
| 221 | Завершение обслуживания передающего канала |
| 250 | Требуемая команда завершена |
| 251 | Пользователь не местный: сообщение должно быть передано далее |
| Положительное промежуточное подтверждение | |
| 354 | Начало ввода почты |
| Отрицательное переходное подтверждение | |
| 421 | Обслуживание не доступно |
| 450 | Почтовый ящик недоступен |
| 451 | Команда прервана: местная ошибка |
| 452 | Команда прервана: недостаточно памяти |
| Отрицательное постоянное подтверждение завершения | |
| 500 | Синтаксическая ошибка: неопознанная команда |
| 501 | Синтаксическая ошибка в параметрах или аргументах |
| 502 | Команда не выполнена |
| 503 | Неправильная последовательность команд |
| 504 | Команда временно не выполнена |
| 550 | Команда не выполнена: почтовый ящик недоступен |
| 551 | Пользователь не местный |
| 552 | Требуемое действие прервано: переполнение местной памяти |
| 553 | Требуемое действие не принято к исполнению: недопустимое имя почтового ящика |
| 554 | Неудавшийся переход |
Процесс передачи почтовых сообщений осуществляется в три фазы: установление соединения, передача почты и подключение оконечного устройства.
После того как клиент установит соединение TCP к заранее известному порту 25, сервер SMTP начинает фазу соединения. Эта фаза включает следующие три ступени, которые иллюстрируются на рисунке 14.6.:
(рис 14.6) Установление соединенияHELLO, чтобы идентифицировать себя, используя доменное имя адреса. Этот шаг необходим, чтобы информировать сервер доменного имени клиента. Напомним, что во время установления TCP отправитель и получатель знает друг друга только по IP-адресам.После того как соединение будет установлено между SMTP-клиентами и сервером, можно обменяться одиночным сообщением между отправителем и одним или более получателями. Эта фаза включает восемь шагов. Шаги 3 и 4 повторяются, если есть более чем один получатель ( рисунке 14.7.).
(рис 14.7) Передача сообщенияMAIL FROM, чтобы представить отправителю почтовый адрес отправителя (имя почтового ящика и доменное имя). Этот шаг необходим, чтобы дать серверу адрес для возврата ошибок или для доклада о продвижении сообщений.RCPT TO (получатель), который включает почтовый адрес получателя.DATA, чтобы инициализировать передачу сообщений.После того как сообщение будет успешно передано, клиент заканчивает соединение. Эта фаза имеет два шага ( рис. 14.8.).
(рис 14.8) Окончание соединенияQUIT.Многоцелевое расширение интернет-почты (
Многоцелевое расширение интернет-почты (MIME) — дополняющий протокол, позволяющий передавать сообщения, используя SMTP-данные, которые не имеют вид ASCII. MIME — не почтовый протокол и не отменяет SMTP; он только его расширяет.
MIME преобразовывает данные, отличающиеся от ASCII, к виду ASCII и доставляет их клиенту SMTP через Интернет. Сервер SMTP на приемной стороне получает данные в виде ASCII и доставляет к MIME, чтобы преобразовать данные в первоначальный вид.
Можно упрощенно сказать, что MIME — это набор программного обеспечения, который преобразует данные, не представленные в ASCII, в данные ASCII и, соответственно, наоборот.
MIME определяет пять заголовков, которые могут быть дополнены к исходной секции заголовков SMTP для определения параметров преобразования:
Рисунок 14.9. показывает исходный заголовок и расширенный заголовок. Рассмотрим их более детально.
(рис 14.9) Заголовок MIMEВ заголовке определяется используемая версия многоцелевого расширения. Если текущая версия 1.1, то:
MIME – Version 1.1
Этот заголовок определяет тип данных в используемом информационном блоке сообщения. Тип содержания и подтип содержания разделяется наклонной чертой ("слеш"). В зависимости от подтипа, заголовок может содержать другие параметры.
Content – Type: <type/subtype; parameters>
MIME позволяет семь различных типов данных. Они перечислены в таблице 14.3 и рассмотрены ниже более детально.
| Тип | Подтип | Описание |
|---|---|---|
| Текст | Обычный | Неформатированный текст |
| Из многих частей | Смешанный | Информационный блок содержит упорядоченные различные типы данных |
| Параллельный | То же самое, что выше, но неупорядоченное | |
| Обзорный | Похожий на смешанный, но по умолчанию /RFC822* | |
| Альтернативный | Часть различных версий в одинаковом сообщении | |
| Сообщение | RFC822 | Информационный блок включает в себя сообщение |
| Частичный | Информационный – это фрагмент большого сообщения | |
| Внешний блок | Информационный блок является только ссылкой на другое сообщение | |
| Изображение | JPEG | Изображение в формате JPEG |
| GIF | Изображение в формате GIF | |
| Видео | MPEG | Видео в MPEG-формате |
| Аудио | Базовое | Одиночный канал кодированной речи на 8 кГц |
| Прикладной текст | PostScript | Язык описаний страниц, разработанный фирмой Adobe Systems |
| Поток октетов | Двоичные данные общего вида (восьмибитовые байты) |
В этом типе определены четыре подтипа: смешанный, параллельный, обзорный и альтернативный. В смешанном подтипе части должны быть представлены получателю в точном порядке, как в сообщении. Каждая часть имеет различный тип и определенную границу. Параллельный подтип похож на смешанный подтип, за исключением того, что порядок частей не имеет значения. Обзорный подтип также похож на смешанный подтип, за исключением того, что, по умолчанию, задается тип/подтип сообщений, как это будет определено ниже. В альтернативном подтипе одно и то же сообщение повторяет использование одних и тех же форматов. Следующий пример сообщения использует из многих частей смешанный подтип:
Content-Type: multipart/mixed; boundary=xxxx —xxxx Content-Type: text/plain; ........................................................ —xxxx Content-Type: image/gif; ........................................................ —xxxx
Используют три подтипа: RFC822, частичный и внешний информационный блок. Подтип RFC822 применяется, если информационный блок включается в другое сообщение (в том числе заголовок и информационный блок). Подтип частичный нужен, если исходное сообщение фрагментировано в различные почтовые сообщения и это почтовое сообщение — одна из частей. Фрагменты должны быть собраны заново с помощью MIME. При этом должны быть дополнены три параметра: id (идентификатор), number (номер), total (всего). Введение id идентифицирует все сообщение, он представлен во всех фрагментах. Номер определяет последовательный порядок фрагментов. "Всего" определяет число фрагментов, составляющих исходное сообщение. Вот пример сообщения с тремя фрагментами:
Content-Type: message/partial; Id="berlin.sut.ru"; Number=1; Total=3; ........................................................ ........................................................
Подтип "внешний информационный блок" показывает, что информационный блок не содержит непосредственно сообщения, а только ссылку (указатель) на исходное сообщение. Ниже дан пример:
Content-Type: message/partial; Name=book"; site=sut.ru; access-type="ftp"; ........................................................ ........................................................
Заголовок определяет метод кодирования сообщения для передачи в виде нулей и единиц.
Content – Transfer – Encoding: <type>
Пять типов кодирования (поле <type>) приведены в Табл. 14.4
| Тип | Описание |
|---|---|
| 7 бит | |
| 8 бит | Не-ASCII-символы и короткие линии |
| Двоичный | Не-ASCII-символы с не лимитированной длиной линии |
| Базовый 64 | 6-битовые блоки данных, закодированные по 8 бит ASCII-символами |
| Предназначенный для печати | Не-ASCII-символы, закодированные как последовательность знаков ASCII |
100011, а цифра "3" — 0110011. Таким образом, с помощью нулей и единиц можно закодировать 128 символов.26 = 64 символа.
Каждая секция интерпретируется как один символ в соответствии с таблица 14.5
(рис 14.10) Base 64 (Базовый 64)![]() |
Этот заголовок уникально идентифицирует полное сообщение:
Content – Id: id=<content.id>
Заголовок определяет, является ли информационный блок изображением, аудио- или видеоинформацией:
Content – Description: <description>
Доставка почты от отправителя к получателю проходит через три стадии ( рис. 14.12.).
(рис 14.12) Использование POP3 и IMAPНа первой стадии электронная почта проходит через пользовательского агента в локальный сервер. Почта, возможно, сразу не посылается на удаленный сервер, поскольку он может быть недоступен к этому моменту. Поэтому почта накапливается в локальном сервере, пока ее не удастся отправить. Пользовательский агент использует программное обеспечение SMTP-клиента, локальный сервер использует программное обеспечение SMTP-сервера.
На втором шаге электронная почта идет с помощью локального сервера, который теперь действует как клиент SMTP. Электронная почта доставляется удаленному серверу, но не к удаленному агенту пользователя. Если бы SMTP был принятым сервером, всегда можно было бы обработать прибывшую почту в любой момент времени. Однако люди часто выключают свой компьютер до конца дня, а мини-компьютер или переносные компьютеры зачастую нормально не работают. Обычно организации предназначают свой компьютер для принятия электронной почты и постоянной работы в качестве
На третьей ступени удаленный
Первая и вторая стадия доставки почты используют SMTP. Однако SMTP не включен в третью стадию, потому что STMP "проталкивает" сообщение от отправителя к получателю, даже если получатель этого не желает. Работу SMTP начинает отправитель, а не получатель. С другой стороны, третья стадия нуждается в протоколе, который "притягивает" сообщение, и эта операция должна начинаться у получателя. Третья ступень использует протокол почтового доступа.
В настоящее время применяются два протокола:
Почтовый доступ стартует от клиента, когда пользователю надо загрузить его электронную почту из почтового ящика в почтовый сервер. Клиент (
(рис 14.13) POP3Другой протокол почтового доступа к сообщениям Интернета —
IMAP4 обеспечивает следующие дополнительные функции:
Услуги электронной почты сегодня могут быть обеспечены для пользователей WEB-сайтов (Yahoo,Yandex и.т. д).
Идея такой связи проста: передача письма проходит с помощью протокола HTTP (см. следующие лекции). Передача сообщения от передающего сервера к входящему почтовому серверу проходит с помощью протокола SMTP. В конечном итоге, сообщение от входящего сервера (он же WEB-сервер) достигает сервера пользователя Б, используя протокол HTTP. Если пользователь Б хочет получить это сообщение, он посылает запрос на свой WEB-сайт (например, YANDEX). WEB-сайт высылает форму, которая содержит запрос логина (зарегистрированного имени пользователя) и пароля, затем передает сообщение на компьютер пользователя Б в формате HTML.
| а) установление соединения; |
| б) передача почтового сообщения; |
| в) завершение соединения. |
aaa@bbb.xxx.com к bbb@yyy.com.aaa@bbb.xxx.com к bbb@yyy.com. Сообщение — "Будьте здоровы".aaa@bbb.xxx.com к bbb@yyy.com.aaa@xxx.com посылает сообщение к пользователю к bbb@yyy.com, который пересылает его к ccc@zzz.com. Покажите SMTP-команды и отклики.aaa@xxx.com посылает сообщение к пользователю к bbb@yyy.com, который отвечает ему. Покажите SMTP-команды и отклики.0101 0111 0000 1111 1111 0000 1010 1111 01111 0001 0101 0100.
Дополнительный материал для прохождения тестирования к лекции, Вы можете скачать здесь.
Одна из наиболее популярных сетевых услуг – это электронная почта (e-mail). TCP/IP протокол, который поддерживает сообщения электронной почты в Интернете — это простой протокол электронной почты (SMTP — Simple Mail Transfer Protocol). Он описывает систему команд и соглашений для посылки сообщений к другим компьютерным пользователям, основанную на адресах электронной почты. SMTP обеспечивает обмен почтовыми сообщениями между пользователями одной и той же или различных компьютерных сетей. Система поддерживает:
Начнем с того, что надо отделить работу сервера клиента от почтовой сети, так чтобы он мог иметь режим работы, независимый от почтовой сети, и наоборот. Чтобы его повседневная работа не влияла на почтовую сеть, введем
На рис. 14.1. показаны агенты пользователя (UA-АП) и агенты почтовой передачи (
(рис 14.1) Почтовый Агент передачиСледующий рисунок ( рис. 14.2.) воспроизводит более сложный случай, когда используются транзитные серверы сети Интернет. Транзитные участки не обязательно применяют набор протоколов TCP/IP для посылки почтовых сообщений. В этом случае на сети могут появиться почтовые шлюзы, которые могут преобразовывать SMTP-формат в другие форматы перед посылкой пользователю.
(рис 14.2) Применение почтового шлюзаТеперь рассмотрим основные компоненты.
Почтовый
Большинство агентов пользователя предоставляют специальную форму для заполнения письма, которая выводится на экран. Она содержит поля адресов (исходящий адрес, тема письма, адреса отправки копий). В скрытом виде добавляется адрес отправителя. Как правило,
Кроме этого, современные пользовательские агенты позволяют проводить грамматическую проверку текста письма на нескольких языках.
Агент предоставляет возможность пользователю сформировать ответ на письмо. По запросу пользователя он автоматически выводит на экран форму ответа, в которой занесен адрес приславшего письмо и текст этого письма. Пользователь может сохранить этот текст, добавить в его начало, конец или середину в любом месте свой текст или стереть поступивший текст и создать новый.
Пересылка предоставляет возможность переслать текст третьему лицу. При этом пользователю выводится форма, где указано, что это пересылка (знак "Fw:"); пользователь должен вставить адрес пересылки и может дополнить или исправить пересылаемый текст.
Агент позволяет хранить все письма рассортированными по группам, пока они не будут удалены пользователем. При этом обеспечивается упорядочивание по различным критериям – по алфавиту, по фамилии приславшего, по дате и т. п.
На рис. 14.3. показано прохождение почтового сообщения от абонента с именем Alex@mail2.spez.com к почтовому серверу абонента с именем Bob@mail3.param.ru по протоколу SMTP. Для посылки почты пользователь с помощью программы-агента порождает отправление, очень похожее на почтовое отправление. Оно содержит конверт и сообщение.
(рис 14.3) Пересылка по сети почтовых сообщений по протоколу SMTPКонверт обычно содержит адрес отправителя и получателя и другую информацию.
Сообщение содержит заголовок и само содержание (
Программа-
Адресация почтовых сообщений аналогична той, что принята в системе доменных имен (Domain Name System, DNS). Почтовый адрес имеет вид Alex@spez.com, где Alex –
Локальная (местная) часть адреса определяет имя специального файла, названного по имени почтового ящика, где накапливается вся почта пользователя с целью обработки ее программой-агентом отправителя.
Вторая часть адреса – доменное имя. Дается для выбора одной или более главных машин (хост) для посылки и получения электронной почты; иногда эти машины называют почтовыми станциями. Доменное имя присваивается каждой почтовой станции согласно базе доменных имен или по логическому имени (например, по имени организации).
Электронный адрес становится более сложным, когда используется почтовый шлюз. В этом случае электронный адрес должен определять оба адреса – адрес шлюза и адрес реального получателя. Доменное имя должно определять имя почтового шлюза, в базе данных доменных имен и локальной части должен быть определен локальный физический адрес, компьютер присоединяет номера сетевого и пользовательского почтового ящика. Большинство почтовых систем не использует почтовую адресацию, определяемую SMTP, — это может породить проблемы и ошибки.
SMTP отличается от других прикладных программ тем, что вносит задержки. Это означает, что этот протокол не обеспечивает немедленную доставку, а задерживает ее на стороне отправителя, стороне получателя или на серверах межсетевого общения.
Отправляемое сообщение может быть задержано стороной передачи. SMTP предусматривает, что отправитель должен располагать системой размещения в очереди, в которой сообщение накапливается, перед тем как быть переданным. После того как
После того как сообщение получено, SMTP не передает его непосредственно. Почта может быть накоплена в почтовом ящике приемника.
Как уже упоминалось, SMTP позволяет обслуживать непосредственно почтовых агентов как клиентов и как серверы. Они также могут получать почту, сохранять почту в их собственных почтовых ящиках, записывать в буфер и отсылать сообщения в соответствующий момент.
SMTP позволяет использовать только одно имя, псевдоним, позволяющий последовательную различную адресацию — это называют расширением "один ко многим". Также отдельный пользователь может обладать различными адресами — это называется расширение "много к одному". Такие операции должны опираться на включение средств расширения на обоих концах ( рис. 14.4.), в частности средств буферизации – накопления (
(рис 14.4) Расширение по групповому имениВ ситуации, где одно и то же сообщение может посылаться различным получателям, пользователь может создать псевдоним, который отображает список получателей. В момент посылки сообщения система проверяет имя получателя в базе данных псевдонимов; если оно имеется, сообщение разделяется на отдельные сообщения, и в каждый из адресов должно быть отправлено и обработано почтовой системой отдельное сообщение. Если это имя отсутствует, то сообщение передается как одиночное по адресу получателя.
Пользователь может иметь много сетевых адресов, но пользовательский агент при этом может иметь одно имя. Обычно в таком случае различается локальная часть адреса. Когда система получает почту, она проверяет базу данных типа "много к одному". Если
Реальная передача происходит через почтового агента передачи. Чтобы передать сообщение, система должна иметь клиентского почтового агента, а приемная сторона должна иметь агента почтового сервера. Протокол SMTP не предъявляет специальных требований к почтовым агентам. Он определяет команды и отклики, которые должны посылаться назад и далее. Каждая сеть свободна в выборе пакета программ для реализации. Далее в этой лекции еще будет обсуждаться механизм передачи SMTP. Однако вначале представим полную картину двусторонней передачи электронной почты, как это определено SMTP. Рис. 14.5. иллюстрирует процесс посылки и получения электронной почты, как это было рассмотрено ранее. Для получения и передачи сообщения в соответствии с протоколом SMTP пользовательский интерфейс не является необходимым, но создает дружественный диалог с компьютером, как это, например, сделано в Outlook Express.
(рис 14.5) Основные составляющие системы электронной почтыНа этом рисунке протокол SMTP используется два раза, между передатчиком или передатчиками и сервером и между двумя почтовыми серверами. Между почтовым сервером и получателем необходимо применить другой протокол.
SMTP использует команды и отклики для передачи сообщения между почтовыми агентами (
Команду посылают от клиента к серверу. Она содержит ключевое слово и следующие за ним ноль или более аргументов. В SMTP определяется 14 команд. Первые пять — обязательные команды; любая реализация почты должна поддерживать эти пять команд. Следующие три часто используются и очень рекомендуются. Последние шесть команд применяются редко. Команды перечислены в таблице 14.1 и ниже рассмотрены более детально.
| Ключевое слово | Аргумент(ы) |
|---|---|
| HELLO | |
| MAIL FROM | |
| RCPT TO | Предназначенный |
| DATA | Содержание ( |
| QUIT | Завершение соединения |
| RSET | Прерывание текущего действия |
| VRFY | Проверяемое имя получателя |
| NOOP | Проверка состояния получателя |
| TURN | Смена положения отправителя и получателя ( в настоящее время не используется) |
| EXPN | Почтовый список расширения |
| HELP | Имя команды |
| SEND FROM | Предназначенный |
| SMOL FROM | Предназначенный |
| SMAL FROM | Предназначенный |
MAIL FROM: berlin@sut.ru
RCPT TO: jenifer@edu.com
DATA Этим письмом я подтверждаю свое согласие на издание книги.
QUIT
VRFY: jenifer@edu.com
NOOP
TURN
EXPN: x,y,z
HELP: mail
SEND FROM: berlin@edu.com
SMOL FROM: berlin@edu.com
SMAL FROM: berlin@edu.com
Отклики посылаются от сервера к клиенту. Отклик содержит три десятичных кода, которые могут дополняться текстовой информацией. Смысл первых цифр следующий:
Вторые и третьи цифры сообщают дополнительные детали об отклике. Табл. 14.2 содержит список некоторых откликов.
| Код | Описание |
|---|---|
| Положительное подтверждение завершения | |
| 211 | Системное состояние или отклик на справку |
| 214 | Справочное сообщение |
| 220 | Готовность к обслуживанию |
| 221 | Завершение обслуживания передающего канала |
| 250 | Требуемая команда завершена |
| 251 | Пользователь не местный: сообщение должно быть передано далее |
| Положительное промежуточное подтверждение | |
| 354 | Начало ввода почты |
| Отрицательное переходное подтверждение | |
| 421 | Обслуживание не доступно |
| 450 | Почтовый ящик недоступен |
| 451 | Команда прервана: местная ошибка |
| 452 | Команда прервана: недостаточно памяти |
| Отрицательное постоянное подтверждение завершения | |
| 500 | Синтаксическая ошибка: неопознанная команда |
| 501 | Синтаксическая ошибка в параметрах или аргументах |
| 502 | Команда не выполнена |
| 503 | Неправильная последовательность команд |
| 504 | Команда временно не выполнена |
| 550 | Команда не выполнена: почтовый ящик недоступен |
| 551 | Пользователь не местный |
| 552 | Требуемое действие прервано: переполнение местной памяти |
| 553 | Требуемое действие не принято к исполнению: недопустимое имя почтового ящика |
| 554 | Неудавшийся переход |
Процесс передачи почтовых сообщений осуществляется в три фазы: установление соединения, передача почты и подключение оконечного устройства.
После того как клиент установит соединение TCP к заранее известному порту 25, сервер SMTP начинает фазу соединения. Эта фаза включает следующие три ступени, которые иллюстрируются на рисунке 14.6.:
(рис 14.6) Установление соединенияHELLO, чтобы идентифицировать себя, используя доменное имя адреса. Этот шаг необходим, чтобы информировать сервер доменного имени клиента. Напомним, что во время установления TCP отправитель и получатель знает друг друга только по IP-адресам.После того как соединение будет установлено между SMTP-клиентами и сервером, можно обменяться одиночным сообщением между отправителем и одним или более получателями. Эта фаза включает восемь шагов. Шаги 3 и 4 повторяются, если есть более чем один получатель ( рисунке 14.7.).
(рис 14.7) Передача сообщенияMAIL FROM, чтобы представить отправителю почтовый адрес отправителя (имя почтового ящика и доменное имя). Этот шаг необходим, чтобы дать серверу адрес для возврата ошибок или для доклада о продвижении сообщений.RCPT TO (получатель), который включает почтовый адрес получателя.DATA, чтобы инициализировать передачу сообщений.После того как сообщение будет успешно передано, клиент заканчивает соединение. Эта фаза имеет два шага ( рис. 14.8.).
(рис 14.8) Окончание соединенияQUIT.Многоцелевое расширение интернет-почты (
Многоцелевое расширение интернет-почты (MIME) — дополняющий протокол, позволяющий передавать сообщения, используя SMTP-данные, которые не имеют вид ASCII. MIME — не почтовый протокол и не отменяет SMTP; он только его расширяет.
MIME преобразовывает данные, отличающиеся от ASCII, к виду ASCII и доставляет их клиенту SMTP через Интернет. Сервер SMTP на приемной стороне получает данные в виде ASCII и доставляет к MIME, чтобы преобразовать данные в первоначальный вид.
Можно упрощенно сказать, что MIME — это набор программного обеспечения, который преобразует данные, не представленные в ASCII, в данные ASCII и, соответственно, наоборот.
MIME определяет пять заголовков, которые могут быть дополнены к исходной секции заголовков SMTP для определения параметров преобразования:
Рисунок 14.9. показывает исходный заголовок и расширенный заголовок. Рассмотрим их более детально.
(рис 14.9) Заголовок MIMEВ заголовке определяется используемая версия многоцелевого расширения. Если текущая версия 1.1, то:
MIME – Version 1.1
Этот заголовок определяет тип данных в используемом информационном блоке сообщения. Тип содержания и подтип содержания разделяется наклонной чертой ("слеш"). В зависимости от подтипа, заголовок может содержать другие параметры.
Content – Type: <type/subtype; parameters>
MIME позволяет семь различных типов данных. Они перечислены в таблице 14.3 и рассмотрены ниже более детально.
| Тип | Подтип | Описание |
|---|---|---|
| Текст | Обычный | Неформатированный текст |
| Из многих частей | Смешанный | Информационный блок содержит упорядоченные различные типы данных |
| Параллельный | То же самое, что выше, но неупорядоченное | |
| Обзорный | Похожий на смешанный, но по умолчанию /RFC822* | |
| Альтернативный | Часть различных версий в одинаковом сообщении | |
| Сообщение | RFC822 | Информационный блок включает в себя сообщение |
| Частичный | Информационный – это фрагмент большого сообщения | |
| Внешний блок | Информационный блок является только ссылкой на другое сообщение | |
| Изображение | JPEG | Изображение в формате JPEG |
| GIF | Изображение в формате GIF | |
| Видео | MPEG | Видео в MPEG-формате |
| Аудио | Базовое | Одиночный канал кодированной речи на 8 кГц |
| Прикладной текст | PostScript | Язык описаний страниц, разработанный фирмой Adobe Systems |
| Поток октетов | Двоичные данные общего вида (восьмибитовые байты) |
В этом типе определены четыре подтипа: смешанный, параллельный, обзорный и альтернативный. В смешанном подтипе части должны быть представлены получателю в точном порядке, как в сообщении. Каждая часть имеет различный тип и определенную границу. Параллельный подтип похож на смешанный подтип, за исключением того, что порядок частей не имеет значения. Обзорный подтип также похож на смешанный подтип, за исключением того, что, по умолчанию, задается тип/подтип сообщений, как это будет определено ниже. В альтернативном подтипе одно и то же сообщение повторяет использование одних и тех же форматов. Следующий пример сообщения использует из многих частей смешанный подтип:
Content-Type: multipart/mixed; boundary=xxxx —xxxx Content-Type: text/plain; ........................................................ —xxxx Content-Type: image/gif; ........................................................ —xxxx
Используют три подтипа: RFC822, частичный и внешний информационный блок. Подтип RFC822 применяется, если информационный блок включается в другое сообщение (в том числе заголовок и информационный блок). Подтип частичный нужен, если исходное сообщение фрагментировано в различные почтовые сообщения и это почтовое сообщение — одна из частей. Фрагменты должны быть собраны заново с помощью MIME. При этом должны быть дополнены три параметра: id (идентификатор), number (номер), total (всего). Введение id идентифицирует все сообщение, он представлен во всех фрагментах. Номер определяет последовательный порядок фрагментов. "Всего" определяет число фрагментов, составляющих исходное сообщение. Вот пример сообщения с тремя фрагментами:
Content-Type: message/partial; Id="berlin.sut.ru"; Number=1; Total=3; ........................................................ ........................................................
Подтип "внешний информационный блок" показывает, что информационный блок не содержит непосредственно сообщения, а только ссылку (указатель) на исходное сообщение. Ниже дан пример:
Content-Type: message/partial; Name=book"; site=sut.ru; access-type="ftp"; ........................................................ ........................................................
Заголовок определяет метод кодирования сообщения для передачи в виде нулей и единиц.
Content – Transfer – Encoding: <type>
Пять типов кодирования (поле <type>) приведены в Табл. 14.4
| Тип | Описание |
|---|---|
| 7 бит | |
| 8 бит | Не-ASCII-символы и короткие линии |
| Двоичный | Не-ASCII-символы с не лимитированной длиной линии |
| Базовый 64 | 6-битовые блоки данных, закодированные по 8 бит ASCII-символами |
| Предназначенный для печати | Не-ASCII-символы, закодированные как последовательность знаков ASCII |
100011, а цифра "3" — 0110011. Таким образом, с помощью нулей и единиц можно закодировать 128 символов.26 = 64 символа.
Каждая секция интерпретируется как один символ в соответствии с таблица 14.5
(рис 14.10) Base 64 (Базовый 64)![]() |
Этот заголовок уникально идентифицирует полное сообщение:
Content – Id: id=<content.id>
Заголовок определяет, является ли информационный блок изображением, аудио- или видеоинформацией:
Content – Description: <description>
Доставка почты от отправителя к получателю проходит через три стадии ( рис. 14.12.).
(рис 14.12) Использование POP3 и IMAPНа первой стадии электронная почта проходит через пользовательского агента в локальный сервер. Почта, возможно, сразу не посылается на удаленный сервер, поскольку он может быть недоступен к этому моменту. Поэтому почта накапливается в локальном сервере, пока ее не удастся отправить. Пользовательский агент использует программное обеспечение SMTP-клиента, локальный сервер использует программное обеспечение SMTP-сервера.
На втором шаге электронная почта идет с помощью локального сервера, который теперь действует как клиент SMTP. Электронная почта доставляется удаленному серверу, но не к удаленному агенту пользователя. Если бы SMTP был принятым сервером, всегда можно было бы обработать прибывшую почту в любой момент времени. Однако люди часто выключают свой компьютер до конца дня, а мини-компьютер или переносные компьютеры зачастую нормально не работают. Обычно организации предназначают свой компьютер для принятия электронной почты и постоянной работы в качестве
На третьей ступени удаленный
Первая и вторая стадия доставки почты используют SMTP. Однако SMTP не включен в третью стадию, потому что STMP "проталкивает" сообщение от отправителя к получателю, даже если получатель этого не желает. Работу SMTP начинает отправитель, а не получатель. С другой стороны, третья стадия нуждается в протоколе, который "притягивает" сообщение, и эта операция должна начинаться у получателя. Третья ступень использует протокол почтового доступа.
В настоящее время применяются два протокола:
Почтовый доступ стартует от клиента, когда пользователю надо загрузить его электронную почту из почтового ящика в почтовый сервер. Клиент (
(рис 14.13) POP3Другой протокол почтового доступа к сообщениям Интернета —
IMAP4 обеспечивает следующие дополнительные функции:
Услуги электронной почты сегодня могут быть обеспечены для пользователей WEB-сайтов (Yahoo,Yandex и.т. д).
Идея такой связи проста: передача письма проходит с помощью протокола HTTP (см. следующие лекции). Передача сообщения от передающего сервера к входящему почтовому серверу проходит с помощью протокола SMTP. В конечном итоге, сообщение от входящего сервера (он же WEB-сервер) достигает сервера пользователя Б, используя протокол HTTP. Если пользователь Б хочет получить это сообщение, он посылает запрос на свой WEB-сайт (например, YANDEX). WEB-сайт высылает форму, которая содержит запрос логина (зарегистрированного имени пользователя) и пароля, затем передает сообщение на компьютер пользователя Б в формате HTML.
| а) установление соединения; |
| б) передача почтового сообщения; |
| в) завершение соединения. |
aaa@bbb.xxx.com к bbb@yyy.com.aaa@bbb.xxx.com к bbb@yyy.com. Сообщение — "Будьте здоровы".aaa@bbb.xxx.com к bbb@yyy.com.aaa@xxx.com посылает сообщение к пользователю к bbb@yyy.com, который пересылает его к ccc@zzz.com. Покажите SMTP-команды и отклики.aaa@xxx.com посылает сообщение к пользователю к bbb@yyy.com, который отвечает ему. Покажите SMTP-команды и отклики.0101 0111 0000 1111 1111 0000 1010 1111 01111 0001 0101 0100.
Дополнительный материал для прохождения тестирования к лекции, Вы можете скачать здесь.
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.