Most people dealing with multicast, sooner or later decide to connect
to the MBone, and then they usually need an
mrouted. You'll also need
it if you don't have a multicast-capable router and you want multicast
traffic generated in one of your subnets to be "heard" on another.
mrouted does circunvect the problem of sending multicast traffic
across unicast routers -it encapsulates multicast datagrams into unicast
ones (IP into IP)- but this is not the only feature it provides. Most
important, it instructs the kernel on how to route (or not-to-route) multicast
datagrams based on their source and destination. So, even having a
multicast capable router,
mrouted can be used to tell it what
to do with the datagrams (note I said what, and not how;
mrouted says "forward this to the network connected to that interface",
but actual forwarding is performed by the kernel). This distinction between
actual-forwarding and the algorithm that decides who and how to forward is
very useful as it allows to write forwarding code only once and place it
into the kernel. Forwarding algorithms and policies are then implemented
in user space daemons, so it is very easy to change from one policy to
another without the need of kernel re-compilation.
You can get a version of mrouted ported to Linux from:
ftp://www.video.ja.net/mice/mrouted/Linux/. This site is mirrored all across the world. Be sure to read the ftp://www.video.ja.net/mice/README.mirrors file to choose the one nearest you.
Next, we'll focus specially on multicast applications written to connect to the MBone, which have been ported to Linux. The list is picked up from Michael Esler's "Linux Multicast Information" page http://www.cs.virginia.edu/~mke2e/multicast/. I recommend you that page for lots of information and resources on multicast and Linux.
I placed session tools later because I think they deserve some explanation. When a conference takes places, several multicast groups and ports are assigned to each service you want for your conference (audio, video, shared white-boards, etc...) Announces of the conferences that will take place, along with information on multicast groups, ports and programs that will be used (vic, vat, ...) are periodically multicasted to the MBone. Session tools "hear" this information and present you in an easy way which conferences are taking (or will take) place, so you can decide which interest you. Also, they facilitate the task of joining a session. Instead of launching each program that will be used and telling which multicast group/port to join, you usually just need to click and the session tool launches the proper programs suppling them all information needed to join the conference. Session tools usually let you announce your own conferences on the MBone.