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

Электронная почта (E-mail) – один из старейших и наиболее распространённых сетевых сервисов, популярных как в локальных, так и глобальных сетях [2, с. 673-701; 4, с.461-486].

Система электронной почты появилась в 1982 г. как сервис предка Internet сети ARPANET. Эта система значительно отличалась от принятых CCITT рекомендаций серии X.400. Сложность рекомендаций Х.400 и их непродуманность привели к редкому для сетевых технологий случаю, когда инициативная разработка победила международный стандарт. Службы электронной почты, отвечающие Х.400, не нашли широкого применения и представляют скорее научный интерес.

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

Конверт и заголовок имеют формализованные поля. Наиболее важными из них являются (обязательные для заполнения отправителем поля выделены жирным шрифтом):

То: — адрес (а) получателя (лей) в формате имя_ящика@имя_почтового_сервера

Сс: — (carbon copy) адрес (а) дополнительного (ных) получателя (лей)

Bcc: — (blind carbon copy) слепой (ые) адрес (а) получателя (лей), о которых другим не сообщается

From: — адрес автора письма (кому можно отвечать)

Sender: — адрес отправителя письма

Received: — поле, куда при прохождении каждого узла добавляется имя узла, дата и время приёма

Return-Path: — имена узлов на пути письма

Date: — дата и время отправки письма

Reply-to: — адрес, куда надо ответить

Message-id: — уникальный идентификатор письма (для ссылок)

In-Reply-id: — идентификатор письма, на которое даётся ответ

Subject: — тема письма

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

Тело сообщения представляет собой набор строк из не более, чем 1000 (рекомендуется до 78) ASCII (American Standard Code for Information Interchange) знаков, т. е. 7-и битных чисел, представляющих буквы латинского алфавита, знаки препинания и цифры (популярным для такого представления является термин «кодировка»). Символы национальных кодировок (например, знаков кириллицы), двоичные файлы (например, с аудио, или видео информацией) и др. отображаются в соответствии с соглашением MIME (Multipurpose Internet Mail Extension – многоцелевые расширения электронной почты в Интернете), которое предусматривают поле с указанием способа кодировки (например, Base64 – см. параграф 3.5.2).

Базовым методом обеспечения конфиденциальности электронной почты является её криптографическая защита. Наиболее популярная система именуется PGP (Pretty Good Privacy — достаточно хорошая конфиденциальность). Эта система предложена Филом Циммерманом (Phil Zimmerman) и предусматривает использование нескольких алгоритмов шифрования (RSA, IDEA, MD5).

Другая система носит название PEM (Privacy Enhanced Mail – почта повышенной секретности) и отличается от PGP необходимостью связи с центрами сертификации ключей, меньшей степенью защиты (для кодирования данных в системе PGP используется ключи длинной 128 бит, а в системе PEM – только 56 бит), но полным соответствием рекомендациям ITU-T (Х.400 и Х.509).

Протоколы электронной почты характеризуются значительным разнообразием от фирменных, пригодных в программных продуктах конкретных фирм-производителей, до общепризнанных. Речь идёт о протоколах именно систем электронной почты, а не о распространённых системах эмуляции почтовых служб на базе протокола НТТР (см., например, www. mail. ru).

Среди почтовых протоколов можно выделить:

SMTP (Simple Mail Transfer Protocol – простой протокол электронной почты) – протокол, используемый для обмена почтой между узлами и отправки писем от клиента к почтовому серверу. По умолчанию протокол использует 25 порт.

РОР3 (Post Office Protocol v.3 –протокол электронной почты версии 3) – протокол для получения почты клиентом. По умолчанию протокол использует 110 порт.

IMAP v4 (Internet Message Access Protocol v.4 –протокол интерактивного доступа к электронной почте версии 4) – протокол, аналогичный РОР3, но позволяющий клиенту хранить и обрабатывать почту на самом почтовом сервере. По умолчанию протокол использует 585 порт

Протокол SMNP

