DNS эффективность поиска доменов второго уровня - PullRequest
0 голосов
/ 11 января 2012

Насколько эффективен поиск в домене DNS второго уровня? Например, в URL web.example.com домен верхнего уровня - это .com, а домен второго уровня - .example. Когда мы запрашиваем web.example.com, корневые серверы предоставляют серверы gTLD для .com. После того как сервер gTLD выбран для .com, этот сервер вернет серверы имен для example.com. Как один рДВУ может знать серверы имен для всех возможных доменов второго уровня (например, «example.com»), поскольку может быть так много возможных доменов второго уровня? Основываясь на википедии (en.wikipedia.org/wiki/Domain_Name_System#Structure), каждая метка может содержать до 63 символов, поэтому если мы ограничимся английским алфавитом, это уже даст нам 26 ^ 63 возможных доменов второго уровня.

Ответы [ 2 ]

1 голос
/ 11 января 2012

Причина в том, что очень немногие из 26 ^ 63 доменов фактически используются.

Кроме того, система DNS является иерархической, поэтому, когда DNS-сервер провайдера проверил, например, cnn.com, он будет кешировать данные и не будет запрашивать у корневого сервера их снова в течение установленного времени, даже если другие клиенты спрашивают об этом. Через некоторое время многие корневые домены кэшируются очень близко к клиентам.

Это не означает, что для корневых серверов их работа не ограничена ...: -)

0 голосов
/ 12 января 2012

Скорее всего (я не проверял, но спрашиваю, когда я увижу следующего основного автора BIND), они просто используют стандартное двоичное дерево .

Правильно сбалансированное двоичное дереводля хранения доменных имен ~ 100M .com должно быть около 27 уровней.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...