Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Система доменных имен




 

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

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

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

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

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

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

Первоначально, когда 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-адрес, а доменное именование (система доменных имен) играет роль вспомогательного сервиса.

DNS состоит из трех основных частей:

Ø пространство (множество) доменных имен (domain name space);

Ø серверов доменных имен (domain name servers);

Ø клиентов DNS (Resolver).

 

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

 

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

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

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

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

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

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

Ø полное имя узла образуется из последовательности имени самого узла и всех имен доменов, которые с ним связаны (снизу вверх по соответствующей ветви дерева) до корня включительно, записываемых слева направо и разделяемых точками, например, как показано на рисунке 6, узлу «.Ekfacultet» соответствует следующее полное доменное имя «.Ekfacultet.urgi.rostov.ru»;

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

Ø максимальное число уровней дерева – 127[9];

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

Ø поддерево доменных имен вместе со своим корневым узлом называется доменом (поддоменом), например, обозначенная на рисунке 6 ветвь относится к группе узлов («.Ekfacultet», «.Urfacultet», «.Phfacultet», «.Dizfacultet», «.Recfacultet») и поддоменов («.rostov» «.urgi»), входящих в домен «.ru», а все узлы, показанные на рисунке 6 на самом нижнем уровне, входят в домен (поддомен) третьего уровня «.urgi» и т.д.

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

 

 

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

Корень - это множество все узлов Internet. Данное множество подразделяется на домены первого или верхнего уровня (top-level или TLD).

 

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

 

 

Рис. 6. Дерево доменных имен

 

В соответствии с принятыми правилами право администрирования каждого домена первого уровня передается одной конкретной организации (оператору регистра; администратором доменной зоны «ru» является РосНИИРОС). Зарегистрировать домен второго уровня, например, в доменной зоне «ru» можно у одного из многочисленных регистраторов (коммерческие организации, имеющие доступ к общей базе данных оператора регистра для данной доменной зоны).

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

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

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

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

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

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

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

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

В 90-х годах к ним были добавлены следующие домены:

8. aero (организации, связанные с авиацией);

9. arpa (используется для отображения адресов в имена);

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

11. coop (кооперативы);

12. info (разное);

13. museum (музеи);

14. name (персональные домены);

15. pro (лицензированные профессионалы).

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

Примеры доменов верхнего уровня ccTLD, соответствующие отдельным государствам, приведены в таблице 4.

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

 

Таблица 4 Примеры национальных доменов верхнего уровня

Страна Код Страна Код
Аргентина ar Кипр cy
Армения am Киргизстан kg
Австрия at Казахстан kz
Азербайджан az Канада ca
Белорусь by Индия id
Бельгия be Латвия lv
Болгария bg Литва lt
Чехия cz Молдова md
Эстония ee Нидерланды nl
Финляндия fi Польша pl
Франция fr Португалия pt
Германия de Россия ru
Греция gr Словакия sk
Грузия ge Словения si
Дания dk Испания es
Венгрия hu Швеция se
Италия it Швейцария ch
Япония jp Узбекистан uz
Украина ua Туркменистан tm
Великобритания gb Соединенные Штаты us

 

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

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

В зависимости от типа отклика на запрос серверы делятся на авторитетные (authoritative) и неавторитетные (non authoritative).

Авторитетный отклик (authoritative response) возвращают серверы, которые являются ответственными за зону, в которой описана информация, необходимая клиенту DNS[11].

Неавторитетный отклик (non authoritative response) возвращают серверы, которые не отвечают за зону, содержащую необходимую клиенту информацию.

В зависимости от способа поддержания базы данных авторитетные DNS-серверы делятся на первичные (primary) и дублирующие (secondary)[12].

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

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

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

Примером такой организации является система корневых (root-servers) DNS-серверов Internet. Всего в сети Internet 13[14] корневых DNS-серверов (таблица 5).

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

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

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

Таблица 5. Перечень корневых DNS-серверов Internet

Обозначение Доменное имя или организация ответственная за поддержание сервера IP-адрес
1. A.ROOT-SERVERS.NET NS.INTERNIC.NET 198. 41.0.4
2. B.ROOT-SERVERS.NET NS1.ISI.EDU 192.228.79.201
3. C.ROOT-SERVERS.NET C.PSI.NET 192.33.4.12
4. D.ROOT-SERVERS.NET TERP.UMD.EDU 128.8.10.90
5. E.ROOT-SERVERS.NET NS.NASA.GOV 192.203.230.10
6. F.ROOT-SERVERS.NET[15] NS.ISC.ORG 192.5.5.241
7. G.ROOT-SERVERS.NET NS.NIC.DDN.MIL 192.112.36.4
8. H.ROOT-SERVERS.NET AOS.ARL.ARMY.MIL 128.63.2.53
9. I.ROOT-SERVERS.NET NIC.NORDU.NET 192.36.148.17
10. J.ROOT-SERVERS.NET VeriSign 192.58.128.30
11. K.ROOT-SERVERS.NET RIPE NCC 193.0.14.129
12. L.ROOT-SERVERS.NET ICANN 198.32.64.12
13. M.ROOT-SERVERS.NET WIDE 202.12.27.33

 

Благодаря такой организации в 2002 и 2003 году с разницей в несколько месяцев Internet выдержал две глобальные атаки злоумышленников.

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

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

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...