leo.blog();

Smolmesh2

Packet routing

To communicate with a node, you don’t need to be directly connected to it. As long as there is a path between two nodes, directly or through other peers, you can talk to it.

Route discovery

Here’s what we currently do.

  1. Flood a packet through the network.
  2. Nodes record which peer the packet came from first. This is considered the “fastest path” to that node.
  3. When we want to route a packet to that node, we send it through the peer that is the fastest.

Addressing nodes

In the network, each node is given an IPv6 address. Each node address has the IPv6 prefix fd00:.

There is a translation from human-readable names to IPv6 addresses. This is done by hashing the name with the SPECK cipher.

The reference client supports multiple transports. The default transport uses TCP. Every peer connection is encrypted and authenticated using the SPECK cipher.

Task list

Leave a Comment