3 ms·
Why does window scaling need to be OS-global? That would imply that window scaling will also fail when you have several machines on the same network, since they
by joosters 12y ago
Why does window scaling need to be OS-global? That would imply that window scaling will also fail when you have several machines on the same network, since they won't be doing anything special to collaborate on window sizing.
Conversely, any hints and clues to window sizes that are provided by network packets can be read from a user process and so don't need to reside in the kernel either.
- KaiserPro 12y agohttp://en.wikipedia.org/wiki/TCP_window_scale_option http://en.wikipedia.org/wiki/TCP_window_scale_option
- twic 12y agoIf multiple processes running on a single physical machine can't avoid this "window flapping" problem without cooperating, then multiple unikernels running in VMs on a single physical machine also can't. VMs are not magic. Rather, the need for cooperation actually extends to groups of physical machines sharing a network connection too. Indeed, that's the key insight underlying objectivist mouse-based congestion control: http://web.mit.edu/remy/ http://web.mit.edu/remy/
- chetanahuja 12y agoI might not be reading this correctly, but in the absurd extreme, you can keep extending this argument farther and farther out beyond a single machine to a LAN and onto the wider internet. In that version of the argument, all the nodes on the internet need to have the global view of network state on every other node. The controlling principle behind almost all congestion control algorithms is that a single node can derive the properties of the path between itself and the other end by using the state of the transfer visible only on that one node. Once you reject that principle, any algorithm you come up with will quickly become unscalable.