12.9 Делегирование

12.9 Делегирование

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

Производя просмотр имен серверов по коду страны, база данных InterNIC возвращает список имен и адресов корневых серверов этой страны. Диалог с программой nslookup показывает получение списка корневых серверов Канады:

> ca.

ca                     nameserver = RELAY.CDNNET.СА

ca                     nameserver = RSO.INTERNIC.NET

ca                     nameserver = CLOUSO.CRIM.СА

ca                     nameserver = SNORT.UTCC.UTORONTO.СА

ca                     nameserver = NS2.UUNET.CA

RELAY.CDNNET.СА        inet address = 192.73.5.1

RSO.INTERNIC.NET       inet address = 198.41.0.5

CLOUSO.CRIM.CA         inet address = 192.26.210.1

SNORT.UTCC.UTORONTO.CA inet address = 128.100.102.201

NS2.UUNET.CA           inet address = 142.77.1.5

>

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

Аналогично организация может сформировать корневое дерево для собственных узлов DNS и авторизировать их как части именования доменов.

На практике используется относительно небольшое вторичное деление, и имена можно найти за несколько шагов. На рис. 12.4 показаны этапы разрешения (определения адреса по имени) для viper.cs.titech.ac.jp:

1. Производится обращение к корневому дереву InterNIC. При этом идентифицируется сервер в Японии.

2. Запрашивается один из корневых серверов Японии, который идентифицирует домен университета Titech.

3. Сервер университета Titech предоставляет адрес для хоста.

Рис. 12.4. Разрешение имен для системы из Японии

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

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