You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Today every node discovers the mesh independently. B6.1 Phase 2's peers query is a small step toward sharing - when I successfully probe you I ask "who do you know?" and seed your neighbours as via:<you> candidates I then probe myself, so node existence propagates one-hop-at-a-time across the probe graph. What's missing is route-state sharing: "I successfully reached X via Y at hop-count N, save yourself the discovery cost." That's the AODV → DSDV/RIP step deliberately deferred so far.
The trade-off is airtime. Passive-flood (B5 default) is "learn from what you see anyway, transmit nothing extra"; real route advertisement means periodic gossip that eats into the B7 discovery budget even when nothing changed. Cheapest middle ground: piggyback a small reachability TLV on the existing peers response (or beacon), so a single conversation that already had to happen carries route info as a free side-effect.
Axes worth thinking about
When to gossip. Tie to B7 strategies - a new Overnight route-gossip window lets nodes do the heavier "here's my full reachability table" exchange during local quiet hours. Default could be: piggyback every conversation cheaply year-round, plus one fuller exchange overnight.
Bearer choice. Topology info is broadcast-shaped:
HF NVIS broadcast - fits B6.2 solicit infrastructure; one node transmits its known-routes table on the beacon channel and every receiver in the NVIS footprint absorbs it. Asymmetric reach is the catch.
Fountain codes (see also F2.5 - Fountain codes for broadcast / HF / multi-path #138). DAPPSv1 is acked point-to-point so fountain codes were rejected for messages, but broadcast topology gossip is exactly the unacked-broadcast shape they were built for. Same library covers both.
Trust. Amateur regs require call-sign ID so the originator is known; whether to trust the reachability claim is separate. Cheapest: "treat advertised routes as candidates, re-probe before believing." Same shape as B6.1 Phase 2's via:<callsign> candidate handling.
Negative info. "I lost the link to X" is just as load-bearing as "I gained it." Cheapest carrier: per-destination sequence numbers + periodic re-ad - if a destination disappears from the latest table, receivers age it out after N missed cycles.
Wire shape (sketch only)
Extend peers with optional route <callsign> hops=<n> via=<via-callsign> seq=<n> lines, terminated as today by end. Forward-compat - older nodes ignore unknown line types.
Per-destination row in a new routedigest table with (Destination, ViaCallsign, Hops, AdvertisedBy, AdvertisedAt, SeqNo) so the resolver can prefer learned-from-gossip routes when no direct probe row exists, treating them as second-class evidence (lower confidence than a probe-confirmed reach).
Status
Sketch. Worth doing once B8's airtime cost is cheaper than the discovery cost it replaces - i.e., once we have enough nodes that the per-pair probe matrix is meaningfully wasteful. With the current operator population (author + a handful) it's premature.
Migrated from plan.md Phase B8 section (sketch) and the matching scratchpad bullet.
Idea
Today every node discovers the mesh independently. B6.1 Phase 2's
peersquery is a small step toward sharing - when I successfully probe you I ask "who do you know?" and seed your neighbours asvia:<you>candidates I then probe myself, so node existence propagates one-hop-at-a-time across the probe graph. What's missing is route-state sharing: "I successfully reached X via Y at hop-count N, save yourself the discovery cost." That's the AODV → DSDV/RIP step deliberately deferred so far.The trade-off is airtime. Passive-flood (B5 default) is "learn from what you see anyway, transmit nothing extra"; real route advertisement means periodic gossip that eats into the B7 discovery budget even when nothing changed. Cheapest middle ground: piggyback a small reachability TLV on the existing
peersresponse (or beacon), so a single conversation that already had to happen carries route info as a free side-effect.Axes worth thinking about
Overnightroute-gossip window lets nodes do the heavier "here's my full reachability table" exchange during local quiet hours. Default could be: piggyback every conversation cheaply year-round, plus one fuller exchange overnight.via:<callsign>candidate handling.Wire shape (sketch only)
Extend
peerswith optionalroute <callsign> hops=<n> via=<via-callsign> seq=<n>lines, terminated as today byend. Forward-compat - older nodes ignore unknown line types.Per-destination row in a new
routedigesttable with(Destination, ViaCallsign, Hops, AdvertisedBy, AdvertisedAt, SeqNo)so the resolver can prefer learned-from-gossip routes when no direct probe row exists, treating them as second-class evidence (lower confidence than a probe-confirmed reach).Status
Sketch. Worth doing once B8's airtime cost is cheaper than the discovery cost it replaces - i.e., once we have enough nodes that the per-pair probe matrix is meaningfully wasteful. With the current operator population (author + a handful) it's premature.
Migrated from
plan.mdPhase B8 section (sketch) and the matching scratchpad bullet.