Multicast (Pete's notes)

Beacons

A multicast beacon is a daemon that runs on a host at a site to let other sites check if the site is reachable. As of 2007-10-07, we run a multicast beacon on the npad machine. The beacon is /usr/local/bin/beacon.
To: NETS engineers
Subject: Multicast Beacon
Date: Mon, 01 Oct 2007 13:14:41 -0600
From: David Mitchell

NE folks,

I installed a multicast beacon on npad.ucar.edu. It should automatically
restart after reboots, although I haven't tested that. I also updated
the "Tools" page to link to the NLANR primary beacon instead of the
(defunct) Access Grid Beacon.

-David
	

Configuring Linux Multicast

The Multicast HOWTO says that you should provide a default route for multicast traffic. This may be unecessary since there is a global default route, but if it's needed, the sample "route" command in the HOWTO isn't quite sufficient - it doesn't get executed whenever the system boots. To set up a default multicast route at boot time, I did this:
(as root)
cat > /etc/sysconfig/static-routes
any net 224.0.0.0 netmask 240.0.0.0 dev eth0
^D

Checking if Multicast is working

Basic checking

The Multicast HOWTO says
...multicast-capable hosts join the all-hosts group at start-up, so "pinging" 224.0.0.1 returns all hosts in the network that have multicast enabled.
Try it.

Try sdr

If you have sdr installed, run it. Sdr needs multicast, so if it displays sessions, then multicast is working.

Video Furnace

Assuming you're connected to VLAN 8 at NCAR, run the Video Furnace. Even if it says "Unable to authorize station", leave it running, as it's probably sucking a multicast stream. With Video Furnace running, gazelle showed:
gazelle$ netstat -g
IPv6/IPv4 Group Memberships
Interface       RefCnt Group
--------------- ------ ---------------------
lo              1      ALL-SYSTEMS.MCAST.NET
eth0            1      233.0.103.53
eth0            1      ALL-SYSTEMS.MCAST.NET
vmnet8          1      ALL-SYSTEMS.MCAST.NET
vmnet1          1      ALL-SYSTEMS.MCAST.NET
lo              1      ip6-allnodes
eth0            1      ff02::1:ff5e:6694%3221213520
eth0            1      ip6-allnodes
vmnet8          1      ff02::1:ffc0:8%3221213520
vmnet8          1      ip6-allnodes
vmnet1          1      ff02::1:ffc0:1%3221213520
vmnet1          1      ip6-allnodes
gazelle$ 
Which shows that gazelle thinks it's a member of group 233.0.103.53. With Video Furnace running, mlra showed:
mlra#show ip igmp groups vlan 8
IGMP Connected Group Membership
Group Address    Interface                Uptime    Expires   Last Reporter
239.255.255.254  Vlan8                    6w6d      00:02:08  128.117.8.125
239.255.255.253  Vlan8                    6w6d      00:02:13  128.117.11.192
239.255.255.250  Vlan8                    6w6d      00:02:13  128.117.11.74
224.2.127.255    Vlan8                    4w6d      00:02:06  128.117.11.60
224.2.127.254    Vlan8                    4w6d      00:02:12  128.117.11.60
233.45.17.171    Vlan8                    06:13:58  00:02:04  128.117.11.67
224.101.101.101  Vlan8                    4w1d      00:02:07  128.117.8.111
235.80.68.83     Vlan8                    6w6d      00:02:12  128.117.8.126
233.0.103.53     Vlan8                    01:57:38  00:02:03  128.117.10.161
224.1.0.38       Vlan8                    1d17h     00:02:09  128.117.10.160
224.0.1.40       Vlan8                    03:06:55  00:02:08  128.117.11.25
224.0.1.60       Vlan8                    6w6d      00:02:13  128.117.10.88
224.1.0.1        Vlan8                    03:06:57  00:02:06  128.117.11.25
224.0.1.1        Vlan8                    1d22h     00:02:10  128.117.9.51
239.7.7.0        Vlan8                    4w6d      00:02:12  128.117.11.60
224.0.1.24       Vlan8                    6w6d      00:02:12  128.117.8.126
mlra#
As you can see, my laptop at 128.117.10.161 is a member of multicast group 233.0.103.53. At the time, this was what mlrb showed:
mlrb#show ip mroute 233.0.103.53 128.117.10.161 
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, s - SSM Group, C - Connected, L - Local,
       P - Pruned, R - RP-bit set, F - Register flag, T - SPT-bit set,
       J - Join SPT, M - MSDP created entry, X - Proxy Join Timer Running
       A - Advertised via MSDP, U - URD, I - Received Source Specific Host
           Report 
Outgoing interface flags: H - Hardware switched
Timers: Uptime/Expires
Interface state: Interface, Next-Hop or VCD, State/Mode

(*, 233.0.103.53), 02:38:47/00:02:59, RP 128.117.243.9, flags: SJC
  Incoming interface: Vlan303, RPF nbr 128.117.243.73, Partial-SC
  Outgoing interface list:
    Vlan8, Forward/Sparse-Dense, 00:30:52/00:02:56, H

mlrb#
This shows a multicast stream going out Vlan8. When I stopped the Video Furnace application and waited a minute, the "Outgoing interface list" changed to "Null". So my laptop was doing multicast. Of course, I wasn't actually seeing CSPAN, because the Video Furnace application says "Unable to authorize station", but the Video Furnace seems to have been doing multicast anyway.

Internet2 Detective

On a Windows box, download the Internet2 Detective application from detective.internet2.edu/. This application will listen for multicast beacons that are regularly broadcast by Internet2 servers. See the docs at the website.
Pete Siemsen
Last modified: Thu Jul 14 10:50:37 MDT 2005