Method and device for sending message in VXLAN (Virtual eXtensible Local Area Network), active-active system and communication equipment
By detecting the failure of the link aggregation group member port in the VXLAN network and sending service messages carrying the indication information of the VXLAN ID, the problem of transmission of service messages to the correct VLAN is solved, and the normal progress of data transmission is achieved.
Patent Information
- Application Number
- CN202411709226.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-26
- Publication Date
- 2025-02-14
AI Technical Summary
In VXLAN network, when the member port of a device's link aggregation group fails, how to ensure that the service packets can be correctly transmitted to the destination address is an urgent problem.
After detecting a failure of the link aggregation group member port, the first device receives a service message from the forwarding link aggregation group member port that is faulty, and sends a service message carrying the indication information of the VXLAN ID from the Peer-Link port. , so that the second device that also belongs to the same MLAG domain can send service messages in the VXLAN forwarding domain determined by the indication information.
Ensure that service packets can be transmitted to the correct VLAN, ensure that data transmission operations are carried out normally, and solve the problem of service packet transmission when link aggregation group member port failure.
Smart Images

Figure CN119449700A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to network communication technology, and more particularly to a method, device, active-active system and communication equipment for sending messages in a VXLAN. Background Art
[0002] Multi-Chassis Link Aggregation Group (MLAG) is a mechanism for implementing cross-device link aggregation. It aggregates the cross-device links of a DHD (Double-homed Device) device and two MLAG nodes to form an active-active system.
[0003] Figure 1 The following is a schematic diagram of the deployment of an active-active system in a VXLAN (Virtual eXtensible Local Area Network). Figure 1 As shown, the active-active system is deployed in a network with a VXLAN network identifier (VXLAN Network Identifier, VXLAN ID) of VXLAN100 and a virtual network identifier (Virtual Network Identifier, VNI) of 999. Server server1 and server server2 are both dual-home devices, and node leaf1 and node leaf2 serve as MLAG nodes, where node leaf1 and node leaf2 are connected via a peer-link Peer-Link. Server server1 and server server2 are both deployed with a virtual switch (vswicth) and one or more virtual machines (VirtualMachine, VM). For example, server server1 is configured with vm1 located in vlan10 and vm2 located in vlan11, and server server2 is configured with vm1 located in vlan20 and vm2 located in vlan21.
[0004] exist Figure 1 In the structure shown, the link aggregation group LAG10 has two member ports LAG11 and LAG12, the node leaf1 and the virtual switch in the server server1 can be connected through the member port LAG11, and the node leaf2 and the virtual switch in the server server1 can be connected through the member port LAG12; the link aggregation group LAG20 has two member ports LAG21 and LAG22, the node leaf1 and the virtual switch in the server server2 can be connected through the member port LAG21, and the node leaf2 and the virtual switch in the server server2 can be connected through the member port LAG22.
[0005] When a member port of any one of the nodes leaf1 and leaf2 fails, how to correctly transmit the service message whose forwarding egress is the failed member port to the destination address is an urgent problem to be solved. Summary of the invention
[0006] Embodiments of the present application provide a method, apparatus, active-active system, and communication equipment for sending messages in a VXLAN.
[0007] A method for sending a message in a VXLAN, comprising: After detecting a failure of a member port of a link aggregation group in the first device, the first device receives a service message whose forwarding exit is a member port of the link aggregation group whose failure occurs; The first device sends a service message carrying indication information of the VXLAN ID from a peer link Peer-Link port, wherein the Peer-Link port is a port directly connecting the first device to a second device belonging to the same MLAG domain, and the indication information is used to instruct the second device to send the service message in the VXLAN forwarding domain determined by the indication information.
[0008] A device for sending a message in a VXLAN, comprising: A receiving module, configured to receive a service message of a member port of the link aggregation group whose forwarding exit is the faulty member port of the link aggregation group after detecting the faulty member port of the link aggregation group in the first device; A sending module, used to send a service message carrying indication information of a VXLAN ID from a Peer-Link port, wherein the Peer-Link port is a port directly connecting the first device to a second device belonging to the same MLAG domain, and the indication information is used to instruct the second device to send the service message in the VXLAN forwarding domain determined by the indication information.
[0009] A dual-active system includes a first device and a second device; wherein: The first device is configured to, after detecting a failure of a member port of a link aggregation group in the first device, receive a service message whose forwarding exit is a member port of the link aggregation group with the failure, and send a service message carrying indication information of a VXLANID from a Peer-Link port, wherein the Peer-Link port is a port directly connected between the first device and the second device belonging to the same MLAG domain, and the indication information is used to instruct the second device to send the service message in a VXLAN forwarding domain determined by the indication information; The second device is used to determine the VXLAN ID corresponding to the indication information of the VXLAN ID after receiving the service message carrying the indication information of the VXLAN ID, and use the address table entry corresponding to the VXLAN ID to forward the received service message through its own link aggregation group.
[0010] A communication device comprises a memory and a processor, wherein the memory and the processor are connected; wherein the memory stores a program, and the processor calls the program in the memory to execute the method described above.
[0011] In an embodiment of the present application, in a VxLAN, if a member port of a link combination group in a first device fails, the first device receives a service message of a member port of a link aggregation group whose forwarding exit is the fault, and sends a service message carrying indication information of a VXLAN ID from a Peer-Link port, so that a second device belonging to the same MLAG domain as the first device can send the service message in the VXLAN forwarding domain determined by the indication information, thereby ensuring that the service message can be transmitted to the correct VLAN and ensuring the normal data transmission operation.
[0012] Other features and advantages of the present application will be described in the following description, and partly become apparent from the description, or be understood by implementing the present application. Other advantages of the present application can be realized and obtained by the schemes described in the description and the drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0013] The accompanying drawings are used to provide an understanding of the technical solution of the present application and constitute a part of the specification. Together with the embodiments of the present application, they are used to explain the technical solution of the present application and do not constitute a limitation on the technical solution of the present application.
[0014] Figure 1 This is a schematic diagram of the deployment of the active-active system in VXLAN; Figure 2 for Figure 1 A schematic diagram of an application scenario of the network system shown; Figure 3 A flowchart of a method for sending a message in a VXLAN provided in an embodiment of the present application; Figure 4 A schematic diagram of the structure of an apparatus for sending messages in a VXLAN provided in an embodiment of the present application. DETAILED DESCRIPTION
[0015] The present application describes multiple embodiments, but the description is exemplary rather than restrictive, and it is obvious to those skilled in the art that there may be more embodiments and implementations within the scope of the embodiments described in the present application. Although many possible feature combinations are shown in the drawings and discussed in the specific embodiments, many other combinations of the disclosed features are also possible. Unless specifically limited, any feature or element of any embodiment may be used in combination with any other feature or element in any other embodiment, or may replace any other feature or element in any other embodiment.
[0016] The present application includes and contemplates combinations of features and elements known to those of ordinary skill in the art. The embodiments, features and elements disclosed in the present application may also be combined with any conventional features or elements to form a unique invention scheme. Any features or elements of any embodiment may also be combined with features or elements from other invention schemes to form another unique invention scheme. Therefore, it should be understood that any feature shown and / or discussed in the present application may be implemented individually or in any appropriate combination. Therefore, except for the limitations made according to the attached claims and their equivalents, the embodiments are not subject to other restrictions. In addition, various modifications and changes may be made within the scope of protection of the attached claims.
[0017] In addition, when describing representative embodiments, the specification may have presented the method and / or process as a specific sequence of steps. However, to the extent that the method or process does not rely on the specific order of the steps described herein, the method or process should not be limited to the steps of the specific order described. As will be understood by those of ordinary skill in the art, other sequences of steps are also possible. Therefore, the specific sequence of the steps set forth in the specification should not be interpreted as a limitation to the claims. In addition, the claims for the method and / or process should not be limited to the steps of performing them in the order written, and those skilled in the art can easily understand that these sequences can be changed and still remain within the spirit and scope of the embodiments of the present application.
[0018] exist Figure 1 In the structure shown, a physical port + VLAN can be mapped into a virtual port (VP) in VXLAN100, for example, (LAG10+vlan 10)--->VP 1, (LAG10+vlan 11)--->VP 2, (LAG20+vlan 20)--->VP 3, (LAG20+vlan 21)--->VP 4.
[0019] In addition, Figure 1In the structure shown, a QinQ configuration information is set for VXLAN100 at the Peer-Link port, and the VLAN tag corresponding to the QinQ configuration information is an outer VLAN tag of vlan 4000 and an inner VLAN tag of vlan 5. Under the above deployment conditions, a VP can be mapped through a physical port + QINQ, for example, (Peerlink + outer vlan4000 + inner vlan 5) ---> VP 5, where VP5 is added to the flooding forwarding domain of the VXLAN ID, and the learning function of the MAC address on the VP5 is set to the closed state, that is, the MAC address is not learned.
[0020] exist Figure 1 In the structure shown, the VXLAN tunnel end (VXLAN TunnelEndpoint, VTEP) on node leaf1 and node leaf2 is a VXLAN network-side tunnel. Under the above deployment conditions, a tunnel can also be mapped to a VP, for example, (vxlan VTEP)--->VP 10.
[0021] From the above content, it can be seen that there are at least 6 VPs mapped to the virtual port of VXLAN100, namely VP1, VP2, VP3, VP4, VP5 and VP10, where both node leaf1 and node leaf2 record the above 6 VPs.
[0022] exist Figure 1 In the structure shown, the node leaf1 is taken as an example: When the member ports on node leaf1 can work normally, the processing flow of node leaf1 is as follows: When the traffic received by node leaf1 is known unicast traffic for accessing virtual machines, node leaf1 searches for address table entries based on VXLANID and DMAC (destination MAC) addresses to obtain matching VPs, and sends out the known unicast traffic based on the matching VPs. Therefore, the Peer-Link port will not have vxlan traffic. For example, if the traffic received by node leaf1 is the traffic of VM1 on server server1 whose DMAC address is server1, node leaf1 searches for address table entries with VXLAN100+DMAC as KEY, and the information in the table entry that can be hit is VP 1, indicating that the forwarding exit corresponding to the traffic is LAG11, and the VLAN tag is vlan10. Therefore, node leaf1 sends traffic carrying the VLAN tag vlan10 through member port LAG11.
[0023] When the traffic received by node leaf1 is BUM traffic, in addition to sending traffic through member ports LAG11 and LAG12, it is also necessary to flood a portion of QinQ traffic to VP5 in the Peer-Link port, where the VLAN tag carried by the QinQ traffic is an outer VLAN tag of 4000 and an inner VLAN tag of vlan 5; node Leaf2 receives the QinQ traffic from the Peer-Link port. Since the traffic from the Peer-Link port to the member port on node Leaf2 is isolated, node Leaf2 discards the QinQ traffic.
[0024] BUM traffic refers to broadcast, unknown unicast, and unknown multicast traffic.
[0025] In the related art, in a VLAN, when a member port of one of two nodes fails, the failed member port is replaced with a Peer-Link port, and the isolation from the Peer-Link port to the member port on the other node is released, and other table items do not need to be operated.
[0026] In the process of implementing this application, it is found that the implementation method of the relevant technology cannot be applied to VxLAN, as follows: Figure 2 for Figure 1 The schematic diagram of the application scenario of the network system shown in FIG. Figure 2 As shown, the member port LAG11 of the node leaf1 is faulty.
[0027] Take the example of node leaf1 receiving known unicast traffic: The expected operation is that node leaf12 sends the traffic received by leaf1 with the forwarding egress of LAG11 out through member port LAG12 on leaf2.
[0028] When adopting the solution of the related technology, taking the traffic of VM1 on server server1 as an example, node leaf1 uses VXLAN 100+DMAC as the KEY to search the address table entry, and the VP that can be hit is VP 1, indicating that the forwarding exit corresponding to the traffic is LAG11 and the VLAN tag is vlan10. Since the member port LAG11 is replaced with the Peer-Link port, node leaf1 sends the traffic with the VLAN tag vlan10 through the Peer-Link port. Node leaf2 sends the traffic with the VLAN tag vlan10 in vlan 10 of node Leaf2 according to the VLAN tag in the received traffic.
[0029] By comparison, it can be seen that in the application scenario where the traffic received by leaf1 is known unicast traffic, the operation result of the solution using the relevant technology is that node leaf2 sends traffic in vlan 10 of node leaf2, which does not meet the expected operation.
[0030] Take the node leaf1 receiving BUM traffic as an example: The expected operation is that node leaf2 only receives one copy of the traffic with the outer VLAN tag of 4000 and the inner VLAN tag of vlan 5.
[0031] When adopting the solution of the relevant technology, since VP 1 and VP5 are both in the VXLAN 100 flooding list, node leaf1 will flood a portion of traffic for VP 1, VP2 and VP5; among them, for the traffic flooded by VP1, the corresponding forwarding exit of the traffic is LAG11, and the VLAN tag is vlan10; for the traffic flooded by VP2, the corresponding forwarding exit of the traffic is LAG11, and the VLAN tag is vlan11. Since the member ports of LAG11 are all replaced with Peer-Link ports, node leaf1 sends traffic carrying VLAN tag vlan10 and traffic carrying VLAN tag vlan11 through the Peer-Link port; for the traffic flooded by VP5, node leaf1 sends traffic carrying VLAN tag with outer VLAN tag 4000 and inner VLAN tag vlan 5 through the Peer-Link port. Node leaf2 receives three flows through the Peer-Link port, one of which is the flow with VLAN tag vlan10, one is the flow with VLAN tag vlan11, and one is the flow with VLAN tag outer VLAN tag 4000 and inner VLAN tag vlan 5. It can be seen that the actual operation of the related technology is that node leaf12 receives three flows.
[0032] By comparison, it can be seen that in the application scenario where the traffic received by node leaf1 is BUM traffic, the operation result of the solution using the relevant technology is that node leaf12 receives three copies of the traffic, which does not meet the expected operation.
[0033] In view of the defects in the related art, the embodiments of the present application provide the following solutions, including: Figure 3 A flow chart of a method for sending a message in a VXLAN provided in an embodiment of the present application. Figure 3 As shown, the method is applied to a first device, wherein the method comprises:
[0034] Step 301: after detecting a failure of a member port of a link aggregation group in a first device, receiving a service message of a member port of the link aggregation group whose forwarding exit is the failure; by Figure 2 Taking the application scenario shown as an example, the first device in this article can be either node 1 or node 2. When the first device is node 1, the second device is node 2. When the first device is node 2, the second device is node 1. The first device and the second device in this article are both communication devices in the network system, such as routers, switches, etc.
[0035] In order to ensure smooth forwarding of service messages, the first device will detect in real time whether a member port of its own link aggregation group is faulty.
[0036] exist Figure 2 In the application scenario shown, the first device is taken as node leaf1 for example. Node leaf1 can detect whether member port LAG11 and member port LAG21 are faulty. After detecting that member port LAG11 is faulty, node leaf1 receives a service message with DMAC vm1 from VTEP or member port LAG21, and finds the address table entry with VXLAN 100 + DMAC, and the obtained table entry information is (LAG10+vlan 10)--->VP 1. Since member port LAG11 is faulty, node leaf1 can determine that the received service message is a service message of a member port of a link aggregation group whose forwarding exit is faulty.
[0037] Step 302: Send a service message carrying indication information of a VXLAN ID from a Peer-Link port, wherein the Peer-Link port is a port directly connecting the first device to a second device belonging to the same MLAG domain, and the indication information is used to instruct the second device to send the service message in the VXLAN forwarding domain determined by the indication information; Compared with the related technology, it can be seen that the first device also sends the service message through the Peer-Link port. The difference is that the service message sent by the first device in the embodiment of the present application carries the indication information of the VXLAN ID, wherein the indication information of the VXLANID is used to indicate the VXLAN forwarding domain to which the service message belongs. More specifically, the VXLAN ID is the identifier of the VXLAN to which the device corresponding to the destination MAC address of the service message is connected.
[0038] Continue with Figure 2 The application scenario function shown is used as an example for explanation. Since the member port LAG11 has failed, the node leaf1 sends the service message with DMAC vm1 in the forwarding domain of VXLAN100 from the Peer-Link port, and the service message carries the indication information for instructing the node leaf2 to send the service message in the forwarding domain of VXLAN100. When the node leaf2 receives the service message, it can be determined that the VXLAN forwarding domain of the service message is VXLAN100 according to the indication information. Therefore, the node leaf2 finds the address table entry with VXLAN 100 + DMAC, and the obtained table entry information is (LAG10+vlan10)--->VP 1, where the member port of the link aggregation group LAG10 on the node leaf2 is the member port LAG12. It can be concluded that the forwarding exit of the service message on the node leaf2 is the member port LAG12, and the VLAN tag is vlan10. Therefore, the node leaf2 sends the service message with the VLAN tag vlan10 through the member port LAG12.
[0039] Based on the above examples, it can be seen that when the traffic received by the first device in the solution provided by the embodiment of the present application is known unicast traffic, the operation result of the solution of the present application meets the expected operation.
[0040] Furthermore, after detecting a failure of a member port of the link aggregation group in the first device, the second device needs to send the data received from the Peer-Link port through its own member port, so the second device releases the isolation from the Peer-Link port to the target member port, where the target member port and the member port of the failed link aggregation group belong to the same link aggregation group.
[0041] Continue with Figure 2 The application scenario function is described as an example. After the member port LAG11 of the node leaf1 fails, since the member port LAG12 and the member port LAG11 both belong to the link aggregation group LAG10, the node leaf2 needs to release the isolation from the Peer-Link port to the member port LAG12.
[0042] Since member port LAG22 and member port LAG21 both belong to link aggregation group LAG20, when member port LAG21 of node leaf1 works normally, node leaf2 isolates the traffic from the Peer-Link port to member port LAG22 to prevent the device corresponding to link aggregation group 20 from receiving two identical service messages.
[0043] Preferably, after detecting a failure of a member port of a link aggregation group in the first device, the first device sends a member link failure notification to the second device, so that the second device releases the isolation from the Peer-Link port to the target member port, so that the second device can complete the shutdown operation of the isolation function in time to ensure the normal operation of the data transmission operation.
[0044] The above describes a method for processing known unicast traffic. The following describes a method for processing an application scenario in which the first device receives BUM traffic, as follows: After detecting a failure of a member port of a link aggregation group in the first device, the first device removes the VP connected to the failed link aggregation group from the flooding forwarding domain of the VXLAN ID stored in the first device.
[0045] Continue with Figure 2 The application scenario function shown is used as an example for explanation. After detecting the failure of member port LAG11 in node leaf1, node leaf1 deletes the VPs corresponding to member port LAG11, namely, VP1 and VP2, from the flood forwarding table of VXLAN100, and obtains an updated flood forwarding table, wherein the updated flood forwarding table records 4 VPs, namely VP3, VP4, VP5, and VP10.
[0046] After the node leaf1 receives the BUM traffic from the VTEP, according to the updated flooding forwarding table, the node leaf1 needs to flood one portion to VP3 and VP4 respectively, and one portion to VP5. Since node leaf1 floods a copy of the VLAN tag carrying VP5 to VP5, the VLAN tag of VP5 can indicate that the flooded traffic is sent in the forwarding domain of VLAN100. Therefore, node leaf2 searches the FDB table with VXLAN 100+DMAC. Since the DMAC address has no specific content, node leaf2 floods to other members of the forwarding domain of VXLAN 100, that is, node leaf2 plans to flood a copy to VP1, VP2, VP3 and VP4 respectively. Since node leaf2 releases the traffic from the Peer-Link port to the member port LAG12, node leaf2 can flood a copy to VP1 and VP 2 respectively; since node leaf2 isolates the traffic from the Peer-Link port to the member port LAG22, node leaf2 cannot flood a copy to VP1 and VP 2 respectively, so that the devices corresponding to VP3 and VP4 only receive a copy of the traffic, that is, the traffic flooded by node leaf1 through member port LAG21.
[0047] Based on the above examples, it can be seen that when the traffic received by the first device in the solution provided by the embodiment of the present application is BUM traffic, the operation result of the solution of the present application meets the expected operation.
[0048] According to the solution provided by the embodiment of the present application, in VxLAN, after a member port of a link combination group in a first device fails, a service message of a member port of a link aggregation group whose forwarding exit is the fault is received, and a service message carrying indication information of a VXLAN ID is sent from a Peer-Link port, so that a second device belonging to the same MLAG domain as the first device can send the service message in the VXLAN forwarding domain determined by the indication information, thereby ensuring that the service message can be transmitted to the correct VLAN and ensuring the normal data transmission operation.
[0049] In practical applications, the indication information can be carried in a custom field in the business message, and the custom field can be a reserved field in the business message. Since this implementation method requires the definition of a private communication protocol, there is a technical problem of poor universality. To solve the above technical problems, the embodiments of the present application provide the following solutions, including:
[0050] In an embodiment of the present application, the indication information is carried by a VLAN tag, wherein the content of the VLAN tag is the VLAN tag of the QinQ configuration information of the VXLAN ID in the Peer-Link; wherein the indication information is used to instruct the second device to send the service message in the forwarding domain of the VXLAN ID corresponding to the VLAN tag of the QinQ configuration information.
[0051] Among them, QinQ (802.1Q-in-802.1Q) is a technology for expanding VLAN space. It is achieved by adding another layer of 802.1Q tag on the basis of 802.1Q tag message, so that QinQ can transmit private network VLAN in the public network, thereby expanding the available space of VLAN.
[0052] Specifically, the first device and the second device both record the correspondence between the VXLAN ID under the Peer-Link port and the VLAN tag corresponding to the QinQ configuration information.
[0053] After the first device receives a service message whose forwarding exit is a member port of a link aggregation group with a fault, since the service message needs to be sent from the Peer-Link port, the VXLANID is determined according to the VLAN forwarding domain of the service message, and then the VLAN tag of the QinQ configuration information corresponding to the VXLAN ID is obtained from the corresponding relationship of the Peer-Link port.
[0054] After the second device receives a service message with a VLAN tag carrying QinQ configuration information, since the service message is received by the second device from the Peer-Link port, the second device obtains the VXLANID corresponding to the VLAN tag of the QinQ configuration information in the service message from the corresponding relationship of the Peer-Link port, thereby determining the VLAN forwarding domain of the service message.
[0055] by Figure 2 The following application scenario is used as an example: In Peer-Link, the VP obtained by mapping the QinQ configuration information of VXLAN100 in VXLAN100 is VP5, where the outer label of VP5 is vlan 4000 and the inner label is vlan 5.
[0056] After node leaf1 receives the service message with LAG11 as the forwarding outlet, since the service message needs to be sent from the Peer-Link port, the VLAN tag of the QinQ configuration information corresponding to VXLAN100 is obtained from the corresponding relationship of the Peer-Link port, and the outer tag is vlan 4000 and the inner tag is vlan 5; the service message with the outer VLAN tag of vlan 4000 and the inner VLAN tag of vlan 5 is sent from the Peer-Link port.
[0057] Node leaf2 receives a service message with an outer VLAN tag of vlan 4000 and an inner VLAN tag of vlan 5 from the Peer-Link port, and determines the VXLANID in the corresponding relationship under the Peer-Link port with the VLAN tag to obtain VXLAN 100. Therefore, node leaf2 forwards the service message to VXLAN 100.
[0058] From the above content, it can be seen that the VLAN tag carried in the service message sent by the node leaf1 through the Peer-Link port is not the real VLAN tag of the service message, but the VLAN tag of the QinQ configuration information of VXLAN 100 in the Peer-Link port. Among them, the real VLAN tag is obtained by searching the FDB table according to the VXLANID and DMAC address.
[0059] Node leaf2 receives the service message from the Peer-Link port, determines the VLANID of the service message according to the VLAN tag of the QinQ configuration information of VXLAN 100 in the service message, and then obtains the real VLAN tag of the service message according to the VXLAN ID and DMAC address.
[0060] From the above description, it can be seen that although the VLAN tag carried in the service message sent by node leaf1 is not a real VLAN tag, node leaf2 will re-determine the real VLAN tag of the service message, which can ensure that the service message can be transmitted to the correct VLAN, and the modification operation of the VLAN tag does not require modification of the address table entry.
[0061] Continue with Figure 2 The following application scenario is used as an example to illustrate: Take the DMAC address of vm1 in server server1 as an example: Node leaf1 obtains the destination vm1 in the server from VTEP or member port, and searches FDB with VXLAN 100 and DMAC (00:00:00:11:11:11). The matching content is (LAG10+vlan 10)--->VP 1, that is, the real VLAN tag of the service message is vlan0. Since LAG10 has been replaced with the Peer-Link port in the member port LAG11 of node leaf1, and node leaf1 works in VXLAN 100, it searches with VXLAN 100+Peer-Link port, encapsulates the service message with the VLAN tag of the outer VLAN tag 4000 and the inner VLAN tag of vlan 5, and sends it out through the Peer-Link port.
[0062] After receiving the service message sent by node leaf1 through the Peer-Link port, node leaf2 can determine that the VXLAN forwarding domain of the service message is VXLAN100 according to the VLAN tag with an outer VLAN tag of 4000 and an inner VLAN tag of vlan 5 and the Peer-Link port. Therefore, node leaf2 searches for FDB with VXLAN 100 + DMAC (00:00:00:11:11:11), and the matching content is (LAG10+vlan 10)--->VP 1, and the real VLAN tag vlan10 of the service message is obtained. Since the member port corresponding to link aggregation group LAG10 on node leaf2 is LAG12, and node leaf2 has released the isolation state from the Peer-Link port to the member port LAG12, node leaf2 can send the service message carrying the VLAN tag vlan10 from member port LAG12 to vm1 on server1.
[0063] Take BUM traffic as an example: Node leaf1 receives BUM traffic of VXLAN 100 from VTEP or member port, and floods it to all VP members of VXLAN 100; since all VPs created on LAG11 have been removed from the forwarding domain, they will not be forwarded to the VP corresponding to LAG 11, so the forwarding domain of VXLAN100 stored in node leaf1 includes VP3, VP4 and VP5. For VP3 and VP4, node leaf1 floods a copy through member port LAG21; for VP5, node leaf1 forwards a copy of BUM traffic from the Peer-Link port. When sending traffic on the Peer-Link port, VXLAN 100+Peer-Link port is used for search, and node leaf1 encapsulates the service message with an outer VLAN tag of 4000 and an inner VLAN tag of vlan 5, and then sends it out through the Peer-Link port;
[0064] After node leaf2 receives the service message sent by node leaf1 through the Peer-Link port, it can determine that the VXLAN forwarding domain of the service message is VXLAN100 according to the Peer-Link port and the VLAN tag in the service message. Therefore, node leaf2 searches for FDB with VXLAN 100 + DMAC (00:00:00:11:11:11), but cannot find the destination. It will flood to other VXLAN 100 forwarding domain members, (LAG1+vlan 10)--->VP 1 or (LAG1+vlan 11)--->VP2. In VXLAN 100, since the isolation state from the Peer-Link port to the member port LAG12 on node leaf2 has been lifted, the service message can go out from the member port LAG12 and reach vm1 and vm2 on server1. Since the traffic from the Peer-Link port to the member port LAG22 is in an isolated state, no service message is sent from the member port LAG 22.
[0065] In the embodiment of the present application, if VP5 passes through the next hop node (nexthop) when being sent to the node leaf2, the next hop node may modify the VLAN tag of VP5 in the service message. However, since the node leaf2 matches the received VLAN tags layer by layer, it can still obtain the VLAN tag of VP5. Therefore, the node between VP5 and the node leaf2 does not interfere with the processing flow of the solution of the present application.
[0066] Furthermore, the forwarding table in the prior art may be used to record the correspondence between the VXLAN ID under the Peer-Link port and the VLAN tag of the QinQ configuration information.
[0067] Specifically, when the first device stores a VLAN_XLATE table, the first device queries the VLAN_XLATE table of the VXLAN ID and the Peer-Link port in the message outgoing direction to obtain the VLAN tag configured by QinQ; otherwise, the first device queries the VLAN access control list (Access Control List, ACL) list of the VXLAN ID and the Peer-Link port in the message outgoing direction to obtain the VLAN tag configured by QinQ; The VLAN_XLATE table and the VLAN_ACL list both record the correspondence between the VXLAN ID under the Peer-Link port and the VLAN tag of the QinQ configuration information.
[0068] Among them, the VLAN_XLATE table is a table used to implement VLAN conversion in a layer 3 switch. In Broadcom switch chips, the VLAN_XLATE table is mainly used to implement conventional QinQ domain functions.
[0069] When a member port fails, it is necessary to update the forwarding database (FDB) table, address resolution protocol table (ARP), and routing table learned by all member ports to the Peer-Link port. If the update operation involves many table items, the update operation will take too long. To solve the above technical problems, the embodiment of the present application proposes the following solutions, including:
[0070] After detecting a failure of a member port of a link aggregation group in the first device, the first device configures the Peer-Link port as a member port of the link aggregation group to replace the failed member port of the link aggregation group.
[0071] by Figure 2 Taking the application scenario shown as an example, when the node leaf1 receives a service message with the destination address being vm1 in the server server1, by searching the address table entry before the failure, the forwarding exit found is still the member port LAG11. Since the member port LAG11 has failed, the member port LAG11 is replaced by the newly added member port Peer-Link port. Although the forwarding exit found at this time is Link-Agg1, the actual forwarding exit is the Peer-Link port, that is, forwarded to the node leaf2 through the Peer-Link link.
[0072] In the above operation mode, the service traffic will not be aware of the changes in the member ports, and the address table entries on the member ports of the failed link aggregation group do not need to be changed. With this operation mode of the present application, when a member port fails, the interruption recovery time of the service traffic can be achieved without being related to the number of address table entries, and the transmission performance of the service message is significantly optimized and improved.
[0073] After detecting that the member port of the failed link aggregation group in the first device is restored, the first device no longer uses the Peer-Link port, but continues to use the member port of the link aggregation group for data transmission. In addition, the following operations are performed, including:
[0074] 1. The first device deletes the Peer-Link port from the member port of the link aggregation group to ensure that the first device continues to use the member port of the link aggregation group to transmit data; In the above operation mode, the service traffic will not perceive the changes of the member ports, and the address table entries on the member ports of the restored link aggregation group do not need to change. With this operation mode of the present application, after the member ports are restored, the interruption recovery time of the service traffic can be achieved without being related to the number of address table entries, and the transmission performance of the service message is significantly optimized and improved.
[0075] 2. The first device adds the removed virtual port to the flood forwarding domain of the VXLAN ID stored by the first device; In the above operation mode, when the first device continues to use the member port of the link aggregation group, normal distribution of the BUM traffic by the first device can be guaranteed.
[0076] 3. The first device sends a member link failure recovery notification to the second device, so that the second device recovers the isolation from the Peer-Link port to the target member port, wherein the target member port and the member port of the failed link aggregation group belong to the same link aggregation group; In the above operation mode, the second device is controlled not to continue to distribute the traffic flooded by the Peer-Link port, thereby ensuring the normal distribution of the BUM traffic.
[0077] Figure 4 A schematic diagram of the structure of a device for sending a message in a VXLAN provided in an embodiment of the present application. Figure 4 As shown, the device comprises:
[0078] The receiving module 401 is used to receive a service message of a member port of the link aggregation group whose forwarding exit is the faulty member port of the link aggregation group after detecting a faulty member port of the link aggregation group in the first device; The sending module 402 is used to send a service message carrying indication information of the VXLAN ID from a Peer-Link port, wherein the Peer-Link port is a port directly connecting the first device and the second device belonging to the same MLAG domain, and the indication information is used to instruct the second device to send the service message in the VXLAN forwarding domain determined by the indication information.
[0079] In an exemplary embodiment, the indication information is carried by a VLAN tag, wherein the content of the VLAN tag is a VLAN tag of QinQ configuration information of the VXLAN ID in Peer-Link; The indication information is used to instruct the second device to send the service message in the forwarding domain of the VXLAN ID corresponding to the VLAN tag of the QinQ configuration information.
[0080] In an exemplary embodiment, the apparatus further comprises: A search module, configured to, when the first device stores a VLAN_XLATE table, query the VLAN_XLATE table of the VXLAN ID and the Peer-Link port in the message outgoing direction to obtain the VLAN tag configured by QinQ; otherwise, the first device query the VLAN access control ACL list of the VXLAN ID and the Peer-Link port in the message outgoing direction to obtain the VLAN tag configured by QinQ; The VLAN_XLATE table and the VLAN_ACL list both record the correspondence between the VXLAN ID under the Peer-Link port and the VLAN tag of the QinQ configuration information.
[0081] In an exemplary embodiment, the apparatus further comprises: A first management module is used to remove the virtual port connected to the failed link aggregation group from the flooding forwarding domain of the VXLAN ID stored in the first device after detecting a failure of a member port of a link aggregation group in the first device; and add the removed VP to the flooding forwarding domain of the VXLAN ID stored in the first device after detecting that the member port of the failed link aggregation group is restored.
[0082] In an exemplary embodiment, the apparatus further comprises: A second management module is used to configure the Peer-Link port as a member port of the link aggregation group to replace the failed member port of the link aggregation group after detecting that the member port of the failed link aggregation group in the first device has failed; and to delete the Peer-Link port from the member port of the link aggregation group after detecting that the failed member port of the link aggregation group in the first device has recovered.
[0083] In an exemplary embodiment, the apparatus further comprises: A third management module is used to send a member link failure notification to the second device after detecting a failure of a member port of the link aggregation group in the first device, so that the second device can release the isolation from the Peer-Link port to the target member port; and send a member link failure recovery notification to the second device after detecting that the member port of the failed link aggregation group in the first device has recovered, so that the second device can restore the isolation from the Peer-Link port to the target member port; wherein the target member port and the member port of the failed link aggregation group belong to the same link aggregation group.
[0084] The implementation principle and technical effects of the device provided in the embodiments of the present application are the same as those of the aforementioned method embodiments. For the sake of brief description, for matters not mentioned in the device embodiment, reference may be made to the corresponding contents in the aforementioned method embodiments.
[0085] The embodiment of the present application provides an active-active system, including a first device and a second device; wherein: The first device is configured to, after detecting a failure of a member port of a link aggregation group in the first device, receive a service message whose forwarding exit is a member port of the link aggregation group with the failure, and send a service message carrying indication information of a VXLANID from a Peer-Link port, wherein the Peer-Link port is a port directly connected between the first device and the second device belonging to the same MLAG domain, and the indication information is used to instruct the second device to send the service message in a VXLAN forwarding domain determined by the indication information; The second device is used to determine the VXLAN ID corresponding to the indication information of the VXLAN ID after receiving the service message carrying the indication information of the VXLAN ID, and use the address table entry corresponding to the VXLAN ID to forward the received service message through its own link aggregation group.
[0086] Optionally, the first device is further configured to, after detecting a failure of a member port of a link aggregation group in the first device, send a member link failure notification to the second device; and, after detecting that a member port of a failed link aggregation group in the first device is restored, send a member link failure recovery notification to the second device; The second device is further configured to release the isolation between the Peer-Link port and the target member port after receiving the member link failure notification; and restore the isolation between the Peer-Link port and the target member port after receiving the member link failure recovery notification; The target member end and the member port of the failed link aggregation group belong to the same link aggregation group.
[0087] The active-active system provided in the embodiment of the present application has the same implementation principle and technical effects as those in the aforementioned method embodiment. For the sake of brief description, for matters not mentioned in the active-active system embodiment, reference may be made to the corresponding contents in the aforementioned method embodiment.
[0088] An embodiment of the present application also provides a communication device, including a memory and a processor, wherein the memory and the processor are connected; wherein the memory stores a program, and the processor calls the program in the memory to execute the method described above.
[0089] Specifically, the communication device includes: a port, a memory, a communication bus and a processor.
[0090] The ports, memory, and processor components are electrically connected to each other directly or indirectly to achieve data transmission or interaction. For example, these components can be electrically connected to each other via one or more communication buses or signal lines. There are multiple ports (including Peer-Link ports and member ports in a link aggregation group), all of which are used to send and receive data. The memory is used to store computer programs, such as Figure 4 The software functional modules shown in . Among them, Figure 4 The device includes at least one software function module which can be stored in the memory in the form of software or firmware or fixed in the operating system (OS) of the communication device. The processor is used to execute the executable module stored in the memory, such as Figure 4The software function module or computer program included in the apparatus shown. For example, a processor is used to, after detecting a failure of a member port of a link aggregation group in a first device, receive a service message of a member port of a link aggregation group whose forwarding exit is a failure, and send a service message carrying indication information of a VXLAN ID from a Peer-Link port, wherein the Peer-Link port is a port directly connected between the first device and the second device belonging to the same MLAG domain, and the indication information is used to instruct the second device to send the service message in a VXLAN forwarding domain determined by the indication information.
[0091] Among them, the memory can be, but is not limited to, random access memory (Random Access Memory, RAM), read only memory (Read Only Memory, ROM), programmable read-only memory (Programmable Read-Only Memory, PROM), erasable programmable read-only memory (Erasable Programmable Read-Only Memory, EPROM), electrically erasable read-only memory (Electric Erasable Programmable Read-Only Memory, EEPROM), etc.
[0092] The processor may be an integrated circuit chip with signal processing capabilities. The above-mentioned processor may be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it may also be a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components. The various methods, steps and logic block diagrams disclosed in the embodiments of the present application can be implemented or executed. The general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc.
[0093] The above-mentioned communication equipment includes but is not limited to routers, switches, etc.
[0094] An embodiment of the present application further provides a non-volatile computer-readable storage medium (hereinafter referred to as storage medium), on which a computer program is stored. When the computer program is run by a computer such as the above-mentioned communication device, the method shown in the above-mentioned method embodiment is executed.
[0095] It will be appreciated by those skilled in the art that all or some of the steps, systems, and functional modules / units in the methods disclosed above may be implemented as software, firmware, hardware, and appropriate combinations thereof. In hardware implementations, the division between the functional modules / units mentioned in the above description does not necessarily correspond to the division of physical components; for example, a physical component may have multiple functions, or a function or step may be performed by several physical components in cooperation. Some or all components may be implemented as software executed by a processor, such as a digital signal processor or a microprocessor, or implemented as hardware, or implemented as an integrated circuit, such as an application-specific integrated circuit. Such software may be distributed on a computer-readable medium, which may include a computer storage medium (or non-transitory medium) and a communication medium (or transient medium). As is known to those skilled in the art, the term "computer storage medium" includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information (such as computer-readable instructions, data structures, program modules, or other data). Computer storage media include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tapes, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store the desired information and can be accessed by a computer. In addition, it is well known to those skilled in the art that communication media typically contain computer-readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism, and may include any information delivery media.
Claims
1. A method for sending a message in a VXLAN, characterized in that: include: After detecting a failure of a member port of a link aggregation group in the first device, the first device receives a service message whose forwarding exit is a member port of the link aggregation group whose failure occurs; The first device sends a service message carrying indication information of the VXLAN ID from a peer link Peer-Link port, wherein the Peer-Link port is a port directly connecting the first device to a second device belonging to the same MLAG domain, and the indication information is used to instruct the second device to send the service message in the VXLAN forwarding domain determined by the indication information.
2. The method according to claim 1, characterized in that: The indication information is carried by a VLAN tag, wherein the content of the VLAN tag is the VLAN tag of the QinQ configuration information of the VXLAN ID in the Peer-Link, and is used to instruct the second device to send the service message in the forwarding domain of the VXLAN ID corresponding to the VLAN tag of the QinQ configuration information.
3. The method according to claim 2, characterized in that: When the first device stores a VLAN_XLATE table, the first device queries the VLAN_XLATE table of the Peer-Link port in the outbound direction of the message to obtain the VLAN tag configured by QinQ; Otherwise, the first device queries the VLAN tag configured by QinQ by using the VXLAN ID and the VLAN access control ACL list of the Peer-Link port in the outbound direction of the message; The VLAN_XLATE table and the VLAN_ACL list both record the correspondence between the VXLANID under the Peer-Link port and the VLAN tag of the QinQ configuration information.
4. The method according to claim 1, characterized in that: The method further comprises: After detecting a failure of a member port of a link aggregation group in the first device, the first device removes a virtual port connected to the failed link aggregation group from a flooding forwarding domain of the VXLAN ID stored in the first device; After detecting that the member port of the failed link aggregation group in the first device is restored, the first device adds the removed virtual port to the flooding forwarding domain of the VXLAN ID stored in the first device.
5. The method according to claim 1, characterized in that The method further comprises: After detecting a failure of a member port of a link aggregation group in the first device, the first device configures the Peer-Link port as a member port of the link aggregation group to replace the failed member port of the link aggregation group; After detecting that the failed member port of the link aggregation group in the first device is restored, the first device deletes the Peer-Link port from the member ports of the link aggregation group.
6. The method according to claim 1, characterized in that The method further comprises: After detecting a failure of a member port of a link aggregation group in the first device, the first device sends a member link failure notification to the second device, so that the second device releases isolation from the Peer-Link port to a target member port; After detecting that a member port of a failed link aggregation group in the first device is restored, the first device sends a member link failure recovery notification to the second device, so that the second device restores isolation from the Peer-Link port to the target member port; The target member port and the member port of the failed link aggregation group belong to the same link aggregation group.
7. A device for sending a message in a VXLAN, characterized in that: include: A receiving module, configured to receive a service message of a member port of the link aggregation group whose forwarding exit is the faulty member port of the link aggregation group after detecting the faulty member port of the link aggregation group in the first device; A sending module, used to send a service message carrying indication information of a VXLAN ID from a Peer-Link port, wherein the Peer-Link port is a port directly connecting the first device to a second device belonging to the same MLAG domain, and the indication information is used to instruct the second device to send the service message in the VXLAN forwarding domain determined by the indication information.
8. A dual active system, characterized in that: It includes a first device and a second device; wherein: The first device is configured to, after detecting a failure of a member port of a link aggregation group in the first device, receive a service message whose forwarding exit is a member port of the link aggregation group with the failure, and send a service message carrying indication information of the VXLAN ID from a Peer-Link port, wherein the Peer-Link port is a port directly connected between the first device and the second device belonging to the same MLAG domain, and the indication information is used to instruct the second device to send the service message in the VXLAN forwarding domain determined by the indication information; The second device is used to determine the VXLAN ID corresponding to the indication information of the VXLAN ID after receiving the service message carrying the indication information of the VXLAN ID, and use the address table entry corresponding to the VXLAN ID to forward the received service message through its own link aggregation group.
9. The active-active system according to claim 8, characterized in that: The first device is further configured to, after detecting a failure of a member port of a link aggregation group in the first device, send a member link failure notification to the second device; and, after detecting that a member port of a failed link aggregation group in the first device is restored, send a member link failure recovery notification to the second device; The second device is further configured to release the isolation between the Peer-Link port and the target member port after receiving the member link failure notification; and restore the isolation between the Peer-Link port and the target member port after receiving the member link failure recovery notification; The target member end and the member port of the failed link aggregation group belong to the same link aggregation group.
10. A communication device, characterized in that: It comprises a memory and a processor, wherein the memory and the processor are connected; wherein the memory stores a program, and the processor calls the program in the memory to execute the method as claimed in any one of claims 1 to 6.
Citation Information
Cited By
CCM message sending method, CCM message receiving method, CCM message sending device and CCM message receiving device
CN121727933A