Для каких целей предназначен протокол smtp. Что такое SMTP-сервер и зачем его использовать

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

Что такое POP3?

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

По умолчанию протокол POP3 работает на двух портах:

    порт 110 — это незашифрованный порт POP3;

    порт 995 — его нужно использовать, если вы хотите безопасно подключиться к POP3.

Что такое IMAP?

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

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

Протокол IMAP работает на двух портах:

    порт 143 - это незашифрованный порт IMAP по умолчанию;

    порт 993 - его необходимо использовать, если вы хотите безопасно подключиться с помощью IMAP.

Что такое SMTP?

Протокол - это стандартный протокол для отправки электронной почты через Интернет.

SMTP работает в трех портах:

    порт 25 — это незашифрованный по умолчанию;

    порт 2525 — он открывается на всех серверах SiteGround, если порт 25 фильтруется (например, вашим интернет-провайдером), и вы хотите отправлять незашифрованные электронные письма с помощью SMTP;

    порт 465 — он используется, если вы хотите безопасно отправлять сообщения с помощью SMTP.

По каким протоколам происходит обмен электронной почтой? Понятия и термины

Термин «сервер электронной почты» относится к двум серверам, необходимым для отправки и получения писем, то есть к SMTP и POP.

Сервер входящей почты — это сервер, связанный с вашей учетной записью адреса электронной почты. Для нее не может быть более одного входящего почтового сервера. Для доступа к входящим сообщениям необходим почтовый клиент — программа, которая может получать электронную почту из учетной записи, позволяя пользователю читать, пересылать, удалять и отвечать на сообщения. В зависимости от вашего сервера, вы можете использовать выделенный почтовый клиент (например, Outlook Express) или веб-браузер. Так, Internet Explorer применяют для доступа к учетным записям на основе электронной почты. Письма хранятся на сервере входящей почты до его загрузки. После того, как вы загрузили свою почту с почтового сервера, сделать повторно это будет нельзя. Чтобы успешно загрузить данные, необходимо ввести правильные настройки в электронной почтовой программе. Большинство входящих почтовых серверов используют один из следующих протоколов: IMAP, POP3, HTTP.

Исходящий почтовый сервер (SMTP)

Это сервер, используемый только для отправки писем (для переноса их из вашей почтовой клиентской программы в приемник). Большинство исходящих почтовых серверов используют Protocol) для отправки корреспонденции. В зависимости от ваших сетевых параметров сервер исходящей почты может принадлежать вашему интернет-провайдеру или серверу, на котором вы настраиваете свою учетную запись. В качестве альтернативы вы можете использовать SMTP-сервер на основе подписки, который позволит вам отправлять электронные письма с любой учетной записи. Из-за проблем со спамом большинство исходящих почтовых серверов не позволяют отправлять электронные письма, если вы не вошли в свою сеть. Сервер с открытым ретранслятором позволит вам использовать его для отправки электронных писем, независимо от того, принадлежите ли вы к его сетевой группе или нет.

Порты электронной почты

Для сетей порт означает конечную точку логического соединения. Номер порта определяет его тип. Ниже перечислены порты электронной почты по умолчанию:

    POP3 - порт 110;

    IMAP - порт 143;

    SMTP - порт 25;

    HTTP - порт 80;

    безопасный SMTP (SSMTP) - порт 465;

    безопасный IMAP (IMAP4-SSL) - порт 585;

    IMAP4 через SSL (IMAPS) - порт 993;

    Secure POP3 (SSL-POP) - порт 995.

Протоколы электронной почты: IMAP, POP3, SMTP и HTTP

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

Протокол IMAP

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

Протокол POP3

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

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

Протокол SMTP

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

Протоколы HTTP

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

Управляемые передачи файлов и сетевые решения

Ваша способность отправлять и получать электронную почту в основном обусловлена ​тремя протоколами TCP. Ими являются SMTP, IMAP и POP3.

SMTP

Начнем с SMTP, потому что его основная функция отличается от двух других. Протокол SMTP, или Simple Mail Transfer Protocol, в основном используется для отправки электронной почты от почтового клиента (например, Microsoft Outlook, Thunderbird или Apple Mail) на сервер электронной почты. Он также используется для ретрансляции или пересылки почтовых сообщений с одного почтового сервера на другой. Это необходимо в случае, если у отправителя и получателя есть разные поставщики услуг электронной почты.

SMTP, который указан в RFC 5321, использует порт 25 по умолчанию. Он также может использовать порт 587 и порт 465. Последний, который был представлен как порт выбора для безопасного SMTP (a.k.a. SMTPS), считается устаревшим. Но на самом деле он по-прежнему используется несколькими поставщиками почтовых услуг.

POP3

Протокол почтового отделения, или POP, используется для извлечения сообщений электронной почты с Последняя версия, которая широко используется, - это версия 3, отсюда и термин «POP3».

