Chi effettivamente "ricorre" in una ricerca DNS ricorsiva?

Sto cercando di capire la differenza tra ricerche DNS iterative e ricorsive. Fondamentalmente, penso di iterativo come come call un grande magazzino in cerca di un prodotto, e quando non ce l'hanno, ti danno il numero di un'altra delle sue succursali per call e poi chiami l'altro branch. Versus ricorsivo, che è come call il grande magazzino e quando non hanno quello che stai dopo, chiamano l'altro branch a tuo nome cercando il prodotto. Cosa è, ho opinioni contrastanti su questo quando si tratta di DNS. Quando penso a ricorsiva, penso a qualcosa che sembra questo: alt text

Ma durante la lettura di articoli sul web e persino la ricerca di immagini Google per il ricorsivo di DNS , vedo molti altri esempi che sembrano così: alt text

  • Strumenti di gestione IP che modificano DNS
  • Null record MX
  • C'è un modo per aggiornare in modo programmato i record DNS?
  • Hai bisogno di un command linux per interrogare il tempo di ricerca dns per un dominio evitando la cache
  • Perché DNS restituisce due risultati diversi a caso?
  • Quando dovrebbe essere utilizzato il .local?
  • Per me, questo secondo esempio sembra più iterativo di quanto non ricorsivo, poiché ognuno degli "altri server DNS" sta dicendo al "server DNS preferito" l'indirizzo della macchina successiva per la ricerca, piuttosto che esaminarlo in nome del preferito Server DNS. L'unico elemento ricorsivo che vedo è che il server DNS preferito effettua ricerche per conto del client DNS, ma da qui in poi, sembra certamente iterativo.

    Quindi indovino la mia domanda: la ricerca DNS "ricorsiva" significa solo ricorsiva nel senso che il server DNS preferito fa qualcosa per conto del cliente, ma in realtà è in realtà iterativo da qui? La maggior parte dei risultati che vedo nella ricerca di immagini di Google mi port a credere a questo, che pone la domanda, è la prima image in questo post semplicemente sbagliata?

    3 Solutions collect form web for “Chi effettivamente "ricorre" in una ricerca DNS ricorsiva?”

    Il tuo ultimo paragrafo è corretto.

    La bandiera "Recursione desiderata" (RD) inviata dal client nell'intestazione di richiesta DNS (vedi RFC 1035) chiede al server "per favore, dammi la risposta completa a questa domanda".

    Quel server che non richiede spesso la catena di server dei nomi per la risposta corretta. Queste query non dovrebbero avere il set di bit RD.

    In definitiva la risposta del server ricorsivo avrà il set di flag "Recursion Available" (RA), indicando che la risposta è stata effettivamente risolta in piena risposta. Al contrario, un server autorevole non imposta la bandiera RA.

    IMHO, è una scarsa scelta di terminologia.

    Per quello che vale la pena, quel primo diagramma che hai scoperto è fondamentalmente sbagliato. I server di origine non eseguono query a nessun altro server, ma solo i riferimenti ad altri server.

    Per quanto lo capisco, "ricerca ricorsiva" è esclusivamente dal punto di vista del querier originale. Quindi, se richiede un server DNS e ottiene una risposta completamente risolta, allora è una query "ricorsiva". Se quel server a sua volta ricerche ricorsive o iterative è, beh, non è qualcosa che il querier originale deve preoccuparsi.

    Il primo dei due schemi nella tua domanda non è corretto. I server di origine non inviano query a altri server. Se i server di origine hanno effettivamente inoltrato query come mostrato in quel diagramma, il sistema DNS sarebbe molto più vulnerabile agli attacchi DoS di quello che è veramente.

    Il secondo diagramma è per lo più corretto ma troppo semplificato per mostrarvi la natura ricorsiva delle ricerche. Il diagramma è ancora abbastanza dettagliato, anche se possiamo indicare where avviene la ricorsione.

    Il server DNS accanto al numero 12 il Preferred DNS server è quello in cui avviene la ricorsione. Il termine server DNS preferito non è una terminologia standard. Quel server sarebbe generalmente chiamato un recursore DNS in cache o qualche abbreviazione di questo.

    Quando si esamina il traffico di networking sembra davvero iterativo. La ricorsione è interamente interna al recursore DNS. Se si esamina l'implementazione di un ricorsore DNS, troverai una struttura ricorsiva nel modo in cui vengono gestite le richieste.

    La ricorsione può essere facile da individuare se l'implementazione utilizza un thread per richiesta e le ricerche vengono implementate utilizzando chiamate ricorsive. Ma i disegni più efficienti non utilizzano un thread per richiesta e la ricorsione viene invece trovata all'interno delle strutture di dati utilizzate dal ricorrente DNS.

    Il motivo per cui è necessaria la ricorsione è dovuto al modo in cui vengono implementati i riferimenti tra i server DNS autorevoli. Questo è meglio illustrato con un esempio. Nello schema viene visualizzato il server DNS autorevole per microsoft.com punta al server DNS autorevole per example.microsoft.com . Questo viene fatto usando un record NS che indica un nome host. Quindi, ad esempio, il server autorevole per microsoft.com potrebbe dire al recursore DNS che ms.example.net è autorevole per example.microsoft.com .

    A quel punto il ricorrente DNS dovrà risolvere ms.example.net prima di poter procedere con la risoluzione di example.microsoft.com .

    Per risolvere un nome host deve prima risolvere un nome host diverso. Questa è la ricorsione. Al fine di non portre ad una ricorsione infinita, DNS dispone di record di colla che vengono inviati insieme a record NS in alcuni casi.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.