Сервисы прикладного назначения
Протоколы и сервисы электронной почты (POP, UUCP, SMTP)
Если DNS и DHCP были сервисами системного назначения и используются для систем маршрутизации и доставки пакетов (т.е. обычный пользователь на локальной машине никогда не сталкивается с сервисами такого рода прямо), то электронная почта является, прежде всего, пользовательской системой, ориентированных на обмен информацией между людьми, хотя она успешно используется и для автоматического обмена данными между удаленными компьютерами и для некоторых вариантов специального почтового обмена, таких например, как "новости" – "news".
Электронная почта в широком смысле – это набор сервисов, позволяющих отправлять и принимать сообщения конкретным пользователям в сети с использованием доменной адресации, к которой, в качестве дополнительного идентификационного элемента добавляется имя конкретного пользователя – адресата. Например, mailto:office@nt.dp.ua является полным URL – почтовым адресом, где: mailto – название службы – отправка сообщения по системе электронной почты, office – имя пользователя, зарегистрированного на сервере-получателе nt, а dp.ua – доменный адрес сервера-получателя. В качестве адреса сервера может быть указан и числовой IP-адрес.
Общие принципы организации информационной структуры электронной почты мало отличаются от таковой в повседневной реальности. Как и в обычной почте, отправленное почтовое сообщение – письмо (message) поступает из почтового каталога или системы машины пользователя на сервер, на котором пользователь имеет свой почтовый каталог (т.е. зарегистрирован как пользователь системы электронной почты). Такой сервер для данного пользователя называется почтовым, причем серверы отправки и приема почты могут быть различными. Этому в реальной жизни можно сопоставить систему почтовый ящик – почтовое отделение. Далее почтовые сообщения, централизовано, при помощи серверного ПО, отправляются по этапу, ближайшему серверу, в соответствии с таблицей маршрутов, и так до тех пор, пока они не достигнут сервера, на котором зарегистрирован пользователь-адресат. Попадая на такой сервер сообщение помещается в файл приходящей почты (почтовый ящик полученной или доставленной почты) из которого, при помощи соответствующего ПО может быть извлечено пользователем и прочитано. Общая схема взаимодействия компонент систем электронной почты при пересылке почтового сообщения представлены рисунком 3.5.
Рисунок 3.5. Взаимодействие компонент систем электронной почты.
1 и 2 – почтовые серверы, осуществляющие обработку почты, содержащие почтовые каталоги приходящей и отправленной почты
3 и 4– персональные рабочие места, осуществляющие при помощи почтовых клиентов отправку и забор почты в/из почтового каталога соответствующего сервера.
Изначально, форматы и протоколы электронной почты были максимально просты, и позволяли передавать только текстовые сообщения в основной кодировочной таблице ASCII. Поэтому, для отправки почтовых сообщений, содержащих текст на национальных языках, отличных от английского или двоичные данные (выполнимые модули, картинки, документы редакторов в двоичных форматах и т.п.), перед отправкой, осуществлялась их кодировка при помощи специальной утилиты uuencode, заменяющей все символы расширенной ASCII-таблицы (с номерами больше 127) на комбинации символов из основной ASCII таблицы. А после получения такого сообщения необходимо было его раскодировать при помощи утилиты uudecode. При этом объем передаваемой информации увеличивался в среднем на треть. И, несмотря на то, что сейчас на смену старым стандартам и протоколам почтовых служб пришли новые, старые еще довольно живучи и часто встречаются.
Все почтовые службы обязательно используют специальные почтовые протоколы для отправки и приема почты. Наиболее распространены протоколы POP (Post Office Protocol), UUCP (UNIX to UNIX Copy Protocol) и SMTP (Simple Mail Transfer Protocol). POP-протоколы (POP2 и POP3) предназначены, исключительно, для отправки и извлечения почтовых сообщений в/из почтовых бюджетов пользователей на почтовых серверах, но не для пересылки почты с машины на машину. POP-протоколы – наиболее древние и в месте с тем наиболее используемые во всех современных почтовых клиентских программах, работающих на локальных машинах. Протокол UUCP является протоколом доставки почтовых сообщений и используется не только для службы электронной почты, но и для обмена другими сообщениями. UUCP изначально разрабатывался для обмена сообщениями по телефонным каналам и в его принципы функционирования заложены соответствующие механизмы. Передачу по протоколу UUCP называют "off-line" почтой и передачей, т.к. для данного протокола не требуется наличия постоянного on-line соединения и сообщения могут приниматься порциями произвольного размера с возможностью "докачки" при обрыве линии. При этом сервер-отправитель не устанавливает с сервером-получателем прямой связи, и работает т.н. механизм "stop-go", в соответствии с которым, почтовое сообщение передается по этапу, в соответствии с таблицей маршрутов, от узла к узлу, до тех пор, пока не будет доставлено на сервер-получатель. Если, по каким-то причинам, наиболее короткий путь между серверами отправителем и получателем не маршрутизирован (не внесен в таблицу маршрутов), то почтовое сообщение может путешествовать "окольными путями" достаточно долго, пока не достигнет пункта назначения.
По протоколу SMTP сервер-отправитель должен установить с сервером-получателем прямое "on-line" соединение и передать все сообщение за один сеанс связи. Такой способ, конечно, намного быстрее, однако, на практике, далеко не всегда можно установить прямой контакт между отправителем и получателем. Часто, почтовые серверы настраиваются таким образом, что используют оба протокола в зависимости от ситуации и состояния сетевой среды.
Интересно, что в системе SMTP и UUCP имеется различие в способе написания символьных доменных адресов. Адрес в системе SMTP соответствует таковому в обычной Internet нотации, например: office@nt.dp.ua, а вот так выглядит этот же адрес в нотации UUCP: dp.ua!nt!office. Однако, соответствующие преобразования производятся автоматически и скрыты от пользователей локальных машин.
Необходимо отметить, что большинство современных почтовых систем для ОС Windows и OS/2 используют протокол SMTP и POP, а MS-DOS-ориентированные – в основном UUCP.
Почтовые сообщения, пересылаемые от сервера к серверу имеют достаточно разнообразный вид и внутреннюю структуру, однако все они обычно попадают в рамки стандарта RFC-822 для сети Internet. Во время передачи или приема почтовое сообщение состоит из трех частей – оболочки, заголовка и тела. Пользователь, обычно, может видеть только заголовок и тело. Заголовок находится перед телом сообщения и должен быть отделен от него хотя бы одной пустой строкой (символ с кодом 10 или пара символов с кодами 13 и 10). Заголовок включает ряд полей, которые могут повторяться в нем т.к. накапливаются по мере прохождения письма через различные серверы. Каждый сервер, на котором побывало почтовое сообщение при его доставке получателю, добавляет в заголовок информацию, так, что после получения письма, по его заголовку можно точно определить, какой путь оно проделало до момента достижения сервера-получателя.
Однако кроме указанной внешней структуры почтового сообщения оно имеет различные внутренние форматы тела. Это связано с тем, что в современном мире сетевых взаимоотношений и технологий информации пересылка текстовых сообщений стала тривиальной и незначительной возможностью, по сравнению с возможностью пересылать по почте выполнимые модули, картинки, звуковую и видео информацию. В связи с этим был изобретен универсальный формат почтовых сообщений MIME (RFC-1341). Этот формат описывает структуру тела письма и его отдельные элементы в виде теговой конструкции. Каждая часть начинается своим подзаголовком и может быть представлена в собственном стандарте кодирования информации как единый обособленный блок. Ниже приведен пример заголовка и тела простого почтового сообщения в формате MIME:
Reply-To: "Source User" <SrcUser@mail.com>
From: "Source User" <SrcUser@mail.com>
To: "Destination Title" <DestUser@mail.org>
Subject: News from Source User
Date: Thu, 10 Dec 1998 12:06:39 +0200
MIME-Version: 1.0
Content-Type: text/plain;
charset="koi8-r"
Content-Transfer-Encoding: 8bit
It is the test message only.
Это всего лишь тестовое сообщение!
Все строки данного письма до строк "It is the test…" являются заголовком письма. Первые 3 строки (и поля) заголовка идентифицируют отправителя (From) и получателя (To), а также адрес, по которому следует выслать ответ (Reply-To) – в нашем случае он совпадает с адресом отправителя. Четвертая строка указывает дату, время и часовой пояс отправления письма. Со строки "MIME…" начинается часть заголовка, описывающая внутренний формат. Поле "Content-Type" указывает на тип данных в блоке, в данном случае – "text/plain" указывает на то, что пересылаемый блок содержит текстовую информацию в виде неформатированного "plain" текста. Кроме типа "text" в настоящее время существуют типы: "application" (выполнимый модуль приложения), "image" (изображение), "multipart" (смешанная информация), "video" (видео), "audio" (звук), "message" (включенное почтовое сообщение – инкапсулированное письмо). Поле "charset" указывает для текстового блока кодировку таблицы символов для чтения текста, а "Content-Transfer-Encoding" – кодировку для пересылки. Кодировки таблиц символов соответствуют используемым международным кодировкам таблиц символов операционных систем (ISO, KOI, WIN и др.). Кодировка для пересылки определяет то, как будет преобразовано почтовое сообщение перед его отправкой, что в свою очередь связано с типом используемого почтового протокола (UUCP или SMTP). Это может быть "8bit", "16bit", "base64" или "x-uuencode". Большинство почтовых систем серверов современных ОС осуществляет "фоновую", незаметную для пользователя, инкапсуляцию сообщения в новый заголовок, с кодировкой для пересылки соответствующей используемому в данной сети почтовому протоколу. Однако, такое перекодирование может привести к тому, что почтовая программа-клиент пользователя-получателя не поддерживающая данной кодировки не сможет осуществить реинкапсуляцию. При этом в теле почтового сообщения, вместо привычного текста или картинки, пользователь видит закодированных текст еще одного сообщения, заключенный в свой (и может быть не один) заголовок. Реально, такое часто случается в нашей среде с пользователями использующими устаревшую версию DOS-ориентированного почтового клиента DMail или получающего почту из сети RELCOM, в которой используется протокол UUCP. Эта проблема легко разрешима путем ручного удаления (при помощи обычного текстового редактора, например "блокнот") всех внешних заголовков письма с сохранением самого первого внутреннего, который и указывает на формат и тип именно тела исходного сообщения.
В теле сообщения с типом данных "multipart", кроме перечисленных структур указывается сгенерированная случайным образом последовательность символов начинающая и завершающая каждый блок. Например:
MIME-Version: 1.0
Content-Type: multipart/mixed;
boundary="——=_NextPart_000_0031_01BE23DE.8162CBC0"
указывает на то, что каждый блок письма со смешанной информацией (содержащий информацию только одного типа) будет начинаться и заканчиваться данной последовательностью. Например, письмо, содержащее этот блок:
-----=_NextPart_000_0031_01BE23DE.8162CBC0
Content-Type: text/html;
name="Svoboda_djaz.htm"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
filename="Hi.htm"
<!DOCTYPE HTML PUBLIC "-//W3C//DTD W3 HTML//EN">
<HTML>
<HEAD>
<TITLE>Hi</TITLE>
</HEAD>
<BODY aLink=3D#ff9900 bgColor=3D#ffffff link=3D#990000 text=3D#000000>
<CENTER>
<p align="center"><strong>Hi, it is simple HTML page </strong></p>
</BODY>
содержит текстовый файл Hi.htm являющийся документом на HTML-языке системы WWW. Каждый новый блок начинаемый ключевой последовательностью может содержать файл или файлы с различного рода информацией.
В настоящее время блочная структура MIME-сообщений находится в состоянии развития. В ее состав включаются новые типы и подтипы блоков, а также формы кодировки, одной из разновидностей которой является шифровка и компрессия содержимого блока при помощи универсальных алгоритмов.
Протокол и сервис обмена файлами FTP (File Transfer Protocol)
Когда-то, FTP была лишь командой OC UNIX, позволявшей обмениваться файлами между двумя удаленными сетевыми машинами в Internet. В настоящее время она переросла в клиент-сервер ориентированную систему и имеет свой прикладной протокол. Предназначение системы осталось прежним – удаленный обмен файлами, однако возможности резко возросли. Одной из наиболее популярных возможностей считается возможность т.н. "докачки" информации с места останова передачи при обрыве соединения без повторной передачи правильно переданной части. Интересно, что FTP использует две различные системы внутренних протоколов для организации взаимодействия: TELNET – для авторизации доступа и входа в систему и собственную – для обмена файлами. Работа с FTP заключается во входе в систему, выборе каталога и файлов для пересылки и выполнения команд пересылки с возможным выбором режима передачи информации (текстовый или двоичный). Для передачи файлов используется канал протокола TCP, причем, он открывается и закрывается для каждого пересылаемого файла. Во время сеанса FTP пользователь может выполнять действия как над файловой системой собственного компьютера, так и над файлами удаленного, поэтому, все команды и подкоманды сессии FTP делятся на относящиеся к локальной или к удаленной машине. FTP является очень популярным сервисом, т.к. допускает анонимную идентификацию пользователей без существенных "дыр" в защите. По всему миру и всей сети Internet имеется огромное число файловых систем, предназначенных для доступа через сервис FTP и имеющих, приблизительно, терабайт суммарного объема информации. Такие файловые системы носят название FTP-архивов. Они содержат каталогизированную систему хранения файлов самого различного содержания, от картинок звуков и видео, до дистрибутивных поставок программного обеспечения. Процесс загрузки информации из такого архива называется загрузкой или закачкой. Для его организации в мире существуют самые разнообразные программы FTP-серверы и клиенты. Многие ОС имеют встроенные FTP-сервер и клиент-программы.
Дата добавления: 2015-08-11; просмотров: 650;