Field of the Invention
This invention relates to telecommunications, and more particularly to multicasting in a switch.
Background of the Invention
Telecommunications networks deliver data by routing data units, such as Asynchronous Transfer Mode ("ATM") cells, from source to destination through switches. Each switch includes input/output ("I/O") ports through which the ATM cells are received and transmitted. The switch determines the appropriate port for output transmission of the cell based on the cell header, which contains destination indicating information.
Depending on the destination indicated in the cell header, it may be desirable to transmit the cell from multiple ports on the switch. Cells which enter a switch through one port and exit through one port are referred to as unicast cells. Cells which enter the switch through a single port and exit through multiple ports are known as multicast cells. While most existing switches are configured to handle unicast cells, not all switches are capable of multicast operation. Further, while most if not all multicast switches are capable of "spatial" multicast operation (transmission of single copies of a cell through multiple output ports), not all multicast switches are capable of "logical" multicast operation (transmission of multiple copies of a cell through a single output port), Logical multicast switches are known, but are more complex and costly than typical spatial-only multicast switches. Accordingly, it would be desirable to be able to handle logical multicast operation without significantly adding to the cost or complexity of the switch. Additionally, it would be useful to provide multicast type capability in switches which do not support multicast operation by design.
Summary of the Invention
A method and apparatus for multicasting a cell through a single physical port in a switch is disclosed. Multicasting through a single physical port, i.e., logical multicasting, is accomplished by providing a first copy of an incoming cell to a desired output port as determined from the cell header and providing a second copy of the cell to a loop-back element. The cell provided to the loop-back element is provided to the desired output port and transmitted therefrom such that the first and second copies of the cell are serially transmitted from the single desired output port. By repeatedly copying the cell, providing a copy of the cell to the loop-back element, and providing a copy of the cell to the desired port, the incoming multicast cell may be logically multicast through the desired output port as many times as is desired. The loop-back element may comprise an input port and output port pair, i.e, an I/O port. The input and output ports of the loop-back element may be specifically dedicated to execute the loop-back function, or may be a normally functional input and output ports on the switch, temporarily configured for loop-back operation.
By providing logical multicast capability in a switch configured for spatial multicast operation, multicast type capability can be provided in switches which are not configured for spatial multicast operation. As a result of network architecture, the most direct route from an upstream multicasting switch to a downstream unicasting switch will be through a particular output port on the multicasting switch and a particular input port on the unicasting switch. If it is desired to multicast a cell from the unicasting switch, the cell is first logically multicast in the upstream multicasting switch to provide a plurality of cells which are transmitted through the appropriate output port to the downstream unicasting switch. As the logically multicast cells are received in the unicasting switch, the cells are serially broadcast, i.e., unicast, to various selected output ports on the unicasting switch in a manner which approximates multicast operation
Brief Description of the Drawings
The invention will be more fully understood in reference to the following detailed description of the drawings, in which:
FIG. 1 is a block diagram of a switch which is capable of multicast operation;
FIGS. 2-4 illustrate a method of multicasting to a single port in the switch of FIG. 1; and
FIG. 5 illustrates multicasting from a switch configured for unicast operation in a telecommunications network.
Detailed Description
FIG. 1 illustrates a switch 10 capable of multicasting cells through a single port, i.e., logical multicasting. The switch 10 includes eight I/O ports which, for purposes of explanation, are illustrated as eight input ports and eight output ports. Each output port includes a multiplexing element 12 and a FIFO buffer 14. Each input port includes a duplicating element 16.
Overspeeding is employed within the switch to accommodate switch traffic demands. Each output port is configured to accept cells from any one of the input ports. That is, each output port is connected to all input ports through the multiplexing elements 12 (only exemplary connections from input port 1 and to output port 8 are shown). FIFO buffers 14 are therefore employed in each output port to prevent cell loss in the output ports when cells are simultaneously transmitted from a plurality of input ports to a single output port.
In spatial multicast operation incoming multicast cells are selectively duplicated in the duplicating element 16 and transmitted therefrom to appropriate output ports based upon information in the respective cell headers and management tables 19 maintained within the switch. The cells are then directed to the output ports through the multiplexing elements 12 and are provided to the FIFO 14, from which the cells are transmitted from the switch 10.
In order to provide logical multicasting, at least one input and output port pair is dedicated to loop-back operation. In the exemplary embodiment described herein the loop-back element 18 includes input port 8 and output port 8, which are dedicated to loop-back operation. The loop-back element 18, upon receipt of a cell at output port 8, transmits the received cell from output port 8 to input port 8, where multiple copies of the cell can be made. The input port 8 then transmits the cell from the input port 8 to at least one output port on the switch. The input and output ports of loop-back element 18 may be specifically dedicated to execute the loop-back function, or may be a normally functional input and output ports on the switch, temporarily configured for loop-back operation.
FIGS. 2-4 illustrate logical multicasting with the switch of FIG. 1. Referring now to FIG. 2, a single incoming multicast cell 1.10 is provided to input port 1 of the switch 10. The cell identification "1.10" indicates that the cell destination is port "1," connection "10," where "10" corresponds to an arbitrary connection number assignment within the switch. The multicast cell 1.0 is duplicated in the input port 1 duplicating element 16 to provide cell copy 2.20 and cell copy 8.31. Destination indicating information in the headers of cell 2.20 and cell 8.31 is updated to indicate new cell destinations: output port 2 and the loop-back element 18 output, respectively. The cells are then routed to output ports by the switch. Cell 2.20 is provided to output port 2, and cell 8.31 is provided to the dedicated loop-back element 18.
Referring now to FIG. 3, cell 8.31 is provided to the loop-back element input from the loop-back element output. At the loop-back element input cell 8.31 is duplicated and the respective destination indicating information in each cell header is updated, providing cell 2.118 and cell 8.32. Cell 8.32 is provided to the loop-back element output and cell 2.118 is provided to output port 2. In output port 2, cell 2.118 is queued into the FIFO 14 behind cell 2.20.
Referring now to FIG. 4, cell 8.32 is provided to the loop-back element input from the loop-back element output. Destination indicating information in the header of cell 8.32 is updated at the loop-back element input and resulting cell copy 2.4111 is provided to output port 2, where cell 2.4111 is queued behind cells 2.20 and 2.118 respectively in the FIFO 14. It will be appreciated that a the number of cells which are broadcast from output port 2 can be extended by continuing to provide cells to the loop-back output port and the desired output port (output port 2 in the present example), transmitting cells from the loop-back element output to the loop-back element input, duplicating the looped-back cell, providing a first copy of the cell to the desired output port and providing a second copy of the cell to the loop-back element output.
FIG. 5 illustrates multicasting from a switch 20 configured for unicast-only operation (a "unicast switch") by using the multicast switch 10 of FIG. 1. The switch 20 is a unicast switch and thus cannot direct an incoming cell to more than one output port thereon. To provide multicast type capability in this architecture the incoming multicast cell 1.10 is logically multicast from an output port, e.g., output port 2, in the nearest upstream multicast capable switch 10 in the manner described above with reference to FIGS. 1-4. The multicast switch 10 thus provides a serial stream 22 of multicast cells 2.20, 2.118, 2.4111 from the single inputted multicast cell 1.10. As the serial stream of multicast cells enter the unicasting switch 20, the destination indicating information in each cell header is updated, and the cells are forwarded to the appropriate output ports on the unicasting switch as determined from the destination indicating information. More particularly, the cells are individually broadcast from the unicasting switch 20. For example, cell 2.20 is updated and broadcast from output port 2 of the unicasting switch 20 as cell 2.30. Similarly, cell 2.118 is updated and broadcast from output port 1 of the unicasting switch as cell 1.29. The result is a multicast type broadcast of the multicast cell 1.10 from multiple ports of the unicasting switch 20. Unlike true multicast operation, however, in multicast type broadcast the cell copies are serially broadcast rather than simultaneously broadcast.
It will be understood that various changes and modifications to the above described method and apparatus may be made without departing from the inventive concepts disclosed herein. Accordingly, the present invention is not to be viewed as limited except by the spirit and scope of the appended claims.