[opensuse-es] OT - Duda sobre consulta DNS recursiva y no recursiva.
Gente qué tal? Tengo la siguiente duda: Resulta que estoy tratando de comprender como es que funciona el sistema de DNS para poder ir configurando poco a poco un servidor con BIND. Como mi idea respecto a DNS era muy básica me puse a leer primero la teoría. Entre varias dudas que tengo pero que poco a poco se van solventando hay una que persiste: Qué significa que un servidor DNS resuelve una consulta en forma recursiva o en forma no recursiva (denominada también iterativa). Bien, después de leer bastante esto es lo que yo entendí: Recursiva: El servidor de DNS recibe la consulta del cliente DNS y asume la totalidad de la carga de la resolución, es decir, asumiendo que no tiene la respuesta "cacheada", es el mismo servidor el que se pone en contacto con otros servidores hasta obtener la respuesta completa y se la otorga entonces al cliente. No recursiva (o iterativa): El servidor DNS recibe la consulta del cliente DNS y le otorga al mismo la mejor respuesta que esta pueda dar (osea que hablando mal y pronto le da "la parte de la respuesta que el conozca"), luego es el cliente el encargado de contactar con otros servidores DNS para poder formar así la respuesta completa. Podría alguien confirmarme si está bien lo que yo tengo entendido??? Saludos y muchas gracias. Mauro. -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
El 2009-10-01 a las 12:41 -0300, Mauro Antivero escribió:
Qué significa que un servidor DNS resuelve una consulta en forma recursiva o en forma no recursiva (denominada también iterativa).
Bien, después de leer bastante esto es lo que yo entendí:
Recursiva: El servidor de DNS recibe la consulta del cliente DNS y asume la totalidad de la carga de la resolución, es decir, asumiendo que no tiene la respuesta "cacheada", es el mismo servidor el que se pone en contacto con otros servidores hasta obtener la respuesta completa y se la otorga entonces al cliente.
No recursiva (o iterativa): El servidor DNS recibe la consulta del cliente DNS y le otorga al mismo la mejor respuesta que esta pueda dar (osea que hablando mal y pronto le da "la parte de la respuesta que el conozca"), luego es el cliente el encargado de contactar con otros servidores DNS para poder formar así la respuesta completa.
Podría alguien confirmarme si está bien lo que yo tengo entendido???
Hum... después de leer este artículo: http://www.zytrax.com/books/dns/ch2/#queries Te diría que sí pero con un "pero" :-) Una consulta "no recursiva" la resuelve el mismo servidor dns (no el cliente) pero añadiendo un paso más (fíjate donde cambian las tornas, en el paso 3: mientras que la consulta "recursiva" pregunta directamente a los servidores raíz, la "no recursiva" responde con una pregunta -pregunta a otros servidores que sean autoritativos para esa zona-) Tampoco me queda clara la diferencia "práctica" entre uno y otro O:-) Saludos, -- Camaleón -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
Camaleón escribió:
El 2009-10-01 a las 12:41 -0300, Mauro Antivero escribió:
Qué significa que un servidor DNS resuelve una consulta en forma recursiva o en forma no recursiva (denominada también iterativa).
Bien, después de leer bastante esto es lo que yo entendí:
Recursiva: El servidor de DNS recibe la consulta del cliente DNS y asume la totalidad de la carga de la resolución, es decir, asumiendo que no tiene la respuesta "cacheada", es el mismo servidor el que se pone en contacto con otros servidores hasta obtener la respuesta completa y se la otorga entonces al cliente.
No recursiva (o iterativa): El servidor DNS recibe la consulta del cliente DNS y le otorga al mismo la mejor respuesta que esta pueda dar (osea que hablando mal y pronto le da "la parte de la respuesta que el conozca"), luego es el cliente el encargado de contactar con otros servidores DNS para poder formar así la respuesta completa.
Podría alguien confirmarme si está bien lo que yo tengo entendido???
Hum... después de leer este artículo:
http://www.zytrax.com/books/dns/ch2/#queries
Te diría que sí pero con un "pero" :-)
Una consulta "no recursiva" la resuelve el mismo servidor dns (no el cliente) pero añadiendo un paso más (fíjate donde cambian las tornas, en el paso 3: mientras que la consulta "recursiva" pregunta directamente a los servidores raíz, la "no recursiva" responde con una pregunta -pregunta a otros servidores que sean autoritativos para esa zona-)
Tampoco me queda clara la diferencia "práctica" entre uno y otro O:-)
Saludos,
S, es verdad lo que me decís, es el servidor con el cual el cliente se comunica en primera instancia el que le resuelve todo o no. Lo comprobamos con un servidor de acá habilitando / deshabilitando la recursividad y también poniendo como DNS primaro uno de los Root Name Servers, los cuales no tienen habilitada la recursividad (ya que según creo yo esto implicaría un trabajo excesivo para ellos). Usando el comando dig verificamos que el RNS solo te dice quien es el que sigue en el "árbol" de DNS. Por ejemplo al hacer dig www.google.com el RNS nos decía "la autoridad de ".com" es "tal". Y así fuimos bajando en el árbol de DNS "a mano" hasta obtener la respuesta deseada. Resumiendo: A mi entender cuando tenés habilitada la recursividad en el servidor al que consultás primero es este el que se tiene que encargar de brindarte una respuesta completa, osea el se contacta con los servidores que sea necesario hasta obtener una respuesta completa y luego se la envía al cliente. A mi entender es por esto que la recursividad implica un "trabajo" considerable para el servidor que la tiene implementada, por lo que los RNS no son recursivos, sino todo el mundo los usaría como servidores DNS e imagínense la carga que deberían soportar. Cuando no tenés habilitada la recursividad en el servidor al que consultás este solo te responde respecto de las zonas que es autoridad. En el caso de que el domino por el que le estés consultando no esté dentro de su o sus zonas de autoridad el te responde "con la mejor respuesta posible", osea que serías vos el encargado de ir "desglosando" el árbol hasta llegar a la respuesta que necesitás. Por lo que leí un escenario típico para entender mejor todo esto es aquel en el que tu servidores DNS primario y secundario tienen habilitada la recursividad y los que están "por encima" de él no (es decir " admiten consultas iterativas"), entonces tu servidor DNS primario / secundario es el encargado de "recopilar" la información necesaria y brindarte una respuesta completa. Esto se puede ver claramente en las figuras que les dejo más abajo. Un servidor primario / secundario por "encima" de un cliente no tendrían mucho sentido si no admiten consultas recursivas y se desaría tener acceso a Internet, ya que solo te responderían por las zonas en las cuales son autoridad. En cambio podría tener sentido para una LAN. Espero se haya entendido. Igualmente, como una imagen dice más que mil palabras creo que estos "dibujitos" dejan todo muy claro: Consultas iterativas y recursivas: http://i.msdn.microsoft.com/ms810277.dnsnt44(en-us,MSDN.10).gif http://i.technet.microsoft.com/Cc751138.xwrff06(en-us,TechNet.10).gif (la recursiva es entre el resolver y el primer DNS, las demás son iterativas). http://www.ils.unc.edu/spaces/inls578/pix/IPS/recursive.gif (ídem que el anterior pero "más bonito"). Saludos y gracias como siempre! Mauro. -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
participants (2)
-
Camaleón
-
Mauro Antivero