[go: up one dir, main page]

WO2016062106A1 - Procédé, dispositif et système de traitement de paquets - Google Patents

Procédé, dispositif et système de traitement de paquets Download PDF

Info

Publication number
WO2016062106A1
WO2016062106A1 PCT/CN2015/081677 CN2015081677W WO2016062106A1 WO 2016062106 A1 WO2016062106 A1 WO 2016062106A1 CN 2015081677 W CN2015081677 W CN 2015081677W WO 2016062106 A1 WO2016062106 A1 WO 2016062106A1
Authority
WO
WIPO (PCT)
Prior art keywords
vxlan
packet
switch
message
path
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/CN2015/081677
Other languages
English (en)
Chinese (zh)
Inventor
宋伟
张维
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of WO2016062106A1 publication Critical patent/WO2016062106A1/fr
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Definitions

  • the present invention relates to the field of switching technologies, and in particular, to a message processing method, apparatus, and system.
  • VXLAN Virtual eXtensible Local Area Network
  • IP Internet Protocol
  • ECMP Equal Cost Multiple Path
  • a packet-by-packet hash In a packet-by-packet hash, the load of each path is balanced, but the packets in one stream are out of order, so the packet-based hash application is less.
  • the sender In the flow-by-stream hash, the sender is based on the quintuple in the packet. The hash value of the packet is calculated. The packets with the same hash value are sent through the same path to ensure that the packets in one stream are not out of order.
  • the prior art provides a flow cluster switching (Flowlet Switch) scheme, which includes: a transmitting end divides a data stream with a long duration into a plurality of sub-data streams, and each sub-data stream includes at least one packet, and is sent When the terminal detects that the path of the current sub-data stream is congested, the transmitting end sends the next sub-data stream of the sub-data stream through the equivalent path of the path after the current sub-data stream is sent.
  • the sending interval of two packets in a data stream is greater than a preset time interval
  • the above-mentioned stream cluster switching scheme may be used for load balancing.
  • the size of the preset time interval is determined empirically.
  • the prior art is to determine the size of the preset time interval according to the experience.
  • the preset time interval is usually set to be large, for example, the pre- Set time interval Set to 100 microseconds (us), and the size of the transmission interval between the actually required sub-data streams is usually related to the path state, that is, when the path is smooth, the actual required transmission interval is usually small. If the preset time interval is large, the system performance will be degraded. When the path is congested, the actual required transmission interval is usually large. In this case, if the preset time interval is small, the packet will be messed up. sequence. Therefore, the prior art adopts a fixed preset time interval scheme to reduce system performance, and in severe cases, the message is out of order.
  • the present invention provides a packet processing method, apparatus, and system, in order to solve the problem of system performance degradation or message out-of-order caused by transmitting a sub-data stream at a preset time interval.
  • the technical solution is as follows:
  • the first aspect provides a packet processing method, which is applied to a first switch in a virtual scalable local area network (VXLAN), where the first switch and the second switch have at least two equal-cost paths, and the method includes:
  • the second path of the at least two equal-cost paths is used.
  • the second switch sends the subsequent VXLAN message.
  • the first VXLAN packet includes: an original packet and identifier information, where the identifier information is used to identify the first VXLAN packet,
  • the second VXLAN packet includes: a type flag bit and the identifier information, where the value of the type flag bit is a first preset value, and the first preset value is used to indicate the second VXLAN message.
  • the message type is the response type.
  • the method further includes:
  • the determining whether the first path meets the path switching condition includes:
  • the identifier information in the second VXLAN packet is the same as the identifier information of the first VXLAN packet in the sending table, determining that the first path meets a path switching condition.
  • the receiving, by the second switch, the second VXLAN report sent according to the first VXLAN message After the text the method further includes:
  • the entry including the identifier information of the first VXLAN packet is deleted from the sending table; or,
  • the identifier information of the first VXLAN packet recorded in the sending table indicates that when the number of sent packets of the data flow to which the first VXLAN packet belongs exceeds a preset value, the sending table is cleared.
  • the first VXLAN packet is obtained by encapsulating a VXLAN tunnel header for the original packet, and the identifier information of the first VXLAN packet is carried in a reserved field of a VXLAN tunnel header of the first VXLAN packet.
  • the reserved field of the VXLAN tunnel header of the second VXLAN packet includes the identifier information of the first VXLAN packet, and the type flag is carried in the flag field of the VXLAN tunnel header of the second VXLAN packet.
  • the second VXLAN message is generated by the second switch according to the first VXLAN message.
  • the second VXLAN packet is: when the second switch detects that there is a reverse packet in the sending queue of the second switch, adding the first VXLAN to the VXLAN tunnel header of the reverse packet.
  • the identifier information of the packet and the type flag are obtained, and the reverse packet is a packet whose outer layer destination Internet Protocol IP address in the sending queue of the second switch is an IP address of the first switch.
  • the first VXLAN message further includes: a type flag bit, where the type flag bit is located in the first In the flag field of the VXLAN tunnel header of a VXLAN message, the value of the type flag bit is a second preset value, and the second preset value is used to indicate that the message type is a request type.
  • a packet processing method is provided, which is applied to a second switch in a virtual scalable local area network (VXLAN), and at least two equal-cost paths exist between the second switch and the first switch, and the method includes:
  • the first VXLAN packet includes: an original packet and identifier information, where the identifier information is used to identify the first VXLAN packet,
  • the second VXLAN packet includes: a type flag bit and the identifier information, where the value of the type flag bit is a first preset value, and the first preset value is used to indicate the second VXLAN message.
  • the message type is the response type.
  • the first VXLAN packet is obtained by encapsulating a VXLAN tunnel header for the original packet, and the identifier information of the first VXLAN packet is carried in a reserved field of a VXLAN tunnel header of the first VXLAN packet.
  • the reserved field of the VXLAN tunnel header of the second VXLAN packet includes the identifier information of the first VXLAN packet, and the type flag is carried in the flag field of the VXLAN tunnel header of the second VXLAN packet.
  • the obtaining, by the first VXLAN packet, the second VXLAN packet includes:
  • the first VXLAN message further includes: a type flag, where the type flag is located in a flag field of the VXLAN tunnel header of the first VXLAN message, the value of the type flag is a second preset value, and the second preset value is used to indicate The message type is the request type, and the basis is Before the first VXLAN packet is obtained, the method further includes:
  • the step of acquiring the second VXLAN packet according to the first VXLAN packet is performed.
  • a third aspect provides a message processing apparatus, where the apparatus is a first switch in a virtual scalable local area network (VXLAN), and at least two equal-cost paths exist between the first switch and the second switch, the apparatus include:
  • a first sending module configured to send, by using the first path of the at least two equal-cost paths, the first VXLAN message to the second switch;
  • a receiving module configured to receive a second VXLAN message sent by the second switch according to the first VXLAN message, where the second VXLAN message is used to notify the first switch that the second switch receives the Describe the first VXLAN message;
  • a determining module configured to determine, according to the second VXLAN message, whether the first path meets a path switching condition
  • a second sending module configured to pass the at least two equal-cost paths when the first path meets the path switching condition and receives a subsequent VXLAN message that belongs to the same data flow as the first VXLAN message The second path sends the subsequent VXLAN message to the second switch.
  • the first VXLAN packet includes: an original packet and identifier information, where the identifier information is used to identify the first VXLAN packet
  • the second VXLAN packet includes: a type flag bit and the identifier information, where the value of the type flag bit is a first preset value, and the first preset value is used to indicate the second VXLAN message.
  • the message type is a response type
  • the device further includes:
  • a recording module configured to record, in the sending table, identifier information of the first VXLAN packet
  • the determining module includes:
  • a determining unit configured to determine, in the second VXLAN packet, the identifier information in the second VXLAN packet and the location in the sending table, when the packet type indicated by the value of the type flag bit in the second VXLAN packet is a response type Whether the identifier information of the first VXLAN packet is the same;
  • the determining unit is configured to determine that the first path satisfies the path switching condition when the identifier information in the second VXLAN packet is the same as the identifier information of the first VXLAN packet in the sending table.
  • the device further includes:
  • a deleting module configured to: when the identifier information in the second VXLAN packet is the same as the identifier information of the first VXLAN packet, delete the identifier that includes the first VXLAN packet from the sending table The entry of the information; or,
  • the clearing module is configured to: when the identifier information of the first VXLAN packet recorded in the sending table indicates that the number of sent packets of the data flow to which the first VXLAN packet belongs exceeds a preset value, The identification information of the first VXLAN message recorded in the sending table.
  • the first VXLAN packet is obtained by encapsulating a VXLAN tunnel header for the original packet, and the identifier information of the first VXLAN packet is carried in a reserved field of a VXLAN tunnel header of the first VXLAN packet.
  • the reserved field of the VXLAN tunnel header of the second VXLAN packet includes the identifier information of the first VXLAN packet, and the type flag is carried in the flag field of the VXLAN tunnel header of the second VXLAN packet.
  • the second VXLAN message is generated by the second switch according to the first VXLAN message.
  • the second VXLAN packet is: when the second switch detects that there is a reverse packet in the sending queue of the second switch, adding the first VXLAN to the VXLAN tunnel header of the reverse packet.
  • the identifier information of the packet and the type flag are obtained, and the reverse packet is a packet whose outer layer destination Internet Protocol IP address in the sending queue of the second switch is an IP address of the first switch.
  • the first VXLAN message further includes: a type flag bit, where the type flag bit is located in the first In the flag field of the VXLAN tunnel header of a VXLAN message, the value of the type flag bit is a second preset value, and the second preset value is used to indicate that the message type is a request type.
  • a fourth aspect provides a message processing apparatus, where the apparatus is a second switch in a virtual scalable local area network (VXLAN), and at least two equal-cost paths exist between the second switch and the first switch, the apparatus include:
  • a first receiving module configured to receive, by using the first path of the at least two equal-cost paths, the first VXLAN packet sent by the first switch;
  • An acquiring module configured to acquire a second VXLAN packet according to the first VXLAN packet, where the second VXLAN packet is used to notify the first switch that the second switch receives the first VXLAN packet;
  • a sending module configured to send the second VXLAN packet to the first switch, so that the first switch determines, according to the second VXLAN packet, whether the first path meets a path switching condition
  • a second receiving module configured to receive, by the second path of the at least two equal-cost paths, the first switch sent by the first switch and the first VXLAN packet when the first path meets the path switching condition Subsequent VXLAN messages for the data stream.
  • the first VXLAN packet includes: an original packet and identifier information, where the identifier information is used to identify the first VXLAN packet,
  • the second VXLAN packet includes: a type flag bit and the identifier information, where the value of the type flag bit is a first preset value, and the first preset value is used to indicate the second VXLAN message.
  • the message type is the response type.
  • the first VXLAN packet is obtained by encapsulating a VXLAN tunnel header for the original packet, and the identifier information of the first VXLAN packet is carried in a reserved field of a VXLAN tunnel header of the first VXLAN packet.
  • the reserved field of the VXLAN tunnel header of the second VXLAN packet includes the identifier information of the first VXLAN packet, and the type flag is carried in the flag field of the VXLAN tunnel header of the second VXLAN packet.
  • the acquiring module includes:
  • a generating unit configured to generate the second VXLAN packet according to the first VXLAN packet
  • the detecting and encapsulating unit is configured to detect whether there is a reverse packet in the sending queue of the second switch, where the reverse packet is an IP address of an outer layer destination network in the sending queue of the second switch is the first And adding, in the packet of the IP address of the switch, the identifier information of the first VXLAN packet and the type in the VXLAN tunnel header of the reverse packet when the reverse packet exists in the sending queue.
  • the flag bit gets the second VXLAN message.
  • the first VXLAN message further includes: a type flag, where the type flag is located in a flag field of the VXLAN tunnel header of the first VXLAN message, the value of the type flag is a second preset value, and the second preset value is used to indicate
  • the message type is a request type
  • the device further includes:
  • a judging module configured to determine that a packet type indicated by a value of a type flag bit in the first VXLAN packet is No as the request type
  • the triggering module is configured to: when the packet type indicated by the value of the type flag in the first VXLAN packet is a request type, trigger the acquiring module to acquire the second VXLAN packet according to the first VXLAN packet.
  • a fifth aspect provides a packet processing system, where the system includes at least a first switch and a second switch, and the first switch and the second switch are connected by using an IP network,
  • the first switch includes the message processing apparatus according to the third aspect
  • the second switch includes the message processing apparatus according to the fourth aspect.
  • FIG. 1 is a schematic diagram of an implementation environment involved in various embodiments of the present invention.
  • FIG. 2 is a schematic flowchart of a packet processing method according to an embodiment of the present invention.
  • FIG. 3 is a schematic flowchart of a packet processing method according to another embodiment of the present invention.
  • FIG. 4 is a schematic flowchart of a packet processing method according to still another embodiment of the present invention.
  • FIG. 5 is a block diagram of a message processing apparatus according to an embodiment of the present invention.
  • FIG. 6 is a block diagram of a message processing apparatus according to another embodiment of the present invention.
  • FIG. 7 is a block diagram of a message processing apparatus according to still another embodiment of the present invention.
  • FIG. 8 is a block diagram of a message processing apparatus according to still another embodiment of the present invention.
  • FIG. 9 is a block diagram of a message processing apparatus according to an embodiment of the present invention.
  • FIG. 10 is a block diagram of a message processing apparatus according to another embodiment of the present invention.
  • FIG. 11 is a schematic structural diagram of a message processing system according to an embodiment of the present invention.
  • FIG. 1 shows a schematic diagram of an implementation environment involved in various embodiments of the present invention.
  • the implementation environment provides a VXLAN network reference architecture 100 that can include at least two leaf switches and at least two spine switches.
  • the leaf switch is used to provide access services for terminal devices such as virtual machines (English: virtual machine, VM), personal computers (personal computers, PCs, servers), and the same VXLAN network.
  • the switch can communicate with each other through the IP network.
  • the leaf switches of different VXLAN networks can also communicate with each other.
  • the spine switch is used to forward packets between the leaf switches.
  • the at least two leaf switches include a leaf switch 120 and a leaf switch 140
  • the at least two spine switches include a spine switch 160 and a spine switch 180.
  • the embodiment of the present invention assumes that the leaf switch 120 is the first switch and the leaf switch 140 is the second switch.
  • FIG. 2 it is a schematic flowchart of a packet processing method according to an embodiment of the present invention.
  • the packet processing method in this embodiment is performed by the first switch shown in FIG. 1, and there are at least two equal-cost paths between the first switch and the second switch (for example, path 1: first switch- > backbone switch 160 -> second switch; path 2: first switch -> backbone switch 180 -> second switch), see Figure 2, the method flow specifically includes:
  • Step 201 Send a first VXLAN message to the second switch by using the first path of the at least two equal-cost paths.
  • Step 202 Receive a second VXLAN message sent by the second switch according to the first VXLAN message, where the second VXLAN message is used to notify the first switch that the second switch receives the first A VXLAN message.
  • Step 203 Determine, according to the second VXLAN packet, whether the first path meets a path switching condition.
  • Step 204 If the first path meets the path switching condition, when receiving the subsequent VXLAN message that belongs to the same data flow as the first VXLAN message, pass the second of the at least two equal-cost paths. The path sends the subsequent VXLAN message to the second switch.
  • the packet processing method of the embodiment of the present invention sends a first VXLAN message to the second switch through the first path in the at least two equal-cost paths, and receives the second switch according to the first VXLAN message. And determining, by the second VXLAN packet, whether the first path meets a path switching condition according to the second VXLAN packet, and if the first path meets the path switching condition, receiving the packet corresponding to the first VXLAN And sending, by the second path of the at least two equal-cost paths, the subsequent VXLAN message to the second switch, by using the at least two equal-cost paths
  • the second path sends the subsequent VXLAN message to the second switch, the data stream is offloaded, and the next sub-data stream can be sent after the previous sub-data stream is received by the second switch, so
  • the present invention can solve the problem that the system performance is reduced or the packet is out of order caused by sending the sub-data stream by using the preset time interval in the prior art, thereby improving the system performance and avoiding the disorder of the message. fruit.
  • the embodiment of the present invention distributes the load of the first path to the second path by sending a subsequent VXLAN message to the second switch by using the second path of the at least two equal-cost paths. Therefore, the present invention can also improve the balance of path load in a VXLAN network.
  • FIG. 3 is a schematic flowchart diagram of a packet processing method according to another embodiment of the present invention.
  • the packet processing method in this embodiment is performed by the second switch shown in FIG. 1.
  • the second switch and the first switch have at least two equal-cost paths.
  • the method includes:
  • Step 301 Receive, by using the first path of the at least two equal-cost paths, the first VXLAN packet sent by the first switch.
  • Step 302 Acquire a second VXLAN packet according to the first VXLAN packet, where the second VXLAN packet is used to notify the first switch that the second switch receives the first VXLAN packet.
  • Step 303 Send the second VXLAN packet to the first switch, so that the first switch determines, according to the second VXLAN packet, whether the first path meets a path switching condition.
  • step 304 when the first path meets the path switching condition, the second path that is sent by the first switch and the first VXLAN packet belongs to the same data stream is received by the second path of the at least two equal-cost paths. VXLAN message.
  • the packet processing method provided by the embodiment of the present invention receives the first VXLAN packet sent by the first switch by using the first path in the at least two equal-cost paths, and acquires and sends the first VXLAN packet according to the first VXLAN packet.
  • the switch sends a second VXLAN message, where the second VXLAN message is used to notify the first switch that the second switch receives the first VXLAN message, so that the first switch is configured according to the second VXLAN message.
  • the present invention can solve the problem that the system performance is reduced or the message is out of order due to the transmission of the sub-data stream by using the preset time interval in the prior art. The problem is to improve the performance of the system and avoid the disorder of the message.
  • the embodiment of the present invention distributes the load of the first path to the second path by sending a subsequent VXLAN message to the second switch by using the second path of the at least two equal-cost paths. Therefore, the present invention can also improve the balance of path load in a VXLAN network.
  • FIG. 4 is a schematic flowchart diagram of a packet processing method according to still another embodiment of the present invention.
  • the packet processing method is applied to the implementation environment shown in FIG. 1. There are at least two equal-cost paths between the first switch and the second switch. Referring to FIG. 4, the method includes:
  • Step 401 The first switch encapsulates the VXLAN tunnel header for the original packet to obtain the first VXLAN packet, where the first VXLAN packet includes: identifier information, where the identifier information is used to identify the first VXLAN packet.
  • the first VXLAN packet may further include: a type flag, where the value of the type flag is used to indicate a packet type of the packet where the VXLAN tunnel header is located.
  • the packet is Types include request type and response type.
  • the packet of the request type is the packet sent by the sender of the packet.
  • the packet of the response type is the packet that the sender of the packet needs to trigger before sending a certain condition.
  • the first VXLAN message is a request type message sent by the first switch
  • the second VXLAN message is that the second switch receives the first VXLAN message according to a trigger condition. The message of the response type sent.
  • the original packet is a packet received by the first switch from the first device that accesses the first switch, and is configured to access the second device of the second switch.
  • the VXLAN tunnel header can be as shown in Table 1 below.
  • the VXLAN tunnel header is in turn followed by a flag field, a reserved field 1, and a virtual scalable local area network identifier (English)
  • the VXLAN Network Identifier (VNI) field and the reserved field 2 are composed, wherein the field in which Flags is located in Table 1 is the flag field, and the field in which Reserved1 is located after the flag field is reserved field 1, the virtual The field in which the extended local area network identifier is located is the virtual scalable local area network identification field, and the field in which Reserved2 is located is the reserved field 2.
  • the length of the flag field is usually 8 bits (bits), and the type flag of the message is carried in the flag field.
  • the flag field the fifth in the flag field.
  • the value of the bit is I, and the value of I is set to 1, indicating that the message of the VXLAN tunnel header is valid.
  • the sending bit in the flag field (English: Send Flag, S: abbreviation and S) is used.
  • the response bit (English: Ack Flag, abbreviated as A) constitutes a type flag bit, the transmission bit is the first bit in the flag field, and the response bit is the second bit in the flag field.
  • the length of the reserved field 1 is usually 24 bits, and the identifier information of the packet is carried in the reserved field 1.
  • the identifier information is as shown in Table 2, and the identifier information includes: a flow identifier (English: Flow Identification, Flow ID for short) and a serial number (English: Sequence ID).
  • the flow identifier is used to indicate a data flow to which the packet of the VXLAN tunnel header belongs, and the sequence number is used to indicate a transmission sequence of a packet, and the length of the flow identifier and the length of the serial number are usually 12bit.
  • the virtual scalable local area network identifier is typically 24 bits in length and is used to identify a virtual scalable local area network.
  • the length of the reserved field 2 is usually 8 bits.
  • the flag field of 8 bits in the VXLAN tunnel header and the reserved field 1 of 24 bits are mainly applied.
  • the current original packet is the first packet in the data stream whose stream identifier is 000000000
  • the type flag of the VXLAN tunnel header encapsulated by the first switch for the original packet is 10
  • the flag field may be 10001000
  • the flow identifier may be 000000000000
  • the serial number may be 000000001, that is, in the VXLAN tunnel header shown in Table 1, the value of the 8-bit Flags is 10001000, and the value of the 24-bit Reserved is 000000000000000000000001.
  • the first switch After the first switch encapsulates the VXLAN tunnel header for the original packet, the first switch obtains the first VXLAN packet, and 10 is the value of the type flag of the first VXLAN packet, where 000000000000000000000001 is Identification information of the first VXLAN packet.
  • Step 402 The first switch sends the first VXLAN message to the second switch by using the first path of the at least two equal-cost paths.
  • the first switch After the first switch obtains the first VXLAN packet, the first switch sends the first path to the second switch by using a first path of at least two equal paths between the first switch and the second switch.
  • the first VXLAN message is described.
  • the first path is any one of the at least two equal-cost paths.
  • Step 403 The first switch records the identifier information of the first VXLAN packet in the sending table of the first switch.
  • Each entry of the sending table includes an identifier of the data stream and a sequence number of the VXLAN packet that is sent by the first switch and belongs to the data stream.
  • the first switch adds an entry in the sending table when the first VXLAN packet of the data stream is sent, where the entry includes the flow identifier of the data stream and the first Correspondence between serial numbers of VXLAN messages.
  • the recording the identifier information of the first VXLAN packet includes: recording a correspondence between a stream identifier of the data stream to which the first VLAN packet belongs and a sequence number of the first VXLAN packet. And, in the sending table, only one entry is set for each data flow, and when the first switch sends the subsequent VXLAN message of the data flow, only the entry is updated according to the subsequent VXLAN message.
  • the serial number in it can be.
  • the first switch adds an entry in the sending table of the first switch (Flow ID: 000000000000, Sequence ID: 000000000001).
  • Step 404 after the second switch receives the first VXLAN message sent by the first switch, the second switch determines a report indicating a value of a type flag bit in the first VXLAN message. Whether the text type is a request type.
  • the second switch determines whether the value of the type flag bit in the first VXLAN message is a second preset value, and the value of the type flag bit in the first VXLAN message is a second pre-predetermined value. When the value is set, the second switch determines that the type of the first VXLAN message is a request type.
  • the second switch may determine whether the type of the first VXLAN message is a request type according to whether the value of the type flag SA is 10.
  • the value of the type flag SA of the first VXLAN packet is a second preset value of 10, therefore, the The second switch determines that the type of the first VXLAN message is a request type.
  • Step 405 If the packet type indicated by the value of the type flag in the first VXLAN packet is the request type, the second switch acquires the second VXLAN packet according to the first VXLAN packet, The second VXLAN packet is used to notify the first switch that the second switch receives the first VXLAN packet.
  • the second VXLAN packet includes: a type flag bit and identifier information, where the value of the type flag bit is a first preset value, and the first preset value is used to indicate the second VXLAN message.
  • the message type is the response type.
  • the second VXLAN packet is used to notify the first switch that the second switch receives the first VXLAN packet, and therefore, the packet type of the second VXLAN packet is a response type, and
  • the identifier information of the second VXLAN packet is the identifier information of the first VXLAN packet, that is, the type flag of the second VXLAN packet is 01, and the identifier information is 00000000000000000001.
  • the method when the second switch acquires the second VXLAN packet according to the first VXLAN packet, the method includes two acquisition modes:
  • the first mode the second switch generates the second VXLAN packet according to the first VXLAN message.
  • the generated second VXLAN packet is specifically used to notify the first switch that the second switch receives the first VXLAN packet, and the second VXLAN packet includes a VXLAN tunnel header.
  • the VXLAN tunnel header includes a type flag of 01 and an identification information of 000000000000000000000001.
  • the second mode the second switch detects whether there is a reverse packet in the sending queue of the second switch, and the reverse packet is an outer IP address in the sending queue of the second switch.
  • the second switch adds the first VXLAN message to the VXLAN tunnel header of the reverse packet when the reverse packet is sent in the sending queue.
  • the identification information and the type flag bit obtain the second VXLAN message.
  • the second switch performs a lookup in the sending queue of the second switch according to the outer source IP address in the first VXLAN packet, and finds that the sending queue of the second switch exists.
  • the second switch performs VXLAN encapsulation on the packet, and sets the type flag SA in the VXLAN tunnel header. Set to 01, the reserved field 1 in the VXLAN tunnel header is set to 000000000000000000000001 to obtain the second VXLAN message.
  • the second switch may be in the multiple outer destination IP addresses. Address is first Selecting a packet in the packet of the IP address of the switch, and encapsulating the packet to obtain the second VXLAN packet.
  • the second switch is first according to the multiple destination IP addresses. The first packet to be sent in the packet of the IP address of the switch obtains the second VXLAN packet.
  • the first switch when the second switch detects that there is a reverse packet in the sending queue of the second switch, the first switch adds the first in the VXLAN tunnel header of the reverse packet.
  • the second VXLAN packet is obtained by the identifier information of the VXLAN packet and the type flag.
  • the second switch does not need to generate a new packet. Therefore, the second switch receives the notification from the first switch. While the first VXLAN packet is described, the occupation of the second switch system resource is reduced.
  • Step 406 The second switch sends the second VXLAN packet to the first switch.
  • the second switch sends a second VXLAN message whose flag field is 01001000 to the first switch, and the identifier information of the field 1 is 000000000000000000000001.
  • Step 407 After the first switch receives the second VXLAN message sent by the second switch, the first switch determines, according to the second VXLAN message, whether the first path meets a path switching condition.
  • the path switching condition may include: a time switching condition and a state switching condition.
  • the first switch may determine, according to whether the identifier information of the second VXLAN packet is the same as the identifier information of the first packet, whether the first path meets a time switching condition, and when the second switch When the identifier information of the VXLAN packet is the same as the identifier information of the first packet, the first path meets the time switch condition, and the time switch condition is that the first switch receives the second switch. Receiving the notification message of the first VXLAN message, that is, the second VXLAN message, the time interval between the first VXLAN message and the subsequent first VXLAN message is satisfied. Interval requirements. The determination of the time switching condition can effectively ensure the timing of the message in the data stream.
  • the first switch determines whether the value of the type flag bit in the second VXLAN packet is a first preset value, where the first preset value is used to indicate the report of the second VXLAN packet.
  • the type of the message is a response type.
  • the first switch determines that the type of the second VXLAN packet is a response type.
  • the first switch determines whether the identifier information in the second VXLAN packet is the same as the identifier information of the first VXLAN packet in the sending table, and the identifier information of the second VXLAN packet is the first When the identifier information of the VXLAN packet is the same, the second switch has received the first VXLAN packet, and the first path meets the time switch condition.
  • the first preset value may be 01, and the first switch may be based on the type flag. Is the bit SA a 01? It is determined whether the type of the second VXLAN message is a response type.
  • the value of the type flag of the second VXLAN packet is the first preset value 01, so that the first switch determines that the flag field in the second VXLAN packet is 01001000.
  • the type of the second VXLAN packet is a response type, and the first switch determines whether the identifier information in the second VXLAN packet is the same as the identifier information of the first VXLAN packet in the sending table,
  • the identifier information in the second VXLAN packet is 00000000000000000001, which is the same as the identifier information 000000000000000000000001 recorded by the first switch in step 403. Therefore, the first switch determines that the first path meets a time switch condition.
  • the first switch determines whether the first path meets the state switching condition, where the state switching condition is The first switch is determined according to the configuration policy. For example, the first switch may determine, according to the bandwidth utilization of the first path, whether the first path is congested. If the first path is congested, the first path is And satisfying the state switching condition, for example, the first switch may further determine whether to perform path switching according to whether the load of each path in the at least two equal-cost paths is equalized, if the at least two equal-cost paths are The load of each path is not balanced, and the first path satisfies the state switching condition.
  • the first switch determines that the first path satisfies the time switching condition and the state switching condition simultaneously, the first switch performs path switching.
  • the first switch determines whether the packet type of the second VXLAN packet is a response type, and the second VXLAN packet.
  • the packet type is the response type
  • the first switch determines whether the identifier information in the second VXLAN packet is the same as the identifier information of the first VXLAN packet in the sending table, which simplifies the operation steps.
  • Step 408 If the first path meets the path switching condition, the first switch passes the at least two equivalents when receiving the subsequent VXLAN message that belongs to the same data flow as the first VXLAN message.
  • the second path in the path sends the subsequent VXLAN message to the second switch.
  • the first switch determines that the first path meets the path switching condition in step 407, the first switch receives the subsequent VXLAN message that belongs to the same data stream as the first VXLAN message.
  • the first switch sends the subsequent VXLAN message to the second switch by using a second path of the at least two equal-cost paths.
  • the second path is any one of the at least two equal-cost paths except the first path.
  • Step 409 when the first path meets the path switching condition, the second switch passes the at least two The second path of the equal-cost path receives the subsequent VXLAN message that is sent by the first switch and belongs to the same data stream as the first VXLAN message.
  • the second switch receives, by using the second path, the subsequent VXLAN packet that is sent by the first switch and belongs to the same data stream as the first VXLAN packet.
  • the sequence number of the latter VXLAN packet is accumulated based on the sequence number of the previous VXLAN packet. That is, when the first switch encapsulates the VXLAN tunnel header of a VXLAN message, the first VXLAN packet sequence number is incremented by one to obtain the sequence number of the latter VXLAN packet. For example, the first switch is in the package first. In the VXLAN tunnel header of the VXLAN packet, the sequence number of the first VXLAN packet is: 000000000001, and the first switch encapsulates the subsequent packet of the data flow to which the first VXLAN packet belongs.
  • the first switch encapsulates the third VXLAN packet of the data stream according to the sequence.
  • the above methods are analogous.
  • the sequence number of the VXLAN packet is 12 bits.
  • the accumulation may cause the sequence number of the VXLAN packet to overflow. Therefore, in the embodiment of the present invention, the first When the identifier information of the second VXLAN packet is the same as the identifier information of the first VXLAN packet, if the first path does not meet the path switching condition, the first switch clears the sending table. Identification information of the first VXLAN message recorded in the record.
  • the clearing of the identifier information of the first VXLAN packet recorded in the sending table refers to setting the sequence number in the identifier information of the first VXLAN packet that belongs to the data stream to 0.
  • the first path meets a path switching condition, and the identifier information of the first switch in the second VXLAN packet is used to ensure that the storage space of the first switch can be effectively utilized.
  • the entry including the identifier information of the first VXLAN packet is deleted from the sending table.
  • the first switch sends the first VXLAN stored in the table.
  • the sequence number of the message is set to 0, and the first switch sends the subsequent VXLAN message through the first path when receiving the subsequent VXLAN message that belongs to the same data stream as the first VXLAN message. Text.
  • the first switch deletes from the sending table, An entry of the identifier information of the first VXLAN packet, and the identifier information of the first VXLAN packet that is recorded by the first switch in the sending table, indicating that the data flow to which the first VXLAN packet belongs
  • the first switch clears the identifier information of the first VXLAN packet recorded in the sending table, thereby saving the storage space of the first switch.
  • the second VXLAN packet is not The first VLXAN packet corresponds to the notification packet, and the first path still has the VXLAN packet sent by the first switch, and the first path does not meet the path switching condition.
  • the switch receives the subsequent VXLAN packet that belongs to the same data stream as the first VXLAN packet, the first switch sends the subsequent VXLAN packet by using the first path.
  • step 403 and step 404 are performed in sequence.
  • the steps 403 and 404 may be reversed. Any person skilled in the art can easily think of the change within the scope of the technology disclosed in the present invention. It is within the scope of the present invention and therefore will not be described again.
  • the packet processing method of the embodiment of the present invention sends a first VXLAN message to the second switch through the first path in the at least two equal-cost paths, and receives the second switch according to the first VXLAN message. And determining, by the second VXLAN packet, whether the first path meets a path switching condition according to the second VXLAN packet, and if the first path meets the path switching condition, receiving the packet corresponding to the first VXLAN And sending, by the second path of the at least two equal-cost paths, the subsequent VXLAN message to the second switch, by using the at least two equal-cost paths
  • the second path sends the subsequent VXLAN message to the second switch, the data stream is offloaded, and the next sub-data stream can be sent after the previous sub-data stream is received by the second switch, so
  • the present invention can solve the problem that the system performance is reduced or the packet is out of order caused by sending the sub-data stream by using the preset time interval in the prior art, thereby improving the system performance and avoiding the disorder of the message. fruit.
  • the embodiment of the present invention distributes the load of the first path to the second path by sending a subsequent VXLAN message to the second switch by using the second path of the at least two equal-cost paths. Therefore, the present invention can also improve the balance of path load in a VXLAN network.
  • the embodiment of the present invention can perform path switching when it is determined that the path switching condition is reached. Therefore, compared with the prior art, the embodiment of the present invention forms a sub-data stream after the handover, and the size of each sub-data stream is flexibly determined. In the embodiment of the present invention, when the data stream is divided for a long duration, the formed sub-data stream is more uniform, and load balancing of each equal-cost path is more effectively implemented.
  • FIG. 5 shows a block diagram of a message processing apparatus 500 according to an embodiment of the present invention.
  • the message processing apparatus 500 can implement some or all of the functions of the first switch in the implementation environment shown in FIG. 1 by software, hardware, or a combination of both.
  • the at least two equal-cost paths exist between the first switch and the second switch.
  • the packet processing apparatus 500 may include: a first sending module 510, a receiving module 520, a determining module 530, and a second sending module 540.
  • the first sending module 510 is configured to send, by using the first path of the at least two equal-cost paths, the first VXLAN packet to the second switch.
  • the receiving module 520 is configured to receive a second VXLAN packet sent by the second switch according to the first VXLAN packet, where the second VXLAN packet is used to notify the first switch of the second switch Receiving the first VXLAN message.
  • the determining module 530 is configured to determine, according to the second VXLAN message received by the receiving module 520, whether the first path meets a path switching condition.
  • the second sending module 540 is configured to: when the determining module 530 determines that the first path meets a path switching condition and receives a subsequent VXLAN message that belongs to the same data flow as the first VXLAN message, The second path of the at least two equal-cost paths sends the subsequent VXLAN message to the second switch.
  • the packet processing apparatus sends a first VXLAN message to the second switch by using the first path of the at least two equal-cost paths, and receives the second switch according to the first VXLAN message. And determining, by the second VXLAN packet, whether the first path meets a path switching condition according to the second VXLAN packet, and if the first path meets the path switching condition, receiving the packet corresponding to the first VXLAN And sending, by the second path of the at least two equal-cost paths, the subsequent VXLAN message to the second switch, by using the at least two equal-cost paths
  • the second path sends the subsequent VXLAN message to the second switch, the data stream is offloaded, and the next sub-data stream can be sent after the previous sub-data stream is received by the second switch, so
  • the present invention can solve the problem that the system performance is reduced or the packet is out of order caused by sending the sub-data stream by using the preset time interval in the prior art, thereby improving the system performance and avoiding the disorder of the message. fruit.
  • the embodiment of the present invention distributes the load of the first path to the second path by sending a subsequent VXLAN message to the second switch by using the second path of the at least two equal-cost paths. Therefore, the present invention can also improve the balance of path load in a VXLAN network.
  • FIG. 6 shows a block diagram of a message processing apparatus 600 according to another embodiment of the present invention.
  • the message processing apparatus 600 may implement some or all of the functions of the first switch in the implementation environment shown in FIG. 1 by software, hardware, or a combination of both.
  • the at least two equal-cost paths exist between the first switch and the second switch.
  • the packet processing apparatus 600 may include: a first sending module 610, a receiving module 620, a determining module 630, and a second sending module 640.
  • the first sending module 610 is configured to send, by using the first path of the at least two equal-cost paths, the first VXLAN packet to the second switch.
  • the receiving module 620 is configured to receive a second VXLAN packet sent by the second switch according to the first VXLAN packet, where the second VXLAN packet is used to notify the first switch of the second switch Receiving the first VXLAN message.
  • the determining module 630 is configured to determine, according to the second VXLAN message received by the receiving module 620, whether the first path meets a path switching condition.
  • the second sending module 640 is configured to: when the determining module 630 determines that the first path meets a path switching condition and receives a subsequent VXLAN message that belongs to the same data flow as the first VXLAN message, The second path of the at least two equal-cost paths sends the subsequent VXLAN message to the second switch.
  • the first VXLAN message includes: an original message and identifier information, where the identifier information is used to identify the first VXLAN message, where the second VXLAN message includes: a type flag bit and the The identifier information, the value of the type flag is a first preset value, and the first preset value is used to indicate that the message type of the second VXLAN message is a response type, and the device further includes:
  • the recording module 650 is configured to record the identifier information of the first VXLAN packet in the sending table.
  • the determining module 630 includes:
  • the determining unit 631 is configured to determine the identifier information in the second VXLAN packet and the sending table in the sending table when the packet type indicated by the value of the type flag bit in the second VXLAN packet is a response type Whether the identification information of the first VXLAN packet is the same;
  • a determining unit 632 configured to determine, when the determining unit 631 determines that the identifier information in the second VXLAN packet is the same as the identifier information of the first VXLAN packet in the sending table, Path satisfaction Path switching conditions.
  • the device further includes:
  • a deleting module 660 configured to delete, when the identifier information in the second VXLAN packet is the same as the identifier information of the first VXLAN packet that is recorded, from the sending table, including the first VXLAN packet An entry identifying the information; or,
  • the clearing module 670 is configured to: when the identifier information of the first VXLAN packet recorded in the sending table indicates that the number of sent packets of the data flow to which the first VXLAN packet belongs exceeds a preset value, And clearing the identifier information of the first VXLAN packet recorded in the sending table.
  • the first VXLAN packet is obtained by encapsulating a VXLAN tunnel header for the original packet, and the identifier information of the first VXLAN packet is carried in a VXLAN tunnel header of the first VXLAN packet. Reserved in the field;
  • the reserved field of the VXLAN tunnel header of the second VXLAN packet includes the identifier information of the first VXLAN packet, and the type flag is carried in the flag field of the VXLAN tunnel header of the second VXLAN packet.
  • the second VXLAN message is generated by the second switch according to the first VXLAN message.
  • the second VXLAN packet is: when the second switch detects that there is a reverse packet in the sending queue of the second switch, adding the first VXLAN to the VXLAN tunnel header of the reverse packet.
  • the identifier information of the packet and the type flag are obtained, and the reverse packet is a packet whose outer layer destination Internet Protocol IP address in the sending queue of the second switch is an IP address of the first switch.
  • the first VXLAN message further includes: a type flag bit, where the type flag bit is located in a flag field of a VXLAN tunnel header of the first VXLAN message, and the value of the type flag bit is second.
  • the preset value is used to indicate that the message type is a request type.
  • the packet processing apparatus sends a first VXLAN message to the second switch by using the first path of the at least two equal-cost paths, and receives the second switch according to the first VXLAN message. And determining, by the second VXLAN packet, whether the first path meets a path switching condition according to the second VXLAN packet, and if the first path meets the path switching condition, receiving the packet corresponding to the first VXLAN And sending, by the second path of the at least two equal-cost paths, the subsequent VXLAN message to the second switch, by using the at least two equal-cost paths When the second path sends the subsequent VXLAN packet to the second switch, the data flow is offloaded, and the next sub-number can be guaranteed.
  • the flow is transmitted after the previous sub-data stream is received by the second switch. Therefore, the present invention can solve the problem that the system performance is reduced or the message is out of order caused by the sub-data stream being transmitted by using the preset time interval in the prior art. System performance, avoiding the effect of message out of order.
  • the embodiment of the present invention distributes the load of the first path to the second path by sending a subsequent VXLAN message to the second switch by using the second path of the at least two equal-cost paths. Therefore, the present invention can also improve the balance of path load in a VXLAN network.
  • the embodiment of the present invention can perform path switching when it is determined that the path switching condition is reached. Therefore, compared with the prior art, the embodiment of the present invention forms a sub-data stream after the handover, and the size of each sub-data stream is flexibly determined. In the embodiment of the present invention, when the data stream is divided for a long duration, the formed sub-data stream is more uniform, and load balancing of each equal-cost path is more effectively implemented.
  • FIG. 7 shows a block diagram of a message processing apparatus 700 according to still another embodiment of the present invention.
  • the message processing apparatus 700 can implement some or all of the functions of the second switch in the implementation environment shown in FIG. 1 by software, hardware, or a combination of both.
  • the at least two equal-cost paths exist between the second switch and the first switch, and the packet processing apparatus 700 may include: a first receiving module 710, an obtaining module 720, a sending module 730, and a second receiving module 740.
  • the first receiving module 710 is configured to receive, by using the first path of the at least two equal-cost paths, the first VXLAN packet sent by the first switch.
  • the obtaining module 720 is configured to obtain a second VXLAN packet according to the first VXLAN packet received by the first receiving module 710, where the second VXLAN packet is used to notify the first switch The second switch receives the first VXLAN message.
  • the sending module 730 is configured to send, by the first switch, the second VXLAN message that is obtained by the acquiring module 720, so that the first switch determines the first part according to the second VXLAN message. Whether a path satisfies the path switching condition.
  • the second receiving module 740 is configured to receive, by the second path of the at least two equal-cost paths, the first VXLAN report sent by the first switch, when the first path meets a path switching condition.
  • the text belongs to subsequent VXLAN messages of the same data stream.
  • the packet processing apparatus receives the first VXLAN packet sent by the first switch by using the first path in the at least two equal-cost paths, and acquires and sends the first VXLAN packet according to the first VXLAN packet.
  • the switch sends a second VXLAN message, where the second VXLAN message is used to notify the first switch to receive the second switch.
  • the second path of the at least two equal-cost paths receives a subsequent VXLAN message sent by the first switch that belongs to the same data stream as the first VXLAN message;
  • the data stream is offloaded, and the next sub-data stream can be sent after the previous sub-data stream is received by the second switch.
  • the invention can solve the problem that the performance of the system is reduced or the packet is out of order caused by the sub-data stream being transmitted by using the preset time interval in the prior art, thereby improving the system performance and avoiding the disorder of the message.
  • the embodiment of the present invention distributes the load of the first path to the second path by sending a subsequent VXLAN packet to the second switch by using the second path of the at least two equal-cost paths.
  • the present invention can also improve the balance of path load in a VXLAN network.
  • FIG. 8 shows a block diagram of a message processing apparatus 800 according to still another embodiment of the present invention.
  • the message processing apparatus 800 can implement some or all of the functions of the second switch in the implementation environment shown in FIG. 1 by software, hardware, or a combination of both.
  • the at least two equal-cost paths exist between the second switch and the first switch, and the packet processing apparatus 800 may include: a first receiving module 810, an obtaining module 820, a sending module 830, and a second receiving module 840.
  • the first receiving module 810 is configured to receive, by using the first path of the at least two equal-cost paths, the first VXLAN packet sent by the first switch.
  • the obtaining module 820 is configured to obtain a second VXLAN message according to the first VXLAN message received by the first receiving module 810, where the second VXLAN message is used to notify the first switch The second switch receives the first VXLAN message.
  • the sending module 830 is configured to send, by the first switch, the second VXLAN message that is obtained by the acquiring module 820, so that the first switch determines the first part according to the second VXLAN message. Whether a path satisfies the path switching condition.
  • the second receiving module 840 is configured to receive, by the second path of the at least two equal-cost paths, the first VXLAN report sent by the first switch, when the first path meets a path switching condition.
  • the text belongs to subsequent VXLAN messages of the same data stream.
  • the first VXLAN packet includes: an original packet and identifier information, where the identifier information is used to identify the first VXLAN packet, where the second VXLAN packet includes: a type flag bit and the identifier information.
  • said The value of the type flag is a first preset value, and the first preset value is used to indicate that the message type of the second VXLAN message is a response type.
  • the first VXLAN packet is obtained by encapsulating a VXLAN tunnel header for the original packet, and the identifier information of the first VXLAN packet is carried in a VXLAN tunnel header of the first VXLAN packet. Reserved in the field;
  • the reserved field of the VXLAN tunnel header of the second VXLAN packet includes the identifier information of the first VXLAN packet, and the type flag is carried in the flag field of the VXLAN tunnel header of the second VXLAN packet.
  • the obtaining module 820 includes:
  • a generating unit 821 configured to generate the second VXLAN packet according to the first VXLAN packet
  • the detecting and encapsulating unit 822 is configured to detect whether there is a reverse packet in the sending queue of the second switch, where the reverse packet is an IP address of the outer layer in the sending queue of the second switch. Adding the identifier information of the first VXLAN packet to the VXLAN tunnel header of the reverse packet, and the packet of the IP address of the switch, when the reverse packet exists in the sending queue The type flag bit gets the second VXLAN message.
  • the first VXLAN message further includes: a type flag bit, where the type flag bit is located in a flag field of a VXLAN tunnel header of the first VXLAN message, and the value of the type flag bit is second. a preset value, where the second preset value is used to indicate that the message type is a request type, and the device further includes:
  • the determining module 850 is configured to determine whether the message type indicated by the value of the type flag bit in the first VXLAN message is a request type
  • the triggering module 860 is configured to trigger, when the determining module 850 determines that the packet type indicated by the value of the type flag bit in the first VXLAN packet is a request type, triggering the acquiring module 820 according to the first VXLAN The packet obtains the second VXLAN packet.
  • the packet processing apparatus receives the first VXLAN packet sent by the first switch by using the first path in the at least two equal-cost paths, and acquires and sends the first VXLAN packet according to the first VXLAN packet.
  • the switch sends a second VXLAN message, where the second VXLAN message is used to notify the first switch that the second switch receives the first VXLAN message, so that the first switch is configured according to the second VXLAN message.
  • the present invention can solve the prior art.
  • the problem of system performance degradation or packet out-of-order caused by sending sub-data streams at preset time intervals improves the system performance and avoids the disorder of packets.
  • the embodiment of the present invention distributes the load of the first path to the second path by sending a subsequent VXLAN packet to the second switch by using the second path of the at least two equal-cost paths.
  • the present invention can also improve the balance of path load in a VXLAN network.
  • the embodiment of the present invention can perform path switching when it is determined that the path switching condition is reached. Therefore, compared with the prior art, the embodiment of the present invention forms a sub-data stream after the handover, and the size of each sub-data stream is flexibly determined. In the embodiment of the present invention, when the data stream is divided for a long duration, the formed sub-data stream is more uniform, and load balancing of each equal-cost path is more effectively implemented.
  • the packet processing apparatus provided by the foregoing embodiment only illustrates the division of each functional module in the processing of the packet. In actual applications, the function distribution may be completed by different functional modules as needed. The internal structure of the device is divided into different functional modules to complete all or part of the functions described above.
  • the embodiment of the packet processing apparatus and the packet processing method provided by the foregoing embodiments are in the same concept, and the specific implementation process is described in detail in the method embodiment, and details are not described herein again.
  • FIG. 9 a block diagram of a message processing apparatus 900 provided by an embodiment of the present invention is shown.
  • the packet processing device 900 can be applied to the first switch shown in FIG. 1.
  • the first switch and the second switch have at least two equal-cost paths, and the first switch can be a leaf switch.
  • the message processing apparatus 900 can include, but is not limited to, a transmitter 910, a receiver 920, and a processor 930 coupled to the transmitter 910 and the receiver 920, respectively.
  • the transmitter 910 is configured to send, by using the first path of the at least two equal paths, the first VXLAN message to the second switch.
  • the receiver 920 is configured to receive a second VXLAN message sent by the second switch according to the first VXLAN message, where the second VXLAN message is used to notify the first switch of the second switch Receiving the first VXLAN message.
  • the processor 930 is configured to determine, according to the second VXLAN packet, whether the first path meets a path switching condition.
  • the processor 930 is configured to meet a path switching condition in the first path and receive the first When the VXLAN packet belongs to the subsequent VXLAN packet of the same data stream, the subsequent VXLAN packet is sent to the second switch by using the second path of the at least two equal-cost paths.
  • the packet processing apparatus sends a first VXLAN message to the second switch by using the first path of the at least two equal-cost paths, and receives the second switch according to the first VXLAN message. And determining, by the second VXLAN packet, whether the first path meets a path switching condition according to the second VXLAN packet, and if the first path meets the path switching condition, receiving the packet corresponding to the first VXLAN And sending, by the second path of the at least two equal-cost paths, the subsequent VXLAN message to the second switch, by using the at least two equal-cost paths
  • the second path sends the subsequent VXLAN message to the second switch, the data stream is offloaded, and the next sub-data stream can be sent after the previous sub-data stream is received by the second switch, so
  • the present invention can solve the problem that the system performance is reduced or the packet is out of order caused by sending the sub-data stream by using the preset time interval in the prior art, thereby improving the system performance and avoiding the disorder of the message. fruit.
  • the embodiment of the present invention distributes the load of the first path to the second path by sending a subsequent VXLAN message to the second switch by using the second path of the at least two equal-cost paths. Therefore, the present invention can also improve the balance of path load in a VXLAN network.
  • the first VXLAN message includes: an original message and identification information, where the identification information is used to identify the first VXLAN message, and the second VXLAN message includes: a type flag bit and the identifier The information indicates that the value of the type flag is a first preset value, and the first preset value is used to indicate that the packet type of the second VXLAN packet is a response type.
  • the processor 930 is configured to record identifier information of the first VXLAN packet in a sending table.
  • the processor 930 is configured to determine, when the packet type indicated by the value of the type flag bit in the second VXLAN packet is a response type, the identifier information in the second VXLAN packet and the sending table. Whether the identification information of the first VXLAN packet is the same;
  • the processor 930 is configured to determine that the first path meets a path switching condition when the identifier information in the second VXLAN packet is the same as the identifier information of the first VXLAN packet in the sending table. .
  • the processor 930 is configured to delete, when the identifier information in the second VXLAN packet is the same as the identifier information of the first VXLAN packet that is recorded, including the An entry of the identification information of the first VXLAN packet; or,
  • the processor 930 the identifier information table of the first VXLAN message recorded in the sending table And when the number of sent packets of the data flow to which the first VXLAN packet belongs is greater than a preset value, the identifier information of the first VXLAN packet recorded in the sending table is cleared.
  • the first VXLAN packet is obtained by encapsulating a VXLAN tunnel header for the original packet, and the identifier information of the first VXLAN packet is carried in a VXLAN tunnel header of the first VXLAN packet. Reserved in the field;
  • the reserved field of the VXLAN tunnel header of the second VXLAN packet includes the identifier information of the first VXLAN packet, and the type flag is carried in the flag field of the VXLAN tunnel header of the second VXLAN packet.
  • the second VXLAN message is generated by the second switch according to the first VXLAN message.
  • the second VXLAN packet is: when the second switch detects that there is a reverse packet in the sending queue of the second switch, adding the first VXLAN to the VXLAN tunnel header of the reverse packet.
  • the identifier information of the packet and the type flag are obtained, and the reverse packet is a packet whose outer layer destination Internet Protocol IP address in the sending queue of the second switch is an IP address of the first switch.
  • the first VXLAN message further includes: a type flag bit, where the type flag bit is located in a flag field of a VXLAN tunnel header of the first VXLAN message, and the value of the type flag bit is second.
  • the preset value is used to indicate that the message type is a request type.
  • the packet processing apparatus sends a first VXLAN message to the second switch by using the first path of the at least two equal-cost paths, and receives the second switch according to the first VXLAN message. And determining, by the second VXLAN packet, whether the first path meets a path switching condition according to the second VXLAN packet, and if the first path meets the path switching condition, receiving the packet corresponding to the first VXLAN And sending, by the second path of the at least two equal-cost paths, the subsequent VXLAN message to the second switch, by using the at least two equal-cost paths
  • the second path sends the subsequent VXLAN message to the second switch, the data stream is offloaded, and the next sub-data stream can be sent after the previous sub-data stream is received by the second switch, so
  • the present invention can solve the problem that the system performance is reduced or the packet is out of order caused by sending the sub-data stream by using the preset time interval in the prior art, thereby improving the system performance and avoiding the disorder of the message. fruit.
  • the embodiment of the present invention distributes the load of the first path to the second path by sending the subsequent VXLAN message to the second switch by using the second path of the at least two equal paths. Therefore, the present invention can also improve the balance of path load in a VXLAN network.
  • the embodiment of the present invention can perform path switching when it is determined that the path switching condition is reached. Therefore, compared with the prior art, the embodiment of the present invention forms a sub-data stream after the handover, and the size of each sub-data stream is flexibly determined. In the embodiment of the present invention, when the data stream is divided for a long duration, the formed sub-data stream is more uniform, and load balancing of each equal-cost path is more effectively implemented.
  • FIG. 10 shows a block diagram of a message processing apparatus 1000 according to still another embodiment of the present invention.
  • the packet processing apparatus 1000 can be applied to the second switch shown in FIG. 1.
  • the second switch and the first switch have at least two equal-cost paths, and the second switch can be a leaf switch.
  • the message processing apparatus 1000 can include, but is not limited to, a receiver 1010, a processor 1020, and a transmitter 1030, which are coupled to the processor 1020, respectively.
  • the receiver 1010 is configured to receive, by using the first path of the at least two equal-cost paths, the first VXLAN packet sent by the first switch.
  • the processor 1020 is configured to obtain a second VXLAN packet according to the first VXLAN packet, where the second VXLAN packet is used to notify the first switch that the second switch receives the first VXLAN packet. Message.
  • the transmitter 1030 is configured to send the second VXLAN packet to the first switch, so that the first switch determines, according to the second VXLAN packet, whether the first path meets a path switching condition.
  • the receiver 1010 is configured to: when the first path meets the path switching condition, receive, by using the second path of the at least two equal-cost paths, the first VXLAN message sent by the first switch belongs to Subsequent VXLAN messages of the same data stream.
  • the packet processing apparatus receives the first VXLAN packet sent by the first switch by using the first path in the at least two equal-cost paths, and acquires and sends the first VXLAN packet according to the first VXLAN packet.
  • the switch sends a second VXLAN message, where the second VXLAN message is used to notify the first switch that the second switch receives the first VXLAN message, so that the first switch is configured according to the second VXLAN message.
  • the present invention can solve the problem that the latter sub-data stream is sent after the previous sub-data stream is received by the second switch. Therefore, the present invention can solve the problem that the prior art uses the preset time interval to transmit the sub-data stream guide.
  • the system performance problems or out of order packets to improve system performance and to avoid the effect of packet disorder.
  • the embodiment of the present invention passes the second path in the at least two equal-cost paths to the first
  • the second switch sends the subsequent VXLAN packet, and the load of the first path is shared to the second path. Therefore, the present invention can also improve the balance of the path load in the VXLAN network.
  • the first VXLAN message includes: an original message and identification information, where the identification information is used to identify the first VXLAN message, and the second VXLAN message includes: a type flag bit and the identifier The information indicates that the value of the type flag is a first preset value, and the first preset value is used to indicate that the message type of the second VXLAN message is a response type.
  • the first VXLAN packet is obtained by encapsulating a VXLAN tunnel header for the original packet, and the identifier information of the first VXLAN packet is carried in a VXLAN tunnel header of the first VXLAN packet. Reserved in the field;
  • the reserved field of the VXLAN tunnel header of the second VXLAN packet includes the identifier information of the first VXLAN packet, and the type flag is carried in the flag field of the VXLAN tunnel header of the second VXLAN packet.
  • the processor 1020 is configured to generate the second VXLAN packet according to the first VXLAN packet.
  • the processor 1020 is configured to detect whether a reverse packet exists in a sending queue of the second switch, where the reverse packet is an outer layer destination Internet Protocol IP address in the sending queue of the second switch.
  • the packet of the IP address of the first switch adds the identifier information of the first VXLAN packet to the VXLAN tunnel header of the reverse packet when the reverse packet is sent in the sending queue.
  • the type flag bit gets the second VXLAN message.
  • the first VXLAN message further includes: a type flag bit, where the type flag bit is located in a flag field of a VXLAN tunnel header of the first VXLAN message, and the value of the type flag bit is second. a preset value, where the second preset value is used to indicate that the message type is a request type.
  • the processor 1020 is configured to determine whether a packet type indicated by a value of a type flag bit in the first VXLAN packet is a request type.
  • the processor 1020 is configured to acquire the second VXLAN packet according to the first VXLAN packet when the packet type indicated by the value of the type flag bit in the first VXLAN packet is a request type.
  • the packet processing apparatus receives the first VXLAN packet sent by the first switch by using the first path in the at least two equal-cost paths, and acquires and sends the first VXLAN packet according to the first VXLAN packet.
  • the switch sends a second VXLAN message, where the second VXLAN message is used to notify the first switch to receive the second switch.
  • the second path of the at least two equal-cost paths receives a subsequent VXLAN message sent by the first switch that belongs to the same data stream as the first VXLAN message;
  • the data stream is offloaded, and the next sub-data stream can be sent after the previous sub-data stream is received by the second switch.
  • the invention can solve the problem that the performance of the system is reduced or the packet is out of order caused by the sub-data stream being transmitted by using the preset time interval in the prior art, thereby improving the system performance and avoiding the disorder of the message.
  • the embodiment of the present invention distributes the load of the first path to the second path by sending a subsequent VXLAN packet to the second switch by using the second path of the at least two equal-cost paths.
  • the present invention can also improve the balance of path load in a VXLAN network.
  • the embodiment of the present invention can perform path switching when it is determined that the path switching condition is reached. Therefore, compared with the prior art, the embodiment of the present invention forms a sub-data stream after the handover, and the size of each sub-data stream is flexibly determined. In the embodiment of the present invention, when the data stream is divided for a long duration, the formed sub-data stream is more uniform, and load balancing of each equal-cost path is more effectively implemented.
  • the embodiment of the present invention can perform path switching when it is determined that the path switching condition is reached. Therefore, compared with the prior art, the embodiment of the present invention forms a sub-data stream after the handover, and the size of each sub-data stream is flexibly determined. In the embodiment of the present invention, when the data stream is divided for a long duration, the formed sub-data stream is more uniform, and load balancing of each equal-cost path is more effectively implemented.
  • FIG. 11 is a schematic structural diagram of a message processing system according to an embodiment of the present invention.
  • the packet processing system 1100 includes at least a first switch 1110 and a second switch 1120, and the first switch 1110 and the second switch 1120 are connected by using an IP network.
  • the first switch 1110 includes a message processing device as described in FIG. 5 or FIG. 6; the second switch 1120 includes a message as described in FIG. 7 or FIG. Processing device.
  • the first switch 1110 includes a message processing device as described in FIG. 9; the second switch 1120 includes a message processing device as described in 10.
  • the packet processing system sends a first VXLAN message to the second switch through the first path in the at least two equal-cost paths, and receives the second switch according to the first VXLAN message. And determining, by the second VXLAN packet, whether the first path meets a path switching condition according to the second VXLAN packet, and if the first path meets the path switching condition, receiving the packet corresponding to the first VXLAN Same data And transmitting, by the second path of the at least two equal-cost paths, the subsequent VXLAN message to the second switch; and passing the second of the at least two equal-cost paths
  • the path sends the subsequent VXLAN message to the second switch the data stream is offloaded, and the next sub-data stream can be sent after the previous sub-data stream is received by the second switch.
  • the invention can solve the problem that the system performance is reduced or the message is out of order caused by sending the sub-data stream by using the preset time interval in the prior art, thereby improving the system performance and avoiding the disorder of the message.
  • the embodiment of the present invention distributes the load of the first path to the second path by sending a subsequent VXLAN message to the second switch by using the second path of the at least two equal-cost paths. Therefore, the present invention can also improve the balance of path load in a VXLAN network.
  • An embodiment of the present invention further provides a message processing device, where the device includes a transceiver, a memory, and a processor respectively connected to the transceiver and the memory, wherein the memory stores a set of program codes, and the processor is used to call the memory.
  • the program code stored in the program for executing the above message processing method.
  • a person skilled in the art may understand that all or part of the steps of implementing the above embodiments may be completed by hardware, or may be instructed by a program to execute related hardware, and the program may be stored in a computer readable storage medium.
  • the storage medium mentioned may be a read only memory, a magnetic disk or an optical disk or the like.

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

La présente invention se rapporte au domaine technique de la commutation. L'invention concerne un procédé, un dispositif et un système de traitement de paquets, utilisés dans un premier commutateur d'un réseau VXLAN, au moins deux trajets de coût égal étant présents entre le premier commutateur et un second commutateur. Le procédé comprend les étapes consistant à : transmettre un premier paquet VXLAN au second commutateur par un premier trajet desdits au moins deux trajets de coût égal; recevoir un deuxième paquet VXLAN; déterminer en fonction du deuxième paquet VXLAN si le premier trajet satisfait à une condition de commutation de trajet; et si le premier trajet satisfait à la condition de commutation de trajet, transmettre les paquets VXLAN suivants au second commutateur dans le même flux de données que le premier paquet VXLAN, par un second trajet parmi lesdits au moins deux trajets de coût égal. Ainsi, le problème de la dégradation de la performance du système dans la technique existante, en raison de la transmission de sous-flux de données à des intervalles de temps prédéterminés, est résolu, la performance du système est améliorée, et les paquets défectueux sont évités.
PCT/CN2015/081677 2014-10-20 2015-06-17 Procédé, dispositif et système de traitement de paquets Ceased WO2016062106A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201410557950.4 2014-10-20
CN201410557950.4A CN105591974B (zh) 2014-10-20 2014-10-20 报文处理方法、装置及系统

Publications (1)

Publication Number Publication Date
WO2016062106A1 true WO2016062106A1 (fr) 2016-04-28

Family

ID=55760233

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/081677 Ceased WO2016062106A1 (fr) 2014-10-20 2015-06-17 Procédé, dispositif et système de traitement de paquets

Country Status (2)

Country Link
CN (1) CN105591974B (fr)
WO (1) WO2016062106A1 (fr)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110417674A (zh) * 2019-07-26 2019-11-05 新华三技术有限公司合肥分公司 一种数据流量分担方法及装置
CN110661732A (zh) * 2019-09-20 2020-01-07 浪潮思科网络科技有限公司 基于mac划分vlan的工作组间流量调度装置及方法
EP3637704A4 (fr) * 2017-06-01 2020-04-15 Huawei Technologies Co., Ltd. Procédé et dispositif de transmission de données
US10992496B2 (en) 2019-05-14 2021-04-27 International Business Machines Corporation Tuning TCP largesend parameter in VXLan cloud environments
CN113691640A (zh) * 2020-05-19 2021-11-23 阿里巴巴集团控股有限公司 通信方法、装置、电子设备及计算机可读存储介质
CN115113815A (zh) * 2022-06-21 2022-09-27 广州安凯微电子股份有限公司 一种芯片的处理系统、方法、设备及存储介质
CN117041140A (zh) * 2023-10-10 2023-11-10 腾讯科技(深圳)有限公司 一种数据报文的传输方法、相关装置、设备以及存储介质

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107634912B (zh) 2016-07-19 2020-04-28 华为技术有限公司 负载均衡方法、装置及设备
US10511668B2 (en) * 2016-10-07 2019-12-17 Hyundai Motor Company Method of transmitting and receiving data in vehicle network and apparatus for the same
CN108206781B (zh) 2016-12-16 2021-02-26 华为技术有限公司 选择转发路径的方法和设备
CN107547342B (zh) * 2017-06-27 2020-09-08 新华三技术有限公司 基于vxlan隧道的报文广播方法和装置
CN109039707A (zh) * 2018-07-04 2018-12-18 烽火通信科技股份有限公司 Vxlan通道业务的主备快速倒换的方法及系统
WO2021052151A1 (fr) 2019-09-16 2021-03-25 华为技术有限公司 Procédé de détection d'un flux de messages non ordonné, procédé de traitement de messages et dispositif associé
CN112511449B (zh) * 2019-09-16 2022-12-30 华为技术有限公司 一种报文流乱序检测方法、报文处理方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060092831A1 (en) * 2004-11-01 2006-05-04 Tekelec Methods, systems, and computer program products for substitution of card-based telephony bearer channel switch modules in a manner that preserves stable calls
CN101155109A (zh) * 2006-09-30 2008-04-02 华为技术有限公司 一种以太网交换系统及设备
CN103368863A (zh) * 2013-07-09 2013-10-23 杭州华三通信技术有限公司 最短路径桥网络中的负载分担方法及设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005260321A (ja) * 2004-03-09 2005-09-22 Nec Corp ラベルパスネットワークの迂回制御方式
CN101741709B (zh) * 2008-11-06 2012-08-22 华为技术有限公司 建立标签交换路径的方法、系统及网络节点
CN102611566B (zh) * 2011-12-16 2015-01-21 华为技术有限公司 一种恢复用户业务的方法和装置
CN102857416B (zh) * 2012-09-18 2016-09-28 中兴通讯股份有限公司 一种实现虚拟网络的方法、控制器和虚拟网络

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060092831A1 (en) * 2004-11-01 2006-05-04 Tekelec Methods, systems, and computer program products for substitution of card-based telephony bearer channel switch modules in a manner that preserves stable calls
CN101155109A (zh) * 2006-09-30 2008-04-02 华为技术有限公司 一种以太网交换系统及设备
CN103368863A (zh) * 2013-07-09 2013-10-23 杭州华三通信技术有限公司 最短路径桥网络中的负载分担方法及设备

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3637704A4 (fr) * 2017-06-01 2020-04-15 Huawei Technologies Co., Ltd. Procédé et dispositif de transmission de données
US11140082B2 (en) 2017-06-01 2021-10-05 Huawei Technologies Co., Ltd. Data transmission method and device
US10992496B2 (en) 2019-05-14 2021-04-27 International Business Machines Corporation Tuning TCP largesend parameter in VXLan cloud environments
CN110417674A (zh) * 2019-07-26 2019-11-05 新华三技术有限公司合肥分公司 一种数据流量分担方法及装置
CN110417674B (zh) * 2019-07-26 2022-06-21 新华三技术有限公司合肥分公司 一种数据流量分担方法及装置
CN110661732A (zh) * 2019-09-20 2020-01-07 浪潮思科网络科技有限公司 基于mac划分vlan的工作组间流量调度装置及方法
CN110661732B (zh) * 2019-09-20 2022-05-27 浪潮思科网络科技有限公司 基于mac划分vlan的工作组间流量调度装置及方法
CN113691640A (zh) * 2020-05-19 2021-11-23 阿里巴巴集团控股有限公司 通信方法、装置、电子设备及计算机可读存储介质
CN113691640B (zh) * 2020-05-19 2023-04-25 阿里巴巴集团控股有限公司 通信方法、装置、电子设备及计算机可读存储介质
CN115113815A (zh) * 2022-06-21 2022-09-27 广州安凯微电子股份有限公司 一种芯片的处理系统、方法、设备及存储介质
CN117041140A (zh) * 2023-10-10 2023-11-10 腾讯科技(深圳)有限公司 一种数据报文的传输方法、相关装置、设备以及存储介质
CN117041140B (zh) * 2023-10-10 2024-01-30 腾讯科技(深圳)有限公司 一种数据报文的传输方法、相关装置、设备以及存储介质

Also Published As

Publication number Publication date
CN105591974A (zh) 2016-05-18
CN105591974B (zh) 2019-02-05

Similar Documents

Publication Publication Date Title
WO2016062106A1 (fr) Procédé, dispositif et système de traitement de paquets
CN113676361B (zh) 针对体验质量度量的按需探测
EP2716097B1 (fr) Implémentation d'epc dans un ordinateur en nuage avec plan de données openflow
KR101506849B1 (ko) 정보 중심 네트워크를 위한 일반화된 듀얼 모드 데이터 포워딩 플레인
CN110022264B (zh) 控制网络拥塞的方法、接入设备和计算机可读存储介质
CN103765832B (zh) 用于信息中心网络的通用双模式数据转发平面
CN102045253B (zh) 链路聚合网络中发送视频监控业务报文的方法及设备
WO2019033857A1 (fr) Procédé de commande de paquet et dispositif de réseau
CN102624611B (zh) 报文分流方法、装置、处理器和网络设备
US20060203730A1 (en) Method and system for reducing end station latency in response to network congestion
CN108243111A (zh) 确定传输路径的方法和装置
EP3800842B9 (fr) Procédé d'envoi de message bgp, procédé de réception de message bgp, et dispositif
WO2018036173A1 (fr) Procédé, dispositif et système d'équilibrage de charge de réseau
CN111245740B (zh) 配置业务的服务质量策略方法、装置和计算设备
WO2018121742A1 (fr) Procédé et dispositif permettant de transmettre des données de flux
WO2019179157A1 (fr) Procédé de traitement de trafic de données et dispositif de réseau associé
CN102891803B (zh) 拥塞处理方法及网络设备
US9942161B1 (en) Methods and systems for configuring and updating session-based quality of service for multimedia traffic in a local area network
CN103281257B (zh) 一种协议报文处理方法和设备
CN104852855B (zh) 拥塞控制方法、装置及设备
WO2022028342A1 (fr) Procédé de traitement de flux de congestion et dispositif
CN110278156B (zh) 组播路由处理方法、网络设备以及路由反射器
CN109756412B (zh) 一种数据报文转发方法以及设备
CN106209675B (zh) 一种数据流的传输方法、装置和系统
KR102455886B1 (ko) 서비스 기능 체이닝 혼잡 피드백

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: 15851693

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: 15851693

Country of ref document: EP

Kind code of ref document: A1