Windows. Вирусы. Ноутбуки. Интернет. Office. Утилиты. Драйверы

Скорее всего, большинство читающих это руководство уже знакомы с самой часто используемой технологией связи – электронной почтой. Но задумывались ли вы когда-нибудь о том, как на самом деле она работает? В этой статье мы узнаем, как работает эта служба, и что такое POP3, SMTP и IMAP.

POP3 (протокол почтового отделения версия 3) часто используется для связи с удаленным сервером электронной почты и загрузки сообщений на локальный почтовый клиент с последующим удалением его на сервере, к примеру , Thunderbird , Windows Mail, и т.д. Однако обычно почтовые клиенты предлагают выбор – оставлять или нет копии сообщений на сервере. Если вы используете несколько устройств для отправки сообщений, то рекомендуется оставлять эту функцию включенной, в противном случае, на другом устройстве у вас не будет доступа к отправленным сообщениям, которые не были сохранены на удаленном сервере. Также стоит отметить, что POP3 – протокол работающий только в одном направлении, это означает, что данные берутся с удаленного сервера и отправляются на локальный клиент.

Порты POP3, по умолчанию являются такими:

Порт 110 – порт без шифрования

Порт 995 – порт SSL/TLS, также известный как POP3S

Шаг 2 - Различия между POP3 и IMAP, и какие порты у IMAP?

IMAP (протокол прикладного уровня для доступа к электронной почте), также как и POP3 используется для получения сообщений электронной почты на локальный клиент, однако, он имеет существенное отличие – загружаются только лишь заголовки электронных сообщений, сам текст письма остается на сервере. Данный протокол связи работает в две стороны, если происходят изменения на локальном клиенте, они передаются и на сервер. В последнее время IMAP стал более популярным, так как такие гиганты-провайдеры услуг электронной почты, как Gmail, стали рекомендовать использовать его вместо POP3.

Порты IMAP, по умолчанию являются такими:

  • Порт 143 – порт без шифрования
  • Порт 993 – порт SSL/TLS, также известный как IMAPS

Шаг 3 - SMTP, протокол для исходящей связи по электронной почте

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

Порты SMTP:

  • Порт 25 – порт без шифрования
  • Порт 465 – порт SSL/TLS, также известный как SMTPS

Заключение

Надеемся, что теперь у вас появилось ясное понимание того, как работают почтовые протоколы и какие порты они используют. В этом руководстве мы узнали, что такое POP3, SMTP и IMAP и для чего они используются. К примеру, POP3 и IMAP используются для одинаковый целей, но подходят к выполнению этих задач по-разному. IMAP оставляет содержимое письма на сервере, а POP3 скачивает его на ваш компьютер. Также, мы узнали какие стандартные порты у SMTP, POP3 и IMAP.

Без протоколов SMTP, РОРЗ и IMAP невозможна работа электронной почты. Особенностью этих протоколов является их узкая направленность. Это означает, что их принципиально невозможно использовать для других целей, что, к тому же, не имеет смысла. Задача SMTP, РОРЗ и IMAP - организация обмена электронными сообщениями, и они отличио с ней справляются. Еще одной особенностью почтовых протоколов является однозначность. Например, протокол, отсылающий сообщения, не способен их принимать, и наоборот. Именно поэтому такие протоколы работают парами.

SMTP

SMTP (Simple Mail Transfer Protocol упрошенный протокол пересылки почты) - протокол, основной задачей которого является отсылка подготовленных специальным образом сообщений. Перед тем, как это сделать, протокол устанавливает соединение между компьютерами, что гарантирует доставку сообщения. Протокол SMTP очень простой и эффективный, однако эта эффективность не распространяется на все задачи и возможности. Так, он не обладает даже простейшим механизмом аутентификации и возможностью шифрования данных при передаче между почтовыми серверами. Самым большим недостатком SMTP является его неспособность к пересылке графики.

Чтобы не отказываться от этого довольно хорошего протокола, было принято решение расширить его несколькими полезными и необходимыми расширениями.Taким расширением, например, является MIME (Multipurpose Internet Mail Extensions многоцелевое расширение почтовой службы в Интернете), благодаря которому существует возможность отсылать файлы любого формата и содержания. Кроме того разработан стандарт UUENCODE, позволяющий передавать текстовые сообщение в разных кодировках. ESMTP (Extended SMTP) - масштабируемое расширение протокола SMTP. В настоящее время под «протоколом SMTP», как правило, подразумевают ESMTP и его расширения.

РОРЗ

P0P3 (Post Office Protocol 3, почтовый протокол версии 3) - почтовый протокол, который используется для приема электронных сообщений с почтового сервера. Обычно РОРЗ работает в паре с протоколом SMTP, что позволяет организовать эффективную систему отсылки и приема электронных сообщений. Интерфейс протокола еще более простои, чем интерфейс SMTP, и с этим связаны определенные неудобства. Так, отсутствует возможность выборочного скачивания письма или просмотра содержимого письма непосредственно на почтовом сервере.

IMAP

IMAP (Interactive Mail Access Protocol, протокол интерактивного доступа к электронной почте) - наиболее «продвинутый» почтовый протокол, предназначенный для приема электронных сообщений с почтового сервера. В большинстве случаев более удобным и эффективным является использование протокола IMAP, чем РОРЗ. К достоинствам протокола относится возможность частичного скачивания письма, разбития принимаемого письма на части с последующим склеиванием и многое другое. Пользователю дается возможность управлять сообщениями непосредственно на сервере, не загружая их на компьютер.

Министерство образования Российской Федерации

Северо-Западный государственный заочный технический университет

Реферат по предмету:
Адаптивные операционные системы.
Тема: Почтовые протоколы. Почтовые сервера.

Выполнил студент 4 курса
Специальность 220100
Кафтырев.И.В., шифр _______________
Работа сдана «____»________2010г.
Проверил________________(ф.и. о.)
«______»____________2010г.

Санкт-Петербург, 2010

Содержание.

1. Почтовые протоколы.

      SMTP
      POP
      IMAP
2. Почтовый сервер
3. Протоколы электронной почты и их взаимосвязь
4. Приложения
5. Терминология
6. Список используемой литературы

1. Почтовые протоколы .

Человек, который пользуется Интернетом, очень часто просматривает странички и читает электронную почту, что не требует больших усилий. Но он даже не подозревает, какое множество процессов за это время происходит в сети. Давайте заглянем внутрь сети, чтобы понять, как на самом деле происходит то, что мы делаем ежедневно.
В основе любого взаимодействия, которое происходит в сети, имеются специальные правила, которые определяют последовательность обмена информацией и ее вид. Такие правила называются протоколом, который выполняет специальные задачи.

Рассмотрим эти протоколы:

1.1 SMTP

SMTP (англ. Simple Mail Transfer Protocol - простой протокол передачи почты) - это сетевой протокол , предназначенный для передачи электронной почты в сетях TCP/IP .
ESMTP (англ. Extended SMTP ) - масштабируемое расширение протокола SMTP. В настоящее время под «протоколом SMTP», как правило, подразумевают ESMTP и его расширения.

Обзор протокола

SMTP используется для отправки почты от пользователей к серверам и между серверами для дальнейшей пересылки к получателю. Для приёма почты почтовый клиент должен использовать протоколы POP3 или IMAP . Работа с SMTP происходит непосредственно на сервере получателя. Поддерживает функции: установление соединения, аутентификация, передача данных
Чтобы доставить сообщение до адресата, необходимо переслать его почтовому серверу домена , в котором находится адресат. Для этого обычно используется запись типа MX (англ. Mail eXchange - обмен почтой) системы DNS . Если MX запись отсутствует, то для тех же целей может быть использована запись типа A. Некоторые современные реализации SMTP-серверов для определения сервера, обслуживающего почту в домене адресата, также могут задействовать SRV-запись (RFC 2782 ).
Широкое распространение SMTP получил в начале 1980-х годов. До него использовался протокол UUCP , который требовал от отправителя знания полного маршрута до получателя и явного указания этого маршрута в адресе получателя, либо наличия прямого коммутируемого или постоянного соединения между компьютерами отправителя и получателя.
Sendmail был одним из первых (если не первым) агентом отправки сообщений , который начал работать с SMTP. В настоящее время протокол SMTP является стандартным для электронной почты и его используют все клиенты и серверы.
Протокол был разработан для передачи только текста в кодировке ASCII , кроме того, первые спецификации требовали обнуления старшего бита каждого передаваемого байта. Это не даёт возможности отсылать текст на национальных языках (например, кириллице), а также отправлять двоичные файлы (такие как изображения, видеофайлы, программы или архивы). Для снятия этого ограничения был разработан стандарт MIME , который описывает способ преобразования двоичных файлов в текстовые. В настоящее время большинство серверов поддерживают 8BITMIME, позволяющий отправлять двоичные файлы так же просто, как текст. Основные команды: – MAIL адрес отправителя – RCPT адрес получателя (может быть несколько. На каждого получателя отдельно приходит квитанция) – DATA передача данных (письма). Производится в ASCII. Данные формируются как сегменты ТСР. Конец письма – точка в пустой строке. – QUIT разрыв соединения Установление и закрытие соединения непосредственно с сервером производится по ТСР. Контроль за пользовательскими данными возложен на ТСР.

Сервер SMTP - это
конечный автомат с внутренним состоянием. Клиент передает на сервер строку команда<пробел> параметры<перевод строки>. Сервер отвечает на каждую команду строкой, содержащей код ответа и текстовое сообщение, отделенное пробелом. Код ответа - число от 100 до 999, представленное в виде строки, трактующийся следующим образом:
    2ХХ - команда успешно выполнена
    3XX - ожидаются дополнительные данные от клиента
    4ХХ - временная ошибка, клиент должен произвести следующую попытку через некоторое время
    5ХХ - неустранимая ошибка
Текстовая часть ответа носит справочный характер и предназначена для человека, а не программы.
ESMTP - расширяемый протокол, в отличие от SMTP. При установлении соединения сервер объявляет о наборе поддерживаемых расширений (в качестве ответа на команду HELO ). Соответствующие расширения могут быть использованы клиентом при работе. Необходимо помнить, что если сессия начинается с команды HELO (используемой в «классическом» SMTP, RFC 821 ), то список расширений выводиться не будет.

1.2 POP3

POP3 (англ. Post Office Protocol Version 3 - протокол почтового отделения, версия 3) используется почтовым клиентом для получения сообщений электронной почты с сервера . Обычно используется в паре с протоколом SMTP .
Предыдущие версии протокола (POP, POP2) устарели.
    Описание протокола РОРЗ
Post Office Protocol (POP) - протокол доставки почты пользователю из почтового ящика почтового сервера РОР . Многие концепции, принципы и понятия протокола POP выглядят и функционируют подобно SMTP. Команды POP практически идентичны командам SMTP, отличаясь в некоторых деталях. На рис.7 изображена модель клиент-сервер по протоколу POP. Сервер POP находится между агентом пользователя и почтовыми ящиками.

В настоящее время существуют две версии протокола POP - РОР2 и РОРЗ, обладающими примерно одинаковыми возможностями, однако несовместимыми друг с другом. Дело в том, что у РОР2 и РОРЗ разные номера портов протокола. Между ними отсутствует связь, аналогичная связи между SMTP и ESMTP. Протокол РОРЗ не является расширением или модификацией РОР2 - это совершенно другой протокол. РОР2 определен в документе RFC 937 (Post Office Protocol-Version 2, Butler, et al, 1985), a РОРЗ - в RFC 1225 (Post Office Protocol-Version 3, Rose, 1991). Далее кратко рассмотрим POP вообще и более подробно - РОРЗ. PОРЗ разработан с учетом специфики доставки почты на персональные компьютеры и имеет соответствующие операции для этого.
Назначение протокола РОРЗ
Ранее почтовые сообщения большинства сетей доставлялись непосредственно от одного компьютера к другому. И если пользователь часто менял рабочие компьютеры или один компьютер принадлежал нескольким пользователям, существовали определенные проблемы. В наши дни общепринята доставка сообщения не на компьютеры пользователя, а в специальные почтовые ящики почтового сервера организации, который круглосуточно работает (включен).
Описание протокола РОРЗ
Конструкция протокола РОРЗ обеспечивает возможность пользователю обратиться к своему почтовому серверу и изъять накопившуюся для него почту. Пользователь может получить доступ к РОР-серверу из любой точки доступа к Интернет. При этом он должен запустить специальный почтовый агент (UA), работающий по протоколу РОРЗ, и настроить его для работы со своим почтовым сервером. Итак, во главе модели POP находится отдельный персональный компьютер, работающий исключительно в качестве клиента почтовой системы (сервера). Подчеркнем также, что сообщения доставляются клиенту по протоколу POP, а посылаются по-прежнему при помощи SMTP. То есть на компьютере пользователя существуют два отдельных агента-интерфейса к почтовой системе - доставки (POP) и отправки (SMTP). Разработчики протокола РОРЗ называет такую ситуацию "раздельные агенты" (split UA). Концепция раздельных агентов кратко обсуждается в спецификации РОРЗ.
В протоколе РОРЗ оговорены три стадии процесса получения почты: авторизация, транзакция и обновление. После того как сервер и клиент РОРЗ установили соединение, начинается стадия авторизации. На стадии авторизации клиент идентифицирует себя для сервера. Если авторизация прошла успешно, сервер открывает почтовый ящик клиента и начинается стадия транзакции. В ней клиент либо запрашивает у сервера информацию (например, список почтовых сообщений), либо просит его совершить определенное действие (например, выдать почтовое сообщение). Наконец, на стадии обновления сеанс связи заканчивается

1.3 IMAP.

IMAP (англ. Internet Message Access Protocol - «Протокол доступа к электронной почте Интернета») - протокол прикладного уровня для доступа к электронной почте .
Аналогично POP3 , служит для работы со входящими письмами, однако обеспечивает дополнительные функции, в частности, возможность поиска по ключевому слову без сохранения почты в локальной памяти.
IMAP предоставляет пользователю обширные возможности для работы с почтовыми ящиками, находящимися на центральном сервере . Почтовая программа, использующая этот протокол, получает доступ к хранилищу корреспонденции на сервере так, как будто эта корреспонденция расположена на компьютере получателя. Электронными письмами можно манипулировать с компьютера пользователя (клиента ) без постоянной пересылки с сервера и обратно файлов с полным содержанием писем.
Для отправки писем используется протокол SMTP .

Преимущества по сравнению с POP3

IMAP был разработан для замены более простого протокола POP3 и имеет следующие преимущества по сравнению с последним:
    Письма хранятся на сервере, а не на клиенте. Возможен доступ к одному и тому же почтовому ящику с разных клиентов. Поддерживается также одновременный доступ нескольких клиентов. В протоколе есть механизмы, с помощью которых клиент может быть проинформирован об изменениях, сделанных другими клиентами.
    Поддержка нескольких почтовых ящиков (или папок). Клиент может создавать, удалять и переименовывать почтовые ящики на сервере, а также перемещать письма из одного почтового ящика в другой.
    Возможно создание общих папок, к которым могут иметь доступ несколько пользователей.
    Информация о состоянии писем хранится на сервере и доступна всем клиентам. Письма могут быть помечены как прочитанные, важные и т. п.
    Поддержка поиска на сервере. Нет необходимости скачивать с сервера множество сообщений для того, чтобы найти одно нужное.
    Поддержка онлайн -работы. Клиент может поддерживать с сервером постоянное соединение, при этом сервер в реальном времени информирует клиента об изменениях в почтовых ящиках, в том числе о новых письмах.
    Предусмотрен механизм расширения возможностей протокола.
Текущая версия протокола имеет обозначение IMAP4rev1 (IMAP, версия 4, ревизия 1). Протокол поддерживает передачу пароля пользователя в зашифрованном виде. Кроме того, IMAP- трафик можно зашифровать с помощью SSL .

2. Почтовый сервер

Почтовый сервер, сервер электронной почты, мейл-сервер - в системе пересылки электронной почты так обычно называют агент пересылки сообщений (англ. mail transfer agent, MTA ). Это компьютерная программа, которая передаёт сообщения от одного компьютера к другому. Обычно почтовый сервер работает «за кулисами», а пользователи имеют дело с другой программой - клиентом электронной почты (англ. mail user agent, MUA ).


К примеру, в распространённой конфигурации агентом пользователя является Outlook Express , однако в последнее время часто используются полноценные версии почтового клиента от Microsoft - Outlook, а так же клиента от Mozilla - Thunderbird. Когда пользователь набрал сообщение и посылает его получателю, почтовый клиент взаимодействует с почтовым сервером, используя протокол SMTP . Почтовый сервер отправителя взаимодействует с почтовым сервером получателя (напрямую или через промежуточный сервер - релей). На почтовом сервере получателя сообщение попадает в почтовый ящик , откуда при помощи агента доставки сообщений (mail delivery agent , MDA) доставляется клиенту получателя. Часто последние два агента совмещены в одной программе (к примеру, sendmail ), хотя есть специализированные MDA, которые в том числе занимаются фильтрацией спама . Для финальной доставки полученных сообщений используется не SMTP, а другой протокол - часто POP3 или IMAP - который также поддерживается большинством почтовых серверов. Хотя в простейшей реализации MTA достаточно положить полученные сообщения в личный каталог пользователя в файловой системе центрального сервера («почтовый ящик»).
Часто почтовый сервер включает программное обеспечение для организации рассылок электронной почты .
    Протоколы электронной почты и их взаимосвязь .
После того как письмо Алисы попадает на почтовый сервер Боба, оно помещается в почтовый ящик Боба. Во всех предыдущих примерах мы неявно предполагали, что Боб читает письма, входя на свой почтовый сервер и запуская программу чтения почты непосредственно на сервере. Действительно, до середины 1990-х годов такая схема доступа к электронным сообщениям была самой распространенной. В последние годы более типична ситуация, когда пользователь просматривает сообщения с помощью агента, выполняющегося на его вычислительной машине (офисном персональном компьютере, компьютере семейства Macintosh или цифровом органайзере). Это открывает пользователю доступ к набору удобных средств для работы с электронной почтой, в частности к средствам просмотра мультимедиа-сообщений и разнообразных вложений.
Если Боб имеет возможность читать электронные письма с помощью программы, выполняющейся на его домашнем компьютере, возникает резонный вопрос: почему бы не наделить его компьютер функциями почтового сервера? В этом случае почтовый сервер Алисы осуществлял бы прямое взаимодействие с компьютером Боба, и электронные сообщения попадали бы непосредственно к его агенту. Такой подход, увы, влечет за собой серьезные проблемы. Вспомним о том, что почтовый SMTP-сервер управляет почтовыми ящиками и при обмене почтой выполняет функции как серверной, так и клиентской сторон. Поэтому для успешной работы нашей гипотетической почтовой системы компьютер Боба должен всегда оставаться включенным и иметь связь с Интернетом. Не удивительно, что такая схема совершенно непригодна для подавляющего большинства пользователей. На практике используется компромиссный вариант: пользователь просматривает электронную почту с помощью агента, находящегося на его персональном компьютере, однако прием входящих сообщений осуществляется почтовым сервером общего пользования, на котором расположен почтовый ящик пользователя. Ооычно почтовые ящики предоставляются Интернет-провайдерами.
Итак, пользователи обрабатывают электронные сообщения с помощью своих персональных компьютеров, используя почтовые серверы лишь для отправки и получения почты. Возникает вопрос: каким образом осуществляется взаимодействие между агентами пользователей и почтовыми серверами? Сначала рассмотрим, как письмо Алисы попадает на почтовый сервер Боба. Разумеется, прочитав предыдущий материал, вы можете уверенно заявить, что для этого используется протокол SMTP, и будете правы. Однако протокол SMTP описывает передачу сообщений между почтовыми серверами, а агент пользователя Алисы не имеет прямого соединения с почтовым сервером Боба. Дело обстоит так: сначала агент пользователя устанавливает SMTP-соединение с почтовым сервером Алисы и осуществляет передачу сообщения, а уже затем происходит соединение почтовых серверов Алисы и Боба, о котором шла речь ранее. Возникает вопрос: зачем использовать промежуточную передачу? Первой важной причиной является то, что агент пользователя Алисы не располагает эффективным механизмом реагирования на отсутствие ответов от почтового сервера Боба. Как вы помните, почтовый сервер Алисы предпринимает периодические попытки установления соединения с почтовым сервером Боба до тех пор, пока одна из попыток не окажется удачной. В документах RFC содержатся описания способов передачи сообщений между несколькими SMTP-серверами с помощью SMTP-команд.
Теперь остается рассмотреть, каким образом агент пользователя Боба получает сообщения, находящиеся в его почтовом ящике. Вспомним о том, что SMTP является протоколом отправки, а операция извлечения и доставки сообщений, очевидно, требует применения протокола получения. Таким образом, мы приходим к необходимости создания специального протокола получения электронной почты, находящейся в почтовом ящике сервера. Существует несколько таких протоколов, наиболее распространенными из которых являются РОРЗ (Post Office Protocol Version 3 - протокол почтового отделения, версия 3), IMAP (Internet Mail Access Protocol - протокол доступа к почте Интернета) и HTTP.
На рис. 2.12 представлена схема, иллюстрирующая использование различных протоколов в системе электронной почты Интернета. Как мы видим, протокол SMTP передает сообщения между почтовыми серверами отправителя и получателя, а также между агентом отправителя и почтовым сервером отправителя. От почтового сервера получателя агенту получателя сообщения доставляются по протоколу РОРЗ.

4. Приложения:

1. Распространённые серверы электронной почты

    LinuxWizard GET-Mail.biz
    AfterLogic MailSuite Pro
    AMS server
    Apache James (Apache Java Enterprise Mail Server, в рамках Apache Software Foundation )
    CommuniGate Pro
    IceWarp Mail Server
    Courier Mail Server ( англ. ) - свободный почтовый сервер для Linux, SMTP/POP3/IMAP;
    Courier Mail Server - проприетарный почтовы й сервер для Windows, SMTP/POP3;
    IBM Lotus Domino ;
    Eserv - отечественный проприетарный почтовый сервер, GPL c 2003г , SMTP/POP3/IMAP;
    Exim
    HMailServer
    Hula
    Kerio Connect
    MDaemon Mail Server
    Microsoft Exchange Server
    Postfix
    Sendmail
    SmarterMail
    qmail
    Zimbra
    ZMailer
    Usergate mail server (российская разработка компании Entensys на базе HMailServer v4)
    Почтовый сервер NextMail (российская разработка Корпорации НЕКСТ на базе qmail )

2. Популярные программы

Самые распространённые почтовые программы, используемые под разными операционными системами, на 2008 год :
Microsoft Windows Unix-подобные ОС Мобильные телефоны с J2ME
    Microsoft Outlook
    Microsoft Outlook Express (устарела)
    The Bat!
    Mozilla Thunderbird
    Opera Mail
    Windows Mail
    KMail (в среде KDE)
    Evolution
    Mozilla Thunderbird
    Mutt
    Claws Mail
    Sylpheed
    gnus (в GNU EMACS)
    slrn
    MailMan
    Email Viewer

5.Терминология

Почтовая программа (клиент электронной почты , почтовый клиент , мейл-клиент , мейлер ) - программное обеспечение , устанавливаемое на компьютере пользователя и предназначенное для получения, написания, отправки и хранения сообщений электронной почты одного или нескольких пользователей (в случае, например, нескольких учётных записей на одном компьютере) или нескольких учётных записей одного пользователя.

Электронная почта (англ. email, e-mail , от англ. electronic mail ) - технология и предоставляемые ею услуги по пересылке и получению электронных сообщений (называемых «письма» или «электронные письма») по распределённой (в том числе глобальной ) компьютерной сети.

Спам (англ. spam ) - массовая рассылка коммерческой, политической и иной рекламы (информации) или иного вида сообщений лицам, не выражавшим желания их получать. Легальность массовой рассылки некоторых видов сообщений, для которых не требуется согласие получателей, может быть закреплена в законодательстве страны. Например, это может касаться сообщений о надвигающихся стихийных бедствиях, массовой мобилизации граждан и т. п. В общепринятом значении термин «спам» в русском языке впервые стал употребляться применительно к рассылке электронных писем . Не запрошенные сообщения в системах мгновенного обмена сообщениями (например, ICQ ) носят название SPIM (англ. Spam over IM ).

Рассылка электронной почты - средство массовой коммуникации, группового общения и рекламы . Заключается в автоматизированной рассылке сообщений электронной почты группе адресатов по заранее составленному списку.

Протокол передачи данных - набор соглашений логического уровня интерфейса , который определяет обмен данных между различными программами . Эти соглашения задают единообразный способ передачи сообщений и обработки ошибок при взаимодействии программного обеспечения разнесённой в пространстве аппаратуры , соединённой тем или иным интерфейсом.

Компьютерная сеть (вычислительная сеть, сеть передачи данных ) - система связи компьютеров и/или компьютерного оборудования (серверы, маршрутизаторы и другое оборудование).

Сервер (англ. server от to serve - служить) - аппаратное обеспечение, выделенное и/или специализированное для выполнения на нем сервисного программного обеспечения (в том числе серверов тех или иных задач).

Клиент - это аппаратный или программный компонент вычислительной системы, посылающий запросы серверу .

Онла?йн (англ. online , от англ. on line - «на линии») - «находящийся в состоянии подключения». Первоначально использовалось только в отношении коммуникационного оборудования для указания на режим связи, типичным значением могло быть «не вешая трубку», то есть за один телефонный звонок, в режиме реального времени.

Трафик (от англ. traffic - «движение, транспорт, торговля»).
Значения:

    В компьютерной технике - объём информации, передаваемой по сети за определенный период времени. Пример: Тариф без оплаты по трафику (то есть оплата начисляется не по объёму переданной по сети информации). Возможно жаргонное употребление в значении «поток информации» (Входящий трафик содержал в себе файлы ).

SSL (англ. Secure Sockets Layer - уровень защищённых сокетов) - криптографический протокол , который обеспечивает установление безопасного соединения между клиентом и сервером. SSL изначально разработан компанией Netscape Communications . Впоследствии на основании протокола SSL 3.0 был разработан и принят стандарт RFC , получивший имя TLS .

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

Multipurpose Internet Mail Extensions
и т.д.................

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

В данном видео предлагаю разобраться в работе электронной почты, а точнее в настройке и работе протоколов SMTP, POP3 и IMAP, благодаря которым мы можем обмениваться электронными сообщениями.

Аббревиатура SMTP расшифровывается как Simple Mail Transfer Protocol или упрощенный протокол передачи почты и его основной задачей является отправка сообщений. Но, для нормальной работы с электронной почтой мы должны помимо отправления почты, еще её и получать! А эти задачи берут на себя протоколы POP3 (Post Office Protocol 3) или почтовый протокол версии 3 и IMAP (Interactive Mail Access Protocol) или протокол интерактивного доступа к электронной почте.

Так вот главной целью данного видео будет как раз разобраться, в чем различия именно между этими двумя протоколами, и какой лучше использовать в работе.

Для тестирования я буду использовать бесплатный почтовый клиент Thunderbird от компании Mozilla. При необходимости вы можете его скачать по ссылке, которую я дам в дополнительных материалах к данному видео на официальном сайте Центра Обучения IT. https://www.mozilla.org/ru/thunderbird/

Запустим почтовый клиент и добавим 2 почтовых ящика, которые я специально создал для тестирования протоколов POP3 () и IMAP (). Для подключения ящиков заходим в (Меню \ Настройки \ Параметры учетной записи \ Действия для учетной записи \ Добавить учетную запись почты \ Вводим имя \ Адрес электронной почты \ Пароль \ Продолжить)

Выдается сообщение «Thunderbird не удалось найти настройки для вашей учетной записи почты) по этому нам потребуется выполнить более тонкие настройки.

Для начала нужно выбрать протокол входящей почты, выбираем POP3, так как этот ящик я создал специально для тестирования данного протокола.

Имя сервера – если у вас почта на mail.ru, то скорее всего сможет правильно подставить имя сервера pop3.mail.ru, но так как у меня почта от хостера на котором зарегистрирован мой домен, то у меня имя сервера будет другое pop3.beget.com. А вообще, данные настройки вы можете найти на сайте почтового сервиса, на котором у вас зарегистрирован ящик и, как правило, это pop3. и доменное имя почтового сервиса.

Жмем «Перетестировать» и почтовый клиент успешно достучался до сервера и автоматически выставил нужные настройки для работы. Тут мы можем увидеть, что протокол POP3 работает на 110 порте, SMTP на 25. Жмем «Готово» и аналогичным образом настраиваем еще один почтовый ящик (), но в качестве протокола входящей почты укажем IMAP с портом 143.

Так в чем же различия между протоколом POP3 и IMAP?

Если мы зайдем в почтовый ящик test-imap в папку «Входящие» то у нас сразу появляются письма, которые находятся в данном почтовом ящике на сервере. Аналогично тому, если бы мы зашли непосредственно на сервер через веб-интерфейс. А в почтовом ящике test-pop3 ничего нет, так как работа через протокол POP3 идет по запросу, т.е. нужно дать команду «Получить почту».

Так вот основное отличие между протоколами POP3 и IMAP заключается в том, что по протоколу IMAP идет постоянная связь с почтовым севером, а POP3 работает по запросу получения почты.

Для того, чтобы более наглядно понять, как все это работает, сымитируем работу сотрудника с почтой:

Создадим папку «Клиенты» для возможности сортировать письма по разным группам;

Отправим с ящика test-pop3 3 тестовых письма на test-imap

В ящике test-imap: одно письмо переместим в папку «Клиенты»; на второе ответим; третье оставим не прочитанным.

В ящике test-pop3 ответим на полученное письмо и переместим его в папку «Клиенты»

Теперь посмотрим через веб-интерфейс, что у нас происходит на сервере с почтовым ящиком test-imap. Как вы видите, тут все тоже самое, как и в почтовом клиенте (есть все входящие письма и даже те, которые мы не успели прочитать, так же помечены, как не прочитанные; в папке отправленные, присутствуют письма которые мы отправляли; в папке Trash удаленные; и даже создалась папка Клиенты и там присутствует письмо, которое мы туда переместили). Т.е. все что мы делали через почтовый клиент Thunderbird про дублировалось на сервере.

А что же в ящике test-pop3? Только письма в папке входящие, которые приходили на почтовый сервер. Никаких писем в «Отправленных», в «Корзине» и нет папки «Клиенты». Даже письмо, которое мы перемещали в папку «Клиенты» так же осталось на месте. Все это говорит о том, что протокол POP3 работает только для получения почты, без какой-либо обратной связи.

Какой вывод на основе проведенных экспериментов мы можем сделать? Если вы работаете с почтой с одного и того же компьютера через почтовый клиент, то вам подойдет протокол POP3. Если вы работаете с одним почтовым ящиком на разных устройствах (рабочий компьютер, домашний компьютер, мобильный телефон) то протокол IMAP, так как при внесении изменений на каком-либо устройстве, они появятся на всех устройствах.

Плюс, когда компьютер сломался, мы можем добавить учетную запись почты на другом компьютере и продолжать работать, как ни в чем не бывало, вся наработанная информация будет актуальна.

Лично я использую POP3, чтобы не занимать место на сервере, так как все равно работаю с личной почтой только с домашнего компьютера. А на случай выхода из строя жесткого диска у меня настроен зеркальный RAID и синхронизация в облако Acronis.

Кстати, если вам интересно, то могу записать видеоурок по подключению вашей корпоративной почты к веб-интерфейсу mail.ru или яндекс.почта. На самом деле это очень удобно, так как обычно пользователи привыкли к работе с почтой на этих сайтах и им сложно перейти на работу в почтовом клиенте или в другом веб-интерфейсе. А благодаря такой возможности, они смогут работать с корпоративной почтой в привычной среде.

Система электронной почты состоит из трех компонентов: пользовательского агента, позволяющего пользователям читать и составлять сообщения, транспортных агентов для отправки и доставки сообщений. Задача транспортного агента – принимать почту от пользовательского агента, интерпретировать адреса получателей и перенаправлять почту на соответствующие машины для последующей доставки. Доставочный агент отвечает за прием почты от транспортного агента и ее доставку получателям.

Протокол SMTP

После того как агент передачи почты пошлет сообщение в выходную очередь, за дело принимается агент доставки - МТА. Он извлекает сообщение и посылает его другому МТА. Этот процесс продолжается до тех пор, пока сообщение не достигнет компьютера - получателя. Для передачи сообщений большинство МТА пользуются протоколом SMTP. Сообщения форматированы по правилам виртуального сетевого терминала NVT. Символ в NVT состоит из семи битов набора ASCII и является буквой, цифрой или знаком пунктуации.

Кроме текста, SMTP позволяет передавать и двоичную информацию, например присоединенные графические или звуковые файлы.

Сообщение в почтовый ящик пользователя может быть доставлено различными маршрутами. Чтобы направить почту по нужному пути, указываются промежуточные агенты-MTA. В следующем примере [email protected] является почтовым ящиком, a HOSTI, HOST2 и HOST3 - промежуточными агентами:

