Ethernet automatic protection switching

Information

  • Patent Grant
  • 6766482
  • Patent Number
    6,766,482
  • Date Filed
    Wednesday, October 31, 2001
    24 years ago
  • Date Issued
    Tuesday, July 20, 2004
    21 years ago
Abstract
A method and apparatus is provided for automatic protection switching in a ring network by creating a protection domain having a control vlan and protected data vlans and designating a master node and transit nodes connected by a primary port and a secondary port. The master node blocks the secondary port for data vlan traffic until it detects a fault either by notice from a transit node or by polling. When a fault is detected, the master node unblocks the secondary port for data vlan traffic. When the fault is restored, the transit node temporarily blocks the restored port to data vlan traffic thereby preventing a loop. Each time the secondary port is blocked and unblocked, the forwarding databases on all the nodes are flushed.
Description




TECHNICAL FIELD




The present invention relates to the field of network communications. In particular, the present invention relates to a system of automatic protection switching in a ring based bridged network.




BACKGROUND




The amount of data traffic being sent over metropolitan area networks (MANs) is increasing at an exponential rate. This is due in part to the increasingly ubiquitous use of the Internet by consumers and businesses, as well as the increasingly bandwidth-intensive nature of the Internet applications that are being deployed. Today's installed MAN infrastructure is based on the Synchronous Optical NETwork (SONET), a layer-1 technology that was developed in the mid-1980s for the public telephone network and adopted by the American National Standards Institute (ANSI) as a standard for fiber optic networks. “Layer-1” and “layer-2” as used in this document refer to the OSI (Open Systems Interconnection) Reference Model. SONET has a self-healing capability in which one piece of optical fiber handles all data traffic and a second piece of optical fiber remains on standby. Should the working section fail, SONET has an automatic capability to detect the failure and transfer control to the standby section. SONET is a multiplexing technology, which means that it enforces a rigid time-division multiplexing telecom hierarchy. While this approach works well for voice traffic, it is unnecessarily expensive and inefficient for data traffic.




An alternative to using SONET as the provisioning platform for networking service is to use a bridged, layer-2 network like the Ethernet. Such networks can provide services to areas where fiber optic lines don't extend and generally provide better data capacity at a lower cost. A problem with bus and ring networks like the Ethernet is the possibility of a single point of failure causing the system to breakdown. A common solution is to design the network with redundant segments and loops so that there is more than one route to each node in a SONET-like approach. Redundancy and loops can, however, present another problem in which a broadcast packet or an unknown unicast packet results in a broadcast storm where each node receives and rebroadcasts the packet causing potentially severe network congestion.




One way known in the industry of preventing broadcast storms and other unwanted side effects of looping is to use the Spanning Tree Protocol (STP) which has been standardized in the 802.1D specification by the Institute of Electrical and Electronic Engineers (IEEE Std. 802.1 D- 1998, IEEE Standard for Information technology—Telecommunications and information exchange between systems—Local and metropolitan area networks—Common specifications). With STP, the bridges in the network dynamically calculate an optimum subset of the topology that is loop-free and allows a path to each node. Alternate paths are blocked and unblocked as necessary to keep the routes of communication open when a fault occurs. A significant problem with STP is that when a link breaks, it may take thirty or more seconds for a path around the problem to be calculated and traffic successfully rerouted. This level of performance is too slow for use in today's local area networks (LANs) and metropolitan area networks (MANs), for example, where the customer expects seamless connections, undetectable fault correction, and data security.




SUMMARY OF THE INVENTION




A method is provided in which an Ethernet automatic protection switching (EAPS) system prevents loops in a layer-2 network having a ring topology. The EAPS system comprises an EAPS domain having a control vlan and at least one protected data vlan. The EAPS domain is associated with a master node linked to at least one transit node in a ring network.




According to one aspect of the invention, the EAPS system operates in conjunction with the master node to detect a network failure by means of control messages sent between the nodes using the control vlan. During normal operation, the master node blocks the protected data vlan traffic from traversing its secondary port. During a network failure, the master node reroutes the protected data vlan traffic through its secondary port.




According to one aspect of the invention, when the network is restored, the EAPS system operates in conjunction with the affected transit node to prevent looping by blocking the protected data vlan traffic from traversing its restored ring port until notified by the master node that the normal operation has resumed.




According to one aspect of the invention, the master node and the transit nodes forward the EAPS control messages prior to copying them to the nodes' CPU where among other things they are logged for use in troubleshooting.




According to one aspect of the invention, the EAPS system may be implemented on one or more network devices, such as a switch or other packet-forwarding device, a network server computer, and an end station or host computer.




In accordance with these and other aspects of the present invention, apparatus are provided for carrying out the above and other methods.











BRIEF DESCRIPTION OF THE DRAWINGS




The present invention is illustrated by way of example, and not necessarily by way of limitation, in the figures of the accompanying drawings in which like reference numerals refer to similar elements, and in which:





FIG. 1

is a block diagram illustrating an Ethernet Automatic Protection Switching (EAPS) system incorporating the invention in accordance with one embodiment;





FIG. 2

is an illustration of a ring network incorporating the invention, and in which certain aspects of the illustrated invention may be practiced;





FIG. 3

illustrates fault detection in the ring network of FIG.


2


and in which certain aspects of the illustrated invention may be practiced;





FIG. 4

is a state diagram illustrating operation of the master node in accordance with one embodiment of the present invention;





FIG. 5

is a state diagram illustrating operation of a transit node in accordance with one embodiment of the present invention;





FIG. 6

is an illustration of a network configuration in which multiple EAPS domains are running on one ring in the network, and in which certain aspects of the illustrated invention may be practiced;





FIG. 7

is an illustration of another network configuration in which a data vlan spans multiple rings interconnected by one node and is included in two EAPS domains, and in which certain aspects of the illustrated invention may be practiced; and





