Download Game! Currently 85 players and visitors. Last logged in:AceduckRiberHansaMaggara

Blitzer's Blog >> 71498

Back to blogs index
Posted: 23 Jul 2026 12:14 [ permalink ]
Tietoverkkoarkkitehtuurin nC$kC6kulmasta tC$llainen "Out-of-Band" (OOB) eli
erillinen ohjaus- ja hC$tC$kanava on kriittinen osa vikasietoista hajautettua
jC$rjestelmC$C$. Jos ensisijainen "Core Mesh" menee solmuun tai joutuu
eristykseen, jC$rjestelmC$ tarvitsee riippumattoman, pienen kaistanleveyden
signaalivC$ylC$n, jonka kautta solmut lC6ytC$vC$t toisensa ja aloittavat
uudelleenkC$ynnistyksen (cold reboot / bootstrapping).
Alla on korkean tason visiointia ja arkkitehtuurikartoitusta siitC$, miten
tC$mC$ toteutetaan kustannustehokkaasti ja mitC$ eri teknologioita (mukaan
lukien Googlen ekosysteemiC$) tC$hC$n voidaan hyC6dyntC$C$.
1. MitC$ Google tarjoaa OOB-ohjauskanavaksi ja cold boot -rekisteriksi?
Google Cloud ja Firebase tarjoavat useita ilmaisrajoissa (Free Tier)
pyC6riviC$ tai senttiluokan kustannuksilla toimivia palveluita, jotka sopivat
tC$ydellisesti gossip-signaalointiin ja solmujen lC6ytC$miseen (discovery).
Palvelu
Rooli arkkitehtuurissa
Kustannus / Ilmaisraja (Free Tier)
MIKSI sopii OOB-kanavaksi?
Firebase Realtime Database
Aktiivinen Gossip & Discovery -rekisteri
1 GB tallennustilaa, 10 GB/kk siirtoa ilmainen
Todella nopea (WebSocket-pohjainen) JSON-puu, johon solmut voivat pC$ivittC$C$
tilaansa ja kuunnella muutoksia reaaliajassa.
Google Cloud Pub/Sub
Globaali viestibussi (Global Event Bus)
10 GB viestiliikennettC$ / kk ilmainen
ErittC$in luotettava globaali Pub/Sub-bussi. Ei edellytC$ julkisia
IP-osoitteita solmuilta (outbound-pull toimii aina NAT/palomuurien lC$pi).
Cloud Run / Functions
Bootstrapping Gateway
2 milj. kutsua / kk ilmainen
Automaattisesti skaalautuva, keveitC$ HTTP/JSON-reitittimiC$ ja avainten
vahvistusta ajava OOB-pC$C$tepiste.
Google Cloud Storage (GCS)
Cold Storage Manifest & State Registry
5 GB tallennustilaa ilmainen
Staattisten konfiguraatioiden, versioitujen manifestien ja salattujen
palautuspakettien sC$ilytys.
Arkkitehtuurivinkki (Firebase Realtime DB):
Firebase Realtime DB toimii suoraan JSON-pohjaisesti. Solmut voivat kirjoittaa
reititysilmoituksensa polkuun /nodes/{node_id} ja kuunnella reitinmuutoksia
polussa /gossip. Koska se kC$yttC$C$ WebSockets-yhteyttC$, se leikkaa
verkkoviiveet minimiin.
2. Rinnakkaiset ja ilmaiset OOB-verkot (Google-ekosysteemin ulkopuolelta)
Google-palveluiden lisC$ksi vikasietoisuutta voidaan kasvattaa hajautetuilla
tai tC$ysin palvelimettomilla protokollilla:
Nostr Relay Network:
Miten toimii: Avoin, JSON-pohjainen WebSocket-releverkosto. Solmut voivat
lC$hettC$C$ kryptografisesti allekirjoitettuja tapahtumia (Event type 1 tai
kustomoidut tyypit) julkisille tai omille yksityisille releille.
Etu: TC$ysin riippumaton mistC$C$n yksittC$isestC$ pilvipalvelusta.
MQTT-vC$littC$jC$t (Public / Private Brokers):
Matalan kaistanleveyden Pub/Sub-standardi (esim. ilmaiset julkiset testisillat
tai oma piilotettu Fly.io / Render -ilmaisinstanssi).
P2P Distributed Hash Table (DHT / Kademlia / libp2p):
Solmut lC6ytC$vC$t toisensa IPFS/libp2p-tyyppisen DHT-verkon kautta ilman
mitC$C$n keskitettyC$ palvelinta.
3. Korkean tason visio: Cold Boot & Automaattinen Rebuild -prosessi
Asetelma, jossa koko Core Mesh on alhaalla ja se pitC$C$ luotettavasti koota
uudelleen ("Cold Reboot"), vaatii kolmivaiheisen bootstrap-prosessin:
+------------------------------------------------------------------------------
-----+
| VAIHE 1: DISCOVERY & BOOTSTRAP (OOB Signal Channel)                         
    |
