
Протокол рорз
РОРЗ — это простейший протокол для работы пользователя с содержимым своего почтового ящика. Он позволяет только забрать почту из почтового ящика сервера на рабочую станцию клиента и удалить ее из почтового ящика на сервере. Всю дальнейшую обработку почтовое сообщение проходит на компьютере клиента.
РОРЗ-сервер не отвечает за отправку почты, он работает только как универсальный почтовый ящик для группы пользователей. Как правило, при работе с электронной почтой небольшие организации используют для получения своей корреспонденции РОРЗ-сервер, установленный на каком-либо компьютере в офисе, а отправляют почту по SMTP (Simple Mail Transfer Protocol — простой протокол электронной почты) на один из хорошо доступных общеизвестных SMTP-серверов города.
Конструкция протокола РОРЗ обеспечивает возможность пользователю обратиться к своему почтовому серверу и изъять накопившуюся для него почту. Пользователь может получить доступ к РОР-серверу из любой точки доступа к Интернет. При этом он должен запустить специальный почтовый агент, работающий по протоколу РОРЗ, и настроить его для работы со своим почтовым сервером. Итак, во главе модели POP находится отдельный персональный компьютер, работающий исключительно в качестве клиента почтовой системы (сервера). Подчеркнем также, что сообщения доставляются клиенту по протоколу POP, а посылаются по-прежнему при помощи SMTP. То есть на компьютере пользователя существуют два отдельных агента-интерфейса к почтовой системе - доставки и отправки. Разработчики протокола РОРЗ называет такую ситуацию "раздельные агенты".
В протоколе РОРЗ оговорены три стадии процесса получения почты: авторизация, транзакция и обновление. После того как сервер и клиент РОРЗ установили соединение, начинается стадия авторизации. На стадии авторизации клиент идентифицирует себя для сервера. Если авторизация прошла успешно, сервер открывает почтовый ящик клиента и начинается стадия транзакции. В ней клиент либо запрашивает у сервера информацию (например, список почтовых сообщений), либо просит его совершить определенное действие (например, выдать почтовое сообщение). Наконец, на стадии обновления сеанс связи заканчивается. Далее перечислены команды протокола РОРЗ, обязательные для работающей в Интернет реализации минимальной конфигурации[5].
В протоколе РОРЗ определено несколько команд, но на них дается только два ответа: +ОК (позитивное сообщение-подтверждение) и -ERR (негативное сообщение, аналогично "не подтверждено"). Оба ответа подтверждают, что обращение к серверу произошло и что он вообще отвечает на команды. Как правило, за каждым ответом следует его содержательное словесное описание.
Принципы работы: РОРЗ-сервис, как правило, устанавливается на 110-й ТСР-порт сервера, который будет находиться в режиме ожидания входящего соединения. Когда клиент хочет воспользоваться РОРЗ-сервисом, он просто устанавливает TCP-соединение с портом 110 этого хоста. После установления соединения сервис РОРЗ отправляет подсоединившемуся клиенту приветственное сообщение. После этого клиент и сервер начинают обмен командами и данными. По окончании обмена РОРЗ-канал закрывается.
Команды РОРЗ состоят из ключевых слов, состоящих из ASCII-символов, и одним или несколькими параметрами, отделяемыми друг от друга символом "пробела" — <SP>. Все команды заканчиваются символами "возврата каретки" и "перевода строки" — <CRLF>. Длина ключевых слов не превышает четырех символов, а каждого из аргументов может быть до 40 символов.
Ответы РОРЗ-сервера на команды состоят из строки статус- индикатора, ключевого слова, строки дополнительной информации и символов завершения строки — <CRLF>. Длина строки ответа может достигать 512 символов. Строка статус-индикатора принимает два значения: положительное и отрицательное. Любой сервер РОРЗ обязан отправлять строки статус-индикатора в верхнем регистре, тогда как другие команды и данные могут приниматься или отправляться как в нижнем, так и в верхнем регистрах.
Ответы РОРЗ-сервера на отдельные команды могут составлять несколько строк. В этом случае строки разделены символами <CRLF>. Последнюю строку информационной группы завершает строка, состоящая из символа "." (код — 046) и <CRLF>, т. е. последовательность "CRLF.CRLF". РОРЗ-сессия состоит из нескольких частей. Как только открывается TCP-соединение и РОРЗ-сервер отправляет приветствие, сессия должна быть зарегистрирована — состояние аутентификации. Клиент должен зарегистрироваться в РОРЗ-сервере, т. е. ввести свой идентификатор и пароль. После этого сервер предоставляет клиенту его почтовый ящик и открывает для данного клиента транзакцию — состояние начала транзакции обмена. На этой стадии клиент может считать и удалить почту своего почтового ящика.
После того как клиент заканчивает работу, сессия переходит в состояние завершение транзакции. В этом состоянии РОРЗ-сервер закрывает транзакцию данного и закрывает TCP-соединение.
В случае получения неизвестной, неиспользуемой или неправильной команды, РОРЗ-сервер должен ответить отрицательным состоянием индикатора.
РОРЗ-сервер может использовать в своей работе таймер контроля времени соединения. Этот таймер отсчитывает время "бездействия" ("idle") клиента в сессии от последней переданной команды. Если время сессии истекло, сервер закрывает TCP-соединение и откатывает транзакцию, т.е. отказ от всех изменений в транзакции, сделанных после последней фиксации или точки сохранения: точка возврата в состояние, предшествующее данной транзакции
Необходимо учитывать, что РОРЗ-сервер может обслуживать группу клиентов, которые, возможно, присоединяются по коммутируемой линии, и, следовательно, необходимо иметь средство автоматического регулирования времени соединения. По спецификации РОРЗ-таймер контроля состояния «бездействия» должен быть установлен на промежуток времени не менее 10 минут. Простота протокола POP, которая послужила росту его популярности вначале, обернулась затем отсутствием гибкости и невозможности выполнять другие операции управления почтовыми ящиками. На смену РОРЗ пришло новое поколение протоколов работы с электронной почтой — протоколы IMAP[5].