Artwork

Contenido proporcionado por Jesús Cea and Pablo Lobariñas. Todo el contenido del podcast, incluidos episodios, gráficos y descripciones de podcast, lo carga y proporciona directamente Jesús Cea and Pablo Lobariñas o su socio de plataforma de podcast. Si cree que alguien está utilizando su trabajo protegido por derechos de autor sin su permiso, puede seguir el proceso descrito aquí https://es.player.fm/legal.
Player FM : aplicación de podcast
¡Desconecta con la aplicación Player FM !

Podcast Z #6: Proyecto X - DNS como base de datos distribuida mundial

29:48
 
Compartir
 

Fetch error

Hmmm there seems to be a problem fetching this series right now. Last successful fetch was on February 26, 2024 22:59 (2M ago)

What now? This series will be checked again in the next day. If you believe it should be working, please verify the publisher's feed link below is valid and includes actual episode links. You can contact support to request the feed be immediately fetched.

Manage episode 207895417 series 2332298
Contenido proporcionado por Jesús Cea and Pablo Lobariñas. Todo el contenido del podcast, incluidos episodios, gráficos y descripciones de podcast, lo carga y proporciona directamente Jesús Cea and Pablo Lobariñas o su socio de plataforma de podcast. Si cree que alguien está utilizando su trabajo protegido por derechos de autor sin su permiso, puede seguir el proceso descrito aquí https://es.player.fm/legal.
Usar el DNS como un sistema de cacheo mundial. https://podcast.jcea.es/podcastz/6

Notas:

  • 00:30: El proyecto es confidencial, pero quiero exponer algunas técnicas que pueden ser útiles para otros programadores.

  • 02:50: El programa requiere actualizarse constantemente de forma automática.

  • 04:30: El usuario solo instala manualmente un "descargador".

  • 05:50: Descripción del proceso de actualización.

  • 06:30: Firma digital, imprescindible cuando hay actualizaciones constantes a través de redes no confiables.

  • 08:00: En la primera versión del proyecto, el programa se descargaba en cada ejecución (20KBytes).

  • 09:00: Pero esto no escala cuando el número de usuarios crece, o el tamaño del fichero crece.

  • 13:30: Usar el DNS para comprobar las versiones, utilizándolo de caché. A nivel mundial y de forma simple.

  • 15:20: Cuando un ordenador pide a su ISP que haga una petición de DNS, dicho ISP cachea el resultado y está disponible para otros clientes. Y el tiempo de cacheo es configurable en el servidor origen.

  • 17:30: Problema: sin instalar librerías adicionales, Python tiene una capacidad de interacción con el DNS muy limitada. Hay que buscarse la vida.

  • 19:30: En vez de decir a través del DNS qué versión es la más moderna, lo que hacemos es permitir que el cliente confirme si su versión es la última o no. Comprobamos si el registro "HASH_MD5.md5.DOMINIO" existe o no.

  • 22:40: Ojo con los ISPs puñeteros que resuelven a sus propias IPs las resoluciones DNS inexistentes. Solución: Comprobamos que la IP resuelta sea la esperada.

  • 25:00: Firma digital por El Gamal.

  • 27:20: El actualizador no hace más descargar la versión actual (con todas las verificaciones) y luego le pasa el control. Actualizar el actualizador es "complicado" :).
  continue reading

10 episodios

Artwork
iconCompartir
 

Fetch error

Hmmm there seems to be a problem fetching this series right now. Last successful fetch was on February 26, 2024 22:59 (2M ago)

What now? This series will be checked again in the next day. If you believe it should be working, please verify the publisher's feed link below is valid and includes actual episode links. You can contact support to request the feed be immediately fetched.

Manage episode 207895417 series 2332298
Contenido proporcionado por Jesús Cea and Pablo Lobariñas. Todo el contenido del podcast, incluidos episodios, gráficos y descripciones de podcast, lo carga y proporciona directamente Jesús Cea and Pablo Lobariñas o su socio de plataforma de podcast. Si cree que alguien está utilizando su trabajo protegido por derechos de autor sin su permiso, puede seguir el proceso descrito aquí https://es.player.fm/legal.
Usar el DNS como un sistema de cacheo mundial. https://podcast.jcea.es/podcastz/6

Notas:

  • 00:30: El proyecto es confidencial, pero quiero exponer algunas técnicas que pueden ser útiles para otros programadores.

  • 02:50: El programa requiere actualizarse constantemente de forma automática.

  • 04:30: El usuario solo instala manualmente un "descargador".

  • 05:50: Descripción del proceso de actualización.

  • 06:30: Firma digital, imprescindible cuando hay actualizaciones constantes a través de redes no confiables.

  • 08:00: En la primera versión del proyecto, el programa se descargaba en cada ejecución (20KBytes).

  • 09:00: Pero esto no escala cuando el número de usuarios crece, o el tamaño del fichero crece.

  • 13:30: Usar el DNS para comprobar las versiones, utilizándolo de caché. A nivel mundial y de forma simple.

  • 15:20: Cuando un ordenador pide a su ISP que haga una petición de DNS, dicho ISP cachea el resultado y está disponible para otros clientes. Y el tiempo de cacheo es configurable en el servidor origen.

  • 17:30: Problema: sin instalar librerías adicionales, Python tiene una capacidad de interacción con el DNS muy limitada. Hay que buscarse la vida.

  • 19:30: En vez de decir a través del DNS qué versión es la más moderna, lo que hacemos es permitir que el cliente confirme si su versión es la última o no. Comprobamos si el registro "HASH_MD5.md5.DOMINIO" existe o no.

  • 22:40: Ojo con los ISPs puñeteros que resuelven a sus propias IPs las resoluciones DNS inexistentes. Solución: Comprobamos que la IP resuelta sea la esperada.

  • 25:00: Firma digital por El Gamal.

  • 27:20: El actualizador no hace más descargar la versión actual (con todas las verificaciones) y luego le pasa el control. Actualizar el actualizador es "complicado" :).
  continue reading

10 episodios

Todos los episodios

×
 
Loading …

Bienvenido a Player FM!

Player FM está escaneando la web en busca de podcasts de alta calidad para que los disfrutes en este momento. Es la mejor aplicación de podcast y funciona en Android, iPhone y la web. Regístrate para sincronizar suscripciones a través de dispositivos.

 

Guia de referencia rapida