Arquitectura de Distribución sobre IPFS

Identificadores Técnicos: [TECH-001], [TECH-002]

Diagrama de Flujo del Sistema

+------------------------+      +---------------------------+
| Upstream RHEL o Fedora | ---> | Nodo Servidor MxOS        |
+------------------------+      +---------------------------+
                                              |
                                              v
                                +---------------------------+
                                | Generación de UnixFS DAG  |
                                | (ipfs add con filestore)  |
                                +---------------------------+
                                              |
                                              v
                                +---------------------------+
                                | Actualización DNSLink     |
                                | _dnslink.mirrors.mx-os.mx |
                                +---------------------------+
                                              |
                    +-------------------------+-------------------------+
                    |                                                   |
                    v                                                   v
     +-----------------------------+                     +-----------------------------+
     | Colaborador Nivel 1 (ISOs)  | <== Bitswap P2P ==> | Colaborador Nivel 2 (BaseOS)|
     | ipfs pin add /.../fedora/iso|                     | ipfs pin add /.../BaseOS    |
     +-----------------------------+                     +-----------------------------+
                    |                                                   |
                    v                                                   v
     +-----------------------------+                     +-----------------------------+
     | Gateway local (puerto 8080) |                     | Gateway local (puerto 8080) |
     +-----------------------------+                     +-----------------------------+
                    |                                                   |
                    v                                                   v
     +-----------------------------+                     +-----------------------------+
     | Cliente DNF (localhost)     |                     | Cliente DNF (localhost)     |
     +-----------------------------+                     +-----------------------------+

Componentes Principales

Demonio Kubo

  • Implementación: Kubo (Go-IPFS) versión empaquetada para Fedora/CentOS en Copr (renich/kubo).

  • Almacén de bloques: Base de datos badgerds o flatfs para alto rendimiento en lecturas aleatorias.

  • Protocolos de transporte: TCP y QUIC habilitados en el puerto 4001 para transversalidad óptima de NAT y firewalls residenciales.

  • Gateway local: Escucha en 127.0.0.1:8080 permitiendo acceso HTTP sin exponer la interfaz de control RPC (puerto 5001).

Direccionamiento UnixFS DAG

Cada repositorio se procesa como un grafo acíclico dirigido (DAG) de UnixFS v1/v2. Los archivos grandes (imágenes ISO) se fragmentan en bloques de 1 MB con funciones hash SHA-256 o BLAKE3, garantizando que si dos versiones comparten paquetes o bloques de datos idénticos, estos se dedupliquen automáticamente en el almacén global.