[Spread-users] changing topology, security, and firewalls

Jonathan Stanton jonathan at cnds.jhu.edu
Mon Apr 1 23:04:29 EST 2002

On Mon, Apr 01, 2002 at 08:26:43PM -0500, Clark C . Evans wrote:
> Ok, so inter-segment communication occurs using only between the
> computers listed first in each segment... or did I read this wrong?
> If I'm right, how is failure handled in this case?  Thank you 
> for explaining the NAT hack.   I can see that I have _alot_ to
> learn about networking practicalities.  ;)

Well...... One of the "hackish" aspects of that idea is that you lose some
of the fault-tolerance that Spread normally provides. Since only the first
machine can "physically" be reached by other segments machines if it goes
down then the segments become disconnected. If they all have normal ip
addresses (as Spread is usually configured) then if the first one fails the
second one becomes the 'gateway' machine automatically. In the case of the
hack, that second machine only has a private IP address so it will not be
able to successfully talk with the other site.

Fundementally, the difficulty is that NAT is based on the client-server
model where only the server needs a public address (and it works just fine
for those settings, I use it myself at home). But in peer-to-peer or
multicast type applicationws like Spread, all of the nodes are like servers
so they all want public ip addresses.

To specifically answer your question, the first machine is the only 'target'
of messages that originate at the other segments, but any machine can
initiate a message to send to another segment. 

> | This sounds really interesting. Do you have a specifiation for 
> | what services you think a message bus should include?
> The specification for YAML is at http://yaml.org/spec as for which
> services, I'm mostly focusing on my pet application at this time.
> It seems that YAML+SPREAD should be a nice match.  We have a minimal
> python binding, a fairly good Perl binding, and a Java binding in the
> cooker.  This should allow for language/platform independent 
> "structured" messages to be packed/unpacked into native data
> structures, with SPREAD they can now move objects between processes

Thanks, I'll have to read through your website tomorrow. 

> and replicate them.  It's quite neat... when I have something working
> I'll send out a notification (but it may be a while as I'm trying
> to launch a company which sucks most of my "free" time *sigh*).  I 
> hope this is a good response to your question.

I can definitely understand the work required for starting a company. Good

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

More information about the Spread-users mailing list