Table entry synchronization method, gateway device, networking system and storage medium

By determining the target table entry and SG port status in cross-device link aggregation networking, sending synchronization messages solves data loss and multiple packet problems and improves communication efficiency.

CN113746733BActive Publication Date: 2025-09-05ZTE CORP
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202010478532.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-05-29
Publication Date
2025-09-05
Estimated Expiration
2040-05-29

AI Technical Summary

Technical Problem

In cross-device link aggregation networking, there is a problem of data failing to be sent or received successfully, resulting in packet loss or multiple packets, affecting communication efficiency.

Method used

When receiving a pending message transmitted from the other end, the local end determines the target table entry stored there and the SG port status of the other end, and sends a synchronization message to the other end based on this information to supplement the lost data and avoid repeated transmission of multiple packets.

Benefits of technology

It improves the communication efficiency in cross-device link aggregation networking, replenishes lost data in a timely manner and avoids the problem of repeated sending of multiple packets.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113746733B_ABST
    Figure CN113746733B_ABST
Patent Text Reader

Abstract

The present application relates to the field of communications technology and specifically discloses a table entry synchronization method, a gateway device, a networking system, and a storage medium. The method includes: upon receiving a pending message transmitted from a peer, determining a target table entry stored on a local end corresponding to the pending message, and determining the SG port status of the peer; and, based on the target table entry stored on the local end and the SG port status of the peer, sending a synchronization message regarding the target table entry to the peer. This method can improve communication efficiency in cross-device link aggregation networking.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of communication technology, and in particular to a table entry synchronization method, gateway equipment, a networking system and a storage medium. Background Art

[0002] Multi-Chassis Link Aggregation Group (MC-LAG) is a networking mechanism that aggregates links between an access device and two gateway devices running MC-LAG.

[0003] A synchronization link, typically called a peerlink, is established between the two gateway devices. Through this link, the two gateway devices synchronize the table entries learned by their respective aggregation interfaces with the other end, achieving forwarding connectivity. A negotiation link, typically called a keepalive link, is also established between the two gateway devices to check configuration consistency and negotiate the master / slave roles. MC-LAG table entry synchronization uses a combination of triggered synchronization and periodic synchronization. New table entries are immediately synchronized to the remote end. Full table entry synchronization is also performed at regular intervals.

[0004] During the synchronization process, data may not be sent or received successfully due to the other party being busy or other factors. There is also the problem of repeated data transmission. Therefore, it is necessary to solve the problem of packet loss or multiple packets in cross-device link aggregation networking. Summary of the Invention

[0005] The present application provides a table entry synchronization method, a gateway device, a networking system and a storage medium, which can improve the communication efficiency in cross-device link aggregation networking.

[0006] In a first aspect, the present application provides a table entry synchronization method, the method comprising:

[0007] Upon receiving a message to be processed transmitted from the opposite end, determining a target table entry corresponding to the message to be processed stored in the local end, and determining the SG port status of the opposite end;

[0008] According to the target entry stored in the local end and the SG port status of the opposite end, a synchronization message regarding the target entry is sent to the opposite end.

[0009] In a second aspect, the present application also provides a gateway device, which includes a memory and a processor; the memory is used to store a computer program; the processor is used to execute the computer program and implement the table entry synchronization method as described above when executing the computer program.

[0010] In a third aspect, the present application further provides a networking system, which includes two gateway modules, and the gateway modules are used to implement the table entry synchronization method as described above.

[0011] In a fourth aspect, the present application further provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the processor implements the table entry synchronization method as described above.

[0012] The present application discloses a table item synchronization method, a gateway device, a networking system and a storage medium. The method comprises: upon receiving a message to be processed transmitted from the opposite end, determining a target table item corresponding to the message to be processed stored at the local end, and determining the SG port status of the opposite end; and sending a synchronization message about the target table item to the opposite end based on the target table item stored at the local end and the SG port status of the opposite end. By determining the SG port status of the opposite end and the target table item corresponding to the message to be processed stored at the local end when receiving a message to be processed transmitted from the opposite end, it is determined whether it is necessary to perform a table item synchronization operation to the opposite end. If packet loss occurs during the transmission process of the gateway device, the lost data can be supplemented and synchronized in a timely manner. At the same time, the present solution can avoid the problem of repeated sending of multiple packets after judging the execution of the synchronization operation based on multiple factors, and can further improve the communication efficiency in the cross-device link aggregation network. BRIEF DESCRIPTION OF THE DRAWINGS

[0013] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the following is a brief introduction to the drawings required for use in the description of the embodiments. Obviously, the drawings described below are some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.

