CN111490935B - Information synchronization method, forwarding unit and control unit in distributed architecture - Google Patents

Information synchronization method, forwarding unit and control unit in distributed architecture Download PDF

Info

Publication number
CN111490935B
CN111490935B CN202010247518.0A CN202010247518A CN111490935B CN 111490935 B CN111490935 B CN 111490935B CN 202010247518 A CN202010247518 A CN 202010247518A CN 111490935 B CN111490935 B CN 111490935B
Authority
CN
China
Prior art keywords
forwarding
control
message
list
forwarding unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010247518.0A
Other languages
Chinese (zh)
Other versions
CN111490935A (en
Inventor
杨逸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Security Technologies Co Ltd
Original Assignee
New H3C Security Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by New H3C Security Technologies Co Ltd filed Critical New H3C Security Technologies Co Ltd
Priority to CN202010247518.0A priority Critical patent/CN111490935B/en
Publication of CN111490935A publication Critical patent/CN111490935A/en
Application granted granted Critical
Publication of CN111490935B publication Critical patent/CN111490935B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/021Ensuring consistency of routing table updates, e.g. by using epoch numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • H04L45/245Link aggregation, e.g. trunking

Abstract

The invention provides an information synchronization method, a forwarding unit and a control unit in a distributed architecture, which are used for solving the technical problems that the forwarding unit cannot synchronously execute information issued by a main control unit to cause link oscillation and the like. The invention introduces a synchronous confirmation mechanism between the forwarding units, controls the time difference of the information sent by the control unit actually taking effect on each forwarding unit within an acceptable range, avoids link oscillation and improves service stability.

Description

Information synchronization method, forwarding unit and control unit in distributed architecture
Technical Field
The present invention relates to the field of communications, and in particular, to an information synchronization method, a forwarding unit, and a control unit in a distributed architecture.
Background
Under a distributed architecture, a main control board completes service control plane processing, such as route calculation, and issues related table entry information to a forwarding line card, where some table entry information is global and needs to be issued to multiple forwarding line cards of a device, such as issuing a route: the destination address X is masked by the mask Y and goes out of the interface Z, and the main control board needs to issue such a table entry to all forwarding line cards. For example, a Bidirectional Forwarding Detection (BFD) session is newly established on the aggregation port, the aggregation port has three member ports, which are respectively located on different Forwarding line cards, and the main control board at least needs to issue the BFD session information to the three Forwarding line cards.
The table entry or the model issued by the information may be extended to a wider distributed scenario, for example, a virtualization scenario in which multiple devices are virtualized into one device, for example, Intelligent Resilient Framework (IRF) stacking, clustering, and the like, and in these scenarios, the object issued by the global main control board may be located on different physical frames. In addition, a Software Defined Network (SDN) controller issues forwarding rules to the forwarding devices through a southbound interface, where the issued objects are located on different nodes in the actual Network topology. For such a scenario, the time difference of the transmitted information is relatively obvious for different object nodes.
For carrier-class devices, the requirement on forwarding performance is high, and hardware chips are mostly adopted to implement the forwarding function of main services. On a forwarding line card, there is usually both a forwarding chip and an embedded CPU chip. The CPU chip is responsible for receiving the routing information from the equipment main control board and converting the routing information into a format which can be identified by the forwarding chip and sending the format to the forwarding chip, and meanwhile, if the forwarding chip can not process routing protocol negotiation messages, the routing protocol negotiation messages are sent to the CPU chip of the forwarding line card for forwarding processing. The function of the whole CPU of the forwarding line card is divided into two planes: the control plane has the functions of mainly taking charge of the addition, deletion, modification and processing of the table items related to forwarding, and the function has heavier burden and large delay under the condition of large-size table items; the data plane is mainly responsible for forwarding messages sent on the forwarding chip, and as the main service processing is performed on the forwarding chip, the data plane of the CPU generally has light burden and small time delay.
The control unit (main control board or SDN controller) issues the table entries or rules to the forwarding units (forwarding line cards or SDN forwarding devices) to be processed in sequence. The actual execution on the forwarding and issuing units of the control unit is asynchronous. The forwarding unit may not execute the forwarding immediately after receiving the forwarding information. The busy degrees of the control planes on the CPUs of different forwarding units are different, the forwarding units which are idle on the CPU control planes can receive the issued information and immediately trigger corresponding task scheduling, and corresponding items or specifications are immediately added into a local forwarding information base of the forwarding units. For a line card with a busy CPU control plane, there may be many more priority tasks in front of the task of processing the issued information in queue for processing, and in this case, it may take a long time (100ms or even second level), and the information issued by the control unit can be really added to the local forwarding information base of the forwarding unit and become effective. This has the problem that the same message will take effect at different forwarding elements at different times, and for some traffic across forwarding elements, the effective time will depend on the last forwarding element that was in effect. Before that, the business processing corresponding to the information issued by the main control unit by each forwarding unit is inconsistent, and the inconsistency may cause errors in the business processing. For example, the outgoing interface of the route forwarding table entry is changed: when the destination address X mask Y output interface Z is changed to the destination address X mask Y output interface W, such a transient occurs in the process of sending a change message by the control unit: some forwarding units choose to forward the packets with the destination address X mask Y out of the output interface W, while other forwarding units still choose to forward the packets with the destination address X mask Y out of the output interface Z, which may result in service packet loss or short loops. Traffic that is sensitive to handover time even causes traffic oscillations.
Taking the BFD service as an example, it is assumed that device a and device B are linked by an aggregation link, which is a logical link formed by aggregating two physical links. A 10 x 3ms BFD session is then established based on this aggregated link to monitor the stability of the aggregated link. A and B respectively send a BFD detection message to the opposite terminal every 10ms, if the detection message of the opposite terminal is not received for 30ms continuously, the BFD session is considered to be down, and upper layer service carried on the aggregation link is informed to carry out rerouting. Because the same BFD session corresponds to one message sending timer, for the condition of a plurality of forwarding line cards of the session, one forwarding line card is selected to be responsible for starting the timer to send the BFD message, which is called a maintenance board. In some cases, for example, when a physical link under the aggregated link is changed, a new member link is added or withdrawn, and a maintenance board for sending a message by BFD may be triggered to be changed. Assuming that the maintenance board of the current BFD session on the device a is the line card 1, sending a detection message to the opposite terminal every 10ms, now that the physical link on the line card 1 fails, the aggregation link member only remains the link of the line card 2, and the maintenance board is switched to the line card 2. At this time, the main control of the device a sends a BFD session change notification to the line cards 1 and 2, the line card 1 deletes the session sending timer, and the line card 2 creates a new session sending timer. If the line card 1 is idle, the session sending timer is deleted immediately, but the line card 2 is busy, and the session sending timer is newly established after 50 ms. In this case, because the BFD detection packet is not sent to the device B at the opposite end within 50ms, the opposite end may misunderstand that the BFD session is disconnected, thereby causing link oscillation and further causing service instability.
Disclosure of Invention
In view of this, the present invention provides an information synchronization method, a forwarding unit and a control unit in a distributed architecture, which are used to solve the technical problem that the forwarding unit cannot synchronously execute information issued by a main control unit, which results in link oscillation.
Based on the embodiment of the invention, the invention provides an information synchronization method in a distributed architecture, which is applied to a forwarding unit in a distributed system, and the method comprises the following steps:
receiving a control message issued by a control unit, wherein the control message carries a unique control message identifier and a forwarding unit list, and the forwarding unit list comprises all forwarding unit identifiers needing to process the control message;
after the control plane of the control message is processed, recording the identifier of the forwarding unit in a local completion list, wherein the completion list is used for recording the identifier of the forwarding unit which completes the processing of the control plane of the control message;
generating a synchronization message and sending the synchronization message to other forwarding units in the forwarding unit list, wherein the synchronization message carries the control message identifier, the forwarding unit list and the completion list;
when receiving synchronous messages sent by other forwarding units, judging whether all forwarding units in the forwarding unit list complete the processing of the control plane corresponding to the control message identifier or not according to the control message identifier, the forwarding unit list and the completion list carried in the received synchronous messages, and if so, locally completing the processing of the data plane of the control message.
Further, the method for determining whether all forwarding units in the forwarding unit list have completed processing of the control plane corresponding to the control message identifier is:
merging the completion list carried in the synchronization message with a local completion list, and if the merged completion list is the same as the forwarding unit list, determining that all forwarding units have completed processing of the control plane corresponding to the control message identifier; and if the merged completion list is different from the forwarding unit list, locally recording the merged completion list.
Further, when a plurality of control messages are received, after the control plane processing of the plurality of control messages is completed, the synchronization messages sent to the same forwarding unit are packed in one synchronization message to be sent;
the synchronous message carries synchronous blocks corresponding to a plurality of control messages, and each synchronous block carries a control message identifier, a forwarding unit list and a completion list corresponding to different control messages;
when receiving a synchronization message carrying a plurality of synchronization blocks, respectively judging whether all forwarding units in the forwarding unit list complete the processing of the control plane corresponding to the control message identifier according to the control message identifier, the forwarding unit list and the completion list in the synchronization block.
Further, the method further comprises:
encrypting the synchronous message and adding a check code;
after receiving the synchronous message, decrypting and verifying the synchronous message;
the control message sent by the control unit is a multicast or broadcast message.
Based on the embodiment of the present invention, the present invention further provides a forwarding unit in a distributed architecture, where the forwarding unit includes: the system comprises a processor, a forwarding chip, a memory and an internal bus;
the forwarding chip is used for performing data forwarding according to the forwarding table item issued by the processor and transmitting the protocol message to the processor;
the processor is used for receiving the control message sent by the control unit through the forwarding chip, and after the control plane of the control message is processed, the processor sends a synchronous message to other forwarding units receiving the same control message;
the control message carries a unique control message identifier and a forwarding unit list, wherein the forwarding unit list comprises all forwarding unit identifiers needing to process the control message; the synchronous message carries the control message identifier, the forwarding unit list and the completion list;
and the processor is further configured to, when receiving a synchronization message sent by another forwarding unit, determine, according to a control message identifier and a forwarding unit identifier carried in the received synchronization message, whether all forwarding units in the forwarding unit list have completed processing of a control plane corresponding to the control message identifier, and if yes, locally complete processing of a data plane of the control message.
Further, after receiving the synchronization message, the processor merges a completion list carried in the synchronization message with a local completion list, and if the merged completion list is the same as the forwarding unit list, it is determined that all forwarding units have completed processing of the control plane corresponding to the control message identifier; and if the merged completion list is not the same as the forwarding unit list, recording the merged completion list in a memory.
Further, after receiving a plurality of control messages and completing the processing of the control planes of the plurality of control messages, the processor packs the synchronization messages sent to the same forwarding unit in one synchronization message for sending; the synchronous message carries synchronous blocks corresponding to a plurality of control messages, and each synchronous block carries a control message identifier, a forwarding unit list and a completion list corresponding to different control messages;
when the processor receives a synchronous message carrying a plurality of synchronous blocks, whether all the forwarding units in the forwarding unit list complete the processing of the control plane corresponding to the control message identifier or not is respectively judged according to the control message identifier, the forwarding unit list and the completion list in the synchronous blocks.
Further, the processor is further configured to encrypt the synchronization message and add a check code; after receiving the synchronous message, decrypting and verifying the synchronous message; the control message sent by the control unit is a multicast or broadcast message.
Based on the embodiment of the present invention, the present invention further provides an information synchronization method in a distributed architecture, where the method is applied to a control unit in a distributed system, and the method includes: when the same control message needs to be sent to a plurality of forwarding units, forwarding unit identifications of the plurality of forwarding units are formed into a forwarding unit list and carried in the control message to be sent to the plurality of forwarding units together.
Based on the embodiment of the present invention, a control unit in a distributed architecture includes: the processor reads instruction codes from the memory to realize that: when the same control message needs to be sent to a plurality of forwarding units, the forwarding unit identifications of the forwarding units are formed into a forwarding unit list, carried in the control message and sent to the forwarding units together.
It can be seen from the above technical solutions that, in the embodiments of the present invention, a synchronization confirmation mechanism is introduced between the forwarding units, and the time difference that the information sent by the control unit actually takes effect on each forwarding unit is controlled within an acceptable range, thereby avoiding link oscillation and improving service stability.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments of the present invention or the prior art will be briefly described below, it is obvious that the drawings in the following description are only some embodiments described in the present invention, and for those skilled in the art, other drawings may be obtained according to the drawings of the embodiments of the present invention.
Fig. 1 is a flowchart of an information synchronization method in a distributed architecture according to an embodiment of the present invention;
fig. 2 is a schematic diagram of a hardware structure of a forwarding unit according to an embodiment of the present invention.
Detailed Description
The terminology used in the embodiments of the invention is for the purpose of describing particular embodiments only and is not intended to be limiting of the embodiments of the invention. As used in the examples and claims of the present invention, the singular forms "a", "an", and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. The term "and/or" as used herein is meant to encompass any and all possible combinations of one or more of the associated listed items.
It should be understood that although the terms first, second, third, etc. may be used to describe various information in embodiments of the present invention, the information should not be limited by these terms. These terms are only used to distinguish one type of information from another. For example, the first information may also be referred to as second information, and similarly, the second information may also be referred to as first information, without departing from the scope of embodiments of the present invention. Depending on the context, moreover, the word "if" as used may be interpreted as "at … …" or "when … …" or "in response to a determination".
By analyzing the process of the control unit issuing the control message and the forwarding unit processing the control message in the control plane and the data plane in the distributed architecture, the inventor finds that the main cause of link oscillation and service instability is caused by asynchronous time of taking the control message into effect in the data plane by each forwarding unit, and in order to solve the technical problem, as shown in fig. 1, the invention provides an information synchronization method in the distributed architecture, the method is applied to the forwarding units in the distributed system, and the method comprises the following steps:
step 101, receiving a control message issued by a control unit, wherein the control message carries a unique control message identifier and a forwarding unit list, and the forwarding unit list includes all forwarding unit identifiers which need to process the control message.
When a control unit in a distributed system needs to send the same control message to a plurality of forwarding units, forwarding unit identifications of the plurality of forwarding units receiving the control message form a forwarding unit list, the forwarding unit list is carried in the control message, and the control message is sent to the plurality of forwarding units needing to receive the control message.
And 102, after the control plane of the control message is processed, recording the identifier of the forwarding unit in a local completion list, wherein the completion list is used for recording the identifier of the forwarding unit which completes the processing of the control plane of the control message.
The flow of the forwarding unit processing the control message issued by the control unit can be divided into two parts, namely control plane processing and data plane processing. The preparation work of the items (such as forwarding items, flow tables and the like) corresponding to the issued control information is completed in the processing step of the control plane, and the items corresponding to the control information are enabled in the processing step of the data plane, so that the items really take effect on the forwarding unit.
And 103, generating a synchronous message and sending the synchronous message to other forwarding units in the forwarding unit list, wherein the synchronous message carries the control message identifier, the forwarding unit list and the completion list.
And 104, receiving the synchronous messages sent by other forwarding units.
And 105, judging whether all forwarding units in the forwarding unit list complete the processing of the control plane corresponding to the control message identifier or not according to the control message identifier, the forwarding unit list and the completion list carried in the received synchronous message.
In order to achieve the purpose of enabling all forwarding units receiving the specified control message to synchronously take effect on corresponding table entries as much as possible, each forwarding unit can judge whether all forwarding units finish the processing of the control plane through the synchronous message, and the forwarding units can perform the processing step of the data plane only after judging that all forwarding units in the forwarding unit list finish the processing step of the control plane according to the control message identification carried by the synchronous message, the forwarding unit list and the completion list, which are carried by the forwarding units receiving the synchronous message, so that the table entries really take effect on the forwarding units.
And 106, if all the forwarding units in the forwarding unit list are judged to finish the processing of the control plane corresponding to the control message identifier, finishing the processing of the data plane of the control message locally.
If it is determined that the forwarding unit does not complete the processing of the control plane corresponding to the control message identifier in the forwarding unit list, the forwarding unit does not perform the processing to wait for other incomplete forwarding units to complete the processing of the control plane.
In an embodiment of the present invention, the method for determining whether all forwarding units in the forwarding unit list have completed processing of the control plane corresponding to the control message identifier includes:
merging a completion list carried in the synchronization message with a local completion list, namely merging the completion list in the synchronization message with the local completion list, and if the merged completion list is the same as the forwarding unit list, namely the merged completion list contains forwarding unit identifiers in all the forwarding unit lists, determining that all the forwarding units complete the processing of the control plane corresponding to the control message identifier; and if the merged completion list is different from the forwarding unit list, locally recording the merged completion list.
In another embodiment of the present invention, if a certain forwarding unit receives multiple control messages, after the control plane processing of the multiple control messages is completed, if a synchronization message needs to be sent to another forwarding unit at the same time, the synchronization message sent to the same forwarding unit is packaged in one synchronization message for sending. The synchronous messages sent by packaging carry synchronous blocks corresponding to a plurality of control messages, and each synchronous block carries a control message identifier, a forwarding unit list and a completion list;
after the forwarding units receive the synchronization message, if the received synchronization message is judged to include a plurality of synchronization blocks, respectively judging whether all forwarding units in the corresponding forwarding unit list have completed processing of the control plane corresponding to the control message identifier according to the control message identifier in the synchronization blocks.
In an embodiment of the present invention, the control message sent by the control unit is sent in a multicast or broadcast message manner, and the forwarding unit may send the synchronization message to other forwarding units in a multicast or broadcast message manner.
In an embodiment of the present invention, before sending the synchronization message, the forwarding unit further includes a step of adding a check code and/or performing encryption processing. Correspondingly, the forwarding unit receiving the synchronization message further includes a process of decrypting and/or verifying the synchronization message after receiving the synchronization message.
The following description is made in connection with a BFD service example, where the forwarding line card 1 (forwarding unit 1) and the forwarding line card 2 (forwarding unit 2) on the device a each have a physical link to add an aggregation link, a BFD session exists on the aggregation link, and the forwarding line card 1 is a BFD session maintenance board and is responsible for sending BFD messages at regular time; the physical link fault on the current forwarding line card 1 is reported to the main control board (control unit), and the BFD session maintenance board is changed from the forwarding line card 1 to the forwarding line card 2 after being processed by the main control board: when the master control re-issues the control message for switching the BFD return call maintenance board, generating a unique message ID assumed as M, wherein the list of forwarding units is {1,2}, and 1 and 2 are respectively the identifiers of a forwarding line card 1 and a forwarding line card 2;
after receiving the control message M, the forwarding line card 1 completes processing of control planes such as table item update (the board is changed from a maintenance board to a non-maintenance board), at this time, the BFD packet sending timer of the forwarding line card 1 is not deleted temporarily, the forwarding line card 1 generates a synchronization message, which carries the control message ID M, a forwarding unit list {1,2} and a completion list {1}, 1,2 in the forwarding unit list represents the forwarding line card 1 and the forwarding line card 2, 1 in the completion list represents that the forwarding line card 1 has completed processing of the control planes, and the forwarding line card 1 sends the synchronization message to the forwarding line card 2 and locally records the completion list {1 }.
After receiving the control message M, the forwarding line card 2 also completes processing of control planes such as table item update (the board is changed from a non-maintenance board to a maintenance board), and then creates a packet sending timer, but the packet sending identifier is not set at first; the forwarding line card 2 generates a synchronization message, wherein the synchronization message carries a control message ID M, a forwarding unit list {1,2} and a completion list {2}, wherein 1,2 in the forwarding unit list represents the forwarding line card 1 and the forwarding line card 2, and 2 in the completion list represents that the forwarding line card 2 has completed processing of a control plane (it is assumed here that the forwarding line card 2 has not received the synchronization message of the forwarding line card 1), and then sends the synchronization message to the forwarding line card 1 and locally records the completion list {2 };
after receiving the synchronous message of the forwarding line card 2, the forwarding line card 1 searches a forwarding unit list and a completion list corresponding to the control message ID locally according to the control message ID in the synchronous message, and merges the completion list {2} in the synchronous message with the local completion list {1} to obtain {1,2 }.
And after receiving the synchronous message of the forwarding line card 1, the forwarding line card 2 follows the same processing steps, judges whether all forwarding units finish the processing of the control plane according to the merged finishing list, and if all forwarding units finish the processing of the control plane, the forwarding line card 2 immediately processes the data plane, even if the packet sending identifier of the BFD session table entry can be used, the BFD call-back packet sending is started to be taken over.
Through the processing steps, the same message sent by the control unit is simultaneously effective on all the forwarding units through mutual transmission of the synchronous messages among the forwarding line cards, and the service stability of the system is improved.
Based on the foregoing embodiment of the present invention, an embodiment of the present invention further provides a forwarding unit in a distributed architecture, and as shown in fig. 2, the forwarding unit 200 includes: a processor 201 such as a Central Processing Unit (CPU), an internal bus 202, a memory 203, a forwarding chip 204. The processor 201, the forwarding chip 204 and the memory 203 may communicate with each other through the internal bus 202. The memory 203 may store executable instructions to implement the information synchronization method in the distributed architecture provided by the present invention.
A forwarding chip 204, configured to perform data forwarding according to a forwarding table item issued by the processor 201, and send a protocol packet to the processor 201;
the processor 201 is configured to receive a control message issued by a control unit through the forwarding chip 204, and after completing processing of a control plane of the control message, send a synchronization message to other forwarding units that receive the same control message; the control message carries a unique control message identifier and a forwarding unit list, wherein the forwarding unit list comprises all forwarding unit identifiers needing to process the control message; the synchronous message carries the control message identifier, the forwarding unit list and the completion list; the completion list is used to record forwarding unit identifications for which processing of the control plane of the control message has been completed.
The processor 201 is further configured to, when receiving a synchronization message sent by another forwarding unit, determine, according to a control message identifier, a forwarding unit list, and a completion list carried in the received synchronization message, whether all forwarding units in the forwarding unit list have completed processing of a control plane corresponding to the control message identifier, and if yes, locally complete processing of a data plane of the control message.
After receiving the synchronization message, the processor 201 merges the completion list carried in the synchronization message with the local completion list, and if the merged completion list is the same as the forwarding unit list, it is determined that all the forwarding units have completed processing of the control plane corresponding to the control message identifier; if the merged completion list is not the same as the forwarding unit list, the merged completion list is recorded in the memory 203. If the processor 201 determines that there are more forwarding units that do not complete control plane processing, it continues to wait.
In an embodiment of the present invention, after receiving a plurality of control messages and completing the processing of the control planes of the plurality of control messages, the processor 201 packages the synchronization messages sent to the same forwarding unit into one synchronization message and sends the synchronization message; the synchronization message carries synchronization blocks corresponding to a plurality of control messages, and each synchronization block carries a control message identifier, a forwarding unit list and a completion list corresponding to different control messages.
When receiving a synchronization message carrying multiple synchronization blocks, the processor 201 determines, according to a control message identifier, a forwarding unit list, and a completion list in the synchronization block, whether all forwarding units in the forwarding unit list have completed processing of a control plane corresponding to the control message identifier.
An embodiment of the present invention further provides a control unit in a distributed architecture, where the control unit includes: the processor reads instruction codes from the memory to realize that: when the same control message needs to be sent to a plurality of forwarding units, forwarding unit identifications of the plurality of forwarding units are formed into a forwarding unit list and carried in the control message to be sent to the plurality of forwarding units together.
The above description is only an example of the present invention, and is not intended to limit the present invention. Various modifications and alterations to this invention will become apparent to those skilled in the art. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present invention should be included in the scope of the claims of the present invention.

Claims (10)

1. An information synchronization method in a distributed architecture, the method being applied to a forwarding unit in a distributed system, the method comprising:
receiving a control message issued by a control unit, wherein the control message carries a unique control message identifier and a forwarding unit list, and the forwarding unit list comprises all forwarding unit identifiers needing to process the control message;
after the control plane of the control message is processed, recording the identifier of the forwarding unit in a local completion list, wherein the completion list is used for recording the identifier of the forwarding unit which completes the processing of the control plane of the control message;
generating a synchronization message and sending the synchronization message to other forwarding units in the forwarding unit list, wherein the synchronization message carries the control message identifier, the forwarding unit list and the completion list;
when receiving synchronous messages sent by other forwarding units, judging whether all forwarding units in the forwarding unit list complete the processing of the control plane corresponding to the control message identifier or not according to the control message identifier, the forwarding unit list and the completion list carried in the received synchronous messages, and if so, locally completing the processing of the data plane of the control message.
2. The method according to claim 1, wherein the method for determining whether all forwarding units in the forwarding unit list have completed processing of the control plane corresponding to the control message identifier is:
merging the completion list carried in the synchronization message with a local completion list, and if the merged completion list is the same as the forwarding unit list, determining that all forwarding units have completed processing of the control plane corresponding to the control message identifier; and if the merged completion list is different from the forwarding unit list, locally recording the merged completion list.
3. The method of claim 2, wherein when a plurality of control messages are received, after the control plane processing of the plurality of control messages is completed, the synchronization messages sent to the same forwarding unit are packed in one synchronization message and sent;
the synchronous message carries synchronous blocks corresponding to a plurality of control messages, and each synchronous block carries a control message identifier, a forwarding unit list and a completion list corresponding to different control messages;
when receiving a synchronization message carrying a plurality of synchronization blocks, respectively judging whether all forwarding units in the forwarding unit list complete the processing of the control plane corresponding to the control message identifier according to the control message identifier, the forwarding unit list and the completion list in the synchronization block.
4. The method of claim 3, further comprising:
encrypting the synchronous message and adding a check code;
after receiving the synchronous message, decrypting and verifying the synchronous message;
the control message sent by the control unit is a multicast or broadcast message.
5. A method for synchronizing information in a distributed architecture is applied to a control unit in a distributed system, and the method comprises the following steps:
when the same control message needs to be sent to a plurality of forwarding units, forwarding unit identifications of the plurality of forwarding units are formed into a forwarding unit list and carried in the control message and sent to the plurality of forwarding units together, so that the forwarding units execute the method according to claim 1.
6. A forwarding unit in a distributed architecture, the forwarding unit comprising: the system comprises a processor, a forwarding chip, a memory and an internal bus;
the forwarding chip is used for performing data forwarding according to the forwarding table item issued by the processor and transmitting the protocol message to the processor;
the processor is used for receiving the control message issued by the control unit through the forwarding chip, recording the identification of the forwarding unit in a local completion list after the control plane of the control message is processed, and sending a synchronization message to other forwarding units receiving the same control message; the completion list is used for recording forwarding unit identifiers of control plane processing of the control messages;
the control message carries a unique control message identifier and a forwarding unit list, wherein the forwarding unit list comprises all forwarding unit identifiers needing to process the control message; the synchronous message carries the control message identifier, the forwarding unit list and the completion list;
and the processor is further configured to, when receiving a synchronization message sent by another forwarding unit, determine, according to a control message identifier and a forwarding unit identifier carried in the received synchronization message, whether all forwarding units in the forwarding unit list have completed processing of a control plane corresponding to the control message identifier, and if yes, locally complete processing of a data plane of the control message.
7. The forwarding unit of claim 6,
after receiving the synchronization message, the processor merges a completion list carried in the synchronization message with a local completion list, and if the merged completion list is the same as the forwarding unit list, it is determined that all forwarding units have completed processing of the control plane corresponding to the control message identifier; and if the merged completion list is not the same as the forwarding unit list, recording the merged completion list in a memory.
8. The forwarding unit of claim 7,
after the processor receives a plurality of control messages and completes the processing of the control planes of the control messages, the processor packs the synchronous messages sent to the same forwarding unit into one synchronous message to send; the synchronous message carries synchronous blocks corresponding to a plurality of control messages, and each synchronous block carries a control message identifier, a forwarding unit list and a completion list corresponding to different control messages;
when the processor receives a synchronous message carrying a plurality of synchronous blocks, whether all the forwarding units in the forwarding unit list complete the processing of the control plane corresponding to the control message identifier or not is respectively judged according to the control message identifier, the forwarding unit list and the completion list in the synchronous blocks.
9. The forwarding unit of claim 8,
the processor is further used for encrypting the synchronous message and adding a check code; after receiving the synchronous message, decrypting and verifying the synchronous message;
the control message issued by the control unit is a multicast or broadcast message.
10. A control unit in a distributed architecture, the control unit comprising: the processor reads instruction codes from the memory to realize that:
when the same control message needs to be sent to a plurality of forwarding units, forwarding unit identifications of the plurality of forwarding units are formed into a forwarding unit list and carried in the control message and sent to the plurality of forwarding units together, so that the forwarding units execute the method according to claim 1.
CN202010247518.0A 2020-03-31 2020-03-31 Information synchronization method, forwarding unit and control unit in distributed architecture Active CN111490935B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010247518.0A CN111490935B (en) 2020-03-31 2020-03-31 Information synchronization method, forwarding unit and control unit in distributed architecture

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010247518.0A CN111490935B (en) 2020-03-31 2020-03-31 Information synchronization method, forwarding unit and control unit in distributed architecture

Publications (2)

Publication Number Publication Date
CN111490935A CN111490935A (en) 2020-08-04
CN111490935B true CN111490935B (en) 2022-05-27

Family

ID=71812548

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010247518.0A Active CN111490935B (en) 2020-03-31 2020-03-31 Information synchronization method, forwarding unit and control unit in distributed architecture

Country Status (1)

Country Link
CN (1) CN111490935B (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101247663A (en) * 2008-03-07 2008-08-20 中兴通讯股份有限公司 Considerable routing system and its forwarding table generation method
CN101378338A (en) * 2008-09-24 2009-03-04 中兴通讯股份有限公司 Method and apparatus for implementing bidirectional transmit-receive detection
CN102937925A (en) * 2012-11-01 2013-02-20 中兴通讯股份有限公司 Distributed communication device software upgrading method and system
CN105119820A (en) * 2015-07-23 2015-12-02 中国人民解放军信息工程大学 Routing protocol multi-instance parallel execution system and parallel execution method thereof
CN105991301A (en) * 2015-03-13 2016-10-05 杭州迪普科技有限公司 Message synchronization method and device
CN107040472A (en) * 2017-03-07 2017-08-11 浙江工商大学 A kind of chain of command list item method synchronous with flow table and the forwarding of all kinds of forwarding-table items in SDN
US10536216B1 (en) * 2018-07-24 2020-01-14 Ciena Corporation Service synchronization in retain home path scenarios in a control plane network

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101247663A (en) * 2008-03-07 2008-08-20 中兴通讯股份有限公司 Considerable routing system and its forwarding table generation method
CN101378338A (en) * 2008-09-24 2009-03-04 中兴通讯股份有限公司 Method and apparatus for implementing bidirectional transmit-receive detection
CN102937925A (en) * 2012-11-01 2013-02-20 中兴通讯股份有限公司 Distributed communication device software upgrading method and system
CN105991301A (en) * 2015-03-13 2016-10-05 杭州迪普科技有限公司 Message synchronization method and device
CN105119820A (en) * 2015-07-23 2015-12-02 中国人民解放军信息工程大学 Routing protocol multi-instance parallel execution system and parallel execution method thereof
CN107040472A (en) * 2017-03-07 2017-08-11 浙江工商大学 A kind of chain of command list item method synchronous with flow table and the forwarding of all kinds of forwarding-table items in SDN
US10536216B1 (en) * 2018-07-24 2020-01-14 Ciena Corporation Service synchronization in retain home path scenarios in a control plane network

Also Published As

Publication number Publication date
CN111490935A (en) 2020-08-04

Similar Documents

Publication Publication Date Title
US7898943B2 (en) Method for switching route and network device thereof
US9385944B2 (en) Communication system, path switching method and communication device
CN106685903B (en) SDN-based data transmission method, SDN controller and SDN system
CN108306777B (en) SDN controller-based virtual gateway active/standby switching method and device
EP2961112B1 (en) Message forwarding system, method and device
EP3316555B1 (en) Mac address synchronization method, device and system
EP2725749A1 (en) Method, apparatus and system for processing service flow
CN111294291B (en) Protocol message processing method and device
WO2018108149A1 (en) Data-link switching method and apparatus and data-link switching device
CN104702438A (en) PE apparatus management method and device
EP3355533B1 (en) Path switching
EP3213441B1 (en) Redundancy for port extender chains
CN104580472A (en) Flow table item processing method and device
CN106453156A (en) Communication method and apparatus between virtual devices
CN111586505B (en) Method and device for realizing rapid recovery of main/standby switching service in PON access system
CN106911597A (en) A kind of board-spanning forwarding method and apparatus
CN110519079B (en) Data forwarding method and device, network board, network equipment and storage medium
CN111327527B (en) Flow forwarding method and system, SDN controller and computer readable storage medium
CN111490935B (en) Information synchronization method, forwarding unit and control unit in distributed architecture
KR101595160B1 (en) Methods for managing transaction in software defined networking network
CN106230717B (en) Route obtaining method and device in cluster system
US7596085B2 (en) Access network system and method of moving internal network relay devices
CN107566143B (en) Longitudinal stacking discovery method and device
CN111327524B (en) Flow forwarding method and system, SDN controller and computer readable storage medium
KR101952187B1 (en) Method and apparatus for processing service node ability, service classifier and service controller

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant