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:8080permitiendo 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.