System and method for managing network traffic disruption

Information

  • Patent Grant
  • 8724517
  • Patent Number
    8,724,517
  • Date Filed
    Thursday, June 2, 2011
    13 years ago
  • Date Issued
    Tuesday, May 13, 2014
    10 years ago
Abstract
A method is provided that includes configuring a first network element as a peer to a second network element. The first network element and the second network element are configured to execute a spanning-tree protocol (STP) in a network environment. The method may also include configuring a priority characteristic to be a same value for the first network element and the second network element such that both operate as root network elements for other network elements in the network environment.
Description
TECHNICAL FIELD

This disclosure relates in general to the field of communications and, more particularly, to managing network traffic disruption.


BACKGROUND

Ethernet architectures have grown in complexity in recent years. This is due, at least in part, to diverse technologies that have emerged to accommodate a plethora of end users. For example, networking virtualization can provide additional functionalities within a networking environment, such as redundancy and fault tolerance. Network virtualization facilitates the management of diversely located network devices, and may centralize/reduce the administration of networks. Implementing virtualization within an Ethernet architecture can create additional issues within forwarding protocols. In certain network scenarios, topology information may not be current, accurate, and/or consistent. Such changes and inconsistencies can disrupt or block data information (e.g., the network traffic) transmitted or flowing through a network. Optimally managing network traffic disruptions presents a significant challenge to system designers, network operators, and service providers alike.





BRIEF DESCRIPTION OF THE DRAWINGS

To provide a more complete understanding of the present disclosure and features and advantages thereof, reference is made to the following description, taken in conjunction with the accompanying figures, wherein like reference numerals represent like parts, in which:



FIG. 1 is a simplified block diagram of a communication system for managing network traffic disruption in a network environment in accordance with one embodiment of the present disclosure;



FIG. 2 is a simplified block diagram illustrating additional details related to the communication system in accordance with one embodiment;



FIGS. 3A-C are simplified block diagrams illustrating details related to example implementations of the communication system in accordance with one embodiment;



FIG. 4 is a simplified block diagram illustrating additional details related to example implementations of the communication system in accordance with one embodiment;



FIG. 5 is a simplified block diagram illustrating additional details related to example implementations of the communication system in accordance with one embodiment;



FIGS. 6A-D are simplified block diagrams of a communication system for providing certain switching activities in a network environment in accordance with one embodiment of the present disclosure; and



FIG. 7 is a simplified flowchart illustrating example operations for a flow associated with the communication system.





DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS
Overview

A method is provided that includes configuring a first network element as a peer to a second network element. The first network element and the second network element are configured to execute a spanning-tree protocol (STP) in a network environment. The method may also include configuring a priority characteristic to be a same value for the first network element and the second network element such that both operate as root network elements for other network elements in a network environment.


In more particular embodiments, the method can include the first network element being configured to transmit Bridge Protocol Data Units (BPDUs) to the second network element through a Virtual Port-Channel (vPC) link. Additionally, data in the BPDUs can include a root bridge ID (BID) providing a value for a bridge priority, and the data in the BPDUs can also include a negotiated vPC media access control (VMAC) value. In more specific implementations, a first designated BID value can be provided to indicate that the first network element is a vPC operational primary switch, and a second designated BID value can be provided to indicate that the second network element is a vPC operational secondary switch.


In yet other more specific scenarios, the first network element and the second network element are configured to become a respective STP root bridge for a respective virtual local area network (VLAN). Additionally, the first network element and the second network element are configured to exchange roles due to a failure of the first network element. In addition, the first network element is configured to designate its own priority level in order to conduct loadbalancing activities in conjunction with the second network element.


Example Embodiments

Turning to FIG. 1, FIG. 1 is a simplified block diagram of a communication system 10 for managing network traffic disruptions in a network environment in accordance with one embodiment. In certain embodiments, the architecture of FIG. 1 can employ a method for extending a Spanning Tree Protocol (STP) to operate in a network deploying network elements (e.g., switches) configured to include Virtual Port-Channels (vPCs). Adding additional functionality to STP may allow for the minimization of network traffic disruptions during a vPC switch failure and during its subsequent recovery.



FIG. 1 may include switches S112, S214, S318, and S420 operating in a network environment. Switches S112, S214, S318, and S420 may be coupled to each other via various communication links that may be wired or wireless. Further, switches S112 and S214 may be coupled together by a vPC peer-link that may be wired or wireless. vPC is a port-channel that allows its port-channel member-links to be spread across multiple switches (e.g., two switches S112 and S214). The two switches may be referred to as vPC peer-switches. As earlier noted, vPC peer-switches may be connected by a link called the vPC peer-link, which may assist with the provisioning of the vPC capability.


A vPC peer-link may be designed to transmit both control plane network traffic, as well as data information traffic (e.g., data packets, frames, etc.) One vPC peer-switch may be elected as the primary and the other as the secondary through an election mechanism. In general, vPC technology allows multiple physical switches to be recognized as a single logical switch by the forwarding protocols of other network switches. The logical representation of switches S112 and S214 as a single switch is illustrated by the dashed rectangle box that surrounds the switches S112 and S214.


Note that link state routing is a protocol that allows a node in a network to determine network topology by sharing information about transmission cost to each of its neighboring nodes. Link state routing packets are transmitted to (and received from) neighbors. The least expensive path to various destinations can be determined using the link state information. Link state information can be used to generate network topology information at various network nodes (e.g., used in constructing forwarding tables). The forwarding tables allow network nodes (such as switches and bridges) to forward the received traffic on an appropriate output interface. In order to generate a network topology map and a forwarding table at a specific node, link state information is distributed from various network nodes. Each network node is configured to create a link state packet having information about the distance, delay, or costs to each of its neighbors. A link state record (LSR) can then be transmitted to neighboring nodes.


Classic Ethernet (CE) networks typically use STP as their forwarding protocol. STP commonly runs on a switch and, further, operates to maintain a loop-free topology in a Layer 2 switched network. The term spanning tree protocol (STP) as used herein includes any version of STP, including for example, traditional STP (IEEE 802.1d), rapid spanning tree protocol (RSTP) (IEEE 802.1w), multiple spanning tree protocol (MSTP) (IEEE 802.1s), or any other spanning tree protocol. In one particular example, communication system 10 is representative of a Layer 2 network, which may be executing the STP forwarding protocol. In the illustration of FIG. 1, switches S112, S214, S318, and S420 would be executing STP on their respective links.


Returning to FIG. 1, switch S112 may be configured to be the STP root for a virtual local area network (VLAN) (e.g., VLAN 1). Hence, the bridge priority of S112 can be minimized (e.g., set to approximately 4096, or 4K, as shown in FIG. 1)) for VLAN 1. Switch S214 may be configured to be the STP root for a second VLAN (e.g., VLAN 2). The bridge priority of S214 can similarly be minimized for VLAN 2. Moreover, STP for vPC peer-switches is controlled by the vPC primary switch (e.g., switch S112), while a secondary switch can be in hot standby mode (e.g., switch S214). Representing vPC peer-switches within STP as a single logical switch presents new and additional challenges. The failure and subsequent recovery of either of the vPC peer-switches can create conversion issues that may disrupt network traffic (e.g., STP ports on a switch may become blocked until the switch can re-sync with other switches through control plane communications). Further, VLAN loadbalancing can be affected by implementing vPC peer-switch technology. The architecture of FIG. 1 illustrates the initial configuration of various network elements that can be implemented in various switching scenarios, some of which are detailed below with reference to corresponding FIGURES.


Turning to FIG. 2, FIG. 2 is a simplified block diagram illustrating potential details associated with communication system 10. In this particular example, switches S112 and S214 include a respective peer-switch module 30a-b, a respective fail-shut module 32a-b, a respective processor 34a-b, and a respective memory element 36a-b. Note that although not depicted, switches S318, S420, S524, and S626 (S524 and S626 are illustrated in FIGS. 6A-D) may also be similarly configured to include respective peer-switch modules, fail-shut modules, processors, and memory elements. In operation of one example scenario, the architecture of FIG. 2 can facilitate a vPC functionality.


The vPC functionality allows multiple switches in a network topology to appear as a single switch. Enhancing forwarding protocols (e.g., STP) to manage the vPC functionality within a topology can reduce traffic disruptions. Enhancements may include the introduction of pseudo information into the forwarding protocol that can minimize inconsistent representations of the switches providing the vPC functionality within the network topology. Specifically, enhancements can minimize the need for control plane synchronization requests when a switch providing vPC functionality fails and subsequently recovers. Typically, control plane synchronization requests within a network system are managed by individual network elements in a manner that disrupts the flow of data information (e.g., the network elements close their ports to data traffic until the control plane synchronization it complete).


In operation of one example scenario, the architecture of FIG. 2 reduces the amount of control plane synchronization requests and, thus, minimizes network traffic disruptions. Note that vPC is an ‘active-active’ distributed control-plane model running STP on both the vPC pair-switches as against the virtual switching system (VSS), which follows a centralized control-plane model. One advantage of a distributed control plane is that it allows a vPC peer-link to be replaced by other technologies such as an L2 Multipath (L2MP) link/fabric. In another operation of one example scenario, the architecture of FIG. 2 effectively eliminates loops created by failure of the vPC peer-link that connects vPC peer-switches.


Operationally, communication system 10 is capable of providing a number of enhancements to a switching architecture. The first enhancement can operate to exclude a vPC peer-link from the STP computations. This could avoid STP Topology Change Notifications (TCNs), when the vPC peer-link flaps, which churns the media access control (MAC) address re-sync across vPC switches. Additionally, in certain vPC topologies, such an enhancement avoids unnecessary RSTP Sync (e.g., RSTP proposal-agreement handshakes) on vPCs when the vPC Secondary Switch is the STP Root Switch, and the vPC peer-link flaps.


As part of a separate enhancement offered by communication system 10, even though the system can execute STP for vPCs on the primary vPC switch, the architecture can also send STP Bridge Protocol Data Units (BPDUs) from both the vPC switches on the designated STP port. This can be performed in order to avoid issues related to BPDU timeouts on the downstream switches that can cause various problems such as STP dispute, loop guard inconsistency (that results in traffic disruption), etc. Additionally, such an enhancement avoids recommendations to increase the STP HELLO time. More specifically, STP for vPCs is controlled by STP running on the vPC primary switch, so only the vPC primary switch sends BPDUs on the STP designated ports. After the vPC secondary switch takes over as the primary switch (vPC role change window), STP on the secondary vPC switch can start sending BPDUs on the vPCs.


In the vPC scalability setups, the vPC role change window (which also includes the hold time to detect the vPC peer switch alive by vPC manager) causes the downstream switches to timeout the BPDU information (e.g., with a default STP HELLO time of two seconds, the default BPDU timeout is six seconds (i.e., three x HELLO interval)). Hence, there would be a recommendation to increase the STP HELLO time. However, this recommendation is a limitation because of the impact of the STP convergence on the hybrid (vPC and non-vPC) topologies. In addition, it is not good practice to change the default STP HELLO time. In order to solve this issue, the architecture of communication system 10 is configured to send the BPDUs from both the vPC switches on the designated ports. However, the BPDU information sent by both the switches should generally be the same; otherwise, this could confuse the downstream switches. Hence, in a particular implementation, the architecture can use the domain based vPC system MAC address as the STP Bridge ID (on both the vPC switches).


Yet another enhancement that can be provided by communication system 10 relates to STP on the vPC primary switch. STP can support a non-disruptive vPC Role Change framework, which allows for an auto-revert of the vPC role to maintain network configuration consistency. STP on the vPC primary switch can control the STP operations on the vPCs, and STP on vPC secondary switch executes in a passive mode for vPCs. This indicates that STP for vPCs is coupled with the vPC role. Hence, to non-disruptively auto-revert the vPC role or to handle the CLI-based vPC role change, the STP and vPC manager can support such a sequence, which is further detailed below.


An additional enhancement of communication system 10 addresses a fail-shut mode support for a vPC peer-link failure and for a dual-active (vPC peer-link and vPC keep-alive link failure) scenario. This can further support a vPC bring-up after port flap. Additionally, this can allow a single vPC switch to bring up the vPC without waiting for vPC peer-link adjacency formation. Such an enhancement can relax the STP bridge assurance, and avoid the STP dispute on the STP root bridge because the port role can be blocked once the vPC peer-link is down. In such scenarios, the vPCs on the secondary switch can remain up. Note that, by default, the vPCs on the secondary switch can be kept down, as it is currently, whenever the vPC peer-link is down. Furthermore, a setting can be provided such that users can decide to keep the vPCs up on the secondary vPC switch.


Another enhancement of communication system 10 is also associated with the STP fail-shut mode. Logistically, after the vPC peer-link failure, STP on vPC switches can enter into a fail-shut mode. For the fail-shut behavior, once the vPC peer-link failure is detected, the current STP topology can be recorded as the last agreed topology for the vPC pair. Additionally, any STP event, either local or external, that changes the last agreed topology and/or that requires vPC to be blocked can adhere to the following rules. First, dispute the peer; if the peer is not capable of dispute, then disable the vPC to avoid a potential loop. Additionally, the vPC-peer loop detection mechanism can provide the fail-safe loop prevention during vPC peer-link failure, or in dual-active scenarios. STP can send out a new type of BPDU (vPC-peer loop detection BPDU) to detect and/or disable any redundant vPC links to avoid potential loops or frame duplications. The new BPDUs can be sent per-VLAN. The new BPDU can use a reserved multicast MAC address, which can be treated as data frames. In addition, the new BPDU can be sent as priority/VLAN tagged with the highest class of service (COS). During link up, the three BPDUs can, for example, be sent every second. Later, BPDUs can be sent less frequently (e.g., every 10 seconds). The new BPDUs can be interlaced with regular BPDUs for better scalability.


Returning to some of the infrastructure of FIG. 2, communication system 10 represents a series of points or nodes of interconnected communication paths for receiving and transmitting packets of information that propagate through the system. This network offers a communicative interface between network elements (e.g., switches, bridges, gateways, etc.) and may be any IP network, local area network (LAN), virtual LAN (VLAN), wireless LAN (WLAN), metropolitan area network (MAN), wide area network (WAN), extranet, Intranet, virtual private network (VPN), or any other appropriate architecture or system that facilitates communications in a network environment. The network can support a transmission control protocol (TCP)/IP, or a user datagram protocol (UDP)/IP in particular embodiments of the present disclosure; however, this network may alternatively implement any other suitable communication protocol for transmitting and receiving data packets within communication system 10.


Switches S112, S214, S318 and S420 are network elements that route (or that cooperate with each other in order to route) traffic and/or packets in a network environment. As used herein in this Specification, the term ‘network element’ is used interchangeably with the terms ‘switch’ and ‘node’, and these terms are meant to encompass gateways, switches, routers, bridges, loadbalancers, firewalls, network appliances, inline service nodes, proxies, servers, processors, modules, or any other suitable device, component, element, or object operable to exchange information in a network environment. The network elements may include any suitable hardware, software, components, modules, interfaces, or objects that facilitate the operations thereof. This may be inclusive of appropriate algorithms and communication protocols that allow for the effective exchange (reception and/or transmission) of data or information.


In operation, peer-switch modules 30a-b may be configured to manage network traffic disruptions in communication system 10. Peer-switch modules 30a-b can establish a vPC peer-switch formation between switch S112 and S214. Further, peer-switch modules 30a-b may enhance STP executing on vPC peer-switches to minimize traffic disruptions. Enhancing STP may include introducing pseudo information that allows vPC peer-switches to modify their respective STP root priorities and STP designated priorities. Moreover, peer-switch modules 30a-b can manage the failure and subsequent recovery of a vPC peer-switch in a manner that minimizes network traffic disruptions. Fail-shut modules 32a-b may be configured to recognize the failure of a vPC peer-link. Fail-shut modules 32a-b may coordinate removing the operation of vPCs when vPC peer-switches are in a dual active mode (e.g., the vPC peer-switches both believe they are the operational primary switch). Processors 34a-b may execute code stored in memory elements 36a-b and/or assist in any of the switching activities discussed herein.


Note that switches S112, S214, S318, and S420 may share (or coordinate) certain processing operations. Using a similar rationale, their respective memory elements may store, maintain, and/or update data in any number of possible manners. In a general sense, the arrangement depicted in FIG. 2 may be more logical in its representations, whereas a physical architecture may include various permutations/combinations/hybrids of these elements. In one example implementation, switches S112, S214, S318 and S420 include software (e.g., as part of peer-switch modules 30a-b and fail-shut modules 32a-b) to achieve the network traffic disruption management, as outlined herein in this document. In other embodiments, this feature may be provided externally to any of the aforementioned elements, or included in some other network element (or in a proprietary element) to achieve this intended functionality. Alternatively, several elements may include software (or reciprocating software) that can coordinate in order to achieve the operations, as outlined herein.


Turning to FIGS. 3A-C, these FIGURES illustrate example network traffic disruption management activities associated with communication system 10. FIGS. 3A-C reflect example configurations for particular network traffic disruption management and, therefore, these related illustrations are discussed together. FIG. 3A illustrates a system of establishing a vPC peer-switch configuration that minimizes network traffic disruptions. Establishing a vPC peer-switch configuration allows switches to appear as a single pseudo switch in the STP topology. vPC peer-switches maintain dual active control planes; hence, STP executes on both switches.


The vPC peer-switch elected as operational primary manages the STP topology for the vPC ports. Hence, the primary switch processes, generates, and transmits STP BPDUs on behalf of the vPC peer-switches. STP on the vPC peer-switch elected as operational secondary still administers STP; however, it does not control the vPC port states. The vPC secondary switch forwards any received BPDU frames to the primary switch. However, the secondary switch does not generate BPDUs for the vPC ports. Each vPC peer-switch may still have its own priority. Moreover, the primary switch can be an STP root or STP secondary root for a VLAN. Similarly, the secondary switch can be the STP root, or STP secondary root for a VLAN. If a vPC secondary switch is an STP root for a VLAN, the primary switch generates STP BPDUs on behalf of the secondary switch. Although, managed by the vPC primary switch, the BPDU indicates that the secondary switch is the STP root.


