Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

УП ВСС

.pdf
Скачиваний:
20
Добавлен:
11.06.2015
Размер:
5.76 Mб
Скачать

почты заключается в возможности обмена электронными сообщениями (письмами) между пользователями сети Internet.

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

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

Электронная почта в ряде случаев удобнее телефонной связи, поскольку позволяет поддерживать связь между пользователями, разделенными не только расстоянием, но и временем (электронная почта относится к классу сетевого сервиса с отложенным просмотром). Электронная почта способствует более быстрому обмену идеями и мнениями, а также позволяет проводить расширенные обсуждения, вовлекая в них даже тех специалистов, которые не находятся в непосредственной близости. Именно поэтому в основном электронная почта использовалась специалистами, работавшими над проектом Internet начиная с середины семидесятых годов. Один из основателей Internet − Винт Серф – отмечал: «Для отложенного

общения ничего лучше электронной почты пока не придумали».

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

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

121

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

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

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

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

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

Примеры

Name

@

Hostname

rostov_of_don

@

hotmail.com

 

urgi

@

mail.ru

 

Ekfacultet_urgi

@

aaanet.ru

 

mirs

@

urgi.rostov.ru

 

 

 

 

 

Имя пользова-

 

Доменное имя узла вычисли-

 

теля или иден-

 

тельной сети, на котором функ-

 

тификатор поч-

 

ционирует почтовый сервер и

 

тового ящика

 

расположен почтовый ящик поль-

 

 

 

зователя

Структура электронного почтового адреса

Левая часть адреса электронной почты (Name), обозначающая имя пользователя, выбирается пользователем произвольно с учетом допустимых символов. Чаще всего (не обязательно) данное имя используется в качестве имени пользователя при доступе к почтовому ящику. Кроме имени пользователя (регистрационное имя) для доступа к электронному ящику

122

назначается пароль, позволяющий аутентифицировать владельца.

Выбор символа @ относится ко времени зарождения электронной почты и ее автору Рею Томлисону. В то время Томлисон мог использовать только печатный терминал, который не поддерживал строчные буквы. Тогда он решил отделить имя пользователя от имени узла столь известным сейчас символом @ (комбинация клавиш Shift и 2), показывающим, что этот адрес находится за пределами локальной сети1.

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

В структуре службы Е-mail выделяются три важных элемента, называемые агентами (рис. 1.35) [3]:

UA − пользовательский агент;

ТА − транспортный агент;

DA − доставочный агент.

Пользовательский агент или клиент в терминах «кли-

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

Почтовый клиент службы Е-mail – это программа, ус-

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

На сегодняшний день существует большое разнообразие клиентских почтовых программ. К ним относится, например, программа Microsoft Outlook Express, входящая в состав операционных систем семейства Windows. Более мощная программа, интегрирующая в себе кроме поддержки электронной почты и другие средства делопроизводства, Microsoft Outlook, входит в состав известного пакета Microsoft Office. Из других специализированных почтовых программ наиболее популярной является программа − почтовый клиент Тhе Bat.

1 «Символ @ («эт» созвучен английскому предлогу at, то есть «на») как утверждал позднее Томлисон, – был выбран осмысленно. Он показывает, что пользователь находится «на» в другом месте, а не в локальной сети».

123

Пользователь -отправитель

 

Промежуточный

 

 

почтовый сервер

 

 

 

Почтовый

Почтовый

TA

сервер

сервер

 

отправителя

TA

 

UA

TA

 

 

Почтовый

 

 

сервер получателя

 

TA

 

 

Internet

 

Пользователь

 

 

-получатель

DA

Рис. 1.35. Структура связей при передаче электронных писем

4.6. Служба доменных имен DNS

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

тичная (195.224.11.77) и шестнадцатеричная (0xffffff80) дот-

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

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

124

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

Домен – группа узлов сети (хостов), объединенных общим именем, которое для удобства несет определенную смысловую нагрузку. Например, домен «ru» объединяет узлы на территории России, а домен «sport» − узлы, относящиеся к спортивным организациям или содержащие информацию о спорте и т.д.

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

Доменное имя − это уникальный алфавитно-цифровой идентификатор узла (состоит из символов ASCII-кода - букв от A до Z1 латинского алфавита и цифр от 0 до 9, также допускается дефис «-»).

