The problem was solved by application level "multicast", or content delivery networks. You can keep your TCP and all your regular clients.
Does anyone on HN know what happened to it?
Still, RTP and SIP came directly out of the MBone, and they bootstrapped the whole Internet multimedia phenomena we're all enjoying today while working from home.
A best-effort multicast approach would help here. Reach as many endpoints as you can utilizing otherwise-unused router memory for the group memberships then bridge the gaps created by saturated routers via unicast relays.
This makes it sound like a dynamic pool of memory which can be allocated for different purposes. I was talking about an ASIC where the amount of available memory for these state tables might be fixed and not available for sharing with other parts of the system. You get whatever the designers back in 2015 decided was needed and the point is there's not much reason for them to spend area implementing a bigger memory when the reality today is that it's hardly used. So I get what you are saying but it's not necessarily possible.
My main problems over 15 years of working with SIP have been with "helpful" boxes in the middle tampering with my SIP messaging. NAT used to cause a bunch of problems, but these days I have workarounds for most cases that work great until the aforementioned middleboxes start "helping".
Give me a NAT-free network where the packet that reaches the far end is the same one I sent and my SIP systems will be quite happy.
In the broadcast industry, multicast at a local level is very important though - with SDI being replaced by things like 2022-6 and 2110. I believe that's mainly at the IGMP/layer 2 level though, and there aren't many 2110 implementations over routers.
One day I forgot to close the app when I left for the day, and came back the following day to a NastyGram from Van Jacobson, chastising me for using up bandwidth with an image of my darkened office door for 16 hours.
Good times.
Good times, until I got kicked off MBONE and ended up on CuSeeMe instead .. ;)
Now I wish I’d kept it.
The nodes here in the Netherlands used the multicast to distribute link information and IP autorouting. It was very well possible to join a multicast group somehwere in the network by multiple parties, and then stream UDP frames accross the network.
A very fun experiment at the time was to send CELP-compressed (1-2kb/s) audio packets through the multicast network, and hence it was possible to have conversation with multiple people spanning a distance larger then the radio horizon. The latency and packet loss were disrupting good operation, but it more or less worked.
It seems like it would be good for that and great for "cord cutting" live apps like sport broadcast. Of course the majority of "last mile" carriers are also TV providers so would prefer to charge for that separately over their existing physical plant.
It would allow to use existing tools and infrastructure to scale that and remove forwarding and distribution from applications to a common layer. But it has a disadvantage that there is no common API for applications to setup ad-hoc transient IP tunnnels, as that is usually a privileged operation.
the only reason that a tunnel is privileged is that it creates a kernel interface. given that we can't really use tcp anyways, there isn't any reason why the whole stack can't live in user space on a generic UDP port.
you would have to have pim or torrent style discovery/rendezvous machinery
aside from efficiency, I wonder what the use case is?