[0014] Figure 1 This is a schematic block diagram of the modules of the cross-device link aggregation networking system provided by an embodiment of the present application;

[0015] Figure 2 This is a schematic flow chart of a table entry synchronization method provided in an embodiment of the present application;

[0016] Figure 3 is a schematic flow chart of another table entry synchronization method provided in an embodiment of the present application;

[0017] Figure 4 is a schematic flow chart of another table entry synchronization method provided in an embodiment of the present application;

[0018] Figure 5 This is a schematic block diagram of the structure of a gateway device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0019] The following will be combined with the drawings in the embodiments of this application to clearly and completely describe the technical solutions in the embodiments of this application. Obviously, the embodiments described are part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.

[0020] The flowcharts shown in the accompanying drawings are for illustrative purposes only and do not necessarily include all contents and operations / steps, nor must they be executed in the order described. For example, some operations / steps may be decomposed, combined, or partially merged, so the actual execution order may vary depending on the actual situation.

[0021] It should be understood that the terms used in this specification are only for the purpose of describing specific embodiments and are not intended to limit the present application. As used in this specification and the appended claims, the singular forms "a", "an", and "the" are intended to include the plural forms unless the context clearly indicates otherwise.

[0022] It should be further understood that the term "and / or" used in this specification and the appended claims refers to and includes any and all possible combinations of one or more of the associated listed items.

[0023] The embodiments of the present application provide a table entry synchronization method, a gateway device, a networking system, and a storage medium. The following describes some implementations of the present application in detail with reference to the accompanying drawings. The following embodiments and features thereof may be combined with each other unless they conflict.

[0024] The embodiment of the present application provides a table entry synchronization method applied to any gateway device in a multi-chassis link aggregation group (MC-LAG) networking system. Figure 1 The figure is a schematic block diagram of a module of a cross-device link aggregation networking system, which includes an access device and two gateway devices.

[0025] The two gateways are configured to pair with each other. Once paired, the active / standby status of the two gateways is determined. This active / standby relationship does not affect normal traffic forwarding and only becomes effective in the event of a line failure. Once the active / standby status is determined, the two gateways periodically send heartbeat messages to each other over the network link. When both devices can receive messages from the other, the active-active system begins operating normally.

[0026] When the two devices are operating normally, they will send synchronization messages over the peerlink to synchronize information between each other in real time. The synchronization messages include MAC table entries and ARP table entries. In this way, a failure of any device will not affect traffic forwarding, ensuring normal service interruption.

[0027] Because periodic synchronization is full synchronization, the synchronization period is generally not set too short. If the CPU of the peer gateway device is busy during synchronization, or if other factors cause some forwarding entries to fail to be successfully received or sent, the following problems may occur: (1) For packets forwarded by searching for MAC table entries, an extra copy will be flooded to the peer gateway device, and the access device as the receiving end will eventually receive two copies of the message. (2) For packets forwarded by searching for ARP / ND table entries, since the local gateway device does not have the corresponding table entry, an ARP / NS request will be triggered to the access device. The access device may reply the ARP / NA response to the peer gateway device. Similarly, the local gateway device cannot learn the ARP table entry, resulting in continuous packet loss.

[0028] For example, Figure 1 As shown, Figure 1 In the example, gateway device 100b receives an ARP / ND message from access device 200 and generates the corresponding MAC table and ARP / ND table locally. Because MC-LAG is configured on the gateway device, gateway device 100b synchronizes the MAC table and ARP / ND table with gateway device 100a. If gateway device 100a fails to receive the synchronization message for some reason, or if it receives the message but is unable to process it due to CPU busyness, the corresponding MAC table and ARP / ND table entries will not be created on gateway device 100a.

[0029] For example, when gateway device 100a receives a Layer 2 message destined for access device 200 from the uplink interface, because there is no MAC table entry on gateway device 100a, gateway device 100a will broadcast the Layer 2 message to the A2 link and at the same time broadcast it to gateway device 100b through the peerlink link. Gateway device 100b searches the MAC table for a known unicast message and also forwards the Layer 2 message to access device 200. In this way, access device 200 receives two copies of the message.

[0030] For example, when gateway device 100a receives a Layer 3 message destined for access device 200 from the uplink interface, because there is no ARP / ND table entry on gateway device 100a, gateway device 100a will trigger an AR / NS request based on the Layer 3 message and send it to access device 200. If access device 200 replies with an ARP / NA response message to the B2 link, gateway device 100a still cannot generate an ARP / ND table entry, and the traffic will continue to be discarded.

