Sean M. Doran wrote:
The real problem is that IPv4 Multicast scales badly with the number of groups, and Multicast routing is difficult. If you doubt any of this, kindly review the recent Dave Meyer presentations at any of your favourite conferences.
The _real_ problem is that the very concept of IP multicasting is brain-dead. A multicast-based production service is neither implementable, nor needed. Here are my reasons for concluding so: 1) Multicast routing is not scalable and _cannot be_ scalable. There are three distinct ways to do IP-level multicasting: a) the most broken one: flooding multicast routing information all over the network. Equivalent to host routing to source hosts. b) on-demand spanning tree, like that used in EXPRESS multicasting as developed by David Cheriton's students. That requires every gateway carrying multicast packets to keep track of all transit mc channels. Equivalent complexity-wise to virtual circuit-based networking. c) sparse spanning tree, with state kept only in replicating gatways, like that described in a TRAP draft. This has the best scaling properties, but replicating is very likely to occur at exchange points for the majority of channels - i.e. the exchange-point gateways will still have to keep the significant amounts of per-flow state. Any multicasting sheme makes routing dependent on user-supplied routing information. This is a major operational nightmare. Just imagine what happens if some bozo starts injecting streams of Join-s and Leave-s. This all means that multicasting is ok only as a nice toy. When you try to make it available to "masses" you end up with serious routing problem. 2) IP multicasting represents a major security problem since anyone can produce major avalanches of bogons by sending them down the existing multicast trees. 3) Not all links are created similar. A multicast stream suitable for a T-1 does not fit into 28.8 modem connection. It means that multiple different-rate streams have to be transmitted simultaneously to accomodate different conditions. 4) There is no good way to make IP-level multicasting congestion control-friendly. Any provider brave enough to let multicasting into his backbone w/o strict rate controls is asking for a serious trouble. So much for technical feasibility of multicasting in the real-life backbones. Now, do we really need it? 1) There already are ubiquotus, cheap, high-bandwidth and technically feasible multicasting delivery systems - also known as "boob tube", "idiot's box" and, sometimes, "television". The experience with TV illustrates that there's no shortage of transport capacity to large audiences; there's a shortage of quality content. Due to the technical problems, it is highly unlikely that multicasing can be used for large numbers of small audiences (aka "oligocasting"). 2) IP muticasting offers no significantly new services which could be attractive to consumers. The receiption is still simultaneous and extracting parts of it require waiting until unwanted content is skipped. Are there any alternatives to multicasting? Yes, of course. The same service can be provided by application-level caches run by backbone ISPs. Unlike multicasting, cacheing allows non-simultaneus usage of the material (i.e. you can imagine treating a newscast as a VCR tape - for example back up to view the segment once again, etc). This makes "Internet TV" a completely different medium from the multicasting TV - for example, it would kill "soundbite TV" of CNN style, in favour of a more detailed in-depth stories, w/o sacrificing breadth or immediacy of coverage. Just compare CNN.COM and CNN on TV - their Web site is a lot more informative. Cacheing does not break congestion control and routing in backbones. It allows network operators to have finer-grained control of their traffic. In the most trivial case, cacheing with zero-time expiration time is equivalent to multicasting in terms of traffic savings. On the other hand, intelligent usage of cache preloads during night hours would allow to reduce high-bandwidth canned-content traffic significantly during the peak hours. In other words - why anyone would ever need IP multicasting? I strongly suspect that the whole IP multicasting hoopla is going the same way as ATM - stupid idea propped by enourmous expenditure of research and development resources, ultimately discarded in favour of more conservative and demonstrably working technology. --vadim