MAIL FROM:<@HOSTI, @HOST2, @HOST3: [email protected] >

Как правило, между двумя компьютерами находится один или несколько промежуточных агентов. Аргументом команды MAIL является обратный маршрут, включающий имя источника сообщения и имена всех промежуточных агентов. Обратный маршрут используется SMTP, когда нужно передать сообщение о случившейся ошибке или о невозможности доставить сообщение, когда оно уже прошло через промежуточный агент. По мере продвижения сообщения по Internet записи о его маршрутах изменяются.

Протокол POP3

На компьютере пользователя существуют два отдельных почтовых агента - доставки (POP) и отправки (SMTP).

Post Office Protocol (POP) - протокол доставки почты пользователю. Доставка сообщений осуществляется в почтовые ящики пользователя, расположенные на круглосуточно работающем почтовом сервере. Пользователь может получить доступ к своему почтовому РОР-серверу из любой точки доступа к Интернет. Для этого необходимо запустить почтовый агент и настроить его для работы со своим почтовым сервером.

В протоколе РОРЗ, который является более поздней версией POP, оговорены три стадии процесса получения почты: авторизация, транзакция и обновление. На стадии авторизации клиент себя идентифицирует. Если авторизация прошла успешно, сервер открывает почтовый ящик клиента и начинается стадия транзакции почты. На стадии обновления сеанс связи заканчивается.

Протокол IMAP4

Протокол IMAP4 (Internet Message Access Protocol) позволяет клиентам получать доступ и манипулировать сообщениями электронной почты на сервере. В отличие от протокола РОРЗ, IMAP4 поддерживает работу с системой каталогов удаленных сообщений, как если бы они располагались на локальном компьютере. IMAP4 позволяет клиенту создавать, удалять и переименовывать почтовые ящики, проверять наличие новых сообщений и удалять старые. Структура папок в значительной степени зависит от типа почтовой системы, но в любой системе у клиента есть специальный каталог INBOX, куда попадают поступающие клиенту сообщения. Протокол IMAP4 работает поверх транспортного протокола, который обеспечивает надежный и достоверный канал передачи данных между клиентом, и сервером IMAP4. При работе по TCP, IMAP4 использует 143-й порт. Команды и данные IMAP4 передаются по транспортному протоколу в том виде, в каком их отправляет сервер или пользователь.

Принцип передачи данных по протоколу IMAP4 такой же, как и у других подобных протоколов. Сначала клиент и сервер обмениваются приветствиями. Затем клиент отправляет на сервер команды и данные. Сервер, соответственно, передает клиенту ответы на обработку команд и данных. После завершения обмена канал закрывается.

Важной особенностью протокола IMAP является то, что взаимодействие клиента сервером не строится по принципу "запрос-ответ. Сервер может обрабатывать несколько команд одновременно и отвечать на каждую из них по ее окончанию. При этом ответ на более позднюю команду может поступить раньше, поэтому ответ сервера всегда содержит тег той команды, к которой он относится. Для работы в таком режиме, клиент и сервер должны фиксировать весь поток данных обмена, поскольку как сервер так и клиент в своих запросах и ответах мог ссылаться на команды и данные, введенные на предыдущих стадиях сессии обмена.

IMAP4 - гибкий и многофункциональный протокол с широкими возможностями. Он обслуживает более 20 различных команд клиента по управлению состоянием почты.

Спецификация MIME

Существует стандарт MIME (Multipurpose Internet Mail Extensions), определяющий включение в почтовые сообщения объектов мультимедиа: текста на языках, для которых используются кодировки, отличные от ASCII, и нетекстовый контент, такой как картинки, музыка, фильмы и программы. MIME является также компонентом коммуникационных протоколов HTTP, которым нужно, чтобы данные передавались в контексте сообщений подобных e-mail, даже если данные реально не являются e-mail.

Проблемы с кодировкой

В настоящее время используется несколько кодировок кириллицы позволяяющих использовать восьмибитные коды от 0.. 255: KOI8-R, Windows 1251 и Unicode(UTF-8).

KOI8 является стандартом для серверов, работающих на базе платформы UNIX. Эта кодировка используется при пересылке сообщений электронной почты на русском языке.

Компания Microsoft для работы в Интернете предложила свой стандарт Windows 1251.

Универсальный международный стандарт Unicode (UTF-8) был создан с целью объединить существующие национальные кодировки в одну. Поскольку для отображения одного символа в Unicode отводится не один байт, как это принято во всех остальных стандартах, а два, данная кодировка включает в себя 65536 знаков вместо 256. В это число входят не только буквы всех алфавитов мира, но и множество специальных символов - математических, музыкальных, физических. UTF-8 стал основным стандартом передачи гипертекстовой информации.

Большинство современных серверных программ обладают встроенной функцией автоматического определения кодировки, используемой клиентским программным обеспечением, и перевода текста в необходимый стандарт «на лету».

Что касается нетекстовых файлов, то проблема с ними решается путем создания почтовых вложений (присоединённых файлов). Если нужно отправить длинный документ, его упаковывают архиватором, затем создают сообщение, к которому прикрепляют документ в качестве вложения. Для пересылки хорошо подходит формат PDF. Для просмотра этого формата служит бесплатная программа Acrobate Reader.

Протокол FTP

Технология FTP была разработана еще в рамках проекта ARPA и предназначена для обмена большими объемами информации между машинами с различной архитектурой. FTP-протокол - один из старейших протоколов в Internet. Первые спецификации FTP относятся к 1971 году. Обмен данными в FTP построен на технологии “клиент-сервер” и происходит по TCP-каналу. Алгоритм работы протокола FTP состоит в следующем:

Сервер FTP прослушивает порт 21, и находится в состоянии ожидания соединения с клиентом.

Клиент устанавливает соединение и отправляет на сервер команды FTP.

Клиент становится в режим ожидания открытия соединения на заданный для передачи данных порт. Активный модуль - “Программа передачи данных сервера” начинает передачу данных клиенту.

После окончания передачи данных управляющее соединение сервера и клиента остается открытым, поэтому пользователь, не закрывая сессии FTP, может еще раз открыть канал передачи данных.

HTTP – Протокол передачи гипертекстов

HyperText Transfer Protocol (HTTP) - это протокол уровня приложений, обеспечивающий передачу гипертекстовых данных от клиента к серверу и обратно. HTTP используется проектом World Wide Web, начиная с 1990 года. В настоящее время в Веб используется версия HTTP 1.1. HTTP предоставляет открытое множество методов, которые могут быть использованы для указания целей запроса. Для указания адреса ресурса, к которому должен быть применен данный метод, используется Универсальный Идентификатор Ресурсов (Universal Resource Identifier - URI), в виде местонахождения (URL) или имени (URN). Программа - клиент устанавливает связь с обслуживающей программой- сервером и посылает серверу запрос в следующей форме:

· метод запроса,

· версия протокола, за которой следует управляющая информация запроса, информация о клиенте и тело сообщения.

Сервер отвечает сообщением, содержащим строку статуса: версию протокола и код статуса - успех или ошибка. За ней следует сообщение, включающее в себя информацию о сервере, метаинформацию о содержании ответа, и само тело ответа.

Для WWW номер порта по умолчанию 80, но могут быть использованы и другие номера портов.

Для большинства приложений сеанс связи открывается клиентом для каждого запроса и закрывается сервером после окончания ответа на запрос.

Транзакции HTTP

Когда браузер запрашивает Web-страницу с указанного адреса, он создает и отсылает серверу по указанному адресу запрос HTTP, заголовок которого выглядит следующим образом:

GET /my.php HTTP/1.1

Accept: image/gif, image/png, image/jpeg, */*

Accept-Language: en-us

Accept-Encoding: gzip, deflate

User-Agent: Mozilla/4.0 (compatible; MSIE 8.0;

Windows XP; .NET CLR 1.1.4322)

Connection: Keep-Alive

Вот что эти строки значат:

GET - метод HTTP который означает: "Дай информацию, находящуюся в му.php, и вышли ее, используя протокол HTTP 1.1".

Accept - "могу понимать графическую информацию в следующих форматах".

Accept-Language - "язык, - английский, американский ".

Accept-Encoding - "можно отправлять данные в сжатом виде, поскольку я понимаю типы сжатия gzip и deflate".

User-Agent - "тип моего браузера - Microsoft Explorer 8, выполняющийся под управлением Windows XP".

Host - "доставь мне информацию /my.php с компьютера, находящегося на хосте my.com".

Connection: Keep-Alive - "держи подключение HTTP открытым, пока браузер не закроет его". Постоянное подключение повышает производительность, поскольку соединение не нужно закрывать и снова открывать для каждого подключения. Без Keep-Alive Web-страница будет иметь множество подключений

Когда Web-сервер получает подобный запрос, он должен просмотреть информацию на сервере, которая представлена /my. php. Если информация на сервере существует, сервер должен отправить клиенту (браузеру) ответ (response) в виде:

Server: Apache/2

ETag: "1387e3-5f88-479666db44b40"

Accept-Ranges: bytes

Content-Length: 24456

Vary: Accept-Encoding,User-Agent

Connection: close

Content-Type: text/html; charset=utf-8

HTTP-ответ состоит из двух частей. В начале идет заголовок ответа (response header). Затем идет пустая строка и далее - сама запрошенная информация. Эта вторая часть называется телом (body). Вот что означают части заголовка:

HTTP/1.1 - первая строка сообщает клиенту, что информация будет отправлена по протоколу HTTP версии 1.1. Код 200 состояния HTTP означает: "Все хорошо, документ найден и сейчас будет отправлен".

Date - сообщает клиенту дату, установленную на сервере, с которого поступает информация. Стандартный часовой пояс - GMT, то есть время по Гринвичу.

Server - каков тип сервера, предоставляющего информацию.

Connection - сообщает клиенту, что соединение будет закрыто после того, как сервер завершит отправку информации.

Content-Type - сообщает клиенту, какой тип содержимого будет отправлен. В дополнение также указывается набор символов.

Клиентские методы HTTP

В HTTP метод клиента определяет запрос, отправленный от Web-клиента, либо РНР-сценария, HTTP-серверу. Чаще всего используются три основных типа запросов:

GET-запросы. Когда вы хотите только получить информацию от источника HTTP, то можете сделать это методом GET. Получить информацию можно из файла, либо от исполняемой программы на Web-сервере с указанным URL-адресом.

POST-запросы. Когда вы хотите отправить информацию от клиента Web-серверу, то используете запрос POST. Обычно это имеет место, когда вы отправляете серверу содержимое Web-формы.

HEAD-запросы. Когда вы хотите получить информацию о запрошенном URL, но не информацию самого URL, то используете запрос HEAD.

Несмотря на то, что РНР делает определенные вещи легко, он не реализует их в полной мере. В частности, хотя средство потоков РНР Streams позволяет довольно просто получать доступ к ресурсам HTTP, как если бы они были файлами, оно не дает возможности получить доступ к метаинформации. Чтобы получить доступ к метаинформации, можно обратиться к объекту HttpClient.


Похожая информация.


Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter
ПОДЕЛИТЬСЯ: