3 ms·
The distinction was more of a research thing... it was the distinction between bell labs' networking efforts and the various internet groups, and in some sense
by bodhiandphysics 4y ago
The distinction was more of a research thing... it was the distinction between bell labs' networking efforts and the various internet groups, and in some sense very specifically between people like Sandy Fraser (who did the research behind ATM) and people like Jon Postel. The essential disagreement was where intelligence in the network lies... naturally teh bellheads (like Sandy) wanted a smart network and dumb endpoints, while the netheads (like Postel) wanted a dumb network and smart endpoints.
I personally think the bellheads were right (putting intelligence in the endpoints is why the Linux Kernel needs such a massively complicated IP stack), but obviously that's not what happened in the real world, perhaps for the best.
- jeffbee 4y agoArguably, putting the TCP protocol in the Linux kernel is an example of bellhead thinking. The machines are now so large that in-kernel networking is no longer on the edge. Networking in the kernel on a machine with hundreds of CPUs—and hundreds of unrelated tenants—amounts to a smart network. Putting the network stacks in the user processes, and leaving the kernel as a dumb pipe, works better and is more aligned with the end-to-end principle.
- bodhiandphysics 4y agoI think bellhead thinking would be putting the network stack on (a possibly virtual!) network card.
- lxgr 4y agoSince you can never have "fully dumb" endpoints, this model requires upgraded end devices to make use of upgraded networks, and upgraded networks to enable newer end devices. That's an inherent economic disadvantage from the start. Also, the computational and memory complexity of maintaining the state of every existing connection at least at some point in the network sounds baffling.