Сервера доменных имен или DNS сервера представляют собой распределительную систему, которая создана для того чтобы транслировать мнемонические имена ресурсов в числовые IP адреса. Для большинства рядовых пользователей интернет такой формулировки вполне достаточно, однако для тех, кто владеет сайтом или создание сайта есть в планах на будущее, необходимы более глубокие знания об этом.
Дело в том, что числовой формат имени ресурса является наиболее удобным для обработки машиной, однако для человека запоминать последовательность цифр не совсем удобно. Когда происходит создание сайта, ему кроме мнемонического буквенного адреса присваивается ещё и числовой IP-адрес.
Для того чтобы было удобно и машине и человеку стали применять таблицы соответствий мнемонических адресов числовым. Они сохранились до сих пор и известны как файлы hosts, в отдельных случаях используются старым прикладным софтом. Ещё эти файлы используются операционными системами, такими как UNIX и Windows, для ускорения загрузки ресурсов, к которым часто обращается пользователь. При этом система не тратит время на запрос к серверу DNS.
Технология файлов со списками хостов применялась на заре современного интернета. Тогда сеть называлась ARPANET и использовала для маршрутизации длиннейшие списки хостов. Однако эта сеть была относительно небольшой, по сравнению с сегодняшним интернетом, и создать сайт или ресурс там каждый желающий не мог, так как это был изначально военный проект США. Да и сайтов тогда в сегодняшнем их понимании ещё не было.
Когда сеть начала стремительно расширяться, на смену файлам hosts пришла иерархическая именная структура –DNS. Например, имеется корень дерева, ниже идут домены первого уровня, такие как .net, .mil, .info, .gov, .com и другие, например домены государств - .ru. Всё что находится за точкой это уже домены второго уровня. Например, если сделать сайт host.ru, то это будет домен второго уровня. Дальше идут домены ещё ниже уровнем.
Если отследить происхождение каждого запроса, можно получить множество интересной информации. Клиенту (компьютеру, сайту) минимально присваивается один DNS, который дает провайдер. Клиент отсылает запрос серверу, который либо отвечает на него, либо переадресовывает дальше к вышестоящему DNS-серверу, если о нем есть информация или к корневому DNS, которых каждому серверу известно минимум два. Полученный ответ затем точно так же спускается до компьютера подавшего запрос. Это маршрутизация по вертикальной или восходяще-нисходящей иерархии. Если сделать сайт, запросы о нем будут также ходить по маршрутам.
Кроме вертикальных связей, у серверов имеются ещё и горизонтальные. Например, первичный – вторичный DNS. Каждый сервер, который обслуживает домен, работает со страховкой – вторичным DNS-сервером. Потому что если сервер будет в единственном числе, при выходе его из строя все клиенты в его сегменте окажутся недоступными.
Кроме того DNS могут быть рекурсивные и нерекурсивные. Разница между ними заключается в том, что первые самостоятельно опрашивают другие сервера и всегда отвечают на запрос клиента. Вторые могут просто вернуть отсылку на другие ресурсы, которые клиент должен опрашивать самостоятельно.
Одним из очень полезных свойств DNS является умение пользоваться forwarders (пересыльные), которые могут серьезно ускорить разрешение имен. Например, сеть имеет слабое подключение к интернету, поэтому разрешение имен длится очень долго. Ускорить работу можно перенаправив все запросы серверу провайдера и принимать ответ уже от него. Более мощная машина сервера провайдера также сможет кэшировать запросы, что ещё больше ускорит работу слабой сети. Это очень сильно может пригодиться большим организациям с несколькими сетями. Однако обычные пользователи редко сталкиваются со столь высокими материями. Эта информация будет полезна тем, в чьих планах создание сайта или сети.
Основную часть интернет ресурсов пользователи знают по их доменным именам. Это действует, как для сайтов, так и адресов e-mail. Можно сделать сайт, а можно зарегистрировать обыкновенную электронную почту – любой адрес будет содержать доменное имя ресурса – сервера на котором он расположен.
Основное назначение DNS-серверов заключается в получении данных об IP сервера по его мнемоническому имени и наоборот, предоставление данных о протоколах внутри сети и обслуживающих серверах и маршрутизации электронной почты. Неважно, для каких целей создать сайт и какое будет его название и наполнение – всё равно он будет иметь числовой IP-адрес. Также IP-адрес имеется почти у каждого пользовательского компьютера в сети интернет.
Однако не всегда у компьютеров или ресурсов бывает лишь один IP. Их может быть несколько. Причем мнемоническое имя тоже может быть не одно и они, в свою очередь, также могут быть связаны, как с одним, так и с несколькими IP. У компьютера IP-адреса может и не вовсе.