Введение доменных имен поставило перед разработчиками задачу определения соответствия между доменным именем и логическим IP-адресом узла сети. Подобная задача разработчиками ARPANET была решена, когда для определения соответствия между логическим IP-адресом и физическим адресом сетевого интерфейса в пределах локальной сети были введены протоколы ARP и RARP. Однако для глобальной сети решение такой задачи является более сложным.

1 В настоящее время используются доменные имена с национальными алфавитами. Технология использования национальных алфавитов в том числе и кирилицы, предполагает перекодировку национального доменного имени в код Unicode, а затем по специальному алгоритму преобразует этот код в уникальную последовательность «разрешенных» ASCII-символов. Например, слово «банк» преобразуется в AQYTAPJ2. К этой строке, однозначно соответствующей кириллической записи, добавляется специальный префикс BQ-- (с двумя дефисами), который служит для того, чтобы отличать преобразованные доменные имена от случайных наборов ASCII-символов. Такой формат записи называет-

ся RACE (Row-based ASCII Compatible Encoding). В результате адрес узла www.банк.com

преобразуется в www.BQ-- AQYTAPJ2.com. Именно RACE-адрес домена хранится в базах данных DNS, благодаря чему перестройка существующей системы доменных имен и замена программного обеспечения не требуются.

125

Первоначально, когда ARPANET состояла из небольшого числа узлов, соответствие между доменными именами и IPадресами узлов перечислялись в одном файле (hosts.txt) в виде таблицы соответствия цифрового адреса имени машины.

Авторство создания этих таблиц принадлежит Джону Постелю. Именно он первым поддерживал файл hosts.txt, который можно было получить по FTP. Этот файл хранился в сетевом информационном центре Станфордского исследовательского института (SRI). Администраторы сетей передавали в SRI дополнения и изменения, происшедшие в конфигурации администрируемой им сети. Периодически администраторы переписывали этот файл в свои системы.

Влокальных сетях файлы hosts используются достаточно успешно до сих пор. Практически все операционные системы от различных версий Unix до Windows последних версий поддерживают эту систему соответствия IP-адресов именам хостов.

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

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

В1984 году в сети ARPANET стала использоваться служба, получившая название системы доменных имен (Domain Name System – DNS). DNS была описана Полом Мокапетрисом

вдвух документах: RFC-882 и RFC-883 (позже эти документы были заменены на RFC-1034 и RFC-1035).

Всоответствии с RFC-1034 и RFC-1035, описывающими DNS, роль доменного имени в процессе установки соединения осталась прежней. Это значит, что главное, для чего используется DNS служба – это получение IP-адреса узла сети. Исходя из этого, любая реализация DNS является прикладным процессом, который работает над стеком протоколов межсетевого обмена TCP/IP. Таким образом, базовым элементом адресации в сетях TCP/IP с введением DNS остался IP-адрес, а доменное

126

именование (система доменных имен) играет роль вспомогательного сервиса.

DNS состоит из трех основных частей: пространства (множество) доменных имен (domain name space); серверов домен-

ных имен (domain name servers); клиентов DNS (Resolver).

Пространство доменных имен имеет вид дерева (ие-

рархии) узлов и подчиняется следующим правилам (RFC-1034):

имя корня − пустая строка, т.е. полное имя обязательно завершается точкой;

каждый узел дерева должен быть помечен простым именем, включающим допустимые символы (допустимые символы рассмотрены в п. 5.3.1);

прописные и строчные буквы в доменных именах не различаются;

допустимая длина простого имени не более 63 симво-

лов;

доменные имена узлов в пределах одного домена должны быть уникальны;

допускается применение одинаковых доменных имен в разных доменах, где доменное имя «.mil» используется для обозначения домена первого уровня и домена второго уровня, являющегося поддоменом домена «.ru»;

полное имя узла образуется из последовательности имени самого узла и всех имен доменов, которые с ним связаны (снизу вверх по соответствующей ветви дерева) до корня включительно, записываемых слева направо и разделяемых точками, например, узлу «.itt» (рис. 1.22) соответствует следующее полное доменное имя «.itt.ftd.donrta.ru»;

максимальная длина полного имени – 255 символов, включая точки;