FIG. 8

illustrates one embodiment of a suitable computing environment in which certain aspects of the invention illustrated in

FIGS. 1-7

may be practiced.











DETAILED DESCRIPTION OF THE INVENTION




In the following description, various aspects of the present invention will be described. However, it will be understood by those skilled in the art that the present invention may be practiced with only some or all aspects of the present invention. For purposes of explanation, specific numbers, materials and configurations are set forth in order to provide a thorough understanding of the present invention. However, it will also be apparent to those skilled in the art that the present invention may be practiced without these specific details.




Parts of the description will be presented in terms of operations performed by a computer system, using terms such as data, state, link, fault, packet, and the like, consistent with the manner commonly employed by those skilled in the art to convey the substance of their work to others skilled in the art. As is well understood by those skilled in the art, these quantities take the form of electrical, magnetic, or optical signals capable of being stored, transferred, combined, and otherwise manipulated through mechanical and electrical components of the computer system; and the term computer system includes general purpose as well as special purpose data processing machines, routers, bridges, switches, and the like, that are standalone, adjunct or embedded.




Additionally, various operations will be described as multiple discrete steps in turn in a manner that is helpful in understanding the present invention. However, the order of description should not be construed as to imply that these operations are necessarily order dependent, in particular, the order of their presentation.




Reference in the specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the invention. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment.




The present invention provides a method and apparatus for automatic protection switching in a layer-2 ring topology network. Specifically, the method and apparatus use protection domains and virtual local area networks (vlans) to recover from fault quickly and efficiently in a bridged, layer-2 network.





FIG. 1

is a block diagram illustrating an Ethernet Automatic Protection Switching (EAPS) system incorporating the invention in accordance with one embodiment. The EAPS system


100


consists of one or more EAPS domains


101


. A control vlan


103


is created for each EAPS domain


101


for the purpose of sending and receiving EAPS system control messages


117


. The EAPS domain


101


is created to protect a group of one or more data carrying vlans


104


.




The EAPS system


100


operates on a ring network


102


. One node on the ring network


102


is designated as the master node


105


. The two ring ports on the master node


105


are designated as primary port


106


and secondary port


107


. All other nodes on the ring network


102


are transit nodes


111


and each has its respective ring ports


112


. Each master node


105


and transit node


111


has a forwarding database (FDB),


108


and


113


respectively, in which they store information about the network communication paths. The master node


105


has a state register


109


for storing the state of the ring network


102


. For the purpose of illustration, the states of the ring network


102


are described either as “failed,” meaning there is a fault or break in the ring network


102


, or as “complete,” meaning that the ring network is unbroken or the ring network has been restored and all nodes are communicating correctly. The transit nodes


111


have a state register


114


in which they store the pre-forwarding state, and a pre-forwarding timer


115


. The transit nodes


111


also have a temporarily-blocked-port storage area (TBP)


116


in which they store the identification of the port that is temporarily blocked. Pre-forwarding and TBPs are discussed below.




In one embodiment of the invention, the master node


105


and the transit nodes


111


use control messages


117


to communicate via the control vlan


103


. Some examples of control messages


117


in the embodiment are health-check messages, link-down messages, and flush-fdb messages. The transit node


111


recognizes a message sent on the control vlan


103


as a control message


117


because it has a special MAC (media access control) address that corresponds to an entry in the forwarding database


113


. The master node and the transit nodes forward the control message


117


prior to copying it to the central processing unit (CPU) of the node where, among other things, it is logged for use in troubleshooting. Forwarding the control message


117


before processing by the CPU facilitates the convergence of the ring network


102


after a fault in substantially less time than can be achieved with prior art methods. In one embodiment, the convergence of the ring network


102


using the EAPS system


100


occurs in substantially less than one second.




The master node


105


has a hello-timer


118


, which is the clock for sending the health-check control messages


117


. Once the hello-timer


118


is started, it prompts the master node


105


to send a health-check message


117


on the control vlan


103


at regular intervals, for example every one second. The health-check message


117


is forwarded around the ring network


102


and returns to the master node


105


nearly instantaneously. When the master node


105


sends the health-check message


117


, it sets the fail-timer


110


. Should the fail-timer


110


expire before the health-check message is returned to the master node


105


, the master node


105


determines that there is a fault in the ring network


102


. The health-check messages


117


are sent even during a fault. When the fault is restored, the master node


105


knows immediately because the return of the health-check message


117


is resumed.





FIG. 2

is an illustration of a ring network


200


incorporating the invention, and in which certain aspects of the invention may be practiced. In the illustration, the ring network


200


is complete, i.e., all nodes are communicating on the primary port


202


. In the illustrated embodiment, S


1


,


201


, is the master node. During normal operation, the master node


201


blocks


205


protected data vlan traffic from traversing the secondary port


203


to prevent a loop. The control vlan


103


is not blocked on the secondary port; only the data vlans


104


are blocked. The ports are blocked and unblocked using technology that is known in the art and therefore will not be further discussed except as it pertains to the invention.





FIG. 3

illustrates fault detection in the ring network


200


of FIG.


2


. When the master node


301


detects a break in the ring


305


, it unblocks the secondary port


303


and allows data traffic to be transmitted and received through the secondary port


303


. The master node


301


detects a fault in the ring network


200


using polling or trapping.




In polling, the master node


201


/


301


periodically sends a health-check control message


204


/


304


via the control vlan


103


on the primary port


202


/


302


. The health-check control message


204


/


304


is one of the control messages


117


exchanged between the master node


105


and the transit nodes


111


. When the ring network


200


is complete, as illustrated in

FIG. 2

, the health-check control message


204


will be returned to the master node


201


on its secondary port


203


before the fail-timer


110


expires, and the master node


201


will know that the ring network


200


is complete. As illustrated in

