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 224.0.0.1
) 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.