Доменная система имен
Как показала практика, пользователям значительно удобнее называть машины не по числам, а по именам (при этом у одной машины может быть несколько имен). Основным вопросом при этом становится перевод имен в IP-адреса. Этим переводом занимаются специальные программы, установленные на некоторых сетевых узлах, называемых NAMESERVER или DNS. Эти машины содержат базы данных о соответствии имен машин их IP-адресам. Кроме того, нужно следить, чтобы одно и то же имя не было случайно присвоено двум компьютерам.
Если бы для всех машин выбирались независимые адреса, каждый DNS должен был бы хранить информацию об именах всех машин, подключенных к INTERNET, а такая база данных имела бы очень большой объем. Еще более важным является тот аспект, что после каких-либо изменений в сети эти изменения должны быть отображены на всех DNS, что неудобно и трудоемко. Для решения этих проблем введена доменная система имен, представляющая метод назначения имен путем возложения на группы пользователей ответственности за подмножества имен. В этой системе каждый уровень называется доменом и отделяется от других точками (например, info.kharkov.com). Первый домен в имени (info) – имя реального компьютера. Второй (kharkov) – имя группы, создавшей и курирующей имя компьютера, и т. д. Каждая группа вольна изменять находящиеся под ее контролем имена.
В имени может быть любое число доменов, но более пяти встречается редко.
Если все группы будут соблюдать правила и обеспечивать уникальность имен, то никакие два компьютера в Internet не будут иметь одинаковых имен.
Домены верхнего уровня, такие как .com, были созданы, когда была изобретена доменная система. Изначально было шесть организационных доменов высшего уровня.
Таблица 5.1. Первоначальные домены верхнего уровня.
Домен | Использование |
---|---|
com | Коммерческие организации |
edu | Учебные заведения |
gov | Правительственные учреждения |
mil | Военные учреждения |
org | Прочие организации |
net | Сетевые ресурсы |
Когда сеть Internet стала международной, возникла необходимость предоставить всем странам возможность контроля за именами систем, находящихся в них. Для этой цели был создан набор двухбуквенных доменов, которые соответствуют доменам высшего уровня для этих стран. Например,. са – код Канады.
Следует отметить, что США имеют свой собственный код страны, хотя он широко не используется. В США большинство систем пользуются организационными доменами (типа .edu), а не географическими (типа .us). У компьютера могут также быть имена обоих видов. Способа преобразования организационных имен в географические не существует.
Чтобы преобразовать имя в адрес, компьютер обращается к серверам DNS, начиная с правой части имени и двигаясь влево. Сначала он просит локальные серверы DNS найти адрес. Здесь существует три возможности:
- локальный сервер знает адрес, потому что этот адрес находится в той части всемирной базы данных, которую курирует данный сервер;
- локальный сервер знает адрес, потому что кто-то недавно уже спрашивал о нем. Когда кто-либо спрашивает об адресе, сервер DNS некоторое время помнит его на тот случай, если чуть позже о нем спросит еще кто-нибудь. Это значительно повышает эффективность работы системы;
- локальный сервер не знает адрес, но знает, как его определить.
Адрес определяется следующим образом. Программное обеспечение локального сервера знает, как связаться с корневым сервером, который знает адреса серверов имен доменов высшего уровня (крайней правой части имени, например, com). Сервер запрашивает у корневого сервера адрес компьютера, отвечающего за домен .com. Получив информацию, он связывается с этим компьютером и запрашивает у него адрес сервера Kharkov и т. д.