1. Field of the Invention
The present invention relates to the field of computer networking, specifically to the field of local area network communications. More specifically, the present invention relates to methods and apparatus providing for switching of packets locally when the packets are provided from a local source device and destined for a local destination device and providing for asynchronous transfer mode (ATM) switching when packets are provided from a local source device and destined for a remote destination device.
2. Description of the Related Art
U.S. Pat. No. 5,408,469 (the '469 patent) titled “Roping Device Utilizing an ATM switch as a multi-channel backplane in a Communication Network” (which patent is assigned to the assignee of the present invention) describes a device for switching packets received from a local area network segment though an ATM switch to another local area network segment. The '469 patent is incorporated herein by reference. In the background section of the '469 patent there is basic teaching of ATM networks, ATM cell formats, ATM switching and network concentrators and that information is not repeated here. Rather, reference is simply made to the '469 patent.
U.S. Pat. No. 5,420,858 (the '858 patent) titled “Method and Apparatus for communication from a non-ATM communication medium to an ATM communication medium” (which patent is assigned to the assignee of the present invention) describes a device for switching packets received from a local area network segment onto an ATM network. The '858 patent is incorporated herein by reference. In the background section of the '858 patent, there is also disclosure of basic information regarding ATM networks.
In the '469 patent, it is taught that a packet may be received from one local area network (LAN) segment by the central device 200 on a port such as port 211A. The packet is then segmented and ATM cells are formed and provided to the ATM switch. The cells are then switched or routed by the ATM switch, reassembled into a packet and are provided out over another port onto another LAN segment.
While the '469 patent effectively provides for switching of packets over an ATM switch (after segmentation), it does so by segmenting all packets received and then switching the resulting cells over the ATM backplane. This architecture makes it necessary to convert or segment all packets into cells, and to use bandwidth on the ATM backplane for all packets.
The '858 patent, similar to the '469 patent teaches a device in which all packets are segmented and then switched over an ATM network.
What is desired is a system that provides for local switching of packets which are received on a local LAN segment and which are destined for a local LAN segment avoiding the overhead associated with segmentation of all packets.
It is worthwhile mentioning that the local LAN segments may be, for example, token ring, FDDI, Ethernet or other carrier sense multiple access (CSMA) or other local area network protocols. As these protocols are well-known, they will not be described here in detail.
A device for use in a data transmission network is described which provides for local switching of data packets between interfaces of a module over a data packet switch; which provides for switching of packets between modules in a system chassis over an ATM backplane; and which provides for switching of data packets not known to be addressed to a local data terminal equipment over standard ATM network.
The device comprises first and second ports coupled with respective first and second local area networks segments, a packet switch, a segmentation circuit, and an ATM interface. The packet switch is coupled to the first and second port for switching information packets received from data terminal equipment on the first local area network segment and destined for a DTE on the second local area network segment (i.e., switching between devices attached to ports on the same module). If the destination DTE is not known to be attached to a port on the same module, the segmentation circuit segments the packet into cells and transmits the cells over an ATM network. In the case of a packet destined for a device coupled with a port on another module in the same switching device, the cells are transmitted over an ATM backplane of the switch device. In the case of packets destined for DTEs attached to other switch devices, the cells are transmitted over an ATM cloud.
The present invention further provides for discrimination of packets based on destination addresses at the port level of the switch device avoiding the need to transmit packets destined for DTEs on attached to the same port to the packet switch for processing.
These and other aspects of the present invention will be discussed in greater detail with reference to the detailed description and the accompanying figures.
a) is an illustration of a first mode of operation of a device as may be utilized by the present invention.
b) is an illustration of a second mode of operation of a device as may be utilized by the present invention.
For ease of reference, it might be pointed out that reference numerals in all of the accompanying drawings typically are in the form “drawing number” followed by two digits, xx; for example, reference numerals on
What is described herein is a local area network switching device utilizing both packet switching and Asynchronous Transfer Mode (ATM) switching. In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It will be obvious, however, to one skilled in the art that the present invention may be practiced without these specific details. In other instances, well-known circuits, structures and techniques have not been shown in detail in order not to unnecessarily obscure the present invention.
In certain embodiments, the device 100 may be implemented with a chassis having a communication backplane (such as an ATM backplane) which supports interconnection of a plurality of interconnecting modules. The modules may support any of, for example, token ring, FDDI, Ethernet, and ATM network segments. In one embodiment, a chassis is provided that provides six slots and, therefore, supports six modules.
Data terminal equipment (DTE) 101-103 (such as a computer, file server, printer, etc.) may be coupled through each of the ports 106-108. It is noted that embodiments of the invention may utilize shared segments allowing for multiple devices to be coupled through any individual port 106-108. However, for sake of simplicity of the drawing, only a single device is illustrated per port. In addition, device 121 may also include a plurality of ports supporting a plurality of devices although, again for sake of simplicity of the drawing, only port 122 and DTE 123 are illustrated.
a) and 2(b) illustrate high level block diagrams of two modes of operation of aspects of the present invention.
The ATM-Core LAN Switch
A basic architecture for an ATM-core LAN switch is illustrated in
As discussed above, each of the ports 106-108 support one or more DTEs as illustrated in
As will be discussed in greater detail below, switching of packets received from a port on module 203 and destined for another port on module 203, is done locally by a data packet switch. Switching of messages between a port on module 203 and a port on module 205 is carried out over ATM backplane bus 202. Packets received on a port on module 203 and destined for a DTE not coupled with device 100 are switched over an ATM network (or ATM cloud) as is better illustrated with reference to
It is noted that in one embodiment of the invention, switching of packets over the ATM backplane 2002 between module 203 and module 205 may be carried out utilizing internal addressing information referred to as destination tag or Dtag information. Use of the Dtag allows the VPI/VCI fields in a cell header to be left unprogrammed removing the overhead of having to determine the appropriate VPI/VCI. Use of Dtags is discussed in greater detail in copending patent application Ser. No. 08/501,483 titled “Method and Apparatus for controlling data flow with a switching device”, now U.S. Pat. No. 5,732,080, filed on date even herewith.
The connection allowing for communication between the ports 106-108 and the interface 201 will be described in greater detail with reference to
Although
Destination Tags
In the preferred embodiment, Dtags are twelve bit values. By convention, the four high order bits for Dtags used for point-to-point forwarding are zero. The second four bits in a point-to-point Dtag specify the destination card and the low order four bits specify the destination port on the specified destination card. The Dtags for point-to-point forwarding are pre-allocated upon the initialization of switch device 100. This convention is arbitrary. In some embodiments it may simplify recognition of the direct single port Dtags.
For operations in which data is sent to multiple ports (multi-cast operations), at least one of the first four bits is non-zero. These multi-cast Dtags and their associated table entries are allocated after initialization as needed to represent the virtual architecture of the switching device 100.
b) illustrates one alternative to the basic architecture for the ATM-core LAN switch illustrated in
Turning now to
Each of the port interfaces 306-308 are coupled with a packet switch The packet switch provides for local switching of data packets. For example, a packet may be received from a DTE coupled to port 106 and may be switched by packet switch 301 to a DTE coupled with port 107. Alternatively, the packet may be destined for a DTE not known to be coupled to any port on the module 203 and, therefore, the packet may be switched by packet switch 301 to SAR 302 for transmission over the ATM-core. Packet switch 301 is illustrated in greater detail in
The use of packet switch 301 to provide for local switching offers several advantages over a device which provides for switching of all packets over a backplane or other ATM network. For example, assuming that a packet is received from on a local port and is destined for a device on known to be coupled to a local port, use of local switching avoids the any need to segment the packet and reassemble the packet after switching through the ATM network. Further, use of local switching avoids use of bandwidth on the ATM network for local messages.
Packet switch 301 is further coupled with segmentation and reassembly (SAR) circuit 302. Segmentation and reassembly circuits are well-known in the art. For example, various segmentation techniques are described in the '469 patent. Therefore, the particular details of the SAR are not described here in detail. It is sufficient to state the SAR 302 performs the functions of segmenting the variable length data packets into fixed length ATM cells and the function of receiving fixed length ATM cells from the ATM network and reassembling them into data packets for transmission over the ports 306-307.
The SAR 302 is coupled with interface 201 and allows communication of the segmented cells onto the ATM network and allows receipt of cells from the ATM network for reassembly.
Packet switch 301 is described in greater detail in
The forwarding tables are maintained, in one embodiment, using conventional techniques such as used in network bridging where the processor learns what address are coupled with any given port 106-108 based on observing source address received in packets on those ports. The source address/port relationship is then stored in the private memory 403. This method of updating the forwarding tables is sometimes referred to as “positive forwarding”.
While it has been stated that the packet switch 301 uses conventional circuits and a conventional method of updating the forwarding tables, as has been described, the present invention advances over the art by allowing use of the packet switch 301 to perform local switching between ports on the module while allowing use of an ATM backplane to allow for switching of packets between modules on the same device and using an ATM network (or ATM cloud) to perform switching between devices. Thus, as illustrated in
As was discussed above, in one embodiment, the forwarding tables are maintained conventionally using positive forwarding.
In another manner of maintaining the forwarding tables, the forwarding tables are updated using a process which will be termed negative forwarding. In this manner of maintaining the forwarding tables, negative forwarding may be used in conjunction with positive forwarding to improve the efficiency of the packet switch 301.
In the described embodiment utilizing negative forwarding, a local port destination table is maintained for each port. The local port destination table maintains a list of addresses of DTEs coupled with the port. In one embodiment of the invention, the local port destination table is maintained by monitoring the “ring poll” or “neighbor notification” protocol on a token ring network in order to determine the addresses of DTEs coupled to the ring attached to the port. As “neighbor notification” or “ring poll” protocol are well-known in the art, such protocols will not be described here in detail.
The local port destination address table may be stored in a content addressable memory or other suitably fast memory device allowing for fast lookup of destination addresses.
Turning now to
The destination address of a packet is compared with addresses in the local port destination address table, block 502. If a match does not occur, the packet is allowed to advance to the packet switch 301 for processing as has been described above, block 505.
However, if a match does occur, a determination is made if any special processing rules apply, block 503. For example, the device 100 may implement certain forwarding rules requiring forwarding of all packets of a certain types. On example is in the case of use of source routing techniques in which explorer packets may need to be forwarded to other segments even though the destination address is known to be local to the port. If special processing rules apply requiring forwarding of the packet, it is forwarded to the packet switch 301, block 505. Otherwise, the packet is dropped (i.e., not forwarded to packet switch 301, block 504.
Importantly, and advantageous to this embodiment of the present invention, use of negative forwarding offers significant advantages—namely, a packet which is local to the port does is not forwarded to switch 301 and, therefore, switch 301 is not burdened with processing the packet.
There are, of course, alternatives to the described embodiment which are within the reach of one of ordinary skill in the relevant art. The present invention is intended to be limited only by the claims presented below.
Thus, what has been disclosed is a method and apparatus which provides for local packet switching, local ATM switching and non-local ATM switching.
This is a continuation of U.S. application Ser. No. 08/795,240 filed Feb. 10, 1997, now abandoned, which is a continuation of U.S. application Ser. No. 08/501,537 filed Jul. 12, 1995, now abandoned.
Number | Name | Date | Kind |
---|---|---|---|
4975695 | Almond et al. | Dec 1990 | A |
5130984 | Cisneros | Jul 1992 | A |
5195181 | Bryant et al. | Mar 1993 | A |
5214760 | Hammond et al. | May 1993 | A |
5280476 | Kojima et al. | Jan 1994 | A |
5315588 | Kajiwara et al. | May 1994 | A |
5321691 | Pashan | Jun 1994 | A |
5367520 | Cordell | Nov 1994 | A |
5386413 | McAuley et al. | Jan 1995 | A |
5386416 | Neth | Jan 1995 | A |
5394402 | Ross | Feb 1995 | A |
5398245 | Harriman, Jr. | Mar 1995 | A |
5408469 | Opher et al. | Apr 1995 | A |
5420858 | Marshall et al. | May 1995 | A |
5453980 | Van Engelshoven | Sep 1995 | A |
5471472 | McClure et al. | Nov 1995 | A |
5483640 | Isfeld et al. | Jan 1996 | A |
5485455 | Dobbins et al. | Jan 1996 | A |
5502719 | Grant et al. | Mar 1996 | A |
5524113 | Gaddis | Jun 1996 | A |
5528590 | Iidaka et al. | Jun 1996 | A |
5537395 | Alles et al. | Jul 1996 | A |
5555244 | Gupta et al. | Sep 1996 | A |
5570348 | Holden | Oct 1996 | A |
5579480 | Cidon et al. | Nov 1996 | A |
5588115 | Augarten | Dec 1996 | A |
5592622 | Isfeld et al. | Jan 1997 | A |
5594734 | Worsley et al. | Jan 1997 | A |
5600644 | Chang et al. | Feb 1997 | A |
5602844 | Lyles | Feb 1997 | A |
5633869 | Burnett et al. | May 1997 | A |
5732080 | Ferguson et al. | Mar 1998 | A |
5734656 | Prince et al. | Mar 1998 | A |
5737334 | Prince et al. | Apr 1998 | A |
5802278 | Isfeld et al. | Sep 1998 | A |
5809024 | Ferguson et al. | Sep 1998 | A |
5852606 | Prince et al. | Dec 1998 | A |
5889775 | Sawicz et al. | Mar 1999 | A |
5987008 | Simpson et al. | Nov 1999 | A |
6216167 | Momirov | Apr 2001 | B1 |
6370142 | Pitcher et al. | Apr 2002 | B1 |
6427185 | Ryals et al. | Jul 2002 | B1 |
6788671 | Ryals et al. | Sep 2004 | B2 |
Number | Date | Country | |
---|---|---|---|
Parent | 08795240 | Feb 1997 | US |
Child | 10298137 | US | |
Parent | 08501537 | Jul 1995 | US |
Child | 08795240 | US |