sampad1370 / lidgren-network

Automatically exported from code.google.com/p/lidgren-network
0 stars 1 forks source link

Peer-to-peer Routing #4

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Get three computers in different subnets, that A is connected to B, and 
B to C, but the C is unreachable from A
2. Connect each other through discovery or direct connect
3. Send message from A to C
4. ??? :)

What is the expected output? What do you see instead?
It would be nice that peers organize and maintain some global peer list 
with peer IDs (IP endpoints woudnt do, as they're multiples per machine 
and generally not unique)

What version of the product are you using? On what operating system?
2008-09-23 release :)

Please provide any additional information below.

Original issue reported on code.google.com by wizzard0@gmail.com on 13 Oct 2008 at 11:46

GoogleCodeExporter commented 9 years ago

Original comment by lidg...@gmail.com on 21 Dec 2008 at 11:43

GoogleCodeExporter commented 9 years ago
We could potentially adapt a Chord like ring topology, which is what I am in the
middle of implementing on top of Lidgren and NetPeer.

Each netpeer instance will form a chord ring, which means that each netpeer 
would be
given a unique identifier (on current implementations this is the hash of the 
IP/PORT
which should be unique per machine unless NAT'd). We can also have the ability 
for
users to specify an ID via a string, which is then hashed into a 64 bit integer.

This will allow us to hold a massive ID space within the ring. Everything would 
be
implemented (finger tables and all) to minimize routing as specified in the 
Chord
documentation.

I am, however, unsure of specific implementation details such as adopting an 
RPC type
deal, or whatnot so we can employ a request/response mechanism for determining 
which
nodes in the ring are responsible for what data.

Just an idea.

Original comment by Compy...@gmail.com on 25 Feb 2009 at 6:09