Virtualized technology has been widely adopted in scenarios such as data center. It is known that server technology usually virtualizes one server to a plurality of virtual machines. In contrast, network virtualized technology usually virtualizes a plurality of network devices as one network device so as to simplify network infrastructure, and also enhance the scalability of network nodes and protect users investment at the same time. Currently, one approach is to serially connect the network devices or to form a ring topology. One master device is selected by an internal selection mechanism or a static configuration so as to control the operations of the virtual system. Such an approach is referred to as a horizontal virtualized technology. Another approach is to connect a plurality of port extender (PE) devices by a core backbone (CB) for controlling the operations of the virtual system. The PEs operate as remote interface boards for providing more ports.
Horizontally virtualized technology may be adopted together with vertically virtualized technology so as to provide better extension via two-stage virtualization. That is, more physical network devices may be virtualized to be one logical network device, which is also referred to as “virtual system” or “stacked system.” Referring to
Logically, the PE device may be a remote interface of the CB device for extending the number of the access ports, i.e., Port1. The packets arrive at the PE device via the access port, and then enter the CB device. Afterward, the packets are forwarded by the CB device via lookup table. In this regard, the packets are forwarded by the CB devices within the virtual system.
There are two kinds of packets needed to be forwarded, including known unicast packet and receiver-uncertain packet. The destination of the known unicast packet relates to a unicast address and a corresponding entry may be found within the lookup table of the CB device. In other words, the CB device clearly knows the destination of the unicast packet, and thus the CB device may forward the packet via a unique egress.
On the other hand, the destination of the receiver-uncertain packet may be a multicast address or a broadcast address. In addition, one packet may be deemed as receiver-uncertain packet when there is no corresponding entry can be found in the lookup table even though the destination of the packet relates to the unicast address. For such receiver-uncertain packet, the CB device may have to duplicate the packets and then to distribute the packets via different egress.
Referring to
After the packet arrives at CB2 via Port5, CB2 determines that the forwarding result of the cascade header of the packet is not null and obtains the egress of the packet is Port20 of PE3. As the forwarding result is not null, CB2 has not to look up the forwarding table. CB2 determines that the packet has to be forwarded to CB3 via Port10 in accordance with the egress, i.e., Port20. When the packet arrives at CB3 via Port11, CB3 executes the same process with CB2. That is, CB3 determines that the packet may be sent to PE3 via Port14 in accordance with the egress, i.e., Port20. After receiving the packet, PE3 determines the egress of the packet is Port20 according to the forwarding result of the cascade header. As Port20 is a local port of PE3, PE3 removes the cascade header of the packet and then sends the packet to Host3 via Port20.
The above process relates to how one known unicast packet is forwarded. Different process may be adopted when the destination is not only one. In an example, a broadcast packet from Host1 may be sent from PE1 to CB1. As CB1-CB4 form a ring topology, the broadcast packet may be looped unlimited, which cause the so-called loop issue. Referring to
At block 301, the ring topology is formed by horizontally connecting the cascaded CBs within the virtual system. A candidate CB set including a plurality CB devices corresponding to the PE is determined in accordance with predetermined first selection rule.
At block 302, first blocking entries corresponding to respective PE devices are configured on CBs upon determining the CB device belongs to the candidate CB set. The first blocking entry is for preventing the receiver-uncertain packets from being forwarded via designated horizontally cascaded ports.
During the building process of the virtual system, the CB device may obtain the topology by discovery mechanisms. That is to say, each CB device, i.e., from CB1 to CB4, may be aware of the same topology, as shown in
An example of first selection rule will be described hereinafter. A value M is calculated by inputting the identifier (ID) of the PE device to a predetermined algorithm, such as a random algorithm. As the IDs of the PE devices are unique and different from each other, it can be understand that the corresponding M is also different. S=M % N, wherein N represents a total number of the CB devices within the system. The corresponding CB device is determined by S, and then the CB device is added to the candidate CB set. As stated above, the corresponding M for different PE device are different, and thus S may be discrete. For instance, in
With respect to PE1, in an example, the candidate CB set includes CB2, and CB1 and CB3 are not in the candidate CB set. Under the circumstance, CB2 may locally configure the first blocking entries as being in the candidate CB set, and CB1 and CB3 may exit the process. In an example, the first blocking entries may be access control list (ACL) entries. The target of the first blocking entries is the receiver-uncertain packets. The packets are blocked at horizontally cascaded ports on the CB2. In an example, CB device may select a horizontally cascaded port along a first direction or along a second direction as the designated cascaded port, and then the ACL entries are distributed to the designated cascaded ports. For instance, Port10 is the first horizontally cascaded port along the first direction, and Port9 is the second horizontally cascaded port along the second direction. In an example, the load-sharing performance may be better if the direction of the selected horizontally cascaded port remains the same.
The first blocking entries distributed from CB2 to Port10 are in fact distributed to the Ethernet chips within Port10. In an example, the first blocking entries may include an ingress blocking entry, i.e., ingress ACL and an egress blocking entry, i.e., an egress ACL. Referring to Table 1, it can be seen that the matching rule and the corresponding action of the ingress ACL (No. 1) and of the egress ACL (No. 2) are substantially the same. The only difference resides in that the ingress ACL is distributed to the ingress of the Ethernet chip where the packet arrives at the chip via Port10 and the egress ACL is distributed to the egress of the Ethernet chip where the packet exits the chip via Port10.
Referring to
In the above-mentioned example, the ingress ACL entry and the egress ACL entry are configured on one CB device, which results in a simple configuration. However, such configuration has to be supported by chip capability. It can be understood that some chips may be configured with complex, or more rule for the ingress direction, but only may be configured with simple, and a few ACL entries. In an example, the candidate CB devices may include two adjacent CB devices. Similarly, a first candidate CB device is selected to be the first candidate CB set, for instance, CB2. Afterward, the CB device arranged at opposite end of the designated horizontally cascaded port, i.e., Port10, of CB2 is selected to be the second candidate CB set, that is, CB3 in this example. At this moment, the CB set may include CB2 and CB3.
As CB1 through CB4 are capable of executing the forwarding logic, at block 301, it is determined that CB1 and CB4 are not in the CB set corresponding to PE1 and CB2 and CB3 are respectively the first candidate CB device and the second candidate CB device. In the example, the designated horizontally cascaded port of the first candidate device is the horizontally cascaded port along the first direction. The designated horizontally cascaded port of the second candidate device is the horizontally cascaded port along the second direction. The designated horizontally cascaded ports of the first candidate device and of the second candidate device are connected via horizontal cascaded links. The blocking entry relates to an ingress blocking entry for blocking the receiver-uncertain packets sent from the PE device to enter the CB device via the designated cascaded port.
The process of configuring the blocking entries within CB2 will be described hereinafter. The ingress ACL entries, as shown in Table. 1, are distributed to the designated cascaded port, i.e., Port10. CB3 distributes the ingress ACL entries, as shown in Table. 1, to the horizontally cascaded port, i.e., Port11, which is opposite to Port10. As shown in
In view of the above, the packet without definite destination from PE devices is prevented from causing loop issue. As stated above, the load-sharing performance may be better if the direction of the selected horizontally cascaded port remains the same. For instance, CB2 may select Port10 to be the horizontally cascaded port along the first direction for PE1. CB3 may select Port 13 to be the horizontally cascaded port along the first direction for PE2. The process is then been executed in a similar manner. In the end, the links for blocking the receiver-uncertain packets from each PE are distributed among the ring topology, which prevents one single link from frequently blocking the receiver-uncertain packets so as to enhance the load-balance performance. In the second example, as the first candidate CB device and the second candidate CB device are adjacent to each other, the load-balance performance may also be enhanced basing on the same methodology. Referring to
Also referring to
When one PE device connects to a plurality of CB devices, at block 303, only one CB device is allowed to send the packet without definite destination to the PE device. As such, the PE device is prevented from receiving the same receiver-uncertain packets. Referring to
For instance, after calculation, CB1 and CB2 determines that the master device of PE1 is CB1. At this moment, CB2 has to send the receiver-uncertain packets to PE1 via the downlink cascaded port, i.e., Port7 upon determining CB2 is not the master CB device corresponding to PE1. In an example, CCB2 sends the second blocking entry to the Ethernet chip within the Port7. As shown in Table. 3, the direction of the ACL is egress, the matching rule is “Multicast, broadcast or unknown unicast”, and the corresponding action is “drop.”
In other scenarios, the source device of the packet may also be the CB device. Referring to
At block 304, a shortest forwarding path between the CB device and other CB device is calculated, and a forwarding entry corresponding to the shortest forwarding path is added to a unicast forwarding table.
Referring to
Specifically, at block 304, the shortest forwarding path is calculated between the CB devices to other CB devices along the horizontally cascaded port, and then the unicast packet may be sent via the selected shortest path. When there are a plurality of forwarding paths with equal distance, the shortest forwarding path may be selected among the forwarding paths in accordance with path selection methods. Generally, the path selection method executed on each of the CB devices are the same. In an example, if the ID of one CB device is the minimum one among all of the CB devices, the forwarding path begins from the horizontally cascaded port along the first direction. Otherwise, if the ID of one CB device is the maximum one among all of the CB devices, the forwarding path begins from the horizontally cascaded port along the second direction. Table. 4 shows an example of the unicast forwarding entry calculated by CB1 of
At block 305, the source-dropping entries are configured based on the unicast forwarding table. In an example, the source-dropping entries are configured in accordance with the following rules.
First, the packet sent from the source device toward the CB device is dropped.
Second, the packets sent from other source CB devices via the paths that are not the shortest path are dropped.
Also referring to
The foregoing descriptions are only examples of the present disclosure and are not for use in limiting the protection scope thereof. Any modification, equivalent replacement and improvement made under the spirit and principle of the present disclosure should be included in the protection scope thereof.
Number | Date | Country | Kind |
---|---|---|---|
201310528372.7 | Oct 2013 | CN | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/CN2014/089729 | 10/28/2014 | WO | 00 |