SprintLink Multicast FAQ

Multicast Basics

What is multicast?
A: Multicast is an IP technology that allows for streams of data to be sent efficiently from one to many destinations. Instead of setting up separate unicast sessions for each destination, multicast will replicate packets at router hops where the path to different multicast group members diverges. This allows a source to send a single copy of a stream of data, while reaching any number of possible receivers.
What are the advantages to using multicast?
A: Multicast is the most efficient method of delivering the same data to multiple receivers at the same time. Servers send only one data stream to reach any number of end-users. This greatly benefits content providers, who don't need as much raw bandwidth in order to reach a large audience. Using unicast, a server would need to send out as many streams as there are receivers. This increases the CPU load, as well as the amount of bandwidth required to reach that audience. Multicast also benefits Internet providers, as there will only be a single copy of the data streamed across any links. Utilizing multicast can decrease bandwidth across a network, and increase the life of a current network without constantly upgrading links and routers. End users probably won't see any immediate benefits to multicast, but they should see content and network providers offering new services due to the benefits they see from multicast.
Which applications are best suited for multicast?
A: Many people associate multicast with multimedia as it is an excellent transmission method for multimedia. This can be an Internet radio broadcast, television broadcast, video conferencing, stock market tickers, slide presentations, etc. However, multicast is also suited to a large number of other applications. Such applications include file transfers to multiple locations, or dynamic web page updates. In addition, other applications, such as online gaming, news feeds, chatrooms, and more are suited for multicast.
Can you provide an example of using multicast vs. unicast?
A: On May 18, 2000, over two million Internet users flocked to watch the Victoria's Secret Fashion Show. Several different versions of the video stream were available: a 56 kbps unicast stream, 100 kbps unicast stream, and two multicast streams at 300 kbps and 700 kbps. The vast majority of these viewers did not have multicast available to them. Even assuming that everyone was using the 56 kbps stream, that's over 100 Gbps of data being streamed, or the equivalent of 10 OC-48 connections. This is a huge expense, especially for a 30 minute event. However, any number of users could have joined the multicast streams, and the maximum amount of bandwidth that Victoria's Secret would have needed for the event would have been 1 Mbps. A single T1 connection would have served to reach the two million users, if multicast had been available to them, and it provided higher quality video.
What are the limitations of multicast?
A: Multicast has one major limitation. For multicast to work, every router between the recipient and the source must be multicast enabled. Since multicast is a relatively new technology, not all networks are multicast enabled. Sprint was the first ISP to completely enable multicast technology natively across their entire backbone. As the technology is embraced, more router vendors and ISPs will enable multicast. The cost benefits to multicast and the increasing use of high bandwidth multimedia applications on the Internet suggest that multicast will be ubiquitous very soon. While multicast is robust for IPv4, scalable standards for IPv6 multicast have yet to be defined so Sprint does not currently offer IPv6 multicast.

Joining Multicast Groups

What do I need to do in order for my personal computer to receive multicast?
A: It's necessary for a computer system to support IGMP (Internet Group Management Protocol), in order for you to join multicast groups. Most modern operating systems already do, without needing any additional files to be added. This includes Windows 95/98/ME, Windows NT 4/2000/XP, MacOS 8 and later, Linux, Solaris (2.5 and later), Net/Free/OpenBSD, etc. OS versions earlier than those listed here may also support IGMP.
For more information about IGMP, please read RFC 2236.
In order to support SSM (Source Specific Multicast), a computer needs to support IGMP version 3. Not as many operating systems support this yet. You can find patches for FreeBSD and Linux to compile in your kernel, and Windows XP also has IGMPv3 support.
What software applications are there for multicast?
A: Several. Many popular streaming applications, such as Microsoft Windows MediaPlayer, Real Networks RealPlayer, and Apple QuickTime have multicast capabilities. Several other multicast-only applications are appearing, such as Cisco's IP/TV and Apple's MacTV.
Numerous applications were developed in conjunction with the MBONE (an educational multicast backbone research project). The most widely used of these is SDR (session directory), which is a program that lists many of the multicast sessions occurring on the MBONE. A host of helper applications are available for SDR, such as VIC (video), VAT and RAT (audio), WB (white board), and more. These applications are available for UNIX and Microsoft Windows platforms. Several other applications have been built as clones of these programs for other operating systems.
How can I find out if my Internet provider offers multicast service?
A: If you're a SprintLink Dedicated IP customer, you're in luck. We offer multicast service at no additional cost. If not, you'll probably need to check with your ISP to find out what their policy is.
DSL and cable modems could be capable of handling multicast (cable modems should follow the DOCSIS 1.0 or 1.1 standards), depending on your ISPs network design. Contact your provider for details.
To see if you are already capable of receiving multicast streams, you can use the NLANR/DAST tool IPerf This is a non-Sprint site. Please use the contact information available on that page to report any issues.