FIG. 3

, when there is a break


305


in the ring network


200


, the health-check control message


304


will not be returned to the master node


301


before the fail-timer


110


expires.




In trapping, as illustrated in one embodiment in

FIG. 3

, the master node S


1


,


301


receives a link-down control message


308


from a transit node


306


. The link-down control message


308


is another of the control messages


117


exchanged between the master node


105


and the transit nodes


111


. When the transit node


306


detects a fault (i.e., a break in the ring) on one of its ring ports


112


, it immediately sends a link-down control message


308


to the master node


301


via the control vlan on its good port. In the example in

FIG. 3

, the transit node S


3


,


307


, also sends a link-down control message


309


to the master node


301


.





FIG. 4

is a state diagram illustrating operation of the master node


105


in accordance with one embodiment of the present invention. Refer also to Table 1 for a description of the EAPS master node actions M


1


-M


6


. From the idle state


401


, the master node receives an enable EAPS command and executes the M


1


actions: the master node starts the hello-timer


118


, starts the fail-timer


110


, blocks the data vlans on the secondary port


107


, flushes its FDB


108


, and sends a health-check control message


117


, to the network on the primary port


106


. When the ring network


102


is complete, the health-check control message


117


is returned to the master node


105


on its secondary port


107


and the master node


105


performs the M


4


actions: the master node


105


resets its fail-timer


110


and remains in complete state


402


. When the health-check control message


117


is not returned to the master node


301


/


105


before the fail-timer


110


expires or when the master node


301


/


105


receives a link-down control message


117


from a transit node


306


/


111


, it performs the M


2


actions: the master node


301


/


105


declares a failed state


403


, unblocks the blocked data vlans


104


on the secondary port


107


, flushes its FDB


108


, and sends a flush- fdb control message


117


to all of the transit nodes


111


on the ring via control vlan


103


. Flushing the FDB


108


/


113


forces all of the nodes to relearn the new path to the layer-2 end stations via the reconfigured topology.




The master node


105


continues sending health-check control messages


117


on its primary port


106


even when the state is failed (i.e., the ring is broken). The hello-timer


118


continues to run until the master node


105


receives a disable EAPS command and performs either the M


5


actions from the failed state


403


or the M


6


actions from the complete state


402


. When there is a break in the ring network


102


, no health-check control message


117


is returned to the master node


105


, the master node's fail-timer


110


expires, and the ring network


102


remains in the failed state


403


. When the broken link is restored, the health-check control message


117


is returned to the master node


105


on its secondary port


107


. The master node


105


sets the state


109


to complete and performs the M


3


actions: the master node


105


blocks the data vlans


104


on the secondary port


107


, flushes its FDB


108


, sends a ringup-flushfdb control message


117


to the transit nodes


111


, and restarts the fail-timer


110


.












TABLE 1









EAPS Master Node Actions

























MI







Start Hello-timer







Start Fail-timer







Block Secondary Port







Flush FDB







Send ‘Health-check’ packet on Primary Port







M2







Open Secondary Port







Flush FDB







Send ‘ringdown-flushfdb’ packet to Transit Nodes







M3







Block Secondary Port







Flush FDB







Send ‘ringup-flushfdb’ packet to Transit Nodes







M4







Restart Fail-timer







M5







Stop Hello-timer







Stop Fail-timer







M6







Stop Hello-timer







Stop Fail-timer







Open Secondary Port















From the time the link is restored on the transit node


111


until the time the master node


105


detects the ring network


102


to be complete, there could be a temporary loop in the system. The temporary loop could occur because the master node


105


has not yet blocked the secondary port


107


. Consequently, data traffic could be traversing both the secondary port


107


and the transit node port that was just restored.





FIG. 5

is a state diagram illustrating operation of a transit node


111


in a manner that prevents a temporary loop in accordance with one embodiment of the present invention. Refer also to Table 2 for a description of the EAPS transit node actions T


1


-T


9


. When a transit node


111


is in a link-down state


504


and receives notice that the link is restored, the node takes the T


4


actions: the transit node


111


blocks the data vlans


104


on the restored port, starts the pre-forwarding timer


115


, stores the identification of the blocked port in the TBP


116


, and sets the state


114


to pre-forwarding


503


. In the pre-forwarding state


503


, when the transit node


111


receives the flush-fdb control message


117


from the master node


105


, or when the pre-forwarding timer


115


expires, the transit node


111


performs T


5


actions: the transit node


111


stops the pre-forwarding timer


115


, and unblocks the data vlans


104


from the port that is identified in the TBP


116


.




With further reference to

FIG. 5

, when a transit node


111


moves from the idle state


501


to a link-down state


504


, it performs T


2


actions, and when it moves from the idle state to a links-up state


502


, it performs T


1


actions. In both cases it creates an entry in the FDB


113


. When a transit node


111


returns to the idle state


501


from the links-up state it performs T


7


actions, from the link-down state it performs T


8


actions and from the pre-forwarding state


503


it performs T


9


actions. In all three cases, it deletes the entry in the FDB


113


. When it moves from the pre-forwarding state


503


to the idle state


501


, it also unblocks the data vlans from the port that is identified in the TBP storage area


116


and stops the pre-forwarding timer


115


.












TABLE 2









EAPS Transit Node Actions

























T1







Create FDB entry







T2







Create FDB entry







T3







Send ‘link-down’ message to Master Node







T4







Temporarily block newly restored port







Start Pre-forwarding Timer







T5







Stop Pre-forwarding Timer







Open port that was temporarily blocked







T6







Stop Pre-forwarding Timer







T7







Stop Pre-forwarding Timer







T8







Stop Pre-forwarding Timer







T9







Open port that was temporarily blocked







Stop Pre-forwarding Timer







Delete FDB entry
















FIG. 6

illustrates another embodiment of the invention in which multiple EAPS domains


101


are running on one ring in a network. Multiple EAPS domains on one ring improve network efficiency by enabling spatial reuse of the ring network. Each EAPS domain


601


,


602


is responsible for protecting its own group of data vlans


604


,


606


. Each EAPS domain


601


,


602


has a unique control vlan


603


,


605


and a master node


607


,


608


. EAPS domains can have the same master node (not shown) or, as illustrated, different master nodes


607


,


608


.





FIG. 7

illustrates yet another embodiment of the invention in which a data vlan


710


spans multiple rings interconnected by one node


709


. There is an EAPS domain


701


,


702


running on each ring


711


,


712


. Each EAPS domain has a control vlan


703


,


705


and a master node


707


,


708


. The data vlan spans both rings


711


,


712


and is added as a protected data vlan


710


in both EAPS domains


701


,


702


. It will be appreciated by one of ordinary skill in the art that FIG.


6


and

FIG. 7

are only two examples of EAPS domains and how they relate to various underlying networks. Other configurations of EAPS domains


101


and ring networks


102


may be employed without departing from the scope of the invention.





FIG. 8

illustrates one embodiment of a suitable computing environment in which certain aspects of the invention illustrated in

FIGS. 1-7

may be practiced. The master node


105


and the transit nodes


111


of

FIG. 1

may be implemented on a computer system


800


. Components


801


-


808


of computer system


800


perform their conventional functions known in the art and provide the means for implementing EAPS system


100


. Collectively, these components are intended to represent a broad category of hardware systems, including but not limited to general purpose computer systems and specialized network switches.




Computer system


800


includes processor


801


, I/O devices


804


, main memory


802


and flash memory


803


coupled to each other via a bus


808


. Main memory


802


, which can include one or more of system memory (RAM), and nonvolatile storage devices (e.g., magnetic or optical disks), stores instructions and data for use by processor


801


. Additionally, the network interfaces


807


, data storage


806


, and switch fabric


805


are coupled to each other via a bus


808


. The network interface includes the primary port


106


and the secondary port


107


of the master node


105


as well as the ring ports


112


of the transit nodes


111


. Data storage


806


represents the state registers


109


,


114


and the forwarding databases


108


,


113


as well as other storage areas such as packet buffers, etc., used by the switch fabric


805


for forwarding network packets or messages.




It is to be appreciated that various components of computer system


800


may be rearranged, and that certain implementations of the present invention may not require nor include all of the above components. Furthermore, additional components may be included in system


800


, such as additional processors (e.g., a digital signal processor), storage devices, memories, network/communication interfaces, etc.




In the illustrated embodiment of

FIG. 8

, the method and apparatus for Ethernet automatic protection switching according to the present invention as discussed above may be implemented as a series of software routines run by computer system


800


of FIG.


8


. These software routines comprise a plurality or series of instructions to be executed by a processing system in a hardware system, such as processor


801


of FIG.


8


. Initially, the series of instructions are stored on a data storage device


806


, memory


802


or flash


803


. It is to be appreciated that the series of instructions can be stored using any conventional computer-readable or machine-accessible storage medium, such as a diskette, CD-ROM, magnetic tape, DVD, ROM, etc. It is also to be appreciated that the series of instructions need not be stored locally, and could be stored on a propagated data signal received from a remote storage device, such as a server on a network, via a network/communication interface


806


. The instructions are copied from the storage device


806


, such as mass storage, or from the propagated data signal into a memory


802


and then accessed and executed by processor


801


.




In alternate embodiments, the present invention is implemented in discrete hardware or firmware. For example, one or more application specific integrated circuits (ASICs) could be programmed with the above-described functions of the present invention.




Accordingly, a method and apparatus is described in which an Ethernet automatic protection switching system prevents loops in a layer-2 ring network. From the foregoing description, those skilled in the art will recognize that many other variations of the present invention are possible. In particular, while the present invention has been described as being implemented in a metropolitan area network comprising multiple nodes or switches, it should be noted that some of the logic described herein may be distributed in other components of a network or implemented in a network of different scope such as a local area network without departing from the scope of the present invention.




Thus, the present invention is not limited by the details described. Instead, the present invention can be practiced with modifications and alterations within the spirit and scope of the appended claims.



