4 ms·
No, protocols directly on IP specifically can’t be used in userland because they can’t be multiplexed to multiple processes. If everything above IP was in user
by kortilla 1y ago
No, protocols directly on IP specifically can’t be used in userland because they can’t be multiplexed to multiple processes.
If everything above IP was in userland, only one program at a time could use TCP.
TCP and UDP being intermediated by the kernel allow multiple programs to use the protocols at the same time because the kernel routes based on port to each socket.
QUIC sits a layer even higher because it cruises on UDP, so I think your point still stands, but it’s stuff on top of TCP/UDP, not IP.
- surajrmal 1y agoHow do you think this works on microkernels? Do they have no support for multiple applications using the network?
- kortilla 1y agoIf they don’t have TCP in them, yes. Either each application would need its own IP or another application would be responsible for being the TCP port router.
- surajrmal 1y agoYou're talking about a hypervisor, not a microkernel.
- Veserv 1y agoThat is not at all a problem. On a microkernel you just have a userspace TCP/network server that your other programs talk to that manages/multiplexes the shared network connection.
- surajrmal 1y agoAgreed. My point was a the network stack need not live in the kernel.