POP, версия 3, указанная в RFC 1939, поддерживает расширения и несколько механизмов аутентификации. Функции проверки подлинности необходимы, чтобы злоумышленники не получали доступ к сообщениям пользователей.

Клиент POP3 получает электронную почту следующим образом:

    подключается к почтовому серверу на порту 110 (или 995 для соединений SSL/TLS);

    удаляет копии сообщений, хранящихся на сервере;

    отключается от сервера.

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

    IMAP

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

    Логика работы (настройки imap4):

    • подключается к почтовому серверу через порт 143 (или 993 для соединений SSL / TLS);

      извлекает сообщения электронной почты;

      служит для подключения до закрытия приложения почтового клиента и загрузки сообщений по требованию.

    Обратите внимание, что сообщения не удаляются на сервере. Это может иметь серьезные последствия. Спецификации IMAP можно найти в RFC 3501.

    Выбор между IMAP и POP3

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

    Если для вас важно место для хранения на сервере, то выбирайте POP3. Сервер с ограниченным объемом памяти является одним из основных факторов, которые могут заставить вас поддержать POP3. Поскольку IMAP оставляет сообщения на сервере, он может потреблять пространство памяти быстрее, чем POP3.

    Если вы хотите получить доступ к почте в любое время, то лучше остановиться на IMAP. Есть одна веская причина, по которой IMAP был предназначен для хранения сообщений на сервере. Он используется для поиска сообщений с нескольких устройств — иногда даже одновременно. Поэтому если у вас есть iPhone, планшет Android, ноутбук и рабочий стол и вы хотите читать электронную почту с любого или всех этих устройств, то IMAP будет лучшим выбором.

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

    Например, если вы читаете сообщения A, B и C, то хотите, чтобы они также были помечены как «прочитанные» на других устройствах. Если вы удалили письма B и C, то захотите, чтобы те же сообщения удалялись из вашего почтового ящика на всех гаджетах. Все эти синхронизации могут быть достигнуты только в том случае, если вы используете IMAP.

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

    Разумеется, все функциональные возможности IMAP имеют свою цену. Эти решения сложнее реализовать, и в конечном итоге протокол потребляет намного больше ЦП и ОЗУ, особенно когда он выполняет процесс синхронизации. Фактически высокая загрузка процессора и памяти может произойти как на стороне клиента, так и на стороне сервера, если есть тонна сообщений для синхронизации. С этой точки зрения протокол POP3 менее затратен, хотя и менее функционален.

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

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

    Однако если все сообщения на сервере должны загружаться каждый раз, то POP3 будет работать гораздо быстрее.

    Как вы можете увидеть, каждый из описываемых протоколов имеет свои преимущества и недостатки. Вам решать, какие функции или возможности важнее.

    Также желаемый способ доступа к e-mail-клиенту определяет предпочтительность протокола. Пользователи, работающие только с одной машины и использующие веб-почту для доступа к своим новым электронным письмам, оценят POP3.

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

    Спам-брандмауэры с SMTP, IMAP и POP3

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

    Брандмауэры SMTP прозрачны для конечных пользователей; для клиентов нет изменений конфигурации. Пользователи по-прежнему получают и отправляют почтовые сообщения на сервер электронной почты. Так, Exchange или Dominos должны настраивать маршрутизацию сообщений на брандмауэр на основе прокси-сервера при отправке электронной почты, а также обеспечивать возможность отправки писем с брандмауэра.

(SMTP) - это стандарт для e-mail-почты. Изначально был зафиксирован в RFC 821 (1982 г.), последний раз обновлялся в 2008 году с расширенными добавлениями SMTP по RFC 5321 (широко распространенным сегодня протоколом).

Хотя почтовые серверы и другие почтовые агенты применяют SMTP для передачи и получения e-mail-корреспонденции, программное обеспечение пользовательского класса, как правило, использует SMTP-порты только для отправки данных на сервер для ретрансляции. Для получения сообщений клиентские приложения обычно используют либо IMAP, либо POP3. Данные протоколы наиболее удобны и востребованы для этих целей: имеют расширенный функционал и широкий спектр возможностей.

Характерные особенности

SMTP-связь между почтовыми серверами использует порт TCP 25. Почтовые клиенты часто отправляют исходящие письма на почтовый сервер по порту 587. Несмотря на то что устаревшие почтовые провайдеры по-прежнему разрешают использовать нестандартный порт 465 для этой цели.

SMTP-соединения, защищенные TLS, известные как SMTPS, могут быть выполнены с использованием технологии STARTTLS.

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

Назначение SMTP

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

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

Техническая терминология

SMTP — это протокол TCP/IP, используемый для работы с e-mail-почтой. Однако поскольку он ограничен возможностью отправлять сообщения в очередь на принимающей стороне, он обычно используется либо с POP3, либо с IMAP, которые позволяют хранить данные на сервер и при необходимости загружать их. Иными словами, обычно используют приложение, которое выбирает SMTP для отправки e-mail и POP3 или IMAP для получения корреспонденции. В системах на основе Unix sendmail является наиболее широко используемым SMTP-сервером для электронной почты. В коммерческий пакет Sendmail входит сервер POP3. Microsoft Exchange включает в себя SMTP-сервер и так же может быть настроен на поддержку POP3.