Claims
  • 1. A method for automatic protection switching in a ring network comprising:creating an automatic protection switching domain having a control vlan and at least one data vlan; detecting a fault in a ring network, the ring network having a master node connected to at least one transit node, each node linked to an adjacent node by at least one of a primary port or a secondary port, the fault indicating a failed link between adjacent nodes; communicating the fault to the master node via the control vlan; unblocking the master node's secondary port to the at least one data vlan's traffic; setting a state of the ring network to failed; and flushing a forwarding database on the master node and on the at least one transit node.
  • 2. The method of claim 1, wherein communicating the fault to the master node via the control vlan comprises the at least one transit node sending a link down message to the master node via the control vlan, where the link down message indicates that the transit node has detected the failed link.
  • 3. The method of claim 1, wherein detecting the fault comprises the master node polling the ring network to determine whether the ring network is complete.
  • 4. The method of claim 3 wherein polling comprises the master node:setting a fail-timer; periodically sending a health-check message via the control vlan ; and failing to receive the health-check message returned via the control vlan before the fail-timer expires.
  • 5. The method of claim 4, further comprising the at least one transit node:receiving the health-check message via the control vlan; and forwarding the health-check message to the adjacent node prior to processing the health-check message by a central processing unit of the at least one transit node.
  • 6. The method of claim 1 wherein detecting the fault in the ring network, communicating the fault to the master node, unblocking the master node's secondary port, setting the state of the ring network to failed, and flushing the forwarding databases occurs in substantially less than one second.
  • 7. The method of claim 1, further comprising:detecting a fault restoration in the ring network; blocking the master node's secondary port to the at least one data vlan traffic; setting the state of the ring network to complete; and flushing the forwarding database on the master node and on the at least one transit node.
  • 8. The method of claim 7 wherein detecting the fault restoration comprises the master node polling the ring network via the control vlan to determine that the ring network is complete.
  • 9. The method of claim 8 wherein polling comprises the master node:setting a fail-timer; periodically sending a health-check message via the control vlan; and receiving the health-check message returned via the control vlan before the fail-timer expires.
  • 10. The method of claim 1, further comprising the at least one transit node:detecting that the failed link connecting the transit node to the adjacent node has been restored; temporarily blocking the port affected by the restored link to the at least one data vlan's traffic; saving an identity of the temporarily blocked port; setting a state of the at least one transit node to pre-forwarding; and setting a pre-forwarding timer.
  • 11. The method of claim 10, further comprising the transit node:determining that the state of the ring network is complete; determining that the state of the transit node is pre-forwarding; and unblocking the temporarily blocked port indicated in the saved identity.
  • 12. The method of claim 11, wherein determining that the state of the ring network is complete comprises receiving a health-check message from the master node.
  • 13. The method of claim 11, wherein determining that the state of the ring network is complete comprises the pre-forwarding timer expiring.
  • 14. A machine accessible medium having content to cause a computer to perform a method for automatic protection switching in a ring network comprising:creating an automatic protection switching domain having a control vlan and at least one data vlan; detecting a fault in a ring network, the ring network having a master node connected to at least one transit node, each node linked to an adjacent node by at least one of a primary port or a secondary port, the fault indicating a failed link between adjacent nodes; communicating the fault to the master node via the control vlan; unblocking the master node's secondary port to the at least one data vlan's traffic; setting a state of the ring network to failed; and flushing a forwarding database on the master node and on the at least one transit node.
  • 15. The machine accessible medium of claim 14, wherein communicating the fault to the master node via the control vlan comprises the at least one transit node sending a link down message to the master node via the control vlan, where the link down message indicates that the transit node has detected the failed link.
  • 16. The machine accessible medium of claim 14, wherein detecting the fault comprises the master node polling the ring network to determine whether the ring network is complete.
  • 17. The machine accessible medium of claim 16, wherein polling comprises the master node:setting a fail-timer; periodically sending a health-check message via the control vlan ; and failing to receive the health-check message returned via the control vlan before the fail-timer expires.
  • 18. The machine accessible medium of claim 17, further comprising the at least one transit node:receiving the health-check message via the control vlan; and forwarding the health-check message to the adjacent node prior to processing the health-check message by a central processing unit of the at least one transit node.
  • 19. The machine accessible medium of claim 14 wherein detecting the fault in the ring network, communicating the fault to the master node, unblocking the master node's secondary port, setting the state of the ring network to failed, and flushing the forwarding databases occurs in substantially less than one second.
  • 20. The machine accessible medium of claim 14, further comprising:detecting a fault restoration in the ring network; blocking the master node's secondary port to the at least one data vlan traffic; setting the state of the ring network to complete; and flushing the forwarding database on the master node and on the at least one transit node.
  • 21. The machine accessible medium of claim 20, wherein detecting the fault restoration comprises the master node polling the ring network via the control vlan to determine that the ring network is complete.
  • 22. The machine accessible medium of claim 21, wherein polling comprises the master node:setting a fail-timer; periodically sending a health-check message via the control vlan ; and receiving the health-check message returned via the control vlan before the fail-timer expires.
  • 23. The machine accessible medium of claim 14, further comprising the at least one transit node:detecting that the failed link connecting the transit node to the adjacent node has been restored; temporarily blocking the port affected by the restored link to the at least one data vlan's traffic; saving an identity of the temporarily blocked port; setting a state of the at least one transit node to pre-forwarding; and setting a pre-forwarding timer.
  • 24. The machine accessible medium of claim 23, further comprising the transit node:determining that the state of the ring network is complete; determining that the state of the transit node is pre-forwarding; and unblocking the temporarily blocked port indicated in the saved identity.
  • 25. The machine accessible medium of claim 24, wherein determining that the state of the ring network is complete comprises receiving a health-check message from the master node.
  • 26. The machine accessible medium of claim 24, wherein determining that the state of the ring network is complete comprises the pre-forwarding timer expiring.
