WO2019007109A1 - 链路聚合系统、方法、装置、设备及介质 - Google Patents

链路聚合系统、方法、装置、设备及介质 Download PDF

Info

Publication number
WO2019007109A1
WO2019007109A1 PCT/CN2018/080784 CN2018080784W WO2019007109A1 WO 2019007109 A1 WO2019007109 A1 WO 2019007109A1 CN 2018080784 W CN2018080784 W CN 2018080784W WO 2019007109 A1 WO2019007109 A1 WO 2019007109A1
Authority
WO
WIPO (PCT)
Prior art keywords
switch
data packet
link aggregation
forwarding information
server
Prior art date
Application number
PCT/CN2018/080784
Other languages
English (en)
French (fr)
Inventor
王龙江
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2019007109A1 publication Critical patent/WO2019007109A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • H04L45/245Link aggregation, e.g. trunking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks

Definitions

  • the present invention relates to a link aggregation system, method, apparatus, device and medium.
  • Software Defined Network (English name: Software Defined Networking, abbreviation: SDN), is a relatively new network design concept, its core idea is to separate the network device control from the data plane, centralized network control, open programmable interface.
  • the SDN controller shields the difference between the underlying physical forwarding devices through a standard southbound interface, such as the well-known OpenFlow protocol, and implements virtualization of resources.
  • a flexible northbound interface is opened for upper-layer services to perform network configuration and call on demand. Internet resources.
  • the link aggregation group (English name: Link Aggregation Group, LAG) and the multi-switch link aggregation group (English name: Multi-Chassis Link Aggregation Group, abbreviation: MC-LAG) are commonly used in data centers. It is used to expand the bandwidth of the link, improve the reliability of network connection, and simplify the operation and maintenance of data. LAG and MC-LAG technologies are widely used in traditional network architectures and SDNs.
  • Link aggregation can be used to bundle multiple links into one logical link. The bundled link bandwidth is for each independent link. The sum of bandwidth. Multiple links are backups of each other. When one link is disconnected, traffic is automatically redistributed among the remaining links.
  • FIG. 1A shows the MC-LAG solution in a traditional network.
  • the server forms LAG1 and LAG2 with two switches respectively, and then combines LAG1 and LAG2 into one MC-LAG.
  • the MC-LAG PEERS connection is reserved between the two Leaf switches for mutual status monitoring and information exchange between the switches.
  • the traditional device vendors have many MC-LAG configuration entries, and the configuration process is complicated, which is very error-prone and is not compatible with the software-defined data center network based on the openflow protocol.
  • the existing solution for the MC-LAG is shown in Figure 1B.
  • the server forms LAG1 and LAG2 with two switches respectively, and then combines LAG1 and LAG2 into one MC-LAG.
  • bond0, bond2, bond3, and bond4 are ports that require the switch to configure port channels.
  • bond4 requires the switch to support LACP.
  • the traditional network uses the linux bond mode 4 of the server, that is, the 802.3ab load balancing mode is adopted, and the switch also supports the 802.3ab mode.
  • the NIC bandwidth can be doubled (such as from 1Gbps to 2Gbps).
  • the existing MC-LAG solution needs to be manually configured on the switch to support the port channel. The manual configuration error rate is high and the configuration cannot be dynamically adjusted in real time.
  • a first aspect of the present application provides a link aggregation system including a switch, a controller, and a server, where the switch and the controller establish a communication connection, and the switch establishes a communication connection with the server, where
  • the switch is configured to receive a data packet from the server, and generate data forwarding information corresponding to the data packet, including: a packet header information of the data packet and a port number of the switch that receives the data packet, where the packet header information of the data packet may include: a source MAC address, Source IP address destination MAC address, destination IP address, and virtual local area network VLAN ID; send data forwarding information corresponding to the data packet to the controller;
  • the controller is configured to store data forwarding information corresponding to multiple data packets sent by the switch, and confirm that the at least two switch ports of the switch meet the link aggregation condition according to the data forwarding information corresponding to the multiple data packets; An indication message;
  • the switch is configured to configure the logical port according to the first indication information; receive the first subsequent data packet, and send the first subsequent data packet through the logical port, where the destination MAC address of the first subsequent data packet is the source MAC address.
  • the link aggregation condition includes: the source MAC address and the VLAN ID in the data forwarding information corresponding to the at least two switch ports of the switch are the same.
  • a second aspect of the present application provides a link aggregation system, where the system includes a plurality of switches, controllers, and servers, and a plurality of switches and controllers establish a communication connection, and a plurality of switches and servers establish a communication connection, wherein
  • the plurality of switches are configured to receive data packets from the server, and generate data forwarding information corresponding to the data packet, where the data forwarding information corresponding to the data packet includes a source MAC address, a virtual local area network VLAN ID, an ID of the switch that receives the data packet, and a receiving The port number of the switch of the data packet; the data forwarding information corresponding to the data packet is sent to the controller;
  • a controller configured to store data forwarding information corresponding to multiple data packets sent by multiple switches; confirm that at least two switch ports meet link aggregation conditions according to data forwarding information corresponding to multiple data packets; and establish a source MAC address and Corresponding to the relationship between at least two switches where the switch port of the link aggregation condition is located;
  • the hop switch of the at least two switches of the switch that meets the link aggregation condition of the plurality of switches is configured to receive the second subsequent data packet, where the destination MAC address of the second subsequent data packet is the source MAC address;
  • a controller configured to select one switch from at least two switches in which the switch port that meets the link aggregation condition is located, and send the switch to a common previous hop switch of at least two switches where the switch port that meets the link aggregation condition is located.
  • the second indication information indicates that the last hop switch sends the second subsequent data packet to the selected switch.
  • the link aggregation condition includes: the source MAC address and the VLAN ID in the data forwarding information corresponding to the at least two switch ports are the same, and the ID of the switch is different.
  • a third aspect of the present application provides a link aggregation method, including:
  • each piece of data forwarding information includes: a source MAC address, a virtual local area network VLAN ID, an ID of a switch that receives the data packet, and a port number of a switch that receives the data packet;
  • This method simplifies the configuration process of link aggregation and realizes the automation of configuration.
  • the link aggregation condition includes: the source MAC address, the VLAN ID, and the ID of the switch in the data forwarding information corresponding to the at least two switch ports are the same.
  • the at least two switch ports that are aggregated according to the link aggregation condition include:
  • the first indication information is used to indicate a switch configuration logical port where at least two switch ports that meet the link aggregation condition are located, so as to conform to the link.
  • the switch of the at least two switch ports of the aggregation condition receives the first subsequent data packet with the source MAC address as the destination MAC address, the first subsequent data packet is sent through the logical port.
  • the link aggregation condition includes: the source MAC address and the VLAN ID in the data forwarding information corresponding to the at least two switch ports are the same and the ID of the switch is different.
  • the at least two switch ports that are aggregated according to the link aggregation condition include:
  • the second indication information Sending, to the common last hop switch of the at least two switches that are the switch ports that meet the link aggregation condition, the second indication information, where the second indication information is used to indicate that the last hop switch sends the second subsequent data packet to the selected one. switch.
  • the controller monitors that the data stream carrying the same source IP address or the same source MAC address flows into the port of the different switch, the port of the different switch is bound to an MC-LAG, and seven network cards for the Linux server are implemented. Automated configuration support for binding mode.
  • a fourth aspect of the present application provides a link aggregation apparatus, the apparatus comprising:
  • a receiving unit configured to receive a plurality of pieces of data forwarding information, where each piece of data forwarding information includes: a source MAC address, a virtual local area network VLAN ID, an ID of a switch that receives the data packet, and a port number of the switch;
  • a processing unit configured to store the plurality of pieces of data forwarding information in the forwarding information table; confirming that at least two switch ports meet the link aggregation condition according to the data forwarding information in the forwarding information table; and the aggregation conforms to the link aggregation condition At least two switch ports.
  • the link aggregation condition includes: the source MAC address and the VLAN ID in the data forwarding information corresponding to the at least two switch ports are the same and the ID of the switch is different.
  • processing unit further includes a transmitting subunit configured to:
  • the switch And sending, by the switch, where the at least two switch ports that meet the link aggregation condition are located, the first indication information, where the first indication information is used to indicate that the switch configuration logical port of the at least two switch ports that meet the link aggregation condition is configured to comply with the link.
  • the switch of the at least two switch ports of the aggregation condition receives the first subsequent data packet with the source MAC address as the destination MAC address, the first subsequent data packet is sent through the logical port.
  • the link aggregation condition includes: the source MAC address and the VLAN ID in the data forwarding information corresponding to the at least two switch ports are the same and the ID of the switch is different.
  • processing unit further includes a transmitting subunit configured to:
  • the second indication information Sending, to the common last hop switch of the at least two switches that are the switch ports that meet the link aggregation condition, the second indication information, where the second indication information is used to indicate that the last hop switch sends the second subsequent data packet to the selected one. switch.
  • a fifth aspect of the present application provides a computing device, including a processor, a memory, and a processor establishing a communication connection with the memory;
  • a processor for reading a program in the memory to perform the method provided by any of the foregoing third or third aspects.
  • a sixth aspect of the present application provides a nonvolatile storage medium having stored therein a program, the computing device performing the foregoing third aspect or the third aspect when the program is executed by the computing device A method provided by an implementation.
  • a seventh aspect of the present application provides a computer program product, comprising: program code, when the computer program product is executed by a controller, the controller performs any of the foregoing third aspect or the third aspect Methods.
  • the computer program product can be a software installation package, and if the method provided by any of the foregoing third aspect or the third aspect is required, the computer program product can be downloaded to the controller and on the controller. Run the computer program product.
  • the invention realizes the automatic configuration support for the seven network card binding modes of the linux server by monitoring the global traffic flow table controlled by the SDN. Achieve full SDN of configuration and forwarding functions, reducing the possibility of operation and maintenance configuration errors. Compared with the traditional manual configuration, the error rate is reduced and real-time dynamic adjustment is realized.
  • the existing solution for the fault of the MC-LAG is as shown in Figure 2.
  • the two leaf switches reserve a certain bandwidth connection for traffic migration when the fault occurs.
  • the traffic sent from the Spine1 switch when processed by the Leaf1 switch, puts the connection between the two Leaf switches and the LAG1 between Leaf1 and the server in the same group table that supports fast failover (group table).
  • group table group table
  • the connection between the switches is used as a backup of LAG1.
  • LAG1 fails, traffic will be transferred from Leaf1 to Leaf2 and from LAG2 to the server.
  • an eighth aspect of the present application provides a system including a controller, a server, a first switch, and a second switch, the first switch establishes a communication connection with the controller and the server, and the second switch and the control Establishing a communication connection with the server, the first switch and the second switch form a multi-switch link aggregation group, where
  • a controller configured to use, by the first switch, an input port for receiving a data packet from the last hop switch as a backup outlet of a communication connection between the first switch and the server;
  • a first switch configured to receive a data packet from a previous hop switch and destined for a server; when the first communication connection fails, send a fault information to the controller, and send the data packet back to the previous hop through the backup exit switch;
  • the last hop switch is configured to receive a data packet sent back by the first switch, and send a flow table request to the controller;
  • the controller is configured to send a flow table to the upward hop switch after receiving the flow table request;
  • a last hop switch for transmitting a data packet to the second switch according to the flow table
  • the second switch is configured to send the data packet to the server by using a communication connection between the second switch and the server.
  • a ninth aspect of the present application provides a link fault processing method, including:
  • the input port used by the first switch to receive the data packet from the last hop switch is configured as a backup exit of the communication connection between the first switch and the server;
  • the upstream hop switch After receiving the flow table request sent by the last hop switch after receiving the data packet sent back by the first switch, the upstream hop switch sends a flow table to instruct the previous hop switch to send the data packet to the second switch, to The data packet is sent to the server through a communication connection between the second switch and the server.
  • a tenth aspect of the present application provides a link failure processing apparatus, the apparatus comprising:
  • a configuration unit configured to use a first switch to receive an input port of a data packet from the last hop switch as a backup outlet of a communication connection between the first switch and the server;
  • the processing unit is configured to, when receiving the information that the first switch exchanges the communication connection that is sent when the data packet from the previous hop switch is the server, instructing the first switch to send the data packet back through the backup exit
  • the last hop switch receives the flow table request sent by the previous hop switch after receiving the data packet sent back by the first switch, and sends a flow table to the upper hop switch to instruct the previous hop switch to send the data packet to the switch.
  • the second switch sends the data packet to the server through a communication connection between the second switch and the server.
  • An eleventh aspect of the present application provides a computing device, where the device includes a processor and a memory, and the processor establishes a communication connection with the memory;
  • the processor is configured to read a program in the memory to perform the link fault processing method provided in any one of the foregoing ninth or ninth aspects.
  • a twelfth aspect of the present application provides a nonvolatile storage medium having a program stored in a nonvolatile storage medium, the computing device performing the foregoing ninth or ninth aspect when the program is run by the computing device A link fault handling method provided by any implementation.
  • a thirteenth aspect of the present application provides a computer program product, comprising: program code, when the computer program product is executed by a controller, the controller performs any of the foregoing ninth or ninth aspects
  • the computer program product can be a software installation package, and if the method provided by any of the foregoing ninth or ninth aspects is required, the computer program product can be downloaded to the controller and on the controller. Run the computer program product.
  • the present invention no longer needs to use the backup connection between the switches to ensure the high availability of the system, thereby improving the uplink and downlink bandwidth of the system; simplifying the complexity of the system wiring and saving the port.
  • the switch throughput capacity is increased, and the problem of traffic congestion and packet loss during traffic migration is avoided when the reserved port bandwidth between the switches is insufficient.
  • Figure 1A is a schematic diagram of a conventional MC-LAG solution.
  • Figure 1B is a schematic diagram of an MC-LAG solution in an SDN network.
  • Figure 2 is a schematic diagram of an MC-LAG solution in a conventional SDN network in the event of a failure.
  • FIG. 3 is a flow chart showing an overview of a link aggregation method in accordance with an embodiment of the present invention.
  • FIG. 4 is a detailed flow diagram of a link aggregation method of a single switch according to an embodiment of the present invention.
  • 5A is a schematic diagram of an automated configuration system for a LAG, in accordance with an embodiment of the present invention.
  • FIG. 5B is one diagram of a schematic diagram of a sent message sent by a switch receiving a data packet to a controller according to an embodiment of the present invention.
  • FIG. 6 is a schematic diagram of a forwarding information table in the controller of the configuration shown in FIG. 5A.
  • FIG. 7 is a flow chart showing a link aggregation method of a multi-switch according to an embodiment of the present invention.
  • FIG. 8A is a schematic diagram of an automated configuration system for an MC-LAG, in accordance with an embodiment of the present invention.
  • 8B is a second schematic diagram of a sent message sent by a switch receiving a data packet to a controller, in accordance with an embodiment of the present invention.
  • FIG. 9 is a schematic diagram of a forwarding information table in the controller of the configuration shown in FIG. 8B.
  • FIG. 10 is a flow chart showing a link aggregation fault monitoring and link switching method according to an embodiment of the present invention.
  • FIG. 11 is a schematic diagram of a link aggregation fault monitoring and link switching system in accordance with an embodiment of the present invention.
  • a data stream consists of a series of packets with the same header.
  • a switch (including a leaf switch, a spine switch) can be a physical switch or a virtual switch.
  • the switch port is a physical port.
  • the switch port is a virtual port.
  • the invention proposes a method for implementing LAG and MC-LAG in a software defined data center network (English name: Software Defined Data Center Network, abbreviation: SDDCN).
  • SDDCN Software Defined Data Center Network
  • the SDN controller monitors the status of each SDN switch to replace the MC-LAG PEERS function in the traditional MC-LAG solution. Through the popular monitoring function of the controller, the ports of the same switch are automatically configured to form a LAG, and the ports between different switches form an MC-LAG.
  • the controller when the controller monitors that a data stream carrying the same source MAC address flows into a plurality of ports of a switch, the plurality of ports of the switch are bound as one LAG.
  • the controller monitors that the data flows carrying the same source MAC address flow into the ports of different switches, the ports of these different switches are bound as one MC-LAG.
  • FIG. 3 shows a flow chart of a link aggregation method in accordance with an embodiment of the present invention.
  • a link aggregation method of a switch includes the following steps:
  • Step S301 receiving a plurality of pieces of data forwarding information, where each piece of data forwarding information includes: a source MAC address, a virtual local area network VLAN ID, an ID of a switch that receives the data packet, and a switch of the switch that receives the data packet.
  • the port number includes: a source MAC address, a virtual local area network VLAN ID, an ID of a switch that receives the data packet, and a switch of the switch that receives the data packet.
  • Step S302 storing the multiple pieces of data forwarding information in a pre-configured forwarding information table
  • Step S303 confirming, according to the data forwarding information in the forwarding information table, that at least two switch ports meet the link aggregation condition;
  • Step S304 the at least two switch ports that meet the link aggregation condition are aggregated.
  • FIG. 5A shows a schematic diagram of an automated configuration system for a LAG, including the controller 40, the server 30, the switches Leaf1 10, and the Leaf 2 20, wherein the switch 10 includes two ports 101 and 102, in accordance with an embodiment of the present invention. .
  • link aggregation in a single switch includes the following steps:
  • step S401 the switch 10 receives the data packet from the server through the port. As shown in FIG. 5A, the data packet is sent from the port of the server 30 to the port 101 of the first switch (ie, Leaf1) 10.
  • the first switch 10 forwards the data including the packet header information in the data packet, the ID of the switch receiving the data packet, and the port number of the switch receiving the data packet.
  • the information is sent to the controller 40 in the form of, for example, a packet in message, as shown in Figure 5B.
  • each data packet corresponds to one data forwarding information (the same is hereinafter).
  • the packet header information includes: a source MAC address, a source IP address, and a virtual local area network VLAN ID.
  • the packet header information includes any one of 32-bit IP header information such as DMAC, SMAC, VLAN, DIP, and SIP, or Several.
  • step S403 after receiving the data forwarding information sent by the switch 10, the controller 40 records the data forwarding information in a pre-configured forwarding information table in the database of the controller and stores the forwarding information table as shown in FIG. 6.
  • the server then sends a data packet from the port to the second port of the first switch (ie, port 102 of Leaf 110 in FIG. 5A).
  • the steps S402-S404 are repeated, after the first switch 10 receives the data packet, the packet header information of the data packet, the ID of the switch that receives the data packet, and the port number of the switch that receives the data packet, and the like.
  • the composed data forwarding information is sent to the controller 40 in the form of, for example, a sent message, as shown in FIG. 5B.
  • the controller 40 After receiving the forwarding information sent by the switch, the controller 40 adds a data forwarding information record to the forwarding information table, as shown in FIG. 6.
  • the forwarding information record is the second forwarding record, then, proceeding to step S405, the controller 40 according to the switch data path ID (switch dpid) in the forwarding information table, the input port number (input port) virtual local area network VLAN ID and The source MAC address (Src_MAC) determines that the data packets received by the ports 101 and 102 of the first switch carry the same source MAC address and belong to the same subnet, and confirm that the link aggregation conditions are met between the ports 101 and 102 of the first switch 10, That is, port 101 and port 102 can form a LAG, that is, aggregate port 101 and port 102.
  • the controller configures the port 101 and the port 102 to be the same port channel by delivering the configuration policy to the first switch 10 (Leaf1), that is, configuring the ports 101 and 102 as one logical port on the switch side. .
  • the link aggregation port of the switch is not limited to two ports, as long as it is under the same switch, and the data packets sent and received are from the same server.
  • Such multiple ports can be configured as the same logical port according to the above method to form a LAG.
  • Step S407-S408 since the logical port corresponds to the port 101 and the port 102, each data packet sent to the logical port is sent to the server 30 through the port 101 or the port 102 according to a certain method. Therefore, the link between the port 101 and the server 30, the link between the port 102 and the server 30 are aggregated, and the aggregated link bandwidth is larger. In this way, through the global traffic flow table monitoring controlled by SDN, the automatic configuration support for the seven network card binding modes of the Linux server is realized. The comprehensive SDN of the configuration and forwarding functions reduces the possibility of configuration errors compared to the traditional manual configuration.
  • FIG. 7 shows a flow chart of a link aggregation method for a multi-switch according to an embodiment of the present invention.
  • 8A shows a schematic diagram of an automated configuration system of an MC-LAG according to an embodiment of the present invention.
  • a controller 40 a server 30, and a first switch Leaf1 10 and a second switch Leaf2 20 are included.
  • Each switch includes two ports, namely, Leaf1 includes ports 101 and 102, and Leaf2 includes ports 201 and 202.
  • FIG. 8A the idea of the present invention is explained by taking two switches as an example, but those skilled in the art should realize that this is not a limitation on the number, and the method can be applied to three. Or more switches.
  • the first switch 10 (ie, Leaf1) performs link aggregation of a single switch, as shown by S701-S704 in FIG. 7, which is substantially the same as steps S401-S404 in FIG. 4, and the description is omitted here.
  • step S705 it is determined whether the link aggregation conditions are met between different physical ports of the switch, and it is assumed that the ports 101 and 102 of the first switch 10 meet the link aggregation condition, and the LAG can be formed, that is, if yes in step S705, Proceeding to step S706, the controller configures the ports 101 and 102 as the same port channel by delivering the configuration policy to Leaf1, that is, configuring the ports 101 and 102 as one logical port on the switch side. So far, the configuration of the first LAG of the first switch 10 (ie, LAG1 in FIG. 8A) is completed.
  • the two ports 101 and 102 are exemplified herein, but those skilled in the art should understand that this is not a limitation on the number.
  • the step S701 is repeated, and the server sends a data packet from the port to the first port 201 of the second switch 20 (ie, Leaf 2).
  • the switch 20 will receive the packet header information (for example, may include any one or more of DMAC, SMAC, VLAN, DIP, SIP, etc.), the receiving station.
  • the data forwarding information consisting of the ID of the switch of the data packet and the port number of the switch receiving the data packet is sent to the controller 40 in the form of, for example, a sent message, as shown in FIG. 8B.
  • the controller 40 After receiving the data forwarding information sent by the switch 20, the controller 40 adds a data forwarding information record to the forwarding information table, as shown in FIG. At this time, the data forwarding information record is the third forwarding record, that is, NO at step S704. At this time, the process proceeds to step S705. At this time, the controller according to the switch data path ID (switch dpid) in the forwarding information table, Enter the port number and source address information (Src_MAC) to determine whether it is under the same switch and whether a LAG can be formed. In this example, as the first port 201 of the second switch 20, no other port can form a LAG with it, that is, if the determination in step S705 is NO, the process proceeds to step S706.
  • switch data path ID switch dpid
  • Src_MAC port number and source address information
  • step S706 based on the information in the forwarding information table shown in FIG. 9, it is determined whether the first port 201 of the second switch 20 and the port or logical port that previously transmitted and received data meet the link aggregation condition, and whether the MC-LAG can be formed. If not, the process returns to step S701, and the switch waits to receive the next data packet.
  • the controller can determine, according to the switch dpid, input port, and Src_MAC information in the forwarding information table, that the first port 201 of the second switch 20 and the logical port of the LAG1 of the first switch 10 can form one under different switches.
  • the group MC-LAG is YES in step S706.
  • step S709 the controller configures the first port 201 of the Leaf2 and the logical port of the LAG1 of the Leaf1 as the same port channel, so that the first port 201 of the Leaf2 and the logical port of the LAG1 of the Leaf1 form an MC-LAG. .
  • steps S710 and S711 may be further included.
  • the controller controls the downstream flow table to the second switch 20.
  • the second switch 20 forwards according to the flow rule of the flow table. .
  • the controller 40 can obtain the current network load status according to the current network load status. Select one of the switches in the MAC-LAG, that is, Leaf1 and Leaf2, for example, Leaf1, and send a flow table to Spine1, instructing Spine1 to send subsequent packets received to the selected switch Leaf1, and forwarded to the server by Leaf1 through LAG1.
  • the controller 40 may select Leaf2 and send a flow table to Spine1, instructing Spine1 to send the received subsequent data packet to the selected switch Leaf2, and forwarded by Leaf2 to the server 30 through port 201, thereby implementing data flow. Balanced distribution. Subsequently, step S701 is repeated, and the server sends a data packet from the port to the second port 202 of the second switch 20.
  • steps S702-S705 are repeated.
  • the ports 201 and 202 of the second switch Leaf2 are under the same switch, and the received data packets are from the same server, and the link aggregation condition is met, and the LAG can be formed. That is, YES in step S705.
  • step S707 the controller configures the ports 201 and 202 of the leaf2 to be the same port channel by delivering the configuration policy to the leaf2, that is, configuring the first port 201 and the second port 202 of the leaf2 on the second switch side.
  • a second LAG ie, LAG2 in FIG. 8A is formed for one logical port, that is, ports 201 and 202 of Leaf2.
  • step S708 it is determined whether the second LAG logical port and the logical port or port of the other LAG can form an MC-LAG, and the controller can determine, according to the information in the forwarding information table, that the LAG2 and the Leaf1 of the Leaf2 are under different switches.
  • LAG1 can form a group of MC-LAGs, that is, YES in step S708.
  • the controller configures the logical port of LAG2 of Leaf2 and the logical port of LAG1 of Leaf1 as the same port channel, so that the logical port of Leaf2 and the logical port of Leaf1 become the same logical port (step S709).
  • the sequence of steps of S705-S709 is not limited, but can be performed in a different order.
  • the second port 202 of the second switch 20 may be configured as a logical port with the first port 201 to form a LAG2, and then form a set of MCs with the LAG1 of the first switch. - LAG;
  • the second port 202 of the second switch 20 (Leaf 2) and the LAG1 may be configured to form an MC-LAG, and then the second port 202 of the Leaf 2 and the first port 201 are configured as a logical port. LAG2, and then the entire LAG1 and LAG2 form an MC-LAG.
  • steps S710 and S711 may be further included.
  • the controller controls the downstream flow table to the corresponding second switch 20.
  • the second switch 20 according to the flow rule of the flow table. Forward.
  • the controller 40 can be based on the current network load status.
  • One of the switches in the MAC-LAG ie, Leaf1 and Leaf2
  • Leaf1 sends a flow table to Spine1, instructing Spine1 to send subsequent packets to the selected Leaf1, and forwarded by Leaf1 through LAG1.
  • Server 30 sends a flow table to Spine1, instructing Spine1 to send subsequent packets to the selected Leaf1, and forwarded by Leaf1 through LAG1.
  • the controller monitors the traffic carrying the same MAC address, and flows from different ports of different switches or different ports of the same switch, the different ports of the same switch are automatically bound to LAG, and the logic of different switches is used.
  • the port or port is automatically bound to the MC-LAG, eliminating manual configuration and reducing the possibility of errors.
  • switches Leaf1 and Leaf2, each with two port examples for corresponding description, but those skilled in the art will appreciate that this is merely an illustration and not a limitation on the specific number or type.
  • a link aggregation apparatus including:
  • a receiving unit configured to perform a receiving step performed by a controller side corresponding to step S402 in the method illustrated in FIG. 4;
  • the processing unit is configured to perform steps S403 to S406 performed by the controller side in the method illustrated in FIG. 4.
  • another link aggregation apparatus including:
  • a receiving unit configured to perform step S702 performed by the controller side in the method illustrated in FIG. 7;
  • the processing unit is configured to perform steps S703 to S710 performed by the controller side in the method illustrated in FIG. 7.
  • a computing device comprising a processor and a memory, the processor and the memory establishing a communication connection, the processor for reading a program in the memory to perform the method of FIG.
  • the steps performed by the controller side in the illustrated method include steps S403-S406.
  • the SDN controller can be implemented by the computing device.
  • another computing device including a processor and a memory, the processor and the memory establishing a communication connection, the processor for reading a program in the memory to execute FIG.
  • the steps performed by the controller side in the illustrated method include steps S702-S710.
  • the SDN controller can be implemented by the computing device.
  • a non-volatile storage medium storing a program in the non-volatile storage medium, the program being executed by the computing device when the program is executed by the computing device.
  • the steps performed by the controller side in the illustrated method include steps S403-S406.
  • the SDN controller can be implemented by the computing device.
  • non-volatile storage medium storing a program in the non-volatile storage medium, the computing device executing FIG. 7 when the program is run by the computing device
  • the steps performed by the controller side in the illustrated method include steps S702-S710.
  • the SDN controller can be implemented by the computing device.
  • FIG. 10 shows a flow chart of a link failure processing method in accordance with an embodiment of the present invention.
  • 11 shows a schematic diagram of a link failure handling system in accordance with an embodiment of the present invention.
  • FIG. 10-11 the idea of the present invention is explained by taking a two-layer switch as an example. Those skilled in the art should realize that the present invention can also be applied in the structure of a multi-layer switch. among them.
  • a two-layer switch, a server, and a controller are included, wherein the switches 10, 20, and 50 respectively establish a communication connection with the controller 40, and the switches 10 and 20 respectively establish a communication connection with the server 30 and form an MC. -LAG.
  • step S1101 the controller configures an input port of the first switch Leaf1 10 for receiving a data packet from the last-hop switch Spine1 50 as a first LAG between the first switch 10 and the server 30 (ie, The backup exit of LAG1) in Figure 11.
  • step S1102 the first switch 10 receives the data packet from the previous hop switch Spine1 50 destined for the server 30;
  • step S1103 Normally, if the determination in step S1103 is NO, the data packet will be sent from the previous hop switch Spine1 50 through Leaf1 10 and then from LAG1 to the server.
  • step S1103 determines whether the connections of the first LAG (ie, LAG1 in FIG. 11) are faulty, that is, the determination in step S1103 is YES.
  • the process proceeds to step S1104, and the first switch Leaf1 sends the fault information to the controller 40. Reporting the LAG1 fault, and sending the received data packet back to the previous hop switch 50 through the pre-configured backup exit;
  • the Shop switch 50 After receiving the data packet sent back by the first switch Leaf1 10, the Shop switch 50 sends a flow to the controller 40.
  • the Spine1 switch does not have a corresponding forwarding rule.
  • step S1106 after receiving the flow table request, the controller 40 sends a flow table to the up-hop switch Spine1 50 according to the line state of the current network;
  • step S1107 the previous hop switch Spine1 sends a data packet to the second switch Leaf2 20 according to the flow table sent by the controller;
  • step S1108 the second switch Leaf2 20 sends the received data packet to the server 30 through the second LAG between the second switch 20 and the server 30 (i.e., LAG2 in FIG. 11).
  • the first switch 10 can form a LAG with the server, but only communicates through one port. When the port fails, the above method can also be used for processing.
  • the switch Leaf2 20 can also form a LAG with the server, but only forwards the data packet through one port communication.
  • a link failure processing apparatus comprising: a configuration unit configured to perform step S1101 in FIG. 10; and a processing unit configured to receive a switch The information coming, and the step S1106 in Fig. 10 are executed.
  • a computing device comprising a processor and a memory, the processor and the memory establishing a communication connection, the processor for reading a program in the memory to perform the operation in FIG. Steps S1101 and S1106.
  • the SDN controller can be implemented by the computing device.
  • a non-volatile storage medium in which a program is stored, the program being executed by the computing device when the program is executed by the computing device Steps S1101 and S1106.
  • the SDN controller can be implemented by the computing device.
  • the input port of the switch is used as the standby output port, so that when the traffic cannot be sent out from the switch, it is sent back to the previous hop switch, and the previous hop switch receives After the traffic is forwarded, the traffic is forwarded to the port of another MC-LAG.
  • this method no longer needs to have a connection between two Leaf switches as a backup connection for fast failover, which saves ports and increases switch throughput, thus avoiding reservation between Leaf switches.
  • the port bandwidth is insufficient, causing traffic congestion and packet loss during traffic migration.

