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 @<lahurst@maths.tcd.ie>.
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.
This table gives an indication of the requirements of those application types that would possibly benefit or require multicasting protocols.
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:
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.
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:
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.
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 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.
Thanks to John Doar for the figures.
Cheers,
Leon.