Принципы функционирования сетей Интернет

Физика
Примеры решения задач
Закон сохранения импульса
Работа и энергия
Элементы механики жидкостей
Основы термодинамики
Твердые тела. Моно- и поликристаллы
Поляризация диэлектриков
Электрические токи в металлах, вакууме
и газах
Магнитные поля соленоида и тороида
Механические и электромагнитные
колебания
Упругие волны Волновые процессы
Элементы электронной оптики
Оптическая пирометрия
Элементы квантовой механики
Элементы квантовой статистики
Фотопроводимость полупроводников
Ядерные реакции и их основные типы
Математика
Метод Гаусса
Матричный метод
Функции
Схема вычисления производной
Понятие дифференциала функции
Сходимость ряда
Теория вероятности и математической
статистики
Дифференциальные уравнения
Найти интервалы выпуклости и
точки перегиба функции
Лабораторные работы
Электроника
Исследование полевых транзисторов
Полупроводниковый стабилизатор
ВАХ туннельного диода
Исследование биполярных транзисторов
Входное  сопротивление полевого
транзистора
Упрощенная структура МДП–транзистора
Полупроводниковые выпрямители
Двухполупериодный мостовой выпрямитель
Электронный усилитель на транзисторах
Режим работы усилительных каскадов
Управляемые тиристорные выпрямители
Операционный инвертирующий усилитель
Фотоэлектрические преобразователи
Полупроводники
Зонная структура полупроводнков
Примеси в полупроводниках.
Токи в полупроводниках
Эффект Фарадея
Типы фотодатчиков
Люксметр Ю116
Сглаживающие фильтры
Описание лабораторной установки
Методика проведения исследований
Исследование метрологических
характеристик
Основные характеристики тензорезисторов
Конструкция датчика
Измерительные преобразователи
Исследование полупроводниковых
выпрямительных диодов
Структурная схема тензометрической
установки для измерения усилий
Исследование стабилитронов
Исследование варикапов
Сопромат
Практические работы по
метериаловедению
Инженерная графика
Сборочный чертеж и спецификация
Обозначение материалов
Построение лекальных кривых

Правила нанесения размеров

Геометрические построения
Позиционные задачи
Техническое обслуживание ПК
Видеоплаты
Стандарт SVGA
Последовательные порты
Факсимильная технология
Сетевые адаптеры
Сети Ethernet
Кабели для локальных сетей
Компьютерные сети
Технология «клиент-сервер» 
Структура Web-сайта
Платформа для Web-приложений

 

Электронная почта

Основная привлекательность электронной почты – ее быстрота. Однако есть другие преимущества, которые не так широко известны. Телефон также предоставляет почти мгновенный доступ, но исследования показали, что около 75% телефонных вызовов заканчиваются безуспешно («Я очень сожалею, но мистер Смит на совещании/уехал в командировку/вышел из комнаты»). Электронная почта имеет ту же скорость доступа, что и телефон, но не требует одновременного присутствия обоих абонентов на разных концах телефонной ли-нии. Кроме того, она оставляет письменную копию послания, которое может быть сохранено или передано дальше. Более того, письмо одновременно может быть послано нескольким абонентам.

Электронный почтовый Internet-адрес имеет следующий формат

пользователь@сервер

где знак @ отделяет имя пользователя от обозначения сервера. Почта доставляется в почтовый ящик пользователя пользователь на сервере сервер.

Структура Email

Структура почтового сервиса показана на Рис. 6.1. С точки зрения пользователя почтовой системы существует только один компонент - это MUA (Mail User Agent), или, другими словами, его почтовый клиент (Mozilla, Outlook, The Bat!, KMail, mutt, pine, mailx, а также Web-приложения аналогичного назначения), предназначенный для создания, отправки, получения и чтения почтовых сообщений.

Рис. 6.1. Структура электронной почты.

После создания сообщения MUA должен передать его MSA (Mail Submission Agent). MSA - сервис, принимающий клиентские подключения на порту 678 по протоколу TCP/IP и выполняющий первичную проверку почтовых сообщений на соответствие стандартам, авторизацию пользователей и блокирование так называемого UCE (Unsolicited Commercial Email - мы привыкли обозначать эту корреспонденцию словом "спам") еще на этапе отправки. Затем MSA должен передать письмо MTA (Mail Transfer Agent) - сервису, принимающему клиентские подключения на порту 25 по TCP/IP, который, в свою очередь, уже должен заняться доставкой письма непосредственно адресату. И в первом, и во втором случае должен использоваться протокол SMTP.

На практике отдельных реализаций MSA не существует, а большинство реализаций MTA способны также выполнять функции MSA. Более того, для MSA практически никогда не конфигурируется порт 678, а все почтовые сообщения от MUA принимаются непосредственно на порт 25.

Поведение MTA после того, как он получил почтовое сообщение от MUA или MSA, зависит от настроек самого MTA, а также от домена, которому принадлежит почтовый адрес получателя. В простейшем случае (в отсутствии постоянного подключения к Интернет, постоянного реального ip-адреса и dns-имени - в сегодняшних реалиях такое происходит довольно редко) MTA вообще не берет на себя ответственность за пересылку письма, а просто отдает ее вышестоящему MTA, который для него является релеем (relay - MTA, через который производится пересылка). Релей может определить список сетей/хостов и/или список логинов/паролей, которым разрешено пересылать через него свои почтовые сообщения. Домены, обслуживаемые релеем, как правило, являются исключением: для них сообщения принимаются от кого угодно.

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

МТА, принимающий на себя ответственность за пересылку, сначала проверяет, обслуживает ли он домен адресата. В случае отрицательного решения MTA предпринимает попытку найти другой MTA, обслуживающий этот домен. Для этого он с помощью DNS-запроса получает список MX-записей домена, каждая из которых содержит приоритет в виде целого числа - чем оно меньше, тем MTA "главнее". В первую очередь предпринимается попытка отправить почтовое сообщение на главный MTA домена, а в случае его недоступности - по очереди на следующие за ним по приоритету (резервные) до тех пор, пока сообщение не будет отправлено. Резервные MTA могут передать сообщения на главный после восстановления его работоспособности, а могут выполнить доставку сообщения в почтовый ящик адресата самостоятельно.

Транспортировка и доставка сообщений

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

Кратко перечислим несколько наиболее распространенных MTA:

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

Qmail - первая более защищенная и модульная альтернатива Sendmail, за взлом которой учреждена до сих пор никем не полученная премия. Однако этот MTA так и не получил широкого распространения из-за лицензионных ограничений, благодаря которым многие дистрибутивы Linux не включают его в свой состав. Фактически, уже несколько лет Qmail не развивается автором, и чтобы получить нормально работающую систему на его основе, придется собирать его с множеством патчей.

Postfix - еще одна альтернатива Sendmail, получившая значительно большее распространение благодаря вменяемой лицензионной политике, модульной архитектуре, высокой производительности, простой процедуре конфигурирования и использованию в некоторых дистрибутивах Linux и в Mac OS X по умолчанию. В журнале уже публиковался цикл статей Андрея Бешкова, посвященных Postfix, поэтому детально рассматривать этот MTA мы не станем.

Exim - монолитный MTA подобно Sendmail, однако с безопасностью у него дело обстоит гораздо лучше. Кроме того, Exim претендует на звание MTA с максимальной функциональностью и самой логичной системой конфигурирования, которое, впрочем, требует больших усилий по сравнению с аналогичной процедурой для Postfix. Exim используется по умолчанию в Debian Linux.

Количество MTA, через которые пройдет письмо, пока не найдет своего адресата, в принципе не ограничено. На практике в большинстве случаев достаточно двух MTA, если домены отправителя и получателя обслуживаются разными MTA (и между ними есть прямой TCP/IP маршрут), или одного в противном случае. Задачей MTA после получения письма для своего домена является сохранение письма в постоянное хранилище, откуда его сможет прочесть адресат с помощью своего MUA. Доставкой письма в это хранилище занимается очень широкий класс ПО, который носит общее название MDA (Mail Delivery Agent).

Для доставки применяются специализированные серверные хранилища почты  с собственными специализированными средствами доставки почты. На сегодняшний день существует два стандартных формата серверных хранилищ почты (Mbox и Maildir) и несколько нестандартных

