Skip to content

Routing

Sprit3Dan edited this page Sep 3, 2019 · 2 revisions

Packet Routing is based on the principle of onion routing.

  A B C D E
A 1 1 0 0 0
B 1 1 0 0 1
C 0 1 1 1 0
D 0 0 1 1 0
E 0 1 0 0 1
    A
    |
E - B - C - D

If peer A wants to send packet to peer D, he:

  • Tries to get a tunnel to D.
  • So that, he sends a packet to the only known peer of him, B.
  • B, in turn, broadcasts event further - to E & C.
  • no known peer from E, skipping.
  • C -> D.
  • Backwards straight to A.
On each hop, the event is populated with a public key & encrypted, so that:
  • Each peer in the tunnel knows how to send the packet back.
  • No one in the middle knows each other.
Also, on each step, check for an active tunnel is initiated. Tunnels may concatenate for a longer tunnels. If a peer knows a tunnel already, he sends the response back immediately.
Clone this wiki locally