Port aggregation is to bind two or more physical ports on a switch apparatus together to form an aggregation port through configuring software settings, and each physical port composing the aggregation port is called a member port. The aggregation port merges bandwidths of the member ports so as to provide a high bandwidth which is several times over the bandwidth of each member port.
Features of the present disclosure are illustrated by way of example and not limited in the following figure(s), in which like numerals indicate like elements, in which:
Hereinafter, the present disclosure will be described in further detail with reference to the accompanying drawings and examples to make the technical solution and merits therein clearer.
In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present disclosure. It will be readily apparent however, that the present disclosure may be practiced without limitation to these specific details. In other instances, some methods and structures have not been described in detail so as not to unnecessarily obscure the present disclosure. As used herein, the term “includes” means includes but not limited to, the term “including” means including but not limited to. The term “based on” means based at least in part on. In addition, the terms “a” and “an” are intended to denote at least one of a particular element.
Usually, to ensure traffic forwarding, an aggregation port is strictly bound to its member ports, one physical port can only be bound to one aggregation port, namely, one physical port cannot belong to two or more aggregation ports simultaneously, otherwise, if a physical port is bound to two or more aggregation ports at the same time, it will lead to chaos of traffic forwarding. For example, in
However, that one physical port can only be associated with one aggregation port will restrict an ability of a physical port to be associated with Equal-Cost Multi-Path (ECMP) paths in Layer Two Equal-Cost Multipath Routing (L2 ECMP) techniques, for example, in
Examples of the present disclosure provide a method and an apparatus for traffic forwarding, which could improve the ability of a physical port to be associated with multiple ECMP paths.
In recent years Software Defined Networking (SDN) methods have been proposed. In SDN the control plane and data plane are located in different devices. Thus the data plane which includes a forwarding table for forwarding data flows is located in the switch apparatus, but the control plane which is responsible for higher level tasks including updating the contents of the forwarding table is located in a separate controller apparatus. Several switch apparatus may be controlled by the same controller apparatus. Typically the data plane of the switch apparatus is capable of recognizing traffic flows according to certain characteristics of the packets in the flow and forwards them according to the data plane or forwarding table. If the switch apparatus does not recognize a traffic flow, or does not know how to forward it, then it may send the traffic flow to the controller apparatus and the controller apparatus may determine how and to where the traffic flow should be forwarded and update the forwarding table of the switch apparatus accordingly. The controller apparatus and switch apparatus may communicate according to a SDN protocol. One example of SDN is Open Flow. The subsequent description below refers to OpenFlow, it will be understand that the teachings of the current disclosure may be applied to other types of SDN or SDN protocols.
An example of the present disclosure provides a method for traffic forwarding, which is applied to a control apparatus in a network, including:
A. determining a switch apparatus having egress ports associated with N equal-cost paths simultaneously in the network, wherein N is equal to or greater than 2;
B. informing the switch apparatus to create a traffic distribution group, and to add egress ports on the switch apparatus associated with the N equal-cost paths to the traffic distribution group; and
C. issuing, to the switch apparatus, a first traffic table corresponding to the traffic distribution group, wherein the first traffic table includes a destination address of the N equal-cost paths and the traffic distribution group used as an egress port through which the switch apparatus forwards traffic to the destination address.
An example of the present disclosure provides a method for traffic forwarding, which is applied to a switch apparatus in a network, including:
receiving, by the switch apparatus, a traffic distribution group creation notification sent by a control apparatus in the network when the switch apparatus has egress ports associated with N equal-cost paths simultaneously, creating a traffic distribution group according to the notification, and adding egress ports on the switch apparatus associated with the N equal-cost paths to the traffic distribution group, wherein N is equal to or greater than 2;
receiving from the control apparatus a first traffic table corresponding to the traffic distribution group, wherein the first traffic table includes a destination address of the N equal-cost paths and the traffic distribution group used as an egress port; and
when traffic is forwarded to the destination address, forwarding the traffic using the traffic distribution group in the first traffic table as an egress port.
An example of the present disclosure provides an apparatus for traffic forwarding, which is a control apparatus in a network, including: a processor, a storage unit, a network card and a memory, wherein,
the storage unit is adapted to store a first traffic table;
the memory is adapted to store computer instructions;
the processor is adapted to perform following operations through executing the computer instructions:
determining a switch apparatus having egress ports associated with N equal-cost paths simultaneously in the network, wherein N is equal to or greater than 2;
informing, through the network card, the switch apparatus to create a traffic distribution group, and to add egress ports on the switch apparatus associated with the N equal-cost paths to the traffic distribution group; and
issuing, through the network card, a first traffic table corresponding to the traffic distribution group to the switch apparatus, wherein the first traffic table includes a destination address of the N equal-cost paths and the traffic distribution group used as an egress port through which the switch apparatus forwards traffic to the destination address.
An example of the present disclosure provides a switch apparatus applied to traffic forwarding, which is applied to a network, including: a processor, a switch chip and a memory, wherein,
the memory is adapted to store computer instructions;
the processor is adapted to perform following operations through executing the computer instructions:
receiving, through the switch chip, a traffic distribution group creation notification sent by a control apparatus in the network when the switch apparatus has egress ports associated with N equal-cost paths simultaneously, creating a traffic distribution group according to the notification, and adding egress ports on the switch apparatus associated with the N equal-cost paths to the traffic distribution group, wherein N is equal to or greater than 2;
receiving, through the switch chip, from the control apparatus a first traffic table corresponding to the traffic distribution group, wherein the first traffic table includes a destination address of the N equal-cost paths and the traffic distribution group used as an egress port; and
when traffic is forwarded to the destination address, forwarding, through the switch chip, the traffic using the traffic distribution group in the first OpenFlow traffic table as an egress port.
In present disclosure, physical ports on a switch apparatus are divided to take on multiple ECMP paths rather than be bound together. Hereinafter, the method provided by the present disclosure is described.
Based on Open Flow, as shown in
Block 201, a switch apparatus having egress ports associated with N equal-cost paths simultaneously in the OpenFlow network is determined, wherein N is equal to or greater than 2.
In the Open Flow network, a control apparatus holds information about apparatuses, interfaces and links of the whole network, and may calculate paths between any two apparatuses in the Open Flow network through path calculation, and rank optimized ECMP paths between these two apparatuses according to requirements of a controller. Herein, the path calculation and the determination of ECMP paths are not within the scope of the present disclosure, therefore they are not described with more emphases in the present disclosure. After that, the control apparatus determines the switch apparatus having egress ports associated with N equal-cost paths simultaneously in the ECMP paths from the Open Flow network.
Block 202, the switch apparatus is informed to create a traffic distribution group, and to add the egress ports on the switch apparatus associated with the N equal-cost paths to the traffic distribution group.
Preferably, one switch apparatus will not create only one traffic distribution group. In order to distinguish different traffic distribution groups on the same switch apparatus, a unique identifier may be configured for each traffic distribution group.
In addition, in block 202, the switch apparatus creates a traffic distribution group and adds the egress ports associated with the N equal-cost paths to the traffic distribution group, rather than binds each egress port, which ensures that one egress port is not restrict to be owned only by one traffic distribution group compared with conventional systems.
For example, as shown in
Block 203, an OpenFlow traffic table corresponding to the traffic distribution group is issued to the switch apparatus, wherein the Open Flow traffic table includes a destination address of the N equal-cost paths and the traffic distribution group used as an egress port through which the switch apparatus forwards traffic to the destination address.
Taking
By this time, description of the process shown in
In
The above
for each calculated path, the control apparatus issues, to a switch apparatus through which a calculated path passes, a second OpenFlow traffic table corresponding to an egress port of the calculated path on the switch apparatus, wherein the second OpenFlow traffic table at least includes: a destination address of the calculated path and the egress port on the switch apparatus corresponding to the calculated path.
As such, when the switch apparatus receives traffic through a port in a traffic distribution group or through a port which is not in a traffic distribution group, if there exists a first OpenFlow traffic table including a destination address of the traffic, the traffic is forwarded using the traffic distribution group in the first Open Flow traffic table as an egress port; if there exists a second Open Flow traffic table including the destination address of the traffic, the traffic is forwarded through an egress port in the second OpenFlow traffic table; namely, it is ensured that physical ports and traffic distribution groups may exist together at forwarding plane.
Wherein, that a switch apparatus forwards traffic using a traffic distribution group as an egress port may be implemented by ways of forwarding traffic through the aggregation port in conventional systems, i.e., the switch apparatus distributes, by way of HASH, the traffic to each port in the traffic distribution group for forwarding, or, the switch apparatus distributes, by way of polling, the traffic to each port in the traffic distribution group for forwarding, which ensures inter-port load balancing in the traffic distribution group; as such, it is also ensured that when a port in a traffic distribution group fails, traffic associated with the fault port will be distributed to other ports in the traffic distribution group through HASH, which achieves path fast switching of ECMP.
It can be seen from the above description, in present disclosure, traffic forwarding depends on OpenFlow techniques, rather than an existing MAC address learning mechanism, the reason is: as a traffic distribution group and a physical port appear together at forwarding plane, if it still depends on the MAC address learning mechanism to instruct layer-two forwarding, then packet forwarding through traffic distribution group could not be achieved, and then ECMP forwarding could not be achieved either. Taking
block 201′, receiving, by the switch apparatus, a traffic distribution group creation notification sent by a control apparatus in OpenFlow network when the switch apparatus has egress ports associated with N equal-cost paths simultaneously, creating a traffic distribution group according to the notification, and adding the egress ports on the switch apparatus associated with the N equal-cost paths to the traffic distribution group, wherein N is equal to or greater than 2;
block 202′, receiving from the control apparatus a first Open Flow traffic table corresponding to the traffic distribution group, wherein the first OpenFlow traffic table comprises a destination address of the N equal-cost paths and the traffic distribution group used as an egress port; and
block 203′, when traffic is forwarded to the destination address, forwarding the traffic using the traffic distribution group in the first OpenFlow traffic table as an egress port.
The method may further includes:
when the switch apparatus does not have egress ports associated with the N equal-cost paths simultaneously, receiving a second Open Flow traffic table which is issued by the control apparatus for each calculated path passing through the switch apparatus and corresponds to an egress port of each calculated path on the switch apparatus, wherein the second OpenFlow traffic table at least includes: a destination address of a calculated path and an egress port on the switch apparatus corresponding to the calculated path; and
when traffic received through a port in the traffic distribution group or through a port which is not in the traffic distribution group is forwarded through the switch apparatus, if there exists the first OpenFlow traffic table comprising a destination address of the traffic, forwarding the traffic using the traffic distribution group in the first Open Flow traffic table as an egress port; if there exists the second Open Flow traffic table comprising the destination address of the traffic, forwarding the traffic through an egress port in the second Open Flow traffic table.
In the above-mentioned method, when the traffic is forwarded using the traffic distribution group in the first OpenFlow traffic table as an egress port, the traffic may be distributed, by way of HASH or polling, to each port in the traffic distribution group for forwarding.
By this time, the description of the method provided by the present disclosure is completed. Hereinafter apparatuses provided by the present disclosure are described.
a determining unit 501, adapted to determine a switch apparatus having egress ports associated with N equal-cost paths simultaneously in OpenFlow network, wherein N is equal to or greater than 2;
an informing unit 502, adapted to inform the switch apparatus to create a traffic distribution group, and to add the egress ports on the switch apparatus associated with the N equal-cost paths to the traffic distribution group; and
an issuing unit 503, adapted to issue a first OpenFlow traffic table corresponding to the traffic distribution group to the switch apparatus, wherein the first OpenFlow traffic table includes a destination address of the N equal-cost paths and the traffic distribution group used as an egress port, so that when forwarding traffic to the destination address, the switch apparatus takes the traffic distribution group in the first OpenFlow traffic table as an egress port to forward the traffic.
The determining unit 501 may include:
a calculating sub-unit 5011, adapted to calculate paths between any two apparatuses in OpenFlow network; and
a determining sub-unit 5012, adapted to determine the switch apparatus having egress ports associated with N equal-cost paths simultaneously in the ECMP paths in the OpenFlow network when there exist optimal ECMP paths in the paths calculated by the calculating sub-unit 5011.
The control apparatus may further include:
a routing unit 504, adapted to issue, for each path calculated by the calculating sub-unit 5011, a second OpenFlow traffic table to a switch apparatus through which a calculated path passes when the determining sub-unit 5012 determines that the switch apparatus does not have egress ports associated with N equal-cost paths simultaneously in the OpenFlow network; wherein the second OpenFlow traffic table corresponds to an egress port of the calculated path on the switch apparatus and at least includes: a destination address of the calculated path and the egress port on the switch apparatus corresponding to the calculated path.
Therefore, when the switch apparatus receives traffic through a port in the traffic distribution group or through a port which is not in the traffic distribution group, if there exists a first OpenFlow traffic table including a destination address of the traffic, the traffic is forwarded using the traffic distribution group in the first OpenFlow traffic table as an egress port; if there exists a second OpenFlow traffic table including the destination address of the traffic, the traffic is forwarded through an egress port in the second OpenFlow traffic table.
The above-mentioned units may be implemented by software (e.g. machine readable instructions stored in a memory and executable by a processor), hardware (e.g., the processor of an application specific integrated circuit (ASIC)), or a combination thereof, which is not restricted by the example of the present disclosure.
Implementation for each unit of the above-mentioned control apparatus in hardware is shown in
the storage unit 602 is adapted to store a first OpenFlow traffic table;
the memory 604 is adapted to store computer instructions;
the processor 601 is adapted to perform following operations through executing the computer instructions:
determining a switch apparatus having egress ports associated with N equal-cost paths simultaneously in the OpenFlow network, wherein N is equal to or greater than 2;
informing, through the network card 603, the switch apparatus to create a traffic distribution group, and to add the egress ports on the switch apparatus associated with the N equal-cost paths to the traffic distribution group; and
issuing, through the network card 603, a first OpenFlow traffic table corresponding to the traffic distribution group to the switch apparatus, wherein the first OpenFlow traffic table includes a destination address of the N equal-cost paths and the traffic distribution group used as an egress port through which the switch apparatus forwards traffic to the destination address.
Preferably, the processor 601 is adapted to perform following operations through executing the computer instructions:
calculating paths between any two apparatuses in OpenFlow network; and
determining the switch apparatus having egress ports associated with N equal-cost paths simultaneously in the ECMP paths from the OpenFlow network when there exists optimal ECMP paths in the calculated paths.
Preferably, the storage unit 602 is further adapted to store a second OpenFlow traffic table;
the processor 601 is adapted to perform following operations through executing the computer instructions:
when it is determined that the switch apparatus does not have egress ports associated with N equal-cost paths simultaneously in the OpenFlow network, for each calculated path, issuing, through the network card 603, to the switch apparatus through which a calculated path passes, a second OpenFlow traffic table corresponding to an egress port of the calculated path on the switch apparatus; wherein the second OpenFlow traffic table at least includes: a destination address of the calculated path and the egress port on the switch apparatus corresponding to the calculated path.
Therefore, when the switch apparatus receives traffic through a port in the traffic distribution group or through a port which is not in the traffic distribution group, if there exists a first OpenFlow traffic table including a destination address of the traffic, the traffic is forwarded using the traffic distribution group in the first Open Flow traffic table as an egress port; if there exists a second Open Flow traffic table including the destination address of the traffic, the traffic is forwarded through an egress port in the second Open Flow traffic table.
As can be seen from the above description, when the computer operations stored in the memory 604 are executed by the processor 601, functions of the determining unit 501 and the routing unit 504 are implemented, and functions of the informing unit 502 and the issuing unit 503 are implemented through the network card 603, therefore the hardware structure of the control apparatus provided by the example of the present disclosure can also be shown in
Preferably, the present disclosure further provides a switch apparatus applied to traffic forwarding, the switch apparatus is applied to Open Flow network.
a traffic distribution group creating unit 701, adapted to receive a traffic distribution group creation notification sent by a control apparatus (OpenFlow Controller) in the Open Flow network when the switch apparatus has egress ports associated with N equal-cost paths simultaneously, create a traffic distribution group according to the notification, and add the egress ports on the switch apparatus associated with the N equal-cost paths to the traffic distribution group, wherein N is equal to or greater than 2;
a receiving unit 702, adapted to receive from the control apparatus a first OpenFlow traffic table corresponding to the traffic distribution group, wherein the first OpenFlow traffic table includes a destination address of the N equal-cost paths and the traffic distribution group used as an egress port; and
a forwarding unit 703, adapted to forward traffic using the traffic distribution group in the first OpenFlow traffic table as an egress port when the traffic is forwarded to the destination address.
Preferably, in the present disclosure, when the switch apparatus does not have egress ports associated with N equal-cost paths simultaneously, the receiving unit 702 is further adapted to receive a second OpenFlow traffic table which is issued by the control apparatus for each calculated path passing through the switch apparatus and corresponds to an egress port of each calculated path on the switch apparatus, wherein the second OpenFlow traffic table at least includes: a destination address of the path and the egress port on the switch apparatus corresponding to the path.
Based on this, when forwarding traffic received through a port in the traffic distribution group or through a port which is not in the traffic distribution group, if there exists a first OpenFlow traffic table including a destination address of the traffic, the forwarding unit 703 is further adapted to forward the traffic using the traffic distribution group in the first OpenFlow traffic table as an egress port; if there exists a second OpenFlow traffic table including the destination address of the traffic, the forwarding unit 703 is further adapted to forward the traffic through an egress port in the second Open Flow traffic table.
The forwarding unit 703 is adapted to forward the traffic using the traffic distribution group as the egress port by distributing, by way of HASH or polling, the traffic to each port in the traffic distribution group for forwarding.
The above-mentioned units may be implemented by software (e.g. machine readable instructions stored in a memory and executable by a processor), hardware (e.g. the processor of an ASIC), or a combination thereof, which is not restricted by the example of the present disclosure.
Implementation for each units of the above-mentioned switch apparatus in hardware may is shown in
the memory 803 is adapted to store computer instructions;
the processor 801 is adapted to perform following operations through executing the computer instructions:
receiving, through the switch chip 802, a traffic distribution group creation notification sent by a control apparatus in the Open Flow network when the switch apparatus has egress ports associated with N equal-cost paths simultaneously, creating a traffic distribution group according to the notification, and adding the egress ports on the switch apparatus associated with the N equal-cost paths to the traffic distribution group, wherein N is equal to or greater than 2;
receiving, through the switch chip 802, from the control apparatus a first OpenFlow traffic table corresponding to the traffic distribution group, wherein the first OpenFlow traffic table includes a destination address of the N equal-cost paths and the traffic distribution group used as an egress port; and
when traffic is forwarded to the destination address, forwarding, through the switch chip 802, the traffic using the traffic distribution group in the first Open Flow traffic table as an egress port.
Preferably, the processor 801 is adapted to perform following operations through executing the computer instructions:
when the switch apparatus does not have egress ports associated with N equal-cost paths simultaneously, receiving, through the switch chip 802, a second OpenFlow traffic table which is issued by the control apparatus for each calculated path passing through the switch apparatus and corresponds to an egress port of each calculated path on the switch apparatus, wherein the second OpenFlow traffic table at least includes: a destination address of a calculated path and an egress port on the switch apparatus corresponding to the calculated path; and
when traffic received through a port in the traffic distribution group or through a port which is not in the traffic distribution group is forwarded through the switch chip 802, if there exists a first OpenFlow traffic table including a destination address of the traffic, forwarding, through the switch chip 802, the traffic using the traffic distribution group in the first OpenFlow traffic table as an egress port; if there exists a second OpenFlow traffic table including the destination address of the traffic, forwarding, through the switch chip 802, the traffic through an egress port in the second Open Flow traffic table.
Preferably, the processor 801 is further adapted to perform following operations through executing the computer instructions:
when forwarding, through the switch chip 802, the traffic using the traffic distribution group in the first Open Flow traffic table as the egress port, distributing, by way of HASH or polling, the traffic to each port in the traffic distribution group for forwarding.
As can be seen from the above description, when the computer operations stored in the memory 803 are executed by the processor 801, function of the traffic distribution group creating unit 701 is implemented, and functions of the receiving unit 702 and the forwarding unit 703 are implemented through the switch chip 802, therefore the hardware structure of the switch apparatus provided by the example of the present disclosure can also be shown in
By this time, the descriptions of the apparatuses provided by the present disclosure are completed.
As can be seen from the above technical solution, in the present disclosure, a control apparatus in OpenFlow network determines a switch apparatus having egress ports associated with N equal-cost paths simultaneously in OpenFlow network, informs the switch apparatus to create a traffic distribution group and to add the egress ports on the switch apparatus associated with the N equal-cost paths to the traffic distribution group; and, issues a first OpenFlow traffic table to the switch apparatus, wherein the first OpenFlow traffic table includes a destination address of the N equal-cost paths and the traffic distribution group used as an egress port through which the switch apparatus forwards traffic to the destination address. Compared with conventional systems in which one physical port can only be bound to one aggregation port, the technical solution of the present disclosure divides physical ports on the switch apparatus in logic, rather than binds the physical ports on the switch apparatus, which ensures that one physical port may belong to several traffic distribution groups, improves the ability of a physical port to associate with multiple ECMP paths, and ensures that L2 ECMP can be applied to scenarios like mesh networking.
The above examples can be implemented by hardware, software or firmware or a combination thereof. For example the various methods, processes and functional units described herein may be implemented by a processor (the term processor is to be interpreted broadly to include a CPU, processing unit, ASIC, logic unit, or programmable gate array etc.). The processes, methods and functional units may all be performed by a single processor or split between several processors; reference in this disclosure or the claims to a ‘processor’ should thus be interpreted to mean ‘one or more processors’. The processes, methods and functional units be implemented as machine readable instructions executable by one or more processors, hardware logic circuitry of the one or more processors or a combination thereof. Further the teachings herein may be implemented in the form of a software product. The computer software product is stored in a non-transitory storage medium and comprises a plurality of instructions for making a computer apparatus (which can be a personal computer, a server or a network apparatus such as a router, switch, access point etc.) implement the method recited in the examples of the present disclosure.
The figures are only illustrations of an example, wherein the units or procedure shown in the figures are not necessarily essential for implementing the present disclosure. The units in the aforesaid examples can be combined into one unit or further divided into a plurality of sub-units.
The above are just several examples of the present disclosure, and are not used for limiting the protection scope of the present disclosure. Any modifications, equivalents, improvements, etc., made under the principle of the present disclosure should be included in the protection scope of the present disclosure.
Number | Date | Country | Kind |
---|---|---|---|
201210023000.4 | Feb 2012 | CN | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/CN2013/070914 | 1/24/2013 | WO | 00 | 7/23/2014 |