я хочу сказать, что тот же пинг делает gethostbyname() который предоставляет glibc, дальше в зависимости от содержимого /etc/nsswitch.conf делается запрос к следующему по порядку nss модулю
Ну не только для дебиан, для лбого дистра с glibc. Насчёт службы, тут надо смотреть реализацию nss, как минимум обычно вертится кеширующий демон nscd, но он не только для резолва, он для всех NSS сущностей: пользователи, группы, сети и пр
Посмотри в /etc/nsswitch.conf, за ресолв отвечает hosts, у меня например выглядит так:
hosts: files mdns4_minimal [NOTFOUND=return] dns myhostname
Значит сначала Glibc спросит /lib/libnss_files.so.2 (по простому, сходит в /etc/hosts), потом /lib/libnss_mdns4.so.2 (эт я хз что, никогда не ковырял их), дальше, даже если mdns4 ничего не нашел [NOTFOUND=return] вернуть этот рузультат, т.е. запрос дальше не пойдёт
Погоди, я про цепь процессов. Вот я запускаю свой конечный пользовательский продукт. Процесс. В конфиге моего продукта указано ходить на host:port. Как будет происходить резолв?
Зачем существуют работающие службой программы-резолверы? Цель какая?
Может затем, что системные библиотеки знают как, но не знают, где. Где-то должна быть записана информация по хосты, как-то эта информация должна попасть к конечному потребителю. Вот этот процесс и называется резолвингом.
Кто и зачем слушает 127.0.0.1:53
DNS сервер. Если резольвер попросите спрашивать у 127.0.0.1:53 - он у него спросит.