A method for interconnecting a satellite switch and a virtual switch for communication over a network includes transmitting a multicast packet containing a satellite identifier over the network and receiving a response multicast packet containing the satellite identifier, a satellite index associated with the satellite switch, and a virtual switch index associated with the virtual switch transmitting the response packet. The virtual switch index is mapped into a destination address and the destination address is inserted into a satellite packet. The satellite packet is then transmitted over the network to the virtual switch.
|
9. A method for controlling a satellite switch by a virtual switch over a network, the virtual switch, the method comprising:
receiving at the virtual switch, a packet from the satellite switch comprising a source address of the satellite switch and a payload comprising a satellite identifier, over the network;
transmitting at the virtual switch, a response packet to the satellite switch, the response packet comprising a source address identifying the virtual switch and a payload comprising the satellite identifier, a satellite index associated with a port of the satellite switch, and a virtual switch index associated with a port of the virtual switch transmitting the packet; and
mapping at the virtual switch, the satellite switch index into a destination address, inserting the destination address into a satellite packet, and transmitting the satellite packet over the network to the satellite switch;
wherein the virtual switch comprises redundant network devices, each of the network devices operable to replace the other network device and perform layer 2 or layer 3 forwarding functions for the satellite switch.
17. An apparatus for controlling a satellite switch by a virtual switch over a network, the virtual switch, the method comprising:
receiving at the virtual switch, a packet from the satellite switch comprising a source address of the satellite switch and a payload comprising a satellite identifier, over the network;
transmitting at the virtual switch, a response packet to the satellite switch, the response packet comprising a source address identifying the virtual switch and a payload comprising the satellite identifier, a satellite index associated with a port of the satellite switch, and a virtual switch index associated with a port of the virtual switch transmitting the packet; and
mapping at the virtual switch, the satellite switch index into a destination address, inserting the destination address into a satellite packet, and transmitting the satellite packet over the network to the satellite switch;
wherein the virtual switch comprises redundant network devices, each of the network devices operable to replace the other network device and perform layer 2 or layer 3 forwarding functions for the satellite switch.
1. A method for interconnecting a satellite switch and a virtual switch for communication over a network, the method comprising:
transmitting at the satellite switch, a packet to the virtual switch, the packet comprising a source address of the satellite switch and a payload comprising a unique satellite identifier identifying the satellite switch, over the network;
receiving at the satellite switch, a response packet from the virtual switch, the response packet comprising a source address of the virtual switch and a payload comprising the unique satellite identifier, a satellite index associated with a port of the satellite switch, and a virtual switch index associated with a port of the virtual switch transmitting the response packet; and
mapping at the satellite switch, the virtual switch index into a destination address, inserting the destination address into a satellite packet, and transmitting the satellite packet over the network to the virtual switch;
wherein the satellite switch comprises an access layer switch and the virtual switch comprises redundant distribution layer switches, the satellite switch relying on the distribution layer switches to perform forwarding functions.
13. An apparatus for interconnecting a satellite switch and a virtual switch comprising redundant network devices for communication over a network, the apparatus comprising:
a processor for:
transmitting at the satellite switch, a packet to the virtual switch, the packet comprising a source address of the satellite switch and a payload comprising a unique satellite identifier identifying the satellite switch, over the network;
receiving at the satellite switch, a response packet from the virtual switch, the response packet comprising a source address of the virtual switch and a payload comprising the unique satellite identifier, a satellite index associated with a port of the satellite switch, and a virtual switch index associated with a port of the virtual switch transmitting the response packet; and
mapping at the satellite switch, the virtual switch index into a destination address, inserting the destination address into a satellite packet, and transmitting the satellite packet over the network to the virtual switch; and
memory for storing the unique satellite identifier;
wherein the satellite switch comprises an access layer switch and the virtual switch comprises redundant distribution layer switches, the satellite switch relying on the distribution layer switches to perform forwarding functions.
2. The method of
4. The method of
5. The method of
6. The method of
7. The method of
10. The method of
11. The method of
12. The method of
14. The apparatus of
15. The apparatus of
16. The apparatus of
18. The apparatus of
19. The apparatus of
|
The present invention relates generally to communication networks, and more specifically, to satellite switch communication with a network device, such as a virtual switch, over a network.
Redundant switches and links are often provided in a network to provide improved network reliability. If a switch or link fails, a redundant switch or link, already in place within the network is quickly enabled to replace the failed switch or link. For example, a core layer in a network may include two switches, each of which is connected with network devices in a distribution layer for redundancy purposes. Similarly, access layer switches in wiring closets (referred to herein as satellite switches) are connected to the two devices in the distribution layer. Since the redundant switch is typically enabled as a replacement more quickly than the failed component can be replaced or repaired, having redundant devices provides a more reliable network. Although this network topology has proven to be quite robust and reliable, it has some disadvantages. For example, each pair of redundant switches represents two points of management. If multiple redundant devices are used in a network, management of the network may become more complicated due to the need to have a different point of management for each network device.
To overcome this management complexity, a virtual switch including different network devices, which collectively operate as a single logical network device, may be treated as a single point of management. The satellite switch may then be controlled by the directly connected virtual switch or through chaining multiple satellites in series. A possible deployment scenario is one where the satellite switches are connected via an optical ring and the ring equipment is not satellite-aware. An option for transporting traffic in this scenario is to provide a pure Layer 1 (L1) transport such as an optical SONET/SDH ring that transports the entire Ethernet packet without examining its contents. However, this is limited to L1 connectivity and is inefficient since it cannot constrain traffic in a multipoint environment.
It would be desirable to deploy satellite switches which are not directly connected to a satellite-aware switch at the link layer, but connected through a traditional Layer 2 (L2) or Layer 3 (L3) network device. It is also desirable to allow multiple satellite switches within the L2 or L3 domain and to allow multiple virtual switches using the same L2 or L3 domain as a virtual backplane interconnect.
A method and system for interconnecting a satellite switch and a virtual switch for communication over a network are disclosed herein. In one embodiment, the method generally comprises transmitting a packet containing a satellite identifier over the network and receiving a response packet containing the satellite identifier, a satellite index associated with the satellite switch, and a virtual switch index associated with the virtual switch transmitting the packet. The virtual switch index is mapped into a destination address and the destination address is inserted into a satellite packet. The satellite packet is then transmitted over the network to the virtual switch.
In another aspect of the invention, the satellite switch is configured with a network device index associating the satellite switch with a network device and a method for communicating between the satellite switch and network device generally comprises mapping the network device index into a destination address of a header, inserting the header into a packet, and transmitting the packet over the network to the network device.
In yet another aspect of the invention, a method for controlling a satellite switch by a virtual switch over a network generally comprises receiving a packet containing a satellite identifier over the network and transmitting a response packet containing the satellite identifier, a satellite index associated with the satellite switch, and a virtual switch index associated with the virtual switch transmitting the packet. The method further includes mapping the satellite switch index into a destination address, inserting the destination address into a packet, and transmitting the packet over the network to the satellite switch.
A computer program product for communication between a satellite switch and a network device over a network generally comprises code that maps the network device index into a destination address of a header, code that inserts the header into a packet, code that transmits the packet over the network to the network device, and a computer-readable medium that stores the codes.
A system for communication between a satellite switch and a network device over a network generally comprises means for mapping the network device index into a destination address of a header, means for inserting the header into a packet, and means for transmitting the packet over the network to the network device.
Further understanding of the nature and advantages of the inventions herein may be realized by reference to the remaining portions of the specification and the attached drawings.
Corresponding reference characters indicate corresponding parts throughout the several views of the drawings.
The following description is presented to enable one of ordinary skill in the art to make and use the invention. Descriptions of specific embodiments and applications are provided only as examples and various modifications will be readily apparent to those skilled in the art. The general principles described herein may be applied to other embodiments and applications without departing from the scope of the invention. Thus, the present invention is not to be limited to the embodiments shown, but is to be accorded the widest scope consistent with the principles and features described herein. For purpose of clarity, details relating to technical material that is known in the technical fields related to the invention have not been described in detail.
The present invention operates in the context of a data communication network including multiple network elements. A method and system described herein allow for the interconnection between a network device and satellite switch to include various networks including L2 and L3 networks. The satellite switches can then be controlled by the network device for which there is no direct connection.
Virtual Switch
Referring now to the drawings, and first to
Details of an exemplary virtual switch 10 are provided in U.S. patent application Ser. No. 10/666,306, entitled “Virtual Network Device”, filed Sep. 18, 2003, which is incorporated by reference herein in its entirety.
It is to be understood that the virtual switch described above is only one example of a satellite-aware (control) switch and that the term “virtual switch” as used herein includes any type of network device configured to communicate with a satellite switch, as described below. Also, a non-virtual distribution switch may be the network device used to control the satellite switch.
Satellite Switch
The virtual switch model described above allows the satellite switches 16 to communicate with a single virtual switch 10. In one embodiment, the satellite (remote) switch 16 is an access layer device that does not make independent forwarding decisions. The satellite switch 16 addresses the management of the wiring closet by providing a simple switch with no local forwarding capability. The satellite switches 16 rely on the distribution layer switches 12 to perform L2 or L3 forwarding functions used to determine how to switch packets. They effectively act as additional ports of the distribution layer switches. The satellite switches 16 each include uplink interfaces and a plurality of ports coupled to a network client device (e.g., switch, router, personal computer, workstation, Internet server, network appliance, handheld computing device, etc.). The satellite switches 16 forward packets received from network client devices to the distribution layer. The distribution layer determines how those packets will be forwarded through the network and selects ports in the satellite switch 16 from which to output a packet. The forwarding intelligence (control information) is thus provided by the upstream switch.
The satellite switch 16 is therefore controlled by a control switch, which may be the virtual switch 10 or a non-virtual switch, such as a single distribution layer switch 12, for example.
In one embodiment, the virtual switch 10 and satellite switch 16 each include a local target agent which tracks assignment of one or more unique forwarding indices (referred to herein as LTL (Local Target Logic) indices) assigned to each port. Details of the local target agent and related indices are provided in U.S. patent application Ser. No. 10/690,348, entitled, “Port-Based Loadsharing for a Satellite Switch”, filed Oct. 21, 2003, which is incorporated by reference herein in its entirety.
Connection of the Satellite Switch and Virtual Switch over a Network
The method and system described herein allow the satellite switch 16, which is not directly connected to the virtual switch 10, to be controlled by the switch across a network 14. The switch 10 and satellite switch 16 may be connected across various types of networks. For example, the satellite switch 16 may be connected to the virtual switch 10 via an L2 network or L3 network.
It is to be understood that the network configurations shown in
The method and system described herein may also be used in Metro Ethernet applications. By allowing the satellite to be controlled by different virtual switches, the satellite ports can be partitioned into different virtual switches.
Communication Between Satellite Switch and Virtual Switch An example of forwarding traffic in virtual network devices in which a satellite switch is directly connected to the virtual switch is provided in U.S. patent application Ser. No. 10/826,888, entitled “Distributed Forwarding in Virtual Network Devices”, filed Apr. 16, 2004 and U.S. patent application Ser. No. 10/666,306 (referenced above), which are incorporated by reference herein in their entirety. With a direct connection between the satellite switch 16 and virtual switch 10, the traffic is directed to the correct satellite using a destination index (e.g., LTL index) in a header (e.g., CSH (Cisco Satellite Header), which immediately follows the preamble.
In the following example, packets are sent over an L2 Ethernet network. As previously discussed, other types of networks may be used to transport the packets between the satellite switch 16 and the virtual switch 10. As used herein, the terms “packet” and “frame” have the same meaning. The sizes of each field do not necessary correspond with the number of bytes in each filed. The field types described herein are purely illustrative. Moreover, each field may contain one or more subfields.
Since the satellite switch 16 and virtual switch 10 communicate over an L2 network, multiple satellites may exist within the same L2 domain. A mechanism is therefore provided to direct traffic to the correct satellite. VLANs (Virtual Local Area Networks) allow the creation of multiple virtual L2 networks within a single physical L2 network. Since the L2 network is essentially the backplane of the virtual switch 10, this allows the VLAN field to be used to separate the traffic of different virtual switches.
A header is encapsulated within a packet by inserting an additional L2 header at the beginning of the frame. In order to transport frames over the network, the frame preferably includes an Ethernet header so that forwarding can be performed using the destination MAC address and VLAN fields. As described in detail below, an index, which selects a subset of satellites, is mapped into a modified destination MAC address and the VLAN field of the L2 header is used to define which virtual switch that the packet belongs.
In order to direct traffic to the correct satellite over an L2 network, a mapping from a destination index to a destination MAC address is used. In one embodiment, an index, such as the LTL index referred to above, may be used to identify the satellite switch, virtual switch, or specific ports of the satellite switch or virtual switch. The indices are configured, for example, such that they can select multiple ports which may be on different satellites (i.e., flood indices). Thus, the MAC address is preferably multicast or broadcast at least for those indices. Pruning techniques can be used in the L2 network to isolate the packets to only those satellites requiring the traffic.
Unicast MAC addresses may be used for the unicast indices. However, this may not always apply due to cases such as an Etherchannel which is a single logical port split across multiple satellites. In order to utilize unicast MAC addresses, the pool of MAC addresses needs to come from the satellite' pool or from the controlling virtual switch's pool. If it comes from the virtual switch 10, the number of MAC addresses given to each virtual switch must be very large to accommodate the maximum number of connected satellite switches 16. If the MAC address pool comes from the satellite switch 16, there will be a separate range of MAC addresses for each satellite switch and this will complicate the port ASIC implementation. As a result, it is preferred to use multicast MAC addresses even for unicast indices.
One example of a destination MAC address format is shown in
As previously discussed, the method and system may also be used in the case where the virtual switch 10 is connected to the satellite switch 16 via an L3 network. In order for the virtual switch 10 and satellite switch 16 to communicate over an L3 network, the indices are mapped to L3 multicast addresses instead of L2 multicast addresses. Instead of using VLAN to segregate multiple switches, LDP may be used with MPLS, for example. Also, IGMP (Internet Group Management Protocol) may be used to create groups within the network. VPNs may be used to separate the virtual switches (e.g., MPLS VPNs) or a virtual network overlay may be created using GRE tunnels extending to each satellite. The creation of the VPNs may be done through static configuration.
Bringing Satellite Switch Online
In order to bring the satellite switch 16 online, the satellite is first configured with a virtual switch identifier which indicates the VLAN to be used within the L2 domain. This allows the satellite switch 16 to know which virtual switch 10 to join within a shared L2 domain. The default value may be set, for example, to VLAN 1.
A bring up session is negotiated between the satellite switch 16 and virtual switch 10 across the L2 network. As illustrated in
Upon receipt of the packet, the virtual switch 10 redirects the packet to the CPU via recognition of the well known MAC address in the port ASIC. All of the virtual switch connections into the L2 network that are configured as satellite uplinks are placed in the same Etherchannel. It may be desirable to allow multiple satellite uplink Etherchannels to enable connecting the virtual switch 10 to multiple disparate L2 networks.
As illustrated in
The initial two packets sent using the well known destination MAC address will be received by all satellite CPUs, but can be quickly discarded based on the source MAC address and/or the embedded intended satellite identifier.
Subsequent communications take place inband using the indices and occur in the same manner described in U.S. patent application Ser. Nos. 10/690,348 and 10/826,888, referenced above, except that the bring up is sent over the Etherchannel, not the individual satellite links. An example of data transferred in subsequent communications is shown at lines 56 and 58 of
The port ASIC handles the L2 packet encapsulation. The header is appended to the packet by the egress port (e.g., by an ASIC of the egress port) and stripped off on the other side by the ingress port.
The above example refers to communication between a satellite switch and a virtual switch, however, it is to be understood that the satellite switch may also communicate with any type of network device including a non-virtual switch using the method and system described herein.
Network Protocol Interaction
Since the backplane of the virtual switch has moved from individual point-to-point links (in the case where the satellite switch is directly connected to the virtual switch) to an L2 (or L3) network, there is a need to run the standard set of L2 (or L3) protocols on the backplane network. From the view of the backplane network, the satellite uplinks on the virtual switch side and the satellite side will act as host ports. In the case of an L2 network, this limits the L2 protocol interactions to protocols such as GVRP (GARP (Generic Attribute Registration Protocol) VLAN Registration Protocol) and GMRP (GARP Multitask Registration Protocol). These two protocols allow for optimal forwarding within the backplane network. Similarly, VTP (VLAN Trunking Protocol) and VTP pruning may be used.
It should be noted that it is possible for non-satellite uplinks on the virtual switch to also connect to the backplane network. In this case, the non-satellite uplinks will not use the special L2 encapsulation and will run L2 protocols as a normal switch port. The switches comprising the backplane network will operate as a normal L2 network.
Failure Detection
Since the link layer connectivity is not available, probing of the satellite and virtual switch sanity is done through BFD-like constructs. Failure of the satellite switch 16 will be detected by the virtual switch 10 through such probing and the satellite will be marked as offline.
Failure of one of the network devices 12 of the virtual switch 10 will trigger a switchover within the virtual switch and is essentially invisible to the satellites in the network. If the entire virtual switch 10 fails, the satellite switch 16 is lost and will detect the failure through BFD-like probing. At this point, the satellite switch 16 begins periodically transmitting the initial packet to the well known destination MAC address in an attempt to discover the virtual switch 10.
If a single satellite uplink fails, neither the virtual switch 10 nor satellite switch 16 will be affected. It will be treated in the same manner as the failure of a link within an Etherchannel. If the last satellite uplink is lost, the virtual switch 10 and satellite switch 16 will lose connectivity and the satellite will restart transmitting the initial packet to the well known destination MAC address. The virtual switch 10 will take the satellite offline until rediscovery and initialization takes place.
Network Device
The interfaces 78 are typically provided as interface cards (sometimes referred to as “linecards”). Generally, they control the sending and receiving of data packets over the network and sometimes support other peripherals used with the network device 70. Packet transmission operations may occur partially or completely within one of linecards. The interfaces generally include ports appropriate for communication with the appropriate media. To implement functionality according to the present invention, linecards may incorporate processing and memory resources similar to those discussed above in connection with the network device as a whole. In some embodiments, one or more interfaces 78 include at least one independent processor, which may be, for example, ASIC or any other suitable processor. Among the interfaces that may be provided are Ethernet interfaces, frame relay interfaces, cable interfaces, DSL interfaces, token ring interfaces, and the like. In addition, various very high-speed interfaces may be provided such as fast Ethernet interfaces, Gigabit Ethernet interfaces, ATM interfaces, HSSI interfaces, POS interfaces, FDDI interfaces, and the like.
Regardless of the network device's configuration, it may employ one or more memories or memory modules (including memory 71) configured to store program instructions for the general-purpose network operations and other information relating to the functions described herein. The program instructions may control the operation of an operating system and/or one or more applications, for example.
Examples of machine-readable media that include program instructions for performing various operations described herein include, for example, magnetic media such as hard disks, floppy discs, and magnetic tape; optical media such as CD-ROM disks; magneto-optical media; and hardware devices that are specifically configured to store and perform program instructions, such as ROM and RAM. A carrier wave that carries the code across a network is another example of a computer-readable medium.
Network device 70 shown in
Hardware Example for Port ASIC
The following describes an example of hardware requirements for one embodiment of a port ASIC to implement satellites over an L2 network.
The L2 header is inserted in front of all packets. A header (e.g., CSH referenced above) may be inserted if an L2 mode using the header is enabled). The following is a format example:
A single multicast address register is used (e.g., 5 bytes) per ASIC, and possibly per port for Metro Ethernet. Also, a VLAN register is used per port and a single source MAC register, per ASIC. The CoS is copied into the header and CSH from dbus into outermost L2 header. The TR bit is from register and the IEEE 802.1q Ethertype and CSH Ethertype are from register, per ASIC. The ASIC port is preferably configured to punt a well known multicast MAC address to a specific LTL index and to receive certain multicast MAC addresses that do not have CSH encapsulation (at least two such registers, preferably last byte maskable). A bit is provided to indicate that CSH encapsulation should not be done (or allocate two LTL indices for each port and program the 2nd in the port ASIC as do not insert CSH).
Although the present invention has been described in accordance with the embodiments shown, one of ordinary skill in the art will readily recognize that there could be variations made to the embodiments without departing from the scope of the present invention. Accordingly, it is intended that all matter contained in the above description and shown in the accompanying drawings shall be interpreted as illustrative and not in a limiting sense.
Smith, Michael, Gandhi, Prashant
Patent | Priority | Assignee | Title |
10218432, | Apr 17 2009 | Viasat, Inc | Layer-2 connectivity from switch to access node/gateway |
10404355, | Apr 17 2009 | Viasat, Inc | Mobility across satellite beams using L2 connectivity |
10536526, | Jun 25 2014 | Honeywell International Inc. | Apparatus and method for virtualizing a connection to a node in an industrial control and automation system |
10680704, | Apr 17 2009 | Viasat, Inc | Layer-2 connectivity from switch to access node/gateway |
10965365, | Apr 17 2009 | ViaSat, Inc. | Layer-2 connectivity from switch to access node/gateway |
11018758, | Apr 17 2009 | ViaSat, Inc. | Mobility across satellite beams using L2 connectivity |
11424821, | Apr 17 2009 | ViaSat, Inc. | Layer-2 connectivity from switch to access node/gateway |
11962397, | Apr 17 2009 | ViaSat, Inc. | Layer-2 connectivity from switch to access node/gateway |
9419702, | Apr 17 2009 | Viasat, Inc | Layer-2 extension services |
9432896, | Apr 17 2009 | Viasat, Inc | Mobility across satellite beams using L2 connectivity |
9774385, | Apr 17 2009 | Viasat, Inc | Layer-2 connectivity from switch to access node/gateway |
9800322, | Apr 17 2009 | Viasat, Inc | Mobility across satellite beams using L2 connectivity |
9882632, | Dec 22 2016 | MAXAR SPACE LLC | Satellite constellation switching |
9887766, | Apr 17 2009 | Viasat, Inc | Layer-2 extension services |
Patent | Priority | Assignee | Title |
7403474, | Jan 27 2004 | Hewlett Packard Enterprise Development LP | Redundant router set up |
20020138628, | |||
20020156612, | |||
20050063395, | |||
20050163115, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Dec 22 2005 | SMITH, MICHAEL | Cisco Technology, Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 017389 | /0115 | |
Dec 22 2005 | GANDHI, PRASHANT | Cisco Technology, Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 017389 | /0115 | |
Dec 27 2005 | Cisco Technology, Inc. | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Apr 28 2014 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Apr 27 2018 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Apr 25 2022 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Date | Maintenance Schedule |
Oct 26 2013 | 4 years fee payment window open |
Apr 26 2014 | 6 months grace period start (w surcharge) |
Oct 26 2014 | patent expiry (for year 4) |
Oct 26 2016 | 2 years to revive unintentionally abandoned end. (for year 4) |
Oct 26 2017 | 8 years fee payment window open |
Apr 26 2018 | 6 months grace period start (w surcharge) |
Oct 26 2018 | patent expiry (for year 8) |
Oct 26 2020 | 2 years to revive unintentionally abandoned end. (for year 8) |
Oct 26 2021 | 12 years fee payment window open |
Apr 26 2022 | 6 months grace period start (w surcharge) |
Oct 26 2022 | patent expiry (for year 12) |
Oct 26 2024 | 2 years to revive unintentionally abandoned end. (for year 12) |