US Referenced Citations (389)
Number Name Date Kind
3991278 Fang et al. Nov 1976 A
4112488 Smith, III Sep 1978 A
4119815 Frankfort et al. Oct 1978 A
4190821 Woodward Feb 1980 A
4242756 Huffman et al. Dec 1980 A
4435704 Hashimoto et al. Mar 1984 A
4451916 Casper et al. May 1984 A
4464658 Thelen Aug 1984 A
4477895 Casper et al. Oct 1984 A
4538264 Bahr et al. Aug 1985 A
4598399 Bath Jul 1986 A
4648088 Cagle et al. Mar 1987 A
4679186 Lea Jul 1987 A
4709365 Beale et al. Nov 1987 A
4748560 Kataoka May 1988 A
4780869 Engdahl et al. Oct 1988 A
4792950 Volk et al. Dec 1988 A
4805107 Kieckhafer et al. Feb 1989 A
4807224 Naron et al. Feb 1989 A
4811333 Rees Mar 1989 A
4829512 Nakai et al. May 1989 A
4831518 Yu et al. May 1989 A
4835763 Lau May 1989 A
4847837 Morales et al. Jul 1989 A
4853927 Wenzel Aug 1989 A
4858232 Diaz et al. Aug 1989 A
4873687 Breu Oct 1989 A
4879712 Littlewood Nov 1989 A
4881230 Clark et al. Nov 1989 A
4899142 Nakayashiki et al. Feb 1990 A
4910733 Sommani et al. Mar 1990 A
4914657 Walter et al. Apr 1990 A
4930119 Kobayashi et al. May 1990 A
4956835 Grover Sep 1990 A
4964120 Mostashari Oct 1990 A
4965852 Sasaki Oct 1990 A
4967344 Scavezze et al. Oct 1990 A
5003531 Farinholt et al. Mar 1991 A
5023873 Stevenson et al. Jun 1991 A
5027269 Grant et al. Jun 1991 A
5027342 Boulton et al. Jun 1991 A
5036518 Tseung Jul 1991 A
5065399 Hasegawa et al. Nov 1991 A
5069521 Hardwick Dec 1991 A
5081624 Beukema Jan 1992 A
5084816 Boese et al. Jan 1992 A
5093824 Coan et al. Mar 1992 A
5097467 Taniguchi Mar 1992 A
5109384 Tseung Apr 1992 A
5113398 Howes May 1992 A
5113496 McCalley et al. May 1992 A
5136589 Konishi Aug 1992 A
5138609 Hashimoto Aug 1992 A
5146452 Pekarske Sep 1992 A
5150356 Tsutsui Sep 1992 A
5151969 Petsche Sep 1992 A
5159595 Flanagan et al. Oct 1992 A
5161186 Dolev et al. Nov 1992 A
5173689 Kusano Dec 1992 A
5187706 Frankel et al. Feb 1993 A
5212475 Thoma May 1993 A
5216666 Stalick Jun 1993 A
5229990 Teraslinna Jul 1993 A
5233600 Pekarske Aug 1993 A
5235599 Nishimura et al. Aug 1993 A
5241534 Omuro et al. Aug 1993 A
5257266 Maki Oct 1993 A
5260945 Rodeheffer Nov 1993 A
5278824 Kremer Jan 1994 A
5278977 Spencer et al. Jan 1994 A
5283783 Nguyen et al. Feb 1994 A
5285441 Bansal et al. Feb 1994 A
5299312 Rocco, Jr. Mar 1994 A
5307353 Yamashita et al. Apr 1994 A
5307354 Cramer et al. Apr 1994 A
5315581 Nakano et al. May 1994 A
5317569 Ralph et al. May 1994 A
5321689 Suzuki et al. Jun 1994 A
5325518 Bianchini, Jr. Jun 1994 A
5329520 Richardson Jul 1994 A
5331631 Teraslinna Jul 1994 A
5333130 Weissmann et al. Jul 1994 A
5341364 Marra et al. Aug 1994 A
5341372 Kirkham et al. Aug 1994 A
5343464 Lino et al. Aug 1994 A
5347271 Iwasaki Sep 1994 A
5349654 Bond et al. Sep 1994 A
5365510 Nicholson et al. Nov 1994 A
5365512 Combs et al. Nov 1994 A
5367567 Sugawara Nov 1994 A
5379278 Safadi Jan 1995 A
5384783 Satomi et al. Jan 1995 A
5394389 Kremer Feb 1995 A
5408463 Merchant et al. Apr 1995 A
5408464 Jurkevich Apr 1995 A
5408646 Olnowich et al. Apr 1995 A
5422877 Brajczewski et al. Jun 1995 A
5435003 Chng et al. Jul 1995 A
5450578 Mackenthun Sep 1995 A
5452286 Kitayama Sep 1995 A
5452437 Richey et al. Sep 1995 A
5453737 Opoczynski Sep 1995 A
5455832 Bowmaster Oct 1995 A
5457555 Morihama Oct 1995 A
5459715 Furuta et al. Oct 1995 A
5463545 Umeda et al. Oct 1995 A
5473752 Beistle et al. Dec 1995 A
5479608 Richardson Dec 1995 A
5488715 Wainwright Jan 1996 A
5493432 Yoneda Feb 1996 A
5495471 Chow et al. Feb 1996 A
5506833 Nemoto Apr 1996 A
5519830 Opoczynski May 1996 A
5522046 McMillen et al. May 1996 A
5528594 Butter et al. Jun 1996 A
5533188 Palumbo Jul 1996 A
5533198 Thorson Jul 1996 A
5537393 Shioda et al. Jul 1996 A
5537532 Chng et al. Jul 1996 A
5537653 Bianchini, Jr. Jul 1996 A
5544330 Bither et al. Aug 1996 A
5568491 Beal et al. Oct 1996 A
5570345 Kaprielian et al. Oct 1996 A
5574718 Eckhoff et al. Nov 1996 A
5577196 Peer Nov 1996 A
5581689 Slominski et al. Dec 1996 A
5587996 Mizuno Dec 1996 A
5592610 Chittor Jan 1997 A
5600630 Takano et al. Feb 1997 A
5600782 Thomson Feb 1997 A
5602828 Engdahl et al. Feb 1997 A
5602851 Terashita et al. Feb 1997 A
5613069 Walker Mar 1997 A
5621722 Edmaier et al. Apr 1997 A
5623481 Russ et al. Apr 1997 A
5623482 Okanoue Apr 1997 A
5623625 Thompson et al. Apr 1997 A
5627822 Edmaier et al. May 1997 A
5631896 Kawase et al. May 1997 A
5652908 Douglas et al. Jul 1997 A
5655068 Opoczynski Aug 1997 A
5657320 Russ et al. Aug 1997 A
5663949 Ishibashi et al. Sep 1997 A
5671213 Kurano Sep 1997 A
5671215 Foglar Sep 1997 A
5675723 Ekrot et al. Oct 1997 A
5675724 Beal et al. Oct 1997 A
5680546 Chiaretti et al. Oct 1997 A
5684807 Bianchini, Jr. et al. Nov 1997 A
5684958 Adachi et al. Nov 1997 A
5689646 Thorson Nov 1997 A
5696895 Hemphill et al. Dec 1997 A
5699348 Baidon et al. Dec 1997 A
5710777 Gawne Jan 1998 A
5712847 Hata Jan 1998 A
5712968 Nakayama et al. Jan 1998 A
5715237 Akiyoshi Feb 1998 A
5717849 Brady Feb 1998 A
5729527 Gerstel et al. Mar 1998 A
5729692 Qiu et al. Mar 1998 A
5734640 Johnson Mar 1998 A
5737311 Wyld Apr 1998 A
5751696 Bechtel et al. May 1998 A
5752246 Rogers et al. May 1998 A
5754527 Fujita May 1998 A
5754528 Uchida May 1998 A
5774642 Flon et al. Jun 1998 A
5774660 Brendel et al. Jun 1998 A
5774689 Curtis et al. Jun 1998 A
5781715 Sheu Jul 1998 A
5781716 Hemphill et al. Jul 1998 A
5784547 Dittmar et al. Jul 1998 A
5790520 Iwamoto et al. Aug 1998 A
5793746 Gerstel et al. Aug 1998 A
5796718 Caterisano Aug 1998 A
5799001 Lee et al. Aug 1998 A
5812524 Moran et al. Sep 1998 A
5812748 Ohran et al. Sep 1998 A
5812751 Ekrot et al. Sep 1998 A
5822299 Goodman Oct 1998 A
5829019 Thompson et al. Oct 1998 A
5831970 Arao Nov 1998 A
5832196 Croslin et al. Nov 1998 A
5832197 Houji Nov 1998 A
5835483 Bisson Nov 1998 A
5838894 Horst Nov 1998 A
5838924 Anderson et al. Nov 1998 A
5848227 Sheu Dec 1998 A
5850515 Lo et al. Dec 1998 A
5862125 Russ Jan 1999 A
5864738 Kessler et al. Jan 1999 A
5867665 Butman et al. Feb 1999 A
5870382 Tounai et al. Feb 1999 A
5872904 McMillen et al. Feb 1999 A
5875172 Tanata Feb 1999 A
5881048 Croslin Mar 1999 A
5883939 Friedman et al. Mar 1999 A
5884017 Fee Mar 1999 A
5884018 Jardine et al. Mar 1999 A
5887127 Saito et al. Mar 1999 A
5892895 Basavaiah et al. Apr 1999 A
5896370 Eckhoff et al. Apr 1999 A
5898837 Guttman et al. Apr 1999 A
5901024 Deschaine et al. May 1999 A
5905714 Havanso May 1999 A
5922077 Espy et al. Jul 1999 A
5923643 Higgins et al. Jul 1999 A
5933590 Allen Aug 1999 A
5933591 Mazzurco Aug 1999 A
5936938 Weldon et al. Aug 1999 A
5941955 Wilby et al. Aug 1999 A
5948109 Moiin et al. Sep 1999 A
5949759 Cretegny et al. Sep 1999 A
5958063 Croslin et al. Sep 1999 A
5958064 Judd et al. Sep 1999 A
5959969 Croslin et al. Sep 1999 A
5961650 Arendt et al. Oct 1999 A
5974027 Chapman Oct 1999 A
5978354 Taketomi et al. Nov 1999 A
5987621 Duso et al. Nov 1999 A
5991264 Croslin Nov 1999 A
5991518 Jardine et al. Nov 1999 A
5991891 Hahn et al. Nov 1999 A
5999103 Croslin Dec 1999 A
6002851 Basavaiah et al. Dec 1999 A
6009076 Takatsu et al. Dec 1999 A
6021113 Doshi et al. Feb 2000 A
6021508 Schmuck et al. Feb 2000 A
6023452 Shiragaki Feb 2000 A
6026430 Butman et al. Feb 2000 A
6031906 Rao Feb 2000 A
6038678 Fukushima et al. Mar 2000 A
6041036 Baek et al. Mar 2000 A
6041037 Nishia et al. Mar 2000 A
6047321 Raab et al. Apr 2000 A
6047331 Medard et al. Apr 2000 A
6047384 Puhl et al. Apr 2000 A
6049525 Takahashi et al. Apr 2000 A
6049889 Steely, Jr. et al. Apr 2000 A
6052733 Mahalingam et al. Apr 2000 A
6052796 Croslin Apr 2000 A
6055226 Verpooten Apr 2000 A
6061329 Abe May 2000 A
6073248 Doshi et al. Jun 2000 A
6075767 Sakamoto et al. Jun 2000 A
6084853 Rao Jul 2000 A
6085238 Yuasa et al. Jul 2000 A
6088329 Lindberg et al. Jul 2000 A
6088330 Bruck et al. Jul 2000 A
6091731 Biegaj et al. Jul 2000 A
6092117 Gladwin et al. Jul 2000 A
6101181 Passint et al. Aug 2000 A
6101543 Alden et al. Aug 2000 A
6105122 Miller et al. Aug 2000 A
6105151 Mahalingam et al. Aug 2000 A
6111853 Goodman Aug 2000 A
6115155 Liu et al. Sep 2000 A
6115355 Rao Sep 2000 A
6115753 Joens Sep 2000 A
6122759 Ayanoglu et al. Sep 2000 A
6128750 Espy et al. Oct 2000 A
6130875 Doshi et al. Oct 2000 A
6130876 Chaudhuri Oct 2000 A
6134673 Chrabaszcz Oct 2000 A
6134678 Mahalingam et al. Oct 2000 A
6138251 Murphy et al. Oct 2000 A
6141319 Dighe et al. Oct 2000 A
6141320 Ikawa Oct 2000 A
6151689 Garcia et al. Nov 2000 A
6154448 Petersen et al. Nov 2000 A
6154849 Xia Nov 2000 A
6157967 Horst et al. Dec 2000 A
6163525 Bentall et al. Dec 2000 A
6163527 Ester et al. Dec 2000 A
6178519 Tucker Jan 2001 B1
6181676 Yao et al. Jan 2001 B1
6192483 Moiin et al. Feb 2001 B1
6195330 Sawey et al. Feb 2001 B1
6195704 Suita Feb 2001 B1
6195705 Leung Feb 2001 B1
6195760 Chung et al. Feb 2001 B1
6201788 Ishiwatari Mar 2001 B1
6202082 Tomizawa et al. Mar 2001 B1
6202170 Busschbach et al. Mar 2001 B1
6205117 Doshi et al. Mar 2001 B1
6216167 Momirov Apr 2001 B1
6219336 Takahashi et al. Apr 2001 B1
6222820 Hamami Apr 2001 B1
6222821 Sees et al. Apr 2001 B1
6226111 Chang et al. May 2001 B1
6243844 Tonks Jun 2001 B1
6246667 Ballintine et al. Jun 2001 B1
6246668 Kusyk Jun 2001 B1
6249510 Thompson Jun 2001 B1
6252853 Ohno Jun 2001 B1
6253334 Amdahl et al. Jun 2001 B1
6256292 Ellis et al. Jul 2001 B1
6256293 Gerstel et al. Jul 2001 B1
6262973 Shiraishi et al. Jul 2001 B1
6266781 Chung et al. Jul 2001 B1
6269452 Daruwalla et al. Jul 2001 B1
6275578 De trana et al. Aug 2001 B1
6282204 Balatoni et al. Aug 2001 B1
6292905 Wallach et al. Sep 2001 B1
RE37401 Yamashita et al. Oct 2001 E
6308282 Huang et al. Oct 2001 B1
6311288 Heeren et al. Oct 2001 B1
6314525 Mahalingham et al. Nov 2001 B1
6317414 Naohiro Nov 2001 B1
6317843 Minamimoto et al. Nov 2001 B1
6324161 Kirch Nov 2001 B1
6327669 Croslin Dec 2001 B1
6331985 Coden Dec 2001 B1
6337848 Takatsu et al. Jan 2002 B1
6343064 Jabbarnezhad Jan 2002 B1
6343068 Yamamoto et al. Jan 2002 B1
6345368 Bergsten Feb 2002 B1
6347075 Barzegar et al. Feb 2002 B1
6353593 Chen et al. Mar 2002 B1
6359857 Ahmad et al. Mar 2002 B1
6359859 Brolin et al. Mar 2002 B1
6359860 Ando Mar 2002 B1
6366557 Hunter Apr 2002 B1
6370654 Law, Jr. et al. Apr 2002 B1
6377543 Grover et al. Apr 2002 B1
6388988 Jabbarnezhad May 2002 B1
6392989 Jardetzky et al. May 2002 B1
6392990 Tosey et al. May 2002 B1
6397345 Edmonds et al. May 2002 B1
6400996 Hoffberg et al. Jun 2002 B1
6404734 Stamatelakis et al. Jun 2002 B1
6421349 Grover Jul 2002 B1
6426941 Vaman et al. Jul 2002 B1
6430150 Azuma et al. Aug 2002 B1
6430698 Khalil et al. Aug 2002 B1
6430700 Daruwalla et al. Aug 2002 B1
6438705 Chao et al. Aug 2002 B1
6442131 Kondo Aug 2002 B1
6442132 Burns et al. Aug 2002 B1
6442694 Bergman et al. Aug 2002 B1
6456589 Shah et al. Sep 2002 B1
6469981 Anhorn Oct 2002 B1
6473397 Au Oct 2002 B1
6477578 Mhoon Nov 2002 B1
6480480 Du Nov 2002 B1
6490690 Gusler et al. Dec 2002 B1
6496475 Ji et al. Dec 2002 B1
6496476 Badt, Jr. et al. Dec 2002 B1
6496861 Sevcik Dec 2002 B1
6496940 Horst et al. Dec 2002 B1
6498778 Cwilich et al. Dec 2002 B1
6502203 Barron et al. Dec 2002 B2
6504817 Oldfield et al. Jan 2003 B2
6512740 Baniewicz et al. Jan 2003 B1
6513092 Gorshe Jan 2003 B1
6515962 Sawey et al. Feb 2003 B1
6526020 Ando Feb 2003 B1
6526021 Dempsey Feb 2003 B1
6526521 Lim Feb 2003 B1
6530032 Shew et al. Mar 2003 B1
6535990 Iterum et al. Mar 2003 B1
6542268 Rotolo et al. Apr 2003 B1
6542461 Faye et al. Apr 2003 B1
6549513 Chao et al. Apr 2003 B1
6550016 Parrish et al. Apr 2003 B1
6550017 Moiin et al. Apr 2003 B1
6550024 Pagurek et al. Apr 2003 B1
6557111 Theimer et al. Apr 2003 B1
6557112 Shimada Apr 2003 B1
6560512 Rosen et al. May 2003 B1
6571355 Linnell May 2003 B1
6574687 Teachout et al. Jun 2003 B1
6577728 Rao Jun 2003 B1
6580688 Klink Jun 2003 B1
6580689 Nagai et al. Jun 2003 B1
6581126 Regula Jun 2003 B1
6587235 Chaudhuri et al. Jul 2003 B1
6590864 Suzuki Jul 2003 B1
6594232 Dupont Jul 2003 B1
6594775 Fair Jul 2003 B1
6594786 Connelly et al. Jul 2003 B1
6598092 Tomizawa et al. Jul 2003 B2
6598173 Sheikh et al. Jul 2003 B1
6600719 Chaudhuri Jul 2003 B1
6606667 Hermann Aug 2003 B1
6608813 Chiussi et al. Aug 2003 B1
6614753 Ikawa Sep 2003 B2
6615362 Daruwalla et al. Sep 2003 B1
6621818 Szczepanek et al. Sep 2003 B1