NETWORK SWITCH WITH PANIC MODE

Abstract: A switch is provided for use in a communications system for transmitting traffic from a first user to a second user. The first and the second users (X, K) are interconnected by a primary communications path (410) and a redundant communications path (420). The switch includes a first port configured to receive hello communications indicative of a proper operation of the primary communications path and a second port for receiving data communications. A switch control (288) monitors the receipt of the hello communications, directs the forwarding of received data communications up to a threshold capacity and, if the received data communications exceed the threshold capacity, drops at least a portion of the received data communications such that forwarded data communications are below the threshold capacity.

Description: NETWORK SWTTCH WITH PANIC MODE BACKGROUND OF THE INVENTION 1 . Field of the Invention The present invention relates generally to communications network switches and more particularly to network switches having a panic mode of operation for facilitating communication on a redundant communication path. 2. Discussion of the Related Art Local Area networks (LANs) are used to facilitate communications between a number of users. Individual LANs may be bridged together to allow a large number of users to communicate amongst themselves. These bridged LANs may be further interconnected with other bridged LANs using routers to form even larger communications networks. Figure 1 depicts an exemplary interconnected bridged LAN system. The numerals 10, 20, 30, etc., are used to identify individual LANs. Bridges between LANs are designated by the numerals 5, 15, 25 and 35. A router between bridged LAN 100 and bridged LAN 200 is identified with the reference numeral 300. In the bridged LAN system depicted, a user A is able to communicate with a user B without leaving the LAN 10. If user A desires to communicate with user C in LAN 20 or user D in LAN 30, the communication is transmitted via bridges 5 and/or 15. If user A desires to communicate with user E, the communication must be routed via router 300 to bridged LAN 200. As will be understood by those skilled in the art, bridges operated at layer 2 of the network model and transparently bridge two LANs. It is transparent to users A and C that communications between them are ported over bridge 5 because layer 2 bridges do not modify packets, except as necessary to comply with the type of destination LAN. However, if user A wishes to communicate with user E, the communication must be ported via router 300 which operates at level 3 of the network model. LAN network administrators generally attempt to connect together those users who frequently communicate with each other in bridged LANs. However, if the bridged LAN becomes too large, it becomes unscalable and may experience various well-known problems. Accordingly, routers are used to interconnect bridged LANs so that the bridged LANs themselves can be kept to an acceptable size. This results in delays in communications between users that are transmitted via the router 300. When, for example, in Figure 1, user E and user A need to communicate frequently, it would be advantageous to interconnect LAN 10 and LAN 50 via a bridge rather than the router 300. This would require system rewiring, which is costly and may be impracticable under many circumstances, such as, if users A and E will only need to frequently communicate for a limited period of time. It is often beneficial in bridged LANs and other types of communication systems or networks for redundant communication paths to be provided. Referring again to Figure 1, a switch 37 in bridged LAN 200 provides a redundant communication path between LAN 50 and LAN 60. Figure 2 depicts another communication system having redundant communications paths. As shown, the system includes LANs 305-330. LAN 305 is connected to LAN 310 by switch 340. LAN 310 is connected to LAN 315 by a switch 350. This provides a primary communication path between LANs 305 and 315. Accordingly, during normal operations, communications between users X and Y are directed through switches 340 and 350 along the communication path 410. A redundant path 420 is also shown connecting LANs 305 and 315. This path is under the control of switch 360 which also connects LAN 305 with LANs 320-330. Conventional switch 360 includes a switch controller that implements forward processing and spanning tree processing, the latter in accordance with a spanning tree protocol. Each of the switches periodically exchanges hello messages, typically at a frequency of once per second. It will be recognized by those skilled in the art that data communications are being received by switch 360 at a substantially higher frequency and that tens of thousands, if not hundreds of thousands, of data communications packets may be received by the switch 360 every second. Based upon the spanning tree protocol implemented by the switch 360, data traffic between users X and Y is prohibited by switch 360 from transmission via the redundant communication path 420 as long as the hello messages are periodically received. When a succession of hello messages are not received from either of switch 340 or switch 350, for example, fifteen successive hello messages are missed, the switch 360, in accordance with the spanning tree protocol, opens the redundant communication path and allows communications between users X and Y to be transmitted via the redundant link 420. This is intended to ensure that the redundant communication path is only available for transmitting communications between LANs 305 and 315 when the primary communication path 410 has failed. As those skilled in the art will recognize, when both communication paths 410 and 420 are simultaneously open to traffic, a network loop will be formed that will result in an extreme overloading of the system which is, in turn, likely to bring the network down. Conventional switches 340-360 may have a threshold capacity that, when exceeded, cause the switch to be unable to forward received traffic. Accordingly, each switch is configured such that when an amount of received traffic exceeds the threshold capacity or limit, the excess traffic may be simply dropped. However, this dropping of traffic may also result in anomalies in the switch 360 monitoring of the hello messages. More particularly, when hello messages are dropped along with excess data communications, the switch 360 will erroneously conclude that the primary communication path 410 is inoperable and therefore open the redundant communication path 420 unnecessarily, thereby causing a network loop that will overload and bring down the system. SUMMARY OF THE INVENTION The present invention provides a communications switch that controls a redundant communication link in an enhanced manner. Additionally, the present invention provides a communications switch that routes data traffic over a redundant communications link in such a way that network communications loops are avoided. In accordance with the present invention, a communications switch is provided for use in transmitting traffic from a first user to a second user in cases where the first and the second users are interconnected by primary and redundant communications paths. The switch includes a first port configured to receive periodic hello communications indicative of a proper operation of the primary communications path. During normal operations, a switch control monitors the receipt of hello communications and directs the forwarding of the received data communications up to a threshold capacity or limit. The hello communications typically are received at a first frequency, e.g., once per second, and the data communications are received at a second frequency, e.g., tens of thousands per second, which is much greater than the first frequency. In situations where the received data communications exceed the threshold capacity, the switch control drops at least a portion, and preferably all, of the received data communications such that forwarded data communications are at least below, and beneficially well below, the threshold capacity, if not eliminated completely. According to other aspects of the invention, the switch control detects a failure to receive the hello communications and directs the forwarding of communications between the first user and the second user over the redundant communications path responsive thereto. Advantageously, the switch control detects the failure to receive successive hello communications, and preferably directs the forwarding of communications over the redundant communications path responsive to a failure to receive a particular number of successive hello communications, for example fifteen. The switch control drops the received data communications responsive to detecting a failure to receive a lesser number of successive hello communications, for example eight, and/or when the received data communications exceed the threshold capacity. The switch control operation ensures that hello communications will not be dropped due to the received communications exceeding the threshold capacity, which could result in the switch erroneously concluding that the primary communications path is not operating properly. In such a case, the switch control would direct communications between the first and second users over the redundant communications path causing a network loop and potentially bringing the system or network down. Accordingly, it is preferred that the switch control direct the forwarding communications between the first user and the second user along the redundant path only after it detects a failure to receive a further successive hello communications subsequent to dropping of all of the received data communications. In accordance with other aspects of the invention, a communication system for transmitting traffic from a first user to a second user includes primary and redundant communications paths connecting the first and second users. A switch is disposed in the redundant communications path to receive periodic hello communications indicative of a proper operation of the primary communications path and data communications between system users. The switch is capable of forwarding received data communications up to a threshold capacity or other limit. When the switch detects a failure to receive a first number of successive hello communications, it will preferably drop all of the received data communications. The switch will also forward communications between the first user and the second user along the redundant path responsive to the subsequent detection of a failure to receive a second number of successive hello communications. BRIEF DESCRIPTION OF THE DRAWINGS The present invention will be readily appreciated as the same becomes better understood by reference to the accompanying drawings, in which like reference numerals designate like or corresponding parts throughout, and which are not meant to be limiting, wherein: Figure 1 depicts a conventional LAN configuration; Figure 2 depicts a conventional redundant communication network; Figure 3 depicts a redundant communication network in accordance with the present invention; Figure 4 depicts a communication switch in accordance with the present invention; and Figure 5 is a flow chart of the process implemented by the switch depicted in Figure 4. DETAILED DESCRIPTION Figure 3 depicts a redundant network or system similar to the system depicted in Figure 2 and like components are referenced with identical reference numerals. As depicted in Figure 3, LANs 305-330 are interconnected by switches 340, 350 and 360'. Redundant communication paths 410 and 420 interconnect LAN 305 with LAN 315. The primary communication link 410 includes switches 340 and 350. The redundant communication link 420 includes switch 360' connecting LAN 305, which, for example, could be a high-speed backbone LAN, to LANs 315- 330. The switches 340, 350 and 360 each includes spanning tree processing that implements a spanning tree protocol. The switches also include forward processing for forwarding received data communications. Switches 340 and 360 are shown to be conventional but could, if desired, be configured and programmed in accordance with the present invention, as will be described in detail below with reference to switch 360'. During normal operation, communications between users X and Y are transmitted over the primary communication path 410 via switches 340 and 350. To avoid opening a loop in the network, each of the switches 340 and 350 transmit hello messages to the switch 360' at a frequency of once per second, indicating that the primary communication link is operating to transmit communications between users X and Y. It will be noted that switch 360' receives not only the hello messages but also a substantial amount of data traffic for forwarding to LANs 320-330. So long as the hello messages are received by switch 360' from switches 340 and 350, switch 360' prohibits communications over the redundant communication link 420 between LANs 305 and 315 so that a network loop is avoided. It will be recognized that although switch 360' is shown as a dynamic multiported switch, the present invention is equally applicable to conventional bridges and other types of switching or bridging devices. The switch 360' maintains a count of any successively missed hello messages. Accordingly, if switch 360' fails to detect fifteen consecutive hello messages from either switch 340 or switch 350, switch 360' opens the redundant communication path 420 to allow communications between LANs 305 and 315. When the data traffic received at switch 360' exceeds the capacity of the switch to forward communications to the LANs 320-330, switch 360', if conventionally configured, would proceed to drop all received traffic exceeding its threshold capacity and continue forwarding data traffic at the full capacity level. For example, if the switch 360' has a forwarding capacity of sixty-thousand packets of information per second and the received traffic between LANs 305 and 320-330 is ninety-thousand packets per second, the switch 360' would conventionally drop thirty-thousand packets of information per second and continue to forward the remaining sixty-thousand packets of data traffic. As discussed above, this could result in hello messages from switch 340 and/or switch 350 being dropped. That is, the thirty thousand packets of dropped data could include successive hello messages from either or both of switches 340 and 350. Accordingly, the switch 360' could mistakenly determine that the primary communication path 410 is inoperable and, therefore, open up the redundant path 420 between LANs 305 and 315, resulting in a network loop. To solve this problem, switch 360' is programmed to conservatively assess the operability of the primary communication link 410 and to only go into a panic mode when it determines that link 410 has become inoperable. Figure 4 provides a schematic depiction of the switch 360'. As indicated, the switch 360' includes a switching device 282 for forwarding communications between LAN 305 and LANs 315-330. The switching device 282 is controlled by the switch control 288, which includes a control module 284 and memory 286. The control module includes a detector 284a for detecting traffic received from the LANs 305 and 315-330, including hello messages from switches 340 and 350. The control module 284 also includes a controller 284b for controlling the switching device 282 in accordance with instructions received from the processor 284c, which processes information in accordance with stored programming instructions on the memory 286. These particular components can be implemented in any number of ways as will be well understood by those skilled in the art. It should be recognized that the memory itself may be magnetic, electrical, optical or another type of device capable of storing the necessary instructions and information to allow the control module 284 to operate in the described manner. Figure 5 depicts a flow chart of the steps performed by the switch 360' in accordance with the present invention. It will be understood that the switch 360' may perform numerous other steps in communicating information between LAN 305 and LANs 315-330 that are not shown in the flow chart of Figure 5 in order to avoid superfluous information that is unnecessary to the skilled artisan's understanding of the present invention. The operation of the switch 360' will now be described with reference to Figures 3-5. As indicated above, during normal operation, switch 360' receives data communications that are forwarded between LANs 305 and 320-330. Switch 360', however, prohibits the flow of any traffic between LAN 305 and LAN 315 and, hence, the redundant communication link 420 remains closed while communications between LANs 305 and 315 are transmitted via the primary communication link 410. Detector 284a of the switch 360' detects data communications and hello messages. The switch control processor 284c operates to monitor the detected hello messages as well as the data traffic as indicated in step 500. In this regard, the processor 284c maintains a count of a number of successively missed hello messages from either switch 340 or switch 350. The processor 284c also maintains information regarding an amount of data traffic received by the switch 360', as indicated in step 505. So long as hello messages are received and the data communications are below the switch capacity, the controller 284b, in accordance with the standard forward processing performed on processor 284c, controls the switching device 282 to forward all received traffic between LANs 305 and 320-330. In step 510 the processor 284c determines when the data traffic detected by detector 284a exceeds the switch threshold, e.g., sixty thousand packets per second. If the data traffic does not exceed the switch threshold, in step 515 the processor 284c determines if hello messages are being successively received. If so, the processor 284c continues with the monitoring at step 500. When successive hello messages are not being received, the processor 284c maintains, in conjunction with the memory 286, a count of the number of successively missed hello messages, as indicated in step 520. In step 525, the processor 284c determines when fifteen successive hello messages from either of switches 340 or 350 have not been received. If hello messages are not being received, the count of the number of successively missed hello messages continues at step 520. However, when fifteen successive hello messages have been missed, the processor 284c instructs the controller 284b to control the switching device 282 to forward communications between LANs 305 and 315 via the redundant communication path 420. Accordingly, once detector 284a has failed to detect fifteen consecutive hello messages, i.e., a period of fifteen seconds has gone by without receiving a hello message from one of either switch 340 or switch 350, the switch 360' concludes that the primary communication path 410 has become inoperable and begins transmitting communications between LAN 305 and LAN 315 as indicated by step 530. When, in step 510, the data communications exceed the threshold of switch 360', e.g., sixty-thousand packets per second, the processor 284c directs the controller 284b to control the switching device 282 to drop the excess communications traffic as indicated in step 535. In this regard, the switch 360' does not distinguish between data traffic and hello messages. Accordingly, hello messages, as well as data communications, may be dropped prior to being detected by the detector 284a. In step 540 the controller determines if the successive hello messages are being received one per second. If hello messages are being received, the processor 284c continues its monitoring function in step 500. If, however, successive hello messages have been missed, the processor maintains a count of the number of successively missed hello messages as indicated in step 545. In step 550 the switch 360' determines when the number of successively missed hello messages exceeds eight, or some other desired count threshold. When the threshold is not exceeded, the processor 284c continues to maintain a count of successively missed hello messages, as indicated in step 545. If, however, the detector 284a fails to detect eight successive hello messages, the switch 360' goes into a panic mode. In this regard, the processor 284c directs the controller 284b to control the switching device 282 to drop all received data communications, as indicated by step 555. Accordingly, if hello messages are being transmitted by switches 340 and 350 to the switch 360' but have not been detected because they have been dropped as part of the excessive traffic, by dropping all data traffic, any subsequently transmitted hello message should be detected by the detector 284a thereby stopping the count of missed hello messages prior to the count exceeding the second count threshold of fifteen, as indicated in step 560, responsive to which the switch 360' opens the redundant communication path 420. This is because the switch can drop packets much faster than it can forward traffic; in particular, it can drop packets as fast as the maximum theoretical rate at which the packets can be received. Hence, switch 360' is configured so that the redundant communication link 420 is opened only after the switch 360' has confirmed that a predefined number of successive hello messages has not been received from either of the switches 340 or 350 due to a fault in the primary communication path 410 rather that due to being dropped as part of excess communications traffic received at the switch 360'. It will also be recognized by those skilled in the art that, while the invention has been described above in terms of one or more preferred embodiments, it is not limited thereto. Various features and aspects of the above described invention may be used individually or jointly. Further, although the invention has been described in the context of its implementation in a particular environment and for particular purposes, those skilled in the art will recognize that its usefulness is not limited thereto and that the present invention can be beneficially utilized in any number of environments and implementations. Accordingly, the claims set forth below should be construed in view of the full breadth of the invention as disclosed herein.