Протокол SNMP (Simple Network Management Protocol – простой протокол сетевого управления) первоначально разрабатывался для управления маршрутизаторов, но затем был расширен на любые сетевые устройства (по умолчанию порты 161/162). В настоящее время актуальна версия 2 протокола (1999 г.) [1, с. 791-805; 2, с.660-672].

Протокол построен по принципу клиент — сервер (на управляемом сетевом устройстве должна быть запущена программа клиента) и включает в себя протокол управления (взаимодействие управляемого и управляющего узлов), язык ASN.1 (Abstract Syntax Notation v.1 — абстрактная синтаксическая нотация версии 1) описания модели управления и собственно модель управления MIB (Management Information Base — база управляющей информации). Распространению протокола мешает его низкая защищённость и ориентация на использование протокола UDP, приводящего к возможной потере сообщенийDNS

Задача разрешения имен подразумевает определение IP адреса узла по его символьному имени и определение символьного имени по заданному IP адресу.

Исторически первый, но до сих пор действующий механизм разрешения имен связан с прямым заданием таблицы соответствия символьных имён и IP адресов в файле hosts/lmhosts (первый файл используют UNIX/Linux и некоторые др. операционные системы (ОС), а второй – ОС фирмы Microsoft). Оба файла текстовые и их форматы и ключи можно найти в MS Windows в одноимённых файлах с расширением. sam (sample – образец). Очевидно, для сколько-нибудь крупной сети решить задачу таким образом полностью не представляется возможным, хотя запись в эти файлы сведений об основных серверах, маршрутизаторах, шлюзах и пр. весьма эффективна для ускорения старта компьютера в сетевом окружении.

Другой, достаточно популярный способ разрешения имён связан с использованием NetBIOS (Network Basic Input/Output System) поверх TCP/IP [3, с. 415-444, 634-637]. Эта система была разработана совместными усилиями Microsoft и IBM в 80-е годы как сетевой сервис ввода/вывода для операционной системы Windows. Позже, для реализации доступа пользователей к ресурсам сети был разработан протокол NetBEUI (NetBIOS Extended User Interface – расширенный пользовательский интерфейс NetBIOS) как основной сетевой протокол в ОС Windows for Workgroups и NT. Наконец, с повсеместным распространением стека TCP/IP компания Microsoft была вынуждена выпустить реализацию NetBIOS, использующую протокол IP для передачи необходимых данных (NetBIOS поверх TCP/IP). До сих пор продолжается поддержка NetBIOS в ОС Windows 2000/NT/XP, правда уже не как основного механизма доступа к ресурсам сети. NetBIOS целесообразно использовать в небольших, одноранговых сетях.

Изначально, каждый узел в сети с NetBIOS имеет символьное имя (до 15 знаков) с идентификатором ресурса (16-ый знак), который указывает на роль узла (файловый сервер, принт-сервер, рабочая станция и пр.). «Чистый» NetBIOS применим только для небольших сетей и считается «немаршрутизируемым», т. к. –

система имён не позволяет идентифицировать сеть

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

Для устранения указанных недостатков компания Microsoft предложила службу WINS (Windows Internet Name Service – служба Windows имен Internet) на базе серверов имен NetBIOS. Следует отметить, что несмотря на упоминание сети Internet, WINS не применяется в этой глобальной сети.

Первый недостаток NetBIOS устраняется в WINS тем, что вводится групповое имя для сети, а второй – тем, что запросы при разрешении имён обращены к конкретным серверам WINS. Неустойчивость в работе службы, трудности администрирования и затруднительность использования в глобальной сети Internet, к настоящему моменту заставили компанию Microsoft перейти к полноценной поддержке DNS.

DNS (Domain Name System – доменная система имён) реализуется с помощью одноименного прикладного протокола, использующего по умолчанию 53 порт [4, с. 305-422; 3, с. 669-717; 2, с. 651-660; 1, с.511-517]. Система DNS была разработана в рамках ОС UNIX и соответствующая служба, использующая DNS, имеет ту же аббревиатуру, но расшифровывается как Domain Name Service.

