WO2020083271A1 - Aggregated link convergence method and apparatus, and storage medium - Google Patents

Aggregated link convergence method and apparatus, and storage medium Download PDF

Info

Publication number
WO2020083271A1
WO2020083271A1 PCT/CN2019/112476 CN2019112476W WO2020083271A1 WO 2020083271 A1 WO2020083271 A1 WO 2020083271A1 CN 2019112476 W CN2019112476 W CN 2019112476W WO 2020083271 A1 WO2020083271 A1 WO 2020083271A1
Authority
WO
WIPO (PCT)
Prior art keywords
member list
aggregation group
members
new member
local
Prior art date
Application number
PCT/CN2019/112476
Other languages
French (fr)
Chinese (zh)
Inventor
郭晓彬
Original Assignee
中兴通讯股份有限公司
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 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2020083271A1 publication Critical patent/WO2020083271A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/827Aggregation of resource allocation or reservation requests
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Definitions

  • the embodiments of the present disclosure relate to the field of communication technologies, and in particular, to an aggregated link convergence method, device, and storage medium.
  • the connection between switches is generally an aggregation link to achieve load sharing between outgoing and incoming traffic in each member port.
  • the states of the aggregation members are UP and DOWN.
  • LACP Link Aggregation Control Protocol
  • link failure whether it is UP or DOWN state, All need to quickly add this port to the aggregation group, so that the aggregated link can quickly participate in subsequent traffic load sharing.
  • the aggregation link fault processing or recovery processing strategy is that the protocol platform (protocol platform module) delivers the member list, but because the protocol platform module negotiates successfully between the two devices, it cannot guarantee that the member list is delivered simultaneously. In the delivery process, due to the different operating conditions or performance of each device, it will result in different time points for delivery to the underlying driver. In addition, if multiple links are negotiated at the same time (such as when the device is just started), each The time point when the link negotiation is successful is also different, so that the protocol platform module will repeatedly issue the updated member list, and when the link failure is restored, the convergence time is longer. In response to the aforementioned problems, in some cases, there has been a solution to drive the underlying fast cut.
  • the protocol platform module After detecting the port DOWN or UP on the project side (project module), it no longer waits for the protocol platform module to deliver the member list, but immediately modifies the member list, and then Send messages synchronously to other slots, and shield the protocol platform module's distribution member list. Although this can shorten the convergence time, the two devices completely control the members of the LACP aggregation group by the underlying UP and DOWN, and some upper-layer links are abnormal. The situation is still imperceptible and the reliability is not high.
  • the purpose of the embodiments of the present disclosure is to provide an aggregated link convergence method, device, and storage medium to solve the problems of long convergence time and low reliability of the aggregated link in some cases.
  • an aggregated link convergence method includes: performing fast-cut processing on aggregated group members according to port status; acquiring a new member list, and the new member list reacts The change of members of the aggregation group is determined; according to the change of members of the aggregation group, it is determined whether to immediately process the local member list according to the new member list.
  • an aggregated link convergence device including a memory, a processor, and a computer program stored on the memory and executable on the processor, the computer program is When executed by the processor, the steps of the method according to the first aspect are implemented.
  • a storage medium wherein the storage medium stores one or more programs, and the one or more programs may be executed by one or more processors to implement Steps as described in the first aspect.
  • Embodiment 1 is a flowchart of an aggregated link convergence method provided by Embodiment 1 of the present disclosure
  • Embodiment 2 is a flowchart of an aggregated link convergence method provided by Embodiment 2 of the present disclosure
  • step S103 is a flowchart of step S103 in Embodiment 2 of the present disclosure.
  • FIG. 4 is a schematic diagram of load balancing when a link failure of an aggregation port is recovered in scenario 1 of Embodiment 2 of the present disclosure
  • FIG. 5 is a schematic diagram of load balancing when an aggregation port link fails in scenario 1 of Embodiment 2 of the present disclosure
  • FIG. 6 is a schematic structural diagram of a module of a processor for an aggregated link convergence device according to Embodiment 3 of the present disclosure
  • FIG. 7 is a schematic diagram of the module structure of the project module in the third embodiment of the present disclosure.
  • Embodiment 1 of the present disclosure provides a method for converging aggregated links. Please refer to FIG. 1.
  • the method flow includes: Step A. Perform fast-cut processing on the members of the aggregation group according to the port status; Step B. Obtain a new member list.
  • the list reflects the changes of the members of the aggregation group; Step C. According to the changes of the members of the aggregation group, determine whether to immediately process the local member list according to the new member list.
  • step C determine whether to immediately process the local member list according to the new member list, including: if the aggregation group member decreases, immediately refresh the Local member list; if the membership of the aggregation group does not decrease, after waiting for a preset time, compare the new member list with the local member list, and update the local member list when the two are inconsistent.
  • the new member list in step B carries a serial number
  • the new member list reflects the change of members of the aggregation group through the sequence number
  • step C is determined according to the change of members of the aggregation group Whether to immediately process the local member list according to the new member list, including: comparing the serial number with the last saved serial number; judging whether the aggregation group member decreases according to the comparison result; if the aggregation group member decreases, Immediately refresh the local member list according to the new member list; if the aggregation group members have not decreased, wait for a preset time, compare the new member list with the local member list, and update the local member list when the two are inconsistent .
  • the new member list reflects the change of the aggregation group members through the sequence number, including: when the aggregation group member increases, the new member list carries the same sequence number as the previous serial number when it was delivered; Or when the members of the aggregation group decrease, the sequence number carried by the new member list is not the same as the sequence number carried by the previous delivery.
  • the new member list may also carry preset numeric values, character strings, or symbols indicating changes of members of the aggregation group.
  • the new member list carries a value of 1, and when the preset aggregation group member decreases, the new member list carries a value of 0.
  • the value 1 or 0 can also be replaced with a character string or symbol. It can be set according to the actual situation.
  • the aggregation link convergence method of the embodiment of the present disclosure still obtains the new member list when performing fast-cut processing. Since the new member list can reflect the changes of the aggregation group members, it is possible to directly determine whether the aggregation group members change The local member list is processed, so that the consistency of the local member list and the new member list can be ensured, and the problem of long convergence time caused by repeated processing due to receiving the repeatedly issued new member list is avoided.
  • Embodiment 2 of the present disclosure provides an aggregation link convergence method. Please refer to FIG. 2.
  • the method includes: step S101.
  • the fast cut function When the fast cut function is enabled, the project module performs fast cut processing on the aggregation group members according to the port status; step S102 1.
  • a new member list issued by the protocol platform module is received, and the new member list carries a serial number, and the serial number reflects the change of members of the aggregation group;
  • Step S103 according to the serial number, determine whether to immediately compare the local member list with the new member list Be processed.
  • step S101 includes: determining the status of the aggregation group member ports; if the status is DOWN, immediately remove the port from the LACP aggregation group; if the status is UP, immediately add the port to the LACP aggregation group.
  • the quick cut function of the project module refers to the underlying fast cut of the drive.
  • the project module After the quick cut function is turned on, when the aggregation link fails or is restored, the project module immediately cuts the aggregation group members according to the port status, including Update the member list (if the port status is UP, immediately join the aggregation group members, if the port status is DOWN, immediately remove the port from the aggregation group), send messages to other slots (or devices), etc.
  • the member list is the member list of the aggregation group, which stores all member information of the aggregation group.
  • the status of the aggregation group member ports can be detected in real time through a timer, and it is detected that the aggregation group member has failed or is recovered.
  • the protocol platform module will deliver the serial number to the project module when it sends a new member list according to the active or inactive state.
  • step S103 includes: step S201, comparing the sequence number with the last saved sequence number; step S202, judging whether the aggregation group member is reduced according to the comparison result, if yes , Execute step S203, otherwise execute step S204; step S203, immediately refresh the local member list according to the new member list; step S204, wait for a preset time, compare the new member list with the local member list, and then When inconsistent, update the local member list.
  • judging whether the aggregation group member has decreased according to the comparison result includes: if the serial number is different from the last saved serial number, it is judged that the aggregation group member has decreased.
  • the method further includes: recording the time stamp when the protocol platform delivers the new member list.
  • the new member list delivered by the protocol platform can be time-stamped, and the local member list will be updated after a preset time (such as 5s) (At this time, the member list needs to be compared, and if they are the same, there is no need to update). Doing so can ensure that the member status in the local member list is ultimately consistent with the member status of the protocol platform module. If the project module receives the new member list delivered by the protocol platform module within 5s, this will overwrite the new member list received last time and timestamp the new member list received this time, Wait for 5s to update.
  • a preset time such as 5s
  • the method further includes: saving the serial number.
  • the method further includes: when the aggregation group member increases, the protocol platform module delivers the new member list to the project module, and the sequence number carried in the new member list is carried with the previous delivery The serial number of is the same; or when the number of members of the aggregation group decreases, the protocol platform module delivers the new item of the table to the project group.
  • the serial number carried by the new member list is not the same as the serial number carried in the previous delivery .
  • the new member list also carries information about the member ports of the aggregation group that are currently activated.
  • the protocol platform module can deliver the port of the latest active member of the upper-layer aggregation group every time instead of delivering the add and delete operations.
  • the aggregation link convergence method of this embodiment can be applied to the aggregation link according to the following principles:
  • the delivery process in some cases can be used to converge. In this case, the serial number can be ignored.
  • the project module triggers the driver to update immediately by judging the change of the serial number of the updated member list.
  • the protocol platform module maintains the serial number of each aggregation group separately, and the aggregation groups do not interfere with each other.
  • the project module confirms that the serial number has changed and needs to update the local member list, if the quick cut has been processed, the local member list will not be refreshed again. For example, you can further determine the status of the bottom ports of these members. If the bottom port is DOWN, it will not be updated.
  • Scenario 1 The processing of ordinary link UP and DOWN
  • two devices A and B have 4 links 1, 2, 3, and 4.
  • the protocol platform module After the link is up, the protocol platform module first sends the update of member 1 to the project module of the two devices. At this time, the new member list it sends contains the information of member 1, using the serial number n (default starts from 0), When the updates of members 1, 2, or 1, 2, 3, or 1, 2, 3, and 4 are delivered, the sequence number n is still used, that is, when the active member increases, the sequence number remains unchanged at n.
  • the project module receives the new member list issued by the Western Medicine Platform module and finds that the serial number it carries has not changed (that is, the serial number carried each time is the same as the previous one), and it needs to wait 5s before updating the local member list. Thereby avoiding frequent intermediate state updates.
  • the protocol platform module removes the INACTIVE member 4, and issues a new member list (including member information of 1, 2, 3), and the sequence number becomes n + 1.
  • the project module judges that the serial number n + 1 is different from the previously stored serial number n, and immediately updates the local member list.
  • the protocol platform module When the 4 link is restored, the protocol platform module again issues a new member list (including member information of 1, 2, 3, and 4), with the sequence number being n + 1. If the subsequent 3 links are down, the protocol platform module will send the member information of 1, 2, and 4 with the sequence number n + 2.
  • the principle of the serial number of the protocol platform module can be that the serial number remains unchanged when the active member is added, and the serial number is increased by 1 when the INACTIVE member is removed.
  • Scenario 2 handling when a line card or device restarts
  • slot 1 has 2 ports (1 and 2)
  • slot 2 has 2 ports (3 and 4)
  • slot 3 does not.
  • the protocol platform module and the project module member list of each slot record 4 members After all 4 ports are up, the protocol platform module and the project module member list of each slot record 4 members. At this time, the serial number is n.
  • the protocol platform module will first send the member information of 3 and 4 to the project module of each slot, the serial number is n + 1.
  • the project module in each slot receives the delivered member information, confirms that the serial number carried in this delivery is different from the previous one, and needs to be updated immediately. Compare the local member list with the member information. If they are consistent, there is no need to update. Then update and record the latest serial number of the aggregation group as n + 1.
  • the port in slot 1 After the port in slot 1 is up, its project module performs fast cut, adds ports 1 and 2 to the local list, and sends messages to other slots for fast cut synchronization.
  • the protocol platform module will send 1, 2, 3 or 1, 2, 3, 4 member information to the project module of each slot, the serial number is still n + 1. Since this serial number is the same as the local record of the project module in each slot, each project module does not need to update the local list immediately, but it needs to add a time stamp to the member information delivered by the protocol platform module this time, after 5s , Update the bottom layer (you need to compare the member list at this time, if there is no need to update).
  • slot 1 has 2 ports (1 and 2)
  • slot 2 has 2 ports (3 and 4)
  • slot 3 has no ports.
  • the project module in slot 1 is fast cut and sends a message to slots 2 and 3.
  • the project module in slot 1 receives the new member list (including member 1 or member 1, 2 member information) issued by the protocol platform module. Due to the restart, the serial number starts from 0.
  • the bottom layer local member list
  • the local serial number is 0, consistent with the local, there is no need to update immediately, you need to add a timestamp to this entry, after 5s, update the bottom layer (in this case, you need to compare the entries, if they are consistent, you do not need to update).
  • slot 2 After slot 2 is started, there are two cases: if slot 2 can receive the fast-cut update message from slot 1, add an entry, and when the protocol platform module of aggregation group 1 updates and issues a new member list, There are entries in the bottom layer of slot 2, and the serial number is 0, which is consistent with the local. Wait for a preset time before processing; if the 2 slot is activated, the fast cut update message from slot 1 is not received (slot 1 When the bit is sent, the task of slot 2 may not have been started), because the project module of slot 2 does not contain the entries of members 1 and 2 at this time, the protocol platform module of aggregation group 1 needs to be updated to issue a new member list. At this time, the serial number of the local record aggregation group 1 in slot 2 is 0.
  • the protocol platform module After the 3 and 4 port UP is cut quickly, the protocol platform module will issue new entries.
  • the 2 slot project module already has entries.
  • the serial number is 0, which is the same as the local one. It does not need to be updated immediately. It waits for a preset time before processing.
  • aggregation group 1 has 4 ports, and slot 1 has 4 ports (1, 2, 3, 4), slot 2 does not, and slot 3 does not.
  • the protocol platform module and the project module record 4 members.
  • the serial number is n.
  • the protocol platform module will send null to all slots, the serial number is n + 1. Receiving this message in other slots needs to be updated immediately (in this case, the table entries need to be compared, and if they are consistent, no update is required).
  • the platform module After slot 1 is restarted, when the port is not up, the platform module will deliver a new member list of aggregation group 1, the sequence number is n + 1, and each slot project module will deliver and record the sequence number of the new member list as n + 1.
  • the platform module After the port in slot 1 is up, its project module performs quick cut, adding ports 1, 2, 3, and 4 as aggregation group 1, and sends a message to other slots (devices) for quick cut synchronization.
  • the platform module issues a new member list (member information includes 1, 2, or 1, 2, 3, or 1, 2, 3, and 4) to slots 1, 2, and 3.
  • the serial number is still n + 1. This serial number and each The slots are recorded locally, so there is no need to update them immediately, but you need to add a timestamp to this entry. After 5s, update the bottom layer (in this case, you need to compare the entries, if they are consistent, you do not need to update).
  • aggregation group 1 has 4 ports, and slot 1 has 4 ports (1, 2, 3, 4), slot 2 does not, slot 3 does not, and the whole machine restarts. After restarting, no platform of aggregation group 1 will be delivered before the port is up.
  • slot 2 After slot 2 is started, there are two cases: if you can receive the fast-cut update message from slot 1 (add members 1, 2, 3, 4), add entries and the protocol platform module of group 1 to be aggregated
  • the local entry already exists, and the serial number is 0, which is consistent with the local one, and there is no need to update immediately; if there is no quick cut update message sent from slot 1 (slot 1 sends the update message) At this time, the task of slot 2 may not be started yet).
  • the protocol platform module of the aggregation group 1 is updated to deliver the new member list, because there is no entry at the bottom of the slot 2 at this time, it needs to be delivered, and the local record aggregation group 1 The serial number is 0.
  • the project module After the port in slot 1 is up, the project module will cut quickly and send a message to slots 2 and 3. If the subsequent protocol platform module fails to negotiate for these four links, that is, the status of these four links on the protocol platform module has always been INACTIVE, so the protocol platform module will not issue any updates.
  • the most recent entry of the aggregation group 1 recorded by the project module is the default initial entry, which is an empty entry.
  • the empty entry is time stamped first. If the protocol platform module is within 5s Without any delivery of aggregation group 1, after 5s, you need to update the empty entry to the driver. At this time, the bottom entry will also be changed to null, which is consistent with the status of the protocol platform module. If within 5s, the platform module has delivered the aggregation group 1, then continue processing according to the method of Example 4.
  • the 5S update can also set the update time as needed.
  • the aggregation link convergence method of the embodiment of the present disclosure receives the list of new members issued by the protocol platform when the project module enables the fast-cut function, the new member carries a serial number, and the change of the aggregation group members is reflected by the serial number. Therefore, the project module can directly determine whether to process the local member list according to the serial number. Therefore, when performing fast switching, it can ensure the consistency of the local member list and the member list of the protocol platform, and also avoid repeated distribution due to the protocol platform module. When the message is reported, the project module repeatedly handles the problem of long convergence time.
  • Embodiment 3 of the present disclosure provides an aggregated link convergence device including a memory, a processor, and stored on the memory and operable on the processor
  • the computer program when executed by the processor, implements the steps of the method as described in the first embodiment or the second embodiment.
  • the processor includes a project module 501 and a protocol platform module 502.
  • the project module 501 is used to execute the calculation program to realize the following steps: when the fast cut function is turned on, perform fast cut processing on the aggregation group members according to the port status; receive a new member list issued by the protocol platform module, and the new member list Carry a serial number, which reflects the change of members of the aggregation group; according to the serial number, determine whether to immediately process the local member list according to the new member list.
  • the project module 501 when the project module 501 performs the step of “determining whether to process the local member list according to the new member list according to the serial number”, it is also used to: compare the serial number with the last saved sequence Compare the numbers; judge whether the aggregation group members are reduced according to the comparison result; if yes, immediately refresh the local member list according to the new member list; otherwise, after waiting for a preset time, compare the new member list with the local member list And update the local member list when the two are inconsistent.
  • the project module 501 executes the step of "determining whether the aggregation group member is reduced according to the comparison result", it is also used when the serial number is different from the last saved serial number, Judge that the aggregation group has decreased.
  • the project module 501 is also used to perform the following steps: when the new member list delivered by the protocol platform is received again within the preset time, the new member list received this time is overwritten the last time Receive the new member list and record the timestamp of the current reception, and update the local list after waiting for the preset time.
  • the project module 501 is also used to perform the following steps: record the time stamp when the protocol platform issues the new member list.
  • the project module 501 after receiving the new member list issued by the protocol platform module, the project module 501 is also used to perform the following steps: save the serial number carried in the new member list.
  • the protocol platform module 501 may further include the following units: member list storage unit 601, member list time stamp and serial number storage unit 602, flow unit 603, link detection unit 604, fault Processing unit 605.
  • the member list unit 601 is used to store an aggregate group member list.
  • the member list of the aggregation group is used to store the information of all members of the aggregation group. You can create an aggregation group, add several members to the group, and save a copy of all members corresponding to the aggregation group through a linked list as a storage module, for example, Figure 3, aggregation There are 4 links in the link, and the aggregation group member list stores 4 aggregation group members.
  • the member list timestamp and serial number storage unit 602 is used to store the timestamp recorded when an item is published under the platform and the serial number carried to the project module.
  • the traffic forwarding unit 603 is used to forward traffic according to the aggregation group member list. For example, in Figure 4, when the status of the aggregation group member becomes DOWN, the traffic of other ports remains unchanged, and the DOWN members are removed from the storage module. The traffic module will simultaneously hash (hash) the traffic of the DOWN port state to other members; For example, in Figure 3, when the status of the LACP member port becomes UP, the port is added to the LACP aggregation group, so that the traffic is hashed to the port.
  • the link detection unit 604 is used to detect the physical state of the aggregate member ports between network devices. That is, the UP state and the DOWN state of the port are detected. For example, in FIG. 3, when the link detection unit 604 detects the state of the port DOWN, it notifies the member list unit 601 to remove the port from the LACP aggregation group, and the traffic passing through the member port It will be re-hashed to other members. When the link detection unit 604 detects that the port status is UP, it notifies the member list unit 601 to add the changed port to the LACP group, and re-hash to get traffic on the port.
  • the fault processing unit 605 is configured to quickly switch the aggregation group member immediately when the link detection unit 604 finds that the port is faulty or recovers.
  • the protocol platform module 502 is used to execute the computer program to realize the following steps: obtain the activation status of the aggregation group members; when the aggregation group members increase, the protocol platform module delivers the new member list to the project module, the The sequence number carried in the new member list is the same as the sequence number carried in the previous delivery; or when the members of the aggregation group decrease, the protocol platform module delivers the new item of the table to the project group, the sequence carried by the new member list The number is different from the serial number carried in the previous delivery.
  • the new member list also carries information about the member ports of the aggregation group that are currently activated.
  • the aggregation link convergence device of this embodiment still receives the list of new members issued by the protocol platform when the project module enables the fast-cut function.
  • the new member carries the serial number, and the change of the aggregation group member is reflected by the serial number, so
  • the project module can directly determine whether to process the local member list according to the serial number, so when performing fast switching, it can ensure the consistency of the local member list and the protocol platform's member list, and also avoid repeated message delivery due to the protocol platform module At this time, the problem of long convergence time caused by repeated processing of the project module.
  • Embodiment 4 of the present disclosure provides a storage medium including a stored program, and when the program is running, the device on which the storage medium is located is controlled to execute as described in Embodiment 1 or Embodiment 2. Operation.
  • Such software may be distributed on computer-readable media, which may include computer storage media (or non-transitory media) and communication media (or transitory media).
  • computer storage medium includes both volatile and nonvolatile implemented in any method or technology for storing information such as computer readable instructions, data structures, program modules, or other data Sex, removable and non-removable media.
  • Computer storage media include but are not limited to RAM, ROM, EEPROM, flash memory or other memory technologies, CD-ROM, digital versatile disk (DVD) or other optical disk storage, magnetic cartridges, magnetic tape, magnetic disk storage or other magnetic storage devices, or may Any other medium for storing desired information and accessible by a computer.
  • the communication medium generally contains computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transmission mechanism, and may include any information delivery medium .
  • the consistency of the local member list and the member list of the protocol platform can be ensured, and the problem of long convergence time caused by repeated processing by the project module when the protocol platform module repeatedly sends messages is avoided.
  • An aggregated link convergence method, device, and storage medium still obtain a new member list when performing fast-cut processing. Since the new member list can reflect changes in members of the aggregation group, the aggregation group The change of members directly determines whether to process the local member list, so that the consistency of the local member list and the new member list can be ensured, and the convergence time caused by repeated processing due to the repeated receipt of the new member list is avoided. Long question.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

The embodiments of the present invention relate to the technical field of communications. Disclosed are an aggregated link convergence method and apparatus, and a storage medium. The method comprises: performing quick switching on members of an aggregation group according to a port state; obtaining a list of new members, wherein the list of new members reflects changes in the members of the aggregation group; and determining, according to the changes in the members of the aggregation group, whether to immediately process a list of local members on the basis of the list of new members.

Description

一种聚合链路收敛方法、装置及存储介质Aggregated link convergence method, device and storage medium
本公开要求享有2018年10月22日提交的名称为“一种聚合链路收敛方法、装置及存储介质”的中国专利申请CN201811231251.5的优先权,其全部内容通过引用并入本文中。This disclosure claims the priority of the Chinese patent application CN201811231251.5 entitled "A Convergent Link Convergence Method, Device, and Storage Medium" filed on October 22, 2018, the entire contents of which are incorporated herein by reference.
技术领域Technical field
本公开实施例涉及通讯技术领域,尤其涉及一种聚合链路收敛方法、装置及存储介质。The embodiments of the present disclosure relate to the field of communication technologies, and in particular, to an aggregated link convergence method, device, and storage medium.
背景技术Background technique
随着计算机及网络技术的高速发展和各种网络应用的不断涌现,基础数据通信网络的稳定性越来越重要。为了增加带宽,实现链路传输弹性和冗余等功能,交换机之间的连线一般是聚合链路,以实现出、入流量在各个成员口中的负载分担,聚合成员的状态有UP和DOWN状态,端口由DOWN到UP的状态,称为LACP((Link Aggregation Control Protocol,链路汇聚控制协议))恢复状态,端口由UP到DOWN的状态称为链路故障,无论是UP还是DOWN的状态,都需要快速将本端口加入聚合组中,使该聚合链路可以很快参与后续的流量负载分担。With the rapid development of computer and network technology and the continuous emergence of various network applications, the stability of basic data communication networks is becoming more and more important. In order to increase bandwidth and achieve link transmission resilience and redundancy, the connection between switches is generally an aggregation link to achieve load sharing between outgoing and incoming traffic in each member port. The states of the aggregation members are UP and DOWN. , The state of the port from DOWN to UP is called LACP ((Link Aggregation Control Protocol)) recovery state, the state of the port from UP to DOWN is called link failure, whether it is UP or DOWN state, All need to quickly add this port to the aggregation group, so that the aggregated link can quickly participate in subsequent traffic load sharing.
在一些情况下的聚合链路故障处理或者是恢复处理策略是协议平台(协议平台模块)下发成员列表,但是因为协议平台模块在两台设备间协商成功后,无法保证同时下发成员列表,而在下发的过程中,由于每台设备的运行情况或性能等不同,会导致下发到底层驱动的时间点不同,另外,如果多条链路同时协商(比如设备刚启动时),每条链路协商成功的时间点也是不一样的,这样协议平台模块就会反复下发更新成员列表,在链路故障恢复时,收敛时间较长。针对前述问题,在一些情况下又出现了驱动底层快切的方案,项目侧(项目模块)检测端口DOWN或UP后,不再等待协议平台模块下发成员列表,而是立即修改成员列表,然后发消息同步给其他槽位,并屏蔽协议平台模块的下发成员列表,这样虽然能缩短收敛时间,但是两台设备完全靠底层的UP DOWN来控制LACP聚合组的成员,有些上层链路异常的情况还是无法感知,可靠性不高。In some cases, the aggregation link fault processing or recovery processing strategy is that the protocol platform (protocol platform module) delivers the member list, but because the protocol platform module negotiates successfully between the two devices, it cannot guarantee that the member list is delivered simultaneously. In the delivery process, due to the different operating conditions or performance of each device, it will result in different time points for delivery to the underlying driver. In addition, if multiple links are negotiated at the same time (such as when the device is just started), each The time point when the link negotiation is successful is also different, so that the protocol platform module will repeatedly issue the updated member list, and when the link failure is restored, the convergence time is longer. In response to the aforementioned problems, in some cases, there has been a solution to drive the underlying fast cut. After detecting the port DOWN or UP on the project side (project module), it no longer waits for the protocol platform module to deliver the member list, but immediately modifies the member list, and then Send messages synchronously to other slots, and shield the protocol platform module's distribution member list. Although this can shorten the convergence time, the two devices completely control the members of the LACP aggregation group by the underlying UP and DOWN, and some upper-layer links are abnormal. The situation is still imperceptible and the reliability is not high.
发明内容Summary of the invention
有鉴于此,本公开实施例的目的在于提供一种聚合链路收敛方法、装置及存储介质,以解决在一些情况下聚合链路收敛时间长、可靠性不高的问题。In view of this, the purpose of the embodiments of the present disclosure is to provide an aggregated link convergence method, device, and storage medium to solve the problems of long convergence time and low reliability of the aggregated link in some cases.
本公开实施例解决上述技术问题所采用的技术方案如下:The technical solutions adopted by the embodiments of the present disclosure to solve the above technical problems are as follows:
根据本发明本公开实施例的第一个方面,提供一种聚合链路收敛方法,所述方法包括:根据端口状态对聚合组成员进行快切处理;获取新成员列表,所述新成员列表反应了聚合组成员的变化情况;根据所述聚合组成员的变化情况确定是否立即根据所述新成员列表对本地成员列表进行处理。According to a first aspect of the embodiments of the present disclosure, an aggregated link convergence method is provided. The method includes: performing fast-cut processing on aggregated group members according to port status; acquiring a new member list, and the new member list reacts The change of members of the aggregation group is determined; according to the change of members of the aggregation group, it is determined whether to immediately process the local member list according to the new member list.
根据本公开实施例的第二个方面,提供一种聚合链路收敛装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如第一方面所述方法的步骤。According to a second aspect of the embodiments of the present disclosure, there is provided an aggregated link convergence device, including a memory, a processor, and a computer program stored on the memory and executable on the processor, the computer program is When executed by the processor, the steps of the method according to the first aspect are implemented.
根据本公开实施例的第三个方面,提供一种存储介质,其中,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如第一方面所述的步骤。According to a third aspect of the embodiments of the present disclosure, there is provided a storage medium, wherein the storage medium stores one or more programs, and the one or more programs may be executed by one or more processors to implement Steps as described in the first aspect.
附图说明BRIEF DESCRIPTION
图1为本公开实施例一提供的一种聚合链路收敛方法的流程图;1 is a flowchart of an aggregated link convergence method provided by Embodiment 1 of the present disclosure;
图2为本公开实施例二提供的一种聚合链路收敛方法的流程图;2 is a flowchart of an aggregated link convergence method provided by Embodiment 2 of the present disclosure;
图3为本公开实施例二中步骤S103的流程图;3 is a flowchart of step S103 in Embodiment 2 of the present disclosure;
图4为本公开实施例二的场景一中聚合口链路故障恢复时的负载均衡的示意图;4 is a schematic diagram of load balancing when a link failure of an aggregation port is recovered in scenario 1 of Embodiment 2 of the present disclosure;
图5为本公开实施例二的场景一中聚合口链路故障时的负载均衡的示意图;FIG. 5 is a schematic diagram of load balancing when an aggregation port link fails in scenario 1 of Embodiment 2 of the present disclosure;
图6为本公开实施例三提供的一种聚合链路收敛装置的处理器的模块结构示意图;6 is a schematic structural diagram of a module of a processor for an aggregated link convergence device according to Embodiment 3 of the present disclosure;
图7本公开实施例三中项目模块的模块结构示意图。FIG. 7 is a schematic diagram of the module structure of the project module in the third embodiment of the present disclosure.
本公开实施例目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。The implementation, functional characteristics and advantages of the embodiments of the present disclosure will be further described in conjunction with the embodiments and with reference to the drawings.
具体实施方式detailed description
为了使本公开实施例所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本公开实施例进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本公开实施例,并不用于限定本公开实施例。In order to make the technical problems, technical solutions, and beneficial effects to be solved by the embodiments of the present disclosure clearer and clearer, the embodiments of the present disclosure will be further described in detail below in conjunction with the drawings and the embodiments. It should be understood that the specific embodiments described herein are only used to explain the embodiments of the present disclosure, and are not intended to limit the embodiments of the present disclosure.
本公开实施例一提供了一种聚合链路收敛方法,请参阅图1,方法流程包括:步骤A、根据端口状态对聚合组成员进行快切处理;步骤B、获取新成员列表,该新成员列表反应了聚合组成员的变化情况;步骤C、根据该聚合组成员的变化情况确定是否立即根据该新成员列表对本地成员列表进行处理。Embodiment 1 of the present disclosure provides a method for converging aggregated links. Please refer to FIG. 1. The method flow includes: Step A. Perform fast-cut processing on the members of the aggregation group according to the port status; Step B. Obtain a new member list. The list reflects the changes of the members of the aggregation group; Step C. According to the changes of the members of the aggregation group, determine whether to immediately process the local member list according to the new member list.
在一个可行的实例中,步骤C、根据该聚合组成员的变化情况确定是否立即根据该新成员列表对本地成员列表进行处理,包括:若该聚合组成员减少,立即根据该新成员列表刷新该本地成员列表;若该聚合组成员未减少,等待预设时间后,将该新成员列表与本地成员列表进行对比,并在两者不一致时,更新该本地成员列表。In a feasible example, step C, according to the change of the aggregation group member, determine whether to immediately process the local member list according to the new member list, including: if the aggregation group member decreases, immediately refresh the Local member list; if the membership of the aggregation group does not decrease, after waiting for a preset time, compare the new member list with the local member list, and update the local member list when the two are inconsistent.
在一个可行的实例中,步骤B中的新成员列表新成员列表携带序列号,该新成员列表通过该序列号反应该聚合组成员的变化情况,则步骤C根据该聚合组成员的变化情况确定是否立即根据该新成员列表对本地成员列表进行处理,包括:将该序列号与上一次保存的序列号进行比对;根据比对结果判断该聚合组成员是否减少;若该聚合组成员减少,立即根据该新成员列表刷新该本地成员列表;若该聚合组成员没有减少,等待预设时间后,将该新成员列表与本地成员列表进行对比,并在两者不一致时,更新该本地成员列表。In a feasible example, the new member list in step B. The new member list carries a serial number, and the new member list reflects the change of members of the aggregation group through the sequence number, and step C is determined according to the change of members of the aggregation group Whether to immediately process the local member list according to the new member list, including: comparing the serial number with the last saved serial number; judging whether the aggregation group member decreases according to the comparison result; if the aggregation group member decreases, Immediately refresh the local member list according to the new member list; if the aggregation group members have not decreased, wait for a preset time, compare the new member list with the local member list, and update the local member list when the two are inconsistent .
实际应用中,新成员列表通过该序列号反应该聚合组成员的变化情况,包括:当该聚合组成员增加时,该新成员列表携带的序列号与前一次下发时携带的序列号相同;或者当该聚合组成员减少时,该新成员列表携带的序列号与前一次下发是携带的序列号不不相同。In practical applications, the new member list reflects the change of the aggregation group members through the sequence number, including: when the aggregation group member increases, the new member list carries the same sequence number as the previous serial number when it was delivered; Or when the members of the aggregation group decrease, the sequence number carried by the new member list is not the same as the sequence number carried by the previous delivery.
在一个可行的实例中,新成员列表还可以携带预设的表示聚合组成员的变化情况的数值、字符串或符号等。In a feasible example, the new member list may also carry preset numeric values, character strings, or symbols indicating changes of members of the aggregation group.
例如,预设聚合组成员减少时新成员列表携带数值1,预设聚合组成员减少时新成员列表携带数值0。数值1或0也可以替换成字符串或符号。具体可以根据 实际情况进行设置。For example, when the preset aggregation group member decreases, the new member list carries a value of 1, and when the preset aggregation group member decreases, the new member list carries a value of 0. The value 1 or 0 can also be replaced with a character string or symbol. It can be set according to the actual situation.
本公开实施例的聚合链路收敛方法,在进行快切处理时,仍然获取新成员列表,由于新成员列表能够反应聚合组成员的变化情况,因此,可以根据聚合组成员的变化情况直接确定是否对本地成员列表进行处理,因此即能够保证本地成员列表与新成员列表的一致性,也避免了因接收了重复下发的新成员列表而重复处理导致的收敛时间较长的问题。The aggregation link convergence method of the embodiment of the present disclosure still obtains the new member list when performing fast-cut processing. Since the new member list can reflect the changes of the aggregation group members, it is possible to directly determine whether the aggregation group members change The local member list is processed, so that the consistency of the local member list and the new member list can be ensured, and the problem of long convergence time caused by repeated processing due to receiving the repeatedly issued new member list is avoided.
本公开实施例二提供了一种聚合链路收敛方法,请参阅图2,该方法包括:步骤S101、当快切功能开启时,项目模块根据端口状态对聚合组成员进行快切处理;步骤S102、接收协议平台模块下发的新成员列表,该新成员列表携带序列号,该序列号反应了聚合组成员的变化情况;步骤S103、根据该序号确定是否立即根据该新成员列表对本地成员列表进行处理。Embodiment 2 of the present disclosure provides an aggregation link convergence method. Please refer to FIG. 2. The method includes: step S101. When the fast cut function is enabled, the project module performs fast cut processing on the aggregation group members according to the port status; step S102 1. A new member list issued by the protocol platform module is received, and the new member list carries a serial number, and the serial number reflects the change of members of the aggregation group; Step S103: according to the serial number, determine whether to immediately compare the local member list with the new member list Be processed.
在一个可行的实例中,步骤S101包括:判断聚合组成员端口的状态;若状态为DOWN,立即将端口移除LACP聚合组;若状态为UP,立即将端口加入LACP聚合组。In a feasible example, step S101 includes: determining the status of the aggregation group member ports; if the status is DOWN, immediately remove the port from the LACP aggregation group; if the status is UP, immediately add the port to the LACP aggregation group.
实际应用中,项目模块的快切功能是指驱动的底层快切,开启快切时功能后,当聚合链路发生故障或者是恢复时,项目模块依据端口状态立即快切处理聚合组成员,包括更新成员列表(如果端口状态是UP就立即加入聚合组成员,如果端口状态是DOWN就立即将端口移除聚合组),发送消息同步给其他槽位(或设备)等。In practical applications, the quick cut function of the project module refers to the underlying fast cut of the drive. After the quick cut function is turned on, when the aggregation link fails or is restored, the project module immediately cuts the aggregation group members according to the port status, including Update the member list (if the port status is UP, immediately join the aggregation group members, if the port status is DOWN, immediately remove the port from the aggregation group), send messages to other slots (or devices), etc.
成员列表即聚合组成员列表,存储了聚合组所有成员信息。The member list is the member list of the aggregation group, which stores all member information of the aggregation group.
实际应用中,对聚合组成员端口的状态检测可以通过定时器实时进行检测,检测到聚合组成员发生了故障或者是故障恢复。In actual applications, the status of the aggregation group member ports can be detected in real time through a timer, and it is detected that the aggregation group member has failed or is recovered.
而协议平台模块依据active(激活)或者是INACTIVE(非激活)状态下发新成员列表时会携带序列号下发到项目模块。The protocol platform module will deliver the serial number to the project module when it sends a new member list according to the active or inactive state.
在一个可行的实例中,请参阅图3,步骤S103包括:步骤S201、将该序列号与上一次保存的序列号进行比对;步骤S202、根据比对结果判断该聚合组成员是否减少,若是,执行步骤S203,否则执行步骤S204;步骤S203、立即根据该新成员列表刷新该本地成员列表;步骤S204、等待预设时间后,将该新成员列表与本地成员列表进行对比,并在两者不一致时,更新该本地成员列表。In a feasible example, please refer to FIG. 3, step S103 includes: step S201, comparing the sequence number with the last saved sequence number; step S202, judging whether the aggregation group member is reduced according to the comparison result, if yes , Execute step S203, otherwise execute step S204; step S203, immediately refresh the local member list according to the new member list; step S204, wait for a preset time, compare the new member list with the local member list, and then When inconsistent, update the local member list.
实际应用中,根据比对结果判断该聚合组成员是否减少,包括:若该序列号 与该上一次保存的序列号不相同,则判断该聚合组成员减少。In practical applications, judging whether the aggregation group member has decreased according to the comparison result includes: if the serial number is different from the last saved serial number, it is judged that the aggregation group member has decreased.
实际应用中,该方法还包括:记录该协议平台下发该新成员列表时的时间戳。In practical applications, the method further includes: recording the time stamp when the protocol platform delivers the new member list.
当接收的新成员列表携带的序列号与本地存储的序列号一致的时候,可以给协议平台下发的新成员列表加上时间戳,待预设时间(如5s)后,再更新本地成员列表(此时需要比对成员列表,若一致则无需更新)。这样做可以保证本地成员列表中的成员状态最终和协议平台模块的成员状态的一致。如果项目模块在5s内又接收到协议平台模块下发的新成员列表,则此将次接收的新成员列表覆盖上一次接收的新成员列表并给本次接收的新成员列表加上时间戳,等待5s后更新。When the serial number carried in the received new member list is consistent with the locally stored serial number, the new member list delivered by the protocol platform can be time-stamped, and the local member list will be updated after a preset time (such as 5s) (At this time, the member list needs to be compared, and if they are the same, there is no need to update). Doing so can ensure that the member status in the local member list is ultimately consistent with the member status of the protocol platform module. If the project module receives the new member list delivered by the protocol platform module within 5s, this will overwrite the new member list received last time and timestamp the new member list received this time, Wait for 5s to update.
在一个可行的实例中,该接收协议平台模块下发的成员信息之后,该方法还包括:保存该序列号。In a feasible example, after receiving the member information delivered by the protocol platform module, the method further includes: saving the serial number.
在一个可行的实例中,该方法还包括:当该聚合组成员增加时,该协议平台模块向该项目模块下发该新成员列表,该新成员列表携带的序列号与前一次下发时携带的序列号相同;或者当该聚合组成员减少时,该协议平台模块向该项目组下发该表新项,该新成员列表携带的序列号与前一次下发是携带的序列号不不相同。In a feasible example, the method further includes: when the aggregation group member increases, the protocol platform module delivers the new member list to the project module, and the sequence number carried in the new member list is carried with the previous delivery The serial number of is the same; or when the number of members of the aggregation group decreases, the protocol platform module delivers the new item of the table to the project group. The serial number carried by the new member list is not the same as the serial number carried in the previous delivery .
实际应用中,新成员列表还携带该聚合组当前处于激活状态的成员端口的信息。In practical applications, the new member list also carries information about the member ports of the aggregation group that are currently activated.
协议平台模块可以每次都把上层聚合组当前最新的active成员的端口下发,而不是下发添加和删除操作。The protocol platform module can deliver the port of the latest active member of the upper-layer aggregation group every time instead of delivering the add and delete operations.
在一个可行的实例中,本实施例的聚合链路收敛方法可以按照如下原则应用到聚合链路中:In a feasible example, the aggregation link convergence method of this embodiment can be applied to the aggregation link according to the following principles:
1、若项目模块未开启快切功能,可以采用在一些情况下的下发流程进行收敛,此时序列号可以不用考虑。1. If the project module does not enable the fast cut function, the delivery process in some cases can be used to converge. In this case, the serial number can be ignored.
2、开启快切功能之后,在例如线卡重启或VSC(Virtual Switch Cluster,虚拟交换集群)环境中设备重启的情况下,其他板卡或设备的快切消息不会再次同步,此时仍需要使用协议平台模块(配置恢复)下发来更新。2. After the quick cut function is enabled, when the device restarts in a line card restart or VSC (Virtual Switch) cluster, the fast cut messages of other boards or devices will not be synchronized again. Use the protocol platform module (configuration recovery) to issue updates.
3、开启快切功能之后,针对协议平台模块下发的成员消息,有一部分是需要立刻处理的,主要包括去除INACTIVE成员的处理(包括协商不成功、属性修改、配置修改、正常超时、接口DOWN等情况),此时项目模块通过判断更新成员列表的序列号的变化,触发驱动立刻更新。3. After the fast cut function is turned on, some of the member messages issued by the protocol platform module need to be processed immediately, mainly including the processing of removing INACTIVE members (including unsuccessful negotiation, attribute modification, configuration modification, normal timeout, interface DOWN In other cases), the project module triggers the driver to update immediately by judging the change of the serial number of the updated member list.
4、针对平台模块给下发的成员信息,无论是需要立刻更新还是需要延迟更 新,项目模块都需要记录到本地,并且只需要保留最新的成员信息及最新序列号,用于和后续的更新成员列表做比对。实际应用中,协议平台模块对于每个聚合组的序列号是单独维护的,聚合组之间互不干扰。4. For the member information issued by the platform module, whether it needs to be updated immediately or delayed, the project module needs to be recorded locally, and only the latest member information and the latest serial number need to be retained for subsequent update of members Compare lists. In actual application, the protocol platform module maintains the serial number of each aggregation group separately, and the aggregation groups do not interfere with each other.
5、关闭快切功能后,若还记录有在预设时间内没有完成更新的成员列表,则到预设时间之后继续更新,后续平台的下发不需要记录也不需要更新。5. After the fast cut function is turned off, if there is still a list of members who have not completed the update within the preset time, the update will continue after the preset time, and the subsequent platform will not need to record or update.
6、当项目模块确认序列号发生变化,需要更新本地成员列表后,如果快切已经处理过,将不会再次刷新本地成员列表。比如可以进一步判断这些成员底层端口的状态,如底层端口是DOWN,则不再更新。6. When the project module confirms that the serial number has changed and needs to update the local member list, if the quick cut has been processed, the local member list will not be refreshed again. For example, you can further determine the status of the bottom ports of these members. If the bottom port is DOWN, it will not be updated.
为了对本实施例的方法更加清楚,下面结合不同的场景对本实施例的方法进行描述。In order to make the method of this embodiment more clear, the method of this embodiment will be described below in combination with different scenarios.
场景一、普通的链路UP以及DOWN的处理Scenario 1: The processing of ordinary link UP and DOWN
如图4所示,A、B两个设备有4条链路1、2、3、4。As shown in Figure 4, two devices A and B have 4 links 1, 2, 3, and 4.
链路UP后,协议平台模块先向两个设备的项目模块下发成员1的更新,此时其下发的新成员列表中包含成员1的信息,使用序列号n(默认从0开始),再下发成员1、2或1、2、3或1、2、3、4的更新,仍使用序列号n,即当active成员增加的时候,序列号不变都是n。After the link is up, the protocol platform module first sends the update of member 1 to the project module of the two devices. At this time, the new member list it sends contains the information of member 1, using the serial number n (default starts from 0), When the updates of members 1, 2, or 1, 2, 3, or 1, 2, 3, and 4 are delivered, the sequence number n is still used, that is, when the active member increases, the sequence number remains unchanged at n.
项目模块接收到西医平台模块下发的新成员列表,发现其携带的序列号未变化(即每一次携带的序列号都与前一次相同),需要等待5s时间后再进行本地成员列表的更新,从而避免频繁的中间状态的更新。The project module receives the new member list issued by the Western Medicine Platform module and finds that the serial number it carries has not changed (that is, the serial number carried each time is the same as the previous one), and it needs to wait 5s before updating the local member list. Thereby avoiding frequent intermediate state updates.
当链路异常时,比如链路4出问题,如图5所示,协议平台模块去除INACTIVE成员4,下发新成员列表(包括1、2、3的成员信息),序列号变为n+1。When the link is abnormal, for example, there is a problem with link 4, as shown in Figure 5, the protocol platform module removes the INACTIVE member 4, and issues a new member list (including member information of 1, 2, 3), and the sequence number becomes n + 1.
项目模块判断序列号n+1与前一次存储的序列号n不同,则立刻更新本地成员列表。The project module judges that the serial number n + 1 is different from the previously stored serial number n, and immediately updates the local member list.
当4链路恢复时,协议平台模块再次下发新成员列表(包括1、2、3、4的成员信息),序列号为n+1。如果后续3链路DOWN了,协议平台模块则下发1、2、4的成员信息,序列号为n+2。也就是说,协议平台模块对序列号的原则可以是添加active成员时序列号保持不变,去除INACTIVE成员时序列号加1。When the 4 link is restored, the protocol platform module again issues a new member list (including member information of 1, 2, 3, and 4), with the sequence number being n + 1. If the subsequent 3 links are down, the protocol platform module will send the member information of 1, 2, and 4 with the sequence number n + 2. In other words, the principle of the serial number of the protocol platform module can be that the serial number remains unchanged when the active member is added, and the serial number is increased by 1 when the INACTIVE member is removed.
场景二、出现线卡或设备重启时的处理Scenario 2: handling when a line card or device restarts
例1:example 1:
假设聚合组1有4个端口,1槽位有2个端口(1和2),2槽位有2个端口(3和4),3槽位没有。Assume that aggregation group 1 has 4 ports, slot 1 has 2 ports (1 and 2), slot 2 has 2 ports (3 and 4), and slot 3 does not.
4个端口都UP后,协议平台模块和各槽位的项目模块的成员列表中记录的都是4个成员,此时序列号为n。After all 4 ports are up, the protocol platform module and the project module member list of each slot record 4 members. At this time, the serial number is n.
重启1槽位,在1槽位的端口还没有UP的时候,协议平台模块先向各槽位的项目模块下发3、4的成员信息,序列号为n+1。各槽位的项目模块收到这个下发的成员信息,确定此次下发携带的序列号与上一次不同,需立刻更新,比对本地成员列表与成员信息,若一致则无需更新,若不一致则进行更新,并记录该聚合组最新的序列号为n+1。Restart 1 slot. When the port of 1 slot is not up yet, the protocol platform module will first send the member information of 3 and 4 to the project module of each slot, the serial number is n + 1. The project module in each slot receives the delivered member information, confirms that the serial number carried in this delivery is different from the previous one, and needs to be updated immediately. Compare the local member list with the member information. If they are consistent, there is no need to update. Then update and record the latest serial number of the aggregation group as n + 1.
1槽位的端口UP后,其项目模块进行快切,在本地列表中把1、2端口添加进来,同时下发消息给其他槽位进行快切同步。而协议平台模块会下发1、2、3或1、2、3、4的成员信息给各槽位的项目模块,序列号还是n+1。由于这个序列号和各槽位的项目模块在本地记录的一样,所以各项目模块确定不需要立刻更新本地列表,但是需要给协议平台模块本次下发的成员信息加上时间戳,待5s后,更新底层(此时需要比对成员列表,若一致则无需更新)。After the port in slot 1 is up, its project module performs fast cut, adds ports 1 and 2 to the local list, and sends messages to other slots for fast cut synchronization. The protocol platform module will send 1, 2, 3 or 1, 2, 3, 4 member information to the project module of each slot, the serial number is still n + 1. Since this serial number is the same as the local record of the project module in each slot, each project module does not need to update the local list immediately, but it needs to add a time stamp to the member information delivered by the protocol platform module this time, after 5s , Update the bottom layer (you need to compare the member list at this time, if there is no need to update).
例2:Example 2:
假设聚合组1有4个端口,1槽位有2个端口(1和2),2槽位有2个端口(3和4),3槽位没有端口。Assume that aggregation group 1 has 4 ports, slot 1 has 2 ports (1 and 2), slot 2 has 2 ports (3 and 4), and slot 3 has no ports.
整机重启时,在端口UP前协议平台模块不会有聚合组1的成员列表下发。When the whole machine is restarted, no member list of the aggregation group 1 will be delivered by the protocol platform module before the port is UP.
假设1槽位的端口先UP,此时1槽位的项目模块进行快切,并发消息给2、3槽位。1槽位的项目模块接收协议平台模块下发的新成员列表(包含成员1或成员1、2的成员信息),由于重启,序列号从0开始,此时底层已有表项(本地成员列表),本地序列号是0,和本地一致,无需立刻更新,需要给这个表项加上时间戳,待5s后,更新底层(此时需要比对表项,若一致则无需更新)。Assuming that the port in slot 1 is up first, then the project module in slot 1 is fast cut and sends a message to slots 2 and 3. The project module in slot 1 receives the new member list (including member 1 or member 1, 2 member information) issued by the protocol platform module. Due to the restart, the serial number starts from 0. At this time, there are entries in the bottom layer (local member list ), The local serial number is 0, consistent with the local, there is no need to update immediately, you need to add a timestamp to this entry, after 5s, update the bottom layer (in this case, you need to compare the entries, if they are consistent, you do not need to update).
2槽位启动后,分两种情况:若2槽位可以收到1槽位发过来的快切更新消息,则添加表项,待聚合组1的协议平台模块更新下发新成员列表时,2槽位的底层已有表项,且序列号是0,和本地一致,等待预设时间后处理;若2槽位启动后,没有收到1槽位发过来的快切更新消息(1槽位发送时,2槽位的任务可能还没有启动),因为这个时候2槽位的项目模块没有包含成员1、2的表项,则需要聚合组1的协议平台模块更新下发新成员列表,此时2槽位本地记录聚合组1的序列号为0。待3、4端口UP快切后,协议平台模块下发新表项,2槽位项目模块已有表项,序列号是0,和本地一致,无需立刻更新,的等待预设时间后处理。After slot 2 is started, there are two cases: if slot 2 can receive the fast-cut update message from slot 1, add an entry, and when the protocol platform module of aggregation group 1 updates and issues a new member list, There are entries in the bottom layer of slot 2, and the serial number is 0, which is consistent with the local. Wait for a preset time before processing; if the 2 slot is activated, the fast cut update message from slot 1 is not received (slot 1 When the bit is sent, the task of slot 2 may not have been started), because the project module of slot 2 does not contain the entries of members 1 and 2 at this time, the protocol platform module of aggregation group 1 needs to be updated to issue a new member list. At this time, the serial number of the local record aggregation group 1 in slot 2 is 0. After the 3 and 4 port UP is cut quickly, the protocol platform module will issue new entries. The 2 slot project module already has entries. The serial number is 0, which is the same as the local one. It does not need to be updated immediately. It waits for a preset time before processing.
例3:Example 3:
假设聚合组1有4个端口,1槽位有4个端口(1、2、3、4),2槽位没有,3槽位没有。4个段口都UP后,协议平台模块和项目模块记录的都是4个成员,此时序列号为n。Assume that aggregation group 1 has 4 ports, and slot 1 has 4 ports (1, 2, 3, 4), slot 2 does not, and slot 3 does not. After all 4 segments are up, the protocol platform module and the project module record 4 members. At this time, the serial number is n.
现在重启1槽位,协议平台模块会下发null给所有的槽位,序列号为n+1。其他槽位收到这个消息需立刻更新(此时需要比对表项,若一致则无需更新)。Now restart 1 slot, the protocol platform module will send null to all slots, the serial number is n + 1. Receiving this message in other slots needs to be updated immediately (in this case, the table entries need to be compared, and if they are consistent, no update is required).
1槽位重启后,在端口还没有UP的时候,平台模块会下发聚合组1的新成员列表,序列号为n+1,各槽位项目模块下发并记录新成员列表的序列号为n+1。1槽位的端口UP后,其项目模块进行快切,把1、2、3、4端口添加如聚合组1,同时发消息给其他槽位(设备)进行快切同步。平台模块下发新成员列表(成员信息包括1、2或1、2、3或1、2、3、4)给1、2、3槽位,序列号还是n+1,这个序列号和各槽位本地记录的一样,所以无需要立刻更新,但是需要给这个表项加上时间戳,待5s后,更新底层(此时需要比对表项,若一致则无需更新)。After slot 1 is restarted, when the port is not up, the platform module will deliver a new member list of aggregation group 1, the sequence number is n + 1, and each slot project module will deliver and record the sequence number of the new member list as n + 1. After the port in slot 1 is up, its project module performs quick cut, adding ports 1, 2, 3, and 4 as aggregation group 1, and sends a message to other slots (devices) for quick cut synchronization. The platform module issues a new member list (member information includes 1, 2, or 1, 2, 3, or 1, 2, 3, and 4) to slots 1, 2, and 3. The serial number is still n + 1. This serial number and each The slots are recorded locally, so there is no need to update them immediately, but you need to add a timestamp to this entry. After 5s, update the bottom layer (in this case, you need to compare the entries, if they are consistent, you do not need to update).
例4:Example 4:
假设聚合组1有4个端口,1槽位有4个端口(1、2、3、4),2槽位没有,3槽位没有,整机重启。重启后,在端口UP前不会有聚合组1的平台下发。Assume that aggregation group 1 has 4 ports, and slot 1 has 4 ports (1, 2, 3, 4), slot 2 does not, slot 3 does not, and the whole machine restarts. After restarting, no platform of aggregation group 1 will be delivered before the port is up.
1槽位的端口UP后,其项目模块进行快切,并发消息给2、3槽位。后续协议平台模块给1槽位下发的新成员列表(成员信息包括1或1、2或1、2、3)或1、2、3、4),由于重启,序列号是0,1槽位已有表项,本地序列号是0,和本地一致,无需立刻更新,需要给这个表项加上时间戳,待5s后,更新底层(此时需要比对表项,若一致则无需更新)。After the port in slot 1 is up, its project module performs a quick cut and sends a message to slots 2 and 3. Subsequent protocol platform modules deliver a new member list to slot 1 (member information includes 1 or 1, 2 or 1, 2, 3) or 1, 2, 3, 4), due to restart, the serial number is 0, 1 slot There is already an entry, the local serial number is 0, it is consistent with the local, there is no need to update it immediately, you need to timestamp this entry, and after 5s, update the bottom layer (in this case, you need to compare the entries, if they are consistent, you do not need to update ).
2槽位启动后,分两种情况:若可以收到1槽位发过来的快切更新消息(添加成员1、2、3、4),则添加表项,待聚合组1的协议平台模块更新下发新成员列表时,其本地已有表项,且序列号是0,和本地一致,无需立刻更新;若没有收到1槽位发过来的快切更新消息(1槽位发送更新消息时,2槽位的任务可能还没有启动),待聚合组1的协议平台模块更新下发新成员列表时,因为这个时候2槽位底层没有表项,则需要下发,本地记录聚合组1的序列号为0。After slot 2 is started, there are two cases: if you can receive the fast-cut update message from slot 1 (add members 1, 2, 3, 4), add entries and the protocol platform module of group 1 to be aggregated When updating and delivering a new member list, the local entry already exists, and the serial number is 0, which is consistent with the local one, and there is no need to update immediately; if there is no quick cut update message sent from slot 1 (slot 1 sends the update message) At this time, the task of slot 2 may not be started yet). When the protocol platform module of the aggregation group 1 is updated to deliver the new member list, because there is no entry at the bottom of the slot 2 at this time, it needs to be delivered, and the local record aggregation group 1 The serial number is 0.
例5:Example 5:
假设聚合组1有4个端口,1槽位有4个端口(1、2、3、4),2槽位没有,3槽位没有。整机重启。重启后,在端口UP前不会有聚合组1的平台下发。Assume that aggregation group 1 has 4 ports, and slot 1 has 4 ports (1, 2, 3, 4), slot 2 does not, and slot 3 does not. The whole machine restarts. After restarting, no platform of aggregation group 1 will be delivered before the port is up.
1槽位的口UP后,其项目模块进行快切,并发消息给2、3槽位。如果后续协议平台模块针对这4条链路都没有协商成功,即协议平台模块上这4条链路的状态 都一直是INACTIVE,因此协议平台模块不会下发任何的更新。After the port in slot 1 is up, the project module will cut quickly and send a message to slots 2 and 3. If the subsequent protocol platform module fails to negotiate for these four links, that is, the status of these four links on the protocol platform module has always been INACTIVE, so the protocol platform module will not issue any updates.
开始快切后,有成员报UP开始添加底层表项后,需要启动聚合组1表项5s检测功能,即把项目模块记录的聚合组1的最近的成员列表项启动5s更新(若最近的表项正在5s更新中,则不需要再次启动),并添加最新的时间戳。After the quick cut starts, after a member reports UP to start adding the bottom entry, it is necessary to start the 5s detection function of the aggregation group 1 entry, that is, the 5s update of the latest member list entry of the aggregation group 1 recorded by the project module (if the most recent table The item is being updated in 5s, you do not need to start again), and add the latest timestamp.
此时项目模块记录的聚合组1的最近的表项就是默认初始表项,是空表项,启动这个表项的5s更新,先给这个空表项打上时间戳,如果协议平台模块在5s内没有聚合组1的任何下发,5s到后,则需要把空表项更新到驱动,这时底层的表项也会改为null,就和协议平台模块的状态一致了。如果在5s内,平台模块有聚合组1的下发,则按照例4的方法继续处理。At this time, the most recent entry of the aggregation group 1 recorded by the project module is the default initial entry, which is an empty entry. When the 5s update of this entry is started, the empty entry is time stamped first. If the protocol platform module is within 5s Without any delivery of aggregation group 1, after 5s, you need to update the empty entry to the driver. At this time, the bottom entry will also be changed to null, which is consistent with the status of the protocol platform module. If within 5s, the platform module has delivered the aggregation group 1, then continue processing according to the method of Example 4.
需要说明的是,这里的5S更新也可以根据需要设置更新时间。It should be noted that the 5S update here can also set the update time as needed.
本公开实施例的聚合链路收敛方法,在项目模块开启快切功能时,仍接收协议平台下发的新成员列表,该新成员中携带序列号,通过序列号反应聚合组成员的变化情况,因此项目模块可以根据序列号直接确定是否对本地成员列表进行处理,因此在进行快切时,即能够保证本地成员列表与协议平台的成员列表的一致性,也避免了因协议平台模块重复下发消息时,项目模块重复处理导致的收敛时间较长的问题。The aggregation link convergence method of the embodiment of the present disclosure receives the list of new members issued by the protocol platform when the project module enables the fast-cut function, the new member carries a serial number, and the change of the aggregation group members is reflected by the serial number. Therefore, the project module can directly determine whether to process the local member list according to the serial number. Therefore, when performing fast switching, it can ensure the consistency of the local member list and the member list of the protocol platform, and also avoid repeated distribution due to the protocol platform module. When the message is reported, the project module repeatedly handles the problem of long convergence time.
在前述实施例的基础上,本公开实施例三提供了一种聚合链路收敛装置,该聚合链路收敛装置包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如第一实施例或第二实施例所述方法的步骤。Based on the foregoing embodiments, Embodiment 3 of the present disclosure provides an aggregated link convergence device including a memory, a processor, and stored on the memory and operable on the processor The computer program, when executed by the processor, implements the steps of the method as described in the first embodiment or the second embodiment.
请参阅图6,其处理器包括项目模块501和协议平台模块502。Please refer to FIG. 6, the processor includes a project module 501 and a protocol platform module 502.
项目模块501,用于执行所述计算程序以实现如下步骤:当快切功能开启时,根据端口状态对聚合组成员进行快切处理;接收协议平台模块下发的新成员列表,该新成员列表携带序列号,该序列号反应了聚合组成员的变化情况;根据该序号确定是否立即根据该新成员列表对本地成员列表进行处理。The project module 501 is used to execute the calculation program to realize the following steps: when the fast cut function is turned on, perform fast cut processing on the aggregation group members according to the port status; receive a new member list issued by the protocol platform module, and the new member list Carry a serial number, which reflects the change of members of the aggregation group; according to the serial number, determine whether to immediately process the local member list according to the new member list.
在一个可行的施例中,该项目模块501在执行“根据该序号确定是否根据该新成员列表对本地成员列表进行处理”的步骤时,还用于:将该序列号与上一次保存的序列号进行比对;根据比对结果判断该聚合组成员是否减少;若是,立即根据该新成员列表刷新该本地成员列表;否则,等待预设时间后,将该新成员列表与本地成员列表进行对比,并在两者不一致时,更新该本地成员列表。In a feasible embodiment, when the project module 501 performs the step of “determining whether to process the local member list according to the new member list according to the serial number”, it is also used to: compare the serial number with the last saved sequence Compare the numbers; judge whether the aggregation group members are reduced according to the comparison result; if yes, immediately refresh the local member list according to the new member list; otherwise, after waiting for a preset time, compare the new member list with the local member list And update the local member list when the two are inconsistent.
在一个可行的实例中,该项目模块501在执行“根据比对结果判断该聚合组成员是否减少”的步骤时,还用于,在该序列号与该上一次保存的序列号不相同时,判断该聚合组成员减少。In a feasible example, when the project module 501 executes the step of "determining whether the aggregation group member is reduced according to the comparison result", it is also used when the serial number is different from the last saved serial number, Judge that the aggregation group has decreased.
在一个可行的实例中,该项目模块501还用于执行如下步骤:当在该预设时间内再次接收到该协议平台下发的新成员列表时,将本次接收的新成员列表覆盖上一次接收的新成员列表并记录本次接收的时间戳,并在等待该预设时间后更新该本地列表。In a feasible example, the project module 501 is also used to perform the following steps: when the new member list delivered by the protocol platform is received again within the preset time, the new member list received this time is overwritten the last time Receive the new member list and record the timestamp of the current reception, and update the local list after waiting for the preset time.
在一个可行的实例中,该项目模块501还用于执行如下步骤:记录该协议平台下发该新成员列表时的时间戳。In a feasible example, the project module 501 is also used to perform the following steps: record the time stamp when the protocol platform issues the new member list.
在一个可行的实例中,该项目模块501在接收协议平台模块下发的新成员列表之后,还用于执行如下步骤:保存新成员列表携带的序列号。In a feasible example, after receiving the new member list issued by the protocol platform module, the project module 501 is also used to perform the following steps: save the serial number carried in the new member list.
在一个可行的实例中,请参阅图7,协议平台模块501还可以包括如下单元:成员列表存储单元601、成员列表时间戳及序列号存储单元602,流量单元603、链路检测单元604、故障处理单元605。In a feasible example, please refer to FIG. 7, the protocol platform module 501 may further include the following units: member list storage unit 601, member list time stamp and serial number storage unit 602, flow unit 603, link detection unit 604, fault Processing unit 605.
该成员列表单元601,用于存储聚合组成员列表。该聚合组成员列表用于存储聚合组所有成员的信息,可以创建一个聚合组,该组里加上若干成员,通过链表保存一份该聚合组对应的所有成员,作为存储模块,例如图3,聚合链路里有4条链路,聚合组成员列表存储着4个聚合组成员。The member list unit 601 is used to store an aggregate group member list. The member list of the aggregation group is used to store the information of all members of the aggregation group. You can create an aggregation group, add several members to the group, and save a copy of all members corresponding to the aggregation group through a linked list as a storage module, for example, Figure 3, aggregation There are 4 links in the link, and the aggregation group member list stores 4 aggregation group members.
该成员列表时间戳及序列号存储单元602,用于存储平台下发表项时记录的时间戳和携带到项目模块的序列号。The member list timestamp and serial number storage unit 602 is used to store the timestamp recorded when an item is published under the platform and the serial number carried to the project module.
该流量转发单元603,用于根据聚合组成员列表进行流量的转发。例如图4,当聚合组成员状态变为DOWN时,其它端口流量保持不变,将DOWN的成员移除存储模块,流量模块会将DOWN端口状态的流量同时hash(散列)到其它成员上;例如图3,当LACP成员端口状态变为UP时,将端口加入LACP聚合组,使流量hash到该端口上。The traffic forwarding unit 603 is used to forward traffic according to the aggregation group member list. For example, in Figure 4, when the status of the aggregation group member becomes DOWN, the traffic of other ports remains unchanged, and the DOWN members are removed from the storage module. The traffic module will simultaneously hash (hash) the traffic of the DOWN port state to other members; For example, in Figure 3, when the status of the LACP member port becomes UP, the port is added to the LACP aggregation group, so that the traffic is hashed to the port.
该链路检测单元604,用于检测网络设备之间聚合成员端口的物理状态。即检测端口的UP状态和DOWN状态,例如图3,当链路检测单元604检测到端口DOWN的状态时,就通知成员列表单元601,将该端口移除LACP聚合组,经过该成员端口的流量会重新hash到其它的成员上,当链路检测单元604检测到端口状态UP时,就通知成员列表单元601,将改端口加入LACP组,同时重新hash使该端口上获得流量。The link detection unit 604 is used to detect the physical state of the aggregate member ports between network devices. That is, the UP state and the DOWN state of the port are detected. For example, in FIG. 3, when the link detection unit 604 detects the state of the port DOWN, it notifies the member list unit 601 to remove the port from the LACP aggregation group, and the traffic passing through the member port It will be re-hashed to other members. When the link detection unit 604 detects that the port status is UP, it notifies the member list unit 601 to add the changed port to the LACP group, and re-hash to get traffic on the port.
该故障处理单元605,用于在链路检测单元604发现端口故障或者是恢复时,立即快切处理聚合组成员。The fault processing unit 605 is configured to quickly switch the aggregation group member immediately when the link detection unit 604 finds that the port is faulty or recovers.
协议平台模块502,用于执行所述计算机程序以实现如下步骤:获取该聚合组成员的激活状态;当该聚合组成员增加时,该协议平台模块向该项目模块下发该新成员列表,该新成员列表携带的序列号与前一次下发时携带的序列号相同;或者当该聚合组成员减少时,该协议平台模块向该项目组下发该表新项,该新成员列表携带的序列号与前一次下发是携带的序列号不不相同。The protocol platform module 502 is used to execute the computer program to realize the following steps: obtain the activation status of the aggregation group members; when the aggregation group members increase, the protocol platform module delivers the new member list to the project module, the The sequence number carried in the new member list is the same as the sequence number carried in the previous delivery; or when the members of the aggregation group decrease, the protocol platform module delivers the new item of the table to the project group, the sequence carried by the new member list The number is different from the serial number carried in the previous delivery.
在一个可行的实例中,新成员列表还携带该聚合组当前处于激活状态的成员端口的信息。In a feasible example, the new member list also carries information about the member ports of the aggregation group that are currently activated.
本实施例的聚合链路收敛装置,在项目模块开启快切功能时,仍接收协议平台下发的新成员列表,该新成员中携带序列号,通过序列号反应聚合组成员的变化情况,因此项目模块可以根据序列号直接确定是否对本地成员列表进行处理,因此在进行快切时,即能够保证本地成员列表与协议平台的成员列表的一致性,也避免了因协议平台模块重复下发消息时,项目模块重复处理导致的收敛时间较长的问题。The aggregation link convergence device of this embodiment still receives the list of new members issued by the protocol platform when the project module enables the fast-cut function. The new member carries the serial number, and the change of the aggregation group member is reflected by the serial number, so The project module can directly determine whether to process the local member list according to the serial number, so when performing fast switching, it can ensure the consistency of the local member list and the protocol platform's member list, and also avoid repeated message delivery due to the protocol platform module At this time, the problem of long convergence time caused by repeated processing of the project module.
在前述实施例的基础上,本公开实施例四提供了一种存储介质,该存储介质包括存储的程序,在该程序运行时控制该存储介质所在设备执行如实施例一或实施例二所述的操作。Based on the foregoing embodiments, Embodiment 4 of the present disclosure provides a storage medium including a stored program, and when the program is running, the device on which the storage medium is located is controlled to execute as described in Embodiment 1 or Embodiment 2. Operation.
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、***、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机 存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。Those of ordinary skill in the art may understand that all or some of the steps, systems, and functional modules / units in the method disclosed above may be implemented as software, firmware, hardware, and appropriate combinations thereof. In a hardware implementation, the division between the functional modules / units mentioned in the above description does not necessarily correspond to the division of physical components; for example, one physical component may have multiple functions, or one function or step may be composed of several physical The components are executed in cooperation. Some or all physical components may be implemented as software executed by a processor, such as a central processing unit, digital signal processor, or microprocessor, or as hardware, or as an integrated circuit, such as an application specific integrated circuit . Such software may be distributed on computer-readable media, which may include computer storage media (or non-transitory media) and communication media (or transitory media). As is well known to those of ordinary skill in the art, the term computer storage medium includes both volatile and nonvolatile implemented in any method or technology for storing information such as computer readable instructions, data structures, program modules, or other data Sex, removable and non-removable media. Computer storage media include but are not limited to RAM, ROM, EEPROM, flash memory or other memory technologies, CD-ROM, digital versatile disk (DVD) or other optical disk storage, magnetic cartridges, magnetic tape, magnetic disk storage or other magnetic storage devices, or may Any other medium for storing desired information and accessible by a computer. In addition, it is well known to those of ordinary skill in the art that the communication medium generally contains computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transmission mechanism, and may include any information delivery medium .
采用本公开实施例,即能够保证本地成员列表与协议平台的成员列表的一致性,也避免了因协议平台模块重复下发消息时,项目模块重复处理导致的收敛时间较长的问题。By adopting the embodiment of the present disclosure, the consistency of the local member list and the member list of the protocol platform can be ensured, and the problem of long convergence time caused by repeated processing by the project module when the protocol platform module repeatedly sends messages is avoided.
本公开实施例的一种聚合链路收敛方法、装置及存储介质,在进行快切处理时,仍然获取新成员列表,由于新成员列表能够反应聚合组成员的变化情况,因此,可以根据聚合组成员的变化情况直接确定是否对本地成员列表进行处理,因此即能够保证本地成员列表与新成员列表的一致性,也避免了因接收了重复下发的新成员列表而重复处理导致的收敛时间较长的问题。An aggregated link convergence method, device, and storage medium according to an embodiment of the present disclosure still obtain a new member list when performing fast-cut processing. Since the new member list can reflect changes in members of the aggregation group, the aggregation group The change of members directly determines whether to process the local member list, so that the consistency of the local member list and the new member list can be ensured, and the convergence time caused by repeated processing due to the repeated receipt of the new member list is avoided. Long question.
以上参照附图说明了本公开实施例的优选实施例,并非因此局限本公开实施例的权利范围。本领域技术人员不脱离本公开实施例的范围和实质内所作的任何修改、等同替换和改进,均应在本公开实施例的权利范围之内。The preferred embodiments of the embodiments of the present disclosure have been described above with reference to the accompanying drawings, and thus do not limit the scope of rights of the embodiments of the present disclosure. Those skilled in the art shall not deviate from the scope and essence of the embodiments of the present disclosure, and any modification, equivalent replacement and improvement shall fall within the scope of the rights of the embodiments of the present disclosure.

Claims (10)

  1. 一种聚合链路收敛方法,所述方法包括:An aggregated link convergence method, the method includes:
    根据端口状态对聚合组成员进行快切处理;Quickly cut the aggregation group members according to the port status;
    获取新成员列表,所述新成员列表反应了聚合组成员的变化情况;Obtain a new member list, the new member list reflects the changes of the members of the aggregation group;
    根据所述聚合组成员的变化情况确定是否立即根据所述新成员列表对本地成员列表进行处理。Determine whether to immediately process the local member list according to the new member list according to the change of the members of the aggregation group.
  2. 如权利要求1所述的聚合链路收敛方法,其中,所述根据所述聚合组成员的变化情况确定是否立即根据所述新成员列表对本地成员列表进行处理,包括:The aggregation link convergence method according to claim 1, wherein the determining whether to immediately process the local member list according to the new member list according to the change of members of the aggregation group includes:
    若所述聚合组成员减少,立即根据所述新成员列表刷新所述本地成员列表;If the aggregation group members decrease, immediately refresh the local member list according to the new member list;
    若所述聚合组成员未减少,等待预设时间后,将所述新成员列表与本地成员列表进行对比,并在两者不一致时,更新所述本地成员列表。If the members of the aggregation group are not reduced, after waiting for a preset time, the new member list is compared with the local member list, and when the two are inconsistent, the local member list is updated.
  3. 如权利要求1所述的聚合链路收敛方法,其中,所述新成员列表携带序列号,所述新成员列表通过所述序列号反应所述聚合组成员的变化情况;所述根据所述聚合组成员的变化情况确定是否立即根据所述新成员列表对本地成员列表进行处理,包括:The aggregated link convergence method according to claim 1, wherein the new member list carries a sequence number, and the new member list reflects the change of members of the aggregation group through the sequence number; The change of group members determines whether to immediately process the local member list according to the new member list, including:
    将所述序列号与上一次保存的序列号进行比对;Compare the serial number with the last saved serial number;
    根据比对结果判断所述聚合组成员是否减少;Judging whether the aggregation group members decrease according to the comparison result;
    若所述聚合组成员减少,立即根据所述新成员列表刷新所述本地成员列表;If the aggregation group members decrease, immediately refresh the local member list according to the new member list;
    若所述聚合组成员没有减少,等待预设时间后,将所述新成员列表与本地成员列表进行对比,并在两者不一致时,更新所述本地成员列表。If the members of the aggregation group are not reduced, after waiting for a preset time, the new member list is compared with the local member list, and when the two are inconsistent, the local member list is updated.
  4. 如权利要求3所述的聚合链路收敛方法,其中,所述根据比对结果判断所述聚合组成员是否减少,包括:The aggregation link convergence method according to claim 3, wherein the judging whether the aggregation group member decreases according to the comparison result includes:
    若所述序列号与所述上一次保存的序列号不相同,则判断所述聚合组成员减少。If the sequence number is different from the last saved sequence number, it is judged that the aggregation group member is reduced.
  5. 如权利要求3所述的聚合链路收敛方法,其中,所述方法还包括:The aggregated link convergence method of claim 3, wherein the method further comprises:
    若在所述预设时间内再次接收到新成员列表,将本次接收的新成员列表覆盖上一次接收的新成员列表并记录本次接收的时间戳;If the new member list is received again within the preset time, the new member list received this time overwrites the new member list received last time and the time stamp of this reception is recorded;
    等待所述预设时间后更新所述本地列表。Update the local list after waiting for the preset time.
  6. 如权利要求3所述的聚合链路收敛方法,其中,所述接收新成员列表之后,所述方法还包括:The aggregated link convergence method according to claim 3, wherein after receiving the new member list, the method further comprises:
    保存所述序列号。Save the serial number.
  7. 如权利要求3所述的聚合链路收敛方法,其中,所述新成员列表携带序列号,所述新成员列表通过所述序列号反应所述聚合组成员的变化情况,包括:The aggregation link convergence method according to claim 3, wherein the new member list carries a sequence number, and the new member list reflects the change of members of the aggregation group through the sequence number, including:
    当所述聚合组成员增加时,所述新成员列表携带的序列号与前一次下发时携带的序列号相同;或者When the members of the aggregation group increase, the sequence number carried in the new member list is the same as the sequence number carried in the previous delivery; or
    当所述聚合组成员减少时,所述新成员列表携带的序列号与前一次下发是携带的序列号不不相同。When the members of the aggregation group decrease, the sequence number carried by the new member list is not the same as the sequence number carried by the previous delivery.
  8. 如权利要求1所述的聚合链路收敛方法,其中,所述新成员列表还携带所述聚合组当前处于激活状态的成员端口的信息。The aggregated link convergence method according to claim 1, wherein the new member list further carries information of member ports that are currently activated in the aggregation group.
  9. 一种聚合链路收敛装置,其中,所述装置包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至8任一项所述方法的步骤。An aggregated link convergence device, wherein the device includes a memory, a processor, and a computer program stored on the memory and executable on the processor, and the computer program is implemented when executed by the processor The method steps according to any one of claims 1 to 8.
  10. 一种存储介质,其中,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1-7任一项所述的步骤。A storage medium, wherein the storage medium stores one or more programs, and the one or more programs may be executed by one or more processors to implement any one of claims 1-7 step.
