A solution is provided wherein the interfaces between multiple chassis (e.g., edge switches) in a network of layer 2 devices and a spanning tree device are treated as a single emulated switch. This emulated switch effectively enables two different views to the two different sides. Thus, frames from the network of layer 2 switches destined to any port of the emulated switch may take any of the links (through any of the physical switches), thereby enabling effective load-balancing for frames traveling from the layer 2 network side into the spanning tree device. Meanwhile the spanning tree device does not recognize an illegal loop in its connection to two different edge switches as it views the two links as a single logical EtherChannel.
|
21. A system, comprising:
means for creating an emulated switch between a spanning tree device and two or more edge switches in a network of layer 2 switches, wherein a first link connects the spanning tree device to a first edge switch among the two or more edge switches and a second link connects the spanning tree device to a second edge switch among the two or more edge switches, the emulated switch appearing to be connected to the first link between the first edge switch and the spanning tree device, the emulated switch further appearing to be connected to the second link between the second edge switch and the spanning tree device, links to the emulated switch appearing as a single port of the emulated switch to the network of layer 2 switches; and
means for configuring each of the two or more edge switches such that the emulated switch is viewed as equidistant from each of the two or more edge switches and as part of the network of layer 2 switches;
means for determining that the first link between the first edge switch and the spanning tree device is inoperable;
means for transferring a frame from the first edge switch to the second edge switch for forwarding of the unicast frame to the spanning tree device as a result of the determining; and
means for stripping a header from the frame, the header including a switch identification corresponding to the emulated switch;
means for forwarding the frame from the second edge switch to the spanning tree device based, at least in part, upon a subswitch or local identification within the header of the frame;
wherein the configuring includes configuring each of the two or more edge switches to, upon receipt of a unicast frame from another switch in the network of layer 2 switches, determine if the unicast frame is for the emulated switch, and if so, examine the subswitch or local identification within the header of the unicast frame and forward the unicast frame to the spanning tree device based, at least in part, upon the subswitch or local identification.
1. A method for configuring a system of devices including a spanning tree device connected to two or more edge switches in a network of layer 2 switches, the method comprising:
creating an emulated switch between the spanning tree device and the two or more edge switches, wherein a first link connects the spanning tree device to a first edge switch among the two or more edge switches and a second link connects the spanning tree device to a second edge switch among the two or more edge switches, the emulated switch appearing to be connected to the first link between the first edge switch and the spanning tree device, the emulated switch further appearing to be connected to the second link between the second edge switch and the spanning tree device, links to the emulated switch appearing as a single port of the emulated switch to the network of layer 2 switches;
configuring each of the two or more edge switches such that the emulated switch is viewed as equidistant from each of the two or more edge switches and as part of the network of layer 2 switches; and
if the first link between the first edge switch and the spanning tree device is inoperable, transferring a frame received at the first edge switch to the second edge switch for forwarding of the frame to the spanning tree device, stripping a header from the frame, the header including a switch identification corresponding to the emulated switch, and forwarding the frame from the second edge switch to the spanning tree device based, at least in part, upon a subswitch or local identification within the header of the frame;
wherein the configuring includes configuring each of the two or more edge switches to, upon receipt of a unicast frame from another switch in the network of layer 2 switches, determine if the unicast frame is for the emulated switch, and if so, examine the subswitch or local identification within the header of the unicast frame and forward the unicast frame to the spanning tree device based, at least in part, upon the subswitch or local identification.
19. A method for handling a multicast or broadcast frame received at a switch in a network of layer 2 switches from another switch in the network of layer 2 switches, the frame destined for a spanning tree device, wherein said spanning tree device is connected to two or more of the switches in the network of layer 2 switches, the method comprising:
coordinating with each of the other of said two or more switches to determine one switch that will forward the frame to the spanning tree device, each switch in the two or more switches connected to the spanning tree device via a plurality of links, each link in the plurality connecting the spanning tree device to one of the two or more switches, wherein an emulated switch appears to be connected to each link in the plurality between the spanning tree device and the switch corresponding to that link, links to the emulated switch appearing as a single port of the emulated switch to the network of layer 2 switches;
configuring each of the two or more switches such that the emulated switch is viewed as equidistant from each of the two or more switches and as part of the network of layer 2 switches; and
if the switch is the one switch that will directly forward the frame to the spanning tree device,
determining that the link between the switch and the spanning tree device is inoperable;
transferring the frame from the switch to the second edge switch for forwarding of the frame to the spanning tree device;
stripping a header from the frame, the header including a switch identification corresponding to the emulated switch,; and
forwarding the frame from the second switch to the spanning tree device based, at least in part, upon a subswitch or local identification within the header of the frame:
wherein the configuring includes configuring each of the two or more edge switches to, upon receipt of a unicast frame from another switch in the network of layer 2 switches, determine if the unicast frame is for the emulated switch, and if so, examine the subswitch or local identification within the header of the unicast frame and forward the unicast frame to the spanning tree device based, at least in part, upon the subswitch or local identification.
15. A method for handling a unicast frame received at a switch in a network of layer 2 switches from another switch in the network of layer 2 switches, the unicast frame destined for a spanning tree device, wherein said spanning tree device is connected to two or more of the switches in the network of layer 2 switches, the method comprising:
determining that a switch identification in the unicast frame corresponds to an emulated switch between the switch and the spanning tree device, wherein a first link connects the spanning tree device to a first edge switch among the two or more layer 2 switches and a second link connects the spanning tree device to a second edge switch among the two or more layer 2 switches, the emulated switch appearing to be connected to the first link between the first edge switch and the spanning tree device, the emulated switch further appearing to be connected to the second link between the second edge switch and the spanning tree device, links to the emulated switch appearing as a single port of the emulated switch to the network of layer 2 switches;
configuring each of the two or more layer 2 switches such that the emulated switch is viewed as equidistant from each of the two or more layer 2 switches and as part of the network of layer 2 switches; and
if the first link between the first edge switch and the spanning tree device is inoperable,
transferring the unicast frame from the first edge switch to the second edge switch for forwarding of the unicast frame to the spanning tree device;
stripping a header from the unicast frame, the header including the switch identification; and
forwarding the unicast frame from the second edge switch to the spanning tree device based, at least in part, upon a subswitch or local identification within the header of the unicast frame;
wherein the configuring includes configuring each of the two or more layer 2 switches to, upon receipt of a unicast frame from another switch in the network of layer 2 switches, determine if the unicast frame is for the emulated switch, and if so, examine the subswitch or local identification within the header of the unicast frame and forward the unicast frame to the spanning tree device based, at least in part, upon the subswitch or local identification.
12. A method for forwarding a unicast frame from a switch in a network of layer 2 switches to a spanning tree device via one of a plurality of layer 2 switches connected to the spanning tree device, the method comprising:
encapsulating the unicast frame with a header including a switch identification equal to an emulated switch identification;
determining a first edge switch in two or more edge switches of the plurality of layer 2 switches connected to the spanning tree device to which to send the unicast frame based on a shortest path algorithm where an emulated switch having the emulated switch identification is viewed as equidistant from each of the plurality of layer 2 switches connected to the spanning tree device, wherein a first link connects the spanning tree device to the first edge switch in the plurality of layer 2 switches and a second link connects the spanning tree device to a second edge switch in the two or more edge switches of the plurality of layer 2 switches, the emulated switch appearing to be connected to the first link between the first edge switch and the spanning tree device, the emulated switch further appearing to be connected to the second link between the second edge switch and the spanning tree device, links to the emulated switch appearing as a single port of the emulated switch to the network of layer 2 switches;
forwarding the unicast frame to the first edge switch calculated by said determining;
configuring each of the two or more edge switches such that the emulated switch is viewed as equidistant from each of the two or more edge switches and as part of the network of layer 2 switches; and
if the first link between the first edge switch and the spanning tree device is inoperable, transferring the unicast frame from the first edge switch to the second edge switch for forwarding of the unicast frame to the spanning tree device, stripping the header from the unicast frame, and forwarding the unicast frame from the second edge switch to the spanning tree device based, at least in part, upon a subswitch or local identification within the header of the unicast frame;
wherein the configuring includes configuring each of the two or more edge switches to, upon receipt of a unicast frame from another switch in the network of layer 2 switches, determine if the frame is for the emulated switch, and if so, examine the subswitch or local identification within the header of the frame and forward the frame to the spanning tree device based, at least in part, upon the subswitch or local identification.
2. The method of
4. The method of
periodically synchronizing data between each of the two or more edge switches.
5. The method of
7. The method of
8. The method of
9. The method of
10. The method of
11. The method of
14. The method of
16. The method of
17. The method of
|
1. Technical Field
The present invention relates to computer networking.
2. Description of the Related Art
Data management within organizations is an ever increasing concern, especially with the rise of the Internet information age. The heart of this data management function is sometimes known as a data center. Over the last decade, data centers have evolved into the strategic focus of Information Technology (IT) efforts to protect, optimize, and grow the organization.
Data center managers face several challenges in fulfilling these goals. Most enterprise data centers grew rapidly to meet the explosive economic growth of recent times. Consequently, applications commonly stand alone in underutilized, isolated infrastructure silos. Each infrastructure silo is designed based on the inclination of the specific application being deployed, so that a typical data center supports a broad I assortment of operating systems, computing platforms, and storage systems. The disparate infrastructures supporting different application “islands” are difficult to change or expand and expensive to manage, integrate, secure, and back up.
One solution to this problem is to design a data center environment that is highly scalable, resilient, secure, and able to integrate multiple applications and protocols. One such solution is known as the Data Center Network Architecture. A specific implementation of the Data Center Network Architecture is known as Data Center Ethernet (DCE). DCE allows for consolidation of input and output, and improved forwarding of communications within the network. This may be accomplished via specialized protocols and functionality operated by switches within a DCE network via network layer 2. Each of the switches within the DCE network may be a layer 2 device.
Rather than forwarding frames to MAC addresses, DCE switches send frames to edge switches based on the edge switch identification via the MAC-in-MAC header. The edge switch then knows which of its ports to send the frame out to arrive at the correct MAC address (for example, the port connected to switch 216), and strips off the MAC-in-MAC header prior to doing so.
The network design depicted in
Overview
A solution is provided wherein the interfaces between multiple chassis (e.g., edge switches) in a network of layer 2 devices and a spanning tree device are treated as a single emulated switch. This emulated switch effectively enables two different views to the two different sides. Thus, frames from the network of layer 2 switches destined to any port of the emulated switch may take any of the links (through any of the physical switches), thereby enabling effective load-balancing for frames traveling from the layer 2 network side into the spanning tree device. Meanwhile the spanning tree device does not recognize an illegal loop in its connection to two different edge switches as it views the two links as a single logical EtherChannel.
In this application, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It will be obvious, however, to one skilled in the art, that the present invention may be practiced without some or all of these specific details. In other instances, well known process steps have not been described in detail in order to not obscure the present invention.
A solution is provided wherein the interfaces between multiple chassis (e.g., edge switches) and non-DCE devices are treated as a single emulated switch. This emulated switch effectively enables 2 different views to the 2 different sides.
DCE switches typically each have their own switch identifications and independently participate in DCE forwarding. In an embodiment of the present invention, the edge switches connected to the non-DCE device co-ordinate the emulated switch identification that is to be used to represent the multi-chassis etherchannels. In this embodiment, both physical switches may advertise their reachability to this emulated switch identification to the rest of the DCE network. The emulated switch is advertised as being equidistant from the edge switches. This allows the rest of the DCE network to build shortest path routes towards the emulated switch, which pass through one of the edge switches. Since the shortest path is determined based on physical proximity to the emulated switch, this effectively load balances between the edge switches connected to the emulated switch. This is in direct conflict with the prior art, which simply disabled one of the links, routing all traffic through only one of the edge switches, creating a potential bottleneck for the traffic.
In an embodiment of the present invention, broadcasts and/or multicasts originating from the DCE network would be allowed only through one port of this multi-chassis Etherchannel of the emulated switch. This requires coordination between the physical DCE switches. Similarly, broadcasts and/or multicasts originating from a non-DCE network could come into the DCE switches through any of the etherchannel ports. The decision as to which of the links to use may be based on some sort of load balancing algorithm. The goal would likely be to have traffic split evenly among the links. A Self-forwarding check on the Multi-Chassis EtherChannel ports may also compare the frame's hierarchical address with the port's hierarchical address. Therefore, even if the frame ingressing from one Multi-Chassis EtherChannel port tries to egress out of another Multi-Chassis EtherChannel ports (of the different physical switch), it can be dropped due to the self-forwarding check.
Unicast frames towards hosts belonging to the emulated switch could come to any of the edge switches connected to the emulated switch. In an embodiment of the present invention, each of these physical switches would use its local Multi-Chassis EtherChannel, i.e. locally attached ports that belong to Multi-Chassis EtherChannel, to deliver unicasts. If all of the Multi-Chassis EtherChannel ports on that switch are down, the frames may be sent to the peer switch over a link such as an Emulated Switch Link (ESL). The peer switch could then use its ports belonging to that Multi-Chassis EtherChannel to forward the frames.
Addressing using the emulated switch may be accomplished using a consistent hierarchical address format. This format may be the standard DCE hierarchical address format. This format is depicted in
An emulated switch link (ESL) between the edge switches may be used to enable learning across ports belonging to the Multi-Chassis EtherChannel, i.e. to synchronize the MAC table for ports belonging to the Multi-Chassis EtherChannel. The ESL link may also be used to carry data frames belonging to the Multi-Chassis EtherChannel ports during link failures, for exchanging emulated switch control plane messages between the physical switches (LACP protocol frames, MAC learning updates, co-ordination of switch-id, LIDs, etc.), or as a regular data link.
It should be noted that the processes described above need not be limited to DCE and non-DCE switch combinations. Technically, the DCE network may be any network of layer 2 switches, while the non-DCE devices may be any network of devices that uses a spanning tree or similar algorithm. For purposes of this document, the term “spanning tree device” will be used to refer to any device that uses a spanning tree or similar algorithm. In one embodiment, this device may be a CE device.
Although illustrative embodiments and applications of this invention are shown and described herein, many variations and modifications are possible which remain within the concept, scope, and spirit of the invention, and these variations would become clear to those of ordinary skill in the art after perusal of this application. Accordingly, the embodiments described are to be considered as illustrative and not restrictive, and the invention is not to be limited to the details given herein, but may be modified within the scope and equivalents of the appended claims.
Hang, Soei-Shin, Mellacheruvu, Ramana, Ganesan, Elango, Sane, Sanjay, Kreeger, Lawrence, Edsall, Thomas
Patent | Priority | Assignee | Title |
10367730, | Jun 29 2010 | Futurewei Technologies, Inc. | Layer two over multiple sites |
10389629, | Jun 29 2010 | FUTUREWEI TECHNOLOGIES, INC | Asymmetric network address encapsulation |
8897303, | Jun 29 2010 | FUTUREWEI TECHNOLOGIES, INC | Delegate gateways and proxy for target hosts in large layer 2 and address resolution with duplicated internet protocol addresses |
8937950, | Jun 29 2010 | FUTUREWEI TECHNOLOGIES, INC | Asymmetric network address encapsulation |
9160609, | May 28 2010 | FUTUREWEI TECHNOLOGIES, INC | Virtual Layer 2 and mechanism to make it scalable |
9912495, | May 28 2010 | FUTUREWEI TECHNOLOGIES, INC | Virtual layer 2 and mechanism to make it scalable |
Patent | Priority | Assignee | Title |
5742604, | Mar 28 1996 | Cisco Technology, Inc | Interswitch link mechanism for connecting high-performance network switches |
5949788, | May 06 1997 | Hewlett Packard Enterprise Development LP | Method and apparatus for multipoint trunking |
6195351, | Jan 28 1998 | Hewlett Packard Enterprise Development LP | Logical switch set |
20030016624, | |||
20050220014, | |||
20060098589, | |||
20060126616, | |||
20070025252, | |||
20080025217, | |||
20080089247, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Oct 04 2006 | SANE, SANJAY | Cisco Technology, Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 018438 | /0270 | |
Oct 04 2006 | KREEGER, LAWRENCE | Cisco Technology, Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 018438 | /0270 | |
Oct 04 2006 | EDSALL, THOMAS | Cisco Technology, Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 018438 | /0270 | |
Oct 04 2006 | GANESAN, ELANGO | Cisco Technology, Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 018438 | /0270 | |
Oct 10 2006 | MELLACHERUVU, RAMANA | Cisco Technology, Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 018438 | /0270 | |
Oct 15 2006 | HANG, SOEI-SHIN | Cisco Technology, Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 018438 | /0270 | |
Oct 16 2006 | Cisco Technology, Inc. | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Mar 10 2017 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Mar 10 2021 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Date | Maintenance Schedule |
Sep 10 2016 | 4 years fee payment window open |
Mar 10 2017 | 6 months grace period start (w surcharge) |
Sep 10 2017 | patent expiry (for year 4) |
Sep 10 2019 | 2 years to revive unintentionally abandoned end. (for year 4) |
Sep 10 2020 | 8 years fee payment window open |
Mar 10 2021 | 6 months grace period start (w surcharge) |
Sep 10 2021 | patent expiry (for year 8) |
Sep 10 2023 | 2 years to revive unintentionally abandoned end. (for year 8) |
Sep 10 2024 | 12 years fee payment window open |
Mar 10 2025 | 6 months grace period start (w surcharge) |
Sep 10 2025 | patent expiry (for year 12) |
Sep 10 2027 | 2 years to revive unintentionally abandoned end. (for year 12) |