MANET and satellite are not the same problem¶
Both are multi-hop wireless networks without fixed infrastructure. Almost every other property differs — and the differences decide which routing mechanisms make sense, what the benchmark must control for, and what may honestly be claimed.
This page exists because the satellite track (#192) kept producing findings whose real cause was "this regime does not work like the one the protocol was designed for". Rather than re-derive that each time, it is written down once. Every row of the difference table below changed a concrete decision in this repository — a defect, a parameter, a benchmark control, or an architectural call.
1. Where the two regimes sit¶
Infrastructure-free networks, ordered by how knowable the topology is. The two this repository cares about are at opposite ends.
flowchart LR
subgraph axis [" topology unpredictable ──────────▶ computable years ahead "]
direction LR
A["<b>MANET</b><br/>random waypoint<br/>shared radio"]
F["FANET<br/>3D, smooth<br/>trajectories"]
B["VANET<br/>road-constrained"]
C["WSN / IoT<br/>static, energy-bound"]
D["GEO<br/>one hop, ~119 ms"]
E["<b>LEO ISL mesh</b><br/>+Grid, 4 links/node"]
A ~~~ F ~~~ B ~~~ C ~~~ D ~~~ E
end
style A fill:#e2f0ed,stroke:#0f7f70,stroke-width:2px
style E fill:#e8e6f8,stroke:#5b4fc4,stroke-width:2px
GEO sits near the deterministic end but is a different shape again: a bent-pipe hop to a gateway, with essentially no path to choose. That is why SNS3 — the most mature ns-3 satellite module — is the wrong substrate for routing work (#199).
The intermediate families change the evaluation, not the protocol: the same binary runs everywhere, but each family constrains mobility differently, so each needs its own mobility model, scenario shape, and — sometimes — metrics before a number from it means anything.
| Family | Mobility | What it changes | Status in this repo |
|---|---|---|---|
| MANET | unconstrained random (RWP), 1–20 m/s, 2D | nothing — the regime the 2004/2007 sources designed and tuned for | supported: the paper and thesis fields (benchmarks) |
| FANET | 3D smooth trajectories (Gauss-Markov standard), 10–30 m/s, sparse | third dimension (our nodes sit at z = 0 today), faster link churn, energy budgets that matter | not yet: Gauss-Markov + 3D are the #61/#295 scope. Priority rationale: 2024–2026 FANET surveys evaluate AntHocNet directly and rate it strongest among the classical protocols they test — the family where the protocol's reputation is currently made |
| VANET | road-constrained (Manhattan, SUMO traces), 10–40 m/s, platooning | churn is fast but street-shaped; density swings block-by-block; RSU/infrastructure hybrids common | not yet: Manhattan / SUMO trace-driven mobility is in #61/#295 scope |
| WSN / IoT | static or near-static, energy-bound | routing problem becomes energy/sleep scheduling, not topology discovery | out of scope (energy-aware ILinkMetric is the nearest hook, #145) |
| LEO ISL mesh | deterministic orbits | the §3 inversion: topology known, traffic unknown | supported as a static +Grid snapshot; dynamics are epic #297 |
The two supported regimes in detail:
| MANET — paper field | MANET — thesis field | Satellite — ISL +Grid | |
|---|---|---|---|
| Harness | anthocnet-compare --scenario=paper |
anthocnet-compare --scenario=thesis |
isl-grid |
| Nodes / field | 50 · 1500×300 m (Broch '98 calibration field) | 100 · 2400×800 m (Ducatelle 2007 §5.1.3) | rows×cols torus (default 6×6), static snapshot |
| Mobility | RandomWaypoint, 1–20 m/s, pause 30 s | RandomWaypoint, 1–10 m/s, pause 30 s | none — topology fixed by construction |
| Medium | 802.11b @ 2 Mbit/s, shared broadcast channel (disk or two-ray propagation) | same | point-to-point ISLs, 10 Mbit/s, 5 ms/link, one /30 subnet each, degree 4 |
| Topology | unknown — discovered by ants | unknown — discovered by ants | deterministic — degree/link count asserted every run |
| Loss | collisions, retry exhaustion, mobility | same | none on the link; any loss indicts the stack |
| Traffic | 20 CBR flows × 512 bps | 20 CBR flows × 2048 bps | 4 CBR flows × 4096 bps + adversarial cells (scripted link cut, corridor congestion) |
| Baselines | AODV / OLSR / DSDV on identical seeds | same | same, plus (planned) precomputed shortest-path control (#216) |
| Results | benchmarks.md | benchmarks.md | benchmarks/satellite/isl-grid.md |
2. The two topologies¶
A MANET node's degree depends on who happens to be nearby. Neighbours are unknown until a hello arrives, and there is one interface on one shared broadcast domain.
graph LR
n1((n1)) --- n2((n2))
n2 --- n3((n3))
n1 --- n3
n2 --- n4((n4))
n2 --- n5((n5))
n2 has degree 4 here, n4 degree 1 — and both change as the nodes move.
A satellite's degree is fixed by construction: two intra-plane links (fore and aft, near-constant length) and two cross-plane links (port and starboard, length varying with latitude).
graph TB
fore["fore<br/><i>same plane</i>"] --- SAT(("SAT"))
SAT --- aft["aft<br/><i>same plane</i>"]
port["port<br/><i>adjacent plane</i>"] --- SAT
SAT --- stbd["starboard<br/><i>adjacent plane</i>"]
Tiled, that is a +Grid torus — the standard LEO abstraction, and what
ns3/examples/isl-grid.cc builds:
┌───────────────────────────┐ ← cross-plane wrap
│ │
────●───────●───────●───────●────┐ ← intra-plane wrap
│ │ │ │ │
────●───────●───────●───────●────┤
│ │ │ │ │
────●───────●───────●───────●────┘
│ │
└───────────────────────────┘
every node: exactly 4 ISLs, each on its own /30 subnet
Measured on the 4×4 harness: 16 nodes, 32 links — exactly 2 contributed per node, hence degree 4. That count is asserted on every run (#226), because a silently-wrong torus still delivers ~100% of packets and would produce entirely plausible numbers for the wrong network.
3. The inversion that explains everything else¶
| What is unknown | What is given | |
|---|---|---|
| MANET | the topology — nodes move unpredictably, links appear and vanish, no node can know the graph | traffic demand is usually treated as given |
| LEO constellation | the traffic — where demand lands (ocean crossings, ground-station clustering, diurnal peaks) does not follow from orbits | the topology, for any second of the next decade, from the orbital elements |
Move a routing protocol from one regime to the other and you take away the problem it was designed to solve, then hand it a different one.
That is why a claim about ant-colony routing on a constellation has to be about
congestion and disruption, never about finding routes — the conclusion
reached independently in
satellite-routing-prior-art.md §3, where the
published ACO-on-LEO literature turns out to have converged on load balancing
for exactly this reason.
4. The differences that bite¶
| Property | MANET | LEO satellite | Consequence in this repo |
|---|---|---|---|
| Topology | unknown, stochastic | deterministic from orbital elements | the control to beat is a precomputed shortest path (or OPSPF), not AODV — #216 |
| Medium | shared broadcast radio, 802.11 DCF, contention | point-to-point ISL, one peer per link | no contention ⇒ expected values are analytic, not literature-derived — the satellite anchors in benchmarks/methodology.md |
| Interfaces per node | one | four, each on its own /30 |
exposed a real defect: the data path used interface 0 for every next hop — #203 |
| Node degree | varies with density, 1 to many | exactly 4 | degree becomes an assertable invariant — #226 |
| Loss | collisions, retry exhaustion | essentially none on the link itself | anything under 100 % delivery indicts the stack, not the channel |
| Delay | queueing/contention dominated; T_hop = 3 ms |
propagation dominated; 3–18 ms per ISL, GEO ~119 ms | delay becomes predictable: 2 hops × 5 ms → measured 10.39 ms. Also means the 802.11-calibrated timers are mis-sized — #205 |
| Neighbour discovery | hello beacons are the only way to know | the peer is fixed and known from geometry | 1 Hz hello on a known peer is overhead: NRL 12.18 with nothing to discover — #204 |
| Link failure | random, mobility-driven, constant | mostly scheduled (polar seams, visibility windows) | only unscheduled failure is interesting; the scheduled kind is already in the control's tables |
| Scale | tens of nodes, diameter ~5 | ~1584 per shell, diameter 20–40 | reactive flooding cost is the open scaling question — #207 |
| Congestion signal | wifi MAC queue occupancy | no wifi MAC exists on an ISL | the A2 metric is inert on satellites until the signal is generalised — #206 |
| Realistic baseline | AODV, OLSR, DSDV | snapshot routing, OPSPF, segment routing | terrestrial protocols become a sanity row, never the claim — §2.2 of the prior-art survey |
5. What this means for the algorithm¶
AntHocNet's mechanisms split cleanly along this line:
- Reactive discovery — flooding forward ants to find a path nobody knows — is its answer to unknown topology. A constellation does not have that problem: the +Grid is a known graph and every node can compute where a destination is.
Be precise about what that does and does not buy, though. Knowing the topology is not the same as a node already holding a next hop for a given destination: it still has to acquire direction, and on 1584 nodes with four links each, acquiring it by flooding is the expensive way. The correction is not "discovery is free" — it is that discovery here is steerable rather than blind, because the direction is derivable instead of unknown.
That is exactly the gap enableDirectedReactive
(configuration.md) probes, and it does so without
assuming a constellation: it steers along the diffused virtual gradient, which
is pheromone the node already received, not a coordinate. So the same switch
is testable on a MANET, where it degrades to "no gradient yet, flood as
before" rather than to "wrong answer".
- Multipath with delay-weighted pheromone is a different mechanism
entirely: it responds to load, and load is precisely what orbits cannot
predict.
So the defensible position is not "ACO works on satellites" but "one half of it addresses a problem that exists there, and the other half addresses one that does not". That is narrower, more honest, and testable.
It is also contested. Segment routing already performs congestion-aware traffic
engineering on deployed hardware without per-packet stochastic decisions. What
remains distinctive is that pheromone needs no central traffic view — which
matters exactly when that view is stale or unreachable, i.e. under unpredicted
failure and handover churn rather than under steady-state congestion. See
satellite-routing-prior-art.md §5.1.
6. What runs where — mechanism × regime¶
Section 5 gives the argument; this table gives the inventory. One attribute set
(defaults in configuration.md) serves both regimes — no
per-regime build, no per-regime preset. What differs is which mechanisms are
live: some bind to the Wi-Fi MAC and physically cannot fire on a
point-to-point ISL, and some answer a question the regime doesn't ask. The
harnesses set no protocol attributes; every A/B arm goes through explicit
--ns3::anthocnet::RoutingProtocol::<Attr>=<v> overrides
(#177), so a table row
below describes the default run of that regime's harness.
| Mechanism (attribute) | Default | MANET (Wi-Fi broadcast) | Satellite ISL (p2p grid) |
|---|---|---|---|
Reactive forward-ant flood (EnableReactive) |
on | live, essential — the only way to learn a topology nobody knows | live, but steerable-not-blind is the honest framing (§5): the flood re-derives direction the geometry already gives |
Proactive ants (EnableProactive, ProactiveInterval 10 s) + diffusion (EnableDiffusion) |
on | live — path maintenance and improvement during a session | live — diffusion carries the virtual gradient across the grid; it is what EnableDirectedReactive would steer along |
Proactive emission gate (ProactiveVirtualMargin) |
0 = off | off deliberately — the thesis's 10% gate measured harmful (#180) | same |
Hello beacons (HelloInterval 1 Hz) |
on | live, essential — sole neighbour-discovery mechanism | live but redundant: one fixed, known peer per link; measured cost NRL 12.18 on a churn-free grid (#204) |
Multipath acceptance (EnableMultipath, a1 AntAcceptanceFactor 0.9, a2 AntAcceptanceFactorNewHop 2.0) |
on | live — disjoint paths when density allows | live — the torus has equal-length corridors by construction; this is the half of the protocol with a real satellite claim (§5) |
Local repair ants (EnableRepair, RepairWaitFactor 5, RepairTimeout 1 s) |
on | live, constantly exercised — mobility breaks links | live, exercised only by unscheduled failure — the --breakLink cell (#260); scheduled failure belongs to the control's tables |
Link-failure notifications (EnableLinkFail, cooldown LinkfailNotifyInterval 5 s) |
on | live | live |
| Failure detector A — hello timeout | always on | live | live (and sufficient: Ipv4::SetDown on a cut link also raises the interface event) |
Failure detector D — Wi-Fi MAC transmit failures (EnableMacFailureDetector, TxFailureThreshold 3) |
on | live — the fast detector (ADR-0008) | inert — subscription requires a WifiNetDevice; a p2p ISL has none |
A2 congestion metric (EnableMacMetric, MacServiceAlpha 0.7) |
off | available — reads WifiMacQueue (AC_BE_NQOS) occupancy |
inert even if enabled — no Wi-Fi MAC queue to read; needs a generalised congestion signal (#206); the corridor experiments (#216) exposed the deeper attribution gap (#292) |
Directed reactive discovery (EnableDirectedReactive) |
off | A/B arm — no gradient yet ⇒ degrades to the stock flood | A/B arm — the regime this switch exists to probe (§5, #245) |
Pending-queue timing (QueueTimeout 3 s, ReconvHoldCap 200 ms, RepairHoldCap 0, ReactiveRetryInterval 0.25 s) |
#21/#103 frontier values; ReconvHoldCap re-picked at 200 ms by #371 |
live — tuned on this regime's delay tail | live but calibrated against 802.11 contention delays, not 5–18 ms propagation floors (#205) |
Goodness timing reference (HopTime 3 ms) |
thesis value (#88) | live — matches an unloaded 802.11 hop | mis-sized — an ISL hop is 5 ms of pure propagation before queueing (#205) |
Pheromone dynamics (Alpha 0.7, Gamma 0.7, BetaAnts 20, BetaData 20) |
shipped values (the β exponents are the thesis's, adopted on a measured A/B — #179) | live | live — and on a static grid the closed-form orbit of these constants is exactly reproducible (#216 derivation) |
Reading the table column-wise gives each regime's honest summary. MANET: everything live; the protocol is in its design regime. Satellite ISL: the discovery half runs but answers a solved problem, two Wi-Fi-coupled mechanisms (detector D, A2 metric) are inert, hello pays overhead for nothing, and the timing constants are calibrated for a medium that isn't there — while the multipath/load-response half faces exactly the problem the regime does have. That asymmetry is the satellite research programme (#192), not a defect list.
Provenance of the numbers¶
Measurements are from this repository's own CI, not from the literature:
isl-grid on a 4×4 torus gives 10.39 ms mean delay against a 10 ms
analytic floor (2 hops × 5 ms) and 5.1 ms at one hop, with 32 links
across 16 nodes and NRL 12.18 on a churn-free grid
(#214,
#237).
T_hop = 3 ms is the 2007 Ducatelle thesis value
(#88). The protocol
landscape and the ~119 ms GEO figure are sourced in
satellite-routing-prior-art.md, which also
records which of its claims have been checked against a full text and which
have not.