itmo_conspects

Лекция 12. DNS

DNS (Domain Name System) - технология, позволяющая по доменному имени узнать IP-адрес сервера и наоборот

Домен (или доменное имя) - область пространства имён сети Интернет, которая обозначается уникальным доменным именем, обслуживается набором серверов доменных имён и централизованно администрируется

DNS была описана Полом Мокапетрисом в 1984 году стандартами RFC 882 и RFC 883. Позже выходило множество стандартов, описывающих DNS

DNS использует свой протокол, для передачи пакетов которого используется UDP или TCP и порт сервера 53. Формат DNS-пакет такой:

Далее идут секции запросов, ответов, авторитетных и дополнительных записей

Имена запрашиваемых ресурсов передаются с нуль-терминатором

Формат DNS

Чтобы DNS-клиенту получить запись о IP-адресе, ему нужно обратиться к DNS-серверу. DNS-сервера бывают:

Сервера отвечают за зоны - пространства записей, где соотнесены IP-адреса и домена

Сами доменные имена представляют из себя дерево. Это дерево начинается с имени ., которое называют корневым доменом:

Домены

Эта точка в реальной жизни опускается в виду ее очевидности

От него идут домены первого уровня, они бывают национальными (ccTLD, country code Top Level Domain), определенные стандартом ISO 3166, такие как .ru, .su, .рф, и тематические, такие как .com (коммерция), .gov (government, правительство), .net (network, сеть) и другие

Дальше идут домены домены второго уровня, такие как itmo.ru, а за ними третьего, четвертого и так далее.

На весь домен (так называемый FQDN, Fully Qualified Domain Name) действует ограничение в 255 октет, а длина имени между точками должна быть не меньше 63 октет

Помимо этого, существуют зарезервированные имена, такие как example.com, example.org, example.net и другие

Также существует зона обратного просмотра, созданная для разрешения доменного имени по IP-адресу: Z.Y.X.W.in-addr.arpa., где W.X.Y.Z - IPv4-адрес


За корневую зону отвечают корневые сервера. Они управляются ICANN (Internet Corporation for Assigned Names and Numbers) и их всего 13:

Имя IPv4-адрес IPv6-адрес Компания Местоположение
a.root-servers.net 198.41.0.4 2001:503:ba3e::2:30 Verisign Inc. США
b.root-servers.net 170.247.170.2 2801:1b8:10::b University of Southern California, Information Sciences Institute США
c.root-servers.net 192.33.4.12 2001:500:2::c Cogent Communications США
d.root-servers.net 199.7.91.13 2001:500:2d::d University of Maryland США
e.root-servers.net 192.203.230.10 2001:500:a8::e NASA (Ames Research Center) США
f.root-servers.net 192.5.5.241 2001:500:2f::f Internet Systems Consortium, Inc. США
g.root-servers.net 192.112.36.4 2001:500:12::d0d US Department of Defense (NIC) США
h.root-servers.net 198.97.190.53 2001:500:1::53 US Army (Research Lab) США
i.root-servers.net 192.36.148.17 2001:7fe::53 Netnod Швеция
j.root-servers.net 192.58.128.30 2001:503:c27::2:30 Verisign, Inc. США
k.root-servers.net 193.0.14.129 2001:7fd::1 RIPE NCC Нидерланды
l.root-servers.net 199.7.83.42 2001:500:9f::42 ICANN США
m.root-servers.net 202.12.27.33 2001:dc3::35 WIDE Project Япония

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

IP-адреса корневых сервером записаны на каждом устройстве, которые способны разрешать доменные имя. Далее по полученным от них IP-адреса DNS-серверов зон ниже можно рекурсивно определить IP-адрес

На Linux утилита dig позволяет посмотреть DNS-записи. На Windows есть аналог nslookup. Всего существует множество типов записей:


Чтобы зарегистрировать свой домен, нужно внести его в централизованную базу данных (реестр) и заплатить регистратору денежку

Такой реестр содержит информацию о зарегистрированных доменных именах, данные администраторов доменов и другую информацию, необходимую для функционирования доменов

Регистратором доменных имен является аккредитованная организация, уполномоченная вносить записи в реестр. Для доменов .ru, .su и .рф аккредитовано 38 регистраторов Координационным центром национального домена сети Интернет

Рекомендуется хостинг и домен заказывать у разных сервисов, чтобы при переезде на другой хостинг не регистрировать домен заново

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