To enhance STP to accommodate the vPC peer-switch configuration, STP may use a common vPC system Media Access Control (VMAC) address as the STP Bridge MAC address for the vPC peer-switches. The vPC MAC address is negotiated by the vPC peer-switches during peer formation. Thus, BPDUs transmitted by the vPC peer-switches may provide the same MAC address, representing a single switch. Additionally, it is recommended that a vPC primary switch be configured to be an STP root, while a vPC secondary switch is configured to be an STP secondary root. This suggested configuration helps alleviate issues associated with the failure and reloading of the vPC primary switch. Thus, the vPC secondary switch can become the vPC primary switch, and manage STP running on the vPC peer-switches (e.g., should the vPC primary switch fail).


Returning to FIG. 3A, switch S112 and switch S214 may be configured to provide vPC peer-switch functionality. Switch S112 and switch S214 may be connected by a vPC peer-link, operational to carry control plane information (e.g., BPDUs), as well as, data information (e.g., data packets and frames). The STP bridge priority of S112 may be set to 4096 for VLAN 1 and VLAN 2 in a particular implementation. Similarly, the STP bridge priority of S214 may be set to 4096 for VLAN 1 and VLAN 2. Thus, switches S112 and S214 become the STP roots for switches S318 and S420. Further, by configuring switches S112 and S214 with the same STP bridge priority, they may be configured to have the same bridge ID (BID), which is made up of the bridge priority and the negotiated VMAC address. Thus, switches S112 and S214 can appear as a single switch to neighboring switches (e.g., switches S318 and S420).


Switches S112 and S214 each may transmit a BPDU (to the other) through the vPC peer-link. Data information contained in the BPDU sent from switch S112 to S214 may contain a root BID that includes 4096 for the bridge priority and the negotiated VMAC value. Also included in the BPDU could be a root path cost value of zero and a designated BID that includes a bridge priority of 4096 and the local MAC address of switch S112. The BPDU sent from switch S214 to switch S112 may include a root BID containing a bridge priority of 4096 and the negotiated VMAC value. The BPDU may also include a root path cost value of zero and a designated BID that contains a bridge priority of 61440 and the local MAC address of switch S214. When vPC peer-switches S112 and S214 have the same STP root BID and the root path cost is each zero, the vPC peer-switch functionality may be available. Moreover, because S112 has a designated BID that is lower than S214, it will be initially elected as the vPC operational primary switch, and S214 will become the vPC operational secondary switch.


Progressing to FIG. 3B, the vPC peer-switch formation is further illustrated. The vPC peer-switches may become the STP root bridge for VLAN 1 and VLAN 2. In order to manage network traffic disruptions, the vPC peer-link is configured such that the vPC primary switch (i.e., S112) connected to the vPC peer-link is an STP designated port and the vPC secondary switch (i.e., S214) connected to the vPC peer-link is an STP root port. This formation can be managed by forcing the designated bridge priority of the vPC primary switch to be lower than the vPC secondary switch (e.g., the designated priority of S112 may be 4096, and the designated priority of S214 may be 61440).


Thus, as illustrated in FIG. 3C, should the roles of the vPC peer-switches change due to the failure and subsequent recovery of one of the vPC peer-switches, network traffic disruption may be minimized. As shown by the ‘X’, vPC primary switch S112 may fail. In such a scenario, vPC secondary switch S214 may become the vPC operational primary switch, thus taking over the management of STP responsibilities for the vPCs of the vPC peer-switches. Unless appropriately managed, when switch S112 recovers from the failure, it may attempt to become the STP root for neighboring switches, and return to the role of vPC primary switch, even though S214 has assumed that responsibility. The inconsistent understanding of roles can lead to a rapid spanning tree protocol (RSTP) synchronization request between S112 and S214 to negotiate the appropriate vPC peer-switch formation. During an RSTP synchronization request, S112 and S214 may put their STP designated ports on the vPC into a blocked state. Thus, traffic flowing through the vPC peer-switches maybe ceased and disrupted until an agreement between the vPC peer-switches is reached. The negotiation and agreement period can take upwards of two to three seconds, which can be a significant disruption to network traffic.


As noted above, by forcing the designated bridge priority of the vPC primary switch to be lower than the vPC secondary switch, the disruption can be avoided. Therefore, when vPC peer-switch S214 assumes the role of vPC primary switch, the port attached to the vPC peer-link becomes the STP root port. As the vPC primary switch, S214 transmits BPDUs to S112 that include an STP designated BID containing a bridge priority of 4096 (i.e., a value lower than the bridge priority contained in the designated BID sent by S112). Further, the port on vPC peer-switch S112 connected to the vPC peer-link becomes an STP designated port. When S112 recovers from its failure, it can recognize that S214 has assumed the role of vPC primary switch because S214 is now the STP root for S112. S112 may transmit BPDUs with the designated BID containing a bridge priority of 61440 (e.g., lower than the equivalent bridge priority value in the BPD sent by S214). Thus, S112 can reload to become the vPC secondary switch and no convergence issues arise. Network traffic disruptions created by the failure can be effectively avoided.



FIG. 4 illustrates additional design details to manage network traffic disruptions in communication system 10 in accordance with one embodiment. Additional network traffic disruption can be created when vPC peer-switches are connected to neighboring switches that are linked through regular port channels (e.g., non-vPCs). Thus, a hybrid network topology may be created that appropriately manages forwarding activities with switches executing non-vPC enhanced STP (e.g., regular STP) and switches executing vPC enhanced STP. As noted above, setting the bridge priority of switches S112 and S214 to be the same value (e.g., 4096) assists with establishing the vPC peer-switch formation. Unfortunately, modifying the bridge priority on a vPC peer-switch may lead to a traffic disruption on neighbor switches executing non-vPC configured STP. As shown in FIG. 4, switch S420 is connected to switches S112 and S214, and executes regular STP (e.g., switch S420 is not connected through a vPC). Stated in different terms, when switch S420 receives a BPDU from S112 or S214 indicating that their respective bridge priorities for VLAN 1 or VLAN 2 have changed, switch S420, executing non-vPC enhanced STP, may make an RSTP synchronization request. As noted above, an RSTP request will block switch ports until the STP topology can be reestablished (and possibly updated). Further, by the vPC peer-switches having the same bridge priority (e.g., appearing in the STP topology as a single switch), VLAN based loadbalancing by STP redundant links connected to switch S420 may not be performed.


Allowing the vPC peer-switches S112 and S214 to configure their respective STP designated priorities (e.g., create STP pseudo information) can alleviate network traffic disruptions and allow for VLAN loadbalancing. As illustrated in FIG. 4, switch S112 may configure its STP designated priority to 4096 and 8192 for VLAN 1 and VLAN2, respectively. Switch S214 may configure its STP designated priority to 8192 and 4096 for VLAN 1 and VLAN 2, respectively. Thus, switch S112 can remain the STP root for VLAN 1, and switch S214 can remain the STP root for VLAN 2. Further, the STP designated priorities for switches S112 and S214 can provide VLAN based loadbalancing capabilities. Therefore, if S112 and S214 change their bridge priorities to 4096 for VLAN 1 and VLAN 2, as part of enabling the vPC peer-link formation, switch S420 (e.g., a switch executing regular STP) may receive BPDUs containing the designated bridge priorities. The BPDUs include information showing the same priorities as before the peer-link formation was established (e.g., the STP designated priorities are equivalent to the initial STP bridge priorities illustrated in FIG. 1). Thus, switches executing regular STP may not make an RSTP synchronization request, which would create a network traffic disruption as noted above. An alternative design for handling VLAN loadbalancing can be implemented using STP port costs; however, using the pseudo designated priority information simplifies the loadbalancing tasks.



FIG. 5 illustrates additional details associated with managing network traffic disruptions in communication system 10. Network traffic disruption can increase when the vPC primary switch fails and attempts to recover. Former vPC primary switch S112 is illustrated as failing. Former vPC secondary switch S214 has become the vPC primary switch, and assumed the role of coordinating STP on the vPCs of the vPC peer-switches. When S112 recovers from the failure, it may cause a traffic disruption if it tries to assume its former role as the STP root for switch S420 (e.g., a switch executing regular STP). Typically, non-vPC ports are operational before the vPC ports are formed. Hence, S112 may attempt to send out BPDUs before the peer-link formation has been created. The BPDU sent by S112 may include a bridge priority that is the same as the bridge priority, as S214 transmits on behalf of the vPC peer-switches. Further, the BPDU sent by S112 may additionally contain the local MAC address of S112, while the BPDU sent by S214 on behalf of the vPC peer-switches may include the VMAC address. If the local MAC address of S112 is lower (i.e., better) than the VMAC address transmitted by S214, then switch S420 may make an RSTP synchronization request in an attempt to change S112 to its STP root.