Имена в DNS строятся по иерархическому принципу в виде перевёрнутого дерева. Домены верхнего уровня (корневые) делятся по профессиональному принципу (. com — коммерческие,. gov — государственные,. net — сетевые и пр. узлы) или по национальному (. ru — русские,. fi — финские,. fr — французские и т. д.). ОС UNIX разрабатывалась в США и, само собой считалось, что все узлы находятся там же. Сейчас можно встретить двойные имена доменов, например,. com. tw – коммерческие тайваньские.

В свою очередь, каждый домен содержит поддомен, имя которого добавляется слева и отделяется точкой, и т. д. Заканчивается запись добавлением слева имени узла. Имя каждого домена, поддомена или узла не должно превышать 63 символа, а полное имя – 255 символов. Для обозначения имён традиционно используется латинский алфавит, цифры и тире (знак _ недопустим), но, в принципе, можно зарегистрировать домен с именем на кириллице, но смысл этого проблематичен.

Данные об именах зарегистрированных в любом домене поддоменов/узлов и их IP адресах хранятся в двух таблицах на DNS-серверах, где также имеется имя и адрес вышележащего домена. По первой таблице для заданного символьного имени определяется цифровой адрес (прямое преобразование и, соответственно, т. н. «прямая зона»), а по второй — по заданному адресу находится символьное имя (обратное преобразование и «обратная зона»).

Для повышения надёжности в каждом домене должно быть не менее 2-х серверов (primary — первичного и secondary — резервного), причём физически эти серверы должны находиться в разных сетях и могут располагаться не в тех доменах, имена узлов которых они содержат.

Корневой домен поддерживают свыше 10 DNS серверов, IP адреса и имена которых «зашиты» в сетевые ОС. Регистрацию новых имён и выделение соответствующих IP адресов производит владелец домена. Например, регистрацию в домене. ru производит РосНИИРОС, где регистрация имени и получение IP адреса обойдётся приблизительно в 50$, а годовая поддержка адреса – в 10$.Все изменения в таблице имен производятся на первичном DNS сервере, резервные серверы только обновляют свои записи по записям первичного сервера. Репликация (обновление) зоны производится с помощью надёжного протокола TCP, в то время, как для DNS запросов клиентов, применяется протокол UDP. Для ускорения процесса разрешения имени и уменьшения трафика в сети иногда устанавливают так называемые кэш-серверы DNS, которые записывают часто используемые имена и адреса.Режим работы DNS сервера может быть рекурсивным и не рекурсивным. В случае рекурсивного режима при невозможности разрешить DNS запрос этот запрос транслируется специально заданному другому DNS серверу (форвардеру – forfarders), который затем возвращает полученный ответ. При не рекурсивном режиме — в отсутствии информации о запрашиваемом узле производится обращение к корневым DNS серверам, а от них вниз по цепочке до получения ответа.

NAT

NAT (Network Address Translation — трансляция сетевых адресов) реализует преобразование (подмену) IP адресов локальных сетей во внешние IP адреса глобальной сети Internet [1, с. 601-607; 3, с.898-900; 8, 473]. Необходимость такого преобразования следует из соглашения об использовании части IP адресов только в локальных сетях (см. п. 3.2), по которому маршрутизаторы глобальной сети уничтожают пакеты с этими адресами.

NAT действует на сетевом и частично на транспортном уровнях, обеспечивая преобразование в IP пакетах адресов узлов локальной сети во внешний адрес. Преобразование производится путём замены адреса внутреннего узла на внешним адрес. Заменяемые адреса запоминаются в таблице, с помощью которой производится обратная замена при получении ответного пакета. Следует отметить, что для устранения возможной неразличимости преобразуется не только IP адрес, но и с помощью PAT (Port Address Translation) номер порта.


 

Кроме преобразования адресов NAT позволяет уменьшить потребность в IP адресах для глобальных сетей, т. к. все пользователи локальной сети могут получать доступ к ресурсам глобальной сети через один внешний адрес.

