I never seen a full explanation of how the server connects to these "introduction" nodes to the client, I understand the idea of the tor path ending with the exit node that's then resent back to the client but not so much how it's done with onion links

How does the network even know where to begin to connect too, what's the network path from the client to the server?

Sorry if it's such a general question but I just can't seem to find it asked anywhere else :<

In other words

How does the network know where to connect to inorder to direct traffic?


The Tor Project has a nice overview page of how onion services work: https://community.torproject.org/onion-services/overview/

Here is my own attempt at reading the specification

Based upon the public key extracted from the .onion domain and a random value (that changes over time), math can be done to figure out which of the many thousands of nodes have a "descriptor" (a file) containing the Introduction Points. Tor will download this descriptor, and inside it will be how to connect. The descriptor has many ways of specifying the Introduction Points, one of them is just directly the IPv4 address. Once Tor knows this it makes a connection to the Introduction Point and asks it to forward a message telling the Onion Service that it would like to connect and the "Rendezvous Point". At some point before this, Tor has also selected a random node to be a "Rendezvous Point". Once the Onion Service gets the message forwarded by the Introduction Point, it will connect to the RP and the connection is finished.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.