Abstract

本发明涉及一种交换机的链路聚合系统,包括相互建立通信连接的交换机、控制器和服务器,其中,交换机,用于接收来自服务器的数据包;生成数据包对应的数据转发信息;将数据包对应的数据转发信息发送至控制器;控制器,用于存储交换机发送的多个数据包对应的数据转发信息;根据多个数据包对应的数据转发信息,确认交换机的至少两个交换机端口符合链路聚合条件;向交换机发送第一指示信息;交换机,用于根据第一指示信息配置逻辑端口;接收第一后续数据包,将第一后续数据包通过逻辑端口发出。本系统简化了链路聚合的配置过程。

Description

链路聚合系统、方法、装置、设备及介质 技术领域
本发明涉及一种链路聚合系统、方法、装置、设备及介质。
背景技术
软件定义网络(英文全称:Software Defined Networking,缩写:SDN),是一种较新的网络设计理念,其核心思想是将网络设备控制与数据平面分离,集中网络控制权,开放可编程接口。SDN控制器通过标准的南向接口,如知名的OpenFlow协议,屏蔽了底层物理转发设备的差异,实现了资源的虚拟化,同时开放了灵活的北向接口,供上层业务按需进行网络配置并调用网络资源。
交换机的链路聚合组(英文全称:Link Aggregation Group,缩写:LAG)和多交换机链路聚合组(英文全称:Multi-Chassis Link Aggregation Group,缩写:MC-LAG),是在数据中心中常用的用于扩大当条链路带宽,提高网络连接可靠性,简化数据中运维的技术。LAG和MC-LAG技术在传统的网络架构和SDN中均有广泛应用,其通过链路聚合可以将多个链路捆绑成为一个逻辑链路,捆绑后的链路带宽是每个独立链路的带宽总和。多个链路互为备份,当有一条链路断开,流量会自动在剩下链路间重新分配。MC-LAG的交换机之间互相组成备份,当一台交换机宕机的时候,流量会切换到另一台交换机。通过逻辑抽象,减少了网络管理员需要管理的交换机台数,减少了配置管理工作量。图1A显示了传统网络中的MC-LAG解决方案。服务器分别与两台交换机组成LAG1和LAG2,然后将LAG1和LAG2组成一个MC-LAG。两个Leaf交换机之间,预留MC-LAG PEERS的连线,用来交换机之间互相状态监控与信息交互。但是,传统设备厂商的MC-LAG配置条目多,而且配置过程繁杂,非常容易出错,也无法很好兼容基于openflow协议的软件定义数据中心网络。在SDN网络中,现有的对于MC-LAG解决方案如图1B所示。服务器分别与两台交换机组成LAG1和LAG2,然后将LAG1和LAG2组成一个MC-LAG。
在linux的7中网卡绑定模式(bond mode)中,bond0,bond2,bond3,bond4是需要交换机配置端口通道(port channel)的端口,另外bond4是需要交换机支持LACP协议。现在传统网络中普遍利用的是服务器的linux bond mode 4,也就是使用802.3ab负载均衡模式,要求交换机也支持802.3ab模式,理论上服务器及交换机都支持此模式时,网卡带宽最高可以翻倍(如从1Gbps翻到2Gbps)。但是现有的MC-LAG解决方案,都需要人工预先在交换机上配置端口通道(port channel)才能支持,人工配置错误率高,且配置无法实时动态调节。
发明内容
本申请的第一方面提供了一种链路聚合系统,该系统包括交换机、控制器和服务 器,交换机和控制器建立通信连接,交换机和服务器建立通信连接,其中,
交换机,用于接收来自服务器的数据包;生成数据包对应的数据转发信息,包括:数据包的包头信息和接收数据包的交换机的端口号,其中数据包的包头信息可以包括:源MAC地址、源IP地址目的MAC地址、目的IP地址和虚拟局域网VLAN ID等;将数据包对应的数据转发信息发送至控制器;
控制器,用于存储交换机发送的多个数据包对应的数据转发信息;根据多个数据包对应的数据转发信息,确认交换机的至少两个交换机端口之间符合链路聚合条件;向交换机发送第一指示信息;
交换机,用于根据第一指示信息配置逻辑端口;接收第一后续数据包,将第一后续数据包通过逻辑端口发出,其中,第一后续数据包的目的MAC地址为源MAC地址。
其中,链路聚合条件包括:交换机的至少两个交换机端口对应的数据转发信息中的源MAC地址、VLAN ID相同。
这样,在网络中,简化了链路聚合的配置过程,实现了配置的自动化。
本申请的第二方面提供了一种链路聚合系统,该系统包括多个交换机、控制器和服务器,多个交换机和控制器建立通信连接,多个交换机和服务器建立通信连接,其中,
多个交换机,用于接收来自服务器的数据包,生成数据包对应的数据转发信息,其中,数据包对应的数据转发信息包括源MAC地址、虚拟局域网VLAN ID、接收数据包的交换机的ID和接收数据包的交换机的端口号;将数据包对应的数据转发信息发送至控制器;
控制器,用于存储多个交换机发送的多个数据包对应的数据转发信息;根据多个数据包对应的数据转发信息,确认至少两个交换机端口符合链路聚合条件;以及建立源MAC地址和符合链路聚合条件交换机端口所在的至少两个交换机的对应关系;
多个交换机中的符合链路聚合条件的交换机端口所在的至少两个交换机的上一跳交换机,用于接收第二后续数据包,其中,第二后续数据包的目的MAC地址为源MAC地址;
控制器,用于从符合链路聚合条件的交换机端口所在的至少两个交换机中选择一个交换机,并向符合链路聚合条件的交换机端口所在的至少两个交换机的共同的上一跳交换机发送第二指示信息,第二指示信息指示上一跳交换机将第二后续数据包发送至被选择的交换机。
其中,链路聚合条件包括:至少两个交换机端口对应的数据转发信息中的源MAC地址和VLAN ID相同且交换机的ID不同。
这样,在网络中,简化了多交换机链路聚合的配置过程,实现了配置的自动化。
本申请的第三方面提供了一种链路聚合方法,包括:
接收多条数据转发信息,其中,每条数据转发信息包括:源MAC地址、虚拟局域网VLAN ID、接收数据包的交换机的ID以及接收数据包的交换机的端口号;
将多条数据转发信息存储在转发信息表中;
根据转发信息表中的数据转发信息,确认至少两个交换机端口符合链路聚合条件;以及
聚合符合链路聚合条件的至少两个交换机端口。
该方法简化了链路聚合的配置过程,实现了配置的自动化。
进一步地,链路聚合条件包括:至少两个交换机端口对应的数据转发信息中的源MAC地址、VLAN ID以及交换机的ID均相同。
进一步地,聚合符合链路聚合条件的至少两个交换机端口包括:
向符合链路聚合条件的至少两个交换机端口所在的交换机发送第一指示信息,第一指示信息用于指示符合链路聚合条件的至少两个交换机端口所在的交换机配置逻辑端口,以便符合链路聚合条件的至少两个交换机端口所在的交换机接收以源MAC地址作为目的MAC地址的第一后续数据包后,将第一后续数据包通过逻辑端口发出。进一步地,链路聚合条件包括:至少两个交换机端口对应的数据转发信息中的源MAC地址和VLAN ID相同且交换机的ID不同。
这样,在网络中,通过控制器监控到同一个源IP地址或源MAC地址的流量,从同一个交换机的不同端口流入时,将该交换机的这多个端口绑定为LAG。通过SDN控制的全局流量流表监控,实现了对于linux服务器七种网卡绑定模式的自动化配置支持。实现配置、转发功能的全面SDN化,减少了运维配置出错的可能性。
进一步地,聚合符合链路聚合条件的至少两个交换机端口包括:
建立源MAC地址和符合链路聚合条件的交换机端口所在的至少两个交换机的对应关系;
当符合链路聚合条件的交换机端口所在的至少两个交换机的上一跳交换机接收以源MAC地址作为目的MAC地址的第二后续数据包后,
从符合链路聚合条件的交换机端口所在的至少两个交换机中选择一个交换机,
向符合链路聚合条件的交换机端口所在的至少两个交换机的共同的上一跳交换机发送第二指示信息,第二指示信息用于指示上一跳交换机将第二后续数据包发送至被选择的交换机。
由此,当控制器监控到携带相同源IP地址或相同源MAC地址的数据流流入不同交换机的端口时,将该不同交换机的端口绑定为一个MC-LAG,实现了对于linux服务器七种网卡绑定模式的自动化配置支持。
本申请的第四方面提供了一种链路聚合装置,该装置包括:
接收单元,接收单元被配置为接收多条数据转发信息,其中,每条数据转发信息包括:源MAC地址、虚拟局域网VLAN ID、接收数据包的交换机的ID以及交换机的端口号;以及
处理单元,处理单元被配置为将多条数据转发信息存储在转发信息表中;根据转发信息表中的数据转发信息,确认至少两个交换机端口符合链路聚合条件;以及聚合符合链路聚合条件的至少两个交换机端口。
进一步地,链路聚合条件包括:至少两个交换机端口对应的数据转发信息中的源 MAC地址和VLAN ID相同且交换机的ID不同。
进一步地,处理单元进一步包括发送子单元,发送子单元被配置为:
向符合链路聚合条件的至少两个交换机端口所在的交换机发送第一指示信息;第一指示信息用于指示符合链路聚合条件的至少两个交换机端口所在的交换机配置逻辑端口,以便符合链路聚合条件的至少两个交换机端口所在的交换机接收以源MAC地址作为目的MAC地址的第一后续数据包后,将第一后续数据包通过逻辑端口发出。
进一步地,链路聚合条件包括:至少两个交换机端口对应的数据转发信息中的源MAC地址和VLAN ID相同且交换机的ID不同。
进一步地,处理单元进一步包括发送子单元,发送子单元被配置为:
建立源MAC地址和符合链路聚合条件的交换机端口所在的至少两个交换机的对应关系;
当符合链路聚合条件的交换机端口所在的至少两个交换机的上一跳交换机接收以源MAC地址作为目的MAC地址的第二后续数据包后,
从符合链路聚合条件的交换机端口所在的至少两个交换机中选择一个交换机,
向符合链路聚合条件的交换机端口所在的至少两个交换机的共同的上一跳交换机发送第二指示信息,第二指示信息用于指示上一跳交换机将第二后续数据包发送至被选择的交换机。
本申请的第五方面提供了一种计算设备,该设备包括处理器、存储器,处理器与存储器建立通信连接;
处理器,用于读取存储器中的程序,以执行前述第三方面或第三方面的任一实现方式提供的方法。
本申请的第六方面提供了一种非易失性存储介质,该非易失性存储介质中存储了程序,该程序被计算设备运行时,计算设备执行前述第三方面或第三方面的任一实现方式提供的方法。
本申请第七方面提供了一种计算机程序产品,该计算机程序产品包括程序代码,当该计算机程序产品被控制器执行时,该控制器执行前述第三方面或第三方面的任一实现方式提供的方法。该计算机程序产品可以为一个软件安装包,在需要使用前述第三方面或第三方面的任一实现方式提供的方法的情况下,可以下载该计算机程序产品至该控制器并在该控制器上运行该计算机程序产品。
本发明通过SDN控制的全局流量流表监控,实现了对于linux服务器7种网卡绑定模式的自动化配置支持。实现配置、转发功能的全面SDN化,减少了运维配置出错的可能性。相比传统的人工配置来说,降低了错误率,并且实现了实时动态调节。
在SDN网络中,现有的对于MC-LAG的故障解决方案如图2所示,两个Leaf交换机之间,预留一定带宽的连接,用于做故障发生时的流量迁移。从Spine1交换机送下来的流量,在Leaf1交换机处理时,会将两个Leaf交换机之间的连接和Leaf1与服务器之间的LAG1放在同一个支持快速故障切换(fast failover)的组表(group table)中,交换机之间的连接作为LAG1的备份,当LAG1发生故障时,流量会从Leaf交换 机之间的连接,从Leaf1迁移到Leaf2,通过LAG2送给服务器。
从前述现有的MC-LAG内容可以看出,不论是传统网络中的MC-LAG解决方案,还是现有的SDN MC-LAG解决方案,交换机之间都需要预留一定量的带宽,来让交换机之间做状态确认或者流量的迁移。而两个交换机之间的连线,实际上浪费了交换机的上下行带宽。在数据中心中,Leaf交换机的带宽是非常重要的资源,特别是在上下无阻塞网络中,如果两个交换机之间,需要为了MC-LAG的特性去连接备份链路,这无疑是对上下行带宽的一种浪费。另外在这种方案中,还会存在一种情况,当应该送出到LAG1的流量所需要的带宽超过了两个交换机之间的备份连接带宽,这时会造成因为带宽不足引起流量的拥塞,从而导致丢包。
为了解决上述问题,本申请的第八方面提供了一种系统,该系统包括控制器、服务器、第一交换机和第二交换机,第一交换机与控制器和服务器建立通信连接,第二交换机与控制器和服务器建立通信连接,第一交换机和第二交换机形成多交换机链路聚合组,其中,
控制器,用于将第一交换机用于接收来自上一跳交换机的数据包的输入端口配置为第一交换机与服务器之间的通信连接的备份出口;
第一交换机,用于接收来自上一跳交换机的且目的地为服务器的数据包;当第一通信连接发生故障时,向控制器发送故障信息,并将数据包通过备份出口发回上一跳交换机;
上一跳交换机,用于接收第一交换机送回的数据包,向控制器发送流表请求;
控制器,用于收到流表请求后,向上一跳交换机发送流表;
上一跳交换机,用于根据流表,将数据包发送到第二交换机;以及
第二交换机,用于通过第二交换机与服务器之间的通信连接,将数据包发送到服务器。
本申请的第九方面提供了一种链路故障处理方法,包括:
将第一交换机用于接收来自上一跳交换机的数据包的输入端口配置为第一交换机与服务器之间的通信连接的备份出口;
当接收到第一交换机转发来自上一跳交换机的目的地为服务器的数据包时发来的通信连接发生故障的信息时,指示第一交换机将数据包通过备份出口发回上一跳交换机;
收到上一跳交换机在收到第一交换机送回的数据包后发来的流表请求后,向上一跳交换机发送流表,以指示上一跳交换机将数据包发送到第二交换机,以通过第二交换机与服务器之间的通信连接,将数据包发送到服务器。
本申请的第十方面提供了一种链路故障处理装置,该装置包括:
配置单元,被配置为将第一交换机用于接收来自上一跳交换机的数据包的输入端口配置为第一交换机与服务器之间的通信连接的备份出口;以及
处理单元,被配置为当接收到第一交换机转发来自上一跳交换机的目的地为服务器的数据包时发来的通信连接发生故障的信息时,指示第一交换机将数据包通过备份 出口发回上一跳交换机;收到上一跳交换机在收到第一交换机送回的数据包后发来的流表请求后,向上一跳交换机发送流表,以指示上一跳交换机将数据包发送到第二交换机,以通过第二交换机与服务器之间的通信连接,将数据包发送到服务器。
本申请的第十一方面提供了一种计算设备,该设备包括处理器、存储器,处理器与存储器建立通信连接;
处理器,用于读取存储器中的程序,以执行前述第九方面或第九方面的任一实现方式提供的链路故障处理方法。
本申请的第十二方面提供了一种非易失性存储介质,该非易失性存储介质中存储了程序,该程序被计算设备运行时,计算设备执行前述第九方面或第九方面的任一实现方式提供的链路故障处理方法。
本申请第十三方面提供了一种计算机程序产品,该计算机程序产品包括程序代码,当该计算机程序产品被控制器执行时,该控制器执行前述第九方面或第九方面的任一实现方式提供的链路故障处理方法。该计算机程序产品可以为一个软件安装包,在需要使用前述第九方面或第九方面的任一实现方式提供的方法的情况下,可以下载该计算机程序产品至该控制器并在该控制器上运行该计算机程序产品。
对于多交换机链路聚合组的故障处理,本发明不再需要交换机之间采用备用连线来保证系统的高可用性,从而提高了系统的上下行带宽;简化了系统布线的复杂,节约了端口。另一方面,增加了交换机吞吐能力,避免了交换机之间预留端口带宽不够时,造成流量迁移过程中的流量拥塞和丢包的问题。
附图说明
图1A是传统MC-LAG解决方案的示意图。
图1B是SDN网络中MC-LAG解决方案的示意图。
图2是发生故障时传统SDN网络中MC-LAG解决方案的示意图。
图3是根据本发明的实施例的链路聚合方法的概况流程图。
图4是根据本发明的实施例的单交换机的链路聚合方法的详细流程示意图。
图5A是根据本发明的实施例的LAG的自动化配置系统的示意图。
图5B是根据本发明的实施例的接收数据包的交换机向控制器发送的上送报文的示意图之一。
图6是图5A所示的配置的控制器中的转发信息表的示意图。
图7是根据本发明的实施例的多交换机的链路聚合方法的流程示意图。
图8A是根据本发明的实施例的MC-LAG的自动化配置系统的示意图。
图8B是根据本发明的实施例的接收数据包的交换机向控制器发送的上送报文的示意图之二。
图9是图8B所示的配置的控制器中的转发信息表的示意图。
图10是根据本发明的实施例的链路聚合故障监控和链路切换方法的流程示意图。
图11是根据本发明的实施例的链路聚合故障监控和链路切换系统的示意图。
具体实施方式
下面结合具体实施例和附图对本发明做进一步说明。
贯穿本说明书,一个数据流包括一系列包头相同的数据包。
贯穿本说明书,交换机(包括leaf交换机,spine交换机)可以为物理交换机或虚拟交换机。交换机为物理交换机情况下,交换机端口为物理端口,交换机为虚拟交换机的情况下,交换机端口为虚拟端口。
本发明提出了一种在软件定义数据中心网络(英文全称:Software Defined Data Center Network,缩写:SDDCN)中实现LAG和MC-LAG的方法。通过SDN控制器监控各个SDN交换机的状态来代替传统MC-LAG解决方案中的MC-LAG PEERS的功能。通过控制器的流行为监测功能,自动配置相同交换机的端口组成LAG,不同交换机之间的端口组成MC-LAG。
在本发明中,当控制器监控到携带相同源MAC地址的数据流流入一个交换机的多个端口时,将该交换机的这多个端口绑定为一个LAG。或者,当控制器监控到携带相同源MAC地址的数据流流入不同交换机的端口时,将这些不同交换机的端口绑定为一个MC-LAG。
下面结合附图3-11对本发明的链路聚合方法的实施例进行具体说明。
图3示出了根据本发明的实施例的链路聚合方法的流程图。如图3所示,根据本发明的一个实施例,交换机的链路聚合方法包括以下步骤:
步骤S301,接收多条数据转发信息,其中,每条所述数据转发信息包括:源MAC地址、虚拟局域网VLAN ID、接收所述数据包的交换机的ID以及所述接收所述数据包的交换机的端口号;
步骤S302,将所述多条数据转发信息存储在预先配置的转发信息表中;
步骤S303,根据所述转发信息表中的数据转发信息,确认至少两个交换机端口符合链路聚合条件;以及
步骤S304,聚合所述符合链路聚合条件的所述至少两个交换机端口。
下面,结合图4、图5A和图5B详细说明根据本发明的实施例的同一交换机内的不同端口的链路聚合方法。图4展示了根据本发明的实施例的单交换机的链路聚合方法的详细流程图。图5A展示根据本发明的实施例的LAG的自动化配置系统的示意图,在图5A所示的系统包括控制器40、服务器30、交换机Leaf1 10和Leaf2 20,其中交换机10包括两个端口101和102。
如图4所示,根据本发明的一个实施例,单交换机中的链路聚合包括以下步骤:
步骤S401,交换机10通过端口接收来自服务器的数据包,图5A所示,从服务器30的端口向第一交换机(即Leaf1)10的端口101送出数据包。
随后,步骤S402,第一交换机10收到数据包后,将数据包中的包头信息、接收所述数据包的交换机的ID以及所述接收所述数据包的交换机的端口号等组成的数据转 发信息以例如上送报文(packet in message)的形式送到控制器40,上送报文如图5B所示。其中,每个数据包对应一条数据转发信息(在下文中同样)。其中,包头信息包括:源MAC地址、源IP地址和虚拟局域网VLAN ID等,在本发明中,包头信息包括DMAC,SMAC,VLAN,DIP,SIP等32位IP包头信息中的任一一种或几种。
随后,步骤S403,控制器40接收到交换机10上送的数据转发信息后,将数据转发信息记录到控制器的数据库中预先配置的转发信息表中并保存,转发信息表如图6所示。
随后,步骤S404,判断记录的该数据转发信息是否是第一条数据转发记录。由于该数据转发信息是第一条数据转发记录,即步骤S404处为是,那么控制器40控制下发流表(match:vlan_id=10,dst_mac=6637.ab7c.0002;action:output_port=spine1port)到交换机10,交换机根据该流表进行转发,随后返回步骤S401,交换机10等待接收下个数据包。
如图5A,随后,服务器从端口向第一交换机的第二端口(即图5A中的Leaf110的端口102)送出数据包。
随后,重复步骤S402-S404的步骤,第一交换机10收到数据包后,将数据包的包头信息、接收所述数据包的交换机的ID以及所述接收所述数据包的交换机的端口号等组成的数据转发信息以例如上送报文的形式送到控制器40,上送报文如图5B所示。控制器40接收到交换机上送的转发信息后,在转发信息表中添加一条数据转发信息记录,如图6所示。此时,该转发信息记录是第二条转发记录,那么,进入步骤S405,控制器40根据转发信息表中的交换机数据通路ID(switch dpid)、输入端口号(input port)虚拟局域网VLAN ID和源MAC地址(Src_MAC),判断第一交换机的端口101和102接收的数据包携带相同源MAC地址,且属于同一子网,确认第一交换机10的端口101和102之间符合链路聚合条件,即,端口101和端口102可以形成LAG,也即聚合端口101和端口102。
随后,进入步骤S406,控制器通过下发配置策略到第一交换机10(Leaf1),将端口101和端口102配置为同一个端口通道,即,在交换机侧把端口101和102配置为一个逻辑端口。随后,控制器控制下发流表(match:vlan_id=10,dst_mac=6637.ab7c.0002;action:output_port=spine1port)到第一交换机10,第一交换机10根据该流表,转发数据包。
这样,在网络中,通过控制器监控到携带相同MAC地址的流量,从相同交换机的不同端口流入时,将相同交换机的不同端口自动的绑定为LAG。此处以两个端口举例来进行相应的说明,但是,本领域技术人员应当意识到,交换机的链路聚合端口不仅限于两个端口,只要是同一交换机下,并且收发的数据包来源于同一服务器,这样的多个端口,均可以依照上述方法配置为同一逻辑端口,以形成LAG。
LAG形成后,第一交换机10接收到要转发到服务器30的后续数据包时,该后续数据包的目的MAC地址为前述源MAC地址,即可将所述后续数据包通过前面配置的逻辑端口发出(步骤S407-S408),由于该逻辑端口对应端口101和端口102,发往该逻辑端口的每个数据包会根据一定的方法通过端口101或端口102发往服务器30。因 此,将端口101和服务器30之间的链路,端口102和服务器30之间的链路进行了聚合,聚合出的链路带宽更大。这样,通过SDN控制的全局流量流表监控,实现了对于linux服务器七种网卡绑定模式的自动化配置支持。实现配置、转发功能的全面SDN化,相比于传统的人工配置,减少了配置出错的可能性。
下面,结合图7-9对本发明的多交换机的链路聚合方法的实施例进行说明。
根据本发明的另一个实施例,实施链路聚合的交换机有多个。图7展示了根据本发明的实施例的多交换机的链路聚合方法的流程图。图8A展示根据本发明的实施例的MC-LAG的自动化配置系统的示意图,在图8A所示的系统中,包括控制器40、服务器30以及第一交换机Leaf1 10和第二交换机Leaf2 20,其中每个交换机包括两个端口,即Leaf1包括端口101和102,Leaf2包括端口201和202。
根据本发明的一个实施例,如图8A所示,以两个交换机为例阐释本发明的思想,但本领域技术人员应当意识到,这并不是对数量的限制,该方法可应用于三个或更多交换机。
首先,对第一交换机10(即Leaf1)进行单交换机的链路聚合,如图7中S701-S704所示,其与图4中的步骤S401-S404基本相同,此处省略描述。
随后,步骤S705,判断该交换机的不同物理端口之间是否符合链路聚合条件,假定第一交换机10的端口101和102符合链路聚合条件,能够形成LAG,即,步骤S705中为是,则进入步骤S706,控制器通过下发配置策略到Leaf1,将端口101和102配置为同一个端口通道,即,在交换机侧把端口101和102配置为一个逻辑端口。至此,第一交换机10的第一LAG(即图8A中的LAG1)配置完成。当然,此处以两个端口101和102举例来进行相应的说明,但是,本领域技术人员应当意识到,这并不是对数量的限制。
如图8A,LAG1配置完成后,重复步骤S701,服务器从端口向第二交换机20(即Leaf2)的第一端口201送出数据包。重复步骤S702-S704的步骤,交换机20收到数据包后,将数据包的包头信息(例如,可以包括DMAC,SMAC,VLAN,DIP,SIP等中的任一一种或几种)、接收所述数据包的交换机的ID以及所述接收所述数据包的交换机的端口号等组成的数据转发信息以例如上送报文的形式送到控制器40,上送报文如图8B所示。控制器40接收到交换机20上送的数据转发信息后,在转发信息表中添加一条数据转发信息记录,如图9所示。此时,该数据转发信息记录是第三条转发记录,即,步骤S704处为否,此时,进入步骤S705,这个时候,控制器根据转发信息表中的交换机数据通路ID(switch dpid)、输入端口号(input port)和源地址信息(Src_MAC),判断是否在同一个交换机下,以及是否可以形成LAG。在该实例中,作为第二交换机20的第一端口201,没有其他端口可以与之形成LAG,即步骤S705中判断为否,则进入步骤S706。
步骤S706,同样基于图9所示的转发信息表中的信息,判断第二交换机20的第一端口201与之前收发数据的端口或者逻辑端口是否符合链路聚合条件,能否形成MC-LAG。如果不能,则返回步骤S701,交换机等待接收下个数据包。
如图9,控制器根据转发信息表中的switch dpid、input port和Src_MAC信息,可 以判断在不同交换机下,第二交换机20的第一端口201与第一交换机10的LAG1的逻辑端口能够形成一组MC-LAG,即步骤S706中为是。
此时,进入步骤S709,控制器将Leaf2的第一端口201和Leaf1的LAG1的逻辑端口配置为同一个端口通道,从而使Leaf2的第一端口201和Leaf1的LAG1的逻辑端口形成一个MC-LAG。
随后,可选择地,还可以包括步骤S710和S711,在步骤S710中,控制器控制下发流表到第二交换机20,在步骤S711中,第二交换机20根据流表的流规则,进行转发。
MC-LAG形成后,服务器30与交换机Leaf1和Leaf2的对应关系旋即建立,当上一跳交换机Spine1收到需要转发给服务器30的后续数据包时,控制器40可以根据当前网络负载状况,从该MAC-LAG中的交换机(即Leaf1和Leaf2)中选择一个,例如Leaf1,并向Spine1发送流表,指示Spine1将收到的后续数据包发送至选择的交换机Leaf1,并由Leaf1通过LAG1转发给服务器30;或者,控制器40可以选择Leaf2,并向Spine1发送流表,指示Spine1将收到的后续数据包发送至选择的交换机Leaf2,并由Leaf2通过端口201转发给服务器30,从而实现数据流的均衡分配。随后,重复步骤S701,服务器从端口向第二交换机20的第二端口202送出数据包。
随后重复步骤S702-S705,此时,第二交换机Leaf2的端口201和202在同一交换机下,并且接收的数据包来源于同一服务器,符合链路聚合条件,可以形成LAG。即,步骤S705中为是。
随后,进入步骤S707,控制器通过下发配置策略到Leaf2,将Leaf2的端口201和202配置为同一个端口通道,即,在第二交换机侧把Leaf2的第一端口201和第二端口202配置为一个逻辑端口,即Leaf2的端口201和202形成第二LAG(即图8A中的LAG2)。
随后,步骤S708,判断该第二LAG逻辑端口与其他LAG的逻辑端口或者端口能否形成MC-LAG,控制器根据转发信息表中的信息,可以判断在不同交换机下,Leaf2的LAG2与Leaf1的LAG1能够组成一组MC-LAG,即步骤S708中为是。
此时,控制器将Leaf2的LAG2的逻辑端口和Leaf1的LAG1的逻辑端口配置为同一个端口通道,从而使Leaf2的逻辑端口和Leaf1的逻辑端口成为同一个逻辑端口(步骤S709)。
同时,需要注意的是,S705-S709的步骤顺序并不受限制,而是可以以不同的顺序进行。例如对于本实施例来说,第二交换机20(Leaf2)的第二端口202可以先与第一端口201配置为一个逻辑端口,形成LAG2,随后再将LAG2与第一交换机的LAG1形成一组MC-LAG;同样,也可以先将第二交换机20(Leaf2)的第二端口202与LAG1配置形成一条MC-LAG,随后再将Leaf2的第二端口202与第一端口201配置为一个逻辑端口形成LAG2,再将整个LAG1与LAG2形成MC-LAG。
随后,可选择地,还可以包括步骤S710和S711,在步骤S710中,控制器控制下发流表到相应的第二交换机20,在步骤S711中,第二交换机20根据流表的流规则,进行转发。
MC-LAG形成后,同样,服务器30与交换机Leaf1和Leaf2的对应关系旋即建立, 当上一跳交换机Spine1收到需要转发给服务器30的后续数据包时,控制器40可以根据当前网络负载状况从该MAC-LAG中的交换机(即Leaf1和Leaf2)中选择一个,例如Leaf1,并向Spine1发送流表,指示Spine1将收到的后续数据包发送至被选择的Leaf1,并由Leaf1通过LAG1转发给服务器30。
由此,通过控制器监控到携带相同MAC地址的流量,从不同的交换机的不同端口,或相同交换机的不同端口流入流出时,将相同交换机的不同端口自动绑定为LAG,将不同交换机的逻辑端口或者端口自动绑定成为MC-LAG,省去了人工配置,减少出错可能性。此处以两个交换机Leaf1和Leaf2,每个交换机具有两个端口举例来进行相应的说明,但是,本领域技术人员应当意识到,这只是举例说明,而不是对具体数量或类型的限制。
根据本发明的另一个实施例,还提供了一种链路聚合装置,包括:
接收单元,接收单元被配置为执行图4所示的方法中对应步骤S402控制器侧执行的接收步骤;以及
处理单元,处理单元被配置为执行图4所示的方法中控制器侧执行的步骤S403到S406。
根据本发明的另一个实施例,还提供了另一种链路聚合装置,包括:
接收单元,接收单元被配置为执行图7所示的方法中控制器侧执行的步骤S702;以及
处理单元,处理单元被配置为执行图7所示的方法中控制器侧执行的步骤S703到S710。
根据本发明的另一个实施例,还提供了一种计算设备,包括处理器和存储器,处理器和存储器建立通信连接,所述处理器,用于读取存储器中的程序,以执行图4所示的方法中控制器侧执行的步骤,包括步骤S403-S406。SDN控制器可以通过该计算设备实现。
根据本发明的另一个实施例,还提供了另一种计算设备,包括处理器和存储器,处理器和存储器建立通信连接,所述处理器,用于读取存储器中的程序,以执行图7所示的方法中控制器侧执行的步骤,包括步骤S702-S710。SDN控制器可以通过该计算设备实现。
根据本发明的另一个实施例,还提供了一种非易失性存储介质,所述非易失性存储介质中存储了程序,该程序被计算设备运行时,所述计算设备执行4中所示的方法中控制器侧执行的步骤,包括步骤S403-S406。SDN控制器可以通过该计算设备实现。
根据本发明的另一个实施例,还提供了另一种非易失性存储介质,所述非易失性存储介质中存储了程序,该程序被计算设备运行时,所述计算设备执行图7所示的方法中控制器侧执行的步骤,包括步骤S702-S710。SDN控制器可以通过该计算设备实现。
下面,结合图10-11对本发明的链路故障处理的实施例进行说明。
图10展示了根据本发明的实施例的链路故障处理方法的流程图。图11展示了根据本发明的实施例的链路故障处理系统的示意图。
根据本发明的一个实施例,如图10-11所示,以两层交换机为例阐释本发明的思想,本领域技术人员应当意识到,在多层交换机的结构中,也可以将本发明应用其中。在图11所示的系统中,包括两层交换机、服务器以及控制器,其中,交换机10、20和50分别与控制器40建立通信连接,交换机10和20分别与服务器30建立通信连接并形成MC-LAG。
首先,在步骤S1101中,控制器将第一交换机Leaf1 10的用于接收来自上一跳交换机Spine1 50的数据包的输入端口配置为第一交换机10与服务器30之间的第一LAG(即,图11中的LAG1)的备份出口。
随后,在步骤S1102中,第一交换机10收到来自上一跳交换机Spine1 50的目的地为所述服务器30的数据包;
正常情况下,即步骤S1103中判断为否,数据包将从上一跳交换机Spine1 50通过Leaf1 10而后从LAG1送到服务器。
但是,在所述第一LAG(即图11中的LAG1)的所有连接都故障的情况下,即步骤S1103中判断为是,则进入步骤S1104,第一交换机Leaf1向控制器40发送故障信息,上报LAG1故障,并将接收的数据包通过预配的备份出口发回上一跳交换机50;
上一跳交换机Spine1 50收到第一交换机Leaf1 10送回的数据包后,在步骤S1105中,由于Spine1 50没有相应的转发规则,此时,上一跳交换机Spine1向所述控制器40发送流表请求以请求流表;
随后,在步骤S1106中,控制器40收到流表请求后,根据当前网络的线路状态,向上一跳交换机Spine1 50发送流表;
随后,在步骤S1107中,上一跳交换机Spine1根据控制器发送的流表,将数据包发送到第二交换机Leaf2 20;
随后,在步骤S1108中,第二交换机Leaf2 20通过第二交换机20与服务器30之间的第二LAG(即图11中的LAG2),将收到的数据包送到服务器30。
以上以第一交换机10与第二交换机20分别与服务器之间形成LAG为例而进行说明,但是,本领域技术人员应当意识到,这既不是对交换机数量的限制,也不是对交换机与服务器之间的通信连接的限制。在其他实施例中,第一交换机10可以与服务器之间不形成LAG,而是只通过一个端口通信,在该端口故障时,同样可以采用上述方法进行处理。同样,交换机Leaf2 20也可以与服务器,之间不形成LAG,而是只通过一个端口通信转发数据包。
根据本发明的另一个实施例,还提供了一种链路故障处理装置,包括:配置单元,配置单元被配置为执行图10中的步骤S1101;以及处理单元,处理单元被配置为接收交换机发来的信息,以及执行图10中的步骤S1106。
根据本发明的另一个实施例,还提供了一种计算设备,包括处理器和存储器,处理器和存储器建立通信连接,所述处理器,用于读取存储器中的程序,以执行图10中的步骤S1101和S1106。SDN控制器可以通过该计算设备实现。
根据本发明的另一个实施例,还提供了一种非易失性存储介质,所述非易失性存储介质中存储了程序,该程序被计算设备运行时,所述计算设备执行图10中的步骤 S1101和S1106。SDN控制器可以通过该计算设备实现。
通过本发明的实施例,对于输出到MC-LAG某端口的流量,将交换机的输入端口作为备用输出端口,使得该流量无法从交换机送出时,回送给上一跳交换机,上一跳交换机收到该流量之后,将该流量转发到别的MC-LAG的端口。相比于现有的解决方案,本方法不再需要两个Leaf交换机之间有连接来作为快速故障切换的备用连接,节约了端口,增加了交换机吞吐能力,从而避免了Leaf交换机之间预留端口带宽不够,造成流量迁移过程中的流量拥塞和丢包。
上面结合附图对本发明的实施例做了详细说明,但本发明技术方案的使用不仅仅局限于SDN网络,也不仅仅局限于本专利实施例中提及的各种应用,任何网络都可以参考本发明技术方案轻易地实施,以达到本文中提及的各种有益效果。在本领域普通技术人员所具备的知识范围内,在不脱离本发明宗旨的前提下做出的各种变化,均应归属于本发明专利涵盖范围。

