РОРЗ

Протокол РОРЗ, описанный в документе RFC 1939, является одним из самых простых протоколов доступа к электронной почте. Увы, простота протокола РОРЗ оборачивается его весьма ограниченной функциональностью. Протокол начинает действовать после того, как агент пользователя (клиент) устанавливает ТСР-со-единение с портом 110 почтового сервера, и подразумевает выполнение трех основных фаз: авторизации, транзакции и обновления. Во время авторизации агент передает серверу имя пользователя и пароль для того, чтобы сервер предоставил агенту доступ к сообщениям электронной почты. В фазе транзакции пользователь получает сообщения, а также может пометить сообщения, предназначенные для удаления, и получить почтовую статистику. Наконец, фаза обновления наступает после того, как клиент посылает команду quit и закрывает РОРЗ-сеанс. Почтовый сервер производит удаление сообщений, помеченных пользователем.

Во время РОРЗ-транзакции агент пользователя посылает почтовому серверу команды, на каждую из которых сервер реагирует посылкой одного из двух ответных сообщений: +0К (иногда с последующей передачей данных сервера клиенту) и -ERR, указывающего на ошибку в команде клиента.

Авторизация включает в себя две возможные команды: user <имя пользователя> и pass <пароль>. Для того чтобы проиллюстрировать действие этих команд, предположим, что вы устанавливаете соединение с РОРЗ-сервером через порт 110. Если mailServer — имя вашего почтового сервера, то процесс авторизации в программе Telnet будет выглядеть следующим образом:

telnet mailServer 110
+0К РОРЗ server ready
user bob
+0K
pass hungry
+0K user successfully logged on

Если какая-либо из команд будет введена неверно, сервер выдаст сообщение -ERR.
Теперь обратимся к фазе транзакции. Как правило, агент пользователя, использующий протокол РОРЗ, в зависимости от настроек может автоматически удалять или не удалять сообщения после их приема; при этом во время транзакции будут применяться различные команды. Если загруженные сообщения необходимо удалять, агент посылает серверу команды list, retr и dele. Пусть, например, в почтовом ящике пользователя находятся два сообщения. Ниже приведен диалог клиента (С) и сервера (S) во время транзакции:

С: list
S: 1 498
S: 2 912
S:.
С: retr 1
S: (blah blah …
S: …………..
S: ………blah)
S: .
C: dele 1
C: retr 2
S: (blah blah …
S: …………..
S: ………blah)
S: .
C: dele 2
C: quit
S: +0K P0P3 server signong off

Сначала агент пользователя получает от сервера список сообщений с указанием размера каждого сообщения, а затем последовательно принимает и удаляет сообщения с сервера. Во время транзакции агентом используются лишь четыре команды: list, retr, dele и quit. Синтаксис этих команд описан в документе RFC 1939. После обработки команды quit РОРЗ-сервер переходит в фазу обновления и производит фактическое удаление переданных сообщений.

Режим удаления переданных сервером сообщений имеет важный недостаток. Предположим, Боб является мобильным пользователем и получает доступ к почтовому серверу с разных компьютеров (например, домашнего, офисного и портативного). Если каждый раз после передачи сообщений сервер будет удалять их, то часть сообщений окажется на персональном компьютере, часть — на офисном, а часть — на портативном. Таким образом, Боб будет лишен возможности одновременного доступа ко всем полученным сообщениям. Если агенты пользователя на компьютерах Боба будут настроены на загрузку сообщений без удаления, копии всех входящих сообщений останутся в почтовом ящике, что обеспечит доступ к ним с любого компьютера.

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

Данная статья "РОРЗ" размещена на сайте Компьютерные сети и многоуровневая архитектура интернета (conlex.kz) в ознакомительных целях.

Уточнения, корректировки и обсуждения статьи "РОРЗ" - под данным текстом, в комментариях.

Ответственность, за все изменения, внесённые в систему по советам данной статьи, Вы берёте на себя.

Копирование статьи "РОРЗ", без указания ссылки на сайт первоисточника Компьютерные сети и многоуровневая архитектура интернета (conlex.kz), строго запрещено.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *