diff --git a/docs/contribute-overview.es.md b/docs/contribute-overview.es.md index 902b0fe..5acd774 100644 --- a/docs/contribute-overview.es.md +++ b/docs/contribute-overview.es.md @@ -1,86 +1,108 @@ -# Documentación para Contribuidores -!!! warning "This translation was generated using artificial intelligence and has not been reviewed by a human translator. It may contain inaccuracies or errors and should not be relied upon." +--- +description: Descripción general y lista de verificación de incorporación para convertirse en contribuidor de la red DoubleZero. +--- +# Documentación para Contribuidores !!! info "Terminología" ¿Nuevo en DoubleZero? Consulte el [Glosario](glossary.md) para definiciones de términos clave como [DZD](glossary.md#dzd-doublezero-device), [DZX](glossary.md#dzx-doublezero-exchange) y [CYOA](glossary.md#cyoa-choose-your-own-adventure). -Bienvenido a la documentación para contribuidores de DoubleZero. Esta sección cubre todo lo que necesita para convertirse en un contribuidor de red. +Bienvenido a la documentación para contribuidores de DoubleZero. Esta sección cubre todo lo que necesita para convertirse en un contribuidor de la red. -!!! tip "¿Interesado en convertirse en contribuidor de red?" +!!! tip "¿Interesado en convertirse en contribuidor de la red?" Revise la página de [Requisitos y Arquitectura](contribute.md) para comprender el hardware, el ancho de banda y la conectividad necesarios para contribuir a la red DoubleZero. --- ## Lista de Verificación de Incorporación -Use esta lista de verificación para hacer seguimiento de su progreso. **Todos los elementos deben estar completados antes de que su contribución sea técnicamente operativa.** +Utilice esta lista de verificación para seguir su progreso. **Todos los elementos deben completarse antes de que su contribución esté técnicamente operativa.** -### Fase 1: Requisitos Previos -- [ ] CLI DoubleZero instalada en un servidor de gestión -- [ ] Hardware adquirido y cumple los [requisitos](contribute.md#hardware-requirements) -- [ ] Espacio en rack y energía del centro de datos disponibles (4U, 4KW recomendado) +### Fase 1: Prerrequisitos +- [ ] CLI de DoubleZero instalado en un servidor de gestión +- [ ] Hardware adquirido y que cumple con los [requisitos](contribute.md#hardware-requirements) +- [ ] Espacio en rack del centro de datos y energía disponibles (ver [Rack y Energía](contribute.md#rack-power-requirements)) - [ ] DZD instalado físicamente con conectividad de gestión -- [ ] Bloque IPv4 público asignado para el protocolo DZ (**consulte las [Reglas de Prefijo DZ](#dz-prefix-rules)**) +- [ ] Bloque público de IPv4 asignado para el protocolo DZ (**ver [Reglas de Prefijos DZ](#reglas-de-prefijos-dz)**) ### Fase 2: Configuración de Cuenta + +Esta fase alterna entre el contribuidor y DZF. Cada elemento de **DZF** debe confirmarse antes de que pueda comenzar el siguiente grupo. + +**Contribuidor** + +- [ ] Nombre de usuario de GitHub enviado a DZF + +**DZF** + +- [ ] Acceso concedido al repositorio [malbeclabs/contributors](https://github.com/malbeclabs/contributors) + +**Contribuidor** + - [ ] Par de claves de servicio generado (`doublezero keygen`) -- [ ] Par de claves de editor de métricas generado -- [ ] Clave de servicio enviada a DZF para autorización -- [ ] Cuenta de contribuidor creada onchain (verificar con `doublezero contributor list`) -- [ ] Acceso otorgado al repositorio [malbeclabs/contributors](https://github.com/malbeclabs/contributors) +- [ ] Par de claves del publicador de métricas generado +- [ ] **Clave pública** de la clave de servicio enviada a DZF + +**DZF** + +- [ ] Cuenta de contribuidor creada onchain + +**Contribuidor** + +- [ ] Cuenta de contribuidor verificada (`doublezero contributor list`) +- [ ] Gestión de recompensas configurada (no bloquea la puesta en producción, **ver [Rewards Management](https://github.com/malbeclabs/contributors#rewards-management) en el repositorio de contribuidores**) ### Fase 3: Aprovisionamiento de Dispositivos - [ ] Configuración base del dispositivo aplicada (desde el repositorio de contribuidores) - [ ] Dispositivo creado onchain (`doublezero device create`) - [ ] Interfaces del dispositivo registradas -- [ ] Interfaces loopback creadas (Loopback255 vpnv4, Loopback256 ipv4) -- [ ] Interfaces CYOA/DIA configuradas (si es dispositivo de borde/híbrido) +- [ ] Interfaces de loopback creadas (Loopback255 vpnv4, Loopback256 ipv4) +- [ ] Interfaces CYOA/DIA configuradas (si es dispositivo edge/híbrido) -### Fase 4: Establecimiento de Enlace e Instalación de Agentes +### Fase 4: Establecimiento de Enlaces e Instalación de Agentes - [ ] Enlaces WAN creados (si aplica) - [ ] Enlace DZX creado (estado: `requested`) - [ ] Enlace DZX aceptado por el contribuidor par -- [ ] Agente de Configuración instalado y en ejecución -- [ ] Agente de Configuración recibiendo configuración del controlador -- [ ] Agente de Telemetría instalado y en ejecución -- [ ] Editor de métricas registrado onchain -- [ ] Presentaciones de telemetría visibles en el ledger +- [ ] Config Agent instalado y en ejecución +- [ ] Config Agent recibiendo configuración del controlador +- [ ] Telemetry Agent instalado y en ejecución +- [ ] Publicador de métricas registrado onchain +- [ ] Envíos de telemetría visibles en el ledger -### Fase 5: Rodaje del Enlace -- [ ] Todos los enlaces drenados durante un período de rodaje de 24 horas -- [ ] [metrics.doublezero.xyz](https://metrics.doublezero.xyz) muestra cero pérdidas y cero errores durante 24h -- [ ] Enlaces sin drenar después de un rodaje limpio +### Fase 5: Período de Prueba de Enlaces +- [ ] Todos los enlaces drenados durante un período de prueba de 24 horas +- [ ] El [panel de estado de enlaces](https://data.doublezero.xyz/status/links) muestra cero pérdidas y cero errores durante 24h +- [ ] Enlaces restaurados después de una prueba limpia ### Fase 6: Verificación y Activación - [ ] `doublezero device list` muestra su dispositivo (con `max_users = 0`) - [ ] `doublezero link list` muestra sus enlaces -- [ ] Los logs del Agente de Configuración muestran extracciones de configuración exitosas -- [ ] Los logs del Agente de Telemetría muestran presentaciones de métricas exitosas -- [ ] **Coordinar con DZ/Malbec Labs** para ejecutar una prueba de conectividad (conectar, recibir rutas, enrutar sobre DZ) -- [ ] Después de que la prueba pase, establecer `max_users` en 96 mediante `doublezero device update` +- [ ] Los registros del Config Agent muestran obtenciones de configuración exitosas +- [ ] Los registros del Telemetry Agent muestran envíos de métricas exitosos +- [ ] **Coordinar con DZ/Malbec Labs** para ejecutar la prueba de conectividad (conectar, recibir rutas, enrutar sobre DZ) +- [ ] Después de que la prueba pase, establecer `max_users` a 96 mediante `doublezero device update` --- ## Obtener Ayuda -Como parte de la incorporación, DZF le añadirá a los canales Slack de contribuidores: +Como parte de la incorporación, DZF lo añadirá a los canales de Slack para contribuidores: | Canal | Propósito | -|---------|---------| -| **#dz-contributor-announcements** | Comunicaciones oficiales de DZF y Malbec Labs — actualizaciones de CLI/agentes, cambios importantes, anuncios de seguridad. Monitoree para actualizaciones críticas; haga preguntas en los hilos. | -| **#dz-contributor-incidents** | Eventos no planificados que afectan el servicio. Los incidentes se publican automáticamente a través de la API/formulario web con severidad y dispositivos/enlaces afectados. La discusión y solución de problemas ocurre en los hilos. | -| **#dz-contributor-maintenance** | Actividades de mantenimiento planificadas (actualizaciones, reparaciones). Programadas a través de la API/formulario web con tiempos de inicio/fin planificados. Discusión en hilos. | +|-------|-----------| +| **#dz-contributor-announcements** | Comunicaciones oficiales de DZF y Malbec Labs — actualizaciones de CLI/agentes, cambios incompatibles, anuncios de seguridad. Monitoree para actualizaciones críticas; haga preguntas en hilos. | +| **#dz-contributor-incidents** | Eventos no planificados que impactan el servicio. Los incidentes se publican automáticamente vía la API/formulario web con severidad y dispositivos/enlaces afectados. La discusión y resolución de problemas ocurre en hilos. | +| **#dz-contributor-maintenance** | Actividades de mantenimiento planificado (actualizaciones, reparaciones). Programadas vía la API/formulario web con tiempos de inicio/fin planificados. Discusión en hilos. | | **#dz-contributor-ops** | Discusión abierta para todos los contribuidores — preguntas operativas, ayuda con CLI, compartir runbooks y playbooks. | -También recibirá un **canal privado de DZ/Malbec Labs** para soporte directo de su organización. +También obtendrá un **canal privado de DZ/Malbec Labs** para soporte directo para su organización. --- -## Reglas de Prefijo DZ +## Reglas de Prefijos DZ !!! warning "Crítico: Uso del Pool de Prefijos DZ" - El pool de prefijos DZ que proporciona es **gestionado por el protocolo DoubleZero para la asignación de IP**. + El pool de prefijos DZ que usted proporciona es **gestionado por el protocolo DoubleZero para la asignación de IPs**. **Cómo se usan los prefijos DZ:** @@ -88,43 +110,44 @@ También recibirá un **canal privado de DZ/Malbec Labs** para soporte directo d - **IPs restantes**: Asignadas a tipos específicos de usuarios que se conectan a su DZD: - Usuarios `IBRLWithAllocatedIP` - Usuarios `EdgeFiltering` - - Publicadores multicast + - Publicadores de multicast - **Usuarios IBRL**: NO consumen de este pool (usan su propia IP pública) - **NO puede usar estas direcciones para:** + **NO PUEDE usar estas direcciones para:** - - Su propio equipo de red + - Su propio equipamiento de red - Enlaces punto a punto en interfaces DIA - Interfaces de gestión - Cualquier infraestructura fuera del protocolo DZ **Requisitos:** - - Deben ser direcciones IPv4 **globalmente enrutables (públicas)** - - Los rangos de IP privados (10.x, 172.16-31.x, 192.168.x) son rechazados por el contrato inteligente - - **Tamaño mínimo: /29** (8 direcciones), se prefieren prefijos más grandes (por ejemplo, /28, /27) - - Todo el bloque debe estar disponible - no preasigne ninguna dirección + - Deben ser direcciones IPv4 **enrutables globalmente (públicas)** + - Los rangos de IP privadas (10.x, 172.16-31.x, 192.168.x) son rechazados por el contrato inteligente + - **Tamaño mínimo: /29** (8 direcciones), se prefieren prefijos más grandes (ej., /28, /27) + - El bloque completo debe estar disponible - no pre-asigne ninguna dirección - Si necesita direcciones para su propio equipo (IPs de interfaz DIA, gestión, etc.), use un **pool de direcciones separado**. + Si necesita direcciones para su propio equipamiento (IPs de interfaces DIA, gestión, etc.), use un **pool de direcciones separado**. --- ## Referencia Rápida: Términos Clave -¿Nuevo en DoubleZero? Aquí están los términos esenciales (consulte el [Glosario completo](glossary.md)): +¿Nuevo en DoubleZero? Estos son los términos esenciales (ver [Glosario completo](glossary.md)): | Término | Definición | -|------|------------| -| **DZD** | Dispositivo DoubleZero - su switch físico Arista que ejecuta los agentes DZ | -| **DZX** | Exchange DoubleZero - punto de interconexión metropolitana donde los contribuidores se conectan entre sí | -| **CYOA** | Elige Tu Propia Aventura - método de conectividad de usuarios (GREOverDIA, GREOverFabric, etc.) | -| **DIA** | Acceso Directo a Internet - conectividad a internet requerida por todos los DZDs para el controlador y la telemetría, comúnmente usado como tipo CYOA para la conectividad de usuarios en dispositivos de borde/híbridos | -| **Enlace WAN** | Enlace entre sus propios DZDs (mismo contribuidor) | -| **Enlace DZX** | Enlace al DZD de otro contribuidor (requiere aceptación mutua) | -| **Agente de Configuración** | Consulta el controlador, aplica la configuración a su DZD | -| **Agente de Telemetría** | Recopila métricas de latencia/pérdida TWAMP, las envía al ledger onchain | -| **Clave de Servicio** | Su clave de identidad de contribuidor para operaciones CLI | -| **Clave de Editor de Métricas** | Clave para firmar presentaciones de telemetría onchain | +|---------|------------| +| **DZD** | DoubleZero Device - su switch Arista físico ejecutando agentes DZ | +| **DZX** | DoubleZero Exchange - punto de interconexión metropolitano donde los contribuidores establecen peering | +| **CYOA** | Choose Your Own Adventure - método de conectividad del usuario (GREOverDIA, GREOverFabric, etc.) | +| **DIA** | Direct Internet Access - conectividad a internet requerida por todos los DZDs para el controlador y la telemetría, comúnmente utilizada como tipo CYOA para la conectividad de usuarios en dispositivos edge/híbridos | +| **WAN Link** | Enlace entre sus propios DZDs (mismo contribuidor) | +| **DZX Link** | Enlace al DZD de otro contribuidor (requiere aceptación mutua) | +| **Config Agent** | Consulta al controlador y aplica la configuración a su DZD | +| **Telemetry Agent** | Recopila métricas de latencia/pérdida TWAMP, las envía al ledger onchain | +| **Service Key** | Su clave de identidad de contribuidor para operaciones con CLI | +| **Metrics Publisher Key** | Clave para firmar envíos de telemetría onchain | +| **Rewards Manager Key** | Clave que controla qué wallets reciben sus recompensas (ver el repositorio de contribuidores) | --- @@ -133,27 +156,28 @@ También recibirá un **canal privado de DZ/Malbec Labs** para soporte directo d ## Estructura de la Documentación | Guía | Descripción | -|-------|-------------| +|------|-------------| | [Requisitos y Arquitectura](contribute.md) | Especificaciones de hardware, arquitectura de red, opciones de ancho de banda | -| [Aprovisionamiento de Dispositivos](contribute-provisioning.md) | Paso a paso: claves → acceso al repositorio → dispositivo → enlaces → agentes | -| [Operaciones](contribute-operations.md) | Actualizaciones de agentes, gestión de enlaces, monitoreo | -| [Glosario](glossary.md) | Toda la terminología DoubleZero definida | +| [Aprovisionamiento de Dispositivos](contribute-provisioning.md) | Paso a paso: acceso al repositorio → claves → dispositivo → enlaces → agentes | +| [Operaciones](contribute-operations.md) | Actualización de agentes, gestión de enlaces, monitoreo | +| [Despliegue de Geoprobe](contribute-geolocation.md) | Despliegue y configuración de agentes geoProbe para geolocalización | +| [Glosario](glossary.md) | Toda la terminología de DoubleZero definida | --- -## Conceptos de Red para No Ingenieros de Red +## Conceptos Básicos de Redes para No Ingenieros de Redes -Si no tiene experiencia en ingeniería de redes, aquí hay una introducción a los conceptos utilizados en esta documentación: +Si no proviene de un contexto de ingeniería de redes, aquí tiene una introducción a los conceptos utilizados en esta documentación: ### Direccionamiento IP -- **Dirección IPv4**: Un identificador único para un dispositivo en una red (por ejemplo, `192.168.1.1`) +- **Dirección IPv4**: Un identificador único para un dispositivo en una red (ej., `192.168.1.1`) - **Notación CIDR** (`/29`, `/24`): Indica el tamaño de la subred. `/29` = 8 direcciones, `/24` = 256 direcciones -- **IP pública**: Enrutable en internet; **IP privada**: Solo redes internas (10.x, 172.16-31.x, 192.168.x) +- **IP Pública**: Enrutable en internet; **IP Privada**: Solo redes internas (10.x, 172.16-31.x, 192.168.x) ### Capas de Red -- **Capa 1 (Física)**: Cables, óptica, longitudes de onda +- **Capa 1 (Física)**: Cables, ópticas, longitudes de onda - **Capa 2 (Enlace de Datos)**: Switches, VLANs, direcciones MAC - **Capa 3 (Red)**: Routers, direcciones IP, protocolos de enrutamiento @@ -161,16 +185,16 @@ Si no tiene experiencia en ingeniería de redes, aquí hay una introducción a l - **MTU**: Unidad Máxima de Transmisión - tamaño máximo de paquete (típicamente 9000 bytes para enlaces WAN) - **VLAN**: LAN Virtual - separa lógicamente el tráfico en infraestructura compartida -- **VRF**: Enrutamiento y Reenvío Virtual - aísla tablas de enrutamiento en el mismo dispositivo -- **BGP**: Protocolo de Puerta de Enlace de Borde - intercambio de rutas entre redes -- **GRE**: Encapsulación de Enrutamiento Genérico - protocolo de tunelización para redes superpuestas -- **TWAMP**: Protocolo de Medición Activa Bidireccional - mide latencia/pérdida entre dispositivos +- **VRF**: Virtual Routing and Forwarding - aísla tablas de enrutamiento en el mismo dispositivo +- **BGP**: Border Gateway Protocol - intercambio de rutas entre redes +- **GRE**: Generic Routing Encapsulation - protocolo de tunelización para redes overlay +- **TWAMP**: Two-Way Active Measurement Protocol - mide latencia/pérdida entre dispositivos ### Específico de DoubleZero -- **Onchain**: En DoubleZero, los registros de dispositivos, las configuraciones de enlaces y la telemetría se registran en el ledger DoubleZero, haciendo que el estado de la red sea transparente y verificable por todos los participantes -- **Controlador**: Servicio que deriva la configuración de DZD a partir del estado onchain en el ledger DoubleZero +- **Onchain**: En DoubleZero, los registros de dispositivos, las configuraciones de enlaces y la telemetría se registran en el ledger de DoubleZero — haciendo que el estado de la red sea transparente y verificable por todos los participantes +- **Controlador**: Servicio que deriva la configuración del DZD a partir del estado onchain en el ledger de DoubleZero --- -¿Listo para comenzar? Empiece con [Requisitos y Arquitectura](contribute.md). +¿Listo para comenzar? Comience con [Requisitos y Arquitectura](contribute.md). \ No newline at end of file diff --git a/docs/contribute-overview.fr.md b/docs/contribute-overview.fr.md index b799d74..d819fcb 100644 --- a/docs/contribute-overview.fr.md +++ b/docs/contribute-overview.fr.md @@ -1,176 +1,200 @@ -# Documentation Contributeur -!!! warning "This translation was generated using artificial intelligence and has not been reviewed by a human translator. It may contain inaccuracies or errors and should not be relied upon." +--- +description: Vue d'ensemble et checklist d'intégration pour devenir contributeur au réseau DoubleZero. +--- +# Documentation Contributeur !!! info "Terminologie" Nouveau sur DoubleZero ? Consultez le [Glossaire](glossary.md) pour les définitions des termes clés comme [DZD](glossary.md#dzd-doublezero-device), [DZX](glossary.md#dzx-doublezero-exchange) et [CYOA](glossary.md#cyoa-choose-your-own-adventure). -Bienvenue dans la documentation des contributeurs DoubleZero. Cette section couvre tout ce dont vous avez besoin pour devenir un contributeur réseau. +Bienvenue dans la documentation contributeur DoubleZero. Cette section couvre tout ce dont vous avez besoin pour devenir contributeur au réseau. -!!! tip "Intéressé à devenir un contributeur réseau ?" - Consultez la page [Exigences et Architecture](contribute.md) pour comprendre le matériel, la bande passante et la connectivité nécessaires pour contribuer au réseau DoubleZero. +!!! tip "Intéressé pour devenir contributeur au réseau ?" + Consultez la page [Exigences & Architecture](contribute.md) pour comprendre le matériel, la bande passante et la connectivité nécessaires pour contribuer au réseau DoubleZero. --- -## Checklist d'Intégration +## Checklist d'intégration Utilisez cette checklist pour suivre votre progression. **Tous les éléments doivent être complétés avant que votre contribution soit techniquement opérationnelle.** ### Phase 1 : Prérequis -- [ ] CLI DoubleZero installée sur un serveur de gestion -- [ ] Matériel procuré et conforme aux [exigences](contribute.md#hardware-requirements) -- [ ] Espace rack et alimentation disponibles en centre de données (4U, 4KW recommandé) +- [ ] CLI DoubleZero installé sur un serveur de gestion +- [ ] Matériel acquis et conforme aux [exigences](contribute.md#hardware-requirements) +- [ ] Espace rack et alimentation disponibles dans le centre de données (voir [Rack & Alimentation](contribute.md#rack-power-requirements)) - [ ] DZD physiquement installé avec connectivité de gestion -- [ ] Bloc IPv4 public alloué pour le protocole DZ (**voir [Règles du Préfixe DZ](#dz-prefix-rules)**) +- [ ] Bloc IPv4 public alloué pour le protocole DZ (**voir [Règles des préfixes DZ](#dz-prefix-rules)**) + +### Phase 2 : Configuration du compte + +Cette phase alterne entre le contributeur et DZF. Chaque élément **DZF** doit être confirmé avant que le groupe suivant puisse commencer. + +**Contributeur** + +- [ ] Nom d'utilisateur GitHub envoyé à DZF + +**DZF** -### Phase 2 : Configuration du Compte -- [ ] Keypair de service générée (`doublezero keygen`) -- [ ] Keypair d'éditeur de métriques générée -- [ ] Clé de service soumise à DZF pour autorisation -- [ ] Compte contributeur créé on-chain (vérifier avec `doublezero contributor list`) - [ ] Accès accordé au dépôt [malbeclabs/contributors](https://github.com/malbeclabs/contributors) -### Phase 3 : Provisionnement du Dispositif -- [ ] Configuration de base du dispositif appliquée (depuis le dépôt contributeurs) -- [ ] Dispositif créé on-chain (`doublezero device create`) -- [ ] Interfaces du dispositif enregistrées +**Contributeur** + +- [ ] Paire de clés de service générée (`doublezero keygen`) +- [ ] Paire de clés de publication de métriques générée +- [ ] **Clé publique** de la clé de service envoyée à DZF + +**DZF** + +- [ ] Compte contributeur créé onchain + +**Contributeur** + +- [ ] Compte contributeur vérifié (`doublezero contributor list`) +- [ ] Gestion des récompenses configurée (ne bloque pas la mise en production, **voir [Rewards Management](https://github.com/malbeclabs/contributors#rewards-management) dans le dépôt contributors**) + +### Phase 3 : Provisionnement de l'appareil +- [ ] Configuration de base de l'appareil appliquée (depuis le dépôt contributors) +- [ ] Appareil créé onchain (`doublezero device create`) +- [ ] Interfaces de l'appareil enregistrées - [ ] Interfaces loopback créées (Loopback255 vpnv4, Loopback256 ipv4) -- [ ] Interfaces CYOA/DIA configurées (si dispositif edge/hybride) +- [ ] Interfaces CYOA/DIA configurées (si appareil edge/hybride) -### Phase 4 : Établissement des Liens & Installation des Agents -- [ ] Liens WAN créés (le cas échéant) +### Phase 4 : Établissement des liens & Installation de l'agent +- [ ] Liens WAN créés (si applicable) - [ ] Lien DZX créé (statut : `requested`) - [ ] Lien DZX accepté par le contributeur pair - [ ] Config Agent installé et en cours d'exécution - [ ] Config Agent recevant la configuration du contrôleur - [ ] Telemetry Agent installé et en cours d'exécution -- [ ] Éditeur de métriques enregistré on-chain +- [ ] Publication de métriques enregistrée onchain - [ ] Soumissions de télémétrie visibles sur le registre -### Phase 5 : Burn-in du Lien -- [ ] Tous les liens drainés pendant la période de burn-in de 24 heures -- [ ] [metrics.doublezero.xyz](https://metrics.doublezero.xyz) montre zéro perte et zéro erreur pendant 24h -- [ ] Liens non drainés après un burn-in propre +### Phase 5 : Rodage des liens +- [ ] Tous les liens drainés pour une période de rodage de 24 heures +- [ ] Le [tableau de bord de statut des liens](https://data.doublezero.xyz/status/links) affiche zéro perte et zéro erreur pendant 24h +- [ ] Liens dédrainés après un rodage propre ### Phase 6 : Vérification & Activation -- [ ] `doublezero device list` affiche votre dispositif (avec `max_users = 0`) +- [ ] `doublezero device list` affiche votre appareil (avec `max_users = 0`) - [ ] `doublezero link list` affiche vos liens - [ ] Les logs du Config Agent montrent des récupérations de configuration réussies - [ ] Les logs du Telemetry Agent montrent des soumissions de métriques réussies -- [ ] **Coordonner avec DZ/Malbec Labs** pour exécuter un test de connectivité (connexion, réception des routes, routage sur DZ) -- [ ] Après que le test est réussi, définir `max_users` à 96 via `doublezero device update` +- [ ] **Coordonner avec DZ/Malbec Labs** pour exécuter un test de connectivité (connexion, réception des routes, routage via DZ) +- [ ] Après la réussite du test, définir `max_users` à 96 via `doublezero device update` --- -## Obtenir de l'Aide +## Obtenir de l'aide -Dans le cadre de l'intégration, DZF vous ajoutera aux canaux Slack des contributeurs : +Dans le cadre de l'intégration, DZF vous ajoutera aux canaux Slack contributeurs : | Canal | Objectif | -|---------|---------| -| **#dz-contributor-announcements** | Communications officielles de DZF et Malbec Labs — mises à niveau CLI/agent, changements majeurs, annonces de sécurité. Surveiller pour les mises à jour critiques ; poser des questions dans les fils de discussion. | -| **#dz-contributor-incidents** | Événements imprévus ayant un impact sur le service. Les incidents sont publiés automatiquement via l'API/formulaire web avec la gravité et les dispositifs/liens affectés. Discussion et résolution de problèmes dans les fils de discussion. | +|-------|----------| +| **#dz-contributor-announcements** | Communications officielles de DZF et Malbec Labs — mises à jour CLI/agent, changements incompatibles, annonces de sécurité. Surveillez les mises à jour critiques ; posez vos questions dans les fils de discussion. | +| **#dz-contributor-incidents** | Événements imprévus impactant le service. Les incidents sont publiés automatiquement via l'API/formulaire web avec la sévérité et les appareils/liens affectés. La discussion et le dépannage se font dans les fils de discussion. | | **#dz-contributor-maintenance** | Activités de maintenance planifiées (mises à niveau, réparations). Planifiées via l'API/formulaire web avec les heures de début/fin prévues. Discussion dans les fils de discussion. | -| **#dz-contributor-ops** | Discussion ouverte pour tous les contributeurs — questions opérationnelles, aide CLI, partage de runbooks et de playbooks. | +| **#dz-contributor-ops** | Discussion ouverte pour tous les contributeurs — questions opérationnelles, aide CLI, partage de runbooks et playbooks. | -Vous obtiendrez également un **canal privé DZ/Malbec Labs** pour le support direct de votre organisation. +Vous recevrez également un **canal privé DZ/Malbec Labs** pour le support direct de votre organisation. --- -## Règles du Préfixe DZ +## Règles des préfixes DZ -!!! warning "Critique : Utilisation du Pool de Préfixes DZ" - Le pool de préfixes DZ que vous fournissez est **géré par le protocole DoubleZero pour l'allocation IP**. +!!! warning "Critique : Utilisation du pool de préfixes DZ" + Le pool de préfixes DZ que vous fournissez est **géré par le protocole DoubleZero pour l'allocation d'adresses IP**. **Comment les préfixes DZ sont utilisés :** - - **Premier IP** : Réservé pour votre dispositif (attribué à l'interface Loopback100) - - **IP Restants** : Alloués à des types d'utilisateurs spécifiques se connectant à votre DZD : + - **Première IP** : Réservée pour votre appareil (assignée à l'interface Loopback100) + - **IPs restantes** : Allouées à des types d'utilisateurs spécifiques se connectant à votre DZD : - Utilisateurs `IBRLWithAllocatedIP` - Utilisateurs `EdgeFiltering` - Éditeurs multicast - - **Utilisateurs IBRL** : N'utilisent PAS ce pool (ils utilisent leur propre IP public) + - **Utilisateurs IBRL** : Ne consomment PAS de ce pool (ils utilisent leur propre IP publique) **Vous NE POUVEZ PAS utiliser ces adresses pour :** - Votre propre équipement réseau - - Liens point à point sur les interfaces DIA - - Interfaces de gestion + - Les liens point-à-point sur les interfaces DIA + - Les interfaces de gestion - Toute infrastructure en dehors du protocole DZ **Exigences :** - - Doivent être des adresses IPv4 **globalement routables (publiques)** - - Les plages IP privées (10.x, 172.16-31.x, 192.168.x) sont rejetées par le contrat intelligent - - **Taille minimale : /29** (8 adresses), préfixes plus grands préférés (p. ex., /28, /27) - - Le bloc entier doit être disponible - ne pas pré-allouer d'adresses + - Doivent être des adresses IPv4 **routables globalement (publiques)** + - Les plages d'IP privées (10.x, 172.16-31.x, 192.168.x) sont rejetées par le smart contract + - **Taille minimale : /29** (8 adresses), les préfixes plus grands sont préférés (ex. /28, /27) + - Le bloc entier doit être disponible — ne pré-allouez aucune adresse - Si vous avez besoin d'adresses pour votre propre équipement (IP d'interface DIA, gestion, etc.), utilisez un **pool d'adresses séparé**. + Si vous avez besoin d'adresses pour votre propre équipement (IPs d'interface DIA, gestion, etc.), utilisez un **pool d'adresses séparé**. --- -## Référence Rapide : Termes Clés +## Référence rapide : Termes clés Nouveau sur DoubleZero ? Voici les termes essentiels (voir le [Glossaire complet](glossary.md)) : | Terme | Définition | -|------|------------| -| **DZD** | DoubleZero Device - votre commutateur Arista physique exécutant les agents DZ | -| **DZX** | DoubleZero Exchange - point d'interconnexion métropolitain où les contributeurs font du peering | +|-------|------------| +| **DZD** | DoubleZero Device - votre switch physique Arista exécutant les agents DZ | +| **DZX** | DoubleZero Exchange - point d'interconnexion métropolitain où les contributeurs s'appairent | | **CYOA** | Choose Your Own Adventure - méthode de connectivité utilisateur (GREOverDIA, GREOverFabric, etc.) | -| **DIA** | Direct Internet Access - connectivité internet requise par tous les DZD pour le contrôleur et la télémétrie, couramment utilisée comme type CYOA pour la connectivité utilisateur sur les dispositifs edge/hybrides | -| **Lien WAN** | Lien entre vos propres DZD (même contributeur) | -| **Lien DZX** | Lien vers le DZD d'un autre contributeur (nécessite une acceptation mutuelle) | +| **DIA** | Direct Internet Access - connectivité internet requise par tous les DZDs pour le contrôleur et la télémétrie, couramment utilisé comme type CYOA pour la connectivité utilisateur sur les appareils edge/hybrides | +| **WAN Link** | Lien entre vos propres DZDs (même contributeur) | +| **DZX Link** | Lien vers le DZD d'un autre contributeur (nécessite une acceptation mutuelle) | | **Config Agent** | Interroge le contrôleur, applique la configuration à votre DZD | -| **Telemetry Agent** | Collecte les métriques de latence/perte TWAMP, soumet au registre on-chain | -| **Clé de Service** | Votre clé d'identité de contributeur pour les opérations CLI | -| **Clé d'Éditeur de Métriques** | Clé pour signer les soumissions de télémétrie on-chain | +| **Telemetry Agent** | Collecte les métriques de latence/perte TWAMP, les soumet au registre onchain | +| **Service Key** | Votre clé d'identité contributeur pour les opérations CLI | +| **Metrics Publisher Key** | Clé pour signer les soumissions de télémétrie onchain | +| **Rewards Manager Key** | Clé qui contrôle quels portefeuilles reçoivent vos récompenses (voir le dépôt contributors) | --- --- -## Structure de la Documentation +## Structure de la documentation | Guide | Description | |-------|-------------| -| [Exigences et Architecture](contribute.md) | Spécifications matérielles, architecture réseau, options de bande passante | -| [Provisionnement des Dispositifs](contribute-provisioning.md) | Étape par étape : clés → accès au dépôt → dispositif → liens → agents | -| [Opérations](contribute-operations.md) | Mises à niveau des agents, gestion des liens, surveillance | +| [Exigences & Architecture](contribute.md) | Spécifications matérielles, architecture réseau, options de bande passante | +| [Provisionnement de l'appareil](contribute-provisioning.md) | Étape par étape : accès au dépôt → clés → appareil → liens → agents | +| [Opérations](contribute-operations.md) | Mises à jour des agents, gestion des liens, surveillance | +| [Déploiement de Geoprobe](contribute-geolocation.md) | Déploiement et configuration des agents geoProbe pour la géolocalisation | | [Glossaire](glossary.md) | Toute la terminologie DoubleZero définie | --- -## Bases du Réseau pour les Non-Ingénieurs Réseau +## Notions de base réseau pour les non-ingénieurs réseau -Si vous n'avez pas de formation en ingénierie réseau, voici une introduction aux concepts utilisés dans cette documentation : +Si vous ne venez pas d'un milieu d'ingénierie réseau, voici une introduction aux concepts utilisés dans cette documentation : ### Adressage IP -- **Adresse IPv4** : Un identifiant unique pour un dispositif sur un réseau (p. ex., `192.168.1.1`) +- **Adresse IPv4** : Un identifiant unique pour un appareil sur un réseau (ex. `192.168.1.1`) - **Notation CIDR** (`/29`, `/24`) : Indique la taille du sous-réseau. `/29` = 8 adresses, `/24` = 256 adresses -- **IP Public** : Routable sur internet ; **IP Privé** : Réseaux internes uniquement (10.x, 172.16-31.x, 192.168.x) +- **IP publique** : Routable sur internet ; **IP privée** : Réseaux internes uniquement (10.x, 172.16-31.x, 192.168.x) -### Couches Réseau +### Couches réseau - **Couche 1 (Physique)** : Câbles, optiques, longueurs d'onde -- **Couche 2 (Liaison de Données)** : Commutateurs, VLANs, adresses MAC +- **Couche 2 (Liaison de données)** : Switches, VLANs, adresses MAC - **Couche 3 (Réseau)** : Routeurs, adresses IP, protocoles de routage -### Termes Courants +### Termes courants -- **MTU** : Maximum Transmission Unit - taille maximale des paquets (typiquement 9000 octets pour les liens WAN) +- **MTU** : Maximum Transmission Unit - taille maximale de paquet (typiquement 9000 octets pour les liens WAN) - **VLAN** : Virtual LAN - sépare logiquement le trafic sur une infrastructure partagée -- **VRF** : Virtual Routing and Forwarding - isole les tables de routage sur le même dispositif -- **BGP** : Border Gateway Protocol - échange de routes inter-réseau +- **VRF** : Virtual Routing and Forwarding - isole les tables de routage sur un même appareil +- **BGP** : Border Gateway Protocol - échange de routes inter-réseaux - **GRE** : Generic Routing Encapsulation - protocole de tunneling pour les réseaux overlay -- **TWAMP** : Two-Way Active Measurement Protocol - mesure la latence/perte entre les dispositifs +- **TWAMP** : Two-Way Active Measurement Protocol - mesure la latence/perte entre les appareils ### Spécifique à DoubleZero -- **On-chain** : Dans DoubleZero, les enregistrements de dispositifs, les configurations de liens et la télémétrie sont enregistrés sur le registre DoubleZero — rendant l'état du réseau transparent et vérifiable par tous les participants -- **Contrôleur** : Service qui dérive la configuration DZD à partir de l'état on-chain sur le registre DoubleZero +- **Onchain** : Dans DoubleZero, les enregistrements d'appareils, les configurations de liens et la télémétrie sont enregistrés sur le registre DoubleZero — rendant l'état du réseau transparent et vérifiable par tous les participants +- **Contrôleur** : Service qui dérive la configuration DZD à partir de l'état onchain sur le registre DoubleZero --- -Prêt à commencer ? Commencez par [Exigences et Architecture](contribute.md). +Prêt à commencer ? Débutez avec [Exigences & Architecture](contribute.md). \ No newline at end of file diff --git a/docs/contribute-overview.it.md b/docs/contribute-overview.it.md index b3672d7..ded3b96 100644 --- a/docs/contribute-overview.it.md +++ b/docs/contribute-overview.it.md @@ -1,100 +1,122 @@ -# Documentazione Contributori -!!! warning "This translation was generated using artificial intelligence and has not been reviewed by a human translator. It may contain inaccuracies or errors and should not be relied upon." +--- +description: Panoramica e checklist di onboarding per diventare un contributore della rete DoubleZero. +--- +# Documentazione per i Contributori !!! info "Terminologia" - Nuovo a DoubleZero? Consulta il [Glossario](glossary.md) per le definizioni dei termini chiave come [DZD](glossary.md#dzd-doublezero-device), [DZX](glossary.md#dzx-doublezero-exchange) e [CYOA](glossary.md#cyoa-choose-your-own-adventure). + Nuovo su DoubleZero? Consulta il [Glossario](glossary.md) per le definizioni dei termini chiave come [DZD](glossary.md#dzd-doublezero-device), [DZX](glossary.md#dzx-doublezero-exchange) e [CYOA](glossary.md#cyoa-choose-your-own-adventure). -Benvenuto alla documentazione per i contributori DoubleZero. Questa sezione copre tutto ciò di cui hai bisogno per diventare un contributore di rete. +Benvenuto nella documentazione per i contributori di DoubleZero. Questa sezione copre tutto ciò che serve per diventare un contributore della rete. -!!! tip "Interessato a diventare un contributore di rete?" - Consulta la pagina [Requisiti e Architettura](contribute.md) per comprendere l'hardware, la larghezza di banda e la connettività necessaria per contribuire alla rete DoubleZero. +!!! tip "Interessato a diventare un contributore della rete?" + Consulta la pagina [Requisiti e Architettura](contribute.md) per comprendere l'hardware, la larghezza di banda e la connettività necessari per contribuire alla rete DoubleZero. --- -## Lista di Controllo per l'Onboarding +## Checklist di Onboarding -Usa questa lista di controllo per monitorare i tuoi progressi. **Tutti gli elementi devono essere completati prima che il tuo contributo sia tecnicamente operativo.** +Usa questa checklist per monitorare i tuoi progressi. **Tutti i punti devono essere completati prima che il tuo contributo sia tecnicamente operativo.** ### Fase 1: Prerequisiti -- [ ] CLI DoubleZero installata su un server di gestione +- [ ] DoubleZero CLI installata su un server di gestione - [ ] Hardware acquistato e conforme ai [requisiti](contribute.md#hardware-requirements) -- [ ] Spazio rack e alimentazione disponibili nel data center (4U, 4KW raccomandati) -- [ ] DZD installato fisicamente con connettività di gestione -- [ ] Blocco IPv4 pubblico allocato per il protocollo DZ (**vedi [Regole DZ Prefix](#dz-prefix-rules)**) +- [ ] Spazio rack e alimentazione disponibili nel data center (vedi [Rack e Alimentazione](contribute.md#rack-power-requirements)) +- [ ] DZD fisicamente installato con connettività di gestione +- [ ] Blocco IPv4 pubblico allocato per il protocollo DZ (**vedi [Regole sui Prefissi DZ](#regole-sui-prefissi-dz)**) ### Fase 2: Configurazione Account -- [ ] Keypair del servizio generato (`doublezero keygen`) -- [ ] Keypair del metrics publisher generato -- [ ] Service key inviata a DZF per l'autorizzazione -- [ ] Account contributore creato onchain (verifica con `doublezero contributor list`) + +Questa fase alterna tra il contributore e DZF. Ogni elemento **DZF** deve essere confermato prima che il gruppo successivo possa iniziare. + +**Contributore** + +- [ ] Nome utente GitHub inviato a DZF + +**DZF** + - [ ] Accesso concesso al repository [malbeclabs/contributors](https://github.com/malbeclabs/contributors) +**Contributore** + +- [ ] Coppia di chiavi di servizio generata (`doublezero keygen`) +- [ ] Coppia di chiavi del publisher delle metriche generata +- [ ] **Chiave pubblica** della chiave di servizio inviata a DZF + +**DZF** + +- [ ] Account contributore creato onchain + +**Contributore** + +- [ ] Account contributore verificato (`doublezero contributor list`) +- [ ] Gestione delle ricompense configurata (non blocca l'attivazione, **vedi [Rewards Management](https://github.com/malbeclabs/contributors#rewards-management) nel repository dei contributori**) + ### Fase 3: Provisioning del Dispositivo -- [ ] Configurazione base del dispositivo applicata (dal repository dei contributori) +- [ ] Configurazione base del dispositivo applicata (dal repo dei contributori) - [ ] Dispositivo creato onchain (`doublezero device create`) - [ ] Interfacce del dispositivo registrate - [ ] Interfacce loopback create (Loopback255 vpnv4, Loopback256 ipv4) -- [ ] Interfacce CYOA/DIA configurate (se dispositivo edge/hybrid) +- [ ] Interfacce CYOA/DIA configurate (se dispositivo edge/ibrido) -### Fase 4: Creazione Link e Installazione Agent -- [ ] WAN link creati (se applicabile) -- [ ] DZX link creato (stato: `requested`) -- [ ] DZX link accettato dal contributore peer +### Fase 4: Attivazione dei Link e Installazione degli Agent +- [ ] Link WAN creati (se applicabile) +- [ ] Link DZX creato (stato: `requested`) +- [ ] Link DZX accettato dal contributore peer - [ ] Config Agent installato e in esecuzione - [ ] Config Agent che riceve la configurazione dal controller - [ ] Telemetry Agent installato e in esecuzione -- [ ] Metrics publisher registrato onchain -- [ ] Invii di telemetria visibili sul registro +- [ ] Publisher delle metriche registrato onchain +- [ ] Invii di telemetria visibili sul ledger -### Fase 5: Burn-in del Link -- [ ] Tutti i link drenati per il periodo di burn-in di 24 ore -- [ ] [metrics.doublezero.xyz](https://metrics.doublezero.xyz) mostra zero perdite e zero errori per 24 ore -- [ ] Link ri-attivati dopo il burn-in pulito +### Fase 5: Burn-in dei Link +- [ ] Tutti i link in drain per un periodo di burn-in di 24 ore +- [ ] La [dashboard dello stato dei link](https://data.doublezero.xyz/status/links) mostra zero perdite e zero errori per 24h +- [ ] Link riattivati dopo un burn-in pulito ### Fase 6: Verifica e Attivazione - [ ] `doublezero device list` mostra il tuo dispositivo (con `max_users = 0`) - [ ] `doublezero link list` mostra i tuoi link - [ ] I log del Config Agent mostrano pull di configurazione riusciti - [ ] I log del Telemetry Agent mostrano invii di metriche riusciti -- [ ] **Coordina con DZ/Malbec Labs** per eseguire un test di connettività (connetti, ricevi route, instrada su DZ) -- [ ] Dopo che il test è superato, imposta `max_users` a 96 tramite `doublezero device update` +- [ ] **Coordinamento con DZ/Malbec Labs** per eseguire il test di connettività (connessione, ricezione rotte, instradamento su DZ) +- [ ] Dopo il superamento del test, impostare `max_users` a 96 tramite `doublezero device update` --- -## Ottenere Aiuto +## Ottenere Supporto Come parte dell'onboarding, DZF ti aggiungerà ai canali Slack per i contributori: | Canale | Scopo | |--------|-------| -| **#dz-contributor-announcements** | Comunicazioni ufficiali da DZF e Malbec Labs — aggiornamenti CLI/agent, modifiche importanti, annunci di sicurezza. Monitora per aggiornamenti critici; fai domande nei thread. | -| **#dz-contributor-incidents** | Eventi non pianificati che impattano il servizio. Gli incidenti vengono pubblicati automaticamente tramite API/web form con gravità e dispositivi/link interessati. La discussione e la risoluzione dei problemi avvengono nei thread. | -| **#dz-contributor-maintenance** | Attività di manutenzione pianificate (aggiornamenti, riparazioni). Pianificate tramite API/web form con orari di inizio/fine previsti. Discussione nei thread. | -| **#dz-contributor-ops** | Discussione aperta per tutti i contributori — domande operative, aiuto CLI, condivisione di runbook e playbook. | +| **#dz-contributor-announcements** | Comunicazioni ufficiali da DZF e Malbec Labs — aggiornamenti CLI/agent, breaking change, annunci di sicurezza. Monitora per aggiornamenti critici; fai domande nei thread. | +| **#dz-contributor-incidents** | Eventi non pianificati con impatto sul servizio. Gli incidenti vengono pubblicati automaticamente tramite API/modulo web con severità e dispositivi/link interessati. Discussione e risoluzione nei thread. | +| **#dz-contributor-maintenance** | Attività di manutenzione pianificata (aggiornamenti, riparazioni). Programmate tramite API/modulo web con orari di inizio/fine pianificati. Discussione nei thread. | +| **#dz-contributor-ops** | Discussione aperta per tutti i contributori — domande operative, aiuto con la CLI, condivisione di runbook e playbook. | -Riceverai anche un **canale privato DZ/Malbec Labs** per supporto diretto alla tua organizzazione. +Riceverai anche un **canale privato DZ/Malbec Labs** per il supporto diretto alla tua organizzazione. --- -## Regole DZ Prefix +## Regole sui Prefissi DZ -!!! warning "Critico: Utilizzo del Pool DZ Prefix" - Il pool di DZ prefix che fornisci è **gestito dal protocollo DoubleZero per l'allocazione IP**. +!!! warning "Critico: Utilizzo del Pool di Prefissi DZ" + Il pool di prefissi DZ che fornisci è **gestito dal protocollo DoubleZero per l'allocazione degli IP**. - **Come vengono utilizzati i DZ prefix:** + **Come vengono utilizzati i prefissi DZ:** - **Primo IP**: Riservato al tuo dispositivo (assegnato all'interfaccia Loopback100) - **IP rimanenti**: Allocati a tipi specifici di utenti che si connettono al tuo DZD: - Utenti `IBRLWithAllocatedIP` - Utenti `EdgeFiltering` - Publisher multicast - - **Utenti IBRL**: NON consumano da questo pool (usano il proprio IP pubblico) + - **Utenti IBRL**: NON consumano da questo pool (utilizzano il proprio IP pubblico) - **NON puoi usare questi indirizzi per:** + **NON puoi utilizzare questi indirizzi per:** - Le tue apparecchiature di rete - - Link punto-a-punto su interfacce DIA + - Link punto-punto sulle interfacce DIA - Interfacce di gestione - Qualsiasi infrastruttura al di fuori del protocollo DZ @@ -102,29 +124,30 @@ Riceverai anche un **canale privato DZ/Malbec Labs** per supporto diretto alla t - Devono essere indirizzi IPv4 **globalmente instradabili (pubblici)** - Gli intervalli IP privati (10.x, 172.16-31.x, 192.168.x) vengono rifiutati dallo smart contract - - **Dimensione minima: /29** (8 indirizzi), preferibili prefissi più grandi (es. /28, /27) + - **Dimensione minima: /29** (8 indirizzi), prefissi più grandi preferibili (es. /28, /27) - L'intero blocco deve essere disponibile - non pre-allocare alcun indirizzo - Se hai bisogno di indirizzi per le tue apparecchiature (IP interfacce DIA, gestione, ecc.), usa un **pool di indirizzi separato**. + Se hai bisogno di indirizzi per le tue apparecchiature (IP interfaccia DIA, gestione, ecc.), utilizza un **pool di indirizzi separato**. --- ## Riferimento Rapido: Termini Chiave -Nuovo a DoubleZero? Ecco i termini essenziali (vedi il [Glossario completo](glossary.md)): +Nuovo su DoubleZero? Ecco i termini essenziali (vedi il [Glossario completo](glossary.md)): | Termine | Definizione | |---------|-------------| -| **DZD** | DoubleZero Device - il tuo switch fisico Arista che esegue gli agenti DZ | -| **DZX** | DoubleZero Exchange - punto di interconnessione metro dove i contributori si collegano | +| **DZD** | DoubleZero Device - il tuo switch fisico Arista che esegue gli agent DZ | +| **DZX** | DoubleZero Exchange - punto di interconnessione metropolitano dove i contributori si interconnettono | | **CYOA** | Choose Your Own Adventure - metodo di connettività utente (GREOverDIA, GREOverFabric, ecc.) | -| **DIA** | Direct Internet Access - connettività internet richiesta da tutti i DZD per controller e telemetria, comunemente usata come tipo CYOA per la connettività utente su dispositivi edge/hybrid | +| **DIA** | Direct Internet Access - connettività internet richiesta da tutti i DZD per controller e telemetria, comunemente usata come tipo CYOA per la connettività utente su dispositivi edge/ibridi | | **WAN Link** | Link tra i tuoi DZD (stesso contributore) | | **DZX Link** | Link verso il DZD di un altro contributore (richiede accettazione reciproca) | | **Config Agent** | Interroga il controller, applica la configurazione al tuo DZD | -| **Telemetry Agent** | Raccoglie metriche di latenza/perdita TWAMP, le invia al registro onchain | +| **Telemetry Agent** | Raccoglie metriche di latenza/perdita TWAMP, le invia al ledger onchain | | **Service Key** | La tua chiave di identità contributore per le operazioni CLI | -| **Metrics Publisher Key** | Chiave per firmare gli invii di telemetria onchain | +| **Metrics Publisher Key** | Chiave per la firma degli invii di telemetria onchain | +| **Rewards Manager Key** | Chiave che controlla quali wallet ricevono le tue ricompense (vedi il repository dei contributori) | --- @@ -135,21 +158,22 @@ Nuovo a DoubleZero? Ecco i termini essenziali (vedi il [Glossario completo](glos | Guida | Descrizione | |-------|-------------| | [Requisiti e Architettura](contribute.md) | Specifiche hardware, architettura di rete, opzioni di larghezza di banda | -| [Provisioning Dispositivo](contribute-provisioning.md) | Passo per passo: chiavi → accesso repo → dispositivo → link → agenti | +| [Provisioning del Dispositivo](contribute-provisioning.md) | Passo dopo passo: accesso al repo → chiavi → dispositivo → link → agent | | [Operazioni](contribute-operations.md) | Aggiornamenti agent, gestione link, monitoraggio | +| [Deployment di Geoprobe](contribute-geolocation.md) | Deployment e configurazione degli agent geoProbe per la geolocalizzazione | | [Glossario](glossary.md) | Tutta la terminologia DoubleZero definita | --- -## Nozioni di Base di Rete per Non-Ingegneri di Rete +## Nozioni di Rete per Non Ingegneri di Rete -Se non hai un background ingegneristico di rete, ecco un primer sui concetti utilizzati in questa documentazione: +Se non hai un background di ingegneria di rete, ecco un'introduzione ai concetti utilizzati in questa documentazione: ### Indirizzamento IP - **Indirizzo IPv4**: Un identificatore univoco per un dispositivo su una rete (es. `192.168.1.1`) -- **Notazione CIDR** (`/29`, `/24`): Indica la dimensione della subnet. `/29` = 8 indirizzi, `/24` = 256 indirizzi -- **IP Pubblico**: Instradabile su internet; **IP Privato**: Solo reti interne (10.x, 172.16-31.x, 192.168.x) +- **Notazione CIDR** (`/29`, `/24`): Indica la dimensione della sottorete. `/29` = 8 indirizzi, `/24` = 256 indirizzi +- **IP pubblico**: Instradabile su internet; **IP privato**: Solo reti interne (10.x, 172.16-31.x, 192.168.x) ### Livelli di Rete @@ -159,18 +183,18 @@ Se non hai un background ingegneristico di rete, ecco un primer sui concetti uti ### Termini Comuni -- **MTU**: Maximum Transmission Unit - dimensione massima del pacchetto (tipicamente 9000 byte per link WAN) +- **MTU**: Maximum Transmission Unit - dimensione massima del pacchetto (tipicamente 9000 byte per i link WAN) - **VLAN**: Virtual LAN - separa logicamente il traffico su infrastruttura condivisa - **VRF**: Virtual Routing and Forwarding - isola le tabelle di routing sullo stesso dispositivo -- **BGP**: Border Gateway Protocol - scambio di route tra reti +- **BGP**: Border Gateway Protocol - scambio di rotte tra reti - **GRE**: Generic Routing Encapsulation - protocollo di tunneling per reti overlay - **TWAMP**: Two-Way Active Measurement Protocol - misura latenza/perdita tra dispositivi -### Specifico di DoubleZero +### Specifici di DoubleZero -- **Onchain**: In DoubleZero, le registrazioni dei dispositivi, le configurazioni dei link e la telemetria vengono registrate nel registro DoubleZero — rendendo lo stato della rete trasparente e verificabile da tutti i partecipanti -- **Controller**: Servizio che deriva la configurazione DZD dallo stato onchain nel registro DoubleZero +- **Onchain**: In DoubleZero, le registrazioni dei dispositivi, le configurazioni dei link e la telemetria vengono registrate sul ledger DoubleZero — rendendo lo stato della rete trasparente e verificabile da tutti i partecipanti +- **Controller**: Servizio che deriva la configurazione del DZD dallo stato onchain sul ledger DoubleZero --- -Pronto per iniziare? Inizia con [Requisiti e Architettura](contribute.md). +Pronto per iniziare? Parti da [Requisiti e Architettura](contribute.md). \ No newline at end of file diff --git a/docs/contribute-overview.ja.md b/docs/contribute-overview.ja.md index 7dbe847..bd2a552 100644 --- a/docs/contribute-overview.ja.md +++ b/docs/contribute-overview.ja.md @@ -1,37 +1,59 @@ -# コントリビューターのドキュメント -!!! warning "This translation was generated using artificial intelligence and has not been reviewed by a human translator. It may contain inaccuracies or errors and should not be relied upon." +--- +description: DoubleZeroネットワークコントリビューターになるための概要とオンボーディングチェックリスト。 +--- +# コントリビュータードキュメント -!!! info "用語" - DoubleZeroを初めて利用しますか?[用語集](glossary.md)で[DZD](glossary.md#dzd-doublezero-device)、[DZX](glossary.md#dzx-doublezero-exchange)、[CYOA](glossary.md#cyoa-choose-your-own-adventure)などの主要な用語の定義を確認してください。 +!!! info "用語について" + DoubleZeroが初めてですか?[用語集](glossary.md)で[DZD](glossary.md#dzd-doublezero-device)、[DZX](glossary.md#dzx-doublezero-exchange)、[CYOA](glossary.md#cyoa-choose-your-own-adventure)などの主要用語の定義をご確認ください。 -DoubleZeroコントリビューターのドキュメントへようこそ。このセクションではネットワークコントリビューターになるために必要なすべてをカバーしています。 +DoubleZeroコントリビュータードキュメントへようこそ。このセクションでは、ネットワークコントリビューターになるために必要なすべてを説明します。 -!!! tip "ネットワークコントリビューターになることに興味がありますか?" - [要件とアーキテクチャ](contribute.md)ページを確認して、DoubleZeroネットワークへの貢献に必要なハードウェア、帯域幅、接続性を理解してください。 +!!! tip "ネットワークコントリビューターに興味がありますか?" + [要件とアーキテクチャ](contribute.md)ページを確認し、DoubleZeroネットワークに貢献するために必要なハードウェア、帯域幅、接続性について理解してください。 --- ## オンボーディングチェックリスト -このチェックリストを使って進捗を追跡してください。**貢献が技術的に運用可能になる前にすべての項目を完了する必要があります。** +このチェックリストを使用して進捗を管理してください。**すべての項目が完了しないと、コントリビューションは技術的に運用可能になりません。** ### フェーズ1:前提条件 -- [ ] 管理サーバーにDoubleZero CLIをインストール -- [ ] ハードウェアを調達し、[要件](contribute.md#hardware-requirements)を満たしていることを確認 -- [ ] データセンターのラックスペースと電力を確保(4U、4KW推奨) -- [ ] DZDを物理的にインストールし、管理接続が可能な状態にする -- [ ] DZプロトコル用のパブリックIPv4ブロックを割り当て(**[DZプレフィックスルール](#dz-prefix-rules)を参照**) +- [ ] 管理サーバーにDoubleZero CLIをインストール済み +- [ ] ハードウェアを調達し、[要件](contribute.md#hardware-requirements)を満たしている +- [ ] データセンターのラックスペースと電源が利用可能([ラックと電源](contribute.md#rack-power-requirements)を参照) +- [ ] DZDを物理的に設置し、管理接続を確保済み +- [ ] DZプロトコル用のパブリックIPv4ブロックを割り当て済み(**[DZプレフィックスルール](#dz-prefix-rules)を参照**) + +### フェーズ2:アカウントセットアップ + +このフェーズでは、コントリビューターとDZFが交互に作業を行います。各 **DZF** 項目は、次のグループを開始する前に確認される必要があります。 + +**コントリビューター** + +- [ ] GitHubユーザー名をDZFに送付 + +**DZF** + +- [ ] [malbeclabs/contributors](https://github.com/malbeclabs/contributors)リポジトリへのアクセスを付与 + +**コントリビューター** -### フェーズ2:アカウントのセットアップ - [ ] サービスキーペアを生成(`doublezero keygen`) - [ ] メトリクスパブリッシャーキーペアを生成 -- [ ] サービスキーをDZFに提出して承認を取得 -- [ ] コントリビューターアカウントをオンチェーンで作成(`doublezero contributor list`で確認) -- [ ] [malbeclabs/contributors](https://github.com/malbeclabs/contributors)リポジトリへのアクセスを取得 +- [ ] サービスキーの**公開鍵**をDZFに送付 + +**DZF** + +- [ ] コントリビューターアカウントをオンチェーンで作成 + +**コントリビューター** + +- [ ] コントリビューターアカウントを確認(`doublezero contributor list`) +- [ ] 報酬管理を設定(稼働開始をブロックしません。**コントリビューターリポジトリの[報酬管理](https://github.com/malbeclabs/contributors#rewards-management)を参照**) ### フェーズ3:デバイスプロビジョニング -- [ ] ベースデバイス設定を適用(contributorsリポジトリより) +- [ ] 基本デバイス設定を適用(コントリビューターリポジトリから) - [ ] デバイスをオンチェーンで作成(`doublezero device create`) - [ ] デバイスインターフェースを登録 - [ ] ループバックインターフェースを作成(Loopback255 vpnv4、Loopback256 ipv4) @@ -41,46 +63,46 @@ DoubleZeroコントリビューターのドキュメントへようこそ。こ - [ ] WANリンクを作成(該当する場合) - [ ] DZXリンクを作成(ステータス:`requested`) - [ ] ピアコントリビューターがDZXリンクを承認 -- [ ] Config Agentをインストールして実行 -- [ ] Config Agentがコントローラーから設定を受信 -- [ ] Telemetry Agentをインストールして実行 +- [ ] Config Agentをインストールして稼働中 +- [ ] Config Agentがコントローラーから設定を受信中 +- [ ] Telemetry Agentをインストールして稼働中 - [ ] メトリクスパブリッシャーをオンチェーンで登録 -- [ ] テレメトリ送信がレジャーで確認可能 +- [ ] テレメトリ送信がレジャー上で確認可能 -### フェーズ5:リンクのバーンイン -- [ ] すべてのリンクを24時間バーンイン期間中ドレイン -- [ ] [metrics.doublezero.xyz](https://metrics.doublezero.xyz)で24時間のゼロロスおよびゼロエラーを確認 +### フェーズ5:リンクバーンイン +- [ ] すべてのリンクを24時間のバーンイン期間中ドレイン +- [ ] [リンクステータスダッシュボード](https://data.doublezero.xyz/status/links)で24時間ゼロロスかつゼロエラーを確認 - [ ] クリーンなバーンイン後にリンクのドレインを解除 ### フェーズ6:検証とアクティベーション -- [ ] `doublezero device list`でデバイスが表示される(`max_users = 0`で) +- [ ] `doublezero device list`でデバイスが表示される(`max_users = 0`の状態) - [ ] `doublezero link list`でリンクが表示される - [ ] Config Agentのログで設定プルの成功を確認 - [ ] Telemetry Agentのログでメトリクス送信の成功を確認 -- [ ] **DZ/Malbec Labsと協力**して接続テストを実行(接続、ルート受信、DZ経由のルーティング) +- [ ] **DZ/Malbec Labsと連携**して接続テストを実施(接続、ルート受信、DZ経由のルーティング) - [ ] テスト合格後、`doublezero device update`で`max_users`を96に設定 --- -## ヘルプの取得 +## サポートを受ける -オンボーディングの一環として、DZFはコントリビューターのSlackチャンネルに追加します: +オンボーディングの一環として、DZFがコントリビューターSlackチャンネルに追加します: | チャンネル | 目的 | |---------|---------| -| **#dz-contributor-announcements** | DZFとMalbec Labsからの公式通知 — CLI/エージェントのアップグレード、重大な変更、セキュリティアナウンス。重要な更新を監視し、スレッドで質問してください。 | -| **#dz-contributor-incidents** | 予定外のサービス影響イベント。インシデントはAPI/ウェブフォームを通じて深刻度と影響を受けるデバイス/リンクとともに自動投稿されます。スレッドで議論とトラブルシューティングが行われます。 | -| **#dz-contributor-maintenance** | 計画されたメンテナンス活動(アップグレード、修理)。API/ウェブフォームを通じて計画された開始/終了時間とともにスケジュールされます。スレッドで議論が行われます。 | -| **#dz-contributor-ops** | すべてのコントリビューターのオープンディスカッション — 運用上の質問、CLIのヘルプ、ランブックとプレイブックの共有。 | +| **#dz-contributor-announcements** | DZFおよびMalbec Labsからの公式コミュニケーション — CLI/エージェントのアップグレード、破壊的変更、セキュリティアナウンス。重要な更新を監視し、スレッドで質問してください。 | +| **#dz-contributor-incidents** | 計画外のサービス影響イベント。インシデントは重大度と影響を受けるデバイス/リンクとともにAPI/Webフォーム経由で自動投稿されます。議論とトラブルシューティングはスレッドで行われます。 | +| **#dz-contributor-maintenance** | 計画メンテナンス活動(アップグレード、修理)。API/Webフォーム経由で計画開始/終了時刻とともにスケジュールされます。議論はスレッドで行われます。 | +| **#dz-contributor-ops** | すべてのコントリビューター向けのオープンディスカッション — 運用に関する質問、CLIのヘルプ、ランブックやプレイブックの共有。 | -また、組織への直接サポートのために**プライベートDZ/Malbec Labsチャンネル**も提供されます。 +また、組織向けの直接サポート用に**プライベートDZ/Malbec Labsチャンネル**も提供されます。 --- ## DZプレフィックスルール !!! warning "重要:DZプレフィックスプールの使用" - 提供するDZプレフィックスプールは**DoubleZeroプロトコルがIP割り当てを管理**します。 + 提供するDZプレフィックスプールは、**IPアロケーションのためにDoubleZeroプロトコルによって管理されます**。 **DZプレフィックスの使用方法:** @@ -89,42 +111,43 @@ DoubleZeroコントリビューターのドキュメントへようこそ。こ - `IBRLWithAllocatedIP`ユーザー - `EdgeFiltering`ユーザー - マルチキャストパブリッシャー - - **IBRLユーザー**:このプールを消費しません(独自のパブリックIPを使用) + - **IBRLユーザー**:このプールからは消費しません(独自のパブリックIPを使用) - **これらのアドレスは以下に使用できません:** + **これらのアドレスを以下の目的に使用することはできません:** - - 自社のネットワーク機器 + - 自身のネットワーク機器 - DIAインターフェースのポイントツーポイントリンク - 管理インターフェース - - DZプロトコル外のインフラ + - DZプロトコル外のインフラストラクチャ **要件:** - - **グローバルにルーティング可能(パブリック)**なIPv4アドレスである必要があります - - プライベートIP範囲(10.x、172.16-31.x、192.168.x)はスマートコントラクトで拒否されます - - **最小サイズ:/29**(8アドレス)、大きなプレフィックス推奨(例:/28、/27) - - ブロック全体が利用可能である必要があります - アドレスを事前に割り当てないでください + - **グローバルにルーティング可能(パブリック)**なIPv4アドレスであること + - プライベートIPレンジ(10.x、172.16-31.x、192.168.x)はスマートコントラクトによって拒否されます + - **最小サイズ:/29**(8アドレス)、より大きなプレフィックスが推奨(例:/28、/27) + - ブロック全体が利用可能であること - アドレスを事前に割り当てないでください - 自社の機器用にアドレスが必要な場合(DIAインターフェースIP、管理など)は、**別のアドレスプール**を使用してください。 + 自身の機器用のアドレス(DIAインターフェースIP、管理用など)が必要な場合は、**別のアドレスプール**を使用してください。 --- ## クイックリファレンス:主要用語 -DoubleZeroを初めて利用しますか?以下は必須の用語です([完全な用語集](glossary.md)を参照): +DoubleZeroが初めてですか?以下が基本用語です([完全な用語集](glossary.md)を参照): | 用語 | 定義 | |------|------------| -| **DZD** | DoubleZeroデバイス - DZエージェントを実行する物理Aristaスイッチ | -| **DZX** | DoubleZero Exchange - コントリビューターがピアするメトロ相互接続ポイント | +| **DZD** | DoubleZero Device - DZエージェントを実行する物理的なAristaスイッチ | +| **DZX** | DoubleZero Exchange - コントリビューターがピアリングするメトロ相互接続ポイント | | **CYOA** | Choose Your Own Adventure - ユーザー接続方式(GREOverDIA、GREOverFabricなど) | -| **DIA** | Direct Internet Access - すべてのDZDがコントローラーとテレメトリに必要とするインターネット接続、エッジ/ハイブリッドデバイスでのユーザー接続のCYOAタイプとしてよく使用される | -| **WANリンク** | 自社のDZD間のリンク(同一コントリビューター) | -| **DZXリンク** | 別のコントリビューターのDZDへのリンク(相互承認が必要) | -| **Config Agent** | コントローラーをポーリングし、DZDに設定を適用する | -| **Telemetry Agent** | TWAMPレイテンシ/ロスメトリクスを収集し、オンチェーンレジャーに送信する | -| **サービスキー** | CLI操作のためのコントリビューターアイデンティティキー | -| **メトリクスパブリッシャーキー** | テレメトリ送信をオンチェーンで署名するためのキー | +| **DIA** | Direct Internet Access - すべてのDZDがコントローラーおよびテレメトリ用に必要とするインターネット接続。エッジ/ハイブリッドデバイスでのユーザー接続用CYOAタイプとしても一般的に使用 | +| **WAN Link** | 自身のDZD間のリンク(同一コントリビューター) | +| **DZX Link** | 別のコントリビューターのDZDへのリンク(相互承認が必要) | +| **Config Agent** | コントローラーをポーリングし、DZDに設定を適用 | +| **Telemetry Agent** | TWAMPレイテンシ/ロスメトリクスを収集し、オンチェーンレジャーに送信 | +| **Service Key** | CLI操作用のコントリビューターIDキー | +| **Metrics Publisher Key** | テレメトリ送信をオンチェーンで署名するためのキー | +| **Rewards Manager Key** | 報酬を受け取るウォレットを制御するキー(コントリビューターリポジトリを参照) | --- @@ -135,42 +158,43 @@ DoubleZeroを初めて利用しますか?以下は必須の用語です([完 | ガイド | 説明 | |-------|-------------| | [要件とアーキテクチャ](contribute.md) | ハードウェア仕様、ネットワークアーキテクチャ、帯域幅オプション | -| [デバイスプロビジョニング](contribute-provisioning.md) | ステップバイステップ:キー → リポジトリアクセス → デバイス → リンク → エージェント | -| [運用](contribute-operations.md) | エージェントのアップグレード、リンク管理、監視 | +| [デバイスプロビジョニング](contribute-provisioning.md) | ステップバイステップ:リポジトリアクセス → キー → デバイス → リンク → エージェント | +| [運用](contribute-operations.md) | エージェントアップグレード、リンク管理、モニタリング | +| [Geoプローブデプロイ](contribute-geolocation.md) | ジオロケーション用geoProbeエージェントのデプロイと設定 | | [用語集](glossary.md) | すべてのDoubleZero用語の定義 | --- -## ネットワークエンジニア以外向けのネットワーク基礎 +## ネットワークエンジニア以外の方向けのネットワーク基礎知識 -ネットワークエンジニアのバックグラウンドがない場合は、このドキュメントで使用される概念の入門として以下をご覧ください: +ネットワークエンジニアリングのバックグラウンドをお持ちでない方のために、本ドキュメントで使用される概念の入門を以下に示します: ### IPアドレッシング - **IPv4アドレス**:ネットワーク上のデバイスの一意の識別子(例:`192.168.1.1`) -- **CIDR表記**(`/29`、`/24`):サブネットサイズを示します。`/29` = 8アドレス、`/24` = 256アドレス -- **パブリックIP**:インターネットでルーティング可能;**プライベートIP**:内部ネットワークのみ(10.x、172.16-31.x、192.168.x) +- **CIDR表記**(`/29`、`/24`):サブネットサイズを示す。`/29` = 8アドレス、`/24` = 256アドレス +- **パブリックIP**:インターネット上でルーティング可能;**プライベートIP**:内部ネットワーク専用(10.x、172.16-31.x、192.168.x) -### ネットワーク層 +### ネットワークレイヤー -- **レイヤー1(物理)**:ケーブル、光学機器、波長 -- **レイヤー2(データリンク)**:スイッチ、VLAN、MACアドレス -- **レイヤー3(ネットワーク)**:ルーター、IPアドレス、ルーティングプロトコル +- **レイヤー1(物理層)**:ケーブル、光学部品、波長 +- **レイヤー2(データリンク層)**:スイッチ、VLAN、MACアドレス +- **レイヤー3(ネットワーク層)**:ルーター、IPアドレス、ルーティングプロトコル ### 一般的な用語 - **MTU**:Maximum Transmission Unit - 最大パケットサイズ(WANリンクでは通常9000バイト) -- **VLAN**:Virtual LAN - 共有インフラ上のトラフィックを論理的に分離する -- **VRF**:Virtual Routing and Forwarding - 同じデバイス上でルーティングテーブルを分離する +- **VLAN**:Virtual LAN - 共有インフラストラクチャ上でトラフィックを論理的に分離 +- **VRF**:Virtual Routing and Forwarding - 同一デバイス上でルーティングテーブルを分離 - **BGP**:Border Gateway Protocol - ネットワーク間のルート交換 -- **GRE**:Generic Routing Encapsulation - オーバーレイネットワークのためのトンネリングプロトコル -- **TWAMP**:Two-Way Active Measurement Protocol - デバイス間のレイテンシ/ロスを測定する +- **GRE**:Generic Routing Encapsulation - オーバーレイネットワーク用のトンネリングプロトコル +- **TWAMP**:Two-Way Active Measurement Protocol - デバイス間のレイテンシ/ロスを測定 -### DoubleZero固有 +### DoubleZero固有の用語 -- **オンチェーン**:DoubleZeroでは、デバイス登録、リンク設定、テレメトリがDoubleZeroレジャーに記録されます — ネットワーク状態がすべての参加者に対して透明で検証可能になります -- **コントローラー**:DoubleZeroレジャーのオンチェーン状態からDZD設定を導出するサービス +- **オンチェーン**:DoubleZeroでは、デバイス登録、リンク設定、テレメトリがDoubleZeroレジャーに記録されます。これにより、ネットワーク状態がすべての参加者に対して透明で検証可能になります +- **コントローラー**:DoubleZeroレジャー上のオンチェーン状態からDZD設定を導出するサービス --- -準備ができましたか?[要件とアーキテクチャ](contribute.md)から始めてください。 +始める準備はできましたか?[要件とアーキテクチャ](contribute.md)から始めてください。 \ No newline at end of file diff --git a/docs/contribute-overview.ko.md b/docs/contribute-overview.ko.md index 6e5d56b..71861b4 100644 --- a/docs/contribute-overview.ko.md +++ b/docs/contribute-overview.ko.md @@ -1,130 +1,153 @@ -# 기여자 문서 -!!! warning "This translation was generated using artificial intelligence and has not been reviewed by a human translator. It may contain inaccuracies or errors and should not be relied upon." +--- +description: DoubleZero 네트워크 기여자가 되기 위한 개요 및 온보딩 체크리스트. +--- +# 기여자 문서 !!! info "용어" - DoubleZero가 처음이신가요? [DZD](glossary.md#dzd-doublezero-device), [DZX](glossary.md#dzx-doublezero-exchange), [CYOA](glossary.md#cyoa-choose-your-own-adventure)와 같은 핵심 용어의 정의는 [용어집](glossary.md)을 참조하세요. + DoubleZero가 처음이신가요? [용어집](glossary.md)에서 [DZD](glossary.md#dzd-doublezero-device), [DZX](glossary.md#dzx-doublezero-exchange), [CYOA](glossary.md#cyoa-choose-your-own-adventure) 등 주요 용어의 정의를 확인하세요. -DoubleZero 기여자 문서에 오신 것을 환영합니다. 이 섹션에서는 네트워크 기여자가 되기 위해 필요한 모든 것을 다룹니다. +DoubleZero 기여자 문서에 오신 것을 환영합니다. 이 섹션에서는 네트워크 기여자가 되기 위해 필요한 모든 내용을 다룹니다. -!!! tip "네트워크 기여자가 되고 싶으신가요?" - DoubleZero 네트워크에 기여하는 데 필요한 하드웨어, 대역폭 및 연결성을 이해하려면 [요구사항 및 아키텍처](contribute.md) 페이지를 검토하세요. +!!! tip "네트워크 기여자에 관심이 있으신가요?" + [요구사항 & 아키텍처](contribute.md) 페이지를 검토하여 DoubleZero 네트워크에 기여하는 데 필요한 하드웨어, 대역폭 및 연결 요건을 이해하세요. --- ## 온보딩 체크리스트 -이 체크리스트를 사용하여 진행 상황을 추적하세요. **기여가 기술적으로 운영되기 전에 모든 항목을 완료해야 합니다.** +이 체크리스트를 사용하여 진행 상황을 추적하세요. **모든 항목이 완료되어야 기여가 기술적으로 운영 가능합니다.** -### 단계 1: 사전 요구사항 -- [ ] 관리 서버에 DoubleZero CLI 설치 -- [ ] 하드웨어 구매 및 [요구사항](contribute.md#hardware-requirements) 충족 -- [ ] 데이터 센터 랙 공간 및 전원 사용 가능 (4U, 4KW 권장) +### 1단계: 사전 요건 +- [ ] 관리 서버에 DoubleZero CLI 설치 완료 +- [ ] 하드웨어 조달 및 [요구사항](contribute.md#hardware-requirements) 충족 확인 +- [ ] 데이터센터 랙 공간 및 전원 확보 ([랙 & 전원](contribute.md#rack-power-requirements) 참조) - [ ] DZD 물리적 설치 및 관리 연결 완료 -- [ ] DZ 프로토콜을 위한 공개 IPv4 블록 할당 (**[DZ 프리픽스 규칙](#dz-prefix-rules) 참조**) - -### 단계 2: 계정 설정 -- [ ] 서비스 키쌍 생성 (`doublezero keygen`) -- [ ] 메트릭스 발행자 키쌍 생성 -- [ ] 인증을 위해 DZF에 서비스 키 제출 -- [ ] 온체인 기여자 계정 생성 (`doublezero contributor list`로 확인) -- [ ] [malbeclabs/contributors](https://github.com/malbeclabs/contributors) 저장소 접근 권한 부여 - -### 단계 3: 장치 프로비저닝 -- [ ] 장치에 기본 구성 적용 (기여자 저장소에서) -- [ ] 온체인 장치 생성 (`doublezero device create`) -- [ ] 장치 인터페이스 등록 +- [ ] DZ 프로토콜용 공인 IPv4 블록 할당 (**[DZ 프리픽스 규칙](#dz-프리픽스-규칙) 참조**) + +### 2단계: 계정 설정 + +이 단계는 기여자와 DZF 간에 번갈아 진행됩니다. 각 **DZF** 항목은 다음 그룹을 시작하기 전에 확인되어야 합니다. + +**기여자** + +- [ ] GitHub 사용자명을 DZF에 전송 + +**DZF** + +- [ ] [malbeclabs/contributors](https://github.com/malbeclabs/contributors) 리포지토리 접근 권한 부여 + +**기여자** + +- [ ] 서비스 키페어 생성 (`doublezero keygen`) +- [ ] 메트릭 퍼블리셔 키페어 생성 +- [ ] 서비스 키 **공개키**를 DZF에 전송 + +**DZF** + +- [ ] 온체인에 기여자 계정 생성 + +**기여자** + +- [ ] 기여자 계정 확인 (`doublezero contributor list`) +- [ ] 보상 관리 설정 (라이브 전환을 차단하지 않음, **기여자 리포지토리의 [보상 관리](https://github.com/malbeclabs/contributors#rewards-management) 참조**) + +### 3단계: 디바이스 프로비저닝 +- [ ] 기본 디바이스 구성 적용 (기여자 리포지토리에서) +- [ ] 온체인에 디바이스 생성 (`doublezero device create`) +- [ ] 디바이스 인터페이스 등록 - [ ] 루프백 인터페이스 생성 (Loopback255 vpnv4, Loopback256 ipv4) -- [ ] CYOA/DIA 인터페이스 구성 (엣지/하이브리드 장치인 경우) +- [ ] CYOA/DIA 인터페이스 구성 (엣지/하이브리드 디바이스인 경우) -### 단계 4: 링크 설정 및 에이전트 설치 +### 4단계: 링크 수립 & 에이전트 설치 - [ ] WAN 링크 생성 (해당하는 경우) - [ ] DZX 링크 생성 (상태: `requested`) -- [ ] 상대방 기여자가 DZX 링크 수락 +- [ ] 피어 기여자에 의해 DZX 링크 수락 - [ ] Config Agent 설치 및 실행 -- [ ] Config Agent가 컨트롤러에서 구성 수신 +- [ ] Config Agent가 컨트롤러로부터 구성 수신 - [ ] Telemetry Agent 설치 및 실행 -- [ ] 메트릭스 발행자 온체인 등록 -- [ ] 레저에서 텔레메트리 제출 확인 - -### 단계 5: 링크 번인 -- [ ] 24시간 번인 기간 동안 모든 링크 드레인 상태 유지 -- [ ] [metrics.doublezero.xyz](https://metrics.doublezero.xyz)에서 24시간 동안 손실 및 오류 0 확인 -- [ ] 클린 번인 완료 후 링크 드레인 해제 - -### 단계 6: 검증 및 활성화 -- [ ] `doublezero device list`에서 장치 확인 (`max_users = 0` 상태) -- [ ] `doublezero link list`에서 링크 확인 -- [ ] Config Agent 로그에서 성공적인 구성 가져오기 확인 -- [ ] Telemetry Agent 로그에서 성공적인 메트릭스 제출 확인 -- [ ] **DZ/Malbec Labs와 조율**하여 연결 테스트 실행 (연결, 경로 수신, DZ를 통한 라우팅) +- [ ] 온체인에 메트릭 퍼블리셔 등록 +- [ ] 원장에서 텔레메트리 제출 확인 가능 + +### 5단계: 링크 번인 +- [ ] 24시간 번인 기간 동안 모든 링크 드레인 +- [ ] [링크 상태 대시보드](https://data.doublezero.xyz/status/links)에서 24시간 동안 손실 제로 및 오류 제로 확인 +- [ ] 정상 번인 후 링크 드레인 해제 + +### 6단계: 검증 & 활성화 +- [ ] `doublezero device list`에 디바이스 표시 확인 (`max_users = 0`) +- [ ] `doublezero link list`에 링크 표시 확인 +- [ ] Config Agent 로그에서 구성 풀 성공 확인 +- [ ] Telemetry Agent 로그에서 메트릭 제출 성공 확인 +- [ ] **DZ/Malbec Labs와 협의**하여 연결 테스트 실행 (연결, 라우트 수신, DZ를 통한 라우팅) - [ ] 테스트 통과 후 `doublezero device update`를 통해 `max_users`를 96으로 설정 --- ## 도움 받기 -온보딩의 일환으로 DZF가 기여자 Slack 채널에 추가해 드립니다: +온보딩 과정에서 DZF가 기여자 Slack 채널에 추가해 드립니다: | 채널 | 목적 | |---------|---------| -| **#dz-contributor-announcements** | DZF 및 Malbec Labs의 공식 커뮤니케이션 — CLI/에이전트 업데이트, 주요 변경 사항, 보안 공지. 중요 업데이트 모니터링. 스레드에서 질문 가능. | -| **#dz-contributor-incidents** | 서비스에 영향을 미치는 계획되지 않은 이벤트. 인시던트는 심각도 및 영향받는 장치/링크와 함께 API/웹 양식을 통해 자동으로 게시됩니다. 스레드에서 토론 및 문제 해결. | -| **#dz-contributor-maintenance** | 계획된 유지보수 활동 (업그레이드, 수리). API/웹 양식을 통해 예상 시작/종료 시간과 함께 예약됩니다. 스레드에서 토론. | -| **#dz-contributor-ops** | 모든 기여자를 위한 공개 토론 — 운영 질문, CLI 도움, 런북 및 플레이북 공유. | +| **#dz-contributor-announcements** | DZF 및 Malbec Labs의 공식 커뮤니케이션 — CLI/에이전트 업그레이드, 호환성 변경사항, 보안 공지. 중요 업데이트를 모니터링하고 스레드에서 질문하세요. | +| **#dz-contributor-incidents** | 계획되지 않은 서비스 영향 이벤트. API/웹 폼을 통해 심각도 및 영향받는 디바이스/링크와 함께 인시던트가 자동으로 게시됩니다. 스레드에서 논의 및 문제 해결이 이루어집니다. | +| **#dz-contributor-maintenance** | 계획된 유지보수 활동 (업그레이드, 수리). API/웹 폼을 통해 계획된 시작/종료 시간으로 예약됩니다. 스레드에서 논의합니다. | +| **#dz-contributor-ops** | 모든 기여자를 위한 개방형 토론 — 운영 질문, CLI 도움, 런북 및 플레이북 공유. | -귀하의 조직을 위한 직접 지원을 위한 **DZ/Malbec Labs 전용 채널**도 받게 됩니다. +또한 조직에 대한 직접 지원을 위한 **비공개 DZ/Malbec Labs 채널**이 제공됩니다. --- ## DZ 프리픽스 규칙 !!! warning "중요: DZ 프리픽스 풀 사용" - 제공하는 DZ 프리픽스 풀은 **IP 할당을 위해 DoubleZero 프로토콜이 관리**합니다. + 제공하신 DZ 프리픽스 풀은 **IP 할당을 위해 DoubleZero 프로토콜에서 관리합니다**. - **DZ 프리픽스가 사용되는 방식:** + **DZ 프리픽스 사용 방법:** - - **첫 번째 IP**: 장치용으로 예약됨 (Loopback100 인터페이스에 할당) - - **나머지 IP**: DZD에 연결하는 특정 유형의 사용자에게 할당: + - **첫 번째 IP**: 디바이스용으로 예약 (Loopback100 인터페이스에 할당) + - **나머지 IP**: DZD에 연결하는 특정 사용자 유형에 할당: - `IBRLWithAllocatedIP` 사용자 - `EdgeFiltering` 사용자 - - 멀티캐스트 발행자 - - **IBRL 사용자**: 이 풀을 소비하지 않음 (자신의 공개 IP 사용) + - 멀티캐스트 퍼블리셔 + - **IBRL 사용자**: 이 풀에서 소비하지 않음 (자체 공인 IP 사용) **다음 용도로 사용할 수 없습니다:** - - 자신의 네트워크 장비 - - DIA 인터페이스의 지점간 링크 + - 자체 네트워크 장비 + - DIA 인터페이스의 포인트-투-포인트 링크 - 관리 인터페이스 - - DZ 프로토콜 외부의 모든 인프라 + - DZ 프로토콜 외부의 인프라 **요구사항:** - - 전 세계적으로 라우팅 가능한(공개) IPv4 주소여야 합니다 - - 사설 IP 범위(10.x, 172.16-31.x, 192.168.x)는 스마트 계약에서 거부됩니다 - - **최소 크기: /29** (8개 주소), 더 큰 프리픽스 권장 (예: /28, /27) - - 전체 블록이 사용 가능해야 합니다 — 어떤 주소도 사전 할당하지 마세요 + - **글로벌 라우팅 가능한 (공인)** IPv4 주소여야 합니다 + - 사설 IP 범위 (10.x, 172.16-31.x, 192.168.x)는 스마트 컨트랙트에서 거부됩니다 + - **최소 크기: /29** (8개 주소), 더 큰 프리픽스 선호 (예: /28, /27) + - 전체 블록이 사용 가능해야 합니다 - 주소를 사전 할당하지 마세요 - 자신의 장비(DIA 인터페이스 IP, 관리 등)를 위한 주소가 필요한 경우 **별도의 주소 풀**을 사용하세요. + 자체 장비용 주소가 필요한 경우 (DIA 인터페이스 IP, 관리 등), **별도의 주소 풀**을 사용하세요. --- -## 빠른 참조: 핵심 용어 +## 빠른 참조: 주요 용어 -DoubleZero가 처음이신가요? 필수 용어는 다음과 같습니다([전체 용어집](glossary.md) 참조): +DoubleZero가 처음이신가요? 필수 용어를 확인하세요 ([전체 용어집](glossary.md) 참조): | 용어 | 정의 | |------|------------| -| **DZD** | DoubleZero Device — DZ 에이전트를 실행하는 물리적 Arista 스위치 | -| **DZX** | DoubleZero Exchange — 기여자들이 서로 연결하는 도시 상호 연결 지점 | -| **CYOA** | Choose Your Own Adventure — 사용자 연결 방법 (GREOverDIA, GREOverFabric 등) | -| **DIA** | Direct Internet Access — 모든 DZD가 컨트롤러 및 텔레메트리를 위해 필요한 인터넷 연결, 엣지/하이브리드 장치의 사용자 연결을 위한 CYOA 유형으로도 일반적으로 사용 | -| **WAN 링크** | 자신의 DZD 간 링크 (동일 기여자) | -| **DZX 링크** | 다른 기여자의 DZD에 대한 링크 (상호 수락 필요) | -| **Config Agent** | 컨트롤러에 쿼리하고 DZD에 구성 적용 | -| **Telemetry Agent** | TWAMP 대기 시간/손실 메트릭스 수집, 온체인 레저에 제출 | -| **서비스 키** | CLI 작업을 위한 기여자 ID 키 | -| **메트릭스 발행자 키** | 온체인 텔레메트리 제출 서명을 위한 키 | +| **DZD** | DoubleZero Device - DZ 에이전트를 실행하는 물리적 Arista 스위치 | +| **DZX** | DoubleZero Exchange - 기여자들이 피어링하는 메트로 상호접속 지점 | +| **CYOA** | Choose Your Own Adventure - 사용자 연결 방식 (GREOverDIA, GREOverFabric 등) | +| **DIA** | Direct Internet Access - 컨트롤러 및 텔레메트리를 위해 모든 DZD에 필요한 인터넷 연결, 엣지/하이브리드 디바이스에서 사용자 연결을 위한 CYOA 유형으로 일반적으로 사용 | +| **WAN Link** | 자체 DZD 간의 링크 (동일 기여자) | +| **DZX Link** | 다른 기여자의 DZD로의 링크 (상호 수락 필요) | +| **Config Agent** | 컨트롤러를 폴링하여 DZD에 구성을 적용 | +| **Telemetry Agent** | TWAMP 지연/손실 메트릭을 수집하여 온체인 원장에 제출 | +| **Service Key** | CLI 운영을 위한 기여자 신원 키 | +| **Metrics Publisher Key** | 온체인 텔레메트리 제출 서명을 위한 키 | +| **Rewards Manager Key** | 보상을 수령할 지갑을 제어하는 키 (기여자 리포지토리 참조) | --- @@ -134,43 +157,44 @@ DoubleZero가 처음이신가요? 필수 용어는 다음과 같습니다([전 | 가이드 | 설명 | |-------|-------------| -| [요구사항 및 아키텍처](contribute.md) | 하드웨어 사양, 네트워크 아키텍처, 대역폭 옵션 | -| [장치 프로비저닝](contribute-provisioning.md) | 단계별: 키 → 저장소 접근 → 장치 → 링크 → 에이전트 | -| [운영](contribute-operations.md) | 에이전트 업데이트, 링크 관리, 모니터링 | +| [요구사항 & 아키텍처](contribute.md) | 하드웨어 사양, 네트워크 아키텍처, 대역폭 옵션 | +| [디바이스 프로비저닝](contribute-provisioning.md) | 단계별: 리포지토리 접근 → 키 → 디바이스 → 링크 → 에이전트 | +| [운영](contribute-operations.md) | 에이전트 업그레이드, 링크 관리, 모니터링 | +| [Geoprobe 배포](contribute-geolocation.md) | 지리적 위치 확인을 위한 geoProbe 에이전트 배포 및 구성 | | [용어집](glossary.md) | 모든 DoubleZero 용어 정의 | --- -## 비네트워크 엔지니어를 위한 네트워킹 개념 +## 비 네트워크 엔지니어를 위한 네트워크 기초 -네트워크 엔지니어링 경험이 없으시다면 이 문서에 사용된 개념에 대한 소개가 있습니다: +네트워크 엔지니어링 배경이 아닌 분들을 위해 이 문서에서 사용되는 개념에 대한 입문 안내입니다: ### IP 주소 지정 -- **IPv4 주소**: 네트워크의 장치에 대한 고유 식별자 (예: `192.168.1.1`) +- **IPv4 주소**: 네트워크상의 디바이스를 위한 고유 식별자 (예: `192.168.1.1`) - **CIDR 표기법** (`/29`, `/24`): 서브넷 크기를 나타냅니다. `/29` = 8개 주소, `/24` = 256개 주소 -- **공개 IP**: 인터넷에서 라우팅 가능; **사설 IP**: 내부 네트워크 전용 (10.x, 172.16-31.x, 192.168.x) +- **공인 IP**: 인터넷에서 라우팅 가능; **사설 IP**: 내부 네트워크 전용 (10.x, 172.16-31.x, 192.168.x) ### 네트워크 계층 -- **계층 1 (물리)**: 케이블, 광학, 파장 -- **계층 2 (데이터 링크)**: 스위치, VLAN, MAC 주소 -- **계층 3 (네트워크)**: 라우터, IP 주소, 라우팅 프로토콜 +- **계층 1 (물리 계층)**: 케이블, 광학 장치, 파장 +- **계층 2 (데이터 링크 계층)**: 스위치, VLAN, MAC 주소 +- **계층 3 (네트워크 계층)**: 라우터, IP 주소, 라우팅 프로토콜 ### 일반 용어 -- **MTU**: 최대 전송 단위 — 최대 패킷 크기 (WAN 링크의 경우 일반적으로 9000바이트) -- **VLAN**: 가상 LAN — 공유 인프라에서 트래픽을 논리적으로 분리 -- **VRF**: 가상 라우팅 및 포워딩 — 동일한 장치에서 라우팅 테이블을 격리 -- **BGP**: 경계 게이트웨이 프로토콜 — 네트워크 간 경로 교환 -- **GRE**: 일반 라우팅 캡슐화 — 오버레이 네트워크를 위한 터널링 프로토콜 -- **TWAMP**: 양방향 능동 측정 프로토콜 — 장치 간 대기 시간/손실 측정 +- **MTU**: Maximum Transmission Unit - 최대 패킷 크기 (WAN 링크의 경우 일반적으로 9000바이트) +- **VLAN**: Virtual LAN - 공유 인프라에서 트래픽을 논리적으로 분리 +- **VRF**: Virtual Routing and Forwarding - 동일 디바이스에서 라우팅 테이블을 격리 +- **BGP**: Border Gateway Protocol - 네트워크 간 라우트 교환 +- **GRE**: Generic Routing Encapsulation - 오버레이 네트워크용 터널링 프로토콜 +- **TWAMP**: Two-Way Active Measurement Protocol - 디바이스 간 지연/손실 측정 -### DoubleZero 전용 +### DoubleZero 전용 용어 -- **온체인**: DoubleZero에서 장치 등록, 링크 구성 및 텔레메트리는 DoubleZero 레저에 기록되어 네트워크 상태를 모든 참여자가 투명하고 검증 가능하게 합니다 -- **컨트롤러**: DoubleZero 레저의 온체인 상태에서 DZD 구성을 도출하는 서비스 +- **온체인**: DoubleZero에서 디바이스 등록, 링크 구성 및 텔레메트리는 DoubleZero 원장에 기록되어 — 네트워크 상태가 모든 참여자에게 투명하고 검증 가능합니다 +- **컨트롤러**: DoubleZero 원장의 온체인 상태로부터 DZD 구성을 도출하는 서비스 --- -준비가 되셨나요? [요구사항 및 아키텍처](contribute.md)부터 시작하세요. +시작할 준비가 되셨나요? [요구사항 & 아키텍처](contribute.md)부터 시작하세요. \ No newline at end of file diff --git a/docs/contribute-overview.md b/docs/contribute-overview.md index 9ba863c..4c5b5e7 100644 --- a/docs/contribute-overview.md +++ b/docs/contribute-overview.md @@ -21,16 +21,36 @@ Use this checklist to track your progress. **All items must be complete before y ### Phase 1: Prerequisites - [ ] DoubleZero CLI installed on a management server - [ ] Hardware procured and meets [requirements](contribute.md#hardware-requirements) -- [ ] Data center rack space and power available (4U, 4KW recommended) +- [ ] Data center rack space and power available (see [Rack & Power](contribute.md#rack-power-requirements)) - [ ] DZD physically installed with management connectivity - [ ] Public IPv4 block allocated for DZ protocol (**see [DZ Prefix Rules](#dz-prefix-rules)**) ### Phase 2: Account Setup + +This phase alternates between the contributor and DZF. Each **DZF** item has to be confirmed before the next group can start. + +**Contributor** + +- [ ] GitHub username sent to DZF + +**DZF** + +- [ ] Access granted to the [malbeclabs/contributors](https://github.com/malbeclabs/contributors) repository + +**Contributor** + - [ ] Service keypair generated (`doublezero keygen`) - [ ] Metrics publisher keypair generated -- [ ] Service key submitted to DZF for authorization -- [ ] Contributor account created onchain (verify with `doublezero contributor list`) -- [ ] Access granted to [malbeclabs/contributors](https://github.com/malbeclabs/contributors) repository +- [ ] Service key **public key** sent to DZF + +**DZF** + +- [ ] Contributor account created onchain + +**Contributor** + +- [ ] Contributor account verified (`doublezero contributor list`) +- [ ] Rewards management set up (does not block going live, **see [Rewards Management](https://github.com/malbeclabs/contributors#rewards-management) in the contributors repository**) ### Phase 3: Device Provisioning - [ ] Base device configuration applied (from contributors repo) @@ -51,7 +71,7 @@ Use this checklist to track your progress. **All items must be complete before y ### Phase 5: Link Burn-in - [ ] All links drained for 24-hour burn-in period -- [ ] [metrics.doublezero.xyz](https://metrics.doublezero.xyz) shows zero loss and zero errors for 24h +- [ ] [Link status dashboard](https://data.doublezero.xyz/status/links) shows zero loss and zero errors for 24h - [ ] Links undrained after clean burn-in ### Phase 6: Verification & Activation @@ -127,6 +147,7 @@ New to DoubleZero? Here are the essential terms (see [full Glossary](glossary.md | **Telemetry Agent** | Collects TWAMP latency/loss metrics, submits to onchain ledger | | **Service Key** | Your contributor identity key for CLI operations | | **Metrics Publisher Key** | Key for signing telemetry submissions onchain | +| **Rewards Manager Key** | Key that controls which wallets receive your rewards (see the contributors repository) | --- @@ -137,7 +158,7 @@ New to DoubleZero? Here are the essential terms (see [full Glossary](glossary.md | Guide | Description | |-------|-------------| | [Requirements & Architecture](contribute.md) | Hardware specs, network architecture, bandwidth options | -| [Device Provisioning](contribute-provisioning.md) | Step-by-step: keys → repo access → device → links → agents | +| [Device Provisioning](contribute-provisioning.md) | Step-by-step: repo access → keys → device → links → agents | | [Operations](contribute-operations.md) | Agent upgrades, link management, monitoring | | [Geoprobe Deployment](contribute-geolocation.md) | Deploying and configuring geoProbe agents for geolocation | | [Glossary](glossary.md) | All DoubleZero terminology defined | diff --git a/docs/contribute-overview.pt.md b/docs/contribute-overview.pt.md index 1898b90..b57444a 100644 --- a/docs/contribute-overview.pt.md +++ b/docs/contribute-overview.pt.md @@ -1,79 +1,101 @@ -# Documentação para Contribuidores -!!! warning "This translation was generated using artificial intelligence and has not been reviewed by a human translator. It may contain inaccuracies or errors and should not be relied upon." +--- +description: Visão geral e checklist de integração para se tornar um contribuidor da rede DoubleZero. +--- +# Documentação do Contribuidor !!! info "Terminologia" Novo no DoubleZero? Consulte o [Glossário](glossary.md) para definições de termos-chave como [DZD](glossary.md#dzd-doublezero-device), [DZX](glossary.md#dzx-doublezero-exchange) e [CYOA](glossary.md#cyoa-choose-your-own-adventure). -Bem-vindo à documentação para contribuidores do DoubleZero. Esta seção cobre tudo que você precisa para se tornar um contribuidor de rede. +Bem-vindo à documentação do contribuidor do DoubleZero. Esta seção cobre tudo o que você precisa para se tornar um contribuidor da rede. -!!! tip "Interessado em se tornar um contribuidor de rede?" - Revise a página de [Requisitos e Arquitetura](contribute.md) para entender o hardware, a largura de banda e a conectividade necessários para contribuir com a rede DoubleZero. +!!! tip "Interessado em se tornar um contribuidor da rede?" + Revise a página [Requisitos e Arquitetura](contribute.md) para entender o hardware, largura de banda e conectividade necessários para contribuir com a rede DoubleZero. --- -## Lista de Verificação de Integração +## Checklist de Integração -Use esta lista de verificação para acompanhar seu progresso. **Todos os itens devem ser concluídos antes que sua contribuição esteja tecnicamente operacional.** +Use este checklist para acompanhar seu progresso. **Todos os itens devem ser concluídos antes que sua contribuição esteja tecnicamente operacional.** ### Fase 1: Pré-requisitos -- [ ] CLI do DoubleZero instalado em um servidor de gerenciamento -- [ ] Hardware adquirido e atendendo aos [requisitos](contribute.md#hardware-requirements) -- [ ] Espaço em rack e energia do data center disponíveis (4U, 4KW recomendado) -- [ ] DZD instalado fisicamente com conectividade de gerenciamento -- [ ] Bloco IPv4 público alocado para o protocolo DZ (**consulte as [Regras de Prefixo DZ](#dz-prefix-rules)**) +- [ ] DoubleZero CLI instalado em um servidor de gerenciamento +- [ ] Hardware adquirido e atende aos [requisitos](contribute.md#hardware-requirements) +- [ ] Espaço em rack e energia disponíveis no data center (veja [Rack e Energia](contribute.md#rack-power-requirements)) +- [ ] DZD fisicamente instalado com conectividade de gerenciamento +- [ ] Bloco público IPv4 alocado para o protocolo DZ (**veja [Regras de Prefixo DZ](#regras-de-prefixo-dz)**) + +### Fase 2: Configuração da Conta + +Esta fase alterna entre o contribuidor e a DZF. Cada item **DZF** deve ser confirmado antes que o próximo grupo possa começar. + +**Contribuidor** + +- [ ] Nome de usuário do GitHub enviado para a DZF + +**DZF** -### Fase 2: Configuração de Conta -- [ ] Par de chaves de serviço gerado (`doublezero keygen`) -- [ ] Par de chaves do editor de métricas gerado -- [ ] Chave de serviço enviada ao DZF para autorização -- [ ] Conta de contribuidor criada onchain (verificar com `doublezero contributor list`) - [ ] Acesso concedido ao repositório [malbeclabs/contributors](https://github.com/malbeclabs/contributors) -### Fase 3: Provisionamento de Dispositivos +**Contribuidor** + +- [ ] Par de chaves de serviço gerado (`doublezero keygen`) +- [ ] Par de chaves do publicador de métricas gerado +- [ ] **Chave pública** da chave de serviço enviada para a DZF + +**DZF** + +- [ ] Conta do contribuidor criada onchain + +**Contribuidor** + +- [ ] Conta do contribuidor verificada (`doublezero contributor list`) +- [ ] Gerenciamento de recompensas configurado (não bloqueia a entrada em produção, **veja [Gerenciamento de Recompensas](https://github.com/malbeclabs/contributors#rewards-management) no repositório de contribuidores**) + +### Fase 3: Provisionamento do Dispositivo - [ ] Configuração base do dispositivo aplicada (do repositório de contribuidores) - [ ] Dispositivo criado onchain (`doublezero device create`) - [ ] Interfaces do dispositivo registradas -- [ ] Interfaces loopback criadas (Loopback255 vpnv4, Loopback256 ipv4) -- [ ] Interfaces CYOA/DIA configuradas (se dispositivo de borda/híbrido) +- [ ] Interfaces de loopback criadas (Loopback255 vpnv4, Loopback256 ipv4) +- [ ] Interfaces CYOA/DIA configuradas (se dispositivo edge/híbrido) -### Fase 4: Estabelecimento de Link e Instalação de Agentes +### Fase 4: Estabelecimento de Links e Instalação do Agente - [ ] Links WAN criados (se aplicável) - [ ] Link DZX criado (status: `requested`) - [ ] Link DZX aceito pelo contribuidor par - [ ] Config Agent instalado e em execução - [ ] Config Agent recebendo configuração do controlador - [ ] Telemetry Agent instalado e em execução -- [ ] Editor de métricas registrado onchain -- [ ] Envios de telemetria visíveis no ledger +- [ ] Publicador de métricas registrado onchain +- [ ] Submissões de telemetria visíveis no ledger -### Fase 5: Rodagem do Link -- [ ] Todos os links drenados durante um período de rodagem de 24 horas -- [ ] [metrics.doublezero.xyz](https://metrics.doublezero.xyz) mostra zero perdas e zero erros durante 24h -- [ ] Links sem drenagem após uma rodagem limpa +### Fase 5: Burn-in dos Links +- [ ] Todos os links drenados para período de burn-in de 24 horas +- [ ] [Painel de status dos links](https://data.doublezero.xyz/status/links) mostra zero perda e zero erros por 24h +- [ ] Links restaurados após burn-in limpo ### Fase 6: Verificação e Ativação - [ ] `doublezero device list` mostra seu dispositivo (com `max_users = 0`) - [ ] `doublezero link list` mostra seus links -- [ ] Os logs do Config Agent mostram extrações de configuração bem-sucedidas -- [ ] Os logs do Telemetry Agent mostram envios de métricas bem-sucedidos -- [ ] **Coordenar com DZ/Malbec Labs** para executar um teste de conectividade (conectar, receber rotas, rotear sobre DZ) -- [ ] Após o teste passar, definir `max_users` como 96 via `doublezero device update` +- [ ] Logs do Config Agent mostram pulls de configuração bem-sucedidos +- [ ] Logs do Telemetry Agent mostram submissões de métricas bem-sucedidas +- [ ] **Coordenar com DZ/Malbec Labs** para executar teste de conectividade (conectar, receber rotas, rotear pelo DZ) +- [ ] Após o teste passar, definir `max_users` para 96 via `doublezero device update` --- -## Obter Ajuda +## Obtendo Ajuda -Como parte da integração, o DZF irá adicioná-lo aos canais Slack de contribuidores: +Como parte da integração, a DZF adicionará você aos canais Slack de contribuidores: | Canal | Propósito | -|---------|---------| -| **#dz-contributor-announcements** | Comunicações oficiais do DZF e Malbec Labs — atualizações de CLI/agentes, mudanças importantes, anúncios de segurança. Monitore para atualizações críticas; faça perguntas nas threads. | -| **#dz-contributor-incidents** | Eventos não planejados que afetam o serviço. Os incidentes são postados automaticamente via API/formulário web com severidade e dispositivos/links afetados. A discussão e resolução de problemas ocorrem nas threads. | -| **#dz-contributor-maintenance** | Atividades de manutenção planejadas (atualizações, reparos). Agendadas via API/formulário web com horários de início/fim planejados. Discussão nas threads. | +|-------|-----------| +| **#dz-contributor-announcements** | Comunicações oficiais da DZF e Malbec Labs — atualizações de CLI/agente, mudanças incompatíveis, anúncios de segurança. Monitore para atualizações críticas; faça perguntas em threads. | +| **#dz-contributor-incidents** | Eventos não planejados com impacto no serviço. Incidentes são publicados automaticamente via API/formulário web com severidade e dispositivos/links afetados. Discussão e resolução de problemas acontecem em threads. | +| **#dz-contributor-maintenance** | Atividades de manutenção planejada (atualizações, reparos). Agendadas via API/formulário web com horários planejados de início/fim. Discussão em threads. | | **#dz-contributor-ops** | Discussão aberta para todos os contribuidores — perguntas operacionais, ajuda com CLI, compartilhamento de runbooks e playbooks. | -Você também receberá um **canal privado do DZ/Malbec Labs** para suporte direto da sua organização. +Você também receberá um **canal privado DZ/Malbec Labs** para suporte direto à sua organização. --- @@ -82,18 +104,18 @@ Você também receberá um **canal privado do DZ/Malbec Labs** para suporte dire !!! warning "Crítico: Uso do Pool de Prefixos DZ" O pool de prefixos DZ que você fornece é **gerenciado pelo protocolo DoubleZero para alocação de IP**. - **Como os prefixos DZ são usados:** + **Como os prefixos DZ são utilizados:** - - **Primeiro IP**: Reservado para o seu dispositivo (atribuído à interface Loopback100) - - **IPs restantes**: Alocados para tipos específicos de usuários que se conectam ao seu DZD: + - **Primeiro IP**: Reservado para seu dispositivo (atribuído à interface Loopback100) + - **IPs restantes**: Alocados para tipos específicos de usuários conectando ao seu DZD: - Usuários `IBRLWithAllocatedIP` - Usuários `EdgeFiltering` - Publicadores multicast - - **Usuários IBRL**: NÃO consomem deste pool (usam seu próprio IP público) + - **Usuários IBRL**: NÃO consomem deste pool (eles usam seu próprio IP público) - **NÃO pode usar esses endereços para:** + **Você NÃO PODE usar esses endereços para:** - - Seu próprio equipamento de rede + - Seus próprios equipamentos de rede - Links ponto a ponto em interfaces DIA - Interfaces de gerenciamento - Qualquer infraestrutura fora do protocolo DZ @@ -101,30 +123,31 @@ Você também receberá um **canal privado do DZ/Malbec Labs** para suporte dire **Requisitos:** - Devem ser endereços IPv4 **globalmente roteáveis (públicos)** - - Intervalos de IP privados (10.x, 172.16-31.x, 192.168.x) são rejeitados pelo contrato inteligente - - **Tamanho mínimo: /29** (8 endereços), prefixos maiores são preferidos (por exemplo, /28, /27) - - Todo o bloco deve estar disponível — não pré-aloque nenhum endereço + - Faixas de IP privadas (10.x, 172.16-31.x, 192.168.x) são rejeitadas pelo smart contract + - **Tamanho mínimo: /29** (8 endereços), prefixos maiores são preferíveis (ex.: /28, /27) + - O bloco inteiro deve estar disponível - não pré-aloque nenhum endereço - Se você precisar de endereços para seu próprio equipamento (IPs de interface DIA, gerenciamento, etc.), use um **pool de endereços separado**. + Se você precisar de endereços para seus próprios equipamentos (IPs de interface DIA, gerenciamento, etc.), use um **pool de endereços separado**. --- ## Referência Rápida: Termos-Chave -Novo no DoubleZero? Aqui estão os termos essenciais (consulte o [Glossário completo](glossary.md)): +Novo no DoubleZero? Aqui estão os termos essenciais (veja o [Glossário completo](glossary.md)): | Termo | Definição | -|------|------------| -| **DZD** | Dispositivo DoubleZero — seu switch físico Arista que executa os agentes DZ | -| **DZX** | DoubleZero Exchange — ponto de interconexão metropolitana onde os contribuidores se conectam entre si | -| **CYOA** | Choose Your Own Adventure — método de conectividade de usuários (GREOverDIA, GREOverFabric, etc.) | -| **DIA** | Acesso Direto à Internet — conectividade à internet requerida por todos os DZDs para o controlador e a telemetria, comumente usado como tipo CYOA para conectividade de usuários em dispositivos de borda/híbridos | -| **Link WAN** | Link entre seus próprios DZDs (mesmo contribuidor) | -| **Link DZX** | Link para o DZD de outro contribuidor (requer aceitação mútua) | -| **Config Agent** | Consulta o controlador, aplica a configuração ao seu DZD | -| **Telemetry Agent** | Coleta métricas de latência/perda TWAMP, envia ao ledger onchain | -| **Chave de Serviço** | Sua chave de identidade de contribuidor para operações do CLI | -| **Chave do Editor de Métricas** | Chave para assinar envios de telemetria onchain | +|-------|-----------| +| **DZD** | DoubleZero Device - seu switch Arista físico executando agentes DZ | +| **DZX** | DoubleZero Exchange - ponto de interconexão metropolitano onde contribuidores fazem peering | +| **CYOA** | Choose Your Own Adventure - método de conectividade do usuário (GREOverDIA, GREOverFabric, etc.) | +| **DIA** | Direct Internet Access - conectividade à internet exigida por todos os DZDs para controlador e telemetria, comumente usado como tipo CYOA para conectividade de usuários em dispositivos edge/híbridos | +| **WAN Link** | Link entre seus próprios DZDs (mesmo contribuidor) | +| **DZX Link** | Link para o DZD de outro contribuidor (requer aceitação mútua) | +| **Config Agent** | Consulta o controlador, aplica configuração ao seu DZD | +| **Telemetry Agent** | Coleta métricas de latência/perda TWAMP, submete ao ledger onchain | +| **Service Key** | Sua chave de identidade de contribuidor para operações via CLI | +| **Metrics Publisher Key** | Chave para assinar submissões de telemetria onchain | +| **Rewards Manager Key** | Chave que controla quais carteiras recebem suas recompensas (veja o repositório de contribuidores) | --- @@ -133,44 +156,45 @@ Novo no DoubleZero? Aqui estão os termos essenciais (consulte o [Glossário com ## Estrutura da Documentação | Guia | Descrição | -|-------|-------------| +|------|-----------| | [Requisitos e Arquitetura](contribute.md) | Especificações de hardware, arquitetura de rede, opções de largura de banda | -| [Provisionamento de Dispositivos](contribute-provisioning.md) | Passo a passo: chaves → acesso ao repositório → dispositivo → links → agentes | +| [Provisionamento do Dispositivo](contribute-provisioning.md) | Passo a passo: acesso ao repositório → chaves → dispositivo → links → agentes | | [Operações](contribute-operations.md) | Atualizações de agentes, gerenciamento de links, monitoramento | -| [Glossário](glossary.md) | Toda a terminologia do DoubleZero definida | +| [Implantação do Geoprobe](contribute-geolocation.md) | Implantação e configuração de agentes geoProbe para geolocalização | +| [Glossário](glossary.md) | Toda a terminologia DoubleZero definida | --- -## Conceitos de Rede para Não-Engenheiros de Rede +## Fundamentos de Rede para Não-Engenheiros de Rede -Se você não tem experiência em engenharia de rede, aqui está uma introdução aos conceitos usados nesta documentação: +Se você não tem experiência em engenharia de redes, aqui está uma introdução aos conceitos utilizados nesta documentação: ### Endereçamento IP -- **Endereço IPv4**: Um identificador único para um dispositivo em uma rede (por exemplo, `192.168.1.1`) +- **Endereço IPv4**: Um identificador único para um dispositivo em uma rede (ex.: `192.168.1.1`) - **Notação CIDR** (`/29`, `/24`): Indica o tamanho da sub-rede. `/29` = 8 endereços, `/24` = 256 endereços -- **IP público**: Roteável na internet; **IP privado**: Somente redes internas (10.x, 172.16-31.x, 192.168.x) +- **IP Público**: Roteável na internet; **IP Privado**: Apenas redes internas (10.x, 172.16-31.x, 192.168.x) ### Camadas de Rede -- **Camada 1 (Física)**: Cabos, óptica, comprimentos de onda +- **Camada 1 (Física)**: Cabos, ópticas, comprimentos de onda - **Camada 2 (Enlace de Dados)**: Switches, VLANs, endereços MAC - **Camada 3 (Rede)**: Roteadores, endereços IP, protocolos de roteamento ### Termos Comuns -- **MTU**: Unidade Máxima de Transmissão — tamanho máximo de pacote (tipicamente 9000 bytes para links WAN) -- **VLAN**: LAN Virtual — separa logicamente o tráfego em infraestrutura compartilhada -- **VRF**: Virtual Routing and Forwarding — isola tabelas de roteamento no mesmo dispositivo -- **BGP**: Border Gateway Protocol — troca de rotas entre redes -- **GRE**: Generic Routing Encapsulation — protocolo de tunelamento para redes overlay -- **TWAMP**: Two-Way Active Measurement Protocol — mede latência/perda entre dispositivos +- **MTU**: Maximum Transmission Unit - maior tamanho de pacote (tipicamente 9000 bytes para links WAN) +- **VLAN**: Virtual LAN - separa logicamente o tráfego em infraestrutura compartilhada +- **VRF**: Virtual Routing and Forwarding - isola tabelas de roteamento no mesmo dispositivo +- **BGP**: Border Gateway Protocol - troca de rotas entre redes +- **GRE**: Generic Routing Encapsulation - protocolo de tunelamento para redes overlay +- **TWAMP**: Two-Way Active Measurement Protocol - mede latência/perda entre dispositivos ### Específico do DoubleZero -- **Onchain**: No DoubleZero, os registros de dispositivos, as configurações de links e a telemetria são registrados no ledger DoubleZero, tornando o estado da rede transparente e verificável por todos os participantes -- **Controlador**: Serviço que deriva a configuração do DZD a partir do estado onchain no ledger DoubleZero +- **Onchain**: No DoubleZero, registros de dispositivos, configurações de links e telemetria são registrados no ledger do DoubleZero — tornando o estado da rede transparente e verificável por todos os participantes +- **Controlador**: Serviço que deriva a configuração do DZD a partir do estado onchain no ledger do DoubleZero --- -Pronto para começar? Comece com [Requisitos e Arquitetura](contribute.md). +Pronto para começar? Comece com [Requisitos e Arquitetura](contribute.md). \ No newline at end of file diff --git a/docs/contribute-overview.zh.md b/docs/contribute-overview.zh.md index 55647ac..c99f625 100644 --- a/docs/contribute-overview.zh.md +++ b/docs/contribute-overview.zh.md @@ -1,130 +1,153 @@ -# 贡献者文档 -!!! warning "This translation was generated using artificial intelligence and has not been reviewed by a human translator. It may contain inaccuracies or errors and should not be relied upon." +--- +description: 成为 DoubleZero 网络贡献者的概述和入门清单。 +--- +# 贡献者文档 -!!! info "术语" - 初次使用DoubleZero?请参阅[词汇表](glossary.md)了解[DZD](glossary.md#dzd-doublezero-device)、[DZX](glossary.md#dzx-doublezero-exchange)和[CYOA](glossary.md#cyoa-choose-your-own-adventure)等关键术语的定义。 +!!! info "术语说明" + 初次接触 DoubleZero?请参阅[术语表](glossary.md)了解关键术语定义,如 [DZD](glossary.md#dzd-doublezero-device)、[DZX](glossary.md#dzx-doublezero-exchange) 和 [CYOA](glossary.md#cyoa-choose-your-own-adventure)。 -欢迎阅读DoubleZero贡献者文档。本节涵盖成为网络贡献者所需的一切内容。 +欢迎阅读 DoubleZero 贡献者文档。本节涵盖了成为网络贡献者所需的全部内容。 !!! tip "有兴趣成为网络贡献者?" - 请查看[需求与架构](contribute.md)页面,了解为DoubleZero网络做贡献所需的硬件、带宽和连接要求。 + 请查看[要求与架构](contribute.md)页面,了解为 DoubleZero 网络做贡献所需的硬件、带宽和连接要求。 --- -## 入职核对清单 - -使用此核对清单跟踪您的进度。**在您的贡献在技术上正式运营之前,所有项目必须完成。** - -### 第一阶段:前提条件 -- [ ] 在管理服务器上安装DoubleZero CLI -- [ ] 硬件已采购并符合[要求](contribute.md#hardware-requirements) -- [ ] 数据中心机架空间和电源可用(推荐4U、4KW) -- [ ] DZD已物理安装并具有管理连接 -- [ ] 为DZ协议分配公共IPv4地址块(**参见[DZ前缀规则](#dz-prefix-rules)**) - -### 第二阶段:账户设置 -- [ ] 生成服务密钥对(`doublezero keygen`) -- [ ] 生成指标发布者密钥对 -- [ ] 服务密钥已提交给DZF进行授权 -- [ ] 链上创建贡献者账户(通过`doublezero contributor list`验证) -- [ ] 获得[malbeclabs/contributors](https://github.com/malbeclabs/contributors)仓库访问权限 - -### 第三阶段:设备配置 -- [ ] 已应用基础设备配置(来自contributors仓库) -- [ ] 链上创建设备(`doublezero device create`) -- [ ] 设备接口已注册 -- [ ] 环回接口已创建(Loopback255 vpnv4,Loopback256 ipv4) -- [ ] CYOA/DIA接口已配置(如果是边缘/混合设备) - -### 第四阶段:链路建立与代理安装 -- [ ] WAN链路已创建(如适用) -- [ ] DZX链路已创建(状态:`requested`) -- [ ] DZX链路已由对等贡献者接受 -- [ ] 配置代理已安装并运行 -- [ ] 配置代理正在从控制器接收配置 -- [ ] 遥测代理已安装并运行 +## 入门清单 + +使用此清单跟踪您的进度。**在您的贡献正式投入技术运行之前,所有项目必须全部完成。** + +### 阶段 1:前置条件 +- [ ] 在管理服务器上安装 DoubleZero CLI +- [ ] 硬件已采购并满足[要求](contribute.md#hardware-requirements) +- [ ] 数据中心机架空间和电力已就绪(参见[机架与电力](contribute.md#rack-power-requirements)) +- [ ] DZD 已物理安装并具备管理连接 +- [ ] 已分配用于 DZ 协议的公网 IPv4 地址块(**参见 [DZ 前缀规则](#dz-prefix-rules)**) + +### 阶段 2:账户设置 + +此阶段由贡献者和 DZF 交替完成。每个 **DZF** 项目必须确认完成后,下一组才能开始。 + +**贡献者** + +- [ ] 将 GitHub 用户名发送给 DZF + +**DZF** + +- [ ] 已授予 [malbeclabs/contributors](https://github.com/malbeclabs/contributors) 仓库的访问权限 + +**贡献者** + +- [ ] 已生成服务密钥对(`doublezero keygen`) +- [ ] 已生成指标发布者密钥对 +- [ ] 已将服务密钥的**公钥**发送给 DZF + +**DZF** + +- [ ] 已在链上创建贡献者账户 + +**贡献者** + +- [ ] 已验证贡献者账户(`doublezero contributor list`) +- [ ] 已设置奖励管理(不影响上线,**参见贡献者仓库中的 [Rewards Management](https://github.com/malbeclabs/contributors#rewards-management)**) + +### 阶段 3:设备配置 +- [ ] 已应用基础设备配置(来自 contributors 仓库) +- [ ] 已在链上创建设备(`doublezero device create`) +- [ ] 已注册设备接口 +- [ ] 已创建环回接口(Loopback255 vpnv4、Loopback256 ipv4) +- [ ] 已配置 CYOA/DIA 接口(如果是边缘/混合设备) + +### 阶段 4:链路建立与代理安装 +- [ ] 已创建 WAN 链路(如适用) +- [ ] 已创建 DZX 链路(状态:`requested`) +- [ ] DZX 链路已被对端贡献者接受 +- [ ] Config Agent 已安装并运行 +- [ ] Config Agent 正在从控制器接收配置 +- [ ] Telemetry Agent 已安装并运行 - [ ] 指标发布者已在链上注册 - [ ] 遥测提交在账本上可见 -### 第五阶段:链路磨合 -- [ ] 所有链路已清空进行24小时磨合期 -- [ ] [metrics.doublezero.xyz](https://metrics.doublezero.xyz)显示24小时内零丢包和零错误 -- [ ] 清洁磨合后链路已取消清空 +### 阶段 5:链路烧机测试 +- [ ] 所有链路已排空,进行 24 小时烧机测试 +- [ ] [链路状态仪表板](https://data.doublezero.xyz/status/links)显示 24 小时内零丢包和零错误 +- [ ] 烧机测试通过后取消链路排空 -### 第六阶段:验证与激活 -- [ ] `doublezero device list`显示您的设备(`max_users = 0`) -- [ ] `doublezero link list`显示您的链路 -- [ ] 配置代理日志显示成功的配置拉取 -- [ ] 遥测代理日志显示成功的指标提交 -- [ ] **与DZ/Malbec Labs协调**运行连接测试(连接、接收路由、通过DZ路由) -- [ ] 测试通过后,通过`doublezero device update`将`max_users`设置为96 +### 阶段 6:验证与激活 +- [ ] `doublezero device list` 显示您的设备(`max_users = 0`) +- [ ] `doublezero link list` 显示您的链路 +- [ ] Config Agent 日志显示配置拉取成功 +- [ ] Telemetry Agent 日志显示指标提交成功 +- [ ] **与 DZ/Malbec Labs 协调**运行连接测试(连接、接收路由、通过 DZ 路由) +- [ ] 测试通过后,通过 `doublezero device update` 将 `max_users` 设置为 96 --- ## 获取帮助 -作为入职的一部分,DZF将把您添加到贡献者Slack频道: +在入门过程中,DZF 会将您添加到贡献者 Slack 频道: | 频道 | 用途 | |---------|---------| -| **#dz-contributor-announcements** | DZF和Malbec Labs的官方通信——CLI/代理升级、重大更改、安全公告。监控关键更新;在线程中提问。 | -| **#dz-contributor-incidents** | 未计划的服务影响事件。事件通过API/Web表单自动发布,包含严重程度和受影响的设备/链路。讨论和故障排除在线程中进行。 | -| **#dz-contributor-maintenance** | 计划维护活动(升级、维修)。通过API/Web表单安排,包含计划开始/结束时间。讨论在线程中进行。 | -| **#dz-contributor-ops** | 所有贡献者的开放讨论——运营问题、CLI帮助、分享运行手册和操作手册。 | +| **#dz-contributor-announcements** | 来自 DZF 和 Malbec Labs 的官方通信 — CLI/代理升级、破坏性变更、安全公告。请关注重要更新;在消息线程中提问。 | +| **#dz-contributor-incidents** | 计划外的影响服务的事件。事件通过 API/网页表单自动发布,包含严重程度和受影响的设备/链路。讨论和故障排除在消息线程中进行。 | +| **#dz-contributor-maintenance** | 计划维护活动(升级、修复)。通过 API/网页表单安排,包含计划的开始/结束时间。讨论在消息线程中进行。 | +| **#dz-contributor-ops** | 所有贡献者的开放讨论 — 运维问题、CLI 帮助、分享运维手册和操作指南。 | -您还将获得一个用于您组织直接支持的**私有DZ/Malbec Labs频道**。 +您还将获得一个**专属的 DZ/Malbec Labs 私有频道**,为您的组织提供直接支持。 --- -## DZ前缀规则 +## DZ 前缀规则 -!!! warning "重要:DZ前缀池使用" - 您提供的DZ前缀池由**DoubleZero协议管理,用于IP分配**。 +!!! warning "重要:DZ 前缀池使用规则" + 您提供的 DZ 前缀池**由 DoubleZero 协议管理,用于 IP 地址分配**。 - **DZ前缀的使用方式:** + **DZ 前缀的使用方式:** - - **第一个IP**:为您的设备保留(分配给Loopback100接口) - - **剩余IP**:分配给连接到您DZD的特定用户类型: - - `IBRLWithAllocatedIP`用户 - - `EdgeFiltering`用户 - - 多播发布者 - - **IBRL用户**:不消耗此池(他们使用自己的公共IP) + - **第一个 IP**:保留给您的设备(分配给 Loopback100 接口) + - **剩余 IP**:分配给连接到您 DZD 的特定用户类型: + - `IBRLWithAllocatedIP` 用户 + - `EdgeFiltering` 用户 + - 组播发布者 + - **IBRL 用户**:不消耗此池中的地址(他们使用自己的公网 IP) **您不能将这些地址用于:** - 您自己的网络设备 - - DIA接口上的点对点链路 + - DIA 接口上的点对点链路 - 管理接口 - - DZ协议之外的任何基础设施 + - DZ 协议之外的任何基础设施 **要求:** - - 必须是**全球可路由(公共)**的IPv4地址 - - 智能合约拒绝私有IP范围(10.x、172.16-31.x、192.168.x) - - **最小大小:/29**(8个地址),首选更大的前缀(如/28、/27) - - 整个地址块必须可用——不要预先分配任何地址 + - 必须是**全球可路由(公网)**的 IPv4 地址 + - 私有 IP 范围(10.x、172.16-31.x、192.168.x)会被智能合约拒绝 + - **最小规格:/29**(8 个地址),建议使用更大的前缀(如 /28、/27) + - 整个地址块必须可用 - 不要预先分配任何地址 - 如果您需要用于自己设备的地址(DIA接口IP、管理地址等),请使用**单独的地址池**。 + 如果您需要为自己的设备(DIA 接口 IP、管理等)分配地址,请使用**单独的地址池**。 --- ## 快速参考:关键术语 -初次使用DoubleZero?以下是基本术语(参见[完整词汇表](glossary.md)): +初次接触 DoubleZero?以下是基本术语(参见[完整术语表](glossary.md)): | 术语 | 定义 | |------|------------| -| **DZD** | DoubleZero设备——运行DZ代理的物理Arista交换机 | -| **DZX** | DoubleZero交换点——贡献者对等的城域互连点 | -| **CYOA** | 自选冒险——用户连接方法(GREOverDIA、GREOverFabric等) | -| **DIA** | 直接互联网访问——所有DZD用于控制器和遥测的互联网连接,通常用作边缘/混合设备上用户连接的CYOA类型 | -| **WAN链路** | 您自己的DZD之间的链路(同一贡献者) | -| **DZX链路** | 到另一贡献者DZD的链路(需要相互接受) | -| **配置代理** | 轮询控制器,将配置应用到您的DZD | -| **遥测代理** | 收集TWAMP延迟/丢包指标,提交到链上账本 | -| **服务密钥** | 您的贡献者身份密钥,用于CLI操作 | -| **指标发布者密钥** | 用于签署链上遥测提交的密钥 | +| **DZD** | DoubleZero Device - 运行 DZ 代理的物理 Arista 交换机 | +| **DZX** | DoubleZero Exchange - 贡献者进行对等互联的城域交换点 | +| **CYOA** | Choose Your Own Adventure - 用户连接方式(GREOverDIA、GREOverFabric 等) | +| **DIA** | Direct Internet Access - 所有 DZD 用于控制器和遥测所需的互联网连接,通常也作为边缘/混合设备上用户连接的 CYOA 类型 | +| **WAN Link** | 您自己的 DZD 之间的链路(同一贡献者) | +| **DZX Link** | 连接到另一个贡献者 DZD 的链路(需要双方接受) | +| **Config Agent** | 轮询控制器,将配置应用到您的 DZD | +| **Telemetry Agent** | 收集 TWAMP 延迟/丢包指标,提交到链上账本 | +| **Service Key** | 用于 CLI 操作的贡献者身份密钥 | +| **Metrics Publisher Key** | 用于在链上签署遥测提交的密钥 | +| **Rewards Manager Key** | 控制哪些钱包接收您奖励的密钥(参见贡献者仓库) | --- @@ -134,43 +157,44 @@ | 指南 | 描述 | |-------|-------------| -| [需求与架构](contribute.md) | 硬件规格、网络架构、带宽选项 | -| [设备配置](contribute-provisioning.md) | 分步操作:密钥→仓库访问→设备→链路→代理 | -| [运营](contribute-operations.md) | 代理升级、链路管理、监控 | -| [词汇表](glossary.md) | 所有DoubleZero术语定义 | +| [要求与架构](contribute.md) | 硬件规格、网络架构、带宽选项 | +| [设备配置](contribute-provisioning.md) | 分步指南:仓库访问 → 密钥 → 设备 → 链路 → 代理 | +| [运维操作](contribute-operations.md) | 代理升级、链路管理、监控 | +| [Geoprobe 部署](contribute-geolocation.md) | 部署和配置 geoProbe 代理用于地理定位 | +| [术语表](glossary.md) | 所有 DoubleZero 术语定义 | --- ## 非网络工程师的网络基础知识 -如果您不是网络工程师背景,以下是本文档中使用的概念入门: +如果您没有网络工程背景,以下是本文档中使用的概念入门介绍: -### IP寻址 +### IP 地址 -- **IPv4地址**:网络上设备的唯一标识符(如`192.168.1.1`) -- **CIDR表示法**(`/29`、`/24`):指示子网大小。`/29` = 8个地址,`/24` = 256个地址 -- **公共IP**:在互联网上可路由;**私有IP**:仅限内部网络(10.x、172.16-31.x、192.168.x) +- **IPv4 地址**:网络上设备的唯一标识符(例如 `192.168.1.1`) +- **CIDR 表示法**(`/29`、`/24`):表示子网大小。`/29` = 8 个地址,`/24` = 256 个地址 +- **公网 IP**:可在互联网上路由;**私有 IP**:仅限内部网络使用(10.x、172.16-31.x、192.168.x) -### 网络层 +### 网络层次 -- **第1层(物理层)**:电缆、光纤、波长 -- **第2层(数据链路层)**:交换机、VLAN、MAC地址 -- **第3层(网络层)**:路由器、IP地址、路由协议 +- **第 1 层(物理层)**:线缆、光模块、波长 +- **第 2 层(数据链路层)**:交换机、VLAN、MAC 地址 +- **第 3 层(网络层)**:路由器、IP 地址、路由协议 ### 常用术语 -- **MTU**:最大传输单元——最大数据包大小(WAN链路通常为9000字节) -- **VLAN**:虚拟局域网——在共享基础设施上逻辑分隔流量 -- **VRF**:虚拟路由和转发——在同一设备上隔离路由表 -- **BGP**:边界网关协议——网络间路由交换 -- **GRE**:通用路由封装——覆盖网络的隧道协议 -- **TWAMP**:双向主动测量协议——测量设备之间的延迟/丢包 +- **MTU**:最大传输单元 - 最大数据包大小(WAN 链路通常为 9000 字节) +- **VLAN**:虚拟局域网 - 在共享基础设施上逻辑隔离流量 +- **VRF**:虚拟路由转发 - 在同一设备上隔离路由表 +- **BGP**:边界网关协议 - 网络间路由交换 +- **GRE**:通用路由封装 - 用于覆盖网络的隧道协议 +- **TWAMP**:双向主动测量协议 - 测量设备之间的延迟/丢包 -### DoubleZero特定 +### DoubleZero 特有概念 -- **链上**:在DoubleZero中,设备注册、链路配置和遥测记录在DoubleZero账本上——使所有参与者都能透明和可验证地了解网络状态 -- **控制器**:从DoubleZero账本上的链上状态派生DZD配置的服务 +- **链上(Onchain)**:在 DoubleZero 中,设备注册、链路配置和遥测数据都记录在 DoubleZero 账本上 — 使网络状态对所有参与者透明且可验证 +- **控制器(Controller)**:从 DoubleZero 账本上的链上状态派生 DZD 配置的服务 --- -准备好开始了吗?从[需求与架构](contribute.md)开始。 +准备好开始了吗?请从[要求与架构](contribute.md)开始。 \ No newline at end of file diff --git a/docs/contribute-provisioning.es.md b/docs/contribute-provisioning.es.md index 547d4ef..c422b4f 100644 --- a/docs/contribute-provisioning.es.md +++ b/docs/contribute-provisioning.es.md @@ -1,62 +1,102 @@ -# Guía de Aprovisionamiento de Dispositivos -!!! warning "This translation was generated using artificial intelligence and has not been reviewed by a human translator. It may contain inaccuracies or errors and should not be relied upon." +--- +description: Guía paso a paso para aprovisionar un Dispositivo DoubleZero (DZD) y registrar sus interfaces y roles on-chain. +--- +# Guía de Aprovisionamiento de Dispositivos -Esta guía le lleva a través del aprovisionamiento de un Dispositivo DoubleZero (DZD) de principio a fin. Cada fase corresponde a la [Lista de Verificación de Incorporación](contribute-overview.md#onboarding-checklist). +Esta guía le lleva paso a paso a través del aprovisionamiento de un Dispositivo DoubleZero (DZD) de principio a fin. Cada fase corresponde a la [Lista de Verificación de Incorporación](contribute-overview.md#onboarding-checklist). --- ## Cómo Encaja Todo -Antes de entrar en los pasos, aquí está el panorama general de lo que está construyendo: +Esta guía le lleva a través del registro de su infraestructura on-chain para que la red DoubleZero pueda enrutar tráfico a través de ella. Cuanto más completo sea el registro de su dispositivo, más útil será para la red. Una representación on-chain completa de su dispositivo permite una mejor resolución de problemas, planificación de capacidad y permite al controlador tomar decisiones informadas. Con el tiempo, el objetivo es que el controlador asuma más responsabilidad en la configuración. + +### Conceptos clave + +**Interfaces** + +Las interfaces en un DZD vienen en diferentes formas: puertos Ethernet, canales de puertos (LAGs compuestos por múltiples puertos Ethernet) y loopbacks. Cada interfaz que desempeña un rol en la red necesita ser registrada on-chain con las banderas apropiadas para que el protocolo sepa qué función cumple. + +Los puertos Ethernet y los canales de puertos pueden cumplir los siguientes roles: + +| Bandera | Qué significa | +|---------|---------------| +| `--interface-dia dia` | Marca la interfaz como enlace ascendente de acceso directo a internet | +| `--interface-cyoa ` | Declara cómo los usuarios establecen túneles GRE a través de esta interfaz (p. ej., por internet público, mediante un enlace de peering privado) | +| `--user-tunnel-endpoint true` | Esta interfaz lleva una IP pública donde los usuarios terminan túneles GRE | + +Las interfaces utilizadas para enlaces WAN o DZX no llevan una bandera específica; se registran con su ancho de banda y luego se referencian cuando se crea el enlace. + +Las interfaces loopback cumplen varios propósitos: + +| Loopback | Qué significa | +|----------|---------------| +| **Loopback100 / 101** | Llevan IPs públicas donde los usuarios terminan túneles GRE. Se registran con `--user-tunnel-endpoint true`. | +| **Loopback255** (`vpnv4`) | Se registra para que el controlador pueda asignar una IP utilizada para el ID de router BGP, peering VPN-IPv4 (unicast), identidad IS-IS y segment routing | +| **Loopback256** (`ipv4`) | Se registra para que el controlador pueda asignar una IP utilizada para peering BGP IPv4 (multicast) y sesiones MSDP | + +**Enlaces** + +Los enlaces se registran por separado de las interfaces, y las interfaces deben existir on-chain antes de que un enlace pueda referenciarlas. Cuando crea un enlace WAN o DZX, especifica una interfaz ya registrada como punto final físico del enlace. No todas las interfaces están vinculadas a un enlace: las interfaces DIA, CYOA y loopback no están conectadas a un enlace. + +| Término | Qué significa | +|---------|---------------| +| **Enlace WAN** | Un enlace entre dos de sus propios DZDs | +| **Enlace DZX** | Un enlace entre su DZD y el DZD de otro contribuidor | + +### Visión general de la arquitectura ```mermaid flowchart TB subgraph Onchain - SC[Ledger DoubleZero] + SC[Libro Mayor DoubleZero] end subgraph Your Infrastructure MGMT[Servidor de Gestión
CLI DoubleZero] - DZD[Su DZD
Switch Arista] - DZD ---|Enlace WAN| DZD2[Su otro DZD] + subgraph DZD[Su DZD] + CYOA["Interfaz DIA · CYOA
(enlace ascendente orientado al usuario)"] + WAN_INTF["Interfaz de enlace WAN"] + DZX_INTF["Interfaz de enlace DZX"] + LO100["Loopback100/101
(endpoint de túnel de usuario)"] + end + DZD2[Su otro DZD] end subgraph Other Contributor - OtherDZD[Su DZD] + OtherDZD[DZD de otro contribuidor] end - subgraph Users - VAL[Validadores] - RPC[Nodos RPC] - end + USERS["Usuarios"] MGMT -.->|Registra dispositivos,
enlaces, interfaces| SC - DZD ---|Enlace DZX| OtherDZD - VAL ---|Conectar via Internet| DZD - RPC ---|Conectar via Internet| DZD + WAN_INTF ---|Enlace WAN| DZD2 + DZX_INTF ---|Enlace DZX| OtherDZD + USERS -.|Túnel GRE|.-> CYOA + CYOA ---|enruta hacia| LO100 ``` --- -## Fase 1: Requisitos Previos +## Fase 1: Prerrequisitos -Antes de poder aprovisionar un dispositivo, necesita el hardware físico configurado y algunas direcciones IP asignadas. +Antes de poder aprovisionar un dispositivo, necesita tener el hardware físico configurado y algunas direcciones IP asignadas. ### Lo Que Necesita -| Requisito | Por Qué Es Necesario | -|-------------|-----------------| -| **Hardware DZD** | Switch Arista 7280CR3A (consulte [especificaciones de hardware](contribute.md#hardware-requirements)) | -| **Espacio en Rack** | 4U con flujo de aire adecuado | -| **Energía** | Alimentaciones redundantes, ~4KW recomendado | +| Requisito | Por Qué Se Necesita | +|-----------|---------------------| +| **Hardware DZD** | Switch Arista 7280CR3A (ver [especificaciones de hardware](contribute.md#hardware-requirements)) | +| **Espacio en Rack** | 2U reservados por DZD (1U en uso actualmente), con flujo de aire adecuado. Ver [Rack y Alimentación](contribute.md#rack-power-requirements) | +| **Alimentación** | Dos alimentaciones independientes, cada una capaz de soportar toda la carga por sí sola. Ver [Rack y Alimentación](contribute.md#rack-power-requirements) | | **Acceso de Gestión** | Acceso SSH/consola para configurar el switch | -| **Conectividad a Internet** | Para publicación de métricas y para obtener configuración del controlador | +| **Conectividad a Internet** | Para publicación de métricas y obtención de configuración del controlador | | **Bloque IPv4 Público** | Mínimo /29 para el pool de prefijos DZ (ver abajo) | ### Instalar el CLI de DoubleZero -El CLI de DoubleZero (`doublezero`) se usa durante todo el aprovisionamiento para registrar dispositivos, crear enlaces y gestionar su contribución. Debe instalarse en un **servidor de gestión o VM**, no en el switch DZD en sí. El switch solo ejecuta el Agente de Configuración y el Agente de Telemetría (instalados en la [Fase 4](#phase-4-link-establishment-agent-installation)). +El CLI de DoubleZero (`doublezero`) se utiliza a lo largo del aprovisionamiento para registrar dispositivos, crear enlaces y gestionar su contribución. Debe instalarse en un **servidor de gestión o VM** — no en el switch DZD en sí. El switch solo ejecuta el Agente de Configuración y el Agente de Telemetría (instalados en la [Fase 4](#phase-4-link-establishment-agent-installation)). **Ubuntu / Debian:** ```bash @@ -70,14 +110,14 @@ curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.rpm.sh | sudo yum install doublezero ``` -Verificar que el daemon esté ejecutándose: +Verifique que el demonio está en ejecución: ```bash sudo systemctl status doublezerod ``` -### Comprendiendo Su Prefijo DZ +### Comprender Su Prefijo DZ -Su prefijo DZ es un bloque de direcciones IP públicas que el protocolo DoubleZero gestiona para la asignación de IP. +Su prefijo DZ es un bloque de direcciones IP públicas que el protocolo DoubleZero gestiona para la asignación de IPs. ```mermaid flowchart LR @@ -94,37 +134,38 @@ flowchart LR IP3 -->|Asignada a| U2[Usuario 2] ``` -**Cómo se usan los prefijos DZ:** +**Cómo se utilizan los prefijos DZ:** - **Primera IP**: Reservada para su dispositivo (asignada a la interfaz Loopback100) - **IPs restantes**: Asignadas a tipos específicos de usuarios que se conectan a su DZD: - Usuarios `IBRLWithAllocatedIP` - - Usuarios `EdgeFiltering` - - Publicadores multicast + - Usuarios `EdgeFiltering` (caso de uso futuro) - **Usuarios IBRL**: NO consumen de este pool (usan su propia IP pública) -!!! warning "Reglas de Prefijo DZ" +!!! warning "Reglas del Prefijo DZ" **NO PUEDE usar estas direcciones para:** - - Su propio equipo de red + - Su propio equipamiento de red - Enlaces punto a punto en interfaces DIA - Interfaces de gestión - Cualquier infraestructura fuera del protocolo DZ **Requisitos:** - - Deben ser direcciones IPv4 **globalmente enrutables (públicas)** + - Deben ser direcciones IPv4 **enrutables globalmente (públicas)** - Los rangos de IP privados (10.x, 172.16-31.x, 192.168.x) son rechazados por el contrato inteligente - - **Tamaño mínimo: /29** (8 direcciones), se prefieren prefijos más grandes (por ejemplo, /28, /27) - - Todo el bloque debe estar disponible — no preasigne ninguna dirección + - **Tamaño mínimo: /29** (8 direcciones), se prefieren prefijos más grandes (p. ej., /28, /27) + - El bloque completo debe estar disponible — no pre-asigne ninguna dirección - Si necesita direcciones para su propio equipo (IPs de interfaz DIA, gestión, etc.), use un **pool de direcciones separado**. + Si necesita direcciones para su propio equipamiento (IPs de interfaz DIA, gestión, etc.), use un **pool de direcciones separado**. --- ## Fase 2: Configuración de Cuenta -En esta fase, crea las claves criptográficas que lo identifican a usted y a sus dispositivos en la red. +En esta fase, crea las claves criptográficas que le identifican a usted y a sus dispositivos en la red, y configura la gestión de recompensas. + +Los pasos se ejecutan en este orden por una razón: primero el acceso al repositorio, porque el repositorio contiene las instrucciones para los pasos posteriores, luego sus claves, luego las recompensas. Algunos pasos necesitan que DZF actúe antes de que pueda continuar, y cada uno de los siguientes lo indica. ### Dónde Ejecutar el CLI @@ -133,9 +174,9 @@ En esta fase, crea las claves criptográficas que lo identifican a usted y a sus ```mermaid flowchart LR - subgraph "Servidor/VM de Gestión" + subgraph "Servidor de Gestión/VM" CLI[CLI DoubleZero] - KEYS[Sus Keypairs] + KEYS[Sus Pares de Claves] end subgraph "Su Switch DZD" @@ -149,32 +190,44 @@ En esta fase, crea las claves criptográficas que lo identifican a usted y a sus ``` | Instalar en Servidor de Gestión | Instalar en Switch | - |-----------------------------|-------------------| + |---------------------------------|--------------------| | CLI `doublezero` | Agente de Configuración | - | Su keypair de servicio | Agente de Telemetría | - | Su keypair de editor de métricas | Keypair de editor de métricas (copia) | + | Su par de claves de servicio | Agente de Telemetría | + | Su par de claves del publicador de métricas | Par de claves del publicador de métricas (copia) | ### ¿Qué Son las Claves? Piense en las claves como credenciales de inicio de sesión seguras: -- **Clave de Servicio**: Su identidad de contribuidor — usada para ejecutar comandos del CLI -- **Clave de Editor de Métricas**: La identidad de su dispositivo para enviar datos de telemetría +- **Clave de Servicio**: Su identidad como contribuidor - utilizada para ejecutar comandos del CLI +- **Clave del Publicador de Métricas**: La identidad de su dispositivo para enviar datos de telemetría +- **Clave del Gestor de Recompensas**: Controla qué billeteras reciben sus recompensas - ver [Gestión de Recompensas](https://github.com/malbeclabs/contributors#rewards-management) en el repositorio de contribuidores -Ambas son keypairs criptográficos (una clave pública que comparte, una clave privada que mantiene en secreto). +Las tres son pares de claves criptográficas (una clave pública que comparte, una clave privada que mantiene en secreto). ```mermaid flowchart LR subgraph "Sus Claves" SK[Clave de Servicio
~/.config/solana/id.json] - MK[Clave de Editor de Métricas
~/.config/doublezero/metrics-publisher.json] + MK[Clave del Publicador de Métricas
~/.config/doublezero/metrics-publisher.json] + RK[Clave del Gestor de Recompensas
mantener sin conexión] end - SK -->|Usada para| CLI[Comandos CLI
doublezero device create
doublezero link create] - MK -->|Usada para| TEL[Agente de Telemetría
Envía métricas onchain] + SK -->|Usada para| CLI[Comandos del CLI
doublezero device create
doublezero link create] + MK -->|Usada para| TEL[Agente de Telemetría
Envía métricas on-chain] + RK -->|Usada para| REW[Portal de Recompensas
Establece billeteras destinatarias] ``` -### Paso 2.1: Generar Su Clave de Servicio +!!! note "Mantenga la clave del gestor de recompensas separada" + La clave de servicio y la clave del publicador de métricas residen en su servidor de gestión y switch. La clave del gestor de recompensas controla a dónde va su dinero, así que manténgala fuera de esas máquinas. Solo se necesita cuando cambia sus billeteras destinatarias. + +### Paso 2.1: Solicitar Acceso al Repositorio de Contribuidores + +Contacte a la Fundación DoubleZero o Malbec Labs y proporcióneles su **nombre de usuario de GitHub**. + +Le otorgarán acceso al repositorio privado [malbeclabs/contributors](https://github.com/malbeclabs/contributors). Haga esto primero: el repositorio contiene la configuración base del dispositivo, los perfiles TCAM y ACL, y las instrucciones de gestión de recompensas que necesita en los pasos siguientes. + +### Paso 2.2: Generar Su Clave de Servicio Esta es su identidad principal para interactuar con DoubleZero. @@ -182,29 +235,26 @@ Esta es su identidad principal para interactuar con DoubleZero. doublezero keygen ``` -Esto crea un keypair en la ubicación predeterminada. La salida muestra su **clave pública** — esto es lo que compartirá con DZF. +Esto crea un par de claves en la ubicación predeterminada. La salida muestra su **clave pública** - esto es lo que compartirá con DZF. -### Paso 2.2: Generar Su Clave de Editor de Métricas +### Paso 2.3: Generar Su Clave del Publicador de Métricas -Esta clave la usa el Agente de Telemetría para firmar envíos de métricas. +Esta clave es utilizada por el Agente de Telemetría para firmar los envíos de métricas. ```bash doublezero keygen -o ~/.config/doublezero/metrics-publisher.json ``` -### Paso 2.3: Enviar Claves a DZF +### Paso 2.4: Enviar Su Clave de Servicio a DZF -Contacte a la Fundación DoubleZero o Malbec Labs y proporcione: +Envíe a DZF su **clave pública de servicio**. -1. Su **clave pública de la clave de servicio** -2. Su **nombre de usuario de GitHub** (para acceso al repositorio) +Ellos crearán su **cuenta de contribuidor** on-chain y confirmarán cuando esté listo. -Ellos: +!!! danger "Solo claves públicas" + Nunca envíe una clave privada o un archivo de par de claves a nadie, incluyendo a DZF. Solo la clave pública es necesaria. -- Crearán su **cuenta de contribuidor** onchain -- Otorgarán acceso al **repositorio de contribuidores** privado - -### Paso 2.4: Verificar Su Cuenta +### Paso 2.5: Verificar Su Cuenta Una vez confirmado, verifique que su cuenta de contribuidor existe: @@ -214,80 +264,98 @@ doublezero contributor list Debería ver su código de contribuidor en la lista. -### Paso 2.5: Acceder al Repositorio de Contribuidores +### Paso 2.6: Configurar la Gestión de Recompensas -El repositorio [malbeclabs/contributors](https://github.com/malbeclabs/contributors) contiene: +La gestión de recompensas decide qué billeteras reciben los [2Z](glossary.md#2z-token) que genera su contribución, y en qué proporciones. -- Configuraciones base de dispositivos -- Perfiles TCAM -- Configuraciones ACL -- Instrucciones de configuración adicionales +Siga las instrucciones de [Gestión de Recompensas](https://github.com/malbeclabs/contributors#rewards-management) en el repositorio de contribuidores, al que ahora tiene acceso desde el Paso 2.1. -Siga las instrucciones allí para la configuración específica del dispositivo. +!!! note "Esto no bloquea el resto de su configuración" + Puede aprovisionar su dispositivo, establecer enlaces y comenzar a transportar tráfico sin tener esto en su lugar, así que trate las fases siguientes como independientes de esto. --- -## Fase 3: Aprovisionamiento de Dispositivos +## Fase 3: Aprovisionamiento del Dispositivo Ahora registrará su dispositivo físico en la blockchain y configurará sus interfaces. -### Comprendiendo los Tipos de Dispositivos +### Comprender los Tipos de Dispositivo + +**Edge** — acepta solo conexiones de usuarios ```mermaid -flowchart TB - subgraph "Dispositivo de Borde" - E[DZD de Borde] - EU[Los usuarios se conectan aquí] - EU --> E - E <-->|Enlace DZX| ED[Otro DZD] +flowchart LR + subgraph EDZD[DZD Edge] + E_CYOA["Interfaz DIA · CYOA"] + E_TUN["Loopback100/101 + (endpoint de túnel de usuario)"] + E_DZX["Interfaz de enlace DZX"] + E_CYOA --- E_TUN end + EU["Usuarios"] -.|Túnel GRE|.-> E_CYOA + E_DZX <-->|Enlace DZX| ED["DZD (diferente contribuidor)"] +``` + +**Transit** — mueve tráfico entre dispositivos, sin conexiones de usuarios - subgraph "Dispositivo de Tránsito" - T[DZD de Tránsito] - T <-->|Enlace WAN| T2[Otro DZD] - T <-->|Enlace DZX| TD[Otro DZD] +```mermaid +flowchart LR + subgraph TDZD[DZD Transit] + T_WAN["Interfaz de enlace WAN"] + T_DZX["Interfaz de enlace DZX"] end + T_WAN <-->|Enlace WAN| T2["DZD (mismo contribuidor)"] + T_DZX <-->|Enlace DZX| TD["DZD (diferente contribuidor)"] +``` + +**Hybrid** — conexiones de usuarios y backbone, el más común - subgraph "Dispositivo Híbrido" - H[DZD Híbrido] - HU[Los usuarios se conectan aquí] - HU --> H - H <-->|Enlace WAN| H2[Otro DZD] - H <-->|Enlace DZX| HD[Otro DZD] +```mermaid +flowchart LR + subgraph HDZD[DZD Hybrid] + H_CYOA["Interfaz DIA · CYOA"] + H_TUN["Loopback100/101 + (endpoint de túnel de usuario)"] + H_WAN["Interfaz de enlace WAN"] + H_DZX["Interfaz de enlace DZX"] + H_CYOA --- H_TUN end + HU["Usuarios"] -.|Túnel GRE|.-> H_CYOA + H_WAN <-->|Enlace WAN| H2["DZD (mismo contribuidor)"] + H_DZX <-->|Enlace DZX| HD["DZD (diferente contribuidor)"] ``` -| Tipo | Qué Hace | Cuándo Usar | -|------|--------------|-------------| -| **Borde** | Solo acepta conexiones de usuarios | Ubicación única, solo orientado al usuario | -| **Tránsito** | Mueve tráfico entre dispositivos | Conectividad de backbone, sin usuarios | -| **Híbrido** | Conexiones de usuarios Y backbone | Lo más común — hace todo | +| Tipo | Qué Hace | Cuándo Usarlo | +|------|----------|---------------| +| **Edge** | Acepta solo conexiones de usuarios | Ubicación única, solo orientado al usuario | +| **Transit** | Mueve tráfico entre dispositivos | Conectividad backbone, sin usuarios | +| **Hybrid** | Tanto conexiones de usuarios COMO backbone | Más común - hace todo | -### Paso 3.1: Encontrar Su Ubicación e Exchange +### Paso 3.1: Encontrar Su Ubicación e Intercambio -Antes de crear su dispositivo, busque los códigos de su ubicación de centro de datos y el exchange más cercano: +Antes de crear su dispositivo, busque los códigos de la ubicación de su centro de datos y el intercambio más cercano: ```bash # Listar ubicaciones disponibles (centros de datos) doublezero location list -# Listar exchanges disponibles (puntos de interconexión) +# Listar intercambios disponibles (puntos de interconexión) doublezero exchange list ``` -### Paso 3.2: Crear Su Dispositivo Onchain +### Paso 3.2: Crear Su Dispositivo On-chain Registre su dispositivo en la blockchain: ```bash doublezero device create \ - --code \ - --contributor \ + --code \ + --contributor \ --device-type hybrid \ - --location \ - --exchange \ - --public-ip \ - --dz-prefixes + --location \ + --exchange \ + --public-ip \ + --dz-prefixes ``` **Ejemplo:** @@ -319,24 +387,24 @@ doublezero device list | grep nyc-dz001 | Parámetro | Qué Significa | |-----------|---------------| -| `--code` | Un nombre único para su dispositivo (por ejemplo, `nyc-dz001`) | -| `--contributor` | Su código de contribuidor (dado por DZF) | +| `--code` | Un nombre único para su dispositivo (p. ej., `nyc-dz001`) | +| `--contributor` | Su código de contribuidor (proporcionado por DZF) | | `--device-type` | `hybrid`, `transit` o `edge` | | `--location` | Código del centro de datos de `location list` | -| `--exchange` | Código del exchange más cercano de `exchange list` | -| `--public-ip` | La IP pública donde los usuarios se conectan a su dispositivo a través de internet | -| `--dz-prefixes` | Su bloque de IP asignado para usuarios | +| `--exchange` | Código del intercambio más cercano de `exchange list` | +| `--public-ip` | La IP pública donde los usuarios se conectan a su dispositivo por internet | +| `--dz-prefixes` | Su bloque de IPs asignado para usuarios | ### Paso 3.3: Crear Interfaces Loopback Requeridas -Cada dispositivo necesita dos interfaces loopback para el enrutamiento interno: +Cada dispositivo necesita dos interfaces loopback para enrutamiento interno: ```bash # Loopback VPNv4 -doublezero device interface create Loopback255 --loopback-type vpnv4 +doublezero device interface create Loopback255 --loopback-type vpnv4 # Loopback IPv4 -doublezero device interface create Loopback256 --loopback-type ipv4 +doublezero device interface create Loopback256 --loopback-type ipv4 ``` **Salida esperada (para cada comando):** @@ -347,11 +415,18 @@ Signature: 3mNx9K...truncated...8wRt5 ### Paso 3.4: Crear Interfaces Físicas -Registre los puertos físicos que usará: +Registre las interfaces físicas que se utilizarán para enlaces WAN o DZX. Estas interfaces deben existir on-chain antes de que pueda crear un enlace que las referencie. En este paso solo registra la interfaz y su ancho de banda; el enlace se crea en un paso posterior. ```bash -# Interfaz básica -doublezero device interface create Ethernet1/1 +doublezero device interface create \ + --bandwidth +``` + +**Ejemplo:** + +```bash +doublezero device interface create nyc-dz001 Ethernet1/1 \ + --bandwidth 10Gbps ``` **Salida esperada:** @@ -360,34 +435,36 @@ doublezero device interface create Ethernet1/1 Signature: 7pQw2R...truncated...4xKm9 ``` -### Paso 3.5: Crear Interfaz CYOA (para dispositivos de Borde/Híbridos) +Repita esto para cada interfaz que se utilizará como punto final de un enlace WAN o DZX. Las interfaces CYOA y DIA se registran por separado en el siguiente paso. -Los DZDs híbridos y de borde necesitan **dos direcciones IP públicas** en las que los usuarios terminan sus túneles GRE. Los usuarios pueden conectarse por unicast, multicast, o ambos, y qué IP sirve para qué propósito rota por usuario. +### Paso 3.5: Crear Interfaz CYOA (para dispositivos Edge/Hybrid) -Ambas IPs deben registrarse con `--user-tunnel-endpoint true`, ya sea en una interfaz física o en un loopback. Esto incluye la IP que proporcionó en el momento de la creación del dispositivo; esa IP aún necesita registrarse explícitamente aquí. +Los DZDs hybrid y edge necesitan **dos direcciones IP públicas** donde los usuarios terminan sus túneles GRE. Los usuarios pueden conectarse por unicast, multicast o ambos, y qué IP sirve para qué propósito rota por usuario. + +Ambas IPs deben registrarse con `--user-tunnel-endpoint true`, ya sea en una interfaz física o en un loopback. Esto incluye la IP que proporcionó en el momento de la creación del dispositivo; esa IP aún necesita ser registrada explícitamente aquí. Si tiene restricciones de IP, puede usar el primer `/32` de su prefijo DZ como una de las dos IPs. #### CYOA y DIA -| Tipo | Flag | Propósito | -|------|------|-----------| +| Tipo | Bandera | Propósito | +|------|---------|-----------| | DIA | `--interface-dia dia` | Marca el puerto como acceso directo a internet | -| CYOA | `--interface-cyoa ` | Declara cómo los usuarios conectan túneles GRE a su dispositivo | +| CYOA | `--interface-cyoa ` | Declara cómo los usuarios conectan túneles GRE a su dispositivo | -El flag CYOA siempre se establece en una **interfaz física** (puerto Ethernet o port channel). Nunca en un loopback. +La bandera CYOA siempre se establece en una **interfaz física** (puerto Ethernet o canal de puertos). Nunca en un loopback. -| Subtipo CYOA | Cuándo usar | -|-------------|-------------| -| `gre-over-dia` | Los usuarios se conectan a través de internet público. El más común. | -| `gre-over-private-peering` | Los usuarios se conectan mediante un cross-connect directo o circuito privado | +| Subtipo CYOA | Cuándo usarlo | +|--------------|---------------| +| `gre-over-dia` | Los usuarios se conectan por internet público. El más común. | +| `gre-over-private-peering` | Los usuarios se conectan mediante una conexión cruzada directa o circuito privado | | `gre-over-public-peering` | Los usuarios hacen peering con usted en un Internet Exchange (IX) | | `gre-over-fabric` | Los usuarios están co-ubicados y se conectan a través de un fabric local | -| `gre-over-cable` | Conexión de cable directo a un único usuario dedicado | +| `gre-over-cable` | Conexión directa por cable a un único usuario dedicado | #### Escenario A: Interfaz física única -Un uplink físico al ISP. Ethernet1/1 es la interfaz CYOA y DIA y lleva una de las dos IPs públicas. Loopback100 lleva la segunda IP pública. +Un único enlace ascendente físico al ISP. Ethernet1/1 es la interfaz CYOA y DIA y lleva una de las dos IPs públicas. Loopback100 lleva la segunda IP pública. ```mermaid flowchart LR @@ -396,9 +473,9 @@ flowchart LR subgraph DZD["DZD"] E1["Eth1/1 203.0.113.1/30 - CYOA · DIA · user tunnel endpoint"] + CYOA · DIA · endpoint de túnel de usuario"] LO["Loopback100 - 198.51.100.1/32\n user tunnel endpoint"] + 198.51.100.1/32\n endpoint de túnel de usuario"] E1 --- LO end @@ -411,11 +488,11 @@ flowchart LR ``` | Interfaz | `--interface-cyoa` | `--interface-dia` | `--ip-net` | `--bandwidth` | `--cir` | `--routing-mode` | `--user-tunnel-endpoint` | -|----------|-------------------|------------------|------------|---------------|---------|-----------------|--------------------------| +|-----------|-------------------|------------------|------------|---------------|---------|-----------------|--------------------------| | Ethernet1/1 | `gre-over-dia` | `dia` | IP/subred asignada por el contribuidor | velocidad del puerto | tasa comprometida | `bgp` o `static` | `true` | | Loopback100 | — | — | su /32 público | `0bps` | — | — | `true` | -Ejemplo de comandos basado en el Escenario A: +Ejemplo de comandos a ejecutar basándose en el Escenario A: ```bash doublezero device interface create mydzd-nyc01 Ethernet1/1 \ --interface-cyoa gre-over-dia \ @@ -432,26 +509,26 @@ doublezero device interface create mydzd-nyc01 Loopback100 \ --user-tunnel-endpoint true ``` -#### Escenario B: Port channel (LAG) +#### Escenario B: Canal de puertos (LAG) -El DZD se conecta al dispositivo upstream mediante un port channel con una IP. El port channel lleva una IP pública y es el endpoint CYOA. Loopback100 lleva la segunda IP pública. +El DZD se conecta al dispositivo upstream mediante un canal de puertos con una IP. El canal de puertos lleva una IP pública y es el endpoint CYOA. Loopback100 lleva la segunda IP pública. ```mermaid flowchart LR USERS(["Usuarios Finales"]) - subgraph SW["Router/Switch Upstream"] + subgraph SW["Router / Switch Upstream"] SWPC(["bond0 203.0.113.2/30"]) end subgraph DZD["DZD"] - subgraph PC["Port-Channel1 · 203.0.113.1/30 · CYOA · DIA · user tunnel endpoint"] + subgraph PC["Port-Channel1 · 203.0.113.1/30 · CYOA · DIA · endpoint de túnel de usuario"] E1["Eth1/1"] E2["Eth2/1"] end LO["Loopback100 - 198.51.100.1/32\n user tunnel endpoint"] + 198.51.100.1/32\n endpoint de túnel de usuario"] PC --- LO end @@ -461,11 +538,11 @@ flowchart LR ``` | Interfaz | `--interface-cyoa` | `--interface-dia` | `--ip-net` | `--bandwidth` | `--cir` | `--routing-mode` | `--user-tunnel-endpoint` | -|----------|-------------------|------------------|------------|---------------|---------|-----------------|--------------------------| +|-----------|-------------------|------------------|------------|---------------|---------|-----------------|--------------------------| | Port-Channel1 | `gre-over-dia` | `dia` | IP/subred asignada por el contribuidor | velocidad combinada del LAG | tasa comprometida | `bgp` o `static` | `true` | | Loopback100 | — | — | su /32 público | `0bps` | — | — | `true` | -Ejemplo de comandos basado en el Escenario B: +Ejemplo de comandos a ejecutar basándose en el Escenario B: ```bash doublezero device interface create mydzd-fra01 Port-Channel1 \ --interface-cyoa gre-over-dia \ @@ -482,9 +559,10 @@ doublezero device interface create mydzd-fra01 Loopback100 \ --user-tunnel-endpoint true ``` -#### Escenario C: Doble uplink físico a routers separados -Cada interfaz física se conecta a un router upstream diferente. Las dos IPs públicas se alojan en Loopback100 y Loopback101, ambas registradas como endpoints de túnel de usuario. +#### Escenario C: Enlaces ascendentes físicos duales a routers separados + +Cada interfaz física se conecta a un router upstream diferente. Las dos IPs públicas residen en Loopback100 y Loopback101, ambos registrados como endpoints de túnel de usuario. ```mermaid flowchart LR @@ -503,9 +581,9 @@ flowchart LR 203.0.113.5/30 CYOA · DIA"] LO0["Loopback100 - 198.51.100.1/32\n user tunnel endpoint"] + 198.51.100.1/32\n endpoint de túnel de usuario"] LO1["Loopback101 - 198.51.100.2/32\n user tunnel endpoint"] + 198.51.100.2/32\n endpoint de túnel de usuario"] E1 --> LO0 E2 --> LO1 end @@ -517,496 +595,10 @@ flowchart LR ``` | Interfaz | `--interface-cyoa` | `--interface-dia` | `--ip-net` | `--bandwidth` | `--cir` | `--routing-mode` | `--user-tunnel-endpoint` | -|----------|-------------------|------------------|------------|---------------|---------|-----------------|--------------------------| +|-----------|-------------------|------------------|------------|---------------|---------|-----------------|--------------------------| | Ethernet1/1 | `gre-over-dia` | `dia` | IP/subred asignada por el contribuidor | velocidad del puerto | tasa comprometida | `bgp` o `static` | — | | Ethernet2/1 | `gre-over-dia` | `dia` | IP/subred asignada por el contribuidor | velocidad del puerto | tasa comprometida | `bgp` o `static` | — | | Loopback100 | — | — | su /32 público | `0bps` | — | — | `true` | | Loopback101 | — | — | su /32 público | `0bps` | — | — | `true` | -Ejemplo de comandos basado en el Escenario C: -```bash -doublezero device interface create mydzd-ams01 Ethernet1/1 \ - --interface-cyoa gre-over-dia \ - --interface-dia dia \ - --ip-net 203.0.113.1/30 \ - --bandwidth 10Gbps \ - --cir 1Gbps \ - --routing-mode bgp - -doublezero device interface create mydzd-ams01 Ethernet2/1 \ - --interface-cyoa gre-over-dia \ - --interface-dia dia \ - --ip-net 203.0.113.5/30 \ - --bandwidth 10Gbps \ - --cir 1Gbps \ - --routing-mode bgp - -doublezero device interface create mydzd-ams01 Loopback100 \ - --ip-net 198.51.100.1/32 \ - --bandwidth 0bps \ - --user-tunnel-endpoint true - -doublezero device interface create mydzd-ams01 Loopback101 \ - --ip-net 198.51.100.2/32 \ - --bandwidth 0bps \ - --user-tunnel-endpoint true -``` - -### Paso 3.6: Verificar Su Dispositivo - -```bash -doublezero device list -``` - -**Ejemplo de salida:** - -``` - account | code | contributor | location | exchange | device_type | public_ip | dz_prefixes | users | max_users | status | health | mgmt_vrf | owner - 7xKm9pQw2R4vHt3... | nyc-dz001 | acme | EQX-NY5 | nyc | hybrid | 203.0.113.10 | 198.51.100.0/28 | 0 | 14 | activated | pending | | 5FMtd5Woq5XAAg54... -``` - -Su dispositivo debería aparecer con el estado `activated`. - ---- - -## Fase 4: Establecimiento de Enlace e Instalación de Agentes - -Los enlaces conectan su dispositivo al resto de la red DoubleZero. - -### Comprendiendo los Enlaces - -```mermaid -flowchart LR - subgraph "Su Red" - D1[Su DZD 1
NYC] - D2[Su DZD 2
LAX] - end - - subgraph "Otro Contribuidor" - O1[Su DZD
NYC] - end - - D1 ---|Enlace WAN
Mismo contribuidor| D2 - D1 ---|Enlace DZX
Diferentes contribuidores| O1 -``` - -| Tipo de Enlace | Conecta | Aceptación | -|-----------|----------|------------| -| **Enlace WAN** | Dos de SUS dispositivos | Automática (usted posee ambos) | -| **Enlace DZX** | Su dispositivo a OTRO contribuidor | Requiere su aceptación | - -### Paso 4.1: Crear Enlaces WAN (si tiene múltiples dispositivos) - -Los enlaces WAN conectan sus propios dispositivos: - -```bash -doublezero link create wan \ - --code \ - --contributor \ - --side-a \ - --side-a-interface \ - --side-z \ - --side-z-interface \ - --bandwidth 10000 \ - --mtu 9000 \ - --delay-ms 20 \ - --jitter-ms 1 -``` - -**Ejemplo:** - -```bash -doublezero link create wan \ - --code nyc-lax-wan01 \ - --contributor acme \ - --side-a nyc-dz001 \ - --side-a-interface Ethernet3/1 \ - --side-z lax-dz001 \ - --side-z-interface Ethernet3/1 \ - --bandwidth 10000 \ - --mtu 9000 \ - --delay-ms 65 \ - --jitter-ms 1 -``` - -**Salida esperada:** - -``` -Signature: 5tNm7K...truncated...9pRw2 -``` - -### Paso 4.2: Crear Enlaces DZX - -Los enlaces DZX conectan su dispositivo directamente al DZD de otro contribuidor: - -```bash -doublezero link create dzx \ - --code \ - --contributor \ - --side-a \ - --side-a-interface \ - --side-z \ - --bandwidth \ - --mtu \ - --delay-ms \ - --jitter-ms -``` - -**Salida esperada:** - -``` -Signature: 8mKp3W...truncated...2nRx7 -``` - -Después de crear un enlace DZX, el otro contribuidor debe aceptarlo: - -```bash -# El OTRO contribuidor ejecuta esto -doublezero link accept \ - --code \ - --side-z-interface -``` - -**Salida esperada (para el contribuidor que acepta):** - -``` -Signature: 6vQt9L...truncated...3wPm4 -``` - -### Paso 4.3: Verificar Enlaces - -```bash -doublezero link list -``` - -**Ejemplo de salida:** - -``` - account | code | contributor | side_a_name | side_a_iface_name | side_z_name | side_z_iface_name | link_type | bandwidth | mtu | delay_ms | jitter_ms | delay_override_ms | tunnel_id | tunnel_net | status | health | owner - 8vkYpXaBW8RuknJq... | nyc-dz001:lax-dz001 | acme | nyc-dz001 | Ethernet3/1 | lax-dz001 | Ethernet3/1 | WAN | 10Gbps | 9000 | 65.00ms | 1.00ms | 0.00ms | 42 | 172.16.0.84/31 | activated | pending | 5FMtd5Woq5XAAg54... -``` - -Los enlaces deben mostrar el estado `activated` una vez que ambos lados estén configurados. - ---- - -### Instalación de Agentes - -Dos agentes de software se ejecutan en su DZD: - -```mermaid -flowchart TB - subgraph "Su DZD" - CA[Agente de Configuración] - TA[Agente de Telemetría] - HW[Hardware/Software del Switch] - end - - CA -->|Obtiene configuración| CTRL[Servicio Controlador] - CA -->|Aplica configuración| HW - - HW -->|Métricas| TA - TA -->|Envía onchain| BC[Ledger DoubleZero] -``` - -| Agente | Qué Hace | -|-------|--------------| -| **Agente de Configuración** | Obtiene configuración del controlador, la aplica a su switch | -| **Agente de Telemetría** | Mide latencia/pérdida hacia otros dispositivos, reporta métricas onchain | - -### Paso 4.4: Instalar el Agente de Configuración - -#### Habilitar la API en su switch - -Agregar a la configuración EOS: - -``` -management api eos-sdk-rpc - transport grpc eapilocal - localhost loopback vrf default - service all - no disabled -``` - -!!! note "Nota sobre VRF" - Reemplace `default` con el nombre de su VRF de gestión si es diferente (por ejemplo, `management`). - -#### Descargar e instalar el agente - -```bash -# Entrar al bash en el switch -switch# bash -$ sudo bash -# cd /mnt/flash -# wget AGENT_DOWNLOAD_URL -# exit -$ exit - -# Instalar como extensión EOS -switch# copy flash:AGENT_FILENAME extension: -switch# extension AGENT_FILENAME -switch# copy installed-extensions boot-extensions -``` - -#### Verificar la extensión - -```bash -switch# show extensions -``` - -El estado debe ser "A, I, B": - -``` -Name Version/Release Status Extension -------------------------------------------- ------------------- ---------- --------- -AGENT_FILENAME MAINNET_CLIENT_VERSION/1 A, I, B 1 - -A: available | NA: not available | I: installed | F: forced | B: install at boot -``` - -#### Configurar e iniciar el agente - -Agregar a la configuración EOS: - -``` -daemon doublezero-agent - exec /usr/local/bin/doublezero-agent -pubkey - no shut -``` - -!!! note "Nota sobre VRF" - Si su VRF de gestión no es `default` (es decir, el espacio de nombres no es `ns-default`), prefije el comando exec con `exec /sbin/ip netns exec ns-`. Por ejemplo, si su VRF es `management`: - ``` - daemon doublezero-agent - exec /sbin/ip netns exec ns-management /usr/local/bin/doublezero-agent -pubkey - no shut - ``` - -Obtenga la pubkey de su dispositivo desde `doublezero device list` (la columna `account`). - -#### Verificar que está ejecutándose - -```bash -switch# show agent doublezero-agent logs -``` - -Debería ver "Starting doublezero-agent" y conexiones exitosas al controlador. - -### Paso 4.5: Instalar el Agente de Telemetría - -#### Copiar la clave de editor de métricas a su dispositivo - -```bash -scp ~/.config/doublezero/metrics-publisher.json :/mnt/flash/metrics-publisher-keypair.json -``` - -#### Registrar el editor de métricas onchain - -```bash -doublezero device update \ - --pubkey \ - --metrics-publisher -``` - -Obtenga la pubkey de su archivo metrics-publisher.json. - -#### Descargar e instalar el agente - -```bash -switch# bash -$ sudo bash -# cd /mnt/flash -# wget TELEMETRY_DOWNLOAD_URL -# exit -$ exit - -# Instalar como extensión EOS -switch# copy flash:TELEMETRY_FILENAME extension: -switch# extension TELEMETRY_FILENAME -switch# copy installed-extensions boot-extensions -``` - -#### Verificar la extensión - -```bash -switch# show extensions -``` - -El estado debe ser "A, I, B": - -``` -Name Version/Release Status Extension -------------------------------------------- ------------------- ---------- --------- -TELEMETRY_FILENAME MAINNET_CLIENT_VERSION/1 A, I, B 1 - -A: available | NA: not available | I: installed | F: forced | B: install at boot -``` - -#### Configurar e iniciar el agente - -Agregar a la configuración EOS: - -``` -daemon doublezero-telemetry - exec /usr/local/bin/doublezero-telemetry --local-device-pubkey --env mainnet --keypair /mnt/flash/metrics-publisher-keypair.json - no shut -``` - -!!! note "Nota sobre VRF" - Si su VRF de gestión no es `default` (es decir, el espacio de nombres no es `ns-default`), agregue `--management-namespace ns-` al comando exec. Por ejemplo, si su VRF es `management`: - ``` - daemon doublezero-telemetry - exec /usr/local/bin/doublezero-telemetry --management-namespace ns-management --local-device-pubkey --env mainnet --keypair /mnt/flash/metrics-publisher-keypair.json - no shut - ``` - -#### Verificar que está ejecutándose - -```bash -switch# show agent doublezero-telemetry logs -``` - -Debería ver "Starting telemetry collector" y "Starting submission loop". - ---- - -## Fase 5: Rodaje del Enlace - -!!! warning "Todos los nuevos enlaces deben rodar antes de transportar tráfico" - Los nuevos enlaces deben **estar drenados durante al menos 24 horas** antes de activarse para tráfico de producción. Este requisito de rodaje está definido en [RFC12: Aprovisionamiento de Red](https://github.com/malbeclabs/doublezero/blob/main/rfcs/rfc12-network-provisioning.md), que especifica ~200,000 slots del Ledger DZ (~20 horas) de métricas limpias antes de que un enlace esté listo para servicio. - -Con los agentes instalados y funcionando, monitoree sus enlaces en [metrics.doublezero.xyz](https://metrics.doublezero.xyz) durante al menos 24 horas consecutivas: - -- Panel **"DoubleZero Device-Link Latencies"** — verifique **cero pérdida de paquetes** en el enlace a lo largo del tiempo -- Panel **"DoubleZero Network Metrics"** — verifique **cero errores** en sus enlaces - -Solo quite el drenado del enlace una vez que el período de rodaje muestre un enlace limpio con cero pérdidas y cero errores. - ---- - -## Fase 6: Verificación y Activación - -Repase esta lista de verificación para confirmar que todo está funcionando. - -!!! warning "Su dispositivo comienza bloqueado (`max_users = 0`)" - Cuando se crea un dispositivo, `max_users` se establece en **0** por defecto. Esto significa que ningún usuario puede conectarse a él todavía. Esto es intencional: debe verificar que todo funciona antes de aceptar tráfico de usuarios. - - **Antes de establecer `max_users` por encima de 0, debe:** - - 1. Confirmar que todos los enlaces han completado su **rodaje de 24 horas** con cero pérdidas/errores en [metrics.doublezero.xyz](https://metrics.doublezero.xyz) - 2. **Coordinar con DZ/Malbec Labs** para ejecutar una prueba de conectividad: - - ¿Puede un usuario de prueba conectarse a su dispositivo? - - ¿El usuario recibe rutas sobre la red DZ? - - ¿Puede el usuario enrutar tráfico sobre la red DZ de extremo a extremo? - 3. Solo después de que DZ/ML confirme que las pruebas pasen, establezca max_users en 96: - - ```bash - doublezero device update --pubkey --max-users 96 - ``` - -### Verificaciones del Dispositivo - -```bash -# Su dispositivo debería aparecer con el estado "activated" -doublezero device list | grep -``` - -**Salida esperada:** - -``` - 7xKm9pQw2R4vHt3... | nyc-dz001 | acme | EQX-NY5 | nyc | hybrid | 203.0.113.10 | 198.51.100.0/28 | 0 | 14 | activated | pending | | 5FMtd5Woq5XAAg54... -``` - -```bash -# Sus interfaces deberían estar listadas -doublezero device interface list | grep -``` - -**Salida esperada:** - -``` - nyc-dz001 | Loopback255 | loopback | vpnv4 | none | none | 0 | 0 | 1500 | static | 0 | 172.16.1.91/32 | 56 | false | activated - nyc-dz001 | Loopback256 | loopback | ipv4 | none | none | 0 | 0 | 1500 | static | 0 | 172.16.1.100/32 | 0 | false | activated - nyc-dz001 | Ethernet1/1 | physical | none | none | none | 0 | 0 | 1500 | static | 0 | | 0 | false | activated -``` - -### Verificaciones de Enlace - -```bash -# Los enlaces deben mostrar el estado "activated" -doublezero link list | grep -``` - -**Salida esperada:** - -``` - 8vkYpXaBW8RuknJq... | nyc-lax-wan01 | acme | nyc-dz001 | Ethernet3/1 | lax-dz001 | Ethernet3/1 | WAN | 10Gbps | 9000 | 65.00ms | 1.00ms | 0.00ms | 42 | 172.16.0.84/31 | activated | pending | 5FMtd5Woq5XAAg54... -``` - -### Verificaciones de Agentes - -En el switch: - -```bash -# El agente de configuración debe mostrar obtenciones de configuración exitosas -switch# show agent doublezero-agent logs | tail -20 - -# El agente de telemetría debe mostrar envíos exitosos -switch# show agent doublezero-telemetry logs | tail -20 -``` - -### Diagrama de Verificación Final - -```mermaid -flowchart TB - subgraph "Lista de Verificación" - D[Estado del Dispositivo: activated?] - I[Interfaces: registradas?] - L[Enlaces: activated?] - CA[Agente de Configuración: obteniendo configuración?] - TA[Agente de Telemetría: enviando métricas?] - end - - D --> PASS - I --> PASS - L --> PASS - CA --> PASS - TA --> PASS - - PASS[Todas las Verificaciones Pasan] --> NOTIFY[Notificar a DZF/Malbec Labs
¡Está técnicamente listo!] -``` - ---- - -## Solución de Problemas - -### La creación del dispositivo falla - -- Verifique que su clave de servicio esté autorizada (`doublezero contributor list`) -- Compruebe que los códigos de ubicación y exchange son válidos -- Asegúrese de que el prefijo DZ sea un rango de IP pública válido - -### Enlace atascado en estado "requested" - -- Los enlaces DZX requieren aceptación por parte del otro contribuidor -- Contáctelos para ejecutar `doublezero link accept` - -### El Agente de Configuración no se conecta - -- Verifique que la red de gestión tiene acceso a internet -- Compruebe que la configuración VRF coincide con su configuración -- Asegúrese de que la pubkey del dispositivo es correcta - -### El Agente de Telemetría no envía - -- Verifique que la clave de editor de métricas esté registrada onchain -- Compruebe que el archivo keypair existe en el switch -- Asegúrese de que la pubkey de la cuenta del dispositivo es correcta - ---- - -## Próximos Pasos - -- Revise la [Guía de Operaciones](contribute-operations.md) para actualizaciones de agentes y gestión de enlaces -- Consulte el [Glosario](glossary.md) para definiciones de términos -- Contacte a DZF/Malbec Labs si encuentra problemas +Ejemplo de comandos a ejecutar basándose en el Esc \ No newline at end of file diff --git a/docs/contribute-provisioning.fr.md b/docs/contribute-provisioning.fr.md index b459c25..92e0679 100644 --- a/docs/contribute-provisioning.fr.md +++ b/docs/contribute-provisioning.fr.md @@ -1,62 +1,102 @@ -# Guide de Provisionnement des Dispositifs -!!! warning "This translation was generated using artificial intelligence and has not been reviewed by a human translator. It may contain inaccuracies or errors and should not be relied upon." +--- +description: Guide étape par étape pour provisionner un appareil DoubleZero (DZD) et enregistrer ses interfaces et rôles on-chain. +--- +# Guide de provisionnement d'appareil -Ce guide vous accompagne dans le provisionnement d'un DoubleZero Device (DZD) du début à la fin. Chaque phase correspond à la [Liste de Contrôle d'Intégration](contribute-overview.md#onboarding-checklist). +Ce guide vous accompagne dans le provisionnement d'un appareil DoubleZero (DZD) du début à la fin. Chaque phase correspond à la [Liste de contrôle d'intégration](contribute-overview.md#onboarding-checklist). --- -## Vue d'Ensemble +## Comment tout s'articule + +Ce guide vous accompagne dans l'enregistrement de votre infrastructure on-chain afin que le réseau DoubleZero puisse acheminer le trafic à travers celle-ci. Plus votre appareil est complètement enregistré, plus il est utile au réseau. Une représentation on-chain complète de votre appareil permet un meilleur diagnostic, une meilleure planification de capacité et permet au contrôleur de prendre des décisions éclairées. À terme, l'objectif est que le contrôleur prenne en charge une part croissante de la responsabilité de configuration. + +### Concepts clés + +**Interfaces** + +Les interfaces d'un DZD se présentent sous différentes formes : ports Ethernet, port channels (LAGs composés de plusieurs ports Ethernet) et loopbacks. Chaque interface jouant un rôle dans le réseau doit être enregistrée on-chain avec les indicateurs appropriés afin que le protocole sache ce qu'elle fait. + +Les ports Ethernet et les port channels peuvent remplir les rôles suivants : + +| Indicateur | Ce qu'il signifie | +|------|---------------| +| `--interface-dia dia` | Marque l'interface comme lien montant d'accès internet direct | +| `--interface-cyoa ` | Déclare comment les utilisateurs établissent des tunnels GRE via cette interface (par ex. via l'internet public, via un lien de peering privé) | +| `--user-tunnel-endpoint true` | Cette interface porte une IP publique sur laquelle les utilisateurs terminent leurs tunnels GRE | + +Les interfaces utilisées pour les liens WAN ou DZX ne portent pas d'indicateur spécifique, elles sont enregistrées avec leur bande passante puis référencées lors de la création du lien. -Avant de plonger dans les étapes, voici la vue d'ensemble de ce que vous construisez : +Les interfaces loopback servent plusieurs objectifs : + +| Loopback | Ce qu'il signifie | +|----------|---------------| +| **Loopback100 / 101** | Portent des IP publiques sur lesquelles les utilisateurs terminent leurs tunnels GRE. Enregistrées avec `--user-tunnel-endpoint true`. | +| **Loopback255** (`vpnv4`) | Enregistrée pour que le contrôleur puisse attribuer une IP utilisée pour l'identifiant de routeur BGP, le peering VPN-IPv4 (unicast), l'identité IS-IS et le segment routing | +| **Loopback256** (`ipv4`) | Enregistrée pour que le contrôleur puisse attribuer une IP utilisée pour le peering BGP IPv4 (multicast) et les sessions MSDP | + +**Liens** + +Les liens sont enregistrés séparément des interfaces, et les interfaces doivent exister on-chain avant qu'un lien puisse les référencer. Lorsque vous créez un lien WAN ou DZX, vous spécifiez une interface déjà enregistrée comme point de terminaison physique du lien. Toutes les interfaces ne sont pas liées à un lien : les interfaces DIA, CYOA et loopback ne sont pas connectées à un lien. + +| Terme | Ce qu'il signifie | +|------|---------------| +| **Lien WAN** | Un lien entre deux de vos propres DZD | +| **Lien DZX** | Un lien entre votre DZD et le DZD d'un autre contributeur | + +### Vue d'ensemble de l'architecture ```mermaid flowchart TB subgraph Onchain - SC[Registre DoubleZero] + SC[DoubleZero Ledger] end - subgraph Votre Infrastructure - MGMT[Serveur de Gestion
CLI DoubleZero] - DZD[Votre DZD
Commutateur Arista] - DZD ---|Lien WAN| DZD2[Votre autre DZD] + subgraph Your Infrastructure + MGMT[Management Server
DoubleZero CLI] + subgraph DZD[Your DZD] + CYOA["DIA · CYOA interface
(user-facing uplink)"] + WAN_INTF["WAN link interface"] + DZX_INTF["DZX link interface"] + LO100["Loopback100/101
(user tunnel endpoint)"] + end + DZD2[Your other DZD] end - subgraph Autre Contributeur - OtherDZD[Leur DZD] + subgraph Other Contributor + OtherDZD[Their DZD] end - subgraph Utilisateurs - VAL[Validateurs] - RPC[Nœuds RPC] - end + USERS["Users"] - MGMT -.->|Enregistre dispositifs,
liens, interfaces| SC - DZD ---|Lien DZX| OtherDZD - VAL ---|Connexion via Internet| DZD - RPC ---|Connexion via Internet| DZD + MGMT -.->|Registers devices,
links, interfaces| SC + WAN_INTF ---|WAN Link| DZD2 + DZX_INTF ---|DZX Link| OtherDZD + USERS -.|GRE tunnel|.-> CYOA + CYOA ---|routes to| LO100 ``` --- ## Phase 1 : Prérequis -Avant de pouvoir provisionner un dispositif, vous avez besoin du matériel physique configuré et de quelques adresses IP allouées. +Avant de pouvoir provisionner un appareil, vous devez avoir le matériel physique installé et quelques adresses IP allouées. -### Ce Dont Vous Avez Besoin +### Ce dont vous avez besoin -| Exigence | Pourquoi C'est Nécessaire | -|----------|--------------------------| -| **Matériel DZD** | Commutateur Arista 7280CR3A (voir [spécifications matérielles](contribute.md#hardware-requirements)) | -| **Espace Baie** | 4U avec une ventilation appropriée | -| **Alimentation** | Alimentations redondantes, ~4KW recommandé | -| **Accès Gestion** | Accès SSH/console pour configurer le commutateur | -| **Connectivité Internet** | Pour la publication de métriques et pour récupérer la configuration depuis le contrôleur | -| **Bloc IPv4 Public** | Minimum /29 pour le pool de préfixes DZ (voir ci-dessous) | +| Exigence | Pourquoi c'est nécessaire | +|-------------|-----------------| +| **Matériel DZD** | Switch Arista 7280CR3A (voir [spécifications matérielles](contribute.md#hardware-requirements)) | +| **Espace rack** | 2U réservés par DZD (1U utilisé aujourd'hui), avec une ventilation appropriée. Voir [Rack et alimentation](contribute.md#rack-power-requirements) | +| **Alimentation** | Deux alimentations indépendantes, chacune capable de supporter la charge totale seule. Voir [Rack et alimentation](contribute.md#rack-power-requirements) | +| **Accès de gestion** | Accès SSH/console pour configurer le switch | +| **Connectivité Internet** | Pour la publication de métriques et la récupération de configuration depuis le contrôleur | +| **Bloc IPv4 public** | Minimum /29 pour le pool de préfixes DZ (voir ci-dessous) | -### Installer la CLI DoubleZero +### Installer le CLI DoubleZero -La CLI DoubleZero (`doublezero`) est utilisée tout au long du provisionnement pour enregistrer les dispositifs, créer des liens et gérer votre contribution. Elle doit être installée sur un **serveur de gestion ou une VM** — pas sur le commutateur DZD lui-même. Le commutateur n'exécute que l'Agent de Configuration et l'Agent de Télémétrie (installés dans la [Phase 4](#phase-4-etablissement-des-liens-et-installation-des-agents)). +Le CLI DoubleZero (`doublezero`) est utilisé tout au long du provisionnement pour enregistrer les appareils, créer des liens et gérer votre contribution. Il doit être installé sur un **serveur de gestion ou une VM** — pas sur le switch DZD lui-même. Le switch exécute uniquement le Config Agent et le Telemetry Agent (installés en [Phase 4](#phase-4-etablissement-des-liens-installation-des-agents)). **Ubuntu / Debian :** ```bash @@ -75,106 +115,119 @@ Vérifiez que le démon est en cours d'exécution : sudo systemctl status doublezerod ``` -### Comprendre Votre Préfixe DZ +### Comprendre votre préfixe DZ -Votre préfixe DZ est un bloc d'adresses IP publiques que le protocole DoubleZero gère pour l'allocation IP. +Votre préfixe DZ est un bloc d'adresses IP publiques que le protocole DoubleZero gère pour l'allocation d'IP. ```mermaid flowchart LR - subgraph "Votre Bloc /29 (8 IPs)" - IP1["Première IP
Réservée pour
votre dispositif"] + subgraph "Your /29 Block (8 IPs)" + IP1["First IP
Reserved for
your device"] IP2["IP 2"] IP3["IP 3"] IP4["..."] IP8["IP 8"] end - IP1 -->|Attribuée à| LO[Loopback100
sur votre DZD] - IP2 -->|Allouée à| U1[Utilisateur 1] - IP3 -->|Allouée à| U2[Utilisateur 2] + IP1 -->|Assigned to| LO[Loopback100
on your DZD] + IP2 -->|Allocated to| U1[User 1] + IP3 -->|Allocated to| U2[User 2] ``` **Comment les préfixes DZ sont utilisés :** -- **Première IP** : Réservée pour votre dispositif (attribuée à l'interface Loopback100) -- **IPs restantes** : Allouées à des types d'utilisateurs spécifiques se connectant à votre DZD : +- **Première IP** : Réservée à votre appareil (attribuée à l'interface Loopback100) +- **IP restantes** : Allouées à des types d'utilisateurs spécifiques se connectant à votre DZD : - Utilisateurs `IBRLWithAllocatedIP` - - Utilisateurs `EdgeFiltering` - - Éditeurs multicast -- **Utilisateurs IBRL** : N'utilisent PAS ce pool (ils utilisent leur propre IP publique) + - Utilisateurs `EdgeFiltering` (cas d'usage futur) +- **Utilisateurs IBRL** : Ne consomment PAS de ce pool (ils utilisent leur propre IP publique) -!!! warning "Règles du Préfixe DZ" +!!! warning "Règles des préfixes DZ" **Vous NE POUVEZ PAS utiliser ces adresses pour :** - - Votre propre matériel réseau - - Les liens point à point sur les interfaces DIA + - Votre propre équipement réseau + - Les liens point-à-point sur les interfaces DIA - Les interfaces de gestion - Toute infrastructure en dehors du protocole DZ **Exigences :** - - Doivent être des adresses IPv4 **globalement routables (publiques)** - - Les plages IP privées (10.x, 172.16-31.x, 192.168.x) sont rejetées par le contrat intelligent - - **Taille minimale : /29** (8 adresses), les préfixes plus grands sont préférés (par exemple, /28, /27) + - Doivent être des adresses IPv4 **routables globalement (publiques)** + - Les plages d'IP privées (10.x, 172.16-31.x, 192.168.x) sont rejetées par le smart contract + - **Taille minimale : /29** (8 adresses), des préfixes plus grands sont préférables (par ex. /28, /27) - Le bloc entier doit être disponible — ne pré-allouez aucune adresse - Si vous avez besoin d'adresses pour votre propre équipement (IPs d'interface DIA, gestion, etc.), utilisez un **pool d'adresses séparé**. + Si vous avez besoin d'adresses pour votre propre équipement (IP d'interface DIA, gestion, etc.), utilisez un **pool d'adresses séparé**. --- -## Phase 2 : Configuration du Compte +## Phase 2 : Configuration du compte -Dans cette phase, vous créez les clés cryptographiques qui vous identifient, vous et vos dispositifs, sur le réseau. +Dans cette phase, vous créez les clés cryptographiques qui vous identifient, vous et vos appareils, sur le réseau, et vous configurez la gestion des récompenses. -### Où Exécuter la CLI +Les étapes s'exécutent dans cet ordre pour une raison : d'abord l'accès au dépôt, car celui-ci contient les instructions pour les étapes suivantes, puis vos clés, puis les récompenses. Certaines étapes nécessitent que DZF agisse avant que vous puissiez continuer, et chacune ci-dessous le précise. -!!! warning "N'installez PAS la CLI sur votre commutateur" - La CLI DoubleZero (`doublezero`) doit être installée sur un **serveur de gestion ou une VM**, pas sur votre commutateur Arista. +### Où exécuter le CLI + +!!! warning "N'installez PAS le CLI sur votre switch" + Le CLI DoubleZero (`doublezero`) doit être installé sur un **serveur de gestion ou une VM**, pas sur votre switch Arista. ```mermaid flowchart LR - subgraph "Serveur/VM de Gestion" - CLI[CLI DoubleZero] - KEYS[Vos Paires de Clés] + subgraph "Management Server/VM" + CLI[DoubleZero CLI] + KEYS[Your Keypairs] end - subgraph "Votre Commutateur DZD" - CA[Agent de Configuration] - TA[Agent de Télémétrie] + subgraph "Your DZD Switch" + CA[Config Agent] + TA[Telemetry Agent] end - CLI -->|Crée dispositifs, liens| BC[Blockchain] - CA -->|Récupère la config| CTRL[Contrôleur] - TA -->|Soumet les métriques| BC + CLI -->|Creates devices, links| BC[Blockchain] + CA -->|Pulls config| CTRL[Controller] + TA -->|Submits metrics| BC ``` - | Installer sur le Serveur de Gestion | Installer sur le Commutateur | - |------------------------------------|------------------------------| - | CLI `doublezero` | Agent de Configuration | - | Votre clé de service | Agent de Télémétrie | - | Votre clé de publication de métriques | Clé de publication de métriques (copie) | + | Installer sur le serveur de gestion | Installer sur le switch | + |-----------------------------|-------------------| + | CLI `doublezero` | Config Agent | + | Votre paire de clés de service | Telemetry Agent | + | Votre paire de clés du publieur de métriques | Paire de clés du publieur de métriques (copie) | -### Qu'est-ce que les Clés ? +### Que sont les clés ? -Pensez aux clés comme des identifiants de connexion sécurisés : +Considérez les clés comme des identifiants de connexion sécurisés : -- **Clé de Service** : Votre identité de contributeur — utilisée pour exécuter les commandes CLI -- **Clé de Publication de Métriques** : L'identité de votre dispositif pour soumettre les données de télémétrie +- **Clé de service** : Votre identité de contributeur — utilisée pour exécuter les commandes CLI +- **Clé du publieur de métriques** : L'identité de votre appareil pour soumettre les données de télémétrie +- **Clé du gestionnaire de récompenses** : Contrôle quels portefeuilles reçoivent vos récompenses — voir [Gestion des récompenses](https://github.com/malbeclabs/contributors#rewards-management) dans le dépôt des contributeurs -Les deux sont des paires de clés cryptographiques (une clé publique que vous partagez, une clé privée que vous gardez secrète). +Les trois sont des paires de clés cryptographiques (une clé publique que vous partagez, une clé privée que vous gardez secrète). ```mermaid flowchart LR - subgraph "Vos Clés" - SK[Clé de Service
~/.config/solana/id.json] - MK[Clé de Publication de Métriques
~/.config/doublezero/metrics-publisher.json] + subgraph "Your Keys" + SK[Service Key
~/.config/solana/id.json] + MK[Metrics Publisher Key
~/.config/doublezero/metrics-publisher.json] + RK[Rewards Manager Key
keep offline] end - SK -->|Utilisée pour| CLI[Commandes CLI
doublezero device create
doublezero link create] - MK -->|Utilisée pour| TEL[Agent de Télémétrie
Soumet les métriques onchain] + SK -->|Used for| CLI[CLI Commands
doublezero device create
doublezero link create] + MK -->|Used for| TEL[Telemetry Agent
Submits metrics onchain] + RK -->|Used for| REW[Rewards Portal
Sets recipient wallets] ``` -### Étape 2.1 : Générer Votre Clé de Service +!!! note "Gardez la clé du gestionnaire de récompenses séparée" + La clé de service et la clé du publieur de métriques résident sur votre serveur de gestion et votre switch. La clé du gestionnaire de récompenses contrôle où va votre argent, donc gardez-la hors de ces machines. Elle n'est nécessaire que lorsque vous modifiez vos portefeuilles destinataires. + +### Étape 2.1 : Demander l'accès au dépôt des contributeurs + +Contactez la DoubleZero Foundation ou Malbec Labs et fournissez-leur votre **nom d'utilisateur GitHub**. + +Ils vous accordent l'accès au dépôt privé [malbeclabs/contributors](https://github.com/malbeclabs/contributors). Faites-le en premier : le dépôt contient la configuration de base des appareils, les profils TCAM et ACL, et les instructions de gestion des récompenses dont vous avez besoin dans les étapes suivantes. + +### Étape 2.2 : Générer votre clé de service C'est votre identité principale pour interagir avec DoubleZero. @@ -182,112 +235,127 @@ C'est votre identité principale pour interagir avec DoubleZero. doublezero keygen ``` -Cela crée une paire de clés à l'emplacement par défaut. La sortie montre votre **clé publique** — c'est ce que vous partagerez avec DZF. +Cela crée une paire de clés à l'emplacement par défaut. La sortie affiche votre **clé publique** — c'est ce que vous partagerez avec DZF. -### Étape 2.2 : Générer Votre Clé de Publication de Métriques +### Étape 2.3 : Générer votre clé de publieur de métriques -Cette clé est utilisée par l'Agent de Télémétrie pour signer les soumissions de métriques. +Cette clé est utilisée par le Telemetry Agent pour signer les soumissions de métriques. ```bash doublezero keygen -o ~/.config/doublezero/metrics-publisher.json ``` -### Étape 2.3 : Soumettre les Clés à DZF +### Étape 2.4 : Soumettre votre clé de service à DZF -Contactez la DoubleZero Foundation ou Malbec Labs et fournissez : +Envoyez à DZF votre **clé publique de service**. -1. Votre **clé publique de service** -2. Votre **nom d'utilisateur GitHub** (pour l'accès au dépôt) +Ils créent votre **compte contributeur** on-chain et confirment lorsque c'est fait. -Ils vont : +!!! danger "Clés publiques uniquement" + N'envoyez jamais une clé privée ou un fichier de paire de clés à quiconque, y compris DZF. Seule la clé publique est nécessaire. -- Créer votre **compte de contributeur** onchain -- Accorder l'accès au **dépôt des contributeurs** privé +### Étape 2.5 : Vérifier votre compte -### Étape 2.4 : Vérifier Votre Compte - -Une fois confirmé, vérifiez que votre compte de contributeur existe : +Une fois confirmé, vérifiez que votre compte contributeur existe : ```bash doublezero contributor list ``` -Vous devriez voir votre code de contributeur dans la liste. +Vous devriez voir votre code contributeur dans la liste. -### Étape 2.5 : Accéder au Dépôt des Contributeurs +### Étape 2.6 : Configurer la gestion des récompenses -Le dépôt [malbeclabs/contributors](https://github.com/malbeclabs/contributors) contient : +La gestion des récompenses détermine quels portefeuilles reçoivent les [2Z](glossary.md#2z-token) que votre contribution génère, et dans quelles proportions. -- Configurations de base des dispositifs -- Profils TCAM -- Configurations ACL -- Instructions de configuration supplémentaires +Suivez [Gestion des récompenses](https://github.com/malbeclabs/contributors#rewards-management) dans le dépôt des contributeurs, auquel vous avez désormais accès depuis l'étape 2.1. -Suivez les instructions là-bas pour la configuration spécifique au dispositif. +!!! note "Cela ne bloque pas le reste de votre configuration" + Vous pouvez provisionner votre appareil, établir des liens et commencer à acheminer du trafic sans que cela soit en place, donc traitez les phases ci-dessous comme indépendantes de celle-ci. --- -## Phase 3 : Provisionnement du Dispositif +## Phase 3 : Provisionnement de l'appareil + +Vous allez maintenant enregistrer votre appareil physique sur la blockchain et configurer ses interfaces. -Vous allez maintenant enregistrer votre dispositif physique sur la blockchain et configurer ses interfaces. +### Comprendre les types d'appareils -### Comprendre les Types de Dispositifs +**Edge** — accepte uniquement les connexions utilisateurs ```mermaid -flowchart TB - subgraph "Dispositif Périphérique" - E[DZD Périphérique] - EU[Les utilisateurs se connectent ici] - EU --> E - E <-->|Lien DZX| ED[Autre DZD] +flowchart LR + subgraph EDZD[Edge DZD] + E_CYOA["DIA · CYOA interface"] + E_TUN["Loopback100/101 + (user tunnel endpoint)"] + E_DZX["DZX link interface"] + E_CYOA --- E_TUN end + EU["Users"] -.|GRE tunnel|.-> E_CYOA + E_DZX <-->|DZX Link| ED["DZD (different contributor)"] +``` + +**Transit** — achemine le trafic entre appareils, pas de connexions utilisateurs - subgraph "Dispositif de Transit" - T[DZD de Transit] - T <-->|Lien WAN| T2[Un autre DZD] - T <-->|Lien DZX| TD[Autre DZD] +```mermaid +flowchart LR + subgraph TDZD[Transit DZD] + T_WAN["WAN link interface"] + T_DZX["DZX link interface"] end + T_WAN <-->|WAN Link| T2["DZD (same contributor)"] + T_DZX <-->|DZX Link| TD["DZD (different contributor)"] +``` + +**Hybride** — connexions utilisateurs et backbone, le plus courant - subgraph "Dispositif Hybride" - H[DZD Hybride] - HU[Les utilisateurs se connectent ici] - HU --> H - H <-->|Lien WAN| H2[Un autre DZD] - H <-->|Lien DZX| HD[Autre DZD] +```mermaid +flowchart LR + subgraph HDZD[Hybrid DZD] + H_CYOA["DIA · CYOA interface"] + H_TUN["Loopback100/101 + (user tunnel endpoint)"] + H_WAN["WAN link interface"] + H_DZX["DZX link interface"] + H_CYOA --- H_TUN end + HU["Users"] -.|GRE tunnel|.-> H_CYOA + H_WAN <-->|WAN Link| H2["DZD (same contributor)"] + H_DZX <-->|DZX Link| HD["DZD (different contributor)"] ``` -| Type | Ce Qu'il Fait | Quand l'Utiliser | -|------|--------------|-----------------| -| **Périphérique** | Accepte uniquement les connexions utilisateurs | Emplacement unique, orienté utilisateurs uniquement | -| **Transit** | Déplace le trafic entre dispositifs | Connectivité backbone, sans utilisateurs | +| Type | Ce qu'il fait | Quand l'utiliser | +|------|--------------|-------------| +| **Edge** | Accepte uniquement les connexions utilisateurs | Emplacement unique, orienté utilisateur uniquement | +| **Transit** | Achemine le trafic entre appareils | Connectivité backbone, pas d'utilisateurs | | **Hybride** | Connexions utilisateurs ET backbone | Le plus courant — fait tout | -### Étape 3.1 : Trouver Votre Emplacement et Exchange +### Étape 3.1 : Trouver votre emplacement et échange -Avant de créer votre dispositif, recherchez les codes de votre emplacement de centre de données et de l'exchange le plus proche : +Avant de créer votre appareil, recherchez les codes de votre emplacement de centre de données et de l'échange le plus proche : ```bash -# Lister les emplacements disponibles (centres de données) +# List available locations (data centers) doublezero location list -# Lister les exchanges disponibles (points d'interconnexion) +# List available exchanges (interconnect points) doublezero exchange list ``` -### Étape 3.2 : Créer Votre Dispositif Onchain +### Étape 3.2 : Créer votre appareil on-chain -Enregistrez votre dispositif sur la blockchain : +Enregistrez votre appareil sur la blockchain : ```bash doublezero device create \ - --code \ - --contributor \ + --code \ + --contributor \ --device-type hybrid \ - --location \ - --exchange \ - --public-ip \ - --dz-prefixes + --location \ + --exchange \ + --public-ip \ + --dz-prefixes ``` **Exemple :** @@ -309,34 +377,34 @@ doublezero device create \ Signature: 4vKz8H...truncated...7xPq2 ``` -Vérifiez que votre dispositif a été créé : +Vérifiez que votre appareil a été créé : ```bash doublezero device list | grep nyc-dz001 ``` -**Paramètres expliqués :** +**Explication des paramètres :** -| Paramètre | Ce Qu'il Signifie | -|-----------|------------------| -| `--code` | Un nom unique pour votre dispositif (par exemple, `nyc-dz001`) | -| `--contributor` | Votre code de contributeur (donné par DZF) | -| `--device-type` | `hybrid`, `transit`, ou `edge` | -| `--location` | Code du centre de données de `location list` | -| `--exchange` | Code de l'exchange le plus proche de `exchange list` | -| `--public-ip` | L'IP publique où les utilisateurs se connectent à votre dispositif via internet | -| `--dz-prefixes` | Votre bloc IP alloué pour les utilisateurs | +| Paramètre | Ce qu'il signifie | +|-----------|---------------| +| `--code` | Un nom unique pour votre appareil (par ex. `nyc-dz001`) | +| `--contributor` | Votre code contributeur (fourni par DZF) | +| `--device-type` | `hybrid`, `transit` ou `edge` | +| `--location` | Code du centre de données depuis `location list` | +| `--exchange` | Code de l'échange le plus proche depuis `exchange list` | +| `--public-ip` | L'IP publique par laquelle les utilisateurs se connectent à votre appareil via internet | +| `--dz-prefixes` | Votre bloc d'IP alloué pour les utilisateurs | -### Étape 3.3 : Créer les Interfaces Loopback Requises +### Étape 3.3 : Créer les interfaces loopback requises -Chaque dispositif a besoin de deux interfaces loopback pour le routage interne : +Chaque appareil nécessite deux interfaces loopback pour le routage interne : ```bash -# Loopback VPNv4 -doublezero device interface create Loopback255 --loopback-type vpnv4 +# VPNv4 loopback +doublezero device interface create Loopback255 --loopback-type vpnv4 -# Loopback IPv4 -doublezero device interface create Loopback256 --loopback-type ipv4 +# IPv4 loopback +doublezero device interface create Loopback256 --loopback-type ipv4 ``` **Sortie attendue (pour chaque commande) :** @@ -345,13 +413,20 @@ doublezero device interface create Loopback256 --loopback-type Signature: 3mNx9K...truncated...8wRt5 ``` -### Étape 3.4 : Créer les Interfaces Physiques +### Étape 3.4 : Créer les interfaces physiques + +Enregistrez les interfaces physiques qui seront utilisées pour les liens WAN ou DZX. Ces interfaces doivent exister on-chain avant que vous puissiez créer un lien qui les référence. À cette étape, vous enregistrez uniquement l'interface et sa bande passante ; le lien est créé dans une étape ultérieure. + +```bash +doublezero device interface create \ + --bandwidth +``` -Enregistrez les ports physiques que vous utiliserez : +**Exemple :** ```bash -# Interface de base -doublezero device interface create Ethernet1/1 +doublezero device interface create nyc-dz001 Ethernet1/1 \ + --bandwidth 10Gbps ``` **Sortie attendue :** @@ -360,38 +435,40 @@ doublezero device interface create Ethernet1/1 Signature: 7pQw2R...truncated...4xKm9 ``` -### Étape 3.5 : Créer l'Interface CYOA (pour les dispositifs Périphériques/Hybrides) +Répétez cette opération pour chaque interface qui sera utilisée comme point de terminaison d'un lien WAN ou DZX. Les interfaces CYOA et DIA sont enregistrées séparément à l'étape suivante. -Les DZDs hybrides et périphériques ont besoin de **deux adresses IP publiques** sur lesquelles les utilisateurs terminent leurs tunnels GRE. Les utilisateurs peuvent se connecter via unicast, multicast, ou les deux, et quelle IP sert quel objectif est tournée par utilisateur. +### Étape 3.5 : Créer l'interface CYOA (pour les appareils Edge/Hybrides) -Les deux IPs doivent être enregistrées avec `--user-tunnel-endpoint true`, soit sur une interface physique, soit sur un loopback. Cela inclut l'IP que vous avez fournie lors de la création du dispositif ; cette IP doit encore être explicitement enregistrée ici. +Les DZD hybrides et edge nécessitent **deux adresses IP publiques** sur lesquelles les utilisateurs terminent leurs tunnels GRE. Les utilisateurs peuvent se connecter en unicast, multicast, ou les deux, et quelle IP sert quel objectif alterne selon l'utilisateur. -Si vous êtes limité en IPs, vous pouvez utiliser le premier `/32` de votre préfixe DZ comme l'une des deux IPs. +Les deux IP doivent être enregistrées avec `--user-tunnel-endpoint true`, soit sur une interface physique, soit sur un loopback. Cela inclut l'IP que vous avez fournie lors de la création de l'appareil — cette IP doit quand même être explicitement enregistrée ici. + +Si vous êtes limité en IP, vous pouvez utiliser le premier `/32` de votre préfixe DZ comme l'une des deux IP. #### CYOA et DIA -| Type | Flag | Objectif | -|------|------|----------| +| Type | Indicateur | Objectif | +|------|------|---------| | DIA | `--interface-dia dia` | Marque le port comme accès internet direct | -| CYOA | `--interface-cyoa ` | Déclare comment les utilisateurs connectent des tunnels GRE à votre dispositif | +| CYOA | `--interface-cyoa ` | Déclare comment les utilisateurs connectent les tunnels GRE à votre appareil | -Le flag CYOA est toujours défini sur une **interface physique** (port Ethernet ou port channel). Jamais sur un loopback. +L'indicateur CYOA est toujours défini sur une **interface physique** (port Ethernet ou port channel). Jamais sur un loopback. -| Sous-type CYOA | Quand utiliser | -|---------------|---------------| -| `gre-over-dia` | Les utilisateurs se connectent via internet public. Le plus courant. | +| Sous-type CYOA | Quand l'utiliser | +|-------------|-------------| +| `gre-over-dia` | Les utilisateurs se connectent via l'internet public. Le plus courant. | | `gre-over-private-peering` | Les utilisateurs se connectent via un cross-connect direct ou un circuit privé | -| `gre-over-public-peering` | Les utilisateurs peerent avec vous à un Internet Exchange (IX) | -| `gre-over-fabric` | Les utilisateurs sont co-localisés et se connectent via un fabric local | -| `gre-over-cable` | Connexion câble directe à un seul utilisateur dédié | +| `gre-over-public-peering` | Les utilisateurs peerent avec vous à un point d'échange Internet (IX) | +| `gre-over-fabric` | Les utilisateurs sont colocalisés et se connectent via un fabric local | +| `gre-over-cable` | Connexion par câble direct vers un utilisateur unique dédié | #### Scénario A : Interface physique unique -Un uplink physique vers l'ISP. Ethernet1/1 est l'interface CYOA et DIA et porte l'une des deux IPs publiques. Loopback100 porte la deuxième IP publique. +Un seul lien montant physique vers le FAI. Ethernet1/1 est l'interface CYOA et DIA et porte l'une des deux IP publiques. Loopback100 porte la seconde IP publique. ```mermaid flowchart LR - USERS(["Utilisateurs Finaux"]) + USERS(["End Users"]) subgraph DZD["DZD"] E1["Eth1/1 @@ -402,20 +479,20 @@ flowchart LR E1 --- LO end - ISP["Routeur ISP + ISP["ISP Router 203.0.113.2/30"] ISP -- "10GbE" --- E1 - USERS -. "Tunnels GRE" .-> E1 - USERS -. "Tunnels GRE" .-> LO + USERS -. "GRE tunnels" .-> E1 + USERS -. "GRE tunnels" .-> LO ``` | Interface | `--interface-cyoa` | `--interface-dia` | `--ip-net` | `--bandwidth` | `--cir` | `--routing-mode` | `--user-tunnel-endpoint` | |-----------|-------------------|------------------|------------|---------------|---------|-----------------|--------------------------| -| Ethernet1/1 | `gre-over-dia` | `dia` | IP/sous-réseau assigné par le contributeur | vitesse du port | taux engagé | `bgp` ou `static` | `true` | -| Loopback100 | — | — | votre /32 public | `0bps` | — | — | `true` | +| Ethernet1/1 | `gre-over-dia` | `dia` | IP/sous-réseau attribué par le contributeur | vitesse du port | débit garanti | `bgp` ou `static` | `true` | +| Loopback100 | — | — | votre /32 publique | `0bps` | — | — | `true` | -Exemple de commandes pour le Scénario A : +Exemple de commandes à exécuter selon le scénario A : ```bash doublezero device interface create mydzd-nyc01 Ethernet1/1 \ --interface-cyoa gre-over-dia \ @@ -434,13 +511,13 @@ doublezero device interface create mydzd-nyc01 Loopback100 \ #### Scénario B : Port channel (LAG) -Le DZD se connecte au dispositif upstream via un port channel avec une IP. Le port channel porte une IP publique et est le point de terminaison CYOA. Loopback100 porte la deuxième IP publique. +Le DZD se connecte à l'équipement amont via un port channel avec une IP. Le port channel porte une IP publique et est le point de terminaison CYOA. Loopback100 porte la seconde IP publique. ```mermaid flowchart LR - USERS(["Utilisateurs Finaux"]) + USERS(["End Users"]) - subgraph SW["Routeur/Switch Upstream"] + subgraph SW["Upstream Router / Switch"] SWPC(["bond0 203.0.113.2/30"]) end @@ -456,16 +533,16 @@ flowchart LR end SWPC -- "2x 10GbE" --- PC - USERS -. "Tunnels GRE" .-> PC - USERS -. "Tunnels GRE" .-> LO + USERS -. "GRE tunnels" .-> PC + USERS -. "GRE tunnels" .-> LO ``` | Interface | `--interface-cyoa` | `--interface-dia` | `--ip-net` | `--bandwidth` | `--cir` | `--routing-mode` | `--user-tunnel-endpoint` | |-----------|-------------------|------------------|------------|---------------|---------|-----------------|--------------------------| -| Port-Channel1 | `gre-over-dia` | `dia` | IP/sous-réseau assigné par le contributeur | vitesse LAG combinée | taux engagé | `bgp` ou `static` | `true` | -| Loopback100 | — | — | votre /32 public | `0bps` | — | — | `true` | +| Port-Channel1 | `gre-over-dia` | `dia` | IP/sous-réseau attribué par le contributeur | vitesse LAG combinée | débit garanti | `bgp` ou `static` | `true` | +| Loopback100 | — | — | votre /32 publique | `0bps` | — | — | `true` | -Exemple de commandes pour le Scénario B : +Exemple de commandes à exécuter selon le scénario B : ```bash doublezero device interface create mydzd-fra01 Port-Channel1 \ --interface-cyoa gre-over-dia \ @@ -482,17 +559,18 @@ doublezero device interface create mydzd-fra01 Loopback100 \ --user-tunnel-endpoint true ``` -#### Scénario C : Double uplinks physiques vers des routeurs séparés -Chaque interface physique se connecte à un routeur upstream différent. Les deux IPs publiques se trouvent sur Loopback100 et Loopback101, toutes deux enregistrées comme points de terminaison de tunnel utilisateur. +#### Scénario C : Double lien montant physique vers des routeurs séparés + +Chaque interface physique se connecte à un routeur amont différent. Les deux IP publiques sont sur Loopback100 et Loopback101, toutes deux enregistrées comme points de terminaison de tunnel utilisateur. ```mermaid flowchart LR - USERS(["Utilisateurs Finaux"]) + USERS(["End Users"]) - RA["Routeur A + RA["Router A 203.0.113.2/30"] - RB["Routeur B + RB["Router B 203.0.113.6/30"] subgraph DZD["DZD"] @@ -512,501 +590,12 @@ flowchart LR RA -- "10GbE" --- E1 RB -- "10GbE" --- E2 - USERS -. "Tunnels GRE" .-> LO0 - USERS -. "Tunnels GRE" .-> LO1 + USERS -. "GRE tunnels" .-> LO0 + USERS -. "GRE tunnels" .-> LO1 ``` | Interface | `--interface-cyoa` | `--interface-dia` | `--ip-net` | `--bandwidth` | `--cir` | `--routing-mode` | `--user-tunnel-endpoint` | |-----------|-------------------|------------------|------------|---------------|---------|-----------------|--------------------------| -| Ethernet1/1 | `gre-over-dia` | `dia` | IP/sous-réseau assigné par le contributeur | vitesse du port | taux engagé | `bgp` ou `static` | — | -| Ethernet2/1 | `gre-over-dia` | `dia` | IP/sous-réseau assigné par le contributeur | vitesse du port | taux engagé | `bgp` ou `static` | — | -| Loopback100 | — | — | votre /32 public | `0bps` | — | — | `true` | -| Loopback101 | — | — | votre /32 public | `0bps` | — | — | `true` | - -Exemple de commandes pour le Scénario C : -```bash -doublezero device interface create mydzd-ams01 Ethernet1/1 \ - --interface-cyoa gre-over-dia \ - --interface-dia dia \ - --ip-net 203.0.113.1/30 \ - --bandwidth 10Gbps \ - --cir 1Gbps \ - --routing-mode bgp - -doublezero device interface create mydzd-ams01 Ethernet2/1 \ - --interface-cyoa gre-over-dia \ - --interface-dia dia \ - --ip-net 203.0.113.5/30 \ - --bandwidth 10Gbps \ - --cir 1Gbps \ - --routing-mode bgp - -doublezero device interface create mydzd-ams01 Loopback100 \ - --ip-net 198.51.100.1/32 \ - --bandwidth 0bps \ - --user-tunnel-endpoint true - -doublezero device interface create mydzd-ams01 Loopback101 \ - --ip-net 198.51.100.2/32 \ - --bandwidth 0bps \ - --user-tunnel-endpoint true -``` - -### Étape 3.6 : Vérifier Votre Dispositif - -```bash -doublezero device list -``` - -**Exemple de sortie :** - -``` - account | code | contributor | location | exchange | device_type | public_ip | dz_prefixes | users | max_users | status | health | mgmt_vrf | owner - 7xKm9pQw2R4vHt3... | nyc-dz001 | acme | EQX-NY5 | nyc | hybrid | 203.0.113.10 | 198.51.100.0/28 | 0 | 14 | activated | pending | | 5FMtd5Woq5XAAg54... -``` - -Votre dispositif devrait apparaître avec le statut `activated`. - ---- - -## Phase 4 : Établissement des Liens et Installation des Agents - -Les liens connectent votre dispositif au reste du réseau DoubleZero. - -### Comprendre les Liens - -```mermaid -flowchart LR - subgraph "Votre Réseau" - D1[Votre DZD 1
NYC] - D2[Votre DZD 2
LAX] - end - - subgraph "Autre Contributeur" - O1[Leur DZD
NYC] - end - - D1 ---|Lien WAN
Même contributeur| D2 - D1 ---|Lien DZX
Contributeurs différents| O1 -``` - -| Type de Lien | Connecte | Acceptation | -|-------------|----------|-------------| -| **Lien WAN** | Deux de VOS dispositifs | Automatique (vous possédez les deux) | -| **Lien DZX** | Votre dispositif à un AUTRE contributeur | Nécessite leur acceptation | - -### Étape 4.1 : Créer des Liens WAN (si vous avez plusieurs dispositifs) - -Les liens WAN connectent vos propres dispositifs : - -```bash -doublezero link create wan \ - --code \ - --contributor \ - --side-a \ - --side-a-interface \ - --side-z \ - --side-z-interface \ - --bandwidth 10000 \ - --mtu 9000 \ - --delay-ms 20 \ - --jitter-ms 1 -``` - -**Exemple :** - -```bash -doublezero link create wan \ - --code nyc-lax-wan01 \ - --contributor acme \ - --side-a nyc-dz001 \ - --side-a-interface Ethernet3/1 \ - --side-z lax-dz001 \ - --side-z-interface Ethernet3/1 \ - --bandwidth 10000 \ - --mtu 9000 \ - --delay-ms 65 \ - --jitter-ms 1 -``` - -**Sortie attendue :** - -``` -Signature: 5tNm7K...truncated...9pRw2 -``` - -### Étape 4.2 : Créer des Liens DZX - -Les liens DZX connectent votre dispositif directement au DZD d'un autre contributeur : - -```bash -doublezero link create dzx \ - --code \ - --contributor \ - --side-a \ - --side-a-interface \ - --side-z \ - --bandwidth \ - --mtu \ - --delay-ms \ - --jitter-ms -``` - -**Sortie attendue :** - -``` -Signature: 8mKp3W...truncated...2nRx7 -``` - -Après avoir créé un lien DZX, l'autre contributeur doit l'accepter : - -```bash -# L'AUTRE contributeur exécute ceci -doublezero link accept \ - --code \ - --side-z-interface -``` - -**Sortie attendue (pour le contributeur qui accepte) :** - -``` -Signature: 6vQt9L...truncated...3wPm4 -``` - -### Étape 4.3 : Vérifier les Liens - -```bash -doublezero link list -``` - -**Exemple de sortie :** - -``` - account | code | contributor | side_a_name | side_a_iface_name | side_z_name | side_z_iface_name | link_type | bandwidth | mtu | delay_ms | jitter_ms | delay_override_ms | tunnel_id | tunnel_net | status | health | owner - 8vkYpXaBW8RuknJq... | nyc-dz001:lax-dz001 | acme | nyc-dz001 | Ethernet3/1 | lax-dz001 | Ethernet3/1 | WAN | 10Gbps | 9000 | 65.00ms | 1.00ms | 0.00ms | 42 | 172.16.0.84/31 | activated | pending | 5FMtd5Woq5XAAg54... -``` - -Les liens devraient afficher le statut `activated` une fois les deux côtés configurés. - ---- - -### Installation des Agents - -Deux agents logiciels s'exécutent sur votre DZD : - -```mermaid -flowchart TB - subgraph "Votre DZD" - CA[Agent de Configuration] - TA[Agent de Télémétrie] - HW[Matériel/Logiciel du Commutateur] - end - - CA -->|Interroge la config| CTRL[Service Contrôleur] - CA -->|Applique la config| HW - - HW -->|Métriques| TA - TA -->|Soumet onchain| BC[Registre DoubleZero] -``` - -| Agent | Ce Qu'il Fait | -|-------|--------------| -| **Agent de Configuration** | Récupère la configuration depuis le contrôleur, l'applique à votre commutateur | -| **Agent de Télémétrie** | Mesure la latence/perte vers les autres dispositifs, rapporte les métriques onchain | - -### Étape 4.4 : Installer l'Agent de Configuration - -#### Activer l'API sur votre commutateur - -Ajouter à la configuration EOS : - -``` -management api eos-sdk-rpc - transport grpc eapilocal - localhost loopback vrf default - service all - no disabled -``` - -!!! note "Note VRF" - Remplacez `default` par votre nom de VRF de gestion si différent (par exemple, `management`). - -#### Télécharger et installer l'agent - -```bash -# Entrer dans bash sur le commutateur -switch# bash -$ sudo bash -# cd /mnt/flash -# wget AGENT_DOWNLOAD_URL -# exit -$ exit - -# Installer comme extension EOS -switch# copy flash:AGENT_FILENAME extension: -switch# extension AGENT_FILENAME -switch# copy installed-extensions boot-extensions -``` - -#### Vérifier l'extension - -```bash -switch# show extensions -``` - -Le Statut devrait être "A, I, B" : - -``` -Name Version/Release Status Extension -------------------------------------------- ------------------- ---------- --------- -AGENT_FILENAME MAINNET_CLIENT_VERSION/1 A, I, B 1 - -A: available | NA: not available | I: installed | F: forced | B: install at boot -``` - -#### Configurer et démarrer l'agent - -Ajouter à la configuration EOS : - -``` -daemon doublezero-agent - exec /usr/local/bin/doublezero-agent -pubkey - no shut -``` - -!!! note "Note VRF" - Si votre VRF de gestion n'est pas `default` (c'est-à-dire que le namespace n'est pas `ns-default`), préfixez la commande exec avec `exec /sbin/ip netns exec ns-`. Par exemple, si votre VRF est `management` : - ``` - daemon doublezero-agent - exec /sbin/ip netns exec ns-management /usr/local/bin/doublezero-agent -pubkey - no shut - ``` - -Obtenez la pubkey de votre dispositif depuis `doublezero device list` (colonne `account`). - -#### Vérifier qu'il fonctionne - -```bash -switch# show agent doublezero-agent logs -``` - -Vous devriez voir "Starting doublezero-agent" et des connexions réussies au contrôleur. - -### Étape 4.5 : Installer l'Agent de Télémétrie - -#### Copier la clé de publication de métriques sur votre dispositif - -```bash -scp ~/.config/doublezero/metrics-publisher.json :/mnt/flash/metrics-publisher-keypair.json -``` - -#### Enregistrer la publication de métriques onchain - -```bash -doublezero device update \ - --pubkey \ - --metrics-publisher -``` - -Obtenez la pubkey depuis votre fichier metrics-publisher.json. - -#### Télécharger et installer l'agent - -```bash -switch# bash -$ sudo bash -# cd /mnt/flash -# wget TELEMETRY_DOWNLOAD_URL -# exit -$ exit - -# Installer comme extension EOS -switch# copy flash:TELEMETRY_FILENAME extension: -switch# extension TELEMETRY_FILENAME -switch# copy installed-extensions boot-extensions -``` - -#### Vérifier l'extension - -```bash -switch# show extensions -``` - -Le Statut devrait être "A, I, B" : - -``` -Name Version/Release Status Extension -------------------------------------------- ------------------- ---------- --------- -TELEMETRY_FILENAME MAINNET_CLIENT_VERSION/1 A, I, B 1 - -A: available | NA: not available | I: installed | F: forced | B: install at boot -``` - -#### Configurer et démarrer l'agent - -Ajouter à la configuration EOS : - -``` -daemon doublezero-telemetry - exec /usr/local/bin/doublezero-telemetry --local-device-pubkey --env mainnet --keypair /mnt/flash/metrics-publisher-keypair.json - no shut -``` - -!!! note "Note VRF" - Si votre VRF de gestion n'est pas `default` (c'est-à-dire que le namespace n'est pas `ns-default`), ajoutez `--management-namespace ns-` à la commande exec. Par exemple, si votre VRF est `management` : - ``` - daemon doublezero-telemetry - exec /usr/local/bin/doublezero-telemetry --management-namespace ns-management --local-device-pubkey --env mainnet --keypair /mnt/flash/metrics-publisher-keypair.json - no shut - ``` - -#### Vérifier qu'il fonctionne - -```bash -switch# show agent doublezero-telemetry logs -``` - -Vous devriez voir "Starting telemetry collector" et "Starting submission loop". - ---- - -## Phase 5 : Rodage du Lien - -!!! warning "Tous les nouveaux liens doivent être rodés avant de transporter du trafic" - Les nouveaux liens doivent être **drainés pendant au moins 24 heures** avant d'être activés pour le trafic de production. Cette exigence de rodage est définie dans [RFC12: Network Provisioning](https://github.com/malbeclabs/doublezero/blob/main/rfcs/rfc12-network-provisioning.md), qui spécifie ~200 000 slots du Registre DZ (~20 heures) de métriques propres avant qu'un lien soit prêt pour le service. - -Avec les agents installés et en cours d'exécution, surveillez vos liens sur [metrics.doublezero.xyz](https://metrics.doublezero.xyz) pendant au moins 24 heures consécutives : - -- Tableau de bord **"DoubleZero Device-Link Latencies"** — vérifiez **zéro perte de paquets** sur le lien au fil du temps -- Tableau de bord **"DoubleZero Network Metrics"** — vérifiez **zéro erreurs** sur vos liens - -Ne dédrainer le lien qu'une fois que la période de rodage montre un lien propre avec zéro perte et zéro erreurs. - ---- - -## Phase 6 : Vérification et Activation - -Parcourez cette liste de contrôle pour confirmer que tout fonctionne. - -!!! warning "Votre dispositif commence verrouillé (`max_users = 0`)" - Lorsqu'un dispositif est créé, `max_users` est fixé à **0** par défaut. Cela signifie qu'aucun utilisateur ne peut encore s'y connecter. C'est intentionnel — vous devez vérifier que tout fonctionne avant d'accepter le trafic utilisateurs. - - **Avant de définir `max_users` au-dessus de 0, vous devez :** - - 1. Confirmer que tous les liens ont complété leur **rodage de 24 heures** avec zéro perte/erreurs sur [metrics.doublezero.xyz](https://metrics.doublezero.xyz) - 2. **Coordonner avec DZ/Malbec Labs** pour exécuter un test de connectivité : - - Un utilisateur de test peut-il se connecter à votre dispositif ? - - L'utilisateur reçoit-il des routes sur le réseau DZ ? - - L'utilisateur peut-il router le trafic sur le réseau DZ de bout en bout ? - 3. Seulement après que DZ/ML confirme que les tests réussissent, définissez max_users à 96 : - - ```bash - doublezero device update --pubkey --max-users 96 - ``` - -### Vérifications du Dispositif - -```bash -# Votre dispositif devrait apparaître avec le statut "activated" -doublezero device list | grep -``` - -**Sortie attendue :** - -``` - 7xKm9pQw2R4vHt3... | nyc-dz001 | acme | EQX-NY5 | nyc | hybrid | 203.0.113.10 | 198.51.100.0/28 | 0 | 14 | activated | pending | | 5FMtd5Woq5XAAg54... -``` - -```bash -# Vos interfaces devraient être listées -doublezero device interface list | grep -``` - -**Sortie attendue :** - -``` - nyc-dz001 | Loopback255 | loopback | vpnv4 | none | none | 0 | 0 | 1500 | static | 0 | 172.16.1.91/32 | 56 | false | activated - nyc-dz001 | Loopback256 | loopback | ipv4 | none | none | 0 | 0 | 1500 | static | 0 | 172.16.1.100/32 | 0 | false | activated - nyc-dz001 | Ethernet1/1 | physical | none | none | none | 0 | 0 | 1500 | static | 0 | | 0 | false | activated -``` - -### Vérifications des Liens - -```bash -# Les liens devraient afficher le statut "activated" -doublezero link list | grep -``` - -**Sortie attendue :** - -``` - 8vkYpXaBW8RuknJq... | nyc-lax-wan01 | acme | nyc-dz001 | Ethernet3/1 | lax-dz001 | Ethernet3/1 | WAN | 10Gbps | 9000 | 65.00ms | 1.00ms | 0.00ms | 42 | 172.16.0.84/31 | activated | pending | 5FMtd5Woq5XAAg54... -``` - -### Vérifications des Agents - -Sur le commutateur : - -```bash -# L'agent de configuration devrait afficher des extractions de configuration réussies -switch# show agent doublezero-agent logs | tail -20 - -# L'agent de télémétrie devrait afficher des soumissions réussies -switch# show agent doublezero-telemetry logs | tail -20 -``` - -### Diagramme de Vérification Finale - -```mermaid -flowchart TB - subgraph "Liste de Vérification" - D[Statut Dispositif : activé ?] - I[Interfaces : enregistrées ?] - L[Liens : activés ?] - CA[Agent de Config : récupération de config ?] - TA[Agent de Télémétrie : soumission de métriques ?] - end - - D --> PASS - I --> PASS - L --> PASS - CA --> PASS - TA --> PASS - - PASS[Toutes les Vérifications Réussies] --> NOTIFY[Notifier DZF/Malbec Labs
Vous êtes techniquement prêt !] -``` - ---- - -## Dépannage - -### La création du dispositif échoue - -- Vérifiez que votre clé de service est autorisée (`doublezero contributor list`) -- Vérifiez que les codes d'emplacement et d'exchange sont valides -- Assurez-vous que le préfixe DZ est une plage IP publique valide - -### Lien bloqué dans le statut "requested" - -- Les liens DZX nécessitent l'acceptation de l'autre contributeur -- Contactez-les pour exécuter `doublezero link accept` - -### L'Agent de Configuration ne se connecte pas - -- Vérifiez que le réseau de gestion a accès à internet -- Vérifiez que la configuration VRF correspond à votre configuration -- Assurez-vous que la pubkey du dispositif est correcte - -### L'Agent de Télémétrie ne soumet pas - -- Vérifiez que la clé de publication de métriques est enregistrée onchain -- Vérifiez que le fichier de paire de clés existe sur le commutateur -- Assurez-vous que la pubkey du compte du dispositif est correcte - ---- - -## Prochaines Étapes - -- Consultez le [Guide des Opérations](contribute-operations.md) pour les mises à niveau des agents et la gestion des liens -- Consultez le [Glossaire](glossary.md) pour les définitions des termes -- Contactez DZF/Malbec Labs si vous rencontrez des problèmes +| Ethernet1/1 | `gre-over-dia` | `dia` | IP/sous-réseau attribué par le contributeur | vitesse du port | débit garanti | `bgp` ou `static` | — | +| Ethernet2/1 | `gre-over-dia` | `dia` | IP/sous-réseau attribué par le contributeur | vitesse du port | débit garanti | `bgp` ou `static` | — | +| Loopback100 | — | — | votre /32 publique | `0bps` \ No newline at end of file diff --git a/docs/contribute-provisioning.it.md b/docs/contribute-provisioning.it.md index f19005f..c6ddb20 100644 --- a/docs/contribute-provisioning.it.md +++ b/docs/contribute-provisioning.it.md @@ -1,14 +1,51 @@ -# Guida al Provisioning dei Dispositivi -!!! warning "This translation was generated using artificial intelligence and has not been reviewed by a human translator. It may contain inaccuracies or errors and should not be relied upon." +--- +description: Guida passo passo per il provisioning di un DoubleZero Device (DZD) e la registrazione delle sue interfacce e ruoli on-chain. +--- +# Guida al Provisioning del Dispositivo -Questa guida illustra il provisioning di un DoubleZero Device (DZD) dall'inizio alla fine. Ogni fase corrisponde alla [Checklist di Onboarding](contribute-overview.md#onboarding-checklist). +Questa guida ti accompagna nel provisioning di un DoubleZero Device (DZD) dall'inizio alla fine. Ogni fase corrisponde alla [Checklist di Onboarding](contribute-overview.md#onboarding-checklist). --- -## Come Si Incastra Tutto +## Come si Collega il Tutto + +Questa guida ti accompagna nella registrazione della tua infrastruttura on-chain in modo che la rete DoubleZero possa instradare il traffico attraverso di essa. Più la registrazione del tuo dispositivo è completa, più sarà utile alla rete. Una rappresentazione on-chain completa del tuo dispositivo consente un migliore troubleshooting, pianificazione della capacità, e permette al controller di prendere decisioni informate. Nel tempo, l'obiettivo è che il controller assuma sempre più responsabilità nella configurazione. + +### Concetti chiave + +**Interfacce** + +Le interfacce su un DZD si presentano in diverse forme: porte Ethernet, port channel (LAG composti da più porte Ethernet) e loopback. Ogni interfaccia che svolge un ruolo nella rete deve essere registrata on-chain con i flag appropriati affinché il protocollo sappia cosa fa. + +Le porte Ethernet e i port channel possono svolgere i seguenti ruoli: + +| Flag | Cosa significa | +|------|---------------| +| `--interface-dia dia` | Contrassegna l'interfaccia come uplink di accesso diretto a internet | +| `--interface-cyoa ` | Dichiara come gli utenti stabiliscono tunnel GRE attraverso questa interfaccia (es. tramite internet pubblico, tramite un link di peering privato) | +| `--user-tunnel-endpoint true` | Questa interfaccia ha un IP pubblico su cui gli utenti terminano i tunnel GRE | + +Le interfacce utilizzate per link WAN o DZX non hanno un flag specifico, vengono registrate con la loro larghezza di banda e poi referenziate quando il link viene creato. -Prima di entrare nei dettagli, ecco il quadro generale di ciò che stai costruendo: +Le interfacce loopback servono a diversi scopi: + +| Loopback | Cosa significa | +|----------|---------------| +| **Loopback100 / 101** | Hanno IP pubblici su cui gli utenti terminano i tunnel GRE. Registrate con `--user-tunnel-endpoint true`. | +| **Loopback255** (`vpnv4`) | Registrata affinché il controller possa assegnare un IP utilizzato per BGP router ID, peering VPN-IPv4 (unicast), identità IS-IS e segment routing | +| **Loopback256** (`ipv4`) | Registrata affinché il controller possa assegnare un IP utilizzato per peering BGP IPv4 (multicast) e sessioni MSDP | + +**Link** + +I link sono registrati separatamente dalle interfacce, e le interfacce devono esistere on-chain prima che un link possa referenziarle. Quando crei un link WAN o DZX, specifichi un'interfaccia già registrata come endpoint fisico del link. Non tutte le interfacce sono collegate a un link: le interfacce DIA, CYOA e loopback non sono connesse a un link. + +| Termine | Cosa significa | +|---------|---------------| +| **WAN Link** | Un link tra due dei tuoi DZD | +| **DZX Link** | Un link tra il tuo DZD e il DZD di un altro contributore | + +### Panoramica dell'architettura ```mermaid flowchart TB @@ -18,45 +55,48 @@ flowchart TB subgraph Your Infrastructure MGMT[Management Server
DoubleZero CLI] - DZD[Your DZD
Arista Switch] - DZD ---|WAN Link| DZD2[Your other DZD] + subgraph DZD[Your DZD] + CYOA["DIA · CYOA interface
(user-facing uplink)"] + WAN_INTF["WAN link interface"] + DZX_INTF["DZX link interface"] + LO100["Loopback100/101
(user tunnel endpoint)"] + end + DZD2[Your other DZD] end subgraph Other Contributor OtherDZD[Their DZD] end - subgraph Users - VAL[Validators] - RPC[RPC Nodes] - end + USERS["Users"] MGMT -.->|Registers devices,
links, interfaces| SC - DZD ---|DZX Link| OtherDZD - VAL ---|Connect via Internet| DZD - RPC ---|Connect via Internet| DZD + WAN_INTF ---|WAN Link| DZD2 + DZX_INTF ---|DZX Link| OtherDZD + USERS -.|GRE tunnel|.-> CYOA + CYOA ---|routes to| LO100 ``` --- ## Fase 1: Prerequisiti -Prima di poter effettuare il provisioning di un dispositivo, è necessario che l'hardware fisico sia configurato e alcuni indirizzi IP allocati. +Prima di poter effettuare il provisioning di un dispositivo, è necessario che l'hardware fisico sia configurato e che alcuni indirizzi IP siano allocati. ### Cosa Ti Serve | Requisito | Perché È Necessario | |-----------|---------------------| | **Hardware DZD** | Switch Arista 7280CR3A (vedi [specifiche hardware](contribute.md#hardware-requirements)) | -| **Spazio Rack** | 4U con adeguato flusso d'aria | -| **Alimentazione** | Alimentazioni ridondanti, ~4KW raccomandato | +| **Spazio Rack** | 2U riservati per DZD (1U in uso oggi), con flusso d'aria adeguato. Vedi [Rack e Alimentazione](contribute.md#rack-power-requirements) | +| **Alimentazione** | Due linee indipendenti, ciascuna in grado di sostenere l'intero carico da sola. Vedi [Rack e Alimentazione](contribute.md#rack-power-requirements) | | **Accesso di Gestione** | Accesso SSH/console per configurare lo switch | -| **Connettività Internet** | Per la pubblicazione di metriche e per recuperare la configurazione dal controller | +| **Connettività Internet** | Per la pubblicazione delle metriche e per recuperare la configurazione dal controller | | **Blocco IPv4 Pubblico** | Minimo /29 per il pool di prefissi DZ (vedi sotto) | -### Installa la CLI DoubleZero +### Installare la CLI DoubleZero -La CLI DoubleZero (`doublezero`) viene utilizzata durante tutto il provisioning per registrare dispositivi, creare link e gestire il contributo. Deve essere installata su un **server di gestione o VM** — non sullo switch DZD stesso. Lo switch esegue solo il Config Agent e il Telemetry Agent (installati nella [Fase 4](#fase-4-stabilimento-del-link-e-installazione-degli-agent)). +La CLI DoubleZero (`doublezero`) viene utilizzata durante tutto il provisioning per registrare dispositivi, creare link e gestire il tuo contributo. Deve essere installata su un **server di gestione o VM** — non sullo switch DZD stesso. Lo switch esegue solo il Config Agent e il Telemetry Agent (installati nella [Fase 4](#fase-4-creazione-dei-link-e-installazione-degli-agenti)). **Ubuntu / Debian:** ```bash @@ -77,7 +117,7 @@ sudo systemctl status doublezerod ### Comprendere il Tuo Prefisso DZ -Il tuo prefisso DZ è un blocco di indirizzi IP pubblici che il protocollo DoubleZero gestisce per l'allocazione degli IP. +Il tuo prefisso DZ è un blocco di indirizzi IP pubblici che il protocollo DoubleZero gestisce per l'allocazione IP. ```mermaid flowchart LR @@ -94,20 +134,19 @@ flowchart LR IP3 -->|Allocated to| U2[User 2] ``` -**Come vengono usati i prefissi DZ:** +**Come vengono utilizzati i prefissi DZ:** - **Primo IP**: Riservato per il tuo dispositivo (assegnato all'interfaccia Loopback100) -- **IP Rimanenti**: Allocati a specifici tipi di utenti che si connettono al tuo DZD: +- **IP rimanenti**: Allocati a tipi specifici di utenti che si connettono al tuo DZD: - Utenti `IBRLWithAllocatedIP` - - Utenti `EdgeFiltering` - - Publisher multicast -- **Utenti IBRL**: NON consumano da questo pool (usano il proprio IP pubblico) + - Utenti `EdgeFiltering` (caso d'uso futuro) +- **Utenti IBRL**: NON consumano da questo pool (utilizzano il proprio IP pubblico) -!!! warning "Regole del Prefisso DZ" - **NON PUOI usare questi indirizzi per:** +!!! warning "Regole sui Prefissi DZ" + **NON PUOI utilizzare questi indirizzi per:** - - La tua infrastruttura di rete - - Link point-to-point sulle interfacce DIA + - Le tue apparecchiature di rete + - Link punto-punto sulle interfacce DIA - Interfacce di gestione - Qualsiasi infrastruttura al di fuori del protocollo DZ @@ -115,21 +154,23 @@ flowchart LR - Devono essere indirizzi IPv4 **globalmente instradabili (pubblici)** - Gli intervalli IP privati (10.x, 172.16-31.x, 192.168.x) vengono rifiutati dallo smart contract - - **Dimensione minima: /29** (8 indirizzi), prefissi più grandi preferiti (es. /28, /27) + - **Dimensione minima: /29** (8 indirizzi), prefissi più grandi sono preferiti (es. /28, /27) - L'intero blocco deve essere disponibile — non pre-allocare alcun indirizzo - Se hai bisogno di indirizzi per la tua infrastruttura (IP di interfaccia DIA, gestione, ecc.), usa un **pool di indirizzi separato**. + Se hai bisogno di indirizzi per le tue apparecchiature (IP per interfacce DIA, gestione, ecc.), utilizza un **pool di indirizzi separato**. --- ## Fase 2: Configurazione dell'Account -In questa fase, crei le chiavi crittografiche che identificano te e i tuoi dispositivi sulla rete. +In questa fase, crei le chiavi crittografiche che ti identificano, insieme ai tuoi dispositivi, sulla rete, e configuri la gestione dei premi. + +I passaggi vengono eseguiti in questo ordine per un motivo: prima l'accesso al repository, perché il repository contiene le istruzioni per i passaggi successivi, poi le tue chiavi, poi i premi. Alcuni passaggi richiedono un intervento di DZF prima che tu possa continuare, e ciascuno di quelli sotto lo specifica. ### Dove Eseguire la CLI !!! warning "NON installare la CLI sul tuo switch" - La CLI DoubleZero (`doublezero`) deve essere installata su un **server di gestione o VM**, non sullo switch Arista. + La CLI DoubleZero (`doublezero`) deve essere installata su un **server di gestione o VM**, non sul tuo switch Arista. ```mermaid flowchart LR @@ -149,32 +190,44 @@ In questa fase, crei le chiavi crittografiche che identificano te e i tuoi dispo ``` | Installare sul Server di Gestione | Installare sullo Switch | - |----------------------------------|------------------------| + |-----------------------------------|------------------------| | CLI `doublezero` | Config Agent | - | La tua service keypair | Telemetry Agent | - | La tua metrics publisher keypair | Metrics publisher keypair (copia) | + | La tua keypair di servizio | Telemetry Agent | + | La tua keypair del metrics publisher | Keypair del metrics publisher (copia) | ### Cosa Sono le Chiavi? Pensa alle chiavi come credenziali di accesso sicure: -- **Service Key**: La tua identità come contributore - usata per eseguire i comandi CLI -- **Metrics Publisher Key**: L'identità del tuo dispositivo per l'invio di dati di telemetria +- **Service Key**: La tua identità come contributore — utilizzata per eseguire comandi CLI +- **Metrics Publisher Key**: L'identità del tuo dispositivo per l'invio di dati telemetrici +- **Rewards Manager Key**: Controlla quali wallet ricevono i tuoi premi — vedi [Gestione Premi](https://github.com/malbeclabs/contributors#rewards-management) nel repository dei contributori -Entrambe sono keypair crittografiche (una chiave pubblica che condividi, una chiave privata che mantieni segreta). +Tutte e tre sono coppie di chiavi crittografiche (una chiave pubblica che condividi, una chiave privata che mantieni segreta). ```mermaid flowchart LR subgraph "Your Keys" SK[Service Key
~/.config/solana/id.json] MK[Metrics Publisher Key
~/.config/doublezero/metrics-publisher.json] + RK[Rewards Manager Key
keep offline] end SK -->|Used for| CLI[CLI Commands
doublezero device create
doublezero link create] MK -->|Used for| TEL[Telemetry Agent
Submits metrics onchain] + RK -->|Used for| REW[Rewards Portal
Sets recipient wallets] ``` -### Passo 2.1: Genera la Tua Service Key +!!! note "Mantieni la chiave del rewards manager separata" + La service key e la metrics publisher key risiedono sul tuo server di gestione e sullo switch. La rewards manager key controlla dove vanno i tuoi soldi, quindi tienila lontano da quelle macchine. È necessaria solo quando modifichi i tuoi wallet destinatari. + +### Passo 2.1: Richiedere l'Accesso al Repository dei Contributori + +Contatta la DoubleZero Foundation o Malbec Labs e fornisci il tuo **nome utente GitHub**. + +Ti concederanno l'accesso al repository privato [malbeclabs/contributors](https://github.com/malbeclabs/contributors). Fai questo per primo: il repository contiene la configurazione base del dispositivo, i profili TCAM e ACL, e le istruzioni per la gestione dei premi di cui hai bisogno nei passaggi successivi. + +### Passo 2.2: Generare la Tua Service Key Questa è la tua identità principale per interagire con DoubleZero. @@ -182,29 +235,26 @@ Questa è la tua identità principale per interagire con DoubleZero. doublezero keygen ``` -Questo crea una keypair nella posizione predefinita. L'output mostra la tua **chiave pubblica** - questa è quella che condividerai con DZF. +Questo crea una coppia di chiavi nella posizione predefinita. L'output mostra la tua **chiave pubblica** — questa è ciò che condividerai con DZF. -### Passo 2.2: Genera la Tua Metrics Publisher Key +### Passo 2.3: Generare la Tua Metrics Publisher Key -Questa chiave viene utilizzata dal Telemetry Agent per firmare le submission delle metriche. +Questa chiave viene utilizzata dal Telemetry Agent per firmare l'invio delle metriche. ```bash doublezero keygen -o ~/.config/doublezero/metrics-publisher.json ``` -### Passo 2.3: Invia le Chiavi a DZF - -Contatta la DoubleZero Foundation o Malbec Labs e fornisci: +### Passo 2.4: Inviare la Tua Service Key a DZF -1. La tua **chiave pubblica della service key** -2. Il tuo **username GitHub** (per l'accesso al repository) +Invia a DZF la **chiave pubblica della tua service key**. -Loro provvederanno a: +Creeranno il tuo **account contributore** on-chain e confermeranno quando sarà completato. -- Creare il tuo **account contributore** on-chain -- Concedere l'accesso al **repository contributori** privato +!!! danger "Solo chiavi pubbliche" + Non inviare mai una chiave privata o un file di coppia di chiavi a nessuno, incluso DZF. Solo la chiave pubblica è necessaria. -### Passo 2.4: Verifica il Tuo Account +### Passo 2.5: Verificare il Tuo Account Una volta confermato, verifica che il tuo account contributore esista: @@ -214,16 +264,14 @@ doublezero contributor list Dovresti vedere il tuo codice contributore nell'elenco. -### Passo 2.5: Accedi al Repository Contributori +### Passo 2.6: Configurare la Gestione dei Premi -Il repository [malbeclabs/contributors](https://github.com/malbeclabs/contributors) contiene: +La gestione dei premi decide quali wallet ricevono i [2Z](glossary.md#2z-token) guadagnati dal tuo contributo, e in quali proporzioni. -- Configurazioni base dei dispositivi -- Profili TCAM -- Configurazioni ACL -- Istruzioni di configurazione aggiuntive +Segui la [Gestione Premi](https://github.com/malbeclabs/contributors#rewards-management) nel repository dei contributori, a cui ora hai accesso dal Passo 2.1. -Segui le istruzioni lì per la configurazione specifica del dispositivo. +!!! note "Questo non blocca il resto della tua configurazione" + Puoi effettuare il provisioning del tuo dispositivo, creare link e iniziare a trasportare traffico senza che questo sia in atto, quindi considera le fasi successive come indipendenti da esso. --- @@ -233,49 +281,69 @@ Ora registrerai il tuo dispositivo fisico sulla blockchain e configurerai le sue ### Comprendere i Tipi di Dispositivo +**Edge** — accetta solo connessioni utente + ```mermaid -flowchart TB - subgraph "Edge Device" - E[Edge DZD] - EU[Users connect here] - EU --> E - E <-->|DZX Link| ED[Other DZD] +flowchart LR + subgraph EDZD[Edge DZD] + E_CYOA["DIA · CYOA interface"] + E_TUN["Loopback100/101 + (user tunnel endpoint)"] + E_DZX["DZX link interface"] + E_CYOA --- E_TUN end + EU["Users"] -.|GRE tunnel|.-> E_CYOA + E_DZX <-->|DZX Link| ED["DZD (different contributor)"] +``` - subgraph "Transit Device" - T[Transit DZD] - T <-->|WAN Link| T2[Another DZD] - T <-->|DZX Link| TD[Other DZD] +**Transit** — trasporta traffico tra dispositivi, nessuna connessione utente + +```mermaid +flowchart LR + subgraph TDZD[Transit DZD] + T_WAN["WAN link interface"] + T_DZX["DZX link interface"] end + T_WAN <-->|WAN Link| T2["DZD (same contributor)"] + T_DZX <-->|DZX Link| TD["DZD (different contributor)"] +``` - subgraph "Hybrid Device" - H[Hybrid DZD] - HU[Users connect here] - HU --> H - H <-->|WAN Link| H2[Another DZD] - H <-->|DZX Link| HD[Other DZD] +**Hybrid** — connessioni utente e backbone, il più comune + +```mermaid +flowchart LR + subgraph HDZD[Hybrid DZD] + H_CYOA["DIA · CYOA interface"] + H_TUN["Loopback100/101 + (user tunnel endpoint)"] + H_WAN["WAN link interface"] + H_DZX["DZX link interface"] + H_CYOA --- H_TUN end + HU["Users"] -.|GRE tunnel|.-> H_CYOA + H_WAN <-->|WAN Link| H2["DZD (same contributor)"] + H_DZX <-->|DZX Link| HD["DZD (different contributor)"] ``` | Tipo | Cosa Fa | Quando Usarlo | |------|---------|---------------| | **Edge** | Accetta solo connessioni utente | Singola posizione, solo rivolto agli utenti | -| **Transit** | Sposta il traffico tra dispositivi | Connettività backbone, nessun utente | -| **Hybrid** | Connessioni utente E backbone | Il più comune - fa tutto | +| **Transit** | Trasporta traffico tra dispositivi | Connettività backbone, nessun utente | +| **Hybrid** | Sia connessioni utente CHE backbone | Il più comune — fa tutto | -### Passo 3.1: Trova la Tua Posizione e l'Exchange +### Passo 3.1: Trovare la Tua Posizione e il Tuo Exchange Prima di creare il tuo dispositivo, cerca i codici per la posizione del tuo data center e l'exchange più vicino: ```bash -# List available locations (data centers) +# Elenco delle posizioni disponibili (data center) doublezero location list -# List available exchanges (interconnect points) +# Elenco degli exchange disponibili (punti di interconnessione) doublezero exchange list ``` -### Passo 3.2: Crea il Tuo Dispositivo On-Chain +### Passo 3.2: Creare il Tuo Dispositivo On-chain Registra il tuo dispositivo sulla blockchain: @@ -315,43 +383,50 @@ Verifica che il tuo dispositivo sia stato creato: doublezero device list | grep nyc-dz001 ``` -**Parametri spiegati:** +**Spiegazione dei parametri:** | Parametro | Cosa Significa | |-----------|----------------| | `--code` | Un nome univoco per il tuo dispositivo (es. `nyc-dz001`) | | `--contributor` | Il tuo codice contributore (fornito da DZF) | -| `--device-type` | `hybrid`, `transit`, o `edge` | +| `--device-type` | `hybrid`, `transit` o `edge` | | `--location` | Codice del data center da `location list` | | `--exchange` | Codice dell'exchange più vicino da `exchange list` | | `--public-ip` | L'IP pubblico dove gli utenti si connettono al tuo dispositivo via internet | | `--dz-prefixes` | Il tuo blocco IP allocato per gli utenti | -### Passo 3.3: Crea le Interfacce Loopback Richieste +### Passo 3.3: Creare le Interfacce Loopback Richieste -Ogni dispositivo ha bisogno di due interfacce loopback per il routing interno: +Ogni dispositivo necessita di due interfacce loopback per il routing interno: ```bash -# VPNv4 loopback +# Loopback VPNv4 doublezero device interface create Loopback255 --loopback-type vpnv4 -# IPv4 loopback +# Loopback IPv4 doublezero device interface create Loopback256 --loopback-type ipv4 ``` -**Output atteso (per ogni comando):** +**Output atteso (per ciascun comando):** ``` Signature: 3mNx9K...truncated...8wRt5 ``` -### Passo 3.4: Crea Interfacce Fisiche +### Passo 3.4: Creare le Interfacce Fisiche -Registra le porte fisiche che utilizzerai: +Registra le interfacce fisiche che saranno utilizzate per link WAN o DZX. Queste interfacce devono esistere on-chain prima di poter creare un link che le referenzi. In questo passaggio registri solo l'interfaccia e la sua larghezza di banda, il link viene creato in un passaggio successivo. ```bash -# Basic interface -doublezero device interface create Ethernet1/1 +doublezero device interface create \ + --bandwidth +``` + +**Esempio:** + +```bash +doublezero device interface create nyc-dz001 Ethernet1/1 \ + --bandwidth 10Gbps ``` **Output atteso:** @@ -360,38 +435,40 @@ doublezero device interface create Ethernet1/1 Signature: 7pQw2R...truncated...4xKm9 ``` -### Passo 3.5: Crea l'Interfaccia CYOA (per dispositivi Edge/Hybrid) +Ripeti questo per ogni interfaccia che sarà utilizzata come endpoint di un link WAN o DZX. Le interfacce CYOA e DIA vengono registrate separatamente nel passaggio successivo. + +### Passo 3.5: Creare l'Interfaccia CYOA (per dispositivi Edge/Hybrid) -I DZD ibridi e edge necessitano di **due indirizzi IP pubblici** su cui gli utenti terminano i loro tunnel GRE. Gli utenti possono connettersi tramite unicast, multicast, o entrambi, e quale IP serve quale scopo viene ruotato per utente. +I DZD hybrid ed edge necessitano di **due indirizzi IP pubblici** su cui gli utenti terminano i loro tunnel GRE. Gli utenti possono connettersi tramite unicast, multicast o entrambi, e quale IP serve quale scopo ruota per utente. -Entrambi gli IP devono essere registrati con `--user-tunnel-endpoint true`, su un'interfaccia fisica o su un loopback. Questo include l'IP fornito al momento della creazione del dispositivo; quell'IP deve ancora essere registrato esplicitamente qui. +Entrambi gli IP devono essere registrati con `--user-tunnel-endpoint true`, su un'interfaccia fisica o un loopback. Questo include l'IP che hai fornito al momento della creazione del dispositivo, quell'IP deve comunque essere esplicitamente registrato qui. -Se sei vincolato da IP, puoi usare il primo `/32` del tuo prefisso DZ come uno dei due IP. +Se hai vincoli sugli IP, puoi utilizzare il primo `/32` del tuo prefisso DZ come uno dei due IP. #### CYOA e DIA | Tipo | Flag | Scopo | |------|------|-------| -| DIA | `--interface-dia dia` | Marca la porta come accesso internet diretto | -| CYOA | `--interface-cyoa ` | Dichiara come gli utenti connettono tunnel GRE al tuo dispositivo | +| DIA | `--interface-dia dia` | Contrassegna la porta come accesso diretto a internet | +| CYOA | `--interface-cyoa ` | Dichiara come gli utenti connettono i tunnel GRE al tuo dispositivo | -Il flag CYOA è sempre impostato su un'**interfaccia fisica** (porta Ethernet o port channel). Mai su un loopback. +Il flag CYOA viene sempre impostato su un'**interfaccia fisica** (porta Ethernet o port channel). Mai su un loopback. -| Sottotipo CYOA | Quando usare | -|---------------|-------------| +| Sottotipo CYOA | Quando usarlo | +|----------------|---------------| | `gre-over-dia` | Gli utenti si connettono tramite internet pubblico. Il più comune. | | `gre-over-private-peering` | Gli utenti si connettono tramite cross-connect diretto o circuito privato | -| `gre-over-public-peering` | Gli utenti fanno peering con te a un Internet Exchange (IX) | +| `gre-over-public-peering` | Gli utenti fanno peering con te in un Internet Exchange (IX) | | `gre-over-fabric` | Gli utenti sono co-locati e si connettono tramite un fabric locale | -| `gre-over-cable` | Connessione cavo diretta a un singolo utente dedicato | +| `gre-over-cable` | Connessione via cavo diretto a un singolo utente dedicato | -#### Scenario A: Interfaccia fisica singola +#### Scenario A: Singola interfaccia fisica -Un uplink fisico all'ISP. Ethernet1/1 è l'interfaccia CYOA e DIA e porta uno dei due IP pubblici. Loopback100 porta il secondo IP pubblico. +Un singolo uplink fisico verso l'ISP. Ethernet1/1 è l'interfaccia CYOA e DIA e porta uno dei due IP pubblici. Loopback100 porta il secondo IP pubblico. ```mermaid flowchart LR - USERS(["Utenti Finali"]) + USERS(["End Users"]) subgraph DZD["DZD"] E1["Eth1/1 @@ -402,20 +479,20 @@ flowchart LR E1 --- LO end - ISP["Router ISP + ISP["ISP Router 203.0.113.2/30"] ISP -- "10GbE" --- E1 - USERS -. "Tunnel GRE" .-> E1 - USERS -. "Tunnel GRE" .-> LO + USERS -. "GRE tunnels" .-> E1 + USERS -. "GRE tunnels" .-> LO ``` | Interfaccia | `--interface-cyoa` | `--interface-dia` | `--ip-net` | `--bandwidth` | `--cir` | `--routing-mode` | `--user-tunnel-endpoint` | |-------------|-------------------|------------------|------------|---------------|---------|-----------------|--------------------------| -| Ethernet1/1 | `gre-over-dia` | `dia` | IP/sottorete assegnata dal contributore | velocità porta | tariffa impegnata | `bgp` o `static` | `true` | -| Loopback100 | — | — | tuo /32 pubblico | `0bps` | — | — | `true` | +| Ethernet1/1 | `gre-over-dia` | `dia` | IP/subnet assegnato dal contributore | velocità della porta | rate garantito | `bgp` o `static` | `true` | +| Loopback100 | — | — | il tuo /32 pubblico | `0bps` | — | — | `true` | -Esempio di comandi per lo Scenario A: +Esempio di comandi da eseguire basati sullo Scenario A: ```bash doublezero device interface create mydzd-nyc01 Ethernet1/1 \ --interface-cyoa gre-over-dia \ @@ -438,9 +515,9 @@ Il DZD si connette al dispositivo upstream tramite un port channel con un IP. Il ```mermaid flowchart LR - USERS(["Utenti Finali"]) + USERS(["End Users"]) - subgraph SW["Router/Switch Upstream"] + subgraph SW["Upstream Router / Switch"] SWPC(["bond0 203.0.113.2/30"]) end @@ -456,16 +533,16 @@ flowchart LR end SWPC -- "2x 10GbE" --- PC - USERS -. "Tunnel GRE" .-> PC - USERS -. "Tunnel GRE" .-> LO + USERS -. "GRE tunnels" .-> PC + USERS -. "GRE tunnels" .-> LO ``` | Interfaccia | `--interface-cyoa` | `--interface-dia` | `--ip-net` | `--bandwidth` | `--cir` | `--routing-mode` | `--user-tunnel-endpoint` | |-------------|-------------------|------------------|------------|---------------|---------|-----------------|--------------------------| -| Port-Channel1 | `gre-over-dia` | `dia` | IP/sottorete assegnata dal contributore | velocità LAG combinata | tariffa impegnata | `bgp` o `static` | `true` | -| Loopback100 | — | — | tuo /32 pubblico | `0bps` | — | — | `true` | +| Port-Channel1 | `gre-over-dia` | `dia` | IP/subnet assegnato dal contributore | velocità LAG combinata | rate garantito | `bgp` o `static` | `true` | +| Loopback100 | — | — | il tuo /32 pubblico | `0bps` | — | — | `true` | -Esempio di comandi per lo Scenario B: +Esempio di comandi da eseguire basati sullo Scenario B: ```bash doublezero device interface create mydzd-fra01 Port-Channel1 \ --interface-cyoa gre-over-dia \ @@ -482,13 +559,14 @@ doublezero device interface create mydzd-fra01 Loopback100 \ --user-tunnel-endpoint true ``` + #### Scenario C: Doppi uplink fisici verso router separati -Ogni interfaccia fisica si connette a un router upstream diverso. I due IP pubblici si trovano su Loopback100 e Loopback101, entrambi registrati come endpoint di tunnel utente. +Ogni interfaccia fisica si connette a un router upstream diverso. I due IP pubblici risiedono su Loopback100 e Loopback101, entrambi registrati come user tunnel endpoint. ```mermaid flowchart LR - USERS(["Utenti Finali"]) + USERS(["End Users"]) RA["Router A 203.0.113.2/30"] @@ -512,18 +590,18 @@ flowchart LR RA -- "10GbE" --- E1 RB -- "10GbE" --- E2 - USERS -. "Tunnel GRE" .-> LO0 - USERS -. "Tunnel GRE" .-> LO1 + USERS -. "GRE tunnels" .-> LO0 + USERS -. "GRE tunnels" .-> LO1 ``` | Interfaccia | `--interface-cyoa` | `--interface-dia` | `--ip-net` | `--bandwidth` | `--cir` | `--routing-mode` | `--user-tunnel-endpoint` | |-------------|-------------------|------------------|------------|---------------|---------|-----------------|--------------------------| -| Ethernet1/1 | `gre-over-dia` | `dia` | IP/sottorete assegnata dal contributore | velocità porta | tariffa impegnata | `bgp` o `static` | — | -| Ethernet2/1 | `gre-over-dia` | `dia` | IP/sottorete assegnata dal contributore | velocità porta | tariffa impegnata | `bgp` o `static` | — | -| Loopback100 | — | — | tuo /32 pubblico | `0bps` | — | — | `true` | -| Loopback101 | — | — | tuo /32 pubblico | `0bps` | — | — | `true` | +| Ethernet1/1 | `gre-over-dia` | `dia` | IP/subnet assegnato dal contributore | velocità della porta | rate garantito | `bgp` o `static` | — | +| Ethernet2/1 | `gre-over-dia` | `dia` | IP/subnet assegnato dal contributore | velocità della porta | rate garantito | `bgp` o `static` | — | +| Loopback100 | — | — | il tuo /32 pubblico | `0bps` | — | — | `true` | +| Loopback101 | — | — | il tuo /32 pubblico | `0bps` | — | — | `true` | -Esempio di comandi per lo Scenario C: +Esempio di comandi da eseguire basati sullo Scenario C: ```bash doublezero device interface create mydzd-ams01 Ethernet1/1 \ --interface-cyoa gre-over-dia \ @@ -541,472 +619,4 @@ doublezero device interface create mydzd-ams01 Ethernet2/1 \ --cir 1Gbps \ --routing-mode bgp -doublezero device interface create mydzd-ams01 Loopback100 \ - --ip-net 198.51.100.1/32 \ - --bandwidth 0bps \ - --user-tunnel-endpoint true - -doublezero device interface create mydzd-ams01 Loopback101 \ - --ip-net 198.51.100.2/32 \ - --bandwidth 0bps \ - --user-tunnel-endpoint true -``` - -### Passo 3.6: Verifica il Tuo Dispositivo - -```bash -doublezero device list -``` - -**Output di esempio:** - -``` - account | code | contributor | location | exchange | device_type | public_ip | dz_prefixes | users | max_users | status | health | mgmt_vrf | owner - 7xKm9pQw2R4vHt3... | nyc-dz001 | acme | EQX-NY5 | nyc | hybrid | 203.0.113.10 | 198.51.100.0/28 | 0 | 14 | activated | pending | | 5FMtd5Woq5XAAg54... -``` - -Il tuo dispositivo dovrebbe apparire con stato `activated`. - ---- - -## Fase 4: Stabilimento del Link e Installazione degli Agent - -I link connettono il tuo dispositivo al resto della rete DoubleZero. - -### Comprendere i Link - -```mermaid -flowchart LR - subgraph "Your Network" - D1[Your DZD 1
NYC] - D2[Your DZD 2
LAX] - end - - subgraph "Other Contributor" - O1[Their DZD
NYC] - end - - D1 ---|WAN Link
Same contributor| D2 - D1 ---|DZX Link
Different contributors| O1 -``` - -| Tipo di Link | Connette | Accettazione | -|-------------|---------|--------------| -| **WAN Link** | Due dei TUOI dispositivi | Automatica (possiedi entrambi) | -| **DZX Link** | Il tuo dispositivo a quello di UN ALTRO contributore | Richiede la loro accettazione | - -### Passo 4.1: Crea WAN Link (se hai più dispositivi) - -I WAN link connettono i tuoi dispositivi: - -```bash -doublezero link create wan \ - --code \ - --contributor \ - --side-a \ - --side-a-interface \ - --side-z \ - --side-z-interface \ - --bandwidth 10000 \ - --mtu 9000 \ - --delay-ms 20 \ - --jitter-ms 1 -``` - -**Esempio:** - -```bash -doublezero link create wan \ - --code nyc-lax-wan01 \ - --contributor acme \ - --side-a nyc-dz001 \ - --side-a-interface Ethernet3/1 \ - --side-z lax-dz001 \ - --side-z-interface Ethernet3/1 \ - --bandwidth 10000 \ - --mtu 9000 \ - --delay-ms 65 \ - --jitter-ms 1 -``` - -**Output atteso:** - -``` -Signature: 5tNm7K...truncated...9pRw2 -``` - -### Passo 4.2: Crea DZX Link - -I DZX link connettono il tuo dispositivo direttamente al DZD di un altro contributore: - -```bash -doublezero link create dzx \ - --code \ - --contributor \ - --side-a \ - --side-a-interface \ - --side-z \ - --bandwidth \ - --mtu \ - --delay-ms \ - --jitter-ms -``` - -**Output atteso:** - -``` -Signature: 8mKp3W...truncated...2nRx7 -``` - -Dopo aver creato un DZX link, l'altro contributore deve accettarlo: - -```bash -# The OTHER contributor runs this -doublezero link accept \ - --code \ - --side-z-interface -``` - -**Output atteso (per il contributore che accetta):** - -``` -Signature: 6vQt9L...truncated...3wPm4 -``` - -### Passo 4.3: Verifica i Link - -```bash -doublezero link list -``` - -**Output di esempio:** - -``` - account | code | contributor | side_a_name | side_a_iface_name | side_z_name | side_z_iface_name | link_type | bandwidth | mtu | delay_ms | jitter_ms | delay_override_ms | tunnel_id | tunnel_net | status | health | owner - 8vkYpXaBW8RuknJq... | nyc-dz001:lax-dz001 | acme | nyc-dz001 | Ethernet3/1 | lax-dz001 | Ethernet3/1 | WAN | 10Gbps | 9000 | 65.00ms | 1.00ms | 0.00ms | 42 | 172.16.0.84/31 | activated | pending | 5FMtd5Woq5XAAg54... -``` - -I link dovrebbero mostrare lo stato `activated` una volta che entrambi i lati sono configurati. - ---- - -### Installazione degli Agent - -Due software agent vengono eseguiti sul tuo DZD: - -```mermaid -flowchart TB - subgraph "Your DZD" - CA[Config Agent] - TA[Telemetry Agent] - HW[Switch Hardware/Software] - end - - CA -->|Polls for config| CTRL[Controller Service] - CA -->|Applies config| HW - - HW -->|Metrics| TA - TA -->|Submits onchain| BC[DoubleZero Ledger] -``` - -| Agent | Cosa Fa | -|-------|---------| -| **Config Agent** | Recupera la configurazione dal controller, la applica al tuo switch | -| **Telemetry Agent** | Misura latenza/perdita verso altri dispositivi, riporta le metriche on-chain | - -### Passo 4.4: Installa il Config Agent - -#### Abilita l'API sul tuo switch - -Aggiungi alla configurazione EOS: - -``` -management api eos-sdk-rpc - transport grpc eapilocal - localhost loopback vrf default - service all - no disabled -``` - -!!! note "Nota VRF" - Sostituisci `default` con il nome del tuo VRF di gestione se diverso (es. `management`). - -#### Scarica e installa l'agent - -```bash -# Enter bash on the switch -switch# bash -$ sudo bash -# cd /mnt/flash -# wget AGENT_DOWNLOAD_URL -# exit -$ exit - -# Install as EOS extension -switch# copy flash:AGENT_FILENAME extension: -switch# extension AGENT_FILENAME -switch# copy installed-extensions boot-extensions -``` - -#### Verifica l'estensione - -```bash -switch# show extensions -``` - -Lo stato dovrebbe essere "A, I, B": - -``` -Name Version/Release Status Extension -------------------------------------------- ------------------- ---------- --------- -AGENT_FILENAME MAINNET_CLIENT_VERSION/1 A, I, B 1 - -A: available | NA: not available | I: installed | F: forced | B: install at boot -``` - -#### Configura e avvia l'agent - -Aggiungi alla configurazione EOS: - -``` -daemon doublezero-agent - exec /usr/local/bin/doublezero-agent -pubkey - no shut -``` - -!!! note "Nota VRF" - Se il tuo VRF di gestione non è `default` (cioè il namespace non è `ns-default`), anteponi al comando exec `exec /sbin/ip netns exec ns-`. Ad esempio, se il tuo VRF è `management`: - ``` - daemon doublezero-agent - exec /sbin/ip netns exec ns-management /usr/local/bin/doublezero-agent -pubkey - no shut - ``` - -Ottieni la pubkey del tuo dispositivo da `doublezero device list` (la colonna `account`). - -#### Verifica che sia in esecuzione - -```bash -switch# show agent doublezero-agent logs -``` - -Dovresti vedere "Starting doublezero-agent" e connessioni riuscite al controller. - -### Passo 4.5: Installa il Telemetry Agent - -#### Copia la metrics publisher key sul tuo dispositivo - -```bash -scp ~/.config/doublezero/metrics-publisher.json :/mnt/flash/metrics-publisher-keypair.json -``` - -#### Registra il metrics publisher on-chain - -```bash -doublezero device update \ - --pubkey \ - --metrics-publisher -``` - -Ottieni la pubkey dal tuo file metrics-publisher.json. - -#### Scarica e installa l'agent - -```bash -switch# bash -$ sudo bash -# cd /mnt/flash -# wget TELEMETRY_DOWNLOAD_URL -# exit -$ exit - -# Install as EOS extension -switch# copy flash:TELEMETRY_FILENAME extension: -switch# extension TELEMETRY_FILENAME -switch# copy installed-extensions boot-extensions -``` - -#### Verifica l'estensione - -```bash -switch# show extensions -``` - -Lo stato dovrebbe essere "A, I, B": - -``` -Name Version/Release Status Extension -------------------------------------------- ------------------- ---------- --------- -TELEMETRY_FILENAME MAINNET_CLIENT_VERSION/1 A, I, B 1 - -A: available | NA: not available | I: installed | F: forced | B: install at boot -``` - -#### Configura e avvia l'agent - -Aggiungi alla configurazione EOS: - -``` -daemon doublezero-telemetry - exec /usr/local/bin/doublezero-telemetry --local-device-pubkey --env mainnet --keypair /mnt/flash/metrics-publisher-keypair.json - no shut -``` - -!!! note "Nota VRF" - Se il tuo VRF di gestione non è `default` (cioè il namespace non è `ns-default`), aggiungi `--management-namespace ns-` al comando exec. Ad esempio, se il tuo VRF è `management`: - ``` - daemon doublezero-telemetry - exec /usr/local/bin/doublezero-telemetry --management-namespace ns-management --local-device-pubkey --env mainnet --keypair /mnt/flash/metrics-publisher-keypair.json - no shut - ``` - -#### Verifica che sia in esecuzione - -```bash -switch# show agent doublezero-telemetry logs -``` - -Dovresti vedere "Starting telemetry collector" e "Starting submission loop". - ---- - -## Fase 5: Burn-in del Link - -!!! warning "Tutti i nuovi link devono completare il burn-in prima di trasportare traffico" - I nuovi link devono essere **drenati per almeno 24 ore** prima di essere attivati per il traffico di produzione. Questo requisito di burn-in è definito in [RFC12: Network Provisioning](https://github.com/malbeclabs/doublezero/blob/main/rfcs/rfc12-network-provisioning.md), che specifica ~200.000 slot del DZ Ledger (~20 ore) di metriche pulite prima che un link sia pronto per il servizio. - -Con gli agent installati e in esecuzione, monitora i tuoi link su [metrics.doublezero.xyz](https://metrics.doublezero.xyz) per almeno 24 ore consecutive: - -- Dashboard **"DoubleZero Device-Link Latencies"** — verifica **zero perdita di pacchetti** sul link nel tempo -- Dashboard **"DoubleZero Network Metrics"** — verifica **zero errori** sui tuoi link - -Sblocca il link solo quando il periodo di burn-in mostra un link pulito con zero perdite e zero errori. - ---- - -## Fase 6: Verifica e Attivazione - -Esegui questa checklist per confermare che tutto funzioni. - -!!! warning "Il tuo dispositivo inizia bloccato (`max_users = 0`)" - Quando viene creato un dispositivo, `max_users` è impostato a **0** per impostazione predefinita. Ciò significa che nessun utente può ancora connettersi ad esso. Questo è intenzionale — devi verificare che tutto funzioni prima di accettare traffico utente. - - **Prima di impostare `max_users` sopra 0, devi:** - - 1. Confermare che tutti i link abbiano completato il **burn-in di 24 ore** con zero perdite/errori su [metrics.doublezero.xyz](https://metrics.doublezero.xyz) - 2. **Coordinarsi con DZ/Malbec Labs** per eseguire un test di connettività: - - Un utente di test può connettersi al tuo dispositivo? - - L'utente riceve route tramite la rete DZ? - - L'utente può instradare il traffico tramite la rete DZ end-to-end? - 3. Solo dopo che DZ/ML conferma che i test sono passati, imposta max_users a 96: - - ```bash - doublezero device update --pubkey --max-users 96 - ``` - -### Controlli del Dispositivo - -```bash -# Your device should appear with status "activated" -doublezero device list | grep -``` - -**Output atteso:** - -``` - 7xKm9pQw2R4vHt3... | nyc-dz001 | acme | EQX-NY5 | nyc | hybrid | 203.0.113.10 | 198.51.100.0/28 | 0 | 14 | activated | pending | | 5FMtd5Woq5XAAg54... -``` - -```bash -# Your interfaces should be listed -doublezero device interface list | grep -``` - -**Output atteso:** - -``` - nyc-dz001 | Loopback255 | loopback | vpnv4 | none | none | 0 | 0 | 1500 | static | 0 | 172.16.1.91/32 | 56 | false | activated - nyc-dz001 | Loopback256 | loopback | ipv4 | none | none | 0 | 0 | 1500 | static | 0 | 172.16.1.100/32 | 0 | false | activated - nyc-dz001 | Ethernet1/1 | physical | none | none | none | 0 | 0 | 1500 | static | 0 | | 0 | false | activated -``` - -### Controlli dei Link - -```bash -# Links should show status "activated" -doublezero link list | grep -``` - -**Output atteso:** - -``` - 8vkYpXaBW8RuknJq... | nyc-lax-wan01 | acme | nyc-dz001 | Ethernet3/1 | lax-dz001 | Ethernet3/1 | WAN | 10Gbps | 9000 | 65.00ms | 1.00ms | 0.00ms | 42 | 172.16.0.84/31 | activated | pending | 5FMtd5Woq5XAAg54... -``` - -### Controlli degli Agent - -Sullo switch: - -```bash -# Config agent should show successful config pulls -switch# show agent doublezero-agent logs | tail -20 - -# Telemetry agent should show successful submissions -switch# show agent doublezero-telemetry logs | tail -20 -``` - -### Diagramma di Verifica Finale - -```mermaid -flowchart TB - subgraph "Verification Checklist" - D[Device Status: activated?] - I[Interfaces: registered?] - L[Links: activated?] - CA[Config Agent: pulling config?] - TA[Telemetry Agent: submitting metrics?] - end - - D --> PASS - I --> PASS - L --> PASS - CA --> PASS - TA --> PASS - - PASS[All Checks Pass] --> NOTIFY[Notify DZF/Malbec Labs
You are technically ready!] -``` - ---- - -## Risoluzione dei Problemi - -### Creazione del dispositivo fallisce - -- Verifica che la tua service key sia autorizzata (`doublezero contributor list`) -- Controlla che i codici di posizione e exchange siano validi -- Assicurati che il prefisso DZ sia un intervallo IP pubblico valido - -### Link bloccato nello stato "requested" - -- I DZX link richiedono l'accettazione dall'altro contributore -- Contattali per eseguire `doublezero link accept` - -### Config Agent non si connette - -- Verifica che la rete di gestione abbia accesso a internet -- Controlla che la configurazione VRF corrisponda alla tua configurazione -- Assicurati che la pubkey del dispositivo sia corretta - -### Telemetry Agent non invia - -- Verifica che la metrics publisher key sia registrata on-chain -- Controlla che il file keypair esista sullo switch -- Assicurati che la pubkey dell'account del dispositivo sia corretta - ---- - -## Prossimi Passi - -- Consulta la [Guida Operativa](contribute-operations.md) per gli aggiornamenti degli agent e la gestione dei link -- Consulta il [Glossario](glossary.md) per le definizioni dei termini -- Contatta DZF/Malbec Labs se riscontri problemi +doublezero device interface create mydzd- \ No newline at end of file diff --git a/docs/contribute-provisioning.ja.md b/docs/contribute-provisioning.ja.md index 7649583..3176ee9 100644 --- a/docs/contribute-provisioning.ja.md +++ b/docs/contribute-provisioning.ja.md @@ -1,70 +1,110 @@ -# デバイスプロビジョニングガイド -!!! warning "This translation was generated using artificial intelligence and has not been reviewed by a human translator. It may contain inaccuracies or errors and should not be relied upon." +--- +description: DoubleZero Device (DZD) のプロビジョニングとインターフェースおよびロールのオンチェーン登録に関するステップバイステップガイド。 +--- +# デバイスプロビジョニングガイド -このガイドでは、DoubleZeroデバイス(DZD)を最初から最後までプロビジョニングする手順を説明します。各フェーズは[オンボーディングチェックリスト](contribute-overview.md#onboarding-checklist)に対応しています。 +このガイドでは、DoubleZero Device (DZD) のプロビジョニングを最初から最後まで順を追って説明します。各フェーズは[オンボーディングチェックリスト](contribute-overview.md#onboarding-checklist)に対応しています。 --- -## 全体像 +## 全体の仕組み + +このガイドでは、DoubleZero ネットワークがトラフィックをルーティングできるように、インフラストラクチャをオンチェーンに登録する手順を説明します。デバイスの登録が完全であるほど、ネットワークにとっての有用性が高まります。デバイスの完全なオンチェーン表現により、トラブルシューティングやキャパシティプランニングが改善され、コントローラーが適切な判断を下せるようになります。将来的には、コントローラーが設定の責任をより多く担うことを目指しています。 + +### 主要な概念 + +**インターフェース** + +DZD のインターフェースにはさまざまな形態があります:イーサネットポート、ポートチャネル(複数のイーサネットポートで構成される LAG)、およびループバックです。ネットワーク上で役割を持つ各インターフェースは、プロトコルがその機能を認識できるよう、適切なフラグを付けてオンチェーンに登録する必要があります。 + +イーサネットポートとポートチャネルは以下の役割を果たすことができます: + +| フラグ | 意味 | +|------|---------------| +| `--interface-dia dia` | インターフェースをダイレクトインターネットアクセスのアップリンクとしてマークします | +| `--interface-cyoa ` | ユーザーがこのインターフェースを通じて GRE トンネルを確立する方法を宣言します(例:パブリックインターネット経由、プライベートピアリングリンク経由) | +| `--user-tunnel-endpoint true` | このインターフェースはユーザーが GRE トンネルを終端するパブリック IP を持っています | -手順に入る前に、構築するものの全体像を確認しましょう: +WAN または DZX リンクに使用されるインターフェースには特定のフラグは付けられず、帯域幅とともに登録され、リンク作成時に参照されます。 + +ループバックインターフェースはいくつかの目的に使用されます: + +| ループバック | 意味 | +|----------|---------------| +| **Loopback100 / 101** | ユーザーが GRE トンネルを終端するパブリック IP を持ちます。`--user-tunnel-endpoint true` で登録します。 | +| **Loopback255** (`vpnv4`) | コントローラーが BGP ルーター ID、VPN-IPv4 ピアリング(ユニキャスト)、IS-IS アイデンティティ、およびセグメントルーティングに使用する IP を割り当てるために登録します | +| **Loopback256** (`ipv4`) | コントローラーが IPv4 BGP ピアリング(マルチキャスト)および MSDP セッションに使用する IP を割り当てるために登録します | + +**リンク** + +リンクはインターフェースとは別に登録され、リンクがインターフェースを参照するには、インターフェースがオンチェーンに存在している必要があります。WAN または DZX リンクを作成する際には、既に登録済みのインターフェースをリンクの物理エンドポイントとして指定します。すべてのインターフェースがリンクに紐づくわけではありません:DIA、CYOA、およびループバックインターフェースはリンクに接続されません。 + +| 用語 | 意味 | +|------|---------------| +| **WAN リンク** | 自身の DZD 間のリンク | +| **DZX リンク** | 自身の DZD と別のコントリビューターの DZD 間のリンク | + +### アーキテクチャ概要 ```mermaid flowchart TB subgraph Onchain - SC[DoubleZeroレジャー] + SC[DoubleZero Ledger] end subgraph Your Infrastructure - MGMT[管理サーバー
DoubleZero CLI] - DZD[あなたのDZD
Aristaスイッチ] - DZD ---|WANリンク| DZD2[もう一台のDZD] + MGMT[Management Server
DoubleZero CLI] + subgraph DZD[Your DZD] + CYOA["DIA · CYOA interface
(user-facing uplink)"] + WAN_INTF["WAN link interface"] + DZX_INTF["DZX link interface"] + LO100["Loopback100/101
(user tunnel endpoint)"] + end + DZD2[Your other DZD] end subgraph Other Contributor - OtherDZD[他のDZD] + OtherDZD[Their DZD] end - subgraph Users - VAL[バリデーター] - RPC[RPCノード] - end + USERS["Users"] - MGMT -.->|デバイス、リンク、
インターフェースを登録| SC - DZD ---|DZXリンク| OtherDZD - VAL ---|インターネット経由で接続| DZD - RPC ---|インターネット経由で接続| DZD + MGMT -.->|Registers devices,
links, interfaces| SC + WAN_INTF ---|WAN Link| DZD2 + DZX_INTF ---|DZX Link| OtherDZD + USERS -.|GRE tunnel|.-> CYOA + CYOA ---|routes to| LO100 ``` --- -## フェーズ1:前提条件 +## フェーズ 1: 前提条件 -デバイスをプロビジョニングする前に、物理的なハードウェアをセットアップし、いくつかのIPアドレスを割り当てる必要があります。 +デバイスをプロビジョニングする前に、物理ハードウェアのセットアップといくつかの IP アドレスの割り当てが必要です。 ### 必要なもの | 要件 | 必要な理由 | |-------------|-----------------| -| **DZDハードウェア** | Arista 7280CR3Aスイッチ([ハードウェア仕様](contribute.md#hardware-requirements)参照) | -| **ラックスペース** | 適切なエアフローを持つ4U | -| **電力** | 冗長フィード、約4KW推奨 | -| **管理アクセス** | スイッチを設定するためのSSH/コンソールアクセス | -| **インターネット接続** | メトリクスのパブリッシュとコントローラーからの設定取得のため | -| **パブリックIPv4ブロック** | DZプレフィックスプール用の最小/29(以下参照) | +| **DZD ハードウェア** | Arista 7280CR3A スイッチ([ハードウェア仕様](contribute.md#hardware-requirements)を参照) | +| **ラックスペース** | DZD あたり 2U を確保(現在使用中は 1U)、適切なエアフローが必要。[ラックと電源](contribute.md#rack-power-requirements)を参照 | +| **電源** | 2 系統の独立した電源フィード、各系統が単独で全負荷を支えられること。[ラックと電源](contribute.md#rack-power-requirements)を参照 | +| **管理アクセス** | スイッチを設定するための SSH/コンソールアクセス | +| **インターネット接続** | メトリクスの公開およびコントローラーからの設定取得用 | +| **パブリック IPv4 ブロック** | DZ プレフィックスプール用に最低 /29(下記参照) | -### DoubleZero CLIのインストール +### DoubleZero CLI のインストール -DoubleZero CLI(`doublezero`)はプロビジョニング全体でデバイスの登録、リンクの作成、貢献の管理に使用されます。DZDスイッチ自体ではなく、**管理サーバーまたはVM**にインストールする必要があります。スイッチはConfig AgentとTelemetry Agentのみを実行します([フェーズ4](#phase-4-link-establishment-agent-installation)でインストール)。 +DoubleZero CLI(`doublezero`)は、プロビジョニング全体を通じてデバイスの登録、リンクの作成、コントリビューションの管理に使用されます。**管理サーバーまたは VM** にインストールしてください — DZD スイッチ自体にはインストールしないでください。スイッチには Config Agent と Telemetry Agent のみが実行されます([フェーズ 4](#phase-4-link-establishment-agent-installation) でインストール)。 -**Ubuntu / Debian:** +**Ubuntu / Debian:** ```bash curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash sudo apt-get install doublezero ``` -**Rocky Linux / RHEL:** +**Rocky Linux / RHEL:** ```bash curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.rpm.sh | sudo -E bash sudo yum install doublezero @@ -75,77 +115,78 @@ sudo yum install doublezero sudo systemctl status doublezerod ``` -### DZプレフィックスについて +### DZ プレフィックスの理解 -DZプレフィックスはDoubleZeroプロトコルがIP割り当てに管理するパブリックIPアドレスのブロックです。 +DZ プレフィックスは、DoubleZero プロトコルが IP 割り当てのために管理するパブリック IP アドレスのブロックです。 ```mermaid flowchart LR - subgraph "あなたの/29ブロック(8 IP)" - IP1["最初のIP
デバイス用に
予約"] + subgraph "Your /29 Block (8 IPs)" + IP1["First IP
Reserved for
your device"] IP2["IP 2"] IP3["IP 3"] IP4["..."] IP8["IP 8"] end - IP1 -->|割り当て先| LO[DZD上の
Loopback100] - IP2 -->|割り当て先| U1[ユーザー1] - IP3 -->|割り当て先| U2[ユーザー2] + IP1 -->|Assigned to| LO[Loopback100
on your DZD] + IP2 -->|Allocated to| U1[User 1] + IP3 -->|Allocated to| U2[User 2] ``` -**DZプレフィックスの使用方法:** +**DZ プレフィックスの使用方法:** -- **最初のIP**:デバイス用に予約(Loopback100インターフェースに割り当て) -- **残りのIP**:DZDに接続する特定のユーザータイプに割り当て: - - `IBRLWithAllocatedIP`ユーザー - - `EdgeFiltering`ユーザー - - マルチキャストパブリッシャー -- **IBRLユーザー**:このプールを消費しません(独自のパブリックIPを使用) +- **最初の IP**: デバイス用に予約(Loopback100 インターフェースに割り当て) +- **残りの IP**: DZD に接続する特定のユーザータイプに割り当て: + - `IBRLWithAllocatedIP` ユーザー + - `EdgeFiltering` ユーザー(将来のユースケース) +- **IBRL ユーザー**: このプールからは消費しません(独自のパブリック IP を使用) -!!! warning "DZプレフィックスルール" - **これらのアドレスは以下に使用できません:** +!!! warning "DZ プレフィックスのルール" + **これらのアドレスを以下の目的で使用することはできません:** - - 自社のネットワーク機器 - - DIAインターフェースのポイントツーポイントリンク + - 自身のネットワーク機器 + - DIA インターフェースのポイントツーポイントリンク - 管理インターフェース - - DZプロトコル外のインフラ + - DZ プロトコル外のインフラストラクチャ **要件:** - - **グローバルにルーティング可能(パブリック)**なIPv4アドレスである必要があります - - プライベートIP範囲(10.x、172.16-31.x、192.168.x)はスマートコントラクトで拒否されます - - **最小サイズ:/29**(8アドレス)、大きなプレフィックス推奨(例:/28、/27) - - ブロック全体が利用可能である必要があります — アドレスを事前に割り当てないでください + - **グローバルにルーティング可能(パブリック)** な IPv4 アドレスである必要があります + - プライベート IP レンジ(10.x、172.16-31.x、192.168.x)はスマートコントラクトによって拒否されます + - **最小サイズ: /29**(8 アドレス)、より大きなプレフィックスが推奨(例:/28、/27) + - ブロック全体が利用可能である必要があります — アドレスの事前割り当てはしないでください - 自社の機器用にアドレスが必要な場合(DIAインターフェースIP、管理など)は、**別のアドレスプール**を使用してください。 + 自身の機器用のアドレス(DIA インターフェース IP、管理用など)が必要な場合は、**別のアドレスプール**を使用してください。 --- -## フェーズ2:アカウントのセットアップ +## フェーズ 2: アカウントセットアップ -このフェーズでは、ネットワーク上でアカウントとデバイスを識別する暗号鍵を作成します。 +このフェーズでは、ネットワーク上であなたとデバイスを識別する暗号鍵を作成し、報酬管理を設定します。 -### CLIを実行する場所 +手順がこの順序で実行されるのには理由があります:まずリポジトリアクセス(リポジトリには後続のステップの手順が含まれているため)、次に鍵、そして報酬。一部のステップでは DZF の対応を待つ必要があり、以下の各ステップでそれが示されています。 -!!! warning "スイッチにCLIをインストールしないでください" - DoubleZero CLI(`doublezero`)はAristaスイッチではなく、**管理サーバーまたはVM**にインストールする必要があります。 +### CLI の実行場所 + +!!! warning "スイッチに CLI をインストールしないでください" + DoubleZero CLI(`doublezero`)は、Arista スイッチではなく、**管理サーバーまたは VM** にインストールしてください。 ```mermaid flowchart LR - subgraph "管理サーバー/VM" + subgraph "Management Server/VM" CLI[DoubleZero CLI] - KEYS[キーペア] + KEYS[Your Keypairs] end - subgraph "DZDスイッチ" + subgraph "Your DZD Switch" CA[Config Agent] TA[Telemetry Agent] end - CLI -->|デバイス、リンクを作成| BC[ブロックチェーン] - CA -->|設定を取得| CTRL[コントローラー] - TA -->|メトリクスを送信| BC + CLI -->|Creates devices, links| BC[Blockchain] + CA -->|Pulls config| CTRL[Controller] + TA -->|Submits metrics| BC ``` | 管理サーバーにインストール | スイッチにインストール | @@ -154,140 +195,167 @@ flowchart LR | サービスキーペア | Telemetry Agent | | メトリクスパブリッシャーキーペア | メトリクスパブリッシャーキーペア(コピー) | -### キーとは? +### 鍵とは何ですか? -キーは安全なログイン認証情報のようなものです: +鍵はセキュアなログイン認証情報のようなものです: -- **サービスキー**:コントリビューターアイデンティティ - CLIコマンドの実行に使用 -- **メトリクスパブリッシャーキー**:テレメトリデータを送信するためのデバイスアイデンティティ +- **サービスキー**: コントリビューターとしてのあなたのアイデンティティ — CLI コマンドの実行に使用 +- **メトリクスパブリッシャーキー**: テレメトリデータ送信のためのデバイスのアイデンティティ +- **報酬マネージャーキー**: どのウォレットが報酬を受け取るかを制御 — コントリビューターリポジトリの[報酬管理](https://github.com/malbeclabs/contributors#rewards-management)を参照 -どちらも暗号鍵ペア(共有する公開鍵と秘密に保持する秘密鍵)です。 +3 つすべてが暗号キーペア(共有する公開鍵と、秘密にする秘密鍵)です。 ```mermaid flowchart LR - subgraph "あなたのキー" - SK[サービスキー
~/.config/solana/id.json] - MK[メトリクスパブリッシャーキー
~/.config/doublezero/metrics-publisher.json] + subgraph "Your Keys" + SK[Service Key
~/.config/solana/id.json] + MK[Metrics Publisher Key
~/.config/doublezero/metrics-publisher.json] + RK[Rewards Manager Key
keep offline] end - SK -->|使用先| CLI[CLIコマンド
doublezero device create
doublezero link create] - MK -->|使用先| TEL[Telemetry Agent
メトリクスをオンチェーンに送信] + SK -->|Used for| CLI[CLI Commands
doublezero device create
doublezero link create] + MK -->|Used for| TEL[Telemetry Agent
Submits metrics onchain] + RK -->|Used for| REW[Rewards Portal
Sets recipient wallets] ``` -### ステップ2.1:サービスキーの生成 +!!! note "報酬マネージャーキーは別に保管してください" + サービスキーとメトリクスパブリッシャーキーは管理サーバーとスイッチに配置されます。報酬マネージャーキーはお金の送金先を制御するため、それらのマシンとは別に保管してください。受取ウォレットを変更する場合にのみ必要です。 + +### ステップ 2.1: コントリビューターリポジトリへのアクセスをリクエスト -これはDoubleZeroと対話するためのメインアイデンティティです。 +DoubleZero Foundation または Malbec Labs に連絡し、**GitHub ユーザー名**を伝えてください。 + +プライベートリポジトリ [malbeclabs/contributors](https://github.com/malbeclabs/contributors) へのアクセスが付与されます。これを最初に行ってください:このリポジトリにはベースデバイス設定、TCAM および ACL プロファイル、および以下のステップで必要な報酬管理の手順が含まれています。 + +### ステップ 2.2: サービスキーの生成 + +これは DoubleZero とのやり取りに使用するメインのアイデンティティです。 ```bash doublezero keygen ``` -これにより、デフォルトの場所にキーペアが作成されます。出力には**公開鍵**が表示されます - これをDZFと共有します。 +デフォルトの場所にキーペアが作成されます。出力に**公開鍵**が表示されます — これは DZF と共有するものです。 -### ステップ2.2:メトリクスパブリッシャーキーの生成 +### ステップ 2.3: メトリクスパブリッシャーキーの生成 -このキーはTelemetry Agentがメトリクス送信に署名するために使用します。 +この鍵は Telemetry Agent がメトリクス送信に署名するために使用されます。 ```bash doublezero keygen -o ~/.config/doublezero/metrics-publisher.json ``` -### ステップ2.3:DZFへのキーの提出 +### ステップ 2.4: サービスキーを DZF に提出 -DoubleZero FoundationまたはMalbec Labsに連絡し、以下を提供します: +DZF に**サービスキーの公開鍵**を送付してください。 -1. **サービスキーの公開鍵** -2. **GitHubユーザー名**(リポジトリアクセスのため) +DZF がオンチェーンに**コントリビューターアカウント**を作成し、完了後に確認の連絡があります。 -DZFは以下を行います: +!!! danger "公開鍵のみ" + 秘密鍵やキーペアファイルを DZF を含む誰にも送らないでください。必要なのは公開鍵のみです。 -- **コントリビューターアカウント**をオンチェーンで作成 -- プライベートな**contributorsリポジトリ**へのアクセスを付与 +### ステップ 2.5: アカウントの確認 -### ステップ2.4:アカウントの確認 - -確認後、コントリビューターアカウントが存在することを確認します: +確認が取れたら、コントリビューターアカウントの存在を確認します: ```bash doublezero contributor list ``` -一覧にコントリビューターコードが表示されるはずです。 +リストにあなたのコントリビューターコードが表示されるはずです。 -### ステップ2.5:Contributorsリポジトリへのアクセス +### ステップ 2.6: 報酬管理の設定 -[malbeclabs/contributors](https://github.com/malbeclabs/contributors)リポジトリには以下が含まれています: +報酬管理は、コントリビューションで獲得した [2Z](glossary.md#2z-token) をどのウォレットがどのような比率で受け取るかを決定します。 -- ベースデバイス設定 -- TCAMプロファイル -- ACL設定 -- 追加セットアップ手順 +ステップ 2.1 でアクセスを取得したコントリビューターリポジトリの[報酬管理](https://github.com/malbeclabs/contributors#rewards-management)に従ってください。 -デバイス固有の設定については、そこの指示に従ってください。 +!!! note "これは残りのセットアップをブロックしません" + 報酬管理が完了していなくても、デバイスのプロビジョニング、リンクの確立、トラフィックの転送を開始できます。以下のフェーズは報酬管理とは独立して進めてください。 --- -## フェーズ3:デバイスプロビジョニング +## フェーズ 3: デバイスプロビジョニング + +ここでは、物理デバイスをブロックチェーンに登録し、インターフェースを設定します。 -ここでは物理的なデバイスをブロックチェーンに登録し、インターフェースを設定します。 +### デバイスタイプの理解 -### デバイスタイプについて +**Edge** — ユーザー接続のみを受け入れる ```mermaid -flowchart TB - subgraph "エッジデバイス" - E[エッジDZD] - EU[ユーザーはここに接続] - EU --> E - E <-->|DZXリンク| ED[他のDZD] +flowchart LR + subgraph EDZD[Edge DZD] + E_CYOA["DIA · CYOA interface"] + E_TUN["Loopback100/101 + (user tunnel endpoint)"] + E_DZX["DZX link interface"] + E_CYOA --- E_TUN end + EU["Users"] -.|GRE tunnel|.-> E_CYOA + E_DZX <-->|DZX Link| ED["DZD (different contributor)"] +``` - subgraph "トランジットデバイス" - T[トランジットDZD] - T <-->|WANリンク| T2[別のDZD] - T <-->|DZXリンク| TD[他のDZD] +**Transit** — デバイス間のトラフィックを転送、ユーザー接続なし + +```mermaid +flowchart LR + subgraph TDZD[Transit DZD] + T_WAN["WAN link interface"] + T_DZX["DZX link interface"] end + T_WAN <-->|WAN Link| T2["DZD (same contributor)"] + T_DZX <-->|DZX Link| TD["DZD (different contributor)"] +``` + +**Hybrid** — ユーザー接続とバックボーンの両方、最も一般的 - subgraph "ハイブリッドデバイス" - H[ハイブリッドDZD] - HU[ユーザーはここに接続] - HU --> H - H <-->|WANリンク| H2[別のDZD] - H <-->|DZXリンク| HD[他のDZD] +```mermaid +flowchart LR + subgraph HDZD[Hybrid DZD] + H_CYOA["DIA · CYOA interface"] + H_TUN["Loopback100/101 + (user tunnel endpoint)"] + H_WAN["WAN link interface"] + H_DZX["DZX link interface"] + H_CYOA --- H_TUN end + HU["Users"] -.|GRE tunnel|.-> H_CYOA + H_WAN <-->|WAN Link| H2["DZD (same contributor)"] + H_DZX <-->|DZX Link| HD["DZD (different contributor)"] ``` -| タイプ | 機能 | 使用するとき | +| タイプ | 機能 | 使用するケース | |------|--------------|-------------| -| **エッジ** | ユーザー接続のみを受け入れる | 単一ロケーション、ユーザー向けのみ | -| **トランジット** | デバイス間のトラフィックを移動 | バックボーン接続、ユーザーなし | -| **ハイブリッド** | ユーザー接続とバックボーンの両方 | 最も一般的 - すべてを行う | +| **Edge** | ユーザー接続のみを受け入れる | 単一ロケーション、ユーザー向けのみ | +| **Transit** | デバイス間のトラフィックを転送 | バックボーン接続、ユーザーなし | +| **Hybrid** | ユーザー接続とバックボーンの両方 | 最も一般的 — すべてに対応 | -### ステップ3.1:ロケーションとエクスチェンジを調べる +### ステップ 3.1: ロケーションとエクスチェンジの検索 -デバイスを作成する前に、データセンターの場所と最寄りのエクスチェンジのコードを調べます: +デバイスを作成する前に、データセンターのロケーションと最寄りのエクスチェンジのコードを確認します: ```bash -# 利用可能なロケーション(データセンター)を一覧表示 +# 利用可能なロケーション(データセンター)の一覧 doublezero location list -# 利用可能なエクスチェンジ(相互接続ポイント)を一覧表示 +# 利用可能なエクスチェンジ(相互接続ポイント)の一覧 doublezero exchange list ``` -### ステップ3.2:デバイスをオンチェーンで作成する +### ステップ 3.2: デバイスのオンチェーン登録 ブロックチェーンにデバイスを登録します: ```bash doublezero device create \ - --code <デバイスコード> \ - --contributor <コントリビューターコード> \ + --code \ + --contributor \ --device-type hybrid \ - --location <ロケーションコード> \ - --exchange <エクスチェンジコード> \ - --public-ip <デバイスパブリックIP> \ - --dz-prefixes + --location \ + --exchange \ + --public-ip \ + --dz-prefixes ``` **例:** @@ -315,43 +383,50 @@ Signature: 4vKz8H...truncated...7xPq2 doublezero device list | grep nyc-dz001 ``` -**パラメーターの説明:** +**パラメータの説明:** -| パラメーター | 意味 | +| パラメータ | 意味 | |-----------|---------------| -| `--code` | デバイスの一意の名前(例:`nyc-dz001`) | -| `--contributor` | コントリビューターコード(DZFから付与) | -| `--device-type` | `hybrid`、`transit`、または`edge` | -| `--location` | `location list`からのデータセンターコード | -| `--exchange` | `exchange list`からの最寄りエクスチェンジコード | -| `--public-ip` | ユーザーがインターネット経由でデバイスに接続するパブリックIP | -| `--dz-prefixes` | ユーザー用の割り当てIPブロック | +| `--code` | デバイスの一意な名前(例:`nyc-dz001`) | +| `--contributor` | コントリビューターコード(DZF から付与) | +| `--device-type` | `hybrid`、`transit`、または `edge` | +| `--location` | `location list` から取得したデータセンターコード | +| `--exchange` | `exchange list` から取得した最寄りのエクスチェンジコード | +| `--public-ip` | ユーザーがインターネット経由でデバイスに接続するパブリック IP | +| `--dz-prefixes` | ユーザー用に割り当てられた IP ブロック | -### ステップ3.3:必要なループバックインターフェースを作成する +### ステップ 3.3: 必須ループバックインターフェースの作成 -すべてのデバイスには内部ルーティング用の2つのループバックインターフェースが必要です: +すべてのデバイスには、内部ルーティング用に 2 つのループバックインターフェースが必要です: ```bash -# VPNv4ループバック -doublezero device interface create <デバイスコード> Loopback255 --loopback-type vpnv4 +# VPNv4 ループバック +doublezero device interface create Loopback255 --loopback-type vpnv4 -# IPv4ループバック -doublezero device interface create <デバイスコード> Loopback256 --loopback-type ipv4 +# IPv4 ループバック +doublezero device interface create Loopback256 --loopback-type ipv4 ``` -**期待される出力(各コマンド):** +**期待される出力(各コマンドごと):** ``` Signature: 3mNx9K...truncated...8wRt5 ``` -### ステップ3.4:物理インターフェースを作成する +### ステップ 3.4: 物理インターフェースの作成 -使用する物理ポートを登録します: +WAN または DZX リンクに使用される物理インターフェースを登録します。これらのインターフェースは、リンクを作成してそれらを参照する前にオンチェーンに存在している必要があります。このステップではインターフェースと帯域幅のみを登録し、リンクは後のステップで作成します。 + +```bash +doublezero device interface create \ + --bandwidth +``` + +**例:** ```bash -# 基本インターフェース -doublezero device interface create <デバイスコード> Ethernet1/1 +doublezero device interface create nyc-dz001 Ethernet1/1 \ + --bandwidth 10Gbps ``` **期待される出力:** @@ -360,38 +435,40 @@ doublezero device interface create <デバイスコード> Ethernet1/1 Signature: 7pQw2R...truncated...4xKm9 ``` -### ステップ3.5:CYOAインターフェースを作成する(エッジ/ハイブリッドデバイスの場合) +WAN または DZX リンクのエンドポイントとして使用する各インターフェースについて、これを繰り返します。CYOA および DIA インターフェースは次のステップで別途登録します。 -ハイブリッドおよびエッジDZDには、ユーザーがGREトンネルを終端する**2つのパブリックIPアドレス**が必要です。ユーザーはユニキャスト、マルチキャスト、またはその両方で接続でき、どのIPがどの目的に使用されるかはユーザーごとにローテーションされます。 +### ステップ 3.5: CYOA インターフェースの作成(Edge/Hybrid デバイス用) -両方のIPは、物理インターフェースまたはループバックのいずれかで`--user-tunnel-endpoint true`で登録する必要があります。これには、デバイス作成時に指定したIPも含まれます。そのIPもここで明示的に登録する必要があります。 +Hybrid および Edge の DZD には、ユーザーが GRE トンネルを終端する **2 つのパブリック IP アドレス**が必要です。ユーザーはユニキャスト、マルチキャスト、またはその両方で接続でき、どの IP がどの目的に使用されるかはユーザーごとにローテーションされます。 -IP制約がある場合は、DZプレフィックスの最初の`/32`を2つのIPの1つとして使用できます。 +両方の IP は、物理インターフェースまたはループバックのいずれかで `--user-tunnel-endpoint true` を付けて登録する必要があります。これにはデバイス作成時に提供した IP も含まれます — その IP もここで明示的に登録する必要があります。 -#### CYOAとDIA +IP が制限されている場合は、DZ プレフィックスの最初の `/32` を 2 つの IP のうちの 1 つとして使用できます。 + +#### CYOA と DIA | タイプ | フラグ | 目的 | -|--------|--------|------| +|------|------|---------| | DIA | `--interface-dia dia` | ポートをダイレクトインターネットアクセスとしてマーク | -| CYOA | `--interface-cyoa <サブタイプ>` | ユーザーがデバイスにGREトンネルを接続する方法を宣言 | +| CYOA | `--interface-cyoa ` | ユーザーがデバイスに GRE トンネルで接続する方法を宣言 | -CYOAフラグは常に**物理インターフェース**(イーサネットポートまたはポートチャネル)に設定されます。ループバックには設定しません。 +CYOA フラグは常に**物理インターフェース**(イーサネットポートまたはポートチャネル)に設定します。ループバックには設定しないでください。 -| CYOAサブタイプ | 使用場面 | -|--------------|---------| +| CYOA サブタイプ | 使用するケース | +|-------------|-------------| | `gre-over-dia` | ユーザーがパブリックインターネット経由で接続。最も一般的。 | -| `gre-over-private-peering` | ユーザーが直接クロスコネクトまたはプライベート回線で接続 | +| `gre-over-private-peering` | ユーザーがダイレクトクロスコネクトまたはプライベート回線経由で接続 | | `gre-over-public-peering` | ユーザーがインターネットエクスチェンジ(IX)でピアリング | -| `gre-over-fabric` | ユーザーが同一施設内にありローカルファブリックで接続 | +| `gre-over-fabric` | ユーザーが同一施設に設置され、ローカルファブリック経由で接続 | | `gre-over-cable` | 単一の専用ユーザーへの直接ケーブル接続 | -#### シナリオA:単一物理インターフェース +#### シナリオ A: 単一の物理インターフェース -ISPへの1つの物理アップリンク。Ethernet1/1はCYOAおよびDIAインターフェースで、2つのパブリックIPのうちの1つを持ちます。Loopback100が2番目のパブリックIPを持ちます。 +ISP への 1 本の物理アップリンク。Ethernet1/1 が CYOA および DIA インターフェースとして 2 つのパブリック IP のうち 1 つを持ちます。Loopback100 が 2 つ目のパブリック IP を持ちます。 ```mermaid flowchart LR - USERS(["エンドユーザー"]) + USERS(["End Users"]) subgraph DZD["DZD"] E1["Eth1/1 @@ -402,20 +479,20 @@ flowchart LR E1 --- LO end - ISP["ISPルーター + ISP["ISP Router 203.0.113.2/30"] ISP -- "10GbE" --- E1 - USERS -. "GREトンネル" .-> E1 - USERS -. "GREトンネル" .-> LO + USERS -. "GRE tunnels" .-> E1 + USERS -. "GRE tunnels" .-> LO ``` | インターフェース | `--interface-cyoa` | `--interface-dia` | `--ip-net` | `--bandwidth` | `--cir` | `--routing-mode` | `--user-tunnel-endpoint` | -|----------------|-------------------|------------------|------------|---------------|---------|-----------------|--------------------------| -| Ethernet1/1 | `gre-over-dia` | `dia` | コントリビューター割当IP/サブネット | ポート速度 | コミットレート | `bgp`または`static` | `true` | -| Loopback100 | — | — | パブリック/32 | `0bps` | — | — | `true` | +|-----------|-------------------|------------------|------------|---------------|---------|-----------------|--------------------------| +| Ethernet1/1 | `gre-over-dia` | `dia` | コントリビューター割り当て IP/サブネット | ポート速度 | 確約レート | `bgp` または `static` | `true` | +| Loopback100 | — | — | パブリック /32 | `0bps` | — | — | `true` | -シナリオAに基づくコマンド例: +シナリオ A に基づくコマンド実行例: ```bash doublezero device interface create mydzd-nyc01 Ethernet1/1 \ --interface-cyoa gre-over-dia \ @@ -432,581 +509,18 @@ doublezero device interface create mydzd-nyc01 Loopback100 \ --user-tunnel-endpoint true ``` -#### シナリオB:ポートチャネル(LAG) +#### シナリオ B: ポートチャネル(LAG) -DZDがIPを持つポートチャネルでアップストリームデバイスに接続します。ポートチャネルが1つのパブリックIPを持ち、CYOAエンドポイントになります。Loopback100が2番目のパブリックIPを持ちます。 +DZD が IP を持つポートチャネルを介してアップストリームデバイスに接続します。ポートチャネルが 1 つのパブリック IP を持ち、CYOA エンドポイントとなります。Loopback100 が 2 つ目のパブリック IP を持ちます。 ```mermaid flowchart LR - USERS(["エンドユーザー"]) + USERS(["End Users"]) - subgraph SW["アップストリームルーター/スイッチ"] + subgraph SW["Upstream Router / Switch"] SWPC(["bond0 203.0.113.2/30"]) end subgraph DZD["DZD"] - subgraph PC["Port-Channel1 · 203.0.113.1/30 · CYOA · DIA · user tunnel endpoint"] - E1["Eth1/1"] - E2["Eth2/1"] - end - LO["Loopback100 - 198.51.100.1/32\n user tunnel endpoint"] - PC --- LO - end - - SWPC -- "2x 10GbE" --- PC - USERS -. "GREトンネル" .-> PC - USERS -. "GREトンネル" .-> LO -``` - -| インターフェース | `--interface-cyoa` | `--interface-dia` | `--ip-net` | `--bandwidth` | `--cir` | `--routing-mode` | `--user-tunnel-endpoint` | -|----------------|-------------------|------------------|------------|---------------|---------|-----------------|--------------------------| -| Port-Channel1 | `gre-over-dia` | `dia` | コントリビューター割当IP/サブネット | 組み合わせLAG速度 | コミットレート | `bgp`または`static` | `true` | -| Loopback100 | — | — | パブリック/32 | `0bps` | — | — | `true` | - -シナリオBに基づくコマンド例: -```bash -doublezero device interface create mydzd-fra01 Port-Channel1 \ - --interface-cyoa gre-over-dia \ - --interface-dia dia \ - --ip-net 203.0.113.1/30 \ - --bandwidth 20Gbps \ - --cir 2Gbps \ - --routing-mode bgp \ - --user-tunnel-endpoint true - -doublezero device interface create mydzd-fra01 Loopback100 \ - --ip-net 198.51.100.1/32 \ - --bandwidth 0bps \ - --user-tunnel-endpoint true -``` - -#### シナリオC:別々のルーターへのデュアル物理アップリンク - -各物理インターフェースが異なるアップストリームルーターに接続します。2つのパブリックIPはLoopback100とLoopback101に存在し、両方ともユーザートンネルエンドポイントとして登録されます。 - -```mermaid -flowchart LR - USERS(["エンドユーザー"]) - - RA["ルーターA - 203.0.113.2/30"] - RB["ルーターB - 203.0.113.6/30"] - - subgraph DZD["DZD"] - E1["Eth1/1 - 203.0.113.1/30 - CYOA · DIA"] - E2["Eth2/1 - 203.0.113.5/30 - CYOA · DIA"] - LO0["Loopback100 - 198.51.100.1/32\n user tunnel endpoint"] - LO1["Loopback101 - 198.51.100.2/32\n user tunnel endpoint"] - E1 --> LO0 - E2 --> LO1 - end - - RA -- "10GbE" --- E1 - RB -- "10GbE" --- E2 - USERS -. "GREトンネル" .-> LO0 - USERS -. "GREトンネル" .-> LO1 -``` - -| インターフェース | `--interface-cyoa` | `--interface-dia` | `--ip-net` | `--bandwidth` | `--cir` | `--routing-mode` | `--user-tunnel-endpoint` | -|----------------|-------------------|------------------|------------|---------------|---------|-----------------|--------------------------| -| Ethernet1/1 | `gre-over-dia` | `dia` | コントリビューター割当IP/サブネット | ポート速度 | コミットレート | `bgp`または`static` | — | -| Ethernet2/1 | `gre-over-dia` | `dia` | コントリビューター割当IP/サブネット | ポート速度 | コミットレート | `bgp`または`static` | — | -| Loopback100 | — | — | パブリック/32 | `0bps` | — | — | `true` | -| Loopback101 | — | — | パブリック/32 | `0bps` | — | — | `true` | - -シナリオCに基づくコマンド例: -```bash -doublezero device interface create mydzd-ams01 Ethernet1/1 \ - --interface-cyoa gre-over-dia \ - --interface-dia dia \ - --ip-net 203.0.113.1/30 \ - --bandwidth 10Gbps \ - --cir 1Gbps \ - --routing-mode bgp - -doublezero device interface create mydzd-ams01 Ethernet2/1 \ - --interface-cyoa gre-over-dia \ - --interface-dia dia \ - --ip-net 203.0.113.5/30 \ - --bandwidth 10Gbps \ - --cir 1Gbps \ - --routing-mode bgp - -doublezero device interface create mydzd-ams01 Loopback100 \ - --ip-net 198.51.100.1/32 \ - --bandwidth 0bps \ - --user-tunnel-endpoint true - -doublezero device interface create mydzd-ams01 Loopback101 \ - --ip-net 198.51.100.2/32 \ - --bandwidth 0bps \ - --user-tunnel-endpoint true -``` - -### ステップ3.6:デバイスを確認する - -```bash -doublezero device list -``` - -**出力例:** - -``` - account | code | contributor | location | exchange | device_type | public_ip | dz_prefixes | users | max_users | status | health | mgmt_vrf | owner - 7xKm9pQw2R4vHt3... | nyc-dz001 | acme | EQX-NY5 | nyc | hybrid | 203.0.113.10 | 198.51.100.0/28 | 0 | 14 | activated | pending | | 5FMtd5Woq5XAAg54... -``` - -デバイスはステータス`activated`で表示されるはずです。 - ---- - -## フェーズ4:リンク確立とエージェントインストール - -リンクはデバイスをDoubleZeroネットワークの残りの部分に接続します。 - -### リンクについて - -```mermaid -flowchart LR - subgraph "あなたのネットワーク" - D1[あなたのDZD 1
NYC] - D2[あなたのDZD 2
LAX] - end - - subgraph "他のコントリビューター" - O1[彼らのDZD
NYC] - end - - D1 ---|WANリンク
同一コントリビューター| D2 - D1 ---|DZXリンク
異なるコントリビューター| O1 -``` - -| リンクタイプ | 接続先 | 承認 | -|-----------|----------|------------| -| **WANリンク** | あなたの2つのデバイス | 自動(両方を所有) | -| **DZXリンク** | あなたのデバイスと別のコントリビューターのデバイス | 相手の承認が必要 | - -### ステップ4.1:WANリンクを作成する(複数のデバイスがある場合) - -WANリンクは自分のデバイスを接続します: - -```bash -doublezero link create wan \ - --code <リンクコード> \ - --contributor <コントリビューター> \ - --side-a <デバイス1のコード> \ - --side-a-interface <デバイス1のインターフェース> \ - --side-z <デバイス2のコード> \ - --side-z-interface <デバイス2のインターフェース> \ - --bandwidth 10000 \ - --mtu 9000 \ - --delay-ms 20 \ - --jitter-ms 1 -``` - -**例:** - -```bash -doublezero link create wan \ - --code nyc-lax-wan01 \ - --contributor acme \ - --side-a nyc-dz001 \ - --side-a-interface Ethernet3/1 \ - --side-z lax-dz001 \ - --side-z-interface Ethernet3/1 \ - --bandwidth 10000 \ - --mtu 9000 \ - --delay-ms 65 \ - --jitter-ms 1 -``` - -**期待される出力:** - -``` -Signature: 5tNm7K...truncated...9pRw2 -``` - -### ステップ4.2:DZXリンクを作成する - -DZXリンクはデバイスを別のコントリビューターのDZDに直接接続します: - -```bash -doublezero link create dzx \ - --code <デバイスコードA:デバイスコードZ> \ - --contributor <コントリビューター> \ - --side-a <あなたのデバイスコード> \ - --side-a-interface <あなたのインターフェース> \ - --side-z <他のデバイスコード> \ - --bandwidth <帯域幅 Kbps、Mbps、またはGbps> \ - --mtu \ - --delay-ms <遅延> \ - --jitter-ms <ジッター> -``` - -**期待される出力:** - -``` -Signature: 8mKp3W...truncated...2nRx7 -``` - -DZXリンクを作成した後、他のコントリビューターがそれを承認する必要があります: - -```bash -# 他のコントリビューターがこれを実行する -doublezero link accept \ - --code <リンクコード> \ - --side-z-interface <彼らのインターフェース> -``` - -**期待される出力(承認するコントリビューター用):** - -``` -Signature: 6vQt9L...truncated...3wPm4 -``` - -### ステップ4.3:リンクを確認する - -```bash -doublezero link list -``` - -**出力例:** - -``` - account | code | contributor | side_a_name | side_a_iface_name | side_z_name | side_z_iface_name | link_type | bandwidth | mtu | delay_ms | jitter_ms | delay_override_ms | tunnel_id | tunnel_net | status | health | owner - 8vkYpXaBW8RuknJq... | nyc-dz001:lax-dz001 | acme | nyc-dz001 | Ethernet3/1 | lax-dz001 | Ethernet3/1 | WAN | 10Gbps | 9000 | 65.00ms | 1.00ms | 0.00ms | 42 | 172.16.0.84/31 | activated | pending | 5FMtd5Woq5XAAg54... -``` - -両側が設定されるとリンクはステータス`activated`を表示するはずです。 - ---- - -### エージェントのインストール - -2つのソフトウェアエージェントがDZDで実行されます: - -```mermaid -flowchart TB - subgraph "あなたのDZD" - CA[Config Agent] - TA[Telemetry Agent] - HW[スイッチハードウェア/ソフトウェア] - end - - CA -->|設定をポーリング| CTRL[コントローラーサービス] - CA -->|設定を適用| HW - - HW -->|メトリクス| TA - TA -->|オンチェーンに送信| BC[DoubleZeroレジャー] -``` - -| エージェント | 機能 | -|-------|--------------| -| **Config Agent** | コントローラーから設定を取得し、スイッチに適用する | -| **Telemetry Agent** | 他のデバイスへのレイテンシ/ロスを測定し、メトリクスをオンチェーンに報告する | - -### ステップ4.4:Config Agentのインストール - -#### スイッチでAPIを有効にする - -EOS設定に追加します: - -``` -management api eos-sdk-rpc - transport grpc eapilocal - localhost loopback vrf default - service all - no disabled -``` - -!!! note "VRFに関する注意" - 異なる場合(例:`management`)は`default`を管理VRF名に置き換えてください。 - -#### エージェントのダウンロードとインストール - -```bash -# スイッチでbashに入る -switch# bash -$ sudo bash -# cd /mnt/flash -# wget AGENT_DOWNLOAD_URL -# exit -$ exit - -# EOS拡張機能としてインストール -switch# copy flash:AGENT_FILENAME extension: -switch# extension AGENT_FILENAME -switch# copy installed-extensions boot-extensions -``` - -#### 拡張機能を確認する - -```bash -switch# show extensions -``` - -ステータスは"A, I, B"であるべきです: - -``` -Name Version/Release Status Extension -------------------------------------------- ------------------- ---------- --------- -AGENT_FILENAME MAINNET_CLIENT_VERSION/1 A, I, B 1 - -A: available | NA: not available | I: installed | F: forced | B: install at boot -``` - -#### エージェントを設定して起動する - -EOS設定に追加します: - -``` -daemon doublezero-agent - exec /usr/local/bin/doublezero-agent -pubkey <デバイス公開鍵> - no shut -``` - -!!! note "VRFに関する注意" - 管理VRFが`default`でない場合(つまり名前空間が`ns-default`でない場合)、execコマンドに`exec /sbin/ip netns exec ns-`をプレフィックスします。例えば、VRFが`management`の場合: - ``` - daemon doublezero-agent - exec /sbin/ip netns exec ns-management /usr/local/bin/doublezero-agent -pubkey <デバイス公開鍵> - no shut - ``` - -デバイスの公開鍵は`doublezero device list`(`account`列)から取得します。 - -#### 実行中であることを確認する - -```bash -switch# show agent doublezero-agent logs -``` - -"Starting doublezero-agent"とコントローラー接続の成功が表示されるはずです。 - -### ステップ4.5:Telemetry Agentのインストール - -#### メトリクスパブリッシャーキーをデバイスにコピーする - -```bash -scp ~/.config/doublezero/metrics-publisher.json <スイッチIP>:/mnt/flash/metrics-publisher-keypair.json -``` - -#### メトリクスパブリッシャーをオンチェーンに登録する - -```bash -doublezero device update \ - --pubkey <デバイスアカウント> \ - --metrics-publisher <メトリクスパブリッシャー公開鍵> -``` - -公開鍵はmetrics-publisher.jsonファイルから取得します。 - -#### エージェントのダウンロードとインストール - -```bash -switch# bash -$ sudo bash -# cd /mnt/flash -# wget TELEMETRY_DOWNLOAD_URL -# exit -$ exit - -# EOS拡張機能としてインストール -switch# copy flash:TELEMETRY_FILENAME extension: -switch# extension TELEMETRY_FILENAME -switch# copy installed-extensions boot-extensions -``` - -#### 拡張機能を確認する - -```bash -switch# show extensions -``` - -ステータスは"A, I, B"であるべきです: - -``` -Name Version/Release Status Extension -------------------------------------------- ------------------- ---------- --------- -TELEMETRY_FILENAME MAINNET_CLIENT_VERSION/1 A, I, B 1 - -A: available | NA: not available | I: installed | F: forced | B: install at boot -``` - -#### エージェントを設定して起動する - -EOS設定に追加します: - -``` -daemon doublezero-telemetry - exec /usr/local/bin/doublezero-telemetry --local-device-pubkey <デバイスアカウント> --env mainnet --keypair /mnt/flash/metrics-publisher-keypair.json - no shut -``` - -!!! note "VRFに関する注意" - 管理VRFが`default`でない場合(つまり名前空間が`ns-default`でない場合)、execコマンドに`--management-namespace ns-`を追加します。例えば、VRFが`management`の場合: - ``` - daemon doublezero-telemetry - exec /usr/local/bin/doublezero-telemetry --management-namespace ns-management --local-device-pubkey <デバイスアカウント> --env mainnet --keypair /mnt/flash/metrics-publisher-keypair.json - no shut - ``` - -#### 実行中であることを確認する - -```bash -switch# show agent doublezero-telemetry logs -``` - -"Starting telemetry collector"と"Starting submission loop"が表示されるはずです。 - ---- - -## フェーズ5:リンクのバーンイン - -!!! warning "すべての新しいリンクはトラフィックを運ぶ前にバーンインする必要があります" - 新しいリンクは本番トラフィックのためにアクティベートされる前に、**少なくとも24時間ドレインする必要があります**。このバーンイン要件は[RFC12: Network Provisioning](https://github.com/malbeclabs/doublezero/blob/main/rfcs/rfc12-network-provisioning.md)で定義されており、リンクがサービス準備完了になる前に約200,000 DZ Ledgerスロット(約20時間)のクリーンなメトリクスが必要です。 - -エージェントがインストールされて実行中になったら、少なくとも24時間連続して[metrics.doublezero.xyz](https://metrics.doublezero.xyz)でリンクを監視します: - -- **"DoubleZero Device-Link Latencies"**ダッシュボード — 時間経過によるリンクの**ゼロパケットロス**を確認 -- **"DoubleZero Network Metrics"**ダッシュボード — リンクの**ゼロエラー**を確認 - -バーンイン期間がゼロロスとゼロエラーのクリーンなリンクを示した後にのみ、リンクのドレインを解除してください。 - ---- - -## フェーズ6:確認とアクティベーション - -すべてが機能していることを確認するために、このチェックリストを実行します。 - -!!! warning "デバイスはロック状態(`max_users = 0`)で開始します" - デバイスが作成されると、`max_users`はデフォルトで**0**に設定されます。これはまだユーザーが接続できないことを意味します。これは意図的なものです — ユーザートラフィックを受け入れる前にすべてが機能していることを確認する必要があります。 - - **`max_users`を0以上に設定する前に、以下を実行する必要があります:** - - 1. すべてのリンクが[metrics.doublezero.xyz](https://metrics.doublezero.xyz)でゼロロス/エラーの**24時間バーンイン**を完了したことを確認 - 2. **DZ/Malbec Labsと協力**して接続テストを実行: - - テストユーザーはデバイスに接続できますか? - - ユーザーはDZネットワーク上でルートを受信しますか? - - ユーザーはDZネットワークエンドツーエンドでトラフィックをルーティングできますか? - 3. DZ/MLがテスト合格を確認した後にのみ、max_usersを96に設定します: - - ```bash - doublezero device update --pubkey <デバイスアカウント> --max-users 96 - ``` - -### デバイスの確認 - -```bash -# デバイスはステータス"activated"で表示されるべき -doublezero device list | grep <デバイスコード> -``` - -**期待される出力:** - -``` - 7xKm9pQw2R4vHt3... | nyc-dz001 | acme | EQX-NY5 | nyc | hybrid | 203.0.113.10 | 198.51.100.0/28 | 0 | 14 | activated | pending | | 5FMtd5Woq5XAAg54... -``` - -```bash -# インターフェースが一覧表示されるべき -doublezero device interface list | grep <デバイスコード> -``` - -**期待される出力:** - -``` - nyc-dz001 | Loopback255 | loopback | vpnv4 | none | none | 0 | 0 | 1500 | static | 0 | 172.16.1.91/32 | 56 | false | activated - nyc-dz001 | Loopback256 | loopback | ipv4 | none | none | 0 | 0 | 1500 | static | 0 | 172.16.1.100/32 | 0 | false | activated - nyc-dz001 | Ethernet1/1 | physical | none | none | none | 0 | 0 | 1500 | static | 0 | | 0 | false | activated -``` - -### リンクの確認 - -```bash -# リンクはステータス"activated"を表示するべき -doublezero link list | grep <デバイスコード> -``` - -**期待される出力:** - -``` - 8vkYpXaBW8RuknJq... | nyc-lax-wan01 | acme | nyc-dz001 | Ethernet3/1 | lax-dz001 | Ethernet3/1 | WAN | 10Gbps | 9000 | 65.00ms | 1.00ms | 0.00ms | 42 | 172.16.0.84/31 | activated | pending | 5FMtd5Woq5XAAg54... -``` - -### エージェントの確認 - -スイッチ上で: - -```bash -# Config Agentは設定プルの成功を表示するべき -switch# show agent doublezero-agent logs | tail -20 - -# Telemetry Agentは送信の成功を表示するべき -switch# show agent doublezero-telemetry logs | tail -20 -``` - -### 最終確認図 - -```mermaid -flowchart TB - subgraph "確認チェックリスト" - D[デバイスステータス: activated?] - I[インターフェース: 登録済み?] - L[リンク: activated?] - CA[Config Agent: 設定を取得中?] - TA[Telemetry Agent: メトリクスを送信中?] - end - - D --> PASS - I --> PASS - L --> PASS - CA --> PASS - TA --> PASS - - PASS[すべての確認に合格] --> NOTIFY[DZF/Malbec Labsに通知
技術的に準備完了です!] -``` - ---- - -## トラブルシューティング - -### デバイス作成に失敗する - -- サービスキーが承認されていることを確認(`doublezero contributor list`) -- ロケーションとエクスチェンジコードが有効であることを確認 -- DZプレフィックスが有効なパブリックIP範囲であることを確認 - -### リンクが"requested"ステータスから動かない - -- DZXリンクは他のコントリビューターの承認が必要 -- `doublezero link accept`を実行するよう連絡する - -### Config Agentが接続しない - -- 管理ネットワークがインターネットアクセスを持っていることを確認 -- VRF設定がセットアップに一致していることを確認 -- デバイスの公開鍵が正しいことを確認 - -### Telemetry Agentが送信しない - -- メトリクスパブリッシャーキーがオンチェーンに登録されていることを確認 -- キーペアファイルがスイッチに存在することを確認 -- デバイスアカウントの公開鍵が正しいことを確認 - ---- - -## 次のステップ - -- エージェントのアップグレードとリンク管理については[オペレーションガイド](contribute-operations.md)を確認する -- 用語の定義については[用語集](glossary.md)を確認する -- 問題が発生した場合はDZF/Malbec Labsに連絡する + subgraph PC["Port-Channel1 · 203.0.113.1/30 \ No newline at end of file diff --git a/docs/contribute-provisioning.ko.md b/docs/contribute-provisioning.ko.md index 1731377..d36a5ef 100644 --- a/docs/contribute-provisioning.ko.md +++ b/docs/contribute-provisioning.ko.md @@ -1,62 +1,102 @@ -# 장치 프로비저닝 가이드 -!!! warning "This translation was generated using artificial intelligence and has not been reviewed by a human translator. It may contain inaccuracies or errors and should not be relied upon." +--- +description: DoubleZero 디바이스(DZD) 프로비저닝 및 인터페이스와 역할을 온체인에 등록하는 단계별 가이드입니다. +--- +# 디바이스 프로비저닝 가이드 -이 가이드는 처음부터 끝까지 DoubleZero 장치(DZD) 프로비저닝을 안내합니다. 각 단계는 [온보딩 체크리스트](contribute-overview.md#onboarding-checklist)와 일치합니다. +이 가이드는 DoubleZero 디바이스(DZD)를 처음부터 끝까지 프로비저닝하는 과정을 안내합니다. 각 단계는 [온보딩 체크리스트](contribute-overview.md#onboarding-checklist)에 대응됩니다. --- -## 전체 구성 이해 +## 전체 구조 이해하기 + +이 가이드는 DoubleZero 네트워크가 트래픽을 라우팅할 수 있도록 인프라를 온체인에 등록하는 과정을 안내합니다. 디바이스가 더 완전하게 등록될수록 네트워크에 더 유용합니다. 디바이스의 완전한 온체인 표현은 더 나은 문제 해결, 용량 계획을 가능하게 하며, 컨트롤러가 정보에 기반한 결정을 내릴 수 있게 합니다. 시간이 지남에 따라 컨트롤러가 더 많은 설정 책임을 맡는 것이 목표입니다. + +### 핵심 개념 + +**인터페이스** + +DZD의 인터페이스는 다양한 형태로 제공됩니다: 이더넷 포트, 포트 채널(여러 이더넷 포트로 구성된 LAG), 그리고 루프백. 네트워크에서 역할을 하는 각 인터페이스는 프로토콜이 그 기능을 인식할 수 있도록 적절한 플래그와 함께 온체인에 등록되어야 합니다. + +이더넷 포트와 포트 채널은 다음 역할을 수행할 수 있습니다: + +| 플래그 | 의미 | +|------|---------------| +| `--interface-dia dia` | 인터페이스를 직접 인터넷 접속 업링크로 표시 | +| `--interface-cyoa ` | 사용자가 이 인터페이스를 통해 GRE 터널을 설정하는 방법 선언 (예: 공용 인터넷을 통해, 프라이빗 피어링 링크를 통해) | +| `--user-tunnel-endpoint true` | 이 인터페이스가 사용자가 GRE 터널을 종단하는 공용 IP를 보유 | + +WAN 또는 DZX 링크에 사용되는 인터페이스는 특정 플래그를 갖지 않으며, 대역폭과 함께 등록된 후 링크 생성 시 참조됩니다. + +루프백 인터페이스는 여러 목적으로 사용됩니다: -단계를 시작하기 전에 구축하는 것의 큰 그림을 살펴봅니다: +| 루프백 | 의미 | +|----------|---------------| +| **Loopback100 / 101** | 사용자가 GRE 터널을 종단하는 공용 IP를 보유. `--user-tunnel-endpoint true`로 등록됨. | +| **Loopback255** (`vpnv4`) | 컨트롤러가 BGP 라우터 ID, VPN-IPv4 피어링(유니캐스트), IS-IS ID, 세그먼트 라우팅에 사용되는 IP를 할당할 수 있도록 등록됨 | +| **Loopback256** (`ipv4`) | 컨트롤러가 IPv4 BGP 피어링(멀티캐스트) 및 MSDP 세션에 사용되는 IP를 할당할 수 있도록 등록됨 | + +**링크** + +링크는 인터페이스와 별도로 등록되며, 링크가 참조하려면 먼저 인터페이스가 온체인에 존재해야 합니다. WAN 또는 DZX 링크를 생성할 때 이미 등록된 인터페이스를 링크의 물리적 엔드포인트로 지정합니다. 모든 인터페이스가 링크에 연결되는 것은 아닙니다: DIA, CYOA, 루프백 인터페이스는 링크에 연결되지 않습니다. + +| 용어 | 의미 | +|------|---------------| +| **WAN 링크** | 자신이 소유한 두 DZD 간의 링크 | +| **DZX 링크** | 자신의 DZD와 다른 기여자의 DZD 간의 링크 | + +### 아키텍처 개요 ```mermaid flowchart TB subgraph Onchain - SC[DoubleZero 레저] + SC[DoubleZero 원장] end subgraph Your Infrastructure MGMT[관리 서버
DoubleZero CLI] - DZD[귀하의 DZD
Arista 스위치] - DZD ---|WAN 링크| DZD2[귀하의 다른 DZD] + subgraph DZD[내 DZD] + CYOA["DIA · CYOA 인터페이스
(사용자 대면 업링크)"] + WAN_INTF["WAN 링크 인터페이스"] + DZX_INTF["DZX 링크 인터페이스"] + LO100["Loopback100/101
(사용자 터널 엔드포인트)"] + end + DZD2[내 다른 DZD] end subgraph Other Contributor OtherDZD[상대방 DZD] end - subgraph Users - VAL[검증자] - RPC[RPC 노드] - end + USERS["사용자"] - MGMT -.->|장치,
링크, 인터페이스 등록| SC - DZD ---|DZX 링크| OtherDZD - VAL ---|인터넷을 통해 연결| DZD - RPC ---|인터넷을 통해 연결| DZD + MGMT -.->|디바이스, 링크,
인터페이스 등록| SC + WAN_INTF ---|WAN 링크| DZD2 + DZX_INTF ---|DZX 링크| OtherDZD + USERS -.|GRE 터널|.-> CYOA + CYOA ---|라우팅| LO100 ``` --- -## 1단계: 사전 요구사항 +## 1단계: 사전 준비 -장치를 프로비저닝하기 전에 물리적 하드웨어 설정과 일부 IP 주소 할당이 필요합니다. +디바이스를 프로비저닝하기 전에 물리적 하드웨어 설치와 일부 IP 주소 할당이 필요합니다. -### 필요한 사항 +### 필요 사항 -| 요구사항 | 필요한 이유 | +| 요구 사항 | 필요한 이유 | |-------------|-----------------| | **DZD 하드웨어** | Arista 7280CR3A 스위치 ([하드웨어 사양](contribute.md#hardware-requirements) 참조) | -| **랙 공간** | 적절한 공기 흐름을 갖춘 4U | -| **전원** | 이중 피드, ~4KW 권장 | -| **관리 액세스** | 스위치 구성을 위한 SSH/콘솔 액세스 | -| **인터넷 연결** | 메트릭 발행 및 컨트롤러에서 구성 가져오기 | -| **공개 IPv4 블록** | DZ 프리픽스 풀을 위한 최소 /29 (아래 참조) | +| **랙 공간** | DZD당 2U 예약 (현재 1U 사용), 적절한 공기 흐름 필요. [랙 및 전원](contribute.md#rack-power-requirements) 참조 | +| **전원** | 각각 전체 부하를 단독으로 감당할 수 있는 두 개의 독립 전원 공급. [랙 및 전원](contribute.md#rack-power-requirements) 참조 | +| **관리 접근** | 스위치 설정을 위한 SSH/콘솔 접근 | +| **인터넷 연결** | 메트릭 게시 및 컨트롤러에서 설정을 가져오기 위해 필요 | +| **공용 IPv4 블록** | DZ 프리픽스 풀을 위한 최소 /29 (아래 참조) | ### DoubleZero CLI 설치 -DoubleZero CLI(`doublezero`)는 프로비저닝 전반에 걸쳐 장치 등록, 링크 생성 및 기여 관리에 사용됩니다. DZD 스위치가 아닌 **관리 서버 또는 VM**에 설치해야 합니다. 스위치는 Config Agent와 Telemetry Agent([4단계](#phase-4-link-establishment-agent-installation)에서 설치됨)만 실행합니다. +DoubleZero CLI (`doublezero`)는 프로비저닝 과정 전반에서 디바이스 등록, 링크 생성, 기여 관리에 사용됩니다. **관리 서버 또는 VM**에 설치해야 하며, DZD 스위치 자체에는 설치하지 마세요. 스위치에는 Config Agent와 Telemetry Agent만 실행됩니다([4단계](#phase-4-link-establishment-agent-installation)에서 설치). **Ubuntu / Debian:** ```bash @@ -70,214 +110,242 @@ curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.rpm.sh | sudo yum install doublezero ``` -데몬이 실행 중인지 확인합니다: +데몬이 실행 중인지 확인: ```bash sudo systemctl status doublezerod ``` -### DZ 프리픽스 이해 +### DZ 프리픽스 이해하기 -DZ 프리픽스는 DoubleZero 프로토콜이 IP 할당을 위해 관리하는 공개 IP 주소 블록입니다. +DZ 프리픽스는 DoubleZero 프로토콜이 IP 할당을 위해 관리하는 공용 IP 주소 블록입니다. ```mermaid flowchart LR - subgraph "귀하의 /29 블록 (8개 IP)" - IP1["첫 번째 IP
장치용
예약됨"] + subgraph "내 /29 블록 (8개 IP)" + IP1["첫 번째 IP
디바이스용
예약"] IP2["IP 2"] IP3["IP 3"] IP4["..."] IP8["IP 8"] end - IP1 -->|할당됨| LO[귀하의 DZD의
Loopback100] + IP1 -->|할당됨| LO[Loopback100
내 DZD에] IP2 -->|할당됨| U1[사용자 1] IP3 -->|할당됨| U2[사용자 2] ``` **DZ 프리픽스 사용 방법:** -- **첫 번째 IP**: 장치용으로 예약됨 (Loopback100 인터페이스에 할당) -- **나머지 IP**: DZD에 연결하는 특정 유형의 사용자에게 할당됨: +- **첫 번째 IP**: 디바이스용으로 예약됨 (Loopback100 인터페이스에 할당) +- **나머지 IP**: DZD에 연결하는 특정 사용자 유형에 할당: - `IBRLWithAllocatedIP` 사용자 - - `EdgeFiltering` 사용자 - - 멀티캐스트 발행자 -- **IBRL 사용자**: 이 풀을 소비하지 않음 (자신의 공개 IP 사용) + - `EdgeFiltering` 사용자 (향후 사용 사례) +- **IBRL 사용자**: 이 풀에서 소비하지 않음 (자체 공용 IP 사용) !!! warning "DZ 프리픽스 규칙" **다음 용도로 사용할 수 없습니다:** - - 자신의 네트워크 장비 - - DIA 인터페이스의 점대점 링크 + - 자체 네트워크 장비 + - DIA 인터페이스의 Point-to-Point 링크 - 관리 인터페이스 - DZ 프로토콜 외부의 모든 인프라 - **요구사항:** + **요구 사항:** - - **전 세계적으로 라우팅 가능한(공개)** IPv4 주소여야 합니다 - - 사설 IP 범위(10.x, 172.16-31.x, 192.168.x)는 스마트 계약에서 거부됩니다 + - **전역적으로 라우팅 가능한(공용)** IPv4 주소여야 합니다 + - 사설 IP 범위(10.x, 172.16-31.x, 192.168.x)는 스마트 컨트랙트에서 거부됩니다 - **최소 크기: /29** (8개 주소), 더 큰 프리픽스 권장 (예: /28, /27) - - 전체 블록이 사용 가능해야 합니다 — 어떤 주소도 사전 할당하지 마세요 + - 전체 블록이 사용 가능해야 합니다 — 주소를 미리 할당하지 마세요 - 자신의 장비(DIA 인터페이스 IP, 관리 등)를 위한 주소가 필요한 경우 **별도의 주소 풀**을 사용하세요. + 자체 장비용 주소(DIA 인터페이스 IP, 관리 등)가 필요한 경우 **별도의 주소 풀**을 사용하세요. --- ## 2단계: 계정 설정 -이 단계에서는 네트워크에서 귀하와 장치를 식별하는 암호화 키를 생성합니다. +이 단계에서는 네트워크에서 자신과 디바이스를 식별하는 암호화 키를 생성하고 보상 관리를 설정합니다. + +다음 순서로 진행하는 이유가 있습니다: 먼저 리포지토리 접근 권한 — 리포지토리에 이후 단계에 필요한 지침이 있기 때문이며, 그 다음 키, 그리고 보상 순입니다. 일부 단계에서는 DZF가 조치를 취해야 계속할 수 있으며, 아래 각 항목에 해당 여부가 표시되어 있습니다. ### CLI 실행 위치 !!! warning "스위치에 CLI를 설치하지 마세요" - DoubleZero CLI(`doublezero`)는 Arista 스위치가 아닌 **관리 서버 또는 VM**에 설치해야 합니다. + DoubleZero CLI (`doublezero`)는 Arista 스위치가 아닌 **관리 서버 또는 VM**에 설치해야 합니다. ```mermaid flowchart LR subgraph "관리 서버/VM" CLI[DoubleZero CLI] - KEYS[귀하의 키쌍] + KEYS[내 키 쌍] end - subgraph "귀하의 DZD 스위치" + subgraph "내 DZD 스위치" CA[Config Agent] TA[Telemetry Agent] end - CLI -->|장치, 링크 생성| BC[블록체인] - CA -->|구성 가져오기| CTRL[컨트롤러] + CLI -->|디바이스, 링크 생성| BC[블록체인] + CA -->|설정 가져오기| CTRL[컨트롤러] TA -->|메트릭 제출| BC ``` | 관리 서버에 설치 | 스위치에 설치 | |-----------------------------|-------------------| | `doublezero` CLI | Config Agent | - | 서비스 키쌍 | Telemetry Agent | - | 메트릭 발행자 키쌍 | 메트릭 발행자 키쌍 (복사) | + | 서비스 키 쌍 | Telemetry Agent | + | 메트릭 퍼블리셔 키 쌍 | 메트릭 퍼블리셔 키 쌍 (복사본) | ### 키란 무엇인가? -키를 안전한 로그인 자격 증명으로 생각하세요: +키는 안전한 로그인 자격 증명과 같습니다: - **서비스 키**: 기여자 신원 - CLI 명령 실행에 사용 -- **메트릭 발행자 키**: 텔레메트리 데이터 제출을 위한 장치 신원 +- **메트릭 퍼블리셔 키**: 텔레메트리 데이터 제출을 위한 디바이스 신원 +- **보상 관리자 키**: 보상을 받을 지갑을 제어 - 기여자 리포지토리의 [보상 관리](https://github.com/malbeclabs/contributors#rewards-management) 참조 -둘 다 암호화 키쌍입니다(공유하는 공개 키와 비밀로 유지하는 개인 키). +세 가지 모두 암호화 키 쌍입니다 (공유하는 공개 키와 비밀로 유지하는 개인 키). ```mermaid flowchart LR - subgraph "귀하의 키" + subgraph "내 키" SK[서비스 키
~/.config/solana/id.json] - MK[메트릭 발행자 키
~/.config/doublezero/metrics-publisher.json] + MK[메트릭 퍼블리셔 키
~/.config/doublezero/metrics-publisher.json] + RK[보상 관리자 키
오프라인 보관] end - SK -->|사용됨| CLI[CLI 명령
doublezero device create
doublezero link create] - MK -->|사용됨| TEL[Telemetry Agent
온체인 메트릭 제출] + SK -->|사용 용도| CLI[CLI 명령
doublezero device create
doublezero link create] + MK -->|사용 용도| TEL[Telemetry Agent
온체인 메트릭 제출] + RK -->|사용 용도| REW[보상 포털
수신 지갑 설정] ``` -### 2.1단계: 서비스 키 생성 +!!! note "보상 관리자 키는 별도로 보관하세요" + 서비스 키와 메트릭 퍼블리셔 키는 관리 서버와 스위치에 보관됩니다. 보상 관리자 키는 자금이 어디로 가는지를 제어하므로, 해당 장비에서 분리하여 보관하세요. 수신 지갑을 변경할 때만 필요합니다. + +### 2.1단계: 기여자 리포지토리 접근 요청 + +DoubleZero Foundation 또는 Malbec Labs에 연락하여 **GitHub 사용자 이름**을 제공하세요. -이것이 DoubleZero와 상호 작용하기 위한 주요 신원입니다. +비공개 [malbeclabs/contributors](https://github.com/malbeclabs/contributors) 리포지토리에 대한 접근 권한이 부여됩니다. 이것을 먼저 하세요: 리포지토리에 기본 디바이스 설정, TCAM 및 ACL 프로파일, 그리고 아래 단계에서 필요한 보상 관리 지침이 있습니다. + +### 2.2단계: 서비스 키 생성 + +이것은 DoubleZero와 상호작용하기 위한 주요 신원입니다. ```bash doublezero keygen ``` -이는 기본 위치에 키쌍을 생성합니다. 출력은 **공개 키**를 보여줍니다 — 이것이 DZF와 공유할 것입니다. +이 명령은 기본 위치에 키 쌍을 생성합니다. 출력에 **공개 키**가 표시됩니다 — 이것이 DZF와 공유할 키입니다. -### 2.2단계: 메트릭 발행자 키 생성 +### 2.3단계: 메트릭 퍼블리셔 키 생성 -이 키는 Telemetry Agent가 메트릭 제출에 서명하는 데 사용됩니다. +이 키는 Telemetry Agent가 메트릭 제출에 서명할 때 사용됩니다. ```bash doublezero keygen -o ~/.config/doublezero/metrics-publisher.json ``` -### 2.3단계: DZF에 키 제출 - -DoubleZero Foundation 또는 Malbec Labs에 연락하여 다음을 제공합니다: +### 2.4단계: 서비스 키를 DZF에 제출 -1. **서비스 키 공개 키** -2. **GitHub 사용자 이름** (저장소 액세스용) +DZF에 **서비스 키 공개 키**를 보내세요. -그들은: +DZF가 온체인에 **기여자 계정**을 생성하고 완료 시 확인합니다. -- 온체인에서 **기여자 계정**을 생성합니다 -- 비공개 **기여자 저장소**에 대한 액세스를 부여합니다 +!!! danger "공개 키만 제공하세요" + 개인 키나 키 쌍 파일을 DZF를 포함하여 누구에게도 보내지 마세요. 공개 키만 필요합니다. -### 2.4단계: 계정 확인 +### 2.5단계: 계정 확인 -확인이 완료되면 기여자 계정이 존재하는지 확인합니다: +확인을 받으면 기여자 계정이 존재하는지 확인합니다: ```bash doublezero contributor list ``` -목록에 기여자 코드가 표시되어야 합니다. +목록에서 자신의 기여자 코드를 확인할 수 있어야 합니다. -### 2.5단계: 기여자 저장소 액세스 +### 2.6단계: 보상 관리 설정 -[malbeclabs/contributors](https://github.com/malbeclabs/contributors) 저장소에는 다음이 포함됩니다: +보상 관리는 기여가 획득한 [2Z](glossary.md#2z-token)를 어떤 지갑이 어떤 비율로 받을지를 결정합니다. -- 기본 장치 구성 -- TCAM 프로필 -- ACL 구성 -- 추가 설정 지침 +2.1단계에서 접근 권한을 얻은 기여자 리포지토리의 [보상 관리](https://github.com/malbeclabs/contributors#rewards-management)를 따르세요. -장치별 구성을 위해 해당 지침을 따르세요. +!!! note "나머지 설정을 차단하지 않습니다" + 이것이 완료되지 않아도 디바이스 프로비저닝, 링크 설정 및 트래픽 전달을 시작할 수 있으므로, 아래 단계들은 이것과 독립적으로 진행하세요. --- -## 3단계: 장치 프로비저닝 +## 3단계: 디바이스 프로비저닝 -이제 블록체인에 물리적 장치를 등록하고 인터페이스를 구성합니다. +이제 물리적 디바이스를 블록체인에 등록하고 인터페이스를 설정합니다. -### 장치 유형 이해 +### 디바이스 유형 이해하기 + +**Edge** — 사용자 연결만 수락 ```mermaid -flowchart TB - subgraph "엣지 장치" - E[엣지 DZD] - EU[사용자가 여기에 연결] - EU --> E - E <-->|DZX 링크| ED[다른 DZD] +flowchart LR + subgraph EDZD[Edge DZD] + E_CYOA["DIA · CYOA 인터페이스"] + E_TUN["Loopback100/101 + (사용자 터널 엔드포인트)"] + E_DZX["DZX 링크 인터페이스"] + E_CYOA --- E_TUN end + EU["사용자"] -.|GRE 터널|.-> E_CYOA + E_DZX <-->|DZX 링크| ED["DZD (다른 기여자)"] +``` - subgraph "트랜짓 장치" - T[트랜짓 DZD] - T <-->|WAN 링크| T2[다른 DZD] - T <-->|DZX 링크| TD[다른 DZD] +**Transit** — 디바이스 간 트래픽 이동, 사용자 연결 없음 + +```mermaid +flowchart LR + subgraph TDZD[Transit DZD] + T_WAN["WAN 링크 인터페이스"] + T_DZX["DZX 링크 인터페이스"] end + T_WAN <-->|WAN 링크| T2["DZD (같은 기여자)"] + T_DZX <-->|DZX 링크| TD["DZD (다른 기여자)"] +``` + +**Hybrid** — 사용자 연결과 백본, 가장 일반적 - subgraph "하이브리드 장치" - H[하이브리드 DZD] - HU[사용자가 여기에 연결] - HU --> H - H <-->|WAN 링크| H2[다른 DZD] - H <-->|DZX 링크| HD[다른 DZD] +```mermaid +flowchart LR + subgraph HDZD[Hybrid DZD] + H_CYOA["DIA · CYOA 인터페이스"] + H_TUN["Loopback100/101 + (사용자 터널 엔드포인트)"] + H_WAN["WAN 링크 인터페이스"] + H_DZX["DZX 링크 인터페이스"] + H_CYOA --- H_TUN end + HU["사용자"] -.|GRE 터널|.-> H_CYOA + H_WAN <-->|WAN 링크| H2["DZD (같은 기여자)"] + H_DZX <-->|DZX 링크| HD["DZD (다른 기여자)"] ``` | 유형 | 기능 | 사용 시기 | |------|--------------|-------------| -| **엣지** | 사용자 연결만 허용 | 단일 위치, 사용자 대면만 | -| **트랜짓** | 장치 간 트래픽 이동 | 백본 연결, 사용자 없음 | -| **하이브리드** | 사용자 연결 및 백본 모두 | 가장 일반적 - 모든 것 수행 | +| **Edge** | 사용자 연결만 수락 | 단일 위치, 사용자 대면 전용 | +| **Transit** | 디바이스 간 트래픽 이동 | 백본 연결, 사용자 없음 | +| **Hybrid** | 사용자 연결과 백본 모두 | 가장 일반적 — 모든 기능 수행 | -### 3.1단계: 위치 및 Exchange 찾기 +### 3.1단계: 위치와 교환소 찾기 -장치를 생성하기 전에 데이터 센터 위치와 가장 가까운 exchange의 코드를 조회합니다: +디바이스를 생성하기 전에 데이터센터 위치와 가장 가까운 교환소 코드를 조회하세요: ```bash -# 사용 가능한 위치(데이터 센터) 목록 +# 사용 가능한 위치(데이터센터) 목록 doublezero location list -# 사용 가능한 exchange(상호 연결 지점) 목록 +# 사용 가능한 교환소(상호연결 지점) 목록 doublezero exchange list ``` -### 3.2단계: 온체인에서 장치 생성 +### 3.2단계: 디바이스 온체인 생성 -블록체인에 장치를 등록합니다: +블록체인에 디바이스를 등록합니다: ```bash doublezero device create \ @@ -309,7 +377,7 @@ doublezero device create \ Signature: 4vKz8H...truncated...7xPq2 ``` -장치가 생성되었는지 확인합니다: +디바이스가 생성되었는지 확인: ```bash doublezero device list | grep nyc-dz001 @@ -319,17 +387,17 @@ doublezero device list | grep nyc-dz001 | 파라미터 | 의미 | |-----------|---------------| -| `--code` | 장치의 고유 이름 (예: `nyc-dz001`) | -| `--contributor` | 기여자 코드 (DZF가 제공) | -| `--device-type` | `hybrid`, `transit` 또는 `edge` | -| `--location` | `location list`의 데이터 센터 코드 | -| `--exchange` | `exchange list`의 가장 가까운 exchange 코드 | -| `--public-ip` | 사용자가 인터넷을 통해 장치에 연결하는 공개 IP | +| `--code` | 디바이스의 고유 이름 (예: `nyc-dz001`) | +| `--contributor` | 기여자 코드 (DZF에서 제공) | +| `--device-type` | `hybrid`, `transit`, 또는 `edge` | +| `--location` | `location list`에서 가져온 데이터센터 코드 | +| `--exchange` | `exchange list`에서 가져온 가장 가까운 교환소 코드 | +| `--public-ip` | 사용자가 인터넷을 통해 디바이스에 연결하는 공용 IP | | `--dz-prefixes` | 사용자를 위해 할당된 IP 블록 | -### 3.3단계: 필요한 루프백 인터페이스 생성 +### 3.3단계: 필수 루프백 인터페이스 생성 -모든 장치에는 내부 라우팅을 위해 두 개의 루프백 인터페이스가 필요합니다: +모든 디바이스에는 내부 라우팅을 위한 두 개의 루프백 인터페이스가 필요합니다: ```bash # VPNv4 루프백 @@ -339,7 +407,7 @@ doublezero device interface create Loopback255 --loopback-type vpn doublezero device interface create Loopback256 --loopback-type ipv4 ``` -**예상 출력 (각 명령):** +**예상 출력 (각 명령별):** ``` Signature: 3mNx9K...truncated...8wRt5 @@ -347,666 +415,53 @@ Signature: 3mNx9K...truncated...8wRt5 ### 3.4단계: 물리적 인터페이스 생성 -사용할 물리적 포트를 등록합니다: - -```bash -# 기본 인터페이스 -doublezero device interface create Ethernet1/1 -``` - -**예상 출력:** - -``` -Signature: 7pQw2R...truncated...4xKm9 -``` - -### 3.5단계: CYOA 인터페이스 생성 (엣지/하이브리드 장치의 경우) - -하이브리드 및 엣지 DZD에는 사용자가 GRE 터널을 종료하는 **두 개의 공개 IP 주소**가 필요합니다. 사용자는 유니캐스트, 멀티캐스트 또는 둘 다를 통해 연결할 수 있으며, 어떤 IP가 어떤 목적으로 사용되는지는 사용자별로 순환됩니다. - -두 IP 모두 물리적 인터페이스 또는 루프백에서 `--user-tunnel-endpoint true`로 등록해야 합니다. 이는 장치 생성 시 제공한 IP도 포함되며, 해당 IP도 여기서 명시적으로 등록해야 합니다. - -IP가 부족한 경우 DZ 프리픽스의 첫 번째 `/32`를 두 IP 중 하나로 사용할 수 있습니다. - -#### CYOA 및 DIA - -| 유형 | 플래그 | 목적 | -|------|--------|------| -| DIA | `--interface-dia dia` | 포트를 직접 인터넷 접근으로 표시 | -| CYOA | `--interface-cyoa <서브타입>` | 사용자가 장치에 GRE 터널을 연결하는 방법 선언 | - -CYOA 플래그는 항상 **물리적 인터페이스**(이더넷 포트 또는 포트 채널)에 설정됩니다. 루프백에는 절대 설정하지 않습니다. - -| CYOA 서브타입 | 사용 시기 | -|-------------|----------| -| `gre-over-dia` | 사용자가 공개 인터넷을 통해 연결. 가장 일반적. | -| `gre-over-private-peering` | 사용자가 직접 크로스 커넥트 또는 전용 회선으로 연결 | -| `gre-over-public-peering` | 사용자가 인터넷 익스체인지(IX)에서 피어링 | -| `gre-over-fabric` | 사용자가 공동 배치되어 로컬 패브릭을 통해 연결 | -| `gre-over-cable` | 단일 전용 사용자에 대한 직접 케이블 연결 | - -#### 시나리오 A: 단일 물리적 인터페이스 - -ISP로의 물리적 업링크 하나. Ethernet1/1이 CYOA 및 DIA 인터페이스이며 두 공개 IP 중 하나를 가집니다. Loopback100이 두 번째 공개 IP를 가집니다. - -```mermaid -flowchart LR - USERS(["최종 사용자"]) - - subgraph DZD["DZD"] - E1["Eth1/1 - 203.0.113.1/30 - CYOA · DIA · user tunnel endpoint"] - LO["Loopback100 - 198.51.100.1/32\n user tunnel endpoint"] - E1 --- LO - end - - ISP["ISP 라우터 - 203.0.113.2/30"] - - ISP -- "10GbE" --- E1 - USERS -. "GRE 터널" .-> E1 - USERS -. "GRE 터널" .-> LO -``` - -| 인터페이스 | `--interface-cyoa` | `--interface-dia` | `--ip-net` | `--bandwidth` | `--cir` | `--routing-mode` | `--user-tunnel-endpoint` | -|-----------|-------------------|------------------|------------|---------------|---------|-----------------|--------------------------| -| Ethernet1/1 | `gre-over-dia` | `dia` | 기여자 할당 IP/서브넷 | 포트 속도 | 약정 속도 | `bgp` 또는 `static` | `true` | -| Loopback100 | — | — | 공개 /32 | `0bps` | — | — | `true` | - -시나리오 A 기반 명령 예시: -```bash -doublezero device interface create mydzd-nyc01 Ethernet1/1 \ - --interface-cyoa gre-over-dia \ - --interface-dia dia \ - --ip-net 203.0.113.1/30 \ - --bandwidth 10Gbps \ - --cir 1Gbps \ - --routing-mode bgp \ - --user-tunnel-endpoint true - -doublezero device interface create mydzd-nyc01 Loopback100 \ - --ip-net 198.51.100.1/32 \ - --bandwidth 0bps \ - --user-tunnel-endpoint true -``` - -#### 시나리오 B: 포트 채널 (LAG) - -DZD가 IP가 있는 포트 채널을 통해 업스트림 장치에 연결됩니다. 포트 채널이 공개 IP 하나를 가지며 CYOA 엔드포인트입니다. Loopback100이 두 번째 공개 IP를 가집니다. - -```mermaid -flowchart LR - USERS(["최종 사용자"]) - - subgraph SW["업스트림 라우터/스위치"] - SWPC(["bond0 - 203.0.113.2/30"]) - end - - subgraph DZD["DZD"] - subgraph PC["Port-Channel1 · 203.0.113.1/30 · CYOA · DIA · user tunnel endpoint"] - E1["Eth1/1"] - E2["Eth2/1"] - end - LO["Loopback100 - 198.51.100.1/32\n user tunnel endpoint"] - PC --- LO - end - - SWPC -- "2x 10GbE" --- PC - USERS -. "GRE 터널" .-> PC - USERS -. "GRE 터널" .-> LO -``` - -| 인터페이스 | `--interface-cyoa` | `--interface-dia` | `--ip-net` | `--bandwidth` | `--cir` | `--routing-mode` | `--user-tunnel-endpoint` | -|-----------|-------------------|------------------|------------|---------------|---------|-----------------|--------------------------| -| Port-Channel1 | `gre-over-dia` | `dia` | 기여자 할당 IP/서브넷 | 결합 LAG 속도 | 약정 속도 | `bgp` 또는 `static` | `true` | -| Loopback100 | — | — | 공개 /32 | `0bps` | — | — | `true` | - -시나리오 B 기반 명령 예시: -```bash -doublezero device interface create mydzd-fra01 Port-Channel1 \ - --interface-cyoa gre-over-dia \ - --interface-dia dia \ - --ip-net 203.0.113.1/30 \ - --bandwidth 20Gbps \ - --cir 2Gbps \ - --routing-mode bgp \ - --user-tunnel-endpoint true - -doublezero device interface create mydzd-fra01 Loopback100 \ - --ip-net 198.51.100.1/32 \ - --bandwidth 0bps \ - --user-tunnel-endpoint true -``` - -#### 시나리오 C: 별도 라우터로의 이중 물리적 업링크 - -각 물리적 인터페이스가 다른 업스트림 라우터에 연결됩니다. 두 공개 IP는 Loopback100과 Loopback101에 있으며, 모두 사용자 터널 엔드포인트로 등록됩니다. - -```mermaid -flowchart LR - USERS(["최종 사용자"]) - - RA["라우터 A - 203.0.113.2/30"] - RB["라우터 B - 203.0.113.6/30"] - - subgraph DZD["DZD"] - E1["Eth1/1 - 203.0.113.1/30 - CYOA · DIA"] - E2["Eth2/1 - 203.0.113.5/30 - CYOA · DIA"] - LO0["Loopback100 - 198.51.100.1/32\n user tunnel endpoint"] - LO1["Loopback101 - 198.51.100.2/32\n user tunnel endpoint"] - E1 --> LO0 - E2 --> LO1 - end - - RA -- "10GbE" --- E1 - RB -- "10GbE" --- E2 - USERS -. "GRE 터널" .-> LO0 - USERS -. "GRE 터널" .-> LO1 -``` - -| 인터페이스 | `--interface-cyoa` | `--interface-dia` | `--ip-net` | `--bandwidth` | `--cir` | `--routing-mode` | `--user-tunnel-endpoint` | -|-----------|-------------------|------------------|------------|---------------|---------|-----------------|--------------------------| -| Ethernet1/1 | `gre-over-dia` | `dia` | 기여자 할당 IP/서브넷 | 포트 속도 | 약정 속도 | `bgp` 또는 `static` | — | -| Ethernet2/1 | `gre-over-dia` | `dia` | 기여자 할당 IP/서브넷 | 포트 속도 | 약정 속도 | `bgp` 또는 `static` | — | -| Loopback100 | — | — | 공개 /32 | `0bps` | — | — | `true` | -| Loopback101 | — | — | 공개 /32 | `0bps` | — | — | `true` | - -시나리오 C 기반 명령 예시: -```bash -doublezero device interface create mydzd-ams01 Ethernet1/1 \ - --interface-cyoa gre-over-dia \ - --interface-dia dia \ - --ip-net 203.0.113.1/30 \ - --bandwidth 10Gbps \ - --cir 1Gbps \ - --routing-mode bgp - -doublezero device interface create mydzd-ams01 Ethernet2/1 \ - --interface-cyoa gre-over-dia \ - --interface-dia dia \ - --ip-net 203.0.113.5/30 \ - --bandwidth 10Gbps \ - --cir 1Gbps \ - --routing-mode bgp - -doublezero device interface create mydzd-ams01 Loopback100 \ - --ip-net 198.51.100.1/32 \ - --bandwidth 0bps \ - --user-tunnel-endpoint true - -doublezero device interface create mydzd-ams01 Loopback101 \ - --ip-net 198.51.100.2/32 \ - --bandwidth 0bps \ - --user-tunnel-endpoint true -``` - -### 3.6단계: 장치 확인 - -```bash -doublezero device list -``` - -**예시 출력:** - -``` - account | code | contributor | location | exchange | device_type | public_ip | dz_prefixes | users | max_users | status | health | mgmt_vrf | owner - 7xKm9pQw2R4vHt3... | nyc-dz001 | acme | EQX-NY5 | nyc | hybrid | 203.0.113.10 | 198.51.100.0/28 | 0 | 14 | activated | pending | | 5FMtd5Woq5XAAg54... -``` - -장치가 `activated` 상태로 표시되어야 합니다. - ---- - -## 4단계: 링크 설정 및 에이전트 설치 - -링크는 장치를 나머지 DoubleZero 네트워크에 연결합니다. - -### 링크 이해 - -```mermaid -flowchart LR - subgraph "귀하의 네트워크" - D1[귀하의 DZD 1
NYC] - D2[귀하의 DZD 2
LAX] - end - - subgraph "다른 기여자" - O1[상대방 DZD
NYC] - end - - D1 ---|WAN 링크
동일 기여자| D2 - D1 ---|DZX 링크
다른 기여자| O1 -``` - -| 링크 유형 | 연결 | 수락 | -|-----------|----------|------------| -| **WAN 링크** | 귀하의 두 장치 | 자동 (둘 다 소유) | -| **DZX 링크** | 귀하의 장치 대 다른 기여자 | 상대방 수락 필요 | - -### 4.1단계: WAN 링크 생성 (여러 장치가 있는 경우) - -WAN 링크는 귀하의 자체 장치를 연결합니다: +WAN 또는 DZX 링크에 사용될 물리적 인터페이스를 등록합니다. 이 인터페이스들은 링크를 참조하는 링크를 생성하기 전에 온체인에 존재해야 합니다. 이 단계에서는 인터페이스와 대역폭만 등록하며, 링크는 이후 단계에서 생성됩니다. ```bash -doublezero link create wan \ - --code \ - --contributor \ - --side-a \ - --side-a-interface \ - --side-z \ - --side-z-interface \ - --bandwidth 10000 \ - --mtu 9000 \ - --delay-ms 20 \ - --jitter-ms 1 +doublezero device interface create \ + --bandwidth ``` **예시:** ```bash -doublezero link create wan \ - --code nyc-lax-wan01 \ - --contributor acme \ - --side-a nyc-dz001 \ - --side-a-interface Ethernet3/1 \ - --side-z lax-dz001 \ - --side-z-interface Ethernet3/1 \ - --bandwidth 10000 \ - --mtu 9000 \ - --delay-ms 65 \ - --jitter-ms 1 +doublezero device interface create nyc-dz001 Ethernet1/1 \ + --bandwidth 10Gbps ``` **예상 출력:** ``` -Signature: 5tNm7K...truncated...9pRw2 -``` - -### 4.2단계: DZX 링크 생성 - -DZX 링크는 장치를 다른 기여자의 DZD에 직접 연결합니다: - -```bash -doublezero link create dzx \ - --code \ - --contributor \ - --side-a \ - --side-a-interface \ - --side-z \ - --bandwidth \ - --mtu \ - --delay-ms \ - --jitter-ms -``` - -**예상 출력:** - -``` -Signature: 8mKp3W...truncated...2nRx7 -``` - -DZX 링크를 생성한 후 다른 기여자가 이를 수락해야 합니다: - -```bash -# 다른 기여자가 이것을 실행합니다 -doublezero link accept \ - --code \ - --side-z-interface -``` - -**예상 출력 (수락하는 기여자):** - -``` -Signature: 6vQt9L...truncated...3wPm4 -``` - -### 4.3단계: 링크 확인 - -```bash -doublezero link list -``` - -**예시 출력:** - -``` - account | code | contributor | side_a_name | side_a_iface_name | side_z_name | side_z_iface_name | link_type | bandwidth | mtu | delay_ms | jitter_ms | delay_override_ms | tunnel_id | tunnel_net | status | health | owner - 8vkYpXaBW8RuknJq... | nyc-dz001:lax-dz001 | acme | nyc-dz001 | Ethernet3/1 | lax-dz001 | Ethernet3/1 | WAN | 10Gbps | 9000 | 65.00ms | 1.00ms | 0.00ms | 42 | 172.16.0.84/31 | activated | pending | 5FMtd5Woq5XAAg54... -``` - -양쪽이 구성되면 링크는 `activated` 상태를 표시해야 합니다. - ---- - -### 에이전트 설치 - -두 개의 소프트웨어 에이전트가 DZD에서 실행됩니다: - -```mermaid -flowchart TB - subgraph "귀하의 DZD" - CA[Config Agent] - TA[Telemetry Agent] - HW[스위치 하드웨어/소프트웨어] - end - - CA -->|구성 폴링| CTRL[컨트롤러 서비스] - CA -->|구성 적용| HW - - HW -->|메트릭| TA - TA -->|온체인 제출| BC[DoubleZero 레저] -``` - -| 에이전트 | 기능 | -|-------|--------------| -| **Config Agent** | 컨트롤러에서 구성을 가져와 스위치에 적용 | -| **Telemetry Agent** | 다른 장치에 대한 대기 시간/손실 측정, 온체인으로 메트릭 보고 | - -### 4.4단계: Config Agent 설치 - -#### 스위치에서 API 활성화 - -EOS 구성에 추가: - -``` -management api eos-sdk-rpc - transport grpc eapilocal - localhost loopback vrf default - service all - no disabled -``` - -!!! note "VRF 참고" - 관리 VRF 이름이 다른 경우(예: `management`) `default`를 해당 이름으로 교체하세요. - -#### 에이전트 다운로드 및 설치 - -```bash -# 스위치에서 bash 입력 -switch# bash -$ sudo bash -# cd /mnt/flash -# wget AGENT_DOWNLOAD_URL -# exit -$ exit - -# EOS 확장으로 설치 -switch# copy flash:AGENT_FILENAME extension: -switch# extension AGENT_FILENAME -switch# copy installed-extensions boot-extensions -``` - -#### 확장 확인 - -```bash -switch# show extensions -``` - -상태는 "A, I, B"여야 합니다: - -``` -Name Version/Release Status Extension -------------------------------------------- ------------------- ---------- --------- -AGENT_FILENAME MAINNET_CLIENT_VERSION/1 A, I, B 1 - -A: available | NA: not available | I: installed | F: forced | B: install at boot -``` - -#### 에이전트 구성 및 시작 - -EOS 구성에 추가: - -``` -daemon doublezero-agent - exec /usr/local/bin/doublezero-agent -pubkey - no shut -``` - -!!! note "VRF 참고" - 관리 VRF가 `default`가 아닌 경우(즉, 네임스페이스가 `ns-default`가 아닌 경우) exec 명령 앞에 `exec /sbin/ip netns exec ns-`를 붙입니다. 예를 들어 VRF가 `management`인 경우: - ``` - daemon doublezero-agent - exec /sbin/ip netns exec ns-management /usr/local/bin/doublezero-agent -pubkey - no shut - ``` - -장치 공개 키를 `doublezero device list`의 `account` 열에서 가져옵니다. - -#### 실행 확인 - -```bash -switch# show agent doublezero-agent logs -``` - -"Starting doublezero-agent" 및 성공적인 컨트롤러 연결이 표시되어야 합니다. - -### 4.5단계: Telemetry Agent 설치 - -#### 메트릭 발행자 키를 장치에 복사 - -```bash -scp ~/.config/doublezero/metrics-publisher.json :/mnt/flash/metrics-publisher-keypair.json -``` - -#### 온체인에 메트릭 발행자 등록 - -```bash -doublezero device update \ - --pubkey \ - --metrics-publisher -``` - -metrics-publisher.json 파일에서 공개 키를 가져옵니다. - -#### 에이전트 다운로드 및 설치 - -```bash -switch# bash -$ sudo bash -# cd /mnt/flash -# wget TELEMETRY_DOWNLOAD_URL -# exit -$ exit - -# EOS 확장으로 설치 -switch# copy flash:TELEMETRY_FILENAME extension: -switch# extension TELEMETRY_FILENAME -switch# copy installed-extensions boot-extensions -``` - -#### 확장 확인 - -```bash -switch# show extensions -``` - -상태는 "A, I, B"여야 합니다: - -``` -Name Version/Release Status Extension -------------------------------------------- ------------------- ---------- --------- -TELEMETRY_FILENAME MAINNET_CLIENT_VERSION/1 A, I, B 1 - -A: available | NA: not available | I: installed | F: forced | B: install at boot -``` - -#### 에이전트 구성 및 시작 - -EOS 구성에 추가: - -``` -daemon doublezero-telemetry - exec /usr/local/bin/doublezero-telemetry --local-device-pubkey --env mainnet --keypair /mnt/flash/metrics-publisher-keypair.json - no shut -``` - -!!! note "VRF 참고" - 관리 VRF가 `default`가 아닌 경우(즉, 네임스페이스가 `ns-default`가 아닌 경우) exec 명령에 `--management-namespace ns-`를 추가합니다. 예를 들어 VRF가 `management`인 경우: - ``` - daemon doublezero-telemetry - exec /usr/local/bin/doublezero-telemetry --management-namespace ns-management --local-device-pubkey --env mainnet --keypair /mnt/flash/metrics-publisher-keypair.json - no shut - ``` - -#### 실행 확인 - -```bash -switch# show agent doublezero-telemetry logs -``` - -"Starting telemetry collector" 및 "Starting submission loop"가 표시되어야 합니다. - ---- - -## 5단계: 링크 번인 - -!!! warning "모든 새 링크는 트래픽을 전달하기 전에 번인해야 합니다" - 새 링크는 프로덕션 트래픽을 활성화하기 전에 **최소 24시간 동안 드레인되어야 합니다**. 이 번인 요구사항은 링크가 서비스 준비가 되기 전에 약 20만 DZ 레저 슬롯(~20시간)의 클린 메트릭을 지정하는 [RFC12: 네트워크 프로비저닝](https://github.com/malbeclabs/doublezero/blob/main/rfcs/rfc12-network-provisioning.md)에 정의되어 있습니다. - -에이전트가 설치 및 실행되면 최소 24시간 연속으로 [metrics.doublezero.xyz](https://metrics.doublezero.xyz)에서 링크를 모니터링합니다: - -- **"DoubleZero Device-Link Latencies"** 대시보드 — 시간에 따른 링크의 **제로 패킷 손실** 확인 -- **"DoubleZero Network Metrics"** 대시보드 — 링크의 **제로 오류** 확인 - -번인 기간이 제로 손실 및 제로 오류의 클린 링크를 보여준 후에만 링크의 드레인을 해제합니다. - ---- - -## 6단계: 검증 및 활성화 - -모든 것이 작동하는지 확인하기 위해 이 체크리스트를 실행합니다. - -!!! warning "장치는 잠금 상태로 시작됩니다 (`max_users = 0`)" - 장치가 생성되면 `max_users`가 기본적으로 **0**으로 설정됩니다. 즉, 아직 사용자가 연결할 수 없습니다. 이는 의도적인 것입니다 — 사용자 트래픽을 허용하기 전에 모든 것이 작동하는지 확인해야 합니다. - - **`max_users`를 0 이상으로 설정하기 전에 다음을 완료해야 합니다:** - - 1. 모든 링크가 [metrics.doublezero.xyz](https://metrics.doublezero.xyz)에서 제로 손실/오류로 **24시간 번인**을 완료했는지 확인 - 2. **DZ/Malbec Labs와 조율**하여 연결 테스트 실행: - - 테스트 사용자가 장치에 연결할 수 있는가? - - 사용자가 DZ 네트워크를 통해 경로를 수신하는가? - - 사용자가 DZ 네트워크를 통해 엔드-투-엔드로 트래픽을 라우팅할 수 있는가? - 3. DZ/ML이 테스트 통과를 확인한 후에만 max_users를 96으로 설정합니다: - - ```bash - doublezero device update --pubkey --max-users 96 - ``` - -### 장치 확인 - -```bash -# 장치가 "activated" 상태로 표시되어야 합니다 -doublezero device list | grep -``` - -**예상 출력:** - -``` - 7xKm9pQw2R4vHt3... | nyc-dz001 | acme | EQX-NY5 | nyc | hybrid | 203.0.113.10 | 198.51.100.0/28 | 0 | 14 | activated | pending | | 5FMtd5Woq5XAAg54... -``` - -```bash -# 인터페이스가 나열되어야 합니다 -doublezero device interface list | grep -``` - -**예상 출력:** - -``` - nyc-dz001 | Loopback255 | loopback | vpnv4 | none | none | 0 | 0 | 1500 | static | 0 | 172.16.1.91/32 | 56 | false | activated - nyc-dz001 | Loopback256 | loopback | ipv4 | none | none | 0 | 0 | 1500 | static | 0 | 172.16.1.100/32 | 0 | false | activated - nyc-dz001 | Ethernet1/1 | physical | none | none | none | 0 | 0 | 1500 | static | 0 | | 0 | false | activated -``` - -### 링크 확인 - -```bash -# 링크가 "activated" 상태를 표시해야 합니다 -doublezero link list | grep -``` - -**예상 출력:** - -``` - 8vkYpXaBW8RuknJq... | nyc-lax-wan01 | acme | nyc-dz001 | Ethernet3/1 | lax-dz001 | Ethernet3/1 | WAN | 10Gbps | 9000 | 65.00ms | 1.00ms | 0.00ms | 42 | 172.16.0.84/31 | activated | pending | 5FMtd5Woq5XAAg54... -``` - -### 에이전트 확인 - -스위치에서: - -```bash -# Config Agent가 성공적인 구성 가져오기를 표시해야 합니다 -switch# show agent doublezero-agent logs | tail -20 - -# Telemetry Agent가 성공적인 제출을 표시해야 합니다 -switch# show agent doublezero-telemetry logs | tail -20 -``` - -### 최종 검증 다이어그램 - -```mermaid -flowchart TB - subgraph "검증 체크리스트" - D[장치 상태: activated?] - I[인터페이스: 등록됨?] - L[링크: activated?] - CA[Config Agent: 구성 가져오는 중?] - TA[Telemetry Agent: 메트릭 제출 중?] - end - - D --> PASS - I --> PASS - L --> PASS - CA --> PASS - TA --> PASS - - PASS[모든 확인 통과] --> NOTIFY[DZF/Malbec Labs에 통지
기술적으로 준비됨!] +Signature: 7pQw2R...truncated...4xKm9 ``` ---- - -## 문제 해결 +WAN 또는 DZX 링크 엔드포인트로 사용될 각 인터페이스에 대해 이 과정을 반복합니다. CYOA 및 DIA 인터페이스는 다음 단계에서 별도로 등록됩니다. -### 장치 생성 실패 +### 3.5단계: CYOA 인터페이스 생성 (Edge/Hybrid 디바이스용) -- 서비스 키가 승인되었는지 확인합니다 (`doublezero contributor list`) -- 위치 및 exchange 코드가 유효한지 확인합니다 -- DZ 프리픽스가 유효한 공개 IP 범위인지 확인합니다 +Hybrid 및 Edge DZD에는 사용자가 GRE 터널을 종단하는 **두 개의 공용 IP 주소**가 필요합니다. 사용자는 유니캐스트, 멀티캐스트, 또는 둘 다를 통해 연결할 수 있으며, 어떤 IP가 어떤 용도로 사용되는지는 사용자별로 순환됩니다. -### "requested" 상태에서 멈춘 링크 +두 IP 모두 `--user-tunnel-endpoint true`로 등록해야 하며, 물리적 인터페이스 또는 루프백에 등록할 수 있습니다. 디바이스 생성 시 제공한 IP도 포함되며, 해당 IP는 여기서 명시적으로 등록해야 합니다. -- DZX 링크는 다른 기여자의 수락이 필요합니다 -- 상대방에게 `doublezero link accept` 실행 요청 +IP가 부족한 경우, DZ 프리픽스의 첫 번째 `/32`를 두 IP 중 하나로 사용할 수 있습니다. -### Config Agent가 연결되지 않음 +#### CYOA와 DIA -- 관리 네트워크에 인터넷 액세스가 있는지 확인합니다 -- VRF 구성이 설정과 일치하는지 확인합니다 -- 장치 공개 키가 올바른지 확인합니다 - -### Telemetry Agent가 제출하지 않음 +| 유형 | 플래그 | 목적 | +|------|------|---------| +| DIA | `--interface-dia dia` | 포트를 직접 인터넷 접속으로 표시 | +| CYOA | `--interface-cyoa ` | 사용자가 디바이스에 GRE 터널을 연결하는 방법 선언 | -- 메트릭 발행자 키가 온체인에 등록되었는지 확인합니다 -- 스위치에 키쌍 파일이 존재하는지 확인합니다 -- 장치 계정 공개 키가 올바른지 확인합니다 +CYOA 플래그는 항상 **물리적 인터페이스**(이더넷 포트 또는 포트 채널)에 설정됩니다. 루프백에는 절대 설정하지 마세요. ---- +| CYOA 서브타입 | 사용 시기 | +|-------------|-------------| +| `gre-over-dia` | 사용자가 공용 인터넷을 통해 연결. 가장 일반적. | +| `gre-over-private-peering` | 사용자가 직접 크로스 커넥트 또는 전용 회선을 통해 연결 | +| `gre-over-public-peering` | 사용자가 인터넷 교환(IX)에서 피어링 | +| `gre-over-fabric` | 사용자가 같은 위치에서 로컬 패브릭을 통해 연결 | +| `gre-over-cable` | 단일 전용 사용자에 대한 직접 케이블 연결 | -## 다음 단계 +#### 시나리오 A: 단일 물리적 인터페이스 -- 에이전트 업그레이드 및 링크 관리에 대한 [운영 가이드](contribute-operations.md) 검토 -- 용어 정의는 [용어집](glossary.md) 확인 -- 문제가 발생하면 DZF/Malbec Labs에 문의 +ISP로의 단일 물리적 업링크. Ethernet1/1이 CYOA 및 DIA 인터페이스이며 두 공 \ No newline at end of file diff --git a/docs/contribute-provisioning.md b/docs/contribute-provisioning.md index 8ae6669..ba0569f 100644 --- a/docs/contribute-provisioning.md +++ b/docs/contribute-provisioning.md @@ -88,8 +88,8 @@ Before you can provision a device, you need the physical hardware set up and som | Requirement | Why It's Needed | |-------------|-----------------| | **DZD Hardware** | Arista 7280CR3A switch (see [hardware specs](contribute.md#hardware-requirements)) | -| **Rack Space** | 4U with proper airflow | -| **Power** | Redundant feeds, ~4KW recommended | +| **Rack Space** | 2U reserved per DZD (1U in use today), with proper airflow. See [Rack & Power](contribute.md#rack-power-requirements) | +| **Power** | Two independent feeds, each able to carry the whole load on its own. See [Rack & Power](contribute.md#rack-power-requirements) | | **Management Access** | SSH/console access to configure the switch | | **Internet Connectivity** | For metrics publishing and to fetch configuration from the controller | | **Public IPv4 Block** | Minimum /29 for the DZ prefix pool (see below) | @@ -163,7 +163,9 @@ flowchart LR ## Phase 2: Account Setup -In this phase, you create the cryptographic keys that identify you and your devices on the network. +In this phase, you create the cryptographic keys that identify you and your devices on the network, and you set up rewards management. + +The steps run in this order for a reason: repository access first, because the repository holds the instructions for the later steps, then your keys, then rewards. Some steps need DZF to act before you can continue, and each one below says so. ### Where to Run the CLI @@ -199,21 +201,33 @@ Think of keys like secure login credentials: - **Service Key**: Your contributor identity - used to run CLI commands - **Metrics Publisher Key**: Your device's identity for submitting telemetry data +- **Rewards Manager Key**: Controls which wallets receive your rewards - see [Rewards Management](https://github.com/malbeclabs/contributors#rewards-management) in the contributors repository -Both are cryptographic keypairs (a public key you share, a private key you keep secret). +All three are cryptographic keypairs (a public key you share, a private key you keep secret). ```mermaid flowchart LR subgraph "Your Keys" SK[Service Key
~/.config/solana/id.json] MK[Metrics Publisher Key
~/.config/doublezero/metrics-publisher.json] + RK[Rewards Manager Key
keep offline] end SK -->|Used for| CLI[CLI Commands
doublezero device create
doublezero link create] MK -->|Used for| TEL[Telemetry Agent
Submits metrics onchain] + RK -->|Used for| REW[Rewards Portal
Sets recipient wallets] ``` -### Step 2.1: Generate Your Service Key +!!! note "Keep the rewards manager key separate" + The service key and metrics publisher key live on your management server and switch. The rewards manager key controls where your money goes, so keep it off those machines. It is only needed when you change your recipient wallets. + +### Step 2.1: Request Contributors Repository Access + +Contact the DoubleZero Foundation or Malbec Labs and give them your **GitHub username**. + +They grant you access to the private [malbeclabs/contributors](https://github.com/malbeclabs/contributors) repository. Do this first: the repository holds the base device configuration, the TCAM and ACL profiles, and the rewards management instructions you need in the steps below. + +### Step 2.2: Generate Your Service Key This is your main identity for interacting with DoubleZero. @@ -223,7 +237,7 @@ doublezero keygen This creates a keypair at the default location. The output shows your **public key** - this is what you'll share with DZF. -### Step 2.2: Generate Your Metrics Publisher Key +### Step 2.3: Generate Your Metrics Publisher Key This key is used by the Telemetry Agent to sign metric submissions. @@ -231,19 +245,16 @@ This key is used by the Telemetry Agent to sign metric submissions. doublezero keygen -o ~/.config/doublezero/metrics-publisher.json ``` -### Step 2.3: Submit Keys to DZF - -Contact the DoubleZero Foundation or Malbec Labs and provide: +### Step 2.4: Submit Your Service Key to DZF -1. Your **service key public key** -2. Your **GitHub username** (for repo access) +Send DZF your **service key public key**. -They will: +They create your **contributor account** onchain and confirm when it is done. -- Create your **contributor account** onchain -- Grant access to the private **contributors repository** +!!! danger "Public keys only" + Never send a private key or a keypair file to anyone, including DZF. Only the public key is ever needed. -### Step 2.4: Verify Your Account +### Step 2.5: Verify Your Account Once confirmed, verify your contributor account exists: @@ -253,16 +264,14 @@ doublezero contributor list You should see your contributor code in the list. -### Step 2.5: Access the Contributors Repository +### Step 2.6: Set Up Rewards Management -The [malbeclabs/contributors](https://github.com/malbeclabs/contributors) repository contains: +Rewards management decides which wallets receive the [2Z](glossary.md#2z-token) your contribution earns, and in what proportions. -- Base device configurations -- TCAM profiles -- ACL configurations -- Additional setup instructions +Follow [Rewards Management](https://github.com/malbeclabs/contributors#rewards-management) in the contributors repository, which you now have access to from Step 2.1. -Follow the instructions there for device-specific configuration. +!!! note "This does not block the rest of your setup" + You can provision your device, establish links and start carrying traffic without this in place, so treat the phases below as independent of it. --- @@ -947,10 +956,26 @@ You should see "Starting telemetry collector" and "Starting submission loop". !!! warning "All new links must burn in before carrying traffic" New links must be **drained for at least 24 hours** before being activated for production traffic. This burn-in requirement is defined in [RFC12: Network Provisioning](https://github.com/malbeclabs/doublezero/blob/main/rfcs/rfc12-network-provisioning.md), which specifies ~200,000 DZ Ledger slots (~20 hours) of clean metrics before a link is ready for service. -With agents installed and running, monitor your links on [metrics.doublezero.xyz](https://metrics.doublezero.xyz) for at least 24 consecutive hours: +With agents installed and running, monitor each new link for at least 24 consecutive hours. + +Take the link's account key from the `account` column of `doublezero link list`, then open its page on the data portal: + +``` +https://data.doublezero.xyz/dz/links/ +``` + +The page opens on a 24 hour window, which is the burn-in period. Check that all of these stay clean for the whole window: + +| Chart | What to look for | +|-------|------------------| +| **Health** | No red bars. Hover a bar to see why it was flagged | +| **Packet loss** | Flat at zero. Taken from the TWAMP measurements between the two devices | +| **Interface issues** | Nothing plotted at all. Errors, FCS errors, discards and carrier transitions all appear here, with side A above the axis and side Z below it | +| **Latency**, **Jitter** | Steady, with no steps or spikes | + +Carrier transitions deserve particular attention: they mean the link went down and came back up, so it is not stable yet even if the other charts look clean. -- **"DoubleZero Device-Link Latencies"** dashboard — verify **zero packet loss** on the link over time -- **"DoubleZero Network Metrics"** dashboard — verify **zero errors** on your links +To check several links at once, use the [link status dashboard](https://data.doublezero.xyz/status/links). Only undrain the link once the burn-in period shows a clean link with zero loss and zero errors. @@ -965,7 +990,7 @@ Run through this checklist to confirm everything is working. **Before setting `max_users` above 0, you must:** - 1. Confirm all links have completed their **24-hour burn-in** with zero loss/errors on [metrics.doublezero.xyz](https://metrics.doublezero.xyz) + 1. Confirm all links have completed their **24-hour burn-in** with zero loss/errors on the [link status dashboard](https://data.doublezero.xyz/status/links) 2. **Coordinate with DZ/Malbec Labs** to run a connectivity test: - Can a test user connect to your device? - Does the user receive routes over the DZ network? diff --git a/docs/contribute-provisioning.pt.md b/docs/contribute-provisioning.pt.md index 72081d9..687b7a1 100644 --- a/docs/contribute-provisioning.pt.md +++ b/docs/contribute-provisioning.pt.md @@ -1,14 +1,51 @@ -# Guia de Provisionamento de Dispositivos -!!! warning "This translation was generated using artificial intelligence and has not been reviewed by a human translator. It may contain inaccuracies or errors and should not be relied upon." +--- +description: Guia passo a passo para provisionar um Dispositivo DoubleZero (DZD) e registrar suas interfaces e funções on-chain. +--- +# Guia de Provisionamento de Dispositivo -Este guia orienta você no provisionamento de um Dispositivo DoubleZero (DZD) do início ao fim. Cada fase corresponde à [Lista de Verificação de Integração](contribute-overview.md#onboarding-checklist). +Este guia orienta você por todo o provisionamento de um Dispositivo DoubleZero (DZD) do início ao fim. Cada fase corresponde à [Lista de Verificação de Integração](contribute-overview.md#onboarding-checklist). --- -## Como Tudo Se Encaixa +## Como Tudo se Encaixa + +Este guia orienta você a registrar sua infraestrutura on-chain para que a rede DoubleZero possa rotear tráfego por ela. Quanto mais completo for o registro do seu dispositivo, mais útil ele será para a rede. Uma representação on-chain completa do seu dispositivo permite melhor diagnóstico de problemas, planejamento de capacidade e permite que o controlador tome decisões informadas. Com o tempo, o objetivo é que o controlador assuma mais responsabilidade de configuração. + +### Conceitos-chave + +**Interfaces** + +As interfaces em um DZD apresentam diferentes formas: portas Ethernet, canais de porta (LAGs compostos por múltiplas portas Ethernet) e loopbacks. Cada interface que desempenha uma função na rede precisa ser registrada on-chain com as flags apropriadas para que o protocolo saiba o que ela faz. + +Portas Ethernet e canais de porta podem desempenhar as seguintes funções: + +| Flag | O que significa | +|------|-----------------| +| `--interface-dia dia` | Marca a interface como o uplink de acesso direto à internet | +| `--interface-cyoa ` | Declara como os usuários estabelecem túneis GRE por esta interface (ex.: pela internet pública, via um link de peering privado) | +| `--user-tunnel-endpoint true` | Esta interface carrega um IP público no qual os usuários terminam túneis GRE | + +Interfaces usadas para links WAN ou DZX não carregam uma flag específica; elas são registradas com sua largura de banda e então referenciadas quando o link é criado. -Antes de mergulhar nas etapas, aqui está a visão geral do que você está construindo: +Interfaces loopback servem a vários propósitos: + +| Loopback | O que significa | +|----------|-----------------| +| **Loopback100 / 101** | Carregam IPs públicos nos quais os usuários terminam túneis GRE. Registradas com `--user-tunnel-endpoint true`. | +| **Loopback255** (`vpnv4`) | Registrada para que o controlador possa atribuir um IP usado para router ID BGP, peering VPN-IPv4 (unicast), identidade IS-IS e segment routing | +| **Loopback256** (`ipv4`) | Registrada para que o controlador possa atribuir um IP usado para peering BGP IPv4 (multicast) e sessões MSDP | + +**Links** + +Os links são registrados separadamente das interfaces, e as interfaces devem existir on-chain antes que um link possa referenciá-las. Quando você cria um link WAN ou DZX, você especifica uma interface já registrada como o endpoint físico do link. Nem todas as interfaces estão vinculadas a um link: interfaces DIA, CYOA e loopback não estão conectadas a um link. + +| Termo | O que significa | +|-------|-----------------| +| **Link WAN** | Um link entre dois dos seus próprios DZDs | +| **Link DZX** | Um link entre seu DZD e o DZD de outro contribuidor | + +### Visão geral da arquitetura ```mermaid flowchart TB @@ -16,47 +53,50 @@ flowchart TB SC[Ledger DoubleZero] end - subgraph Sua Infraestrutura + subgraph Your Infrastructure MGMT[Servidor de Gerenciamento
CLI DoubleZero] - DZD[Seu DZD
Switch Arista] - DZD ---|Link WAN| DZD2[Seu outro DZD] + subgraph DZD[Seu DZD] + CYOA["Interface DIA · CYOA
(uplink voltado ao usuário)"] + WAN_INTF["Interface de link WAN"] + DZX_INTF["Interface de link DZX"] + LO100["Loopback100/101
(endpoint de túnel do usuário)"] + end + DZD2[Seu outro DZD] end - subgraph Outro Contribuidor + subgraph Other Contributor OtherDZD[DZD deles] end - subgraph Usuários - VAL[Validadores] - RPC[Nós RPC] - end + USERS["Usuários"] MGMT -.->|Registra dispositivos,
links, interfaces| SC - DZD ---|Link DZX| OtherDZD - VAL ---|Conecta via Internet| DZD - RPC ---|Conecta via Internet| DZD + WAN_INTF ---|Link WAN| DZD2 + DZX_INTF ---|Link DZX| OtherDZD + USERS -.|Túnel GRE|.-> CYOA + CYOA ---|roteia para| LO100 ``` --- ## Fase 1: Pré-requisitos -Antes de poder provisionar um dispositivo, você precisa do hardware físico configurado e alguns endereços IP alocados. +Antes de provisionar um dispositivo, você precisa ter o hardware físico configurado e alguns endereços IP alocados. ### O Que Você Precisa | Requisito | Por Que É Necessário | -|-------------|-----------------| -| **Hardware DZD** | Switch Arista 7280CR3A (consulte [especificações de hardware](contribute.md#hardware-requirements)) | -| **Espaço em Rack** | 4U com fluxo de ar adequado | -| **Energia** | Alimentações redundantes, ~4KW recomendado | +|-----------|----------------------| +| **Hardware DZD** | Switch Arista 7280CR3A (veja [especificações de hardware](contribute.md#hardware-requirements)) | +| **Espaço em Rack** | 2U reservados por DZD (1U em uso atualmente), com fluxo de ar adequado. Veja [Rack & Energia](contribute.md#rack-power-requirements) | +| **Energia** | Duas alimentações independentes, cada uma capaz de suportar toda a carga sozinha. Veja [Rack & Energia](contribute.md#rack-power-requirements) | | **Acesso de Gerenciamento** | Acesso SSH/console para configurar o switch | -| **Conectividade à Internet** | Para publicação de métricas e busca de configuração do controlador | +| **Conectividade com a Internet** | Para publicação de métricas e busca de configuração do controlador | | **Bloco IPv4 Público** | Mínimo /29 para o pool de prefixos DZ (veja abaixo) | -### Instalar o CLI do DoubleZero +### Instale a CLI DoubleZero -O CLI do DoubleZero (`doublezero`) é usado ao longo do provisionamento para registrar dispositivos, criar links e gerenciar sua contribuição. Deve ser instalado em um **servidor ou VM de gerenciamento** — não no próprio switch DZD. O switch executa apenas o Config Agent e o Telemetry Agent (instalados na [Fase 4](#fase-4-estabelecimento-de-link-instalação-de-agentes)). +A CLI DoubleZero (`doublezero`) é usada durante todo o provisionamento para registrar dispositivos, criar links e gerenciar sua contribuição. Ela deve ser instalada em um **servidor de gerenciamento ou VM** — não no switch DZD em si. O switch executa apenas o Config Agent e o Telemetry Agent (instalados na [Fase 4](#fase-4-estabelecimento-de-links-instalacao-de-agentes)). **Ubuntu / Debian:** ```bash @@ -70,14 +110,14 @@ curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.rpm.sh | sudo yum install doublezero ``` -Verificar se o daemon está em execução: +Verifique se o daemon está em execução: ```bash sudo systemctl status doublezerod ``` -### Entendendo seu Prefixo DZ +### Entendendo Seu Prefixo DZ -Seu prefixo DZ é um bloco de endereços IP públicos que o protocolo DoubleZero gerencia para alocação de IP. +Seu prefixo DZ é um bloco de endereços IP públicos que o protocolo DoubleZero gerencia para alocação de IPs. ```mermaid flowchart LR @@ -99,43 +139,44 @@ flowchart LR - **Primeiro IP**: Reservado para seu dispositivo (atribuído à interface Loopback100) - **IPs restantes**: Alocados para tipos específicos de usuários que se conectam ao seu DZD: - Usuários `IBRLWithAllocatedIP` - - Usuários `EdgeFiltering` - - Publicadores multicast -- **Usuários IBRL**: NÃO consomem deste pool (usam seu próprio IP público) + - Usuários `EdgeFiltering` (caso de uso futuro) +- **Usuários IBRL**: NÃO consomem deste pool (eles usam seu próprio IP público) -!!! warning "Regras de Prefixo DZ" +!!! warning "Regras do Prefixo DZ" **Você NÃO PODE usar esses endereços para:** - - Seu próprio equipamento de rede - - Links ponto a ponto em interfaces DIA + - Seus próprios equipamentos de rede + - Links ponto-a-ponto em interfaces DIA - Interfaces de gerenciamento - Qualquer infraestrutura fora do protocolo DZ **Requisitos:** - Devem ser endereços IPv4 **globalmente roteáveis (públicos)** - - Intervalos de IP privados (10.x, 172.16-31.x, 192.168.x) são rejeitados pelo contrato inteligente - - **Tamanho mínimo: /29** (8 endereços), prefixos maiores são preferidos (por exemplo, /28, /27) - - Todo o bloco deve estar disponível — não pré-aloque nenhum endereço + - Faixas de IP privadas (10.x, 172.16-31.x, 192.168.x) são rejeitadas pelo contrato inteligente + - **Tamanho mínimo: /29** (8 endereços), prefixos maiores são preferidos (ex.: /28, /27) + - O bloco inteiro deve estar disponível — não pré-aloque nenhum endereço - Se você precisar de endereços para seu próprio equipamento (IPs de interface DIA, gerenciamento, etc.), use um **pool de endereços separado**. + Se você precisar de endereços para seus próprios equipamentos (IPs de interface DIA, gerenciamento, etc.), use um **pool de endereços separado**. --- -## Fase 2: Configuração de Conta +## Fase 2: Configuração da Conta -Nesta fase, você cria as chaves criptográficas que identificam você e seus dispositivos na rede. +Nesta fase, você cria as chaves criptográficas que identificam você e seus dispositivos na rede, e configura o gerenciamento de recompensas. -### Onde Executar o CLI +As etapas são executadas nesta ordem por um motivo: acesso ao repositório primeiro, porque o repositório contém as instruções para as etapas posteriores, depois suas chaves, depois as recompensas. Algumas etapas precisam que a DZF atue antes que você possa continuar, e cada uma abaixo indica quando isso ocorre. -!!! warning "NÃO instale o CLI no seu switch" - O CLI do DoubleZero (`doublezero`) deve ser instalado em um **servidor ou VM de gerenciamento**, não no seu switch Arista. +### Onde Executar a CLI + +!!! warning "NÃO instale a CLI no seu switch" + A CLI DoubleZero (`doublezero`) deve ser instalada em um **servidor de gerenciamento ou VM**, não no seu switch Arista. ```mermaid flowchart LR - subgraph "Servidor/VM de Gerenciamento" + subgraph "Servidor de Gerenciamento/VM" CLI[CLI DoubleZero] - KEYS[Seus Keypairs] + KEYS[Seus Pares de Chaves] end subgraph "Seu Switch DZD" @@ -144,37 +185,49 @@ Nesta fase, você cria as chaves criptográficas que identificam você e seus di end CLI -->|Cria dispositivos, links| BC[Blockchain] - CA -->|Busca config| CTRL[Controlador] + CA -->|Busca configuração| CTRL[Controlador] TA -->|Envia métricas| BC ``` | Instalar no Servidor de Gerenciamento | Instalar no Switch | - |-----------------------------|-------------------| + |---------------------------------------|---------------------| | CLI `doublezero` | Config Agent | - | Seu keypair de serviço | Telemetry Agent | - | Seu keypair do editor de métricas | Keypair do editor de métricas (cópia) | + | Seu par de chaves de serviço | Telemetry Agent | + | Seu par de chaves do publicador de métricas | Par de chaves do publicador de métricas (cópia) | ### O Que São Chaves? Pense nas chaves como credenciais de login seguras: -- **Chave de Serviço**: Sua identidade de contribuidor — usada para executar comandos CLI -- **Chave do Editor de Métricas**: A identidade do seu dispositivo para enviar dados de telemetria +- **Chave de Serviço**: Sua identidade como contribuidor - usada para executar comandos da CLI +- **Chave do Publicador de Métricas**: A identidade do seu dispositivo para enviar dados de telemetria +- **Chave do Gerenciador de Recompensas**: Controla quais carteiras recebem suas recompensas - veja [Gerenciamento de Recompensas](https://github.com/malbeclabs/contributors#rewards-management) no repositório de contribuidores -Ambas são keypairs criptográficos (uma chave pública que você compartilha, uma chave privada que você mantém em segredo). +Todas as três são pares de chaves criptográficas (uma chave pública que você compartilha, uma chave privada que você mantém em segredo). ```mermaid flowchart LR subgraph "Suas Chaves" SK[Chave de Serviço
~/.config/solana/id.json] - MK[Chave do Editor de Métricas
~/.config/doublezero/metrics-publisher.json] + MK[Chave do Publicador de Métricas
~/.config/doublezero/metrics-publisher.json] + RK[Chave do Gerenciador de Recompensas
manter offline] end - SK -->|Usada para| CLI[Comandos CLI
doublezero device create
doublezero link create] - MK -->|Usada para| TEL[Telemetry Agent
Envia métricas onchain] + SK -->|Usada para| CLI[Comandos da CLI
doublezero device create
doublezero link create] + MK -->|Usada para| TEL[Telemetry Agent
Envia métricas on-chain] + RK -->|Usada para| REW[Portal de Recompensas
Define carteiras destinatárias] ``` -### Passo 2.1: Gerar Sua Chave de Serviço +!!! note "Mantenha a chave do gerenciador de recompensas separada" + A chave de serviço e a chave do publicador de métricas ficam no seu servidor de gerenciamento e no switch. A chave do gerenciador de recompensas controla para onde seu dinheiro vai, então mantenha-a fora dessas máquinas. Ela só é necessária quando você altera suas carteiras destinatárias. + +### Etapa 2.1: Solicitar Acesso ao Repositório de Contribuidores + +Entre em contato com a DoubleZero Foundation ou a Malbec Labs e forneça seu **nome de usuário do GitHub**. + +Eles concedem acesso ao repositório privado [malbeclabs/contributors](https://github.com/malbeclabs/contributors). Faça isso primeiro: o repositório contém a configuração base do dispositivo, os perfis TCAM e ACL, e as instruções de gerenciamento de recompensas que você precisará nas etapas seguintes. + +### Etapa 2.2: Gerar Sua Chave de Serviço Esta é sua identidade principal para interagir com o DoubleZero. @@ -182,90 +235,105 @@ Esta é sua identidade principal para interagir com o DoubleZero. doublezero keygen ``` -Isso cria um keypair no local padrão. A saída mostra sua **chave pública** — isso é o que você compartilhará com a DZF. +Isso cria um par de chaves no local padrão. A saída mostra sua **chave pública** - é isso que você compartilhará com a DZF. -### Passo 2.2: Gerar Sua Chave do Editor de Métricas +### Etapa 2.3: Gerar Sua Chave do Publicador de Métricas -Esta chave é usada pelo Telemetry Agent para assinar envios de métricas. +Esta chave é usada pelo Telemetry Agent para assinar os envios de métricas. ```bash doublezero keygen -o ~/.config/doublezero/metrics-publisher.json ``` -### Passo 2.3: Enviar Chaves para a DZF +### Etapa 2.4: Enviar Sua Chave de Serviço à DZF -Entre em contato com a DoubleZero Foundation ou Malbec Labs e forneça: +Envie à DZF a **chave pública da sua chave de serviço**. -1. Sua **chave pública de serviço** -2. Seu **nome de usuário GitHub** (para acesso ao repositório) +Eles criam sua **conta de contribuidor** on-chain e confirmam quando estiver concluído. -Eles irão: +!!! danger "Apenas chaves públicas" + Nunca envie uma chave privada ou um arquivo de par de chaves para ninguém, incluindo a DZF. Apenas a chave pública é necessária. -- Criar sua **conta de contribuidor** onchain -- Conceder acesso ao **repositório de contribuidores** privado +### Etapa 2.5: Verificar Sua Conta -### Passo 2.4: Verificar Sua Conta - -Uma vez confirmado, verifique se sua conta de contribuidor existe: +Após a confirmação, verifique se sua conta de contribuidor existe: ```bash doublezero contributor list ``` -Você deve ver seu código de contribuidor na lista. +Você deverá ver seu código de contribuidor na lista. -### Passo 2.5: Acessar o Repositório de Contribuidores +### Etapa 2.6: Configurar o Gerenciamento de Recompensas -O repositório [malbeclabs/contributors](https://github.com/malbeclabs/contributors) contém: +O gerenciamento de recompensas decide quais carteiras recebem os [2Z](glossary.md#2z-token) que sua contribuição gera, e em quais proporções. -- Configurações base do dispositivo -- Perfis TCAM -- Configurações ACL -- Instruções de configuração adicionais +Siga as instruções em [Gerenciamento de Recompensas](https://github.com/malbeclabs/contributors#rewards-management) no repositório de contribuidores, ao qual você agora tem acesso a partir da Etapa 2.1. -Siga as instruções lá para configuração específica do dispositivo. +!!! note "Isso não bloqueia o restante da sua configuração" + Você pode provisionar seu dispositivo, estabelecer links e começar a transportar tráfego sem isso configurado, então trate as fases abaixo como independentes disso. --- -## Fase 3: Provisionamento de Dispositivos +## Fase 3: Provisionamento do Dispositivo + +Agora você registrará seu dispositivo físico na blockchain e configurará suas interfaces. -Agora você registrará seu dispositivo físico no blockchain e configurará suas interfaces. +### Entendendo os Tipos de Dispositivo -### Entendendo os Tipos de Dispositivos +**Edge** — aceita apenas conexões de usuários ```mermaid -flowchart TB - subgraph "Dispositivo Edge" - E[DZD Edge] - EU[Usuários se conectam aqui] - EU --> E - E <-->|Link DZX| ED[Outro DZD] +flowchart LR + subgraph EDZD[DZD Edge] + E_CYOA["Interface DIA · CYOA"] + E_TUN["Loopback100/101 + (endpoint de túnel do usuário)"] + E_DZX["Interface de link DZX"] + E_CYOA --- E_TUN end + EU["Usuários"] -.|Túnel GRE|.-> E_CYOA + E_DZX <-->|Link DZX| ED["DZD (contribuidor diferente)"] +``` + +**Transit** — move tráfego entre dispositivos, sem conexões de usuários - subgraph "Dispositivo Transit" - T[DZD Transit] - T <-->|Link WAN| T2[Outro DZD] - T <-->|Link DZX| TD[Outro DZD] +```mermaid +flowchart LR + subgraph TDZD[DZD Transit] + T_WAN["Interface de link WAN"] + T_DZX["Interface de link DZX"] end + T_WAN <-->|Link WAN| T2["DZD (mesmo contribuidor)"] + T_DZX <-->|Link DZX| TD["DZD (contribuidor diferente)"] +``` + +**Hybrid** — conexões de usuários e backbone, mais comum - subgraph "Dispositivo Hybrid" - H[DZD Hybrid] - HU[Usuários se conectam aqui] - HU --> H - H <-->|Link WAN| H2[Outro DZD] - H <-->|Link DZX| HD[Outro DZD] +```mermaid +flowchart LR + subgraph HDZD[DZD Hybrid] + H_CYOA["Interface DIA · CYOA"] + H_TUN["Loopback100/101 + (endpoint de túnel do usuário)"] + H_WAN["Interface de link WAN"] + H_DZX["Interface de link DZX"] + H_CYOA --- H_TUN end + HU["Usuários"] -.|Túnel GRE|.-> H_CYOA + H_WAN <-->|Link WAN| H2["DZD (mesmo contribuidor)"] + H_DZX <-->|Link DZX| HD["DZD (contribuidor diferente)"] ``` | Tipo | O Que Faz | Quando Usar | -|------|--------------|-------------| -| **Edge** | Aceita conexões de usuários apenas | Localização única, voltado apenas para usuários | +|------|-----------|-------------| +| **Edge** | Aceita apenas conexões de usuários | Localização única, voltado apenas ao usuário | | **Transit** | Move tráfego entre dispositivos | Conectividade de backbone, sem usuários | -| **Hybrid** | Conexões de usuários E backbone | Mais comum — faz tudo | +| **Hybrid** | Conexões de usuários E backbone | Mais comum - faz tudo | -### Passo 3.1: Encontrar Sua Localização e Exchange +### Etapa 3.1: Encontre Sua Localização e Exchange -Antes de criar seu dispositivo, consulte os códigos para sua localização de data center e exchange mais próxima: +Antes de criar seu dispositivo, procure os códigos da localização do seu data center e do exchange mais próximo: ```bash # Listar localizações disponíveis (data centers) @@ -275,9 +343,9 @@ doublezero location list doublezero exchange list ``` -### Passo 3.2: Criar Seu Dispositivo Onchain +### Etapa 3.2: Criar Seu Dispositivo On-chain -Registrar seu dispositivo no blockchain: +Registre seu dispositivo na blockchain: ```bash doublezero device create \ @@ -309,7 +377,7 @@ doublezero device create \ Signature: 4vKz8H...truncated...7xPq2 ``` -Verificar se seu dispositivo foi criado: +Verifique se seu dispositivo foi criado: ```bash doublezero device list | grep nyc-dz001 @@ -318,16 +386,16 @@ doublezero device list | grep nyc-dz001 **Parâmetros explicados:** | Parâmetro | O Que Significa | -|-----------|---------------| -| `--code` | Um nome único para seu dispositivo (por exemplo, `nyc-dz001`) | +|-----------|-----------------| +| `--code` | Um nome único para seu dispositivo (ex.: `nyc-dz001`) | | `--contributor` | Seu código de contribuidor (fornecido pela DZF) | | `--device-type` | `hybrid`, `transit` ou `edge` | -| `--location` | Código do data center em `location list` | -| `--exchange` | Código da exchange mais próxima em `exchange list` | +| `--location` | Código do data center obtido de `location list` | +| `--exchange` | Código do exchange mais próximo obtido de `exchange list` | | `--public-ip` | O IP público onde os usuários se conectam ao seu dispositivo via internet | -| `--dz-prefixes` | Seu bloco de IP alocado para usuários | +| `--dz-prefixes` | Seu bloco de IPs alocado para usuários | -### Passo 3.3: Criar Interfaces Loopback Necessárias +### Etapa 3.3: Criar Interfaces Loopback Obrigatórias Todo dispositivo precisa de duas interfaces loopback para roteamento interno: @@ -345,13 +413,20 @@ doublezero device interface create Loopback256 --loopbac Signature: 3mNx9K...truncated...8wRt5 ``` -### Passo 3.4: Criar Interfaces Físicas +### Etapa 3.4: Criar Interfaces Físicas + +Registre as interfaces físicas que serão usadas para links WAN ou DZX. Essas interfaces devem existir on-chain antes que você possa criar um link que as referencie. Nesta etapa você apenas registra a interface e sua largura de banda; o link é criado em uma etapa posterior. + +```bash +doublezero device interface create \ + --bandwidth +``` -Registrar as portas físicas que você usará: +**Exemplo:** ```bash -# Interface básica -doublezero device interface create Ethernet1/1 +doublezero device interface create nyc-dz001 Ethernet1/1 \ + --bandwidth 10Gbps ``` **Saída esperada:** @@ -360,34 +435,36 @@ doublezero device interface create Ethernet1/1 Signature: 7pQw2R...truncated...4xKm9 ``` -### Passo 3.5: Criar Interface CYOA (para dispositivos Edge/Hybrid) +Repita isso para cada interface que será usada como endpoint de link WAN ou DZX. As interfaces CYOA e DIA são registradas separadamente na próxima etapa. -DZDs híbridos e edge precisam de **dois endereços IP públicos** nos quais os usuários terminam seus túneis GRE. Os usuários podem se conectar via unicast, multicast, ou ambos, e qual IP serve qual propósito é rotacionado por usuário. +### Etapa 3.5: Criar Interface CYOA (para dispositivos Edge/Hybrid) -Ambos os IPs devem ser registrados com `--user-tunnel-endpoint true`, em uma interface física ou em um loopback. Isso inclui o IP fornecido no momento da criação do dispositivo; esse IP ainda precisa ser registrado explicitamente aqui. +DZDs hybrid e edge precisam de **dois endereços IP públicos** nos quais os usuários terminam seus túneis GRE. Os usuários podem se conectar via unicast, multicast ou ambos, e qual IP serve a qual propósito é alternado por usuário. -Se você estiver com restrição de IP, pode usar o primeiro `/32` do seu prefixo DZ como um dos dois IPs. +Ambos os IPs devem ser registrados com `--user-tunnel-endpoint true`, seja em uma interface física ou em um loopback. Isso inclui o IP que você forneceu no momento da criação do dispositivo — esse IP ainda precisa ser explicitamente registrado aqui. + +Se você estiver com restrição de IPs, pode usar o primeiro `/32` do seu prefixo DZ como um dos dois IPs. #### CYOA e DIA | Tipo | Flag | Propósito | |------|------|-----------| | DIA | `--interface-dia dia` | Marca a porta como acesso direto à internet | -| CYOA | `--interface-cyoa ` | Declara como os usuários conectam túneis GRE ao seu dispositivo | +| CYOA | `--interface-cyoa ` | Declara como os usuários conectam túneis GRE ao seu dispositivo | -O flag CYOA é sempre definido em uma **interface física** (porta Ethernet ou port channel). Nunca em um loopback. +A flag CYOA é sempre definida em uma **interface física** (porta Ethernet ou canal de porta). Nunca em um loopback. | Subtipo CYOA | Quando usar | -|-------------|------------| -| `gre-over-dia` | Usuários se conectam pela internet pública. O mais comum. | +|--------------|-------------| +| `gre-over-dia` | Usuários se conectam pela internet pública. Mais comum. | | `gre-over-private-peering` | Usuários se conectam via cross-connect direto ou circuito privado | | `gre-over-public-peering` | Usuários fazem peering com você em um Internet Exchange (IX) | -| `gre-over-fabric` | Usuários são co-localizados e se conectam por um fabric local | -| `gre-over-cable` | Conexão de cabo direto a um único usuário dedicado | +| `gre-over-fabric` | Usuários estão co-localizados e se conectam por um fabric local | +| `gre-over-cable` | Conexão direta por cabo com um único usuário dedicado | #### Cenário A: Interface física única -Um uplink físico para o ISP. Ethernet1/1 é a interface CYOA e DIA e carrega um dos dois IPs públicos. Loopback100 carrega o segundo IP público. +Um único uplink físico para o ISP. Ethernet1/1 é a interface CYOA e DIA e carrega um dos dois IPs públicos. Loopback100 carrega o segundo IP público. ```mermaid flowchart LR @@ -396,9 +473,9 @@ flowchart LR subgraph DZD["DZD"] E1["Eth1/1 203.0.113.1/30 - CYOA · DIA · user tunnel endpoint"] + CYOA · DIA · endpoint de túnel do usuário"] LO["Loopback100 - 198.51.100.1/32\n user tunnel endpoint"] + 198.51.100.1/32\n endpoint de túnel do usuário"] E1 --- LO end @@ -412,10 +489,10 @@ flowchart LR | Interface | `--interface-cyoa` | `--interface-dia` | `--ip-net` | `--bandwidth` | `--cir` | `--routing-mode` | `--user-tunnel-endpoint` | |-----------|-------------------|------------------|------------|---------------|---------|-----------------|--------------------------| -| Ethernet1/1 | `gre-over-dia` | `dia` | IP/sub-rede atribuída pelo contribuidor | velocidade da porta | taxa comprometida | `bgp` ou `static` | `true` | +| Ethernet1/1 | `gre-over-dia` | `dia` | IP/sub-rede atribuído pelo contribuidor | velocidade da porta | taxa comprometida | `bgp` ou `static` | `true` | | Loopback100 | — | — | seu /32 público | `0bps` | — | — | `true` | -Exemplo de comandos para o Cenário A: +Exemplo de comandos a executar baseados no Cenário A: ```bash doublezero device interface create mydzd-nyc01 Ethernet1/1 \ --interface-cyoa gre-over-dia \ @@ -432,26 +509,26 @@ doublezero device interface create mydzd-nyc01 Loopback100 \ --user-tunnel-endpoint true ``` -#### Cenário B: Port channel (LAG) +#### Cenário B: Canal de porta (LAG) -O DZD se conecta ao dispositivo upstream via port channel com um IP. O port channel carrega um IP público e é o endpoint CYOA. Loopback100 carrega o segundo IP público. +O DZD se conecta ao dispositivo upstream via um canal de porta com IP. O canal de porta carrega um IP público e é o endpoint CYOA. Loopback100 carrega o segundo IP público. ```mermaid flowchart LR USERS(["Usuários Finais"]) - subgraph SW["Roteador/Switch Upstream"] + subgraph SW["Roteador / Switch Upstream"] SWPC(["bond0 203.0.113.2/30"]) end subgraph DZD["DZD"] - subgraph PC["Port-Channel1 · 203.0.113.1/30 · CYOA · DIA · user tunnel endpoint"] + subgraph PC["Port-Channel1 · 203.0.113.1/30 · CYOA · DIA · endpoint de túnel do usuário"] E1["Eth1/1"] E2["Eth2/1"] end LO["Loopback100 - 198.51.100.1/32\n user tunnel endpoint"] + 198.51.100.1/32\n endpoint de túnel do usuário"] PC --- LO end @@ -462,10 +539,10 @@ flowchart LR | Interface | `--interface-cyoa` | `--interface-dia` | `--ip-net` | `--bandwidth` | `--cir` | `--routing-mode` | `--user-tunnel-endpoint` | |-----------|-------------------|------------------|------------|---------------|---------|-----------------|--------------------------| -| Port-Channel1 | `gre-over-dia` | `dia` | IP/sub-rede atribuída pelo contribuidor | velocidade LAG combinada | taxa comprometida | `bgp` ou `static` | `true` | +| Port-Channel1 | `gre-over-dia` | `dia` | IP/sub-rede atribuído pelo contribuidor | velocidade combinada do LAG | taxa comprometida | `bgp` ou `static` | `true` | | Loopback100 | — | — | seu /32 público | `0bps` | — | — | `true` | -Exemplo de comandos para o Cenário B: +Exemplo de comandos a executar baseados no Cenário B: ```bash doublezero device interface create mydzd-fra01 Port-Channel1 \ --interface-cyoa gre-over-dia \ @@ -482,9 +559,10 @@ doublezero device interface create mydzd-fra01 Loopback100 \ --user-tunnel-endpoint true ``` -#### Cenário C: Duplos uplinks físicos para roteadores separados -Cada interface física se conecta a um roteador upstream diferente. Os dois IPs públicos ficam em Loopback100 e Loopback101, ambos registrados como endpoints de túnel de usuário. +#### Cenário C: Uplinks físicos duplos para roteadores separados + +Cada interface física se conecta a um roteador upstream diferente. Os dois IPs públicos ficam em Loopback100 e Loopback101, ambos registrados como endpoints de túnel do usuário. ```mermaid flowchart LR @@ -503,9 +581,9 @@ flowchart LR 203.0.113.5/30 CYOA · DIA"] LO0["Loopback100 - 198.51.100.1/32\n user tunnel endpoint"] + 198.51.100.1/32\n endpoint de túnel do usuário"] LO1["Loopback101 - 198.51.100.2/32\n user tunnel endpoint"] + 198.51.100.2/32\n endpoint de túnel do usuário"] E1 --> LO0 E2 --> LO1 end @@ -518,495 +596,11 @@ flowchart LR | Interface | `--interface-cyoa` | `--interface-dia` | `--ip-net` | `--bandwidth` | `--cir` | `--routing-mode` | `--user-tunnel-endpoint` | |-----------|-------------------|------------------|------------|---------------|---------|-----------------|--------------------------| -| Ethernet1/1 | `gre-over-dia` | `dia` | IP/sub-rede atribuída pelo contribuidor | velocidade da porta | taxa comprometida | `bgp` ou `static` | — | -| Ethernet2/1 | `gre-over-dia` | `dia` | IP/sub-rede atribuída pelo contribuidor | velocidade da porta | taxa comprometida | `bgp` ou `static` | — | +| Ethernet1/1 | `gre-over-dia` | `dia` | IP/sub-rede atribuído pelo contribuidor | velocidade da porta | taxa comprometida | `bgp` ou `static` | — | +| Ethernet2/1 | `gre-over-dia` | `dia` | IP/sub-rede atribuído pelo contribuidor | velocidade da porta | taxa comprometida | `bgp` ou `static` | — | | Loopback100 | — | — | seu /32 público | `0bps` | — | — | `true` | | Loopback101 | — | — | seu /32 público | `0bps` | — | — | `true` | -Exemplo de comandos para o Cenário C: +Exemplo de comandos a executar baseados no Cenário C: ```bash -doublezero device interface create mydzd-ams01 Ethernet1/1 \ - --interface-cyoa gre-over-dia \ - --interface-dia dia \ - --ip-net 203.0.113.1/30 \ - --bandwidth 10Gbps \ - --cir 1Gbps \ - --routing-mode bgp - -doublezero device interface create mydzd-ams01 Ethernet2/1 \ - --interface-cyoa gre-over-dia \ - --interface-dia dia \ - --ip-net 203.0.113.5/30 \ - --bandwidth 10Gbps \ - --cir 1Gbps \ - --routing-mode bgp - -doublezero device interface create mydzd-ams01 Loopback100 \ - --ip-net 198.51.100.1/32 \ - --bandwidth 0bps \ - --user-tunnel-endpoint true - -doublezero device interface create mydzd-ams01 Loopback101 \ - --ip-net 198.51.100.2/32 \ - --bandwidth 0bps \ - --user-tunnel-endpoint true -``` - -### Passo 3.6: Verificar Seu Dispositivo - -```bash -doublezero device list -``` - -**Exemplo de saída:** - -``` - account | code | contributor | location | exchange | device_type | public_ip | dz_prefixes | users | max_users | status | health | mgmt_vrf | owner - 7xKm9pQw2R4vHt3... | nyc-dz001 | acme | EQX-NY5 | nyc | hybrid | 203.0.113.10 | 198.51.100.0/28 | 0 | 14 | activated | pending | | 5FMtd5Woq5XAAg54... -``` - -Seu dispositivo deve aparecer com status `activated`. - ---- - -## Fase 4: Estabelecimento de Link & Instalação de Agentes - -Os links conectam seu dispositivo ao restante da rede DoubleZero. - -### Entendendo os Links - -```mermaid -flowchart LR - subgraph "Sua Rede" - D1[Seu DZD 1
NYC] - D2[Seu DZD 2
LAX] - end - - subgraph "Outro Contribuidor" - O1[DZD deles
NYC] - end - - D1 ---|Link WAN
Mesmo contribuidor| D2 - D1 ---|Link DZX
Contribuidores diferentes| O1 -``` - -| Tipo de Link | Conecta | Aceitação | -|-----------|----------|------------| -| **Link WAN** | Dois dos SEUS dispositivos | Automática (você é dono de ambos) | -| **Link DZX** | Seu dispositivo com OUTRO contribuidor | Requer aceitação deles | - -### Passo 4.1: Criar Links WAN (se você tiver múltiplos dispositivos) - -Links WAN conectam seus próprios dispositivos: - -```bash -doublezero link create wan \ - --code \ - --contributor \ - --side-a \ - --side-a-interface \ - --side-z \ - --side-z-interface \ - --bandwidth 10000 \ - --mtu 9000 \ - --delay-ms 20 \ - --jitter-ms 1 -``` - -**Exemplo:** - -```bash -doublezero link create wan \ - --code nyc-lax-wan01 \ - --contributor acme \ - --side-a nyc-dz001 \ - --side-a-interface Ethernet3/1 \ - --side-z lax-dz001 \ - --side-z-interface Ethernet3/1 \ - --bandwidth 10000 \ - --mtu 9000 \ - --delay-ms 65 \ - --jitter-ms 1 -``` - -**Saída esperada:** - -``` -Signature: 5tNm7K...truncated...9pRw2 -``` - -### Passo 4.2: Criar Links DZX - -Os links DZX conectam seu dispositivo diretamente ao DZD de outro contribuidor: - -```bash -doublezero link create dzx \ - --code \ - --contributor \ - --side-a \ - --side-a-interface \ - --side-z \ - --bandwidth \ - --mtu \ - --delay-ms \ - --jitter-ms -``` - -**Saída esperada:** - -``` -Signature: 8mKp3W...truncated...2nRx7 -``` - -Após criar um link DZX, o outro contribuidor deve aceitá-lo: - -```bash -# O OUTRO contribuidor executa isso -doublezero link accept \ - --code \ - --side-z-interface -``` - -**Saída esperada (para o contribuidor que aceita):** - -``` -Signature: 6vQt9L...truncated...3wPm4 -``` - -### Passo 4.3: Verificar Links - -```bash -doublezero link list -``` - -**Exemplo de saída:** - -``` - account | code | contributor | side_a_name | side_a_iface_name | side_z_name | side_z_iface_name | link_type | bandwidth | mtu | delay_ms | jitter_ms | delay_override_ms | tunnel_id | tunnel_net | status | health | owner - 8vkYpXaBW8RuknJq... | nyc-dz001:lax-dz001 | acme | nyc-dz001 | Ethernet3/1 | lax-dz001 | Ethernet3/1 | WAN | 10Gbps | 9000 | 65.00ms | 1.00ms | 0.00ms | 42 | 172.16.0.84/31 | activated | pending | 5FMtd5Woq5XAAg54... -``` - -Os links devem mostrar status `activated` uma vez que ambos os lados estejam configurados. - ---- - -### Instalação de Agentes - -Dois agentes de software são executados no seu DZD: - -```mermaid -flowchart TB - subgraph "Seu DZD" - CA[Config Agent] - TA[Telemetry Agent] - HW[Hardware/Software do Switch] - end - - CA -->|Busca config| CTRL[Serviço Controlador] - CA -->|Aplica config| HW - - HW -->|Métricas| TA - TA -->|Envia onchain| BC[Ledger DoubleZero] -``` - -| Agente | O Que Faz | -|-------|--------------| -| **Config Agent** | Busca configuração do controlador, aplica ao seu switch | -| **Telemetry Agent** | Mede latência/perda para outros dispositivos, reporta métricas onchain | - -### Passo 4.4: Instalar Config Agent - -#### Habilitar a API no seu switch - -Adicionar à configuração EOS: - -``` -management api eos-sdk-rpc - transport grpc eapilocal - localhost loopback vrf default - service all - no disabled -``` - -!!! note "Nota sobre VRF" - Substitua `default` pelo nome do seu VRF de gerenciamento se for diferente (por exemplo, `management`). - -#### Baixar e instalar o agente - -```bash -# Entrar no bash no switch -switch# bash -$ sudo bash -# cd /mnt/flash -# wget AGENT_DOWNLOAD_URL -# exit -$ exit - -# Instalar como extensão EOS -switch# copy flash:AGENT_FILENAME extension: -switch# extension AGENT_FILENAME -switch# copy installed-extensions boot-extensions -``` - -#### Verificar a extensão - -```bash -switch# show extensions -``` - -O Status deve ser "A, I, B": - -``` -Name Version/Release Status Extension -------------------------------------------- ------------------- ---------- --------- -AGENT_FILENAME MAINNET_CLIENT_VERSION/1 A, I, B 1 - -A: available | NA: not available | I: installed | F: forced | B: install at boot -``` - -#### Configurar e iniciar o agente - -Adicionar à configuração EOS: - -``` -daemon doublezero-agent - exec /usr/local/bin/doublezero-agent -pubkey - no shut -``` - -!!! note "Nota sobre VRF" - Se seu VRF de gerenciamento não for `default` (ou seja, o namespace não é `ns-default`), prefixe o comando exec com `exec /sbin/ip netns exec ns-`. Por exemplo, se seu VRF for `management`: - ``` - daemon doublezero-agent - exec /sbin/ip netns exec ns-management /usr/local/bin/doublezero-agent -pubkey - no shut - ``` - -Obtenha a pubkey do seu dispositivo com `doublezero device list` (coluna `account`). - -#### Verificar se está em execução - -```bash -switch# show agent doublezero-agent logs -``` - -Você deve ver "Starting doublezero-agent" e conexões bem-sucedidas ao controlador. - -### Passo 4.5: Instalar Telemetry Agent - -#### Copiar a chave do editor de métricas para o seu dispositivo - -```bash -scp ~/.config/doublezero/metrics-publisher.json :/mnt/flash/metrics-publisher-keypair.json -``` - -#### Registrar o editor de métricas onchain - -```bash -doublezero device update \ - --pubkey \ - --metrics-publisher -``` - -Obtenha a pubkey do seu arquivo metrics-publisher.json. - -#### Baixar e instalar o agente - -```bash -switch# bash -$ sudo bash -# cd /mnt/flash -# wget TELEMETRY_DOWNLOAD_URL -# exit -$ exit - -# Instalar como extensão EOS -switch# copy flash:TELEMETRY_FILENAME extension: -switch# extension TELEMETRY_FILENAME -switch# copy installed-extensions boot-extensions -``` - -#### Verificar a extensão - -```bash -switch# show extensions -``` - -O Status deve ser "A, I, B": - -``` -Name Version/Release Status Extension -------------------------------------------- ------------------- ---------- --------- -TELEMETRY_FILENAME MAINNET_CLIENT_VERSION/1 A, I, B 1 - -A: available | NA: not available | I: installed | F: forced | B: install at boot -``` - -#### Configurar e iniciar o agente - -Adicionar à configuração EOS: - -``` -daemon doublezero-telemetry - exec /usr/local/bin/doublezero-telemetry --local-device-pubkey --env mainnet --keypair /mnt/flash/metrics-publisher-keypair.json - no shut -``` - -!!! note "Nota sobre VRF" - Se seu VRF de gerenciamento não for `default` (ou seja, o namespace não é `ns-default`), adicione `--management-namespace ns-` ao comando exec. Por exemplo, se seu VRF for `management`: - ``` - daemon doublezero-telemetry - exec /usr/local/bin/doublezero-telemetry --management-namespace ns-management --local-device-pubkey --env mainnet --keypair /mnt/flash/metrics-publisher-keypair.json - no shut - ``` - -#### Verificar se está em execução - -```bash -switch# show agent doublezero-telemetry logs -``` - -Você deve ver "Starting telemetry collector" e "Starting submission loop". - ---- - -## Fase 5: Rodagem do Link - -!!! warning "Todos os novos links devem passar por rodagem antes de transportar tráfego" - Novos links devem ser **drenados por pelo menos 24 horas** antes de serem ativados para tráfego de produção. Este requisito de rodagem é definido no [RFC12: Provisionamento de Rede](https://github.com/malbeclabs/doublezero/blob/main/rfcs/rfc12-network-provisioning.md), que especifica ~200.000 slots do DZ Ledger (~20 horas) de métricas limpas antes que um link esteja pronto para serviço. - -Com os agentes instalados e em execução, monitore seus links em [metrics.doublezero.xyz](https://metrics.doublezero.xyz) por pelo menos 24 horas consecutivas: - -- Dashboard **"DoubleZero Device-Link Latencies"** — verifique **zero perda de pacotes** no link ao longo do tempo -- Dashboard **"DoubleZero Network Metrics"** — verifique **zero erros** nos seus links - -Remova o dreno do link apenas depois que o período de rodagem mostrar um link limpo com zero perda e zero erros. - ---- - -## Fase 6: Verificação & Ativação - -Percorra esta lista de verificação para confirmar que tudo está funcionando. - -!!! warning "Seu dispositivo começa bloqueado (`max_users = 0`)" - Quando um dispositivo é criado, `max_users` é definido como **0** por padrão. Isso significa que nenhum usuário pode se conectar a ele ainda. Isso é intencional — você deve verificar se tudo funciona antes de aceitar tráfego de usuários. - - **Antes de definir `max_users` acima de 0, você deve:** - - 1. Confirmar que todos os links completaram sua **rodagem de 24 horas** com zero perda/erros em [metrics.doublezero.xyz](https://metrics.doublezero.xyz) - 2. **Coordenar com DZ/Malbec Labs** para executar um teste de conectividade: - - Um usuário de teste pode se conectar ao seu dispositivo? - - O usuário recebe rotas pela rede DZ? - - O usuário pode rotear tráfego pela rede DZ de ponta a ponta? - 3. Somente após o DZ/ML confirmar que os testes passaram, defina max_users como 96: - - ```bash - doublezero device update --pubkey --max-users 96 - ``` - -### Verificações do Dispositivo - -```bash -# Seu dispositivo deve aparecer com status "activated" -doublezero device list | grep -``` - -**Saída esperada:** - -``` - 7xKm9pQw2R4vHt3... | nyc-dz001 | acme | EQX-NY5 | nyc | hybrid | 203.0.113.10 | 198.51.100.0/28 | 0 | 14 | activated | pending | | 5FMtd5Woq5XAAg54... -``` - -```bash -# Suas interfaces devem estar listadas -doublezero device interface list | grep -``` - -**Saída esperada:** - -``` - nyc-dz001 | Loopback255 | loopback | vpnv4 | none | none | 0 | 0 | 1500 | static | 0 | 172.16.1.91/32 | 56 | false | activated - nyc-dz001 | Loopback256 | loopback | ipv4 | none | none | 0 | 0 | 1500 | static | 0 | 172.16.1.100/32 | 0 | false | activated - nyc-dz001 | Ethernet1/1 | physical | none | none | none | 0 | 0 | 1500 | static | 0 | | 0 | false | activated -``` - -### Verificações de Link - -```bash -# Os links devem mostrar status "activated" -doublezero link list | grep -``` - -**Saída esperada:** - -``` - 8vkYpXaBW8RuknJq... | nyc-lax-wan01 | acme | nyc-dz001 | Ethernet3/1 | lax-dz001 | Ethernet3/1 | WAN | 10Gbps | 9000 | 65.00ms | 1.00ms | 0.00ms | 42 | 172.16.0.84/31 | activated | pending | 5FMtd5Woq5XAAg54... -``` - -### Verificações de Agente - -No switch: - -```bash -# O config agent deve mostrar extrações de configuração bem-sucedidas -switch# show agent doublezero-agent logs | tail -20 - -# O telemetry agent deve mostrar envios bem-sucedidos -switch# show agent doublezero-telemetry logs | tail -20 -``` - -### Diagrama de Verificação Final - -```mermaid -flowchart TB - subgraph "Lista de Verificação" - D[Status do Dispositivo: activated?] - I[Interfaces: registradas?] - L[Links: activated?] - CA[Config Agent: buscando config?] - TA[Telemetry Agent: enviando métricas?] - end - - D --> PASS - I --> PASS - L --> PASS - CA --> PASS - TA --> PASS - - PASS[Todas as Verificações Passaram] --> NOTIFY[Notifique DZF/Malbec Labs
Você está tecnicamente pronto!] -``` - ---- - -## Resolução de Problemas - -### Criação de dispositivo falha - -- Verifique se sua chave de serviço está autorizada (`doublezero contributor list`) -- Verifique se os códigos de localização e exchange são válidos -- Certifique-se de que o prefixo DZ é um intervalo de IP público válido - -### Link preso em status "requested" - -- Links DZX requerem aceitação do outro contribuidor -- Entre em contato com eles para executar `doublezero link accept` - -### Config Agent não se conecta - -- Verifique se a rede de gerenciamento tem acesso à internet -- Verifique se a configuração do VRF corresponde à sua configuração -- Certifique-se de que a pubkey do dispositivo está correta - -### Telemetry Agent não envia - -- Verifique se a chave do editor de métricas está registrada onchain -- Verifique se o arquivo de keypair existe no switch -- Certifique-se de que a pubkey da conta do dispositivo está correta - ---- - -## Próximas Etapas - -- Revise o [Guia de Operações](contribute-operations.md) para atualizações de agentes e gerenciamento de links -- Consulte o [Glossário](glossary.md) para definições de termos -- Entre em contato com DZF/Malbec Labs se encontrar problemas +doublezero device interface create mydz \ No newline at end of file diff --git a/docs/contribute-provisioning.zh.md b/docs/contribute-provisioning.zh.md index a911204..d912e43 100644 --- a/docs/contribute-provisioning.zh.md +++ b/docs/contribute-provisioning.zh.md @@ -1,62 +1,102 @@ -# 设备配置指南 -!!! warning "This translation was generated using artificial intelligence and has not been reviewed by a human translator. It may contain inaccuracies or errors and should not be relied upon." +--- +description: 配置 DoubleZero 设备 (DZD) 并在链上注册其接口和角色的分步指南。 +--- +# 设备配置指南 -本指南将引导您从头到尾完成DoubleZero设备(DZD)的配置。每个阶段与[入驻清单](contribute-overview.md#onboarding-checklist)相对应。 +本指南将引导您从头到尾完成 DoubleZero 设备 (DZD) 的配置。每个阶段对应[上线清单](contribute-overview.md#onboarding-checklist)中的步骤。 --- -## 整体架构概览 +## 整体架构 + +本指南将引导您在链上注册基础设施,以便 DoubleZero 网络能够通过其路由流量。您的设备注册得越完整,对网络的价值就越大。设备在链上的完整表示有助于更好地进行故障排除、容量规划,并允许控制器做出明智的决策。随着时间推移,目标是让控制器承担更多的配置职责。 + +### 关键概念 + +**接口** + +DZD 上的接口有多种形式:以太网端口、端口通道(由多个以太网端口组成的 LAG)和环回接口。每个在网络中发挥作用的接口都需要在链上注册并附上适当的标志,以便协议了解其功能。 + +以太网端口和端口通道可以承担以下角色: + +| 标志 | 含义 | +|------|------| +| `--interface-dia dia` | 将该接口标记为直接互联网接入上行链路 | +| `--interface-cyoa ` | 声明用户通过此接口建立 GRE 隧道的方式(例如通过公共互联网、通过私有对等链路) | +| `--user-tunnel-endpoint true` | 此接口携带用户终止 GRE 隧道的公共 IP | + +用于 WAN 或 DZX 链路的接口不需要特定标志,它们仅注册带宽,然后在创建链路时被引用。 + +环回接口有多种用途: + +| 环回接口 | 含义 | +|----------|------| +| **Loopback100 / 101** | 携带用户终止 GRE 隧道的公共 IP。使用 `--user-tunnel-endpoint true` 注册。 | +| **Loopback255** (`vpnv4`) | 注册后控制器可分配 IP,用于 BGP 路由器 ID、VPN-IPv4 对等(单播)、IS-IS 标识和段路由 | +| **Loopback256** (`ipv4`) | 注册后控制器可分配 IP,用于 IPv4 BGP 对等(组播)和 MSDP 会话 | + +**链路** + +链路与接口分开注册,且接口必须先在链上存在,链路才能引用它们。当您创建 WAN 或 DZX 链路时,需要指定一个已注册的接口作为链路的物理端点。并非所有接口都关联到链路:DIA、CYOA 和环回接口不连接到链路。 + +| 术语 | 含义 | +|------|------| +| **WAN 链路** | 您自己的两个 DZD 之间的链路 | +| **DZX 链路** | 您的 DZD 与另一个贡献者的 DZD 之间的链路 | -在深入步骤之前,先了解您正在构建的整体架构: +### 架构概览 ```mermaid flowchart TB subgraph Onchain - SC[DoubleZero账本] + SC[DoubleZero 账本] end subgraph Your Infrastructure MGMT[管理服务器
DoubleZero CLI] - DZD[您的DZD
Arista交换机] - DZD ---|WAN链路| DZD2[您的其他DZD] + subgraph DZD[您的 DZD] + CYOA["DIA · CYOA 接口
(面向用户的上行链路)"] + WAN_INTF["WAN 链路接口"] + DZX_INTF["DZX 链路接口"] + LO100["Loopback100/101
(用户隧道端点)"] + end + DZD2[您的其他 DZD] end subgraph Other Contributor - OtherDZD[他们的DZD] + OtherDZD[其他贡献者的 DZD] end - subgraph Users - VAL[验证器] - RPC[RPC节点] - end + USERS["用户"] MGMT -.->|注册设备、
链路、接口| SC - DZD ---|DZX链路| OtherDZD - VAL ---|通过互联网连接| DZD - RPC ---|通过互联网连接| DZD + WAN_INTF ---|WAN 链路| DZD2 + DZX_INTF ---|DZX 链路| OtherDZD + USERS -.|GRE 隧道|.-> CYOA + CYOA ---|路由到| LO100 ``` --- -## 阶段1:前提条件 +## 阶段 1:前提条件 -在配置设备之前,您需要完成物理硬件的安装并分配一些IP地址。 +在配置设备之前,您需要完成物理硬件的安装并分配一些 IP 地址。 ### 所需条件 -| 要求 | 用途 | +| 要求 | 原因 | |------|------| -| **DZD硬件** | Arista 7280CR3A交换机(参见[硬件规格](contribute.md#hardware-requirements)) | -| **机架空间** | 4U,需要适当的气流 | -| **电源** | 冗余供电,建议约4KW | -| **管理访问** | SSH/控制台访问以配置交换机 | +| **DZD 硬件** | Arista 7280CR3A 交换机(参见[硬件规格](contribute.md#hardware-requirements)) | +| **机架空间** | 每个 DZD 预留 2U(目前使用 1U),需确保良好的气流。参见[机架与电源](contribute.md#rack-power-requirements) | +| **电源** | 两路独立供电,每路均能独立承担全部负载。参见[机架与电源](contribute.md#rack-power-requirements) | +| **管理访问** | 通过 SSH/控制台访问以配置交换机 | | **互联网连接** | 用于发布指标和从控制器获取配置 | -| **公共IPv4地址块** | DZ前缀池至少需要/29(参见下方) | +| **公共 IPv4 地址块** | DZ 前缀池最少需要 /29(见下文) | -### 安装DoubleZero CLI +### 安装 DoubleZero CLI -DoubleZero CLI(`doublezero`)在整个配置过程中用于注册设备、创建链路和管理您的贡献。应将其安装在**管理服务器或虚拟机**上——而不是DZD交换机本身。交换机只运行Config Agent和Telemetry Agent(在[阶段4](#phase-4-link-establishment-agent-installation)中安装)。 +DoubleZero CLI (`doublezero`) 在整个配置过程中用于注册设备、创建链路和管理您的贡献。它应安装在**管理服务器或虚拟机**上 — 而非 DZD 交换机本身。交换机仅运行配置代理和遥测代理(在[阶段 4](#phase-4-link-establishment-agent-installation) 中安装)。 **Ubuntu / Debian:** ```bash @@ -70,66 +110,67 @@ curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.rpm.sh | sudo yum install doublezero ``` -验证守护进程正在运行: +验证守护进程是否正在运行: ```bash sudo systemctl status doublezerod ``` -### 了解您的DZ前缀 +### 了解您的 DZ 前缀 -您的DZ前缀是DoubleZero协议管理用于IP分配的公共IP地址块。 +您的 DZ 前缀是一组由 DoubleZero 协议管理的公共 IP 地址块,用于 IP 分配。 ```mermaid flowchart LR - subgraph "您的/29地址块(8个IP)" - IP1["第一个IP
为您的设备
保留"] + subgraph "您的 /29 地址块(8 个 IP)" + IP1["第一个 IP
为您的设备
预留"] IP2["IP 2"] IP3["IP 3"] IP4["..."] IP8["IP 8"] end - IP1 -->|分配给| LO[DZD上的
Loopback100] - IP2 -->|分配给| U1[用户1] - IP3 -->|分配给| U2[用户2] + IP1 -->|分配给| LO[Loopback100
在您的 DZD 上] + IP2 -->|分配给| U1[用户 1] + IP3 -->|分配给| U2[用户 2] ``` -**DZ前缀的使用方式:** +**DZ 前缀的使用方式:** -- **第一个IP**:为您的设备保留(分配给Loopback100接口) -- **剩余IP**:分配给连接到您DZD的特定用户类型: - - `IBRLWithAllocatedIP`用户 - - `EdgeFiltering`用户 - - 多播发布者 -- **IBRL用户**:不消耗此池中的IP(他们使用自己的公共IP) +- **第一个 IP**:为您的设备预留(分配给 Loopback100 接口) +- **剩余 IP**:分配给连接到您 DZD 的特定用户类型: + - `IBRLWithAllocatedIP` 用户 + - `EdgeFiltering` 用户(未来用例) +- **IBRL 用户**:不消耗此池中的地址(他们使用自己的公共 IP) -!!! warning "DZ前缀规则" +!!! warning "DZ 前缀规则" **您不能将这些地址用于:** - 您自己的网络设备 - - DIA接口上的点对点链路 + - DIA 接口上的点对点链路 - 管理接口 - - DZ协议之外的任何基础设施 + - DZ 协议之外的任何基础设施 **要求:** - - 必须是**全球可路由(公共)**IPv4地址 - - 私有IP范围(10.x、172.16-31.x、192.168.x)会被智能合约拒绝 - - **最小大小:/29**(8个地址),建议使用更大的前缀(例如/28、/27) - - 整个地址块必须可用——不要预先分配任何地址 + - 必须是**全局可路由(公共)**的 IPv4 地址 + - 私有 IP 范围(10.x、172.16-31.x、192.168.x)将被智能合约拒绝 + - **最小大小:/29**(8 个地址),建议使用更大的前缀(如 /28、/27) + - 整个地址块必须可用 — 不要预先分配任何地址 - 如果您需要为自己的设备(DIA接口IP、管理等)分配地址,请使用**单独的地址池**。 + 如果您需要为自己的设备分配地址(DIA 接口 IP、管理等),请使用**单独的地址池**。 --- -## 阶段2:账户设置 +## 阶段 2:账户设置 + +在此阶段,您将创建用于在网络上标识您和您设备的加密密钥,并设置奖励管理。 -在此阶段,您将创建在网络上标识您和您设备的加密密钥。 +这些步骤按特定顺序执行是有原因的:首先获取仓库访问权限,因为仓库包含后续步骤的说明,然后是密钥,再是奖励。某些步骤需要 DZF 先行操作才能继续,以下每个步骤都会说明这一点。 -### 在哪里运行CLI +### CLI 运行位置 -!!! warning "请勿在交换机上安装CLI" - DoubleZero CLI(`doublezero`)应安装在**管理服务器或虚拟机**上,而不是您的Arista交换机上。 +!!! warning "不要在交换机上安装 CLI" + DoubleZero CLI (`doublezero`) 应安装在**管理服务器或虚拟机**上,而非 Arista 交换机上。 ```mermaid flowchart LR @@ -138,9 +179,9 @@ flowchart LR KEYS[您的密钥对] end - subgraph "您的DZD交换机" - CA[Config Agent] - TA[Telemetry Agent] + subgraph "您的 DZD 交换机" + CA[配置代理] + TA[遥测代理] end CLI -->|创建设备、链路| BC[区块链] @@ -149,62 +190,71 @@ flowchart LR ``` | 安装在管理服务器上 | 安装在交换机上 | - |-------------------|--------------| - | `doublezero` CLI | Config Agent | - | 您的服务密钥 | Telemetry Agent | - | 您的指标发布者密钥 | 指标发布者密钥(副本) | + |--------------------|----------------| + | `doublezero` CLI | 配置代理 | + | 您的服务密钥对 | 遥测代理 | + | 您的指标发布者密钥对 | 指标发布者密钥对(副本) | ### 什么是密钥? 可以将密钥理解为安全登录凭据: -- **服务密钥**:您的贡献者身份——用于运行CLI命令 -- **指标发布者密钥**:您设备用于提交遥测数据的身份 +- **服务密钥**:您的贡献者身份 - 用于运行 CLI 命令 +- **指标发布者密钥**:您设备提交遥测数据的身份标识 +- **奖励管理者密钥**:控制哪些钱包接收您的奖励 - 参见贡献者仓库中的[奖励管理](https://github.com/malbeclabs/contributors#rewards-management) -两者都是加密密钥对(您共享的公钥,您保密的私钥)。 +这三个都是加密密钥对(一个公开共享的公钥和一个保密的私钥)。 ```mermaid flowchart LR subgraph "您的密钥" SK[服务密钥
~/.config/solana/id.json] MK[指标发布者密钥
~/.config/doublezero/metrics-publisher.json] + RK[奖励管理者密钥
离线保存] end - SK -->|用于| CLI[CLI命令
doublezero device create
doublezero link create] - MK -->|用于| TEL[Telemetry Agent
链上提交指标] + SK -->|用于| CLI[CLI 命令
doublezero device create
doublezero link create] + MK -->|用于| TEL[遥测代理
在链上提交指标] + RK -->|用于| REW[奖励门户
设置接收钱包] ``` -### 步骤2.1:生成服务密钥 +!!! note "将奖励管理者密钥单独保存" + 服务密钥和指标发布者密钥存储在您的管理服务器和交换机上。奖励管理者密钥控制您的资金流向,因此请将其保存在这些机器之外。仅在更改接收钱包时才需要使用它。 + +### 步骤 2.1:申请贡献者仓库访问权限 + +联系 DoubleZero Foundation 或 Malbec Labs,并提供您的 **GitHub 用户名**。 -这是您与DoubleZero交互的主要身份。 +他们会授予您访问私有 [malbeclabs/contributors](https://github.com/malbeclabs/contributors) 仓库的权限。请首先完成此步骤:该仓库包含基础设备配置、TCAM 和 ACL 配置文件,以及您在后续步骤中需要的奖励管理说明。 + +### 步骤 2.2:生成您的服务密钥 + +这是您与 DoubleZero 交互的主要身份标识。 ```bash doublezero keygen ``` -这将在默认位置创建一个密钥对。输出显示您的**公钥**——这是您将与DZF共享的内容。 +这将在默认位置创建一个密钥对。输出会显示您的**公钥** - 这是您将与 DZF 共享的内容。 -### 步骤2.2:生成指标发布者密钥 +### 步骤 2.3:生成您的指标发布者密钥 -此密钥由Telemetry Agent用于签署指标提交。 +此密钥由遥测代理用于签署指标提交。 ```bash doublezero keygen -o ~/.config/doublezero/metrics-publisher.json ``` -### 步骤2.3:向DZF提交密钥 +### 步骤 2.4:向 DZF 提交您的服务密钥 -联系DoubleZero基金会或Malbec Labs并提供: +将您的**服务密钥公钥**发送给 DZF。 -1. 您的**服务密钥公钥** -2. 您的**GitHub用户名**(用于仓库访问) +他们会在链上创建您的**贡献者账户**,并在完成后确认。 -他们将: +!!! danger "仅限公钥" + 切勿向任何人(包括 DZF)发送私钥或密钥对文件。只需要公钥即可。 -- 在链上创建您的**贡献者账户** -- 授予对私有**贡献者仓库**的访问权限 - -### 步骤2.4:验证您的账户 +### 步骤 2.5:验证您的账户 确认后,验证您的贡献者账户是否存在: @@ -214,68 +264,86 @@ doublezero contributor list 您应该在列表中看到您的贡献者代码。 -### 步骤2.5:访问贡献者仓库 +### 步骤 2.6:设置奖励管理 -[malbeclabs/contributors](https://github.com/malbeclabs/contributors) 仓库包含: +奖励管理决定哪些钱包接收您的贡献所赚取的 [2Z](glossary.md#2z-token),以及各自的比例。 -- 基础设备配置 -- TCAM配置文件 -- ACL配置 -- 额外的安装说明 +请按照贡献者仓库中的[奖励管理](https://github.com/malbeclabs/contributors#rewards-management)说明操作,您在步骤 2.1 中已获得了该仓库的访问权限。 -请按照其中的说明进行设备特定配置。 +!!! note "这不会阻碍您的其余设置" + 您可以在未完成此步骤的情况下配置设备、建立链路并开始承载流量,因此请将以下阶段视为独立于此步骤。 --- -## 阶段3:设备配置 +## 阶段 3:设备配置 -现在您将在区块链上注册物理设备并配置其接口。 +现在您将在区块链上注册您的物理设备并配置其接口。 ### 了解设备类型 +**边缘(Edge)** — 仅接受用户连接 + ```mermaid -flowchart TB - subgraph "边缘设备" - E[边缘DZD] - EU[用户连接到此处] - EU --> E - E <-->|DZX链路| ED[其他DZD] +flowchart LR + subgraph EDZD[边缘 DZD] + E_CYOA["DIA · CYOA 接口"] + E_TUN["Loopback100/101 + (用户隧道端点)"] + E_DZX["DZX 链路接口"] + E_CYOA --- E_TUN end + EU["用户"] -.|GRE 隧道|.-> E_CYOA + E_DZX <-->|DZX 链路| ED["DZD(不同贡献者)"] +``` - subgraph "传输设备" - T[传输DZD] - T <-->|WAN链路| T2[另一个DZD] - T <-->|DZX链路| TD[其他DZD] +**中转(Transit)** — 在设备之间传输流量,无用户连接 + +```mermaid +flowchart LR + subgraph TDZD[中转 DZD] + T_WAN["WAN 链路接口"] + T_DZX["DZX 链路接口"] end + T_WAN <-->|WAN 链路| T2["DZD(同一贡献者)"] + T_DZX <-->|DZX 链路| TD["DZD(不同贡献者)"] +``` - subgraph "混合设备" - H[混合DZD] - HU[用户连接到此处] - HU --> H - H <-->|WAN链路| H2[另一个DZD] - H <-->|DZX链路| HD[其他DZD] +**混合(Hybrid)** — 用户连接和骨干网,最常见 + +```mermaid +flowchart LR + subgraph HDZD[混合 DZD] + H_CYOA["DIA · CYOA 接口"] + H_TUN["Loopback100/101 + (用户隧道端点)"] + H_WAN["WAN 链路接口"] + H_DZX["DZX 链路接口"] + H_CYOA --- H_TUN end + HU["用户"] -.|GRE 隧道|.-> H_CYOA + H_WAN <-->|WAN 链路| H2["DZD(同一贡献者)"] + H_DZX <-->|DZX 链路| HD["DZD(不同贡献者)"] ``` -| 类型 | 功能 | 使用时机 | -|------|------|---------| +| 类型 | 功能 | 使用场景 | +|------|------|----------| | **边缘** | 仅接受用户连接 | 单一位置,仅面向用户 | -| **传输** | 在设备之间传输流量 | 骨干连接,无用户 | -| **混合** | 同时支持用户连接和骨干 | 最常见——功能全面 | +| **中转** | 在设备之间传输流量 | 骨干网连接,无用户 | +| **混合** | 用户连接和骨干网兼备 | 最常见 - 功能全面 | -### 步骤3.1:查找您的位置和交换中心 +### 步骤 3.1:查找您的位置和交换节点 -在创建设备之前,查找您的数据中心位置和最近交换中心的代码: +在创建设备之前,查找您数据中心位置和最近交换节点的代码: ```bash # 列出可用位置(数据中心) doublezero location list -# 列出可用交换中心(互连点) +# 列出可用交换节点(互联点) doublezero exchange list ``` -### 步骤3.2:在链上创建您的设备 +### 步骤 3.2:在链上创建您的设备 在区块链上注册您的设备: @@ -319,39 +387,46 @@ doublezero device list | grep nyc-dz001 | 参数 | 含义 | |------|------| -| `--code` | 您设备的唯一名称(例如,`nyc-dz001`) | -| `--contributor` | 您的贡献者代码(由DZF提供) | -| `--device-type` | `hybrid`、`transit`或`edge` | -| `--location` | 来自`location list`的数据中心代码 | -| `--exchange` | 来自`exchange list`的最近交换中心代码 | -| `--public-ip` | 用户通过互联网连接到您设备的公共IP | -| `--dz-prefixes` | 分配给用户的IP地址块 | +| `--code` | 设备的唯一名称(例如 `nyc-dz001`) | +| `--contributor` | 您的贡献者代码(由 DZF 提供) | +| `--device-type` | `hybrid`、`transit` 或 `edge` | +| `--location` | 从 `location list` 获取的数据中心代码 | +| `--exchange` | 从 `exchange list` 获取的最近交换节点代码 | +| `--public-ip` | 用户通过互联网连接到您设备的公共 IP | +| `--dz-prefixes` | 为用户分配的 IP 地址块 | -### 步骤3.3:创建必需的环回接口 +### 步骤 3.3:创建必需的环回接口 -每个设备需要两个环回接口用于内部路由: +每个设备需要两个用于内部路由的环回接口: ```bash -# VPNv4环回 +# VPNv4 环回 doublezero device interface create Loopback255 --loopback-type vpnv4 -# IPv4环回 +# IPv4 环回 doublezero device interface create Loopback256 --loopback-type ipv4 ``` -**预期输出(每个命令):** +**预期输出(每条命令):** ``` Signature: 3mNx9K...truncated...8wRt5 ``` -### 步骤3.4:创建物理接口 +### 步骤 3.4:创建物理接口 -注册您将使用的物理端口: +注册将用于 WAN 或 DZX 链路的物理接口。这些接口必须先在链上存在,然后才能创建引用它们的链路。在此步骤中,您只需注册接口及其带宽,链路将在后续步骤中创建。 ```bash -# 基础接口 -doublezero device interface create Ethernet1/1 +doublezero device interface create \ + --bandwidth +``` + +**示例:** + +```bash +doublezero device interface create nyc-dz001 Ethernet1/1 \ + --bandwidth 10Gbps ``` **预期输出:** @@ -360,34 +435,36 @@ doublezero device interface create Ethernet1/1 Signature: 7pQw2R...truncated...4xKm9 ``` -### 步骤3.5:创建CYOA接口(用于边缘/混合设备) +对每个将用作 WAN 或 DZX 链路端点的接口重复此操作。CYOA 和 DIA 接口将在下一步骤中单独注册。 + +### 步骤 3.5:创建 CYOA 接口(适用于边缘/混合设备) -混合型和边缘型DZD需要**两个公共IP地址**,用户在这些地址上终止其GRE隧道。用户可以通过单播、多播或两者连接,哪个IP用于哪个目的会按用户轮换。 +混合和边缘 DZD 需要**两个公共 IP 地址**,供用户终止其 GRE 隧道。用户可能通过单播、组播或两者同时连接,哪个 IP 用于哪个用途会按用户轮换。 -两个IP都必须使用`--user-tunnel-endpoint true`注册,可以在物理接口或环回接口上。这包括您在设备创建时提供的IP;该IP仍需在此处明确注册。 +两个 IP 都必须使用 `--user-tunnel-endpoint true` 注册,可以在物理接口或环回接口上。这包括您在创建设备时提供的 IP,该 IP 仍需在此处显式注册。 -如果您受IP约束,可以使用DZ前缀的第一个`/32`作为两个IP之一。 +如果您的 IP 资源有限,可以使用 DZ 前缀的第一个 `/32` 作为两个 IP 之一。 -#### CYOA和DIA +#### CYOA 和 DIA | 类型 | 标志 | 用途 | |------|------|------| -| DIA | `--interface-dia dia` | 将端口标记为直接互联网访问 | -| CYOA | `--interface-cyoa <子类型>` | 声明用户如何将GRE隧道连接到您的设备 | +| DIA | `--interface-dia dia` | 将端口标记为直接互联网接入 | +| CYOA | `--interface-cyoa ` | 声明用户如何通过 GRE 隧道连接到您的设备 | -CYOA标志始终设置在**物理接口**(以太网端口或端口聚合)上,从不设置在环回接口上。 +CYOA 标志始终设置在**物理接口**(以太网端口或端口通道)上。绝不在环回接口上设置。 -| CYOA子类型 | 使用场景 | -|-----------|---------| +| CYOA 子类型 | 使用场景 | +|-------------|----------| | `gre-over-dia` | 用户通过公共互联网连接。最常见。 | -| `gre-over-private-peering` | 用户通过直接交叉连接或私有电路连接 | -| `gre-over-public-peering` | 用户在互联网交换点(IX)与您对等 | -| `gre-over-fabric` | 用户共同托管并通过本地网络结构连接 | +| `gre-over-private-peering` | 用户通过直连交叉连接或私有线路连接 | +| `gre-over-public-peering` | 用户在互联网交换点 (IX) 与您对等 | +| `gre-over-fabric` | 用户在同一机房,通过本地交换网络连接 | | `gre-over-cable` | 直接电缆连接到单个专用用户 | -#### 场景A:单物理接口 +#### 场景 A:单物理接口 -到ISP的一个物理上行链路。Ethernet1/1是CYOA和DIA接口,承载两个公共IP之一。Loopback100承载第二个公共IP。 +一条到 ISP 的物理上行链路。Ethernet1/1 是 CYOA 和 DIA 接口,携带两个公共 IP 中的一个。Loopback100 携带第二个公共 IP。 ```mermaid flowchart LR @@ -396,26 +473,26 @@ flowchart LR subgraph DZD["DZD"] E1["Eth1/1 203.0.113.1/30 - CYOA · DIA · user tunnel endpoint"] + CYOA · DIA · 用户隧道端点"] LO["Loopback100 - 198.51.100.1/32\n user tunnel endpoint"] + 198.51.100.1/32\n 用户隧道端点"] E1 --- LO end - ISP["ISP路由器 + ISP["ISP 路由器 203.0.113.2/30"] ISP -- "10GbE" --- E1 - USERS -. "GRE隧道" .-> E1 - USERS -. "GRE隧道" .-> LO + USERS -. "GRE 隧道" .-> E1 + USERS -. "GRE 隧道" .-> LO ``` | 接口 | `--interface-cyoa` | `--interface-dia` | `--ip-net` | `--bandwidth` | `--cir` | `--routing-mode` | `--user-tunnel-endpoint` | |------|-------------------|------------------|------------|---------------|---------|-----------------|--------------------------| -| Ethernet1/1 | `gre-over-dia` | `dia` | 贡献者分配的IP/子网 | 端口速度 | 承诺速率 | `bgp`或`static` | `true` | -| Loopback100 | — | — | 您的公共/32 | `0bps` | — | — | `true` | +| Ethernet1/1 | `gre-over-dia` | `dia` | 贡献者分配的 IP/子网 | 端口速率 | 承诺速率 | `bgp` 或 `static` | `true` | +| Loopback100 | — | — | 您的公共 /32 | `0bps` | — | — | `true` | -场景A的示例命令: +基于场景 A 执行的命令示例: ```bash doublezero device interface create mydzd-nyc01 Ethernet1/1 \ --interface-cyoa gre-over-dia \ @@ -432,40 +509,40 @@ doublezero device interface create mydzd-nyc01 Loopback100 \ --user-tunnel-endpoint true ``` -#### 场景B:端口聚合(LAG) +#### 场景 B:端口通道(LAG) -DZD通过带有IP的端口聚合连接到上游设备。端口聚合承载一个公共IP并是CYOA端点。Loopback100承载第二个公共IP。 +DZD 通过带有 IP 的端口通道连接到上游设备。端口通道携带一个公共 IP,是 CYOA 端点。Loopback100 携带第二个公共 IP。 ```mermaid flowchart LR USERS(["终端用户"]) - subgraph SW["上游路由器/交换机"] + subgraph SW["上游路由器 / 交换机"] SWPC(["bond0 203.0.113.2/30"]) end subgraph DZD["DZD"] - subgraph PC["Port-Channel1 · 203.0.113.1/30 · CYOA · DIA · user tunnel endpoint"] + subgraph PC["Port-Channel1 · 203.0.113.1/30 · CYOA · DIA · 用户隧道端点"] E1["Eth1/1"] E2["Eth2/1"] end LO["Loopback100 - 198.51.100.1/32\n user tunnel endpoint"] + 198.51.100.1/32\n 用户隧道端点"] PC --- LO end SWPC -- "2x 10GbE" --- PC - USERS -. "GRE隧道" .-> PC - USERS -. "GRE隧道" .-> LO + USERS -. "GRE 隧道" .-> PC + USERS -. "GRE 隧道" .-> LO ``` | 接口 | `--interface-cyoa` | `--interface-dia` | `--ip-net` | `--bandwidth` | `--cir` | `--routing-mode` | `--user-tunnel-endpoint` | |------|-------------------|------------------|------------|---------------|---------|-----------------|--------------------------| -| Port-Channel1 | `gre-over-dia` | `dia` | 贡献者分配的IP/子网 | 组合LAG速度 | 承诺速率 | `bgp`或`static` | `true` | -| Loopback100 | — | — | 您的公共/32 | `0bps` | — | — | `true` | +| Port-Channel1 | `gre-over-dia` | `dia` | 贡献者分配的 IP/子网 | LAG 组合速率 | 承诺速率 | `bgp` 或 `static` | `true` | +| Loopback100 | — | — | 您的公共 /32 | `0bps` | — | — | `true` | -场景B的示例命令: +基于场景 B 执行的命令示例: ```bash doublezero device interface create mydzd-fra01 Port-Channel1 \ --interface-cyoa gre-over-dia \ @@ -482,17 +559,18 @@ doublezero device interface create mydzd-fra01 Loopback100 \ --user-tunnel-endpoint true ``` -#### 场景C:到独立路由器的双物理上行链路 -每个物理接口连接到不同的上游路由器。两个公共IP位于Loopback100和Loopback101上,均注册为用户隧道端点。 +#### 场景 C:双物理上行链路连接到不同路由器 + +每个物理接口连接到不同的上游路由器。两个公共 IP 分别位于 Loopback100 和 Loopback101 上,均注册为用户隧道端点。 ```mermaid flowchart LR USERS(["终端用户"]) - RA["路由器A + RA["路由器 A 203.0.113.2/30"] - RB["路由器B + RB["路由器 B 203.0.113.6/30"] subgraph DZD["DZD"] @@ -503,510 +581,11 @@ flowchart LR 203.0.113.5/30 CYOA · DIA"] LO0["Loopback100 - 198.51.100.1/32\n user tunnel endpoint"] + 198.51.100.1/32\n 用户隧道端点"] LO1["Loopback101 - 198.51.100.2/32\n user tunnel endpoint"] + 198.51.100.2/32\n 用户隧道端点"] E1 --> LO0 E2 --> LO1 end - RA -- "10GbE" --- E1 - RB -- "10GbE" --- E2 - USERS -. "GRE隧道" .-> LO0 - USERS -. "GRE隧道" .-> LO1 -``` - -| 接口 | `--interface-cyoa` | `--interface-dia` | `--ip-net` | `--bandwidth` | `--cir` | `--routing-mode` | `--user-tunnel-endpoint` | -|------|-------------------|------------------|------------|---------------|---------|-----------------|--------------------------| -| Ethernet1/1 | `gre-over-dia` | `dia` | 贡献者分配的IP/子网 | 端口速度 | 承诺速率 | `bgp`或`static` | — | -| Ethernet2/1 | `gre-over-dia` | `dia` | 贡献者分配的IP/子网 | 端口速度 | 承诺速率 | `bgp`或`static` | — | -| Loopback100 | — | — | 您的公共/32 | `0bps` | — | — | `true` | -| Loopback101 | — | — | 您的公共/32 | `0bps` | — | — | `true` | - -场景C的示例命令: -```bash -doublezero device interface create mydzd-ams01 Ethernet1/1 \ - --interface-cyoa gre-over-dia \ - --interface-dia dia \ - --ip-net 203.0.113.1/30 \ - --bandwidth 10Gbps \ - --cir 1Gbps \ - --routing-mode bgp - -doublezero device interface create mydzd-ams01 Ethernet2/1 \ - --interface-cyoa gre-over-dia \ - --interface-dia dia \ - --ip-net 203.0.113.5/30 \ - --bandwidth 10Gbps \ - --cir 1Gbps \ - --routing-mode bgp - -doublezero device interface create mydzd-ams01 Loopback100 \ - --ip-net 198.51.100.1/32 \ - --bandwidth 0bps \ - --user-tunnel-endpoint true - -doublezero device interface create mydzd-ams01 Loopback101 \ - --ip-net 198.51.100.2/32 \ - --bandwidth 0bps \ - --user-tunnel-endpoint true -``` - -### 步骤3.6:验证您的设备 - -```bash -doublezero device list -``` - -**示例输出:** - -``` - account | code | contributor | location | exchange | device_type | public_ip | dz_prefixes | users | max_users | status | health | mgmt_vrf | owner - 7xKm9pQw2R4vHt3... | nyc-dz001 | acme | EQX-NY5 | nyc | hybrid | 203.0.113.10 | 198.51.100.0/28 | 0 | 14 | activated | pending | | 5FMtd5Woq5XAAg54... -``` - -您的设备应显示状态`activated`。 - ---- - -## 阶段4:链路建立与代理安装 - -链路将您的设备连接到DoubleZero网络的其余部分。 - -### 了解链路 - -```mermaid -flowchart LR - subgraph "您的网络" - D1[您的DZD 1
NYC] - D2[您的DZD 2
LAX] - end - - subgraph "其他贡献者" - O1[他们的DZD
NYC] - end - - D1 ---|WAN链路
同一贡献者| D2 - D1 ---|DZX链路
不同贡献者| O1 -``` - -| 链路类型 | 连接对象 | 接受方式 | -|---------|---------|---------| -| **WAN链路** | 您的两个设备 | 自动(您拥有两端) | -| **DZX链路** | 您的设备与另一个贡献者 | 需要对方接受 | - -### 步骤4.1:创建WAN链路(如果您有多个设备) - -WAN链路连接您自己的设备: - -```bash -doublezero link create wan \ - --code \ - --contributor \ - --side-a \ - --side-a-interface \ - --side-z \ - --side-z-interface \ - --bandwidth 10000 \ - --mtu 9000 \ - --delay-ms 20 \ - --jitter-ms 1 -``` - -**示例:** - -```bash -doublezero link create wan \ - --code nyc-lax-wan01 \ - --contributor acme \ - --side-a nyc-dz001 \ - --side-a-interface Ethernet3/1 \ - --side-z lax-dz001 \ - --side-z-interface Ethernet3/1 \ - --bandwidth 10000 \ - --mtu 9000 \ - --delay-ms 65 \ - --jitter-ms 1 -``` - -**预期输出:** - -``` -Signature: 5tNm7K...truncated...9pRw2 -``` - -### 步骤4.2:创建DZX链路 - -DZX链路将您的设备直接连接到另一个贡献者的DZD: - -```bash -doublezero link create dzx \ - --code \ - --contributor \ - --side-a \ - --side-a-interface \ - --side-z \ - --bandwidth \ - --mtu \ - --delay-ms \ - --jitter-ms -``` - -**预期输出:** - -``` -Signature: 8mKp3W...truncated...2nRx7 -``` - -创建DZX链路后,另一个贡献者必须接受它: - -```bash -# 另一个贡献者运行此命令 -doublezero link accept \ - --code \ - --side-z-interface -``` - -**预期输出(接受方贡献者):** - -``` -Signature: 6vQt9L...truncated...3wPm4 -``` - -### 步骤4.3:验证链路 - -```bash -doublezero link list -``` - -**示例输出:** - -``` - account | code | contributor | side_a_name | side_a_iface_name | side_z_name | side_z_iface_name | link_type | bandwidth | mtu | delay_ms | jitter_ms | delay_override_ms | tunnel_id | tunnel_net | status | health | owner - 8vkYpXaBW8RuknJq... | nyc-dz001:lax-dz001 | acme | nyc-dz001 | Ethernet3/1 | lax-dz001 | Ethernet3/1 | WAN | 10Gbps | 9000 | 65.00ms | 1.00ms | 0.00ms | 42 | 172.16.0.84/31 | activated | pending | 5FMtd5Woq5XAAg54... -``` - -一旦两端都配置完成,链路应显示状态`activated`。 - ---- - -### 代理安装 - -两个软件代理在您的DZD上运行: - -```mermaid -flowchart TB - subgraph "您的DZD" - CA[Config Agent] - TA[Telemetry Agent] - HW[交换机硬件/软件] - end - - CA -->|轮询配置| CTRL[控制器服务] - CA -->|应用配置| HW - - HW -->|指标| TA - TA -->|链上提交| BC[DoubleZero账本] -``` - -| 代理 | 功能 | -|------|------| -| **Config Agent** | 从控制器拉取配置,应用到您的交换机 | -| **Telemetry Agent** | 测量到其他设备的延迟/丢包,链上报告指标 | - -### 步骤4.4:安装Config Agent - -#### 在交换机上启用API - -添加到EOS配置: - -``` -management api eos-sdk-rpc - transport grpc eapilocal - localhost loopback vrf default - service all - no disabled -``` - -!!! note "VRF注意事项" - 如果您的管理VRF名称不同(例如`management`),请将`default`替换为您的管理VRF名称。 - -#### 下载并安装代理 - -```bash -# 在交换机上进入bash -switch# bash -$ sudo bash -# cd /mnt/flash -# wget AGENT_DOWNLOAD_URL -# exit -$ exit - -# 安装为EOS扩展 -switch# copy flash:AGENT_FILENAME extension: -switch# extension AGENT_FILENAME -switch# copy installed-extensions boot-extensions -``` - -#### 验证扩展 - -```bash -switch# show extensions -``` - -状态应为"A, I, B": - -``` -Name Version/Release Status Extension -------------------------------------------- ------------------- ---------- --------- -AGENT_FILENAME MAINNET_CLIENT_VERSION/1 A, I, B 1 - -A: available | NA: not available | I: installed | F: forced | B: install at boot -``` - -#### 配置并启动代理 - -添加到EOS配置: - -``` -daemon doublezero-agent - exec /usr/local/bin/doublezero-agent -pubkey - no shut -``` - -!!! note "VRF注意事项" - 如果您的管理VRF不是`default`(即命名空间不是`ns-default`),请在exec命令前加上`exec /sbin/ip netns exec ns-`。例如,如果您的VRF是`management`: - ``` - daemon doublezero-agent - exec /sbin/ip netns exec ns-management /usr/local/bin/doublezero-agent -pubkey - no shut - ``` - -从`doublezero device list`获取您的设备公钥(`account`列)。 - -#### 验证是否正在运行 - -```bash -switch# show agent doublezero-agent logs -``` - -您应该看到"Starting doublezero-agent"以及成功的控制器连接。 - -### 步骤4.5:安装Telemetry Agent - -#### 将指标发布者密钥复制到设备 - -```bash -scp ~/.config/doublezero/metrics-publisher.json :/mnt/flash/metrics-publisher-keypair.json -``` - -#### 在链上注册指标发布者 - -```bash -doublezero device update \ - --pubkey \ - --metrics-publisher -``` - -从您的metrics-publisher.json文件获取公钥。 - -#### 下载并安装代理 - -```bash -switch# bash -$ sudo bash -# cd /mnt/flash -# wget TELEMETRY_DOWNLOAD_URL -# exit -$ exit - -# 安装为EOS扩展 -switch# copy flash:TELEMETRY_FILENAME extension: -switch# extension TELEMETRY_FILENAME -switch# copy installed-extensions boot-extensions -``` - -#### 验证扩展 - -```bash -switch# show extensions -``` - -状态应为"A, I, B": - -``` -Name Version/Release Status Extension -------------------------------------------- ------------------- ---------- --------- -TELEMETRY_FILENAME MAINNET_CLIENT_VERSION/1 A, I, B 1 - -A: available | NA: not available | I: installed | F: forced | B: install at boot -``` - -#### 配置并启动代理 - -添加到EOS配置: - -``` -daemon doublezero-telemetry - exec /usr/local/bin/doublezero-telemetry --local-device-pubkey --env mainnet --keypair /mnt/flash/metrics-publisher-keypair.json - no shut -``` - -!!! note "VRF注意事项" - 如果您的管理VRF不是`default`(即命名空间不是`ns-default`),请在exec命令中添加`--management-namespace ns-`。例如,如果您的VRF是`management`: - ``` - daemon doublezero-telemetry - exec /usr/local/bin/doublezero-telemetry --management-namespace ns-management --local-device-pubkey --env mainnet --keypair /mnt/flash/metrics-publisher-keypair.json - no shut - ``` - -#### 验证是否正在运行 - -```bash -switch# show agent doublezero-telemetry logs -``` - -您应该看到"Starting telemetry collector"和"Starting submission loop"。 - ---- - -## 阶段5:链路磨合 - -!!! warning "所有新链路在承载流量前必须完成磨合" - 新链路必须**至少排水24小时**,然后才能激活用于生产流量。此磨合要求在[RFC12:网络配置](https://github.com/malbeclabs/doublezero/blob/main/rfcs/rfc12-network-provisioning.md)中定义,规定链路就绪前需要约200,000个DZ账本槽位(约20小时)的干净指标。 - -在代理安装并运行后,在[metrics.doublezero.xyz](https://metrics.doublezero.xyz)上监控您的链路至少连续24小时: - -- **"DoubleZero Device-Link Latencies"**仪表板——验证链路上随时间**零丢包** -- **"DoubleZero Network Metrics"**仪表板——验证链路上**零错误** - -只有当磨合期显示干净的链路(零丢包和零错误)时,才能解除排水状态。 - ---- - -## 阶段6:验证与激活 - -通过此清单确认一切正常工作。 - -!!! warning "您的设备初始锁定(`max_users = 0`)" - 创建设备时,`max_users`默认设置为**0**。这意味着还没有用户可以连接到它。这是有意为之——您必须在接受用户流量之前验证一切正常。 - - **在将`max_users`设置为0以上之前,您必须:** - - 1. 确认所有链路已在[metrics.doublezero.xyz](https://metrics.doublezero.xyz)上完成**24小时磨合**,零丢包/错误 - 2. **与DZ/Malbec Labs协调**进行连接测试: - - 测试用户能否连接到您的设备? - - 用户是否通过DZ网络接收路由? - - 用户是否能端到端通过DZ网络路由流量? - 3. 仅在DZ/ML确认测试通过后,将max_users设置为96: - - ```bash - doublezero device update --pubkey --max-users 96 - ``` - -### 设备检查 - -```bash -# 您的设备应显示状态"activated" -doublezero device list | grep -``` - -**预期输出:** - -``` - 7xKm9pQw2R4vHt3... | nyc-dz001 | acme | EQX-NY5 | nyc | hybrid | 203.0.113.10 | 198.51.100.0/28 | 0 | 14 | activated | pending | | 5FMtd5Woq5XAAg54... -``` - -```bash -# 您的接口应被列出 -doublezero device interface list | grep -``` - -**预期输出:** - -``` - nyc-dz001 | Loopback255 | loopback | vpnv4 | none | none | 0 | 0 | 1500 | static | 0 | 172.16.1.91/32 | 56 | false | activated - nyc-dz001 | Loopback256 | loopback | ipv4 | none | none | 0 | 0 | 1500 | static | 0 | 172.16.1.100/32 | 0 | false | activated - nyc-dz001 | Ethernet1/1 | physical | none | none | none | 0 | 0 | 1500 | static | 0 | | 0 | false | activated -``` - -### 链路检查 - -```bash -# 链路应显示状态"activated" -doublezero link list | grep -``` - -**预期输出:** - -``` - 8vkYpXaBW8RuknJq... | nyc-lax-wan01 | acme | nyc-dz001 | Ethernet3/1 | lax-dz001 | Ethernet3/1 | WAN | 10Gbps | 9000 | 65.00ms | 1.00ms | 0.00ms | 42 | 172.16.0.84/31 | activated | pending | 5FMtd5Woq5XAAg54... -``` - -### 代理检查 - -在交换机上: - -```bash -# Config Agent应显示成功的配置拉取 -switch# show agent doublezero-agent logs | tail -20 - -# Telemetry Agent应显示成功的提交 -switch# show agent doublezero-telemetry logs | tail -20 -``` - -### 最终验证图 - -```mermaid -flowchart TB - subgraph "验证清单" - D[设备状态:已激活?] - I[接口:已注册?] - L[链路:已激活?] - CA[Config Agent:正在拉取配置?] - TA[Telemetry Agent:正在提交指标?] - end - - D --> PASS - I --> PASS - L --> PASS - CA --> PASS - TA --> PASS - - PASS[所有检查通过] --> NOTIFY[通知DZF/Malbec Labs
您在技术上已准备就绪!] -``` - ---- - -## 故障排除 - -### 设备创建失败 - -- 验证您的服务密钥已获授权(`doublezero contributor list`) -- 检查位置和交换中心代码是否有效 -- 确保DZ前缀是有效的公共IP范围 - -### 链路卡在"requested"状态 - -- DZX链路需要另一个贡献者的接受 -- 联系他们运行`doublezero link accept` - -### Config Agent无法连接 - -- 验证管理网络有互联网访问 -- 检查VRF配置是否与您的设置匹配 -- 确保设备公钥正确 - -### Telemetry Agent未提交 - -- 验证指标发布者密钥已在链上注册 -- 检查密钥文件是否存在于交换机上 -- 确保设备账户公钥正确 - ---- - -## 后续步骤 - -- 查阅[运营指南](contribute-operations.md)了解代理升级和链路管理 -- 在[词汇表](glossary.md)中查看术语定义 -- 如遇问题,请联系DZF/Malbec Labs + RA -- "10Gb \ No newline at end of file diff --git a/docs/contribute.es.md b/docs/contribute.es.md index ad903d5..adfed39 100644 --- a/docs/contribute.es.md +++ b/docs/contribute.es.md @@ -1,38 +1,40 @@ -# Requisitos y Arquitectura para Contribuidores -!!! warning "This translation was generated using artificial intelligence and has not been reviewed by a human translator. It may contain inaccuracies or errors and should not be relied upon." +--- +description: Requisitos de hardware, ancho de banda y conectividad, así como arquitectura para contribuir capacidad a la red DoubleZero. +--- +# Requisitos y Arquitectura para Contribuidores ## Resumen -Cualquier persona que desee monetizar sus cables de fibra óptica y hardware de red subutilizados puede contribuir a la red DoubleZero. Los contribuidores de red deben proporcionar ancho de banda dedicado entre dos puntos, operar dispositivos compatibles con DoubleZero (DZDs) en cada extremo, y una conexión a internet pública en cada extremo. Los contribuidores de red también deben ejecutar software DoubleZero en cada DZD para proporcionar servicios como multicast, búsqueda de usuarios y filtrado de borde. +Cualquier persona que desee monetizar sus cables de fibra óptica y hardware de red infrautilizados puede contribuir a la red DoubleZero. Los contribuidores de red deben proporcionar ancho de banda dedicado entre dos puntos, operar dispositivos compatibles con DoubleZero (DZDs) en cada extremo y una conexión a la internet pública en cada extremo. Los contribuidores de red también deben ejecutar el software de DoubleZero en cada DZD para proporcionar servicios como multidifusión, búsqueda de usuarios y filtrado en el borde. -El contrato inteligente de DoubleZero es la piedra angular para garantizar que la red mantenga enlaces de alta calidad que puedan medirse e integrarse en la topología, permitiendo a nuestros controladores de red desarrollar la ruta más eficiente de extremo a extremo entre nuestros diferentes usuarios y puntos finales. Tras la ejecución del contrato inteligente y el despliegue del equipo de red y el ancho de banda, una entidad se clasifica como contribuidor de red. Consulte [Economía de DoubleZero](https://economics.doublezero.xyz/overview) para comprender mejor la economía detrás de participar en DoubleZero como contribuidor de red. +El contrato inteligente de DoubleZero es la piedra angular para garantizar que la red mantenga enlaces de alta calidad que puedan ser medidos e integrados en la topología, permitiendo a nuestros controladores de red desarrollar la ruta más eficiente de extremo a extremo entre nuestros diferentes usuarios y puntos finales. Tras la ejecución del contrato inteligente y el despliegue del equipo de red y el ancho de banda, una entidad se clasifica como contribuidor de red. Consulte [DoubleZero Economics](https://economics.doublezero.xyz/overview) para comprender mejor la economía detrás de participar en DoubleZero como contribuidor de red. --- -## Requisitos para ser Contribuidor de Red DoubleZero +## Requisitos para ser un Contribuidor de Red DoubleZero - Ancho de banda dedicado que pueda proporcionar conectividad IPv4 y un MTU de 2048 bytes entre dos centros de datos - Hardware de Dispositivo DoubleZero (DZD) compatible con el protocolo DoubleZero -- Conectividad a internet y a otros contribuidores de red DoubleZero -- Instalación del software DoubleZero en el DZD +- Conectividad a internet y a otros contribuidores de la red DoubleZero +- Instalación del software de DoubleZero en el DZD ## Guía de Inicio Rápido -Como contribuidor de red, la forma más sencilla de comenzar en DoubleZero es identificando capacidad en su red que pueda dedicarse a DoubleZero. Una vez identificados, los DZDs deben desplegarse, facilitando la red superpuesta DoubleZero que solo requiere alcanzabilidad IPv4 y un MTU mínimo de 2048 bytes como dependencias de la red del contribuidor. +Como contribuidor de red, la forma más sencilla de comenzar en DoubleZero es identificando capacidad en su red que pueda dedicarse a DoubleZero. Una vez identificada, se deben desplegar los DZDs, facilitando la red superpuesta de DoubleZero que solo requiere alcanzabilidad IPv4 y un MTU mínimo de 2048 bytes como dependencias de la red del contribuidor. -La Figura 1 destaca el modelo más simple para contribuir con ancho de banda y servicios de envío y procesamiento de paquetes. Se despliega un DZD en cada centro de datos, interactuando con la red interna del contribuidor de red para proporcionar conectividad WAN de DoubleZero. Esto se complementa con internet local, típicamente una solución de Acceso Directo a Internet (DIA), que se usa como rampas de acceso para los usuarios de DoubleZero. Si bien se espera que DIA sea la opción preferida para facilitar el acceso a los usuarios de DoubleZero, son posibles numerosos modelos de conectividad, por ejemplo, cableado físico a servidores, extensión de fabric de red, etc. Nos referimos a estas opciones como Elige Tu Propia Aventura (CYOA), proporcionando al contribuidor flexibilidad para conectar usuarios locales o remotos de una manera que mejor se adapte a sus políticas de red internas. +La Figura 1 destaca el modelo más simple para contribuir ancho de banda y servicios de envío y procesamiento de paquetes. Se despliega un DZD en cada centro de datos, interfazándose con la red interna del contribuidor para proporcionar conectividad WAN de DoubleZero. Esto se complementa con internet local, típicamente una solución de Acceso Directo a Internet (DIA), que se utiliza como puntos de acceso para los usuarios de DoubleZero. Si bien se espera que DIA sea la opción preferida para facilitar el acceso a los usuarios de DoubleZero, son posibles numerosos modelos de conectividad, por ejemplo, cableado físico a servidores, extensión de fabric de red, etc. Nos referimos a estas opciones como Elige Tu Propia Aventura (CYOA), proporcionando al contribuidor flexibilidad para conectar usuarios locales o remotos de la manera que mejor se adapte a sus políticas de red interna. -Como con cualquier red, la alcanzabilidad es una parte fundamental de la arquitectura, ya que los contribuidores de red no pueden vivir en aislamiento. Como tal, el DZD *debe* tener un enlace a un Exchange DoubleZero (DZX) para crear una red contigua entre los participantes. +Como con cualquier red, la alcanzabilidad es una parte fundamental de la arquitectura, ya que los contribuidores de red no pueden vivir aislados. Por lo tanto, el DZD *debe* tener un enlace a un DoubleZero Exchange (DZX) para crear una red contigua entre los participantes.
![Image title](images/figure1.png){ width="800" } -
Figura 1: Contribución de Ancho de Banda de Red DoubleZero Entre 2 Centros de Datos - Contribuidor Único
+
Figura 1: Contribución de Ancho de Banda a la Red DoubleZero Entre 2 Centros de Datos - Contribuidor Único
### Ejemplos de Contribuciones -Las formas en que un contribuidor de red puede hacer crecer sus contribuciones a DoubleZero son muchas, incluyendo: +Las formas en que un contribuidor de red puede ampliar sus contribuciones a DoubleZero son muchas, incluyendo: - Mejorar las características de rendimiento de sus contribuciones existentes: aumentar el ancho de banda, reducir la latencia - Agregar múltiples enlaces entre los mismos centros de datos @@ -42,120 +44,120 @@ Las formas en que un contribuidor de red puede hacer crecer sus contribuciones a #### Ejemplo 1: Contribuidor Único, 3 Centros de Datos, Dos Enlaces
![Image title](images/figure2.png){ width="800" } -
Figura 2: Contribución de Ancho de Banda de Red DoubleZero Entre 3 Centros de Datos - Contribuidor Único
+
Figura 2: Contribución de Ancho de Banda a la Red DoubleZero Entre 3 Centros de Datos - Contribuidor Único
-Un solo DZD puede soportar múltiples enlaces contribuidos a DoubleZero. La Figura 2 ilustra una topología potencial si un solo centro de datos, denominado 1, termina el ancho de banda hacia dos centros de datos remotos diferentes, 2 y 3. En este escenario, cada centro de datos contiene solo 1 DZD. Todos los DZDs utilizan DIA para las rampas de acceso de usuarios como su interfaz CYOA. +Un solo DZD puede soportar múltiples enlaces contribuidos a DoubleZero. La Figura 2 ilustra una topología potencial si un solo centro de datos, denominado 1, termina ancho de banda hacia dos centros de datos remotos diferentes, 2 y 3. En este escenario, cada centro de datos contiene solo 1 DZD. Todos los DZDs utilizan DIA para los puntos de acceso de usuarios como su interfaz CYOA. #### Ejemplo 2: Contribuidor Único, 3 Centros de Datos, Tres Enlaces -La Figura 3 describe la topología de DoubleZero cuando un único contribuidor despliega tres enlaces en una topología triangular entre 3 centros de datos. En un escenario similar al ejemplo 1, se despliega un único DZD en los centros de datos 1, 2 y 3, cada uno soportando 2 enlaces de red independientes. La topología resultante es un triángulo o anillo entre los centros de datos. +La Figura 3 describe la topología de DoubleZero cuando un solo contribuidor despliega tres enlaces en una topología triangular entre 3 centros de datos. En un escenario similar al ejemplo 1, se despliega un solo DZD en los centros de datos 1, 2 y 3, cada uno soportando 2 enlaces de red independientes. La topología resultante es un triángulo o anillo entre centros de datos.
![Image title](images/figure3.png){ width="800" } -
Figura 3: Contribución de Ancho de Banda de Red DoubleZero Entre 3 Centros de Datos - Contribuidor Único
+
Figura 3: Contribución de Ancho de Banda a la Red DoubleZero Entre 3 Centros de Datos - Contribuidor Único
-### Exchange DoubleZero +### DoubleZero Exchange -La creación de una red contigua es un elemento fundamental de la arquitectura DoubleZero. Los contribuidores se interconectan a través de un Exchange DoubleZero (DZX) dentro de un área metropolitana, que es una ciudad como Nueva York (NYC), Londres (LON) o Tokio (TYO). Un DZX es un fabric de red similar a un Exchange de Internet, que permite el peering y el intercambio de rutas. +La creación de una red contigua es un componente fundamental de la arquitectura de DoubleZero. Los contribuidores se interconectan a través de un DoubleZero Exchange (DZX) dentro de un área metropolitana, que es una ciudad como Nueva York (NYC), Londres (LON) o Tokio (TYO). Un DZX es un fabric de red similar a un Internet Exchange, que permite el peering y el intercambio de rutas. En la figura 4, el contribuidor de red 1 opera en los centros de datos 1, 2 y 3, mientras que el contribuidor de red 2 opera en los centros de datos 2, 4 y 5. Al interconectarse en el centro de datos 2, el alcance de la red DoubleZero aumenta a 5 centros de datos contiguos.
![Image title](images/figure4.png){ width="1000" } -
Figura 4: Contribución de Ancho de Banda de Red DoubleZero Entre 2 Contribuidores de Ancho de Banda de Red
+
Figura 4: Contribución de Ancho de Banda a la Red DoubleZero Entre 2 Contribuidores de Ancho de Banda de Red
### Opciones de Contribución de Ancho de Banda -DoubleZero requiere que un contribuidor de red ofrezca conectividad integrada mediante un perfil garantizado de ancho de banda, latencia y jitter entre DZDs en dos centros de datos terminales expresado a través de un contrato inteligente. DoubleZero no exige cómo un contribuidor de red implementa su contribución; sin embargo, en las siguientes secciones proporcionamos opciones indicativas para su uso a su sola discreción. +DoubleZero requiere que un contribuidor de red ofrezca conectividad integrada mediante un perfil garantizado de ancho de banda, latencia y jitter entre los DZDs en dos centros de datos de terminación, expresado a través de un contrato inteligente. DoubleZero no impone cómo un contribuidor de red implementa su contribución; sin embargo, en las siguientes secciones proporcionamos opciones indicativas para su uso a su entera discreción. -Las áreas importantes a considerar para un contribuidor de red podrían ser: +Áreas importantes a considerar para un contribuidor de red podrían ser: -- Capacidad de garantizar el rendimiento de la red del servicio DoubleZero: ancho de banda, latencia y jitter -- Segregación de sus servicios de red interna existentes -- Conflictos de direccionamiento IPv4, específicamente con el espacio de direcciones del underlay del túnel +- Capacidad para garantizar el rendimiento de red del servicio DoubleZero: ancho de banda, latencia y jitter +- Segregación de sus servicios de red internos existentes +- Conflictos de direccionamiento IPv4, específicamente con el espacio de direcciones del underlay de túnel - Tiempo de actividad y disponibilidad - Consideraciones de CAPEX y OPEX #### Ancho de Banda de Capa 1
![Image title](images/figure5.png){ width="800" } -
Figura 5: Servicios Ópticos de Capa 1
+
Figura 5: Servicios Ópticos de Capa 1
-El ancho de banda de Capa 1, descrito más formalmente como servicios de longitud de onda, puede ver capacidad dedicada aprovisionada en una infraestructura óptica existente, como DWDM, CWDM o mediante multiplexores ópticos (MUX). En la figura 5, los DZDs utilizan una óptica de color que se conecta a un MUX L1, que intercala la longitud de onda del DZD en una fibra oscura existente. +El ancho de banda de Capa 1, descrito más formalmente como servicios de longitud de onda, puede contemplar capacidad dedicada aprovisionada sobre una infraestructura óptica existente, como DWDM, CWDM o mediante multiplexores ópticos (MUX). En la figura 5, los DZDs utilizan una óptica coloreada que se cablea a un MUX L1, el cual intercala la longitud de onda del DZD sobre una fibra oscura existente. -Esta solución tiene numerosos beneficios para los contribuidores de red que ya operan una red troncal existente. Los cambios operativos iterativos, así como los requisitos adicionales de CAPEX y OPEX, son modestos. Esta opción es particularmente robusta para ofrecer segregación de los servicios de red del contribuidor. +Esta solución tiene numerosos beneficios para los contribuidores de red que ya operan una red troncal existente. Los cambios operativos iterativos, así como los requisitos adicionales de CAPEX y OPEX, son modestos. Esta opción es particularmente robusta en ofrecer segregación de los servicios de red del contribuidor. -#### Ancho de Banda de Red Conmutada por Paquetes +#### Ancho de Banda Conmutado por Paquetes -Las redes conmutadas por paquetes pueden considerarse una red empresarial típica, ejecutando protocolos estándar de enrutamiento y conmutación para soportar aplicaciones de negocios. Hay numerosas tecnologías de red que logran conectividad, por ejemplo, extensiones de capa 2 (L2) usando etiquetas VLAN. +Las redes conmutadas por paquetes pueden considerarse una red empresarial típica, que ejecuta protocolos estándar de enrutamiento y conmutación que soportan aplicaciones de negocio. Existen numerosas tecnologías de red que logran conectividad, por ejemplo, extensiones de capa 2 (L2) usando etiquetas VLAN. ##### Extensión L2
![Image title](images/figure6.png){ width="800" } -
Figura 6: Redes Conmutadas por Paquetes - Extensión L2
+
Figura 6: Redes Conmutadas por Paquetes - Extensión L2
-Una extensión L2 como se muestra en la Figura 6 puede facilitarse mediante el etiquetado de VLAN. El puerto de un DZD puede conectarse al switch de red interna de un contribuidor, con el puerto del switch configurado como puerto de acceso en, por ejemplo, VLAN 10. Mediante el etiquetado 802.1q, esta VLAN puede llevarse a través de múltiples saltos de switch en la red del contribuidor, terminando en el switch que interactúa con el DZD remoto. +Una extensión L2 como se muestra en la Figura 6 puede facilitarse mediante etiquetado VLAN. El puerto de un DZD puede cablearse al switch de red interna del contribuidor, con el puerto del switch configurado como puerto de acceso en, por ejemplo, VLAN 10. A través del etiquetado 802.1q, esta VLAN puede transportarse a través de múltiples saltos de switch en la red del contribuidor, terminando en el switch que se interfaza con el DZD remoto. -Esta solución se beneficia de ser ampliamente compatible y relativamente fácil de implementar, al tiempo que crea segmentación entre DoubleZero y los servicios de capa 3 internos. El ancho de banda puede controlarse según la velocidad de interfaz del switch o enrutador interno del contribuidor. Se debe prestar especial atención al rendimiento a través de la red L2 interna compartida mediante tecnologías como Calidad de Servicio (QoS) u otras políticas de gestión de tráfico. Sin embargo, las inversiones adicionales de CAPEX y OPEX deberían ser modestas si hay capacidad disponible dentro de la red troncal del contribuidor. +Esta solución se beneficia de ser ampliamente soportada y relativamente fácil de implementar, al tiempo que crea segmentación entre DoubleZero y los servicios internos de capa 3. El ancho de banda puede controlarse según la velocidad de interfaz del switch o router interno del contribuidor. Se debe prestar especial atención al rendimiento a través de la red L2 interna compartida mediante tecnologías como Calidad de Servicio (QoS) u otras políticas de gestión de tráfico. Sin embargo, las inversiones adicionales de CAPEX y OPEX deberían ser modestas si existe capacidad disponible dentro de la red troncal del contribuidor. #### Ancho de Banda Dedicado de Terceros
![Image title](images/figure7.png){ width="800" } -
Figura 7: Ancho de Banda Dedicado de Terceros
+
Figura 7: Ancho de Banda Dedicado de Terceros
-Si bien reutilizar la capacidad disponible será atractivo para muchos contribuidores de red, también se puede dedicar ancho de banda recién adquirido a DoubleZero. En tal escenario, el DZD se conectaría directamente al operador de terceros sin ningún dispositivo interno del contribuidor en línea (figura 7). +Si bien reutilizar la capacidad disponible será atractivo para muchos contribuidores de red, también es posible dedicar ancho de banda recién adquirido a DoubleZero. En tal escenario, el DZD se conectaría directamente al operador de terceros sin que ningún dispositivo interno del contribuidor se interponga (figura 7). -Esta opción es atractiva ya que garantiza ancho de banda dedicado para DoubleZero, es operativamente simple y asegura una segmentación completa de cualquier otro servicio de red. Esta opción probablemente tendrá el mayor aumento de OPEX y requiere nuevos contratos de servicio con operadores de terceros. +Esta opción es atractiva ya que garantiza ancho de banda dedicado para DoubleZero, es operativamente simple y asegura una segmentación completa de cualquier otro servicio de red. Esta opción probablemente tendrá el mayor incremento de OPEX y requiere nuevos contratos de servicio con operadores de terceros. --- ## Requisitos de Hardware -### Contribución de Ancho de Banda de 100 Gbps +### Contribución de Ancho de Banda de 100Gbps -Tenga en cuenta que las cantidades a continuación reflejan el equipo necesario en dos centros de datos, es decir, el hardware total necesario para desplegar 1 cable de fibra óptica para la contribución de ancho de banda. +Tenga en cuenta que las cantidades a continuación reflejan el equipo necesario en dos centros de datos, es decir, el hardware total requerido para desplegar 1 cable de fibra óptica para contribución de ancho de banda. -??? warning "*Todas las FPGAs están sujetas a pruebas finales. Las contribuciones de 10G pueden ser compatibles usando switches Arista 7130LBR con FPGAs Virtex® UltraScale+™ integradas duales (si tiene alguna pregunta, la Fundación DoubleZero / Malbec Labs están felices de proporcionar más información)." +??? warning "*Todas las FPGAs están sujetas a pruebas finales. Las contribuciones de 10G pueden ser soportadas utilizando switches Arista 7130LBR con FPGAs Virtex® UltraScale+™ duales integradas (si tiene alguna pregunta, DoubleZero Foundation / Malbec Labs estarán encantados de proporcionar más información)." -#### Requisitos de Función y Puerto +#### Requisitos de Función y Puertos -| Función | Velocidad de Puerto | Requisito DZ | CANT | Nota | +| Función | Velocidad de Puerto | Requisito DZ | CANT | Nota | |-----------------------------|------------|----------------|-----|-------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Ancho de Banda Privado | 100G | Sí | 1 | | -| Acceso Directo a Internet (DIA) | 10G | Sí | 2 | | -| DoubleZero eXchange (DZX) | 100G | Sí* | 1 | Debe ser compatible cuando más de 3 proveedores operan en la misma área metropolitana; antes de esto, se pueden usar conexiones cruzadas u otros acuerdos de peering para interconectarse con otros proveedores. | -| Gestión | | No | 1 | Determinado por las propias políticas de gestión interna del contribuidor. | -| Consola | | No | 1 | Determinado por las propias políticas de gestión interna del contribuidor. | +| Ancho de Banda Privado | 100G | Sí | 1 | | +| Acceso Directo a Internet (DIA) | 10G | Sí | 2 | | +| DoubleZero eXchange (DZX) | 100G | Sí* | 1 | Debe soportarse una vez que más de 3 proveedores operen en la misma área metropolitana; antes de esto, se pueden usar cross-connects u otros acuerdos de peering para interconectarse con otros proveedores. | +| Gestión | | No | 1 | Determinado por las políticas internas de gestión del contribuidor. | +| Consola | | No | 1 | Determinado por las políticas internas de gestión del contribuidor. | #### Hardware de Red DZD -| Fabricante | Modelo | Número de Parte | Requisito DZ | CANT | Nota | +| Fabricante | Modelo | Número de Parte | Requisito DZ | CANT | Nota | |----------|-----------------|----------------------|----------------|-----|-----------------------------------------------------------| -| AMD* | V80* | 24540474 | Sí | 4 | | -| Arista | 7280CR3A | DCS-7280CR3A-32S | Sí | 2 | Pueden ser posibles alternativas si los tiempos de entrega son desafiantes. | +| AMD* | V80* | 24540474 | Sí | 4 | | +| Arista | 7280CR3A | DCS-7280CR3A-32S | Sí | 2 | Pueden ser posibles alternativas si los tiempos de entrega son difíciles. | --- -#### Óptica - 100G +#### Ópticas - 100G -| Fabricante | Modelo | Número de Parte | Requisito DZ | CANT | Nota | +| Fabricante | Modelo | Número de Parte | Requisito DZ | CANT | Nota | |--------|-------------|----------------|----------------|-----|-------------------------------------------------------------| -| Arista | 100GBASE-LR | QSFP-100G-LR | No | 16 | La elección de cableado y óptica está disponible a discreción del contribuidor. Se requieren 100G para conectar FPGAs. | +| Arista | 100GBASE-LR | QSFP-100G-LR | No | 16 | El cableado y la elección de ópticas quedan a discreción del contribuidor. Se requiere 100G para conectar FPGAs. | --- -#### Óptica - 10G +#### Ópticas - 10G -| Fabricante | Modelo | Número de Parte | Requisito DZ | CANT | Nota | +| Fabricante | Modelo | Número de Parte | Requisito DZ | CANT | Nota | |--------|-------------|----------------|----------------|-----|-------------------------------------------------------------| -| Arista | 10GBASE-LR | SFP-10G-LR | No | 2 | La elección de cableado y óptica está disponible a discreción del contribuidor. | -| Finisar | DynamiX QSA™ | MAM1Q00A-QSA | No | 2 | La elección de cableado y óptica está disponible a discreción del contribuidor. | +| Arista | 10GBASE-LR | SFP-10G-LR | No | 2 | El cableado y la elección de ópticas quedan a discreción del contribuidor. | +| Finisar | DynamiX QSA™ | MAM1Q00A-QSA | No | 2 | El cableado y la elección de ópticas quedan a discreción del contribuidor. | --- @@ -163,56 +165,56 @@ Tenga en cuenta que las cantidades a continuación reflejan el equipo necesario | Direccionamiento IP | Tamaño Mínimo de Subred | Requisito DZ | Nota | |--------------|-------------------|----------------|----------------------------------------------------------| -| IPv4 Pública | /29 | Sí (para DZDs de borde/híbridos) | Debe ser enrutable a través de DIA. Podemos eliminar la necesidad de esto con el tiempo. | +| Public IPv4 | /29 | Sí (para DZDs de borde/híbridos) | Debe ser enrutable vía DIA. Es posible que eliminemos la necesidad de esto con el tiempo. | Asegúrese de que el pool /29 completo esté disponible para el protocolo DZ. Cualquier requisito de direccionamiento punto a punto, por ejemplo, en interfaces DIA, debe gestionarse mediante un pool de direcciones diferente. -### Contribución de Ancho de Banda de 10 Gbps +### Contribución de Ancho de Banda de 10Gbps -Tenga en cuenta que las cantidades reflejan el equipo de dos centros de datos, es decir, el hardware total necesario para desplegar 1 contribución de ancho de banda. +Tenga en cuenta que las cantidades reflejan el equipo de dos centros de datos, es decir, el hardware total requerido para desplegar 1 contribución de ancho de banda. -#### Requisitos de Función y Puerto +#### Requisitos de Función y Puertos -| Función | Velocidad de Puerto | Requisito DZ | CANT | Nota | +| Función | Velocidad de Puerto | Requisito DZ | CANT | Nota | |-----------------------------|------------|----------------|-----|-------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Ancho de Banda Privado | 10G | Sí | 1 | | -| Acceso Directo a Internet (DIA) | 10G | Sí | 2 | | -| DoubleZero eXchange (DZX) | 100G | Sí* | 1 | Debe ser compatible cuando más de 3 proveedores operan en la misma área metropolitana; antes de esto, se pueden usar conexiones cruzadas u otros acuerdos de peering para interconectarse con otros proveedores. | -| Gestión | | No | 1 | Determinado por las propias políticas de gestión interna del contribuidor. | -| Consola | | No | 1 | Determinado por las propias políticas de gestión interna del contribuidor. | +| Ancho de Banda Privado | 10G | Sí | 1 | | +| Acceso Directo a Internet (DIA) | 10G | Sí | 2 | | +| DoubleZero eXchange (DZX) | 100G | Sí* | 1 | Debe soportarse una vez que más de 3 proveedores operen en la misma área metropolitana; antes de esto, se pueden usar cross-connects u otros acuerdos de peering para interconectarse con otros proveedores. | +| Gestión | | No | 1 | Determinado por las políticas internas de gestión del contribuidor. | +| Consola | | No | 1 | Determinado por las políticas internas de gestión del contribuidor. | --- #### Hardware -| Fabricante | Modelo | Número de Parte | Requisito DZ | CANT | Nota | +| Fabricante | Modelo | Número de Parte | Requisito DZ | CANT | Nota | |----------|-----------------|----------------------|----------------|-----|-----------------------------------------------------------| -| AMD* | V80* | 24540474* | Sí | 4 | | | -| Arista | 7280CR3A | DCS-7280CR3A-32S | Sí | 2 | Pueden ser posibles alternativas si los tiempos de entrega son desafiantes. | +| AMD* | V80* | 24540474* | Sí | 4 | | | +| Arista | 7280CR3A | DCS-7280CR3A-32S | Sí | 2 | Pueden ser posibles alternativas si los tiempos de entrega son difíciles. | --- -#### Óptica - 100G +#### Ópticas - 100G -| Fabricante | Modelo | Número de Parte | Requisito DZ | CANT | Nota | +| Fabricante | Modelo | Número de Parte | Requisito DZ | CANT | Nota | |--------|-------------|----------------|----------------|-----|-------------------------------------------------------------| -| Arista | 100GBASE-LR | QSFP-100G-LR | No | 14 | La elección de cableado y óptica está disponible a discreción del contribuidor. Se requieren 100G para conectar FPGAs. | +| Arista | 100GBASE-LR | QSFP-100G-LR | No | 14 | El cableado y la elección de ópticas quedan a discreción del contribuidor. Se requiere 100G para conectar FPGAs. | --- -#### Óptica - 10G +#### Ópticas - 10G -| Fabricante | Modelo | Número de Parte | Requisito DZ | CANT | Nota | +| Fabricante | Modelo | Número de Parte | Requisito DZ | CANT | Nota | |--------|-------------|----------------|----------------|-----|-------------------------------------------------------------| -| Arista | 10GBASE-LR | SFP-10G-LR | No | 4 | La elección de cableado y óptica está disponible a discreción del contribuidor. | - Finisar | DynamiX QSA™ | MAM1Q00A-QSA | No | 4 | La elección de cableado y óptica está disponible a discreción del contribuidor. | +| Arista | 10GBASE-LR | SFP-10G-LR | No | 4 | El cableado y la elección de ópticas quedan a discreción del contribuidor. | + Finisar | DynamiX QSA™ | MAM1Q00A-QSA | No | 4 | El cableado y la elección de ópticas quedan a discreción del contribuidor. | --- #### Direccionamiento IP | Direccionamiento IP | Tamaño Mínimo de Subred | Requisito DZ | Nota | |--------------|-------------------|----------------|----------------------------------------------------------| -| IPv4 Pública | /29 | Sí (para DZDs de borde/híbridos) | Debe ser enrutable a través de DIA. Podemos eliminar la necesidad de esto con el tiempo. | +| Public IPv4 | /29 | Sí (para DZDs de borde/híbridos) | Debe ser enrutable vía DIA. Es posible que eliminemos la necesidad de esto con el tiempo. | Asegúrese de que el pool /29 completo esté disponible para el protocolo DZ. Cualquier requisito de direccionamiento punto a punto, por ejemplo, en interfaces DIA, debe gestionarse mediante un pool de direcciones diferente. @@ -220,13 +222,38 @@ Asegúrese de que el pool /29 completo esté disponible para el protocolo DZ. Cu #### Requisitos de Rack y Energía -| Requisito | Especificación | -|-------------|--------------| -| Espacio en Rack | 4U | -| Energía | 4KW (recomendado) | +Las cifras a continuación son **por DZD**, es decir, por centro de datos. Una contribución de ancho de banda de 100G o 10G coloca un DZD en cada extremo del enlace, así que planifique esto dos veces. + +##### Espacio en rack + +| Elemento | Unidades de rack | Necesario | +|------|-----------|--------| +| Switch DZD (Arista 7280CR3A-32S o 7130LBR) | 1U | Ahora | +| Appliance de filtrado en el borde | 1U | Posteriormente, solo en dispositivos de borde e híbridos | + +**Reserve 2U por DZD.** Una unidad está en uso hoy. Mantenga la segunda libre para que el appliance de filtrado en el borde pueda instalarse junto al switch sin necesidad de mover el rack. Deje espacio para flujo de aire y gestión de cables según lo requiera su instalación. + +##### Energía + +| Elemento | Consumo típico | +|------|-------------| +| Arista 7280CR3A-32S | ~300 W | +| Ópticas, por QSFP 100G | ~5 W | + +**Solicite 2 kW por DZD, distribuidos entre dos alimentaciones independientes.** Dimensione cada alimentación para soportar la carga completa por sí sola. El switch cuenta con fuentes de alimentación redundantes, y tras una falla de alimentación, una de ellas puede ser todo lo que le quede. + +2 kW es cómodo en lugar de ajustado. Un DZD solo con switch, que es lo que ejecuta casi todo despliegue hoy, consume bastante menos de 500 W con todas sus ópticas encendidas. El resto de los 2 kW está reservado para el appliance de filtrado en el borde, que contiene las FPGAs y se instala posteriormente. + +!!! warning "No solicite energía en exceso" + Usted paga por la energía que reserva, la consuma o no. Un DZD es una sola unidad de rack de conmutación, no un chasis de cómputo, por lo que consume mucho menos de lo que su posición en el rack podría suministrar. Reservar más de 2 kW por DZD significa pagar por capacidad que permanece inactiva. + +!!! note "Verifique su propio hardware antes de hacer el pedido" + Estas son cifras orientativas de nuestros propios despliegues. Su consumo real depende de la configuración de su fuente de alimentación, cuántos puertos encienda y qué ópticas elija. Confirme con las especificaciones de potencia en la hoja de datos del fabricante para el hardware exacto que adquiera. + + Tampoco ajuste el pedido al mínimo indispensable. La energía debe estar disponible en el rack, y agregar una alimentación después generalmente implica un nuevo pedido con la instalación, lo cual puede tomar semanas. --- ## Próximos Pasos -¿Listo para aprovisionar su primer DZD? Continúe a la [Guía de Aprovisionamiento de Dispositivos](contribute-provisioning.md). +¿Listo para aprovisionar su primer DZD? Continúe con la [Guía de Aprovisionamiento de Dispositivos](contribute-provisioning.md). \ No newline at end of file diff --git a/docs/contribute.fr.md b/docs/contribute.fr.md index 49861fa..aa1891b 100644 --- a/docs/contribute.fr.md +++ b/docs/contribute.fr.md @@ -1,232 +1,259 @@ -# Exigences et Architecture des Contributeurs -!!! warning "This translation was generated using artificial intelligence and has not been reviewed by a human translator. It may contain inaccuracies or errors and should not be relied upon." +--- +description: Exigences matérielles, de bande passante et de connectivité, ainsi que l'architecture pour contribuer de la capacité au réseau DoubleZero. +--- +# Exigences et architecture pour les contributeurs ## Résumé -Toute personne souhaitant monétiser ses câbles à fibre optique et son matériel réseau sous-utilisés peut contribuer au réseau DoubleZero. Les contributeurs réseau doivent fournir une bande passante dédiée entre deux points, exploiter des dispositifs compatibles DoubleZero (DZD) à chaque extrémité, et une connexion à l'internet public à chaque extrémité. Les contributeurs réseau doivent également exécuter des logiciels DoubleZero sur chaque DZD pour fournir des services comme le multicast, la recherche d'utilisateurs, et le filtrage en périphérie. +Toute personne souhaitant monétiser ses câbles à fibre optique et son matériel réseau sous-utilisés peut contribuer au réseau DoubleZero. Les contributeurs réseau doivent fournir une bande passante dédiée entre deux points, exploiter des appareils compatibles DoubleZero (DZD) à chaque extrémité, ainsi qu'une connexion à l'internet public à chaque extrémité. Les contributeurs réseau doivent également exécuter le logiciel DoubleZero sur chaque DZD pour fournir des services tels que le multicast, la recherche d'utilisateurs et le filtrage en périphérie. -Le contrat intelligent DoubleZero est la pierre angulaire pour garantir que le réseau maintient des liaisons de haute qualité qui peuvent être mesurées et intégrées dans la topologie, permettant à nos contrôleurs de réseau de développer le chemin le plus efficace de bout en bout entre nos différents utilisateurs et points d'extrémité. Lors de l'exécution du contrat intelligent et du déploiement du matériel réseau et de la bande passante, une entité est classifiée comme contributeur réseau. Voir [DoubleZero Economics](https://economics.doublezero.xyz/overview) pour mieux comprendre les aspects économiques de la participation à DoubleZero en tant que contributeur réseau. +Le contrat intelligent DoubleZero est la pierre angulaire garantissant que le réseau maintient des liaisons de haute qualité pouvant être mesurées et intégrées dans la topologie, permettant à nos contrôleurs réseau de développer le chemin de bout en bout le plus efficace entre nos différents utilisateurs et points de terminaison. Après l'exécution du contrat intelligent et le déploiement de l'équipement réseau et de la bande passante, une entité est classée comme contributeur réseau. Consultez [DoubleZero Economics](https://economics.doublezero.xyz/overview) pour mieux comprendre les aspects économiques de la participation à DoubleZero en tant que contributeur réseau. --- -## Exigences pour être un Contributeur Réseau DoubleZero +## Exigences pour devenir contributeur réseau DoubleZero - Bande passante dédiée pouvant fournir une connectivité IPv4 et un MTU de 2048 octets entre deux centres de données - Matériel DoubleZero Device (DZD) compatible avec le protocole DoubleZero - Connectivité à internet et aux autres contributeurs réseau DoubleZero - Installation du logiciel DoubleZero sur le DZD -## Guide de Démarrage Rapide +## Guide de démarrage rapide -En tant que contributeur réseau, la façon la plus simple de commencer avec DoubleZero est d'identifier la capacité dans votre réseau qui peut être dédiée à DoubleZero. Une fois identifiés, des DZD doivent être déployés, facilitant le réseau superposé DoubleZero qui ne nécessite que la connectivité IPv4 et un MTU minimum de 2048 octets comme dépendances du réseau du contributeur. +En tant que contributeur réseau, la façon la plus simple de commencer avec DoubleZero est d'identifier la capacité dans votre réseau pouvant être dédiée à DoubleZero. Une fois identifiée, les DZD doivent être déployés, facilitant le réseau overlay DoubleZero qui ne nécessite que la joignabilité IPv4 et un MTU minimum de 2048 octets comme dépendances du réseau du contributeur. -La figure 1 met en évidence le modèle le plus simple pour contribuer des services de bande passante et d'envoi et de traitement de paquets. Un DZD est déployé dans chaque centre de données, s'interfaçant avec le réseau interne du contributeur réseau pour fournir une connectivité WAN DoubleZero. Cela est complété par un internet local, généralement une solution d'Accès Direct à Internet (DIA), qui est utilisé comme points d'entrée pour les utilisateurs DoubleZero. Bien qu'il soit prévu que DIA sera l'option préférée pour faciliter l'accès aux utilisateurs de DoubleZero, de nombreux modèles de connectivité sont possibles, par exemple le câblage physique vers des serveurs, l'extension de fabric réseau, etc. Nous appelons ces options Choose Your Own Adventure (CYOA), offrant au contributeur la flexibilité de connecter des utilisateurs locaux ou distants d'une manière qui convient le mieux à leurs politiques réseau internes. +La figure 1 illustre le modèle le plus simple pour contribuer de la bande passante et des services d'envoi et de traitement de paquets. Un DZD est déployé dans chaque centre de données, s'interfaçant avec le réseau interne du contributeur réseau pour fournir la connectivité WAN DoubleZero. Ceci est complété par un accès internet local, généralement une solution d'accès internet direct (DIA), utilisée comme point d'entrée pour les utilisateurs de DoubleZero. Bien qu'il soit prévu que le DIA soit l'option privilégiée pour faciliter l'accès aux utilisateurs de DoubleZero, de nombreux modèles de connectivité sont possibles, par exemple le câblage physique aux serveurs, l'extension de la fabric réseau, etc. Nous désignons ces options sous le nom de Choose Your Own Adventure (CYOA), offrant au contributeur la flexibilité de connecter les utilisateurs locaux ou distants de la manière la mieux adaptée à leurs politiques réseau internes. -Comme pour tout réseau, la connectivité est une partie fondamentale de l'architecture, car les contributeurs réseau ne peuvent pas vivre en isolement. En tant que tel, le DZD *doit* avoir un lien vers un DoubleZero Exchange (DZX) pour créer un réseau contigu entre les participants. +Comme pour tout réseau, la joignabilité est une partie fondamentale de l'architecture, car les contributeurs réseau ne peuvent pas vivre en isolation. À ce titre, le DZD *doit* avoir une liaison vers un DoubleZero Exchange (DZX) pour créer un réseau contigu entre les participants.
![Image title](images/figure1.png){ width="800" } -
Figure 1 : Contribution de Bande Passante Réseau DoubleZero Entre 2 Centres de Données - Contributeur Unique
+
Figure 1 : Contribution de bande passante réseau DoubleZero entre 2 centres de données - Contributeur unique
-### Exemples de Contributions +### Exemples de contributions Les façons dont un contributeur réseau peut développer ses contributions DoubleZero sont nombreuses, notamment : -- Améliorer les caractéristiques de performance de leurs contributions existantes : augmenter la bande passante, réduire la latence -- Ajouter plusieurs liens entre les mêmes centres de données -- Ajouter un nouveau lien d'un centre de données existant vers un nouveau centre de données -- Ajouter un nouveau lien indépendant entre deux nouveaux centres de données +- Améliorer les caractéristiques de performance de ses contributions existantes : augmenter la bande passante, réduire la latence +- Ajouter plusieurs liaisons entre les mêmes centres de données +- Ajouter une nouvelle liaison d'un centre de données existant vers un nouveau centre de données +- Ajouter une nouvelle liaison indépendante entre deux nouveaux centres de données -#### Exemple 1 : Contributeur Unique, 3 Centres de Données, Deux Liens +#### Exemple 1 : Contributeur unique, 3 centres de données, deux liaisons
![Image title](images/figure2.png){ width="800" } -
Figure 2 : Contribution de Bande Passante Réseau DoubleZero Entre 3 Centres de Données - Contributeur Unique
+
Figure 2 : Contribution de bande passante réseau DoubleZero entre 3 centres de données - Contributeur unique
-Un seul DZD peut prendre en charge plusieurs liens contribués à DoubleZero. La figure 2 illustre une topologie potentielle si un seul centre de données, désigné comme 1, termine la bande passante vers deux centres de données distants différents 2 et 3. Dans ce scénario, chaque centre de données ne contient qu'un seul DZD. Tous les DZD utilisent DIA pour les points d'entrée des utilisateurs comme interface CYOA. +Un seul DZD peut prendre en charge plusieurs liaisons contribuées à DoubleZero. La figure 2 illustre une topologie potentielle si un seul centre de données, désigné comme 1, termine la bande passante vers deux centres de données distants différents, 2 et 3. Dans ce scénario, chaque centre de données contient un seul DZD. Tous les DZD utilisent le DIA pour les points d'entrée utilisateurs comme interface CYOA. -#### Exemple 2 : Contributeur Unique, 3 Centres de Données, Trois Liens +#### Exemple 2 : Contributeur unique, 3 centres de données, trois liaisons -La figure 3 décrit la topologie DoubleZero lorsqu'un seul contributeur déploie trois liens dans une topologie en triangle entre 3 centres de données. Dans un scénario similaire à l'exemple 1, un seul DZD est déployé dans les centres de données 1, 2 et 3, chacun prenant en charge 2 liens réseau indépendants. La topologie résultante est un triangle ou anneau entre les centres de données. +La figure 3 décrit la topologie DoubleZero lorsqu'un contributeur unique déploie trois liaisons dans une topologie en triangle entre 3 centres de données. Dans un scénario similaire à l'exemple 1, un seul DZD est déployé dans les centres de données 1, 2 et 3, chacun prenant en charge 2 liaisons réseau indépendantes. La topologie résultante est un triangle ou anneau entre les centres de données.
![Image title](images/figure3.png){ width="800" } -
Figure 3 : Contribution de Bande Passante Réseau DoubleZero Entre 3 Centres de Données - Contributeur Unique
+
Figure 3 : Contribution de bande passante réseau DoubleZero entre 3 centres de données - Contributeur unique
### DoubleZero Exchange -La création d'un réseau contigu est un élément fondamental de l'architecture DoubleZero. Les contributeurs s'interfacent via un DoubleZero Exchange (DZX) dans une zone métropolitaine, qui est une ville comme New York (NYC), Londres (LON) ou Tokyo (TYO). Un DZX est une fabric réseau similaire à un Internet Exchange, permettant le peering et l'échange de routes. +La création d'un réseau contigu est un élément fondamental de l'architecture DoubleZero. Les contributeurs s'interconnectent via un DoubleZero Exchange (DZX) au sein d'une zone métropolitaine, qui est une ville telle que New York (NYC), Londres (LON) ou Tokyo (TYO). Un DZX est une fabric réseau similaire à un point d'échange internet, permettant le peering et l'échange de routes. Dans la figure 4, le contributeur réseau 1 opère dans les centres de données 1, 2 et 3, tandis que le contributeur réseau 2 opère dans les centres de données 2, 4 et 5. En s'interconnectant dans le centre de données 2, la portée du réseau DoubleZero s'étend à 5 centres de données contigus.
![Image title](images/figure4.png){ width="1000" } -
Figure 4 : Contribution de Bande Passante Réseau DoubleZero Entre 2 Contributeurs de Bande Passante Réseau
+
Figure 4 : Contribution de bande passante réseau DoubleZero entre 2 contributeurs de bande passante réseau
-### Options de Contribution de Bande Passante +### Options de contribution de bande passante -DoubleZero exige qu'un contributeur réseau offre une connectivité intégrée via une bande passante garantie, un profil de latence et de gigue entre les DZD de deux centres de données de terminaison, exprimé via un contrat intelligent. DoubleZero ne mandate pas la façon dont un contributeur réseau met en œuvre sa contribution ; cependant, dans les sections suivantes, nous fournissons des options indicatives à leur usage à leur seule discrétion. +DoubleZero exige qu'un contributeur réseau offre une connectivité intégrée via un profil garanti de bande passante, latence et gigue entre les DZD de deux centres de données de terminaison, exprimé via un contrat intelligent. DoubleZero ne prescrit pas la manière dont un contributeur réseau implémente sa contribution ; cependant, dans les sections suivantes, nous fournissons des options indicatives à utiliser à sa seule discrétion. -Les domaines importants à considérer pour un contributeur réseau pourraient être : +Les domaines importants à considérer pour un contributeur réseau peuvent être : -- Capacité à garantir les performances réseau du service DoubleZero : bande passante, latence et gigue -- Ségrégation de leurs services réseau internes existants -- Conflits d'adressage IPv4, en particulier avec l'espace d'adresses du tunnel underlay -- Temps de disponibilité et disponibilité -- Considérations CAPEX et OPEX +- La capacité à garantir les performances réseau du service DoubleZero : bande passante, latence et gigue +- La ségrégation par rapport à leurs services réseau internes existants +- Les conflits d'adressage IPv4, spécifiquement avec l'espace d'adressage de l'underlay tunnel +- La disponibilité et le temps de fonctionnement +- Les considérations de CAPEX et OPEX -#### Bande Passante de Couche 1 +#### Bande passante couche 1
![Image title](images/figure5.png){ width="800" } -
Figure 5 : Services Optiques de Couche 1
+
Figure 5 : Services optiques couche 1
-La bande passante de couche 1, plus formellement décrite comme services de longueur d'onde, peut voir une capacité dédiée provisionnée sur une infrastructure optique existante, telle que DWDM, CWDM ou via des multiplexeurs optiques (MUX). Dans la figure 5, les DZD utilisent une optique colorée câblée à un MUX L1, qui entrelace la longueur d'onde du DZD sur une fibre noire existante. +La bande passante couche 1, plus formellement décrite comme des services de longueur d'onde, peut voir une capacité dédiée provisionnée sur une infrastructure optique existante, telle que DWDM, CWDM ou via des multiplexeurs optiques (MUX). Dans la figure 5, les DZD utilisent une optique colorée câblée à un MUX L1, qui entrelace la longueur d'onde du DZD sur une fibre noire existante. -Cette solution présente de nombreux avantages pour les contributeurs réseau qui exploitent déjà un réseau cœur existant. Les changements opérationnels itératifs, ainsi que les exigences supplémentaires en CAPEX et OPEX, sont modestes. Cette option est particulièrement robuste pour offrir la ségrégation des services réseau du contributeur. +Cette solution présente de nombreux avantages pour les contributeurs réseau qui exploitent déjà un réseau cœur existant. Les changements opérationnels itératifs, ainsi que les exigences supplémentaires en CAPEX et OPEX, sont modestes. Cette option est particulièrement robuste pour offrir une ségrégation par rapport aux services réseau du contributeur. -#### Bande Passante Commutée par Paquets +#### Bande passante commutée par paquets -Les réseaux commutés par paquets peuvent être considérés comme un réseau d'entreprise typique, exécutant des protocoles de routage et de commutation standard prenant en charge des applications commerciales. Il existe de nombreuses technologies réseau qui permettent la connectivité, par exemple, les extensions de couche 2 (L2) utilisant des balises VLAN. +Les réseaux commutés par paquets peuvent être considérés comme un réseau d'entreprise typique, exécutant des protocoles de routage et de commutation standard prenant en charge les applications métier. De nombreuses technologies réseau permettent d'assurer la connectivité, par exemple, les extensions couche 2 (L2) utilisant des tags VLAN. ##### Extension L2
![Image title](images/figure6.png){ width="800" } -
Figure 6 : Réseaux Commutés par Paquets - Extension L2
+
Figure 6 : Réseaux commutés par paquets - Extension L2
-Une extension L2 comme illustrée dans la Figure 6 peut être facilitée par le balisage VLAN. Le port d'un DZD peut être câblé au commutateur du réseau interne d'un contributeur, avec le port de commutation configuré en mode accès dans, par exemple, VLAN 10. Via le balisage 802.1q, ce VLAN peut être transporté sur plusieurs sauts de commutation sur le réseau du contributeur, se terminant au commutateur interfaçant avec le DZD distant. +Une extension L2 telle qu'illustrée dans la figure 6 peut être facilitée par le marquage VLAN. Le port d'un DZD peut être câblé au commutateur réseau interne d'un contributeur, le port du commutateur étant configuré comme port d'accès dans, par exemple, le VLAN 10. Grâce au marquage 802.1q, ce VLAN peut être transporté sur plusieurs sauts de commutateurs sur le réseau du contributeur, se terminant au commutateur interfacé avec le DZD distant. -Cette solution bénéficie d'un large support et d'une mise en œuvre relativement facile tout en créant une segmentation entre DoubleZero et les services de couche 3 internes. La bande passante peut être contrôlée en fonction de la vitesse d'interface du commutateur ou routeur interne du contributeur. Une attention particulière doit être accordée aux performances sur le réseau L2 interne partagé via des technologies telles que la Qualité de Service (QoS) ou d'autres politiques de gestion du trafic. Cependant, les investissements supplémentaires en CAPEX et OPEX devraient être modestes si la capacité existante est disponible dans le réseau cœur du contributeur. +Cette solution bénéficie d'un support large et d'une mise en œuvre relativement facile tout en créant une segmentation entre DoubleZero et les services internes de couche 3. La bande passante peut être contrôlée en fonction de la vitesse d'interface du commutateur ou du routeur interne du contributeur. Une attention particulière doit être accordée aux performances à travers le réseau L2 interne partagé via des technologies telles que la qualité de service (QoS) ou d'autres politiques de gestion du trafic. Cependant, les investissements supplémentaires en CAPEX et OPEX devraient être modestes si une capacité existante est disponible au sein du réseau cœur du contributeur. -#### Bande Passante Tierce Dédiée +#### Bande passante dédiée tierce
![Image title](images/figure7.png){ width="800" } -
Figure 7 : Bande Passante Tierce Dédiée
+
Figure 7 : Bande passante dédiée tierce
-Bien que la réutilisation de la capacité disponible soit attrayante pour de nombreux contributeurs réseau, on peut également dédier une bande passante nouvellement acquise à DoubleZero. Dans un tel scénario, le DZD se connecterait directement au transporteur tiers sans aucun dispositif interne du contributeur en ligne (figure 7). +Bien que la réutilisation de la capacité disponible soit attrayante pour de nombreux contributeurs réseau, il est également possible de dédier une bande passante nouvellement acquise à DoubleZero. Dans un tel scénario, le DZD se connecterait directement à l'opérateur tiers sans qu'aucun équipement interne du contributeur ne soit en ligne (figure 7). -Cette option est attrayante car elle garantit une bande passante dédiée pour DoubleZero, est simple opérationnellement et assure une ségrégation complète de tout autre service réseau. Cette option aura probablement la plus forte augmentation d'OPEX et nécessite de nouveaux contrats de service avec des transporteurs tiers. +Cette option est attractive car elle garantit une bande passante dédiée pour DoubleZero, est simple sur le plan opérationnel et assure une segmentation complète par rapport à tout autre service réseau. Cette option entraînera probablement la plus forte augmentation d'OPEX et nécessite de nouveaux contrats de service avec des opérateurs tiers. --- -## Exigences Matérielles +## Exigences matérielles -### Contribution de Bande Passante 100Gbps +### Contribution de bande passante 100 Gbps -Notez que les quantités ci-dessous reflètent le matériel nécessaire dans deux centres de données, c'est-à-dire le matériel total nécessaire pour déployer 1 câble à fibre optique pour la contribution de bande passante. +Notez que les quantités ci-dessous reflètent l'équipement nécessaire dans deux centres de données, c'est-à-dire le matériel total requis pour déployer 1 câble à fibre optique pour la contribution de bande passante. -??? warning "*Tous les FPGA sont soumis à des tests finaux. Les contributions 10G peuvent être prises en charge à l'aide de commutateurs Arista 7130LBR avec FPGA Virtex® UltraScale+™ double intégré (si vous avez des questions, la DoubleZero Foundation / Malbec Labs sont heureux de fournir plus d'informations)." +??? warning "*Tous les FPGA sont soumis aux tests finaux. Les contributions 10G peuvent être prises en charge en utilisant des commutateurs Arista 7130LBR avec des FPGA double Virtex® UltraScale+™ intégrés (si vous avez des questions, la DoubleZero Foundation / Malbec Labs se feront un plaisir de fournir plus d'informations).*" -#### Exigences de Fonction et de Port +#### Exigences de fonctions et de ports -| Fonction | Vitesse de Port | Exigence DZ | QTY | Note | -|-----------------------------|-----------------|-------------|-----|-------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Bande Passante Privée | 100G | Oui | 1 | | -| Accès Direct à Internet (DIA) | 10G | Oui | 2 | | -| DoubleZero eXchange (DZX) | 100G | Oui* | 1 | Doit être pris en charge une fois que plus de 3 fournisseurs opèrent dans la même zone métropolitaine, avant cela, des interconnexions croisées ou d'autres arrangements de peering peuvent être utilisés pour s'interconnecter avec d'autres fournisseurs. | -| Gestion | | Non | 1 | Déterminé par les politiques de gestion internes du contributeur. | -| Console | | Non | 1 | Déterminé par les politiques de gestion internes du contributeur. | +| Fonction | Vitesse de port | Exigence DZ | QTÉ | Note | +|-----------------------------|------------|----------------|-----|-------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Bande passante privée | 100G | Oui | 1 | | +| Accès internet direct (DIA) | 10G | Oui | 2 | | +| DoubleZero eXchange (DZX) | 100G | Oui* | 1 | Doit être pris en charge dès que plus de 3 fournisseurs opèrent dans la même zone métropolitaine ; avant cela, des interconnexions directes ou d'autres arrangements de peering peuvent être utilisés pour s'interconnecter avec d'autres fournisseurs. | +| Gestion | | Non | 1 | Déterminé par les propres politiques de gestion interne du contributeur. | +| Console | | Non | 1 | Déterminé par les propres politiques de gestion interne du contributeur. | -#### Matériel Réseau DZD +#### Matériel réseau DZD -| Fabricant | Modèle | Numéro de Pièce | Exigence DZ | QTY | Note | -|-----------|-----------------|----------------------|-------------|-----|-----------------------------------------------------------| -| AMD* | V80* | 24540474 | Oui | 4 | | -| Arista | 7280CR3A | DCS-7280CR3A-32S | Oui | 2 | Des alternatives peuvent être possibles si les délais de livraison sont difficiles. | +| Fabricant | Modèle | Référence | Exigence DZ | QTÉ | Note | +|----------|-----------------|----------------------|----------------|-----|-----------------------------------------------------------| +| AMD* | V80* | 24540474 | Oui | 4 | | +| Arista | 7280CR3A | DCS-7280CR3A-32S | Oui | 2 | Des alternatives peuvent être envisagées si les délais de livraison sont contraignants. | --- #### Optiques - 100G -| Fabricant | Modèle | Numéro de Pièce | Exigence DZ | QTY | Note | -|-----------|-------------|----------------|-------------|-----|-------------------------------------------------------------| -| Arista | 100GBASE-LR | QSFP-100G-LR | Non | 16 | Le choix du câblage et de l'optique est à la discrétion du contributeur. 100G requis pour connecter les FPGA. | +| Fabricant | Modèle | Référence | Exigence DZ | QTÉ | Note | +|--------|-------------|----------------|----------------|-----|-------------------------------------------------------------| +| Arista | 100GBASE-LR | QSFP-100G-LR | Non | 16 | Le câblage et le choix des optiques sont à la discrétion du contributeur. 100G requis pour connecter les FPGA. | --- #### Optiques - 10G -| Fabricant | Modèle | Numéro de Pièce | Exigence DZ | QTY | Note | -|-----------|-------------|----------------|-------------|-----|-------------------------------------------------------------| -| Arista | 10GBASE-LR | SFP-10G-LR | Non | 2 | Le choix du câblage et de l'optique est à la discrétion du contributeur. | -| Finisar | DynamiX QSA™ | MAM1Q00A-QSA | Non | 2 | Le choix du câblage et de l'optique est à la discrétion du contributeur. | +| Fabricant | Modèle | Référence | Exigence DZ | QTÉ | Note | +|--------|-------------|----------------|----------------|-----|-------------------------------------------------------------| +| Arista | 10GBASE-LR | SFP-10G-LR | Non | 2 | Le câblage et le choix des optiques sont à la discrétion du contributeur. | +| Finisar | DynamiX QSA™ | MAM1Q00A-QSA | Non | 2 | Le câblage et le choix des optiques sont à la discrétion du contributeur. | --- #### Adressage IP -| Adressage IP | Taille de Sous-réseau Minimale | Exigence DZ | Note | -|--------------|-------------------------------|-------------|----------------------------------------------------------| -| IPv4 Public | /29 | Oui (pour DZD de périphérie/hybrides) | Doit être routable via DIA. Nous pourrions éliminer ce besoin au fil du temps. | +| Adressage IP | Taille minimale du sous-réseau | Exigence DZ | Note | +|--------------|-------------------|----------------|----------------------------------------------------------| +| Public IPv4 | /29 | Oui (pour les DZD edge/hybrides) | Doit être routable via DIA. Nous pourrions éliminer ce besoin au fil du temps. | -Veuillez vous assurer que le pool /29 complet est disponible pour le protocole DZ. Les exigences pour l'adressage point à point, par exemple sur les interfaces DIA, doivent être gérées via un pool d'adresses différent. +Veuillez vous assurer que l'intégralité du pool /29 est disponible pour le protocole DZ. Toute exigence d'adressage point à point, par exemple sur les interfaces DIA, doit être gérée via un pool d'adresses différent. -### Contribution de Bande Passante 10Gbps +### Contribution de bande passante 10 Gbps -Notez que les quantités reflètent le matériel de deux centres de données, c'est-à-dire le matériel total nécessaire pour déployer 1 contribution de bande passante. +Notez que les quantités reflètent l'équipement pour deux centres de données, c'est-à-dire le matériel total requis pour déployer 1 contribution de bande passante. -#### Exigences de Fonction et de Port +#### Exigences de fonctions et de ports -| Fonction | Vitesse de Port | Exigence DZ | QTY | Note | -|-----------------------------|-----------------|-------------|-----|-------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Bande Passante Privée | 10G | Oui | 1 | | -| Accès Direct à Internet (DIA) | 10G | Oui | 2 | | -| DoubleZero eXchange (DZX) | 100G | Oui* | 1 | Doit être pris en charge une fois que plus de 3 fournisseurs opèrent dans la même zone métropolitaine ; avant cela, des interconnexions croisées ou d'autres arrangements de peering peuvent être utilisés pour s'interconnecter avec d'autres fournisseurs. | -| Gestion | | Non | 1 | Déterminé par les politiques de gestion internes du contributeur. | -| Console | | Non | 1 | Déterminé par les politiques de gestion internes du contributeur. | +| Fonction | Vitesse de port | Exigence DZ | QTÉ | Note | +|-----------------------------|------------|----------------|-----|-------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Bande passante privée | 10G | Oui | 1 | | +| Accès internet direct (DIA) | 10G | Oui | 2 | | +| DoubleZero eXchange (DZX) | 100G | Oui* | 1 | Doit être pris en charge dès que plus de 3 fournisseurs opèrent dans la même zone métropolitaine ; avant cela, des interconnexions directes ou d'autres arrangements de peering peuvent être utilisés pour s'interconnecter avec d'autres fournisseurs. | +| Gestion | | Non | 1 | Déterminé par les propres politiques de gestion interne du contributeur. | +| Console | | Non | 1 | Déterminé par les propres politiques de gestion interne du contributeur. | --- #### Matériel -| Fabricant | Modèle | Numéro de Pièce | Exigence DZ | QTY | Note | -|-----------|-----------------|----------------------|-------------|-----|-----------------------------------------------------------| -| AMD* | V80* | 24540474* | Oui | 4 | | -| Arista | 7280CR3A | DCS-7280CR3A-32S | Oui | 2 | Des alternatives peuvent être possibles si les délais de livraison sont difficiles. | +| Fabricant | Modèle | Référence | Exigence DZ | QTÉ | Note | +|----------|-----------------|----------------------|----------------|-----|-----------------------------------------------------------| +| AMD* | V80* | 24540474* | Oui | 4 | | | +| Arista | 7280CR3A | DCS-7280CR3A-32S | Oui | 2 | Des alternatives peuvent être envisagées si les délais de livraison sont contraignants. | --- #### Optiques - 100G -| Fabricant | Modèle | Numéro de Pièce | Exigence DZ | QTY | Note | -|-----------|-------------|----------------|-------------|-----|-------------------------------------------------------------| -| Arista | 100GBASE-LR | QSFP-100G-LR | Non | 14 | Le choix du câblage et de l'optique est à la discrétion du contributeur. 100G requis pour connecter les FPGA. | +| Fabricant | Modèle | Référence | Exigence DZ | QTÉ | Note | +|--------|-------------|----------------|----------------|-----|-------------------------------------------------------------| +| Arista | 100GBASE-LR | QSFP-100G-LR | Non | 14 | Le câblage et le choix des optiques sont à la discrétion du contributeur. 100G requis pour connecter les FPGA. | --- #### Optiques - 10G -| Fabricant | Modèle | Numéro de Pièce | Exigence DZ | QTY | Note | -|-----------|-------------|----------------|-------------|-----|-------------------------------------------------------------| -| Arista | 10GBASE-LR | SFP-10G-LR | Non | 4 | Le choix du câblage et de l'optique est à la discrétion du contributeur. | - Finisar | DynamiX QSA™ | MAM1Q00A-QSA | Non | 4 | Le choix du câblage et de l'optique est à la discrétion du contributeur. | +| Fabricant | Modèle | Référence | Exigence DZ | QTÉ | Note | +|--------|-------------|----------------|----------------|-----|-------------------------------------------------------------| +| Arista | 10GBASE-LR | SFP-10G-LR | Non | 4 | Le câblage et le choix des optiques sont à la discrétion du contributeur. | + Finisar | DynamiX QSA™ | MAM1Q00A-QSA | Non | 4 | Le câblage et le choix des optiques sont à la discrétion du contributeur. | --- #### Adressage IP -| Adressage IP | Taille de Sous-réseau Minimale | Exigence DZ | Note | -|--------------|-------------------------------|-------------|----------------------------------------------------------| -| IPv4 Public | /29 | Oui (pour DZD de périphérie/hybrides) | Doit être routable via DIA. Nous pourrions éliminer ce besoin au fil du temps. | +| Adressage IP | Taille minimale du sous-réseau | Exigence DZ | Note | +|--------------|-------------------|----------------|----------------------------------------------------------| +| Public IPv4 | /29 | Oui (pour les DZD edge/hybrides) | Doit être routable via DIA. Nous pourrions éliminer ce besoin au fil du temps. | + +Veuillez vous assurer que l'intégralité du pool /29 est disponible pour le protocole DZ. Toute exigence d'adressage point à point, par exemple sur les interfaces DIA, doit être gérée via un pool d'adresses différent. + +### Exigences relatives au centre de données + +#### Exigences en espace rack et alimentation + +Les chiffres ci-dessous sont **par DZD**, donc par centre de données. Une contribution de bande passante 100G ou 10G place un DZD à chaque extrémité de la liaison, prévoyez donc cela deux fois. + +##### Espace rack + +| Élément | Unités de rack | Nécessaire | +|------|-----------|--------| +| Commutateur DZD (Arista 7280CR3A-32S ou 7130LBR) | 1U | Maintenant | +| Appliance de filtrage en périphérie | 1U | Plus tard, uniquement sur les appareils edge et hybrides | + +**Réservez 2U par DZD.** Une unité est utilisée aujourd'hui. Gardez la seconde libre afin que l'appliance de filtrage en périphérie puisse être installée à côté du commutateur sans déplacement de rack. Laissez de l'espace pour la circulation d'air et la gestion des câbles selon les exigences de votre installation. + +##### Alimentation + +| Élément | Consommation typique | +|------|-------------| +| Arista 7280CR3A-32S | ~300 W | +| Optiques, par QSFP 100G | ~5 W | + +**Commandez 2 kW par DZD, répartis sur deux alimentations indépendantes.** Dimensionnez chaque alimentation pour supporter la charge totale seule. Le commutateur dispose d'alimentations redondantes, et après une panne d'alimentation, l'une d'entre elles pourrait être tout ce qui reste. -Veuillez vous assurer que le pool /29 complet est disponible pour le protocole DZ. Les exigences pour l'adressage point à point, par exemple sur les interfaces DIA, doivent être gérées via un pool d'adresses différent. +2 kW est confortable plutôt que juste. Un DZD avec commutateur uniquement, ce qui correspond à la quasi-totalité des déploiements actuels, consomme bien moins de 500 W avec toutes ses optiques allumées. Le reste des 2 kW est réservé pour l'appliance de filtrage en périphérie, qui contient les FPGA et sera installée ultérieurement. -### Exigences du Centre de Données +!!! warning "Ne surcommandez pas l'alimentation" + Vous payez pour la puissance que vous réservez, que vous la consommiez ou non. Un DZD est une seule unité de rack de commutation, pas un châssis de calcul, il consomme donc bien moins que ce que sa position de rack pourrait fournir. Réserver plus de 2 kW par DZD signifie payer pour une capacité inutilisée. -#### Exigences de Baie et d'Alimentation +!!! note "Vérifiez votre propre matériel avant de commander" + Ce sont des chiffres indicatifs issus de nos propres déploiements. Votre consommation réelle dépend de la configuration de votre alimentation, du nombre de ports que vous allumez et des optiques que vous choisissez. Vérifiez en vous référant aux spécifications d'alimentation dans la fiche technique du fabricant pour le matériel exact que vous achetez. -| Exigence | Spécification | -|-------------|--------------| -| Espace Baie | 4U | -| Alimentation | 4KW (recommandé) | + Ne réduisez pas non plus la commande au strict minimum. L'alimentation doit être disponible dans le rack, et ajouter une alimentation ultérieurement signifie généralement une nouvelle commande auprès de l'installation, ce qui peut prendre des semaines. --- -## Prochaines Étapes +## Prochaines étapes -Prêt à provisionner votre premier DZD ? Continuez avec le [Guide de Provisionnement des Dispositifs](contribute-provisioning.md). +Prêt à provisionner votre premier DZD ? Continuez vers le [Guide de provisionnement des appareils](contribute-provisioning.md). \ No newline at end of file diff --git a/docs/contribute.it.md b/docs/contribute.it.md index 889d6cf..58c3591 100644 --- a/docs/contribute.it.md +++ b/docs/contribute.it.md @@ -1,81 +1,83 @@ -# Requisiti e Architettura per i Contributori -!!! warning "This translation was generated using artificial intelligence and has not been reviewed by a human translator. It may contain inaccuracies or errors and should not be relied upon." +--- +description: Requisiti hardware, di larghezza di banda e di connettività e architettura per contribuire capacità alla rete DoubleZero. +--- +# Requisiti e Architettura per i Contributori -## Sommario +## Riepilogo -Chiunque desideri monetizzare i propri cavi in fibra ottica e hardware di rete sottoutilizzati può contribuire alla rete DoubleZero. I contributori di rete devono fornire larghezza di banda dedicata tra due punti, operare dispositivi compatibili con DoubleZero (DZD) ad entrambe le estremità, e una connessione alla rete internet pubblica ad entrambe le estremità. I contributori di rete devono anche eseguire il software DoubleZero su ogni DZD per fornire servizi come multicast, ricerca utenti e filtraggio perimetrale. +Chiunque desideri monetizzare i propri cavi in fibra ottica e hardware di rete sottoutilizzati può contribuire alla rete DoubleZero. I contributori di rete devono fornire larghezza di banda dedicata tra due punti, operare dispositivi compatibili con DoubleZero (DZD) a ciascuna estremità e una connessione alla rete internet pubblica a ciascuna estremità. I contributori di rete devono inoltre eseguire il software DoubleZero su ciascun DZD per fornire servizi come multicast, ricerca utenti e filtraggio perimetrale. -Lo smart contract DoubleZero è il pilastro fondamentale per garantire che la rete mantenga link di alta qualità che possono essere misurati e integrati nella topologia, consentendo ai nostri controller di rete di sviluppare il percorso end-to-end più efficiente tra i diversi utenti e endpoint. A seguito dell'esecuzione dello smart contract e del deployment dell'infrastruttura di rete e della larghezza di banda, un'entità viene classificata come contributore di rete. Consulta [DoubleZero Economics](https://economics.doublezero.xyz/overview) per comprendere ulteriormente l'economia alla base della partecipazione a DoubleZero come contributore di rete. +Lo smart contract di DoubleZero è il fondamento per garantire che la rete mantenga collegamenti di alta qualità che possano essere misurati e integrati nella topologia, consentendo ai nostri controller di rete di sviluppare il percorso end-to-end più efficiente tra i diversi utenti e endpoint. Al momento dell'esecuzione dello smart contract e del deployment delle apparecchiature di rete e della larghezza di banda, un'entità viene classificata come contributore di rete. Consultare [DoubleZero Economics](https://economics.doublezero.xyz/overview) per comprendere meglio l'economia alla base della partecipazione a DoubleZero come contributore di rete. --- -## Requisiti per Diventare un Contributore di Rete DoubleZero +## Requisiti per Diventare un Contributore della Rete DoubleZero - Larghezza di banda dedicata in grado di fornire connettività IPv4 e un MTU di 2048 byte tra due data center - Hardware DoubleZero Device (DZD) compatibile con il protocollo DoubleZero - Connettività a internet e ad altri contributori della rete DoubleZero - Installazione del software DoubleZero sul DZD -## Guida Rapida all'Avvio +## Guida Rapida -Come contributore di rete, il modo più semplice per iniziare con DoubleZero è identificare la capacità nella propria rete che può essere dedicata a DoubleZero. Una volta identificata, i DZD devono essere distribuiti, facilitando la rete overlay DoubleZero che richiede solo raggiungibilità IPv4 e un MTU minimo di 2048 byte come dipendenze dalla rete del contributore. +Come contributore di rete, il modo più semplice per iniziare con DoubleZero è identificare la capacità nella propria rete che può essere dedicata a DoubleZero. Una volta identificata, i DZD devono essere installati, facilitando la rete overlay DoubleZero che richiede come dipendenze dalla rete del contributore solo raggiungibilità IPv4 e un MTU minimo di 2048 byte. -La Figura 1 illustra il modello più semplice per contribuire con larghezza di banda e servizi di invio ed elaborazione dei pacchetti. Un DZD viene distribuito in ogni data center, interfacciandosi con la rete interna del contributore per fornire connettività WAN DoubleZero. Questo è integrato da un accesso internet locale, tipicamente una soluzione Direct Internet Access (DIA), utilizzata come punto di accesso per gli utenti DoubleZero. Mentre ci si aspetta che il DIA sia l'opzione preferita per facilitare l'accesso agli utenti di DoubleZero, sono possibili numerosi modelli di connettività, ad esempio cablaggio fisico ai server, estensione del fabric di rete, ecc. Ci riferiamo a queste opzioni come Choose Your Own Adventure (CYOA), fornendo al contributore la flessibilità di connettere utenti locali o remoti nel modo che meglio si adatta alle proprie politiche di rete interne. +La Figura 1 illustra il modello più semplice per contribuire larghezza di banda e servizi di invio e elaborazione pacchetti. Un DZD viene installato in ciascun data center, interfacciandosi con la rete interna del contributore per fornire connettività WAN DoubleZero. Questo è completato da internet locale, tipicamente una soluzione Direct Internet Access (DIA), utilizzata come punto di accesso per gli utenti DoubleZero. Sebbene si preveda che il DIA sarà l'opzione preferita per facilitare l'accesso agli utenti di DoubleZero, sono possibili numerosi modelli di connettività, ad es. cablaggio fisico ai server, estensione del fabric di rete, ecc. Ci riferiamo a queste opzioni come Choose Your Own Adventure (CYOA), offrendo al contributore la flessibilità di connettere utenti locali o remoti nel modo che meglio si adatta alle proprie politiche di rete interne. -Come in qualsiasi rete, la raggiungibilità è una parte fondamentale dell'architettura poiché i contributori di rete non possono vivere in isolamento. Pertanto, il DZD *deve* avere un link a un DoubleZero Exchange (DZX) per creare una rete contigua tra i partecipanti. +Come per qualsiasi rete, la raggiungibilità è una parte fondamentale dell'architettura poiché i contributori di rete non possono operare in isolamento. Pertanto, il DZD *deve* avere un collegamento a un DoubleZero Exchange (DZX) per creare una rete contigua tra i partecipanti.
![Image title](images/figure1.png){ width="800" } -
Figura 1: Contributo di Larghezza di Banda alla Rete DoubleZero Tra 2 Data Center - Singolo Contributore
+
Figura 1: Contributo di Larghezza di Banda della Rete DoubleZero tra 2 Data Center - Singolo Contributore
-### Esempi di Contributo +### Esempi di Contributi -I modi in cui un contributore di rete può ampliare i propri contributi a DoubleZero sono molteplici, tra cui: +I modi in cui un contributore di rete può espandere i propri contributi a DoubleZero sono molteplici, tra cui: -- Migliorare le caratteristiche di prestazione dei contributi esistenti: aumentare la larghezza di banda, ridurre la latenza -- Aggiungere più link tra gli stessi data center -- Aggiungere un nuovo link da un data center esistente a un nuovo data center -- Aggiungere un nuovo link indipendente tra due nuovi data center +- Migliorare le caratteristiche prestazionali dei contributi esistenti: aumentare la larghezza di banda, ridurre la latenza +- Aggiungere collegamenti multipli tra gli stessi data center +- Aggiungere un nuovo collegamento da un data center esistente a un nuovo data center +- Aggiungere un nuovo collegamento indipendente tra due nuovi data center -#### Esempio 1: Singolo Contributore, 3 Data Center, Due Link +#### Esempio 1: Singolo Contributore, 3 Data Center, Due Collegamenti
![Image title](images/figure2.png){ width="800" } -
Figura 2: Contributo di Larghezza di Banda alla Rete DoubleZero Tra 3 Data Center - Singolo Contributore
+
Figura 2: Contributo di Larghezza di Banda della Rete DoubleZero tra 3 Data Center - Singolo Contributore
-Un singolo DZD può supportare più link contribuiti a DoubleZero. La Figura 2 illustra una potenziale topologia se un singolo data center, indicato come 1, termina la larghezza di banda verso due diversi data center remoti 2 e 3. In questo scenario, ogni data center contiene solo 1 DZD. Tutti i DZD utilizzano il DIA per i punti di accesso degli utenti come interfaccia CYOA. +Un singolo DZD può supportare più collegamenti contribuiti a DoubleZero. La Figura 2 illustra una potenziale topologia nel caso in cui un singolo data center, indicato come 1, termini la larghezza di banda verso due diversi data center remoti 2 e 3. In questo scenario, ciascun data center contiene solo 1 DZD. Tutti i DZD utilizzano DIA per i punti di accesso utente come interfaccia CYOA. -#### Esempio 2: Singolo Contributore, 3 Data Center, Tre Link +#### Esempio 2: Singolo Contributore, 3 Data Center, Tre Collegamenti -La Figura 3 descrive la topologia DoubleZero quando un singolo contributore distribuisce tre link in una topologia a triangolo tra 3 data center. In uno scenario simile all'esempio 1, un singolo DZD viene distribuito nei data center 1, 2 e 3, ognuno dei quali supporta 2 link di rete indipendenti. La topologia risultante è un triangolo o anello tra i data center. +La Figura 3 descrive la topologia DoubleZero quando un singolo contributore installa tre collegamenti in una topologia a triangolo tra 3 data center. In uno scenario simile all'esempio 1, un singolo DZD viene installato nei data center 1, 2 e 3, ciascuno che supporta 2 collegamenti di rete indipendenti. La topologia risultante è un triangolo o anello tra i data center.
![Image title](images/figure3.png){ width="800" } -
Figura 3: Contributo di Larghezza di Banda alla Rete DoubleZero Tra 3 Data Center - Singolo Contributore
+
Figura 3: Contributo di Larghezza di Banda della Rete DoubleZero tra 3 Data Center - Singolo Contributore
### DoubleZero Exchange -La creazione di una rete contigua è un elemento fondamentale dell'architettura DoubleZero. I contributori si interfacciano tramite un DoubleZero Exchange (DZX) all'interno di un'area metropolitana, ovvero una città come New York (NYC), Londra (LON) o Tokyo (TYO). Un DZX è un fabric di rete simile a un Internet Exchange, che consente il peering e lo scambio di route. +La creazione di una rete contigua è un elemento fondamentale dell'architettura DoubleZero. I contributori si interfacciano tramite un DoubleZero Exchange (DZX) all'interno di un'area metropolitana, ovvero una città come New York (NYC), Londra (LON) o Tokyo (TYO). Un DZX è un fabric di rete simile a un Internet Exchange, che consente il peering e lo scambio di rotte. -Nella Figura 4, il contributore di rete 1 opera nei data center 1, 2 e 3, mentre il contributore di rete 2 opera nei data center 2, 4 e 5. Interconnettendosi nel data center 2, la portata della rete DoubleZero si estende a 5 data center contigui. +Nella Figura 4, il contributore di rete 1 opera nei data center 1, 2 e 3, mentre il contributore di rete 2 opera nei data center 2, 4 e 5. Interconnettendosi nel data center 2, la copertura della rete DoubleZero aumenta a 5 data center contigui.
![Image title](images/figure4.png){ width="1000" } -
Figura 4: Contributo di Larghezza di Banda alla Rete DoubleZero Tra 2 Contributori di Larghezza di Banda
+
Figura 4: Contributo di Larghezza di Banda della Rete DoubleZero tra 2 Contributori di Larghezza di Banda di Rete
### Opzioni di Contributo della Larghezza di Banda -DoubleZero richiede a un contributore di rete di offrire connettività integrata tramite una larghezza di banda garantita, un profilo di latenza e jitter tra DZD in due data center di terminazione espresso tramite uno smart contract. DoubleZero non impone come un contributore di rete implementa il proprio contributo, tuttavia, nelle sezioni seguenti forniamo opzioni indicative per l'utilizzo a loro esclusiva discrezione. +DoubleZero richiede che un contributore di rete offra connettività integrata tramite un profilo garantito di larghezza di banda, latenza e jitter tra i DZD in due data center di terminazione, espresso tramite uno smart contract. DoubleZero non impone come un contributore di rete implementi il proprio contributo, tuttavia, nelle sezioni seguenti forniamo opzioni indicative da utilizzare a propria esclusiva discrezione. -Aree importanti da considerare per un contributore di rete potrebbero essere: +Aspetti importanti da considerare per un contributore di rete potrebbero essere: - Capacità di garantire le prestazioni di rete del servizio DoubleZero: larghezza di banda, latenza e jitter - Segregazione dai servizi di rete interni esistenti -- Conflitti di indirizzamento IPv4, in particolare con lo spazio di indirizzi underlay del tunnel +- Conflitti di indirizzamento IPv4, in particolare con lo spazio di indirizzi dell'underlay del tunnel - Uptime e disponibilità - Considerazioni su CAPEX e OPEX @@ -85,149 +87,173 @@ Aree importanti da considerare per un contributore di rete potrebbero essere:
Figura 5: Servizi Ottici Layer 1
-La larghezza di banda Layer 1, più formalmente descritta come servizi a lunghezza d'onda, può prevedere capacità dedicata su un'infrastruttura ottica esistente, come DWDM, CWDM o tramite multiplexer ottici (MUX). Nella Figura 5, i DZD utilizzano un'ottica colorata cablata a un MUX L1, che sovrappone la lunghezza d'onda del DZD su una fibra scura esistente. +La larghezza di banda Layer 1, più formalmente descritta come servizi a lunghezza d'onda, può prevedere capacità dedicata provisionata su un'infrastruttura ottica esistente, come DWDM, CWDM o tramite multiplexer ottici (MUX). Nella Figura 5, i DZD utilizzano un'ottica colorata cablata a un MUX L1, che intercala la lunghezza d'onda del DZD su una fibra ottica spenta esistente. -Questa soluzione offre numerosi vantaggi per i contributori di rete che già gestiscono una rete core esistente. Le modifiche operative iterative, così come i requisiti aggiuntivi di CAPEX e OPEX, sono modesti. Questa opzione è particolarmente robusta nell'offrire segregazione dai servizi di rete del contributore. +Questa soluzione offre numerosi vantaggi per i contributori di rete che già operano una rete core esistente. Le modifiche operative incrementali, così come i requisiti aggiuntivi di CAPEX e OPEX, sono modesti. Questa opzione è particolarmente robusta nell'offrire segregazione dai servizi di rete del contributore. -#### Larghezza di Banda Packet Switched +#### Larghezza di Banda a Commutazione di Pacchetto -Le reti packet switched possono essere considerate una tipica rete aziendale, che esegue protocolli standard di routing e switching a supporto delle applicazioni aziendali. Esistono numerose tecnologie di rete che raggiungono la connettività, ad esempio estensioni layer 2 (L2) tramite tag VLAN. +Le reti a commutazione di pacchetto possono essere considerate una tipica rete aziendale, che esegue protocolli standard di routing e switching a supporto delle applicazioni aziendali. Esistono numerose tecnologie di rete che realizzano la connettività, ad esempio estensioni layer 2 (L2) tramite tag VLAN. ##### Estensione L2
![Image title](images/figure6.png){ width="800" } -
Figura 6: Reti Packet Switched - Estensione L2
+
Figura 6: Reti a Commutazione di Pacchetto - Estensione L2
-Un'estensione L2 come mostrato nella Figura 6 può essere facilitata tramite il tagging VLAN. La porta di un DZD può essere cablata a uno switch della rete interna del contributore, con la porta dello switch impostata come porta di accesso, ad esempio, nella VLAN 10. Tramite il tagging 802.1q, questa VLAN può essere trasportata su più hop di switch sulla rete del contributore, terminando allo switch che si interfaccia con il DZD remoto. +Un'estensione L2 come mostrato nella Figura 6 può essere facilitata tramite tagging VLAN. La porta di un DZD può essere cablata a uno switch della rete interna del contributore, con la porta dello switch configurata come access port, ad esempio nella VLAN 10. Tramite tagging 802.1q, questa VLAN può essere trasportata su più hop di switch nella rete del contributore, terminando allo switch che si interfaccia con il DZD remoto. -Questa soluzione beneficia di un'ampia compatibilità e di una relativa facilità di implementazione, creando al contempo segmentazione tra DoubleZero e i servizi layer 3 interni. La larghezza di banda può essere controllata in base alla velocità dell'interfaccia dello switch o router interno del contributore. Occorre prestare particolare attenzione alle prestazioni attraverso la rete L2 interna condivisa tramite tecnologie come Quality of Service (QoS) o altre politiche di gestione del traffico. Tuttavia, gli investimenti aggiuntivi in CAPEX e OPEX dovrebbero essere modesti se è disponibile capacità esistente nella rete core del contributore. +Questa soluzione beneficia dell'essere ampiamente supportata e relativamente facile da implementare, creando al contempo segmentazione tra DoubleZero e i servizi layer 3 interni. La larghezza di banda può essere controllata in base alla velocità dell'interfaccia dello switch o router interno del contributore. È necessario prestare particolare attenzione alle prestazioni sulla rete L2 interna condivisa attraverso tecnologie come Quality of Service (QoS) o altre politiche di gestione del traffico. Tuttavia, gli investimenti aggiuntivi in CAPEX e OPEX dovrebbero essere modesti se è disponibile capacità esistente all'interno della rete core del contributore. -#### Larghezza di Banda di Terze Parti Dedicata +#### Larghezza di Banda Dedicata di Terze Parti
![Image title](images/figure7.png){ width="800" } -
Figura 7: Larghezza di Banda di Terze Parti Dedicata
+
Figura 7: Larghezza di Banda Dedicata di Terze Parti
-Sebbene il riutilizzo della capacità disponibile sarà interessante per molti contributori di rete, è possibile anche dedicare larghezza di banda appena acquisita a DoubleZero. In tale scenario, il DZD si collegherebbe direttamente al gestore di terze parti senza alcun dispositivo interno del contributore in linea (Figura 7). +Sebbene il riutilizzo della capacità disponibile sarà interessante per molti contributori di rete, è anche possibile dedicare larghezza di banda acquisita ex novo a DoubleZero. In tale scenario, il DZD si connetterebbe direttamente al carrier di terze parti senza alcun dispositivo interno del contributore posizionato in linea (Figura 7). -Questa opzione è interessante in quanto garantisce larghezza di banda dedicata per DoubleZero, è semplice dal punto di vista operativo e garantisce una completa segmentazione da qualsiasi altro servizio di rete. Questa opzione avrà probabilmente il maggiore aumento dell'OPEX e richiede nuovi contratti di servizio con gestori di terze parti. +Questa opzione è interessante in quanto garantisce larghezza di banda dedicata per DoubleZero, è operativamente semplice e assicura una completa segmentazione da qualsiasi altro servizio di rete. Questa opzione comporterà probabilmente il maggiore incremento di OPEX e richiede nuovi contratti di servizio con carrier di terze parti. --- ## Requisiti Hardware -### Contributo di Larghezza di Banda 100Gbps +### Contributo di Larghezza di Banda a 100Gbps -Si noti che le quantità riportate di seguito riflettono l'attrezzatura necessaria in due data center, ovvero l'hardware totale necessario per distribuire 1 cavo in fibra ottica per il contributo di larghezza di banda. +Si noti che le quantità indicate di seguito riflettono le apparecchiature necessarie in due data center, ovvero l'hardware totale necessario per installare 1 cavo in fibra ottica per il contributo di larghezza di banda. -??? warning "*Tutti gli FPGA sono soggetti a test finali. I contributi 10G possono essere supportati utilizzando switch Arista 7130LBR con FPGA dual Virtex® UltraScale+™ integrati (per qualsiasi domanda, DoubleZero Foundation / Malbec Labs sono lieti di fornire ulteriori informazioni)." +??? warning "*Tutti gli FPGA sono soggetti a test finali. I contributi a 10G possono essere supportati utilizzando switch Arista 7130LBR con doppi FPGA Virtex® UltraScale+™ integrati (per qualsiasi domanda, DoubleZero Foundation / Malbec Labs sono lieti di fornire maggiori informazioni)." -#### Requisiti di Funzione e Porta +#### Requisiti di Funzione e Porte -| Funzione | Velocità Porta | Requisito DZ | QTY | Note | -|-----------------------------|---------------|--------------|-----|-------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Larghezza di Banda Privata | 100G | Sì | 1 | | -| Direct Internet Access (DIA) | 10G | Sì | 2 | | -| DoubleZero eXchange (DZX) | 100G | Sì* | 1 | Deve essere supportato una volta che più di 3 provider operano nella stessa area metropolitana; prima di ciò, cross-connect o altri accordi di peering possono essere utilizzati per interconnettersi con altri provider. | -| Management | | No | 1 | Determinato dalle politiche di gestione interne del contributore. | -| Console | | No | 1 | Determinato dalle politiche di gestione interne del contributore. | +| Funzione | Velocità Porta | Requisito DZ | QTÀ | Nota | +|-----------------------------|------------|----------------|-----|-------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Private Bandwidth | 100G | Sì | 1 | | +| Direct Internet Access (DIA) | 10G | Sì | 2 | | +| DoubleZero eXchange (DZX) | 100G | Sì* | 1 | Deve essere supportato quando più di 3 provider operano nella stessa area metropolitana; prima di ciò, è possibile utilizzare cross-connect o altri accordi di peering per l'interconnessione con altri provider. | +| Management | | No | 1 | Determinato dalle politiche di gestione interne del contributore. | +| Console | | No | 1 | Determinato dalle politiche di gestione interne del contributore. | #### Hardware di Rete DZD -| Produttore | Modello | Numero Parte | Requisito DZ | QTY | Note | -|------------|-----------------|----------------------|--------------|-----|-----------------------------------------------------------| -| AMD* | V80* | 24540474 | Sì | 4 | | -| Arista | 7280CR3A | DCS-7280CR3A-32S | Sì | 2 | Possono essere possibili alternative se i lead time sono problematici. | +| Produttore | Modello | Codice Articolo | Requisito DZ | QTÀ | Nota | +|----------|-----------------|----------------------|----------------|-----|-----------------------------------------------------------| +| AMD* | V80* | 24540474 | Sì | 4 | | +| Arista | 7280CR3A | DCS-7280CR3A-32S | Sì | 2 | Alternative possibili in caso di tempi di consegna impegnativi. | --- #### Ottiche - 100G -| Produttore | Modello | Numero Parte | Requisito DZ | QTY | Note | -|------------|-------------|----------------|--------------|-----|-------------------------------------------------------------| -| Arista | 100GBASE-LR | QSFP-100G-LR | No | 16 | Scelta di cablaggio e ottica a discrezione del contributore. 100G richiesto per connettere gli FPGA. | +| Produttore | Modello | Codice Articolo | Requisito DZ | QTÀ | Nota | +|--------|-------------|----------------|----------------|-----|-------------------------------------------------------------| +| Arista | 100GBASE-LR | QSFP-100G-LR | No | 16 | Cablaggio e scelta delle ottiche a discrezione del contributore. 100G necessari per connettere gli FPGA. | --- #### Ottiche - 10G -| Produttore | Modello | Numero Parte | Requisito DZ | QTY | Note | -|------------|-------------|----------------|--------------|-----|-------------------------------------------------------------| -| Arista | 10GBASE-LR | SFP-10G-LR | No | 2 | Scelta di cablaggio e ottica a discrezione del contributore. | -| Finisar | DynamiX QSA™ | MAM1Q00A-QSA | No | 2 | Scelta di cablaggio e ottica a discrezione del contributore. | +| Produttore | Modello | Codice Articolo | Requisito DZ | QTÀ | Nota | +|--------|-------------|----------------|----------------|-----|-------------------------------------------------------------| +| Arista | 10GBASE-LR | SFP-10G-LR | No | 2 | Cablaggio e scelta delle ottiche a discrezione del contributore. | +| Finisar | DynamiX QSA™ | MAM1Q00A-QSA | No | 2 | Cablaggio e scelta delle ottiche a discrezione del contributore. | --- #### Indirizzamento IP -| Indirizzamento IP | Dimensione Minima Sottorete | Requisito DZ | Note | -|------------------|---------------------------|--------------|----------------------------------------------------------| -| IPv4 Pubblico | /29 | Sì (per DZD edge/hybrid) | Deve essere instradabile tramite DIA. Potremmo eliminare la necessità di questo nel tempo. | +| Indirizzamento IP | Dimensione Minima Sottorete | Requisito DZ | Nota | +|--------------|-------------------|----------------|----------------------------------------------------------| +| Public IPv4 | /29 | Sì (per DZD edge/ibridi) | Deve essere instradabile tramite DIA. Potremmo eliminare questa necessità nel tempo. | -Assicurarsi che l'intero pool /29 sia disponibile per il protocollo DZ. Eventuali requisiti per l'indirizzamento point-to-point, ad esempio sulle interfacce DIA, devono essere gestiti tramite un pool di indirizzi diverso. +Assicurarsi che l'intero pool /29 sia disponibile per il protocollo DZ. Qualsiasi requisito per indirizzamento punto-punto, ad es. sulle interfacce DIA, deve essere gestito tramite un pool di indirizzi diverso. -### Contributo di Larghezza di Banda 10Gbps +### Contributo di Larghezza di Banda a 10Gbps -Si noti che le quantità riflettono l'attrezzatura di due data center, ovvero l'hardware totale necessario per distribuire 1 contributo di larghezza di banda. +Si noti che le quantità riflettono le apparecchiature di due data center, ovvero l'hardware totale necessario per installare 1 contributo di larghezza di banda. -#### Requisiti di Funzione e Porta +#### Requisiti di Funzione e Porte -| Funzione | Velocità Porta | Requisito DZ | QTY | Note | -|-----------------------------|---------------|--------------|-----|-------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Larghezza di Banda Privata | 10G | Sì | 1 | | -| Direct Internet Access (DIA) | 10G | Sì | 2 | | -| DoubleZero eXchange (DZX) | 100G | Sì* | 1 | Deve essere supportato una volta che più di 3 provider operano nella stessa area metropolitana; prima di ciò, cross-connect o altri accordi di peering possono essere utilizzati per interconnettersi con altri provider. | -| Management | | No | 1 | Determinato dalle politiche di gestione interne del contributore. | -| Console | | No | 1 | Determinato dalle politiche di gestione interne del contributore. | +| Funzione | Velocità Porta | Requisito DZ | QTÀ | Nota | +|-----------------------------|------------|----------------|-----|-------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Private Bandwidth | 10G | Sì | 1 | | +| Direct Internet Access (DIA) | 10G | Sì | 2 | | +| DoubleZero eXchange (DZX) | 100G | Sì* | 1 | Deve essere supportato quando più di 3 provider operano nella stessa area metropolitana; prima di ciò, è possibile utilizzare cross-connect o altri accordi di peering per l'interconnessione con altri provider. | +| Management | | No | 1 | Determinato dalle politiche di gestione interne del contributore. | +| Console | | No | 1 | Determinato dalle politiche di gestione interne del contributore. | --- #### Hardware -| Produttore | Modello | Numero Parte | Requisito DZ | QTY | Note | -|------------|-----------------|----------------------|--------------|-----|-----------------------------------------------------------| -| AMD* | V80* | 24540474* | Sì | 4 | | -| Arista | 7280CR3A | DCS-7280CR3A-32S | Sì | 2 | Possono essere possibili alternative se i lead time sono problematici. | +| Produttore | Modello | Codice Articolo | Requisito DZ | QTÀ | Nota | +|----------|-----------------|----------------------|----------------|-----|-----------------------------------------------------------| +| AMD* | V80* | 24540474* | Sì | 4 | | | +| Arista | 7280CR3A | DCS-7280CR3A-32S | Sì | 2 | Alternative possibili in caso di tempi di consegna impegnativi. | --- #### Ottiche - 100G -| Produttore | Modello | Numero Parte | Requisito DZ | QTY | Note | -|------------|-------------|----------------|--------------|-----|-------------------------------------------------------------| -| Arista | 100GBASE-LR | QSFP-100G-LR | No | 14 | Scelta di cablaggio e ottica a discrezione del contributore. 100G richiesto per connettere gli FPGA. | +| Produttore | Modello | Codice Articolo | Requisito DZ | QTÀ | Nota | +|--------|-------------|----------------|----------------|-----|-------------------------------------------------------------| +| Arista | 100GBASE-LR | QSFP-100G-LR | No | 14 | Cablaggio e scelta delle ottiche a discrezione del contributore. 100G necessari per connettere gli FPGA. | --- #### Ottiche - 10G -| Produttore | Modello | Numero Parte | Requisito DZ | QTY | Note | -|------------|-------------|----------------|--------------|-----|-------------------------------------------------------------| -| Arista | 10GBASE-LR | SFP-10G-LR | No | 4 | Scelta di cablaggio e ottica a discrezione del contributore. | -| Finisar | DynamiX QSA™ | MAM1Q00A-QSA | No | 4 | Scelta di cablaggio e ottica a discrezione del contributore. | - +| Produttore | Modello | Codice Articolo | Requisito DZ | QTÀ | Nota | +|--------|-------------|----------------|----------------|-----|-------------------------------------------------------------| +| Arista | 10GBASE-LR | SFP-10G-LR | No | 4 | Cablaggio e scelta delle ottiche a discrezione del contributore. | + Finisar | DynamiX QSA™ | MAM1Q00A-QSA | No | 4 | Cablaggio e scelta delle ottiche a discrezione del contributore. | --- #### Indirizzamento IP -| Indirizzamento IP | Dimensione Minima Sottorete | Requisito DZ | Note | -|------------------|---------------------------|--------------|----------------------------------------------------------| -| IPv4 Pubblico | /29 | Sì (per DZD edge/hybrid) | Deve essere instradabile tramite DIA. Potremmo eliminare la necessità di questo nel tempo. | +| Indirizzamento IP | Dimensione Minima Sottorete | Requisito DZ | Nota | +|--------------|-------------------|----------------|----------------------------------------------------------| +| Public IPv4 | /29 | Sì (per DZD edge/ibridi) | Deve essere instradabile tramite DIA. Potremmo eliminare questa necessità nel tempo. | -Assicurarsi che l'intero pool /29 sia disponibile per il protocollo DZ. Eventuali requisiti per l'indirizzamento point-to-point, ad esempio sulle interfacce DIA, devono essere gestiti tramite un pool di indirizzi diverso. +Assicurarsi che l'intero pool /29 sia disponibile per il protocollo DZ. Qualsiasi requisito per indirizzamento punto-punto, ad es. sulle interfacce DIA, deve essere gestito tramite un pool di indirizzi diverso. ### Requisiti del Data Center #### Requisiti di Rack e Alimentazione -| Requisito | Specifica | -|-------------|-----------| -| Spazio Rack | 4U | -| Alimentazione | 4KW (raccomandato) | +Le cifre seguenti sono **per DZD**, quindi per data center. Un contributo di larghezza di banda a 100G o 10G posiziona un DZD a ciascuna estremità del collegamento, quindi pianificare il tutto due volte. + +##### Spazio rack + +| Elemento | Unità rack | Necessario | +|------|-----------|--------| +| Switch DZD (Arista 7280CR3A-32S o 7130LBR) | 1U | Ora | +| Appliance di filtraggio perimetrale | 1U | In seguito, solo su dispositivi edge e ibridi | + +**Riservare 2U per DZD.** Un'unità è in uso oggi. Mantenere la seconda libera in modo che l'appliance di filtraggio perimetrale possa essere posizionata accanto allo switch senza spostamenti nel rack. Lasciare spazio per il flusso d'aria e la gestione dei cavi come richiesto dalla vostra struttura. + +##### Alimentazione + +| Elemento | Consumo tipico | +|------|-------------| +| Arista 7280CR3A-32S | ~300 W | +| Ottiche, per 100G QSFP | ~5 W | + +**Ordinare 2 kW per DZD, suddivisi su due linee di alimentazione indipendenti.** Dimensionare ciascuna linea per sostenere l'intero carico da sola. Lo switch dispone di alimentatori ridondanti e, dopo un guasto a una linea, uno di essi potrebbe essere l'unico rimasto. + +2 kW è una stima confortevole piuttosto che tirata. Un DZD con solo switch, che è ciò che viene installato nella quasi totalità dei deployment attuali, consuma ben al di sotto di 500 W con tutte le ottiche accese. Il resto dei 2 kW è riservato per l'appliance di filtraggio perimetrale, che contiene gli FPGA e viene installata successivamente. + +!!! warning "Non sovradimensionare l'ordine di alimentazione" + Si paga per la potenza riservata, indipendentemente dal fatto che venga effettivamente consumata. Un DZD è una singola unità rack di switching, non un chassis di calcolo, quindi consuma molto meno di quanto la sua posizione nel rack potrebbe fornire. Riservare più di 2 kW per DZD significa pagare per capacità inutilizzata. + +!!! note "Verificare il proprio hardware prima di ordinare" + Queste sono cifre indicative dai nostri deployment. Il consumo reale dipende dalla configurazione degli alimentatori, da quante porte vengono attivate e da quali ottiche si scelgono. Verificare rispetto alle specifiche degli alimentatori nel datasheet del produttore per l'hardware esatto che si acquista. + + Non ridurre l'ordine al minimo indispensabile. L'alimentazione deve essere disponibile nel rack, e aggiungere una linea successivamente di solito comporta un nuovo ordine con la struttura, il che può richiedere settimane. --- -## Prossimi Passi +## Passaggi Successivi -Pronto a effettuare il provisioning del tuo primo DZD? Continua con la [Guida al Provisioning dei Dispositivi](contribute-provisioning.md). +Pronti per il provisioning del vostro primo DZD? Proseguite con la [Guida al Provisioning del Dispositivo](contribute-provisioning.md). \ No newline at end of file diff --git a/docs/contribute.ja.md b/docs/contribute.ja.md index 3406210..5fe0b13 100644 --- a/docs/contribute.ja.md +++ b/docs/contribute.ja.md @@ -1,107 +1,109 @@ -# コントリビューターの要件とアーキテクチャ -!!! warning "This translation was generated using artificial intelligence and has not been reviewed by a human translator. It may contain inaccuracies or errors and should not be relied upon." +--- +description: DoubleZeroネットワークへの容量提供に必要なハードウェア、帯域幅、接続要件およびアーキテクチャ。 +--- +# コントリビューター要件とアーキテクチャ ## 概要 -未活用の光ファイバーケーブルとネットワークハードウェアを収益化したい方はどなたでもDoubleZeroネットワークに貢献できます。ネットワークコントリビューターは、2点間に専用帯域幅を提供し、各端でDoubleZero互換デバイス(DZD)を運用し、各端でパブリックインターネットへの接続が必要です。ネットワークコントリビューターはまた、マルチキャスト、ユーザー検索、エッジフィルタリングなどのサービスを提供するために各DZDでDoubleZeroソフトウェアを実行する必要があります。 +未活用の光ファイバーケーブルやネットワークハードウェアを収益化したい方は、誰でもDoubleZeroネットワークに貢献できます。ネットワークコントリビューターは、2つの拠点間の専用帯域幅を提供し、各端でDoubleZero互換デバイス(DZD)を運用し、各端でパブリックインターネットへの接続を確保する必要があります。また、ネットワークコントリビューターは、マルチキャスト、ユーザー検索、エッジフィルタリングなどのサービスを提供するために、各DZDでDoubleZeroソフトウェアを実行する必要があります。 -DoubleZeroスマートコントラクトは、ネットワークが測定可能でトポロジーに統合できる高品質のリンクを維持することを保証するための礎です。これにより、ネットワークコントローラーが異なるユーザーとエンドポイント間で最も効率的なエンドツーエンドパスを開発できます。スマートコントラクトの実行とネットワーク機器と帯域幅のデプロイメント後、エンティティはネットワークコントリビューターとして分類されます。DoubleZeroネットワークコントリビューターとしての参加背後の経済学をさらに理解するには、[DoubleZero Economics](https://economics.doublezero.xyz/overview)を参照してください。 +DoubleZeroスマートコントラクトは、ネットワークが高品質なリンクを維持し、それを測定してトポロジーに統合できるようにするための基盤です。これにより、ネットワークコントローラーはさまざまなユーザーやエンドポイント間で最も効率的なエンドツーエンドパスを構築できます。スマートコントラクトの実行およびネットワーク機器と帯域幅の展開が完了すると、そのエンティティはネットワークコントリビューターとして分類されます。ネットワークコントリビューターとしてDoubleZeroに参加する際の経済モデルの詳細については、[DoubleZero Economics](https://economics.doublezero.xyz/overview)をご覧ください。 --- -## DoubleZeroネットワークコントリビューターになる要件 +## DoubleZeroネットワークコントリビューターの要件 -- 2つのデータセンター間でIPv4接続とMTU 2048バイトを提供できる専用帯域幅 -- DoubleZeroプロトコルと互換性のあるDoubleZeroデバイス(DZD)ハードウェア -- インターネットおよびその他のDoubleZeroネットワークコントリビューターへの接続性 +- 2つのデータセンター間でIPv4接続と2048バイトのMTUを提供できる専用帯域幅 +- DoubleZeroプロトコルと互換性のあるDoubleZero Device(DZD)ハードウェア +- インターネットおよび他のDoubleZeroネットワークコントリビューターへの接続 - DZDへのDoubleZeroソフトウェアのインストール ## クイックスタートガイド -ネットワークコントリビューターとして、DoubleZeroを開始する最も簡単な方法は、DoubleZero専用に利用できる容量をネットワーク内で特定することです。特定したら、DZDをデプロイし、コントリビューターのネットワークからIPv4到達可能性と最低MTU 2048バイトのみを依存関係として必要とするDoubleZeroオーバーレイネットワークを促進する必要があります。 +ネットワークコントリビューターとしてDoubleZeroを開始する最も簡単な方法は、DoubleZero専用にできるネットワーク内の容量を特定することです。特定後、DZDを展開する必要があります。DZDはDoubleZeroオーバーレイネットワークを構築し、コントリビューターのネットワークからの依存要件はIPv4到達性と最小2048バイトのMTUのみです。 -図1は帯域幅とパケット送信・処理サービスを貢献するための最もシンプルなモデルを示しています。DZDは各データセンターに配備され、コントリビューターの内部ネットワークとインターフェースしてDoubleZero WAN接続を提供します。これはローカルインターネット(通常はDirect Internet Access(DIA)ソリューション)によって補完され、DoubleZeroユーザーのオンランプとして使用されます。DIAがDoubleZeroのユーザーアクセスを促進する優先オプションになることが予想されますが、物理ケーブリングからサーバーへ、ネットワークファブリック拡張など、さまざまな接続モデルが可能です。これらのオプションをChoose Your Own Adventure(CYOA)と呼び、コントリビューターが内部ネットワークポリシーに最も適した方法でローカルまたはリモートユーザーを接続する柔軟性を提供します。 +図1は、帯域幅およびパケット送受信・処理サービスを提供する最もシンプルなモデルを示しています。各データセンターにDZDが展開され、DoubleZero WANの接続性を提供するためにネットワークコントリビューターの内部ネットワークとインターフェースします。これに加えて、DoubleZeroユーザーのオンランプとして使用されるローカルインターネット(通常はDirect Internet Access(DIA)ソリューション)が補完します。DIAがDoubleZeroユーザーへのアクセスを提供するための推奨オプションになると想定されていますが、物理ケーブルによるサーバー接続、ネットワークファブリック拡張など、多数の接続モデルが可能です。これらのオプションをChoose Your Own Adventure(CYOA)と呼び、コントリビューターが自社の内部ネットワークポリシーに最も適した方法でローカルまたはリモートユーザーを接続できる柔軟性を提供します。 -あらゆるネットワークと同様に、到達可能性はアーキテクチャの基本的な部分であり、ネットワークコントリビューターは孤立して存在できません。そのため、DZDは参加者間で連続したネットワークを作成するためにDoubleZero Exchange(DZX)へのリンクを**持たなければなりません**。 +あらゆるネットワークと同様に、到達性はアーキテクチャの基本的な要素であり、ネットワークコントリビューターは孤立して存在することはできません。そのため、DZDは参加者間の連続したネットワークを構築するために、DoubleZero Exchange(DZX)へのリンクを*必ず*持たなければなりません。
![Image title](images/figure1.png){ width="800" } -
図1:2つのデータセンター間のDoubleZeroネットワーク帯域幅貢献 - 単一コントリビューター
+
図1:2つのデータセンター間のDoubleZeroネットワーク帯域幅提供 - 単一コントリビューター
-### 貢献の例 +### 提供の例 -ネットワークコントリビューターがDoubleZeroへの貢献を拡大できる方法は多数あります。例えば: +ネットワークコントリビューターがDoubleZeroへの貢献を拡大する方法は多岐にわたります: -- 既存の貢献のパフォーマンス特性を改善する:帯域幅を増やし、レイテンシを減らす +- 既存の提供のパフォーマンス特性を改善する:帯域幅の増加、レイテンシの削減 - 同じデータセンター間に複数のリンクを追加する - 既存のデータセンターから新しいデータセンターへの新しいリンクを追加する - 2つの新しいデータセンター間に新しい独立したリンクを追加する -#### 例1:単一コントリビューター、3データセンター、2リンク +#### 例1:単一コントリビューター、3つのデータセンター、2つのリンク
![Image title](images/figure2.png){ width="800" } -
図2:3つのデータセンター間のDoubleZeroネットワーク帯域幅貢献 - 単一コントリビューター
+
図2:3つのデータセンター間のDoubleZeroネットワーク帯域幅提供 - 単一コントリビューター
-単一のDZDはDoubleZeroに提供される複数のリンクをサポートできます。図2は、データセンター1とそれぞれ異なるリモートデータセンター2と3の間の帯域幅を単一のデータセンターが終端する場合の潜在的なトポロジーを示しています。このシナリオでは、各データセンターには1つのDZDのみが含まれています。すべてのDZDはCYOAインターフェースとしてDIAをユーザーオンランプに使用しています。 +単一のDZDは、DoubleZeroに提供される複数のリンクをサポートできます。図2は、データセンター1として示される単一のデータセンターが、2つの異なるリモートデータセンター2および3への帯域幅を終端する場合の潜在的なトポロジーを示しています。このシナリオでは、各データセンターにDZDが1台のみ含まれています。すべてのDZDは、CYOAインターフェースとしてDIAをユーザーオンランプに使用しています。 -#### 例2:単一コントリビューター、3データセンター、3リンク +#### 例2:単一コントリビューター、3つのデータセンター、3つのリンク -図3は単一のコントリビューターが3つのデータセンター間のトライアングルトポロジーに3つのリンクを展開した場合のDoubleZeroトポロジーを説明しています。例1に似たシナリオで、単一のDZDがデータセンター1、2、3に展開され、それぞれ2つの独立したネットワークリンクをサポートします。結果として得られるトポロジーはデータセンター間のトライアングルまたはリングです。 +図3は、単一のコントリビューターが3つのデータセンター間にトライアングルトポロジーで3つのリンクを展開した場合のDoubleZeroトポロジーを示しています。例1と同様のシナリオで、データセンター1、2、3にそれぞれ1台のDZDが展開され、各DZDは2つの独立したネットワークリンクをサポートします。結果として得られるトポロジーは、データセンター間のトライアングルまたはリングになります。
![Image title](images/figure3.png){ width="800" } -
図3:3つのデータセンター間のDoubleZeroネットワーク帯域幅貢献 - 単一コントリビューター
+
図3:3つのデータセンター間のDoubleZeroネットワーク帯域幅提供 - 単一コントリビューター
### DoubleZero Exchange -連続したネットワークの作成はDoubleZeroアーキテクチャの基本的な構成要素です。コントリビューターはニューヨーク(NYC)、ロンドン(LON)、東京(TYO)などの都市である大都市圏内のDoubleZero Exchange(DZX)を通じてインターフェースします。DZXはインターネットエクスチェンジに似たネットワークファブリックであり、ピアリングとルート交換を可能にします。 +連続したネットワークの構築は、DoubleZeroアーキテクチャの基本的な構成要素です。コントリビューターは、ニューヨーク(NYC)、ロンドン(LON)、東京(TYO)などの都市である大都市圏内のDoubleZero Exchange(DZX)を介してインターフェースします。DZXはインターネットエクスチェンジに類似したネットワークファブリックであり、ピアリングと経路交換を可能にします。 -図4では、ネットワークコントリビューター1はデータセンター1、2、3で運用し、ネットワークコントリビューター2はデータセンター2、4、5で運用しています。データセンター2で相互接続することで、DoubleZeroネットワークの到達範囲は5つの連続したデータセンターに拡大されます。 +図4では、ネットワークコントリビューター1がデータセンター1、2、3で運用し、ネットワークコントリビューター2がデータセンター2、4、5で運用しています。データセンター2で相互接続することにより、DoubleZeroネットワークの到達範囲は5つの連続したデータセンターに拡大します。
![Image title](images/figure4.png){ width="1000" } -
図4:2つのネットワーク帯域幅コントリビューター間のDoubleZeroネットワーク帯域幅貢献
+
図4:2つのネットワーク帯域幅コントリビューター間のDoubleZeroネットワーク帯域幅提供
-### 帯域幅貢献オプション +### 帯域幅提供オプション -DoubleZeroはネットワークコントリビューターに対し、スマートコントラクトを通じて表現される2つの終端データセンターのDZD間の保証された帯域幅、レイテンシ、ジッタープロファイルによる統合接続性を提供することを要求します。DoubleZeroはネットワークコントリビューターが貢献を実装する方法を義務付けていませんが、以下のセクションではそれぞれの判断で使用するための指示的オプションを提供します。 +DoubleZeroでは、ネットワークコントリビューターが2つの終端データセンターのDZD間で、スマートコントラクトを通じて保証された帯域幅、レイテンシ、ジッタープロファイルによる統合接続を提供する必要があります。DoubleZeroはコントリビューターが提供をどのように実装するかを規定しませんが、以下のセクションでコントリビューターの裁量で使用できる参考オプションを提供します。 -ネットワークコントリビューターにとって考慮すべき重要な分野: +ネットワークコントリビューターが考慮すべき重要な項目は以下の通りです: - DoubleZeroサービスのネットワークパフォーマンスを保証する能力:帯域幅、レイテンシ、ジッター - 既存の内部ネットワークサービスからの分離 -- トンネルアンダーレイアドレス空間とのIPv4アドレッシングの衝突 +- IPv4アドレスの競合、特にトンネルアンダーレイアドレス空間との競合 - アップタイムと可用性 -- CAPEXとOPEXの考慮事項 +- CAPEXおよびOPEXの考慮事項 #### レイヤー1帯域幅
![Image title](images/figure5.png){ width="800" } -
図5:レイヤー1光学サービス
+
図5:レイヤー1光サービス
-レイヤー1帯域幅(より正式には波長サービスとも呼ばれる)は、DWDM、CWDMまたは光マルチプレクサー(MUX)などの既存の光学インフラに専用容量をプロビジョニングする場合があります。図5では、DZDはL1 MUXにケーブル接続されたカラードオプティクスを使用し、DZDの波長を既存のダークファイバーに多重化します。 +レイヤー1帯域幅(より正式には波長サービスと呼ばれる)は、DWDM、CWDMまたは光マルチプレクサ(MUX)などの既存の光インフラストラクチャ上に専用容量をプロビジョニングすることで実現できます。図5では、DZDはL1 MUXにケーブル接続されたカラーオプティクスを使用し、MUXがDZDの波長を既存のダークファイバーにインターリーブします。 -このソリューションには、既存のコアネットワークを運用しているネットワークコントリビューターにとって多くの利点があります。反復的な運用上の変更、および追加のCAPEXとOPEXの要件は控えめです。このオプションはネットワークコントリビューターのネットワークサービスからの分離を提供する上で特に堅牢です。 +このソリューションには、既存のコアネットワークを運用するネットワークコントリビューターにとって多くの利点があります。段階的な運用変更、および追加のCAPEXとOPEX要件は控えめです。このオプションは、ネットワークコントリビューターのネットワークサービスからの分離を提供する点で特に堅牢です。 -#### パケットスイッチド帯域幅 +#### パケットスイッチング帯域幅 -パケットスイッチドネットワークは、ビジネスアプリケーションをサポートする標準的なルーティングおよびスイッチングプロトコルを実行する典型的なエンタープライズネットワークと考えられます。VLANタグを使用したレイヤー2(L2)拡張など、接続を実現するさまざまなネットワーキング技術があります。 +パケットスイッチングネットワークは、ビジネスアプリケーションをサポートする標準的なルーティングおよびスイッチングプロトコルを実行する、一般的なエンタープライズネットワークと見なすことができます。接続を実現するネットワーキング技術は多数あり、例えばVLANタグを使用したレイヤー2(L2)拡張などがあります。 ##### L2拡張
![Image title](images/figure6.png){ width="800" } -
図6:パケットスイッチドネットワーク - L2拡張
+
図6:パケットスイッチングネットワーク - L2拡張
-図6に示すL2拡張はVLANタギングを通じて実現できます。DZDのポートはコントリビューターの内部ネットワークスイッチにケーブル接続でき、スイッチポートは例えばVLAN 10のアクセスポートとして設定されます。802.1qタギングを通じて、このVLANはコントリビューターのネットワーク上の複数のスイッチホップを通じて運搬され、リモートDZDとインターフェースするスイッチで終端されます。 +図6に示すL2拡張は、VLANタグ付けによって実現できます。DZDのポートをコントリビューターの内部ネットワークスイッチにケーブル接続し、スイッチポートを例えばVLAN 10のアクセスポートとして設定できます。802.1qタグ付けにより、このVLANはコントリビューターのネットワーク上の複数のスイッチホップを介して転送され、リモートDZDとインターフェースするスイッチで終端されます。 -このソリューションは広くサポートされていて比較的実装が容易であり、DoubleZeroと内部レイヤー3サービス間のセグメンテーションを作成します。帯域幅はコントリビューターの内部スイッチまたはルーターのインターフェース速度に基づいて制御できます。Quality of Service(QoS)やその他のトラフィック管理ポリシーなどの技術を通じて、共有内部L2ネットワーク全体のパフォーマンスに慎重に考慮する必要があります。ただし、コントリビューターのコアネットワーク内に既存の容量がある場合、追加のCAPEXとOPEXの投資は控えめなはずです。 +このソリューションは、広くサポートされており、比較的簡単に実装でき、DoubleZeroと内部レイヤー3サービス間のセグメンテーションを作成できるという利点があります。帯域幅は、コントリビューターの内部スイッチまたはルーターのインターフェース速度に基づいて制御できます。Quality of Service(QoS)やその他のトラフィック管理ポリシーなどの技術を通じて、共有内部L2ネットワーク全体のパフォーマンスに十分な注意を払う必要があります。ただし、コントリビューターのコアネットワーク内に既存の容量がある場合、追加のCAPEXおよびOPEX投資は控えめであるはずです。 #### 専用サードパーティ帯域幅
@@ -109,125 +111,149 @@ DoubleZeroはネットワークコントリビューターに対し、スマー
図7:専用サードパーティ帯域幅
-利用可能な容量を再利用することは多くのネットワークコントリビューターにとって魅力的ですが、新たに取得した帯域幅をDoubleZeroに専用することもできます。このようなシナリオでは、DZDはコントリビューターの内部デバイスをインラインに配置することなく、サードパーティキャリアに直接接続されます(図7)。 +既存の容量を再利用することは多くのネットワークコントリビューターにとって魅力的ですが、新たに取得した帯域幅をDoubleZero専用にすることも可能です。そのようなシナリオでは、DZDはコントリビューターの内部デバイスを介さずにサードパーティキャリアに直接接続されます(図7)。 -このオプションはDoubleZero専用の帯域幅を確保し、運用がシンプルで、他のネットワークサービスからの完全な分離を確保するため魅力的です。このオプションはおそらく最も高いOPEXの増加をもたらし、サードパーティキャリアとの新しいサービス契約が必要です。 +このオプションは、DoubleZero専用の帯域幅を確保でき、運用がシンプルで、他のネットワークサービスからの完全な分離が保証されるため魅力的です。このオプションはOPEXの増加が最も大きくなる可能性があり、サードパーティキャリアとの新しいサービス契約が必要です。 --- ## ハードウェア要件 -### 100Gbps帯域幅貢献 +### 100Gbps帯域幅提供 -以下の数量は2つのデータセンターで必要な機器、すなわち1本の光ファイバーケーブルの帯域幅貢献を展開するために必要な合計ハードウェアを反映しています。 +以下の数量は2つのデータセンターで必要な機器を反映しています。つまり、帯域幅提供のために1本の光ファイバーケーブルを展開するために必要なハードウェアの合計です。 -??? warning "*すべてのFPGAは最終テスト次第です。10G貢献は組み込みデュアルVirtex® UltraScale+™ FPGAを持つArista 7130LBRスイッチを使用してサポートされる場合があります(ご質問があれば、DoubleZero Foundation / Malbec Labsが喜んで詳細情報を提供します)。" +??? warning "*すべてのFPGAは最終テストの対象です。10G提供は、デュアルVirtex® UltraScale+™ FPGA内蔵のArista 7130LBRスイッチを使用してサポートされる可能性があります(ご不明な点がございましたら、DoubleZero Foundation / Malbec Labsが詳細をご提供いたします)。*" #### 機能とポート要件 -| 機能 | ポート速度 | DZ要件 | QTY | 注意 | +| 機能 | ポート速度 | DZ要件 | 数量 | 備考 | |-----------------------------|------------|----------------|-----|-------------------------------------------------------------------------------------------------------------------------------------------------------------------| | プライベート帯域幅 | 100G | はい | 1 | | | Direct Internet Access (DIA) | 10G | はい | 2 | | -| DoubleZero eXchange (DZX) | 100G | はい* | 1 | 同じ大都市圏で3社以上のプロバイダーが運営する場合にサポートする必要があります。それ以前は、クロスコネクトまたは他のピアリング手配を使用して他のプロバイダーと相互接続できます。 | -| 管理 | | いいえ | 1 | コントリビューター独自の内部管理ポリシーによって決定されます。 | -| コンソール | | いいえ | 1 | コントリビューター独自の内部管理ポリシーによって決定されます。 | +| DoubleZero eXchange (DZX) | 100G | はい* | 1 | 同一メトロエリアで3つ以上のプロバイダーが運用する場合にサポートが必要です。それ以前は、クロスコネクトやその他のピアリング手段を使用して他のプロバイダーと相互接続できます。 | +| 管理 | | いいえ | 1 | コントリビューター独自の内部管理ポリシーにより決定。 | +| コンソール | | いいえ | 1 | コントリビューター独自の内部管理ポリシーにより決定。 | #### DZDネットワークハードウェア -| メーカー | モデル | 部品番号 | DZ要件 | QTY | 注意 | +| メーカー | モデル | 型番 | DZ要件 | 数量 | 備考 | |----------|-----------------|----------------------|----------------|-----|-----------------------------------------------------------| | AMD* | V80* | 24540474 | はい | 4 | | -| Arista | 7280CR3A | DCS-7280CR3A-32S | はい | 2 | リードタイムが困難な場合は代替品も可能な場合があります。 | +| Arista | 7280CR3A | DCS-7280CR3A-32S | はい | 2 | リードタイムが厳しい場合、代替品が可能な場合があります。 | --- -#### 光学部品 - 100G +#### オプティクス - 100G -| メーカー | モデル | 部品番号 | DZ要件 | QTY | 注意 | +| メーカー | モデル | 型番 | DZ要件 | 数量 | 備考 | |--------|-------------|----------------|----------------|-----|-------------------------------------------------------------| -| Arista | 100GBASE-LR | QSFP-100G-LR | いいえ | 16 | ケーブリングと光学部品の選択はコントリビューターの裁量で利用可能です。FPGAの接続には100Gが必要です。 | +| Arista | 100GBASE-LR | QSFP-100G-LR | いいえ | 16 | ケーブルとオプティクスの選択はコントリビューターの裁量で可能。FPGA接続には100Gが必要。 | --- -#### 光学部品 - 10G +#### オプティクス - 10G -| メーカー | モデル | 部品番号 | DZ要件 | QTY | 注意 | +| メーカー | モデル | 型番 | DZ要件 | 数量 | 備考 | |--------|-------------|----------------|----------------|-----|-------------------------------------------------------------| -| Arista | 10GBASE-LR | SFP-10G-LR | いいえ | 2 | ケーブリングと光学部品の選択はコントリビューターの裁量で利用可能です。 | -| Finisar | DynamiX QSA™ | MAM1Q00A-QSA | いいえ | 2 | ケーブリングと光学部品の選択はコントリビューターの裁量で利用可能です。 | +| Arista | 10GBASE-LR | SFP-10G-LR | いいえ | 2 | ケーブルとオプティクスの選択はコントリビューターの裁量で可能。 | +| Finisar | DynamiX QSA™ | MAM1Q00A-QSA | いいえ | 2 | ケーブルとオプティクスの選択はコントリビューターの裁量で可能。 | --- -#### IPアドレッシング +#### IPアドレス -| IPアドレッシング | 最小サブネットサイズ | DZ要件 | 注意 | +| IPアドレス | 最小サブネットサイズ | DZ要件 | 備考 | |--------------|-------------------|----------------|----------------------------------------------------------| -| パブリックIPv4 | /29 | はい(エッジ/ハイブリッドDZDの場合) | DIA経由でルーティング可能である必要があります。将来的にはこの必要性をなくす可能性があります。 | +| Public IPv4 | /29 | はい(エッジ/ハイブリッドDZDの場合) | DIA経由でルーティング可能である必要があります。将来的にこの要件を排除する可能性があります。 | -DZプロトコル用に完全な/29プールが利用可能であることを確認してください。DIAインターフェース上のポイントツーポイントアドレッシングなどの要件は、別のアドレスプールで管理する必要があります。 +完全な/29プールがDZプロトコルで利用可能であることを確認してください。DIAインターフェースなどのポイントツーポイントアドレス指定の要件は、別のアドレスプールで管理してください。 -### 10Gbps帯域幅貢献 +### 10Gbps帯域幅提供 -以下の数量は2つのデータセンターの機器、すなわち1つの帯域幅貢献を展開するために必要な合計ハードウェアを反映しています。 +以下の数量は2つのデータセンターの機器を反映しています。つまり、1つの帯域幅提供を展開するために必要なハードウェアの合計です。 #### 機能とポート要件 -| 機能 | ポート速度 | DZ要件 | QTY | 注意 | +| 機能 | ポート速度 | DZ要件 | 数量 | 備考 | |-----------------------------|------------|----------------|-----|-------------------------------------------------------------------------------------------------------------------------------------------------------------------| | プライベート帯域幅 | 10G | はい | 1 | | | Direct Internet Access (DIA) | 10G | はい | 2 | | -| DoubleZero eXchange (DZX) | 100G | はい* | 1 | 同じ大都市圏で3社以上のプロバイダーが運営する場合にサポートする必要があります。それ以前は、クロスコネクトまたは他のピアリング手配を使用して他のプロバイダーと相互接続できます。 | -| 管理 | | いいえ | 1 | コントリビューター独自の内部管理ポリシーによって決定されます。 | -| コンソール | | いいえ | 1 | コントリビューター独自の内部管理ポリシーによって決定されます。 | +| DoubleZero eXchange (DZX) | 100G | はい* | 1 | 同一メトロエリアで3つ以上のプロバイダーが運用する場合にサポートが必要です。それ以前は、クロスコネクトやその他のピアリング手段を使用して他のプロバイダーと相互接続できます。 | +| 管理 | | いいえ | 1 | コントリビューター独自の内部管理ポリシーにより決定。 | +| コンソール | | いいえ | 1 | コントリビューター独自の内部管理ポリシーにより決定。 | --- #### ハードウェア -| メーカー | モデル | 部品番号 | DZ要件 | QTY | 注意 | +| メーカー | モデル | 型番 | DZ要件 | 数量 | 備考 | |----------|-----------------|----------------------|----------------|-----|-----------------------------------------------------------| -| AMD* | V80* | 24540474* | はい | 4 | | -| Arista | 7280CR3A | DCS-7280CR3A-32S | はい | 2 | リードタイムが困難な場合は代替品も可能な場合があります。 | +| AMD* | V80* | 24540474* | はい | 4 | | | +| Arista | 7280CR3A | DCS-7280CR3A-32S | はい | 2 | リードタイムが厳しい場合、代替品が可能な場合があります。 | --- -#### 光学部品 - 100G +#### オプティクス - 100G -| メーカー | モデル | 部品番号 | DZ要件 | QTY | 注意 | +| メーカー | モデル | 型番 | DZ要件 | 数量 | 備考 | |--------|-------------|----------------|----------------|-----|-------------------------------------------------------------| -| Arista | 100GBASE-LR | QSFP-100G-LR | いいえ | 14 | ケーブリングと光学部品の選択はコントリビューターの裁量で利用可能です。FPGAの接続には100Gが必要です。 | +| Arista | 100GBASE-LR | QSFP-100G-LR | いいえ | 14 | ケーブルとオプティクスの選択はコントリビューターの裁量で可能。FPGA接続には100Gが必要。 | --- -#### 光学部品 - 10G +#### オプティクス - 10G -| メーカー | モデル | 部品番号 | DZ要件 | QTY | 注意 | +| メーカー | モデル | 型番 | DZ要件 | 数量 | 備考 | |--------|-------------|----------------|----------------|-----|-------------------------------------------------------------| -| Arista | 10GBASE-LR | SFP-10G-LR | いいえ | 4 | ケーブリングと光学部品の選択はコントリビューターの裁量で利用可能です。 | -| Finisar | DynamiX QSA™ | MAM1Q00A-QSA | いいえ | 4 | ケーブリングと光学部品の選択はコントリビューターの裁量で利用可能です。 | - +| Arista | 10GBASE-LR | SFP-10G-LR | いいえ | 4 | ケーブルとオプティクスの選択はコントリビューターの裁量で可能。 | + Finisar | DynamiX QSA™ | MAM1Q00A-QSA | いいえ | 4 | ケーブルとオプティクスの選択はコントリビューターの裁量で可能。 | --- -#### IPアドレッシング +#### IPアドレス -| IPアドレッシング | 最小サブネットサイズ | DZ要件 | 注意 | +| IPアドレス | 最小サブネットサイズ | DZ要件 | 備考 | |--------------|-------------------|----------------|----------------------------------------------------------| -| パブリックIPv4 | /29 | はい(エッジ/ハイブリッドDZDの場合) | DIA経由でルーティング可能である必要があります。将来的にはこの必要性をなくす可能性があります。 | +| Public IPv4 | /29 | はい(エッジ/ハイブリッドDZDの場合) | DIA経由でルーティング可能である必要があります。将来的にこの要件を排除する可能性があります。 | -DZプロトコル用に完全な/29プールが利用可能であることを確認してください。DIAインターフェース上のポイントツーポイントアドレッシングなどの要件は、別のアドレスプールで管理する必要があります。 +完全な/29プールがDZプロトコルで利用可能であることを確認してください。DIAインターフェースなどのポイントツーポイントアドレス指定の要件は、別のアドレスプールで管理してください。 ### データセンター要件 -#### ラックと電力要件 +#### ラックと電力の要件 + +以下の数値は**DZDごと**、つまりデータセンターごとのものです。100Gまたは10Gの帯域幅提供では、リンクの各端にDZDを1台配置するため、これを2回分計画してください。 + +##### ラックスペース + +| 項目 | ラックユニット | 必要時期 | +|------|-----------|--------| +| DZDスイッチ(Arista 7280CR3A-32Sまたは7130LBR) | 1U | 現在 | +| エッジフィルタリングアプライアンス | 1U | 後日、エッジおよびハイブリッドデバイスのみ | + +**DZDごとに2Uを確保してください。** 1ユニットは現在使用中です。2つ目は空けておき、ラックの移動なしにエッジフィルタリングアプライアンスをスイッチの隣に設置できるようにしてください。施設の要件に応じて、エアフローとケーブル管理のためのスペースも残してください。 + +##### 電力 + +| 項目 | 一般的な消費電力 | +|------|-------------| +| Arista 7280CR3A-32S | 約300 W | +| オプティクス(100G QSFPごと) | 約5 W | + +**DZDごとに2 kWを、2つの独立した電源フィードに分けて注文してください。** 各フィードが単独で全負荷を支えられるようにサイズを設定してください。スイッチは冗長電源を備えており、フィード障害後に残るのはそのうちの1つだけになる可能性があります。 + +2 kWはタイトではなく余裕のある値です。スイッチのみのDZD(現在のほぼすべてのデプロイメント)は、すべてのオプティクスが稼働した状態でも500 W未満の消費です。残りの2 kWは、FPGAを搭載し後日設置されるエッジフィルタリングアプライアンス用に確保されています。 + +!!! warning "電力を過剰に注文しないでください" + 予約した電力は、実際に使用するかどうかに関わらず課金されます。DZDはスイッチング1ラックユニットであり、コンピュートシャーシではないため、ラック位置が供給可能な電力よりもはるかに少ない消費です。DZDごとに2 kW以上を予約すると、使われない容量に対して支払うことになります。 + +!!! note "注文前にご自身のハードウェアを確認してください" + これらは当社の実際のデプロイメントからのガイドライン数値です。実際の消費電力は、電源構成、稼働させるポート数、選択するオプティクスによって異なります。購入する正確なハードウェアのベンダーデータシートに記載されている電源定格と照合してください。 -| 要件 | 仕様 | -|-------------|--------------| -| ラックスペース | 4U | -| 電力 | 4KW(推奨) | + また、最低限のギリギリまで注文を削らないでください。電力はラック内で利用可能でなければならず、後からフィードを追加するには通常、施設への新規注文が必要となり、数週間かかることがあります。 --- ## 次のステップ -最初のDZDをプロビジョニングする準備ができましたか?[デバイスプロビジョニングガイド](contribute-provisioning.md)に進んでください。 +最初のDZDをプロビジョニングする準備はできましたか?[デバイスプロビジョニングガイド](contribute-provisioning.md)に進んでください。 \ No newline at end of file diff --git a/docs/contribute.ko.md b/docs/contribute.ko.md index 3e77281..9291505 100644 --- a/docs/contribute.ko.md +++ b/docs/contribute.ko.md @@ -1,29 +1,31 @@ -# 기여자 요구사항 및 아키텍처 -!!! warning "This translation was generated using artificial intelligence and has not been reviewed by a human translator. It may contain inaccuracies or errors and should not be relied upon." +--- +description: DoubleZero 네트워크에 용량을 기여하기 위한 하드웨어, 대역폭, 연결 요구 사항 및 아키텍처. +--- +# 기여자 요구 사항 및 아키텍처 ## 요약 -미활용 광섬유 케이블과 네트워크 하드웨어를 수익화하고자 하는 누구든지 DoubleZero 네트워크에 기여할 수 있습니다. 네트워크 기여자는 두 지점 간에 전용 대역폭을 제공하고, 각 끝에 DoubleZero 호환 장치(DZD)를 운영하며, 각 끝에 공개 인터넷에 대한 연결이 있어야 합니다. 또한 네트워크 기여자는 각 DZD에서 멀티캐스트, 사용자 조회, 엣지 필터링과 같은 서비스를 제공하는 DoubleZero 소프트웨어를 실행해야 합니다. +미활용 광섬유 케이블과 네트워크 하드웨어를 수익화하고자 하는 누구나 DoubleZero 네트워크에 기여할 수 있습니다. 네트워크 기여자는 두 지점 간 전용 대역폭을 제공하고, 각 끝단에서 DoubleZero 호환 장치(DZD)를 운영하며, 각 끝단에서 공용 인터넷 연결을 제공해야 합니다. 또한 네트워크 기여자는 멀티캐스트, 사용자 조회, 엣지 필터링과 같은 서비스를 제공하기 위해 각 DZD에 DoubleZero 소프트웨어를 실행해야 합니다. -DoubleZero 스마트 계약은 네트워크가 측정 가능하고 토폴로지에 통합될 수 있는 고품질 링크를 유지하도록 보장하는 핵심입니다. 이를 통해 네트워크 컨트롤러가 다양한 사용자와 엔드포인트 간의 가장 효율적인 엔드-투-엔드 경로를 개발할 수 있습니다. 스마트 계약 실행 및 네트워크 장비와 대역폭 배포 후에 해당 주체는 네트워크 기여자로 분류됩니다. DoubleZero 네트워크 기여자로서 참여하는 경제학을 더 잘 이해하려면 [DoubleZero 경제학](https://economics.doublezero.xyz/overview)을 참조하세요. +DoubleZero 스마트 컨트랙트는 네트워크가 측정 및 토폴로지에 통합할 수 있는 고품질 링크를 유지하도록 보장하는 핵심 요소이며, 이를 통해 네트워크 컨트롤러가 다양한 사용자와 엔드포인트 간 가장 효율적인 종단 간 경로를 개발할 수 있습니다. 스마트 컨트랙트 실행 및 네트워크 장비와 대역폭 배포가 완료되면 해당 주체는 네트워크 기여자로 분류됩니다. 네트워크 기여자로서 DoubleZero에 참여하는 것의 경제적 측면을 더 자세히 이해하려면 [DoubleZero Economics](https://economics.doublezero.xyz/overview)를 참조하십시오. --- -## DoubleZero 네트워크 기여자가 되기 위한 요구사항 +## DoubleZero 네트워크 기여자가 되기 위한 요구 사항 -- 두 데이터 센터 간에 IPv4 연결 및 2048바이트 MTU를 제공할 수 있는 전용 대역폭 -- DoubleZero 프로토콜과 호환되는 DoubleZero 장치(DZD) 하드웨어 -- 인터넷 및 다른 DoubleZero 네트워크 기여자에 대한 연결 +- 두 데이터 센터 간 IPv4 연결 및 2048바이트 MTU를 제공할 수 있는 전용 대역폭 +- DoubleZero 프로토콜과 호환되는 DoubleZero Device (DZD) 하드웨어 +- 인터넷 및 다른 DoubleZero 네트워크 기여자와의 연결 - DZD에 DoubleZero 소프트웨어 설치 ## 빠른 시작 가이드 -네트워크 기여자로서 DoubleZero를 시작하는 가장 간단한 방법은 네트워크에서 DoubleZero에 전용으로 사용할 수 있는 용량을 파악하는 것입니다. 파악되면 DZD를 배포해야 하며, DZD는 기여자의 네트워크에서 의존성으로 IPv4 도달 가능성과 최소 2048바이트 MTU만 필요한 DoubleZero 오버레이 네트워크를 용이하게 합니다. +네트워크 기여자로서 DoubleZero를 시작하는 가장 간단한 방법은 DoubleZero에 전용으로 할당할 수 있는 네트워크 용량을 식별하는 것입니다. 식별이 완료되면 DZD를 배포하여 DoubleZero 오버레이 네트워크를 구성해야 하며, 이는 기여자의 네트워크에서 IPv4 도달성과 최소 2048바이트의 MTU만을 종속 조건으로 필요로 합니다. -그림 1은 대역폭 및 패킷 전송과 처리 서비스를 기여하는 가장 간단한 모델을 강조합니다. DZD는 각 데이터 센터에 배포되어 기여자의 내부 네트워크와 인터페이스하여 DoubleZero WAN 연결을 제공합니다. 이는 DoubleZero 사용자를 위한 온-램프로 사용되는 로컬 인터넷(일반적으로 DIA(Direct Internet Access) 솔루션)으로 보완됩니다. DIA가 DoubleZero 사용자에게 액세스를 용이하게 하는 선호 옵션이 될 것으로 예상되지만, 다양한 연결 모델이 가능합니다(예: 서버에 대한 물리적 케이블링, 네트워크 패브릭 확장 등). 이 옵션을 CYOA(Choose Your Own Adventure)라고 하며, 기여자가 내부 네트워크 정책에 가장 잘 맞는 방식으로 로컬 또는 원격 사용자를 연결할 수 있는 유연성을 제공합니다. +그림 1은 대역폭 및 패킷 전송 및 처리 서비스를 기여하는 가장 간단한 모델을 보여줍니다. 각 데이터 센터에 DZD가 배포되어 네트워크 기여자의 내부 네트워크와 인터페이스하여 DoubleZero WAN 연결을 제공합니다. 이는 DoubleZero 사용자를 위한 온램프로 사용되는 로컬 인터넷, 일반적으로 Direct Internet Access (DIA) 솔루션으로 보완됩니다. DIA가 DoubleZero 사용자에 대한 접근을 제공하는 데 선호되는 옵션이 될 것으로 예상되지만, 서버에 대한 물리적 케이블 연결, 네트워크 패브릭 확장 등 다양한 연결 모델이 가능합니다. 이러한 옵션을 Choose Your Own Adventure (CYOA)라고 하며, 기여자가 내부 네트워크 정책에 가장 적합한 방식으로 로컬 또는 원격 사용자를 연결할 수 있는 유연성을 제공합니다. -모든 네트워크와 마찬가지로 도달 가능성은 아키텍처의 근본적인 부분입니다. 기여자들은 고립되어 있을 수 없기 때문입니다. 따라서 DZD는 참여자 간에 연속적인 네트워크를 만들기 위해 DoubleZero Exchange(DZX)에 링크가 있어야 합니다. +모든 네트워크와 마찬가지로 도달성은 아키텍처의 기본적인 부분이며, 네트워크 기여자는 고립되어 존재할 수 없습니다. 따라서 DZD는 참여자 간 연속적인 네트워크를 만들기 위해 DoubleZero Exchange (DZX)에 대한 링크를 *반드시* 보유해야 합니다.
![Image title](images/figure1.png){ width="800" } @@ -32,12 +34,12 @@ DoubleZero 스마트 계약은 네트워크가 측정 가능하고 토폴로지 ### 기여 예시 -네트워크 기여자가 DoubleZero 기여를 확장할 수 있는 방법은 다음을 포함하여 다양합니다: +네트워크 기여자가 DoubleZero 기여를 확장할 수 있는 방법은 다양하며, 다음을 포함합니다: -- 기존 기여의 성능 특성 개선: 대역폭 증가, 대기 시간 감소 -- 동일한 데이터 센터 간에 여러 링크 추가 -- 기존 데이터 센터에서 새 데이터 센터로 새 링크 추가 -- 두 새 데이터 센터 간에 새로운 독립 링크 추가 +- 기존 기여의 성능 특성 향상: 대역폭 증가, 지연 시간 감소 +- 동일 데이터 센터 간 다중 링크 추가 +- 기존 데이터 센터에서 새 데이터 센터로의 새 링크 추가 +- 두 개의 새 데이터 센터 간 새로운 독립 링크 추가 #### 예시 1: 단일 기여자, 3개 데이터 센터, 2개 링크
@@ -45,11 +47,11 @@ DoubleZero 스마트 계약은 네트워크가 측정 가능하고 토폴로지
그림 2: 3개 데이터 센터 간 DoubleZero 네트워크 대역폭 기여 - 단일 기여자
-단일 DZD는 DoubleZero에 기여하는 여러 링크를 지원할 수 있습니다. 그림 2는 1로 표시된 단일 데이터 센터가 두 개의 다른 원격 데이터 센터 2와 3에 대역폭을 종단하는 경우의 잠재적 토폴로지를 보여줍니다. 이 시나리오에서 각 데이터 센터에는 DZD가 하나만 있습니다. 모든 DZD는 CYOA 인터페이스로 DIA를 사용합니다. +단일 DZD는 DoubleZero에 기여되는 여러 링크를 지원할 수 있습니다. 그림 2는 데이터 센터 1로 표기된 단일 데이터 센터가 두 개의 서로 다른 원격 데이터 센터 2와 3으로 대역폭을 종단하는 경우의 잠재적 토폴로지를 보여줍니다. 이 시나리오에서 각 데이터 센터에는 1개의 DZD만 포함됩니다. 모든 DZD는 CYOA 인터페이스로 사용자 온램프를 위한 DIA를 사용합니다. #### 예시 2: 단일 기여자, 3개 데이터 센터, 3개 링크 -그림 3은 단일 기여자가 3개 데이터 센터 사이에 삼각형 토폴로지로 3개 링크를 배포할 때의 DoubleZero 토폴로지를 설명합니다. 예시 1과 유사한 시나리오에서, 단일 DZD가 데이터 센터 1, 2, 3에 각각 배포되며 각각 2개의 독립 네트워크 링크를 지원합니다. 결과 토폴로지는 데이터 센터 간의 삼각형 또는 링입니다. +그림 3은 단일 기여자가 3개 데이터 센터 간 삼각형 토폴로지로 3개 링크를 배포할 때의 DoubleZero 토폴로지를 설명합니다. 예시 1과 유사한 시나리오에서 데이터 센터 1, 2, 3에 각각 단일 DZD가 배포되며, 각각 2개의 독립적인 네트워크 링크를 지원합니다. 결과적인 토폴로지는 데이터 센터 간 삼각형 또는 링 형태입니다.
![Image title](images/figure3.png){ width="800" } @@ -58,175 +60,189 @@ DoubleZero 스마트 계약은 네트워크가 측정 가능하고 토폴로지 ### DoubleZero Exchange -연속적인 네트워크 생성은 DoubleZero 아키텍처의 근본적인 구성 요소입니다. 기여자들은 뉴욕(NYC), 런던(LON) 또는 도쿄(TYO)와 같은 도시인 대도시권 내의 DoubleZero Exchange(DZX)를 통해 인터페이스하며, 이는 인터넷 익스체인지와 유사한 네트워크 패브릭으로 피어링 및 경로 교환을 허용합니다. +연속적인 네트워크 구축은 DoubleZero 아키텍처의 기본 구성 요소입니다. 기여자는 뉴욕(NYC), 런던(LON), 도쿄(TYO)와 같은 도시인 대도시 지역 내의 DoubleZero Exchange (DZX)를 통해 인터페이스합니다. DZX는 Internet Exchange와 유사한 네트워크 패브릭으로, 피어링 및 경로 교환을 가능하게 합니다. -그림 4에서 네트워크 기여자 1은 데이터 센터 1, 2, 3에서 운영하고, 네트워크 기여자 2는 데이터 센터 2, 4, 5에서 운영합니다. 데이터 센터 2에서 상호 연결함으로써 DoubleZero 네트워크 도달 범위가 5개의 연속 데이터 센터로 증가합니다. +그림 4에서 네트워크 기여자 1은 데이터 센터 1, 2, 3에서 운영하고, 네트워크 기여자 2는 데이터 센터 2, 4, 5에서 운영합니다. 데이터 센터 2에서 상호 연결함으로써 DoubleZero 네트워크 도달 범위가 5개의 연속적인 데이터 센터로 확장됩니다.
![Image title](images/figure4.png){ width="1000" } -
그림 4: 2개 네트워크 대역폭 기여자 간의 DoubleZero 네트워크 대역폭 기여
+
그림 4: 2개 네트워크 대역폭 기여자 간 DoubleZero 네트워크 대역폭 기여
### 대역폭 기여 옵션 -DoubleZero는 네트워크 기여자가 스마트 계약을 통해 두 종단 데이터 센터의 DZD 간에 보장된 대역폭, 대기 시간 및 지터 프로필을 통해 통합 연결을 제공하도록 요구합니다. DoubleZero는 네트워크 기여자가 기여를 구현하는 방법을 의무화하지 않지만, 다음 섹션에서는 단독 재량으로 사용할 수 있는 지시적 옵션을 제공합니다. +DoubleZero는 네트워크 기여자가 스마트 컨트랙트를 통해 표현된 두 종단 데이터 센터의 DZD 간 보장된 대역폭, 지연 시간 및 지터 프로파일을 통해 통합 연결을 제공할 것을 요구합니다. DoubleZero는 네트워크 기여자가 기여를 어떻게 구현하는지를 의무화하지 않지만, 다음 섹션에서 기여자의 자체 재량에 따라 사용할 수 있는 참고 옵션을 제공합니다. 네트워크 기여자가 고려해야 할 중요한 영역은 다음과 같습니다: -- DoubleZero 서비스의 네트워크 성능 보장 능력: 대역폭, 대기 시간 및 지터 -- 기존 내부 네트워크 서비스로부터의 격리 +- DoubleZero 서비스의 네트워크 성능 보장 능력: 대역폭, 지연 시간 및 지터 +- 기존 내부 네트워크 서비스와의 분리 - 특히 터널 언더레이 주소 공간과의 IPv4 주소 충돌 - 가동 시간 및 가용성 - CAPEX 및 OPEX 고려 사항 -#### 계층 1 대역폭 +#### 레이어 1 대역폭
![Image title](images/figure5.png){ width="800" } -
그림 5: 계층 1 광학 서비스
+
그림 5: 레이어 1 광학 서비스
-보다 공식적으로 파장 서비스로 설명되는 계층 1 대역폭은 DWDM, CWDM 또는 광학 멀티플렉서(MUX)를 통해 기존 광학 인프라에 전용 용량을 프로비저닝할 수 있습니다. 그림 5에서 DZD는 L1 MUX에 케이블로 연결된 컬러 옵틱을 사용하며, 이는 DZD 파장을 기존 다크 파이버에 인터리빙합니다. +레이어 1 대역폭은 보다 정식으로는 파장 서비스로 설명되며, DWDM, CWDM 또는 광 멀티플렉서(MUX)를 통해 기존 광학 인프라에 전용 용량을 프로비저닝할 수 있습니다. 그림 5에서 DZD는 L1 MUX에 케이블로 연결된 컬러드 광학 모듈을 사용하며, 기존 다크 파이버에 DZD 파장을 인터리브합니다. -이 솔루션은 기존 핵심 네트워크를 이미 운영하는 네트워크 기여자에게 많은 이점을 제공합니다. 점진적인 운영 변경과 추가 CAPEX 및 OPEX 요구 사항은 적습니다. 이 옵션은 네트워크 기여자의 네트워크 서비스로부터 격리를 제공하는 데 특히 강력합니다. +이 솔루션은 이미 기존 코어 네트워크를 운영하는 네트워크 기여자에게 다양한 이점을 제공합니다. 반복적인 운영 변경 사항과 추가 CAPEX 및 OPEX 요구 사항이 적당합니다. 이 옵션은 네트워크 기여자의 네트워크 서비스와의 분리를 제공하는 데 특히 강력합니다. -#### 패킷 교환 대역폭 +#### 패킷 스위칭 대역폭 -패킷 교환 네트워크는 비즈니스 애플리케이션을 지원하는 표준 라우팅 및 스위칭 프로토콜을 실행하는 일반적인 엔터프라이즈 네트워크로 간주될 수 있습니다. VLAN 태그를 사용한 계층 2(L2) 확장 등 다양한 네트워킹 기술을 통해 연결성을 달성할 수 있습니다. +패킷 스위칭 네트워크는 비즈니스 애플리케이션을 지원하는 표준 라우팅 및 스위칭 프로토콜을 실행하는 일반적인 엔터프라이즈 네트워크로 간주할 수 있습니다. 예를 들어 VLAN 태그를 사용한 레이어 2 (L2) 확장 등 연결을 달성하는 다양한 네트워킹 기술이 있습니다. ##### L2 확장
![Image title](images/figure6.png){ width="800" } -
그림 6: 패킷 교환 네트워크 - L2 확장
+
그림 6: 패킷 스위칭 네트워크 - L2 확장
-그림 6에 표시된 L2 확장은 VLAN 태깅을 통해 용이하게 할 수 있습니다. DZD의 포트는 기여자의 내부 네트워크 스위치에 케이블로 연결될 수 있으며, 스위치 포트는 예를 들어 VLAN 10의 액세스 포트로 설정됩니다. 802.1q 태깅을 통해 이 VLAN은 기여자의 네트워크에서 여러 스위치 홉을 통해 전달되어 원격 DZD와 인터페이스하는 스위치에서 종단됩니다. +그림 6에 표시된 L2 확장은 VLAN 태깅을 통해 구현할 수 있습니다. DZD의 포트를 기여자의 내부 네트워크 스위치에 케이블로 연결하고, 스위치 포트를 예를 들어 VLAN 10의 액세스 포트로 설정할 수 있습니다. 802.1q 태깅을 통해 이 VLAN은 기여자 네트워크의 여러 스위치 홉을 통해 전달되어 원격 DZD와 인터페이스하는 스위치에서 종단됩니다. -이 솔루션은 널리 지원되고 구현하기 비교적 쉬우면서 DoubleZero와 내부 계층 3 서비스 간의 분리를 만드는 이점이 있습니다. 대역폭은 기여자의 내부 스위치 또는 라우터의 인터페이스 속도를 기반으로 제어할 수 있습니다. QoS(서비스 품질) 또는 기타 트래픽 관리 정책과 같은 기술을 통해 공유 내부 L2 네트워크의 성능에 신중한 고려가 필요합니다. 그러나 기여자의 핵심 네트워크 내에 기존 용량이 있는 경우 추가 CAPEX 및 OPEX 투자는 최소화되어야 합니다. +이 솔루션은 널리 지원되고 비교적 구현이 쉬우면서도 DoubleZero와 내부 레이어 3 서비스 간 분리를 생성한다는 이점이 있습니다. 대역폭은 기여자의 내부 스위치 또는 라우터의 인터페이스 속도에 따라 제어할 수 있습니다. Quality of Service (QoS) 또는 기타 트래픽 관리 정책과 같은 기술을 통해 공유 내부 L2 네트워크 전반의 성능에 대한 신중한 고려가 필요합니다. 그러나 기여자의 코어 네트워크에 기존 용량이 있는 경우 추가 CAPEX 및 OPEX 투자는 적당해야 합니다. -#### 전용 3rd Party 대역폭 +#### 전용 제3자 대역폭
![Image title](images/figure7.png){ width="800" } -
그림 7: 전용 3rd Party 대역폭
+
그림 7: 전용 제3자 대역폭
-사용 가능한 용량을 재사용하는 것이 많은 네트워크 기여자에게 매력적이지만, 새로 획득한 대역폭을 DoubleZero에 전용으로 사용할 수도 있습니다. 이러한 시나리오에서 DZD는 인라인에 기여자의 내부 장치 없이 3rd party 통신사에 직접 연결됩니다(그림 7). +가용 용량의 재사용이 많은 네트워크 기여자에게 매력적일 수 있지만, 새로 확보한 대역폭을 DoubleZero에 전용으로 할당할 수도 있습니다. 이러한 시나리오에서 DZD는 기여자의 내부 장치 없이 제3자 통신 사업자에 직접 연결됩니다(그림 7). -이 옵션은 DoubleZero를 위한 전용 대역폭을 보장하고 운영상 간단하며 다른 네트워크 서비스로부터 완전한 분리를 보장하기 때문에 매력적입니다. 이 옵션은 OPEX 증가가 가장 높고 3rd party 통신사와의 새로운 서비스 계약이 필요합니다. +이 옵션은 DoubleZero를 위한 전용 대역폭을 보장하고, 운영적으로 단순하며, 다른 네트워크 서비스와의 완전한 분리를 보장하므로 매력적입니다. 이 옵션은 OPEX 증가가 가장 클 가능성이 높으며 제3자 통신 사업자와의 새로운 서비스 계약이 필요합니다. --- -## 하드웨어 요구사항 +## 하드웨어 요구 사항 ### 100Gbps 대역폭 기여 -아래 수량은 두 데이터 센터에 필요한 장비를 반영합니다. 즉, 1개의 광섬유 케이블 대역폭 기여를 배포하는 데 필요한 총 하드웨어입니다. +아래 수량은 2개 데이터 센터에 필요한 장비를 반영합니다. 즉, 대역폭 기여를 위해 1개의 광섬유 케이블을 배포하는 데 필요한 총 하드웨어입니다. -??? warning "*모든 FPGA는 최종 테스트를 거칩니다. 10G 기여는 내장 이중 Virtex® UltraScale+™ FPGA가 있는 Arista 7130LBR 스위치를 사용하여 지원될 수 있습니다(질문이 있으면 DoubleZero Foundation / Malbec Labs가 기꺼이 더 많은 정보를 제공합니다)." +??? warning "*모든 FPGA는 최종 테스트 대상입니다. 10G 기여는 내장 듀얼 Virtex® UltraScale+™ FPGA가 포함된 Arista 7130LBR 스위치를 사용하여 지원될 수 있습니다 (질문이 있으시면 DoubleZero Foundation / Malbec Labs가 기꺼이 추가 정보를 제공합니다)." -#### 기능 및 포트 요구사항 +#### 기능 및 포트 요구 사항 -| 기능 | 포트 속도 | DZ 요구사항 | 수량 | 참고 | +| 기능 | 포트 속도 | DZ 필수 여부 | 수량 | 비고 | |-----------------------------|------------|----------------|-----|-------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| 전용 대역폭 | 100G | 예 | 1 | | -| DIA (Direct Internet Access) | 10G | 예 | 2 | | -| DoubleZero eXchange (DZX) | 100G | 예* | 1 | 동일한 대도시권에 3개 이상의 공급자가 운영하면 반드시 지원해야 합니다. 이전에는 크로스 커넥트 또는 기타 피어링 방식을 사용할 수 있습니다. | -| 관리 | | 아니오 | 1 | 기여자의 내부 관리 정책에 따라 결정됩니다. | -| 콘솔 | | 아니오 | 1 | 기여자의 내부 관리 정책에 따라 결정됩니다. | +| Private Bandwidth | 100G | 예 | 1 | | +| Direct Internet Access (DIA) | 10G | 예 | 2 | | +| DoubleZero eXchange (DZX) | 100G | 예* | 1 | 동일 대도시 지역에서 3개 이상의 제공자가 운영되면 반드시 지원되어야 하며, 그 이전에는 크로스 커넥트 또는 기타 피어링 방식을 사용하여 다른 제공자와 상호 연결할 수 있습니다. | +| Management | | 아니오 | 1 | 기여자의 자체 내부 관리 정책에 따라 결정됩니다. | +| Console | | 아니오 | 1 | 기여자의 자체 내부 관리 정책에 따라 결정됩니다. | #### DZD 네트워크 하드웨어 -| 제조사 | 모델 | 부품 번호 | DZ 요구사항 | 수량 | 참고 | +| 제조사 | 모델 | 부품 번호 | DZ 필수 여부 | 수량 | 비고 | |----------|-----------------|----------------------|----------------|-----|-----------------------------------------------------------| -| AMD* | V80* | 24540474 | 예 | 4 | | -| Arista | 7280CR3A | DCS-7280CR3A-32S | 예 | 2 | 리드 타임이 어려운 경우 대안이 가능할 수 있습니다. | +| AMD* | V80* | 24540474 | 예 | 4 | | +| Arista | 7280CR3A | DCS-7280CR3A-32S | 예 | 2 | 리드 타임이 어려운 경우 대안이 가능할 수 있습니다. | --- -#### 광학 - 100G +#### 광학 모듈 - 100G -| 제조사 | 모델 | 부품 번호 | DZ 요구사항 | 수량 | 참고 | +| 제조사 | 모델 | 부품 번호 | DZ 필수 여부 | 수량 | 비고 | |--------|-------------|----------------|----------------|-----|-------------------------------------------------------------| -| Arista | 100GBASE-LR | QSFP-100G-LR | 아니오 | 16 | 케이블링 및 광학 선택은 기여자의 재량에 따릅니다. FPGA를 연결하는 데 100G가 필요합니다. | +| Arista | 100GBASE-LR | QSFP-100G-LR | 아니오 | 16 | 케이블 및 광학 모듈 선택은 기여자의 재량에 따릅니다. FPGA 연결에는 100G가 필요합니다. | --- -#### 광학 - 10G +#### 광학 모듈 - 10G -| 제조사 | 모델 | 부품 번호 | DZ 요구사항 | 수량 | 참고 | +| 제조사 | 모델 | 부품 번호 | DZ 필수 여부 | 수량 | 비고 | |--------|-------------|----------------|----------------|-----|-------------------------------------------------------------| -| Arista | 10GBASE-LR | SFP-10G-LR | 아니오 | 2 | 케이블링 및 광학 선택은 기여자의 재량에 따릅니다. | -| Finisar | DynamiX QSA™ | MAM1Q00A-QSA | 아니오 | 2 | 케이블링 및 광학 선택은 기여자의 재량에 따릅니다. | +| Arista | 10GBASE-LR | SFP-10G-LR | 아니오 | 2 | 케이블 및 광학 모듈 선택은 기여자의 재량에 따릅니다. | +| Finisar | DynamiX QSA™ | MAM1Q00A-QSA | 아니오 | 2 | 케이블 및 광학 모듈 선택은 기여자의 재량에 따릅니다. | --- #### IP 주소 지정 -| IP 주소 지정 | 최소 서브넷 크기 | DZ 요구사항 | 참고 | +| IP 주소 지정 | 최소 서브넷 크기 | DZ 필수 여부 | 비고 | |--------------|-------------------|----------------|----------------------------------------------------------| -| 공개 IPv4 | /29 | 예 (엣지/하이브리드 DZD의 경우) | DIA를 통해 라우팅 가능해야 합니다. 시간이 지남에 따라 이 요구사항을 없앨 수 있습니다. | +| Public IPv4 | /29 | 예 (엣지/하이브리드 DZD의 경우) | DIA를 통해 라우팅 가능해야 합니다. 시간이 지남에 따라 이 필요성을 제거할 수 있습니다. | -DZ 프로토콜을 위해 전체 /29 풀이 사용 가능한지 확인하세요. DIA 인터페이스의 점대점 주소 지정 등의 요구 사항은 별도의 주소 풀을 통해 관리되어야 합니다. +전체 /29 풀이 DZ 프로토콜에 사용 가능한지 확인하십시오. DIA 인터페이스 등에 대한 점대점 주소 지정 요구 사항은 다른 주소 풀을 통해 관리해야 합니다. ### 10Gbps 대역폭 기여 -아래 수량은 두 데이터 센터의 장비를 반영합니다. 즉, 1개의 대역폭 기여를 배포하는 데 필요한 총 하드웨어입니다. +수량은 2개 데이터 센터의 장비를 반영합니다. 즉, 1개의 대역폭 기여를 배포하는 데 필요한 총 하드웨어입니다. -#### 기능 및 포트 요구사항 +#### 기능 및 포트 요구 사항 -| 기능 | 포트 속도 | DZ 요구사항 | 수량 | 참고 | +| 기능 | 포트 속도 | DZ 필수 여부 | 수량 | 비고 | |-----------------------------|------------|----------------|-----|-------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| 전용 대역폭 | 10G | 예 | 1 | | -| DIA (Direct Internet Access) | 10G | 예 | 2 | | -| DoubleZero eXchange (DZX) | 100G | 예* | 1 | 동일한 대도시권에 3개 이상의 공급자가 운영하면 반드시 지원해야 합니다. 이전에는 크로스 커넥트 또는 기타 피어링 방식을 사용할 수 있습니다. | -| 관리 | | 아니오 | 1 | 기여자의 내부 관리 정책에 따라 결정됩니다. | -| 콘솔 | | 아니오 | 1 | 기여자의 내부 관리 정책에 따라 결정됩니다. | +| Private Bandwidth | 10G | 예 | 1 | | +| Direct Internet Access (DIA) | 10G | 예 | 2 | | +| DoubleZero eXchange (DZX) | 100G | 예* | 1 | 동일 대도시 지역에서 3개 이상의 제공자가 운영되면 반드시 지원되어야 하며, 그 이전에는 크로스 커넥트 또는 기타 피어링 방식을 사용하여 다른 제공자와 상호 연결할 수 있습니다. | +| Management | | 아니오 | 1 | 기여자의 자체 내부 관리 정책에 따라 결정됩니다. | +| Console | | 아니오 | 1 | 기여자의 자체 내부 관리 정책에 따라 결정됩니다. | --- #### 하드웨어 -| 제조사 | 모델 | 부품 번호 | DZ 요구사항 | 수량 | 참고 | +| 제조사 | 모델 | 부품 번호 | DZ 필수 여부 | 수량 | 비고 | |----------|-----------------|----------------------|----------------|-----|-----------------------------------------------------------| -| AMD* | V80* | 24540474* | 예 | 4 | | -| Arista | 7280CR3A | DCS-7280CR3A-32S | 예 | 2 | 리드 타임이 어려운 경우 대안이 가능할 수 있습니다. | +| AMD* | V80* | 24540474* | 예 | 4 | | | +| Arista | 7280CR3A | DCS-7280CR3A-32S | 예 | 2 | 리드 타임이 어려운 경우 대안이 가능할 수 있습니다. | --- -#### 광학 - 100G +#### 광학 모듈 - 100G -| 제조사 | 모델 | 부품 번호 | DZ 요구사항 | 수량 | 참고 | +| 제조사 | 모델 | 부품 번호 | DZ 필수 여부 | 수량 | 비고 | |--------|-------------|----------------|----------------|-----|-------------------------------------------------------------| -| Arista | 100GBASE-LR | QSFP-100G-LR | 아니오 | 14 | 케이블링 및 광학 선택은 기여자의 재량에 따릅니다. FPGA를 연결하는 데 100G가 필요합니다. | +| Arista | 100GBASE-LR | QSFP-100G-LR | 아니오 | 14 | 케이블 및 광학 모듈 선택은 기여자의 재량에 따릅니다. FPGA 연결에는 100G가 필요합니다. | --- -#### 광학 - 10G +#### 광학 모듈 - 10G -| 제조사 | 모델 | 부품 번호 | DZ 요구사항 | 수량 | 참고 | +| 제조사 | 모델 | 부품 번호 | DZ 필수 여부 | 수량 | 비고 | |--------|-------------|----------------|----------------|-----|-------------------------------------------------------------| -| Arista | 10GBASE-LR | SFP-10G-LR | 아니오 | 4 | 케이블링 및 광학 선택은 기여자의 재량에 따릅니다. | -| Finisar | DynamiX QSA™ | MAM1Q00A-QSA | 아니오 | 4 | 케이블링 및 광학 선택은 기여자의 재량에 따릅니다. | +| Arista | 10GBASE-LR | SFP-10G-LR | 아니오 | 4 | 케이블 및 광학 모듈 선택은 기여자의 재량에 따릅니다. | + Finisar | DynamiX QSA™ | MAM1Q00A-QSA | 아니오 | 4 | 케이블 및 광학 모듈 선택은 기여자의 재량에 따릅니다. | --- #### IP 주소 지정 -| IP 주소 지정 | 최소 서브넷 크기 | DZ 요구사항 | 참고 | +| IP 주소 지정 | 최소 서브넷 크기 | DZ 필수 여부 | 비고 | |--------------|-------------------|----------------|----------------------------------------------------------| -| 공개 IPv4 | /29 | 예 (엣지/하이브리드 DZD의 경우) | DIA를 통해 라우팅 가능해야 합니다. 시간이 지남에 따라 이 요구사항을 없앨 수 있습니다. | +| Public IPv4 | /29 | 예 (엣지/하이브리드 DZD의 경우) | DIA를 통해 라우팅 가능해야 합니다. 시간이 지남에 따라 이 필요성을 제거할 수 있습니다. | -DZ 프로토콜을 위해 전체 /29 풀이 사용 가능한지 확인하세요. DIA 인터페이스의 점대점 주소 지정 등의 요구 사항은 별도의 주소 풀을 통해 관리되어야 합니다. +전체 /29 풀이 DZ 프로토콜에 사용 가능한지 확인하십시오. DIA 인터페이스 등에 대한 점대점 주소 지정 요구 사항은 다른 주소 풀을 통해 관리해야 합니다. -### 데이터 센터 요구사항 +### 데이터 센터 요구 사항 -#### 랙 및 전원 요구사항 +#### 랙 및 전원 요구 사항 -| 요구사항 | 사양 | -|-------------|--------------| -| 랙 공간 | 4U | -| 전원 | 4KW (권장) | +아래 수치는 **DZD당**, 즉 데이터 센터당 기준입니다. 100G 또는 10G 대역폭 기여는 링크의 각 끝에 DZD 1개를 배치하므로 이를 두 번 계획하십시오. ---- +##### 랙 공간 + +| 항목 | 랙 유닛 | 필요 시점 | +|------|-----------|--------| +| DZD 스위치 (Arista 7280CR3A-32S 또는 7130LBR) | 1U | 현재 | +| 엣지 필터링 어플라이언스 | 1U | 추후, 엣지 및 하이브리드 장치에만 해당 | + +**DZD당 2U를 확보하십시오.** 1유닛은 현재 사용 중입니다. 엣지 필터링 어플라이언스가 랙 이동 없이 스위치 옆에 설치될 수 있도록 두 번째 유닛을 비워 두십시오. 시설 요구 사항에 따라 공기 흐름과 케이블 관리를 위한 공간을 남겨 두십시오. + +##### 전원 + +| 항목 | 일반적인 소비 전력 | +|------|-------------| +| Arista 7280CR3A-32S | ~300 W | +| 광학 모듈, 100G QSFP당 | ~5 W | + +**DZD당 2 kW를 주문하고, 2개의 독립된 전원 피드에 분배하십시오.** 각 피드가 단독으로 전체 부하를 감당할 수 있도록 크기를 설정하십시오. 스위치는 이중화 전원 공급 장치를 실행하며, 피드 장애 후에는 그 중 하나만 남을 수 있습니다. -## 다음 단계 +2 kW는 빠듯하기보다는 여유 있는 수준입니다. 현재 거의 모든 배포에서 사용되는 스위치 전용 DZD는 모든 광학 모듈이 켜진 상태에서도 500 W 미만을 소비합니다. 나머지 2 kW는 FPGA를 포함하며 추후 설치되는 엣지 필터링 어플라이언스를 위해 예약됩니다. -첫 번째 DZD를 프로비저닝할 준비가 되셨나요? [장치 프로비저닝 가이드](contribute-provisioning.md)를 계속하세요. +!!! warning "전원을 과다 주문하지 마십시오" + 사용 여부와 관계없이 예약한 전력에 대해 비용을 지불합니다. DZD는 컴퓨트 섀시가 아니라 단일 랙 유닛의 스위칭이므로 랙 위치에서 공급할 수 있는 것보다 훨씬 적은 전력을 소비합니다. DZD당 2 kW 이상을 예약하면 유휴 상태로 있는 용량 \ No newline at end of file diff --git a/docs/contribute.md b/docs/contribute.md index f1b35b1..d98b2ba 100644 --- a/docs/contribute.md +++ b/docs/contribute.md @@ -222,10 +222,35 @@ Please ensure that the full /29 pool is available for the DZ protocol. Any requ #### Rack & Power Requirements -| Requirement | Specification | -|-------------|--------------| -| Rack Space | 4U | -| Power | 4KW (recommended) | +The figures below are **per DZD**, so per data center. A 100G or 10G bandwidth contribution puts one DZD at each end of the link, so plan this twice. + +##### Rack space + +| Item | Rack units | Needed | +|------|-----------|--------| +| DZD switch (Arista 7280CR3A-32S or 7130LBR) | 1U | Now | +| Edge filtering appliance | 1U | Later, on edge and hybrid devices only | + +**Reserve 2U per DZD.** One unit is in use today. Keep the second free so the edge filtering appliance can go in next to the switch without a rack move. Leave room for airflow and cable management as your facility requires. + +##### Power + +| Item | Typical draw | +|------|-------------| +| Arista 7280CR3A-32S | ~300 W | +| Optics, per 100G QSFP | ~5 W | + +**Order 2 kW per DZD, split across two independent feeds.** Size each feed to carry the whole load on its own. The switch runs redundant power supplies, and after a feed failure one of them may be all you have left. + +2 kW is comfortable rather than tight. A switch-only DZD, which is what almost every deployment runs today, draws well under 500 W with all its optics lit. The rest of the 2 kW is set aside for the edge filtering appliance, which holds the FPGAs and goes in later. + +!!! warning "Do not over-order power" + You pay for the power you reserve, whether you draw it or not. A DZD is a single rack unit of switching, not a compute chassis, so it draws far less than its rack position could supply. Reserving more than 2 kW per DZD means paying for capacity that sits idle. + +!!! note "Check your own hardware before you order" + These are guideline figures from our own deployments. Your real draw depends on your power supply configuration, how many ports you light up, and which optics you choose. Confirm against the power supply ratings in the vendor datasheet for the exact hardware you buy. + + Do not trim the order to the bare minimum either. The power has to be available in the rack, and adding a feed later usually means a new order with the facility, which can take weeks. --- diff --git a/docs/contribute.pt.md b/docs/contribute.pt.md index 0c6354a..d98f708 100644 --- a/docs/contribute.pt.md +++ b/docs/contribute.pt.md @@ -1,29 +1,31 @@ -# Requisitos e Arquitetura para Contribuidores -!!! warning "This translation was generated using artificial intelligence and has not been reviewed by a human translator. It may contain inaccuracies or errors and should not be relied upon." +--- +description: Requisitos de hardware, largura de banda e conectividade, bem como arquitetura para contribuir com capacidade para a rede DoubleZero. +--- +# Requisitos e Arquitetura para Contribuidores ## Resumo -Qualquer pessoa que deseje monetizar seus cabos de fibra ótica e hardware de rede subutilizados pode contribuir para a rede DoubleZero. Os contribuidores de rede devem fornecer largura de banda dedicada entre dois pontos, operar dispositivos compatíveis com DoubleZero (DZDs) em cada extremidade e ter conexão com a internet pública em cada extremidade. Os contribuidores de rede também devem executar software DoubleZero em cada DZD para fornecer serviços como multicast, pesquisa de usuários e filtragem de borda. +Qualquer pessoa que deseje monetizar seus cabos de fibra óptica e hardware de rede subutilizados pode contribuir para a rede DoubleZero. Os contribuidores de rede devem fornecer largura de banda dedicada entre dois pontos, operar dispositivos compatíveis com DoubleZero (DZDs) em cada extremidade e uma conexão à internet pública em cada extremidade. Os contribuidores de rede também devem executar o software DoubleZero em cada DZD para fornecer serviços como multicast, busca de usuários e filtragem de borda. -O contrato inteligente DoubleZero é a pedra angular para garantir que a rede mantenha links de alta qualidade que possam ser medidos e integrados à topologia, permitindo que nossos controladores de rede desenvolvam o caminho mais eficiente de ponta a ponta entre nossos diferentes usuários e endpoints. Após a execução do contrato inteligente e a implantação do equipamento de rede e da largura de banda, uma entidade é classificada como contribuidor de rede. Consulte [Economia do DoubleZero](https://economics.doublezero.xyz/overview) para entender melhor a economia por trás da participação no DoubleZero como contribuidor de rede. +O contrato inteligente DoubleZero é a pedra angular para garantir que a rede mantenha links de alta qualidade que possam ser medidos e integrados à topologia, permitindo que nossos controladores de rede desenvolvam o caminho ponta a ponta mais eficiente entre nossos diferentes usuários e endpoints. Após a execução do contrato inteligente e implantação do equipamento de rede e largura de banda, uma entidade é classificada como contribuidor de rede. Consulte [DoubleZero Economics](https://economics.doublezero.xyz/overview) para entender melhor a economia por trás da participação no DoubleZero como contribuidor de rede. --- ## Requisitos para ser um Contribuidor de Rede DoubleZero -- Largura de banda dedicada capaz de fornecer conectividade IPv4 e um MTU de 2048 bytes entre dois data centers -- Hardware de Dispositivo DoubleZero (DZD) compatível com o protocolo DoubleZero +- Largura de banda dedicada que possa fornecer conectividade IPv4 e um MTU de 2048 bytes entre dois data centers +- Hardware DoubleZero Device (DZD) compatível com o protocolo DoubleZero - Conectividade com a internet e outros contribuidores de rede DoubleZero - Instalação do software DoubleZero no DZD ## Guia de Início Rápido -Como contribuidor de rede, a maneira mais simples de começar no DoubleZero é identificar capacidade em sua rede que possa ser dedicada ao DoubleZero. Uma vez identificados, os DZDs devem ser implantados, facilitando a rede overlay DoubleZero que requer apenas alcançabilidade IPv4 e um MTU mínimo de 2048 bytes como dependências da rede do contribuidor. +Como contribuidor de rede, a maneira mais simples de começar no DoubleZero é identificando capacidade na sua rede que possa ser dedicada ao DoubleZero. Uma vez identificada, os DZDs devem ser implantados, facilitando a rede overlay DoubleZero que requer apenas alcançabilidade IPv4 e um MTU mínimo de 2048 bytes como suas dependências da rede do contribuidor. -A Figura 1 destaca o modelo mais simples para contribuição de largura de banda e serviços de envio e processamento de pacotes. Um DZD é implantado em cada data center, conectando-se à rede interna do contribuidor de rede para fornecer conectividade WAN DoubleZero. Isso é complementado pela internet local, tipicamente uma solução de Acesso Direto à Internet (DIA), que é usada como pontos de entrada para usuários DoubleZero. Embora se espere que o DIA seja a opção preferida para facilitar o acesso aos usuários do DoubleZero, vários modelos de conectividade são possíveis, como cabeamento físico para servidores, extensão de fabric de rede, etc. Nos referimos a essas opções como Choose Your Own Adventure (CYOA), fornecendo ao contribuidor flexibilidade para conectar usuários locais ou remotos de uma forma que melhor se adapte às suas políticas de rede internas. +A Figura 1 destaca o modelo mais simples para contribuição de largura de banda e serviços de envio e processamento de pacotes. Um DZD é implantado em cada data center, fazendo interface com a rede interna do contribuidor de rede para fornecer conectividade WAN DoubleZero. Isso é complementado por internet local, tipicamente uma solução de Acesso Direto à Internet (DIA), que é usada como pontos de entrada para usuários DoubleZero. Embora se espere que o DIA seja a opção preferida para facilitar o acesso aos usuários do DoubleZero, diversos modelos de conectividade são possíveis, por exemplo, cabeamento físico para servidores, extensão de fabric de rede, etc. Referimo-nos a essas opções como Choose Your Own Adventure (CYOA), proporcionando ao contribuidor flexibilidade para conectar usuários locais ou remotos da maneira que melhor se adeque às suas políticas internas de rede. -Como em qualquer rede, a alcançabilidade é uma parte fundamental da arquitetura, pois os contribuidores de rede não podem viver isolados. Como tal, o DZD *deve* ter um link para uma DoubleZero Exchange (DZX) para criar uma rede contígua entre os participantes. +Como em qualquer rede, a alcançabilidade é uma parte fundamental da arquitetura, pois os contribuidores de rede não podem existir isoladamente. Assim, o DZD *deve* ter um link para um DoubleZero Exchange (DZX) para criar uma rede contígua entre os participantes.
![Image title](images/figure1.png){ width="800" } @@ -32,7 +34,7 @@ Como em qualquer rede, a alcançabilidade é uma parte fundamental da arquitetur ### Exemplos de Contribuições -As formas pelas quais um contribuidor de rede pode expandir suas contribuições DoubleZero são muitas, incluindo: +As maneiras pelas quais um contribuidor de rede pode expandir suas contribuições ao DoubleZero são muitas, incluindo: - Melhorar as características de desempenho de suas contribuições existentes: aumentar largura de banda, reduzir latência - Adicionar múltiplos links entre os mesmos data centers @@ -45,73 +47,73 @@ As formas pelas quais um contribuidor de rede pode expandir suas contribuições
Figura 2: Contribuição de Largura de Banda da Rede DoubleZero Entre 3 Data Centers - Contribuidor Único
-Um único DZD pode suportar múltiplos links contribuídos ao DoubleZero. A Figura 2 ilustra uma topologia potencial se um único data center, denominado 1, terminar largura de banda para dois data centers remotos diferentes 2 e 3. Neste cenário, cada data center contém apenas 1 DZD. Todos os DZDs estão usando DIA para pontos de entrada de usuários como sua interface CYOA. +Um único DZD pode suportar múltiplos links contribuídos ao DoubleZero. A Figura 2 ilustra uma topologia potencial se um único data center, denominado como 1, terminar largura de banda para dois data centers remotos diferentes, 2 e 3. Neste cenário, cada data center contém apenas 1 DZD. Todos os DZDs estão usando DIA para pontos de entrada de usuários como sua interface CYOA. #### Exemplo 2: Contribuidor Único, 3 Data Centers, Três Links -A Figura 3 descreve a topologia DoubleZero quando um único contribuidor implanta três links em uma topologia triangular entre 3 data centers. Em um cenário semelhante ao exemplo 1, um único DZD é implantado nos data centers 1, 2 e 3, cada um suportando 2 links de rede independentes. A topologia resultante é um triângulo ou anel entre os data centers. +A Figura 3 descreve a topologia DoubleZero quando um único contribuidor implanta três links em uma topologia triangular entre 3 data centers. Em um cenário semelhante ao exemplo 1, um único DZD é implantado nos data centers 1, 2 e 3, cada um suportando 2 links de rede independentes. A topologia resultante é um triângulo ou anel entre data centers.
![Image title](images/figure3.png){ width="800" } -
Figura 3: Contribuição de Largura de Banda da Rede DoubleZero Entre 3 Data Centers - Contribuidor Único
+
Figura 3: Contribuição de Largura de Banda da Rede DoubleZero Entre 3 Data Centers - Contribuidor Único
### DoubleZero Exchange -A criação de uma rede contígua é um bloco fundamental da arquitetura DoubleZero. Os contribuidores se conectam via uma DoubleZero Exchange (DZX) dentro de uma área metropolitana, que é uma cidade como Nova York (NYC), Londres (LON) ou Tóquio (TYO). Uma DZX é um fabric de rede semelhante a uma Internet Exchange, permitindo peering e troca de rotas. +A criação de uma rede contígua é um bloco fundamental da arquitetura DoubleZero. Os contribuidores se interconectam via um DoubleZero Exchange (DZX) dentro de uma área metropolitana, que é uma cidade como Nova York (NYC), Londres (LON) ou Tóquio (TYO). Um DZX é um fabric de rede semelhante a um Internet Exchange, permitindo peering e troca de rotas. -Na Figura 4, o contribuidor de rede 1 opera nos data centers 1, 2 e 3, enquanto o contribuidor de rede 2 opera nos data centers 2, 4 e 5. Ao interconectar no data center 2, o alcance da rede DoubleZero aumenta para 5 data centers contíguos. +Na Figura 4, o contribuidor de rede 1 opera nos data centers 1, 2 e 3, enquanto o contribuidor de rede 2 opera nos data centers 2, 4 e 5. Ao se interconectar no data center 2, o alcance da rede DoubleZero aumenta para 5 data centers contíguos.
![Image title](images/figure4.png){ width="1000" } -
Figura 4: Contribuição de Largura de Banda da Rede DoubleZero Entre 2 Contribuidores de Largura de Banda de Rede
+
Figura 4: Contribuição de Largura de Banda da Rede DoubleZero Entre 2 Contribuidores de Largura de Banda de Rede
### Opções de Contribuição de Largura de Banda -O DoubleZero requer que um contribuidor de rede ofereça conectividade integrada via um perfil garantido de largura de banda, latência e jitter entre DZDs em dois data centers terminadores, expresso via contrato inteligente. O DoubleZero não determina como um contribuidor de rede implementa sua contribuição; no entanto, nas seções a seguir, fornecemos opções indicativas para uso a seu exclusivo critério. +O DoubleZero requer que um contribuidor de rede ofereça conectividade integrada via um perfil garantido de largura de banda, latência e jitter entre DZDs em dois data centers terminais, expresso por meio de um contrato inteligente. O DoubleZero não determina como um contribuidor de rede implementa sua contribuição; no entanto, nas seções seguintes, fornecemos opções indicativas para uso a seu exclusivo critério. -Áreas importantes a considerar para um contribuidor de rede podem ser: +Áreas importantes a serem consideradas por um contribuidor de rede podem ser: - Capacidade de garantir o desempenho de rede do serviço DoubleZero: largura de banda, latência e jitter - Segregação de seus serviços de rede internos existentes -- Conflitos de endereçamento IPv4, especialmente com o espaço de endereços subjacente ao túnel +- Conflitos de endereçamento IPv4, especificamente com o espaço de endereços do underlay do túnel - Tempo de atividade e disponibilidade - Considerações de CAPEX e OPEX #### Largura de Banda Camada 1
![Image title](images/figure5.png){ width="800" } -
Figura 5: Serviços Ópticos de Camada 1
+
Figura 5: Serviços Ópticos Camada 1
-A largura de banda de Camada 1, mais formalmente descrita como serviços de comprimento de onda, pode ver capacidade dedicada provisionada em uma infraestrutura óptica existente, como DWDM, CWDM ou via multiplexadores ópticos (MUX). Na Figura 5, os DZDs usam uma óptica colorida que é cabeada para um MUX L1, que intercala o comprimento de onda do DZD em uma fibra escura existente. +A largura de banda Camada 1, mais formalmente descrita como serviços de comprimento de onda, pode ter capacidade dedicada provisionada em uma infraestrutura óptica existente, como DWDM, CWDM ou via multiplexadores ópticos (MUX). Na Figura 5, os DZDs usam uma óptica colorida que é cabeada a um MUX L1, que intercala o comprimento de onda do DZD em uma fibra escura existente. -Esta solução tem inúmeros benefícios para contribuidores de rede que já operam uma rede principal existente. As mudanças operacionais iterativas, bem como os requisitos adicionais de CAPEX e OPEX, são modestos. Esta opção é particularmente robusta em oferecer segregação dos serviços de rede do contribuidor. +Esta solução tem inúmeros benefícios para contribuidores de rede que já operam uma rede core existente. As mudanças operacionais iterativas, bem como os requisitos adicionais de CAPEX e OPEX, são modestos. Esta opção é particularmente robusta em oferecer segregação dos serviços de rede do contribuidor. -#### Largura de Banda em Redes Comutadas por Pacotes +#### Largura de Banda Comutada por Pacotes -As redes comutadas por pacotes podem ser consideradas uma rede empresarial típica, executando protocolos padrão de roteamento e comutação que suportam aplicações de negócios. Existem inúmeras tecnologias de rede que alcançam conectividade, por exemplo, extensões de camada 2 (L2) usando tags VLAN. +Redes comutadas por pacotes podem ser consideradas uma rede corporativa típica, executando protocolos padrão de roteamento e comutação que suportam aplicações de negócios. Existem inúmeras tecnologias de rede que alcançam conectividade, por exemplo, extensões de camada 2 (L2) usando tags VLAN. ##### Extensão L2
![Image title](images/figure6.png){ width="800" } -
Figura 6: Redes Comutadas por Pacotes - Extensão L2
+
Figura 6: Redes Comutadas por Pacotes - Extensão L2
-Uma extensão L2 como mostrado na Figura 6 pode ser facilitada através de marcação VLAN. A porta de um DZD pode ser cabeada para um switch de rede interna do contribuidor, com a porta do switch sendo configurada como porta de acesso em, por exemplo, VLAN 10. Através de marcação 802.1q, esta VLAN pode ser transportada por múltiplos saltos de switch na rede do contribuidor, terminando no switch que se conecta ao DZD remoto. +Uma extensão L2, conforme mostrado na Figura 6, pode ser facilitada através de marcação VLAN. A porta de um DZD pode ser cabeada ao switch da rede interna do contribuidor, com a porta do switch sendo configurada como uma porta de acesso em, por exemplo, VLAN 10. Através da marcação 802.1q, esta VLAN pode ser transportada por múltiplos saltos de switch na rede do contribuidor, terminando no switch que faz interface com o DZD remoto. -Esta solução se beneficia de ser amplamente suportada e relativamente fácil de implementar, ao mesmo tempo em que cria segmentação entre o DoubleZero e os serviços de camada 3 internos. A largura de banda pode ser controlada com base na velocidade de interface do switch ou roteador interno do contribuidor. Consideração cuidadosa deve ser dada ao desempenho na rede L2 interna compartilhada por meio de tecnologias como Qualidade de Serviço (QoS) ou outras políticas de gerenciamento de tráfego. No entanto, investimentos adicionais em CAPEX e OPEX devem ser modestos se houver capacidade existente disponível na rede principal do contribuidor. +Esta solução se beneficia por ser amplamente suportada e relativamente fácil de implementar, criando segmentação entre o DoubleZero e os serviços internos de camada 3. A largura de banda pode ser controlada com base na velocidade da interface do switch ou roteador interno do contribuidor. Consideração cuidadosa deve ser dada ao desempenho na rede L2 interna compartilhada através de tecnologias como Qualidade de Serviço (QoS) ou outras políticas de gerenciamento de tráfego. No entanto, investimentos adicionais de CAPEX e OPEX devem ser modestos se capacidade existente estiver disponível na rede core do contribuidor. #### Largura de Banda Dedicada de Terceiros
![Image title](images/figure7.png){ width="800" } -
Figura 7: Largura de Banda Dedicada de Terceiros
+
Figura 7: Largura de Banda Dedicada de Terceiros
-Embora a reutilização de capacidade disponível seja atraente para muitos contribuidores de rede, também é possível dedicar largura de banda recém-adquirida ao DoubleZero. Nesse cenário, o DZD se conectaria diretamente à operadora terceirizada sem quaisquer dispositivos internos do contribuidor em linha (Figura 7). +Embora a reutilização da capacidade disponível seja atraente para muitos contribuidores de rede, também é possível dedicar largura de banda recém-adquirida ao DoubleZero. Em tal cenário, o DZD se conectaria diretamente à operadora de terceiros sem nenhum dispositivo interno do contribuidor em linha (Figura 7). -Esta opção é atraente pois garante largura de banda dedicada para o DoubleZero, é simples operacionalmente e garante segmentação completa de quaisquer outros serviços de rede. Esta opção provavelmente terá o maior aumento de OPEX e requer novos contratos de serviço com operadoras terceirizadas. +Esta opção é atraente pois garante largura de banda dedicada para o DoubleZero, é operacionalmente simples e assegura segmentação completa de quaisquer outros serviços de rede. Esta opção provavelmente terá o maior aumento de OPEX e requer novos contratos de serviço com operadoras de terceiros. --- @@ -119,114 +121,139 @@ Esta opção é atraente pois garante largura de banda dedicada para o DoubleZer ### Contribuição de Largura de Banda de 100Gbps -Observe que as quantidades abaixo refletem o equipamento necessário em dois data centers, ou seja, o total de hardware necessário para implantar 1 cabo de fibra ótica para contribuição de largura de banda. +Observe que as quantidades abaixo refletem o equipamento necessário em dois data centers, ou seja, o total de hardware necessário para implantar 1 cabo de fibra óptica para contribuição de largura de banda. -??? warning "*Todos os FPGAs estão sujeitos a testes finais. Contribuições de 10G podem ser suportadas usando switches Arista 7130LBR com FPGAs Virtex® UltraScale+™ duplos embutidos (se você tiver alguma dúvida, a DoubleZero Foundation / Malbec Labs terá prazer em fornecer mais informações)." +??? warning "*Todos os FPGAs estão sujeitos a testes finais. Contribuições de 10G podem ser suportadas usando switches Arista 7130LBR com FPGAs Virtex® UltraScale+™ duplos integrados (se você tiver alguma dúvida, a DoubleZero Foundation / Malbec Labs terá prazer em fornecer mais informações)." -#### Requisitos de Função e Porta +#### Requisitos de Função e Portas -| Função | Velocidade da Porta | Requisito DZ | QTD | Nota | +| Função | Velocidade da Porta | Requisito DZ | QTD | Nota | |-----------------------------|------------|----------------|-----|-------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Largura de Banda Privada | 100G | Sim | 1 | | -| Acesso Direto à Internet (DIA) | 10G | Sim | 2 | | -| DoubleZero eXchange (DZX) | 100G | Sim* | 1 | Deve ser suportado quando mais de 3 provedores operam na mesma área metropolitana; antes disso, cross-connects ou outros arranjos de peering podem ser usados para interconectar outros provedores. | -| Gerenciamento | | Não | 1 | Determinado pelas próprias políticas de gerenciamento interno do contribuidor. | -| Console | | Não | 1 | Determinado pelas próprias políticas de gerenciamento interno do contribuidor. | +| Private Bandwidth | 100G | Sim | 1 | | +| Direct Internet Access (DIA) | 10G | Sim | 2 | | +| DoubleZero eXchange (DZX) | 100G | Sim* | 1 | Deve ser suportado quando mais de 3 provedores operam na mesma área metropolitana; antes disso, cross-connects ou outros arranjos de peering podem ser usados para interconectar com outros provedores. | +| Gerenciamento | | Não | 1 | Determinado pelas políticas internas de gerenciamento do contribuidor. | +| Console | | Não | 1 | Determinado pelas políticas internas de gerenciamento do contribuidor. | #### Hardware de Rede DZD -| Fabricante | Modelo | Número de Peça | Requisito DZ | QTD | Nota | +| Fabricante | Modelo | Número de Peça | Requisito DZ | QTD | Nota | |----------|-----------------|----------------------|----------------|-----|-----------------------------------------------------------| | AMD* | V80* | 24540474 | Sim | 4 | | | Arista | 7280CR3A | DCS-7280CR3A-32S | Sim | 2 | Alternativas podem ser possíveis se os prazos de entrega forem desafiadores. | --- -#### Óptica - 100G +#### Ópticas - 100G -| Fabricante | Modelo | Número de Peça | Requisito DZ | QTD | Nota | +| Fabricante | Modelo | Número de Peça | Requisito DZ | QTD | Nota | |--------|-------------|----------------|----------------|-----|-------------------------------------------------------------| -| Arista | 100GBASE-LR | QSFP-100G-LR | Não | 16 | Escolha de cabeamento e óptica disponível a critério do contribuidor. 100G necessário para conectar FPGAs. | +| Arista | 100GBASE-LR | QSFP-100G-LR | Não | 16 | Cabeamento e escolha de óptica disponíveis a critério do contribuidor. 100G necessário para conectar FPGAs. | --- -#### Óptica - 10G +#### Ópticas - 10G -| Fabricante | Modelo | Número de Peça | Requisito DZ | QTD | Nota | +| Fabricante | Modelo | Número de Peça | Requisito DZ | QTD | Nota | |--------|-------------|----------------|----------------|-----|-------------------------------------------------------------| -| Arista | 10GBASE-LR | SFP-10G-LR | Não | 2 | Escolha de cabeamento e óptica disponível a critério do contribuidor. | -| Finisar | DynamiX QSA™ | MAM1Q00A-QSA | Não | 2 | Escolha de cabeamento e óptica disponível a critério do contribuidor. | +| Arista | 10GBASE-LR | SFP-10G-LR | Não | 2 | Cabeamento e escolha de óptica disponíveis a critério do contribuidor. | +| Finisar | DynamiX QSA™ | MAM1Q00A-QSA | Não | 2 | Cabeamento e escolha de óptica disponíveis a critério do contribuidor. | --- #### Endereçamento IP -| Endereçamento IP | Tamanho Mínimo de Sub-rede | Requisito DZ | Nota | +| Endereçamento IP | Tamanho Mínimo da Sub-rede | Requisito DZ | Nota | |--------------|-------------------|----------------|----------------------------------------------------------| -| IPv4 Público | /29 | Sim (para DZDs edge/hybrid) | Deve ser roteável via DIA. Podemos eliminar a necessidade disso ao longo do tempo. | +| Public IPv4 | /29 | Sim (para DZDs de borda/híbridos) | Deve ser roteável via DIA. Podemos eliminar a necessidade disso ao longo do tempo. | -Certifique-se de que o pool completo /29 esteja disponível para o protocolo DZ. Quaisquer requisitos para endereçamento ponto a ponto, por exemplo, em interfaces DIA, devem ser gerenciados via um pool de endereços diferente. +Certifique-se de que o pool /29 completo esteja disponível para o protocolo DZ. Quaisquer requisitos de endereçamento ponto a ponto, por exemplo, em interfaces DIA, devem ser gerenciados por meio de um pool de endereços diferente. ### Contribuição de Largura de Banda de 10Gbps Observe que as quantidades refletem o equipamento de dois data centers, ou seja, o total de hardware necessário para implantar 1 contribuição de largura de banda. -#### Requisitos de Função e Porta +#### Requisitos de Função e Portas -| Função | Velocidade da Porta | Requisito DZ | QTD | Nota | +| Função | Velocidade da Porta | Requisito DZ | QTD | Nota | |-----------------------------|------------|----------------|-----|-------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Largura de Banda Privada | 10G | Sim | 1 | | -| Acesso Direto à Internet (DIA) | 10G | Sim | 2 | | -| DoubleZero eXchange (DZX) | 100G | Sim* | 1 | Deve ser suportado quando mais de 3 provedores operam na mesma área metropolitana; antes disso, cross-connects ou outros arranjos de peering podem ser usados para interconectar outros provedores. | -| Gerenciamento | | Não | 1 | Determinado pelas próprias políticas de gerenciamento interno do contribuidor. | -| Console | | Não | 1 | Determinado pelas próprias políticas de gerenciamento interno do contribuidor. | +| Private Bandwidth | 10G | Sim | 1 | | +| Direct Internet Access (DIA) | 10G | Sim | 2 | | +| DoubleZero eXchange (DZX) | 100G | Sim* | 1 | Deve ser suportado quando mais de 3 provedores operam na mesma área metropolitana; antes disso, cross-connects ou outros arranjos de peering podem ser usados para interconectar com outros provedores. | +| Gerenciamento | | Não | 1 | Determinado pelas políticas internas de gerenciamento do contribuidor. | +| Console | | Não | 1 | Determinado pelas políticas internas de gerenciamento do contribuidor. | --- #### Hardware -| Fabricante | Modelo | Número de Peça | Requisito DZ | QTD | Nota | +| Fabricante | Modelo | Número de Peça | Requisito DZ | QTD | Nota | |----------|-----------------|----------------------|----------------|-----|-----------------------------------------------------------| | AMD* | V80* | 24540474* | Sim | 4 | | | | Arista | 7280CR3A | DCS-7280CR3A-32S | Sim | 2 | Alternativas podem ser possíveis se os prazos de entrega forem desafiadores. | --- -#### Óptica - 100G +#### Ópticas - 100G -| Fabricante | Modelo | Número de Peça | Requisito DZ | QTD | Nota | +| Fabricante | Modelo | Número de Peça | Requisito DZ | QTD | Nota | |--------|-------------|----------------|----------------|-----|-------------------------------------------------------------| -| Arista | 100GBASE-LR | QSFP-100G-LR | Não | 14 | Escolha de cabeamento e óptica disponível a critério do contribuidor. 100G necessário para conectar FPGAs. | +| Arista | 100GBASE-LR | QSFP-100G-LR | Não | 14 | Cabeamento e escolha de óptica disponíveis a critério do contribuidor. 100G necessário para conectar FPGAs. | --- -#### Óptica - 10G +#### Ópticas - 10G -| Fabricante | Modelo | Número de Peça | Requisito DZ | QTD | Nota | +| Fabricante | Modelo | Número de Peça | Requisito DZ | QTD | Nota | |--------|-------------|----------------|----------------|-----|-------------------------------------------------------------| -| Arista | 10GBASE-LR | SFP-10G-LR | Não | 4 | Escolha de cabeamento e óptica disponível a critério do contribuidor. | - Finisar | DynamiX QSA™ | MAM1Q00A-QSA | Não | 4 | Escolha de cabeamento e óptica disponível a critério do contribuidor. | +| Arista | 10GBASE-LR | SFP-10G-LR | Não | 4 | Cabeamento e escolha de óptica disponíveis a critério do contribuidor. | + Finisar | DynamiX QSA™ | MAM1Q00A-QSA | Não | 4 | Cabeamento e escolha de óptica disponíveis a critério do contribuidor. | --- #### Endereçamento IP -| Endereçamento IP | Tamanho Mínimo de Sub-rede | Requisito DZ | Nota | +| Endereçamento IP | Tamanho Mínimo da Sub-rede | Requisito DZ | Nota | |--------------|-------------------|----------------|----------------------------------------------------------| -| IPv4 Público | /29 | Sim (para DZDs edge/hybrid) | Deve ser roteável via DIA. Podemos eliminar a necessidade disso ao longo do tempo. | +| Public IPv4 | /29 | Sim (para DZDs de borda/híbridos) | Deve ser roteável via DIA. Podemos eliminar a necessidade disso ao longo do tempo. | -Certifique-se de que o pool completo /29 esteja disponível para o protocolo DZ. Quaisquer requisitos para endereçamento ponto a ponto, por exemplo, em interfaces DIA, devem ser gerenciados via um pool de endereços diferente. +Certifique-se de que o pool /29 completo esteja disponível para o protocolo DZ. Quaisquer requisitos de endereçamento ponto a ponto, por exemplo, em interfaces DIA, devem ser gerenciados por meio de um pool de endereços diferente. -### Requisitos de Data Center +### Requisitos do Data Center #### Requisitos de Rack e Energia -| Requisito | Especificação | -|-------------|--------------| -| Espaço em Rack | 4U | -| Energia | 4KW (recomendado) | +Os valores abaixo são **por DZD**, portanto por data center. Uma contribuição de largura de banda de 100G ou 10G coloca um DZD em cada extremidade do link, então planeje isso duas vezes. + +##### Espaço em rack + +| Item | Unidades de rack | Necessário | +|------|-----------|--------| +| Switch DZD (Arista 7280CR3A-32S ou 7130LBR) | 1U | Agora | +| Appliance de filtragem de borda | 1U | Posteriormente, apenas em dispositivos de borda e híbridos | + +**Reserve 2U por DZD.** Uma unidade está em uso hoje. Mantenha a segunda livre para que o appliance de filtragem de borda possa ser instalado próximo ao switch sem necessidade de remanejamento no rack. Deixe espaço para fluxo de ar e gerenciamento de cabos conforme sua instalação exigir. + +##### Energia + +| Item | Consumo típico | +|------|-------------| +| Arista 7280CR3A-32S | ~300 W | +| Ópticas, por 100G QSFP | ~5 W | + +**Solicite 2 kW por DZD, divididos em duas alimentações independentes.** Dimensione cada alimentação para suportar toda a carga sozinha. O switch possui fontes de alimentação redundantes e, após uma falha de alimentação, uma delas pode ser tudo o que resta. + +2 kW é confortável em vez de justo. Um DZD apenas com switch, que é o que quase toda implantação executa hoje, consome bem abaixo de 500 W com todas as suas ópticas acesas. O restante dos 2 kW é reservado para o appliance de filtragem de borda, que contém os FPGAs e será instalado posteriormente. + +!!! warning "Não solicite energia em excesso" + Você paga pela energia que reserva, independentemente de utilizá-la ou não. Um DZD é uma única unidade de rack de comutação, não um chassi de computação, portanto consome muito menos do que sua posição no rack poderia fornecer. Reservar mais de 2 kW por DZD significa pagar por capacidade que fica ociosa. + +!!! note "Verifique seu próprio hardware antes de fazer o pedido" + Estes são valores de referência de nossas próprias implantações. Seu consumo real depende da configuração da fonte de alimentação, quantas portas você ativa e quais ópticas você escolhe. Confirme com as especificações de potência da fonte de alimentação na ficha técnica do fabricante para o hardware exato que você comprar. + + Também não reduza o pedido ao mínimo absoluto. A energia precisa estar disponível no rack, e adicionar uma alimentação posteriormente geralmente significa um novo pedido com a instalação, o que pode levar semanas. --- -## Próximas Etapas +## Próximos Passos -Pronto para provisionar seu primeiro DZD? Continue para o [Guia de Provisionamento de Dispositivos](contribute-provisioning.md). +Pronto para provisionar seu primeiro DZD? Continue para o [Guia de Provisionamento de Dispositivos](contribute-provisioning.md). \ No newline at end of file diff --git a/docs/contribute.zh.md b/docs/contribute.zh.md index fa3f845..ce980b2 100644 --- a/docs/contribute.zh.md +++ b/docs/contribute.zh.md @@ -1,232 +1,259 @@ -# 贡献者需求与架构 -!!! warning "This translation was generated using artificial intelligence and has not been reviewed by a human translator. It may contain inaccuracies or errors and should not be relied upon." +--- +description: 为 DoubleZero 网络贡献容量的硬件、带宽和连接要求及架构。 +--- +# 贡献者要求与架构 -## 摘要 +## 概述 -任何希望将其未充分利用的光纤电缆和网络硬件货币化的人都可以为DoubleZero网络做出贡献。网络贡献者必须在两点之间提供专用带宽,在每端运营DoubleZero兼容设备(DZD),并在每端连接到公共互联网。网络贡献者还必须在每个DZD上运行DoubleZero软件,以提供多播、用户查找和边缘过滤等服务。 +任何希望将其未充分利用的光纤线缆和网络硬件进行变现的实体,都可以为 DoubleZero 网络做出贡献。网络贡献者必须在两个节点之间提供专用带宽,在每端运行 DoubleZero 兼容设备(DZD),并在每端提供公共互联网连接。网络贡献者还必须在每台 DZD 上运行 DoubleZero 软件,以提供组播、用户查找和边缘过滤等服务。 -DoubleZero智能合约是确保网络维持可测量并集成到拓扑中的高质量链路的基础,使我们的网络控制器能够开发不同用户和端点之间最高效的端到端路径。在执行智能合约并部署网络设备和带宽后,实体被归类为网络贡献者。请参阅[DoubleZero经济学](https://economics.doublezero.xyz/overview)进一步了解作为网络贡献者参与DoubleZero的经济学原理。 +DoubleZero 智能合约是确保网络维持高质量链路的基石,这些链路可以被测量并集成到拓扑中,使我们的网络控制器能够在不同用户和端点之间开发最高效的端到端路径。在执行智能合约并部署网络设备和带宽后,该实体即被归类为网络贡献者。请参阅 [DoubleZero Economics](https://economics.doublezero.xyz/overview) 以进一步了解作为网络贡献者参与 DoubleZero 的经济模型。 --- -## 成为DoubleZero网络贡献者的要求 +## 成为 DoubleZero 网络贡献者的要求 -- 能够在两个数据中心之间提供IPv4连接和2048字节MTU的专用带宽 -- 与DoubleZero协议兼容的DoubleZero设备(DZD)硬件 -- 与互联网和其他DoubleZero网络贡献者的连接 -- 在DZD上安装DoubleZero软件 +- 能够在两个数据中心之间提供 IPv4 连接和 2048 字节 MTU 的专用带宽 +- 与 DoubleZero 协议兼容的 DoubleZero 设备(DZD)硬件 +- 与互联网及其他 DoubleZero 网络贡献者的连接 +- 在 DZD 上安装 DoubleZero 软件 ## 快速入门指南 -作为网络贡献者,在DoubleZero中开始的最简单方式是识别您网络中可以专用于DoubleZero的容量。一旦确定,必须部署DZD,以便DoubleZero覆盖网络只需要IPv4可达性和最小2048字节MTU作为来自贡献者网络的依赖项。 +作为网络贡献者,开始使用 DoubleZero 的最简单方式是识别您网络中可以专门用于 DoubleZero 的容量。一旦确定,必须部署 DZD,以促进 DoubleZero 覆盖网络的建立——该网络仅需要贡献者网络提供 IPv4 可达性和最低 2048 字节的 MTU 作为依赖条件。 -图1展示了贡献带宽和数据包发送及处理服务的最简单模型。DZD部署在每个数据中心,与网络贡献者的内部网络接口,提供DoubleZero WAN连接。这由本地互联网补充,通常是直接互联网访问(DIA)解决方案,用作DoubleZero用户的接入点。虽然DIA预计是促进DoubleZero用户访问的首选选项,但多种连接模型也是可能的,例如到服务器的物理布线、网络结构扩展等。我们将这些选项称为自选冒险(CYOA),为贡献者提供以最适合其内部网络策略的方式连接本地或远程用户的灵活性。 +图 1 展示了贡献带宽和数据包发送与处理服务的最简单模型。每个数据中心部署一台 DZD,与网络贡献者的内部网络对接,提供 DoubleZero WAN 连接。这通过本地互联网(通常是专线互联网接入(DIA)解决方案)作为补充,用作 DoubleZero 用户的接入点。虽然预计 DIA 将是为 DoubleZero 用户提供接入的首选方案,但也支持多种连接模型,例如物理线缆直连服务器、网络结构扩展等。我们将这些选项称为自主选择方案(CYOA),为贡献者提供以最适合其内部网络策略的方式连接本地或远程用户的灵活性。 -与任何网络一样,可达性是架构的基本组成部分,因为网络贡献者不能孤立存在。因此,DZD*必须*有一条到DoubleZero交换点(DZX)的链路,以在参与者之间创建连续网络。 +与任何网络一样,可达性是架构的基本组成部分,因为网络贡献者不能孤立存在。因此,DZD *必须*连接到 DoubleZero 交换中心(DZX),以在参与者之间创建连续的网络。
![Image title](images/figure1.png){ width="800" } -
图1:2个数据中心之间的DoubleZero网络带宽贡献 - 单一贡献者
+
图 1:DoubleZero 网络在 2 个数据中心之间的带宽贡献 - 单一贡献者
### 贡献示例 -网络贡献者可以通过多种方式增加其DoubleZero贡献,包括: +网络贡献者可以通过多种方式扩展其 DoubleZero 贡献,包括: -- 改善现有贡献的性能特征:增加带宽、减少延迟 +- 改善现有贡献的性能特征:增加带宽、降低延迟 - 在相同数据中心之间添加多条链路 -- 从现有数据中心添加到新数据中心的新链路 -- 在两个新数据中心之间添加一条新的独立链路 +- 从现有数据中心到新数据中心添加新链路 +- 在两个新数据中心之间添加新的独立链路 -#### 示例1:单一贡献者,3个数据中心,两条链路 +#### 示例 1:单一贡献者,3 个数据中心,两条链路
![Image title](images/figure2.png){ width="800" } -
图2:3个数据中心之间的DoubleZero网络带宽贡献 - 单一贡献者
+
图 2:DoubleZero 网络在 3 个数据中心之间的带宽贡献 - 单一贡献者
-单个DZD可以支持向DoubleZero贡献的多条链路。图2展示了当标为1的单个数据中心向两个不同的远程数据中心2和3终止带宽时的潜在拓扑。在此场景中,每个数据中心只包含1个DZD。所有DZD都使用DIA作为其CYOA接口的用户接入点。 +单台 DZD 可以支持为 DoubleZero 贡献的多条链路。图 2 展示了当单个数据中心(标记为 1)将带宽终结到两个不同的远程数据中心 2 和 3 时的潜在拓扑。在此场景中,每个数据中心仅包含 1 台 DZD。所有 DZD 均使用 DIA 作为用户接入的 CYOA 接口。 -#### 示例2:单一贡献者,3个数据中心,三条链路 +#### 示例 2:单一贡献者,3 个数据中心,三条链路 -图3描述了当单个贡献者在3个数据中心之间以三角形拓扑部署三条链路时的DoubleZero拓扑。在类似示例1的场景中,单个DZD部署在数据中心1、2和3中,每个支持2条独立的网络链路。由此产生的拓扑是数据中心之间的三角形或环形。 +图 3 描述了当单一贡献者在 3 个数据中心之间以三角形拓扑部署三条链路时的 DoubleZero 拓扑。在与示例 1 类似的场景中,数据中心 1、2 和 3 各部署一台 DZD,每台支持 2 条独立的网络链路。由此形成的拓扑是数据中心之间的三角形或环形。
![Image title](images/figure3.png){ width="800" } -
图3:3个数据中心之间的DoubleZero网络带宽贡献 - 单一贡献者
+
图 3:DoubleZero 网络在 3 个数据中心之间的带宽贡献 - 单一贡献者
-### DoubleZero交换点 +### DoubleZero 交换中心 -创建连续网络是DoubleZero架构的基本构建块。贡献者通过都市区内的DoubleZero交换点(DZX)进行接口,都市区是纽约(NYC)、伦敦(LON)或东京(TYO)等城市。DZX是类似于互联网交换点的网络结构,允许对等互联和路由交换。 +创建连续网络是 DoubleZero 架构的基本构建模块。贡献者通过都会区内的 DoubleZero 交换中心(DZX)进行互联,都会区即纽约(NYC)、伦敦(LON)或东京(TYO)等城市。DZX 是类似于互联网交换中心的网络交换结构,允许对等互联和路由交换。 -在图4中,网络贡献者1在数据中心1、2和3运营,而网络贡献者2在数据中心2、4和5运营。通过在数据中心2互连,DoubleZero网络覆盖范围增加到5个连续数据中心。 +在图 4 中,网络贡献者 1 在数据中心 1、2 和 3 中运营,而网络贡献者 2 在数据中心 2、4 和 5 中运营。通过在数据中心 2 互联,DoubleZero 网络覆盖范围扩展到 5 个连续的数据中心。
![Image title](images/figure4.png){ width="1000" } -
图4:2个网络带宽贡献者之间的DoubleZero网络带宽贡献
+
图 4:两个网络带宽贡献者之间的 DoubleZero 网络带宽贡献
### 带宽贡献选项 -DoubleZero要求网络贡献者通过智能合约提供在两个终止数据中心的DZD之间具有保证带宽、延迟和抖动配置文件的集成连接。DoubleZero不强制规定网络贡献者如何实施其贡献,但在以下章节中,我们提供可供其自行决定使用的参考选项。 +DoubleZero 要求网络贡献者通过智能合约提供两个终端数据中心 DZD 之间的集成连接,包括保证的带宽、延迟和抖动配置。DoubleZero 不强制规定网络贡献者如何实施其贡献,但在以下章节中,我们提供了供其自行决定使用的参考方案。 -网络贡献者可能需要考虑的重要领域: +网络贡献者可能需要考虑的重要方面包括: -- 保证DoubleZero服务网络性能的能力:带宽、延迟和抖动 -- 与现有内部网络服务的隔离 -- IPv4地址冲突,特别是与隧道底层地址空间 +- 保证 DoubleZero 服务网络性能的能力:带宽、延迟和抖动 +- 与其现有内部网络服务的隔离 +- IPv4 地址冲突,特别是与隧道底层地址空间的冲突 - 正常运行时间和可用性 -- 资本支出和运营支出考虑 +- 资本支出和运营支出考量 -#### 第1层带宽 +#### 第 1 层带宽
![Image title](images/figure5.png){ width="800" } -
图5:第1层光学服务
+
图 5:第 1 层光纤服务
-第1层带宽,更正式地称为波长服务,可以在现有光学基础设施(如DWDM、CWDM或通过光学多路复用器(MUX))上配置专用容量。在图5中,DZD使用彩色光纤连接到L1 MUX,将DZD波长插入到现有暗光纤上。 +第 1 层带宽,更正式的说法是波长服务,可以在现有光纤基础设施上配置专用容量,例如 DWDM、CWDM 或通过光复用器(MUX)。在图 5 中,DZD 使用彩色光模块,通过线缆连接到 L1 MUX,将 DZD 波长交织到现有暗光纤上。 -对于已经运营现有核心网络的网络贡献者,此解决方案具有众多优势。迭代操作更改以及额外的资本支出和运营支出要求是适度的。此选项在提供与网络贡献者网络服务的隔离方面特别强大。 +对于已经运营现有核心网络的网络贡献者来说,该解决方案具有众多优势。增量运营变更以及额外的资本支出和运营支出要求都很适度。该选项在提供与网络贡献者网络服务隔离方面尤其稳健。 #### 分组交换带宽 -分组交换网络可以被视为典型的企业网络,运行支持业务应用程序的标准路由和交换协议。有多种网络技术可以实现连接,例如使用VLAN标签的第2层(L2)扩展。 +分组交换网络可以被视为典型的企业网络,运行支持业务应用的标准路由和交换协议。有许多网络技术可以实现连接,例如使用 VLAN 标签的第 2 层(L2)扩展。 -##### L2扩展 +##### L2 扩展
![Image title](images/figure6.png){ width="800" } -
图6:分组交换网络 - L2扩展
+
图 6:分组交换网络 - L2 扩展
-如图6所示的L2扩展可以通过VLAN标记实现。DZD的端口可以连接到贡献者的内部网络交换机,交换机端口设置为例如VLAN 10的接入端口。通过802.1q标记,此VLAN可以在贡献者网络的多个交换机跳上传输,终止于与远程DZD接口的交换机。 +如图 6 所示的 L2 扩展可以通过 VLAN 标签来实现。DZD 的端口可以通过线缆连接到贡献者的内部网络交换机,交换机端口设置为 access 端口,例如 VLAN 10。通过 802.1q 标签,该 VLAN 可以在贡献者网络上跨多个交换机跳数承载,终结于与远程 DZD 对接的交换机。 -此解决方案受益于广泛支持和相对容易实施,同时在DoubleZero和内部第3层服务之间创建分段。带宽可以根据贡献者内部交换机或路由器的接口速度进行控制。必须通过服务质量(QoS)或其他流量管理策略等技术仔细考虑共享内部L2网络的性能。但是,如果贡献者的核心网络中有现有容量,额外的资本支出和运营支出投资应该是适度的。 +该解决方案受益于广泛的支持和相对简便的实施,同时在 DoubleZero 和内部第 3 层服务之间创建了隔离。带宽可以根据贡献者内部交换机或路由器的接口速度进行控制。必须通过服务质量(QoS)或其他流量管理策略等技术,仔细考虑共享内部 L2 网络上的性能。然而,如果贡献者核心网络中存在可用容量,额外的资本支出和运营支出投入应该是适度的。 #### 专用第三方带宽
![Image title](images/figure7.png){ width="800" } -
图7:专用第三方带宽
+
图 7:专用第三方带宽
-虽然重用可用容量对许多网络贡献者来说很有吸引力,但也可以将新获取的带宽专用于DoubleZero。在这种场景中,DZD将直接连接到第三方运营商,而没有任何贡献者的内部设备内联(图7)。 +虽然复用可用容量对许多网络贡献者具有吸引力,但也可以将新购置的带宽专门用于 DoubleZero。在这种情况下,DZD 将直接连接到第三方运营商,贡献者不会有任何内部设备串联在中间(图 7)。 -此选项很有吸引力,因为它确保了DoubleZero的专用带宽,操作简单,并确保与任何其他网络服务完全隔离。此选项可能会有最高的运营支出增加,并需要与第三方运营商签订新的服务合同。 +该选项的优势在于确保了 DoubleZero 的专用带宽,操作简单,并确保与任何其他网络服务完全隔离。该选项可能会导致最高的运营支出增加,并需要与第三方运营商签订新的服务合同。 --- ## 硬件要求 -### 100Gbps带宽贡献 +### 100Gbps 带宽贡献 -请注意,以下数量反映了两个数据中心所需的设备,即部署1条光纤电缆进行带宽贡献所需的总硬件。 +请注意,以下数量反映的是两个数据中心所需的设备,即部署 1 条光纤线缆进行带宽贡献所需的全部硬件。 -??? warning "*所有FPGA均需经过最终测试。使用内置双Virtex® UltraScale+™ FPGA的Arista 7130LBR交换机可能支持10G贡献(如有任何问题,DoubleZero基金会 / Malbec Labs很乐意提供更多信息)。" +??? warning "*所有 FPGA 均需通过最终测试。10G 贡献可能支持使用内置双 Virtex® UltraScale+™ FPGA 的 Arista 7130LBR 交换机(如有任何问题,DoubleZero Foundation / Malbec Labs 很乐意提供更多信息)。" #### 功能与端口要求 -| 功能 | 端口速度 | DZ要求 | 数量 | 备注 | +| 功能 | 端口速率 | DZ 要求 | 数量 | 备注 | |-----------------------------|------------|----------------|-----|-------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| 私有带宽 | 100G | 是 | 1 | | -| 直接互联网访问(DIA) | 10G | 是 | 2 | | -| DoubleZero交换点(DZX) | 100G | 是* | 1 | 一旦同一都市区有超过3个提供商运营,必须支持;在此之前,可以使用交叉连接或其他对等互联安排与其他提供商互连。 | -| 管理 | | 否 | 1 | 由贡献者自己的内部管理策略决定。 | -| 控制台 | | 否 | 1 | 由贡献者自己的内部管理策略决定。 | +| 专用带宽 | 100G | 是 | 1 | | +| 专线互联网接入(DIA) | 10G | 是 | 2 | | +| DoubleZero 交换中心(DZX) | 100G | 是* | 1 | 当同一都会区有超过 3 个提供商运营时必须支持,在此之前可以使用交叉连接或其他对等互联安排与其他提供商互联。 | +| 管理 | | 否 | 1 | 由贡献者自身内部管理策略决定。 | +| 控制台 | | 否 | 1 | 由贡献者自身内部管理策略决定。 | -#### DZD网络硬件 +#### DZD 网络硬件 -| 制造商 | 型号 | 部件编号 | DZ要求 | 数量 | 备注 | +| 制造商 | 型号 | 产品编号 | DZ 要求 | 数量 | 备注 | |----------|-----------------|----------------------|----------------|-----|-----------------------------------------------------------| | AMD* | V80* | 24540474 | 是 | 4 | | -| Arista | 7280CR3A | DCS-7280CR3A-32S | 是 | 2 | 如果交货期较长,可能有替代方案。 | +| Arista | 7280CR3A | DCS-7280CR3A-32S | 是 | 2 | 如交货周期紧张,可能有替代方案。 | --- -#### 光纤 - 100G +#### 光模块 - 100G -| 制造商 | 型号 | 部件编号 | DZ要求 | 数量 | 备注 | +| 制造商 | 型号 | 产品编号 | DZ 要求 | 数量 | 备注 | |--------|-------------|----------------|----------------|-----|-------------------------------------------------------------| -| Arista | 100GBASE-LR | QSFP-100G-LR | 否 | 16 | 布线和光纤选择由贡献者自行决定。连接FPGA需要100G。 | +| Arista | 100GBASE-LR | QSFP-100G-LR | 否 | 16 | 布线和光模块选择由贡献者自行决定。连接 FPGA 需要 100G。 | --- -#### 光纤 - 10G +#### 光模块 - 10G -| 制造商 | 型号 | 部件编号 | DZ要求 | 数量 | 备注 | +| 制造商 | 型号 | 产品编号 | DZ 要求 | 数量 | 备注 | |--------|-------------|----------------|----------------|-----|-------------------------------------------------------------| -| Arista | 10GBASE-LR | SFP-10G-LR | 否 | 2 | 布线和光纤选择由贡献者自行决定。 | -| Finisar | DynamiX QSA™ | MAM1Q00A-QSA | 否 | 2 | 布线和光纤选择由贡献者自行决定。 | +| Arista | 10GBASE-LR | SFP-10G-LR | 否 | 2 | 布线和光模块选择由贡献者自行决定。 | +| Finisar | DynamiX QSA™ | MAM1Q00A-QSA | 否 | 2 | 布线和光模块选择由贡献者自行决定。 | --- -#### IP寻址 +#### IP 地址 -| IP寻址 | 最小子网大小 | DZ要求 | 备注 | +| IP 地址 | 最小子网大小 | DZ 要求 | 备注 | |--------------|-------------------|----------------|----------------------------------------------------------| -| 公共IPv4 | /29 | 是(对于边缘/混合DZD) | 必须通过DIA可路由。我们可能会随着时间的推移消除此需求。 | +| Public IPv4 | /29 | 是(适用于边缘/混合 DZD) | 必须可通过 DIA 路由。我们可能会随时间推移消除此需求。 | -请确保整个/29池可用于DZ协议。任何点对点寻址的要求(例如DIA接口上的)应通过不同的地址池进行管理。 +请确保完整的 /29 地址池可用于 DZ 协议。任何点对点寻址需求(例如 DIA 接口上的地址)应通过不同的地址池进行管理。 -### 10Gbps带宽贡献 +### 10Gbps 带宽贡献 -请注意,数量反映了两个数据中心的设备,即部署1个带宽贡献所需的总硬件。 +请注意,数量反映的是两个数据中心的设备,即部署 1 条带宽贡献所需的全部硬件。 #### 功能与端口要求 -| 功能 | 端口速度 | DZ要求 | 数量 | 备注 | +| 功能 | 端口速率 | DZ 要求 | 数量 | 备注 | |-----------------------------|------------|----------------|-----|-------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| 私有带宽 | 10G | 是 | 1 | | -| 直接互联网访问(DIA) | 10G | 是 | 2 | | -| DoubleZero交换点(DZX) | 100G | 是* | 1 | 一旦同一都市区有超过3个提供商运营,必须支持;在此之前,可以使用交叉连接或其他对等互联安排与其他提供商互连。 | -| 管理 | | 否 | 1 | 由贡献者自己的内部管理策略决定。 | -| 控制台 | | 否 | 1 | 由贡献者自己的内部管理策略决定。 | +| 专用带宽 | 10G | 是 | 1 | | +| 专线互联网接入(DIA) | 10G | 是 | 2 | | +| DoubleZero 交换中心(DZX) | 100G | 是* | 1 | 当同一都会区有超过 3 个提供商运营时必须支持;在此之前可以使用交叉连接或其他对等互联安排与其他提供商互联。 | +| 管理 | | 否 | 1 | 由贡献者自身内部管理策略决定。 | +| 控制台 | | 否 | 1 | 由贡献者自身内部管理策略决定。 | --- #### 硬件 -| 制造商 | 型号 | 部件编号 | DZ要求 | 数量 | 备注 | +| 制造商 | 型号 | 产品编号 | DZ 要求 | 数量 | 备注 | |----------|-----------------|----------------------|----------------|-----|-----------------------------------------------------------| -| AMD* | V80* | 24540474* | 是 | 4 | | -| Arista | 7280CR3A | DCS-7280CR3A-32S | 是 | 2 | 如果交货期较长,可能有替代方案。 | +| AMD* | V80* | 24540474* | 是 | 4 | | | +| Arista | 7280CR3A | DCS-7280CR3A-32S | 是 | 2 | 如交货周期紧张,可能有替代方案。 | --- -#### 光纤 - 100G +#### 光模块 - 100G -| 制造商 | 型号 | 部件编号 | DZ要求 | 数量 | 备注 | +| 制造商 | 型号 | 产品编号 | DZ 要求 | 数量 | 备注 | |--------|-------------|----------------|----------------|-----|-------------------------------------------------------------| -| Arista | 100GBASE-LR | QSFP-100G-LR | 否 | 14 | 布线和光纤选择由贡献者自行决定。连接FPGA需要100G。 | +| Arista | 100GBASE-LR | QSFP-100G-LR | 否 | 14 | 布线和光模块选择由贡献者自行决定。连接 FPGA 需要 100G。 | --- -#### 光纤 - 10G +#### 光模块 - 10G -| 制造商 | 型号 | 部件编号 | DZ要求 | 数量 | 备注 | +| 制造商 | 型号 | 产品编号 | DZ 要求 | 数量 | 备注 | |--------|-------------|----------------|----------------|-----|-------------------------------------------------------------| -| Arista | 10GBASE-LR | SFP-10G-LR | 否 | 4 | 布线和光纤选择由贡献者自行决定。 | - Finisar | DynamiX QSA™ | MAM1Q00A-QSA | 否 | 4 | 布线和光纤选择由贡献者自行决定。 | +| Arista | 10GBASE-LR | SFP-10G-LR | 否 | 4 | 布线和光模块选择由贡献者自行决定。 | + Finisar | DynamiX QSA™ | MAM1Q00A-QSA | 否 | 4 | 布线和光模块选择由贡献者自行决定。 | --- -#### IP寻址 +#### IP 地址 -| IP寻址 | 最小子网大小 | DZ要求 | 备注 | +| IP 地址 | 最小子网大小 | DZ 要求 | 备注 | |--------------|-------------------|----------------|----------------------------------------------------------| -| 公共IPv4 | /29 | 是(对于边缘/混合DZD) | 必须通过DIA可路由。我们可能会随着时间的推移消除此需求。 | +| Public IPv4 | /29 | 是(适用于边缘/混合 DZD) | 必须可通过 DIA 路由。我们可能会随时间推移消除此需求。 | -请确保整个/29池可用于DZ协议。任何点对点寻址的要求(例如DIA接口上的)应通过不同的地址池进行管理。 +请确保完整的 /29 地址池可用于 DZ 协议。任何点对点寻址需求(例如 DIA 接口上的地址)应通过不同的地址池进行管理。 ### 数据中心要求 -#### 机架与电源要求 +#### 机架与电力要求 + +以下数据为**每台 DZD**,即每个数据中心的需求。100G 或 10G 带宽贡献在链路的每端各放置一台 DZD,因此请按两倍规划。 + +##### 机架空间 + +| 项目 | 机架单元 | 需求时间 | +|------|-----------|--------| +| DZD 交换机(Arista 7280CR3A-32S 或 7130LBR) | 1U | 当前 | +| 边缘过滤设备 | 1U | 后续,仅适用于边缘和混合设备 | + +**每台 DZD 预留 2U。** 目前使用一个单元。保留第二个空闲,以便边缘过滤设备可以安装在交换机旁边而无需移动机架。根据您设施的要求留出气流和线缆管理空间。 + +##### 电力 + +| 项目 | 典型功耗 | +|------|-------------| +| Arista 7280CR3A-32S | ~300 W | +| 光模块,每个 100G QSFP | ~5 W | + +**每台 DZD 订购 2 kW,分配到两路独立电源。** 每路电源的容量应能独立承载全部负载。交换机配备冗余电源,当一路电源故障后,您可能只剩下其中一个电源模块。 + +2 kW 是留有余量而非紧凑的配置。仅包含交换机的 DZD(这是目前几乎所有部署的情况),在所有光模块点亮的情况下功耗远低于 500 W。其余的 2 kW 是为边缘过滤设备预留的,该设备包含 FPGA,将在后续安装。 + +!!! warning "不要过度订购电力" + 无论是否实际使用,您都需要为预留的电力付费。DZD 是单个机架单元的交换设备,而非计算机箱,因此其功耗远低于其机架位置所能提供的电力。每台 DZD 预留超过 2 kW 意味着为闲置容量付费。 + +!!! note "订购前请确认您的实际硬件参数" + 这些是我们自身部署的参考数据。您的实际功耗取决于电源配置、点亮的端口数量以及所选的光模块。请根据您实际购买硬件的供应商数据手册中的电源额定值进行确认。 -| 要求 | 规格 | -|-------------|--------------| -| 机架空间 | 4U | -| 电源 | 4KW(推荐) | + 也不要将订购量削减到最低限度。电力必须在机架中可用,后续增加电源线路通常意味着向设施方提交新订单,这可能需要数周时间。 --- ## 后续步骤 -准备好配置您的第一个DZD了吗?继续阅读[设备配置指南](contribute-provisioning.md)。 +准备好配置您的第一台 DZD 了吗?请继续阅读[设备配置指南](contribute-provisioning.md)。 \ No newline at end of file diff --git a/docs/glossary.es.md b/docs/glossary.es.md index 01df3c4..63e572a 100644 --- a/docs/glossary.es.md +++ b/docs/glossary.es.md @@ -14,10 +14,10 @@ Esta página define la terminología específica de DoubleZero utilizada a lo la El hardware físico de conmutación de red que termina los enlaces de DoubleZero y ejecuta el software DoubleZero Agent. Los DZDs se despliegan en centros de datos y proporcionan servicios de enrutamiento, procesamiento de paquetes y conectividad de usuarios. Cada DZD requiere [especificaciones de hardware](contribute.md#dzd-network-hardware) específicas y ejecuta tanto el [Config Agent](#config-agent) como el [Telemetry Agent](#telemetry-agent). ### DZX (DoubleZero Exchange) -Puntos de interconexión en la red mallada donde se conectan los enlaces de diferentes [contribuidores](#contributor). Los DZXs están ubicados en las principales áreas metropolitanas (por ejemplo, NYC, LON, TYO) donde ocurren las intersecciones de red. Los contribuidores de red deben interconectar sus enlaces en la malla más amplia de DoubleZero en el DZX más cercano. Similar en concepto a un punto de intercambio de Internet (IX). +Puntos de interconexión en la red mallada donde se conectan los enlaces de diferentes [contribuidores](#contributor). Los DZX están ubicados en las principales áreas metropolitanas (p. ej., NYC, LON, TYO) donde se producen intersecciones de red. Los contribuidores de red deben realizar la conexión cruzada de sus enlaces hacia la malla más amplia de DoubleZero en el DZX más cercano. Similar en concepto a un punto de intercambio de Internet (IX). ### WAN Link -Un enlace de Red de Área Amplia (Wide Area Network) entre dos [DZDs](#dzd-doublezero-device) operados por el **mismo** contribuidor. Los enlaces WAN proporcionan conectividad troncal dentro de la infraestructura de un único contribuidor. +Un enlace de Red de Área Amplia entre dos [DZDs](#dzd-doublezero-device) operados por el **mismo** contribuidor. Los enlaces WAN proporcionan conectividad troncal dentro de la infraestructura de un único contribuidor. ### DZX Link Un enlace entre [DZDs](#dzd-doublezero-device) operados por contribuidores **diferentes**, establecido en un [DZX](#dzx-doublezero-exchange). Los enlaces DZX requieren la aceptación explícita de ambas partes. @@ -30,13 +30,13 @@ Asignaciones de direcciones IP en formato CIDR asignadas a un [DZD](#dzd-doublez ## Tipos de Dispositivos ### Edge Device -Un [DZD](#dzd-doublezero-device) que proporciona conectividad de usuario a la red DoubleZero. Los dispositivos edge aprovechan las interfaces [CYOA](#cyoa-choose-your-own-adventure) para conectar usuarios (validadores, operadores RPC) a la red. +Un [DZD](#dzd-doublezero-device) que proporciona conectividad de usuarios a la red DoubleZero. Los dispositivos edge aprovechan las interfaces [CYOA](#cyoa-choose-your-own-adventure) para terminar usuarios (validadores, operadores RPC) y conectarlos a la red. ### Transit Device -Un [DZD](#dzd-doublezero-device) que proporciona conectividad troncal dentro de la red DoubleZero. Los dispositivos transit mueven tráfico entre DZDs pero no terminan conexiones de usuario directamente. +Un [DZD](#dzd-doublezero-device) que proporciona conectividad troncal dentro de la red DoubleZero. Los dispositivos de tránsito mueven tráfico entre DZDs pero no terminan conexiones de usuarios directamente. ### Hybrid Device -Un [DZD](#dzd-doublezero-device) que combina la funcionalidad tanto de [edge](#edge-device) como de [transit](#transit-device), proporcionando conectividad de usuario y enrutamiento troncal. +Un [DZD](#dzd-doublezero-device) que combina la funcionalidad tanto de [edge](#edge-device) como de [tránsito](#transit-device), proporcionando conectividad de usuarios y enrutamiento troncal. --- @@ -46,55 +46,55 @@ Un [DZD](#dzd-doublezero-device) que combina la funcionalidad tanto de [edge](#e Tipos de interfaz que permiten a los [contribuidores](#contributor) registrar opciones de conectividad para que los usuarios se conecten a la red DoubleZero. Las interfaces CYOA incluyen varios métodos como [DIA](#dia-direct-internet-access), túneles GRE y peering privado. Consulte [Creación de Interfaces CYOA](contribute-provisioning.md#step-35-create-cyoa-interface-for-edgehybrid-devices) para detalles de configuración. ### DIA (Direct Internet Access) -Un término estándar de redes para la conectividad proporcionada a través de la internet pública. En DoubleZero, DIA es un tipo de interfaz [CYOA](#cyoa-choose-your-own-adventure) donde los usuarios (validadores, operadores RPC) se conectan a un [DZD](#dzd-doublezero-device) a través de su conexión a internet existente. +Un término estándar de redes para la conectividad proporcionada a través de internet público. En DoubleZero, DIA es un tipo de interfaz [CYOA](#cyoa-choose-your-own-adventure) donde los usuarios (validadores, operadores RPC) se conectan a un [DZD](#dzd-doublezero-device) a través de su conexión a internet existente. ### IBRL (Increase Bandwidth Reduce Latency) -Un modo de conexión que permite a los validadores y nodos RPC conectarse a DoubleZero sin reiniciar sus clientes de blockchain. IBRL utiliza la dirección IP pública existente y establece un túnel superpuesto al [DZD](#dzd-doublezero-device) más cercano. Consulte [Conexión Mainnet-Beta](DZ%20Mainnet-beta%20Connection.md) para instrucciones de configuración. +Un modo de conexión que permite a los validadores y nodos RPC conectarse a DoubleZero sin reiniciar sus clientes de blockchain. IBRL utiliza la dirección IP pública existente y establece un túnel superpuesto hacia el [DZD](#dzd-doublezero-device) más cercano. Consulte [Conexión Mainnet-Beta](DZ%20Mainnet-beta%20Connection.md) para instrucciones de configuración. ### Multicast -Un método de entrega de paquetes de uno a muchos soportado por DoubleZero. El modo multicast tiene dos roles: **publisher** (envía paquetes a través de la red) y **subscriber** (recibe paquetes del publisher). Utilizado por equipos de desarrollo para la distribución eficiente de datos. Consulte [Otra Conexión Multicast](Other%20Multicast%20Connection.md) para detalles de conexión. +Un método de entrega de paquetes de uno a muchos soportado por DoubleZero. El modo multicast tiene dos roles: **publicador** (envía paquetes a través de la red) y **suscriptor** (recibe paquetes del publicador). Utilizado por equipos de desarrollo para la distribución eficiente de datos. Consulte [Otra Conexión Multicast](Other%20Multicast%20Connection.md) para detalles de conexión. --- ## Componentes de Software ### doublezerod -El servicio daemon de DoubleZero que se ejecuta en los servidores de los usuarios (validadores, nodos RPC). Gestiona la conexión a la red DoubleZero, maneja el establecimiento de túneles y mantiene la conectividad con los [DZDs](#dzd-doublezero-device). Se configura mediante systemd y se controla a través del CLI [`doublezero`](#doublezero-cli). +El servicio daemon de DoubleZero que se ejecuta en los servidores de los usuarios (validadores, nodos RPC). Gestiona la conexión a la red DoubleZero, maneja el establecimiento de túneles y mantiene la conectividad con los [DZDs](#dzd-doublezero-device). Se configura a través de systemd y se controla mediante la CLI [`doublezero`](#doublezero-cli). ### doublezero (CLI) -La interfaz de línea de comandos para interactuar con la red DoubleZero. Se utiliza para conectar, gestionar identidades, verificar el estado y operaciones administrativas. Se comunica con el daemon [`doublezerod`](#doublezerod). +La interfaz de línea de comandos para interactuar con la red DoubleZero. Se utiliza para conectarse, gestionar identidades, verificar el estado y realizar operaciones administrativas. Se comunica con el daemon [`doublezerod`](#doublezerod). ### Config Agent Agente de software que se ejecuta en los [DZDs](#dzd-doublezero-device) y gestiona la configuración del dispositivo. Lee la configuración del servicio [Controller](#controller) y aplica los cambios al dispositivo. Consulte [Instalación del Config Agent](contribute-provisioning.md#step-44-install-config-agent) para la configuración. ### Telemetry Agent -Agente de software que se ejecuta en los [DZDs](#dzd-doublezero-device) y recopila métricas de rendimiento (latencia, jitter, pérdida de paquetes) y las envía al ledger de DoubleZero. Consulte [Instalación del Telemetry Agent](contribute-provisioning.md#step-45-install-telemetry-agent) para la configuración. +Agente de software que se ejecuta en los [DZDs](#dzd-doublezero-device) y recopila métricas de rendimiento (latencia, jitter, pérdida de paquetes) y las envía al libro mayor de DoubleZero. Consulte [Instalación del Telemetry Agent](contribute-provisioning.md#step-45-install-telemetry-agent) para la configuración. ### Controller -Un servicio que proporciona configuración a los agentes de los [DZD](#dzd-doublezero-device). El Controller deriva las configuraciones de los dispositivos del estado [onchain](#onchain) en el ledger de DoubleZero. +Un servicio que proporciona configuración a los agentes de los [DZD](#dzd-doublezero-device). El Controller deriva las configuraciones de los dispositivos a partir del estado [onchain](#onchain) en el libro mayor de DoubleZero. --- ## Estados de los Enlaces ### Activated -El estado operativo normal para un enlace. El tráfico fluye a través del enlace y participa en las decisiones de enrutamiento. +El estado operativo normal de un enlace. El tráfico fluye a través del enlace y participa en las decisiones de enrutamiento. ### Soft-Drained -Un estado de mantenimiento donde se desalentará el tráfico en un enlace específico. Se utiliza para ventanas de mantenimiento planificado. Puede transicionar a [activated](#activated) o [hard-drained](#hard-drained). +Un estado de mantenimiento donde se desalienta el tráfico en un enlace específico. Se utiliza para ventanas de mantenimiento con transición gradual. Puede transicionar a [activated](#activated) o [hard-drained](#hard-drained). ### Hard-Drained -Un estado de mantenimiento donde el enlace se retira completamente del servicio. No fluye tráfico a través del enlace. Debe transicionar a [soft-drained](#soft-drained) antes de regresar a [activated](#activated). +Un estado de mantenimiento donde el enlace se retira completamente del servicio. No fluye tráfico a través del enlace. Debe transicionar a [soft-drained](#soft-drained) antes de volver a [activated](#activated). --- ## Organizaciones y Tokens ### DZF (DoubleZero Foundation) -DoubleZero Foundation es una fundación sin miembros constituida como compañía fundacional sin fines de lucro en las Islas Caimán, creada para apoyar el desarrollo, descentralización, seguridad y adopción de la red DoubleZero. +DoubleZero Foundation es una empresa fundacional sin miembros y sin fines de lucro de las Islas Caimán que fue creada para apoyar el desarrollo, la descentralización, la seguridad y la adopción de la red DoubleZero. ### 2Z Token -El token nativo de la red DoubleZero. Se utiliza para pagar las comisiones de los validadores y se distribuye como recompensas a los [contribuidores](#contributor). Los validadores pueden pagar las comisiones en 2Z a través de un programa de intercambio onchain. Consulte [Intercambio de SOL a 2Z](Swapping-sol-to-2z.md). +El token nativo de la red DoubleZero. Se utiliza para pagar las tarifas de validadores y se distribuye como recompensas a los [contribuidores](#contributor). Los validadores pueden pagar tarifas en 2Z a través de un programa de intercambio onchain. Consulte [Intercambio de SOL a 2Z](Swapping-sol-to-2z.md). ### Contributor Un proveedor de infraestructura de red que contribuye ancho de banda y hardware a la red DoubleZero. Los contribuidores operan [DZDs](#dzd-doublezero-device), proporcionan enlaces [WAN](#wan-link) y [DZX](#dzx-link), y reciben incentivos en tokens [2Z](#2z-token) por su contribución. Consulte la [Documentación para Contribuidores](contribute-overview.md) para comenzar. @@ -104,10 +104,10 @@ Un proveedor de infraestructura de red que contribuye ancho de banda y hardware ## Conceptos de Redes ### MTU (Maximum Transmission Unit) -El tamaño máximo de paquete (en bytes) que puede transmitirse a través de un enlace de red. Los enlaces WAN de DoubleZero generalmente utilizan MTU 9000 (jumbo frames) para mayor eficiencia. +El tamaño máximo de paquete (en bytes) que puede transmitirse a través de un enlace de red. Los enlaces WAN de DoubleZero típicamente utilizan MTU 9000 (tramas jumbo) para mayor eficiencia. ### VRF (Virtual Routing and Forwarding) -Una tecnología que permite que múltiples tablas de enrutamiento aisladas coexistan en el mismo router físico. Los contribuidores a menudo utilizan un VRF de gestión separado para aislar el tráfico de administración del switch del tráfico de producción. +Una tecnología que permite que múltiples tablas de enrutamiento aisladas existan en el mismo router físico. Los contribuidores a menudo utilizan un VRF de gestión separado para aislar el tráfico de gestión del switch del tráfico de producción. ### GRE (Generic Routing Encapsulation) Un protocolo de tunelización que encapsula paquetes de red dentro de paquetes IP. Utilizado por las conexiones [IBRL](#ibrl-increase-bandwidth-reduce-latency) y [CYOA](#cyoa-choose-your-own-adventure) para crear túneles superpuestos entre usuarios y DZDs. @@ -122,7 +122,7 @@ Un identificador único asignado a una red para el enrutamiento BGP. Todos los d Una interfaz de red virtual en un router/switch utilizada para fines de gestión y enrutamiento. Los DZDs utilizan Loopback255 (VPNv4) y Loopback256 (IPv4) para el enrutamiento interno. ### CIDR (Classless Inter-Domain Routing) -Una notación para especificar rangos de direcciones IP. El formato es `IP/prefix-length` donde la longitud del prefijo indica el tamaño de la red (por ejemplo, `/29` = 8 direcciones, `/24` = 256 direcciones). +Una notación para especificar rangos de direcciones IP. El formato es `IP/longitud-de-prefijo` donde la longitud del prefijo indica el tamaño de la red (p. ej., `/29` = 8 direcciones, `/24` = 256 direcciones). ### Jitter Variación en la latencia de los paquetes a lo largo del tiempo. Un jitter bajo es crítico para aplicaciones en tiempo real. @@ -131,7 +131,7 @@ Variación en la latencia de los paquetes a lo largo del tiempo. Un jitter bajo El tiempo que tarda un paquete en viajar desde el origen al destino y regresar. Se utiliza para medir la latencia de red entre dispositivos. ### TWAMP (Two-Way Active Measurement Protocol) -Un protocolo para medir métricas de rendimiento de red como la latencia y la pérdida de paquetes. El [Telemetry Agent](#telemetry-agent) utiliza TWAMP para recopilar métricas entre DZDs. +Un protocolo para medir métricas de rendimiento de red como latencia y pérdida de paquetes. El [Telemetry Agent](#telemetry-agent) utiliza TWAMP para recopilar métricas entre DZDs. ### IS-IS (Intermediate System to Intermediate System) Un protocolo de enrutamiento de estado de enlace utilizado internamente por la red DoubleZero. Las métricas de IS-IS se ajustan durante las operaciones de [drenaje de enlaces](#soft-drained). @@ -141,26 +141,29 @@ Un protocolo de enrutamiento de estado de enlace utilizado internamente por la r ## Geolocalización ### Geolocation -Un servicio de DoubleZero que verifica la ubicación física de los dispositivos mediante mediciones de latencia. Las mediciones de [RTT](#rtt-round-trip-time) entre infraestructura de ubicación conocida ([DZDs](#dzd-doublezero-device)) y los dispositivos objetivo proporcionan prueba firmada criptográficamente de que un dispositivo se encuentra dentro de cierta distancia de un punto de referencia. El registro onchain de las mediciones está planificado para una versión futura. Consulte [Geolocalización](geolocation.md) para la documentación de usuario. +Un servicio de DoubleZero que verifica la ubicación física de los dispositivos mediante mediciones de latencia. Las mediciones de [RTT](#rtt-round-trip-time) entre infraestructura de ubicación conocida ([DZDs](#dzd-doublezero-device)) y dispositivos objetivo proporcionan pruebas firmadas criptográficamente de que un dispositivo se encuentra dentro de una cierta distancia de un punto de referencia. El registro onchain de las mediciones está planificado para una versión futura. Consulte [Geolocalización](geolocation.md) para la documentación de usuario. ### geoProbe -Un servidor bare metal que actúa como intermediario para las mediciones de latencia en el sistema de [Geolocalización](#geolocation). Los geoProbes están ubicados a ~1ms de un [DZD](#dzd-doublezero-device), reciben LocationOffsets firmados de los DZDs padre, y miden el [RTT](#rtt-round-trip-time) hacia los dispositivos objetivo mediante [TWAMP](#twamp-two-way-active-measurement-protocol), TWAMP firmado o ICMP echo. Cada geoProbe se registra [onchain](#onchain) y se vincula a uno o más DZDs padre. Consulte [Despliegue de Geoprobe](contribute-geolocation.md) para la documentación de contribuidores. +Un servidor bare metal que actúa como intermediario para las mediciones de latencia en el sistema de [Geolocalización](#geolocation). Los geoProbes están ubicados a ~1ms de un [DZD](#dzd-doublezero-device), reciben LocationOffsets firmados de los DZDs principales y miden el [RTT](#rtt-round-trip-time) hacia los dispositivos objetivo mediante [TWAMP](#twamp-two-way-active-measurement-protocol), TWAMP firmado o eco ICMP. Cada geoProbe se registra [onchain](#onchain) y se vincula a uno o más DZDs principales. Consulte [Despliegue de Geoprobe](contribute-geolocation.md) para la documentación de contribuidores. ### LocationOffset -Una estructura de datos firmada que contiene la ubicación geográfica de un [DZD](#dzd-doublezero-device) (latitud y longitud) y una cadena de relaciones de latencia entre entidades (DZD↔Probe o Probe↔Target). Los LocationOffsets se firman con Ed25519 y se envían vía UDP a través de la cadena de medición. Los offsets compuestos incluyen referencias a mediciones anteriores, creando un rastro auditable. +Una estructura de datos firmada que contiene la ubicación geográfica de un [DZD](#dzd-doublezero-device) (latitud y longitud) y una cadena de relaciones de latencia entre entidades (DZD↔Probe o Probe↔Target). Los LocationOffsets se firman con Ed25519 y se envían por UDP a través de la cadena de medición. Los offsets compuestos incluyen referencias a mediciones anteriores, creando un rastro auditable. --- ## Blockchain y Claves ### Onchain -En el contexto de DoubleZero, onchain se refiere a datos y operaciones registrados en el ledger de DoubleZero. A diferencia de las redes tradicionales donde las configuraciones de dispositivos y enlaces residen en sistemas de gestión centralizados, DoubleZero registra los registros de dispositivos, las configuraciones de enlaces y los envíos de telemetría onchain, haciendo que el estado de la red sea transparente y verificable por todos los participantes. +En el contexto de DoubleZero, onchain se refiere a los datos y operaciones registrados en el libro mayor de DoubleZero. A diferencia de las redes tradicionales donde las configuraciones de dispositivos y enlaces residen en sistemas de gestión centralizados, DoubleZero registra los registros de dispositivos, las configuraciones de enlaces y los envíos de telemetría onchain, haciendo que el estado de la red sea transparente y verificable por todos los participantes. ### Service Key -Un par de claves criptográficas utilizado para autenticar las operaciones del CLI. Esta es su identidad como contribuidor para interactuar con el contrato inteligente de DoubleZero. Se almacena en `~/.config/solana/id.json`. +Un par de claves criptográficas utilizado para autenticar operaciones de CLI. Esta es su identidad de contribuidor para interactuar con el contrato inteligente de DoubleZero. Se almacena en `~/.config/solana/id.json`. ### Metrics Publisher Key -Un par de claves criptográficas utilizado por el [Telemetry Agent](#telemetry-agent) para firmar los envíos de métricas al blockchain. Separado de la service key para aislamiento de seguridad. Se almacena en `~/.config/doublezero/metrics-publisher.json`. +Un par de claves criptográficas utilizado por el [Telemetry Agent](#telemetry-agent) para firmar los envíos de métricas a la blockchain. Separado de la clave de servicio por aislamiento de seguridad. Se almacena en `~/.config/doublezero/metrics-publisher.json`. + +### Rewards Manager Key +Un par de claves criptográficas que controla dónde se pagan las recompensas de un contribuidor. Firma los cambios en la lista de billeteras receptoras pero nunca retiene recompensas por sí misma. Se mantiene separada de la [Service Key](#service-key). Consulte [Gestión de Recompensas](https://github.com/malbeclabs/contributors#rewards-management) en el repositorio de contribuidores. --- diff --git a/docs/glossary.fr.md b/docs/glossary.fr.md index af5c25e..3e8a73d 100644 --- a/docs/glossary.fr.md +++ b/docs/glossary.fr.md @@ -11,16 +11,16 @@ Cette page définit la terminologie spécifique à DoubleZero utilisée dans l'e ## Infrastructure réseau ### DZD (DoubleZero Device) -Le matériel physique de commutation réseau qui termine les liens DoubleZero et exécute le logiciel DoubleZero Agent. Les DZDs sont déployés dans les centres de données et fournissent des services de routage, de traitement des paquets et de connectivité utilisateur. Chaque DZD nécessite des [spécifications matérielles](contribute.md#dzd-network-hardware) spécifiques et exécute à la fois le [Config Agent](#config-agent) et le [Telemetry Agent](#telemetry-agent). +Le matériel physique de commutation réseau qui termine les liens DoubleZero et exécute le logiciel DoubleZero Agent. Les DZD sont déployés dans les centres de données et fournissent des services de routage, de traitement des paquets et de connectivité utilisateur. Chaque DZD nécessite des [spécifications matérielles](contribute.md#dzd-network-hardware) spécifiques et exécute à la fois le [Config Agent](#config-agent) et le [Telemetry Agent](#telemetry-agent). ### DZX (DoubleZero Exchange) -Points d'interconnexion dans le réseau maillé où les liens de différents [contributeurs](#contributeur) sont reliés entre eux. Les DZXs sont situés dans les grandes zones métropolitaines (par ex., NYC, LON, TYO) où se produisent les intersections réseau. Les contributeurs réseau doivent raccorder leurs liens au maillage DoubleZero global au DZX le plus proche. Concept similaire à un point d'échange Internet (IX). +Points d'interconnexion dans le réseau maillé où les liens de différents [contributeurs](#contributor) sont pontés ensemble. Les DZX sont situés dans les grandes zones métropolitaines (par exemple, NYC, LON, TYO) où se produisent les intersections de réseau. Les contributeurs réseau doivent interconnecter leurs liens dans le maillage DoubleZero plus large au DZX le plus proche. Similaire dans le concept à un point d'échange Internet (IX). ### Lien WAN -Un lien de réseau étendu (Wide Area Network) entre deux [DZDs](#dzd-doublezero-device) opérés par le **même** contributeur. Les liens WAN fournissent la connectivité dorsale au sein de l'infrastructure d'un seul contributeur. +Un lien de réseau étendu (Wide Area Network) entre deux [DZD](#dzd-doublezero-device) exploités par le **même** contributeur. Les liens WAN fournissent une connectivité dorsale au sein de l'infrastructure d'un seul contributeur. ### Lien DZX -Un lien entre [DZDs](#dzd-doublezero-device) opérés par des contributeurs **différents**, établi au niveau d'un [DZX](#dzx-doublezero-exchange). Les liens DZX nécessitent une acceptation explicite des deux parties. +Un lien entre des [DZD](#dzd-doublezero-device) exploités par des contributeurs **différents**, établi au niveau d'un [DZX](#dzx-doublezero-exchange). Les liens DZX nécessitent une acceptation explicite par les deux parties. ### Préfixe DZ Allocations d'adresses IP au format CIDR attribuées à un [DZD](#dzd-doublezero-device) pour l'adressage du réseau overlay. Spécifié lors de la [création du dispositif](contribute-provisioning.md#step-32-create-your-device-onchain) à l'aide du paramètre `--dz-prefixes`. @@ -30,10 +30,10 @@ Allocations d'adresses IP au format CIDR attribuées à un [DZD](#dzd-doublezero ## Types de dispositifs ### Dispositif Edge -Un [DZD](#dzd-doublezero-device) qui fournit la connectivité utilisateur au réseau DoubleZero. Les dispositifs edge exploitent les interfaces [CYOA](#cyoa-choose-your-own-adventure) pour terminer les utilisateurs (validateurs, opérateurs RPC) et les connecter au réseau. +Un [DZD](#dzd-doublezero-device) qui fournit la connectivité utilisateur au réseau DoubleZero. Les dispositifs edge utilisent les interfaces [CYOA](#cyoa-choose-your-own-adventure) pour terminer les utilisateurs (validateurs, opérateurs RPC) et les connecter au réseau. ### Dispositif Transit -Un [DZD](#dzd-doublezero-device) qui fournit la connectivité dorsale au sein du réseau DoubleZero. Les dispositifs transit acheminent le trafic entre les DZDs mais ne terminent pas directement les connexions utilisateur. +Un [DZD](#dzd-doublezero-device) qui fournit une connectivité dorsale au sein du réseau DoubleZero. Les dispositifs transit acheminent le trafic entre les DZD mais ne terminent pas directement les connexions utilisateur. ### Dispositif Hybride Un [DZD](#dzd-doublezero-device) qui combine les fonctionnalités [edge](#dispositif-edge) et [transit](#dispositif-transit), fournissant à la fois la connectivité utilisateur et le routage dorsal. @@ -43,131 +43,134 @@ Un [DZD](#dzd-doublezero-device) qui combine les fonctionnalités [edge](#dispos ## Connectivité ### CYOA (Choose Your Own Adventure) -Types d'interfaces qui permettent aux [contributeurs](#contributeur) d'enregistrer des options de connectivité pour que les utilisateurs se connectent au réseau DoubleZero. Les interfaces CYOA incluent diverses méthodes comme le [DIA](#dia-direct-internet-access), les tunnels GRE et le peering privé. Voir [Création des interfaces CYOA](contribute-provisioning.md#step-35-create-cyoa-interface-for-edgehybrid-devices) pour les détails de configuration. +Types d'interfaces qui permettent aux [contributeurs](#contributor) d'enregistrer des options de connectivité pour que les utilisateurs se connectent au réseau DoubleZero. Les interfaces CYOA incluent diverses méthodes comme le [DIA](#dia-direct-internet-access), les tunnels GRE et le peering privé. Voir [Création des interfaces CYOA](contribute-provisioning.md#step-35-create-cyoa-interface-for-edgehybrid-devices) pour les détails de configuration. ### DIA (Direct Internet Access) Un terme réseau standard désignant la connectivité fournie via l'internet public. Dans DoubleZero, le DIA est un type d'interface [CYOA](#cyoa-choose-your-own-adventure) où les utilisateurs (validateurs, opérateurs RPC) se connectent à un [DZD](#dzd-doublezero-device) via leur connexion internet existante. ### IBRL (Increase Bandwidth Reduce Latency) -Un mode de connexion qui permet aux validateurs et aux nœuds RPC de se connecter à DoubleZero sans redémarrer leurs clients blockchain. IBRL utilise l'adresse IP publique existante et établit un tunnel overlay vers le [DZD](#dzd-doublezero-device) le plus proche. Voir [Connexion Mainnet-Beta](DZ%20Mainnet-beta%20Connection.md) pour les instructions de configuration. +Un mode de connexion qui permet aux validateurs et aux nœuds RPC de se connecter à DoubleZero sans redémarrer leurs clients blockchain. L'IBRL utilise l'adresse IP publique existante et établit un tunnel overlay vers le [DZD](#dzd-doublezero-device) le plus proche. Voir [Connexion Mainnet-Beta](DZ%20Mainnet-beta%20Connection.md) pour les instructions de configuration. ### Multicast -Une méthode de livraison de paquets un-vers-plusieurs prise en charge par DoubleZero. Le mode multicast a deux rôles : **éditeur** (envoie les paquets à travers le réseau) et **abonné** (reçoit les paquets de l'éditeur). Utilisé par les équipes de développement pour une distribution efficace des données. Voir [Autre connexion Multicast](Other%20Multicast%20Connection.md) pour les détails de connexion. +Une méthode de livraison de paquets de type un-vers-plusieurs prise en charge par DoubleZero. Le mode multicast a deux rôles : **éditeur** (envoie des paquets à travers le réseau) et **abonné** (reçoit des paquets de l'éditeur). Utilisé par les équipes de développement pour une distribution efficace des données. Voir [Autre connexion Multicast](Other%20Multicast%20Connection.md) pour les détails de connexion. --- ## Composants logiciels ### doublezerod -Le service daemon DoubleZero qui s'exécute sur les serveurs utilisateur (validateurs, nœuds RPC). Il gère la connexion au réseau DoubleZero, assure l'établissement des tunnels et maintient la connectivité vers les [DZDs](#dzd-doublezero-device). Configuré via systemd et contrôlé par le CLI [`doublezero`](#doublezero-cli). +Le service daemon DoubleZero qui s'exécute sur les serveurs des utilisateurs (validateurs, nœuds RPC). Il gère la connexion au réseau DoubleZero, gère l'établissement des tunnels et maintient la connectivité vers les [DZD](#dzd-doublezero-device). Configuré via systemd et contrôlé via la CLI [`doublezero`](#doublezero-cli). ### doublezero (CLI) -L'interface en ligne de commande pour interagir avec le réseau DoubleZero. Utilisée pour se connecter, gérer les identités, vérifier l'état et effectuer des opérations d'administration. Communique avec le daemon [`doublezerod`](#doublezerod). +L'interface en ligne de commande pour interagir avec le réseau DoubleZero. Utilisée pour se connecter, gérer les identités, vérifier le statut et les opérations administratives. Communique avec le daemon [`doublezerod`](#doublezerod). ### Config Agent -Agent logiciel s'exécutant sur les [DZDs](#dzd-doublezero-device) qui gère la configuration du dispositif. Lit la configuration depuis le service [Controller](#controller) et applique les modifications au dispositif. Voir [Installation du Config Agent](contribute-provisioning.md#step-44-install-config-agent) pour la mise en place. +Agent logiciel s'exécutant sur les [DZD](#dzd-doublezero-device) qui gère la configuration des dispositifs. Lit la configuration depuis le service [Controller](#controller) et applique les modifications au dispositif. Voir [Installation du Config Agent](contribute-provisioning.md#step-44-install-config-agent) pour la mise en place. ### Telemetry Agent -Agent logiciel s'exécutant sur les [DZDs](#dzd-doublezero-device) qui collecte les métriques de performance (latence, gigue, perte de paquets) et les soumet au registre DoubleZero. Voir [Installation du Telemetry Agent](contribute-provisioning.md#step-45-install-telemetry-agent) pour la mise en place. +Agent logiciel s'exécutant sur les [DZD](#dzd-doublezero-device) qui collecte les métriques de performance (latence, gigue, perte de paquets) et les soumet au registre DoubleZero. Voir [Installation du Telemetry Agent](contribute-provisioning.md#step-45-install-telemetry-agent) pour la mise en place. ### Controller -Un service qui fournit la configuration aux agents [DZD](#dzd-doublezero-device). Le Controller dérive les configurations des dispositifs à partir de l'état [onchain](#onchain) sur le registre DoubleZero. +Un service qui fournit la configuration aux agents des [DZD](#dzd-doublezero-device). Le Controller dérive les configurations des dispositifs à partir de l'état [onchain](#onchain) du registre DoubleZero. --- ## États des liens ### Activé -L'état opérationnel normal d'un lien. Le trafic circule à travers le lien et celui-ci participe aux décisions de routage. +L'état opérationnel normal d'un lien. Le trafic circule à travers le lien et il participe aux décisions de routage. -### Drainage progressif (Soft-Drained) -Un état de maintenance où le trafic sera découragé sur un lien spécifique. Utilisé pour des fenêtres de maintenance gracieuses. Peut transiter vers l'état [activé](#activé) ou [drainage complet](#drainage-complet-hard-drained). +### Soft-Drained +Un état de maintenance où le trafic sera découragé sur un lien spécifique. Utilisé pour les fenêtres de maintenance progressives. Peut transitionner vers [activé](#activé) ou [hard-drained](#hard-drained). -### Drainage complet (Hard-Drained) -Un état de maintenance où le lien est complètement retiré du service. Aucun trafic ne circule à travers le lien. Doit transiter vers l'état [drainage progressif](#drainage-progressif-soft-drained) avant de revenir à l'état [activé](#activé). +### Hard-Drained +Un état de maintenance où le lien est complètement retiré du service. Aucun trafic ne circule à travers le lien. Doit transitionner vers [soft-drained](#soft-drained) avant de revenir à [activé](#activé). --- ## Organisations et jetons ### DZF (DoubleZero Foundation) -La DoubleZero Foundation est une société-fondation sans membres à but non lucratif des îles Caïmans, créée pour soutenir le développement, la décentralisation, la sécurité et l'adoption du réseau DoubleZero. +DoubleZero Foundation est une société-fondation sans membres des Îles Caïmans à but non lucratif qui a été créée pour soutenir le développement, la décentralisation, la sécurité et l'adoption du réseau DoubleZero. ### Jeton 2Z -Le jeton natif du réseau DoubleZero. Utilisé pour payer les frais des validateurs et distribué comme récompenses aux [contributeurs](#contributeur). Les validateurs peuvent payer les frais en 2Z via un programme d'échange onchain. Voir [Échange de SOL en 2Z](Swapping-sol-to-2z.md). +Le jeton natif du réseau DoubleZero. Utilisé pour le paiement des frais de validateur et distribué comme récompenses aux [contributeurs](#contributor). Les validateurs peuvent payer les frais en 2Z via un programme d'échange onchain. Voir [Échange de SOL en 2Z](Swapping-sol-to-2z.md). -### Contributeur -Un fournisseur d'infrastructure réseau qui contribue en bande passante et en matériel au réseau DoubleZero. Les contributeurs opèrent des [DZDs](#dzd-doublezero-device), fournissent des liens [WAN](#lien-wan) et [DZX](#lien-dzx), et reçoivent des incitations en jetons [2Z](#jeton-2z) pour leur contribution. Voir la [Documentation des contributeurs](contribute-overview.md) pour commencer. +### Contributor +Un fournisseur d'infrastructure réseau qui contribue en bande passante et en matériel au réseau DoubleZero. Les contributeurs exploitent des [DZD](#dzd-doublezero-device), fournissent des liens [WAN](#lien-wan) et [DZX](#lien-dzx), et reçoivent des incitations en jetons [2Z](#jeton-2z) pour leur contribution. Voir la [Documentation Contributeur](contribute-overview.md) pour commencer. --- ## Concepts réseau ### MTU (Maximum Transmission Unit) -La plus grande taille de paquet (en octets) pouvant être transmise sur un lien réseau. Les liens WAN DoubleZero utilisent généralement un MTU de 9000 (trames jumbo) pour plus d'efficacité. +La taille maximale de paquet (en octets) pouvant être transmise sur un lien réseau. Les liens WAN DoubleZero utilisent généralement un MTU de 9000 (trames jumbo) pour plus d'efficacité. ### VRF (Virtual Routing and Forwarding) Une technologie qui permet à plusieurs tables de routage isolées de coexister sur le même routeur physique. Les contributeurs utilisent souvent un VRF de gestion séparé pour isoler le trafic de gestion du commutateur du trafic de production. ### GRE (Generic Routing Encapsulation) -Un protocole de tunnelisation qui encapsule les paquets réseau à l'intérieur de paquets IP. Utilisé par les connexions [IBRL](#ibrl-increase-bandwidth-reduce-latency) et [CYOA](#cyoa-choose-your-own-adventure) pour créer des tunnels overlay entre les utilisateurs et les DZDs. +Un protocole de tunnelisation qui encapsule les paquets réseau à l'intérieur de paquets IP. Utilisé par les connexions [IBRL](#ibrl-increase-bandwidth-reduce-latency) et [CYOA](#cyoa-choose-your-own-adventure) pour créer des tunnels overlay entre les utilisateurs et les DZD. ### BGP (Border Gateway Protocol) -Le protocole de routage utilisé pour l'échange d'informations de routage entre les réseaux sur Internet. DoubleZero utilise BGP en interne avec l'ASN 65342. +Le protocole de routage utilisé pour l'échange d'informations de routage entre les réseaux sur Internet. DoubleZero utilise le BGP en interne avec l'ASN 65342. ### ASN (Autonomous System Number) Un identifiant unique attribué à un réseau pour le routage BGP. Tous les dispositifs DoubleZero utilisent l'**ASN 65342** pour le processus BGP interne. ### Interface Loopback -Une interface réseau virtuelle sur un routeur/commutateur utilisée à des fins de gestion et de routage. Les DZDs utilisent Loopback255 (VPNv4) et Loopback256 (IPv4) pour le routage interne. +Une interface réseau virtuelle sur un routeur/commutateur utilisée à des fins de gestion et de routage. Les DZD utilisent Loopback255 (VPNv4) et Loopback256 (IPv4) pour le routage interne. ### CIDR (Classless Inter-Domain Routing) -Une notation pour spécifier les plages d'adresses IP. Le format est `IP/longueur-de-préfixe` où la longueur du préfixe indique la taille du réseau (par ex., `/29` = 8 adresses, `/24` = 256 adresses). +Une notation pour spécifier les plages d'adresses IP. Le format est `IP/longueur-de-préfixe` où la longueur du préfixe indique la taille du réseau (par exemple, `/29` = 8 adresses, `/24` = 256 adresses). -### Gigue (Jitter) +### Gigue Variation de la latence des paquets au fil du temps. Une faible gigue est essentielle pour les applications en temps réel. ### RTT (Round-Trip Time) Le temps nécessaire pour qu'un paquet voyage de la source à la destination et revienne. Utilisé pour mesurer la latence réseau entre les dispositifs. ### TWAMP (Two-Way Active Measurement Protocol) -Un protocole pour mesurer les métriques de performance réseau comme la latence et la perte de paquets. Le [Telemetry Agent](#telemetry-agent) utilise TWAMP pour collecter les métriques entre les DZDs. +Un protocole de mesure des métriques de performance réseau comme la latence et la perte de paquets. Le [Telemetry Agent](#telemetry-agent) utilise TWAMP pour collecter les métriques entre les DZD. ### IS-IS (Intermediate System to Intermediate System) -Un protocole de routage à état de lien utilisé en interne par le réseau DoubleZero. Les métriques IS-IS sont ajustées lors des opérations de [drainage de lien](#drainage-progressif-soft-drained). +Un protocole de routage à état de liens utilisé en interne par le réseau DoubleZero. Les métriques IS-IS sont ajustées lors des opérations de [drainage de lien](#soft-drained). --- ## Géolocalisation ### Géolocalisation -Un service DoubleZero qui vérifie l'emplacement physique des dispositifs à l'aide de mesures de latence. Les mesures de [RTT](#rtt-round-trip-time) entre l'infrastructure à emplacement connu ([DZDs](#dzd-doublezero-device)) et les dispositifs cibles fournissent une preuve signée cryptographiquement qu'un dispositif se trouve à une certaine distance d'un point de référence. L'enregistrement onchain des mesures est prévu pour une version future. Voir [Géolocalisation](geolocation.md) pour la documentation utilisateur. +Un service DoubleZero qui vérifie l'emplacement physique des dispositifs à l'aide de mesures de latence. Les mesures de [RTT](#rtt-round-trip-time) entre l'infrastructure à emplacement connu ([DZD](#dzd-doublezero-device)) et les dispositifs cibles fournissent une preuve signée cryptographiquement qu'un dispositif se trouve à une certaine distance d'un point de référence. L'enregistrement onchain des mesures est prévu pour une version future. Voir [Géolocalisation](geolocation.md) pour la documentation utilisateur. ### geoProbe -Un serveur bare metal qui agit comme intermédiaire pour les mesures de latence dans le système de [Géolocalisation](#géolocalisation). Les geoProbes sont situés à ~1ms d'un [DZD](#dzd-doublezero-device), reçoivent des LocationOffsets signés des DZDs parents, et mesurent le [RTT](#rtt-round-trip-time) vers les dispositifs cibles via [TWAMP](#twamp-two-way-active-measurement-protocol), TWAMP signé, ou écho ICMP. Chaque geoProbe est enregistré [onchain](#onchain) et lié à un ou plusieurs DZDs parents. Voir [Déploiement des Geoprobes](contribute-geolocation.md) pour la documentation des contributeurs. +Un serveur bare metal qui sert d'intermédiaire pour les mesures de latence dans le système de [Géolocalisation](#géolocalisation). Les geoProbes sont situés à ~1 ms d'un [DZD](#dzd-doublezero-device), reçoivent des LocationOffsets signés des DZD parents, et mesurent le [RTT](#rtt-round-trip-time) vers les dispositifs cibles via [TWAMP](#twamp-two-way-active-measurement-protocol), TWAMP signé ou écho ICMP. Chaque geoProbe est enregistré [onchain](#onchain) et lié à un ou plusieurs DZD parents. Voir [Déploiement de Geoprobe](contribute-geolocation.md) pour la documentation contributeur. ### LocationOffset -Une structure de données signée contenant la position géographique d'un [DZD](#dzd-doublezero-device) (latitude et longitude) et une chaîne de relations de latence entre entités (DZD↔Probe ou Probe↔Cible). Les LocationOffsets sont signés avec Ed25519 et envoyés via UDP à travers la chaîne de mesure. Les offsets composites incluent des références aux mesures précédentes, créant une piste d'audit vérifiable. +Une structure de données signée contenant l'emplacement géographique d'un [DZD](#dzd-doublezero-device) (latitude et longitude) et une chaîne de relations de latence entre les entités (DZD↔Probe ou Probe↔Cible). Les LocationOffsets sont signés avec Ed25519 et envoyés via UDP à travers la chaîne de mesure. Les offsets composites incluent des références aux mesures précédentes, créant une piste d'audit vérifiable. --- ## Blockchain et clés ### Onchain -Dans le contexte DoubleZero, onchain fait référence aux données et opérations enregistrées sur le registre DoubleZero. Contrairement aux réseaux traditionnels où les configurations des dispositifs et des liens résident dans des systèmes de gestion centralisés, DoubleZero enregistre les inscriptions de dispositifs, les configurations de liens et les soumissions de télémétrie onchain — rendant l'état du réseau transparent et vérifiable par tous les participants. +Dans le contexte DoubleZero, onchain fait référence aux données et opérations enregistrées sur le registre DoubleZero. Contrairement aux réseaux traditionnels où les configurations de dispositifs et de liens résident dans des systèmes de gestion centralisés, DoubleZero enregistre les enregistrements de dispositifs, les configurations de liens et les soumissions de télémétrie onchain — rendant l'état du réseau transparent et vérifiable par tous les participants. -### Clé de service (Service Key) -Une paire de clés cryptographiques utilisée pour authentifier les opérations CLI. C'est votre identité de contributeur pour interagir avec le contrat intelligent DoubleZero. Stockée dans `~/.config/solana/id.json`. +### Clé de service +Une paire de clés cryptographiques utilisée pour authentifier les opérations CLI. Il s'agit de votre identité de contributeur pour interagir avec le contrat intelligent DoubleZero. Stockée dans `~/.config/solana/id.json`. -### Clé d'éditeur de métriques (Metrics Publisher Key) -Une paire de clés cryptographiques utilisée par le [Telemetry Agent](#telemetry-agent) pour signer les soumissions de métriques sur la blockchain. Séparée de la clé de service pour l'isolation de sécurité. Stockée dans `~/.config/doublezero/metrics-publisher.json`. +### Clé de publication de métriques +Une paire de clés cryptographiques utilisée par le [Telemetry Agent](#telemetry-agent) pour signer les soumissions de métriques à la blockchain. Séparée de la clé de service pour l'isolation de sécurité. Stockée dans `~/.config/doublezero/metrics-publisher.json`. + +### Clé du gestionnaire de récompenses +Une paire de clés cryptographiques qui contrôle où les récompenses d'un contributeur sont versées. Elle signe les modifications de la liste des portefeuilles destinataires mais ne détient jamais de récompenses elle-même. Maintenue séparée de la [Clé de service](#clé-de-service). Voir [Gestion des récompenses](https://github.com/malbeclabs/contributors#rewards-management) dans le dépôt des contributeurs. --- -## Matériel et logiciel +## Matériel et logiciels ### EOS (Extensible Operating System) Le système d'exploitation réseau d'Arista qui s'exécute sur les commutateurs DZD. Les contributeurs installent le [Config Agent](#config-agent) et le [Telemetry Agent](#telemetry-agent) en tant qu'extensions EOS. ### Extension EOS -Un paquet logiciel pouvant être installé sur les commutateurs Arista EOS. Les agents DZ sont distribués sous forme de fichiers `.rpm` et installés via la commande `extension`. \ No newline at end of file +Un package logiciel pouvant être installé sur les commutateurs Arista EOS. Les agents DZ sont distribués sous forme de fichiers `.rpm` et installés via la commande `extension`. \ No newline at end of file diff --git a/docs/glossary.it.md b/docs/glossary.it.md index 945eae1..ab57bb3 100644 --- a/docs/glossary.it.md +++ b/docs/glossary.it.md @@ -11,16 +11,16 @@ Questa pagina definisce la terminologia specifica di DoubleZero utilizzata in tu ## Infrastruttura di Rete ### DZD (DoubleZero Device) -L'hardware fisico di switching di rete che termina i link DoubleZero ed esegue il software DoubleZero Agent. I DZD vengono distribuiti nei data center e forniscono servizi di routing, elaborazione dei pacchetti e connettività utente. Ogni DZD richiede [specifiche hardware](contribute.md#dzd-network-hardware) specifiche ed esegue sia il [Config Agent](#config-agent) che il [Telemetry Agent](#telemetry-agent). +L'hardware di commutazione di rete fisico che termina i link DoubleZero e esegue il software DoubleZero Agent. I DZD sono distribuiti nei data center e forniscono servizi di routing, elaborazione dei pacchetti e connettività utente. Ogni DZD richiede [specifiche hardware](contribute.md#dzd-network-hardware) specifiche e esegue sia il [Config Agent](#config-agent) che il [Telemetry Agent](#telemetry-agent). ### DZX (DoubleZero Exchange) -Punti di interconnessione nella rete mesh dove i link di diversi [contributori](#contributor) vengono collegati tra loro. I DZX si trovano nelle principali aree metropolitane (ad es. NYC, LON, TYO) dove si verificano le intersezioni di rete. I contributori di rete devono effettuare il cross-connect dei loro link nella più ampia mesh DoubleZero presso il DZX più vicino. Concetto simile a un Internet Exchange (IX). +Punti di interconnessione nella rete mesh in cui i link di diversi [contributori](#contributor) vengono collegati insieme. I DZX si trovano nelle principali aree metropolitane (ad es., NYC, LON, TYO) dove si verificano intersezioni di rete. I contributori della rete devono effettuare il cross-connect dei propri link nella mesh DoubleZero più ampia presso il DZX più vicino. Concetto simile a un Internet Exchange (IX). ### WAN Link -Un link Wide Area Network tra due [DZD](#dzd-doublezero-device) gestiti dallo **stesso** contributore. I WAN link forniscono connettività backbone all'interno dell'infrastruttura di un singolo contributore. +Un link di Wide Area Network tra due [DZD](#dzd-doublezero-device) gestiti dallo **stesso** contributore. I link WAN forniscono connettività backbone all'interno dell'infrastruttura di un singolo contributore. ### DZX Link -Un link tra [DZD](#dzd-doublezero-device) gestiti da contributori **diversi**, stabilito presso un [DZX](#dzx-doublezero-exchange). I DZX link richiedono l'accettazione esplicita da parte di entrambe le parti. +Un link tra [DZD](#dzd-doublezero-device) gestiti da contributori **diversi**, stabilito presso un [DZX](#dzx-doublezero-exchange). I link DZX richiedono l'accettazione esplicita da entrambe le parti. ### DZ Prefix Allocazioni di indirizzi IP in formato CIDR assegnate a un [DZD](#dzd-doublezero-device) per l'indirizzamento della rete overlay. Specificati durante la [creazione del dispositivo](contribute-provisioning.md#step-32-create-your-device-onchain) utilizzando il parametro `--dz-prefixes`. @@ -43,32 +43,32 @@ Un [DZD](#dzd-doublezero-device) che combina le funzionalità sia [edge](#edge-d ## Connettività ### CYOA (Choose Your Own Adventure) -Tipi di interfaccia che consentono ai [contributori](#contributor) di registrare opzioni di connettività per permettere agli utenti di connettersi alla rete DoubleZero. Le interfacce CYOA includono vari metodi come [DIA](#dia-direct-internet-access), tunnel GRE e peering privato. Consulta [Creazione delle Interfacce CYOA](contribute-provisioning.md#step-35-create-cyoa-interface-for-edgehybrid-devices) per i dettagli di configurazione. +Tipi di interfaccia che consentono ai [contributori](#contributor) di registrare opzioni di connettività per gli utenti che si collegano alla rete DoubleZero. Le interfacce CYOA includono vari metodi come [DIA](#dia-direct-internet-access), tunnel GRE e peering privato. Vedere [Creazione delle Interfacce CYOA](contribute-provisioning.md#step-35-create-cyoa-interface-for-edgehybrid-devices) per i dettagli di configurazione. ### DIA (Direct Internet Access) -Un termine di networking standard per la connettività fornita tramite internet pubblico. In DoubleZero, DIA è un tipo di interfaccia [CYOA](#cyoa-choose-your-own-adventure) in cui gli utenti (validatori, operatori RPC) si connettono a un [DZD](#dzd-doublezero-device) tramite la loro connessione internet esistente. +Un termine di rete standard per la connettività fornita tramite internet pubblico. In DoubleZero, DIA è un tipo di interfaccia [CYOA](#cyoa-choose-your-own-adventure) in cui gli utenti (validatori, operatori RPC) si collegano a un [DZD](#dzd-doublezero-device) tramite la loro connessione internet esistente. ### IBRL (Increase Bandwidth Reduce Latency) -Una modalità di connessione che consente a validatori e nodi RPC di connettersi a DoubleZero senza riavviare i loro client blockchain. IBRL utilizza l'indirizzo IP pubblico esistente e stabilisce un tunnel overlay verso il [DZD](#dzd-doublezero-device) più vicino. Consulta [Connessione Mainnet-Beta](DZ%20Mainnet-beta%20Connection.md) per le istruzioni di configurazione. +Una modalità di connessione che consente a validatori e nodi RPC di collegarsi a DoubleZero senza riavviare i propri client blockchain. IBRL utilizza l'indirizzo IP pubblico esistente e stabilisce un tunnel overlay verso il [DZD](#dzd-doublezero-device) più vicino. Vedere [Connessione Mainnet-Beta](DZ%20Mainnet-beta%20Connection.md) per le istruzioni di configurazione. ### Multicast -Un metodo di consegna dei pacchetti uno-a-molti supportato da DoubleZero. La modalità multicast ha due ruoli: **publisher** (invia pacchetti attraverso la rete) e **subscriber** (riceve pacchetti dal publisher). Utilizzato dai team di sviluppo per la distribuzione efficiente dei dati. Consulta [Altra Connessione Multicast](Other%20Multicast%20Connection.md) per i dettagli di connessione. +Un metodo di consegna dei pacchetti uno-a-molti supportato da DoubleZero. La modalità multicast ha due ruoli: **publisher** (invia pacchetti attraverso la rete) e **subscriber** (riceve pacchetti dal publisher). Utilizzato dai team di sviluppo per una distribuzione efficiente dei dati. Vedere [Altra Connessione Multicast](Other%20Multicast%20Connection.md) per i dettagli di connessione. --- ## Componenti Software ### doublezerod -Il servizio daemon DoubleZero che viene eseguito sui server degli utenti (validatori, nodi RPC). Gestisce la connessione alla rete DoubleZero, si occupa dell'instaurazione dei tunnel e mantiene la connettività verso i [DZD](#dzd-doublezero-device). Configurato tramite systemd e controllato attraverso la CLI [`doublezero`](#doublezero-cli). +Il servizio daemon DoubleZero che viene eseguito sui server degli utenti (validatori, nodi RPC). Gestisce la connessione alla rete DoubleZero, gestisce la creazione dei tunnel e mantiene la connettività verso i [DZD](#dzd-doublezero-device). Configurato tramite systemd e controllato attraverso la CLI [`doublezero`](#doublezero-cli). ### doublezero (CLI) L'interfaccia a riga di comando per interagire con la rete DoubleZero. Utilizzata per connettersi, gestire le identità, verificare lo stato e le operazioni amministrative. Comunica con il daemon [`doublezerod`](#doublezerod). ### Config Agent -Agente software in esecuzione sui [DZD](#dzd-doublezero-device) che gestisce la configurazione del dispositivo. Legge la configurazione dal servizio [Controller](#controller) e applica le modifiche al dispositivo. Consulta [Installazione del Config Agent](contribute-provisioning.md#step-44-install-config-agent) per la configurazione. +Agente software in esecuzione sui [DZD](#dzd-doublezero-device) che gestisce la configurazione del dispositivo. Legge la configurazione dal servizio [Controller](#controller) e applica le modifiche al dispositivo. Vedere [Installazione del Config Agent](contribute-provisioning.md#step-44-install-config-agent) per la configurazione. ### Telemetry Agent -Agente software in esecuzione sui [DZD](#dzd-doublezero-device) che raccoglie metriche di prestazione (latenza, jitter, perdita di pacchetti) e le invia al ledger DoubleZero. Consulta [Installazione del Telemetry Agent](contribute-provisioning.md#step-45-install-telemetry-agent) per la configurazione. +Agente software in esecuzione sui [DZD](#dzd-doublezero-device) che raccoglie metriche di prestazione (latenza, jitter, perdita di pacchetti) e le invia al ledger DoubleZero. Vedere [Installazione del Telemetry Agent](contribute-provisioning.md#step-45-install-telemetry-agent) per la configurazione. ### Controller Un servizio che fornisce la configurazione agli agenti [DZD](#dzd-doublezero-device). Il Controller deriva le configurazioni dei dispositivi dallo stato [onchain](#onchain) sul ledger DoubleZero. @@ -78,39 +78,39 @@ Un servizio che fornisce la configurazione agli agenti [DZD](#dzd-doublezero-dev ## Stati dei Link ### Activated -Lo stato operativo normale di un link. Il traffico fluisce attraverso il link e quest'ultimo partecipa alle decisioni di routing. +Lo stato operativo normale per un link. Il traffico fluisce attraverso il link e partecipa alle decisioni di routing. ### Soft-Drained Uno stato di manutenzione in cui il traffico viene scoraggiato su un link specifico. Utilizzato per finestre di manutenzione graduali. Può transitare verso [activated](#activated) o [hard-drained](#hard-drained). ### Hard-Drained -Uno stato di manutenzione in cui il link viene completamente rimosso dal servizio. Nessun traffico fluisce attraverso il link. Deve transitare verso [soft-drained](#soft-drained) prima di tornare ad [activated](#activated). +Uno stato di manutenzione in cui il link è completamente rimosso dal servizio. Nessun traffico fluisce attraverso il link. Deve transitare verso [soft-drained](#soft-drained) prima di tornare ad [activated](#activated). --- ## Organizzazioni e Token ### DZF (DoubleZero Foundation) -La DoubleZero Foundation è una fondazione senza membri costituita come società delle Isole Cayman, creata per supportare lo sviluppo, la decentralizzazione, la sicurezza e l'adozione della rete DoubleZero. +DoubleZero Foundation è una società fondazione senza membri delle Isole Cayman senza scopo di lucro, costituita per supportare lo sviluppo, la decentralizzazione, la sicurezza e l'adozione della rete DoubleZero. ### 2Z Token -Il token nativo della rete DoubleZero. Utilizzato per il pagamento delle commissioni dei validatori e distribuito come ricompensa ai [contributori](#contributor). I validatori possono pagare le commissioni in 2Z tramite un programma di swap onchain. Consulta [Scambio di SOL in 2Z](Swapping-sol-to-2z.md). +Il token nativo della rete DoubleZero. Utilizzato per pagare le commissioni dei validatori e distribuito come ricompense ai [contributori](#contributor). I validatori possono pagare le commissioni in 2Z tramite un programma di swap onchain. Vedere [Scambio da SOL a 2Z](Swapping-sol-to-2z.md). ### Contributor -Un fornitore di infrastruttura di rete che contribuisce con banda e hardware alla rete DoubleZero. I contributori gestiscono [DZD](#dzd-doublezero-device), forniscono link [WAN](#wan-link) e [DZX](#dzx-link), e ricevono incentivi in token [2Z](#2z-token) per il loro contributo. Consulta la [Documentazione per i Contributori](contribute-overview.md) per iniziare. +Un fornitore di infrastruttura di rete che contribuisce con banda e hardware alla rete DoubleZero. I contributori gestiscono [DZD](#dzd-doublezero-device), forniscono link [WAN](#wan-link) e [DZX](#dzx-link), e ricevono incentivi in token [2Z](#2z-token) per il loro contributo. Vedere la [Documentazione per i Contributori](contribute-overview.md) per iniziare. --- -## Concetti di Networking +## Concetti di Rete ### MTU (Maximum Transmission Unit) -La dimensione massima del pacchetto (in byte) che può essere trasmessa su un link di rete. I WAN link di DoubleZero utilizzano tipicamente MTU 9000 (jumbo frame) per efficienza. +La dimensione massima del pacchetto (in byte) che può essere trasmessa su un link di rete. I link WAN di DoubleZero utilizzano tipicamente MTU 9000 (jumbo frame) per maggiore efficienza. ### VRF (Virtual Routing and Forwarding) Una tecnologia che consente a più tabelle di routing isolate di coesistere sullo stesso router fisico. I contributori spesso utilizzano un VRF di gestione separato per isolare il traffico di gestione dello switch dal traffico di produzione. ### GRE (Generic Routing Encapsulation) -Un protocollo di tunneling che incapsula pacchetti di rete all'interno di pacchetti IP. Utilizzato dalle connessioni [IBRL](#ibrl-increase-bandwidth-reduce-latency) e [CYOA](#cyoa-choose-your-own-adventure) per creare tunnel overlay tra utenti e DZD. +Un protocollo di tunneling che incapsula i pacchetti di rete all'interno di pacchetti IP. Utilizzato dalle connessioni [IBRL](#ibrl-increase-bandwidth-reduce-latency) e [CYOA](#cyoa-choose-your-own-adventure) per creare tunnel overlay tra utenti e DZD. ### BGP (Border Gateway Protocol) Il protocollo di routing utilizzato per lo scambio di informazioni di routing tra reti su internet. DoubleZero utilizza BGP internamente con ASN 65342. @@ -122,16 +122,16 @@ Un identificatore univoco assegnato a una rete per il routing BGP. Tutti i dispo Un'interfaccia di rete virtuale su un router/switch utilizzata per scopi di gestione e routing. I DZD utilizzano Loopback255 (VPNv4) e Loopback256 (IPv4) per il routing interno. ### CIDR (Classless Inter-Domain Routing) -Una notazione per specificare intervalli di indirizzi IP. Il formato è `IP/prefix-length` dove la lunghezza del prefisso indica la dimensione della rete (ad es. `/29` = 8 indirizzi, `/24` = 256 indirizzi). +Una notazione per specificare intervalli di indirizzi IP. Il formato è `IP/prefix-length` dove la lunghezza del prefisso indica la dimensione della rete (ad es., `/29` = 8 indirizzi, `/24` = 256 indirizzi). ### Jitter -Variazione della latenza dei pacchetti nel tempo. Un basso jitter è fondamentale per le applicazioni in tempo reale. +Variazione nella latenza dei pacchetti nel tempo. Un jitter basso è fondamentale per le applicazioni in tempo reale. ### RTT (Round-Trip Time) -Il tempo necessario a un pacchetto per viaggiare dalla sorgente alla destinazione e ritorno. Utilizzato per misurare la latenza di rete tra i dispositivi. +Il tempo necessario affinché un pacchetto viaggi dalla sorgente alla destinazione e ritorno. Utilizzato per misurare la latenza di rete tra i dispositivi. ### TWAMP (Two-Way Active Measurement Protocol) -Un protocollo per la misurazione delle metriche di prestazione della rete come latenza e perdita di pacchetti. Il [Telemetry Agent](#telemetry-agent) utilizza TWAMP per raccogliere metriche tra i DZD. +Un protocollo per misurare le metriche di prestazione della rete come latenza e perdita di pacchetti. Il [Telemetry Agent](#telemetry-agent) utilizza TWAMP per raccogliere metriche tra i DZD. ### IS-IS (Intermediate System to Intermediate System) Un protocollo di routing link-state utilizzato internamente dalla rete DoubleZero. Le metriche IS-IS vengono regolate durante le operazioni di [draining dei link](#soft-drained). @@ -141,26 +141,29 @@ Un protocollo di routing link-state utilizzato internamente dalla rete DoubleZer ## Geolocalizzazione ### Geolocation -Un servizio DoubleZero che verifica la posizione fisica dei dispositivi utilizzando misurazioni di latenza. Le misurazioni [RTT](#rtt-round-trip-time) tra infrastrutture a posizione nota ([DZD](#dzd-doublezero-device)) e dispositivi target forniscono una prova firmata crittograficamente che un dispositivo si trova entro una certa distanza da un punto di riferimento. La registrazione onchain delle misurazioni è prevista per una versione futura. Consulta [Geolocalizzazione](geolocation.md) per la documentazione utente. +Un servizio DoubleZero che verifica la posizione fisica dei dispositivi utilizzando misurazioni di latenza. Le misurazioni [RTT](#rtt-round-trip-time) tra infrastrutture a posizione nota ([DZD](#dzd-doublezero-device)) e dispositivi target forniscono una prova firmata crittograficamente che un dispositivo si trova entro una certa distanza da un punto di riferimento. La registrazione onchain delle misurazioni è prevista per una versione futura. Vedere [Geolocalizzazione](geolocation.md) per la documentazione utente. ### geoProbe -Un server bare metal che funge da intermediario per le misurazioni di latenza nel sistema di [Geolocalizzazione](#geolocation). I geoProbe sono situati entro ~1ms da un [DZD](#dzd-doublezero-device), ricevono LocationOffset firmati dai DZD parent e misurano l'[RTT](#rtt-round-trip-time) verso i dispositivi target tramite [TWAMP](#twamp-two-way-active-measurement-protocol), TWAMP firmato o ICMP echo. Ogni geoProbe è registrato [onchain](#onchain) e collegato a uno o più DZD parent. Consulta [Distribuzione dei Geoprobe](contribute-geolocation.md) per la documentazione per i contributori. +Un server bare metal che funge da intermediario per le misurazioni di latenza nel sistema di [Geolocalizzazione](#geolocation). I geoProbe sono posizionati entro ~1ms da un [DZD](#dzd-doublezero-device), ricevono LocationOffset firmati dai DZD parent e misurano l'[RTT](#rtt-round-trip-time) verso i dispositivi target tramite [TWAMP](#twamp-two-way-active-measurement-protocol), TWAMP firmato o ICMP echo. Ogni geoProbe è registrato [onchain](#onchain) e collegato a uno o più DZD parent. Vedere [Distribuzione dei Geoprobe](contribute-geolocation.md) per la documentazione dei contributori. ### LocationOffset -Una struttura dati firmata contenente la posizione geografica (latitudine e longitudine) di un [DZD](#dzd-doublezero-device) e una catena di relazioni di latenza tra entità (DZD↔Probe o Probe↔Target). I LocationOffset sono firmati con Ed25519 e inviati tramite UDP attraverso la catena di misurazione. Gli offset compositi includono riferimenti a misurazioni precedenti, creando una traccia verificabile. +Una struttura dati firmata contenente la posizione geografica di un [DZD](#dzd-doublezero-device) (latitudine e longitudine) e una catena di relazioni di latenza tra entità (DZD↔Probe o Probe↔Target). I LocationOffset sono firmati con Ed25519 e inviati tramite UDP attraverso la catena di misurazione. Gli offset compositi includono riferimenti a misurazioni precedenti, creando una traccia verificabile. --- ## Blockchain e Chiavi ### Onchain -Nel contesto DoubleZero, onchain si riferisce a dati e operazioni registrati sul ledger DoubleZero. A differenza delle reti tradizionali dove le configurazioni di dispositivi e link risiedono in sistemi di gestione centralizzati, DoubleZero registra le registrazioni dei dispositivi, le configurazioni dei link e gli invii di telemetria onchain — rendendo lo stato della rete trasparente e verificabile da tutti i partecipanti. +Nel contesto DoubleZero, onchain si riferisce a dati e operazioni registrati sul ledger DoubleZero. A differenza delle reti tradizionali in cui le configurazioni di dispositivi e link risiedono in sistemi di gestione centralizzati, DoubleZero registra le registrazioni dei dispositivi, le configurazioni dei link e le sottomissioni di telemetria onchain — rendendo lo stato della rete trasparente e verificabile da tutti i partecipanti. ### Service Key -Una coppia di chiavi crittografiche utilizzata per autenticare le operazioni CLI. Questa è la tua identità come contributore per interagire con lo smart contract DoubleZero. Memorizzata in `~/.config/solana/id.json`. +Una coppia di chiavi crittografiche utilizzata per autenticare le operazioni CLI. Questa è la tua identità di contributore per interagire con lo smart contract DoubleZero. Memorizzata in `~/.config/solana/id.json`. ### Metrics Publisher Key -Una coppia di chiavi crittografiche utilizzata dal [Telemetry Agent](#telemetry-agent) per firmare gli invii di metriche alla blockchain. Separata dalla service key per l'isolamento della sicurezza. Memorizzata in `~/.config/doublezero/metrics-publisher.json`. +Una coppia di chiavi crittografiche utilizzata dal [Telemetry Agent](#telemetry-agent) per firmare le sottomissioni di metriche alla blockchain. Separata dalla service key per l'isolamento della sicurezza. Memorizzata in `~/.config/doublezero/metrics-publisher.json`. + +### Rewards Manager Key +Una coppia di chiavi crittografiche che controlla dove vengono pagate le ricompense di un contributore. Firma le modifiche alla lista dei wallet destinatari ma non detiene mai direttamente le ricompense. Mantenuta separata dalla [Service Key](#service-key). Vedere [Gestione delle Ricompense](https://github.com/malbeclabs/contributors#rewards-management) nel repository dei contributori. --- @@ -170,4 +173,4 @@ Una coppia di chiavi crittografiche utilizzata dal [Telemetry Agent](#telemetry- Il sistema operativo di rete di Arista che viene eseguito sugli switch DZD. I contributori installano il [Config Agent](#config-agent) e il [Telemetry Agent](#telemetry-agent) come estensioni EOS. ### EOS Extension -Un pacchetto software che può essere installato sugli switch Arista EOS. Gli agenti DZ vengono distribuiti come file `.rpm` e installati tramite il comando `extension`. \ No newline at end of file +Un pacchetto software che può essere installato sugli switch Arista EOS. Gli agenti DZ sono distribuiti come file `.rpm` e installati tramite il comando `extension`. \ No newline at end of file diff --git a/docs/glossary.ja.md b/docs/glossary.ja.md index 578e877..ae5d013 100644 --- a/docs/glossary.ja.md +++ b/docs/glossary.ja.md @@ -14,45 +14,45 @@ description: ドキュメント全体で使用されるDoubleZero固有の用語 DoubleZeroリンクを終端し、DoubleZero Agentソフトウェアを実行する物理ネットワークスイッチングハードウェア。DZDはデータセンターに展開され、ルーティング、パケット処理、およびユーザー接続サービスを提供します。各DZDには特定の[ハードウェア仕様](contribute.md#dzd-network-hardware)が必要であり、[Config Agent](#config-agent)と[Telemetry Agent](#telemetry-agent)の両方を実行します。 ### DZX (DoubleZero Exchange) -メッシュネットワーク内の相互接続ポイントで、異なる[コントリビューター](#contributor)のリンクがブリッジされます。DZXは、ネットワークの交差点が発生する主要な都市圏(例:NYC、LON、TYO)に設置されています。ネットワークコントリビューターは、最寄りのDZXで自身のリンクをより広範なDoubleZeroメッシュにクロスコネクトする必要があります。Internet Exchange (IX) と概念的に類似しています。 +メッシュネットワーク内の相互接続ポイントで、異なる[コントリビューター](#contributor)のリンクがブリッジされます。DZXは、ネットワークの交差点が発生する主要な大都市圏(例:NYC、LON、TYO)に配置されています。ネットワークコントリビューターは、最寄りのDZXで自身のリンクをより広範なDoubleZeroメッシュにクロスコネクトする必要があります。Internet Exchange(IX)と類似した概念です。 -### WAN Link -**同じ**コントリビューターが運用する2つの[DZD](#dzd-doublezero-device)間のWide Area Networkリンク。WANリンクは、単一のコントリビューターのインフラストラクチャ内でバックボーン接続を提供します。 +### WANリンク +**同一の**コントリビューターが運用する2つの[DZD](#dzd-doublezero-device)間のWide Area Networkリンク。WANリンクは、単一のコントリビューターのインフラストラクチャ内でバックボーン接続を提供します。 -### DZX Link -[DZX](#dzx-doublezero-exchange)で確立される、**異なる**コントリビューターが運用する[DZD](#dzd-doublezero-device)間のリンク。DZXリンクは双方の明示的な承諾が必要です。 +### DZXリンク +[DZX](#dzx-doublezero-exchange)において、**異なる**コントリビューターが運用する[DZD](#dzd-doublezero-device)間で確立されるリンク。DZXリンクは、双方による明示的な承認が必要です。 -### DZ Prefix -オーバーレイネットワークアドレッシングのために[DZD](#dzd-doublezero-device)に割り当てられるCIDR形式のIPアドレス割り当て。[デバイス作成](contribute-provisioning.md#step-32-create-your-device-onchain)時に`--dz-prefixes`パラメータを使用して指定されます。 +### DZプレフィックス +オーバーレイネットワークアドレッシングのために[DZD](#dzd-doublezero-device)に割り当てられるCIDR形式のIPアドレス割り当て。[デバイス作成](contribute-provisioning.md#step-32-create-your-device-onchain)時に`--dz-prefixes`パラメータを使用して指定します。 --- ## デバイスタイプ -### Edge Device -DoubleZeroネットワークへのユーザー接続を提供する[DZD](#dzd-doublezero-device)。Edgeデバイスは[CYOA](#cyoa-choose-your-own-adventure)インターフェースを活用して、ユーザー(バリデーター、RPCオペレーター)を終端し、ネットワークに接続します。 +### エッジデバイス +DoubleZeroネットワークへのユーザー接続を提供する[DZD](#dzd-doublezero-device)。エッジデバイスは[CYOA](#cyoa-choose-your-own-adventure)インターフェースを活用してユーザー(バリデーター、RPCオペレーター)を終端し、ネットワークに接続します。 -### Transit Device -DoubleZeroネットワーク内でバックボーン接続を提供する[DZD](#dzd-doublezero-device)。Transitデバイスは、DZD間のトラフィックを移動させますが、ユーザー接続を直接終端しません。 +### トランジットデバイス +DoubleZeroネットワーク内でバックボーン接続を提供する[DZD](#dzd-doublezero-device)。トランジットデバイスはDZD間のトラフィックを転送しますが、ユーザー接続を直接終端することはありません。 -### Hybrid Device -[Edge](#edge-device)と[Transit](#transit-device)の両方の機能を組み合わせた[DZD](#dzd-doublezero-device)で、ユーザー接続とバックボーンルーティングの両方を提供します。 +### ハイブリッドデバイス +[エッジ](#エッジデバイス)と[トランジット](#トランジットデバイス)の両方の機能を組み合わせた[DZD](#dzd-doublezero-device)で、ユーザー接続とバックボーンルーティングの両方を提供します。 --- ## 接続性 ### CYOA (Choose Your Own Adventure) -[コントリビューター](#contributor)がDoubleZeroネットワークにユーザーを接続するための接続オプションを登録できるインターフェースタイプ。CYOAインターフェースには、[DIA](#dia-direct-internet-access)、GREトンネル、プライベートピアリングなどのさまざまな方法が含まれます。設定の詳細については[CYOAインターフェースの作成](contribute-provisioning.md#step-35-create-cyoa-interface-for-edgehybrid-devices)を参照してください。 +[コントリビューター](#contributor)がDoubleZeroネットワークへのユーザー接続オプションを登録できるインターフェースタイプ。CYOAインターフェースには、[DIA](#dia-direct-internet-access)、GREトンネル、プライベートピアリングなど、さまざまな方法が含まれます。設定の詳細は[CYOAインターフェースの作成](contribute-provisioning.md#step-35-create-cyoa-interface-for-edgehybrid-devices)を参照してください。 ### DIA (Direct Internet Access) -パブリックインターネット経由で提供される接続の標準的なネットワーキング用語。DoubleZeroでは、DIAはユーザー(バリデーター、RPCオペレーター)が既存のインターネット接続を介して[DZD](#dzd-doublezero-device)に接続する[CYOA](#cyoa-choose-your-own-adventure)インターフェースタイプです。 +パブリックインターネット経由で提供される接続を指す標準的なネットワーク用語。DoubleZeroでは、DIAはユーザー(バリデーター、RPCオペレーター)が既存のインターネット接続を通じて[DZD](#dzd-doublezero-device)に接続する[CYOA](#cyoa-choose-your-own-adventure)インターフェースタイプです。 ### IBRL (Increase Bandwidth Reduce Latency) -バリデーターやRPCノードがブロックチェーンクライアントを再起動せずにDoubleZeroに接続できる接続モード。IBRLは既存のパブリックIPアドレスを使用し、最寄りの[DZD](#dzd-doublezero-device)へのオーバーレイトンネルを確立します。セットアップ手順については[Mainnet-Beta接続](DZ%20Mainnet-beta%20Connection.md)を参照してください。 +バリデーターやRPCノードがブロックチェーンクライアントを再起動せずにDoubleZeroに接続できる接続モード。IBRLは既存のパブリックIPアドレスを使用し、最寄りの[DZD](#dzd-doublezero-device)へのオーバーレイトンネルを確立します。セットアップ手順は[Mainnet-Beta接続](DZ%20Mainnet-beta%20Connection.md)を参照してください。 -### Multicast -DoubleZeroがサポートする1対多のパケット配信方式。Multicastモードには2つの役割があります:**パブリッシャー**(ネットワーク全体にパケットを送信)と**サブスクライバー**(パブリッシャーからパケットを受信)。開発チームによる効率的なデータ配信に使用されます。接続の詳細については[その他のMulticast接続](Other%20Multicast%20Connection.md)を参照してください。 +### マルチキャスト +DoubleZeroがサポートする1対多のパケット配信方式。マルチキャストモードには2つの役割があります:**パブリッシャー**(ネットワーク全体にパケットを送信)と**サブスクライバー**(パブリッシャーからパケットを受信)。開発チームによる効率的なデータ配信に使用されます。接続の詳細は[その他のマルチキャスト接続](Other%20Multicast%20Connection.md)を参照してください。 --- @@ -62,13 +62,13 @@ DoubleZeroがサポートする1対多のパケット配信方式。Multicastモ ユーザーサーバー(バリデーター、RPCノード)上で実行されるDoubleZeroデーモンサービス。DoubleZeroネットワークへの接続を管理し、トンネルの確立を処理し、[DZD](#dzd-doublezero-device)への接続を維持します。systemdを介して設定され、[`doublezero`](#doublezero-cli) CLIを通じて制御されます。 ### doublezero (CLI) -DoubleZeroネットワークとやり取りするためのコマンドラインインターフェース。接続、ID管理、ステータス確認、管理操作に使用されます。[`doublezerod`](#doublezerod)デーモンと通信します。 +DoubleZeroネットワークと対話するためのコマンドラインインターフェース。接続、ID管理、ステータス確認、管理操作に使用されます。[`doublezerod`](#doublezerod)デーモンと通信します。 ### Config Agent -[DZD](#dzd-doublezero-device)上で実行され、デバイス設定を管理するソフトウェアエージェント。[Controller](#controller)サービスから設定を読み取り、デバイスに変更を適用します。セットアップについては[Config Agentのインストール](contribute-provisioning.md#step-44-install-config-agent)を参照してください。 +[DZD](#dzd-doublezero-device)上で実行されるソフトウェアエージェントで、デバイス設定を管理します。[Controller](#controller)サービスから設定を読み取り、デバイスに変更を適用します。セットアップについては[Config Agentのインストール](contribute-provisioning.md#step-44-install-config-agent)を参照してください。 ### Telemetry Agent -[DZD](#dzd-doublezero-device)上で実行され、パフォーマンスメトリクス(レイテンシー、ジッター、パケットロス)を収集してDoubleZero台帳に送信するソフトウェアエージェント。セットアップについては[Telemetry Agentのインストール](contribute-provisioning.md#step-45-install-telemetry-agent)を参照してください。 +[DZD](#dzd-doublezero-device)上で実行されるソフトウェアエージェントで、パフォーマンスメトリクス(レイテンシ、ジッター、パケットロス)を収集し、DoubleZero台帳に送信します。セットアップについては[Telemetry Agentのインストール](contribute-provisioning.md#step-45-install-telemetry-agent)を参照してください。 ### Controller [DZD](#dzd-doublezero-device)エージェントに設定を提供するサービス。ControllerはDoubleZero台帳上の[オンチェーン](#onchain)状態からデバイス設定を導出します。 @@ -77,40 +77,40 @@ DoubleZeroネットワークとやり取りするためのコマンドライン ## リンク状態 -### Activated -リンクの通常の運用状態。トラフィックはリンクを通過し、ルーティング判断に参加します。 +### アクティベート済み +リンクの通常の動作状態。トラフィックがリンクを通過し、ルーティング決定に参加します。 -### Soft-Drained -特定のリンクでトラフィックが抑制されるメンテナンス状態。グレースフルなメンテナンスウィンドウに使用されます。[activated](#activated)または[hard-drained](#hard-drained)に遷移できます。 +### ソフトドレイン +特定のリンクでトラフィックが抑制されるメンテナンス状態。計画的なメンテナンスウィンドウに使用されます。[アクティベート済み](#アクティベート済み)または[ハードドレイン](#ハードドレイン)に遷移できます。 -### Hard-Drained -リンクがサービスから完全に除外されるメンテナンス状態。トラフィックはリンクを通過しません。[activated](#activated)に戻るには、事前に[soft-drained](#soft-drained)に遷移する必要があります。 +### ハードドレイン +リンクが完全にサービスから除外されるメンテナンス状態。トラフィックはリンクを通過しません。[アクティベート済み](#アクティベート済み)に戻るには、先に[ソフトドレイン](#ソフトドレイン)に遷移する必要があります。 --- -## 組織 & トークン +## 組織とトークン ### DZF (DoubleZero Foundation) -DoubleZero Foundationは、DoubleZeroネットワークの開発、分散化、セキュリティ、および普及を支援するために設立されたメンバーレスの非営利ケイマン諸島財団法人です。 +DoubleZero Foundationは、DoubleZeroネットワークの開発、分散化、セキュリティ、普及を支援するために設立された、会員を持たないケイマン諸島の非営利財団法人です。 -### 2Z Token -DoubleZeroネットワークのネイティブトークン。バリデーター手数料の支払いに使用され、[コントリビューター](#contributor)への報酬として配布されます。バリデーターはオンチェーンスワッププログラムを介して2Zで手数料を支払うことができます。[SOLから2Zへのスワップ](Swapping-sol-to-2z.md)を参照してください。 +### 2Zトークン +DoubleZeroネットワークのネイティブトークン。バリデーター手数料の支払いに使用され、[コントリビューター](#contributor)への報酬として分配されます。バリデーターはオンチェーンスワッププログラムを介して2Zで手数料を支払うことができます。[SOLから2Zへのスワップ](Swapping-sol-to-2z.md)を参照してください。 -### Contributor -DoubleZeroネットワークに帯域幅とハードウェアを提供するネットワークインフラストラクチャプロバイダー。コントリビューターは[DZD](#dzd-doublezero-device)を運用し、[WAN](#wan-link)および[DZX](#dzx-link)リンクを提供し、その貢献に対して[2Z](#2z-token)トークンインセンティブを受け取ります。開始するには[コントリビュータードキュメント](contribute-overview.md)を参照してください。 +### コントリビューター +DoubleZeroネットワークに帯域幅とハードウェアを提供するネットワークインフラストラクチャプロバイダー。コントリビューターは[DZD](#dzd-doublezero-device)を運用し、[WAN](#wanリンク)および[DZX](#dzxリンク)リンクを提供し、その貢献に対して[2Z](#2zトークン)トークンのインセンティブを受け取ります。開始するには[コントリビュータードキュメント](contribute-overview.md)を参照してください。 --- -## ネットワーキングの概念 +## ネットワーキング概念 ### MTU (Maximum Transmission Unit) -ネットワークリンク上で送信可能な最大パケットサイズ(バイト単位)。DoubleZero WANリンクは通常、効率性のためにMTU 9000(ジャンボフレーム)を使用します。 +ネットワークリンクを介して送信できる最大パケットサイズ(バイト単位)。DoubleZeroのWANリンクは通常、効率性のためにMTU 9000(ジャンボフレーム)を使用します。 ### VRF (Virtual Routing and Forwarding) -同じ物理ルーター上に複数の分離されたルーティングテーブルを存在させることを可能にする技術。コントリビューターは、スイッチ管理トラフィックを本番トラフィックから分離するために、別の管理VRFを使用することがよくあります。 +同一の物理ルーター上に複数の分離されたルーティングテーブルを共存させる技術。コントリビューターは通常、スイッチ管理トラフィックを本番トラフィックから分離するために、別の管理VRFを使用します。 ### GRE (Generic Routing Encapsulation) -ネットワークパケットをIPパケット内にカプセル化するトンネリングプロトコル。[IBRL](#ibrl-increase-bandwidth-reduce-latency)および[CYOA](#cyoa-choose-your-own-adventure)接続で、ユーザーとDZD間にオーバーレイトンネルを作成するために使用されます。 +ネットワークパケットをIPパケット内にカプセル化するトンネリングプロトコル。[IBRL](#ibrl-increase-bandwidth-reduce-latency)および[CYOA](#cyoa-choose-your-own-adventure)接続で、ユーザーとDZD間のオーバーレイトンネルを作成するために使用されます。 ### BGP (Border Gateway Protocol) インターネット上のネットワーク間でルーティング情報を交換するために使用されるルーティングプロトコル。DoubleZeroは内部的にASN 65342でBGPを使用します。 @@ -118,56 +118,59 @@ DoubleZeroネットワークに帯域幅とハードウェアを提供するネ ### ASN (Autonomous System Number) BGPルーティングのためにネットワークに割り当てられる一意の識別子。すべてのDoubleZeroデバイスは内部BGPプロセスに**ASN 65342**を使用します。 -### Loopback Interface +### ループバックインターフェース 管理およびルーティング目的で使用されるルーター/スイッチ上の仮想ネットワークインターフェース。DZDは内部ルーティングにLoopback255(VPNv4)とLoopback256(IPv4)を使用します。 ### CIDR (Classless Inter-Domain Routing) -IPアドレス範囲を指定するための表記法。形式は`IP/prefix-length`で、プレフィックス長はネットワークサイズを示します(例:`/29` = 8アドレス、`/24` = 256アドレス)。 +IPアドレス範囲を指定するための表記法。形式は`IP/プレフィックス長`で、プレフィックス長はネットワークサイズを示します(例:`/29` = 8アドレス、`/24` = 256アドレス)。 -### Jitter -時間の経過に伴うパケットレイテンシーの変動。低ジッターはリアルタイムアプリケーションにとって重要です。 +### ジッター +時間経過に伴うパケットレイテンシのばらつき。リアルタイムアプリケーションにとって低ジッターは重要です。 ### RTT (Round-Trip Time) -パケットが送信元から宛先に到達し、戻ってくるまでの時間。デバイス間のネットワークレイテンシーを測定するために使用されます。 +パケットが送信元から宛先へ移動し、戻ってくるまでの時間。デバイス間のネットワークレイテンシを測定するために使用されます。 ### TWAMP (Two-Way Active Measurement Protocol) -レイテンシーやパケットロスなどのネットワークパフォーマンスメトリクスを測定するためのプロトコル。[Telemetry Agent](#telemetry-agent)はDZD間のメトリクス収集にTWAMPを使用します。 +レイテンシやパケットロスなどのネットワークパフォーマンスメトリクスを測定するためのプロトコル。[Telemetry Agent](#telemetry-agent)はDZD間のメトリクスを収集するためにTWAMPを使用します。 ### IS-IS (Intermediate System to Intermediate System) -DoubleZeroネットワーク内部で使用されるリンクステートルーティングプロトコル。IS-ISメトリクスは[リンクドレイニング](#soft-drained)操作時に調整されます。 +DoubleZeroネットワーク内部で使用されるリンクステートルーティングプロトコル。IS-ISメトリクスは[リンクドレイン](#ソフトドレイン)操作時に調整されます。 --- ## ジオロケーション -### Geolocation -レイテンシー測定を使用してデバイスの物理的な位置を検証するDoubleZeroサービス。既知の場所にあるインフラストラクチャ([DZD](#dzd-doublezero-device))とターゲットデバイス間の[RTT](#rtt-round-trip-time)測定により、デバイスが基準点から一定の距離内にあることの暗号署名付き証明を提供します。測定のオンチェーン記録は将来のリリースで計画されています。ユーザードキュメントについては[ジオロケーション](geolocation.md)を参照してください。 +### ジオロケーション +レイテンシ測定を使用してデバイスの物理的な位置を検証するDoubleZeroサービス。既知の場所にあるインフラストラクチャ([DZD](#dzd-doublezero-device))とターゲットデバイス間の[RTT](#rtt-round-trip-time)測定により、デバイスが基準点から一定の距離内にあることの暗号署名付き証明を提供します。測定のオンチェーン記録は将来のリリースで計画されています。ユーザードキュメントについては[ジオロケーション](geolocation.md)を参照してください。 ### geoProbe -[ジオロケーション](#geolocation)システムにおけるレイテンシー測定の仲介役として機能するベアメタルサーバー。geoProbeは[DZD](#dzd-doublezero-device)から約1ms以内の場所に配置され、親DZDから署名付きLocationOffsetを受信し、[TWAMP](#twamp-two-way-active-measurement-protocol)、署名付きTWAMP、またはICMP echoを介してターゲットデバイスへの[RTT](#rtt-round-trip-time)を測定します。各geoProbeは[オンチェーン](#onchain)に登録され、1つ以上の親DZDに紐づけられます。コントリビュータードキュメントについては[Geoprobeのデプロイ](contribute-geolocation.md)を参照してください。 +[ジオロケーション](#ジオロケーション)システムにおけるレイテンシ測定の仲介役として機能するベアメタルサーバー。geoProbeは[DZD](#dzd-doublezero-device)から約1ms以内の場所に配置され、親DZDから署名済みLocationOffsetを受信し、[TWAMP](#twamp-two-way-active-measurement-protocol)、署名済みTWAMP、またはICMPエコーを介してターゲットデバイスへの[RTT](#rtt-round-trip-time)を測定します。各geoProbeは[オンチェーン](#onchain)で登録され、1つ以上の親DZDにリンクされます。コントリビュータードキュメントについては[geoProbeのデプロイ](contribute-geolocation.md)を参照してください。 ### LocationOffset -[DZD](#dzd-doublezero-device)の地理的位置(緯度と経度)およびエンティティ間のレイテンシー関係チェーン(DZD↔Probe または Probe↔Target)を含む署名付きデータ構造。LocationOffsetはEd25519で署名され、測定チェーンを通じてUDPで送信されます。複合オフセットには以前の測定への参照が含まれ、監査可能なトレイルを作成します。 +[DZD](#dzd-doublezero-device)の地理的位置(緯度と経度)とエンティティ間のレイテンシ関係のチェーン(DZD↔Probe または Probe↔Target)を含む署名済みデータ構造。LocationOffsetはEd25519で署名され、測定チェーンを通じてUDPで送信されます。複合オフセットには以前の測定への参照が含まれ、監査可能なトレイルを作成します。 --- -## ブロックチェーン & 鍵 +## ブロックチェーンと鍵 -### Onchain -DoubleZeroの文脈では、onchainはDoubleZero台帳に記録されるデータと操作を指します。デバイスやリンクの設定が集中管理システムに存在する従来のネットワークとは異なり、DoubleZeroはデバイスの登録、リンクの設定、テレメトリーの送信をオンチェーンに記録し、ネットワーク状態をすべての参加者にとって透明で検証可能にしています。 +### オンチェーン +DoubleZeroの文脈では、オンチェーンとはDoubleZero台帳に記録されるデータと操作を指します。デバイスやリンクの設定が集中管理システムに存在する従来のネットワークとは異なり、DoubleZeroはデバイス登録、リンク設定、テレメトリ送信をオンチェーンに記録し、ネットワーク状態をすべての参加者が透過的かつ検証可能にします。 -### Service Key -CLI操作を認証するために使用される暗号鍵ペア。これはDoubleZeroスマートコントラクトとやり取りするためのコントリビューターIDです。`~/.config/solana/id.json`に保存されます。 +### サービスキー +CLI操作の認証に使用される暗号鍵ペア。これはDoubleZeroスマートコントラクトと対話するためのコントリビューターIDです。`~/.config/solana/id.json`に保存されます。 -### Metrics Publisher Key -[Telemetry Agent](#telemetry-agent)がブロックチェーンへのメトリクス送信に署名するために使用する暗号鍵ペア。セキュリティ分離のためにService Keyとは別になっています。`~/.config/doublezero/metrics-publisher.json`に保存されます。 +### メトリクスパブリッシャーキー +[Telemetry Agent](#telemetry-agent)がブロックチェーンへのメトリクス送信に署名するために使用する暗号鍵ペア。セキュリティ分離のためにサービスキーとは別に管理されます。`~/.config/doublezero/metrics-publisher.json`に保存されます。 + +### リワードマネージャーキー +コントリビューターの報酬の支払先を制御する暗号鍵ペア。受取ウォレットリストの変更に署名しますが、報酬自体を保持することはありません。[サービスキー](#サービスキー)とは別に管理されます。コントリビューターリポジトリの[報酬管理](https://github.com/malbeclabs/contributors#rewards-management)を参照してください。 --- -## ハードウェア & ソフトウェア +## ハードウェアとソフトウェア ### EOS (Extensible Operating System) -DZDスイッチ上で実行されるAristaのネットワークオペレーティングシステム。コントリビューターは[Config Agent](#config-agent)と[Telemetry Agent](#telemetry-agent)をEOS拡張としてインストールします。 +DZDスイッチ上で動作するAristaのネットワークオペレーティングシステム。コントリビューターはEOS拡張機能として[Config Agent](#config-agent)と[Telemetry Agent](#telemetry-agent)をインストールします。 -### EOS Extension +### EOS拡張機能 Arista EOSスイッチにインストールできるソフトウェアパッケージ。DZエージェントは`.rpm`ファイルとして配布され、`extension`コマンドを介してインストールされます。 \ No newline at end of file diff --git a/docs/glossary.ko.md b/docs/glossary.ko.md index 5fe6112..bc82d5b 100644 --- a/docs/glossary.ko.md +++ b/docs/glossary.ko.md @@ -1,29 +1,29 @@ --- -description: 문서 전반에 사용되는 DoubleZero 전용 용어 정의. +description: 문서 전반에서 사용되는 DoubleZero 관련 용어 정의. --- # 용어집 -이 페이지는 문서 전반에 사용되는 DoubleZero 전용 용어를 정의합니다. +이 페이지에서는 문서 전반에서 사용되는 DoubleZero 관련 용어를 정의합니다. --- ## 네트워크 인프라 ### DZD (DoubleZero Device) -DoubleZero 링크를 종단하고 DoubleZero Agent 소프트웨어를 실행하는 물리적 네트워크 스위칭 하드웨어입니다. DZD는 데이터 센터에 배포되며 라우팅, 패킷 처리 및 사용자 연결 서비스를 제공합니다. 각 DZD는 특정 [하드웨어 사양](contribute.md#dzd-network-hardware)을 충족해야 하며 [Config Agent](#config-agent)와 [Telemetry Agent](#telemetry-agent)를 모두 실행합니다. +DoubleZero 링크를 종단하고 DoubleZero Agent 소프트웨어를 실행하는 물리적 네트워크 스위칭 하드웨어입니다. DZD는 데이터 센터에 배치되며 라우팅, 패킷 처리 및 사용자 연결 서비스를 제공합니다. 각 DZD는 특정 [하드웨어 사양](contribute.md#dzd-network-hardware)을 요구하며, [Config Agent](#config-agent)와 [Telemetry Agent](#telemetry-agent)를 모두 실행합니다. ### DZX (DoubleZero Exchange) -서로 다른 [기여자](#contributor) 링크가 연결되는 메시 네트워크의 상호 연결 지점입니다. DZX는 네트워크 교차점이 발생하는 주요 대도시 지역(예: NYC, LON, TYO)에 위치합니다. 네트워크 기여자는 가장 가까운 DZX에서 자신의 링크를 더 넓은 DoubleZero 메시에 크로스 커넥트해야 합니다. 인터넷 교환소(IX)와 유사한 개념입니다. +서로 다른 [기여자](#contributor) 링크가 브리지되는 메시 네트워크의 상호 연결 지점입니다. DZX는 네트워크 교차가 발생하는 주요 대도시 지역(예: NYC, LON, TYO)에 위치합니다. 네트워크 기여자는 가장 가까운 DZX에서 자신의 링크를 더 넓은 DoubleZero 메시에 크로스 커넥트해야 합니다. Internet Exchange(IX)와 유사한 개념입니다. ### WAN Link -**동일한** 기여자가 운영하는 두 [DZD](#dzd-doublezero-device) 간의 광역 네트워크 링크입니다. WAN 링크는 단일 기여자 인프라 내에서 백본 연결을 제공합니다. +**동일한** 기여자가 운영하는 두 [DZD](#dzd-doublezero-device) 간의 광역 네트워크 링크입니다. WAN 링크는 단일 기여자의 인프라 내에서 백본 연결을 제공합니다. ### DZX Link -**서로 다른** 기여자가 운영하는 [DZD](#dzd-doublezero-device) 간에 [DZX](#dzx-doublezero-exchange)에서 설정되는 링크입니다. DZX 링크는 양측 모두의 명시적 수락이 필요합니다. +[DZX](#dzx-doublezero-exchange)에서 수립되는 **서로 다른** 기여자가 운영하는 [DZD](#dzd-doublezero-device) 간의 링크입니다. DZX 링크는 양 당사자의 명시적 수락이 필요합니다. ### DZ Prefix -오버레이 네트워크 주소 지정을 위해 [DZD](#dzd-doublezero-device)에 할당되는 CIDR 형식의 IP 주소 할당입니다. [디바이스 생성](contribute-provisioning.md#step-32-create-your-device-onchain) 시 `--dz-prefixes` 매개변수를 사용하여 지정합니다. +오버레이 네트워크 주소 지정을 위해 [DZD](#dzd-doublezero-device)에 할당된 CIDR 형식의 IP 주소 할당입니다. [디바이스 생성](contribute-provisioning.md#step-32-create-your-device-onchain) 시 `--dz-prefixes` 매개변수를 사용하여 지정합니다. --- @@ -33,45 +33,45 @@ DoubleZero 링크를 종단하고 DoubleZero Agent 소프트웨어를 실행하 DoubleZero 네트워크에 대한 사용자 연결을 제공하는 [DZD](#dzd-doublezero-device)입니다. Edge 디바이스는 [CYOA](#cyoa-choose-your-own-adventure) 인터페이스를 활용하여 사용자(밸리데이터, RPC 운영자)를 종단하고 네트워크에 연결합니다. ### Transit Device -DoubleZero 네트워크 내에서 백본 연결을 제공하는 [DZD](#dzd-doublezero-device)입니다. Transit 디바이스는 DZD 간에 트래픽을 이동시키지만 사용자 연결을 직접 종단하지는 않습니다. +DoubleZero 네트워크 내에서 백본 연결을 제공하는 [DZD](#dzd-doublezero-device)입니다. Transit 디바이스는 DZD 간 트래픽을 이동시키지만 사용자 연결을 직접 종단하지는 않습니다. ### Hybrid Device -[edge](#edge-device)와 [transit](#transit-device) 기능을 모두 결합하여 사용자 연결과 백본 라우팅을 모두 제공하는 [DZD](#dzd-doublezero-device)입니다. +[Edge](#edge-device)와 [Transit](#transit-device) 기능을 모두 결합한 [DZD](#dzd-doublezero-device)로, 사용자 연결과 백본 라우팅을 모두 제공합니다. --- ## 연결 ### CYOA (Choose Your Own Adventure) -[기여자](#contributor)가 사용자가 DoubleZero 네트워크에 연결할 수 있는 연결 옵션을 등록할 수 있게 하는 인터페이스 유형입니다. CYOA 인터페이스에는 [DIA](#dia-direct-internet-access), GRE 터널, 프라이빗 피어링 등 다양한 방법이 포함됩니다. 구성 세부 사항은 [CYOA 인터페이스 생성](contribute-provisioning.md#step-35-create-cyoa-interface-for-edgehybrid-devices)을 참조하세요. +[기여자](#contributor)가 사용자가 DoubleZero 네트워크에 연결할 수 있는 연결 옵션을 등록할 수 있도록 하는 인터페이스 유형입니다. CYOA 인터페이스에는 [DIA](#dia-direct-internet-access), GRE 터널, 프라이빗 피어링 등 다양한 방법이 포함됩니다. 구성 세부 사항은 [CYOA 인터페이스 생성](contribute-provisioning.md#step-35-create-cyoa-interface-for-edgehybrid-devices)을 참조하세요. ### DIA (Direct Internet Access) -공용 인터넷을 통해 제공되는 연결을 의미하는 표준 네트워킹 용어입니다. DoubleZero에서 DIA는 사용자(밸리데이터, RPC 운영자)가 기존 인터넷 연결을 통해 [DZD](#dzd-doublezero-device)에 연결하는 [CYOA](#cyoa-choose-your-own-adventure) 인터페이스 유형입니다. +공용 인터넷을 통해 제공되는 연결에 대한 표준 네트워킹 용어입니다. DoubleZero에서 DIA는 사용자(밸리데이터, RPC 운영자)가 기존 인터넷 연결을 통해 [DZD](#dzd-doublezero-device)에 연결하는 [CYOA](#cyoa-choose-your-own-adventure) 인터페이스 유형입니다. ### IBRL (Increase Bandwidth Reduce Latency) -밸리데이터와 RPC 노드가 블록체인 클라이언트를 재시작하지 않고 DoubleZero에 연결할 수 있게 하는 연결 모드입니다. IBRL은 기존 공용 IP 주소를 사용하고 가장 가까운 [DZD](#dzd-doublezero-device)에 오버레이 터널을 설정합니다. 설정 방법은 [Mainnet-Beta 연결](DZ%20Mainnet-beta%20Connection.md)을 참조하세요. +밸리데이터와 RPC 노드가 블록체인 클라이언트를 재시작하지 않고 DoubleZero에 연결할 수 있는 연결 모드입니다. IBRL은 기존 공용 IP 주소를 사용하고 가장 가까운 [DZD](#dzd-doublezero-device)에 오버레이 터널을 수립합니다. 설정 방법은 [Mainnet-Beta 연결](DZ%20Mainnet-beta%20Connection.md)을 참조하세요. ### Multicast -DoubleZero가 지원하는 일대다 패킷 전달 방식입니다. Multicast 모드에는 두 가지 역할이 있습니다: **퍼블리셔**(네트워크를 통해 패킷 전송)와 **구독자**(퍼블리셔로부터 패킷 수신). 개발 팀이 효율적인 데이터 배포를 위해 사용합니다. 연결 세부 사항은 [기타 Multicast 연결](Other%20Multicast%20Connection.md)을 참조하세요. +DoubleZero가 지원하는 일대다 패킷 전달 방식입니다. Multicast 모드에는 **publisher**(네트워크 전체에 패킷을 전송)와 **subscriber**(publisher로부터 패킷을 수신)의 두 가지 역할이 있습니다. 개발 팀이 효율적인 데이터 배포에 사용합니다. 연결 세부 사항은 [기타 Multicast 연결](Other%20Multicast%20Connection.md)을 참조하세요. --- ## 소프트웨어 구성 요소 ### doublezerod -사용자 서버(밸리데이터, RPC 노드)에서 실행되는 DoubleZero 데몬 서비스입니다. DoubleZero 네트워크 연결을 관리하고, 터널 설정을 처리하며, [DZD](#dzd-doublezero-device)와의 연결을 유지합니다. systemd를 통해 구성되며 [`doublezero`](#doublezero-cli) CLI를 통해 제어됩니다. +사용자 서버(밸리데이터, RPC 노드)에서 실행되는 DoubleZero 데몬 서비스입니다. DoubleZero 네트워크 연결을 관리하고, 터널 수립을 처리하며, [DZD](#dzd-doublezero-device)와의 연결을 유지합니다. systemd를 통해 구성되고 [`doublezero`](#doublezero-cli) CLI를 통해 제어됩니다. ### doublezero (CLI) DoubleZero 네트워크와 상호 작용하기 위한 명령줄 인터페이스입니다. 연결, ID 관리, 상태 확인 및 관리 작업에 사용됩니다. [`doublezerod`](#doublezerod) 데몬과 통신합니다. ### Config Agent -[DZD](#dzd-doublezero-device)에서 실행되며 디바이스 구성을 관리하는 소프트웨어 에이전트입니다. [Controller](#controller) 서비스에서 구성을 읽고 디바이스에 변경 사항을 적용합니다. 설정은 [Config Agent 설치](contribute-provisioning.md#step-44-install-config-agent)를 참조하세요. +[DZD](#dzd-doublezero-device)에서 실행되며 디바이스 구성을 관리하는 소프트웨어 에이전트입니다. [Controller](#controller) 서비스에서 구성을 읽고 디바이스에 변경 사항을 적용합니다. 설정 방법은 [Config Agent 설치](contribute-provisioning.md#step-44-install-config-agent)를 참조하세요. ### Telemetry Agent -[DZD](#dzd-doublezero-device)에서 실행되며 성능 메트릭(지연 시간, 지터, 패킷 손실)을 수집하고 DoubleZero 레저에 제출하는 소프트웨어 에이전트입니다. 설정은 [Telemetry Agent 설치](contribute-provisioning.md#step-45-install-telemetry-agent)를 참조하세요. +[DZD](#dzd-doublezero-device)에서 실행되며 성능 메트릭(지연 시간, 지터, 패킷 손실)을 수집하고 DoubleZero 원장에 제출하는 소프트웨어 에이전트입니다. 설정 방법은 [Telemetry Agent 설치](contribute-provisioning.md#step-45-install-telemetry-agent)를 참조하세요. ### Controller -[DZD](#dzd-doublezero-device) 에이전트에 구성을 제공하는 서비스입니다. Controller는 DoubleZero 레저의 [온체인](#onchain) 상태에서 디바이스 구성을 도출합니다. +[DZD](#dzd-doublezero-device) 에이전트에 구성을 제공하는 서비스입니다. Controller는 DoubleZero 원장의 [온체인](#onchain) 상태에서 디바이스 구성을 도출합니다. --- @@ -81,45 +81,45 @@ DoubleZero 네트워크와 상호 작용하기 위한 명령줄 인터페이스 링크의 정상 운영 상태입니다. 트래픽이 링크를 통해 흐르며 라우팅 결정에 참여합니다. ### Soft-Drained -특정 링크에서 트래픽이 억제되는 유지 보수 상태입니다. 정상적인 유지 보수 기간에 사용됩니다. [activated](#activated) 또는 [hard-drained](#hard-drained)로 전환할 수 있습니다. +특정 링크에서 트래픽이 비권장되는 유지보수 상태입니다. 원활한 유지보수 기간에 사용됩니다. [activated](#activated) 또는 [hard-drained](#hard-drained)로 전환할 수 있습니다. ### Hard-Drained -링크가 서비스에서 완전히 제거되는 유지 보수 상태입니다. 링크를 통해 트래픽이 흐르지 않습니다. [activated](#activated)로 복귀하려면 먼저 [soft-drained](#soft-drained)로 전환해야 합니다. +링크가 서비스에서 완전히 제거된 유지보수 상태입니다. 링크를 통해 트래픽이 흐르지 않습니다. [activated](#activated)로 돌아가려면 먼저 [soft-drained](#soft-drained)로 전환해야 합니다. --- ## 조직 및 토큰 ### DZF (DoubleZero Foundation) -DoubleZero Foundation은 DoubleZero 네트워크의 개발, 탈중앙화, 보안 및 채택을 지원하기 위해 설립된 회원 없는 비영리 케이맨 제도 재단 법인입니다. +DoubleZero Foundation은 DoubleZero 네트워크의 개발, 탈중앙화, 보안 및 채택을 지원하기 위해 설립된 회원 없는 비영리 케이맨 제도 재단법인입니다. ### 2Z Token DoubleZero 네트워크의 네이티브 토큰입니다. 밸리데이터 수수료 지불에 사용되며 [기여자](#contributor)에게 보상으로 분배됩니다. 밸리데이터는 온체인 스왑 프로그램을 통해 2Z로 수수료를 지불할 수 있습니다. [SOL을 2Z로 스왑하기](Swapping-sol-to-2z.md)를 참조하세요. ### Contributor -DoubleZero 네트워크에 대역폭과 하드웨어를 기여하는 네트워크 인프라 제공자입니다. 기여자는 [DZD](#dzd-doublezero-device)를 운영하고, [WAN](#wan-link) 및 [DZX](#dzx-link) 링크를 제공하며, 기여에 대한 [2Z](#2z-token) 토큰 인센티브를 받습니다. 시작하려면 [기여자 문서](contribute-overview.md)를 참조하세요. +DoubleZero 네트워크에 대역폭과 하드웨어를 기여하는 네트워크 인프라 제공자입니다. 기여자는 [DZD](#dzd-doublezero-device)를 운영하고, [WAN](#wan-link) 및 [DZX](#dzx-link) 링크를 제공하며, 기여에 대해 [2Z](#2z-token) 토큰 인센티브를 받습니다. 시작하려면 [기여자 문서](contribute-overview.md)를 참조하세요. --- ## 네트워킹 개념 ### MTU (Maximum Transmission Unit) -네트워크 링크를 통해 전송할 수 있는 최대 패킷 크기(바이트)입니다. DoubleZero WAN 링크는 효율성을 위해 일반적으로 MTU 9000(점보 프레임)을 사용합니다. +네트워크 링크를 통해 전송할 수 있는 최대 패킷 크기(바이트 단위)입니다. DoubleZero WAN 링크는 효율성을 위해 일반적으로 MTU 9000(점보 프레임)을 사용합니다. ### VRF (Virtual Routing and Forwarding) -동일한 물리적 라우터에 여러 격리된 라우팅 테이블을 존재할 수 있게 하는 기술입니다. 기여자는 스위치 관리 트래픽을 프로덕션 트래픽과 격리하기 위해 별도의 관리 VRF를 사용하는 경우가 많습니다. +동일한 물리적 라우터에 여러 격리된 라우팅 테이블이 존재할 수 있게 하는 기술입니다. 기여자는 종종 스위치 관리 트래픽을 프로덕션 트래픽으로부터 격리하기 위해 별도의 관리 VRF를 사용합니다. ### GRE (Generic Routing Encapsulation) -네트워크 패킷을 IP 패킷 내에 캡슐화하는 터널링 프로토콜입니다. [IBRL](#ibrl-increase-bandwidth-reduce-latency) 및 [CYOA](#cyoa-choose-your-own-adventure) 연결에서 사용자와 DZD 간에 오버레이 터널을 생성하는 데 사용됩니다. +네트워크 패킷을 IP 패킷 내에 캡슐화하는 터널링 프로토콜입니다. [IBRL](#ibrl-increase-bandwidth-reduce-latency) 및 [CYOA](#cyoa-choose-your-own-adventure) 연결에서 사용자와 DZD 간의 오버레이 터널을 생성하는 데 사용됩니다. ### BGP (Border Gateway Protocol) -인터넷에서 네트워크 간 라우팅 정보를 교환하는 데 사용되는 라우팅 프로토콜입니다. DoubleZero는 ASN 65342로 내부적으로 BGP를 사용합니다. +인터넷상의 네트워크 간 라우팅 정보를 교환하는 데 사용되는 라우팅 프로토콜입니다. DoubleZero는 내부적으로 ASN 65342를 사용하여 BGP를 운용합니다. ### ASN (Autonomous System Number) -BGP 라우팅을 위해 네트워크에 할당되는 고유 식별자입니다. 모든 DoubleZero 디바이스는 내부 BGP 프로세스에 **ASN 65342**를 사용합니다. +BGP 라우팅을 위해 네트워크에 할당된 고유 식별자입니다. 모든 DoubleZero 디바이스는 내부 BGP 프로세스에 **ASN 65342**를 사용합니다. ### Loopback Interface -관리 및 라우팅 목적으로 라우터/스위치에서 사용되는 가상 네트워크 인터페이스입니다. DZD는 내부 라우팅을 위해 Loopback255(VPNv4)와 Loopback256(IPv4)을 사용합니다. +관리 및 라우팅 목적으로 사용되는 라우터/스위치의 가상 네트워크 인터페이스입니다. DZD는 내부 라우팅을 위해 Loopback255(VPNv4)와 Loopback256(IPv4)을 사용합니다. ### CIDR (Classless Inter-Domain Routing) IP 주소 범위를 지정하기 위한 표기법입니다. 형식은 `IP/prefix-length`이며, 프리픽스 길이는 네트워크 크기를 나타냅니다(예: `/29` = 8개 주소, `/24` = 256개 주소). @@ -128,46 +128,49 @@ IP 주소 범위를 지정하기 위한 표기법입니다. 형식은 `IP/prefix 시간에 따른 패킷 지연 시간의 변동입니다. 낮은 지터는 실시간 애플리케이션에 매우 중요합니다. ### RTT (Round-Trip Time) -패킷이 소스에서 목적지로 이동하고 돌아오는 데 걸리는 시간입니다. 디바이스 간 네트워크 지연 시간을 측정하는 데 사용됩니다. +패킷이 출발지에서 목적지까지 이동한 후 다시 돌아오는 데 걸리는 시간입니다. 디바이스 간 네트워크 지연 시간을 측정하는 데 사용됩니다. ### TWAMP (Two-Way Active Measurement Protocol) 지연 시간 및 패킷 손실과 같은 네트워크 성능 메트릭을 측정하기 위한 프로토콜입니다. [Telemetry Agent](#telemetry-agent)는 DZD 간 메트릭을 수집하기 위해 TWAMP를 사용합니다. ### IS-IS (Intermediate System to Intermediate System) -DoubleZero 네트워크에서 내부적으로 사용되는 링크 상태 라우팅 프로토콜입니다. IS-IS 메트릭은 [링크 드레이닝](#soft-drained) 작업 중에 조정됩니다. +DoubleZero 네트워크 내부에서 사용되는 링크 상태 라우팅 프로토콜입니다. IS-IS 메트릭은 [링크 드레이닝](#soft-drained) 작업 중에 조정됩니다. --- -## 지리적 위치 확인 +## 위치 확인 ### Geolocation -지연 시간 측정을 사용하여 디바이스의 물리적 위치를 검증하는 DoubleZero 서비스입니다. 알려진 위치의 인프라([DZD](#dzd-doublezero-device))와 대상 디바이스 간의 [RTT](#rtt-round-trip-time) 측정은 디바이스가 기준점에서 특정 거리 이내에 있다는 암호학적 서명된 증명을 제공합니다. 측정값의 온체인 기록은 향후 릴리스에서 계획되어 있습니다. 사용자 문서는 [Geolocation](geolocation.md)을 참조하세요. +지연 시간 측정을 사용하여 디바이스의 물리적 위치를 검증하는 DoubleZero 서비스입니다. 알려진 위치의 인프라([DZD](#dzd-doublezero-device))와 대상 디바이스 간의 [RTT](#rtt-round-trip-time) 측정은 디바이스가 기준점으로부터 특정 거리 내에 있다는 암호학적으로 서명된 증명을 제공합니다. 측정값의 온체인 기록은 향후 릴리스에서 계획되어 있습니다. 사용자 문서는 [Geolocation](geolocation.md)을 참조하세요. ### geoProbe -[Geolocation](#geolocation) 시스템에서 지연 시간 측정의 중간 매개체 역할을 하는 베어 메탈 서버입니다. geoProbe는 [DZD](#dzd-doublezero-device)에서 ~1ms 이내에 위치하며, 상위 DZD로부터 서명된 LocationOffset을 수신하고, [TWAMP](#twamp-two-way-active-measurement-protocol), 서명된 TWAMP 또는 ICMP echo를 통해 대상 디바이스까지의 [RTT](#rtt-round-trip-time)를 측정합니다. 각 geoProbe는 [온체인](#onchain)에 등록되어 하나 이상의 상위 DZD에 연결됩니다. 기여자 문서는 [Geoprobe 배포](contribute-geolocation.md)를 참조하세요. +[Geolocation](#geolocation) 시스템에서 지연 시간 측정을 위한 중계 역할을 하는 베어 메탈 서버입니다. geoProbe는 [DZD](#dzd-doublezero-device)로부터 ~1ms 이내에 위치하며, 상위 DZD로부터 서명된 LocationOffset을 수신하고, [TWAMP](#twamp-two-way-active-measurement-protocol), 서명된 TWAMP 또는 ICMP echo를 통해 대상 디바이스까지의 [RTT](#rtt-round-trip-time)를 측정합니다. 각 geoProbe는 [온체인](#onchain)에 등록되며 하나 이상의 상위 DZD에 연결됩니다. 기여자 문서는 [Geoprobe 배포](contribute-geolocation.md)를 참조하세요. ### LocationOffset -[DZD](#dzd-doublezero-device)의 지리적 위치(위도 및 경도)와 엔티티 간(DZD↔Probe 또는 Probe↔Target)의 지연 시간 관계 체인을 포함하는 서명된 데이터 구조입니다. LocationOffset은 Ed25519로 서명되며 측정 체인을 통해 UDP로 전송됩니다. 복합 오프셋에는 이전 측정에 대한 참조가 포함되어 감사 가능한 추적 경로를 생성합니다. +[DZD](#dzd-doublezero-device)의 지리적 위치(위도 및 경도)와 엔티티 간(DZD↔Probe 또는 Probe↔Target)의 지연 시간 관계 체인을 포함하는 서명된 데이터 구조입니다. LocationOffset은 Ed25519로 서명되며 측정 체인을 통해 UDP로 전송됩니다. 복합 오프셋은 이전 측정에 대한 참조를 포함하여 감사 가능한 추적 경로를 생성합니다. --- ## 블록체인 및 키 ### Onchain -DoubleZero 컨텍스트에서 온체인은 DoubleZero 레저에 기록되는 데이터 및 작업을 의미합니다. 디바이스 및 링크 구성이 중앙 집중식 관리 시스템에 존재하는 기존 네트워크와 달리, DoubleZero는 디바이스 등록, 링크 구성 및 텔레메트리 제출을 온체인에 기록하여 모든 참여자가 네트워크 상태를 투명하고 검증 가능하게 합니다. +DoubleZero 맥락에서 온체인은 DoubleZero 원장에 기록된 데이터와 작업을 의미합니다. 디바이스 및 링크 구성이 중앙 집중식 관리 시스템에 존재하는 기존 네트워크와 달리, DoubleZero는 디바이스 등록, 링크 구성 및 텔레메트리 제출을 온체인에 기록하여 모든 참여자가 네트워크 상태를 투명하고 검증 가능하게 합니다. ### Service Key -CLI 작업을 인증하는 데 사용되는 암호화 키 쌍입니다. DoubleZero 스마트 컨트랙트와 상호 작용하기 위한 기여자 ID입니다. `~/.config/solana/id.json`에 저장됩니다. +CLI 작업을 인증하는 데 사용되는 암호화 키쌍입니다. DoubleZero 스마트 컨트랙트와 상호 작용하기 위한 기여자 ID입니다. `~/.config/solana/id.json`에 저장됩니다. ### Metrics Publisher Key -[Telemetry Agent](#telemetry-agent)가 블록체인에 메트릭 제출을 서명하는 데 사용하는 암호화 키 쌍입니다. 보안 격리를 위해 서비스 키와 분리되어 있습니다. `~/.config/doublezero/metrics-publisher.json`에 저장됩니다. +[Telemetry Agent](#telemetry-agent)가 블록체인에 메트릭 제출에 서명하는 데 사용하는 암호화 키쌍입니다. 보안 격리를 위해 Service Key와 분리되어 있습니다. `~/.config/doublezero/metrics-publisher.json`에 저장됩니다. + +### Rewards Manager Key +기여자의 보상이 지급되는 위치를 제어하는 암호화 키쌍입니다. 수신 지갑 목록의 변경에 서명하지만 보상 자체를 보유하지는 않습니다. [Service Key](#service-key)와 분리하여 보관합니다. 기여자 리포지토리의 [보상 관리](https://github.com/malbeclabs/contributors#rewards-management)를 참조하세요. --- ## 하드웨어 및 소프트웨어 ### EOS (Extensible Operating System) -DZD 스위치에서 실행되는 Arista의 네트워크 운영 체제입니다. 기여자는 [Config Agent](#config-agent)와 [Telemetry Agent](#telemetry-agent)를 EOS 확장 기능으로 설치합니다. +DZD 스위치에서 실행되는 Arista의 네트워크 운영 체제입니다. 기여자는 [Config Agent](#config-agent)와 [Telemetry Agent](#telemetry-agent)를 EOS 확장으로 설치합니다. ### EOS Extension Arista EOS 스위치에 설치할 수 있는 소프트웨어 패키지입니다. DZ 에이전트는 `.rpm` 파일로 배포되며 `extension` 명령을 통해 설치됩니다. \ No newline at end of file diff --git a/docs/glossary.md b/docs/glossary.md index 7c23ddf..2aea561 100644 --- a/docs/glossary.md +++ b/docs/glossary.md @@ -162,6 +162,9 @@ A cryptographic keypair used to authenticate CLI operations. This is your contri ### Metrics Publisher Key A cryptographic keypair used by the [Telemetry Agent](#telemetry-agent) to sign metric submissions to the blockchain. Separate from the service key for security isolation. Stored at `~/.config/doublezero/metrics-publisher.json`. +### Rewards Manager Key +A cryptographic keypair that controls where a contributor's rewards are paid. It signs changes to the list of recipient wallets but never holds rewards itself. Kept separate from the [Service Key](#service-key). See [Rewards Management](https://github.com/malbeclabs/contributors#rewards-management) in the contributors repository. + --- ## Hardware & Software diff --git a/docs/glossary.pt.md b/docs/glossary.pt.md index 796531f..25a9855 100644 --- a/docs/glossary.pt.md +++ b/docs/glossary.pt.md @@ -11,32 +11,32 @@ Esta página define a terminologia específica do DoubleZero usada ao longo da d ## Infraestrutura de Rede ### DZD (DoubleZero Device) -O hardware físico de comutação de rede que termina os links DoubleZero e executa o software DoubleZero Agent. Os DZDs são implantados em data centers e fornecem serviços de roteamento, processamento de pacotes e conectividade de usuários. Cada DZD requer [especificações de hardware](contribute.md#dzd-network-hardware) específicas e executa tanto o [Config Agent](#config-agent) quanto o [Telemetry Agent](#telemetry-agent). +O hardware físico de comutação de rede que termina os links do DoubleZero e executa o software DoubleZero Agent. Os DZDs são implantados em data centers e fornecem serviços de roteamento, processamento de pacotes e conectividade de usuários. Cada DZD requer [especificações de hardware](contribute.md#dzd-network-hardware) específicas e executa tanto o [Config Agent](#config-agent) quanto o [Telemetry Agent](#telemetry-agent). ### DZX (DoubleZero Exchange) -Pontos de interconexão na rede mesh onde diferentes links de [contribuidores](#contributor) são interligados. Os DZXs estão localizados em grandes áreas metropolitanas (ex.: NYC, LON, TYO) onde ocorrem interseções de rede. Os contribuidores de rede devem conectar seus links à malha DoubleZero mais ampla no DZX mais próximo. Conceito similar a um Internet Exchange (IX). +Pontos de interconexão na rede mesh onde links de diferentes [contribuidores](#contributor) são interligados. Os DZXs estão localizados em grandes áreas metropolitanas (por exemplo, NYC, LON, TYO) onde ocorrem interseções de rede. Os contribuidores de rede devem fazer a conexão cruzada de seus links na mesh mais ampla do DoubleZero no DZX mais próximo. Conceito semelhante a um Internet Exchange (IX). ### WAN Link Um link de Rede de Longa Distância (Wide Area Network) entre dois [DZDs](#dzd-doublezero-device) operados pelo **mesmo** contribuidor. Os WAN links fornecem conectividade de backbone dentro da infraestrutura de um único contribuidor. ### DZX Link -Um link entre [DZDs](#dzd-doublezero-device) operados por contribuidores **diferentes**, estabelecido em um [DZX](#dzx-doublezero-exchange). Os DZX links requerem aceitação explícita de ambas as partes. +Um link entre [DZDs](#dzd-doublezero-device) operados por contribuidores **diferentes**, estabelecido em um [DZX](#dzx-doublezero-exchange). Os DZX links exigem aceitação explícita de ambas as partes. ### DZ Prefix -Alocações de endereço IP em formato CIDR atribuídas a um [DZD](#dzd-doublezero-device) para endereçamento de rede overlay. Especificado durante a [criação do dispositivo](contribute-provisioning.md#step-32-create-your-device-onchain) usando o parâmetro `--dz-prefixes`. +Alocações de endereços IP em formato CIDR atribuídas a um [DZD](#dzd-doublezero-device) para endereçamento de rede overlay. Especificadas durante a [criação do dispositivo](contribute-provisioning.md#step-32-create-your-device-onchain) usando o parâmetro `--dz-prefixes`. --- ## Tipos de Dispositivo ### Edge Device -Um [DZD](#dzd-doublezero-device) que fornece conectividade de usuários à rede DoubleZero. Os dispositivos edge utilizam interfaces [CYOA](#cyoa-choose-your-own-adventure) para terminar usuários (validadores, operadores RPC) e conectá-los à rede. +Um [DZD](#dzd-doublezero-device) que fornece conectividade de usuário à rede DoubleZero. Os dispositivos edge utilizam interfaces [CYOA](#cyoa-choose-your-own-adventure) para terminar usuários (validadores, operadores RPC) e conectá-los à rede. ### Transit Device Um [DZD](#dzd-doublezero-device) que fornece conectividade de backbone dentro da rede DoubleZero. Os dispositivos transit movem tráfego entre DZDs, mas não terminam conexões de usuários diretamente. ### Hybrid Device -Um [DZD](#dzd-doublezero-device) que combina as funcionalidades de [edge](#edge-device) e [transit](#transit-device), fornecendo tanto conectividade de usuários quanto roteamento de backbone. +Um [DZD](#dzd-doublezero-device) que combina as funcionalidades de [edge](#edge-device) e [transit](#transit-device), fornecendo tanto conectividade de usuário quanto roteamento de backbone. --- @@ -46,20 +46,20 @@ Um [DZD](#dzd-doublezero-device) que combina as funcionalidades de [edge](#edge- Tipos de interface que permitem aos [contribuidores](#contributor) registrar opções de conectividade para que os usuários se conectem à rede DoubleZero. As interfaces CYOA incluem vários métodos como [DIA](#dia-direct-internet-access), túneis GRE e peering privado. Consulte [Criando Interfaces CYOA](contribute-provisioning.md#step-35-create-cyoa-interface-for-edgehybrid-devices) para detalhes de configuração. ### DIA (Direct Internet Access) -Um termo padrão de rede para conectividade fornecida pela internet pública. No DoubleZero, DIA é um tipo de interface [CYOA](#cyoa-choose-your-own-adventure) onde os usuários (validadores, operadores RPC) se conectam a um [DZD](#dzd-doublezero-device) por meio de sua conexão de internet existente. +Um termo padrão de redes para conectividade fornecida pela internet pública. No DoubleZero, DIA é um tipo de interface [CYOA](#cyoa-choose-your-own-adventure) onde os usuários (validadores, operadores RPC) se conectam a um [DZD](#dzd-doublezero-device) através de sua conexão de internet existente. ### IBRL (Increase Bandwidth Reduce Latency) Um modo de conexão que permite que validadores e nós RPC se conectem ao DoubleZero sem reiniciar seus clientes blockchain. O IBRL usa o endereço IP público existente e estabelece um túnel overlay para o [DZD](#dzd-doublezero-device) mais próximo. Consulte [Conexão Mainnet-Beta](DZ%20Mainnet-beta%20Connection.md) para instruções de configuração. ### Multicast -Um método de entrega de pacotes de um-para-muitos suportado pelo DoubleZero. O modo multicast tem duas funções: **publisher** (envia pacotes pela rede) e **subscriber** (recebe pacotes do publisher). Usado por equipes de desenvolvimento para distribuição eficiente de dados. Consulte [Outra Conexão Multicast](Other%20Multicast%20Connection.md) para detalhes de conexão. +Um método de entrega de pacotes de um para muitos suportado pelo DoubleZero. O modo multicast tem duas funções: **publisher** (envia pacotes pela rede) e **subscriber** (recebe pacotes do publisher). Usado por equipes de desenvolvimento para distribuição eficiente de dados. Consulte [Outra Conexão Multicast](Other%20Multicast%20Connection.md) para detalhes de conexão. --- ## Componentes de Software ### doublezerod -O serviço daemon do DoubleZero que executa nos servidores dos usuários (validadores, nós RPC). Ele gerencia a conexão com a rede DoubleZero, lida com o estabelecimento de túneis e mantém a conectividade com os [DZDs](#dzd-doublezero-device). Configurado via systemd e controlado através da CLI [`doublezero`](#doublezero-cli). +O serviço daemon do DoubleZero que é executado nos servidores dos usuários (validadores, nós RPC). Ele gerencia a conexão com a rede DoubleZero, lida com o estabelecimento de túneis e mantém a conectividade com os [DZDs](#dzd-doublezero-device). Configurado via systemd e controlado através do CLI [`doublezero`](#doublezero-cli). ### doublezero (CLI) A interface de linha de comando para interagir com a rede DoubleZero. Usada para conectar, gerenciar identidades, verificar status e operações administrativas. Comunica-se com o daemon [`doublezerod`](#doublezerod). @@ -68,7 +68,7 @@ A interface de linha de comando para interagir com a rede DoubleZero. Usada para Agente de software executado nos [DZDs](#dzd-doublezero-device) que gerencia a configuração do dispositivo. Lê a configuração do serviço [Controller](#controller) e aplica as alterações ao dispositivo. Consulte [Instalação do Config Agent](contribute-provisioning.md#step-44-install-config-agent) para configuração. ### Telemetry Agent -Agente de software executado nos [DZDs](#dzd-doublezero-device) que coleta métricas de desempenho (latência, jitter, perda de pacotes) e as envia ao ledger do DoubleZero. Consulte [Instalação do Telemetry Agent](contribute-provisioning.md#step-45-install-telemetry-agent) para configuração. +Agente de software executado nos [DZDs](#dzd-doublezero-device) que coleta métricas de desempenho (latência, jitter, perda de pacotes) e as submete ao ledger do DoubleZero. Consulte [Instalação do Telemetry Agent](contribute-provisioning.md#step-45-install-telemetry-agent) para configuração. ### Controller Um serviço que fornece configuração aos agentes dos [DZDs](#dzd-doublezero-device). O Controller deriva as configurações dos dispositivos a partir do estado [onchain](#onchain) no ledger do DoubleZero. @@ -84,17 +84,17 @@ O estado operacional normal de um link. O tráfego flui pelo link e ele particip Um estado de manutenção onde o tráfego será desencorajado em um link específico. Usado para janelas de manutenção gradual. Pode transicionar para [activated](#activated) ou [hard-drained](#hard-drained). ### Hard-Drained -Um estado de manutenção onde o link é completamente removido do serviço. Nenhum tráfego flui pelo link. Deve transicionar para [soft-drained](#soft-drained) antes de retornar a [activated](#activated). +Um estado de manutenção onde o link é completamente removido do serviço. Nenhum tráfego flui pelo link. Deve transicionar para [soft-drained](#soft-drained) antes de retornar ao estado [activated](#activated). --- ## Organizações e Tokens ### DZF (DoubleZero Foundation) -A DoubleZero Foundation é uma empresa-fundação sem membros, sem fins lucrativos, das Ilhas Cayman, que foi formada para apoiar o desenvolvimento, descentralização, segurança e adoção da rede DoubleZero. +A DoubleZero Foundation é uma fundação sem membros, constituída como empresa sem fins lucrativos nas Ilhas Cayman, formada para apoiar o desenvolvimento, descentralização, segurança e adoção da rede DoubleZero. ### 2Z Token -O token nativo da rede DoubleZero. Usado para pagar taxas de validadores e distribuído como recompensas aos [contribuidores](#contributor). Os validadores podem pagar taxas em 2Z por meio de um programa de swap onchain. Consulte [Trocando SOL por 2Z](Swapping-sol-to-2z.md). +O token nativo da rede DoubleZero. Usado para pagar taxas de validadores e distribuído como recompensas aos [contribuidores](#contributor). Os validadores podem pagar taxas em 2Z através de um programa de swap onchain. Consulte [Trocando SOL por 2Z](Swapping-sol-to-2z.md). ### Contributor Um provedor de infraestrutura de rede que contribui com largura de banda e hardware para a rede DoubleZero. Os contribuidores operam [DZDs](#dzd-doublezero-device), fornecem links [WAN](#wan-link) e [DZX](#dzx-link), e recebem incentivos em tokens [2Z](#2z-token) por sua contribuição. Consulte a [Documentação para Contribuidores](contribute-overview.md) para começar. @@ -107,7 +107,7 @@ Um provedor de infraestrutura de rede que contribui com largura de banda e hardw O maior tamanho de pacote (em bytes) que pode ser transmitido por um link de rede. Os WAN links do DoubleZero tipicamente usam MTU 9000 (jumbo frames) para eficiência. ### VRF (Virtual Routing and Forwarding) -Uma tecnologia que permite que múltiplas tabelas de roteamento isoladas existam no mesmo roteador físico. Os contribuidores frequentemente usam um VRF de gerenciamento separado para isolar o tráfego de gerenciamento do switch do tráfego de produção. +Uma tecnologia que permite que múltiplas tabelas de roteamento isoladas existam no mesmo roteador físico. Os contribuidores frequentemente usam uma VRF de gerenciamento separada para isolar o tráfego de gerenciamento do switch do tráfego de produção. ### GRE (Generic Routing Encapsulation) Um protocolo de tunelamento que encapsula pacotes de rede dentro de pacotes IP. Usado por conexões [IBRL](#ibrl-increase-bandwidth-reduce-latency) e [CYOA](#cyoa-choose-your-own-adventure) para criar túneis overlay entre usuários e DZDs. @@ -122,7 +122,7 @@ Um identificador único atribuído a uma rede para roteamento BGP. Todos os disp Uma interface de rede virtual em um roteador/switch usada para fins de gerenciamento e roteamento. Os DZDs usam Loopback255 (VPNv4) e Loopback256 (IPv4) para roteamento interno. ### CIDR (Classless Inter-Domain Routing) -Uma notação para especificar intervalos de endereços IP. O formato é `IP/prefix-length` onde o comprimento do prefixo indica o tamanho da rede (ex.: `/29` = 8 endereços, `/24` = 256 endereços). +Uma notação para especificar faixas de endereços IP. O formato é `IP/prefix-length` onde o comprimento do prefixo indica o tamanho da rede (por exemplo, `/29` = 8 endereços, `/24` = 256 endereços). ### Jitter Variação na latência dos pacotes ao longo do tempo. Baixo jitter é crítico para aplicações em tempo real. @@ -141,33 +141,36 @@ Um protocolo de roteamento de estado de link usado internamente pela rede Double ## Geolocalização ### Geolocation -Um serviço do DoubleZero que verifica a localização física de dispositivos usando medições de latência. Medições de [RTT](#rtt-round-trip-time) entre infraestrutura de localização conhecida ([DZDs](#dzd-doublezero-device)) e dispositivos-alvo fornecem prova assinada criptograficamente de que um dispositivo está dentro de uma certa distância de um ponto de referência. O registro onchain das medições está planejado para uma versão futura. Consulte [Geolocalização](geolocation.md) para documentação do usuário. +Um serviço do DoubleZero que verifica a localização física dos dispositivos usando medições de latência. Medições de [RTT](#rtt-round-trip-time) entre infraestrutura de localização conhecida ([DZDs](#dzd-doublezero-device)) e dispositivos alvo fornecem prova assinada criptograficamente de que um dispositivo está dentro de uma certa distância de um ponto de referência. O registro onchain das medições está planejado para uma versão futura. Consulte [Geolocalização](geolocation.md) para documentação do usuário. ### geoProbe -Um servidor bare metal que atua como intermediário para medições de latência no sistema de [Geolocalização](#geolocation). Os geoProbes estão localizados a ~1ms de um [DZD](#dzd-doublezero-device), recebem LocationOffsets assinados dos DZDs pais e medem [RTT](#rtt-round-trip-time) para dispositivos-alvo via [TWAMP](#twamp-two-way-active-measurement-protocol), TWAMP assinado ou ICMP echo. Cada geoProbe é registrado [onchain](#onchain) e vinculado a um ou mais DZDs pais. Consulte [Implantação de Geoprobe](contribute-geolocation.md) para documentação de contribuidores. +Um servidor bare metal que atua como intermediário para medições de latência no sistema de [Geolocalização](#geolocation). Os geoProbes estão localizados a ~1ms de um [DZD](#dzd-doublezero-device), recebem LocationOffsets assinados dos DZDs pai e medem o [RTT](#rtt-round-trip-time) para dispositivos alvo via [TWAMP](#twamp-two-way-active-measurement-protocol), TWAMP assinado ou ICMP echo. Cada geoProbe é registrado [onchain](#onchain) e vinculado a um ou mais DZDs pai. Consulte [Implantação de Geoprobe](contribute-geolocation.md) para documentação de contribuidores. ### LocationOffset -Uma estrutura de dados assinada contendo a localização geográfica de um [DZD](#dzd-doublezero-device) (latitude e longitude) e uma cadeia de relações de latência entre entidades (DZD↔Probe ou Probe↔Target). Os LocationOffsets são assinados com Ed25519 e enviados via UDP pela cadeia de medição. Offsets compostos incluem referências a medições anteriores, criando uma trilha auditável. +Uma estrutura de dados assinada contendo a localização geográfica de um [DZD](#dzd-doublezero-device) (latitude e longitude) e uma cadeia de relações de latência entre entidades (DZD↔Probe ou Probe↔Alvo). Os LocationOffsets são assinados com Ed25519 e enviados via UDP através da cadeia de medição. Offsets compostos incluem referências a medições anteriores, criando uma trilha auditável. --- ## Blockchain e Chaves ### Onchain -No contexto do DoubleZero, onchain refere-se a dados e operações registrados no ledger do DoubleZero. Diferentemente das redes tradicionais onde configurações de dispositivos e links residem em sistemas de gerenciamento centralizados, o DoubleZero registra registros de dispositivos, configurações de links e submissões de telemetria onchain — tornando o estado da rede transparente e verificável por todos os participantes. +No contexto do DoubleZero, onchain refere-se a dados e operações registrados no ledger do DoubleZero. Diferentemente de redes tradicionais onde as configurações de dispositivos e links residem em sistemas de gerenciamento centralizados, o DoubleZero registra cadastros de dispositivos, configurações de links e submissões de telemetria onchain — tornando o estado da rede transparente e verificável por todos os participantes. ### Service Key -Um par de chaves criptográficas usado para autenticar operações da CLI. Esta é a sua identidade de contribuidor para interagir com o smart contract do DoubleZero. Armazenada em `~/.config/solana/id.json`. +Um par de chaves criptográficas usado para autenticar operações do CLI. Esta é sua identidade de contribuidor para interagir com o smart contract do DoubleZero. Armazenada em `~/.config/solana/id.json`. ### Metrics Publisher Key Um par de chaves criptográficas usado pelo [Telemetry Agent](#telemetry-agent) para assinar submissões de métricas ao blockchain. Separada da service key para isolamento de segurança. Armazenada em `~/.config/doublezero/metrics-publisher.json`. +### Rewards Manager Key +Um par de chaves criptográficas que controla para onde as recompensas de um contribuidor são pagas. Ela assina alterações na lista de carteiras destinatárias, mas nunca detém recompensas em si. Mantida separada da [Service Key](#service-key). Consulte [Gerenciamento de Recompensas](https://github.com/malbeclabs/contributors#rewards-management) no repositório de contribuidores. + --- ## Hardware e Software ### EOS (Extensible Operating System) -O sistema operacional de rede da Arista que roda nos switches DZD. Os contribuidores instalam o [Config Agent](#config-agent) e o [Telemetry Agent](#telemetry-agent) como extensões EOS. +O sistema operacional de rede da Arista que é executado nos switches DZD. Os contribuidores instalam o [Config Agent](#config-agent) e o [Telemetry Agent](#telemetry-agent) como extensões EOS. ### EOS Extension -Um pacote de software que pode ser instalado em switches Arista EOS. Os agentes DZ são distribuídos como arquivos `.rpm` e instalados via o comando `extension`. \ No newline at end of file +Um pacote de software que pode ser instalado nos switches Arista EOS. Os agentes DZ são distribuídos como arquivos `.rpm` e instalados via o comando `extension`. \ No newline at end of file diff --git a/docs/glossary.zh.md b/docs/glossary.zh.md index 7452def..254c620 100644 --- a/docs/glossary.zh.md +++ b/docs/glossary.zh.md @@ -1,77 +1,77 @@ --- -description: DoubleZero 文档中使用的特定术语定义。 +description: DoubleZero 专用术语的定义,贯穿整个文档使用。 --- # 术语表 -本页定义了文档中使用的 DoubleZero 特定术语。 +本页定义了整个文档中使用的 DoubleZero 专用术语。 --- ## 网络基础设施 -### DZD(DoubleZero Device,DoubleZero 设备) -终结 DoubleZero 链路并运行 DoubleZero Agent 软件的物理网络交换硬件。DZD 部署在数据中心,提供路由、数据包处理和用户连接服务。每个 DZD 需要满足特定的[硬件规格](contribute.md#dzd-network-hardware),并同时运行 [Config Agent](#config-agent) 和 [Telemetry Agent](#telemetry-agent)。 +### DZD(DoubleZero Device) +终接 DoubleZero 链路并运行 DoubleZero Agent 软件的物理网络交换硬件。DZD 部署在数据中心,提供路由、数据包处理和用户连接服务。每个 DZD 需要满足特定的[硬件规格要求](contribute.md#dzd-network-hardware),并同时运行 [Config Agent](#config-agent) 和 [Telemetry Agent](#telemetry-agent)。 -### DZX(DoubleZero Exchange,DoubleZero 交换点) -网状网络中的互联点,不同[贡献者](#contributor)的链路在此桥接。DZX 位于主要大都市区域(如纽约、伦敦、东京),即网络交汇处。网络贡献者必须在最近的 DZX 将其链路交叉连接到更广泛的 DoubleZero 网状网络中。概念上类似于互联网交换点(IX)。 +### DZX(DoubleZero Exchange) +Mesh 网络中的互联点,不同[贡献者](#contributor贡献者)的链路在此桥接。DZX 位于网络交汇的主要都会区(例如 NYC、LON、TYO)。网络贡献者必须在最近的 DZX 将其链路交叉连接到更广泛的 DoubleZero mesh 中。概念上类似于互联网交换中心(IX)。 -### WAN Link(广域网链路) -由**同一**贡献者运营的两个 [DZD](#dzd-doublezero-device) 之间的广域网链路。WAN 链路在单个贡献者的基础设施内提供骨干连接。 +### WAN Link +由**同一**贡献者运营的两个 [DZD](#dzddoublezero-device) 之间的广域网链路。WAN Link 在单个贡献者的基础设施内提供骨干连接。 -### DZX Link(DZX 链路) -由**不同**贡献者运营的 [DZD](#dzd-doublezero-device) 之间在 [DZX](#dzx-doublezero-exchange) 处建立的链路。DZX 链路需要双方明确接受。 +### DZX Link +由**不同**贡献者运营的 [DZD](#dzddoublezero-device) 之间的链路,在 [DZX](#dzxdoublezero-exchange) 建立。DZX Link 需要双方明确接受。 -### DZ Prefix(DZ 前缀) -以 CIDR 格式分配给 [DZD](#dzd-doublezero-device) 的 IP 地址,用于覆盖网络寻址。在[设备创建](contribute-provisioning.md#step-32-create-your-device-onchain)时通过 `--dz-prefixes` 参数指定。 +### DZ Prefix +以 CIDR 格式分配给 [DZD](#dzddoublezero-device) 的 IP 地址,用于覆盖网络寻址。在[设备创建](contribute-provisioning.md#step-32-create-your-device-onchain)时通过 `--dz-prefixes` 参数指定。 --- ## 设备类型 ### Edge Device(边缘设备) -为用户提供 DoubleZero 网络连接的 [DZD](#dzd-doublezero-device)。边缘设备利用 [CYOA](#cyoa-choose-your-own-adventure) 接口来终结用户(验证者、RPC 运营者)并将其连接到网络。 +为用户提供 DoubleZero 网络连接的 [DZD](#dzddoublezero-device)。边缘设备利用 [CYOA](#cyoachoose-your-own-adventure) 接口终接用户(验证者、RPC 运营商)并将其连接到网络。 -### Transit Device(中转设备) -在 DoubleZero 网络内提供骨干连接的 [DZD](#dzd-doublezero-device)。中转设备在 DZD 之间转发流量,但不直接终结用户连接。 +### Transit Device(传输设备) +在 DoubleZero 网络中提供骨干连接的 [DZD](#dzddoublezero-device)。传输设备在 DZD 之间转发流量,但不直接终接用户连接。 ### Hybrid Device(混合设备) -同时具备[边缘](#edge-device)和[中转](#transit-device)功能的 [DZD](#dzd-doublezero-device),既提供用户连接又提供骨干路由。 +同时具备[边缘](#edge-device边缘设备)和[传输](#transit-device传输设备)功能的 [DZD](#dzddoublezero-device),既提供用户连接又提供骨干路由。 --- ## 连接方式 -### CYOA(Choose Your Own Adventure,自选连接方式) -允许[贡献者](#contributor)注册连接选项的接口类型,供用户连接到 DoubleZero 网络。CYOA 接口包括 [DIA](#dia-direct-internet-access)、GRE 隧道和私有对等互联等多种方式。配置详情请参阅[创建 CYOA 接口](contribute-provisioning.md#step-35-create-cyoa-interface-for-edgehybrid-devices)。 +### CYOA(Choose Your Own Adventure) +允许[贡献者](#contributor贡献者)注册连接选项的接口类型,使用户能够连接到 DoubleZero 网络。CYOA 接口包括多种方式,如 [DIA](#diadirect-internet-access)、GRE 隧道和私有对等互联。配置详情请参阅[创建 CYOA 接口](contribute-provisioning.md#step-35-create-cyoa-interface-for-edgehybrid-devices)。 -### DIA(Direct Internet Access,直接互联网接入) -通过公共互联网提供连接的标准网络术语。在 DoubleZero 中,DIA 是一种 [CYOA](#cyoa-choose-your-own-adventure) 接口类型,用户(验证者、RPC 运营者)通过其现有的互联网连接接入 [DZD](#dzd-doublezero-device)。 +### DIA(Direct Internet Access) +通过公共互联网提供连接的标准网络术语。在 DoubleZero 中,DIA 是一种 [CYOA](#cyoachoose-your-own-adventure) 接口类型,用户(验证者、RPC 运营商)通过其现有的互联网连接接入 [DZD](#dzddoublezero-device)。 -### IBRL(Increase Bandwidth Reduce Latency,增加带宽降低延迟) -一种连接模式,允许验证者和 RPC 节点无需重启区块链客户端即可连接到 DoubleZero。IBRL 使用现有的公网 IP 地址,并与最近的 [DZD](#dzd-doublezero-device) 建立覆盖隧道。设置说明请参阅[主网测试版连接](DZ%20Mainnet-beta%20Connection.md)。 +### IBRL(Increase Bandwidth Reduce Latency) +一种连接模式,允许验证者和 RPC 节点无需重启区块链客户端即可连接到 DoubleZero。IBRL 使用现有的公共 IP 地址,并与最近的 [DZD](#dzddoublezero-device) 建立覆盖隧道。设置说明请参阅 [Mainnet-Beta 连接](DZ%20Mainnet-beta%20Connection.md)。 ### Multicast(组播) -DoubleZero 支持的一对多数据包传递方式。组播模式有两种角色:**发布者**(publisher,通过网络发送数据包)和**订阅者**(subscriber,从发布者接收数据包)。开发团队用于高效的数据分发。连接详情请参阅[其他组播连接](Other%20Multicast%20Connection.md)。 +DoubleZero 支持的一对多数据包传输方式。组播模式有两个角色:**发布者**(publisher,通过网络发送数据包)和**订阅者**(subscriber,接收发布者的数据包)。开发团队用于高效的数据分发。连接详情请参阅[其他组播连接](Other%20Multicast%20Connection.md)。 --- ## 软件组件 ### doublezerod -运行在用户服务器(验证者、RPC 节点)上的 DoubleZero 守护进程服务。它管理与 DoubleZero 网络的连接,处理隧道建立,并维持与 [DZD](#dzd-doublezero-device) 的连接。通过 systemd 配置,并通过 [`doublezero`](#doublezero-cli) CLI 控制。 +运行在用户服务器(验证者、RPC 节点)上的 DoubleZero 守护进程服务。它管理与 DoubleZero 网络的连接,处理隧道建立,并维护与 [DZD](#dzddoublezero-device) 的连接。通过 systemd 配置,通过 [`doublezero`](#doublezero-cli) CLI 控制。 -### doublezero (CLI) +### doublezero(CLI) 与 DoubleZero 网络交互的命令行界面。用于连接、管理身份、检查状态和管理操作。与 [`doublezerod`](#doublezerod) 守护进程通信。 -### Config Agent(配置代理) -运行在 [DZD](#dzd-doublezero-device) 上的软件代理,管理设备配置。从 [Controller](#controller) 服务读取配置并将更改应用到设备。设置请参阅 [Config Agent 安装](contribute-provisioning.md#step-44-install-config-agent)。 +### Config Agent +运行在 [DZD](#dzddoublezero-device) 上的软件代理,管理设备配置。从 [Controller](#controller) 服务读取配置并将更改应用到设备。设置请参阅 [Config Agent 安装](contribute-provisioning.md#step-44-install-config-agent)。 -### Telemetry Agent(遥测代理) -运行在 [DZD](#dzd-doublezero-device) 上的软件代理,收集性能指标(延迟、抖动、丢包率)并提交到 DoubleZero 账本。设置请参阅 [Telemetry Agent 安装](contribute-provisioning.md#step-45-install-telemetry-agent)。 +### Telemetry Agent +运行在 [DZD](#dzddoublezero-device) 上的软件代理,收集性能指标(延迟、抖动、丢包率)并提交到 DoubleZero 账本。设置请参阅 [Telemetry Agent 安装](contribute-provisioning.md#step-45-install-telemetry-agent)。 -### Controller(控制器) -为 [DZD](#dzd-doublezero-device) 代理提供配置的服务。Controller 从 DoubleZero 账本上的[链上](#onchain)状态派生设备配置。 +### Controller +为 [DZD](#dzddoublezero-device) 代理提供配置的服务。Controller 从 DoubleZero 账本上的[链上](#onchain链上)状态派生设备配置。 --- @@ -81,93 +81,96 @@ DoubleZero 支持的一对多数据包传递方式。组播模式有两种角色 链路的正常运行状态。流量通过该链路传输,并参与路由决策。 ### Soft-Drained(软排空) -一种维护状态,流量将被引导远离特定链路。用于优雅的维护窗口。可以转换为[已激活](#activated)或[硬排空](#hard-drained)状态。 +一种维护状态,流量将被引导远离特定链路。用于优雅的维护窗口。可以转换为[已激活](#activated已激活)或[硬排空](#hard-drained硬排空)状态。 ### Hard-Drained(硬排空) -一种维护状态,链路完全从服务中移除。没有流量通过该链路。必须先转换为[软排空](#soft-drained)状态才能恢复到[已激活](#activated)状态。 +一种维护状态,链路完全从服务中移除。没有流量通过该链路。必须先转换为[软排空](#soft-drained软排空)状态,才能恢复为[已激活](#activated已激活)状态。 --- ## 组织与代币 -### DZF(DoubleZero Foundation,DoubleZero 基金会) -DoubleZero 基金会是一家无会员制的开曼群岛非营利性基金会公司,成立旨在支持 DoubleZero 网络的开发、去中心化、安全性和推广。 +### DZF(DoubleZero Foundation) +DoubleZero Foundation 是一家无会员的开曼群岛非营利基金会公司,成立旨在支持 DoubleZero 网络的开发、去中心化、安全性和推广采用。 -### 2Z Token(2Z 代币) -DoubleZero 网络的原生代币。用于支付验证者费用并作为奖励分发给[贡献者](#contributor)。验证者可以通过链上兑换程序使用 2Z 支付费用。请参阅[将 SOL 兑换为 2Z](Swapping-sol-to-2z.md)。 +### 2Z Token +DoubleZero 网络的原生代币。用于支付验证者费用并作为奖励分配给[贡献者](#contributor贡献者)。验证者可以通过链上兑换程序使用 2Z 支付费用。请参阅[将 SOL 兑换为 2Z](Swapping-sol-to-2z.md)。 ### Contributor(贡献者) -为 DoubleZero 网络贡献带宽和硬件的网络基础设施提供者。贡献者运营 [DZD](#dzd-doublezero-device),提供 [WAN](#wan-link) 和 [DZX](#dzx-link) 链路,并因其贡献获得 [2Z](#2z-token) 代币激励。入门请参阅[贡献者文档](contribute-overview.md)。 +向 DoubleZero 网络贡献带宽和硬件的网络基础设施提供商。贡献者运营 [DZD](#dzddoublezero-device),提供 [WAN](#wan-link) 和 [DZX](#dzx-link) 链路,并因其贡献获得 [2Z](#2z-token) 代币激励。入门请参阅[贡献者文档](contribute-overview.md)。 --- ## 网络概念 ### MTU(Maximum Transmission Unit,最大传输单元) -可以通过网络链路传输的最大数据包大小(以字节为单位)。DoubleZero WAN 链路通常使用 MTU 9000(巨型帧)以提高效率。 +网络链路上可传输的最大数据包大小(以字节为单位)。DoubleZero WAN 链路通常使用 MTU 9000(巨型帧)以提高效率。 ### VRF(Virtual Routing and Forwarding,虚拟路由和转发) -一种允许同一物理路由器上存在多个隔离路由表的技术。贡献者通常使用单独的管理 VRF 将交换机管理流量与生产流量隔离。 +一种允许多个隔离的路由表在同一物理路由器上共存的技术。贡献者通常使用单独的管理 VRF 来隔离交换机管理流量和生产流量。 ### GRE(Generic Routing Encapsulation,通用路由封装) -一种将网络数据包封装在 IP 数据包内的隧道协议。被 [IBRL](#ibrl-increase-bandwidth-reduce-latency) 和 [CYOA](#cyoa-choose-your-own-adventure) 连接用于在用户和 DZD 之间创建覆盖隧道。 +一种将网络数据包封装在 IP 数据包内的隧道协议。[IBRL](#ibrl-increase-bandwidth-reduce-latency) 和 [CYOA](#cyoachoose-your-own-adventure) 连接使用 GRE 在用户和 DZD 之间创建覆盖隧道。 ### BGP(Border Gateway Protocol,边界网关协议) 用于在互联网上的网络之间交换路由信息的路由协议。DoubleZero 内部使用 BGP,ASN 为 65342。 -### ASN(Autonomous System Number,自治系统号) +### ASN(Autonomous System Number,自治系统编号) 分配给网络用于 BGP 路由的唯一标识符。所有 DoubleZero 设备的内部 BGP 进程使用 **ASN 65342**。 ### Loopback Interface(环回接口) 路由器/交换机上用于管理和路由目的的虚拟网络接口。DZD 使用 Loopback255(VPNv4)和 Loopback256(IPv4)进行内部路由。 ### CIDR(Classless Inter-Domain Routing,无类别域间路由) -用于指定 IP 地址范围的表示法。格式为 `IP/prefix-length`,其中前缀长度表示网络大小(例如,`/29` = 8 个地址,`/24` = 256 个地址)。 +一种用于指定 IP 地址范围的表示法。格式为 `IP/prefix-length`,其中前缀长度表示网络大小(例如,`/29` = 8 个地址,`/24` = 256 个地址)。 ### Jitter(抖动) 数据包延迟随时间的变化。低抖动对实时应用至关重要。 ### RTT(Round-Trip Time,往返时间) -数据包从源到目的地再返回所需的时间。用于测量设备之间的网络延迟。 +数据包从源端到目的端再返回所需的时间。用于测量设备间的网络延迟。 ### TWAMP(Two-Way Active Measurement Protocol,双向主动测量协议) 一种用于测量延迟和丢包率等网络性能指标的协议。[Telemetry Agent](#telemetry-agent) 使用 TWAMP 在 DZD 之间收集指标。 ### IS-IS(Intermediate System to Intermediate System,中间系统到中间系统) -DoubleZero 网络内部使用的链路状态路由协议。在[链路排空](#soft-drained)操作期间会调整 IS-IS 指标。 +DoubleZero 网络内部使用的链路状态路由协议。在[链路排空](#soft-drained软排空)操作期间会调整 IS-IS 指标。 --- ## 地理定位 ### Geolocation(地理定位) -DoubleZero 的一项服务,通过延迟测量验证设备的物理位置。已知位置的基础设施([DZD](#dzd-doublezero-device))与目标设备之间的 [RTT](#rtt-round-trip-time) 测量提供加密签名的证明,证明设备在参考点的一定距离范围内。测量数据的链上记录计划在未来版本中实现。用户文档请参阅[地理定位](geolocation.md)。 +DoubleZero 的一项服务,通过延迟测量验证设备的物理位置。已知位置的基础设施([DZD](#dzddoublezero-device))与目标设备之间的 [RTT](#rttround-trip-time往返时间) 测量提供了经过加密签名的证明,证明设备位于参考点的一定距离内。链上记录测量数据计划在未来版本中实现。用户文档请参阅[地理定位](geolocation.md)。 -### geoProbe(地理探针) -在[地理定位](#geolocation)系统中充当延迟测量中介的裸机服务器。geoProbe 位于 [DZD](#dzd-doublezero-device) ~1ms 范围内,从父级 DZD 接收签名的 LocationOffset,并通过 [TWAMP](#twamp-two-way-active-measurement-protocol)、签名 TWAMP 或 ICMP echo 测量到目标设备的 [RTT](#rtt-round-trip-time)。每个 geoProbe 在[链上](#onchain)注册并关联到一个或多个父级 DZD。贡献者文档请参阅 [Geoprobe 部署](contribute-geolocation.md)。 +### geoProbe +在[地理定位](#geolocation地理定位)系统中充当延迟测量中介的裸金属服务器。geoProbe 位于距 [DZD](#dzddoublezero-device) ~1ms 以内的位置,从父 DZD 接收签名的 LocationOffset,并通过 [TWAMP](#twamptwoway-active-measurement-protocol双向主动测量协议)、签名 TWAMP 或 ICMP echo 测量到目标设备的 [RTT](#rttround-trip-time往返时间)。每个 geoProbe 都在[链上](#onchain链上)注册并关联到一个或多个父 DZD。贡献者文档请参阅 [Geoprobe 部署](contribute-geolocation.md)。 -### LocationOffset(位置偏移) -一种签名数据结构,包含 [DZD](#dzd-doublezero-device) 的地理位置(经纬度)以及实体之间的延迟关系链(DZD↔Probe 或 Probe↔Target)。LocationOffset 使用 Ed25519 签名,并通过 UDP 在测量链中发送。组合偏移包含对先前测量的引用,形成可审计的追踪链。 +### LocationOffset +一种签名数据结构,包含 [DZD](#dzddoublezero-device) 的地理位置(纬度和经度)以及实体之间的延迟关系链(DZD↔Probe 或 Probe↔Target)。LocationOffset 使用 Ed25519 签名,并通过 UDP 在测量链中发送。复合偏移包含对先前测量的引用,创建可审计的追踪链。 --- ## 区块链与密钥 ### Onchain(链上) -在 DoubleZero 的语境中,链上指的是记录在 DoubleZero 账本上的数据和操作。与传统网络中设备和链路配置存储在集中管理系统中不同,DoubleZero 将设备注册、链路配置和遥测提交记录在链上——使网络状态对所有参与者透明且可验证。 +在 DoubleZero 的语境中,链上是指记录在 DoubleZero 账本上的数据和操作。与传统网络中设备和链路配置存储在集中管理系统不同,DoubleZero 将设备注册、链路配置和遥测提交记录在链上——使网络状态对所有参与者透明且可验证。 ### Service Key(服务密钥) 用于验证 CLI 操作的加密密钥对。这是您与 DoubleZero 智能合约交互的贡献者身份。存储在 `~/.config/solana/id.json`。 ### Metrics Publisher Key(指标发布密钥) -[Telemetry Agent](#telemetry-agent) 用于签名向区块链提交指标的加密密钥对。出于安全隔离的目的,与服务密钥分开。存储在 `~/.config/doublezero/metrics-publisher.json`。 +[Telemetry Agent](#telemetry-agent) 用于签名提交到区块链的指标数据的加密密钥对。为了安全隔离,与服务密钥分开。存储在 `~/.config/doublezero/metrics-publisher.json`。 + +### Rewards Manager Key(奖励管理密钥) +控制贡献者奖励支付地址的加密密钥对。它签署对接收钱包列表的更改,但本身不持有奖励。与 [Service Key](#service-key服务密钥) 分开保管。请参阅贡献者仓库中的[奖励管理](https://github.com/malbeclabs/contributors#rewards-management)。 --- ## 硬件与软件 -### EOS(Extensible Operating System,可扩展操作系统) +### EOS(Extensible Operating System) Arista 的网络操作系统,运行在 DZD 交换机上。贡献者将 [Config Agent](#config-agent) 和 [Telemetry Agent](#telemetry-agent) 作为 EOS 扩展安装。 ### EOS Extension(EOS 扩展) -可以安装在 Arista EOS 交换机上的软件包。DZ 代理以 `.rpm` 文件形式分发,通过 `extension` 命令安装。 \ No newline at end of file +可以安装在 Arista EOS 交换机上的软件包。DZ 代理以 `.rpm` 文件分发,通过 `extension` 命令安装。 \ No newline at end of file