Re: Как работает локальный DNS кеш?
On 2015-11-23, Eugene Berdnikov wrote:
>> которые считывает GLib. Как я понял GLib также умеет общаться с DNS серверами
>> (так как это делает dig, есть ощущение что nslookup использует
>> getaddrinfo(3)).
>
> В "ltrace nslookup localhost |& fgrep addr" ничего не ловится,
> значит, getaddrinfo(3) там не используется. Было бы странно для
> писателей bind9 использовать такие вызовы, ибо их модули
> извлекают из пакетов гораздо больше информации, которую через
> API для getaddrinfo получить никак невозможно. С другой стороны,
> от gethostbyname/getaddrinfo невозможно оторвать просмотр hosts
> и прочей описанной в nsswitch.conf хни, а dig/nslookup делают
> исключительно обращения к dns, и ничего более. Поэтому nslookup
> просто не может работать через getaddrinfo(3).
>
Ясно, я забыл что nslookup из проекта BIND.
>> У меня только сомнения по поводу наличия кода в GLibc работающего с DNS
>> серверами на подобии как это делает dig.
>
> В чём подобие-то? В glibc есть лишь резолвер, а dig имеет гораздо более
> широкий функционал.
Я не знал в том что glibc содержит частичную реализацию
протокола (как Вы сказали резолвер):
https://www.ietf.org/rfc/rfc1035.txt
Было удивительно что glibc не просто прослойка к ядру, но также выполняет
прикладные сервисы как разрешение имен.
Я наивно полагал что этим занимается ядро или сторонняя служба...
--
Best regards!
Reply to: