A method for supporting dynamic configuration changes comprises receiving a message from a current root bridge, comparing a bridge media access control (MAC) address of a receiving port to a bridge MAC address of the received message, if the bridge MAC addresses are not the same, then comparing a current priority value with a previous priority value of the current root bridge, determining if the receiving port is a qualified root port, and if the port is a qualified root port, then returning a superior designated message to execute an rstp calculation.
|
27. An article of manufacture, comprising:
a machine-readable medium having stored thereon instructions to:
detect for a steady state condition;
if a repeated designated message is received by a root port during said steady state condition, restart a first timer of said root port, the first timer having a value indicating whether the port is or has recently been a current root port; and
if a repeated designated message is received on an alternate port during said steady state condition, restart a forward delay timer of said alternate port.
25. A method of steady state optimization in the rapid spanning-tree protocol (rstp), the method comprising:
detecting for a steady state condition;
if a repeated designated message is received by a root port during said steady state condition, restarting a first timer of said root port, the first timer having a value indicating whether the port is or has recently been a current root port; and
if a repeated designated message is received on an alternate port during said steady state condition, restarting a forward delay timer of said alternate port.
26. An apparatus for steady state optimization in the rapid spanning-tree protocol (rstp), the apparatus comprising:
an apparatus having bridge functionality and configured to:
detect for a steady state condition;
if a repeated designated message is received by a root port during said steady state condition, restart a first timer of said root port, the first timer having a value indicating whether the port is or has recently been a current root port; and
if a repeated designated message is received on an alternate port during said steady state condition, restart a forward delay timer of said alternate port.
12. A method for supporting dynamic configuration changes, the method comprising:
receiving a message from a current root bridge comprising an apparatus with bridge functionality;
comparing a bridge media access control (MAC) address of a receiving port with a bridge MAC address of the received message;
if the bridge MAC addresses are not the same, then comparing a current priority value with a previous priority value of the current root bridge;
determining if the receiving port is a qualified root port; and
if the port is a qualified root port, then returning a superior designated message to execute an rstp calculation.
16. An apparatus with bridge functionality in a network, the apparatus comprising:
a port information state machine configured to:
receive a message from a current root bridge comprising an apparatus with bridge functionality;
compare a bridge media access control (MAC) address of a receiving port with the bridge MAC address of the received message;
if the bridge MAC addresses are not the same, then compare a current priority value with a previous priority value of the current root bridge;
determine if the receiving port is a qualified root port; and
return a superior designated message to execute an rstp calculation, if the port is a qualified root port.
22. A method of enhancing a topology change state machine in the rapid spanning-tree protocol (rstp), the method comprising:
detecting if an event is valid topology change event, a valid topology change event being indicated when a non-edge port of a bridge is put into a forwarding state by a port state transition machine (PST);
in response to a valid event, starting one or more timers on a bridge to propagate the valid event, each of the one or more timers indicating an interval for which topology change notification messages are sent through a root port, the bridge comprising an apparatus with bridge functionality; and
avoiding the flushing of learned MAC address in response to a subsequent topology change notice.
23. An article of manufacture, comprising:
a machine-readable medium having stored thereon instructions to:
receive a message from a current root bridge comprising an apparatus with bridge functionality;
compare the bridge media access control (MAC) address of a receiving port to the bridge MAC address of the received message;
if the bridge MAC addresses are not the same, then compare a current priority value to a previous priority value of the current root bridge;
if the current priority value is inferior, then determine if the port receiving the message is a qualified root port; and
if the port is a qualified root port, then return a superior designated message to permit each bridge to execute a rapid spanning tree calculation for use in a dynamic configuration change.
24. An article of manufacture, comprising:
a machine-readable medium having stored thereon instructions to:
determine if an event is a valid topology change event, a valid topology change event being indicated when a non-edge port of a bridge is put into a forwarding state by a port state transition machine (PST), the bridge comprising an apparatus with bridge functionality;
stop each of one or more timers on a bridge, each of the one or more timers indicating an interval for which topology change notification messages are sent through a root port;
propagate a new topology change event as a latest topology change event to all bridges across the network; and
initiate a flushing cycle of learned addresses on all bridges across the network, in response to the new topology change event.
21. An apparatus with bridge functionality in a network, the apparatus comprising:
a topology change state machine configured to:
determine if an event is a valid topology change event, a valid topology change event being indicated when a non-edge port of a bridge is put into a forwarding state by a port state transition machine (PST), the bridge comprising an apparatus with bridge functionality;
stop each of one or more timers on a bridge, each of the one or more timers indicating an interval for which topology change notification messages are sent through a root port;
propagate a new topology change event as a latest topology change event to all bridges across the network; and
initiate a flushing cycle of learned addresses on all bridges across the network, in response to the new topology change event.
18. A method of enhancing a topology change state machine in the rapid spanning-tree protocol (rstp), the method comprising:
determining if an event is a valid topology change event, a valid topology change event being indicated when a non-edge port of a bridge is put into a forwarding state by a port state transition machine (PST), the bridge comprising an apparatus with bridge functionality;
stopping each of one or more timers on the bridge, each of the one or more timers indicating an interval for which topology change notification messages are sent through a root port;
propagating a new topology change event as a latest topology change event to all bridges across the network; and
in response to the new topology change event, initiating a flushing cycle of learned addresses on all bridges across the network.
1. A method for supporting dynamic configuration changes, the method comprising:
receiving a message from a current root bridge comprising an apparatus with bridge functionality;
comparing the bridge media access control (MAC) address currently held by the receiving port in a port priority vector of the receiving port to the bridge MAC address of the received message;
if the bridge MAC addresses are not the same, then comparing a current priority value to a previous priority value of the current root bridge;
if the current priority value is inferior, then determining if the port receiving the message is a qualified root port; and
if the port is a qualified root port, then returning a superior designated message to permit each bridge to execute a rapid spanning tree calculation for use in a dynamic configuration change.
7. An apparatus with bridge functionality in a network, the apparatus comprising:
a port information state machine configured to:
receive a message from a current root bridge comprising an apparatus with bridge functionality;
compare the bridge media access control (MAC) address currently held by a receiving port in a port priority vector of the receiving port to the bridge MAC address of the received message;
if the bridge MAC addresses are not the same, then compare a current priority value to a previous priority value of the current root bridge;
if the current priority value is inferior, then determine if the port receiving the message is a qualified root port; and
if the port is a qualified root port, then return a superior designated message to permit each bridge to execute a rapid spanning tree calculation for use in a dynamic configuration change.
2. The method of
if the bridge MAC addresses are not the same, then performing standard processing under the rapid spanning tree protocol to achieve dynamic configuration change.
3. The method of
if the current priority value is not inferior to the previous priority value of the current root bridge, then performing standard processing under the rapid spanning tree protocol to achieve dynamic configuration change.
4. The method of
if the port is not a qualified root port, then performing standard processing under the rapid spanning tree protocol to achieve dynamic configuration change.
8. The apparatus of
9. The apparatus of
10. The apparatus of
14. The method of
after executing the rstp calculation, performing a dynamic configuration change.
19. The method of
|
Embodiments of the present invention relate generally to communication networks. More particularly, embodiments of the present invention provide optimizations and enhancements to the IEEE RSTP 802.1w implementation.
The Institute of Electrical and Electronics Engineers (IEEE) 802.1D Spanning-Tree Protocol (STP) standard provides distributed routing over multiple Local Area Networks (LANs) that are connected by bridges. The 802.1D standard is presented in detail in IEEE Standard for Local and Metropolitan Area Networks—Common Specification, Part 3: Media Access Control (MAC) Bridges (The Institute of Electrical and Electronics Engineers, Inc., New York, N.Y. 1998), which is hereby fully incorporated herein by reference. The 802.1D standard was designated at a time where recovering network connectivity within about 60 seconds after an outage was considered as adequate performance. For any network topology changes, the convergence time in the 802.1D standard is usually about 50 seconds (i.e., two times the forward delay plus a maximum age time).
The IEEE 802.1w Rapid Spanning-Tree Protocol (RSTP) standard reduces the convergence time as compared to the 802.1D standard and may be considered as an evolution of the 802.1D standard. The 802.1w standard is presented in detail in IEEE Standard for Local and Metropolitan Area Networks—Common Specification, Part 3: Media Access Control (MAC) Bridges—Amendment 2: Rapid Reconfiguration, (The Institute of Electrical and Electronics Engineers, Inc., New York, N.Y. 2001), which is hereby fully incorporated herein by reference. When a bridge failure or port failure occurs, the RSTP protocol will calculate a new proposal (a loop-free topology) within typically a response time of about 300 milliseconds by deciding which particular ports will be a forwarding port and a blocking port. A port failure can include a link failure or a creation of a new link.
However, there is a need for further enhancements and optimizations to the implementation of the IEEE 802.1w standard.
In one embodiment of the invention, a method for supporting dynamic configuration changesnot the same, then standard processing (720) is performed under the 802.1w standard to achieve the dynamic configuration change in the system 600. For example, the MAC addresses may remain as 4/1 in this case.
If the bridge MAC addresses are not the same, then a check (725) is performed to determine if the current priority value is inferior to the old (or previous) priority value for a bridge. For example, assume that the bridge 601 has an old priority value of 100. If the network administrator changes the priority value to 40, then the current priority value of 40 will not be inferior to the old priority value. If the current priority value is not inferior to the old priority value, then standard processing (720) is performed under the 802.1w standard to achieve the dynamic configuration change in the system 600.
As another example, if the network administrator changes the priority value to 4000, then the current priority value of 4000 will be inferior to the old priority value of 100. If the current priority value is inferior to the old priority value, then a check (730) is made to determine if the receiving port on the bridge is a qualified root port. A qualified root port is defined as: (1) while the “rrwhile” timer has not timed out, the role of the port is equal to the selected role which is equal to the root port; and (2) the “rcvdinfowhile” timer has not timed out. An rrwhile timer naming on a port means that the role of the port is ROOT PORT. Only the ROOT PORT will have the rrwhile timer at any given point on a non-root bridge. The rcvdInfowhile timer is used to determine if the message which is held by a root port, alternate port or backup port should be aged out.
The check (730) for a qualified root port is performed because when bridge 601 transmits a new message corresponding to the new priority value, it may be possible that a root port (e.g., port 3/1 in bridge 602) has already been established. If the receiving port is not a qualified root port, then standard processing (720) is performed under the 802.1w standard to achieve the dynamic configuration change in the system 600.
If the port is a qualified root port, then the receiving port returns (750) the following BPDU message 800, as also shown in
The repeated designated message 810 is defined as a superior message that has been received by the bridge port before, and this message 810 is more superior than the message which can be transmitted by this particular bridge port.
The confirmed root message 815 is sent by a root port in order to signal the root port's connected designated port, so that the designated port can rapidly transition itself into a forwarding state. A confirmed root message 815 will have a role of root port and an agreement flag that is set in the confirmed root message 815.
An “other message” 820 is either an inferior message or a topology change indicating messages like TCN (topology change notice), or TC acknowledgement, or RST BPDU with TC flag set, or other suitable messages.
Optimizations in the Topology Change State Machine
When an RSTP bridge detects a topology change, the following events typically occur. First, the bridge starts a tcWhile timer with a value equal to twice the hello time for all its non-edge designated ports and its root port if necessary. Second, the bridge flushes the MAC addresses associated with all these ports. Third, as long as the tcWhile timer is running on a port, the BPDUs sent out of that port have the TC bit (TC flag) set. BPDUs are also sent on the root port while the tcWhile timer is active.
When a bridge receives a BPDU with the TC bit (TC flag) set from a neighbor, the following events typically occur as described below. The BPDU with the TC flag is hereinafter denoted as “RSTP TCN”. The RSTP TCN performs the function of topology change detection and topology change propagation across the entire network. First, the bridge clears the MAC addresses that have been learned on all its ports except the one that received the topology change. Second, the bridge starts the tcWhile timer and sends BPDUs with the TC flag set on all its designated ports and root port. The RSTP protocol no longer uses the specific TCN BPDU (Topology Change Notification BPDU), unless a legacy bridge needs to be notified. Thus, notification of the topology change is transmitted very quickly across the entire network.
The Topology Change state machine generates and propagates the topology change notification messages on each port. When a root port or a designated port goes into a forwarding state, the Topology Change state machine 1030 (
The bridge “FDRY2” then starts the TCN timer on the designated ports and sends RST BPDUs that contain the TCN as shown in
In order to distinguish between a topology change detection and a topology change propagation by use of the RSTP TCN, a method in accordance with an embodiment of the invention provides the following. When the PST places a non-edge port into a forwarding state, an RSTP TCN is sent to all designated ports in the bridge and all tcWhile timers are globally stopped (953) on the bridge. As a result, the inactive tcWhile timers do not permit the transmissions of additional RSTP TCNs. By stopping all tcWhile timers, this new topology change event is propagated or signaled (955) as the latest topology change event to all bridges across the network. If a new topology change event has occurred, then a new flushing cycle of learned MAC addresses is initiated (957) on all bridges across the network. If there is no new topology change event, then a flushing cycle of the learned MAC addresses is not performed.
Thus, if the tcWhile timer is active, flushing of the learned MAC addresses is not performed if a port receives a second and subsequent RSTP TCNs. The method 950 therefore eliminates the duplicate flushing cycles of MAC addresses when a second and subsequent RSTP TCNs are received in response to a topology change events.
Steady State Optimizations in the PIM State Machine
In an embodiment of the invention, when the repeated designated messages are sent (during steady state), invocation of the PRT state machine 1015 is avoided. By not invoking the PRT state machine 1015 during steady state, the invocation of the PTX state machine 1020, PST state machine 1025, and TCM state machine 1030 are also avoided. This advantageously avoids unnecessary CPU intensive tasks during steady state.
In a steady state of a given topology, a root port has the rrwhile timer running, while an alternate port and a backup port has the fdWhile timer running. In the steady state, applicant has observed that the expiry of these timers have no relevant computational function other than to signal the restart these particular timers. In an embodiment of the invention, if a repeated designated message is received by a root port, then the rrWhile timer is re-started. If a repeated designated message is received by an alternate port, then the fdWhile timer is re-started. If a repeated designated message is received on an alternate port, where the proposal flag is set on the repeated designated message and the port stated indicated in the BPDU is forwarding, then the proposal flag will be ignored.
For example, as shown in the system 1400
The various engines discussed herein may be, for example, software, commands, data files, programs, code, modules, instructions, or the like, and may also include suitable mechanisms.
Reference throughout this specification to “one embodiment”, “an embodiment”, or “a specific embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, the appearances of the phrases “in one embodiment”, “in an embodiment”, or “in a specific embodiment” in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
Other variations and modifications of the above-described embodiments and methods are possible in light of the foregoing teaching.
Further, at least some of the components of an embodiment of the invention may be implemented by using a programmed general purpose digital computer, by using application specific integrated circuits, programmable logic devices, or field programmable gate arrays, or by using a network of interconnected components and circuits. Connections may be wired, wireless, by modem, and the like.
It will also be appreciated that one or more of the elements depicted in the drawings/figures can also be implemented in a more separated or integrated manner, or even removed or rendered as inoperable in certain cases, as is useful in accordance with a particular application.
It is also within the scope of the present invention to implement a program or code that can be stored in a machine-readable medium to permit a computer to perform any of the methods described above.
Additionally, the signal arrows in the drawings/Figures are considered as exemplary and are not limiting, unless otherwise specifically noted. Furthermore, the term “or” as used in this disclosure is generally intended to mean “and/or” unless otherwise indicated. Combinations of components or actions will also be considered as being noted, where terminology is foreseen as rendering the ability to separate or combine is unclear.
As used in the description herein and throughout the claims that follow, “a”, “an”, and “the” includes plural references unless the context clearly dictates otherwise. Also, as used in the description herein and throughout the claims that follow, the meaning of “in” includes “in” and “on” unless the context clearly dictates otherwise.
It is also noted that the various functions, variables, or other parameters shown in the drawings and discussed in the text have been given particular names for purposes of identification. However, the function names, variable names, or other parameter names are only provided as some possible examples to identify the functions, variables, or other parameters. Other function names, variable names, or parameter names may be used to identify the functions, variables, or parameters shown in the drawings and discussed in the text.
The above description of illustrated embodiments of the invention, including what is described in the Abstract, is not intended to be exhaustive or to limit the invention to the precise forms disclosed. 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 entirely by the following claims, which are to be construed in accordance with established doctrines of claim interpretation.
Patent | Priority | Assignee | Title |
8139510, | Dec 20 2002 | Foundry Networks, LLC | Optimizations and enhancements to the IEEE RSTP 802.1w implementation |
8451715, | Mar 26 2010 | Juniper Networks, Inc. | Avoiding data loss in a multi-homed layer two bridging network |
8467316, | Dec 29 2010 | Juniper Networks, Inc. | Enhanced address learning in layer two computer networks |
RE43270, | Dec 20 2002 | Foundry Networks LLC | Optimizations and enhancements to the IEEE RSTP 802.1W implementation |
Patent | Priority | Assignee | Title |
6330229, | Nov 09 1998 | Hewlett Packard Enterprise Development LP | Spanning tree with rapid forwarding database updates |
6717950, | Jan 20 2002 | Google Technology Holdings LLC | Method and apparatus for priority-based load balancing for use in an extended local area network |
7061875, | Dec 07 2001 | Cisco Systems, Inc | Spanning tree loop guard |
7379429, | Dec 20 2002 | Foundry Networks, LLC | Optimizations and enhancements to the IEEE RSTP 802.1w implementation |
7564779, | Jul 07 2005 | Alcatel Lucent | Ring rapid spanning tree protocol |
20010021177, | |||
20020181412, | |||
20070008964, | |||
20070118628, | |||
20080310421, | |||
20090323518, |
Date | Maintenance Fee Events |
Oct 24 2011 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Feb 10 2014 | ASPN: Payor Number Assigned. |
Feb 10 2014 | RMPN: Payer Number De-assigned. |
Jan 08 2016 | REM: Maintenance Fee Reminder Mailed. |
Jun 29 2020 | EXP: Patent Expired for Failure to Pay Maintenance Fees. |
Date | Maintenance Schedule |
Mar 29 2014 | 4 years fee payment window open |
Sep 29 2014 | 6 months grace period start (w surcharge) |
Mar 29 2015 | patent expiry (for year 4) |
Mar 29 2017 | 2 years to revive unintentionally abandoned end. (for year 4) |
Mar 29 2018 | 8 years fee payment window open |
Sep 29 2018 | 6 months grace period start (w surcharge) |
Mar 29 2019 | patent expiry (for year 8) |
Mar 29 2021 | 2 years to revive unintentionally abandoned end. (for year 8) |
Mar 29 2022 | 12 years fee payment window open |
Sep 29 2022 | 6 months grace period start (w surcharge) |
Mar 29 2023 | patent expiry (for year 12) |
Mar 29 2025 | 2 years to revive unintentionally abandoned end. (for year 12) |