Если у нас есть система идентификации узлов в Интернете на основе IP, зачем нужен DNS?
Если у нас есть система идентификации узлов в Интернете на основе IP, зачем нужен DNS?
Ответы:
Хотя все считают, что DNS не нужен для работы интернета, я не согласен. DNS не требуется для работы сети на основе IP, но для Интернета, каким мы его знаем сегодня, это абсолютно необходимо !!
Если я регистрирую доменное имя в godaddy и больше не люблю godaddy, я могу обратиться к другому провайдеру и сохранить свое доменное имя.
То же самое невозможно с IP-адресами, поскольку IP-адреса выделены определенным компаниям, и вы ничего не можете взять с собой.
DNS не только сопоставляет удобочитаемые имена с IP-адресами, но также отделяет клиента от конкретных деталей конечной точки сети, к которой он хочет подключиться.
Это позволяет поставщикам услуг внедрять системы высокой доступности и изменять детали реализации, не влияя на своих клиентов.
Абсолютно это могло! Но у вас будет огромный список записей в /etc/hosts
.
Если серьезно. «Интернет» (система машин, доставляющих контент пользователю) будет продолжать работать нормально. «Интернет» (коллекция легко найти информацию, передаваемую через «Интернет») быстро сломается, потому что никто (кроме настоящих фанатов) не запомнит IP-адрес, чтобы попасть в Google.
С помощью DNS один IP-адрес может обслуживать веб-сайты для нескольких доменов. (По крайней мере, если они используют HTTP / 1.1.) Без DNS каждому веб-сайту в основном потребовался бы выделенный IP-адрес, и он работал бы довольно быстро.
Разница между IP-адресом и DNS-именем заключается в том, что IP-адрес определяет местоположение серверов, а DNS-имя позволяет указать саму службу. Большой выигрыш, который вы получаете с помощью DNS, заключается не столько в том, что DNS-имя легче запомнить, но в том, что у вас есть уровень абстракции между службой и ее реализацией. Таким образом, базовая реализация может измениться, серверы могут перемещаться, не замечая этого.
Может ли Интернет работать без него? Вскоре одной из первых вещей будет внедрение службы, подобной DNS, чтобы обойти все проблемы, которые могут возникнуть из-за отсутствия DNS. Без DNS гиперссылки на другие веб-страницы могут, например, легко сломаться, так что всемирная сеть не сможет функционировать должным образом.
В некотором смысле DNS является очень простой формой адресно-ориентированной сети, в которой вы говорите, что хотите, а не как туда добраться. Вы говорите www.google.com
, потому что вы знаете, что Google выполняет поиск, но вы не знаете, где находится сервер, к которому вы в конечном итоге прибегаете, все, что отвлекается от вас благодаря DNS.
Кажется, все здесь забывают, что без DNS запоминание IP-адресов - не единственный вариант. У ARPANET не было DNS, и именно здесь был создан файл hosts. Из Википедии :
ARPANET, предшественник Интернета, не имел распределенной базы данных имен хостов, такой как современная система доменных имен для получения адреса сетевого узла хоста с использованием имени хоста. Каждый сетевой узел поддерживал свою собственную карту сетевых узлов, о которых он должен был знать, и назначал им имена, которые запоминались пользователю. [...] Небольшой размер ARPANET сделал использование файлов хостов практичным [...], однако обслуживание файла хостов стало более тяжелым бременем для системных администраторов [...] и централизованного и монолитного характера хост-файлы в конечном итоге потребовали создания распределенной системы доменных имен.
Без какого-либо DNS Google мог бы действовать как «своего рода» DNS, позволяя людям находить веб-сайты (тогда как сегодня вы перейдете на xyz.com, в мире без DNS вы перейдете на 75.125.127.100 и в Google xyz, и это даст вам такой путь)
Интернет будет работать. Это интернет, частью которого я хочу быть? Конечно нет.
В некоторых случаях «Интернет» не нуждается в DNS - например, если вы используете исключительно протоколы, которые не требуют DNS (например, большинство одноранговых программ для обмена файлами).
Кроме того, некоторые частные интернет-сети не нуждаются в DNS (но большинство в некоторой степени используют www, что обычно означает, что они все равно есть).
Да, интернет "работает" без DNS. IP-пакеты маршрутизируются на основе IP-адресов и маски подсети. Различные маршрутизаторы между источником и назначением не заботятся о псевдонимах, которые могут прочитать люди.
Однако для людей "www.google.com" гораздо проще запомнить, чем "74.125.225.209", по той же причине, что "1600 Amphitheatre Parkway" легче запомнить, чем "37.423156, -122.084917". В обоих случаях передается одна и та же информация, но в обоих случаях ее значительно легче запомнить. Во всяком случае, для людей.
Сам интернет, на низком уровне? Конечно, весь смысл IP-адреса и весь стек IP-адресов помогают маршрутизировать пакеты из одного места в другое с помощью других протоколов, ни один из которых не зависит от системы доменных имен.
С другой стороны, система DNS допускает несколько приятных моментов - во-первых, она позволяет дружественным людям найти хост. Во-вторых, для протоколов, которые знают о DNS, таких как HTTP, вы можете выбрать, какой контент отправлять, основываясь на предполагаемом месте назначения (например, виртуальных хостах), что позволяет более эффективно использовать доступные ресурсы, а также использовать такие вещи, как многоадресная передача. географическая маршрутизация к ближайшим серверам и другие интересные вещи, которые облегчают жизнь.
Будет ли работать интернет без DNS? Абсолютно. Это будет полная боль? Возможно - и если DNS сломал Tommorrow, много услуг по интернету будет нарушена.
Нет. Сеть 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, они работают одинаково).
198.252.206.16 stackoverflow.com
в файл Hosts и попробуйте зайти на stackoverflow.com, и вы обнаружите, что он работает, даже если вы только что отключили DNS. Практическая? Ни за что. Но интернет может функционировать без DNS. Вы просто не сможете получить IP для разных сайтов.