MultiCasting in an ATM Network

This page investigates the the possibility of using Multicasting protocols over an ATM Network. This is currently a very dynamic field of research with much work in the theoretical side of things. For more information on this topic please see the Reference section below. Please email me with any corrections or suggestions about the contents of this page @<>.


  1. What is Multicast?
  2. Why Multicast?
  3. ATM & Multicasting basics
  4. Extending ATM for Multicasting
  5. References
  6. Links to other sites with relevant material (on Bryan's page)
  7. Glossary of Terms

What is Multicast?

Multicast can be simply defined as the ability to send one message to one or more nodes in a single operation. This is different than using replicated unicast which sends messages from one node to a group of nodes by sending to each node individually. This will incur one operation for each destination node and is non-atomic. See the IPMulticast main page for a more complete description.

Back to top

Why Multicast?

Distributed Systems & Databases

Multicast is often used for synchronisation, duplication and coherency of data in these systems. For the implementation of coherency one needs to use atomic operations among different machines. This atomicity can be achieved by using Multicasting. The same can be said for synchronisation in Distributed Systems especially when the system is used to implement parallel processing algorithms. Another aspect of distributed systems is the duplication of data in a bid to provide some form of Fault Tolerance. An example of this is a file server with multiple and distributed copies of the data. It would be very useful to have all copies of the data updated in the one operation. This would also ease the work of coherency between copies of the data. Resource location can also be eased by the use of multicasting.

Conferencing and Distribution of Audio and Video

Multicasting is required to implement large scale (>10 nodes) conferencing due to the real-time component of these mediums. Tight real-time components require a constant flow of data and has a very low tolerance to jitters. To this end corrupted data frames are often dropped rather than retransmitted. ATM is likely to have very low error rates due to the medium it is expected to be implemented on (ie. fiber optic). A different aspect to this topic is the probability that the multicast group will be dynamic with many additions and deletions over time. This will have many implications for the routing side of Multicasting. See Eoghan's page for a perspective on multicast routing.

Table 1. Multicast Application characteristics

This table gives an indication of the requirements of those application types that would possibly benefit or require multicasting protocols.

Back to top

ATM & Multicasting basics

ATM can be separated into a Physical Layer and a Media Access Layer. We will deal with the the Physical Layer in the next section. The Media Access Layer is made up of several AAL's. Currently AAL 0, AAL 1 ... AAL 5. These define the characteristics of the protocol. See ATM PAGE of a more indepth discussion of these Layers. For the moment one can classify these by using the following diagram:

Figure 1. ATM AAL Service Classifications

Connection Oriented protocols can incur a high overhead when setting up and destroying links, therefore connection-less links might be preferable. Some applications that require multicasting such as audio would prefer a constant bit rate where as video is less susceptible to the "jitters". This is due to a humans high sensitivity to audio jitters. ATM networks use cells which are similar to packets. It can then be taken from the diagram that Class D Services are along the lines needed to implement multicast on an ATM network.

On the Physical Layer one is dealing with the ATM switch which takes in N inputs with a VCI/VPI address and maps them to one of M outputs changing the VCI/VPI address at the same time. In addition one must consider the media that is used to connect these ATM switches. It has characteristics that will affect the way in which ATM multicast is implemented. This is especially important when considering the policy when errors are detected. This occurs at an approximate rate of 10^7. Error recovery can be minimal, and lead to simple (and possibly more efficient) multicasting over an ATM with fiber links.

The current characteristics of ATM is fixed length 53 byte cells, lightweight connections with no inter-switch error control (but is done end-to-end). There is no direct support for multicasting on an ATM network because of limited addressing (28bits), and due to the fact that the switches do not have direct support for fanning out one input to many output ports on the switch. It is reasonable to say that some modifications will have to be done.

Back to top

Extending ATM for Multicasting

Firstly the issue of the fanout (1 to N) copy of cells will have some associated state data. This data has to be put in each cell or in the switch itself. The cell structure is incapable of storing this information. The most efficient place to store the fanout is at each switch, associated with the VCI/VPI information. Thus cells can be replicated on a per-connection basis and under the control of the connection setup mechanisms provided in ATM.

Secondly some means of identifying copies of a cell has to be provided to enable subsequent switches and the final destinations to be demultiplex-ed. This brings up the issue of separating the replication function from the routing function. The following issues must also be taken into consideration when designing an extended ATM switch:

  1. Delay - Important for interactive applications.
  2. Jitter - Critical for Audio and Video.
  3. Capacity - Contention for bandwidth will cause delays.
  4. Reliability - Of both switch and media will affect error recovery
  5. Priority - CLP bit indicates primitive priority in ATM.

Integrated Switches

Figure 2. 4x4 Multicast Switch

The above figure shows the structure of an integrated replication and routing switch. These switches have certain characteristics that we shall discuss now. Space Switched designs modify the network in a switch to include a rearrangeable (non-blocking) NxM multicast switch in one unit. The replication of cells occurs in the switch elements, with each one being capable of broadcasting an incoming cell to all of its inputs. Secondly, the emerging cells are recirculated and re-enter the input ports in the same order in which they left so that the routing process can take place. This time they are routed to their destinations. When they re-enter the switch for the second time they are treated as ordinary unicast cells. This all means that the switch must be able to operate at twice the normal speed so that the two phases may be completed before a new cell comes in.

Figure 3. Roxanne Integrated Switch Element

Shared Memory is a second class of the integrated switch. Roxanne is one such switch design. It uses a different mechanism to do the replication. Incoming cells are buffered in shared memory. A cell is then routed when when the output port receives a pointer to it. The Multicasting is achieved by allowing multiple output ports to reference the same cell in the shared memory. This buffering also improves performance under bursty-data conditions. One possible problem with this class of switch is that reordering of cells is possible. This requires some form of re-sequencing before the the cell is sent to the output port.

Cascaded Switches

Figure 4. Cascaded 4x4 Multicast Switch

Cascaded switches look like figure 4. The replication fabric is a separate unit that is placed in front of the routing (switch in figure) fabric. A cell comes in on one input line and is duplicated to any number of its outputs. So in the figure input line 2 (counting from 0) is replicated in the multicast fabric and results in the output of the same cell on the ports 2 and 3. It is then routed to its destinations by the the switch fabric. The advantage of this system is that it is conceivable that a standard unicast ATM switch could have a multicast unit bolted onto its inputs and provide multicasting facilities to those who want it.

The Starlite design was such that the destination ports which were members of a multicast group caused multiple empty cells to be generated by the source, which were subsequently filled from the source multicast cell held in the multicast fabric. This requires synchronisation to work.

The Lee Space Switched design is a non-blocking, self-routing multicast fabric which is based upon a broadcast network known as the Banyan Network. Here the fan-outs are specified in the header of each cell and the replication process is achieved as follows:

This algorithm is quite easy to implement in hardware which is a very attractive feature when it comes to increasing the speeds of the switch. Another type of cascaded switch is the Slotted Ring. This is not covered here but is referenced in the References section.

Integrated v's Cascaded Switches

So which is better? Well Cascaded Switches offer many advantages such as ease of addition of multicasting ability to unicast switches. This is important since there are issues of cost involved. Not every site will want multicasting switches on their ATM switches and they have that choice if Cascaded Switches are used. On the other hand it should be cheaper to produce an Integrated Switch since it comprises of less units. Another major concern revolves around the allocation of VCIs for multicasting groups. ATM has a limited addressing scheme and this problem will have to be tackled carefully.

Back to top


Back to top

Glossary of Terms

Thanks to John Doar for the figures.

Cheers, Leon.