Преобразование имен машин Как
Приложение, которое хочет найти IP-адрес по заданному имени хоста, не должно пытаться сделать это собственными силами. Вместо этого оно обращается к библиотечным функциям, которые для этого и написаны, они называются gethostbyname(3) и
gethostbyaddr(3). Традиционно эти и ряд других процедур были сгруппированы в отдельной библиотеке, названной
resolverlibrary. В Linux это часть стандартной
libc. Настройка преобразователя имен детально описана в главе 6.
В маленькой сети, подобной Ethernet, или даже на нескольких, не очень трудно поддерживать таблицу, сопоставляющую имена хоста с IP-адресами. Эта информация обычно хранится в файле /etc/hosts. При добавлении или перемещении хоста, или при переназначении адресов, все что вы должны сделать, это изменить файл hosts на всех хостах. Очевидно, что это будет достаточно трудно в сетях с большим количеством машин.
Одно из решений этой проблемы: сетевая информационная система (Network Information System, NIS), разработанная Sun Microsystems, также известная как YP или желтые страницы. NIS хранит файл hosts и другую информацию в базе данных на главном хосте, с которого клиенты могут восстановить свои файлы, если это необходимо. Этот способ подходит только для сетей среднего размера, потому что он требует поддерживать полную базу данных как на центральной машине, так и на всех остальных. Установка и настройка NIS подробно рассмотрены в главе 13.
В Internet информация об адресах первоначально хранилась в единственном файле HOSTS.TXT. Этот файл поддерживался в NIC (Network Information Center) и должен был загружаться всеми участвующими сайтами. Когда сеть выросла, возникло несколько проблем. Постоянное обновление и постоянная перекачка файла
HOSTS.TXT требовали все больше ресурсов, нагрузка на сервер, который этим занимался, стала слишком высока. Но еще большей проблемой стало придумывание новых (не совпадающих с прежними) имен.
Вот почему в 1984 г. была введена новая схема Domain Name System (DNS), разработанная Paul Mockapetris и решившая обе проблемы одновременно. Domain Name System подробно обсуждается в
главе 6.