Patent Publication Number: US-9887902-B2

Title: Traffic switching method, device, and system

Description:
CROSS-REFERENCE TO RELATED APPLICATION 
     This application claims priority to Chinese Patent Application No. 201510433703.8, filed on Jul. 22, 2015, which is hereby incorporated by reference in its entirety. 
     TECHNICAL FIELD 
     The present disclosure relates to the field of network technologies, and in particular, to a traffic switching method, a device, and a system. 
     BACKGROUND 
     Network overlay is a mainstream architectural pattern of software-defined networking (SDN), and can implement decoupling between a network service and an underlying physical network device, thereby creating a flexible virtual network. 
     To improve reliability of packet transmission, network nodes in an overlay architecture perform packet forwarding using a multi-active gateway (which comprises multiple gateways sharing a same network address), and forwarding paths on which the gateways of the multi-active gateway are located form an equal-cost multi-path (ECMP) between the network nodes. 
     When a gateway of the multi-active gateway is restarted due to a fault, to ensure consistency between Address Resolution Protocol (ARP) entries, an SDN controller needs to send ARP entries on the SDN controller in batches to the faulty gateway. However, in the time-consuming ARP entry sending process, a network node in a network still selects a forwarding path on which the faulty gateway is located to forward traffic. In this case, because updating of ARP entries on the faulty gateway has not been completed, data forwarded to the faulty gateway may be lost. 
     In the prior art, a solution to this problem includes setting the faulty gateway not to work before the ARP entry sending is finished. However, other service functions of the faulty gateway are severely affected. 
     SUMMARY 
     Embodiments of the present disclosure provide a traffic switching method, a device, and a system, which resolve a problem that when sending ARP entries to a faulty gateway is not finished, routing a packet to the gateway through an ECMP causes data loss. In addition, in the ARP entry sending process, other service functions of the gateway are not affected. 
     According to a first aspect, a traffic switching method is provided, including acquiring, by an SDN controller, a first state of a target gateway, where the first state indicates that an ARP entry on the target gateway needs to be updated, the target gateway belongs to an SDN gateway group, the SDN gateway group is used to forward traffic that is transmitted between a first network node and a second network node, and the SDN gateway group includes multiple gateways, where each of the multiple gateways, the first network node, and the second network node form a forwarding path, and multiple forwarding paths on which the multiple gateways are located form multiple equal-cost paths between the first network node and the second network node, and sending, by the SDN controller, an ARP entry to the target gateway according to the first state, and changing, of the multiple equal-cost paths, a metric value of a forwarding path on which the target gateway is located from an original value to a first value, where the first value is greater than the original value such that the traffic that is transmitted between the first network node and the second network node is switched to a path, of the multiple equal-cost paths, whose metric value is less than the first value. 
     According to a second aspect, a network device is provided. The network device includes a memory, a transceiver and a processor, where the memory is configured to store a program code. The processor is configured to call the program code to implement a traffic switching method, where the method comprises acquiring a first state of a target gateway using the transceiver, where the first state indicates that an ARP entry on the target gateway needs to be updated, the target gateway belongs to an SDN gateway group, the SDN gateway group is used to forward traffic that is transmitted between a first network node and a second network node, and the SDN gateway group includes multiple gateways, where each of the multiple gateways, the first network node, and the second network node form a forwarding path, and multiple forwarding paths on which the multiple gateways are located form multiple equal-cost paths between the first network node and the second network node, sending an ARP entry to the target gateway according to the first state using the transceiver, and changing, of the multiple equal-cost paths, a metric value of a forwarding path on which the target gateway is located from an original value to a first value, where the first value is greater than the original value such that the traffic that is transmitted between the first network node and the second network node is switched to a path, of the multiple equal-cost paths, whose metric value is less than the first value. 
     According to a third aspect, a network communications system is provided, including an SDN controller, a target gateway, an SDN gateway group, a first network node, and a second network node, where the SDN controller is configured to acquire a first state of the target gateway, where the first state indicates that an ARP entry on the target gateway needs to be updated, the target gateway belongs to the SDN gateway group, the SDN gateway group is used to forward traffic that is transmitted between the first network node and the second network node, and the SDN gateway group includes multiple gateways, where each of the multiple gateways, the first network node, and the second network node form a forwarding path, and multiple forwarding paths on which the multiple gateways are located form multiple equal-cost paths between the first network node and the second network node, and the SDN controller is further configured to send an ARP entry to the target gateway according to the first state, and change, of the multiple equal-cost paths, a metric value of a forwarding path on which the target gateway is located from an original value to a first value, where the first value is greater than the original value such that the traffic that is transmitted between the first network node and the second network node is switched to a path, of the multiple equal-cost paths, whose metric value is less than the first value. 
     In the embodiments of the present disclosure, a target gateway belongs to an SDN gateway group, and forwarding paths on which gateways in the SDN gateway group are located form an ECMP between a first network node and a second network node. After acquiring a first state of the target gateway, an SDN controller sends an ARP entry to the target gateway, and in the process of sending the ARP entry, changes a metric value of a forwarding path on which the target gateway is located from an original value to a first value, where the first value is greater than the original value. In the embodiments of the present disclosure, a metric value of a forwarding path on which a faulty gateway is located is increased to lower a route priority of the forwarding path, thereby preventing traffic from being routed to the faulty gateway through an ECMP in order to avoid data loss. In addition, in the ARP entry sending process, other service functions of the faulty gateway are not affected. 
    
    
     
       BRIEF DESCRIPTION OF DRAWINGS 
       To describe the technical solutions in the embodiments of the present disclosure more clearly, the following briefly introduces the accompanying drawings required for describing the embodiments. 
         FIG. 1  is a schematic diagram of an application scenario according to an embodiment of the present disclosure; 
         FIG. 2  is a flowchart of a first embodiment of a traffic switching method according to an embodiment of the present disclosure; 
         FIG. 3  is a schematic diagram of increasing a metric value of a forwarding path on which a target gateway is located according to an embodiment of the present disclosure; 
         FIG. 4  is a flowchart of a second embodiment of a traffic switching method according to an embodiment of the present disclosure; 
         FIG. 5  is a schematic diagram of restoring a metric value of a forwarding path on which a target gateway is located according to an embodiment of the present disclosure; 
         FIG. 6  is a schematic structural diagram of a first embodiment of a network device according to an embodiment of the present disclosure; 
         FIG. 7  is a schematic structural diagram of a second embodiment of a network device according to an embodiment of the present disclosure; 
         FIG. 8  is a schematic structural diagram of a third embodiment of a network device according to an embodiment of the present disclosure; and 
         FIG. 9  is a schematic diagram of a network communications system according to an embodiment of the present disclosure. 
     
    
    
     DESCRIPTION OF EMBODIMENTS 
     The following clearly describes the technical solutions in the embodiments of the present disclosure with reference to the accompanying drawings in the embodiments of the present disclosure. The embodiments of the present disclosure involve multiple terms. For meanings of the terms involved in the embodiments, refer to the request for comments (RFC) 826 (ARP) and RFC2992 (ECMP). 
     Embodiments of the present disclosure provide a traffic switching method, a device, and a system, where a metric value of a forwarding path on which a faulty gateway is located is increased to lower a route priority of the forwarding path, thereby preventing traffic from being routed to the faulty gateway through an ECMP in order to avoid data loss. In addition, in the ARP entry sending process, other service functions of the faulty gateway are not affected. 
     To make the embodiments of the present disclosure more comprehensible, the following uses a virtual extensible local area network (VXLAN), where VXLAN is a mainstream overlay network technology at present, as an example to describe an application scenario of the embodiments of the present disclosure. 
     Referring to  FIG. 1 ,  FIG. 1  is a schematic diagram of an application scenario according to an embodiment of the present disclosure. In the application scenario shown in  FIG. 1 , VXLAN tunnel end points (VTEP) of a switch Spine 1  and a switch Spine 2  share a same network address (2.2.2.2) such that Spine 1  and Spine 2  form a multi-active gateway. In the multi-active gateway, ARP entries on each gateway need to remain the same as ARP entries on another gateway. 
     To increase traffic load of a network and improve reliability and security of transmission, forwarding paths on which gateways of the multi-active gateway are located form an ECMP between VTEP nodes (for example, a VTEP of Leaf 1  and a VTEP of Leaf 2 ) in a VXLAN network. 
     In a specific implementation, the ECMP is represented using a routing table on a network device. For example, a routing table of a switch Leaf 1  in  FIG. 1  is shown in Table 1: 
     
       
         
           
               
               
               
               
             
               
                 TABLE 1 
               
               
                   
               
               
                 Destination address 
                 Next hop 
                 Metric value 
                 Outbound interface 
               
               
                   
               
             
            
               
                 2.2.2.2 
                 10.1.1.2 
                 0 
                 GE1 
               
               
                 2.2.2.2 
                 10.1.2.3 
                 0 
                 GE2 
               
               
                 3.3.3.3 
                 10.1.1.2 
                 0 
                 GE1 
               
               
                 3.3.3.3 
                 10.1.2.3 
                 0 
                 GE2 
               
               
                   
               
            
           
         
       
     
     A lower metric value indicates a higher route priority. 
     The foregoing Table 1 indicates that there are two equal-cost paths with a high route priority between VTEP:1.1.1.1 and VTEP:3.3.3.3, namely, a forwarding path on which Spine 1  (next hop: 10.1.1.2) is located and a forwarding path on which Spine 2  (next hop: 10.1.2.3) is located, and there are also two equal-cost paths between VTEP:1.1.1.1 and VTEP:2.2.2.2, namely, a forwarding path on which Spine 1  is located and a forwarding path on which Spine 2  is located. 
     When traffic is transmitted through an ECMP, a network device (for example, Leaf 1 ) usually distributes traffic load on each equal-cost path using an ECMP traffic distribution algorithm (for example, a hash algorithm) in order to reduce network congestion and fully utilize link bandwidth. 
     In an actual application, in the application scenario shown in  FIG. 1 , the VTEP is used for encapsulation and decapsulation of VXLAN packets, and the multi-active gateway not only has the function of the VTEP, but also is responsible for forwarding a packet according to an ARP entry. However, when a gateway of the multi-active gateway is faulty (which results in loss of an ARP entry on the gateway), a packet that is routed to the faulty gateway using the ECMP traffic distribution algorithm is likely to be lost. 
     In the prior art, a solution for resolving the packet loss problem includes setting the faulty gateway not to work before a process of sending an ARP entry to a faulty gateway by an SDN controller is completed. However, other service functions of the faulty gateway are severely affected. 
     In view of the disadvantages in the application scenario shown in  FIG. 1 , the embodiments of the present disclosure disclose a traffic switching method, a device, and a system, where a metric value of a forwarding path on which a faulty gateway is located is increased to lower a route priority of the forwarding path, thereby preventing traffic from being routed to the faulty gateway through an ECMP in order to avoid data loss. In addition, in the ARP entry sending process, other service functions of the faulty gateway are not affected. Detailed descriptions are separately provided below. 
     Referring to  FIG. 2 ,  FIG. 2  is a flowchart of a first embodiment of a traffic switching method according to an embodiment of the present disclosure. As shown in  FIG. 2 , the method includes the following steps. 
     Step S 101 : An SDN controller acquires a first state of a target gateway, where the first state indicates that an ARP entry on the target gateway needs to be updated, the target gateway belongs to an SDN gateway group, the SDN gateway group is used to forward traffic that is transmitted between a first network node and a second network node, and the SDN gateway group includes multiple gateways, where each gateway, the first network node, and the second network node form a forwarding path, and the multiple forwarding paths on which the multiple gateways are located form multiple equal-cost paths between the first network node and the second network node. 
     In this embodiment, the SDN gateway group may be equivalent to the multi-active gateway in  FIG. 1 . The first network node and the second network node may be any two network nodes of neighboring network nodes of the multi-active gateway. 
     In this embodiment, the first state may be a state in which the target gateway is restarted due to a fault. Generally, restart of a network device results in loss of an ARP entry stored thereon or results in that a stored ARP entry is deemed as untrusted. In this case, the network device needs to update the ARP entry. Therefore, the first state can be used to indicate that an ARP entry on the target gateway needs to be updated. It should be noted that the first state may also be another abnormal state leading to that an ARP entry on the target gateway needs to be updated, which is not limited herein. 
     For definitions of the ARP entry and other ARP-related terms, refer to RFC826, and details are not described herein again. 
     In a specific implementation, the first state may be sent by the target gateway to the SDN controller. Alternatively, the first state may be obtained by the SDN controller by active querying (polling). A manner of acquiring the first state is not limited in this embodiment. 
     It should be noted that a quantity of gateways of the multi-active gateway may be determined by a network configuration, which is not limited herein. 
     Step S 103 : The SDN controller sends an ARP entry to the target gateway according to the first state, and changes, of the multiple equal-cost paths, a metric value of a forwarding path on which the target gateway is located from an original value to a first value, where the first value is greater than the original value such that the traffic that is transmitted between the first network node and the second network node is switched to a path, of the multiple equal-cost paths, whose metric value is less than the first value. 
     In this embodiment, the network device may maintain a routing metric parameter of a preset routing protocol, and publish the routing metric parameter to a neighboring node of the network device using the preset routing protocol such that the neighboring node of the network device sets, in a local routing table, a metric value of a path on which the network device is located to a value of the routing metric parameter. 
     In a specific implementation, in the process of sending an ARP entry to the target gateway, the SDN controller may set a routing metric parameter of a preset routing protocol on the target gateway to the first value using a preset network configuration protocol, such as the extensible markup language (XML)-based network configuration protocol (NETCONF) or the simple network management protocol (SNMP) in order to trigger the target gateway to publish a correspondence between the routing metric parameter and the first value to the first network node and the second network node using the preset routing protocol such that the first network node and the second network node set, in their respective routing tables, the metric value of the forwarding path on which the target gateway is located to the first value according to the correspondence between the routing metric parameter and the first value. 
     In this embodiment, the preset routing protocol may be the border gateway protocol (BGP), or may be the open shortest path first (OSPF) protocol, or may be another routing protocol, which is not limited herein. 
     The following uses the BGP as an example to provide a description with reference to  FIG. 3 . In this embodiment of the present disclosure, the metric value of the forwarding path on which the target gateway is located may be increased by performing the following steps. 
     Step 1: An SDN controller sets a value of a routing metric parameter (for example, BGP MED) of the BGP on a target gateway (Spine 1 ) to the first value. For example, the first value may be a maximum metric value of 10. 
     Step 2: The target gateway publishes a correspondence between the routing metric parameter and the first value (that is, a correspondence between the MED and 10, for example, MED=10 or MED:10) to a first network node (a VTEP of Leaf 1 ) and a second network node (a VTEP of Leaf 2 ) using the BGP. 
     Step 3: The first network node and the second network node set, in their respective routing tables, a metric value of a forwarding path on which the target gateway is located to the first value according to the correspondence between the routing metric parameter and the first value. 
     After the foregoing process, a routing table on Leaf 1  is shown in Table 2: 
     
       
         
           
               
               
               
               
             
               
                 TABLE 2 
               
               
                   
               
               
                 Destination address 
                 Next hop 
                 Metric value 
                 Outbound interface 
               
               
                   
               
             
            
               
                   
               
            
           
           
               
               
               
               
            
               
                 2.2.2.2 
                 10.1.1.2 
                 10 
                 GE1 
               
               
                 2.2.2.2 
                 10.1.2.3 
                 0 
                 GE2 
               
               
                 3.3.3.3 
                 10.1.1.2 
                 10 
                 GE1 
               
               
                 3.3.3.3 
                 10.1.2.3 
                 0 
                 GE2 
               
               
                   
               
            
           
         
       
     
     According to a routing protocol, during traffic transmission, traffic is preferentially transmitted through a path with a high route priority. It may be understood that Leaf 1  may preferentially choose to send traffic to the VTEP of Leaf 2  using Spine 2  (next hop: 10.1.2.3) according to the routing table shown in Table 2, thereby avoiding data loss that is caused when Leaf 1  performs traffic transmission using Spine 1  (next hop: 10.1.1.2). 
     Optionally, the SDN controller may encapsulate ARP entries into OPENFLOW packets, and then deliver the OPENFLOW packets in batches to the target gateway. 
     In addition, because a network status is dynamic, for example, a network device is added or an Internet Protocol (IP) address of a communications port on a network device is changed, an ARP entry on the SDN controller also needs to be updated dynamically, and the updated ARP entry needs to be sent to the multi-active gateway. In a specific implementation, after the VXLAN network shown in  FIG. 1  is established, the SDN controller may update an ARP entry on the multi-active gateway using a centralized ARP processing process. 
     The following describes the centralized ARP processing process with reference to  FIG. 1  (assuming that a VTEP of Leaf 3  is a newly added network node): 
     1. An SDN controller receives an ARP request sent by a first network node (the VTEP of Leaf 3 ), where the ARP request is used to request to acquire a media access control (MAC) address of a second network node (the VTEP of Leaf 1 ). 
     2. The SDN controller performs ARP learning according to an IP address and a MAC address of the first network node (the VTEP of Leaf 3 ) that are carried in the ARP request, and searches for the MAC address of the second network node according to an IP address of the second network node that is carried in the ARP request. 
     3. The SDN controller delivers a learned ARP entry to the multi-active gateway to update an ARP entry on the multi-active gateway, and sends an ARP response to the first network node according to the MAC address of the second network node, where the ARP response carries the MAC address of the second network node. 
     It may be understood that the ARP entry learned by the SDN controller through the foregoing process includes the IP address and the MAC address of the VTEP of Leaf 3 . The SDN controller delivers the learned ARP entry to the multi-active gateway such that the ARP entry on the multi-active gateway can be updated. In this way, the ARP entry on the multi-active gateway is the same as the ARP entry on the SDN controller. 
     During implementation of this embodiment of the present disclosure, after the SDN controller acquires the first state (an ARP entry on the target gateway needs to be updated) of the target gateway in step S 101 , the SDN controller may increase the metric value of the forwarding path on which the target gateway is located and send an ARP entry to the target gateway in step S 103 , thereby avoiding data loss that is caused when traffic is routed to the target gateway through an ECMP in an ARP entry sending process. 
     Referring to  FIG. 4 ,  FIG. 4  is a flowchart of a second embodiment of a traffic switching method according to an embodiment of the present disclosure. According to the embodiment of  FIG. 4 , after a process of sending an ARP entry to a faulty gateway (that is, the target gateway) is completed, an SDN controller restores a metric value of a forwarding path on which the faulty gateway is located to an original value such that the forwarding path on which the faulty gateway of a multi-active gateway is located is restored to a path of an ECMP, thereby effectively utilizing link bandwidth and reducing network congestion. The method shown in  FIG. 4  is an improvement on the method shown in  FIG. 2 . For content that is not mentioned in the embodiment corresponding to  FIG. 4 , refer to the description of the embodiment corresponding to  FIG. 2 . Referring to  FIG. 4 , the method includes the following steps. 
     Step S 201 : An SDN controller acquires a first state of a target gateway, where the first state indicates that an ARP entry on the target gateway needs to be updated, the target gateway belongs to an SDN gateway group, the SDN gateway group is used to forward traffic that is transmitted between a first network node and a second network node, and the SDN gateway group includes multiple gateways, where each gateway, the first network node, and the second network node form a forwarding path, and the multiple forwarding paths on which the multiple gateways are located form multiple equal-cost paths between the first network node and the second network node. 
     Furthermore, refer to step S 101  of the embodiment of  FIG. 2 , and details are not described herein again. 
     Step S 203 : The SDN controller sends an ARP entry to the target gateway according to the first state, and changes, of the multiple equal-cost paths, a metric value of a forwarding path on which the target gateway is located from an original value to a first value, where the first value is greater than the original value such that the traffic that is transmitted between the first network node and the second network node is switched to a path, of the multiple equal-cost paths, whose metric value is less than the first value. 
     Further, refer to step S 103  of the embodiment of  FIG. 2 , and details are not described herein again. 
     Step S 205 : After the process of sending, by the SDN controller, an ARP entry to the target gateway ends, the SDN controller restores the metric value of the forwarding path on which the target gateway is located to the original value. 
     In a specific implementation, the SDN controller may restore the value of the routing metric parameter of the preset routing protocol on the target gateway to the original value using the preset network configuration protocol, such as the XML-based NETCONF or the SNMP in order to trigger the target gateway to publish a correspondence between the routing metric parameter and the original value to the first network node and the second network node using the preset routing protocol such that the first network node and the second network node set, in the their respective routing tables, the metric value of the forwarding path on which the target gateway is located to the original value according to the correspondence between the routing metric parameter and the original value. 
     The following uses the BGP as an example to provide a description with reference to  FIG. 5 . In this embodiment of the present disclosure, the metric value of the forwarding path on which the target gateway is located may be restored by performing the following steps: 
     Step 1: An SDN controller restores a value of a routing metric parameter (BGP MED) of the BGP on a target gateway (Spine 1 ) to the original value. For example, the original value may be a minimum metric value of 0. 
     Step 2: The target gateway publishes a correspondence between the routing metric parameter and the original value (that is, a correspondence between the MED and 0, for example, MED=0 or MED:0) to a first network node (a VTEP of Leaf 1 ) and a second network node (a VTEP of Leaf 2 ) using the BGP. 
     Step 3: The first network node and the second network node set, in their respective routing tables, a metric value of a forwarding path on which the target gateway is located to the original value according to the correspondence between the routing metric parameter and the original value. 
     After the foregoing process, a routing table on Leaf 1  is shown in Table 3: 
     
       
         
           
               
               
               
               
             
               
                 TABLE 3 
               
               
                   
               
               
                 Destination address 
                 Next hop 
                 Metric value 
                 Outbound interface 
               
               
                   
               
             
            
               
                 2.2.2.2 
                 10.1.1.2 
                 0 
                 GE1 
               
               
                 2.2.2.2 
                 10.1.2.3 
                 0 
                 GE2 
               
               
                 3.3.3.3 
                 10.1.1.2 
                 0 
                 GE1 
               
               
                 3.3.3.3 
                 10.1.2.3 
                 0 
                 GE2 
               
               
                   
               
            
           
         
       
     
     It may be known from Table 3 that, a route priority of the forwarding path on which Spine 1  (next hop: 10.1.1.2) is located is restored to a high priority, which is the same as a route priority of a forwarding path on which Spine 2  (next hop: 10.1.2.3) is located. That is, the forwarding path on which Spine 1  is located and the forwarding path on which Spine 2  is located are restored to two equal-cost paths between the first network node (the VTEP of Leaf 1 ) and the second network node (the VTEP of Leaf 2 ), thereby effectively utilizing link bandwidth and reducing network congestion. 
     During implementation of this embodiment of the present disclosure, in the process of sending an ARP entry to the target gateway, the SDN controller sets the metric value of the forwarding path on which the target gateway is located to a high metric value in order to lower a route priority of the forwarding path on which the target gateway is located, thereby avoiding data loss that is caused when traffic is transmitted through the target gateway. After the ARP entry sending is completed, the SDN controller may restore the metric value of the forwarding path on which the target gateway is located such that the forwarding path on which the target gateway is located is restored to a path of the ECMP, thereby effectively utilizing link bandwidth and reducing network congestion. 
     Referring to  FIG. 6 ,  FIG. 6  is a schematic structural diagram of a first embodiment of a network device according to an embodiment of the present disclosure. A network device  60  shown in  FIG. 6  may include an acquiring module  601 , a sending module  603 , and a first setting module  605 . The network device  60  may be configured to perform the method shown in  FIG. 2  or  FIG. 4 . For content that is not mentioned in the embodiment shown in  FIG. 6 , refer to the description in the embodiment respectively corresponding to  FIG. 2  or  FIG. 4 . 
     The acquiring module  601  is configured to acquire a first state of a target gateway, where the first state indicates that an ARP entry on the target gateway needs to be updated, the target gateway belongs to an SDN gateway group, the SDN gateway group is used to forward traffic that is transmitted between a first network node and a second network node, and the SDN gateway group includes multiple gateways, where each gateway, the first network node, and the second network node form a forwarding path, and multiple forwarding paths on which the multiple gateways are located form multiple equal-cost paths between the first network node and the second network node. 
     The sending module  603  is configured to send an ARP entry to the target gateway according to the first state acquired by the acquiring module  601 . 
     The first setting module  605  is configured to change, of the multiple equal-cost paths, a metric value of a forwarding path on which the target gateway is located from an original value to a first value, where the first value is greater than the original value such that the traffic that is transmitted between the first network node and the second network node is switched to a path, of the multiple equal-cost paths, whose metric value is less than the first value. 
     In this embodiment, the SDN gateway group may be equivalent to the multi-active gateway in  FIG. 1 . The first network node and the second network node may be any two network nodes of neighboring network nodes of the multi-active gateway. 
     In this embodiment, the first state may be a state in which the target gateway is restarted due to a fault. Generally, restart of a network device results in loss of an ARP entry stored thereon. Therefore, the first state can be used to indicate that an ARP entry on the target gateway needs to be updated. It should be noted that the first state may also be another abnormal state leading to that an ARP entry on the target gateway needs to be updated, which is not limited herein. 
     In this embodiment, the first state acquired by the acquiring module  601  may be a state sent by the target gateway to the network device  60 , or may be a state that is obtained by the acquiring module  601  by active querying (polling). A manner of acquiring the first state by the acquiring module  601  is not limited in this embodiment. 
     In a specific implementation, in the process of sending an ARP entry to the target gateway by the sending module  603 , the first setting module  605  may be further configured to set a value of a routing metric parameter of a preset routing protocol on the target gateway to the first value using a preset network configuration protocol, such as the XML-based NETCONF or the SNMP in order to trigger the target gateway to publish a correspondence between the routing metric parameter and the first value to the first network node and the second network node using the preset routing protocol such that the first network node and the second network node set, in their respective routing tables, the metric value of the forwarding path on which the target gateway is located to the first value according to the correspondence between the routing metric parameter and the first value. 
     That is, in the process of sending an ARP entry to the target gateway by the sending module  603 , the first setting module  605  may set the metric value of the forwarding path on which the target gateway is located to a high metric value such that a route priority of the forwarding path on which the target gateway is located is lowered, thereby avoiding data loss that is caused when traffic is transmitted through the target gateway. 
     Optionally, the sending module  603  may encapsulate ARP entries into OPENFLOW packets, and then deliver the OPENFLOW packets in batches to the target gateway. 
     It may be understood that because a network status is dynamic, for example, a network device is added or an IP address of a communications port on a network device is changed, an ARP entry on the network device  60  also needs to be updated dynamically, and the updated ARP entry needs to be sent to the multi-active gateway. 
     Further, in addition to the acquiring module  601 , the sending module  603 , and the first setting module  605 , the network device  60  may further include an ARP updating module (not shown). The ARP updating module may be configured to receive an ARP request sent by the first network node, where the ARP request is used to request to acquire a MAC address of the second network node, perform ARP learning according to an IP address and a MAC address of the first network node that are carried in the ARP request, search for the MAC address of the second network node according to an IP address of the second network node that is carried in the ARP request, deliver a learned ARP entry to the SDN gateway group to update an ARP entry on the SDN gateway group, and send an ARP response to the first network node according to the MAC address of the second network node, where the ARP response carries the MAC address of the second network node. 
     It may be understood that the foregoing learned ARP entry may include the IP address and the MAC address of the first network node. The ARP updating module delivers the foregoing learned ARP entry to the multi-active gateway such that the ARP entry on the multi-active gateway is the same as the ARP entry on the network device  60 . 
     As shown in  FIG. 7 , in addition to the acquiring module  601 , the sending module  603 , and the first setting module  605 , the network device  60  may further include a second setting module  607 , where the second setting module  607  is configured to restore the metric value of the forwarding path on which the target gateway is located to the original value after the process of sending an ARP entry to the target gateway by the sending module  603  ends. 
     In a specific implementation, after the process of sending an ARP entry to the target gateway by the sending module  603  ends, the second setting module  607  may restore the value of the routing metric parameter of the preset routing protocol on the target gateway to the original value using the preset network configuration protocol, such as the XML-based NETCONF or the SNMP in order to trigger the target gateway to publish a correspondence between the routing metric parameter and the original value to the first network node and the second network node using the preset routing protocol such that the first network node and the second network node set, in the their respective routing tables, the metric value of the forwarding path on which the target gateway is located to the original value according to the correspondence between the routing metric parameter and the original value. 
     That is, after the sending module  603  sends the ARP entry, the second setting module  607  may restore the metric value of the forwarding path on which the target gateway is located such that the forwarding path on which the target gateway is located is restored to a path of the multiple equal-cost paths, thereby effectively utilizing link bandwidth and reducing network congestion. 
     It may be understood that functions of the functional modules in the network device  60  may be further implemented according to the methods in the method embodiments respectively corresponding to  FIG. 2  and  FIG. 4 , and details are not described herein again. 
     Referring to  FIG. 8 ,  FIG. 8  is a schematic structural diagram of a third embodiment of a network device according to an embodiment of the present disclosure. Referring to  FIG. 8 , a network device  80  may include an input apparatus  803 , an output apparatus  804 , a transceiver  805 , a memory  802 , and a processor  801  coupled to the memory  802  (there may be one or more processors  801  in the network device  80 , and in  FIG. 8 , one processor is used as an example). In some embodiments of the present disclosure, the input apparatus  803 , the output apparatus  804 , the transceiver  805 , the memory  802 , and the processor  801  may be connected using a bus or in another manner, and in  FIG. 8 , an example in which connection is implemented using a bus is used. 
     The input apparatus  803  is configured to receive external input data. In a specific implementation, the input apparatus  803  may include a keyboard, a mouse, a photoelectric input apparatus, a sound input apparatus, a touch input apparatus, a scanner, and the like. The output apparatus  804  is configured to output data to the outside. In a specific implementation, the output apparatus  804  may include a display, a loudspeaker, a printer, and the like. The transceiver  805  is configured to send data to another device or receive data from another device. In a specific implementation, the transceiver  805  may include a transceiver component such as a wireless transceiver module or a wired transceiver module. The memory  802  is configured to store a program code. The processor  801  is configured to invoke the program code stored in the memory to perform the following steps: acquiring, by the transceiver  805 , a first state of a target gateway, where the first state indicates that an ARP entry on the target gateway needs to be updated, the target gateway belongs to an SDN gateway group, the SDN gateway group is used to forward traffic that is transmitted between a first network node and a second network node, and the SDN gateway group includes multiple gateways, where each gateway, the first network node, and the second network node form a forwarding path, and multiple forwarding paths on which the multiple gateways are located form multiple equal-cost paths between the first network node and the second network node, and sending, by the transceiver  805 , an ARP entry to the target gateway according to the first state, and changing, of the multiple equal-cost paths, a metric value of a forwarding path on which the target gateway is located from an original value to a first value, where the first value is greater than the original value such that the traffic that is transmitted between the first network node and the second network node is switched to a path, of the multiple equal-cost paths, whose metric value is less than the first value. 
     In a specific implementation, in the process of sending an ARP entry to the target gateway, the processor  801  may set a routing metric parameter of a preset routing protocol on the target gateway to the first value using a preset network configuration protocol, such as the XML-based NETCONF or the SNMP in order to trigger the target gateway to publish a correspondence between the routing metric parameter and the first value to the first network node and the second network node using the preset routing protocol such that the first network node and the second network node set, in their respective routing tables, the metric value of the forwarding path on which the target gateway is located to the first value according to the correspondence between the routing metric parameter and the first value. 
     Optionally, the processor  801  may encapsulate ARP entries into OPENFLOW packets, and then the transceiver  805  delivers the OPENFLOW packets in batches to the target gateway. 
     In addition, because a network status is dynamic, for example, a network device is added or an IP address of a communications port on the network device is changed, the processor  801  needs to update an ARP entry on the network device  80 , and send the updated ARP entry to a multi-active gateway. In a specific implementation, after the VXLAN network shown in  FIG. 1  is established, the processor  801  may update an ARP entry on the multi-active gateway using a centralized ARP processing process. 
     The centralized ARP processing process may include the processor  801  which receives, using the transceiver  805 , an ARP request sent by the first network node, where the ARP request is used to request to acquire a MAC address of the second network node. The processor  801  performs ARP learning according to an IP address and a MAC address of the first network node that are carried in the ARP request, and searches for the MAC address of the second network node according to an IP address of the second network node that is carried in the ARP request. Then, the processor  801  delivers a learned ARP entry to the SDN gateway group using the transceiver  805  to update an ARP entry on the SDN gateway group, and sends an ARP response to the first network node according to the MAC address of the second network node using the transceiver  805 , where the ARP response carries the MAC address of the second network node. 
     It may be understood that the foregoing learned ARP entry includes an IP address and a MAC address of a VTEP of Leaf 3 . The processor  801  delivers the foregoing learned ARP entry to the multi-active gateway such that the ARP entry on the multi-active gateway can be updated. In this way, the ARP entry on the multi-active gateway is the same as the ARP entry on the network device  80 . 
     Further, after the process of sending an ARP entry to a faulty gateway (that is, the target gateway) is completed, the processor  801  may restore the metric value of the forwarding path on which the faulty gateway is located to the original value such that the forwarding path on which the faulty gateway of the multi-active gateway is located is restored to a path of the ECMP, thereby effectively using link bandwidth and reducing network congestion. 
     In a specific implementation, the processor  801  may restore the value of the routing metric parameter of the preset routing protocol on the target gateway to the original value using the preset network configuration protocol, such as the XML-based NETCONF or the SNMP in order to trigger the target gateway to publish a correspondence between the routing metric parameter and the original value to the first network node and the second network node using the preset routing protocol such that the first network node and the second network node set, in the their respective routing tables, the metric value of the forwarding path on which the target gateway is located to the original value according to the correspondence between the routing metric parameter and the original value. 
     It may be understood that, for the steps performed by the processor  801 , refer to content of the method embodiments respectively corresponding to  FIG. 2  and  FIG. 4 , and details are not described herein again. 
     Referring to  FIG. 9 ,  FIG. 9  is a schematic diagram of a network communications system according to an embodiment of the present disclosure. The system shown in  FIG. 9  may include an SDN controller  100 , a target gateway  200 , a first network node  300 , a second network node  400 , and an SDN gateway group  500 , where the SDN controller  100  is configured to acquire a first state of the target gateway  200 , where the first state indicates that an ARP entry on the target gateway  200  needs to be updated, the target gateway  200  belongs to the SDN gateway group  500 , and the SDN gateway group  500  is used to forward traffic that is transmitted between the first network node  300  and the second network node  400 , and the SDN gateway group  500  includes multiple gateways, where each gateway, the first network node  300 , and the second network node  400  form a forwarding path, and multiple forwarding paths on which the multiple gateways are located form multiple equal-cost paths between the first network node and the second network node, and the SDN controller  100  is further configured to send an ARP entry to the target gateway  200  according to the first state, and change, of the multiple equal-cost paths, a metric value of a forwarding path on which the target gateway  200  is located from an original value to a first value, where the first value is greater than the original value such that the traffic that is transmitted between the first network node  300  and the second network node  400  is switched to a path, of the multiple equal-cost paths, whose metric value is less than the first value. 
     Further, the SDN gateway group  500  may be equivalent to the multi-active gateway shown in  FIG. 1 . The first network node  300  and the second network node  400  may be any two network nodes of neighboring network nodes of the multi-active gateway. 
     In this embodiment, the first state may be a state in which the target gateway is restarted due to a fault. Generally, restart of a network device results in loss of an ARP entry stored thereon. Therefore, the first state can be used to indicate that an ARP entry on the target gateway  200  needs to be updated. It should be noted that the first state may also be another abnormal state leading to that an ARP entry on the target gateway  200  needs to be updated, which is not limited herein. 
     In a specific implementation, in the process of sending an ARP entry to the target gateway  200 , the SDN controller  100  may set a routing metric parameter of a preset routing protocol on the target gateway  200  to the first value using a preset network configuration protocol, such as the XML-based NETCONF or the SNMP in order to trigger the target gateway  200  to publish a correspondence between the routing metric parameter and the first value to the first network node  300  and the second network node  400  using the preset routing protocol such that the first network node  300  and the second network node  400  set, in their respective routing tables, the metric value of the forwarding path on which the target gateway  200  is located to the first value according to the correspondence between the routing metric parameter and the first value. 
     Optionally, the SDN controller  100  may encapsulate ARP entries into OPENFLOW packets, and then deliver the OPENFLOW packets in batches to the target gateway  200 . 
     That is, in the process of sending an ARP entry to the target gateway  200 , the SDN controller  100  may set the metric value of the forwarding path on which the target gateway  200  is located to a high metric value such that a route priority of the forwarding path on which the target gateway  200  is located is lowered, thereby avoiding data loss that is caused when traffic is transmitted through the target gateway  200 . 
     Further, the SDN controller restores the metric value of the forwarding path on which the target gateway is located to the original value after sending, by the SDN controller, an ARP entry to the target gateway. 
     In a specific implementation, the SDN controller may restore a value of the routing metric parameter of the preset routing protocol on the target gateway to the original value using the preset network configuration protocol, such as the XML-based NETCONF or the SNMP in order to trigger the target gateway to publish a correspondence between the routing metric parameter and the original value to the first network node and the second network node using the preset routing protocol such that the first network node and the second network node set, in the their respective routing tables, the metric value of the forwarding path on which the target gateway is located to the original value according to the correspondence between the routing metric parameter and the original value. 
     That is, after the ARP entry sending is completed, the SDN controller  100  may restore the metric value of the forwarding path on which the target gateway  200  is located such that the forwarding path on which the target gateway is located is restored to a path of the multiple equal-cost paths, thereby effectively utilizing link bandwidth and reducing network congestion. 
     In an actual application, because a network status is dynamic, for example, a network device is added or an IP address of a communications port on a network device is changed, an ARP entry on the SDN controller  100  also needs to be updated dynamically, and the updated ARP entry needs to be sent to the SDN gateway group  500 . In a specific implementation, after the VXLAN network shown in  FIG. 1  is established, the SDN controller  100  may update an ARP entry on the SDN gateway group  500  using a centralized ARP processing process. 
     In a specific implementation, the SDN controller  100  may update an ARP entry on the SDN gateway group  500  using a centralized ARP processing process. Further, the centralized ARP processing process may mainly include the following steps. 
     Step 1: The SDN controller  100  receives an ARP request sent by the first network node  300 , where the ARP request is used to request to acquire a MAC address of the second network node  400 . 
     Step 2: The SDN controller  100  performs ARP learning according to an IP address and a MAC address of the first network node  300  that are carried in the ARP request, and searches for the MAC address of the second network node  400  according to an IP address of the second network node  400  that is carried in the ARP request. 
     Step 3: The SDN controller  100  delivers a learned ARP entry to the SDN gateway group  500  to update an ARP entry on the SDN gateway group  500 , and sends an ARP response to the first network node  300  according to the MAC address of the second network node  400 , where the ARP response carries the MAC address of the second network node  400 . 
     It may be understood that the SDN controller  100  delivers a learned new ARP entry to the SDN gateway group  500  such that an ARP entry on the SDN gateway group  500  can be updated to be the same as the ARP entry on the SDN controller  100 . 
     It should be noted that, for content that is not mentioned in the embodiment shown in  FIG. 9 , refer to the description of the embodiment respectively corresponding to  FIG. 2  or  FIG. 4 , and details are not described herein again. 
     It may be understood that the SDN controller  100  may also be the network device  60  described in the embodiments of  FIG. 6  and  FIG. 7  or the network device  80  described in the embodiment of  FIG. 8 , and details are not described herein again. 
     Based on the above, during implementation of this embodiment of the present disclosure, after acquiring a first state of a faulty gateway (the target gateway) of the multi-active gateway, the SDN controller sends an ARP entry to the faulty gateway, and changes, in the process of sending the ARP entry, a metric value of a forwarding path on which the faulty gateway is located from an original value to a first value, where the first value is greater than the original value such that a route priority of the forwarding path on which the faulty gateway is located is lowered, thereby preventing traffic from being routed to the faulty gateway through an ECMP that is formed by the multi-active gateway in order to avoid data loss. In addition, in the process of sending the ARP entry, other service functions of the faulty gateway are not affected. 
     A person of ordinary skill in the art may understand that all or some of the processes of the methods in the embodiments may be implemented by a computer program instructing relevant hardware. The program may be stored in a computer-readable storage medium. When the program runs, the processes of the methods in the embodiments are performed. The foregoing storage medium may include a magnetic disk, an optical disc, a read-only memory (ROM), a random access memory (RAM), or the like. 
     What is disclosed above is merely some embodiments of the present disclosure, and certainly is not intended to limit the protection scope of the present disclosure. A person of ordinary skill in the art may understand that all or some of processes that implement the foregoing embodiments and equivalent modifications made in accordance with the claims of the present disclosure shall fall within the scope of the present disclosure.