[0031] See also Figure 2 , Figure 2 This is a schematic flow chart of a table entry synchronization method provided by an embodiment of the present application, such as Figure 2 As shown, the table entry synchronization method specifically includes steps S101 to S102.

[0032] S101. When receiving a message to be processed transmitted from a peer end, determining a target table entry corresponding to the message to be processed stored in the local end, and determining a SG port status of the peer end.

[0033] Among them, this method can be applied to any gateway device in a cross-device link aggregation networking system, such as Figure 1 As shown, it can be applied to the gateway device 100a or the gateway device 100b. The message to be processed can be a message received by the gateway device from the uplink interface, such as Figure 1 As shown, the message to be processed may be received by the gateway device 100a from the A link, or may be received by the gateway device 100b from the B link.

[0034] After a gateway device receives a pending message from its uplink interface, it may forward the pending message to another gateway device, either due to a problem with the gateway device or due to the normal transmission of the pending message. For example, if gateway device 100a receives a pending message from link A and then sends it to gateway device 100b via peerlink, gateway device 100b acts as the local end and gateway device 100a acts as the peer end. If gateway device 100b receives a pending message from link B and then sends it to gateway device 100a via peerlink, gateway device 100a acts as the local end and gateway device 100b acts as the peer end.

[0035] The message to be processed is generally sent to the corresponding destination device through a gateway device. The destination device can be an access device. Therefore, the message to be processed has its corresponding transmission parameters. The address of the destination device corresponding to the message to be processed can be determined based on the transmission parameters. Therefore, the gateway device can send the message to be processed to the destination device. The target table entry is an entry used to determine the address of the destination device of the message to be processed. The target table entry includes the address of the destination device. If the local end stores a target table entry corresponding to the message to be processed, the address of the destination device corresponding to the message to be processed can be determined from the target table entry. The message to be processed can be a Layer 2 message, and the corresponding target table entry can be a Media Access Control (MAC) table entry.

[0036] The SG port is the port on the gateway device that connects to the access device. The SG port status indicates whether the communication link between the gateway and the access device is normal. For example, when the communication link between the gateway and the access device is normal, the SG port status is "up." If the communication link between the gateway and the access device fails, the SG port status switches to "down." Therefore, the SG port status can be used to determine whether there is a problem with the gateway device's communication link.

[0037] S102: Send a synchronization message regarding the target entry to the opposite end based on the target entry stored in the local end and the SG port status of the opposite end.

[0038] The status of the peer SG port directly determines whether the communication link between the gateway device and the access device is normal. If there is a problem with the communication link between the peer gateway device and the access device, the peer gateway device cannot send the pending message to the access device via the SG port. Therefore, it needs to send it to the local gateway device, which uses the cross-device link aggregation networking function to send it through the local gateway device. In this case, because the communication link of the peer gateway device itself has a problem, it is impossible to accurately determine whether there is a missing target table entry in the peer gateway device.

[0039] However, if there is no problem with the communication link between the peer gateway device and the access device, the peer gateway device still sends the pending message to the local gateway device. That is, the peer gateway device has a normal communication link to send the pending message to the access device, but the peer gateway device does not have other information to send the pending message locally. Therefore, the peer gateway device needs to use the cross-device link aggregation networking function to send it through the local gateway device. In this case, it may be that the peer gateway device does not store the target table corresponding to the pending message, which may be due to the CPU being busy during the previous communication process, resulting in data loss on the peer end.

[0040] Therefore, based on the peer's SG port status and the target entry stored on the local end, a synchronization message regarding the target entry can be sent to the peer. The synchronization message carries the target entry corresponding to the message to be processed. The local end sends the target entry corresponding to the message to be processed to the peer gateway device via the synchronization message, so that the peer gateway device can supplement the target entry corresponding to the message to be processed.

[0041] In one embodiment, the operation of sending the synchronization message regarding the target entry to the opposite end based on the target entry stored in the local end and the SG port status of the opposite end may be implemented as follows:

[0042] If the local end stores the target entry and the SG port state of the opposite end is the target state, a synchronization message regarding the target entry is sent to the opposite end.

[0043] Among them, the target state is used to indicate that the communication link corresponding to the SG port is normal. The SG port is the port used by the gateway device to connect to the access device. Therefore, the target state is used to indicate that the communication link between the gateway device and the access device is normal. Optionally, the target state can be "up". The SG port state of "up" indicates that the communication link between the gateway device and the access device is normal.

[0044] If the SG port status of the opposite end is the target state, it means that the opposite end gateway device does not store the target table entry corresponding to the message to be processed, while the local end gateway device stores the target table entry corresponding to the message to be processed. Therefore, the local end gateway device can initiate a synchronization message about the target table entry to the opposite end gateway device, so that the opposite end gateway device can supplement the storage of the target table entry corresponding to the message to be processed.

[0045] The table entry synchronization method provided in the embodiment of the present application determines whether it is necessary to perform a table entry synchronization operation on the opposite end by determining the SG port status of the opposite end and the target table entry corresponding to the message to be processed stored on the local end when receiving the message to be processed transmitted from the opposite end. This method can promptly supplement and synchronize the lost data after packet loss occurs during the transmission process of the gateway device. At the same time, this solution can also avoid the problem of repeated sending of multiple packets after judging the execution of the synchronization operation based on multiple factors.

[0046] Alternatively, as Figure 3 As shown, the method of the embodiment of the present application can be implemented according to the following steps:

[0047] S201: When receiving a message to be processed transmitted from a peer end, determining a target table entry corresponding to the message to be processed stored in the local end.

[0048] S202: If the local end stores a target entry corresponding to the message to be processed, determine the SG port status of the opposite end.

[0049] S203: If the SG port state of the opposite end is the target state, send a synchronization message about the target entry to the opposite end.

[0050] Among them, when receiving a message to be processed transmitted from the opposite end, it can first be determined whether the local end stores a target table entry corresponding to the message to be processed. If it is determined that the local end stores a target table entry corresponding to the message to be processed, it means that the local end is capable of executing the operation of sending a synchronization message about the target table entry to the opposite end, and then judge whether the SG port status of the opposite end is the target state. If the SG port status of the opposite end is the target state, the synchronization message about the target table entry is sent to the opposite end.

[0051] In one embodiment, the method also includes the following operations: if the local end does not store the target table entry corresponding to the message to be processed, or if the local end stores the target table entry and the SG port status of the other end is not the target state, then the message to be processed is sent according to the cross-device link aggregation transmission rules.

[0052] Among them, if the local end does not store the target table entry corresponding to the message to be processed, the message to be processed can be sent according to the cross-device link aggregation transmission rule, which can be sent to the downstream device. The cross-device link aggregation transmission rule can be a preset transmission rule in the cross-device link aggregation networking system. For example, it can be sent to the device members of a single loop in the cross-device link aggregation networking system, rather than to the device members of a dual loop in the local cross-device link aggregation networking system.

[0053] If the target table entry is stored on this end and the SG port status of the opposite end is not the target state, it means that the communication link of the gateway device on the opposite end fails. The target table entry corresponding to the message to be processed is not necessarily stored in the network device on the opposite end. The network device on this end receives the message to be processed, which is also normal message forwarding in the cross-device link aggregation networking system. Therefore, the message to be processed can also be sent according to the cross-device link aggregation transmission rules.

[0054] In one embodiment, the method further comprises the following operations:

[0055] When the SG port status of the local end changes, the changed SG port status is sent to the remote end;

[0056] Upon receiving the SG port status sent by the opposite end, storing the SG port status sent by the opposite end into the SG status information;

[0057] Accordingly, the operation of determining the SG port status of the opposite end may be implemented in the following manner:

[0058] The latest SG port state in the SG state information is determined and determined as the SG port state of the opposite end.

[0059] The gateway device can continuously monitor the status of its own SG port. When it detects a change in the local SG port status, it can send the changed SG port status to the peer device. For example, if the local SG port status was originally "up" and then a communication link failure occurred, causing the SG port status to "down", the changed SG port status "down" can be sent to the peer gateway device.

[0060] Correspondingly, if the gateway device at this end receives the SG port status sent from the other end, it means that the SG port status of the gateway device at the other end has changed. The SG port status sent by the other end can be stored, which can be stored in the SG status information of this end. The SG status information stores the historical SG port status of the gateway device at the other end. When the gateway device at this end needs to determine the SG port status of the other end, it can determine the SG port status of the other end at this time based on the latest SG port status in the SG status information.

[0061] In one embodiment, the operation of determining the SG port status of the opposite end may be implemented as follows:

[0062] Send a status query message to the peer end and receive the SG port status returned by the peer end.

[0063] Among them, the local gateway device can not only passively receive the SG port status sent by the peer end, but also actively query the peer end's SG port status to avoid the loss of the SG port status message sent by the peer end after the last SG port status change, resulting in the local gateway device not receiving the latest SG port status of the peer end. This can be done by sending a status query message to the peer end, and after receiving the status query message, the peer end can return the current SG port status to the local end.

[0064] In one embodiment, the operation of sending the synchronization message about the target entry to the peer end may be implemented as follows:

