Be Prepared for IP Multicasting Applications

Video conferencing, audio conferencing, and online training are here. Is your system ready for these and other applications that deliver information from one source to many destinations?

Tao Zhou

April 30, 1997

12 Min Read
ITPro Today logo in a gray background | ITPro Today

Microsoft's NetShowLive lets you deliverinformation from one source to many destinations

s businesses use more intranet, groupware, multimedia, and client/servertechnologies, they need more IP multicasting applications. Video conferencing,audio conferencing, online training, news distribution, software distribution,and database replication are all good candidates for IP multicasting,one-to-many communication from a source to a group of selected destinations.Multicasting applications can minimize the demand for network bandwidth whiledelivering information from a source to multiple destinations via one stream.

Are you ready for IP multicasting? Before you open the door to IPmulticasting applications, you need to learn what IP multicasting is and to findout whether your network infrastructure and IP multicasting applications supporteach other. This article will explain IP multicasting and then describe amulticasting session conducted with Microsoft NetShow Live.

Why Multicast?
Traditionally, network traffic is either unicast or broadcast. Unicasting isone-to-one communication from a source to a destination on the network. If nhosts request the same information from the same source, n copies of theinformation move from the source host to n destination hosts.Broadcasting is one-to-everyone communication from a source to the rest of hostson the network. The broadcast information reaches every host regardless ofwhether the host needs the information. Broadcasting wastes network bandwidth byflooding the network when only a small number of users need the information.

Unicasting and broadcasting do not work for certain applications. Forexample, your CEO wants to conduct an audio conference with 50 senior managersthrough the network. If the multimedia application for the conference usesunicasting, the CEO's computer repeatedly sends out 50 audio streams to 50managers' computers. Unicasting wastes bandwidth because it sends 50 duplicatecopies over the network, and it causes a significant delay before the lastmanager hears the CEO.

Broadcasting cannot solve the problem: Broadcasting sends only one audiostream over the network, but it sends the information to every computer on thenetwork. Therefore, the audio stream floods every corner of the network and canbring the network down.

Multicasting comes to the rescue. The multicast host sends out only onecopy of the information, and only the destination hosts that need theinformation receive it. In the audio conferencing example, the CEO's computersends only one audio stream to the network, and only the 50 senior managersreceive the stream. The information uses only required network bandwidth andarrives at every manager's computer without a noticeable delay.

IP Multicasting and Its Addresses
IP multicasting transmits information from a source host to a group ofdestination hosts in a TCP/IP network. (The sidebar "A Quick Review ofISO/OSI, IEEE 802.2, and TCP/IP" describes computer communicationsprotocols.) Multicasting is an integral part of the IP protocol on the networklayer of the International Standards Organization/Open Systems Interconnection(ISO/OSI) Reference Model. This technology is not new. Steve Deering at StanfordUniversity proposed the Internet Group Management Protocol (IGMP) in theInternet Engineering Task Force Request for Comments (IETF RFC) 1112 in 1989.IGMP defines most specifications of IP multicasting. You can download a freecopy of RFC 1112 from http://www.cis.ohio-state.edu/htbin/rfc/rfc1112.html.

In the addressing scheme in the IP protocol, class A, B, and C addressesidentify a host in a TCP/IP network. A class D address represents an IPmulticast group in which many hosts participate in the same IP multicastingapplication. The first four bits of the 32-bit class D addresses are 1110, andthe remaining 24 bits can range from all 0s to all 1s. Therefore, IP multicastaddresses can range from 224.0.0.0 to 239.255.255. 255. The protocol reservesaddress 224.0.0.0 for operating systems, and the protocol cannot assign thataddress to applications. For example, the protocol permanently assigns 224.0.0.1to the all-hosts group, which includes all computers and routers participatingin IP multicasting in a local network. The sidebar "How IP MulticastingWorks," page 106, describes the steps in developing multicasting software.

Microsoft fully supports IP multicasting in its TCP/IP in Windows NT 3.5,3.51, and 4.0 and Windows 95. IGMP defines three levels of support for IPmulticasting. Level 0 has no support, Level 1 supports sending but not receivingmulticast IP data, and Level 2 fully supports sending and receiving multicast IPdata. The Microsoft TCP/IP supports Level 2.

The only component that uses IP multicasting in NT is Windows InternetNaming Service (WINS). When a WINS server starts up, it sends an IP multicastingpacket to address 224.0.1.24 looking for other WINS servers that participate inWINS database replication. WINS sends out this multicast packet periodically bydefault.

Microsoft's NetShow 1.0, a component of Internet Information Server (IIS)3.0, is a software platform for one-to-many multimedia communication andinformation distribution. NetShow Live, a component of NetShow, uses IPmulticasting to distribute prerecorded wave sound audio, live audio, and filesover a corporate intranet and the Internet.

