Multicasting 401: How to Broadcast an IETF Without Losing Your Mind

David Boyes
Rice University
dboyes@rice.edu

January 31, 1994

Abstract

This document is intended to be a short introduction to multicasting an IETF meeting without driving yourself completely crazy (if you weren't already with all the other stuff that has to be done to make the meeting run smoothly). Some engineering notes for hardware and software configurations are discussed, and concrete recommendations for software configurations and setup wrap up the coverage.

Introduction

Broadcasting audio and video over the global Internet represents the deployment of several interesting technologies in concert with traditional audio and video production techniques.(1) The multicast network technology component is layered over the IP network backbone due to limitations in routing software -- multicast traffic is carried over a virtual backbone, colloquially referred to as the MBone(2). Multicasting provides one-to-many and many-to-many network delivery services supporting applications that need to communicate with several other hosts siultaneously. Multicasting has been supported for years on local network media such as Ethernet and FDDI, however with the assistance of the Mbone software and infrastructure, multicasting can be extended to include the global Internet.

IP multicasting as used by the IETF is defined by RFC1112(3) and is supported by several different hardware vendors, including Sun, SGI, DEC, and Hewlett-Packard. Two things make the Mbone possible on a world-wide scale: the installation of high bandwidth Internet backbone connections, and the widespread availability of workstations with adequate processing power and built-in audio hardware. The MBone is composed of a network of routers that can support multicast (mrouters). Most mrouters are either upgraded commercial routers or dedicated workstations with modified kernels in parallel with standard routers. To pass multicast packets through the bigger Internet, multicast packets are wrapped in the data portion of traditional IP packets. This process is known as tunneling. As commercial router vendors upgrade their software, tunneling and the extra level of routing information will no longer be necessary.

The MBone's primary limitation is bandwidth. The key to understanding this constraint is to consider the reason why multicast streams are efficient -- one packet can reach all workstations on a particular network segment. A single 128K/sec video stream consumes the same amount of bandwidth whether one workstation or twenty workstations are participating -- however, multicast packets are ordinarily prevented from crossing network or router boundaries due to propagation explosion. Two methods to reduce the impact of this side-effect are to limit the TTL of multicast packets and to employ pruning algorithms to limit propagation of packets for sessions with no participants downstream of a specific mrouter. The pruning code is still in limited distribution throughout the net, but is proving to be quite effective in avoiding problems with multicast propagation.

Sessions are announced using the Internet Group Management Protocol (IGMP); end-user workstations initiating a multicast session generate a session announcement packet which is forwarded by the mrouters to all participating MBone sites. Scheduling of sessions is (at the moment) a fairly manual process -- if a group requires the use of an MBone session, timing and bandwidth level are discussed on the rem-conf mailing lis.(4)


(1)Much of this section is provided courtesy of MAJ Michael R. Macedonia, USArmy and LCDR Donald P. Brutzman, USN, Naval Postgraduate School, Monterey, CA. It is an excerpt from a forthcoming article for IEEE Computer. The original paper is available for anonymous FTP from taurus.cs.nps.navy.mil as file pub/mbmg/mbone.hottopic.ps. The author offers greatest thanks to both authors for permitting this use. (2)Coined by Steve Casner, casner@isi.edu. (3)Deering, Steve. Internet Request for Comments, no. 1112. Xerox Palo Alto Research Center. (4)The mailing list address is rem-conf@es.net. Requests to be added to or deleted from the mailing list should be sent to rem-conf-request@es.net.

Multicast Applications

While the MBone software provides the basic data transport for the multicast network, there are several applications that actually make use of the multicast infrastructure to provide audio and video services. nv(5), vat, and sd(6) are three of the most popular multicast applications, and are most applicable to multicasting an IETF. nv provides slow-scan video images in color and B/W, and vat provides audio transmission capability. sd offers a method of announcing and scheduling multicast sessions using a simple point-and-click interface.

A wide range of other applications (including a shared ``white-board'' tool, a multi-channel voice terminal program, etc.) have been developed, but will not be covered here.

IETF Multicast Setup

During an IETF meeting, two multicast session ``tracks'' and the general plenary sessions are provided. The IETF Secretariat handles scheduling of sessions and rooms. A multicast operator is generally stationed at each site to ensure that the sound and video quality are acceptable and to direct the camera to the relevant information (overheads or speaker).

Engineering for Multicast

This section discusses practical engineering considerations for good multicasting.(7) The actual multicast clients are generally run on machines mounted on carts, to allow for flexibility in locating and moving the machines as they are needed.
(5)Developed by Ron Frederick of Xerox Palo Alto Research Center. (6)Developed by Steve McCanne and Van Jacobson at Lawrence Berkeley Laboratory, UC Berkeley. (7)Network engineering, hardware selection, and software recommendations are based on my experience, and do not reflect endoresments of any of the companies listed.

Network Engineering

High-quality multicast is an incredible bandwidth hog -- it can easily swamp a full T1. For good quality transmissions, the host site should plan on engineering a separate network segment for the multicast source machines. Thinnet coax (RG58U) or 10BaseT are acceptable as local connection media, however connectivity to the conference site should be at least T3 speed (FDDI is even better). If a single high-speed connection cannot be obtained for the conference site, separate T1 connections should be provided for the multicast network.

Routing protocols such as RIP, BGP or OSPF should be disabled for the multicast network, as they produce periodic spikes in response time that degrade audio and video quality. The separate multicast segment is a simple enough network that static routes are sufficient, and generally if there is a interface failure or other network problem on the multicast segment, something considerably more serious is wrong, and routing redundancy is the least of your problems...8-).

Plan on one network connection in each room designated as a multicast breakout room, and two connections in the plenary session room and the storage area for the multicast carts. The storage area is used during the evenings for time-delayed replays of the day's sessions.

Multicast Cart and Mrouter Hardware

The MRouter System

The machines used for the actual audio and video transmission and mrouter duties do not have to be the same brand or even in the same area. Currently, almost any workstation supported by the Mbone software can be used as a mrouter. Things to look for in a good mrouter:

The mrouter machine is usually located in the terminal room or in another out-of-the-way location. It has no special requirements for display or keyboard (a small B/W display and keyboard are sufficient).

Multicast Carts

The multicast carts are the machines that actually do the transmissions. Each cart should have: Two copies of this configuration should be mounted on carts to allow them to be moved between the plenary session room and the multicast session rooms.(10) Be aware that standard A/V carts will be top-heavy with a standard 17" monitor sitting on top -- move them carefully!

The cabling between the audio input and output jacks of the workstation, the VCR input/output, and the line mixer on the cart are detailed in the diagram in appendix A. CNRI owns a set of connectors and cables that can be used for this purpose, however you may wish to have the local host provide cables to keep things simple.


(8)Sparcstation 2's actually work somewhat better with vat and nv than SS10s or other types of Suns. Sparc LCs, LXs, and ELCs do not perform well in this application. (9)This feature is somewhat rare on cameras intended for home use. Most professional video cameras allow this feature to be switched off, but the cost for professional-grade cameras is considerably higher. (10) Moving the carts between the two rooms is actually an advantage; if you use T-200 video tapes in EP mode, a full 10 hour day can be recorded on a single videotape. If both carts are placed in the plenary room, both tapes can be started and stopped at the same time, and be roughly synchronized for later playback.

Multicast Software

The software supporting the multicast tools has a bad habit of undergoing rapid changes during IETF meetings; you should be prepared to build and rebuild the multicast kernel mods and/or tools several times during the course of a meeting if the authors come up with fixes or new versions. As time goes by, this need will decrease, but it's good to be prepared.