Using the additional pseudo STP information can alleviate the disruption created by the failure and subsequent recovery of switch S112. A pseudo STP root priority for the vPC peer-switches may be set to 4096. The bridge priority of vPC peer-switches S112 and S214 may be set to a value greater (e.g., worse) than the pseudo STP root priority (e.g., 8192, 16384, etc.). Thus, if switch S112 fails and, upon its recovery, its regular port channels (e.g., its non-vPCs) are operational prior to the vPC peer-switch formation. Further, it may transmit a BPDU to switch S420 containing a bridge priority that is higher than the bridge priority transmitted in a BPDU by switch S214 to switch S420. Therefore, the bridge priority of the recovering switch S112 can be worse (e.g., greater) than the root bridge priority transmitted by switch S214 on its vPCs. In such a case, switch S214 will remain the STP root for switch S420, and switch S420 may not make an RSTP synchronization request that will disrupt network traffic flow.


Turning to FIGS. 6A-D, these FIGURES illustrate further network disruption management activities associated with communication system 10. FIGS. 6A-D reflect example configurations for preventing loops within communication system 10 as a result of the failure or unavailability of a vPC peer-link and, therefore, these related illustrations are discussed together. FIG. 6A illustrates a system of establishing a vPC-peer-switch configuration that minimizes network traffic disruptions and that prevents loops. In one example embodiment, switches S112 and S214 are configured as vPC peer-switches. vPC peer-switch S112 may be the operational primary switch and vPC peer-switch S214 may be the operational secondary switch. vPC peer-switch S112 may be linked to core Layer 2 switches S524 and S626 through vPCs (e.g., vPC 1 and vPC 2, respectively). Similarly, vPC peer-switch S214 can be linked to core Layer 2 switches S524 and S626 through vPCs (e.g., vPC 1 and vPC 2, respectively). Core Layer 2 switches S524 and S626 may be linked together. Further, switch S524 may be configured to be the STP root. As vPC peer-switch S112 is elected as operational primary, it can manage the execution of STP on the vPCs on behalf of the vPC peer-switches. As switch S524 is the STP root, vPC peer-switch S112 may choose vPC 1 as the uplink to switch S524. vPC 2 can be the alternate STP root; hence, it may be blocked. Further, as S112 is the elected primary vPC peer-switch, BPDUs from switches S524 and S626 will be transmitted to it.


As illustrated in FIG. 6B, if the vPC peer-link fails, vPC peer-switches S112 and S214 may not be able to communicate vPC peer-link control plane information. Pursuant to some current implementations, upon losing vPC peer-link connection with switch S112, switch S214 may attempt to assume the role of the vPC primary switch. Hence, switch S214 may attempt to execute STP for vPC 1 and vPC 2. Thus, switch S214, may unblock its port for vPC 2 to become forwarding, and the vPC peer-switches may then enter into a dual-active or split brain scenario. While in dual-active mode, both vPC peer-switches S112 and S214 may both execute STP on vPCs. However, since the vPC peer-switches appear in the topology as a single logical switch, only one of the switches may receive BPDUs (e.g., switch S112). Therefore, BPDUs being transmitted by switches S524 and S626 may hash to vPC peer-switch S112. As illustrated by the semi-circular arrow in FIG. 6B, the dual-active environment can lead to STP loops since vPC peer-switch S214 does not receive BPDUs (e.g., S214 fail-opens the vPC 2 port).


Consider an example topology change during a vPC switch in dual-active mode. In a first step, a vPC peer-link and keep-alive link failure occurs between vPC pair switches S112 and S214, where S112 and S214 operates in an STP fail-shut mode. In this particular example, a wrong cable triggers an STP topology change as a result of some member-link failure on S524. Therefore, a particular link can be selected as the uplink (root) port by S514. S514 can block the port-channel connecting to vPC 2, and then move the corresponding port to forwarding. S514 can then send out superior BPDUs toward S112, which is operating in fail-shut mode. S112 can detect the topology change, and block the vPC 2. As a fail-shut rule, it can dispute S524. If S524 is capable of an STP dispute mechanism, then S214 can continue disputing S524 (otherwise, it can disable its vPC 2 leg). This would make the BPDUs from S524 to be received by S214, which would do the same. This can prevent the STP loop.


In order to support the vPC flap after the vPC peer-link is down (or is single vPC switch reload after both the vPC switches crash), the architecture can eliminate any redundant uplink vPC links (which is an uncommon deployment) to avoid potential loops or frame duplications. The vPC peer loop detection mechanism, which can be part of the fail-shut mode, achieves this by sending a simple vPC-peer HELLO frame per-VLAN. The HELLO frames can have the same format as Shared Spanning Tree Protocol (SSTP) BPDUs, except that the destination MAC address can be a new reserved multicast MAC address.


Consider another example associated with a vPC flap after vPC peer-link failure. In such a scenario, the vPC pair switches S112 and S214 enter into a dual-active mode and, hence, operate in an STP fail-shut mode. Operating in a fail-shut mode, S112 and S214 can send vPC-peer HELLO frames per-VLAN on the vPCs. HELLO messages sent on a particular vPC can be received by another vPC on S112 and, assuming that the HELLOs from the sending vPC are superior, the receiving vPC can be disabled on S112. At this juncture, the HELLO from the sending vPC will be received by receiving vPC on S214, and it also disables the receiving vPC (assuming that the sending vPC has better STP priority than the receiving vPC). The final topology would reflect suitable pruning at the receiving vPC.



FIG. 6C illustrates one example embodiment to manage the dual-active scenario for vPC peer-switches, thus preventing STP loops and minimizing network traffic disruptions. When a vPC peer-switch detects a possible failure of the vPC peer-link, it may send out a STP vPC HELLO BPDU on the vPCs in order to detect potential loops in the topology. STP vPC HELLO BPDUs may be interlaced amongst other BPDUs being transmitted within the network. Further, the STP vPC HELLOs can be data frames (i.e., they are transmitted and hashed by network elements similar to data information hashing). Therefore, when vPC peer-switches S112 and S214 detect a potential failure of the vPC peer-link, each may send out STP vPC HELLOs on vPC 1 and vPC 2. Switches S524 and S626 will hash and forward the STP vPC HELLOs. If S112 receives an STP vPC HELLO transmitted from a port attached to vPC 1 at a port attached to vPC 2, it would know that there is a potential for loops (e.g., the STP vPC HELLO likely traveled from switch S112 to switch S524 on vPC 1, to switch S626, and back to switch S112 on vPC 2). Once an STP vPC HELLO is received on a different vPC than it was transmitted, the vPC peer-switches may disable one of the vPCs, thus preventing the loop. The vPC with the higher number (e.g., vPC 2) may be disabled. Likewise, if vPC switch S214 receives an STP vPC HELLO BPDU at a vPC port that is different than the vPC port that the BPDU was transmitted from, it may similarly disable one of the vPCs.


As illustrated in FIG. 6C, vPC peer-switches S112 and S214 detect the vPC peer-link failure and transmit STP vPC HELLO BPDUs out vPC 1 and vPC 2. Subsequently, switch S112 receives (at a port attached to vPC 2) an STP vPC HELLO it transmitted from a port attached to vPC 1. As illustrated in FIG. 6D, switch S112 disables the vPC 2 connection to switch S626 to prevent loops. Returning to FIG. 6C, switch S214 receives (at a port connected to vPC 2) an STP vPC HELLO BPDU that it transmitted on vPC 1. As illustrated in FIG. 6D, switch S214 similarly disables the vPC 2 connection to switch S626. Thus, by disabling redundant links, the topology can be managed to prevent loops from forming when the vPC peer-link fails or becomes unavailable. Managing dual-active environments not only prevents loops, but also minimizes traffic disruptions.


Turning to FIG. 7, FIG. 7 is a simplified flowchart 100 illustrating one example activity that could be accommodated by communication system 10. This particular flow may begin at 110, where the STP root priority of each vPC peer-switch is configured to be the lowest priority. At 120, the STP designated priority of each vPC peer-switch is configured to maintain VLAN loadbalancing. At 130, the STP bridge priority of each vPC peer-switch is configured to be higher than the root priority previously configured. At 140, the STP bridge priorities of the vPC peer-switches are configured to be the same value. At 150, one of the vPC peer-switches is configured to be the STP root of the other vPC peer-switch through a vPC peer-link.


Note that in certain example implementations, the network traffic disruption management described herein may be implemented by logic encoded in one or more tangible media (e.g., embedded logic provided in an ASIC, digital signal processor (DSP) instructions, software (potentially inclusive of object code and source code) to be executed by a processor, or other similar machine, etc.). In some of these instances, a memory element (as shown in FIG. 2) can store data used for the operations described herein. This includes the memory element being able to store software, logic, code, or processor instructions that can be executed to carry out the activities described in this Specification. A processor can execute any type of instructions associated with the data to achieve the operations detailed herein in this Specification. In one example, the processor (as shown in FIG. 2) could transform an element or an article (e.g., data) from one state or thing to another state or thing. In another example, the activities outlined herein may be implemented with fixed logic or programmable logic (e.g., software/computer instructions executed by a processor) and the elements identified herein could be some type of a programmable processor, programmable digital logic (e.g., a field programmable gate array (FPGA), an erasable programmable read only memory (EPROM), an electrically erasable programmable ROM (EEPROM)) or an ASIC that includes digital logic, software, code, electronic instructions, or any suitable combination thereof.