максимальное число уровней дерева – 1271;

кроме полного (абсолютного) имени узла (FQDN, fully qualified domain name) допускается применение относительного (относительно некоторого опорного узла) имена, в этом случае завершающая точка отсутствует;

поддерево доменных имен вместе со своим корневым узлом называется доменом (поддоменом);

1 На практике применение доменных имен с числом уровней более 3-х затруднительно для пользователя.

127

– объединение узлов в домены является чисто логическим, т.е. не зависящим ни от месторасположения, ни от IPадреса, ни от способа маршрутизации.

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

Корень – это множество все узлов Internet. Данное множество подразделяется на домены первого или верхнего уровня

(top-level или TLD).

Корневой зоной Internet и системой корневых серверов управляет ICANN, в частности, ICANN делегирует (передает) права управления зонами первого уровня gTLD (generic top-level domains, домены верхнего организационного уровня) и ccTLD (country code top-level domains, национальные домены).

Первоначально в ARPANET было семь доменов верхнего организационного уровня:

1.com (коммерческие организации);

2.edu (образовательные организации, в основном из

США);

3.gov (правительственные организации США);

4.int (международные организации);

5.mil (военные организации США);

6.net (организации, обеспечивающие сетевую инфраструктуру);

7.org (некоммерческие организации).

Список доменов ccTLD базируется на стандарте двухбуквенных кодов государств и территорий (ISO 3166).

DNS-серверы в системе доменных имен. В Internet сис-

тема доменных имен реализована в виде распределенной базы данных, включающей в себя серверы DNS, клиенты DNS (resolver), объединенные общим протоколом запросов к базе данных и обмена информацией между серверами.

Информация, соответствующая каждому доменному имени, хранится в записях ресурсов RR (resource records) DNSсервера. Основным типом хранимой информации является IP адрес. Одному доменному имени может соответствовать несколько IP-адресов (в случае использования нескольких сетевых интерфейсов на компьютере). Кроме этого в записях ресурсов может храниться дополнительная информация, например,

128

максимально допустимое время кэширования1 полученной ин-

формации (TTL, time to live).

Всистеме доменных имен различают несколько типов DNS-серверов. В зависимости от типа отклика на запрос серверы делятся на авторитетные (authoritative) и неавторитетные

(non authoritative).

Авторитетный отклик (authoritative response) воз-

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

Неавторитетный отклик (non authoritative response)

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

Взависимости от способа поддержания базы данных ав-

торитетные DNS-серверы делятся на первичные (primary) и

дублирующие (secondary)3.

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

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

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

2Очевидно, что система DNS соответствует «клиент-серверной» архитектуре.

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

4Для каждой доменной зоны первичным может быть только один сервер, поскольку «первоисточник» может и должен быть только один.

129

Примером такой организации является система корневых

(root-servers) DNS-серверов Internet. Всего в сети Internet 131

корневых DNS-серверов (табл. 1.4).

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

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

Из всего списка корневых серверов только один из них (A.ROOT-SERVERS.NET) является первичным, а все остальные дублирующие, хотя они содержат идентичную информацию. Благодаря такой организации в 2002 и 2003 году с разницей в несколько месяцев Internet выдержал две глобальные атаки злоумышленников.

В первом случае осенью 2002 года массированная атака DoS (отказ в обслуживании), предпринятая против 13 корневых DNS-серверов, нарушила работу восьми из тринадцати серверов. Соответственно, работоспособность сети сохранилась.

Во втором случае, в самом начале 2003 года (25 января), червь (вирус) SQL Slammer вызвал одну из крупнейших и самых быстрораспространяющихся DDoS атак. Примерно за 10 минут вирус распространился по всей сети и нарушил работу пяти из тринадцати корневых DNS-серверов.

Таблица 1.4

Перечень корневых DNS-серверов Internet

Обозначение

Доменное имя или

IP-адрес

 

 

организация ответствен-

 

 

 

ная за поддержание сер-

 

 

 

вера

 

1.

A.ROOT-

NS.INTERNIC.NET

198. 41.0.4

1 Число 13 определяется максимальным размером пакета UDP, который не будет фрагментирован в любой реализации (576 байт), в такой пакет как раз помещается ответ о 13 адресах.

130