Google стремится продвигать расовую справедливость для черных сообществ. Смотри как.
Эта страница была переведа с помощью Cloud Translation API.
Switch to English

Счастливый

Happy - это инструмент для упрощенного согласования моделируемых топологий сети. Используйте его для тестирования сетевых протоколов и других программ распределенного выполнения на одной машине разработки Linux без использования аппаратных устройств IoT.

Что это?

Happy моделирует сложные топологии сети. На одном компьютере с Linux Happy может создавать несколько узлов с сетевыми стеками, которые не зависят друг от друга. Некоторые узлы могут быть подключены к моделируемым сетям потоков, другие могут подключаться к моделируемым сетям Wi-Fi, WAN (Интернет) или сотовым сетям.

Happy обращается к следующим случаям использования:

  • Тестирование сетевых протоколов и других программ распределенного выполнения на одной машине разработки Linux без использования аппаратного обеспечения.
  • Выполнение автоматического функционального тестирования по сети
  • Запуск нескольких параллельных параллельных сетей в одной системе для повышения производительности тестирования

Happy решает эти проблемы, создавая абстракции топологии сети с минимальными затратами пользователя. Сложные топологии могут быть созданы с помощью одного вызова команды оболочки. Happy поддерживает как интерактивное использование, так и автоматизацию сценариев.

Используйте команды оболочки Happy для настройки, тестирования и отладки их кода во время разработки. Та же самая конфигурация сети и тестовые программы могут быть затем написаны по сценарию и использованы для автоматического тестирования.

Начать

Самый быстрый и простой способ начать работу с Happy - это пройти Codelab. Он проводит пользователя через все основы Happy, в том числе:

  • Создание и удаление топологии
  • Сетевые узлы вместе
  • Сохранение и восстановление топологий
  • Подключение топологии к интернету
  • Основы плетения

Попробуйте начать работу с Happy Codelab

См. Настройка и использование для получения дополнительной информации о настройке и использовании Happy.

Архитектура

Счастливые модели следующие:

  • Узел - сетевое пространство имен Linux. Процессы, составляющие узел, выполняются в указанном пространстве имен сети.
  • Link - сетевой интерфейс Linux. Happy использует сетевое устройство veth для поддержки интерфейсов L3 (IP) и tap сетевое устройство для поддержки интерфейсов L2 из коробки.
  • Сеть - сетевые пространства имен Linux с работающим в них мостом Ethernet.

Реализация

Happy это коллекция модулей Python. Модули Core Happy предоставляют абстракции для:

  • Управление абстракциями узлов
    • Добавление, изменение и удаление узлов
    • Запуск набора процессов внутри узла
  • Управление ссылками
    • Добавление, изменение и удаление ссылок
    • Назначение ссылок на узел и сеть
    • Назначение и изменение адресов
  • Управление сетями
    • Создание, изменение и уничтожение сетей
    • Подключение к сети
  • Управление общим состоянием структуры связным способом

Большинство абстракций, реализованных модулями Happy, отображаются в команды, которые вызывают сетевые инструменты Linux.

Happy также содержит набор плагинов, найденных в /plugins . Плагины заключают в себе набор функций, связанных с определенной технологией. Например, /plugins/weave содержит помощников, которые оборачивают различные приложения Weave для исполнения в Happy.

выполнение

Пользователи могут создавать моделируемые топологии двумя способами:

  • Команды оболочки - все команды находятся в /bin .
  • Python-скрипты - импортируйте модули Happy для вызова команд Happy в ваших собственных скриптах Python. Модули в /happy .

Для получения дополнительной информации об использовании модулей Happy в ваших собственных скриптах Python см. Сценарии Python .