[0065] Sending a synchronization message about the target entry to the opposite end, and if receiving a to-be-processed message corresponding to the target entry transmitted by the opposite end, sending a synchronization message about the target entry to the opposite end again according to a preset synchronization rule.

[0066] After sending a synchronization message regarding the target entry to the peer end, if the peer end is in a normal state, it will add the target entry according to the synchronization message. However, if the peer end is in a busy state, the peer end will not be able to add the corresponding target entry according to the synchronization message. At this time, there are still pending messages corresponding to the target entry in the peer end that cannot be sent out by the peer end. The peer end will continue to send pending messages corresponding to the target entry to the local end. Therefore, after sending a synchronization message regarding the target entry to the peer end, if the local end receives a pending message corresponding to the target entry transmitted by the peer end, it means that the peer end has not successfully added the target entry, and the local end needs to send a synchronization message regarding the target entry to the peer end again.

[0067] To avoid increasing the CPU busyness of the peer end, a synchronization message regarding the target entry may be sent to the peer end again after a certain period of time. The synchronization message regarding the target entry may be sent to the peer end again according to a preset synchronization rule, which may be pre-set and may include a sending time interval and / or a sending number of times.

[0068] In one embodiment, Figure 4 As shown, the method further includes the following operations:

[0069] S301. Upon receiving an ARP reply message, determining whether the local end has sent an ARP request corresponding to the ARP reply message, and determining whether the local end has stored an ARP entry corresponding to the ARP reply message;

[0070] S302: Send a synchronization message corresponding to the ARP reply message to the peer end based on whether the local end has sent an ARP request and / or whether the local end has stored an ARP entry corresponding to the ARP reply message.

[0071] An ARP reply message is a response message returned in response to an ARP request. It includes the ARP table entry corresponding to the ARP request. For example, if a gateway device receives data from an uplink interface with an access device whose IP address is the first address, but the gateway device does not have a corresponding ARP / ND table entry stored locally, the gateway device can trigger an ARP / NS request.

[0072] The ARP reply message may be a Layer 3 message received by the gateway device from the uplink interface, where the destination device is the access device. For example, Figure 1 As shown, the gateway device 100a may receive an ARP reply message from the A link. The ARP reply message may also be received from the access device, for example, Figure 1 As shown, the gateway device 100a may receive an ARP reply message from the A2 link.

[0073] By determining whether the local end has sent an ARP request corresponding to the ARP reply message, it is possible to determine whether the received ARP reply message corresponds to the gateway device on the other end, and further determine whether to perform a synchronization operation corresponding to the ARP reply message on the other end. At the same time, since the local gateway device can also perform corresponding operations based on the ARP reply message, the type of operation corresponding to the ARP reply message performed on the local end will be different depending on whether the local end has already stored an ARP table entry corresponding to the ARP reply message.

[0074] It can then be determined whether the local end has sent an ARP request corresponding to the ARP reply message, and whether the local end has stored an ARP table entry corresponding to the ARP reply message. Based on whether the local end has sent an ARP request and / or whether the local end has stored an ARP table entry corresponding to the ARP reply message, a synchronization message corresponding to the ARP reply message is sent to the remote end.

[0075] For example, if the local gateway device stores an ARP / ND table entry and the local end has not initiated an ARP / NS request, but the local end receives an ARP reply message for the gateway address from the access device, it can be said that the remote device does not have an ARP / ND table entry and the ARP / NS request was initiated by the remote end. Therefore, after receiving the ARP reply message, the local end can initiate a synchronization message regarding the ARP / ND table entry to the remote device. If the ARP / NA reply message replied by the access device is directly sent to the remote gateway device that issued the ARP / NS request, the remote gateway device can directly generate MAC table entries and ARP / ND table entries normally based on the ARP / NA reply message.

[0076] In one embodiment, the operation of sending a synchronization message corresponding to the ARP reply message to the peer end based on whether the local end has sent an ARP request and / or whether the local end has stored an ARP table entry corresponding to the ARP reply message may be implemented as follows:

[0077] If the local end does not have an ARP table entry corresponding to the ARP reply message, adding an ARP table entry on the local end according to the ARP reply message, and sending a synchronization message corresponding to the ARP reply message to the remote end;

[0078] If the local end has sent an ARP request corresponding to the ARP reply message, and the local end has stored an ARP table entry corresponding to the ARP reply message, then update the ARP table entry of the local end according to the ARP reply message;

[0079] If the local end has not sent an ARP request corresponding to the ARP reply message, and the local end has stored an ARP entry corresponding to the ARP reply message, then a synchronization message corresponding to the ARP reply message is sent to the opposite end.

[0080] Among them, if the local end does not have an ARP table entry corresponding to the ARP reply message, no matter whether the ARP request is sent by the local end or the remote end, the local end can add an ARP table entry on the local end according to the ARP reply message, and can also send a synchronization message corresponding to the ARP reply message to the remote end.

[0081] However, if the local end stores an ARP table entry corresponding to the ARP reply message, and the local end has sent an ARP request corresponding to the ARP reply message, and the ARP reply message of the local end directly corresponds to the ARP request sent by the local end, the ARP request sent by the local end is used to trigger the keep-alive message before the ARP / ND table entry ages, and the ARP / ND table entry aging time is updated normally, then the ARP table entry of the local end can be updated according to the ARP reply message.

[0082] If the local end stores an ARP table entry corresponding to the ARP reply message, and the local end has not sent an ARP request corresponding to the ARP reply message, it means that the ARP request was issued by the peer device, but since the local end also stores an ARP table entry corresponding to the ARP reply message, it means that the peer device may have experienced data loss during the previous synchronization process, and the peer device has not stored the corresponding ARP table entry. At this time, the local gateway device can send a synchronization message corresponding to the ARP reply message to the peer device based on the ARP reply message.

[0083] It should be noted that, in fact, when the opposite end initiates an ARP / NS request, it will also send a copy to the local gateway device through the peerlink link. If the local gateway device sends a synchronization message about the ARP table entry to the opposite end according to the ARP / NS request, and at the same time the ARP / NA response message is also replied to the opposite end device, this will cause the local state and the synchronization state of the opposite end table entry to overlap, adding an additional processing flow. The embodiment of the present application can avoid the above-mentioned overlapping problem and can timely update the synchronization of the ARP table entries between the two gateway devices by sending a synchronization message corresponding to the ARP reply message to the opposite end when receiving the ARP reply message, based on whether the local end has sent an ARP request and / or whether the local end has stored the ARP table entry corresponding to the ARP reply message.

[0084] In one embodiment, the gateway device provided by the embodiment of the present application includes a configuration module, a port module, a database module, a message transceiver module, a message processing module and an MC-LAG system module that are interconnected.

[0085] The configuration module is used to send supplemental synchronization messages for newly added entries. If the peer's CPU is busy for a long time, frequent synchronization messages will actually increase its burden. The configuration module allows the user to manually configure the supplemental synchronization interval and synchronization times, and establishes a preset synchronization rule. When the peer is busy, the preset synchronization rule can be used to send synchronization messages for the target entry to the peer again.

[0086] When the SG port status changes, the port module quickly notifies the MC-LAG system module to modify the SG port status carried in its keepalive message, so that the remote end can correctly record the local SG port status based on the received keepalive message.

[0087] For normal keepalive messages, the MC-LAG system module can also dynamically obtain the SG port status from the port module. If the status is incorrect due to the loss of messages reported by the port module, it can be corrected in subsequent keepalive messages.

[0088] The database module is used to record the SG port status of the other end obtained from the keepalive message into the SG status information of the local end, and determine whether a supplementary synchronization operation is required based on the SG port status of the other end in the SG status information as a judgment condition.

[0089] The message transceiver module is used to implement the sending and receiving of keepalive messages in the cross-device link aggregation networking system. The keepalive message adds a field for the SG port status of the local end.

[0090] The CPU handles the transmission and reception of protocol messages. When filling in the SG port status field, it is filled in based on the status last reported by the port module. Active querying is also possible to avoid data loss after the SG port status changes, which could lead to status errors. When the port module actively reports the changed SG port status, it should immediately trigger the transmission of a keepalive message carrying the changed SG port status field to the peer end.

[0091] In addition, the message transceiver module may also include identification of messages received from the peerlink link, and whether it is a known unicast or an unknown unicast, the MC-LAG system module should be notified for judgment.

[0092] In addition, the message transceiver module can also include message identification received from the MC-LAG link. When an ARP / NA response is received, the MC-LAG system module needs to be notified to determine whether an ARP / NS request has been sent before.

[0093] The message processing module is used to record the peer SG port status field according to the received keepalive message. The peer SG port status field should provide a query method and be visible to the user.

[0094] As the leading module of the entire gateway device, the MC-LAG system module is used to complete all necessary information collection and make corresponding decisions.

[0095] See also Figure 5 , Figure 5 This is a schematic block diagram of the structure of a gateway device provided in an embodiment of the present application. The gateway device may be a switch or a router.

[0096] See Figure 5 The gateway device 100 includes a processor 110 and a memory 120 connected via a system bus, wherein the memory 120 may include a non-volatile storage medium and an internal memory.

[0097] The non-volatile storage medium can store an operating system and a computer program. The computer program includes program instructions, and when the program instructions are executed, the processor can execute any one of the table entry synchronization methods.

[0098] The processor is used to provide computing and control capabilities to support the operation of the entire gateway device.

[0099] The internal memory provides an environment for the operation of the computer program in the non-volatile storage medium. When the computer program is executed by the processor, the processor can execute any one of the table entry synchronization methods.

[0100] Those skilled in the art will understand that Figure 5 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the gateway device to which the solution of the present application is applied. The specific gateway device may include more or fewer components than shown in the figure, or combine certain components, or have a different component arrangement.

[0101] It should be understood that the processor may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or any conventional processor, etc.

[0102] In one embodiment, the processor is configured to execute a computer program stored in the memory to implement the following steps:

[0103] Upon receiving a message to be processed transmitted from the opposite end, determining a target table entry corresponding to the message to be processed stored in the local end, and determining the SG port status of the opposite end;

[0104] According to the target entry stored in the local end and the SG port status of the opposite end, a synchronization message regarding the target entry is sent to the opposite end.

[0105] In one embodiment, when implementing the sending of the synchronization message regarding the target entry to the peer end based on the target entry stored in the local end and the SG port status of the peer end, the processor is configured to implement:

[0106] If the local end stores the target entry and the SG port state of the opposite end is the target state, a synchronization message about the target entry is sent to the opposite end, where the target state indicates that the communication link corresponding to the SG port is normal.

[0107] In one embodiment, the processor is further configured to implement:

[0108] When the SG port status of the local end changes, the changed SG port status is sent to the remote end;

[0109] Upon receiving the SG port status sent by the opposite end, storing the SG port status sent by the opposite end into the SG status information;

[0110] When implementing the determining of the SG port status of the opposite end, the processor is configured to implement:

[0111] The latest SG port state in the SG state information is determined and determined as the SG port state of the opposite end.

[0112] In one embodiment, when implementing the determining of the SG port status of the opposite end, the processor is configured to implement:

[0113] Send a status query message to the peer end and receive the SG port status returned by the peer end.

[0114] In one embodiment, the processor, when implementing the sending of the synchronization message about the target entry to the peer end, includes:

[0115] Sending a synchronization message about the target entry to the opposite end;

[0116] If a to-be-processed message corresponding to the target entry is received from the opposite end, a synchronization message regarding the target entry is sent to the opposite end again according to a preset synchronization rule.

[0117] In one embodiment, the preset synchronization rule includes a sending time interval and / or a sending number of times.

[0118] In one embodiment, the processor is further configured to implement:

[0119] If the local end does not store the target table entry corresponding to the to-be-processed message, or if the local end stores the target table entry and the SG port state of the opposite end is not the target state, the to-be-processed message is sent according to the cross-device link aggregation transmission rule.

[0120] In one embodiment, the processor is further configured to implement:

[0121] Upon receiving an ARP reply message, determining whether the local end has sent an ARP request corresponding to the ARP reply message, and determining whether the local end has stored an ARP entry corresponding to the ARP reply message;

[0122] Send a synchronization message corresponding to the ARP reply message to the opposite end according to whether the local end has sent an ARP request and / or whether the local end has stored an ARP table entry corresponding to the ARP reply message.

[0123] In one embodiment, when implementing the step of sending a synchronization message corresponding to the ARP reply message to the peer end based on whether the local end has sent an ARP request and / or whether the local end has stored an ARP table entry corresponding to the ARP reply message, the processor is configured to implement:

[0124] If the local end does not have an ARP table entry corresponding to the ARP reply message, adding an ARP table entry on the local end according to the ARP reply message, and sending a synchronization message corresponding to the ARP reply message to the remote end;

[0125] If the local end has sent an ARP request corresponding to the ARP reply message, and the local end has stored an ARP table entry corresponding to the ARP reply message, then update the ARP table entry of the local end according to the ARP reply message;

[0126] If the local end has not sent an ARP request corresponding to the ARP reply message, and the local end has stored an ARP entry corresponding to the ARP reply message, then a synchronization message corresponding to the ARP reply message is sent to the opposite end.

[0127] An embodiment of the present application further provides a networking system, which includes two gateway modules. The gateway modules are used to implement any one of the table entry synchronization methods provided in the embodiments of the present application.

[0128] An embodiment of the present application further provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, wherein the computer program includes program instructions, and the processor executes the program instructions to implement any one of the table entry synchronization methods provided in the embodiments of the present application.

