константы jmdns

Я использую JmDNS уже некоторое время. Я мог бы использовать его для целей моего приложения. У меня все работает нормально (у меня есть «дикторские» машины и «слушающая», и эта последняя машина может видеть другие устройства и узнавать их информацию).

Это правда, что мне удалось поработать с jar-файлом JmDNS, но я сделал это, не полностью понимая, что происходит в этом файле. Теперь я хочу узнать об эффекте использования JmDNS для сетевого трафика. Я ознакомился с документацией, но не смог узнать значение констант, таких как QUERY_WAIT_INTERVAL, PROBE_THROTTLE_COUNT и т. д.

Я хочу знать частоту по умолчанию, с которой машина диктора отправляет служебные объявления.

Я также заметил DNS_TTL, который был описан следующим образом: "По умолчанию TTL установлен равным 1 часу по стандарту, поэтому запись будет оставаться в кеше любой прослушивающей машины в течение часа без необходимости повторного пингования сервера. ".

Я понимаю, что это время жизни службы, чтобы оставаться в кеше DNS, но я не мог понять, что подразумевается под «очисткой сервера». Означает ли это, что слушатель должен спрашивать диктора об услуге по истечении срока действия DNS_TTL? если да, то почему диктор должен объявлять о своей службе каждые 1 с (ANNOUNCE_WAIT_INTERVAL = 1000 миллисекунд)?

Я так растерялся.


person mimou    schedule 24.10.2011    source источник


Ответы (1)


Принцип работы системы доменных имен очень прост. По сути, это древовидная система, которая начинается с корневых серверов имен. Затем они делегируют пространство имен на следующий уровень. Этот уровень, в свою очередь, делегирует следующий уровень и так далее. Например, . является корнем, который делегирует .com., который затем может делегировать example.com.. (Да, этот завершающий . на самом деле является частью доменного имени, хотя вам почти никогда не приходится его использовать или видеть.

Когда вы загружаете веб-страницу, обычно загружаются сотни элементов. Это каждое изображение, каждый файл JS, каждый файл CSS и т. д. Если бы ваш компьютер запрашивал один и тот же домен для разрешения IP много раз для одной страницы, это сделало бы время загрузки невыносимым, а также создало бы огромный ненужный трафик на сервере имен. Поэтому DNS кэширует. TTL - это то, как долго он кэшируется. Если он установлен на 24 часа, то, когда вы получите ответ на это решение, именно столько времени вы можете удерживать его, прежде чем сделать другой запрос.

Объявление, о котором вы говорите, — это сервер имен, который в основном объявляет, что он отвечает за эти домены. Вы хотите, чтобы он постоянно заявлял об этом, чтобы другие серверы имен знали, куда идти, чтобы получить правильные (достоверные) данные.

Дросселирование — это термин, используемый во многих областях и приложениях и означающий, что вы ограничиваете поток трафика, чтобы он не перегружался.

DNS на самом деле довольно просто понять, если вы освоите основы.

Вот несколько ссылок, которые могут помочь вам лучше понять все это:

person Peter Oram    schedule 16.10.2012