[freenet-dev] Packet size proposal
Michael Rogers
m.rogers at cs.ucl.ac.uk
Fri Mar 7 17:33:18 UTC 2008
On Mar 6 2008, Matthew Toseland wrote:
>Proposed solution
>=============
>
>All big messages are converted into streams. Small messages such as
>FNPAccepted should remain as messages.
Can I make one last, futile appeal to use a stream-oriented transport layer
rather than a message-oriented one?
Advantages:
* Makes it easier to copy TCP's good bits instead of reinventing the wheel
* Well-defined interface between the transport layer and the FNP layer
* Transport plugins won't break when FNP changes and vice versa
* Transport layer problems like small MTU can be isolated from FNP
* Makes it easier to write stego transports
Disadvantages:
* Packets can't be processed out of order
We probably need to stick with UDP for firewall traversal, but in my
opinion we should build a TCP-like layer on top of UDP. It's quite possible
to send small messages over TCP with reasonable latency - SSH, Gnutella and
Skype all do it. And it's no harder to multiplex multiple message streams
over TCP than it is over UDP, considering that we have to share crypto and
congestion-control state between the streams anyway.
Cheers,
Michael
More information about the Devl
mailing list