Native ATM through Winsock also supports multicasting, which offers significantly different capabilities than IP multicasting. Remember that ATM supports rooted control and data planes, meaning that when a multicast server, or c_root, is established, it has control over who is allowed to join the group as well as how data is transmitted within the group.
One important distinction is that on an ATM network, IP over ATM can be enabled. This configuration allows the ATM network to emulate an IP network by mapping IP addresses to ATM native addresses. With IP over ATM enabled, you have a choice of using IP multicasting, which will be translated appropriately to the ATM layer, or using the native ATM multicasting capabilities, which we present in this section. The behavior of IP multicasting on ATM when configured for IP over ATM should be the same, as it appears that you are on an IP network. The only exception is that IGMP is not present because all multicast calls are translated into ATM native commands. Additionally, it is possible to configure an ATM network with one or more LAN emulation (LANE) networks. The purpose of a LANE is to make the ATM appear as a "regular" network capable of multiple protocols such as IPX/SPX, NetBEUI, TCP/IP, IGMP, ICMP, and so on. In this situation, IP multicasting does in fact look every bit like IP multicasting on an Ethernet network, which means IGMP is present as well.
We mentioned that ATM supports rooted control planes and rooted data planes. This means that when you create a multicast group, you establish a root node that "invites" leaf nodes to join the multicast group. In Windows 2000, only root-initiated joins are currently supported, meaning that a leaf cannot request to be added to a group. Additionally, the root node (as a rooted data plane) sends data in one direction only, from the root to the leaves.
One startling contrast between ATM and IP multicasting is that ATM needs no special addresses. All that is required is that the root have knowledge of the addresses of each leaf that it will invite. Also, only one root node can be in a multicast group. If another ATM endpoint starts inviting the same leaves, this association becomes a separate group from the first.
Creating a leaf node in a multicast group is straightforward. On an ATM network, the leaf must listen for an invitation from a root to join a group. The necessary steps are outlined below.
Once the connection is established, the leaf node can receive data sent from the root. Remember that with ATM multicasting, the data flow is one way: from the root to the leaves.
NOTE
Windows 98 and Windows 2000 currently support only a single ATM leaf node on the system at any given time. That is, only a single process on the entire system can be a leaf member of any ATM point-to-multipoint session.
Creating a root node is even easier than creating an ATM leaf. The basic steps are
A root node can invite as many endpoints as it wants, but it must issue a separate WSAJoinLeaf call for each.