mirrors/docs/technical/specs/resolucion-dnslink.rst
Rénich Bon Ćirić 06a0e74ce8
fix(ops): documentar limites de memoria y eliminar pasarela de especificaciones
Incorporar drop-in limits.conf con GOMEMLIMIT=1100MiB y cgroup MemoryHigh=1400M

Documentar diagnostico de estrangulamiento cgroup v2 en procedimiento-despliegue.rst

Sustituir termino pasarela por gateway en especificaciones tecnicas y README

Depurar parentesis en plantillas HTML y generador mxos-build-index.bash

Recompilar documentacion Sphinx y README.html

Co-authored-by: Antigravity <antigravity@google.com>

Signed-off-by: Rénich Bon Ćirić <renich@evalinux.com>
2026-10-10 13:11:16 -06:00

3.3 KiB

Resolución Inmutable con DNSLink

Identificador Técnico: [TECH-003]

Fundamento

El direccionamiento directo por CID (ejemplo: /ipfs/bafy...) es inmutable; cualquier cambio en un paquete genera un nuevo CID raíz. Por su parte, el Sistema de Nombres Interplanetario tradicional (IPNS) basado en DHT experimenta una latencia de resolución prohibitiva para las consultas rápidas de metadatos de DNF.

Para solventar esta limitación, el proyecto utiliza DNSLink. DNSLink asocia un registro TXT en el sistema de nombres de dominio convencional con el CID raíz activo de IPFS.

Topología de Registros DNS

En los servidores de nombres autoritativos para el dominio mx-os.mx, se definen los siguientes registros:

; Registro raíz del portal de espejos
_dnslink.mirrors.mx-os.mx.      300 IN TXT "dnslink=/ipfs/bafyrei..."

; Registros complementarios para gateways públicos
_dnslink.ipfs.mx-os.mx.         300 IN TXT "dnslink=/ipfs/bafyrei..."
_dnslink.gateway.mx-os.mx.      300 IN TXT "dnslink=/ipfs/bafyrei..."

; Subdominios dedicados opcionales para granularidad independiente
_dnslink.fedora.mirrors.mx-os.mx. 300 IN TXT "dnslink=/ipfs/bafyfed..."
_dnslink.centos.mirrors.mx-os.mx. 300 IN TXT "dnslink=/ipfs/bafycen..."

Mecánica de Resolución en Kubo

  1. Un cliente solicita un recurso bajo la ruta /ipns/mirrors.mx-os.mx/fedora/iso o accede directamente a https://ipfs.mx-os.mx/.

  2. Kubo extrae el nombre de dominio y consulta el registro TXT de _dnslink.mirrors.mx-os.mx o _dnslink.ipfs.mx-os.mx. Por defecto, Kubo utiliza los resolutores del sistema operativo, que a su vez dependen de servidores DNS locales o de enrutadores LAN con memorias intermedias independientes.

  3. Para eliminar el desfase de caché y garantizar resolución inmediata tras cada publicación, se configura un resolvedor DNS sobre HTTPS, DoH, directo en la configuración de Kubo para el dominio mx-os.mx. Es indispensable incluir el punto final con FQDN estricto:

    ipfs config --json DNS.Resolvers '{"mx-os.mx.": "https://cloudflare-dns.com/dns-query", ".": "auto"}'
  4. El registro TXT devuelve el prefijo canónico dnslink=/ipfs/<CID_RAÍZ>.

  5. Kubo reemplaza internamente la ruta por /ipfs/<CID_RAÍZ>/fedora/iso y procede a recuperar los bloques vía Bitswap o desde la memoria local.

  6. El tiempo de vida (TTL) del registro se fija en 300 segundos (5 minutos) en la zona autoritativa gestionada mediante el script de automatización nodo/bin/mxos-dnslink-update.bash.

Para preservar la resiliencia en escenarios de fallas de DNS, censura o entornos desconectados de internet, el catálogo mantiene dos mecanismos equivalentes de direccionamiento:

  1. Resolución nominal con DNSLink: Ruta amigable /ipns/mirrors.mx-os.mx respaldada por el registro TXT en Cloudflare.

  2. Resolución criptográfica autónoma con IPNS: Ruta inmutable e independiente de DNS bajo /ipns/k51qzi5uqu5di6ed3qtnwrdlvpmfil07ib6qfzb1t259nux49jenn8my4dtg0v, firmada con la llave Ed25519 de Fundación MxOS y publicada periódicamente en la DHT de libp2p.