[0129] The computer-readable storage medium may be an internal storage unit of the gateway device described in the aforementioned embodiment, such as a hard disk or memory of the gateway device. The computer-readable storage medium may also be an external storage device of the gateway device, such as a plug-in hard disk, a smart memory card (SMC), a secure digital (SD) card, a flash card, etc., equipped on the gateway device.

[0130] The above description is merely a specific embodiment of the present application, but the scope of protection of the present application is not limited thereto. Any person skilled in the art can easily conceive of various equivalent modifications or substitutions within the technical scope disclosed in the present application, and such modifications or substitutions should be included in the scope of protection of the present application. Therefore, the scope of protection of the present application should be based on the scope of protection of the claims.

Claims

1. A table entry synchronization method, characterized in that: Applied to any gateway device in a cross-device link aggregation networking system, the method includes: Upon receiving a message to be processed transmitted from the opposite end, determining a target table entry corresponding to the message to be processed stored in the local end, and determining the SG port status of the opposite end; According to the target table entry stored in the local end and the SG port status of the opposite end, a synchronization message about the target table entry is sent to the opposite end. If the target table entry is stored in the local end and the SG port status of the opposite end is the target state, a synchronization message about the target table entry is sent to the opposite end. The target state is used to indicate that the communication link corresponding to the SG port is normal.

2. The table entry synchronization method according to claim 1, characterized in that: The method further comprises: When the SG port status of the local end changes, the changed SG port status is sent to the remote end; Upon receiving the SG port status sent by the opposite end, storing the SG port status sent by the opposite end into the SG status information; The determining of the SG port status of the opposite end includes: The latest SG port state in the SG state information is determined and determined as the SG port state of the opposite end.

3. The table entry synchronization method according to claim 1, characterized in that: The determining of the SG port status of the opposite end includes: Send a status query message to the peer end and receive the SG port status returned by the peer end.

4. The table entry synchronization method according to claim 1, characterized in that: The sending a synchronization message about the target entry to the opposite end includes: Sending a synchronization message about the target entry to the opposite end; If a to-be-processed message corresponding to the target entry is received from the opposite end, a synchronization message regarding the target entry is sent to the opposite end again according to a preset synchronization rule.

5. The table entry synchronization method according to claim 4, characterized in that: The preset synchronization rule includes a sending time interval and / or a sending number of times.

6. The table entry synchronization method according to claim 1, characterized in that: The method further comprises: If the local end does not store the target table entry corresponding to the to-be-processed message, or if the local end stores the target table entry and the SG port state of the opposite end is not the target state, the to-be-processed message is sent according to the cross-device link aggregation transmission rule.

7. The table entry synchronization method according to any one of claims 1 to 6, characterized in that: The method further comprises: Upon receiving an ARP reply message, determining whether the local end has sent an ARP request corresponding to the ARP reply message, and determining whether the local end has stored an ARP entry corresponding to the ARP reply message; Send a synchronization message corresponding to the ARP reply message to the opposite end according to whether the local end has sent an ARP request and / or whether the local end has stored an ARP table entry corresponding to the ARP reply message.

8. The table entry synchronization method according to claim 7, characterized in that: The sending a synchronization message corresponding to the ARP reply message to the opposite end according to whether the local end has sent an ARP request and / or whether the local end has stored an ARP table entry corresponding to the ARP reply message includes: If the local end does not have an ARP table entry corresponding to the ARP reply message, adding an ARP table entry on the local end according to the ARP reply message, and sending a synchronization message corresponding to the ARP reply message to the remote end; If the local end has sent an ARP request corresponding to the ARP reply message, and the local end has stored an ARP table entry corresponding to the ARP reply message, then update the ARP table entry of the local end according to the ARP reply message; If the local end has not sent an ARP request corresponding to the ARP reply message, and the local end has stored an ARP entry corresponding to the ARP reply message, then a synchronization message corresponding to the ARP reply message is sent to the opposite end.

9. A gateway device, characterized in that: The gateway device includes a memory and a processor; The memory is used to store computer programs; The processor is configured to execute the computer program and implement the entry synchronization method according to any one of claims 1 to 8 when executing the computer program.

10. A networking system, characterized in that: The networking system includes two gateway modules, and the gateway modules are used to implement the table entry synchronization method according to any one of claims 1 to 8.

11. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the processor implements the table entry synchronization method according to any one of claims 1 to 8.

Citation Information

Patent Citations

  • Elegant restart method, equipment and system

    CN110351127A

  • MAC address synchronization for multi-homing with multichassis link aggregation

    US8787149B1