Multicast Routing

What multicast protocols does Sprint use?
A: Sprint routes multicast through its backbone with PIM-SM (Protocol Independent Multicast - Sparse Mode). PIM-SM creates multicast trees from a central core location, called a rendezvous point (RP). Sprint has several RPs located geographically throughout our network. These RPs share the same IP address, allowing our customers and peers to contact the nearest available RP (anycast RP).
RPs communicate with each other and RPs in other networks through MSDP (Multicast Source Discovery Protocol). Routing is provided with either static routes, or MBGP (Multicast extensions for Border Gateway Protocol).
How does PIM-SM work?
A: PIM-SM is a multicast routing protocol belonging to the shared-tree family. It uses a rendezvous point (RP), which multicast sources use to register their sessions. The RP maintains a table with this source and group information. When a host wishes to join a multicast session, it sends a join request to its gateway router for a multicast group. Since the gateway router doesn't have information about the source address, it will build a path back to the RP, which does contain the source information. The path that is chosen is determined by the unicast routing protocol (such as IS-IS, OSPF, IGRP, EIGRP, or RIP) running on the router. The RP will continue to build a tree from the destination back to the source, and forward multicast packets to the destination. Once traffic has been received from the source of the session, the gateway router can then build a tree back to the source directly, which may be a more optimal path than going through the RP. PIM-SM is defined in RFC 2362.
What exactly does an RP do?
A: An RP serves as a central point for multicast sessions. A source will register its session with an RP. This information is carried to other RPs through MSDP. When a host joins a multicast group, it first joins the group at the RP. Once the host has received traffic from the source, the host can switch to a tree rooted at the source.
Do I need to have my own RP?
A: No. If you choose to, you can set up one of your own routers as an RP. However, Sprint has several routers geographically dispersed to provide the same service.
What protocols does my router need to run?
A: Your router will need to be able to run PIM-SM and IGMP. If you have a Cisco router, multicast functionality is available in almost all Cisco IOS versions 11.1 or later. We strongly recommend using version 12.0 or later for best performance and reliability. If you plan to use your own RP or run MBGP, we recommend version 12.0S or later. JunOS 4.2 and later should support multicast, although we recommend using the latest available version of JunOS.
How difficult is it to configure a router for native multicast?
A: While the protocols that make multicast work can be extremely complicated, configuring a router is very simple. The following is a very simplified sample configuration for Cisco routers to show what is minimally needed to enable a router for native multicast. In this example, the router is homed only to Sprint and is using Sprint's RP.
	ip multicast-routing
	ip pim rp-address 144.232.187.198
	ip pim accept-rp 144.232.187.198
	!
	int Ethernet0
 	ip pim sparse-mode
	!
	int Serial0
 	ip pim sparse-mode
