Co to jest zapytanie DNS o zasięgu?

13

W Mac OS X (Mavericks) widzę wiele programów tłumaczących i nie rozumiem różnicy między programami do rozpoznawania zapytań DNS o zasięgu i bez zakresu, jak pokazano poniżej:

$ scutil --dns
DNS configuration

resolver #1
  search domain[1] : test
  nameserver[0] : 172.31.30.10
  flags    : Request A records
  reach    : Reachable

.... <arpa stuff snipped> ...
resolver #6
  domain   : 9.e.f.ip6.arpa
  options  : mdns
  timeout  : 5
  flags    : Request A records
  order    : 300600

DNS configuration (for scoped queries) 

resolver #1
  search domain[0] : test
  nameserver[0] : 172.31.30.10
  if_index : 4 (en0)
  flags    : Scoped, Request A records
  reach    : Reachable
PnotNP
źródło

Odpowiedzi:

11

W skrócie, zapytanie DNS o zasięgu może wykorzystywać tylko określone interfejsy sieciowe (np. Ethernet lub Wi-Fi), podczas gdy zapytanie nie o zasięgu może korzystać z dowolnego dostępnego interfejsu.

Mówiąc dokładniej, aplikacja, która chce rozwiązać nazwę, wysyła żądanie (o zasięgu lub bez zakresu) do resolvera (zwykle aplikacji klienckiej DNS), jeśli resolver nie ma buforowanej odpowiedzi, wysyła zapytanie DNS do konkretny serwer nazw (i to przechodzi przez jeden interfejs, więc zawsze ma „zasięg”).

W twoim przykładzie resolvera nr 1 „do zapytań o zasięgu” można używać tylko interfejsu en0 (Ethernet).

mik
źródło
Więc aplikacja decyduje, czy zapytanie ma mieć zasięg czy nie? Jakie jest domyślne zachowanie i / lub którego digużywałaby przeglądarka internetowa?
Keith Bennett
Aplikacja taka jak przeglądarka najprawdopodobniej wysyła zapytanie do meta-resolvera, który kieruje zapytania do różnych resolverów zgodnie z zasadami opisanymi na stronie podręcznika resolver (5). Aplikacje takie jak diglub hostdokonać zapytań bezpośrednio do serwera nazw, a nie za pomocą kwerendy Mac OS X DNS mechanizm routingu.
mik