SMTP, как правило, используется для работы через интернет-порт 25. Альтернативой SMTP, который широко используется в Европе, является X.400. Многие почтовые серверы теперь поддерживают Extended Simple Mail Transfer Protocol (ESMTP), который позволяет передавать мультимедийные файлы в виде электронной почты.

История

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

Дальнейшие реализации включают FTP Mail Protocol, начиная с 1973 года. Работа по развитию продолжалась в 1970-х гг., пока ARPANET не перешла в современный Интернет в 1980 году. Затем Джон Постель предложил протокол передачи почтовых данных.

SMTP начал широко применяться в начале 1980-х гг. В то время данный протокол был дополнением к Unix для почтовой программы Unix Copy Program. SMTP лучше всего работает, когда отправляющая и принимающая машины подключены к Сети, используют механизм хранения и отправки и являются примерами технологии push.

Модель обработки почты

E-mail-почта отправляется почтовым клиентом (почтовым агентом пользователя, MUA) на почтовый сервер (агент отправки почты, MSA) с использованием SMTP на TCP-порт 587. Большинство провайдеров почтовых ящиков по-прежнему разрешают отправку на традиционный порт 25. MSA доставляет почту на свой почтовый агент (агент передачи почты, MTA). Зачастую эти агенты являются экземплярами общего программного обеспечения, активированного с различными параметрами на одном компьютере. Локальная обработка может выполняться либо на одной машине, либо разделяться между несколькими машинами. Процессы почтового агента на одной машине могут обмениваться файлами, но если обработка выполняется на нескольких машинах, они передают сообщения между собой, используя SMTP-порт, где каждая машина настроена на использование следующей машины в качестве интеллектуального хоста.

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

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


Помимо промежуточного ответа для DATA, ответ каждого сервера может быть либо положительным, либо отрицательным (код 2xx). Отрицательные ответы могут быть постоянными (коды 5xx) или временными (коды 4xx). Отклонение — это постоянный сбой, и клиент должен отправить сообщение отказов на сервер, на который он его получил. Падение - это положительный ответ, за которым следует отказ от сообщения.

Почтовые SMTP-порты и их значение

SMTP — только протокол доставки. При обычном использовании почта отправляется на целевой почтовый сервер, например, SMTP-сервер порта mail. Данные маршрутизируются на основе целевого сервера, а не отдельных пользователей, к которым он адресован. Другие протоколы (POP или IMAP) специально разработаны для использования отдельными пользователями, которые получают сообщения и управляют почтовыми ящиками. SMTP, POP и IMAP являются неприемлемыми протоколами для ретрансляции почты с помощью компьютеров с прерывистой связью. Они предназначены для работы после окончательной доставки, когда информация, критически важная для правильной работы почтового ретранслятора, была удалена.

Пуск очереди пустых сообщений

Remote Message Queue Starting - это функция SMTP, которая позволяет удаленному хосту запустить обработку почты на сервере, чтобы она могла получать сообщения, предназначенные для нее, отправив команду TURN. Однако эта функция создавала потенциальную угрозу безопасности данных и была расширена в RFC 1985 командой ETRN, которая более надежно работает с использованием метода аутентификации на основе информации о системе доменных имен.

Международный адрес электронной почты

Пользователи, чей сценарий не является латинским, или которые используют диакритические символы не в наборе символов ASCII, испытывали трудности с требованием адреса электронной почты латинского алфавита (SMTP-порт mail.ru). RFC 6531 был создан для решения этой проблемы, предоставляя возможности интернационализации для SMTP, расширения SMTPUTF8 и поддержки многобайтовых и не-ASCII-символов в адресах электронной почты. Примеры: диакритические знаки и другие языковые символы (греческий и китайский). Также актуально для SMTP-порта Yandex.

Текущая поддержка этого документа на данный момент ограничена, но есть большой интерес к широкому внедрению RFC 6531 и соответствующих RFC в таких странах, как Китай, которые имеют большую пользовательскую базу, где Latin (ASCII) является иностранным сценарием.

Исходящая почта SMTP-сервера

Клиент электронной почты должен знать IP-адрес своего исходного SMTP-сервера. Это должно быть указано как часть его конфигурации (обычно это имя DNS). Этот сервер будет предоставлять исходящие сообщения от имени пользователя.

Ограничения доступа к серверу исходящей почты

Администраторам сервера необходимо наложить определенный контроль на тех клиентов, которые могут использовать сервер. Это позволяет бороться со злоупотреблениями и спамом. Широко использовались подобные решения:

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

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

SMTP — какой порт используется?

