Peringatan
Perangkat lunak ini sedang dalam tahap awal pengembangan dan belum siap untuk lingkungan produksi.
Hoppipolla (bahasa Islandia untuk "melompat ke genangan air" ) adalah kerangka kerja terdistribusi untuk jaringan bertanggung jawab sisi pengguna berdasarkan protokol Internet SCION. Ini mengimplementasikan bagian dari proposal Internet Bertanggung Jawab dengan pendekatan yang terinspirasi oleh arsitektur yang dirancang dalam makalah Efek Nilai Akuntansi untuk Jaringan yang Bertanggung Jawab dan oleh proyek verifikasi dan kontrol Jalur Berbasis Pengguna untuk jaringan Antar-domain (UPIN).
Setelah terinstal, Hoppipolla memungkinkan pengguna untuk mempublikasikan kebijakan yang dinyatakan dalam Answer Set Programming (ASP) untuk memilih node jaringan (yaitu, sistem otonom) yang mematuhinya ketika merutekan paket ke alamat jarak jauh lain di jaringan SCION.
Contoh kebijakan tersebut dalam bahasa alami:
Do not route network traffic through nodes that are located in country X
Yang mana, menggunakan sintaks ASP khusus Hoppipolla akan terlihat seperti:
-valid(Path) :- country(Hop, "X"), hop(Hop), path(Path), contains(Path, Hop).
Kerangka kerja ini dibentuk oleh serangkaian layanan dan SDK khusus bahasa yang digunakan untuk berinteraksi dengannya dari sisi klien. Semua layanan mengekspos API gRPC yang ditentukan dalam folder protos
yang dapat digunakan langsung sebagai pengganti SDK pilihan.
Dalam hal ketergantungan eksternal, Hoppipolla bergantung secara eksklusif pada SCION. Pengguna diharapkan menyediakan titik masuk ke tumpukan SCION melalui koneksi stabil ke daemon SCION.
Ikuti panduan ini untuk menginstal SCION dan menggunakannya dalam testbed SCIONLab.
Pada tahap ini, Hoppipolla belum siap untuk diproduksi dalam lingkungan terdistribusi penuh. Oleh karena itu, untuk pekerjaan eksperimental, disarankan agar Anda menjalankannya secara lokal menggunakan docker compose
.
Anda dapat menemukan contoh opsi konfigurasi yang dapat diteruskan ke layanan di file .env.example
.
Penting
Yang paling penting, variabel env HOPPIPOLLA_SCIOND_URI
harus disetel ke alamat daemon SCION (misalnya, 127.0.0.1:30255).
Repositori berisi file docker-compose.yml
yang menjalankan semua layanan yang diperlukan. Anda dapat mempercepat Hoppipolla di mesin Anda hanya dengan menjalankan:
docker compose up
Peringatan
TBD
Cuplikan berikut menunjukkan penggunaan sederhana dari Python SDK:
config = hp.HoppipollaClientConfig() # nilai defaultklien = hp.HoppipollaClient.from_config(config)issuer = client.get_default_issuer()policy1 = client.publish_policy( penerbit, '-valid(Path) :- negara(Hop, "X") , hop(Hop), path(Path), berisi(Path, Hop).')hasil = klien.ping("1-ff00:0:110,10.0.0.1")
Hoppipolla berlisensi GNU GPL v3.0.