Microsoft also supports IP multicasting in its Win32 Software DevelopmentKit (SDK) with AF_INET sockets of type SOCK_DGRAM. Developers can use UserDatagram Protocol (UDP) in the transport layer of the ISO/OSI model for IPmulticasting in an NT or Win95 network. However, developing multicast softwareis not easy. You probably will buy software for your environment.

IP Multicasting Support Checklist

Before you install an IP multicasting application on your network, verifythat your network infrastructure supports IP multicasting and that the IPmulticasting application supports your network. Table 1 lists some questions youcan ask yourself and your vendor about IP multicasting support.

TABLE 1: Is Your System Ready for IP Multicasting?

Ask yourself:

Ask your vendor:

First, consider your network. Although IGMP is a part of IP, whether the IPstacks on your servers and workstations contain IGMP depends on the TCP/IPsoftware that you are using.

Can your NICs filter multicast data? If they can't, they will receiveunwanted data and cause interference in your client computers.

Do your routers support IP multicasting? What multicast routing protocolsdo they have? If you have multicast routers from different manufacturers ordifferent models and versions from the same manufacturer, be sure that they useat least one common multicast routing protocol on your corporate network.Microsoft Multi Protocol Router in NT 4.0 doesn't support IP multicast routing.

Most low-level switches are strict Layer 2 (the data link layer) switchesand don't support IP multicasting. When IP multicast data arrives, the Layer-2switch simply forwards it to all ports. As a result, the data floods allsegments and hosts on the switch and can clog the network. When flooding occurs,multicasting becomes broadcasting, which is not what a switch is supposed to be.Only certain high-level switches that can decode Layer 3 (the network layer)data and support IGMP work like a multicast router. Pay careful attention toswitches and discuss them with your switch vendor before you deploy a switchednetwork.

After you prepare your network, look at the application. An importantquestion is what operating systems and TCP/IP software the IP multicastingapplication supports. For example, Microsoft NetShow Live Server supports NTServer 4.0 only, and Live Client works on NT Workstation 4.0 and Win95 only.They both use only Microsoft TCP/IP.

If you run Token Ring or any network other than Ethernet, ask theapplication vendor or test the application's support for your specificconfiguration. Microsoft lists only Ethernet adapters as NICs for NetShow Live,but the application works on a Token-Ring network.

The network bandwidth that a multicast stream requires can range fromseveral Kbits per second (Kbps) up to several Mbits per second (Mbps). Find outthe bandwidth requirement for your specific IP multicasting application to seewhether your network has enough bandwidth for it. Also ask whether you canrestrict the bandwidth demand, so you can limit how much bandwidth theapplication can use over the network. For example, Microsoft NetShow Liverequires 3Kbps bandwidth for audio if it uses the sound format IMA ADPCM(Microsoft Interactive Multimedia Association Adaptive Delta Pulsa CodeModulation--high-quality compressed audio for higher bit rate content). NetShowLive can limit the maximum bandwidth for file transfer.

A firewall can stop your multicast IP data. For example, IP multicastingdata from Microsoft NetShow Live Server can't traverse firewalls. Ask yourvendor about firewall support.

Which network interface does the IP multicasting application use when theapplication resides in a multi-homed host? Can you specify a preferred networkinterface? Microsoft NetShow 1.0 doesn't support a multi-homed host, but afuture version will support it, according to Microsoft.

In light of today's enthusiasm for the Internet and intranets, more andmore applications are Internet/intranet and Web browser-aware. Some IPmulticasting applications require a Web server for the multicast server or a Webbrowser for the multicast client. Find out whether the multicasting applicationsupports your Web server and browser. NetShow Live Client requires InternetExplorer (IE) 3.0 or later.

Introducing Microsoft NetShow Live
After you understand the principles of IP multicasting and check yoursupport, you can use Microsoft NetShow Live to implement an IP multicastingapplication, such as the CEO audio conference.

NetShow Live delivers prerecorded wave sound audio, live audio, and filesover an intranet and the Internet. It contains NetShow Live Server and NetShowLive Client. NetShow Live Server is always the source of multicasting. Itrequires NT Server 4.0. You can install NetShow Live Client in an NT 4.0 or aWin95 computer to receive multicast information through IE 3.0 or later. Youalso need a sound card if a NetShow Live computer plays audio. To implementNetShow Live, you must set up the server, the client, the Web page, and thesession.

1. Server Setup. You candownload NetShow from http://www.microsoft.com/netshow. Simply copy filenslservr.exe to an empty directory on the server and expand the file. Theprogram automatically installs NetShow Live Server.

2. Client Setup. You don't needto manually install any software on a client computer. When a computer displaysa Web page that contains a NetShow Live ActiveX control, the program on theserver automatically installs the client files, msrtp.dll and ws2stub.dll, tothe Windows System32 directory on the client computer.

The client directory of NetShow Live on the server contains two NetShowLive ActiveX controls, nlaudio.ocx and nlfile.ocx. nlaudio.ocx plays audio onthe client computer, and nlfiles.ocx stores a multicast file on theclient computer. The control files must reside in a directory (e.g., the samedirectory as client Web pages) that the Web browser can find.

3. Web Page Setup. You canembed a NetShow Live ActiveX control in a Web page. To create such a Web page asan audio player or file transfer for clients, you need basic knowledge of HTML,Microsoft ActiveX Control (see http://www.microsoft.com/activex for moreinformation about ActiveX), and a scripting language such as Microsoft VisualBasic Scripting Edition (VBScript--you can download VBScript fromhttp://www.microsoft.com/vbscript).

The Web page must include three key components: object information, form,and scripting code. Listing 1, is an example of the HTML file for theCEO audio conference; Screen 1 displays the corresponding Web page. An HTML filefor file transfer is similar. More information about file transfer is availablein the NetShow Live SDK documentation that ships with NetShow Live.

The Object ID section of Listing 1 provides the object information to thebrowser; that is, it tells the browser which control to load when a client opensthe Web page. The control is nlaudio for audio player or nlfile for filetransfer. To load either control, specify version -1,-1,-1,-1, as shown in thelisting. You must include all the parameters shown in the Object ID section ofthe listing.

The Form section of Listing 1 defines the form that the control uses. Aform defines a user interface of a Web page and generally contains buttons andtext boxes. The form in the listing has three buttons: Play starts the audioplayer, Stop stops the audio player, and About displays the current version ofthe audio control.

The Script Language section of the listing, written in VBScript, containsall subroutines of scripting codes to implement the functions defined in theForm section. For example, when you click Play, the program executes subroutineBtnPlay_OnClick. The subroutine first stops any previous audio player; joins themulticast group by IP multicast address 239.100.20.30 and port number 25050;uses the sound format IMA ADPCM, Mono (Monophonic), 8.000kHz and 4 bit, whichare represented by numbers in NLAudio.SetCodec(17,1,8000,4) respectively; andthen starts playing audio.
4. Session Setup. NetShow LiveAdministrator is the utility for setting up a multicast session on the server.With the administrator, you can create, modify, delete, start, stop, and save anaudio, live audio, or file transfer session.

Screen 2 displays the properties of the CEO live audio session. Allcomputers participating in the session must use the same IP multicast address.In addition, NetShow Live must specify a port number for a specific session. Theport number is a UDP port that identifies an IP process in a computer. This canrange from 1 to 65535. You can use the numbers 5000 and above for userapplications. Microsoft requires that the port number for audio be an evennumber in the range of 16384 to 32768. For the session to run successfully, theattributes of the Sound Format in the property of the live audio session mustmatch those in NLAudio.SetCodec(17,1,8000,4) in Listing 1, and the IP addressand port in the property of the live audio session must match those inNLAudio.SetSocket ("239.100.200.30", 25050) in Listing 1. In thisexample, obviously, you need to set the sound format to IMA ADPCM, Mono,8.000kHz and 4 bit by clicking Change and then choosing this setting. Enter239.100.200.30 in the IP Address field and 25050 in the Port field.

You can also define the multicast range of this session in the Time to Live(TTL) area in the properties of the session. The multicast range can be on yourlocal network (the subnet where the NetShow Live server resides), your intranet,or the Internet within a scope specified by the TTL number. TTL=32 in theexample means that you can forward the CEO audio from the server to a client ina maximum of 32 hops.

Be Well Prepared
Now you know the basics of IP multicasting and Microsoft NetShow Live, an IPmulticasting application. IP multicasting reduces the demand for networkbandwidth for applications, such as video and audio conferencing, that are wellsuited for this technology. Integrate support for IP multicasting into thedesign and upgrade of your network infrastructure. When your management and usercommunity require multicasting applications, you can offer a good solution andpreserve your network.

Microsoft NetShow Live is Microsoft's first IP multicasting application forthe NT network. You can expect more from Microsoft and third parties as NT gainsmore market share. Be well prepared.

The complete source and executable code is available for downloading fromWindows NT Magazine's Web site at http://www.winntmag.com.

NetShow 1.0

Microsoft * 206-882-8080 Web: http://www.microsoft.com/netshow

Sign up for the ITPro Today newsletter
Stay on top of the IT universe with commentary, news analysis, how-to's, and tips delivered to your inbox daily.

You May Also Like