Download Game! Currently 76 players. Last logged in:MangyConquerOrdosDeino

Blitzer's Blog >> 72918

Back to blogs index
Posted: 03 Oct 2026 19:36 [ permalink ]
if (match && activeTransports[transportName]) {
                    forwardToOOB(transportName, msg);
                    routed = true;
                    break;
                }
            }
        }

        // 3. Fallback: Default Route (Monisolmureitityksen ydin!)
        // Jos viestiC$ ei saatu reititettyC$ JA meillC$ on default route JA
viestissC$ on vielC$ elinaikaa (TTL)
        if (!routed && config.routes['default'] && activeTransports[config.rout
es['default']] && msg.ttl > 1) {
            // Huom: OOB-linkille lC$htiessC$ TTL pitC$C$ laskea
manuaalisesti, jotta vC$ltytC$C$n 
            // kahden reitittimen vC$lisiltC$ ikuisilta default-route
-luupeilta.
            msg.ttl -= 1; 
            forwardToOOB(config.routes['default'], msg);
        }
    }
}

function forwardToOOB(transportName, msgObj) {
    const rawString = JSON.stringify([
        msgObj.version, msgObj.type, msgObj.msgId, msgObj.senderId, 
        msgObj.targetId, msgObj.ttl, msgObj.tags, msgObj.payload
    ]);
    activeTransports[transportName].send(rawString, msgObj.msgId);
    console.log(`[MESH -> OOB] Reititetty (${msgObj.targetId || 'broadcast'})
-> ${transportName}`);
}

main();

Kuinka Monisolmureititys (Multi-hop) toimii kC$ytC$nnC6ssC$?
Otetaan esimerkki, jossa on kolme sijaintia: Helsinki (Julkinen verkko) ->
Oulu (VPN) -> Airgap-holvi (Ei verkkoa).
Helsingin OOB-reitittimen "default route" osoittaa Oulun OOB-reitittimeen
(esim. IRC-kanavan tai sarjatunnelin yli).
Oulun OOB-reitittimessC$ on reitityssC$C$ntC6: "airgap-*": "fs_usb".
LC$hetC$t HelsingistC$ viestin targetId = "airgap-db".
Helsingin reititin ei tiedC$ missC$ airgap-db on, joten se heittC$C$ paketin
default -vC$ylC$C$ pitkin Ouluun. (TTL laskee 3 -> 2).
Oulun reititin vastaanottaa paketin IRC/sarjavC$ylC$stC$. Se injektoi sen
omaan lokaaliin MeshiinsC$.
Koska Oulun reitittimen konfiguraatiossa on tarkka sC$C$ntC6 "airgap-*", se
nappaa paketin lokaalista meshistC$ ja kirjoittaa sen USB-tikulle (FS
Transport).
Kun Airgap-holvi vastaa (ja vastaus luetaan USB-tikulta takaisin Oulun
reitittimeen), paketin targetId on alkuperC$isen kysyjC$n selain (esim.
browser-app-123).
Oulun reititin ei tiedC$ missC$ besides browser-app-123 on, joten se heittC$C$
sen omaan default-reittiinsC$ (takaisin Helsinkiin).
Helsinki ottaa vastauksen vastaan, lC6ytC$C$ selaimen TCP/WS-yhteyden
pC$C$stC$ ja palauttaa datan!
Kaikki tC$mC$ tapahtuu ilman minkC$C$nlaisia monimutkaisia ARP-tauluja tai
dynaamisia reititysprotokollia. Se perustuu puhtaasti verkon Flooding-mekanismi
in, TTL-laskuriin ja Default Routeihin. Koska jokaisessa HybridMeshNode
-instanssissa (myC6s nC$issC$ OOB-reitittimissC$) on this.seenMessages
-vC$limuisti, verkkoluuppeja (missC$ kaksi reititintC$ pompottelevat
default-pakettia loputtomiin edestakaisin) ei voi koskaan syntyC$.