Claims: CLAIMS 1. A switch for use in a communications system for transmitting traffic from a first user to a second user, the first and second users being interconnected by a primary communications path and a redundant communications path, the switch comprising: a first port configured to receive hello communications indicative of a proper operation of the primary communications path; a second port configured to receive data communications; and a switch control configured to monitor receipt of the hello communications, to direct the forwarding of received data communications up to a threshold capacity, and when the received data communications exceed the threshold capacity, to drop at least a portion of the received data communications such that forwarded data communications are below the threshold capacity. 2. The switch according to claim 1, wherein the first port and the second port are a same port. 3. The switch according to claim 1 , wherein the hello communications are received at a first frequency and the data communications are received at a second frequency greater than the first frequency. 4. The switch according to claim 1, wherein the switch control is further configured to detect a failure to receive the hello communications, and to direct the forwarding of communications between the first user and the second user along the redundant communications path responsive to the failure detection. 5. The switch according to claim 4, wherein: the hello communications are received periodically; and the switch control is further configured to detect a failure to receive successive ones of the periodic hello communications, and to direct the forwarding of communications between the first user and the second user along the redundant path responsive to detecting the failure to receive successive ones of the periodic hello communications. 6. The switch according to claim 5, wherein: - l i the switch control is further configured to direct the forwarding of communications between the first user and the second user along the redundant path responsive to detecting a failure to receive a first number of successive ones of the periodic hello communications. 7. The switch according to claim 6, wherein: the switch control is further configured to drop at least a portion of the received data communications such that forwarded data communications are below the threshold capacity when (i) the received data communications exceed the threshold capacity and (ii) a failure to receive a second number, which is less than the first number, of successive ones of the periodic hello communications is detected. 8. The switch according to claim 6, wherein: the switch control is further configured to drop all of the received data communications responsive to a failure to receive a second number, which is less than the first number, of successive ones of the periodic hello communications. 9. The switch according to claim 8, wherein: the switch control is further configured to direct the forwarding of communications between the first user and the second user along the redundant path after a failure to receive further successive ones of the periodic hello communications subsequent to the dropping of all of the received data communications responsive to the failure to receive the second number of successive ones of the periodic hello communications. 10. The switch according to claim 1, wherein: the switch control is further configured to drop all of the received data communications when the received data communications exceed the threshold capacity. 11. A method of transmitting communications between a first user and a second user, the first and the second users being interconnected by a primary communications path and a redundant communications path having a switch, the method comprising: receiving hello communications indicative of a proper operation of the primary communications path; receiving data communications at the switch; monitoring receipt of the hello communications; forwarding received data communications up to a threshold capacity; and dropping all of the received data communications when the received data communications exceed the threshold capacity. 12. The method according to claim 11, wherein the received data communications are communications between the first user and the second user. 13. The method according to claim 1 , wherein the hello communications are received at a first frequency and the data communications are received at a second frequency greater than the first frequency. 14. The method according to claim 11, further comprising forwarding communications between the first user and the second user along the redundant path responsive to a failure to receive the hello communications. 15. The method according to claim 14, wherein: the hello communications are received periodically; and the forwarding of communications between the first user and the second user is performed responsive to a failure to receive successive ones of the periodic hello communications. 16. The method according to claim 15, wherein the forwarding of communications between the first user and the second user is performed responsive to a failure to receive a first number of successive ones of the periodic hello communications. 17. The method according to claim 16, wherein the dropping of all of the receive data communications is performed responsive to the received data communications exceeding the threshold capacity and the failure to receive a second number of successive ones of the periodic hello communications. 18. The method according to claim 16, wherein the dropping of all of the received data communications is performed responsive to a failure to receive a second number, which is less than the first number, of successive ones of the periodic hello communications. 5 19. The method according to claim 18, wherein the forwarding of communications between the first user and the second user along the redundant path is performed responsive to a failure to receive further successive ones of the periodic hello communications subsequent to the dropping of all of the received data communications. 10 20. A communications system for transmitting traffic from a first user to a second user, the system comprising: a first communications path connecting the first and the second users; a second communications path redundantly connecting the first and the second users; and a switch disposed in the second communications path configured (i) to receive periodic 15 hello communications indicative of a proper operation of the first communications path, (ii) to receive data communications between systems users, (iii) to direct a forwarding of the received data communications up to a threshold capacity, (iv) to detect a failure to receive a first number of successive ones of the periodic hello communications, and (v) to drop all of the received data communications responsive to detecting the failure to receive the first number of successive ones 20 of the periodic hello communications. 21. The communications system according to claim 20, wherein the switch is further configured to forward communications between the first user and the second user along the second communications path responsive to detecting, subsequent to the dropping of all the 25 received data communications, a failure to receive a second number of successive ones of the periodic hello communications. 22. A method of transmitting traffic from a first user to a second user interconnected by a primary communications path and a redundant communications path having a switch disposed 30 therein, the method comprising: receiving periodic hello communications indicative of a proper operation of the primary communications path; and dropping all data communications received at the switch responsive to a failure to receive a first number of successive ones of the periodic hello communications. 23. The method according to claim 22, further comprising operating the switch to forward communications between the first user and the second user along the redundant communications path subsequent to the dropping of all of the received data communications, based on a failure to receive an additional number of successive ones of the periodic hello communications.

Inventors: KONING G PAUL, RIJHSINGHANI ANIL G, KONING, G., PAUL, RIJHSINGHANI, ANIL, G.
Applicants: CABLETRON SYSTEMS INC, CABLETRON SYSTEMS, INC.
Application year: 1999
Main classification: H04L12
IPC codes: H04B1, H04L12, H04L29