Network layer multicast is a really cool idea. It makes the network responsible for replicated data to users who want to receive it. For example, an entity streaming a video would only have to broadcast one copy of it and the network would duplicate the packets out to those you want watch the video. Quite a few people have taken a stab at it that have resulted in protocols such as DVMRP, CBT, and PIM. One of the biggest reasons for its failure is that of the lack of any substantial app that no one can live without. As we’ve discussed network layer multicast in class, I personally believe that multicast was way ahead of its time and that its debut was extremely premature as there was not an internet infrastructure back then as there was today. I think that if the inventors would have waited 15 years or so (i.e. waited for YouTube, Netflix, Hulu, etc.), they would have had a greater chance of making a real impact on networking. That argument obviously hinges on the fact that hardware vendors and service providers would be immediately willing to switch.
Today we use application layer multicast to sort of mimic what the network later would do—not quite the same. We also distribute content via content distribution networks to help the scalability of data access. I often wonder how much we can shove into the application layer. I wonder if at some point all the overhead will catch up with us. Don’t get me wrong, we have been able to craft some incredible things in the application layer. However, there are some interesting ideas that I think would benefit the internet and its users a whole.