Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I'm wondering how far a multicast message sent from a server can go.
What stops it from going to all computers in the world?

share|improve this question
1  
I think you're mistaking multicast and broadcast. –  Djerry Aug 26 '11 at 14:52

3 Answers 3

up vote 1 down vote accepted

There are different kinds of Multicasting.

The most common one does not traverse routers so will stay on the same physical network that you are on.

Some routers can be configured to relay multicast messages, and I think these are usually done on a subscription basis (eg you notify the router that you want to receive those multicast messages from the outside).

You should be able to find some more information here: http://en.wikipedia.org/wiki/Multicast

share|improve this answer

There are two things that stop your multicast packet from reaching the entire world.

The usual thing is that a router upstream from you will either not route multicast packets at all, or, it won't route any that come from you. Just to clarify, routers will NOT just pass along your multicast packet to other networks until they have been configured to do so, and moreover the network administrator may choose to block any incoming multicast traffic that arrives from certain ports.

The other thing that may stop the propagation of multicast is the TTL field. It's decremented by 1 for each gateway the packet crosses.

This topic opens up at least a couple other cans of worms which I chose not to discuss, but in practice, the answer above is probably the proximate reason on your particular network.

share|improve this answer

For a start every computer will have to be listening to the multicast address group you are sending to. Then we look at address families.

Multicast came late to the IPv4 party so many routers do not support it. Also, being late meant that it is highly optional and disabled by default.

IPv6 is when it gets interesting. Broadcast is no longer supported in IPv6, applications must use multicast, and multicast has been made part of the core package requiring it to be implemented.

On Linux you can type netstat -g to show the joined groups, you can see ip6-allnodes which theoretically could be every single machine on the IPv6 Internet. This obviously doesn't happen because every computer could easily be subject to a DoS attack and unable to do anything. So it needs to be limited, but where?

The Internet is an internet, an inter-network, a joining of multiple networks. There are devices that join networks together, and in these devices you can decide what traffic to pass through and in which direction.

Some countries have local broadcasters that send TV or radio with multicast over the Internet. If you are joined to a participating network you can join the group and receive the live stream. But consider what could happen if you decided to also send on that stream, it would easily disrupt the service for others, therefore the ISP would configure their devices to pass that multicast traffic one-way only.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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