Mbox - это целое семейство не совсем совместимых друг с другом форматов, различные модификации которых используются как в хранилищах почты на серверах, так и локально в MUA. Все эти форматы объединяет то, что все сообщения хранятся в одном файле, начинаются с поля From и отделены друг от друга пустой строкой. В процессе доставки новые сообщения дописываются в конец mbox-файла.

Хранение всех сообщений в одном файле приводит к тому, что писать приложения, осуществляющие одновременное добавление новых сообщений и редактирование уже существующих, не так просто, как хотелось бы, не слишком надежно (возможностей повредить файл mbox предостаточно), а иногда и просто невозможно (блокировка mbox на запись при доставке сообщений делает невозможной параллельную доставку). Именно это и было причиной появления другого формата - Maildir.

Maildir - это каталог с тремя подкаталогами внутри: tmp, new, cur. При доставке сообщения оно помещается в файл в подкаталоге tmp, имя файла формируется из текущего времени, имени хоста, идентификатора процесса, создавшего этот файл, и некоторого случайного числа - таким образом, гарантируется уникальность имен файлов. После записи в файл всего сообщения создается жесткая ссылка на этот файл в каталоге new, а текущая ссылка из tmp удаляется - это делается для того, чтобы никакой другой процесс не смог прочитать содержимое сообщения до тех пор, оно не будет записано полностью. По такому же алгоритму при чтении сообщения (это может делать как MUA, так и другой MDA, предоставляющий доступ к Maildir по протоколу POP3 или IMAP) оно перемещается в каталог cur, при этом название файла изменяется: к нему добавляются пометки о прочтении, ответе, удалении и т.д.

Maildir++ - это дальнейшее усовершенствование Maildir с поддержкой вложенных каталогов IMAP (они должны начитаться с .) и квот.

Получение почты

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

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

Теперь посмотрим, как происходит то же самое, по протоколу IMAP, (INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4rev1). Он подразумевает, что все сообщения даже после прочтения хранятся на сервере с пометкой о том, что они прочитаны, соответственно пользователи могут работать с одним и тем же почтовым ящиком с разных рабочих станций с помощью различных MUA одновременно.

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

Разумеется, функциональность POP3, а особенно IMAP приведенными командами не ограничивается. Например, IMAP включает в себя также механизм подписки на каталоги IMAP, возможность совместной работы с общими каталогами под различными учетными записями (shared folders), поиск в каталогах средствами сервера, частичную загрузку сообщений (в примере мы запросили все сообщение целиком, а могли бы запросить только некоторые интересующие нас заголовки) и т.д. POP3 и IMAP поддерживают шифрование.

Формат почтового сообщения

Для того, чтобы электронное письмо дошло до своего адресата, необхо­димо, чтобы оно было оформлено в соответствии с международными стандартами и имело стандартизованный почтовый электронный адрес. Общепринятый формат посла­ния определяется документом под названием "Standard for the Format of ARPA – Internet Text messages", сокращенно - Request for Comment или RFC822, и состоит из заголовка и непосредственно сообщения.

Рассмотрим пример почтового сообщения:

Received: by avg386.kiae.su; Thu, 20 Dec 90 13:51:59 MSK

Received: by jumbo.kiae.su; Thu, 20 Dec 90 12:52:17 MSK

Received: from CS.ORST.EDU by fuug.fi with SMTP id AA15539 (5.65+/IDA-1.3.5 for avg@kiae.su); Thu, 20 Dec 90 08:19:05 +0200

Received: from jacobs.CS.ORST.EDU by CS.ORST.EDU (5.59/1.15) id AA19981; Wed, 19 Dec 90 22:19:59 PST

Received: by jacobs.CS.ORST.EDU (5.54/1.14) id AA02240; Wed, 19 Dec 90 23:19:35 MST

Date: Wed, 19 Dec 90 23:19:35 MST

From: Harry Brooks <brooksh@jacobs.cs.orst.edu>

Message-Id: <9012200619.AA02240@jacobs.CS.ORST.EDU>

To: avg@kiae.su

Subject: Re: wondering if you attended?

Status: RO

Текст письма

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

Первые четырнадцать строчек и составляют заголовок. Заметим, что каж­дая из строк заголовка имеет вид:

название: текст

Названия строк заголовка расшифровываются так:

Received: отметка о прохождении через машину (почтовый штемпель). У рассматриваемого письма таких отметок пять, значит, по пути оно прошло через пять машин, и каж­дая из них обозначила, когда оно проходило.

Date: дата и время отправления письма.

From: имя отправителя и обратный адрес <отделен угловыми скобками>.

Message-Id: внутренний идентификатор сообщения; присваивается почтовой службой отправителя. Каждому письму присваивается уникальный – единственный в мире – идентификатор. Его можно использовать для ссылок на письмо, как исходящий номер.

To: адрес получателя.

Subject: тема сообщения. Пометка Re: обозначает, что это сообщение – ответ (от слова reply) на другое сообщение.

Status: статус сообщения; Ваша почтовая служба помечает для себя, что сообщение Вами уже прочитано, чтобы второй раз Вам его не предложить как новое.

Бывает еще несколько видов строк заголовка. Не все они обязательно должны быть. Некоторые строки почтовые службы добавляют автоматически (Received:, Date:), другие задает сам автор письма (To:, Subject:).

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

Типы MIME

Сокращение MIME означает Multipurpose Internet Mail Extensions, (многоцелевые расширения Интернет-почты). Это стандарт форматирования нетекстовых (двоичных) сообщений, чтобы их можно было пересылать по электронной почте. Почти все почтовые программы поддерживают MIME, что позволяет отправлять и получать графические, звуковые, видео… файлы по почтовой системе. Кроме того, в спецификациях MIME заложена поддержка символьных наборов, отличных от ASCII (греческий, арабский и пр. алфавиты).

Есть много предопределенных типов MIME, таких как графические файлы GIF и файлы PostScript. Можно также определять свои собственные типы MIME. Кроме почтовых программ, Web-браузеры также поддерживают различные типы MIME. Это позволяет браузеру отображать файлы, созданные в отличном от HTML формате.

Спецификации MIME определены в 1992г. комитетом Internet Engineering Task Force. Новая версия, называемя S/MIME, поддерживает и зашифрованные сообщения.

Службы обмена мгновенными сообщениями

Логическим развитием электронной почты стал сервис мгновенных сообщений (IM service, Instant Messaging). В принципе этот сервис не отличается от email, но преполагает постоянное подключение к Интернету и обмен небольшими текстовыми сообщениями. Службы мгновенных сообщений поддерживаются и многими мобильными устройствами ("аська на телефоне").

В отличие от электронной почты или web-страниц, описания которых публично доступны, почти все IM-системы являются коммерческими и их протоколы закрыты. Недоступность описаний привела к изобретению велосипеда — сейчас существует много разных систем обмена сообщения, и все они несовместимы друг с другом. Например, пользователь Yahoo не сможет общаться с пользователем ICQ, MSN, AIM, и другими. Кроме несовместимости, каждая из этих систем имеет свои достоинства и недостатки, например, невозможность общаться на любом языке. Как правило, каждая из систем использует один или несколько серверов через которые и осуществляется передача сообщений.

Фактически единственный на сегодня открытий протокол – Jabber. Его автор - Jeremie Miller. Протокол основан на технологии XML, в качестве основной кодировки использует Unicode, что позволяет общаться собеседникам с разными кодировками и в операционных системах.

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

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

Для сообщения контактам о подключении пользователя к сети рассылается сообщение о присутствии (presence). В нём содержится тип присутствия, например, пользователь подключен или отключен. Также в этом сообщении находится статус пользователя — доступен, отошёл, занят, и другие. Подобными сообщениями пользователи обмениваются с друг с другом при подключении к сети, изменении статуса и т.п. Самому пользователю не нужно заботиться об этих сообщениях о присутствии, их рассылает, принимает и отражает в ростере (списке контактов) программа-клиент Jabber.

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

Для общения с собеседником нужно знать его адрес в системе сообщений. В Jabber адресом служит JID, или JabberID (Jabber IDentificator). Этот адрес тоже похож на адрес электронной почты и выглядит, как user@server.com или contact@example.org. Чтобы пользователь user мог связаться с пользователем contact, сервера server.com и example.org должны быть доступны друг для друга.

На главную