Если у нас есть система идентификации узлов в Интернете на основе IP, зачем нужен DNS?
18 ответов
Потому что www.google.com намного легче запомнить, чем 64.233.169.147?
Это также добавляет прозрачность местоположению услуг. Вы можете перемещаться как географически, так и между IP-блоками, и остальной мир не должен быть уведомлен об этом изменении, чтобы продолжать пользоваться вашим сервисом.
Хотя все считают, что DNS не нужен для работы интернета, я не согласен. DNS не является необходимым для работы сети на основе IP, но для Интернета, каким мы его знаем сегодня, это абсолютно необходимо !!
Если я регистрирую доменное имя в godaddy и больше не люблю godaddy, я могу перейти к другому провайдеру и сохранить свое доменное имя.
То же самое невозможно с IP-адресами, так как IP-адреса выделены определенным компаниям, и вы ничего не можете взять с собой.
DNS не только сопоставляет понятные человеку имена с IP-адресами, но также отделяет клиента от конкретных деталей конечной точки сети, к которой он хочет подключиться.
Это позволяет поставщикам услуг внедрять системы высокой доступности и изменять детали реализации, не влияя на своих клиентов.
Абсолютно это могло! Но у вас будет огромный список записей в /etc/hosts
.
Если серьезно. "Интернет" (система машин, доставляющих контент пользователю) будет продолжать работать нормально. "Интернет" (коллекция легко найти информацию, передаваемую через "Интернет") быстро сломается, потому что никто (кроме настоящих гиков) не запомнит IP-адрес, чтобы попасть в Google.
Потому что я не хочу помнить, что Google - 74.125.45.100.
С помощью DNS один IP-адрес может обслуживать веб-сайты для нескольких доменов. (По крайней мере, если они используют HTTP/1.1.) Без DNS каждому веб-сайту в основном требовался бы выделенный IP-адрес, и он работал бы довольно быстро.
Кажется, все здесь забывают, что без DNS запоминание IP-адресов - не единственный вариант. У ARPANET не было DNS, и именно здесь был создан файл hosts. Из Википедии:
ARPANET, предшественник Интернета, не имел распределенной базы данных имен хостов, такой как современная система доменных имен для получения адреса сетевого узла хоста с использованием имени хоста. Каждый сетевой узел поддерживал свою собственную карту сетевых узлов, о которых он должен был знать, и назначал им имена, которые были запоминаемы пользователю. [...] Небольшой размер ARPANET сделал использование файлов хостов практичным [...], однако обслуживание файла хостов стало более тяжелым бременем для системных администраторов [...], и централизованная и монолитная природа файлов хостов в конечном итоге потребовала создание распределенной системы доменных имен.
Разница между IP-адресом и DNS-именем заключается в том, что IP-адрес определяет местоположение серверов, а DNS-имя позволяет указать саму службу. Большой выигрыш, который вы получаете с помощью DNS, заключается не столько в том, что DNS-имя легче запомнить, но в том, что у вас есть уровень абстракции между службой и ее реализацией. Таким образом, базовая реализация может измениться, серверы могут перемещаться, не замечая этого.
Может ли Интернет работать без него? Вскоре одной из первых вещей будет внедрение службы, подобной DNS, чтобы обойти все проблемы, которые могут возникнуть из-за отсутствия DNS. Без DNS гиперссылки на другие веб-страницы могут, например, легко сломаться, так что всемирная сеть не сможет функционировать должным образом.
В некотором смысле DNS - это очень базовая форма адресуемой сети, в которой вы говорите, что хотите, а не как туда добраться. Вы говорите www.google.com
, потому что вы знаете, что Google выполняет поиск, но вы не знаете, где находится сервер, к которому вы в конечном итоге прибегаете, все это отвлекается от вас благодаря DNS.
Вам нужен только DNS для перевода доменного имени (например, www.google.com) в IP (64.233.169.147). Если все основано на IP, то вам не нужен DNS.
По той же причине вы можете хранить имена в своем мобильном телефоне для справочных номеров :)
Там нет никаких требований для этого. Это чистая роскошь
Да, интернет "работает" без DNS. IP-пакеты маршрутизируются на основе IP-адресов и маски подсети. Различные маршрутизаторы между источником и назначением не заботятся о псевдонимах, которые могут прочитать люди.
Однако для людей "www.google.com" гораздо проще запомнить, чем "74.125.225.209", по той же причине, что "1600 Amphitheater Parkway" легче запомнить, чем "37.423156, -122.084917". В обоих случаях передается одна и та же информация, но в обоих случаях ее значительно легче запомнить. Во всяком случае, для людей.
Сам интернет, на низком уровне? Конечно, весь смысл IP-адреса и весь стек IP-адресов помогают маршрутизировать пакеты из одного места в другое с помощью других протоколов, ни один из которых не зависит от системы доменных имен.
С другой стороны, система DNS допускает несколько приятных моментов - во-первых, она позволяет дружественным для человека способом найти хост. Во-вторых, для протоколов, которые знают о DNS, таких как HTTP, вы можете выбирать, какой контент отправлять, основываясь на предполагаемом месте назначения (например, виртуальных хостах), что позволяет более эффективно использовать доступные ресурсы, а также использовать такие вещи, как многоадресная передача. географическая маршрутизация к ближайшим серверам и другие интересные вещи, которые облегчают жизнь.
Будет ли работать интернет без DNS? Абсолютно. Это будет полная боль? Возможно - и если DNS сломал Tommorrow, много услуг в Интернете будет нарушена.
Без какого-либо DNS Google мог бы действовать как «своего рода» DNS, позволяя людям находить веб-сайты (тогда как сегодня вы перейдете на xyz.com, в мире без DNS вы перейдете на 75.125.127.100 и в Google xyz, и это даст вам такой путь)
Интернет будет работать. Это Интернет, частью которого я хочу стать? Конечно нет.
В некоторых случаях для "Интернета" не требуется DNS, например, если вы используете исключительно протоколы, для которых не требуется DNS (например, большинство одноранговых программ для обмена файлами).
Кроме того, некоторые частные интернет-сети не нуждаются в DNS (но большинство в некоторой степени используют www, что обычно означает, что они все равно есть).
Могут быть некоторые веб-серверы с несколькими сайтами, которые используют один и тот же IP-адрес и порт для трафика, поэтому DNS используется для разных сайтов.
Вот хорошая причина для разделения локаторов (IP) и идентификаторов (доменных имен): RFC 5887. Если вы объединяете две компании и хотите, чтобы их сети стали одной, лучше надеяться, что их сети были настроены с использованием идентификаторов, а не локаторов.
Нет. Сеть Stack Exchange не может работать без DNS.
Чтобы доказать это, давайте выясним IP-адрес stackoverflow.com
:
$ host stackoverflow.com
stackoverflow.com has address 198.252.206.16
Перейдите к этому в вашем браузере, и вы получите страницу с сообщением об ошибке:
Не удалось найти 198.252.206.16
Сайт вопросов и ответов 198.252.206.16, кажется, не существует ... пока.
(Извините, я не могу связать его, Stack Exchange не позволит мне ввести ссылку на IP.
Это то, что вы получите, если перейдете на сайт Stack Exchange, который не существует, например hsdkgujahr.stackexchange.com
, за исключением того, что на нем написано: «Сайт вопросов и hsdkgujahr.stackexchange.com
, кажется, еще не существует… пока».
Теперь давайте проверим IP superuser.com
:
$ host superuser.com
superuser.com has address 198.252.206.16
Обратите внимание, что IP-адреса точно такие же. Фактически, если вы выполняете поиск DNS для любого сайта Stack Exchange, вы получаете тот же IP-адрес.
Если один IP-адрес сопоставлен с несколькими веб-сайтами, как сервер узнает, какой веб-сайт?
Ответ заключается в том, что HTTP-заголовок Host
отправляется на сервер с запросом и содержит полное DNS-имя сервера.
Таким образом, без DNS вы не сможете попасть на ваши любимые сайты Stack Exchange (или сайты проектов SourceForge, они работают одинаково).