Node = Relay = Server?
If your destination doesn’t have a domain or a public static IP address, some of the communication has to go through a middleman. Which is fine…
Node is a known peer that know a lot of other peers who's IP address we know and who will accept all connections. It is not a Relay and anyone can become a Node.
Check out Kademliya algorithm.