[Spread-users] Two questioins

Jonathan Stanton jonathan at cnds.jhu.edu
Tue Mar 19 14:33:44 EST 2002

On Tue, Mar 19, 2002 at 01:36:31PM -0500, Huaigu WU wrote:
> Hello, all:
>    When I used Spread to send message mass, I met two questions.
>   1. when I multicast  about  4000 messages using Spread, spread error
> always occured, and the comment is "SP_error: (-8) Connection closed by
> spread".  I don't know what's wrong with it.

This is the flow control problem that John mentioned. Your receiver process
(which can also be the sender if you join the group you are sending to) cannot
keep up with how fast the sender is sending messages. So after buffering about
1000 messages for the slow receiver, spread cuts the connection (which is the
-8 error you receive)

You need to limit how fast your sending application sends to not be faster
then the receiving application can handle the messages.

 >   2. I want to create a group crossing routers, how can I config the
> spread? for example, in the first LAN, the local IP address is
> 192.168.2.X. and in another LAN,the local IP address is also
> 192.168.2.X. and these two LAN connect to the Internet by routers. and the
> IP address of these routers are 62.168.x.x and 132.129.x.x.  Can I create
> a group in this environment? and how can I do it?

If the lans are all behind NAT (with private IP addresses) then Spread doesn't
support that configuration directly. All of the daemons need to be running
valid IP addresses that are globally accessible. 

In practice I think it might be possible to have the first daemon in each
configured segment having a valid (not 192.168.*) address and the rest having
private addresses behind a NAT. You will lose some fault-tolerance (if the
first host in the segment goes down then entire segment will be disconnected)
but it might work. I've never tried something like this so there might be some
small tweaks necessary. 

In general Spread was designed for an Internet model (not a private NAT model)
and it is a peer-to-peer system, so all the peers have to be able to directly
reach and identify each other. Since NAT breaks this model, it is
difficult for multi-master services like Spread to work there.


Jonathan R. Stanton         jonathan at cs.jhu.edu
Dept. of Computer Science   
Johns Hopkins University    

More information about the Spread-users mailing list