In one example implementation, peer-switch modules 30a-b may include software in order to achieve the network traffic disruption management outlined herein. In other example implementations, fail-shut modules 32a-b may include software in order to achieve the loop prevention as outlined herein. These activities can be facilitated by switches S112, S214, S318, and S420, and/or any of the elements of FIGS. 1-6D. Switches S112, S214, S318, and S420 can include memory elements for storing information to be used in achieving the intelligent switching control, as outlined herein. Additionally, switches S112, S214, S318, and S420 may include a processor that can execute software or an algorithm to perform the switching activities, as discussed in this Specification. These devices may further keep information in any suitable memory element (random access memory (RAM), ROM, EPROM, EEPROM, ASIC, etc.), software, hardware, or in any other suitable component, device, element, or object where appropriate and based on particular needs. Any possible memory items (e.g., database, table, cache, etc.) should be construed as being encompassed within the broad term ‘memory element.’ Similarly, any of the potential processing elements, modules, and machines described in this Specification should be construed as being encompassed within the broad term ‘processor.’


Note that with the examples provided herein, interaction may be described in terms of two or three elements. However, this has been done for purposes of clarity and example only. In certain cases, it may be easier to describe one or more of the functionalities of a given set of flows by only referencing a limited number of network elements. It should be appreciated that communication system 10 (and its teachings) are readily scalable and can accommodate a large number of clouds, networks, and/or switches, as well as more complicated/sophisticated arrangements and configurations. Accordingly, the examples provided herein should not limit the scope or inhibit the broad teachings of communication system 10 as potentially applied to a myriad of other architectures. Additionally, although described with reference to particular scenarios where peer-switch modules 30a-band fail-shut modules 32a-b are provided separately, these modules can be consolidated or combined in any suitable fashion, or provided in a single proprietary unit.


It is also important to note that the activities discussed with reference to FIGS. 1-7 illustrate only some of the possible scenarios that may be executed by, or within, communication system 10. Some of these steps may be deleted or removed where appropriate, or these steps may be modified or changed considerably without departing from the scope of the present disclosure. In addition, a number of these operations have been described as being executed concurrently with, or in parallel to, one or more additional operations. However, the timing of these operations may be altered considerably. The preceding operational flows have been offered for purposes of example and discussion. Substantial flexibility is provided by communication system 10 in that any suitable arrangements, chronologies, configurations, and timing mechanisms may be provided without departing from the teachings of the present disclosure.


Although the present disclosure has been described in detail with reference to particular embodiments, it should be understood that various other changes, substitutions, and alterations may be made hereto without departing from the spirit and scope of the present disclosure. For example, although the present disclosure has been described as operating in networking environments or arrangements, the present disclosure may be used in any communications environment that could benefit from such technology. Virtually any configuration that seeks to intelligently manage network traffic disruptions and/or switch packets could enjoy the benefits of the present disclosure. Numerous other changes, substitutions, variations, alterations, and modifications may be ascertained to one skilled in the art and it is intended that the present disclosure encompass all such changes, substitutions, variations, alterations, and modifications as falling within the scope of the appended claims.


It should also be noted that an L2 gateway interconnect protocol (L2GIP) can be readily extended into the architecture of communication system 10. In such an implementation, each switch can be configured with appropriate mechanisms (e.g., hardware, software, etc.) in order to provide the L2GIP capabilities. L2GIP is a lightweight protocol that can loop-free interconnect, segmented STP domains. L2GIP can build adjacency over the vPC peer-link. L2GIP, by default, does not require periodic HELLO or keep-alive messages. L2GIP incrementally exchanges STP root summary updates over vPC peer-link to select a single uplink (root) port.


The L2GIP protocol running on the vPC peer-link can make the vPC-pair switch agree on the single uplink port and, hence, it makes the vPC-pair switch appear as a pseudo-bridge or virtual-switch. For example, the following operation details how L2GIP can block an STP loop for communication system 10. First, S214 can receive a superior BPDU from S112. Subsequently, L2GIP running on S214 can send the L2GIP claim (for uplink port P1, towards the STP root S112) message over the L2GIP adjacency (e.g., to the peer switch S318). Upon receiving the L2GIP claim on S318, the mechanism can ensure that the uplink port P2 (which is inferior to P1) is blocked, and then the L2GIP grant message would be sent to S214. Once the L2GIP grant message is received, S214 can set the uplink port P1 to forwarding. L2GIP is capable of point-to-multipoint claim-grant handshake and, therefore, can be easily extended to a multi-switch vPC complex. Moreover, the L2GIP claim-grant handshake can be performed for the uplink (root) port, and it is not required for designated ports such that it does not incur major scalability concerns.


Numerous other changes, substitutions, variations, alterations, and modifications may be ascertained to one skilled in the art and it is intended that the present disclosure encompass all such changes, substitutions, variations, alterations, and modifications as falling within the scope of the appended claims. In order to assist the United States Patent and Trademark Office (USPTO) and, additionally, any readers of any patent issued on this application in interpreting the claims appended hereto, Applicant wishes to note that the Applicant: (a) does not intend any of the appended claims to invoke paragraph six (6) of 35 U.S.C. section 112 as it exists on the date of the filing hereof unless the words “means for” or “step for” are specifically used in the particular claims; and (b) does not intend, by any statement in the specification, to limit this disclosure in any way that is not otherwise reflected in the appended claims.

Claims
  • 1. A method, comprising: configuring a first network element as a peer to a second network element, wherein the first network element and the second network element are configured to execute a spanning-tree protocol (STP) in a network environment; andconfiguring a root bridge ID (BID) to be a same value for the first network element and the second network element such that both operate as root network elements for other network elements in the network environment;wherein the root BID comprises a bridge priority and a negotiated Virtual Port-Channel (vPC) media access control (VMAC) address.
  • 2. The method of claim 1, wherein the first network element is configured to transmit Bridge Protocol Data Units (BPDUs) to the second network element through a vPC link.
  • 3. The method of claim 2, wherein data in the BPDUs include the root BID providing a value for the bridge priority, and the negotiated VMAC address.
  • 4. The method of claim 1, wherein a first designated BID value is provided to indicate that the first network element is a vPC operational primary switch, and a second designated BID value is provided to indicate that the second network element is a vPC operational secondary switch.
  • 5. The method of claim 1, wherein the first network element and the second network element are configured to become a respective STP root bridge for a respective virtual local area network (VLAN).
  • 6. The method of claim 1, wherein the first network element and the second network element are configured to exchange roles due to a failure of the first network element.
  • 7. The method of claim 1, wherein the first network element is configured to designate its own priority level in order to conduct loadbalancing activities in conjunction with the second network element.
  • 8. Logic encoded in non-transitory media that includes code for execution and when executed by a processor operable to perform operations comprising: configuring a first network element as a peer to a second network element, wherein the first network element and the second network element are configured to execute a spanning-tree protocol (STP) in a network environment; andconfiguring a root bridge ID (BID) to be a same value for the first network element and the second network element such that both operate as root network elements for other network elements in the network environment;wherein the root BID comprises a bridge priority and a negotiated Virtual Port-Channel (vPC) media access control (VMAC) address.
  • 9. The logic of claim 8, wherein the first network element is configured to transmit Bridge Protocol Data Units (BPDUs) to the second network element through a vPC link, wherein data in the BPDUs include the root BID providing a value for the bridge priority, and the negotiated VMAC address.
  • 10. The logic of claim 8, wherein a first designated BID value is provided to indicate that the first network element is a vPC operational primary switch, and a second designated BID value is provided to indicate that the second network element is a vPC operational secondary switch.
  • 11. The logic of claim 8, wherein the first network element and the second network element are configured to become a respective STP root bridge for a respective virtual local area network (VLAN).
  • 12. The logic of claim 8, wherein the first network element and the second network element are configured to exchange roles due to a failure of the first network element.
  • 13. The logic of claim 8, wherein the first network element is configured to designate its own priority level in order to conduct loadbalancing activities in conjunction with the second network element.
  • 14. A first network element, comprising: a memory element configured to store electronic code;a processor operable to execute instructions associated with the electronic code; anda peer-switch module configured to interface with the processor such that the first network element is capable of: configuring itself as a peer to a second network element, wherein the first network element and the second network element are configured to execute a spanning-tree protocol (STP) in a network environment; andconfiguring a root bridge ID (BID) to be a same value for the first network element and the second network element such that both operate as root network elements for other network elements in the network environment;wherein the root BID comprises a bridge priority and a negotiated Virtual Port-Channel (vPC) media access control (VMAC) address.
  • 15. The first network element of claim 14, wherein the first network element is further configured to transmit Bridge Protocol Data Units (BPDUs) to the second network element through a vPC link.
  • 16. The first network element of claim 15, wherein data in the BPDUs include the root BID providing a value for the bridge priority, and the negotiated VMAC address.
  • 17. The first network element of claim 14, wherein a first designated BID value is provided to indicate that the first network element is a vPC operational primary switch, and a second designated BID value is provided to indicate that the second network element is a vPC operational secondary switch.
  • 18. The first network element of claim 14, wherein the first network element and the second network element are configured to become a respective STP root bridge for a respective virtual local area network (VLAN).
  • 19. The first network element of claim 14, wherein the first network element and the second network element are configured to exchange roles due to a failure of the first network element.
  • 20. The first network element of claim 14, wherein the first network element is configured to designate its own priority level in order to conduct loadbalancing activities in conjunction with the second network element.