Claims (21)

  1. 一种链路聚合系统,包括交换机、控制器和服务器,所述交换机和所述控制器建立通信连接,所述交换机和所述服务器建立通信连接,其特征在于,
    所述交换机,用于接收来自所述服务器的数据包;生成所述数据包对应的数据转发信息,其中,所述数据包对应的数据转发信息包括源MAC地址、虚拟局域网VLAN ID和接收所述数据包的交换机的端口号;将所述数据包对应的数据转发信息发送至所述控制器;
    所述控制器,用于存储所述交换机发送的多个数据包对应的数据转发信息;根据所述多个数据包对应的数据转发信息,确认所述交换机的至少两个交换机端口符合链路聚合条件;向所述交换机发送第一指示信息;
    所述交换机,用于根据所述第一指示信息配置逻辑端口;接收第一后续数据包,将所述第一后续数据包通过所述逻辑端口发出,其中,所述第一后续数据包的目的MAC地址为所述源MAC地址。
  2. 根据权利要求1所述的系统,其特征在于,
    所述链路聚合条件包括:所述交换机的至少两个交换机端口对应的数据转发信息中的源MAC地址、VLAN ID相同。
  3. 一种链路聚合系统,包括多个交换机、控制器和服务器,所述多个交换机和所述控制器建立通信连接,所述多个交换机和所述服务器建立通信连接,其特征在于,
    所述多个交换机,用于接收来自所述服务器的数据包,生成所述数据包对应的数据转发信息,其中,所述数据包对应的数据转发信息包括源MAC地址、虚拟局域网VLAN ID、接收所述数据包的交换机的ID和接收所述数据包的交换机的端口号;将所述数据包对应的数据转发信息发送至所述控制器;
    所述控制器,用于存储所述多个交换机发送的多个数据包对应的数据转发信息;根据所述多个数据包对应的所述数据转发信息,确认至少两个交换机端口符合链路聚合条件;以及建立所述源MAC地址和所述符合链路聚合条件交换机端口所在的至少两个交换机的对应关系;
    所述多个交换机中的所述符合链路聚合条件的交换机端口所在的至少两个交换机的上一跳交换机,用于接收第二后续数据包,其中,所述第二后续数据包的目的MAC地址为所述源MAC地址;
    所述控制器,用于从所述符合链路聚合条件的交换机端口所在的至少两个交换机中选择一个交换机,并向所述符合链路聚合条件的交换机端口所在的至少两个交换机的上一跳交换机发送第二指示信息,所述第二指示信息指示所述上一跳交换机将所述第二后续数据包发送至所述被选择的交换机。
  4. 根据权利要求3所述的系统,其特征在于,
    所述链路聚合条件包括:所述至少两个交换机端口对应的数据转发信息中的源MAC地址和VLAN ID相同且交换机的ID不同。
  5. 一种链路聚合方法,其特征在于,包括:
    接收多条数据转发信息,其中,每条所述数据转发信息包括:源MAC地址、虚拟局域网VLAN ID、接收所述数据包的交换机的ID以及所述接收所述数据包的交换机的端口号;
    将所述多条数据转发信息存储在转发信息表中;
    根据所述转发信息表中的数据转发信息,确认至少两个交换机端口符合链路聚合条件;以及
    聚合所述符合链路聚合条件的所述至少两个交换机端口。
  6. 根据权利要求5所述的方法,其特征在于,所述链路聚合条件包括:所述至少两个交换机端口对应的数据转发信息中的源MAC地址、VLAN ID以及交换机的ID均相同。
  7. 根据权利要求6所述的方法,其特征在于,所述聚合所述符合链路聚合条件的至少两个交换机端口包括:
    向所述符合链路聚合条件的所述至少两个交换机端口所在的交换机发送第一指示信息,所述第一指示信息用于指示所述符合链路聚合条件的所述至少两个交换机端口所在的交换机配置逻辑端口,以便所述符合链路聚合条件的所述至少两个交换机端口所在的交换机接收以所述源MAC地址作为目的MAC地址的第一后续数据包后,将所述第一后续数据包通过所述逻辑端口发出。
  8. 根据权利要求5所述的方法,其特征在于,所述链路聚合条件包括:所述至少两个交换机端口对应的数据转发信息中的源MAC地址和VLAN ID相同且交换机的ID不同。
  9. 根据权利要求8所述的方法,其特征在于,所述聚合所述符合链路聚合条件的至少两个交换机端口包括:
    建立所述源MAC地址和所述符合链路聚合条件的交换机端口所在的至少两个交换机的对应关系;
    当所述符合链路聚合条件的交换机端口所在的至少两个交换机的上一跳交换机接收以所述源MAC地址作为目的MAC地址的第二后续数据包后,
    从所述符合链路聚合条件的交换机端口所在的至少两个交换机中选择一个交换机,
    向所述符合链路聚合条件的交换机端口所在的至少两个交换机的上一跳交换机发送第二指示信息,所述第二指示信息用于指示所述上一跳交换机将所述第二后续数据包发送至所述被选择的交换机。
  10. 一种链路聚合装置,其特征在于,包括:
    接收单元,用于接收多条数据转发信息,其中,每条所述数据转发信息包括:源MAC地址、虚拟局域网VLAN ID、接收所述数据包的交换机的ID以及所述交换机的端口号;以及
    处理单元,用于将所述多条数据转发信息存储在转发信息表中;根据所述转发信息表中的数据转发信息,确认至少两个交换机端口符合链路聚合条件;以及聚合所述符合链路聚合条件的所述至少两个交换机端口。
  11. 根据权利要求10所述的装置,其特征在于,所述链路聚合条件包括:所述至少两个交换机端口对应的数据转发信息中的源MAC地址和VLAN ID相同且交换机的ID不同。
  12. 根据权利要求11所述的装置,其特征在于,所述处理单元进一步包括发送子单元,所述发送子单元用于:
    向所述符合链路聚合条件的所述至少两个交换机端口所在的交换机发送第一指示信息;所述第一指示信息用于指示所述符合链路聚合条件的所述至少两个交换机端口所在的交换机配置逻辑端口,以便所述符合链路聚合条件的所述至少两个交换机端口所在的交换机接收以所述源MAC地址作为目的MAC地址的第一后续数据包后,将所述第一后续数据包通过所述逻辑端口发出。
  13. 根据权利要求10所述的装置,其特征在于,所述链路聚合条件包括:所述至少两个交换机端口对应的数据转发信息中的源MAC地址和VLAN ID相同且交换机的ID不同。
  14. 根据权利要求13所述的装置,其特征在于,所述处理单元进一步包括发送子单元,所述发送子单元用于:
    建立所述源MAC地址和所述符合链路聚合条件的交换机端口所在的至少两个交换机的对应关系;
    当所述符合链路聚合条件的交换机端口所在的至少两个交换机的上一跳交换机接收以所述源MAC地址作为目的MAC地址的第二后续数据包后,
    从所述符合链路聚合条件的交换机端口所在的至少两个交换机中选择一个交换机,
    向所述符合链路聚合条件的交换机端口所在的至少两个交换机的上一跳交换机发送第二指示信息,所述第二指示信息用于指示所述上一跳交换机将所述第二后续数据包发送至所述被选择的交换机。
  15. 一种计算设备,其特征在于,包括处理器、存储器,所述处理器与所述存储器建立通信连接;
    所述处理器,用于读取所述存储器中的程序,以执行如权利要求5-9任一项所述的方法。
  16. 一种非易失性存储介质,其特征在于,所述非易失性存储介质中存储了程序,该程序被计算设备运行时,所述计算设备执行如权利要求5-9中任一项所述的方法。
  17. 一种系统,包括控制器、服务器、第一交换机和第二交换机,所述第一交换机与所述控制器和所述服务器建立通信连接,所述第二交换机与所述控制器和所述服务器建立通信连接,所述第一交换机和所述第二交换机形成多交换机链路聚合组,其特征在于,
    所述控制器,用于将所述第一交换机用于接收来自上一跳交换机的数据包的输入端口配置为所述第一交换机与所述服务器之间的通信连接的备份出口;
    所述第一交换机,用于接收来自所述上一跳交换机的且目的地为所述服务器的数据包;当第一通信连接发生故障时,向所述控制器发送故障信息,并将所述数据包通 过所述备份出口发回所述上一跳交换机;
    所述上一跳交换机,用于接收所述第一交换机送回的数据包,向所述控制器发送流表请求;
    所述控制器,用于收到所述流表请求后,向所述上一跳交换机发送流表;
    所述上一跳交换机,用于根据所述流表,将所述数据包发送到所述第二交换机;以及
    所述第二交换机,用于通过所述第二交换机与所述服务器之间的通信连接,将所述数据包发送到所述服务器。
  18. 一种链路故障处理方法,其特征在于,包括:
    将第一交换机用于接收来自上一跳交换机的数据包的输入端口配置为所述第一交换机与所述服务器之间的通信连接的备份出口;
    当接收到所述第一交换机转发来自所述上一跳交换机的目的地为所述服务器的数据包时发来的通信连接发生故障的信息时,指示所述第一交换机将所述数据包通过所述备份出口发回所述上一跳交换机;
    收到所述上一跳交换机在收到所述第一交换机送回的数据包后发来的流表请求后,向所述上一跳交换机发送流表,以指示所述上一跳交换机将所述数据包发送到第二交换机,以通过所述第二交换机与所述服务器之间的通信连接,将所述数据包发送到所述服务器。
  19. 一种链路故障处理装置,其特征在于,包括:
    配置单元,用于将第一交换机用于接收来自上一跳交换机的数据包的输入端口配置为所述第一交换机与所述服务器之间的通信连接的备份出口;以及
    处理单元,用于当接收到所述第一交换机转发来自上一跳交换机的目的地为服务器的数据包时发来的通信连接发生故障的信息时,指示所述第一交换机将所述数据包通过所述备份出口发回所述上一跳交换机;收到所述上一跳交换机在收到所述第一交换机送回的数据包后发来的流表请求后,向所述上一跳交换机发送流表,以指示所述上一跳交换机将所述数据包发送到第二交换机,以通过所述第二交换机与所述服务器之间的通信连接,将所述数据包发送到所述服务器。
  20. 一种计算设备,其特征在于,包括处理器、存储器,所述处理器与所述存储器建立通信连接;
    所述处理器,用于读取所述存储器中的程序,以执行如权利要求18所述的方法。
  21. 一种非易失性存储介质,其特征在于,所述非易失性存储介质中存储了程序,该程序被计算设备运行时,所述计算设备执行如权利要求18所述的方法。
PCT/CN2018/080784 2017-07-04 2018-03-28 链路聚合系统、方法、装置、设备及介质 WO2019007109A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710537662.6 2017-07-04
CN201710537662.6A CN109218188B (zh) 2017-07-04 2017-07-04 链路聚合系统、方法、装置、设备及介质

Publications (1)

Publication Number Publication Date
WO2019007109A1 true WO2019007109A1 (zh) 2019-01-10

Family

ID=64950500

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/080784 WO2019007109A1 (zh) 2017-07-04 2018-03-28 链路聚合系统、方法、装置、设备及介质

Country Status (2)

Country Link
CN (1) CN109218188B (zh)
WO (1) WO2019007109A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110233872A (zh) * 2019-05-05 2019-09-13 视联动力信息技术股份有限公司 一种基于视联网的数据传输方法和视联网终端
CN112187633A (zh) * 2020-09-14 2021-01-05 锐捷网络股份有限公司 一种链路故障收敛方法、装置、电子设备及存储介质
CN114666745A (zh) * 2022-03-29 2022-06-24 杭州中天微系统有限公司 数据传输方法、节点控制方法、网络设备、网络系统

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111131025B (zh) * 2019-12-13 2022-07-05 苏州浪潮智能科技有限公司 一种端口聚合方法、装置、主干网交换机及可读存储介质
CN110995581B (zh) * 2019-12-19 2022-07-19 锐捷网络股份有限公司 一种防止路由黑洞的方法、装置、电子设备及存储介质
CN113300981A (zh) * 2020-02-21 2021-08-24 华为技术有限公司 报文传输方法、装置及系统
CN112953824B (zh) * 2021-01-28 2022-03-29 新华三信息安全技术有限公司 一种链路聚合的配置方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008077347A1 (fr) * 2006-12-25 2008-07-03 Huawei Technologies Co., Ltd. Procédé et dispositif d'agrégation de liaison, procédé et système de réception/envoi de trame mac
CN101958812A (zh) * 2009-07-15 2011-01-26 中兴通讯股份有限公司 链路故障检测方法及系统
CN102307140A (zh) * 2011-08-17 2012-01-04 杭州华三通信技术有限公司 一种基于端口聚合的报文处理方法及其装置
CN103281206A (zh) * 2013-05-29 2013-09-04 新浪网技术(中国)有限公司 一种连接关系的确定系统、方法及装置
US20140047105A1 (en) * 2012-08-12 2014-02-13 Constantin Barcaru Link aggregation using digests
CN105141521A (zh) * 2015-09-21 2015-12-09 盛科网络(苏州)有限公司 使用保护切换机制实现多系统链路聚合的装置及方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4862743B2 (ja) * 2007-05-17 2012-01-25 日本電気株式会社 ノード、通信方法およびノード用プログラム
US8780911B2 (en) * 2009-10-08 2014-07-15 Force10 Networks, Inc. Link aggregation based on port and protocol combination
JP5873597B2 (ja) * 2012-03-27 2016-03-01 アルカテル−ルーセント 仮想ファブリックリンク障害復旧のためのシステムおよび方法
US9729346B2 (en) * 2012-06-29 2017-08-08 Avaya Inc. Method for layer 2 forwarding in a multi-node switch cluster
US9154408B2 (en) * 2013-02-26 2015-10-06 Dell Products L.P. System and method for traffic polarization during failures
CN104104570B (zh) * 2013-04-07 2018-09-04 新华三技术有限公司 Irf系统中的聚合处理方法及装置
CN104468358B (zh) * 2013-09-25 2018-05-11 新华三技术有限公司 分布式虚拟交换机系统的报文转发方法及设备
US9288105B2 (en) * 2013-12-27 2016-03-15 Dell Products L.P. N-node virtual link trunking (VLT) systems fault management
US9736068B2 (en) * 2015-01-16 2017-08-15 Dell Products Lp Switching layer 2 (L2) flows to a correct node in a link aggregation domain
CN104917678B (zh) * 2015-06-02 2018-07-06 上海斐讯数据通信技术有限公司 基于sdn的链路聚合方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008077347A1 (fr) * 2006-12-25 2008-07-03 Huawei Technologies Co., Ltd. Procédé et dispositif d'agrégation de liaison, procédé et système de réception/envoi de trame mac
CN101958812A (zh) * 2009-07-15 2011-01-26 中兴通讯股份有限公司 链路故障检测方法及系统
CN102307140A (zh) * 2011-08-17 2012-01-04 杭州华三通信技术有限公司 一种基于端口聚合的报文处理方法及其装置
US20140047105A1 (en) * 2012-08-12 2014-02-13 Constantin Barcaru Link aggregation using digests
CN103281206A (zh) * 2013-05-29 2013-09-04 新浪网技术(中国)有限公司 一种连接关系的确定系统、方法及装置
CN105141521A (zh) * 2015-09-21 2015-12-09 盛科网络(苏州)有限公司 使用保护切换机制实现多系统链路聚合的装置及方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110233872A (zh) * 2019-05-05 2019-09-13 视联动力信息技术股份有限公司 一种基于视联网的数据传输方法和视联网终端
CN112187633A (zh) * 2020-09-14 2021-01-05 锐捷网络股份有限公司 一种链路故障收敛方法、装置、电子设备及存储介质
CN114666745A (zh) * 2022-03-29 2022-06-24 杭州中天微系统有限公司 数据传输方法、节点控制方法、网络设备、网络系统
CN114666745B (zh) * 2022-03-29 2023-07-21 杭州中天微系统有限公司 数据传输方法、节点控制方法、网络设备、网络系统

Also Published As

Publication number Publication date
CN109218188A (zh) 2019-01-15
CN109218188B (zh) 2021-11-19

Similar Documents

Publication Publication Date Title
WO2019007109A1 (zh) 链路聚合系统、方法、装置、设备及介质
US10666563B2 (en) Buffer-less virtual routing
US9736278B1 (en) Method and apparatus for connecting a gateway router to a set of scalable virtual IP network appliances in overlay networks
KR101846079B1 (ko) Nfv 환경에서의 가상 cpe 서비스 제공 시스템, 및 이를 위한 nfv 클라우드
RU2530338C2 (ru) Предварительно подготовленное сопряжение на основе состояния линий связи поставщиков (plsb) с маршрутизируемым резервированием
US9729424B2 (en) Defining data flow paths in software-defined networks with application-layer traffic optimization
WO2020232185A1 (en) Slice-based routing
US7940694B2 (en) Intelligent filtering of redundant data streams within computer networks
US11563680B2 (en) Pseudo wire load sharing method and device
CN105812294A (zh) 开流交换器、包交换方法、sdn控制器及数据流控制方法
EP2922254A1 (en) Method for establishing control channel, forwarding point and controller
JP7092813B2 (ja) パケット伝送方法及び装置
CN103067291A (zh) 一种上下行链路关联的方法和装置
WO2018044433A1 (en) Bandwidth management in a non-blocking network fabric
WO2016101444A1 (zh) 一种建立pw链路的方法及装置
WO2020114017A1 (zh) 数据中心流量互通方法、装置、设备及存储介质
CN108494675A (zh) 实现虚拟路由冗余协议备份组的方法、装置和路由设备
WO2022253087A1 (zh) 一种数据传输方法、节点、网络管理器及系统
US20220385497A1 (en) Method for network slices to share uplink port, apparatus, and storage medium
CN108880969B (zh) 一种sdn网络中建立链路的方法和装置
WO2011009326A1 (zh) 业务控制方法、装置及宽带接入服务器
CN114338422B (zh) 一种基于mpls的中大型企业网及其实现方法
KR102092091B1 (ko) 소프트웨어 정의 네트워크에서 고가용성 및 고신뢰성을 제공하는 방법, 장치 및 컴퓨터 프로그램
EP3491789A1 (en) Extending an mpls network using commodity network devices
WO2015093478A1 (ja) ネットワークシステム、制御装置、制御方法およびプログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18827707

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18827707

Country of ref document: EP

Kind code of ref document: A1