What the two terms mean
Mesh topology describes a network where nodes connect to several others instead of all connecting to one hub. Within that shape there are two ends of a scale.
In a full mesh, every node has a direct link to every other node. Any message reaches its destination in one hop, and if one link fails, every other link is untouched.
In a partial mesh, each node links to only some of the others. A message for a node that is not a direct neighbour travels through one or more intermediate nodes that relay it. Most networks people call a mesh network are partial meshes.
Why a full mesh stops scaling
The cost of a full mesh is the number of links. Every new node needs a link to every node already there, so the link count grows much faster than the node count.
Internet routing has a well-known example. RFC 4456 says that BGP routers inside one autonomous system typically must be fully meshed. With n routers, that means maintaining n*(n-1)/2 sessions, and the RFC states that this full mesh requirement does not scale when there are many routers exchanging a lot of routing information. Its answer is route reflection: some routers pass routing information on for others, which removes the need for every router to hold a session with every other.
The same pressure applies anywhere links cost something to set up and keep alive, whether that is a routing session, a radio connection, or a slot in a device’s limited list of peers.
Why wireless meshes are partial
In a wireless network, links are not chosen freely. Two devices are linked only if they can hear each other. RFC 2501, the IETF’s document on mobile ad hoc networks, describes the result as a random, multihop graph that depends on the nodes’ positions, transmission power, coverage patterns and interference, and that changes as nodes move or adjust their radios.
So a radio mesh becomes partial on its own as soon as devices spread beyond each other’s range. RFC 2501 also lists network connectivity, the average number of neighbours per node, among the essential parameters to vary when evaluating a routing protocol.
Being partial is what makes a radio mesh useful. Relaying lets a message reach a device far outside the sender’s range, which a full mesh of radios could never do.
Structured partial meshes
Many standards do not leave the partial mesh to chance. They pick a subset of nodes to carry traffic for everyone else.
- Thread. In the OpenThread primer, nodes are either Mesh Extenders, which forward packets for other devices and keep their radio on, or End Devices, which talk mainly to a single Mesh Extender and do not forward. The Mesh Extenders must form a connected dominating set: there is a path between any two of them that stays inside the set, and every End Device is directly connected to one.
- Bluetooth Mesh. The Bluetooth SIG’s FAQ says its managed flood uses only mains-powered nodes as relays, while low-power nodes such as battery sensors do not relay.
- OLSRv2. In RFC 7181, each router selects multipoint relays (MPRs) among its neighbours that together cover its two-hop neighbourhood. Control traffic is then forwarded only by those relays, which reduces the number of transmissions needed to spread information across the network.
Each design keeps the redundancy of a mesh while stopping every node from carrying every message. When one relay disappears, the network can choose another, which is what makes a mesh self-healing.
Full and partial side by side
| Full mesh | Partial mesh | |
|---|---|---|
| Links | Every pair of nodes | Each node to some neighbours |
| Hops between two nodes | One | One or more, through relays |
| Cost of adding a node | A new link to every existing node | A few new links |
| Redundancy | Highest | Depends on how many paths each node keeps |
| Where it appears | Small groups of routers or servers | Radio meshes, large networks |
Choosing between them
A full mesh suits a small, fixed set of nodes where links are cheap and the shortest path matters, such as a handful of servers or routers in one site. Beyond that, the link count makes it impractical.
A partial mesh suits almost everything else, and in wireless networks it is the only option once devices spread out. The design questions then become how many neighbours each node keeps, which nodes relay, and how the network finds a new path when one disappears. Those choices decide how big a mesh can get before relaying overhead starts to dominate.