For a LAN, it is effectively several additional layers of filters on hardware/software, maybe including switch(IGMP snooping)/NIC/kernel stack, etc. Otherwise it is similar to broadcast. I think I can roughly understand this part.

For WAN, if a host subscribe to an multicast address, without knowing where it might come from, then it seems this subscribing host needs to send out an IGMP packet, which needs to be delivered to ALL routers on the internet, so that a packet from ANY host sent to this multicast address can be routed to the subscriber. But that sounds like too much additional traffic, what did I miss?

  • Good question, I do not know enough and didn't specify. But if IPv4 is much simpler, I would be satisfied to understand that to begin with:) – QnA May 19 '20 at 19:40

This is description is based solely on my own understanding and may contain errors. It might be useful to help you find better resources...

Multicast is routable, which means that the whole internet does NOT get your subscribe message. Multicast is one to many NOT many to many. This is important because the "one" is the publisher, and the "many" are the subscribers. A new subscription only needs to be routed from the new subscriber to the existing publisher.

Some multicast addresses (including are reserved for non-routable-multicast. Other addresses are used for routed-multicast. It's important to note that to publish a multicast stream on the internet you must have a multicast IP address allocated.

To make multicast efficient, each router must understand they are performing multicast routing. That's because every router from the publisher to a subscriber might be required to receive a packet once from the publisher and send it many times to other routers or end subscribers.

What this means is that your subscription request might trigger a chain of subscription requests. Each router must decide which other router to forward the request to. Fortunately that problem is very similar to normal one-to-one routing. A chain of multicast subscription requests can be routed very much like a single packet sent to a single client because the multicast IP is owned by the subscriber.

I've glossed over the complexities of routing and how it can change. There's some more information in this article: http://www.enterprisenetworkingplanet.com/netsp/article.php/3623181/Networking-101--Understanding-Multicast-Routing.htm

IPv4 vs IPv6

Theoretically there isn't much of a difference between the two. However, as noted earlier in this answer, every router must support multicast for it to work. A lot of IPv4 routers on the internet do not support multicast.

Individual ISPs managed to setup multicast on their own network by ensuring all their own routers support it. But too often it's simply not possible.

Also the multicast IP allocation is quite small under IPv4. I don't believe IANA are still offering them.i might be wrong.

As far as I'm aware IPv6 makes multicast a required part of the standard, and there is some expectation that routers may fully support it. Whether that actually ever happens remains to be seen.

IPv6 has a much larger allocation for multicast addresses. According to Wikipedia, IPv6 multicast addresses have a 64 bit network prefix with a 32 bit group I'd.

  • Thanks for so much information. What I imagined is this scenario, a user comes online and subscribed to a routable multicast group address. He is the first subscriber to this address, and no one has ever published anything to this address yet, hence nobody knows where the potential publisher will be located. Therefore, the subscriber's subscription (IGMP) message has to be delivered to pretty much ALL routers, so that whoever publishes in the future, the message can be delivered back to this subscriber. In that sense, it is very much different from a one-to-one routing. Is that correct? – QnA May 20 '20 at 21:10
  • @QnA I've just stumbled on IANA allocation for Unicast-Prefix-Based IPv4 associated with RFC 6304. If I've read correctly these addresses contain the stub of a one-to-one IP address allowing them to be routed the same way. This seems to be an idea first proposed for IPv6... see RFC 3306 – Philip Couling May 21 '20 at 8:00
  • @QnA I don't think you are correct. From what I understand it's much closer to one-to-one. Rather that the subscription request being relayed "everywhere" the ownership of the IP is relayed. That doesn't need to be relayed every router on the internet. The core nodes will share this information and automatically form routing tables telling them where to send each packet / request next. The edge nodes (your ISP) either know they are responsible for the block of IPs (already knowing how it is broken up) or they assume it needs to be sent back to the core nodes via their default gateway. – Philip Couling May 21 '20 at 8:11
  • In "the ownership of the IP is relayed", the IP is the subscriber's IP or publisher's? I am still a bit confused, I think the subscriber does not know the publisher's IP. – QnA May 21 '20 at 23:34
  • No. The multicast IP is relayed. This must happen before it's used – Philip Couling May 22 '20 at 7:45

Usually, multicast streams in Internet only live inside your ISP WAN (for example for IP TV), which is basically a "Wide" LAN. In this case, it's acceptable to achieve traditionnal routing with IGMP stuff & cie.

I never heard about "global, internet-wide available" multicast streams.

  • So in the ISP WAN, indeed every subscription will trigger an IGMP which will be relayed to ALL routers? – QnA May 19 '20 at 19:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.