Christian, perhaps you are forgetting that having multiple, related
streams use multiple, independent TCP connections is a problem, not a
feature? Hence there needs to be multiplexing on top of TCP.
Either they are multiple streams or they are not. If they are not,
multiplexing them on the same transport connection is a bug, not a
And your knowledge about fundamental networking rules has demonstrated
a significant disparity from the knowledge of quite a few other
folks. Any literature references to this fundamental rule would
The effects of layered multiplexing were mostly experienced when trying
to run stuff TCP/IP on variation of protocols doing their own flow
control, with basically interference between several controllers. A
paper on the issue is for example:
D. L. Tennenhouse, "Layered Multiplexing Considered Harmful," in
Protocols for High-Speed Networks, Rudin and Williamson (Ed.), North
Holland, Amsterdam, 1989.
A similar problem leads us to avoid IP layer fragmentation, because it
interferes with TCP layer reassembly and acknowledgement. Basically, you
want to have exactly one place at which you exercise transport level
functions such as fragmentation, flow control, etc. You want the unit of
transmission to be the unit of control.
-- Christian Huitema