Google is committed to advancing racial equity for Black communities. See how.
Halaman ini diterjemahkan oleh Cloud Translation API.
Switch to English

Senang

Happy adalah alat untuk orkestrasi ringan dari topologi jaringan simulasi. Gunakan untuk menguji protokol jaringan dan program eksekusi terdistribusi lainnya pada satu mesin pengembangan Linux tanpa menggunakan perangkat keras perangkat IoT.

Apa itu?

Happy mensimulasikan topologi jaringan yang kompleks. Di satu mesin Linux, Happy dapat membuat banyak node dengan tumpukan jaringan yang independen satu sama lain. Beberapa node mungkin terhubung ke simulasi jaringan Thread, yang lain mungkin terhubung ke simulasi Wi-Fi, WAN (Internet), atau jaringan seluler.

Senang membahas kasus penggunaan berikut:

  • Menguji protokol jaringan dan program eksekusi terdistribusi lainnya pada satu mesin pengembangan Linux tanpa menggunakan perangkat keras
  • Melakukan pengujian fungsional otomatis di seluruh jaringan
  • Menjalankan beberapa jaringan paralel secara bersamaan di sistem yang sama untuk meningkatkan throughput pengujian

Happy memecahkan masalah ini dengan membuat abstraksi topologi jaringan dengan overhead pengguna yang minimal. Topologi kompleks dapat dibuat dengan panggilan perintah shell tunggal. Happy mendukung penggunaan interaktif dan skrip otomatis.

Gunakan perintah Happy shell untuk menyiapkan, menguji, dan men-debug kodenya selama pengembangan. Konfigurasi jaringan yang sama dan program pengujian kemudian dapat dibuat skrip dan digunakan dalam pengujian otomatis.

Memulai

Cara tercepat dan termudah untuk memulai Happy adalah melalui Codelab. Ini memandu pengguna melalui semua dasar-dasar Bahagia, termasuk:

  • Membuat dan menghapus topologi
  • Menyatukan node
  • Menyimpan dan memulihkan topologi
  • Menghubungkan topologi ke internet
  • Menenun fundamental

Cobalah Memulai dengan Codelab Bahagia

Lihat Pengaturan dan Penggunaan untuk informasi lebih lanjut tentang pengaturan dan penggunaan Happy.

Arsitektur

Model bahagia berikut ini:

  • Node - Namespace jaringan Linux. Proses yang terdiri dari node dijalankan dalam namespace jaringan yang ditentukan.
  • Link - Antarmuka jaringan Linux. Happy menggunakan perangkat jaringan veth untuk mendukung antarmuka L3 (IP) dan perangkat jaringan tap untuk mendukung antarmuka L2 di luar kotak.
  • Jaringan - namespace jaringan Linux dengan jembatan Ethernet yang berjalan di dalamnya.

Penerapan

Happy adalah kumpulan modul Python. Modul Core Happy menyediakan abstraksi untuk:

  • Mengelola abstraksi node
    • Menambah, memodifikasi, dan menghapus node
    • Menjalankan serangkaian proses dalam node
  • Mengelola tautan
    • Menambah, mengubah, dan menghapus tautan
    • Menetapkan link ke node dan jaringan
    • Menetapkan dan mengubah penetapan alamat
  • Mengelola jaringan
    • Membuat, memodifikasi, dan menghancurkan jaringan
    • Konektifitas jaringan
  • Mengelola keadaan keseluruhan kerangka kerja secara kohesif

Sebagian besar abstraksi yang diimplementasikan oleh modul Happy dipetakan ke dalam perintah yang memanggil alat jaringan Linux.

Happy juga berisi satu set plugin yang ditemukan di /plugins . Plug-in membungkus sekumpulan fungsionalitas yang terkait dengan teknologi tertentu. Misalnya, /plugins/weave berisi pembantu yang membungkus berbagai aplikasi Weave untuk dieksekusi dalam Happy.

Eksekusi

Pengguna dapat membuat topologi simulasi melalui dua metode:

  • Perintah shell - Semua perintah ada di /bin .
  • Skrip Python - Impor modul Happy untuk memanggil perintah Happy di skrip Python Anda sendiri. Modul dalam /happy .

Untuk informasi lebih lanjut tentang menggunakan modul Happy dalam skrip Python Anda sendiri, lihat skrip Python .