Repeat for all interfaces through which multicast traffic should flow.
For further Cisco configuration examples, we strongly encourage you to visit Cisco - Configuring IP Multicast Routing
What if I don't have a Cisco router?
A: You will need to check with your router vendor to find out if multicast is an available option. Minimum requirements are the ability to support PIM-SM and IGMP. Performance will be improved if your router supports PIM-SM version 2.
What is IGMP?
A: The Internet Group Management Protocol (IGMP) is a protocol that controls group membership individual hosts. This protocol only operates in a LAN setting, but is required if you wish to be able to join a multicast group on a host. IGMP is defined in RFC 2236.
Do I need to have special addresses for multicast?
A: Multicast addresses are only needed for multicast sources. You don't need to obtain any special addresses if you only wish to receive multicast traffic. Multicast sources use Class D addresses (224.0.0.0 through 239.255.255.255). Addresses in this range are controlled by IANA.
Many applications have been provided with ranges of addresses for their use, and will dynamically assign a multicast address to sessions created using it. For instance, SDR will automatically assign a multicast address to your session, if you announce the session with SDR. More applications are expected to use this method of dynamically assigning multicast addresses in the future.
The 233.0.0.0/8 block has been set aside for multicast use for anyone with their own autonomous system number (ASN). The ASN can be written as a 16-bit binary number (left-padded with zeroes), and then inserted into the middle two octets of this address block. For example, Sprint has ASN 1239. Written as a 16-bit binary number, this value is 00000100 11010111. By inserting this value into the middle two octets of the 233.0.0.0/8 block, Sprint can then use 233.4.215.0/24 for multicast sessions. Anyone with their own ASN can use this method to create a /24 block for multicast use.
The 239.0.0.0/8 block is administratively scoped for internal use only. You can use this block within your own network similar to the way that the 10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16 blocks are used.
If you decide that you require static multicast addresses and do not have your own ASN, you can request them from IANA at this site: http://www.iana.net/cgi-bin/multicast.pl. In rare occasions where a customer is unable to obtain addresses from IANA, Sprint may be able to provide a limited number of addresses for use.
IANA maintains a list of registered IPv4 and IPv6 Multicast address space.
Will multicast work through my firewall?
A: You will need to check with your firewall vendor to determine how to enable multicast traffic through a firewall. In addition, you may want to read RFC 2588: IP Multicast and Firewalls.

Sprint-specific Information

How do I order multicast service?
A: If you are already a Sprint Internet customer and wish to become IPv4 multicast enabled, login to Compass and fill out the CoS change request form with:
  • Customer name
  • Private Line Number (PL#)
  • Customer multicast point of contact (name, phone, email)
  • Router model and OS version
  • What type of routing? Static or MBGP?
  • Will you be using Sprint's RP or your own?
New customers should contact their sales representative and implementation engineer to make sure that they are enabled for multicast.
I have multicast enabled. How can I make sure that everything is working correctly?
A: There are a number of tests you can perform to make sure that multicast is working. First, you should verify that the router is set up correctly. On a Cisco router, you should be able to perform the command: mtrace rp.sprintlink.net and see a result similar to the following:
sl-gw10-dc#mtrace rp.sprintlink.net
mtrace rp.sprintlink.net
Translating "rp.sprintlink.net"...domain server (204.117.214.10) [OK]

Type escape sequence to abort.
Mtrace from 144.232.187.198 to 144.228.20.10 via RPF
From source (rp.sprintlink.net) to destination (sl-gw10-dc-0-0-0.sprintlink.net)
Querying full reverse path... 
 0  sl-gw10-dc-0-0-0.sprintlink.net (144.228.20.10)
-1  sl-gw10-dc-0-0-0.sprintlink.net (144.228.20.10) PIM/MBGP  [144.232.187.198/32]
-2  sl-gw13-dc-4-0-0.sprintlink.net (144.228.20.13) PIM/MBGP  [144.232.187.198/32]
-3  sl-bb22-rly-2-0.sprintlink.net (144.232.25.217) PIM  [144.232.187.198/32]
-4  rp.sprintlink.net (144.232.187.198)
The key here is to see the mtrace terminate to rp.sprintlink.net. Because we have multiple RPs in the network, you may see the trace take a different route than the one shown here.
To see if you are already capable of receiving multicast streams, you can use the NLANR/DAST tool IPerf. This is a non-Sprint site. Please use the contact information available on that page to report any issues.

Additional Information

The following RFC's and drafts contain useful information about multicast: