3 ms·
What should be based on datagrams: - Local discovery (DHCP, slaac, UPnP, mDNS, tinc, bittorrent) - Broadcasts (Local network streaming) - Package encapsulati
by blueflow 2y ago
What should be based on datagrams:
- Local discovery (DHCP, slaac, UPnP, mDNS, tinc, bittorrent)
- Broadcasts (Local network streaming)
- Package encapsulation (wireguard, IPSec, OpenVPN, vlan)
- promiseofbeans 2y agoHey I'm sure you're right, but as someone with less low-level networking expertise, I was wondering if you could explain why you'd want datagrams for these use-cases?
- deleted 2y ago[deleted]
- swiftcoder 2y agoLocal discovery is itself based on broadcast/multicast, both of which only work over UDP (TCP doesn't provide any mechanism for broadcast streams).
- blueflow 2y agoTCP is a back & forth between two hosts and thus cant do "shouting blindly into the network" things. That rules out local discovery and media broadcast. Package encapsulation is bad over TCP because if the encapsulated data is TCP itself, you have congestion control twice. On congested networks, this results in extra slowdowns that can make the connection unusable.
- deleted 2y ago[deleted]
- Hikikomori 2y agoAnd games.
- swiftcoder 2y agoThe whole point of the article is that you don't need to go all the way down to raw datagrams to achieve the kind of low latency that is needed for things like games/VOIP/livestreaming
- eru 2y agoIt totally depends on the kind of game.
- ajb 2y agoOne missing from your list is real-time media. Retransmission, or even just buffering for reordering, adds latency so it's better to take the hit of a loss with error correction or packet-loss-concealment
- tfyoung 2y agoYeah exactly. With realtime, a dropped packet is often too old by the time it's re-transmitted. It's actually harmful to wait for it when you'd rather just skip it and move on and stay as close to realtime as possible. It's a very different usecase from most uses. I do wish QUIC allowed carrying streams that were useful for realtime in conjunction with allowing reliable streams. Using MPEG-TS over SRT to have it just spam metadata to handle the unreliableness is janky. It would be far nicer to have a reliable stream for metadata, then an unreliable one for realtime streaming.