NAT — не единственный способ отправки пакетов из локальной сети в глобальную, альтернативой трансляции адресов является использование сервера-посредника.

Proxy сервер

Proxy сервер (сервер посредник) выступает как посредник запросов протоколов прикладного уровня. [3, с. 905-907].

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

Уменьшается количество требуемых внешних IP адресов

Предоставляется возможность закрытия нежелательных ресурсов Internet

Уменьшается трафик

Каждый прикладной протокол требуется в Proxy сервере самостоятельной поддержки, причём некоторые прикладные протоколы (например, мультимедийные) не поддерживаются такими Proxy.

Схема работы Proxy сервера представлена на рисунке 4.3.1.

Рис. 4.3.1. Схема работы Proxy сервера

В последнее время стали популярными не требующие настроек в браузере «транслирующие» Proxy серверы, использующие NAT и создающие у пользователя иллюзию «прямой» работы в сети Internet. Для клиента отказ такого сервера практически не отличим от недоступности ресурса (ICMP пакеты, например, от утилиты ping, благополучно достигают узла назначения, а http/ftp/… запросы — «утыкается» в неработающий Proxy).

WEB публикации

В настоящее время существует достаточное количество серверных программных продуктов для представления информационный ресурсов по протоколу http, или Web (WWW) публикаций. Остановился на трёх наиболее популярных в России.

Apache – один из старейших свободно распространяемых Web серверов для Unix/Linux систем (существуют и коммерческие версии Apach, например, для Windows систем (IBM) и др.)

Название сервера связывают с многочисленными «заплатками» (patch) первых версий программы, что и привело к обозначению сервера как «сервера из патчей».

Основные функции Web сервера:

Аутентификация клиентов (если это необходимо)

Обработка запросов клиентов (количество одновременно обрабатываемых запросов задаётся специальным параметром и определяется мощностью сервера)

Автоматическая очистка устаревших соединений

IIS (Internet Information Services) –Web сервер для Windows NT/2K/03 систем фирмы Microsoft. Актуальная, 6-я версия IIS входит в состав MS Windows 2003 Server.

Особенности IIS v.6.0 –

Поддержка http версии 1.1 (поддержка передачи со сжатием данных — http compression и аутентификация с использованием MD5)

Реализация механизма Web DAV (Distributed And Versioning) – редактирование содержимого сайта по http

Поддержка SMTP для совместного развёртывания почтового сервера

Поддержка NNTP (Network News Transfer Protocol) для совместного развёртывания сервера новостей

Поддержка FTP для развёртывания личного ftp сервера клиента в пределах его каталога

Установка PICS (Parental Internet Content Selection) рейтинга – самоценки содержимого сайта на подобие принятой в США классификации кинофильмов.

Поддержка SSL v.3.0 и SGC (Server-Gated Cryptography) для 128 битного шифрования шлюзовых функций и выбора алгоритмов шифрования.

Защита ASP (Active Server Pages) – фирменного механизма Microsoft для динамического формирования ответа на запрос клиента. В ранних версиях этот механизм снижал защиту сервера, т. к. ряд операций выполнялся с правами администратора. Версия с улучшенной защитой получила название ASP. Net ограничивает права при выполнении потенциально опасных операций.

Поддержка до 64 Гбайт дискового пространства

Совершенствование мер защиты

Ограничение очередей запросов

Контроль «зависших» соединений

Ограничение полосы (скорости) обмена

Остановка гиперактивных процессов

NetWare Enterprise Web Server –Web сервер для NetWare систем фирмы Novell. Актуальная версия поставляется с Novell NetWare 6.0/6.5 и может быть развёрнута совместно с предлагаемым Apache Web Server (для любителей Apache).

Особенности Enterprise Web Server –

Редактирование содержимого страниц через Web браузер

Поддержка различных сред разработки приложений – Perl, 9-24733.php" class="back_link" > ⇐ Назад

  • 1
  • 2
  • 345
  • Далее ⇒
  • 
    ; ?>