+ Reply to Thread
Results 1 to 4 of 4

Thread: Discover nodes on a network

  1. #1
    marshian's Avatar
    marshian is offline x10 Elder marshian is an unknown quantity at this point
    Join Date
    Jan 2008
    Location
    Belgium
    Posts
    526

    Discover nodes on a network

    I'm writing an application for which it would be very useful to discover nodes, but without being centralised. Basically, when my application starts it should inform other computers running my program that there is a new node with the given IP.
    The first thing I thought of were broadcasts, but they are limited to the LAN, while my program would benefit *a lot* if it could be done higher as well.

    For example:
    WAN1 consists of LAN1 and LAN2, a new node in LAN1 starts and connects to an already existing node in LAN2.

    Assume I don't have access to the routers who connect the LANs. Do any of you happen to know a way to accomplish this?

    Thanks in advance (:
    Real programmers don't document their code - if it was hard to write, it should be hard to understand.

  2. #2
    misson is offline x10 Spammer misson is a jewel in the rough
    Join Date
    Mar 2008
    Location
    Libertatia
    Posts
    2,506

    Re: Discover nodes on a network

    What constitutes peerage for your app? Are all hosts running it peers (as in P2P apps), or are there peer subgroups (as in some games)?

    You could try multicasting, though not all IPv4 routers & hosts support it.

    If you want an example of how someone else does it, consider Gnutella. Client communication is decentralized, but initial host discovery is accomplished by querying a host cache.
    Last edited by misson; 06-10-2010 at 03:58 PM.
    Be sure to read all pages linked in this post; they have further information that should prove useful. When asking for help, make sure you follow Eric Raymond's and Jon Skeet's guidelines for prompt, accurate responses. Please answer any questions I ask; they're not rhetorical (probably). Any posted code is intended as illustrative example, rather than a solution to your problem to be copied without alteration. Study it to learn how to write your own solution.
    Misson, not Mission.

  3. #3
    marshian's Avatar
    marshian is offline x10 Elder marshian is an unknown quantity at this point
    Join Date
    Jan 2008
    Location
    Belgium
    Posts
    526

    Re: Discover nodes on a network

    Thanks for your response, especially the Gnutella part would be interesting. My program would treat all peers equal, so there wouldn't be peer subgroups.
    I don't have the time to look into it at the moment, but I'll certainly do so when I can find the time (:
    Real programmers don't document their code - if it was hard to write, it should be hard to understand.

  4. #4
    misson is offline x10 Spammer misson is a jewel in the rough
    Join Date
    Mar 2008
    Location
    Libertatia
    Posts
    2,506

    Re: Discover nodes on a network

    Freenet has another approach: distribute known hosts through the peer network. It's far from perfect because the user must know of one node in the peer network (a chicken-and-egg problem, but it works well enough for Freenet, which works as a F2F network). The client can connect to that node and find other nodes. Freenet also works as an opennet, which it does by publishing nodes at a known URL.

    Another interesting network to look at is MorphMix, an anonymizing networks. According to the design paper,
    [T]o join, one must learn about at least one currently active node. This can be done via a local cache where the node tries contacting nodes that have been active previously, hoping that one of them is also active now. Another way to learn about other nodes is to query some nodes that are known to be always up. A third way is that there are some information servers that know about “many” currently active nodes
    The article "Observations on game server discovery mechanisms" published in Communications of the ACM might have a solution. You need an account to view it online, or you can go to your nearest university library.
    Be sure to read all pages linked in this post; they have further information that should prove useful. When asking for help, make sure you follow Eric Raymond's and Jon Skeet's guidelines for prompt, accurate responses. Please answer any questions I ask; they're not rhetorical (probably). Any posted code is intended as illustrative example, rather than a solution to your problem to be copied without alteration. Study it to learn how to write your own solution.
    Misson, not Mission.

+ Reply to Thread

Similar Threads

  1. Replies: 6
    Last Post: 12-17-2010, 08:35 PM
  2. How Did You Discover x10hosting?
    By jtwhite in forum Off Topic
    Replies: 42
    Last Post: 10-30-2009, 09:32 PM
  3. What does your network look like?
    By Smith6612 in forum Computers & Technology
    Replies: 4
    Last Post: 02-22-2008, 01:37 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
x10hosting free hosting for the masses
dedicated servers