История /etc/hosts
Исторически в Internet-системах для распространения информации об IP-адресах и именах хостов использовался файл HOSTS.TXT. Это плоский текстовый файл, который просматривается от начала до конца при каждом прямом поиске (задается имя, а возвращается IP-адрес) или обратном поиске (задается IP-адрес, а возвращается имя). Формат файлов HOSTS.TXT и /etc/hosts приведен на рисунке 2.1.
|
ip_address |
name |
alias_name |
# |
comment |
|
14.24.44.65 |
yoda |
hubvwa |
# |
hp840box |
|
14.24.47.253 |
router |
router_if_l |
# |
localside |
|
14.24.53.253 |
router |
router_if_2 |
# |
remote side |
Рис. 2.1. Формат файла /etc/hosts
Поля разделяются пробелами. Поле 1 - это IP-адрес. Поле 2 содержит формальное имя системы. Дополнительные поля (до символа комментария #) являются альтернативными именами для этого устройства. После знака # могут располагаться необязательные комментарии.
HOSTS.TXT должен был всегда содержать самые свежие данные, поэтому он обновлялся в одном узле в соответствии с информацией, обеспечиваемой многими хост-мастерами Internet, и ежедневно загружался всеми системами, которые им пользовались. Эта процедура обеспечивала согласованность содержимого файла HOSTS.TXT в Internet. Со временем размер файла HOST.TXT вырос до нескольких мегабайт, и объем трафика, который требовался для его загрузки, стал
Джон Бломмерс OpenView Network Node Manager
слишком велик. Коротко говоря, оказалось, что HOST.TXT не является масштабируемым решением.
Тормозился процесс развития Internet, поскольку у каждого хоста в Internet должно было быть уникальное имя.
Если бы в каких-то узлах не производилось добросовестное обновление HOST.TXT, в них часто возникали бы проблемы связи с узлами, в которых недавно были обновлены или полностью изменены некоторые IP-адреса. Даже одиночная ошибка могла привести к тому, что несколько систем или целых подсетей становились недостижимыми.
Механизм HOST.TXT немного стоил и в отношении информации. Например, чтобы послать e-mail в систему, не подключенную напрямую к Internet, отправителю нужно было знать почтовые системы по всему пути и включать их адреса в качестве части e-mail-адреса.
Таким образом, в Internet требовался сервис имен, который бы:
- • сокращал сетевой трафик;
- • делегировал полномочия на использование информации;
- • уменьшал время распространения обновлений;
- • являлся истинно стандартным;
- • поддерживал дополнительные поля, такие как записи почтовых обменов;
- • обеспечивал высокую надежность;
- • очень хорошо масштабировался.
Этим сервисом стал DNS/BIND (Domain Name Service/Berkeley Internet Nameserver Daemon). Он полностью отвечает каждому из приведенных выше требований, в особенности требованию масштабирования. DNS масштабируется до размеров Internet и абсолютно необходим для работы web- приложений.