################################################ # # # ## ## ###### ####### ## ## ## ## ## # # ## ## ## ## ## ### ## ## ## ## # # ## ## ## ## #### ## ## ## ## # # ## ## ###### ###### ## ## ## ## ### # # ## ## ## ## ## #### ## ## ## # # ## ## ## ## ## ## ### ## ## ## # # ####### ###### ####### ## ## ## ## ## # # # ################################################ The following paper was originally presented at the Ninth System Administration Conference (LISA '95) Monterey, California, September 18-22, 1995 It was published by USENIX Association in the Conference Proceedings of the Ninth System Administration Conference For more information about USENIX Association contact: 1. Phone: 510 528-8649 2. FAX: 510 548-5738 3. Email: office@usenix.org 4. WWW URL: https://www.usenix.org ^L Bringing the MBONE Home: Experiences with Internal Use of Multicast-Based Conferencing Tools Archibald C.R. Mott - cisco Systems, Inc. ABSTRACT Some authorities feel that increasing amounts of traffic, rising popularity of multicast-based conferencing tools, and increasing availability of multicast routing technology are signals of impending doom for the Internet's Multicast Backbone (MBONE). However, they are also clear signals that there is a very real demand for the services of which they are a result: real-time, multipoint, multimedia interaction between network users. Whether or not the utility of the MBONE itself is drawing to a close, it is a simple step to draw parallels between the demands of users on the Internet and the demands of users on a large corporate network, and to see that the same tools in use on the MBONE can be used to provide an important service in a corporate network environment. This paper will describe the implementation of a widely distributed conferencing system based on IP multicast networking and freely available conferencing tools. It will describe the network topology and routing technology employed, the scope of the system, some challenges encountered in implementing the system, the tools used in the implementation, real examples of the use of the system, future plans for the system and an exploration of some potential pitfalls of the system. The information presented in this paper is based on experiences gained in deploying the system on the Engineering departmental networks at Cisco Systems. Opinions expressed in this paper are those of the author, and do not necessarily reflect the opinions of Cisco Systems. IP Multicast Networking The features of IP multicast [1] which make it indispensable as a transport for conferencing applications traffic on the Internet make it equally indispensable on a corporate network: use of multicast enables wide distribution of the traffic over backbone networks with a minimum of replication; large numbers of hosts on a single network are able to simultaneously receive a single stream of multicast traffic; judicious configuration and use of multicast routers enables networks with no participants to not receive the traffic at all. What Is IP Multicast? IP multicast networking uses a method of addressing IP packets so that their destination is a group of hosts rather than a single host or a broadcast. A group can contain zero or more hosts, and hosts can dynamically join or leave a group at any time. These groups are addressed using class D IP addresses, which have the four high-order bits set to 1110. In dotted decimal notation this means the range of group addresses is from 224.0.0.0 to 239.255.255.255. Using these group addresses it is possible to deliver data to multiple hosts on a network with a single stream of data for the entire group, rather than duplicating the data for each host that wants to receive it. 256 addresses in the low-range of the class D address space are reserved. For instance, 224.0.0.1 is the group address for all IP hosts (which in effect is all multicast capable hosts on a single network); 224.0.0.2 is the group address for all multicast routers. Using IP multicast is similar to using IP broadcast in that it is a method of contacting multiple hosts simultaneously, and therefore provides an efficient method of delivering data to many hosts. Unlike broadcast traffic on a network, hosts are not required to listen to multicast traffic since the joining of a group is voluntary. Also unlike broadcast traffic (in most cases) multicast traffic can easily be routed between multiple networks. For the purposes of implementing the ability to participate in multicast-based conferencing, a host should have full (level 2) support of IP multicast, which includes the ability to send and receive multicast traffic, and the ability to join and leave host groups. These abilities are accomplished using the Internet Group Management Protocol (IGMP) and extensions to a host's network interface code. The networking extensions are required to allow a host to receive data addressed to any host-groups to which it is joined, rather than data addressed only to that host or to a broadcast address. The IGMP extensions allow the host to inform any multicast routers on its network of the host's membership in any host groups. Routing IP Multicast Traffic The most commonly used methods for routing IP multicast traffic are Distance Vector Multicast Routing Protocol [2] (DVMRP) and Protocol Independent Multicast [3] (PIM) routing. Another method available is Multicast OSPF [4] (MOSPF). Of these routing methods DVMRP is probably the most widely used since it has been available for the longest time, and can be run using the multicast routing daemon (mrouted) on a large number of UNIX platforms. Various router vendors have implemented one or more of these multicast routing methods. Most multicast routing methods include mechanisms for tunneling multi-cast traffic through non- multicast-capable routers to allow seemingly continuous multicast connectivity across segments of networks where multicast traffic is not supported. Tunneling is usually accomplished by encapsulating multicast traffic inside of regular IP unicast packets to allow it to be routed. Multicast on our Engineering Networks Cisco Engineering's use of multicast networking in our production networks was driven by a need to test our multicast routing code. One of the easiest ways to perform this testing was to use existing applications that generated large amounts of multicast data. Since the MBONE was already being used to multicast audio, video, whiteboard and other data, and since tools for sending and receiving this sort of traffic had been developed and used on the MBONE, it was easy to decide that building an internal equivalent of the MBONE would be a good beginning for our testing. We started to install multicast capability on a subset of our desktop workstations, and receiving broadcasts from the MBONE. The number of networks which included multicast support started out quite small, but as more people became aware of the existence of the internal availability of the MBONE, the demand to deploy multicast routing capability and conferencing tools widely became overwhelmingly apparent. Deploying Multicast Routing Like most MBONE users our original routing configuration was based primarily on DVMRP routers using the `mrouted' program, and connected to each other via DVMRP tunnels. The DVMRP routers used were Sun machines. We also used a DVMRP tunnel to our Internet Service Provider as our connection to the MBONE, as well as DVMRP tunnels interconnecting the networks where we wanted to deliver multicast traffic. As development of Cisco's implementation of PIM routing continued, we started using PIM routers to support various networks. We replaced many of the DVMRP routers which were supporting test networks, and added test networks using PIM support. We gradually deployed PIM routers on a subset of production nets, but maintained DVMRP connection to Internet. As our comfort level with multicast routing grew, we deployed it on more of our production networks until it became a `default' feature on Engineering networks in our environment. When our Internet Service Provider was ready, we finally moved to all PIM routing, including our Internet connection Current Topology The topology now carrying multicast traffic at our site is fairly complex. Conferencing traffic is carried on Ethernet, FDDI and ATM backbone networks between buildings, on switched and unswitched 10BaseT networks and CDDI networks to desktop workstations, and on a variety of WAN media including ISDN and frame-relay to remote offices and telecommuter sites; routing is handled through the PIM implementation on Cisco routers. Conferencing Tools One of the challenges facing the Systems Administrator who would like to provide on-line conferencing services to the user community is that of doing so across heterogeneous platforms. A variety of commercial conferencing packages is available, but few of them offer the heterogeneous support desired. Fortunately a suite highly usable conferencing tools has been made available for a wide range of UNIX platforms. Another challenge the Systems Administrator encounters is that of providing the same services available to UNIX users to the non-UNIX user community. Another publicly available package has given us the ability to allow Macintosh and IBM PC users to participate at least partially in our conferencing system. Tools from the MBONE The first applications we chose to use for conferencing were the suite of tools that have been traditionally used by MBONE participants: vat, the Visual Audio Tool; nv, the Network Video Tool; wb, a shared whiteboard tool; and sd, the Session Director tool, which is used to send and receive advertisements for multicast groups and to control the applications needed to participate in them. These tools operate under the X Window System. The Visual Audio Tool, vat, was developed at Lawrence Berkeley Laboratories. It allows users to participate in many- to-many audio conferences using multicast. It can also be employed in a point-to-point mode without multicast. Vat allows a number of configuration options to be set, including the selection of audio input and output devices, selection of various audio encoding schemes, manipulation of input and output levels, and the use of a DES encryption key to provide some measure of privacy. The Network Video Tool, nv, was developed primarily at Xerox PARC. It also allows many-to-many and point-to-point conferencing. Nv provides the ability to capture video from a limited number of frame grabbers as well as the ability to use a screen grabber to send images from a particular window or region on the sender's screen. No special hardware is required for nv to receive video. Controls available with nv include a transmission bandwidth limiter, settings for the encoding of the video, image size and color controls for both the image to be transmitted and the images being received, and grabber controls to allow selection of an input device. At this time, no encryption option is available. The whiteboard tool, wb, was also developed at Lawrence Berkeley Laboratories. It provides conferencing users with a shared drawing surface that allows freehand drawing as well as the entering of text. It is also possible to import ASCII text files. If used in conjunction with Display Postscript capable X servers or with Ghostscript, wb is also capable of displaying imported postscript images. An additional tool, wbimport, allows wb users to configure whiteboard slide shows. There are many controls available to wb users including pen color, whiteboard orientation, line smoothing, participant muting to remove extraneous input from the whiteboard surface and others. Like vat, wb supports DES encryption. The Session Directory, sd, is another tool that was developed at Lawrence Berkeley Labs. Sd uses multicast to send and receive host-group `advertisements', as well as having the capability to control the various conferencing applications already discussed, and some tools not discussed in this paper. Sd acts as the glue which takes various individual conferencing tools and turns them into a coherent conferencing software system. When started, sd listens to the host group address 224.2.127.255 for session advertisements. These advertisements contain information about host groups such as the address of the group, a name and description of the host group, what media are being carried by the host group (audio, video, whiteboard, etc.), port numbers associated with the various media, and a time-to- live value. As sd hears group advertisements, it caches the information. This caching allows sd to provide useful, though possibly outdated information to the user at its next invocation. In addition to listening to advertisements, sd can also be used to create advertisements for groups. Sd is a Tcl-based application, and uses a configuration file which controls its behavior when launching applications. This configuration allows the user to preset options for the conferencing tools, such as how the user's name will be displayed in participant information displays. It also makes sd usable with virtually any conferencing tool because the user can choose which audio, video, and whiteboard applications they want to use. It is up to the user, however, to make sure that their application of choice will be interoperable with other users' software. Evaluation of other tools When it was decided that the Engineering Computer Services group would provide desktop conferencing as a supported service to the engineering community at Cisco, we started to look beyond the existing freely available tools to see if there were packages that better met our needs. The number of commercial, desktop system-based conferencing packages is growing. As can be expected, many of these commercial offerings are more polished and have apparently fuller feature sets than the free software, but all of the packages we reviewed lacked some essential features. The most common problem we encountered was that many of the packages were platform specific. Another common problem was that some of the applications did not use multicast. We eventually decided to continue with our use of the above mentioned freely available tools, but added the Multi-Media Conference Controller (MMCC) to the list of tools we offered to our users. MMCC is analogous to sd in that it acts as a controller of audio, video and whiteboard applications. However where sd uses an advertisement scheme to inform users of the existence of host groups which may be joined, MMCC allows a user to build a list of conference `invitees' and then notifies the invitees of the existence of the host group. MMCC also allows users to maintain a phone book of users who are frequently involved in conferences. There were some functionality trade-offs involved in the choice to use freely available software. For instance some of the commercial whiteboard applications are much more flexible than wb. Some of the commercial conferencing packages allow the sharing of applications programs so that users at multiple workstations can collaboratively use one copy of a non- conferencing tool such as a CAD application. Support of Non-UNIX platforms Another one of the challenges we had to address in our implementation of conferencing systems throughout our engineering department is that of providing conferencing services to our users who are not using UNIX based systems. Once again, a number of possible solutions presented themselves, but the need for interoperability with the UNIX based solutions led us to the use of Cornell University's CU-SeeMe software. Multiuser conferencing with CU-SeeMe is accomplished by the use of the CU-SeeMe tool at the desktop in concert with an application known as a reflector. The reflector process allows users of CU-SeeMe, which is essentially a point-to-point conferencing tool, to have the reflector as an endpoint. The reflector then handles to distribution of incoming traffic to the CU-SeeMe users connected to it. An important feature of the reflector process is that it can be configured to join a host- group and then gateway audio and video traffic to many CU-SeeMe clients. These clients unfortunately do not currently have the capability to use IP multicast which means that there is a geometrically increasing amount of traffic with the increasing number of CU-SeeMe users on a network. Currently, we have located a reflector centrally in our network topology, so the traffic for CU-SeeMe traverses a small number of end-user networks and then goes onto our comparatively high-bandwidth backbone, where the traffic's impact is minimal. Since the reflectors themselves are capable of joining multicast host-groups, it would be wiser to deploy a larger number of reflectors closer to the end users; this will most likely be part of our near future implementation. Applications of Conferencing Tools We have had success using these conferencing tools in a number of ways. The principal benefit derived from the use of such tools is that of bringing together geographically separated groups or individuals who might normally interact via electronic mail or telephone calls, and allowing them to share more than just one form of data. We are continuing to come up with new methods of applying conferencing technology. Weekly Nerd Lunch Lecture Series Cisco has a long standing tradition of conducting weekly lunchtime lectures which we call Nerd Lunches in which one of our engineers or a visiting lecturer will discuss technical issues. As the company has continued to grow both in number of employees and in geographical scope it has become increasingly difficult to accommodate everyone who wants to attend these meetings. On-line conferencing has provided a method for us to allow anyone who would like to attend to do so from their desktop whether it is across the hall or across the continent from the lecture room. One trick we have learned to minimize interruptions is to mute the speaker on the workstation which is acting as the `transmitter' for the lecture and to have remote attendees type their questions on a shared whiteboard. Broadcast Offsite Events Over ISDN Occasionally Cisco uses offsite facilities to hold events which we want to broadcast using on-line conferencing. We have accomplished this by using a portable UNIX machine in conjunction with a router equipped with multiple Basic Rate ISDN (BRI) interfaces. By using the multiple BRI interfaces, we can use two ISDN lines with two 64 kbps B-Channels each for a total (theoretical) throughput of 256 kbps. While this is not enough band-width to provide the same sort of audio and video quality as a direct Ethernet (or better) connection, we have still been able to transmit audio using dvi4 encoding at approximately 32 kbps and video using the remaining bandwidth at a frame rate of up to 5 frames per second. This provides a setup which can be easily arranged at almost any off-site location in our area through the simple installation of a pair of ISDN lines. Training The use of MBONE conferencing tools for training has allowed us to deliver training to multiple sites without sending trainers to all of those sites. Recently we have held training classes at our headquarters site on San Jose, and by broadcasting over our network allowed Customer Engineers at our Research Triangle Park site to attend. Generally, a video crew is hired to record these training sessions. The video crew brings their own equipment including video mixers and multiple cameras. By taking our video feed from the video crew's mixer, we were able to transmit video using multiple camera angles, picture-in-picture video and other professional video effects. Sysadmin Intercom Application One of the host-groups we carry via multicast is the Engineering Computer Services Intercom, which is an audio-only group. The idea behind this group is that the systems administration team joins the group at their workstations, and it can be used to ask and answer questions. This is especially helpful since the group is not entirely co-located. Another potential advantage would be for a systems administrator at a user's workstation to join the group if they were having trouble solving the user's problem so they can get assistance. This application has not been a complete success. One reason for this may be that, since we would prefer that the user community at large not join this particular group, we do not advertise it through sd. Manually joining audio groups with vat is not necessarily difficult, but can be cumbersome. Many of the sysadmins have handled this by aliasing the vat command. MMCC as a Multimedia Phone System As mentioned before, the Multi-Media Conference Controller program provides a method of creating host-groups without advertising them using sd. Instead, the group-originator's copy of mmcc will attempt to contact a copy of mmcc on each user's workstation that has been invited to join the group. In an audio-only mode, this can act as a conference-call system, or be used to make point-to-point phone calls. However mmcc has the added advantage of being able to use video and whiteboard as well. The drawback however is that all invitees to a group must also be running mmcc for its use to be successful. Challenges Dealing with New Technology As with the application of any new technology there was a learning period while we found how best to deploy multicast support to our workstation users, multicast routing to our networks, and conferencing applications to our users. We have spent time with the developers of Cisco's version of PIM trying to track down configuration errors, and trying to come up with designs that will both provide reliable delivery of multicast to our users' networks and provide useful testing and debugging data to the developers. At times, these goals seem to be mutually exclusive. We have also offered training sessions in the use and application of multicast conferencing tools to help familiarize our users with our conferencing offerings. There has been a minor increase in our user support requests that can be correlated with the introduction of these tools. There has also been a small additional burden to our support load that is related to policing the use of our multicast capability. For instance, users have occasionally forgotten to mute their microphones and have ended up inadvertently sending unwanted audio to the network. Fear of impact Another issue we have had to address is the fear that our production networks would become bogged down from carrying too much multicast traffic as more users started joining various multicast groups. While we have experienced periods of large amounts of multicast traffic on some of our nets, for the most part these have been minimized by training our user community to be judicious with the bandwidth they consume for conferencing purposes. Another strategy we have used is to advertise audio, video and whiteboard sessions as separate host groups, allowing users to choose which data they will receive. This has proven especially helpful to our telecommuting users who connect via ISDN or 56kbps Frame Relay lines. High User Expectations Possibly the most significant challenge we have encountered is that of high user expectations. Many users expect that desktop videoconferencing should include high quality images at a high frame rate, `just like television'. In our training sessions, we try to make clear to the users that most of the content of many conference groups can be contained in the audio and whiteboard media, and that the video is icing on the cake. There are however times when 30 frame per second video would be enjoyable. There are factors that make this difficult to deliver. First, even on a switched Ethernet network it can be difficult to deliver video at those kinds of speeds, especially without highly efficient video compression and decompression facilities; Second, at this time we have not widely deployed hardware that is capable of capturing video at high frame rates. Reflectors Only Handle One Group Currently, the CU-SeeMe reflector process is capable of reflecting only one set of audio and video from multicast sources to CU-SeeMe users. While the audio and video sources may be carried on different host-group addresses (e.g. if audio and video are being delivered on different multicast addresses), this means that where the UNIX user is able to simultaneously join an arbitrary number of conferences at will from a list of advertisements, the CU-SeeMe user is capable only of joining the conference being carried by the reflector to which they connect. Scope of the System Systems Supported We currently offer conferencing support on Sun, HP and SGI workstations using the MBONE tools, and on Macintoshes using CU- SeeMe. A beta version of CU-SeeMe is being evaluated by our (growing) population of PC users. Network Scope Currently, Cisco's Engineering Computer Services department is deploying multicast routing to support all of our production engineering LAN's. At this point, more than 50 LAN segments are supported using PIM routing. We also are routing multicast traffic over WAN links (T1 or faster) to support remote sites. We are also implementing multicast routing support on ISDN and Frame-Relay networks to support telecommuters. Geographic Scope The geographic scope of the multicast network now covers 8 buildings at our headquarters location; Our site in Research Triangle Park, North Carolina; Our ATM Business Unit site in Billerica, Massachusetts; and many telecommuters' homes in locations around the United States. Many hundreds of people are currently have access to the multicast networks, and conferencing applications which use them. Current Shortcomings and Challenges Security Access to the MBONE is in general fairly risk-free, however as more of our users get access to the resource, we have endeavored to minimize the possibility of sensitive information contained in conferences being allowed past our firewalls. We have employed a multipart strategy to accomplish this: assigning low Time-To-Live (TTL) values to our host groups prevents them from traversing large numbers of multicast routers; The use of thresholds on our firewalls prevents any traffic with TTL below a specified value from being forwarded; and filters on the routers to prevent specific host-groups from traversing the firewalls. In conjunction with user training and occasional monitoring of internal host groups, the enforcing of the use of low TTL's has not proven to be difficult. We are also filtering access to our internal CU-SeeMe reflector to prevent external sources from accessing it. These security measures still allow our users to participate in MBONE conferences, while providing a reasonably secure internal conferencing environment. There are discussions in the IETF to implement scoped addressing for multicast host groups. This feature would allow certain ranges of addresses to be confined within predefined site boundaries. This should provide a more convenient method of containing multicast traffic, for the purposes of both security and restricting bandwidth consumption on the MBONE. Etiquette Implications Trashing the MBONE Many sites would like to be able to use the MBONE as a carrier for communication with customers and clients. Many routers in the MBONE currently enforce rate limiting that makes the effective capacity of the MBONE about 500 kbps. Given that the average MBONE conference consumes roughly 40 to 150 kbps it is apparent that there is not much bandwidth available for private use in an environment that is governed by the principal of providing the greatest good for the greatest number, and is managed by rough consensus. As the bandwidth available for multicast traffic increases and the multicast topology of the MBONE is optimized by the use of native multicast routing (as opposed to routing tunneled multicast traffic) this may become less of an issue. In the meantime, workarounds need to be developed. It is the author's opinion that the use of multiple, loadbalanced ISDN interfaces between sites is one such workaround. There goes the Neighborhood One of the annoying consequences of a widely deployed conferencing system is the increased noise level in the work environment. This is compounded by the echo effect which can be caused by multiple machines in an area receiving the same multicast data, but as a result of different machine speeds and load levels reproducing audio at different times. Noise level is also increased by conferencing users speaking to their microphones. Anyone who considers deploying conferencing ability should also consider investing in headsets for their conferencing users. Least Common Denominators In order for CU-SeeMe users to receive video from nv users, the nv users must originate their video in CU-SeeMe format, which at this time is by definition greyscale video. We also have many users of X terminals. While some X terminal vendors have been adding multimedia abilities to their products, we currently do not have any that are capable of taking advantage of nv- or CU-SeeMe-based video or vat based audio. Future Plans Virtual Conference Rooms For some time now we have been advertising internal audio, video and whiteboard groups that any of our users can access. It has been suggested that we should create Virtual Conference Room groups that can be reserved for specific meetings. Remote Camera Control In real conference rooms where on-line conferencing systems have been installed we are installing large displays and video cameras that can be controlled through a serial data port. We will develop a program for controlling the camera's tilt, pan, zoom and focus so that a remote station can choose what is being shown in the video. More Reflectors In order to better serve the CU-SeeMe user community, and to more efficiently distribute conferencing traffic, more CU-SeeMe reflectors need to be deployed. This is especially crucial for remote sites connected to the headquarters network via T1 lines. Resource Reservation As methods such as the Resource Reservation Protocol (RSVP) become mature, we will employ them to provide guaranteed bandwidth for conferencing. On-Demand Video/Audio One feature which our conferencing system does not address and is already in demand by our users is the ability to store video and audio for on-demand retrieval and display. The potential resource costs are high for this service because of the storage and bandwidth requirements. We are currently evaluating on-demand server packages. More More MORE! In order to satisfy the demands of the user community, it will be necessary to continually upgrade the capability of our conferencing system. Bandwidth is probably the most important consideration, especially as the number of conferencing groups increases. The number of users, thanks to the advantages of multicast traffic, is less of an issue. We will also need to start using faster frame grabbing hardware to provide better video service. We will also need to continually evaluate new packages for providing conferencing services. Getting the Software The wb, vat and sd packages were developed at Lawrence Berkeley Laboratories. They are available for anonymous ftp at ftp.ee.lbl.gov in the /conferencing directory nv was developed by Ron Frederick at Xerox PARC. It is available fro anonymous ftp from parcftp.xerox.com in the /pub/net-research directory. IP Multicast support for SunOS machines is available for ftp from parcftp.xerox.com in the /pub/net-research/ipmulti directory. mrouted is available for ftp from parcftp.xerox. com in the /pub/net-research/ipmulti directory. CU-SeeMe and the CU-SeeMe reflector were developed at Cornell University. They are available for anonymous ftp from gated.cornell.edu in the /pub/video directory. References [1] Deering, S.: RFC1112. [2] Waitzman, D.; Partridge, C., Deering, S. BBN STC: RFC 1075. [3] Deering, S.; Estrin, D.; Farinacci, D; Jacobson, V.; Liu, C.; Wei, L.: Protocol Independent Multicast: Protocol Specification. [4] Moy, J.: RFC 1584. Author Information Arch Mott is a Senior Systems Administrator at Cisco Systems, Inc. He can be reached via U.S. Mail at Cisco Systems, 170 West Tasman Drive, San Jose, CA, 95006 or electronically arch@cisco.com