| Solmu kC$ynnistyy -> Lukee GCS/Firebase manifestin -> LC$hettC$C$ Hello
OOB-vC$ylC$C$n  |
+------------------------------------------------------------------------------
-----+
                                         |
                                         v
+------------------------------------------------------------------------------
-----+
| VAIHE 2: REITTINUUSIENTA JA AUTENTIKOINTI                                   
     |
| Solmut vahvistavat toistensa identiteetin (Asymmetric Keys) & rakentavat
taulun   |
+------------------------------------------------------------------------------
-----+
                                         |
                                         v
+------------------------------------------------------------------------------
-----+
| VAIHE 3: CORE MESH RECONNECT & SYNCHRONIZATION                              
      |
| Ensisijainen pC$C$nC$kymC$ ja tunnelit (Tailscale/WireGuard/Direct Mesh)
kC$ynnistyvC$t  |
+------------------------------------------------------------------------------
-----+

Automaattisen palautuksen mekaniikka:
Lokaali Cold-State:
Solmulla (esim. x-master / LXC / Hauki-X86) on paikallisesti vain
hC$tC$avainpari (RSA/Ed25519) sekC$ lista OOB-pC$C$tepisteistC$ (Firebase URL,
Cloud Pub/Sub -credentials, tai Nostr relay-lista).
State Discovery (Google Cloud Storage / Firebase):
Solmu kC$y hakemassa uusimman globaalin jC$rjestelmC$manifestin
(mesh-manifest.json). Manifesti kertoo, mikC$ on jC$rjestelmC$n tavoitetila
(mitC$ versioita ajetaan, mitkC$ kanavat ovat voimassa).
Gossip Broadcast (OOB):
Solmu ilmoittaa tavoitettavuutensa OOB-vC$ylC$C$n:
JSON
{
  "type": "NODE_ALIVE_OOB",
  "node_id": "hauki-obs",
  "status": "COLD_BOOT",
  "direct_ip": "100.123.233.41",
  "pubkey": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI...",
  "timestamp": 1784793000
}


Ensisijaisen Core Meshin kC$ynnistys:
Kun solmut saavat tietC$C$ toistensa aktiiviset IP:t ja tilat OOB-vC$ylC$n
kautta, ne avaavat ensisijaiset suorat tunnelit (WireGuard / Tailscale /
Direct Sockets) ja kC$ynnistC$vC$t Core Meshin (kuten IRC/REST/WebSocket-yhdysk
C$ytC$vC$t) uudelleen.
4. Meshien vC$linen reititys (Inter-Mesh Federation)
Kun luodaan useita rinnakkaisia MesheitC$ (esim. Prod Mesh, Lab Mesh,
Emergency Mesh), ne kannattaa kytkeC$ toisiinsa Federated Gateway -mallilla:
ItsenC$iset autonomy-alueet (Autonomous Systems - AS):
Jokaisella MeshillC$ on oma sisC$inen reititystaulunsa.
Border Gateways (YhdyskC$ytC$vC$t):
Tietyt nimetyt node-instanssit toimivat "rajabokseina". Ne suodattavat ja
kC$C$ntC$vC$t viestejC$ verkkojen vC$lillC$.
Fallback-ketjutus:
YritC$ toimittaa paketti Direct Local Transport (Saman koneen Mailbox / CDP).
Jos ei saavutettavissa -> YritC$ Core Mesh Transport (Paikallinen IP /
Tailscale).
Jos ei saavutettavissa -> YritC$ OOB Transport (Firebase / Pub/Sub / Nostr).
Jos edelleen offline -> Tallenna Spool Cold Storageen (MeshFS / Local Disk) ja
odota TTL-ajan puitteissa uudelleenyhdistC$mistC$.
TC$mC$ takaa sen, ettC$ mikC$C$n yksittC$inen verkko-osiointi (netsplit),
julkisen IRC-verkon bannit tai tietoliikennekatkos ei pysty katkaisemaan
jC$rjestelmC$n automaattista korjaantumiskykyC$.