One embodiment disclosed relates to a method of fault recovery by a switch in a local area network. A link failure is detected at a port of the switch. In response to the link failure detection, a medium access control (mac) address table of the switch is cleared. Clearing the address table causes a discovery process to fill the table to begin immediately. In addition, a link on another port of the switch may be dropped to propagate the link failure.
|
1. A method of fault recovery by a switch in a local area network, the method comprising:
a switch port detecting a link failure at a port of the switch the switch port; and
the switch clearing all medium access control (mac) address entries from a mac address table of the switch in response to the link failure detection and without receiving from outside the switch any signal that signifies that the mac address table of the switch is to be cleared.
10. A network apparatus comprising:
a medium access control (mac) address table; and
a plurality of ports wherein at least one port implements a link-loss-learn protocol wherein upon detecting a link failure at the at least one port, the mac address table is cleared of all mac address entries therein without receiving from outside the network apparatus any signal that signifies that the mac address table of the network apparatus is to be cleared.
0. 17. A network apparatus comprising:
a plurality of ports wherein at least one port implements a link-loss-learn protocol wherein upon detecting a link failure at the at least one port, a medium access control (mac) address table is cleared of all mac address entries therein, wherein the network apparatus is configured to clear the mac address table regardless of whether or not the network apparatus receives an outside signal signifying that the mac address table is to be cleared.
14. A network comprising:
a plurality of ethernet switches in a redundant topology,
wherein at least one ethernet switch implements a link-loss-learn protocol for rapid fault recovery,
wherein the link-loss-learn protocol comprises, upon detecting a link failure at a port of the at least one ethernet switch, clearing a medium access control (mac) address table of all mac address entries therein, without receiving from outside the at least one ethernet switch any signal that signifies that the mac address table of the at least one ethernet switch is to be cleared.
0. 22. A network apparatus comprising:
a port configured to detect a link failure at the port, wherein, upon detecting the link failure, a plurality of medium access control (mac) address entries are cleared from a mac address table, wherein the plurality of mac address entries that are cleared comprise at least one mac address entry that remains valid after the link failure, and wherein the network apparatus clears the plurality of mac address entries from the mac address table regardless of whether or not the network apparatus receives an outside signal signifying that the mac address table is to be cleared.
0. 32. A method of fault recovery by a network apparatus, the method comprising:
detecting a link failure at a port of the network apparatus; and
clearing a plurality of address entries from an address table of the network apparatus in response to the link failure detection, wherein the plurality of address entries that are cleared comprise at least one address entry that remains valid after the link failure, and wherein the plurality of address entries are cleared from the address table regardless of whether or not the network apparatus receives an outside signal signifying that the address table is to be cleared.
0. 27. A network apparatus comprising:
a plurality of ports, wherein, upon detection of a link failure at a port, the network apparatus is configured to clear a plurality of address entries from an address table, wherein the plurality of address entries that the network apparatus is configured to clear comprise at least one address entry that remains valid after the link failure, and wherein the network apparatus is configured to clear the plurality of address entries from the address table regardless of whether or not the network apparatus receives an outside signal signifying that the address table is to be cleared.
2. The method of
3. The method of
momentarily dropping a link on another port of the switch, wherein momentarily dropping a link comprises stopping transmission of a link signal for a period of time.
4. The method of
5. The method of
6. The method of
7. The method of
8. The method of
9. The method of
11. The network apparatus of
12. The network apparatus of
13. The network apparatus of
15. The network of
16. The network of
0. 18. The network apparatus of claim 17, wherein upon clearing all mac address entries from the mac address table, a discovery process is begun by the network apparatus.
0. 19. The network apparatus of claim 17, wherein the mac address entries are cleared by overwriting each entry in the mac address table with a template from a register.
0. 20. The network apparatus of claim 17, wherein the mac address entries are cleared by momentarily turning off power within the network apparatus.
0. 21. The network apparatus of claim 17, wherein the network apparatus momentarily drops a link on a port on which the link failure was not detected is momentarily dropped to cause the link failure to propagate to another network apparatus.
0. 23. The network apparatus of claim 22, wherein upon clearing the plurality of mac address entries from the mac address table, a discovery process is begun by the network apparatus.
0. 24. The network apparatus of claim 22, wherein the plurality of mac address entries are cleared by overwriting each entry in the table with a template from a register.
0. 25. The network apparatus of claim 22, wherein the plurality of mac address entries are cleared by momentarily turning off power within the network apparatus.
0. 26. The network apparatus of claim 22, wherein the network apparatus momentarily drops a link on another port on which the link failure was not detected is momentarily dropped to cause the link failure to propagate to another network apparatus.
0. 28. The network apparatus of claim 27, wherein the network apparatus is configured to begin a discovery process after clearing the plurality of address entries from the address table.
0. 29. The network apparatus of claim 27, wherein the network apparatus is configured to clear the plurality of address entries by overwriting each entry in the table with a template from a register.
0. 30. The network apparatus of claim 27, wherein the network apparatus is configured to clear the plurality of address entries by momentarily turning off power within the network apparatus.
0. 31. The network apparatus of claim 27, wherein the network apparatus is configured to momentarily drop a link on a port of the network apparatus on which the link failure was not detected to cause the link failure to propagate to another network apparatus.
0. 33. The method of claim 32, wherein clearing the plurality of address entries from the address table causes a discovery process to fill the address table to begin.
0. 34. The method of claim 32, further comprising:
momentarily dropping a link on another port of the network apparatus, wherein momentarily dropping a link comprises stopping transmission of a link signal for a period of time.
0. 35. The method of claim 34, wherein momentarily dropping the link on the other port causes propagation of the link failure to a next network apparatus.
0. 36. The method of claim 34, wherein the link is momentarily dropped for a length of time sufficient for another network apparatus to which the network apparatus is connected to detect the link drop.
0. 37. The method of claim 32, wherein the address table is cleared of all address entries by overwriting each entry in the address table with a template from a register.
0. 38. The method of claim 32, wherein the address table is cleared of all address entries by momentarily turning off power within the network apparatus.
|
The present application claims the benefit of U.S. provisional patent application No. 60/418,896, filed Oct. 15, 2002, entitled “System and method for operation of managed ethernet LAN switch products in redundant network configurations with fast recovery from faults,” the disclosure of which is hereby incorporated by reference in its entirety.
In addition, the present application claims the benefit of U.S. provisional patent application No. 60/467,273, filed May 2, 2003, entitled “System and method for S-Ring, a fast recovery enhancement to spanning tree protocol,” the disclosure of which is hereby incorporated by reference in its entirety.
A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure as it appears in the Patent and Trademark Office file or records, but otherwise reserves all copyright rights whatsoever.
1. Field of the Invention
The present invention relates generally to computer networking.
2. Description of the Background Art
Spanning tree protocol (STP) is a link management protocol that prevents undesirable loops in a network while providing path redundancy. Undesirable loops occur when there are multiple active paths between stations. If a loop exists, a switch or bridge may see stations appearing on both sides of the switch. This can confuse the forwarding algorithm, allowing duplicate frames to be forwarded.
STP defines a tree that spans all switches in an extended network and forces select redundant data paths into a standby or blocked state. If one segment of the network becomes unreachable, STP can re-establish a link to that segment by activating a standby path.
One embodiment of the invention pertains to a method of fault recovery by a switch in a local area network. A link failure is detected at a port of the switch. In response to the link failure detection, a MAC address table of the switch is cleared. Clearing the address table causes a discovery process to fill the table to begin immediately. In addition, a link on another port of the switch may be dropped to propagate the link failure.
Another embodiment of the invention relates to a network apparatus that includes a MAC address table and a plurality of ports. At least one port of the apparatus is configured to implement a link-loss-learn protocol.
Another embodiment of the invention relates to a network that includes a plurality of Ethernet switches in a redundant topology. At least one switch is configured to implement a link-loss-learn protocol for rapid fault recovery.
Various hosts are shown connected to switch ports. Hosts A1, A2, and A3 are shown as connected to ports of switch A, hosts B1, B2, and B3 are shown as connected to ports of switch B, and so on. In addition, example Media Access Control (MAC) address tables in some of the switches are illustrated. For example, the address table in switch A has host address A1 associated with port 2, and host addresses B2, C3, D1, E2, and E3 each associated with port 1.
Such a ring should have a port somewhere in the series that operates in a “blocked” mode. Such a blocked port does not pass packets so that a correct Ethernet topology without looping exists. The control of which port is blocked is determined by logic to manage operating the network and to facilitate recovery from faults. In this example, the ring topology network is initially configured such that the link between switch S and switch E is blocked or in a standby state. This prevents an undesirable loop from being present.
When a link fails on a switch port in such a redundant LAN, another back-up port is expected to eventually take over and keep the network packets flowing. The back-up port is connected and ready to provide service. However, a conventional Ethernet switch engine will continue to use the old MAC address table and will continue to try and forward packets to the failed port. This will go on until the address table aging time expires for the addresses whose connections was lost. The aging time is typically 4 or 5 minutes. As described in the following, Spanning Tree Protocol improves on that situation.
The process begins when a link to a switch port fails 202. As a particular example, consider the link between switches C and D fails 202, possibly due to a cable cut, as depicted in
Next, a switch port connecting to the failed link detects 204 the failure. This detection 204 may occur, for example, due to failure to receive a link signal that is normally periodically transmitted over the link to the port.
The switch configured in accordance with the Spanning Tree Protocol performs two actions upon detecting 204 the link failure. In one action, the switch reduces 206 the aging time associated with entries in its MAC address table. Specifically, the aging time is reduced from the normal aging time (default of three hundred seconds, or five minutes) to the forward_delay time (default of fifteen seconds). The reduction in aging time is kept in effect for a certain period of time (max_age plus forward_delay) and then the aging time returns to its normal value.
In the other action, the switch advertises 208 the topology change. This is done by the switch sending out a topology change notification (TCN) on its root port. The TCN is in the form of a simple bridge protocol data unit (BPDU). The designated switch receives the TCN, acknowledges it, and generates another TCN for sending out of its own root port. This continues on until the root switch receives the TCN. Thereafter, the root switch starts sending out its configuration BPDUs with the topology change (TC) bit set. These BPDUs are relayed by the switches until each switch in the tree is aware of the topology change situation and reduces 210 its aging time to the forward_delay time.
Hence, according to the STP method, the switches eventually reduce their aging time to the forward_delay time. After the forward_delay time, entries in the table that are no longer valid due to the failed link will expire. For example, after the link between C and D goes down in
The STP method is considered to be clever because traffic related to entries not affected by the broken link continues to be transmitted and those unaffected entries in the MAC address tables do not have to be relearned. Unfortunately, because the entries do not expire until after the forward_delay time, the network takes at least that long, typically at least 15 seconds by default, to recover from the broken link. For many industrial networks, this time of less than a minute for fault recover is an acceptable delay. However, in other networks, the delay may be unacceptable.
In accordance with an embodiment of the invention, the switch has various ports, some of which may be configured or enabled by a user or network administrator to behave in a “link-loss-learn” manner as described below. Other ports may be configured to not implement link-loss-learn. A user can elect to enable the link-loss-learn feature on one port, two ports, all ports, or none of the ports. A typical configuration may be to enable link-loss-learn on two ports connected to an optical fiber network because such ports are often used to connect the switch into the redundant network topology. Without a redundant network topology, the link-loss-learn feature does not generally provide a benefit and hence may be turned off (though may be kept on).
Like
Similar to
In contrast to
In one embodiment, the MAC address table may be flushed by overwriting each entry in the table with a template that is temporarily stored in a register. The template would be that of a cleared entry. In an alternate embodiment, the MAC address table may be flushed by momentarily turning off power within the switch. The alternate embodiment may be disadvantageous in that delay is added due to additional activity (restoring state variables, testing, and so on) on power up.
The other action involves the switch temporarily or momentarily dropping 308 links on other link-loss-learn enabled ports. This action is performed so as to propagate 310 the failure event to other switches with link-loss-learn capability. In one embodiment, the duration for the dropping 308 of the link is sufficiently long for the link drop to be detected (typically, more than five milliseconds), but short enough to as to not substantially impact communications. For example, the duration of the link drop may be 5, 10, 20, or 50 milliseconds. Preferably, the duration is closer to 5 milliseconds. A link-loss-learn port on a neighboring switch may then detect 302 the link failure event, and that switch may then proceed to flush 304 its address table and momentarily drop 308 links on its other link-loss-learn ports. The propagation continues in that a link-loss-learn port on a next neighboring switch may then detect 302 the link failure event, and that switch may then proceed to flush 304 its address table and momentarily drop 308 links on its other link-loss-learn ports. And so on, until the borders of the network topology are reached.
Applicants have implemented an embodiment of the invention in the form of the Magnum mP62 Ethernet Switch available from Garrettcom, Inc. with place of business at 213 Hammond Avenue, Fremont, Calif. 94539. Applicants have discovered that the link-loss-learn feature of the mP62 Switch is very fast (on the order of milliseconds), so that the mP62 Switch is generally not the gating element (i.e. not the slowest element) for fault recovery in a redundant LAN. Whether the redundant paths upstream are controlled by IEEE 802.1d Standard Spanning Tree Protocol, or by IEEE 802.1s Tagged VLAN Spanning Tree Protocol, or by IEEE 802.1w Rapid Spanning Tree Protocol, or manually such as in a bench-test situation, the mP62 with link-loss-learn appears to reset its address table and participate in the LAN configuration change and network recovery faster than the other Ethernet elements. The mP62 product may be configured using set-up commands to run either Spanning Tree Protocol or link-loss-learn.
The following is example software code that may be utilized by a switch in accordance with an embodiment of the invention. The code includes high-level instructions that check link status, clear the MAC address table, and momentarily drop links in accordance with an embodiment of the invention.
Macros
#define NO_OF_PORTS // number of pons in switch
#define MS_PER_TICK // conversion factor for time ticks to milliseconds
#define L3_DELAY // delay time value for avoiding loop
define LINK_DELAY // delay time to keep link dropped
Global Variables
U_INT8 linkStat[NO_OF_PORTS]; //Holds the link status. 0 or down, non zero for u
U_INT32 13Timer; //Timer to avoid loops
External Functions
extern U_INT8 link_Check(U_INT8 port); //Check link status, return 0 on link down
extern U_INT8 clearAddrTable( ); // Clears Address Table
extern U_INT8 drop_Link(U_INT8 port); // Drops link on port
extern U_INT8 make_Link(U_INT8 port); // turns ON link on port
extern U_INT32 get_Time( ); // gets system time in time ticks
extern U_INT8 delay(U_INT16 time);// delays execution
extern U_INT8 update_LinkStat( ); // updates linkStat array with current link status.
Main function
U_INT8 link_Loss_Check( )
{
In the above description, numerous specific details are given to provide a thorough understanding of embodiments of the invention. However, the above description of illustrated embodiments of the invention is not intended to be exhaustive or to limit the invention to the precise forms disclosed. One skilled in the relevant art will recognize that the invention can be practiced without one or more of the specific details, or with other methods, components, etc. In other instances, well-known structures or operations are not shown or described in detail to avoid obscuring aspects of the invention. While specific embodiments of, and examples for, the invention are described herein for illustrative purposes, various equivalent modifications are possible within the scope of the invention, as those skilled in the relevant art will recognize.
These modifications can be made to the invention in light of the above detailed description. The terms used in the following claims should not be construed to limit the invention to the specific embodiments disclosed in the specification and the claims. Rather, the scope of the invention is to be determined by the following claims, which are to be construed in accordance with established doctrines of claim interpretation.
Sivasankaran, Dileep, Madren, Frank S., Wood, Peter R.
Patent | Priority | Assignee | Title |
Patent | Priority | Assignee | Title |
5132962, | Dec 20 1990 | International Business Machines Corporation; INTERNATIONAL BUSINESS MACHINES CORPORATION, A CORP OF NY | Fault isolation and bypass reconfiguration unit |
5968130, | Feb 15 1996 | NEC Corporation | Bridge unit, frame transfer method of the bridge unit and computer program for frame transfer |
6026073, | Aug 07 1995 | British Telecommunications public limited company | Route finding in communications networks |
6147965, | Jan 24 1997 | Alcatel Canada Inc | Switched connections diagnostics in a signalling network |
6202114, | Dec 31 1997 | Cisco Technology, Inc | Spanning tree with fast link-failure convergence |
6330229, | Nov 09 1998 | Hewlett Packard Enterprise Development LP | Spanning tree with rapid forwarding database updates |
6556541, | Jan 11 1999 | Hewlett Packard Enterprise Development LP | MAC address learning and propagation in load balancing switch protocols |
6594776, | Jun 28 2000 | GLOBALFOUNDRIES U S INC | Mechanism to clear MAC address from Ethernet switch address table to enable network link fail-over across two network segments |
6680917, | Jan 15 1999 | Hewlett Packard Enterprise Development LP | Spanning tree with rapid propagation of topology changes |
7061875, | Dec 07 2001 | Cisco Systems, Inc | Spanning tree loop guard |
7085224, | Jun 14 2001 | Cisco Technology, Inc. | Method and apparatus for fast failure detection in switched LAN networks |
7246168, | Nov 19 1998 | Cisco Technology, Inc. | Technique for improving the interaction between data link switch backup peer devices and ethernet switches |
7428209, | Jun 12 2001 | SABLE NETWORKS, INC | Network failure recovery mechanism |
7593319, | Oct 15 2002 | Garrettcom, Inc. | LAN switch with rapid fault recovery |
20010021177, | |||
20020129226, | |||
20030002462, | |||
20030016624, | |||
20030112826, | |||
20030117944, | |||
20030161275, | |||
20030163555, | |||
20070206492, | |||
20080205302, | |||
20080225695, | |||
20090219808, | |||
20090323518, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Oct 01 2003 | SIVASANKARAN, DILEEP | GarrettCom, Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 044522 | /0019 | |
Oct 01 2003 | MADREN, FRANK S | GarrettCom, Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 044522 | /0019 | |
Oct 01 2003 | WOOD, PETER R | GarrettCom, Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 044522 | /0019 | |
Sep 21 2011 | BELDEN INC. | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Mar 22 2013 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Mar 22 2017 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Mar 22 2021 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Date | Maintenance Schedule |
Nov 20 2015 | 4 years fee payment window open |
May 20 2016 | 6 months grace period start (w surcharge) |
Nov 20 2016 | patent expiry (for year 4) |
Nov 20 2018 | 2 years to revive unintentionally abandoned end. (for year 4) |
Nov 20 2019 | 8 years fee payment window open |
May 20 2020 | 6 months grace period start (w surcharge) |
Nov 20 2020 | patent expiry (for year 8) |
Nov 20 2022 | 2 years to revive unintentionally abandoned end. (for year 8) |
Nov 20 2023 | 12 years fee payment window open |
May 20 2024 | 6 months grace period start (w surcharge) |
Nov 20 2024 | patent expiry (for year 12) |
Nov 20 2026 | 2 years to revive unintentionally abandoned end. (for year 12) |