======================================= Arquitectura de Distribución sobre IPFS ======================================= Identificadores Técnicos: [TECH-001], [TECH-002] Diagrama de Flujo del Sistema ============================= .. code-block:: text +------------------------+ +---------------------------+ | 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.