In a true mesh network, devices connect directly, dynamically and non-hierarchically.
Each node allows for every node to participate and self-configure.
However, the IOTA network consists of nodes that are both open and closed to peering and also may restrict that peering according to manual tethering between individuals.
Since node relationships are not openly available (APIs are open or closed) and peering may be open/restricted, is IOTA better described as a conventional star/tree local/wan network?
See: Wikipedia: Mesh networking
1. The IOTA IRI node software does not have any functionality out-of-the-box that enables it to be added to the network.
Neither the default configuration connects to peers other than those manually specified (none provided by default). Nor does it allow incoming connections (by default) other than those manually specified.
The result of this is that the peers that are likely to added manually are not very diverse and not very many. Peer discovery and self-organizing behaviour is entirely missing by default and there is no software coded that actually performs automatic peering on full-nodes.
2. In a true mesh network, peers can self-organize. In IOTA, peers are manually 'mutually tethered'.
It is not possible for the network to self-organize like a true mesh network because peers can not necessarily obtain 'getNodeInfo' and/or other essential peering access via 'addNeighbors' and 'removeNeighbors' etc.
For example, if I add someone's node as my neighbor, unless it is a special node, the neighbor is not configured to automatically send me peers and enable me to add those peers as well.
Even if a peer is manually added and the other node's owner reciprocates to add me back, there is no further peer sharing or discovery in the software to ensure that peers are shared throughout the network.
In fact, the api '--remote' is restricted by default and peering is entirely dependent on the configuration file. The exception to this is 2nd layer services, such as Bolero or Nelson, that run on the same machine and can configure the peer by escaping the api restrictions.
3. Peering is entirely manual (as in a star-hub) and/or done by 2nd layer solutions (such as Bolero, Nelson, etc.) that run on the same machine as the node and automatically perform manual tethering.
Full nodes are configured to reject any requests from neighbors that weren't mutually tethered with them. That is a notable departure from other mesh networks and from notable p2p networks.
footnote: this question is without prejudice to mesh networks or star/tree networks. I am not supposing that one is better than the other.