US Referenced Citations (292)
Number Name Date Kind
4006320 Markl Feb 1977 A
4486877 Turner Dec 1984 A
4569042 Larson Feb 1986 A
4630268 Rodenbaugh Dec 1986 A
4907277 Callens et al. Mar 1990 A
5010544 Chang et al. Apr 1991 A
5014265 Hahne et al. May 1991 A
5121382 Yang et al. Jun 1992 A
5159592 Perkins Oct 1992 A
5243342 Kattemalalavadi et al. Sep 1993 A
5265092 Soloway et al. Nov 1993 A
5274643 Fisk Dec 1993 A
5321694 Chang et al. Jun 1994 A
5341477 Pitkin et al. Aug 1994 A
5343461 Barton et al. Aug 1994 A
5353283 Tsuchiya Oct 1994 A
5371852 Attanasio et al. Dec 1994 A
5394402 Ross Feb 1995 A
5416842 Ariz May 1995 A
5422876 Turudic Jun 1995 A
5426637 Derby et al. Jun 1995 A
5430715 Corbalis et al. Jul 1995 A
5430727 Callon Jul 1995 A
5450394 Gruber Sep 1995 A
5450449 Kroon Sep 1995 A
5452294 Natarajan Sep 1995 A
5459837 Caccavale Oct 1995 A
5473599 Li et al. Dec 1995 A
5477531 McKee et al. Dec 1995 A
5491692 Gunner et al. Feb 1996 A
5500851 Kozaki et al. Mar 1996 A
5500860 Perlman et al. Mar 1996 A
5509123 Dobbins et al. Apr 1996 A
5519704 Farinacci et al. May 1996 A
5521907 Ennis et al. May 1996 A
5555256 Calamvokis Sep 1996 A
5561669 Lenny et al. Oct 1996 A
5563875 Hefel et al. Oct 1996 A
5594732 Bell et al. Jan 1997 A
5602918 Chen et al. Feb 1997 A
5604803 Aziz Feb 1997 A
5617417 Sathe et al. Apr 1997 A
5617421 Chin et al. Apr 1997 A
5621721 Vantuone Apr 1997 A
5623492 Teraslinna Apr 1997 A
5623605 Keshav et al. Apr 1997 A
5642515 Jones et al. Jun 1997 A
5650993 Lakshman et al. Jul 1997 A
5651002 Van Seters et al. Jul 1997 A
5659542 Bell et al. Aug 1997 A
5673265 Gupta et al. Sep 1997 A
5675741 Aggarwal et al. Oct 1997 A
5689566 Nguyen Nov 1997 A
5699478 Nahumi Dec 1997 A
5699485 Shoham Dec 1997 A
5708502 Denton et al. Jan 1998 A
5715399 Bezos Feb 1998 A
5740171 Mazzola et al. Apr 1998 A
5740176 Gupta et al. Apr 1998 A
5742604 Edsall et al. Apr 1998 A
5764636 Edsall Jun 1998 A
5793763 Mayes et al. Aug 1998 A
5812528 VanDervort Sep 1998 A
5819089 White Oct 1998 A
5835494 Hughes et al. Nov 1998 A
5838994 Valizadeh Nov 1998 A
5850388 Anderson et al. Dec 1998 A
5867666 Harvey Feb 1999 A
5870397 Chauffour et al. Feb 1999 A
5870557 Bellovin et al. Feb 1999 A
5884010 Chen et al. Mar 1999 A
5894556 Grimm et al. Apr 1999 A
5905871 Buskens et al. May 1999 A
5917820 Rekhter Jun 1999 A
5918017 Attanasio et al. Jun 1999 A
5918019 Valencia Jun 1999 A
5931961 Ranganathan et al. Aug 1999 A
5943347 Shepard Aug 1999 A
5983265 Martino, II Nov 1999 A
5987011 Toh Nov 1999 A
5991809 Kriegsman Nov 1999 A
6003079 Friedrich et al. Dec 1999 A
6006264 Colby et al. Dec 1999 A
6009081 Wheeler et al. Dec 1999 A
6018516 Packer Jan 2000 A
6023455 Takahashi Feb 2000 A
6023733 Periasamy et al. Feb 2000 A
6031846 Gurusami et al. Feb 2000 A
6032194 Gai et al. Feb 2000 A
6041352 Burdick et al. Mar 2000 A
6061454 Malik et al. May 2000 A
6070190 Reps et al. May 2000 A
6078590 Farinacci et al. Jun 2000 A
6078956 Bryant et al. Jun 2000 A
6088717 Reed et al. Jul 2000 A
6094562 Zhong Jul 2000 A
6101180 Donahue et al. Aug 2000 A
6104695 Wesley et al. Aug 2000 A
6115711 White Sep 2000 A
6115752 Chauhan Sep 2000 A
6118765 Phillips Sep 2000 A
6118796 Best et al. Sep 2000 A
6185203 Berman Feb 2001 B1
6192036 Buhler et al. Feb 2001 B1
6230271 Wadlow et al. May 2001 B1
6252851 Siu et al. Jun 2001 B1
6275471 Bushmitch et al. Aug 2001 B1
6278687 Hunneyball Aug 2001 B1
6286045 Griffiths et al. Sep 2001 B1
6317775 Coile et al. Nov 2001 B1
6337861 Rosen Jan 2002 B1
6356545 Vargo et al. Mar 2002 B1
6363477 Fletcher et al. Mar 2002 B1
6389006 Bialik May 2002 B1
6445717 Gibson et al. Sep 2002 B1
6446121 Shah et al. Sep 2002 B1
6510150 Ngo Jan 2003 B1
6515967 Wei et al. Feb 2003 B1
6526044 Cookmeyer et al. Feb 2003 B1
6535490 Jain Mar 2003 B1
6563796 Saito May 2003 B1
6578066 Logan et al. Jun 2003 B1
6584438 Manjunath et al. Jun 2003 B1
6614781 Elliott et al. Sep 2003 B1
6628624 Mahajan et al. Sep 2003 B1
6665637 Bruhn Dec 2003 B2
6680921 Svanbro et al. Jan 2004 B1
6687225 Kawari et al. Feb 2004 B1
6687360 Kung et al. Feb 2004 B2
6700874 Takihiro et al. Mar 2004 B1
6725191 Mecayten Apr 2004 B2
6731609 Hirni et al. May 2004 B1
6741600 Weiss et al. May 2004 B1
6757654 Westerlund et al. Jun 2004 B1
6765881 Rajakarunanayake Jul 2004 B1
6775703 Burns et al. Aug 2004 B1
6785261 Schuster et al. Aug 2004 B1
6798739 Lee Sep 2004 B1
6804244 Anandakumar et al. Oct 2004 B1
6836804 Jagadeesan Dec 2004 B1
6839353 DeJager Jan 2005 B1
6845091 Ogier et al. Jan 2005 B2
6901048 Wang et al. May 2005 B1
6917983 Li Jul 2005 B1
6940821 Wei et al. Sep 2005 B1
6944132 Aono et al. Sep 2005 B1
6947381 Wen et al. Sep 2005 B2
7013267 Huart et al. Mar 2006 B1
7024257 Pearce et al. Apr 2006 B2
7039716 Jagadeesan May 2006 B1
7047190 Kapilow May 2006 B1
7068607 Paratain et al. Jun 2006 B2
7069034 Sourour Jun 2006 B1
7072968 Mikami et al. Jul 2006 B2
7099820 Huart et al. Aug 2006 B1
7133368 Zhang et al. Nov 2006 B2
7143184 Shah et al. Nov 2006 B1
7212517 Dzik May 2007 B2
7283474 Bergenwall Oct 2007 B1
7286467 Sylvain Oct 2007 B1
7289454 Bovo et al. Oct 2007 B2
7310334 FitzGerald et al. Dec 2007 B1
7336620 Bennett Feb 2008 B2
7352700 Chan et al. Apr 2008 B2
7352705 Adhikari et al. Apr 2008 B1
7406034 Cometto et al. Jul 2008 B1
7417993 Ebergen et al. Aug 2008 B1
7426577 Bardzil et al. Sep 2008 B2
7457877 Shah et al. Nov 2008 B1
7483370 Dayal et al. Jan 2009 B1
7496044 Wing Feb 2009 B1
7519006 Wing Apr 2009 B1
7564858 Moncada-Elias et al. Jul 2009 B1
7643430 Morandin Jan 2010 B2
7660314 Wybenga et al. Feb 2010 B2
7672227 Santoso et al. Mar 2010 B2
7729267 Oran et al. Jun 2010 B2
7760735 Chen et al. Jul 2010 B1
7817580 Jain et al. Oct 2010 B2
7864712 Khan et al. Jan 2011 B2
7870611 Ishikawa Jan 2011 B2
7886080 Sajassi et al. Feb 2011 B2
7944470 Foster et al. May 2011 B2
7969894 Mangal Jun 2011 B2
8065317 Wang et al. Nov 2011 B2
8116213 Krygowski Feb 2012 B2
8174996 Omar May 2012 B2
8244909 Hanson et al. Aug 2012 B1
8291077 I'Anson Oct 2012 B2
8582467 Hirota et al. Nov 2013 B2
20020003775 Nakano et al. Jan 2002 A1
20020067693 Kodialam et al. Jun 2002 A1
20020073375 Hollander Jun 2002 A1
20020083186 Stringer Jun 2002 A1
20030053419 Kanazawa et al. Mar 2003 A1
20030072269 Teruhi et al. Apr 2003 A1
20030097438 Bearden et al. May 2003 A1
20030110276 Riddle Jun 2003 A1
20030137972 Kowalewski et al. Jul 2003 A1
20030142680 Oguchi Jul 2003 A1
20030163772 Jaworski Aug 2003 A1
20030165114 Kusama et al. Sep 2003 A1
20030208616 Laing et al. Nov 2003 A1
20030219022 Dillon et al. Nov 2003 A1
20030220971 Kressin Nov 2003 A1
20030225549 Shay Dec 2003 A1
20040008715 Barrack et al. Jan 2004 A1
20040052257 Abdo et al. Mar 2004 A1
20040073690 Hepworth et al. Apr 2004 A1
20040114539 Beshai et al. Jun 2004 A1
20040125965 Alberth et al. Jul 2004 A1
20040170163 Yik et al. Sep 2004 A1
20040184323 Mori et al. Sep 2004 A1
20040193709 Selvaggi et al. Sep 2004 A1
20040218617 Sagfors Nov 2004 A1
20040223458 Gentle Nov 2004 A1
20040240431 Makowski et al. Dec 2004 A1
20040252646 Adhikari et al. Dec 2004 A1
20050036519 Balakrishnan et al. Feb 2005 A1
20050105474 Metzler May 2005 A1
20050111487 Matta et al. May 2005 A1
20050117576 McDysan et al. Jun 2005 A1
20050152406 Chauveau Jul 2005 A2
20050216599 Anderson et al. Sep 2005 A1
20050220123 Wybenga et al. Oct 2005 A1
20050226172 Richardson Oct 2005 A1
20050243733 Crawford et al. Nov 2005 A1
20050246041 Kreifeldt et al. Nov 2005 A1
20050259597 Benedetto et al. Nov 2005 A1
20050283639 Le Pennec et al. Dec 2005 A1
20050286419 Joshi et al. Dec 2005 A1
20050286436 Flask Dec 2005 A1
20060007869 Hirota et al. Jan 2006 A1
20060018333 Windisch et al. Jan 2006 A1
20060041431 Maes Feb 2006 A1
20060098586 Farrell et al. May 2006 A1
20060104217 Lehane May 2006 A1
20060104306 Adamczyk et al. May 2006 A1
20060112400 Zhang et al. May 2006 A1
20060122835 Huart et al. Jun 2006 A1
20060133286 Elie-Dit-Cosaque et al. Jun 2006 A1
20060140136 Filsfils et al. Jun 2006 A1
20060159029 Samuels et al. Jul 2006 A1
20060179338 Sumner Aug 2006 A1
20060215684 Capone Sep 2006 A1
20060250967 Miller et al. Nov 2006 A1
20060268742 Chu et al. Nov 2006 A1
20060274760 Loher Dec 2006 A1
20060280130 Nomura et al. Dec 2006 A1
20060291385 Yang Dec 2006 A1
20070041335 Znamova et al. Feb 2007 A1
20070058571 Rose Mar 2007 A1
20070064616 Miranda Mar 2007 A1
20070107034 Gotwals May 2007 A1
20070127395 Jain et al. Jun 2007 A1
20070150480 Hwang et al. Jun 2007 A1
20070153774 Shay et al. Jul 2007 A1
20070171835 Gobara et al. Jul 2007 A1
20070204017 Maes Aug 2007 A1
20070212065 Shin et al. Sep 2007 A1
20070223462 Hite et al. Sep 2007 A1
20070258359 Ogasawara et al. Nov 2007 A1
20070263554 Finn Nov 2007 A1
20070286165 Chu et al. Dec 2007 A1
20080019282 Alaria et al. Jan 2008 A1
20080031149 Hughes et al. Feb 2008 A1
20080031154 Niazi et al. Feb 2008 A1
20090022069 Khan et al. Jan 2009 A1
20090028044 Windisch et al. Jan 2009 A1
20090059800 Mohan Mar 2009 A1
20090080334 DeCusatis et al. Mar 2009 A1
20090125595 Maes May 2009 A1
20090144403 Sajassi et al. Jun 2009 A1
20090175274 Aggarwal et al. Jul 2009 A1
20090193057 Maes Jul 2009 A1
20090201937 Bragg et al. Aug 2009 A1
20090219823 Qian et al. Sep 2009 A1
20090219836 Khan et al. Sep 2009 A1
20090274153 Kuo et al. Nov 2009 A1
20090296588 Nishi et al. Dec 2009 A1
20090328051 Maes Dec 2009 A1
20100049826 Maes Feb 2010 A1
20100061254 Thottakkara et al. Mar 2010 A1
20100061269 Banerjee et al. Mar 2010 A1
20100069052 Ahomaki et al. Mar 2010 A1
20100182937 Bellagamba Jul 2010 A1
20100189118 Nonaka Jul 2010 A1
20100226244 Mizutani et al. Sep 2010 A1
20100302936 Jan et al. Dec 2010 A1
20110019678 Mehta et al. Jan 2011 A1
20110134804 Maes Jun 2011 A1
20120106339 Mishra et al. May 2012 A1
Foreign Referenced Citations (2)
Number Date Country
WO 2008010918 Jan 2008 WO
WO 2009014967 Jan 2009 WO
Non-Patent Literature Citations (78)
Entry
U.S. Appl. No. 13/160,957, filed Jun. 15, 2011, entitled “System and Method for Providing a Loop Free Topology in a Network Environment,” Inventor(s): Shekher Bulusu, et al.
U.S. Appl. No. 11/297,882, filed Dec. 7, 2005, entitled “Preventing Transient Loops in Broadcast/Multicast Trees During Distribution of Link State Information,” Inventor: Sachin Jain.
U.S. Appl. No. 11/378,990, filed Mar. 17, 2006, entitled “Preventing Transient Loops in Broadcast/Multicast Trees During Distribution of Link State Information,” Inventor: Sachin Jain.
U.S. Appl. No. 11/490,806, filed Jul. 20, 2006, entitled “Methods and Apparatus for Improved Determination of Network Metrics,” Inventor: Valentina Alaria.
U.S. Appl. No. 11/880,322, filed Jul. 20, 2007, entitled “Preventing Loops in Networks Operating Different Protocols to Provide Loop-Free Topology,” Inventor: Tameen Khan.
U.S. Appl. No. 12/475,124, filed May 29, 2009, entitled “Transient Loops Prevention in a Hybrid Layer-2 Network,” Inventor: Saurabh Jain.
U.S. Appl. No. 12/658,503, filed Feb. 5, 2010, entitled “Fault Isolation in Trill Networks,” Inventor(s): Ali Sajassi et al.
U.S. Appl. No. 12/916,763, filed Nov. 1, 2010, entitled “Probing Specific Customer Flow in Layer-2 Multipath Networks,” Inventor(s): Chandan Mishra et al.
U.S. Appl. No. 12/938,237, filed Nov. 2, 2010, entitled “System and Method for Providing Proactive Fault Monitoring in a Network Environment,” Inventor(s): Chandan Mishra, et al.
U.S. Appl. No. 12/941,881, filed Nov. 8, 2010, entitled “System and Method for Providing a Loop Free Topology in a Network Environment,” Inventor: Shekher Bulusu.
U.S. Appl. No. 13/041,148, filed Mar. 4, 2011, entitled “System and Method for Managing Topology Changes in a Network Environment,” Inventor: Shekher Bulusu.
U.S. Appl. No. 13/077,262, filed Mar. 31, 2011, entitled “System and Method for Probing Multiple Paths in a Network Environment,” Inventors: Hariharan Balasubramanian, et al.
Wikipedia, “IEEE 802.1ag,” Connectivity Fault Management, retrieve and printed Nov. 2, 2010, 4 pages; http://en.wikipedia.org/wiki/IEEE—802.1ag.
G. Malkin, “Traceroute Using an IP Option,” Network Working Group, RFC 1393, Jan. 1993, 8 pages; http://tools.ietf.org/pdf/rfc1393.pdf.
K. Kompella and G. Swallow, “Detecting Multi-Protocol Label Switched (MPLS) Data Plane Failures,” Network Working Group, RFC 4379, Feb. 2006, 52 pages; http://tools.ietf.org/pdf/rfc4379.pdf.
PCT “International Preliminary Report on Patentability, Date of Issuance Jan. 20, 2009 (1 page), Written Opinion of the International Searching Authority, Date of Mailing Feb. 7, 2008 (6 pages) and International Search Report, Date of Mailing Feb. 7, 2008 (2 pages),” for PCT/US2007/015506.
PCT “International Preliminary Report on Patentability (dated Jan. 26, 2010; 1 page) and Written Opinion of the International Searching Authority and International Search Report (dated Oct. 2, 2008; 7 pages),” for PCT International Application PCT/US2008/070243.
IEEE Standards Department, “Virtual Bridged Local Area Networks—Amendment 6: Provider Backbone Bridges—IEEE P802.1ah/D4.2,” © 2008, Institute of Electrical and Electronics Engineers, Inc., Mar. 26, 2008; 116 pages.
U.S. Appl. No. 12/938,237.
U.S. Appl. No. 12/941,881.
U.S. Appl. No. 13/077,828.
U.S. Appl. No. 13/041,148.
U.S. Appl. No. 13/160,957.
USPTO Aug. 26, 2013 Response to Jun. 20, 2013 Non-Final Office Action from U.S. Appl. No. 13/041,148.
USPTO Jun. 13, 2013 RCE Response to Mar. 26, 2013 Final Office Action from U.S. Appl. No. 12/938,237.
USPTO Jul. 19, 2013 Non-Final Office Action from U.S. Appl. No. 12/938,237.
USPTO Aug. 6, 2013 RCE Response to May 8, 2013 Final Office Action from U.S. Appl. No. 13/160,957.
Kessler, G., “Chapter 2.2 PING of TCP: A Primer on Internet and TCP/IP Tools,” RFC 1739; Dec. 1994; www.ietf.org.
Callon et al., “A Framework for Multiprotocol Label Switching,” IETF Network Working Group, Internet Draft draft-ietf-mpls-framework-02.txt, Nov. 21, 1997.
Deering, S., et al., “Internet Protocol Version 6,” RFC 1883, Dec. 1995.
Feldman, N., “ARIS Specification,” Internet Draft, Mar. 1997.
Gobrial, Margret N., “Evaluation of Border Gateway Protocol (BGP) Version 4(V4) in the Tactical Environment,” Military Communications Conference, Oct. 21-24, 1996; Abstract Only http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=569372&url=http%3A%2F%2Fieeexplore.ieee. org%2Fiel3%2F4198%2F12335%2F00569372.pdf%3Farnumber%3D569372.
Halabi, Bassam, Internet Routing Architectures (CISCO), Macmillan Technical Publishing, Apr. 23, 1997; Abstract and Table of Contents only. http://www.ciscopress.com/store/internet-routing-architectures-cisco-9781562056520.
Handley and V. Jacobson, “SDP: Session Description Protocol,” RFC 2327; Apr. 1998, 43pgs.
Heinanen, J., “Multiprotocol Encapsulation over ATM Adaptation Layer 5,” RFC 1483, Jul. 1993.
Jennings, C., “NAT Classification Test Results,” Internet Draft draft-jennings-behave-test-results-02draft-jennings-behave-test-results-02.txt, Jun. 25, 2006.
Katsube, Y. et al., “Toshiba's Router Architecture Extensions for ATM: Overview,” RFC 2098, Feb. 1997.
Laubach, M., “Classical IP and ARP over ATM,” RFC 1577, Jan. 1994.
Laubach, M., “IP over ATM Working Group's Recommendations for the ATM Forum's Multiprotocol BOF Version 1,” RFC 1754, Jan. 1995.
Liao et al., “Adaptive Recovery Techniques for Real-time Audio Streams,” IEEE INFOCOM2001; Twentieth Annual Joint Conference of the IEE Computer and Communications Societies Proceedings, Apr. 22-26, 2001, vol. 2, pp. 815-823.
McGovern, M., et al., “CATNIP: Common Architecture for the Internet,” RFC 1707, Oct. 1994.
Nagami, K., et al., “Toshiba's Flow Attribute Notification Protocol (FANP) Specification,” RFC 2129, Apr. 1997.
Newman, P. et al., “Ipsilon Flow Management Protocol Specification for IPv4 Version 1.0,” RFC 1953, May 1996.
Newman, P. et al., “Ipsilon's General Switch Management Protocol Specification Version 1.1,” RFC 1987, Aug. 1996.
PCT Feb. 7, 2008 International Search Report for PCT/US2007/015506.
Perez, M., et al., “ATM Signaling Support for IP over ATM,” RFC 1755, Feb. 1995.
Rosen et al., “A Proposed Architecture for MPLS,” IETF Network Working Group, Internet Draft draft-ietf-mpls-arch-00.txt, Aug. 1997.
Rosen et al., “MPLS Label Stock Encoding,” RFC 3032, Jan. 2001.
Rosenberg et al., “STUN—Simple Traversal of User Datagram Protocol (UDP) Through Network Address Translators (NATs),” Network Working Group, RFC 3489, Mar. 2003, 44 pgs.
Schulzrinne, H., et al., “RTP, A Transport Protocol for Real-Time Applications,” Network Working Group RFC3550, Jul. 2003, 98 pages.
Smith, Bradley R., et al., “Securing the Border Gateway Routing Protocol,” Global Telecommunications Conference, Nov. 18-22, 1996.
Townsley, et al., “Layer Two Tunneling Protocol, L2TP,” Network Working Group, RFC 2661, Aug. 1999, 75 pages.
Ullman, R., “Rap: Internet Route Access Protocol,” RFC 1476, Jun. 1993.
Viswanathan et al., “ARIS: Aggregate Route-Based IP Switching,” Internet Draft, Mar. 1997.
Wang, Q. et al., “TCP-Friendly Congestion Control Schemes in the Internet,” National Key Lab of Switching Technology and Telecommunication Networks, Beijing University of Posts & Telecommunications; 2001, pp. 211-216; http://www.sics.se/˜runtong/11.pdf.
USPTO May 24, 2013 RCE Response to Final Office Action dated Feb. 27, 2013 from U.S. Appl. No. 12/941,881.
USPTO May 24, 2013 Supplemental Response to Final Office Action dated Feb. 27, 2013 from U.S. Appl. No. 12/941,881.
USPTO Jun. 14, 2014 Notice of Allowance from U.S. Appl. No. 12/941,881.
USPTO Jun. 20, 2013 Non-Final Office Action from U.S. Appl. No. 13/041,148.
USPTO May, 8, 2013 Final Office Action from U.S. Appl. No. 13/160,957.
USPTO Sep. 25, 2012 Non-Final Office Action from U.S. Appl. No. 12/941,881.
USPTO Dec. 11, 2012 Response to Sep. 25, 2012 Non-Final Office Action from U.S. Appl. No. 12/941,881.
USPTO 2012-26 Final Office Action from U.S. Appl. No. 12/941,881.
USPTO Mar. 26, 2013 Non-Final Office Action from U.S. Appl. No. 13/077,828.
USPTO Nov. 26, 2012 Non-Final Office Action from U.S. Appl. No. 12/938,237.
USPTO Feb. 22, 2013 Response to Nov. 26, 2012 Non-Final Office Action from U.S. Appl. No. 12/938,237.
USPTO Mar. 26, 2013 Final Office Action from U.S. Appl. No. 12/938,237.
USPTO Jan. 7, 2013 Non-Final Office Action from U.S. Appl. No. 13/160,957.
USPTO Apr. 2, 2013 Response to Non-Final Office Action dated Jan. 7, 2013 from U.S. Appl. No. 13/160,957.
Andreasan et al., “RTP No-Op Payload Format,” Internet Draft <draft-wing-avt-rtp-noop-00.txt>, Internet Engineering Task Force, Feb. 2004, pp. 1-8.
Cheng, Jin et al., “Fast TCP: Motivation, Architecture, Algorithms, Performance,” IEEE INFOCOM 2004, Aug. 2, 2004, 44 pages.
Fedyk, D., et al., ISIS Extensions Supporting IEEE 802.1aq Shortest Path Bridging, Network Working Group Internet Draft, Mar. 8, 2011, 42 pages; http://tools.ietf.org/html/draft-ietf-isis-ieee-aq-05.
IEEE Standards Department, “Virtual Bridged Local Area Networks—Amendment 9: Shortest Path Bridging—IEEE P802.1aq/D2.1,” © 2009, Institute of Electrical and Electronics Engineers, Inc., Aug. 21, 2009; 208 pages.
Niccolini, S., et al. “How to store traceroute measurements and related metrics,” Internet Draft draft-niccolini-ippm-storetraceroutes-02.txe., Oct. 24, 2005.
Woundy et al., “ARIS: Aggregate Route-Based IP Switching,” Internet Draft draft-woundy-aris-ipswitching-00-txt, Nov. 1996.
Perlman, Radia, “Rbridges: Transparent Routing,” in Proc. IEEE INFOCOM, Mar. 2004.
Perlman, et al., “Rbridges: Base Protocol Specification,” IETF Draft <draft-ietf-trill-rbridge-protocol-11.txt>, Jan. 2009.
Touch, et al., Transparent Interconnection of Lots of Links (TRILL): Problem and Applicability Statement, RFC 5556, IETF, May 2009.