PCT/CN2019/112476 2018-10-22 2019-10-22 Aggregated link convergence method and apparatus, and storage medium WO2020083271A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201811231251.5A CN111083068A (en) 2018-10-22 2018-10-22 Aggregation link convergence method, device and storage medium
CN201811231251.5 2018-10-22

Publications (1)

Publication Number Publication Date
WO2020083271A1 true WO2020083271A1 (en) 2020-04-30

Family

ID=70309801

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/112476 WO2020083271A1 (en) 2018-10-22 2019-10-22 Aggregated link convergence method and apparatus, and storage medium

Country Status (2)

Country Link
CN (1) CN111083068A (en)
WO (1) WO2020083271A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114827016B (en) * 2022-04-12 2023-03-24 珠海星云智联科技有限公司 Method, device, equipment and storage medium for switching link aggregation scheme

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104506546A (en) * 2014-12-30 2015-04-08 杭州华三通信技术有限公司 Bidirectional forwarding detection method and device of aggregation link
US20150319646A1 (en) * 2012-07-19 2015-11-05 Zte Corporation Traffic forwarding method and system based on virtual switch cluster
CN107800627A (en) * 2016-09-06 2018-03-13 南京中兴软件有限责任公司 The wiring method and device of three-state content addressing memory TCAM tables
CN107846357A (en) * 2017-12-22 2018-03-27 杭州迪普科技股份有限公司 A kind of message forwarding method and device based on stream definition

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101110663B (en) * 2007-08-31 2010-10-27 华为技术有限公司 Method, system and device for implementing periodic line failure processing
CN105490970B (en) * 2015-12-08 2018-10-30 迈普通信技术股份有限公司 A kind of method, apparatus and system of link Fast Convergent
CN107465632B (en) * 2017-08-07 2020-12-29 杭州迪普科技股份有限公司 Method and device for switching flow of aggregation member port

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150319646A1 (en) * 2012-07-19 2015-11-05 Zte Corporation Traffic forwarding method and system based on virtual switch cluster
CN104506546A (en) * 2014-12-30 2015-04-08 杭州华三通信技术有限公司 Bidirectional forwarding detection method and device of aggregation link
CN107800627A (en) * 2016-09-06 2018-03-13 南京中兴软件有限责任公司 The wiring method and device of three-state content addressing memory TCAM tables
CN107846357A (en) * 2017-12-22 2018-03-27 杭州迪普科技股份有限公司 A kind of message forwarding method and device based on stream definition

Also Published As

Publication number Publication date
CN111083068A (en) 2020-04-28

Similar Documents

Publication Publication Date Title
US11172023B2 (en) Data synchronization method and system
US9401958B2 (en) Method, apparatus, and system for migrating user service
WO2016202051A1 (en) Method and device for managing active and backup nodes in communication system and high-availability cluster
US11892922B2 (en) State management methods, methods for switching between master application server and backup application server, and electronic devices
CN110166355B (en) Message forwarding method and device
WO2022036901A1 (en) Implementation method and apparatus for redis replica set
US11889330B2 (en) Methods and related devices for implementing disaster recovery
CN110351127B (en) Graceful restart method, device and system
CN102394914A (en) Cluster brain-split processing method and device
US20150200802A1 (en) Systems and methods for improved fault tolerance in solicited information handling systems
WO2017000832A1 (en) Mac address synchronization method, device and system
WO2016180005A1 (en) Method for processing virtual machine cluster and computer system
CN110633168A (en) Data backup method and system for distributed storage system
WO2012097588A1 (en) Data storage method, apparatus and system
WO2019174454A1 (en) Link recovery method and device, system, storage medium, and electronic device
CN108243102B (en) Method for realizing fast rerouting and PE equipment
CN110943928B (en) Method for synchronizing forwarding information states, controller, network forwarding device and storage medium
CN111314098A (en) Method and device for realizing VIP address drift in HA system
JP2000250771A (en) Server duplication system
WO2020083271A1 (en) Aggregated link convergence method and apparatus, and storage medium
US11063859B2 (en) Packet processing method and network device
CN117459482A (en) Restarting method and device of switch, storage medium and electronic device
US20220166829A1 (en) Data Synchronization Method and Apparatus
US9350621B2 (en) Synchronization after restart of a FC switch
WO2021244588A1 (en) Method for processing routing message, communication device, storage medium, and system

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19877278

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19877278

Country of ref document: EP

Kind code of ref document: A1