[mnet-devel] Replacing EGTP with PB over SSL

icepick at icepick.info icepick at icepick.info
Wed Sep 17 21:15:17 BST 2003


I propose to replace EGTP/mencode with Twisted's PB over SSL.  I would like
to know what others think of this idea.

My Goals:
 * Less code to maintain
 * Better documentation
 * Don't drop any features in the process
 * Reusing network/crypto protocols that others have used (not a biggy)
 * No more C++ (yes!)
 * Coverting Mnet to use twisted 

Basicly PB fits into the space of EGTP handler/callback management and
mencode's object serialization.  SSL would fit into EGTP's link encryption.
Twisted's reactor would replace Asynccore/DoQ.

I really like Twisted.  The last weekend I coded up a Chord implemenation
using it and the networking stuff just made sense.  Simulating nodes was
clean and easy to do in my unit tests.  They've done a lot of work in that
area (simulating network stuff with in memory object). Even if we don't go
pb over ssl, perhaps pb over EGTPv1 protocol would be a good match.

Problems:

When I mentioned this Jim said:
 
    <evgen> icepick: until pb over ssl supports session cacheing you are on
    a fool's errand.  Perhaps you should have started by asking why EGTP was
    created in the first place when SSL already existed.  What deficiencies
    did we find that drove us to this particular solution?  
    
    <evgen> in fact, you are creating another problem that will need someone
    else's herculean effort to solve.
 
So from this I get that:
 * SSL Handshake takes a long time, esp when all you want to do is "do you
have blocks".  Currently there is no way with SSL to "move" an SSL session
to a new TCP connection.  This is more of a preformance problem.  I could
see a way to use DHT network to connect to only certain peers, route small
messages over the DHT, and use direct connections for block xfer only.

What else is there zooko, jim?

 * (not really a problem) OpenSSL is incompat with GPL, so until there's a
GNUTLS wrapper someone can't put GPL code into Mnet (we wouldn't want it
anyway)

icepick


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
mnet-devel mailing list
mnet-devel at lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mnet-devel




More information about the Mnet-devel mailing list