All the workstations supporting multicast should have multicast support compiled into the kernel according to the instructions provided with the multicast mods available from gregorio.stanford.edu in directory vmtp-ip. The multicast FAQ list is also available from the same source, and discusses installation on all the supported platforms.

Sources are not required to install multicast support, but you should know a little bit about how to build and install new kernels before attempting to install the multicast patches. If you intend to use a Sun for a mrouter, Solaris 2.x already includes multicast support, however the support included in Solaris 2.1 and 2.2 is buggy and requires a patch to work correctly. The code in Solaris 2.3 is correct. At this time, the multicast support for SunOS 4.1.3 is still slightly more efficient, so if possible, you should use 4.1.3 in preference to Solaris 2.x. Software Installations The mrouter machine needs only the mrouter software, a minimal X installation, and sd installed; the cart workstations should have a minimal X installation, vat, nv and sd installed. No other applications should be installed or running on the cart machines.

The MIT X distribution is slightly preferable to OpenWindows, as it is smaller and less resource intensive. Motif is useful, but not required.

The sd and vat distributions can be obtained from ftp.ee.lbl.gov. The nv distribution is available from parcftp.xerox.com in the file pub/net-research/nv.tar.Z. The sd and vat tar files include pre-built executables if you prefer not to build your own.

The mrouter machine should have no user accounts other than root and those necessary to maintain the machine remotely. The cart workstations should have two userids, historically named camera1 and camera2, named for each of the IETF transmission channels.

A system administrator should build and install the multicast kernel and set up a tunnel to the nearest MBone site, as discussed in the multicast FAQ. He/she should then add entries to the startup files in /etc to restart the mrouter software and reboot the mrouter machine. If mrouted starts correctly, then leave it running and start on the cart machines.

On one of the cart machines, log in as camera1 and ensure that the directories containing the X startup code and the multicast client software are included in the user's path. Create a .Xresources file with the following X resources:

   vat*geometry: 600x800
   vat*DefaultHost: 224.0.1.11     (224.0.1.14 for Channel 2)
   vat*DefaultPort: 4110           (4140 for Channel 2)
   vat*DefaultTTL: 191             (159 for Channel 2)
   vat*MikeGain: 65                (this value may need adjusting)
   vat*SpeakerGain: 180
   vat*JackGain: 54
   vat*SessionName: IETF Channel 1 (IETF Channel 2 for Channel 2)
   Nv*name: IETF Channel 1         (IETF Channel 2 for Channel 2)
   Nv*ttl: 127                     (95 for Channel 2)
in user camera1's home directory. Create a similar file in camera2's home directory using the values for channel 2 shown above. If your version of startx supports a list of applications to start when X is started, remove any unnecessary applications (clocks, mail checking tools, etc) and include command-line geometry and placement information to start up sd, vat and nv in convenient places. Once the setup on one machine is satisfactory, clone it on the other cart workstation with rcp or ftp.

Go back to the machine running mrouted, and start up sd. Create four sessions using the following information and multicast addresses. Use the addresses listed here instead of allowing SD to assign addresses for these sessions -- the addresses listed here are hard-coded into mrouted as exempt from the mrouted pruning algorithm to allow maximum propagation of the IETF sessions.

     Channel Name               Address     Port    ID     TTL
-------------------------------------------------------------------
  IETF Channel 1 Audio (PCM)    224.0.1.10  4100    0      255
  IETF Channel 1 Video          224.0.1.11  4110    0      191
  IETF Channel 2 Audio (PCM)    224.0.1.14  4114    0      159
  IETF Channel 2 Video          224.0.1.15  4444    0      95


Note: In the 3.5 and future kernals, the priority queueing scheme
      changed, so the ports that the IETF broadcasts uses must change as
      well. The new port allocations are:

        Channel Name              Address         Port    ID
-------------------------------------------------------------------
     IETF Channel 1 Whiteboard   224.0.1.10      41010    0
     IETF Channel 1 Audio (vat)  224.0.1.11      21010    0
     IETF Channel 1 Video (vic)  224.0.1.12      61010    0
     IETF Channel 2 Whiteboard   224.0.1.13      41020    0
     IETF Channel 2 Audio (vat)  224.0.1.14      21020    0
     IETF Channel 2 Video (vic)  224.0.1.15      61020    0


Leave sd running on the mrouter machine. This will ensure that the session information is constantly refreshed to anyone running SD.

At this point, you're ready to try it out. Obtain the help of the house sound manager and connect the cart machines to the house system. Get a good set of sound levels in the rooms and mark it on a piece of masking tape attached to the mixer. Test the video recording and playback, and you're ready to go.

Operation of the Multicast Carts

During the actual meeting, each cart should be manned by at least one volunteer. In general, the person monitoring the cart will need to do very little other than to ensure that the tape is started and the camera is directed toward the speaker or the overheads as appropriate. This section includes some operational concerns and a rough outline of a multicast day.

Normal Duties of Multicast Operations

The plenary sessions and the breakout rooms provide slightly different requirements in terms of operational assistance.

Plenary Sessions

The plenary sessions require both carts to be set up in the same area, although generally only one cart is broadcasting video (no point in sending the same bits twice). The personnel responsible for multicast duty should: When the session is ready to start, ensure that the camera attached to the camera1 workstation is pointed at the overhead. Start transmission from nv on camera1 and audio transmission from both workstations. Start recording on both VCRs at the same time (to keep them in rough sync for later) and the session is off and running.

At the end of the plenary session, be prepared to move fast; there's not much time between the plenaries and the beginning of the first sessions. You'll need to:

Breakout Sessions

Breakout sessions are simpler. Move the cart into the room and connect the network to the workstation, line mixer input/output to the house sound system, and video cable from the camera to the video input of the workstation. Boot the workstation. Check the schedule on the the cart and log in to the appropriate camera1 or camera2 userid (depending on which multicast room you're in). Use the buttons in vat and nv to change your name to the name of the session being broadcast. When the speaker is ready to start, start transmitting from vat and nv and start the VCR recording. Unless this is the last session of the day or the session immediatly preceding the lunch or dinner breaks, leave the VCR running.(11)

If this is the last session of the day, follow the instructions for shutting down the cart described in the plenary section, and return the cart to the terminal room or storage area. Plug the cart back in to the multicast net, and restart the workstation. Rewind the tape and start transmission from vat and nv. Start playback on the VCRs and go home.

Camera Motion

Move the cameras as little as possible unless video mixing hardware is available and connected. Camera motion tends to dizzying to viewers, and in general, is distracting. In sessions, focus on the overheads instead of the speaker whenever possible. The overheads generally represent the most important part of the session. It's generally not possible to distinguish well between the overheads and the speaker because the intense light from the overheads triggers the automatic light controls in most cameras and causes the speaker to be a black blob.

Delayed Broadcast of the Sessions

The easiest way to manage delayed replay of the day's sessions is to use T-200 videotapes. These tapes allow 10 hours of video and audio on each tape (at EP speeds) and avoid the problem of having to coordinate changes in tapes, however they are somewhat rare in some localities, so you may want to look for them well in advance of the meeting.

If the instructions shown in the operations section are followed, you should have no trouble actually doing the rebroadcasting.


(11) WGs tend to run over or start/stop unevenly. If the tape is left running between sessions, it's easier to be synchronized between the two carts -- everybody stops for lunch or dinner...8-).

Credits

Much of the information in this handout is provided by various people throughout the net. Kudos and thanks to Steve Casner, Steve Deering, Ron Frederick, Van Jacobson, Erik Huitzer, Michael Macedonia, Donald Brutzman, Bill Manning, Megan Walnut, and many many others for assistance and information in preparing this guide.

Appendix A: Wiring Diagrams


IETF Secretariat - Please send problem reports to ietf-web@ietf.org.

Return to IETF home page.