ATM Multicasting

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.

ATM Leaf Nodes

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.

  1. Using the WSASocket function, create a socket of address family AF_ATM with the flags WSA_FLAG_MULTIPOINT_C_LEAF and WSA_FLAG_MULTIPOINT_D_LEAF
  2. Bind the socket to the local ATM address and port with the bind function.
  3. Call listen.
  4. Wait for an invitation using accept or WSAAccept. Depending on the I/O model you use, this will differ. (See Chapter 8 for a more thorough description of the Winsock I/O models.)

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.

ATM Root Nodes

Creating a root node is even easier than creating an ATM leaf. The basic steps are

  1. Using the WSASocket function, create a socket of address family AF_ATM with the flags WSA_FLAG_MULTIPOINT_C_ROOT and WSA_FLAG_MULTIPOINT_D_ROOT
  2. Call WSAJoinLeaf with the ATM address for each endpoint you want to invite.
  3. A root node can invite as many endpoints as it wants, but it must issue a separate WSAJoinLeaf call for each.



Network Programming for Microsoft Windows
Linux Server Hacks, Volume Two: Tips & Tools for Connecting, Monitoring, and Troubleshooting
ISBN: 735615799
EAN: 2147483647
Year: 1998
Pages: 159

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net