3 ms·
Nobody's claiming TCP/IP to be based on UDP/IP. I mean to suggest that buffering isn't a proper feature distinction between TCP and unreliable protocols. Sepa
by sk5t 7y ago
Nobody's claiming TCP/IP to be based on UDP/IP.
I mean to suggest that buffering isn't a proper feature distinction between TCP and unreliable protocols.
Separately, it seems a tad obscure to use IP as the exemplar here--doesn't most everyone want UDP features on top?
- ncmncm 7y agoHardly anybody relies on any of the extras UDP provides, so they are typically just wasted overhead. But user-level libraries offer UDP, so that is what people use.
- kragen 7y agoI've never seen a UDP application that didn't depend on port numbers, which are an extra UDP provides.
- MaxBarraclough 7y ago> the extras UDP provides Like what? UDP is lightweight and bare-bones, no?
- ncmncm 7y agoIt adds source and destination ports and a checksum. Computing the checksum is a nuisance, and it is usually inadequate, so it is allowed to be zero in IPV4, but not IPV6. Normally, if you need a checksum, you need one that cannot be forged, and you need more than 16 bits. So the L3 one is just overhead. I have never seen an actual use of UDP that looked at the port numbers, although firewalls often use them for filtering.
- detaro 7y agoName a few UDP-based protocols whose implementations do not listen to only a specific port number, or a rely on port numbers established as part of the protocol flow, then?
- MaxBarraclough 7y ago> Computing the checksum is a nuisance, and it is usually inadequate, so it is allowed to be zero in IPV4, but not IPV6. If IPv6 disallows simpy zeroing the field, that sounds like it's not just a nuisance. > I have never seen an actual use of UDP that looked at the port numbers, although firewalls often use them for filtering. I don't know what you're saying here. UDP's ports model isn't optional in any sense, it's just like TCP's. If you run several UDP-based services on your server, port numbers are how the server knows which packets are destined for which processes.
- ncmncm 7y agoOK. Too much time spent in kernel-bypass coding. But the checksum is very anemic, inadequate when correctness matters.