Google se compromete a avanzar en la equidad racial para las comunidades negras. Ver cómo.
Esta página se ha traducido con Cloud Translation API.
Switch to English

Contento

Feliz es una herramienta para la orquestación ligera de topologías de red simuladas. Lo utilizan para probar los protocolos de red y otros programas de ejecución distribuida en una sola máquina de desarrollo de Linux sin necesidad de utilizar hardware del dispositivo IO.

¿Qué es?

Feliz simula topologías de red complejas. En una sola máquina Linux, feliz puede crear varios nodos con pilas de red que son independientes entre sí. Algunos nodos pueden estar conectados a las redes de rosca simuladas, otros pueden conectarse a Wi-Fi simulado, WAN (Internet), o redes celulares.

Happy direcciones de los siguientes casos de uso:

  • Prueba de protocolos de red y otros programas de ejecución distribuida en una sola máquina de desarrollo de Linux sin necesidad de utilizar hardware
  • Realizar ensayos de funcionamiento automatizado a través de una red
  • Ejecución concurrente múltiples, redes paralelas en el mismo sistema para mejorar las pruebas de rendimiento

Feliz resuelve estos problemas mediante la creación de abstracciones de topología de red con una sobrecarga mínima del usuario. topologías complejas se pueden crear con una sola llamada de comandos shell. soportes feliz a uso interactivo y secuencias de comandos automatizadas.

Uso cáscara feliz comandos para configurar, probar y depurar su código durante el desarrollo. Los mismos programas de configuración de red y de prueba pueden entonces ser escrito y se usan en la prueba automatizada.

Empezar

La manera más rápida y fácil para empezar con feliz es ir a través del experimento de código. Se guía al usuario a través de todos los fundamentos felices, incluyendo:

  • Creación y eliminación de una topología
  • Redes nodos entre sí
  • Guardado y restablecimiento de topologías
  • Conexión de una topología a internet
  • fundamentos de la armadura

Pruebe la Introducción a feliz experimento de código

Ver el programa de instalación y de uso para más información sobre cómo configurar y utilizar feliz.

Arquitectura

Modelos felices lo siguiente:

  • Nodo - Un espacio de nombres Linux red. Procesos que comprenden el nodo de gestión dentro de un espacio de nombres de red especificada.
  • Enlace - Una interfaz de red Linux. Feliz utiliza el veth dispositivo de red para apoyar L3 interfaces (IP) y el tap dispositivo de red para apoyar L2 interconecta fuera de la caja.
  • Red - espacios de nombres de red de Linux con un puente Ethernet en funcionamiento dentro de ellos.

Implementación

Feliz es una colección de módulos de Python. Los módulos del núcleo felices proporcionan abstracciones para:

  • La gestión de las abstracciones de nodos
    • Adición, modificación y eliminación de nodos
    • El funcionamiento de un conjunto de procesos dentro del nodo
  • La gestión de enlaces
    • Adición, modificación y eliminación de enlaces
    • Asignación de enlaces a un nodo y una red
    • Asignación y modificación de las asignaciones de direcciones
  • La gestión de redes
    • Crear, modificar y destruir las redes
    • Conectividad de red
  • La gestión del estado general del marco de una forma cohesiva

La mayoría de las abstracciones implementadas por módulos felices del mapa en comandos que invocan herramientas de red de Linux.

Feliz también contiene un conjunto de complementos que se encuentran en /plugins . Plug-ins envolver un conjunto de funcionalidades relacionadas con una tecnología en particular. Por ejemplo, /plugins/weave contienen ayudantes que se colocan varias aplicaciones de tejido para ejecución dentro feliz.

Ejecución

Los usuarios pueden construir topologías simuladas a través de dos métodos:

  • Comandos de Shell - Todos los comandos están en /bin .
  • scripts de Python - módulos de importación felices para llamar a comandos felices en sus propios scripts de Python. Los módulos están en /happy .

Para obtener más información sobre el uso de módulos felices en sus propios scripts de Python, consulte Python scripting .