[Spread-users] I need help to configure a spread network

John Schultz jschultz at spreadconcepts.com
Tue Nov 16 14:30:15 EST 2010


Yes.  The number of messages sent on the network for client-daemon communication has nothing to do with how you define your Spread segments.  Client-daemon communications are solely determined by where your clients reside in relation to the daemons to which they connect.

Configuring Spread segments allow you to leverage IP multicast and/or broadcast for communication amongst your daemons only.

Cheers!

-----
John Lane Schultz
Spread Concepts LLC
Phn: 301 830 8100
Cell: 443 838 2200

On Nov 16, 2010, at 1:58 PM, Pablo San Miguel wrote:

Quoting "For example, if my configuration is a single Spread daemon and all my clients are remote, then when a client sends a message to a group, it traverses a TCP/IP link from the client to the daemon and then that message is sent N times on TCP/IP links to each of the members of that group." 

So in summary... when I have different clients, and all of them in remote machines, I end up sending one TCP message for each client, whatever if I create 2 spread segments or 1 multicast segment? (after I wrote you the last mail, I created one segment with a multicast address, and 2 public IPs from 2 machines and it worked too, as having 2 spread segment, one for each subnet)

Thanks,

Pablo San Miguel


2010/11/16 John Schultz <jschultz at spreadconcepts.com>
Generally, Spread will not work when mixing "public" and "private" subnets.  Spread assumes that each of the daemons can directly communicate with all the other daemons in the configuration file.  That assumption is usually broken when you mix private and public networks and will likely cause Spread to malfunction.  Now, you can certainly have a spread configuration that is solely within a private network.  You could, for example, set up a configuration in the private network behind your router and that should work fine.  However, trying to hook those daemons together with other daemons out on the public internet will almost surely not work as intended.

To your second question, Spread will use an IP broadcast or multicast address for data dissemination between daemons WITHIN a Spread_Segment.  Of course, your network must be set up to allow for such a broadcast or multicast for that to work.

Clients connect to a Spread daemon either locally (i.e. - on the same machine) or remotely through TCP/IP.  If lots of clients are using the same daemon, are in the same group and a message is sent to that group, then that message will be sent point-to-point from the daemon to each of the receiving clients.

So, from the clients' perspective Spread is a multicast service.  If a bunch of clients join the same group, then they all get the same messages (usually).  However, what traffic actually happens on the network to enable that service strongly depends on how your networks are deployed, the way you've configured Spread to use them, where your clients reside and how they connect to Spread.

For example, if my configuration is a single Spread daemon and all my clients are remote, then when a client sends a message to a group, it traverses a TCP/IP link from the client to the daemon and then that message is sent N times on TCP/IP links to each of the members of that group.  If, on the other hand, all the clients were on the same machine as the daemon, then no traffic would need to go on the network at all as all that communication could occur through Inter Process Communication.  If we take this second example a step further and have several daemons in the same Spread_Segment, but all clients still connect to their local daemon, then an additional IP multicast or broadcast would occur as the daemons disseminate the messages amongst themselves before delivering locally to their clients.

I hope that helps.

Cheers!

-----
John Lane Schultz
Spread Concepts LLC
Phn: 301 830 8100
Cell: 443 838 2200

On Nov 16, 2010, at 12:35 PM, Pablo San Miguel wrote:

Thanks John, your was too useful, so I want to go to the next step. I could connect 2 machines not belonging to the same LAN using their public IPs following your instructions.
Now I have 2 possible scenarios (or questions)
1) What happens when I have a public IP who refers to a router, and a lot of machines behind that router with private IPs. For example if my public IP were 200.10.20.30 I have a lot of machines with their IPs in the range of 10.10.150.x. Is there a way to point those machines or include them inside the spread.conf? (I read the mailing list a similar question from march 2002 and at that moment it seemed to be impossible)
2) What I'm really interested in (and that's why I found the spread toolkit searching in the internet) is to create a network to transmit multicast to their members. I read in the config file that there are some segments dedicated to multicast, but again, I don't understand how to connect machines in different places to make them ready to receive multicast transmissions.

Having machines grouped under the same .conf and join them into a group is the same that configure a multicast Spread_segment? Or do I need a multicast config to achieve a multicast transmision.

My goal is to have a "server" machine, and a lot of "clients" connected to that server listening multicast transmissions. Will spread help me with it?

Thanks a lot for your time,

Pablo San Miguel



2010/11/15 John Schultz <jschultz at spreadconcepts.com>
Check out the sample.spread.conf file in the docs directory.

Essentially, you will want to create one Spread_Segment for each subnet that you have.  If all your daemons are in different subnets, then you will have one Spread_Segment per daemon (i.e. - singletons).

Cheers!

-----
John Lane Schultz
Spread Concepts LLC
Phn: 301 830 8100
Cell: 443 838 2200

On Nov 15, 2010, at 2:29 PM, Pablo San Miguel wrote:

Hello,
      I'm trying to configure a spread network to connect a couple of PCs which they are not in the same LAN, and I can't find an example that help me with this issue. Can you help me with it or tell me where can I find an example? I'm reading all the messages in the mailing list, but it's taking me a long time to read message by message and still can't find anything that can help me.
Thanks in advance

Pablo San Miguel





-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 3805 bytes
Desc: not available
Url : http://lists.spread.org/pipermail/spread-users/attachments/20101116/a1da8fd8/attachment.bin 


More information about the Spread-users mailing list