Hay varios DNS públicos que puedo usar para sustituir a los de mi proveedor en Venezuela. Cómo puedo compararlos, para saber cuál me conviene?
Los DNS públicos más populares tienen ICMP activado, de modo que puedes hacer una prueba muy simple con `ping` para determinar cuál tiene el tiempo de respuesta más corto. Ese no es el único criterio, pero es el más accesible para cualquier persona porque `ping` está en cualquier sistema operativo.
Las consultas DNS se hacen sobre UDP, así que tu siguiente prueba sería hacer consultas de nombre via UDP para determinar el tiempo de respuesta. Esto tienes que hacerlo por un tiempo considerable, porque la congestión de la red en la cual participas (tu red local, la de tu ISP, la ruta intermedia) afecta. Puedes escribir un script que haga consultas de diferentes nombres (usando `dig`), pero siempre el mismo nombre, para que excluyas el tiempo de consulta que el servidor público tiene que hacer.
Los DNS públicos suelen usar la técnica AnyCast para que siempre te atienda el «más cercano, menos ocupado» de un conjunto muy grande. Si bien tus consultas van hacia un IP particular (1.1.1.1, 8.8.8.8, 4.2.2.1) la realidad es que esa consulta se enruta a servidores que tu no puedes escoger, dependiendo del estado actual de la red.
Finalmente, la manera en que se consulta a los DNS depende de la librería resolver de tu sistema operativo. El resolver de libc para Linux trabaja diferente que el resolver de FreeBSD, y aunque MacOSX deriva de FreeBSD, su resolver también es diferente. En algunos casos, una consulta se hace al «primer DNS» y se *espera* por timeout antes de intentar el segundo; a veces se hacen tantas consultas como DNS estén definidos y se toma la primera en regresar.
Si estás en Venezuela, cualquiera de los DNS públicos tiene más ancho de banda que TODO el ancho de banda de Venezuela sumado, así que el cuello de botella siempre va a ser tu ISP en Venezuela.
Es mucho más eficiente tener un caching resolver en tu red local que haga forwarding a los públicos. Si no tienes red local, sino que llevas tu portátil de red en red, lo mejor es instalar un caching resolver en tu máquina.
En el estado actual de las cosas, 1.1.1.1 es muy superior a 4.2.2.1 y 4.2.2.2, que son marginalmente mejores que 8.8.8.8. Hay criterios adicionales: por ejemplo, si te interesa que hagan verificación DNSSEC, o si quieres DNS sobre TLS -- en ese caso tienes que probar esas cosas por tu cuenta ajustado a tus necesidades de validación.
Las consultas DNS se hacen sobre UDP, así que tu siguiente prueba sería hacer consultas de nombre via UDP para determinar el tiempo de respuesta. Esto tienes que hacerlo por un tiempo considerable, porque la congestión de la red en la cual participas (tu red local, la de tu ISP, la ruta intermedia) afecta. Puedes escribir un script que haga consultas de diferentes nombres (usando `dig`), pero siempre el mismo nombre, para que excluyas el tiempo de consulta que el servidor público tiene que hacer.
Los DNS públicos suelen usar la técnica AnyCast para que siempre te atienda el «más cercano, menos ocupado» de un conjunto muy grande. Si bien tus consultas van hacia un IP particular (1.1.1.1, 8.8.8.8, 4.2.2.1) la realidad es que esa consulta se enruta a servidores que tu no puedes escoger, dependiendo del estado actual de la red.
Finalmente, la manera en que se consulta a los DNS depende de la librería resolver de tu sistema operativo. El resolver de libc para Linux trabaja diferente que el resolver de FreeBSD, y aunque MacOSX deriva de FreeBSD, su resolver también es diferente. En algunos casos, una consulta se hace al «primer DNS» y se *espera* por timeout antes de intentar el segundo; a veces se hacen tantas consultas como DNS estén definidos y se toma la primera en regresar.
Si estás en Venezuela, cualquiera de los DNS públicos tiene más ancho de banda que TODO el ancho de banda de Venezuela sumado, así que el cuello de botella siempre va a ser tu ISP en Venezuela.
Es mucho más eficiente tener un caching resolver en tu red local que haga forwarding a los públicos. Si no tienes red local, sino que llevas tu portátil de red en red, lo mejor es instalar un caching resolver en tu máquina.
En el estado actual de las cosas, 1.1.1.1 es muy superior a 4.2.2.1 y 4.2.2.2, que son marginalmente mejores que 8.8.8.8. Hay criterios adicionales: por ejemplo, si te interesa que hagan verificación DNSSEC, o si quieres DNS sobre TLS -- en ese caso tienes que probar esas cosas por tu cuenta ajustado a tus necesidades de validación.
Liked by:
Arnaldo Quintero
Walter Vargas
Marcos Mora
+1 answer in: “Por qué mi internet va y viene cada 5 minutos como si hubiese un cable flojo?”