2. **Reititystaulun muodostaminen (Routing Table):** Jokainen Mesh Gateway kuuntelee `#mesh-routing`-kanavaa ja yllC$pitC$C$ muistissaan dynamista reititystaulukkoa: | KohdekUVIO (Pattern) | Seuraava hyppy (Next Hop) | Tyyppi / Ominaisuudet | PC$ivitetty | | --- | --- | --- | --- | | `mesh://hauki-obs/*` | Local / Direct | Host Gateway | 2s sitten | | `mesh://hauki-teacher/*` | `[http://100.123.233.42:7742](http://100.123.233.4 2:7742)` | Tailscale Mesh Node | 15s sitten | | `mesh://hauki-x86/*` | `LPT1_DEVICE` | Airgap Serial | Static | --- ## 5. Onko Eval-ehtoihin perustuvassa reitityksessC$ jC$rkeC$? **KyllC$, mutta turvallisuusrajoituksin!** SitC$ kutsutaan akateemisessa verkkotutkimuksessa nimellC$ **Active Networking** tai **Predicate-Based Routing**. ### HyC6dyt: Voit lC$hettC$C$ pyynnC6n: *"Etsi kaikki maailman vC$lilehdet, joissa on pienen ruudun mobiilinC$kymC$ pC$C$llC$ (`window.innerWidth < 600`), ja muuta niiden fonttikokoa"*. ### Miten se kannattaa toteuttaa turvallisesti? 1. **Turvallisuusrajoitus (Hiekkalaatikointi):** Raw JavaScript `eval()` -koodin lC$hettC$minen verkoissa voi olla vaarallista. Sen sijaan ehdot kannattaa ajaa turvallisesti hiekkalaatikoidussa ympC$ristC6ssC$ (kuten aiemmin luomassamme `find_helpers`-rakenteessa). 2. **Kaksivaiheinen reititys:** * **Vaihe 1:** Gateway reitittC$C$ paketin oikealle koneelle normaalilla `src`/`dst`-osoitteella. * **Vaihe 2:** Kohdekoneen Gateway suorittaa `eval_condition`-ehdon lokaalisti ennen kuin se puskee paketin kyseisen koneen tiettyyn vC$lilehteen tai prosessiin. --- ## Yhteenveto ehdotetusta arkkitehtuurista 1. **Pakettiformaatti:** Kevyt JSON-kC$C$re, jossa osoitteistus noudattaa osoitemallia `mesh://node/engine/instance`, mukana TTL ja trace-puskuri. 2. **Kaksitasoinen reititys:** * *Data Plane:* Viestit kulkevat suoraan Gateway-laitteiden vC$lillC$ HTTP/Mailbox/Serial-reittejC$ pitkin. * *Control Plane:* IRC-kanava toimii reititystaulujen ja palveluiden automaattisena lC6ytC6kanavana (Gossip Protocol). 3. **Puskurointi:** Offline-hopit ja hitaat vC$ylC$t (kuten LPT/Serial) hoituvat `/spool/`-levypuskurin kautta ilman, ettC$ lC$hettC$vC$ osapuoli jC$C$ jumiin.