Связь между почтовыми серверами обычно всегда использует стандартное значение порта TCP 25, назначенного для SMTP. Тем не менее почтовые клиенты обычно вместо этого используют определенные порты порта smtp ssl. Большинство провайдеров интернет-услуг теперь блокируют весь трафик исходящего порта от своих клиентов в качестве меры защиты от спама. По той же причине предприятия обычно настраивают свой брандмауэр, чтобы разрешить исходящий порт с назначенных почтовых серверов.

Пример транспорта SMTP

Типичный пример отправки сообщения через SMTP на два почтовых ящика (alice и theboss), расположенных в одном и том же почтовом домене (example.com или localhost.com), воспроизводится в следующем сеансе обмена. После того как отправитель сообщения (клиент SMTP) устанавливает надежный канал связи для приемника сообщений (SMTP-сервер), сеанс открывается с сервером, обычно содержащим его полное доменное имя (FQDN), в этом случае smtp, example или com. Клиент инициирует свое диалоговое окно, отвечая командой HELO, идентифицирующей себя в параметре команды с его полным доменным именем (или литералом адреса, если он недоступен).

Дополнительные расширения

Клиенты узнают, какие опции поддерживает сервер, используя приветствие EHLO, вместо исходного HELO. Клиенты возвращаются в HELO только в том случае, если сервер не поддерживает расширения SMTP.

Современные клиенты могут использовать ключевое слово SSRE расширения ESMTP для запроса сервера для максимального размера сообщения, которое будет принято. Старые клиенты и серверы могут пытаться передавать сообщения с избыточным размером, которые будут отклонены после использования сетевых ресурсов, включая время подключения к сетевым ссылкам.

Методы защиты от спама и аутентификация по электронной почте

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

Производятся специальные предложения для изменения SMTP или их замены полностью. Одним из примеров этого является Internet Mail 2000, но ни он, ни какой-либо другой не добились большого успеха перед сетевым эффектом огромной установленной базы классического SMTP. Вместо этого почтовые серверы теперь используют целый ряд методов, в том числе DomainKeys, DomainKeys Identified Mail, Policy Policy Framework и DMARC, DNSBLs и greylisting для отклонения или карантина подозрительных писем.

4085/2, Сорокин Д. С. Почтовые протоколы.Методы борьбы со спамом

SMTP

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

SMTP-транзакции

SMTP - требующий соединения текстовый протокол, по которому отправитель сообщения связывается с получателем посредством выдачи командных строк и получения необходимых данных через надёжный канал, в роли которого обычно выступает TCP-соединение (Transmission Control Protocol - протокол управления передачей). SMTP-сессия состоит из команд, посылаемых SMTP-клиентом, и соответствующих ответов SMTP-сервера. Когда сессия открыта, сервер и клиент обмениваются её параметрами. Сессия может включать нуль и более SMTP-операций (транзакций).

SMTP команды

SMTP-операция состоит из трёх последовательностей команда/ответ:

MAIL FROM - устанавливает обратный адрес (т. е. Return-Path, 53121.From, mfrom). Это адрес для возвращённых писем.

RCPT TO - устанавливает получателя данного сообщения. Эта команда может быть дана несколько раз, по одному на каждого получателя. Эти адреса также являются частью оболочки.

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

готовности принять текст; и второй раз после конца последовательности данных, чтобы принять или отклонить всё письмо.

Помимо промежуточных ответов для DATA-команды, каждый ответ сервера может быть положительным (код ответа 2хх) или отрицательным. Последний, в свою очередь, может быть постоянным (код 5хх) либо временным (код 4хх). Отказ SMTP-сервера в передаче сообщения - постоянная ошибка; в этом случае клиент должен отправить возвращённое письмо. После сброса - положительного ответа, сообщение скорее всего будет отвержено. Также сервер может сообщить о том, что ожидаются дополнительные данные от клиента (код 3xx).

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

MUA знает SMTP-сервер для исходящей почты из своих настроек. SMTP-сервер, действующий как клиент, т. е. пересылающий сообщения, определяет, к какому серверу подключиться, просмотром ресурса записей MX (Mail eXchange) DNS для домена каждого получателя. В случае, если запись MX не найдена, совместимые MTA (не все) возвращаются к простой А-записи. Пересылающие сервера также могут быть настроены на использование Smart host.

SMTP-сервер, действующий как клиент, устанавливает TCP-соединение с сервером по разработанному для SMTP порту 25. MUA должен использовать порт 587 для подключения к

агенту предоставления сообщений (MSA). Основное различие между MTA и MSA заключается в том, что SMTP-аутентификация обязательно только для последнего.

SMTPS

SMTPS относится к методам защиты SMTP на транспортном уровне. Он предназначен для обеспечения аутентификации сторон, целостности и конфиденциальности данных. SMTPS не является проприетарным протоколом или расширением SMTP, это всего лишь способ обезопасить SMTP на транспортном уровне.

Клиент и сервер используют обычный SMTP на уровне приложений, но соединение защищено SSL или TLS. Это происходит после установления соединения перед отправкой любых почтовых данных.

SMTPS использует 465 порт.

