If you're considering a datagram protocol, you might be interested in some more modern alternatives to UDP: UDT: Breaking the Data Transfer Bottleneck http://udt.sourceforge.net/ Stream Control Transmission Protocol http://en.wikipedia.org/wiki/Stream_Control_Transmission_Protocol On Sat, Mar 23, 2013 at 12:17 AM, Jeff Garzik wrote: > Here is a rough draft implementation of a UDP P2P protocol extension > for bitcoin: > > https://github.com/jgarzik/bitcoin/tree/udp > http://yyz.us/bitcoin/udp-v0.patch > > Protocol specification (such that it is): > > - UDP, bound to same port as TCP P2P (normally 8333) > - Active, simultaneous TCP P2P connection required (useful against DoS > and other attacks) > - Same message format as TCP P2P, same pchMessageStart conventions, > etc. (my CNetMessage pull req would be helpful here) > - Multiple P2P messages per UDP packet permitted > - Max UDP packet size 100*1024 bytes > - Advertises NODE_UDP in nServices > - New "getudpcook" TCP P2P command returns a "udpcook" message, > containing a yummy cookie > - UDP P2P commands "inv", "tx" and "addr" are handled as if received via > TCP > - UDP P2P command "udpsub" sets a mask, that subscribes to one or more > data broadcasts. > - When USM_INV_BCAST mask bit is set, receive "inv" messages via UDP > rather than TCP. > > Project and design goals (or, why do this?): > > - It is theorized that UDP may be useful for some messages we > broadcast throughout the network > - A productive discussion STARTS with code, otherwise discussion > continues forever. > - Investigate improving "inv" relay speed > - Investigate unconditional "tx" broadcasting via UDP, as "inv" > alternative, for small tx's. > - Investigate improving block relay speed (or perhaps block header relay > speed) > - Open up new design avenues, for P2P patterns more suited to UDP than > TCP in general. > > -- > Jeff Garzik > exMULTI, Inc. > jgarzik@exmulti.com > > > ------------------------------------------------------------------------------ > Everyone hates slow websites. So do we. > Make your web apps faster with AppDynamics > Download AppDynamics Lite for free today: > http://p.sf.net/sfu/appdyn_d2d_mar > _______________________________________________ > Bitcoin-development mailing list > Bitcoin-development@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/bitcoin-development >