Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Протокол РОР3




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

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

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

Команды РОР3 состоят из ключевых слов, состоящих из ASCII-символов, и одним или несколькими параметрами, отделяемыми друг от друга символом "пробела" - <SP>. Все команды заканчиваются символами "возврата каретки" и "перевода строки" - <CRLF>. Длина ключевых слов не превышает четырех символов, а каждого из аргументов может быть до 40 символов.

Ответы РОР3-сервера на команды состоят из строки статус-индикатора, ключевого слова, строки дополнительной информации и символов завершения строки - <CRLF>. Длина строки ответа может достигать 512 символов. Строка статус-индикатора принимает два значения: положительное ("+ОК") и отрицательное ("-ERR"). Любой сервер РОР3 обязан отправлять строки статус-индикатора в верхнем регистре, тогда как другие команды и данные могут приниматься или отправляться как в нижнем, так и в верхнем регистрах.

Ответы РОР3-сервера на отдельные команды могут составлять несколько строк. В этом случае строки разделены символами <CRLF>. Последнюю строку информационной группы завершает строка, состоящая из символа "." (код - 046) и <CRLF>, т. е. последовательность "CRLF.CRLF".

РОР3-сессия состоит из нескольких частей. Как только открывается TCP-соединение и РОР3-сервер отправляет приветствие, сессия должна быть зарегистрирована - состояние аутентификации (AUTHORIZATION state). Клиент должен зарегистрироваться в РОР3-сервере, т. е. ввести свой идентификатор и пароль.

После этого сервер предоставляет клиенту его почтовый ящик и открывает для данного клиента транзакцию - состояние начала транзакции обмена (TRANSACTION state). На этой стадии клиент может считать и удалить почту своего почтового ящика.

После того как клиент заканчивает работу (передает команду QUIT), сессия переходит в состояние UPDATE - завершение транзакции. В этом состоянии РОР3-сервер закрывает транзакцию данного клиента (на языке баз данных - операция COMMIT) и закрывает TCP-соединение.

В случае получения неизвестной, неиспользуемой или неправильной команды, РОР3-сервер должен ответить отрицательным состоянием индикатора.

При открытии TCP-соединения РОР3-клиентом, РОР3-сервер отправляет сообщение приветствия (далее во всех примерах РОР3-протокола используются следующие обозначения: С -клиент, S - сервер РОР3):

S: +OK РОР3 server ready

Теперь РОР3-сессия находится в состоянии авторизации (AUTHORIZATION), и клиент должен зарегистрировать себя на РОР3-сервере. Это может быть выполнено либо с помощью команд USER и PASS - ввод открытых пользовательского идентификатора и пароля (именно этот способ используется чаще), либо командой АРОР - авторизации цифровой подписью, на базе секретного ключа. Любой РОР3 -сервер должен поддерживать хотя бы один из механизмов авторизации.

КомандаUSER имеет следующий формат:

USER name

Аргументом (name) является строка, идентифицирующая почтовый ящик системы. Этот идентификатор должен быть уникальным в данной почтовой системе РОР3-сервера. Если ответом на эту команду является строка индикатора "+OK", клиент может отправлять команду PASS - ввод пароля или QUIT - завершить сессию. Если ответом является строка "-ERR", клиент может либо повторить команду USER, либо закрыть сессию. Примеры использования команды:

С: USER frated

S: -ERR sorry, no mailbox for frated here

или

С: USER mrose

S: +OK mrose is a real hoopy frood

Команда PASS используется только после положительного ответа на команду USER:

PASS string

Аргументом команды является строка пароля данного почтового ящика. После получения команды PASS, РОР3-сервер, на основании аргументов команд USER и PASS, определяет возможность доступа к заданному почтовому ящику. Если РОР3-сервер ответил "+OK", это означает, что авторизация клиента прошла успешно и он может работать со своим почтовым ящиком, т.е. сессия переходит в состояние TRANSACTION. Если РОР3- сервер ответил "-ERR", то либо был введен неверный пароль, либо не найден указанный почтовый ящик:

С: USER mrose

S: +OK mrose is a real hoopy frood

C: PASS secret

S: +OK mrose's maildrop has 2 messages (320 octets)

Команда закрытия РОР3-сессии: QUIT - отправляется без аргументов и всегда имеет единственный ответ "+ОК", например:

С: QUIT

S: +ОК dewey POP3 server signing off

После того как клиент успешно прошел процедуру авторизации в РОР3- сервере, и РОР3-сервер "закрыл" определенный почтовый ящик только для использования данным клиентом (для тех, кто работал с базами данных, это называется EXCLUSIVE ACCESS LOCK), РОР3-сессия переходит в режим TRANSACTION, и клиент может начать работу со своей почтой.

Команда STAT (без аргументов) используется для просмотра состояния текущего почтового ящика.

В ответ РОР3- сервер возвращает строку, содержащую количество и общий размер в байтах сообщений, которые клиент может получить с РОР3- сервера. Сообщения, помеченные на удаление, не учитываются. Формат ответа: "+ОК nn mm", где nn - количество сообщений, mm - их общий объем:

С: STAT

S: +ОК 2 320

Команда RETR - используется для передачи клиенту запрашиваемого сообщения:

RETR msg

Аргумент команды - номер сообщения. Если запрашиваемого сообщения нет, возвращается отрицательный индикатор "-ERR".

С: RETR 1

S: +ОК 120 octets

S: <text message>

S:.

После получения, сообщение, как правило, помечается на удаление из почтового ящика, при этом используется командаDELE:

DELE msg

Аргумент команды: номер сообщения. Сообщения, помеченные на удаление, реально удаляются только после закрытия транзакции, на стадии UPDATE.

С: DELE 1

S: +ОК message 1 deleted

ИЛИ

С: DELE 2

S: -ERR message 2 already deleted

Для проверки состояния соединения с РОР3- сервером используется команда NOOP. При активном соединении ответом на нее будет положительный индикатор "+ОК":

С: NOOP

S: +ОК

Ниже приведена стандартная сессия работы с РОР3 -протоколом.

S: <wait for connection on TCP port 110>

C: <open connection>

S: +OK РОР3 server ready

С: USERmrose

S: +OK mrose is a real hoopy frood

С: PASS secret

S: +OK mrose's maildrop has 2 messages (320 octets)

С: STAT

S: +OK 2 320

С: LIST

S: +OK 2 messages (320 octets)

S: 1 120

S: 2 200

S:.

С: RETR 1

S: +OK 120 octets

S: <the РОР3 server sends message 1>

S:.

С: DELE 1

S: +OK message 1 deleted

С: RETR 2

S: +OK 200 octets

S: <the РОР3 server sends message 2>

S:.

С: DELE 2

S: +OK message 2 deleted

С: QUIT

S: +OK dewey РОР3 server signing off (maildrop empty)

С: <close connection>

S: <wait for next connection>

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





Поделиться с друзьями:


Дата добавления: 2015-09-20; Мы поможем в написании ваших работ!; просмотров: 893 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Если вы думаете, что на что-то способны, вы правы; если думаете, что у вас ничего не получится - вы тоже правы. © Генри Форд
==> читать все изречения...

2215 - | 2158 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.01 с.