POP3 (англ. Post Office Protocol Version 3 - протокол почтового отделения, версия 3) - стандартный Интернет-протокол прикладного уровня, используемый клиентами электронной почты для извлечения электронного сообщения с удаленного сервера по TCP/IP-соединению. POP и IMAP (Internet Message Access Protocol) - наиболее распространенные Интернет-протоколы для извлечения почты. Практически все современные клиенты и сервера электронной почты поддерживают оба стандарта. Протокол POP был разработан в нескольких версиях, нынешним стандартом является третья версия (POP3). Большинство поставщиков услуг электронной почты (такие как Hotmail, Gmail и Yahoo! Mail) также поддерживают IMAP и POP3. Предыдущие версии протокола (POP, POP2) устарели.

POP поддерживает простые требования «загрузи-и-удали» для доступа к удаленным почтовым ящикам. Хотя большая часть POP-клиентов предоставляют возможность оставить почту на сервере после загрузки, использующие POP клиенты обычно соединяются, извлекают все письма, сохраняют их на пользовательском компьютере как новые сообщения, удаляют их с сервера, после чего разъединяются.

POP3-сервер прослушивает общеизвестный порт 110. Шифрование связи для POP3 запрашивается после запуска протокола, с помощью либо команды STLS (если она поддерживается), либо POP3S, которая соединяется с сервером используя TLS или SSL по TCP-порту 995.

POP3 команды

Аргументы

Ограничения

Возможные ответы

Её поддержка не является

* +OK maildrop has n message

[имя]

* -ERR password suplied for

обязательной

[имя] is incorrect

* +OK name is a valid mailbox

* -ERR never heard of mailbox

* +OK maildrop locked and

Работает после успешной передачи

* -ERR invalid password

имени почтового ящика

* -ERR unable to lock

[сообщение]

Доступна после успешной

* +OK message deleted

идентификации

* -ERR no such message

[сообщение]

Доступна после успешной

* +OK scan listing follows

идентификации

* -ERR no such message

Доступна после успешной

идентификации

[сообщение]

Доступна после успешной

* +OK message follows

идентификации

* -ERR no such message

Доступна после успешной

идентификации

Доступна после успешной

идентификации

[сообщение]

Доступна после успешной

[количество

идентификации

* -ERR no such message

IMAP

Альтернативным протоколом для сбора сообщений с почтового сервера является IMAP. IMAP (англ. Internet Message Access Protocol) - протокол прикладного уровня для доступа к электронной почте.

Базируется на транспортном протоколе TCP и использует порт 143.

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

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

Преимущества IMAP

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

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

Благодаря системе флагов, определенной в IMAP4, клиент может отслеживать состояние сообщения (прочитано, отправлен ответ, удалено и т. д.); данные о флагах хранятся на сервере.

Клиенты IMAP4 могут создавать, переименовывать и удалять ящики и перемещать сообщения между ящиками. Кроме того, можно использовать расширение IMAP4 Access Control List (ACL) Extension (RFC 4314) для управления правами доступа к ящикам.

Поиск сообщений происходит на стороне сервера. IMAP4 имеет явный механизм расширения.

Методы борьбы со спамом

Современная спам-рассылка распространяется в сотнях тысяч экземпляров всего за несколько десятков минут. Чаще всего спам идет через зараженные вредоносными программами пользовательские компьютеры - зомби-сети. Что можно противопоставить этому натиску? Современная индустрия IT-безопасности предлагает множество решений, и в арсенале антиспамеров есть различные технологии. Однако ни одна из существующих технологий не является магической «серебряной пулей» против спама. Универсального решения просто не существует. Большинство современных продуктов используют несколько технологий, иначе эффективность продукта будет не высока.

DNSBL

DNSBL - DNS blacklist или DNS blocklist - списки хостов, хранимые с использованием системы архитектуры DNS. Обычно используются для борьбы со спамом. Почтовый сервер обращается к DNSBL, и проверяет в нём наличие IP-адреса клиента, с которого он принимает сообщение. При положительном ответе считается, что происходит попытка приёмаспам-сообщения. Серверу отправителя сообщается ошибка 5xx (неустранимая ошибка) и сообщение не принимается. Почтовый сервер отправителя создаёт «отказную квитанцию» отправителю о недоставке почты.

Существует 2 метода использования данной технологии.

1. Однозначная блокировка - отклонение сообщений, которые пришли с IP адреса находящегося в DNSBL

2. Взвешенный подход. При таком подходе сообщение, пришедшее с IP адреса

находящегося в DNSBL, не блокируется, но этот факт учитывается при классификации «спамности» письма.

При использовании первого подхода все письма с IP адресов, попавших в DNSBL однозначно отклоняются. Независимо от того попал ли IP адрес в черный список заслуженно или же по ошибке (что всё чаще и чаще встречается на практике). Использование второго подхода отлично иллюстрируется opensource спам-фильтром spamassassin. Когда для классификации сообщения применяется взвешенный подход, то есть анализ по множеству критериев. В таком случае нахождение IP адреса отправителя в черном списке не является единственным и результирующим фактором, который влияет на решение о классификации сообщения, что в свою очередь означает снижение количества ложных срабатываний фильтра в тех случаях, когда IP адрес отправителя попал в черный список по нелепой случайности.

Контроль массовости

Технология предполагает выявление в потоке почты массовых сообщений, которые абсолютно идентичны или различаются незначительно. Для построения работоспособного «массового» анализатора требуются огромные потоки почты, поэтому эту технологию предлагают крупные производители, обладающие значительными объемами почты, которую они могут подвергнуть анализу.

Плюсы: Если технология сработала, то она гарантировано определила массовую рассылку.

Минусы: Во-первых, «большая» рассылка может оказаться не спамом, а вполне легитимной почтой (например, Ozon.ru, Subscribe.ru тысячами расылают практически одинаковые сообщения, но это не спам). Во-вторых, спамеры умеют «пробивать» такую защиту с помощью интеллектуальных технологий. Они используют ПО, генерирующее разный контент - текст, графику и т.п. - в каждом спамерском

Дорогие читатели блога, давно я не писала новых статей, но этому есть объективные причины. Очень рада, что вы продолжаете комментировать мои предыдущие статьи и остаётесь читателями нашего блога. Постараюсь в ближайшее время наверстать упущенное и обрадовать вас массой интересных и полезных статей. Сегодняшняя же статья будет посвящена SMTP серверам, которые являются незаменимыми в рассылках email сообщений.

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

Предположим, вы отправляете сообщение конкретному получателю. Ваш e-mail ID, например, «user» и у вас зарегистрирован аккаунт на «mail.ru» – «[email protected]». Адрес получателя – «[email protected]».

Когда вы создали аккаунт на почтовом сервисе «mail.ru», ваш почтовый клиент (например, Microsoft Outlook) автоматически сохранил настройки эккаунта. Что происходит дальше:

  1. Почтовый клиент связывается с вашим почтовым сервером «Mail.ru» через порт 25.
  2. Почтовый клиент связывается с SMTP сервером почтового сервера, сообщая ему адреса отправителя и получателя, и текст сообщения.
  3. SMTP сервер разбивает адрес получателя на две части: имя/логин получателя (recipient) и доменное имя (gmail.com).
  4. SMTP сервер «общается» с DNS сервером (Domain Name Server) и получает информацию про IP адрес SMTP сервера получателя gmail.com. DNS в ответ отправляет один или несколько IP адресов SMTP серверов, которые использует gmail.com.
  5. SMTP сервер на mail.ru связывается с SMTP сервером gmail.com через порт 25. И передает на него сообщение. SMTP сервер gmail.com определяет, что доменное имя для «recipient» существует на gmail.com, и передает сообщение POP3 серверу gmail.com, который помещает сообщение в почтовый ящик получателя.
  6. Если по каким-либо причинам, SMTP сервер mail.ru не может связаться с SMTP сервером gmail.com, тогда сообщение ставиться в очередь отправки. SMTP серверы часто используют программы отправки сообщений для повторной отправки писем, которые стоят в очереди. Программа отправки сообщений будет периодически пробовать отправить сообщение, стоящее в очереди. Попытки будут повторяться через определенные промежутки времени (например, 15 минут). После четырех часов ожидания и попыток отправки, программа обычно присылает отправителю письмо, в котором говориться про ошибки отправки. После пяти дней, большинство программ отправки прекращают попытки и возвращают письмо отправителю как неотправленное.

В случае, когда исходный SMTP сервер (mail.ru) не может пообщаться напрямую с SMTP сервером gmail.com, он передает сообщение через один и более промежуточных релей SMTP серверов. В свою очередь, сервер ретрансляции (релей) получает исходное сообщение и потом отправляет его к серверу назначения, или перенаправляет на другой сервер ретрансляции. Процесс повторяется, пока сообщение не будет доставлено, или пока не пройдет указанное время и количество повторов для ожидания ответа сервера.

SMTP сервер понимает простые текстовые команды. Стандартными являются:

HELO – начало сессии

EHLO – начало сессии и запрос на расширенный режим — ESMTP (Если сервер не поддерживает расширений, то он ответит на EHLO ошибкой, в этом случае клиент должен послать команду HELO и не использовать расширения протокола.)

MAIL FROM: — адрес отправителя

RCPT TO: — адрес получателя

DATA – передача данных (письма). Поля «Кому», «От кого» и «Тема» должны занимать первые три строки

RSET – сброс сессии

QUIT – разрыв соединения

HELP – помощь (дополнительна информация)

VRFY – проверка адреса на его существование

EXPN – расширенный адрес

Протокол - это набор правил, в соответствии с которым компы обмениваются информацией. Эти правила включают формат, время и последовательность передачи данных, способы контроля и коррекции ошибок.

Набор разнообразных протоколов, при помощи которых взаимодействуют между собой прикладные программы.

Протоколы прикладного уровня HTTP , FTP , SMTP , IMAP , POP 3, TELNET .

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

HTTP (Hyper Text Transfer Protocol)- протокол передачи гипертекста, работает на 80 порту. Исп-ся в WWW для передачи гипертекстовых HTML-страниц. При работе по этому протоколу, каждый элемент HTML - страницы загружается отдельно, причем соединение между загрузками прерывается и никакой инф-ии о соединении не сохраняется. Это сделано для того, чтобы пользователя Web- страниц каждый получал "по чуть-чуть, в порядке общей очереди". В противном случае могла бы создаться ситуация, когда один человек качает страницу с большим количеством рисунков высокого разрешения, а все остальные ждут пока он это закончит.

FTP (File Transfer Protocol.) - протокол передачи файлов, работает на 20 и 21 порту. Предназначен для копирование файлов между компами. Полностью занимает канал, пока не будет получен файл, сохраняет информацию о соединении. При сбое возможна докачка с того места, где произошел сбой.

SMTP , IMAP -4, РОРЗ - почтовые протоколы (электронная почта). SMTP - 25 порт, IMAP-4 - 143 порт, РОРЗ - 110 порт. Отличие: SMTP - протокол расчитанный на доставку почты до конкретного получателя, РОРЗ и IMAP-4 - протоколы взаимодействия пользователя со своим почтовым ящиком на сервере. При использовании SMTP предполагается, что почтовый адрес указывает на комп конечного получателя, и на этом компе запущена специальная прога, которая принимает и обрабатывает почту. Однако чаще всего бывает, что почта не доставляется на комп каждого отдельного пользователя, а обрабатывается централизованно, на отдельном почтовом сервере. В таком случае, каждый пользователь имеет на почтовом сервере свой почтовый ящик. Почта доставляется до сервера по протоколу SMTP (конечный получатель - сервер) и помещается в почтовые ящики пользователей. Затем пользователи подключаются к своим почтовым ящикам по протоколу РОРЗ или IMAP-4 и забирают почту. Протокол РОРЗ требует полностью скачать себе всю почту, а затем разбираться: нужна она вам была или нет. Протокол IMAP-4 позволяет просматривать на сервере заголовки писем (указывается статус письма: новое, отвеченное и т.п.) и скачивать с сервера только необходимые письма или даже часть некоторого письма. IMAP4 дублирует функции почтовых программ пользователя.

4.TELNET - исп-ся для подключения и управления удаленным компом, работает на 23 порту. После подключения каждый символ, введенный на локальной машине, обрабатывается так, как если бы он был введен на удаленной машине. Либо может использоваться командный режим - управление удаленной машиной при помощи специальных команд.

Программирование сокетов.

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

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

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

В примере, который последует ниже, входной дверью является объект ServerSocket с именем welcomeSocket. Когда клиент стучит в эту дверь, вызывается метод accept() объекта welcomeSocket, создающий новую дверь для клиента. По окончании процедуры рукопожатия устанавливается TCP-соединение между сокетом клиента и новым сокетом сервера, который называют сокетом соединения.

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

Сервисы и службы Интернет.

В этом пункте мы даем краткую характеристику основным службам, которые в той или иной степени функционируют в составе современной глобальной Сети. В следующем пункте отдельно рассматривается "главная" служба Сети - "Всемирная паутина" (WWW).

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

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

Archie. Так называют специальные серверы (Archie-серверы), которые собирают и хранят поисковую информацию о содержимом FTP- серверов на узлах Internet. Если вы ищите какой-то файл, имя которого (или часть имени) вам известно, надо запустить Archie-клиента, и он укажет вам адрес (адреса) соответсвующего FTP-сервера.

WAIS. Wide Area Information Servers - распределенная информационная система (база данных и программное обеспечение), которая обслуживает поиск инф-ии в сетевых БД и библиотеках. В частности, WAIS исп-ся для индексирования неструктурированных документов в Internet и организации поиска в них.

E-mail. Это английское обозначение электронной почты - основного вида сетевых услуг Internet. С помощью электронной почты люди, живущие на всех континентах, обмениваются электронными сообщениями и файлами.

Internet-телефония. Ныне быстро развивается новый вид услуг Сети Internet-телефония. Принцип голосовой связи в Internet нельзя считать оригинальным: такая связь - лишь частный случай обмена произвольными электронными сообщениями по протоколу TCP/IP. Человеческая речь преобразуется в цифровой файл (точно так же, как создаются аудиофайлы) и передается по сети в виде обычного набора электронных пакетов. Правда, пока единственным достоинством Internet-телефонии, по сравнению с обычным телефоном, явл-ся ее необычайная дешевизна (в расчете на минуту разговора). Многие технические проблемы (перегрузка каналов связи, задержки в передаче речи и др.) пока не решены.

26. Архитектура «клиент-сервер», «клиент-серверные» технологии. Распределенная обработка данных. Администрирование сервера баз данных. Web-технологии. Гипертекстовый документ. Язык гипертекстовой разметки HTML. Установка и настройка Web-сервера. Web-программирование с использованием скриптовых языков и баз данных.

Архитектура клиент-сервер.

Вообще говоря, клиент-серверная система характеризуется наличием двух взаимодействующих самостоятельных процессов - клиента и сервера, которые, в общем случае, могут выполняться на разных компьютерах, обмениваясь данными по сети. По такой схеме могут быть построены системы обработки данных на основе СУБД, почтовые и другие системы. Мы будем говорить, конечно, о базах данных и системах на их основе. И здесь удобнее будет не просто рассматривать клиент-серверную архитектуру, а сравнить ее с другой - файл-серверной.

В файл-серверной системе данные хранятся на файловом сервере (например, Novell NetWare или Windows NT Server), а их обработка осуществляется на рабочих станциях, на которых, как правило, функционирует одна из, так называемых, "настольных СУБД" - Access, FoxPro, Paradox и т.п..

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

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

В клиент-серверной системе функционируют (как минимум) два приложения - клиент и сервер, делящие между собой те функции, которые в файл-серверной архитектуре целиком выполняет приложение на рабочей станции. Хранением и непосредственным манипулированием данными занимается сервер баз данных, в качестве которого может выступать Microsoft SQL Server, Oracle, Sybase и т.п..

Формированием пользовательского интерфейса занимается клиент, для построения которого можно использовать целый ряд специальных инструментов, а также большинство настольных СУБД. Логика обработки данных может выполняться как на клиенте, так и на сервере. Клиент посылает на сервер запросы, сформулированные, как правило, на языке SQL. Сервер обрабатывает эти запросы и передает клиенту результат (разумеется, клиентов может быть много).

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

Распределенная обработка данных

С точки зрения хронологии, взаимодействие между программами последовательно приобретало следующие формы:

Обмен: программы различных систем посылают друг другу сообщения (как правило, файлы);

Разделение: имеется непосредственный доступ к ресурсам нескольких машин (совместное пользование файлом, например);

Совместная работа: машины играют в реализации программы взаимодополняющие роли.

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

Построение "проволочной модели" (maillage) (графического представления геометрии физической модели) на рабочей станции;

Перенос на ЭВМ Cray файла модели, вводящего код вычислений;

Результаты расчетов, выполненных на ЭВМ Cray переносятся на рабочую станцию и обрабатываются графическим постпроцессором.

Этот способ обладает следующими недостатками:

Обмен данными производится посредством переноса файлов с одной машины на другую;

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

Для того, чтобы избавиться от этих неудобств, необходимо перейти от вышеназванных вариантов решения задач к применению методики совместной работы, на основе понятия "прозрачности". Пользователь будет видеть только одну машину (свою станцию) и только одну прикладную программу. Распределенная обработка данных, таким образом, представляет собой программу, выполнение которой осуществляется несколькими системами, объединенными в сеть. Как правило, расчетная часть программы выполняется на мощном процессоре, а визуальное отображение выводится на рабочей станции с улучшенной эргономичностью. Разделение опирается на модель "клиент-сервер", к которой мы еще вернемся. Этот вид обработки данных организуется по принципу треугольника (рис.2.4.):

Пользователь обладает рабочей станцией;

Решение задач требует обращения к устройству обработки данных (спецпроцессору, например) и к серверу данных, и все это прозрачно для пользователя.

Рис 2.4. Треугольная организация вычислительного процесса

Цели распределенной обработки данных

Целью распределенной обработки данных является оптимизация использования ресурсов и упрощение работы пользователя (что может вылиться в усложнение работы разработчика). Каким образом?

Оптимизация использования ресурсов.

Термин ресурс, в данном случае используется в самом широком смысле: мощность обработки (процессоры), емкость накопителей (память или диски), графические возможности (2-х или 3-х мерный графический процессор, в сочетании с растровым дисплеем и общей памятью), периферийные устройства вывода на бумажный но- ситель (принтеры, плоттеры). Эти ресурсы редко бывают собраны на одной машине: ЭВМ Cray обладает мощными расчетными возможностями, но не имеет графических возможностей, а также возможностей эффективного управления данными. Отсюда принцип совместной работы различных систем, используя лучшие качества каждой из них, причем пользователь имеет их в распоряжении при выполнении только одной программы.

Упрощение работы пользователя.

Действительно, распределенная обработка данных позволяет:

Повысить эффективность посредством распределения данных и видов обработки между машинами, способными наилучшим образом управлять ими;

Предложить новые возможности, вытекающие из повышения эффективности;

Повысить удобство пользования. Пользователю более нет необходимости разбираться в различных системах и осуществлять перенос файлов.

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

C другой стороны, преимущества весьма ощутимы:

Распределение и оптимизация использования ресурсов. Это основная причина внедрения распределенной обработки данных;

Новые функциональные возможности и повышение эффективности при решении задач;

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