WO2022105731A1 - Data packet transmission port refresh method and device - Google Patents

Data packet transmission port refresh method and device Download PDF

Info

Publication number
WO2022105731A1
WO2022105731A1 PCT/CN2021/130838 CN2021130838W WO2022105731A1 WO 2022105731 A1 WO2022105731 A1 WO 2022105731A1 CN 2021130838 W CN2021130838 W CN 2021130838W WO 2022105731 A1 WO2022105731 A1 WO 2022105731A1
Authority
WO
WIPO (PCT)
Prior art keywords
port
data packet
output port
output
target
Prior art date
Application number
PCT/CN2021/130838
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 WO2022105731A1 publication Critical patent/WO2022105731A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/31Flow control; Congestion control by tagging of packets, e.g. using discard eligibility [DE] bits
    • 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 present invention relates to the technical field of port polling and refreshing, in particular to a method and device for refreshing a data packet transmission port.
  • the bottom-level table brushing method usually adopts the conventional index+hash value+port, and the traditional port polling table brushing method.
  • This method of brushing the table has exposed many problems with the increase of traffic on the existing network, such as insufficient logic processing performance, packet loss due to excessive bandwidth on the interface, etc., many manufacturers have to consider upgrading and replacing equipment, or Increase the number of downstream output ports in the output port group to avoid the problem of packet loss at the egress.
  • the early ETH, GE ports, and 10G ports occupy relatively little space on service boards or interface boards, and the board density can be made higher.
  • high-performance service boards basically support 100G, and may support 400G or even higher in the future.
  • the cfp2 port occupies a large space.
  • Even the physical port space of QSFP28 is twice that of the 10G port.
  • a hash operation is required, and the traffic is relatively balanced when it is transferred out.
  • the problem now is that when 5G devices are launched in batches and data packets need to be redistributed, if the interface of the service module cannot be fully utilized, the number of service boards or interface boards will have to be increased, which will greatly increase the production cost. Not to mention the green network.
  • the technical problem to be solved by the present invention is that in the prior art using the hash value for pairing, when the hash value of the underlying table entry and the port port are not correspondingly equal, the flow rate of a single output port or some output ports will be very large, even exceeding The bandwidth of the interface leads to packet loss, and the traffic on some interfaces is very small, so the bandwidth of the interface cannot be used reasonably.
  • the same source and the same sink for packets cannot be guaranteed, that is, the same session. The traffic cannot be forwarded to the same physical interface or reach the same server, and the end user cannot guarantee the accuracy of the traffic when collecting traffic.
  • the present invention adopts following technical scheme:
  • the present invention provides a method for refreshing a data packet transmission port. After the obtained data packet obtains a corresponding hash value according to a specified hash calculation rule, it is designated to a target output port according to a preset mapping relationship for data packet processing.
  • the output of the method includes:
  • the data packet-output port relationship table records the mapping relationship between the number of data packets in each time period and each target output port ;
  • the total amount of data packets corresponding to each output port is calculated recursively; after one or more rounds of adjustment and calculation, the average degree of the total amount of data packets corresponding to each output port reaches a preset level
  • the weight value and/or offset of the condition is used as a parameter for adjusting the mapping relationship between the data packet and the target output port, so that the newly received data packet is transmitted according to the adjusted mapping relationship.
  • the default weight value corresponding to each port is 1, and each corresponding port cooperates to complete the transmission of each data packet under the respective associated hash value according to a preset polling sequence;
  • the weight is a natural number. After setting the weight value to n for the first target port, when polling the mapping relationship between the corresponding hash value and the target port, the first target port is located at the first target port and the first target port after the polling sequence of the original first target port. The first target port under n-1 times of polling is inserted between the two target ports, so that the data packets originally polled and output from the second port, the third port, ..., and the n-1th port are all polled by the The first target port is output; further, when the n+1th polling is performed, it will be restored to the second target port for data packet output;
  • the above-mentioned repeating n-1 times of the first target port polling is still performed according to the weight value of n. Then, poll the remaining target ports in sequence;
  • the corresponding default weight value in the original polling sequence is 1, the polling interval between the second target port and the first target port is the default weight value 1; the m target ports whose original default weight value is 1 m polling operations for m target ports are replaced by m+n-1 polling operations for m target ports.
  • the default offset between each output port is 1, and the increase of the offset during the polling of the output port is used for each time after polling for all output ports is performed, in the next cycle
  • the first target port in the polling of the current cycle is obtained by offsetting the corresponding offset from the first target port in the polling of the previous cycle;
  • the output port forms an offset closed loop. Specifically, after the offset is increased, if the port number exceeds the maximum port number, the corresponding jump to the minimum port is performed to complete the operation of increasing the offset to find the first target port in the current cycle.
  • the data packet-output port relationship table includes a column of index numbers, a column of data packet groups corresponding to each index number, and an output port for outputting each data packet included in the corresponding data group, specifically:
  • Described index number is the ID value of table item bit width, and its value completes the index establishment of table item from small to large, and as the index number of corresponding data packet grouping;
  • the data packet grouping is the total amount of data packets output from the same port, which is counted according to a preset time length or a preset total amount of data flow;
  • the output port for outputting each data packet included in the corresponding data packet is represented in the default original table as each output port number is periodically associated with each index number according to the polling sequence.
  • the total amount of data packets corresponding to each output port after each round of adjustment is calculated recursively, specifically including:
  • the amount of included data packets is used as a discrete relationship curve of the ordinate; thus a corresponding discrete relationship curve is obtained for each data packet-output port relationship table;
  • the increase of the weight value for the specified output port is represented by the compression of the abscissa and the extension of the ordinate corresponding to the specified area of the corresponding discrete relationship curve; wherein the extension of the ordinate is the ordinate value corresponding to the compressed abscissa. to accumulate;
  • the increase of the offset is manifested by inserting a vacancy whose ordinate is 0 in the specified area of the discrete relationship curve;
  • the discrete relationship corresponding to each analyzed data packet-output port relationship table After adjusting the discrete relationship curve corresponding to each data packet-output port relationship table according to the weight value and/or the offset, the discrete relationship corresponding to each analyzed data packet-output port relationship table The curve is fitted, and if the smoothness of the fitted curve reaches the preset condition, the corresponding weight value and/or offset adjustment parameter is used as the weight value and/or offset that meets the preset condition.
  • the data packet-output port relationship table is based on the unit time or the total number of packets as a derivation basis; wherein, if the total number of recorded data packets reaches the total number of packets, then a table of the A data packet-output port relationship table; or, when the recorded data packet grouping time reaches the unit time, a data packet-output port relationship table is derived.
  • the specified hash calculation rule includes one or more of a mac calculation method, a sip+dip binary calculation method, and a sip+dip+sport+dport quaternary calculation method.
  • the timing when the refresh method is triggered includes:
  • the present invention also provides a device for refreshing a data packet transmission port, which is used to implement the method for refreshing a data packet transmission port described in the first aspect, and the device includes:
  • the at least one processor and a memory communicatively coupled to the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the processor for The method for refreshing the data packet transmission port described in the first aspect is performed.
  • the present invention also provides a non-volatile computer storage medium storing computer-executable instructions, the computer-executable instructions being executed by one or more processors for completing the first The refresh method of the data packet transmission port described in the aspect.
  • the present invention can not only ensure the same source and the same sink of the data packets, but also ensure the bandwidth of the downlink output port interface by configuring different interface weights and bottom layer offset positions for different current network traffic. maximum use. Regardless of the current network traffic, you can configure and adjust the optimal balance effect through the interface weight + underlying offset brushing method according to the characteristics of the current network traffic.
  • FIG. 1 is a schematic flowchart of a method for refreshing a data packet transmission port according to an embodiment of the present invention
  • FIG. 2 is a schematic diagram of a data packet-output port relationship table provided by an embodiment of the present invention.
  • FIG. 3 is a schematic diagram of a data packet-output port relationship table provided by an embodiment of the present invention.
  • FIG. 4 is a schematic diagram of a data packet-output port relationship table provided by an embodiment of the present invention.
  • FIG. 5 is a schematic diagram of a data packet-output port relationship table provided by an embodiment of the present invention.
  • FIG. 6 is a schematic structural diagram of a device for refreshing a data packet transmission port according to an embodiment of the present invention.
  • Solution 1 of the prior art through the method of index+hash value+port, traditional hash algorithms (such as mac algorithm, sip+dip binary algorithm, sip+dip+sport+dport quaternary algorithm or self-defined algorithm, etc.), regardless of The advantage of which algorithm is that it can ensure the same source and the same destination for data packets.
  • the disadvantage is that when the current network traffic is relatively balanced (the balance here does not refer to the forwarding balance, the hash value calculated when the traffic is balanced is easy to calculate to a position) , in short, when the current network traffic passes the XOR algorithm, the calculated hash value is in the entry corresponding to the port port. It is very likely that the hash value corresponding to the port entry is uneven, so that when the traffic is transferred out, the Uneven occurs.
  • the traffic of a single output port or some of the output ports will be very large, or even exceed the interface bandwidth, resulting in packet loss, while the traffic of some interfaces is very small, resulting in the interface bandwidth cannot be reasonably used. .
  • Solution 2 of the prior art the form of index+interface
  • this method does not look at the hash value, and polls the output. For example, there are 5 output ports, which are 1 to 5 respectively, and the data packets will be polled and output in the 1-5 ports. .
  • the advantage can ensure that the packets are output in a balanced manner, and the interface bandwidth can be used to the maximum. The accuracy of the flow cannot be guaranteed.
  • the port and the interface are not strictly distinguished, that is, the corresponding port can be understood as the interface involved in the background technology, and the corresponding interface and the output port in different embodiments are expressed , can be understood as two expressions of the same technical concept.
  • Embodiment 1 is a diagrammatic representation of Embodiment 1:
  • Embodiment 1 of the present invention provides a method for refreshing a data packet transmission port. After the obtained data packet obtains a corresponding hash value according to a specified hash calculation rule, it is designated to a target output port according to a preset mapping relationship for data packet processing. Output, wherein, the specified hash calculation rule includes one or more of the mac calculation method, the sip+dip binary calculation method, and the sip+dip+sport+dport quaternary calculation method, as shown in Figure 1, Methods include:
  • step 201 a data packet-output port relationship table in multiple adjacent time periods is obtained; wherein, the data packet-output port relationship table records the number of data packets in each time period and each target output port the mapping relationship between them.
  • step 202 the data packet-output port relationship table is adjusted by adding a weight mode of continuous occurrence of the output port to a designated output port, and/or adding an offset mode when the output port is polled.
  • step 203 the total amount of data packets corresponding to each output port after each round of adjustment is calculated recursively; after one or more rounds of adjustment and calculation, the total amount of data packets corresponding to each output port is calculated
  • the weight value and/or offset whose average degree reaches the preset condition is used as a parameter for adjusting the mapping relationship between the data packet and the target output port, so that the newly received data packet is transmitted according to the adjusted mapping relationship.
  • the timing of triggering the refresh method includes: when receiving a network management alarm and/or syslog log, judge whether the weight value and/or offset need to be adjusted according to the bandwidth usage of the output port; if necessary, according to the generated optimal cache table item, use the refresh method to configure the weight value and/or offset of the output port.
  • the hash algorithm under the condition that the hash algorithm is fixed, for different current network traffic, by configuring different interface weights and bottom layer offset positions, it can not only ensure the same source and the same sink for data packets, but also ensure the downstream output port interface. Maximum utilization of bandwidth. Regardless of the current network traffic, you can configure and adjust the optimal balance effect through the interface weight + underlying offset brushing method according to the characteristics of the current network traffic.
  • adding a switch control for whether to generate a packet-output port relationship table, and checking it all the time will consume resources. You can choose to enable the detection switch when the port goes online for the first time or when a port reaches the rate threshold.
  • the default weight value corresponding to each port is 1, and each corresponding port cooperates to complete the transmission of each data packet under the respective associated hash value according to the preset polling sequence;
  • the weight is a natural number. After setting the weight value to n for the first target port, when polling the mapping relationship between the corresponding hash value and the target port, the first target port is located at the first target port and the first target port after the polling sequence of the original first target port. The first target port under n-1 times of polling is inserted between the two target ports, so that the data packets originally polled and output from the second port, the third port, ..., and the n-1th port are all polled by the The first target port is output; further, when the n+1th polling is performed, it will be restored to the second target port for data packet output;
  • the above-mentioned repeating n-1 times of the first target port polling is still performed according to the weight value of n. Then, poll the remaining target ports in sequence;
  • the corresponding default weight value in the original polling sequence is 1, the polling interval between the second target port and the first target port is the default weight value 1; the m target ports whose original default weight value is 1 m polling operations for m target ports are replaced by m+n-1 polling operations for m target ports.
  • the default offset between each output port is 1, and the increase of the offset when the output port is polled is used to start the polling in the next cycle after each polling for all output ports is performed.
  • the first target port in the polling of the previous cycle is offset by the corresponding offset, the new first target port in the polling of the current cycle is obtained; among them, all the output ports owned constitute An offset closed loop, specifically, if the port number exceeds the maximum port number after the offset is increased, the corresponding jump to the minimum port is performed to complete the operation of increasing the offset to find the first target port in the current cycle.
  • the data packet-output port relationship table includes a column of index numbers (index column in the figure), a column of data packet groups corresponding to each index number (hash value in the figure), which is used for outputting the corresponding data packets in the
  • the output port of each data packet included specifically:
  • Described index number is the ID value of table item bit width, and its value completes the index establishment of table item from small to large, and as the index number of corresponding data packet grouping;
  • the data packet grouping is the total amount of data packets output from the same port, which is counted according to a preset time length or a preset total amount of data flow;
  • the output port for outputting each data packet included in the corresponding data packet is represented in the default original table as each output port number is periodically associated with each index number according to the polling sequence.
  • the total amount of data packets corresponding to each output port after each round of adjustment is calculated in a recursive manner, and the details are as follows:
  • the amount of included data packets is used as a discrete relationship curve of the ordinate; thus a corresponding discrete relationship curve is obtained for each data packet-output port relationship table;
  • the increase of the weight value for the specified output port is represented by the compression of the abscissa and the extension of the ordinate corresponding to the specified area of the corresponding discrete relationship curve; wherein the extension of the ordinate is the ordinate value corresponding to the compressed abscissa. to accumulate;
  • the increase of the offset is manifested by inserting a vacancy whose ordinate is 0 in the specified area of the discrete relationship curve;
  • the discrete relationship corresponding to each analyzed data packet-output port relationship table After adjusting the discrete relationship curve corresponding to each data packet-output port relationship table according to the weight value and/or the offset, the discrete relationship corresponding to each analyzed data packet-output port relationship table The curve is fitted, and if the smoothness of the fitted curve reaches the preset condition, the corresponding weight value and/or offset adjustment parameter is used as the weight value and/or offset that meets the preset condition.
  • the data packet-output port relationship table is derived based on the unit time or the total number of packets; wherein, the total number of recorded data packets arrives at the total number of packets number, then derive a data packet-output port relationship table; or, when the recorded data packet grouping time reaches the unit time, then derive a data packet-output port relationship table.
  • the hash algorithm under the condition that the hash algorithm is fixed, for different current network traffic, by configuring different interface weights and bottom layer offset positions, it can not only ensure the same source and the same sink for data packets, but also ensure the downstream output port interface. Maximum utilization of bandwidth. Regardless of the traffic on the live network, you can configure and adjust the optimal balance effect by brushing the interface weight + bottom layer offset according to the traffic characteristics of the live network.
  • This embodiment of the present invention is a specific presentation of the data packet-output port relationship table involved in Embodiment 1, and for the associated data involved, it corresponds to the specific weight value and offset in the solution implementation process,
  • the traffic is N packets
  • the sum of the hash values corresponding to index 0 to 2047 is N
  • the corresponding hash values of the port table are as follows. 0 to 4 in the port table correspond to ports 1 to 5 in the port group respectively, then all the hash values corresponding to all 0s in the port table are the traffic output from the 1 interface (here, the 1 interface is mapped with the corresponding port value of 0). , all the hash values corresponding to 1 correspond to the traffic output by interface 2... .
  • the packets output by interface 1 correspond to the hash value corresponding to port table 0, then the number of packets output by 1 is 8123+1638+6782+1157+... (the sum of all positions corresponding to port table 0);
  • the packets output by interface 2 correspond to the hash value corresponding to port table 1, then the number of packets output by 2 is 216+25+14738+24657+... (corresponding to the sum of all positions in port table 1);
  • the packets output by interface 3 correspond to the hash value corresponding to port table 2, then the number of packets output by 3 is 3105+678+13456+... (the sum of all positions corresponding to port table 2);
  • the packets output by interface 4 correspond to the hash value corresponding to port table 3, then the number of packets output by 4 is 3105+678+6782+13456+... (corresponding to the sum of all positions in port table 3);
  • the packets output by interface 5 correspond to the hash value corresponding to port table 4, then the number of packets output by 5 is 2506+987+2345+... (the sum of all positions corresponding to port table 4);
  • the bit width of the underlying table entry is 2048, and there are 5 downlink output ports in the port group. For example, configure the interface weight.
  • the default interface weight is 1.
  • the second table, the corresponding table entry of the bottom port port is 001234 ⁇ 001234 ⁇ 001234... A total of 2048 table entries are cycled;
  • the configuration weight of port 2 is 3, and the weight of port 4 is configured to be 5, that is, the port table corresponding to port 2 will be refreshed 3 times, and the port table corresponding to port 4 will be refreshed 5 times, then the corresponding entry of the underlying port port is 01112344444 ⁇ 01112344444 ⁇ 01112344444 hence A total of 2048 entries are circulated;
  • the bit width of the bottom table entry is 2048, and there are 5 downstream output ports in the port group. For example, if the bottom table entry offset is 2, that is, after each round of table entries is flushed, the next position will be shifted to the right by 2 If the table starts to be refreshed from the first position, the corresponding table entries of the bottom port are 01234 ⁇ 23401 ⁇ 43012 ⁇ 01234... A total of 2048 table entries are circulated.
  • the bit width of the bottom table entry is 2048, and there are 5 downstream output ports in the port group. For example, if the bottom table entry offset is 3, that is, after each round of table entries is flushed, the next position will be shifted to the right by 2 If the table starts to be refreshed from the first position, the corresponding table entries of the bottom port are 01234 ⁇ 34012 ⁇ 12340 ⁇ 40123... A total of 2048 table entries are circulated.
  • the bit width of the underlying table entry is 2048, and there are 5 downlink output ports in the port group as an example.
  • the port weight of port 1 is 3 and the offset is 2, that is, the port table corresponding to port 1 will be flushed 3 times, and each flush is completed. After one round of entries, the next position will start to refresh the table at two positions to the right, and the corresponding entries of the bottom port are 0001234 ⁇ 0123400 ⁇ 2340001 ⁇ mecanical.
  • bit width of the bottom table entry is 2048, and there are 5 downlink output ports in the port group.
  • the brush table is shown in Figure 4.
  • the corresponding hash values of the port table are as follows. 0 to 4 in the port table correspond to ports 1 to 5 in the port group respectively, then all the hash values corresponding to all 0s in the port table are the traffic output by port 1, and all hash values corresponding to 1 are the traffic output by port 2... ...
  • the packets output by interface 1 correspond to the hash value corresponding to port table 0, then the number of packets output by 1 is 8123+216+11003+456+222849+... (the sum of all positions corresponding to port table 0);
  • the packets output by interface 3 correspond to the hash value corresponding to port table 1, then the number of packets output by 2 is 3105+678+... (the sum of all positions corresponding to port table 1);
  • the packets output by interface 3 correspond to the hash value corresponding to port table 1, then the number of packets output by 2 is 2506+987+2345+... (the sum of all positions corresponding to port table 1);
  • the packets output by interface 4 correspond to the hash value corresponding to port table 2, then the number of packets output by 3 is 1638+6782+1157+... (the sum of all positions corresponding to port table 2);
  • the packets output by interface 5 correspond to the hash value corresponding to port table 4, then the number of packets output by 5 is 25+14738+24567+... (the sum of all positions corresponding to port table 4);
  • the solution of this embodiment of the present invention is based on the unbalanced forwarding of the outgoing interface traffic in the current network traffic, and when the total forwarding bandwidth is within 90% of the total bandwidth of the physical interface, (why is not 100%, because no matter how the adjustment is made, there will be deviations, including that the traffic may have Burst, forwarding delay, etc., 1 to 1 bandwidth forwarding cannot be guaranteed, 90% of which is already a very high bandwidth utilization of the output interface).
  • try to balance the output of each output port ensure the reasonable utilization of the bandwidth of each physical output port to the greatest extent, and ensure that the current network traffic is forwarded in the same source and the same destination under the condition of balance.
  • the optimal balanced forwarding effect is adjusted through the underlying table items, and the bandwidth of all output interfaces is maximized to achieve the purpose of saving the number of output ports, and further achieve the purpose of saving boards, and ultimately achieve no waste and savings. cost purpose.
  • the software calculates several optimal entries according to the number of hash values.
  • the software calculates the permutation and combination that can be set for each interface weight.
  • the interface weight can be configured in the range of 1 to 5, and the interface weight is 1 1 1 1 1, 1 1 1 1 2, 1 1 1 1 3... all the way to 5 5 5 5 5 5 A total of 32 entries.
  • brush the table in combination with the offset For example, the configurable offset is in the range of 1 to 5.
  • the output traffic conditions are compared, and the first N (N can be matched) optimal table entry caches are selected, and the intersection of multiple optimal table entries per unit time is combined to finally select the same optimal table entry.
  • the last entry can be used as the basis for us to configure the interface weight and offset.
  • This table is only used to find the relationship between the hash value and the port table, and it is not really sent to the bottom layer. Why not use automatic adjustment? Considering the large fluctuation of the current network traffic, if it is adjusted frequently, it will violate the packet synchronization.
  • the forwarding principle is based on the same source and the same sink.
  • the current solution uses the form of alarms or logs.
  • the device When the difference between the maximum rate and the minimum traffic rate of the member interfaces of a port group exceeds the configured threshold, or the rate of a single interface exceeds the bandwidth, the device sends an alarm or records a log.
  • the operation and maintenance personnel receive the network management alarm and syslog log, they can judge whether the underlying table entry needs to be adjusted according to the bandwidth usage of the interface. Interface weight and underlying table entry offset. Whether or not to generate bottom-level entries can also be controlled by switches. When not needed, there is no need to waste software resources.
  • the purpose of the invention is to make the bandwidth of all downlink output port members in the port group under the premise of ensuring the same source and same sink for data packets.
  • FIG. 6 it is a schematic structural diagram of an apparatus for refreshing a data packet transmission port according to an embodiment of the present invention.
  • the device for refreshing the data packet transmission port in this embodiment includes one or more processors 21 and a memory 22 .
  • one processor 21 is taken as an example in FIG. 6 .
  • the processor 21 and the memory 22 may be connected through a bus or in other ways, and the connection through a bus is taken as an example in FIG. 6 .
  • the memory 22 can be used to store non-volatile software programs and non-volatile computer-executable programs, such as the method for refreshing a data packet transmission port in Embodiment 1.
  • the processor 21 executes the refreshing method of the data packet transmission port by running the non-volatile software programs and instructions stored in the memory 22 .
  • Memory 22 may include high speed random access memory, and may also include nonvolatile memory, such as at least one magnetic disk storage device, flash memory device, or other nonvolatile solid state storage device. In some embodiments, memory 22 may optionally include memory located remotely from processor 21, which may be connected to processor 21 via a network. Examples of such networks include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
  • the program instructions/modules are stored in the memory 22, and when executed by the one or more processors 21, execute the method for refreshing the data packet transmission port in the above-mentioned Embodiment 1, for example, execute the above-described diagram. 1 for each step shown.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The present invention relates to the technical field of port polling refresh, and provides a data packet transmission port refresh method and device. The method comprises: acquiring a data packet-output port relationship table in a plurality of adjacent time periods; increasing a weight mode of continuous occurrence of an output port for a specified output port, and/or increasing an offset mode during the polling of the output port to adjust the data packet-output port relationship table; by means of a recursive manner, calculating the total number of data packets corresponding to each output port after each round of adjustment; after one or more rounds of adjustment and calculation, using a weight value and/or offset for which the average degree of the total amount of data packets of each corresponding output port reaches a preset condition as parameters to adjust the mapping relationship between the data packets and a target output port, so that a newly received data packet is transmitted according to the adjusted mapping relationship. The present invention can not only ensure the same source and same destination of a data message, but also ensure the maximum utilization of the bandwidth of a downlink output interface.

Description

一种数据包传输端口的刷新方法和装置A method and device for refreshing a data packet transmission port 【技术领域】【Technical field】
本发明涉及port轮询刷新技术领域,特别是涉及一种数据包传输端口的刷新方法和装置。The present invention relates to the technical field of port polling and refreshing, in particular to a method and device for refreshing a data packet transmission port.
【背景技术】【Background technique】
现代信息化高速发展的信息时代,随着现网中流量的剧增,对网络安全设备不仅是处理性能还是接口带宽都有了更高的要求,在运营商提倡环保、绿色网络的前提下,对设备的体积、散热、功耗等都有了更高的要求。In the information age with the rapid development of modern informatization, with the sharp increase of traffic in the existing network, there are higher requirements for network security equipment not only processing performance but also interface bandwidth. There are higher requirements for the size, heat dissipation, and power consumption of the equipment.
对网络安全设备这一块,节能降耗会是各大厂商需要突破的难题。针对业务板或者接口板而言,对业务板物理接口密度也有了更高的要求,所以对于上行接口、下行接口的规划,包括输出接口带宽的利用率也将会是各大硬件厂商考虑的核心技术。For network security equipment, energy saving and consumption reduction will be a problem that major manufacturers need to break through. For service boards or interface boards, there are also higher requirements for the density of physical interfaces of service boards. Therefore, the planning of uplink and downlink interfaces, including the utilization of output interface bandwidth, will also be the core consideration of major hardware manufacturers. technology.
现有技术上,底层刷表方式通常采用常规index+hash值+port,传统的port轮询刷表方式。该刷表方式让早期上线运行的设备随着现网流量的增大已经暴露出不少问题,如逻辑处理性能不够,接口超带宽丢包等等,很多厂商不得不考虑升级替换设备,或在输出端口组中增加下行输出口数量来规避出口丢包问题。In the prior art, the bottom-level table brushing method usually adopts the conventional index+hash value+port, and the traditional port polling table brushing method. This method of brushing the table has exposed many problems with the increase of traffic on the existing network, such as insufficient logic processing performance, packet loss due to excessive bandwidth on the interface, etc., many manufacturers have to consider upgrading and replacing equipment, or Increase the number of downstream output ports in the output port group to avoid the problem of packet loss at the egress.
早期业务板卡和当前业务板卡对比,早期ETH、GE口、10G口占用业务板或接口板空间相对较小,板卡密度可以做得较高,近几年高性能业务板卡基本都支持100G,后续可能会支持400G,甚至更高,就100G物理接口而言,cfp2口占空间很大,即使QSFP28的物理口空间也是10G口的两倍,且之前现网流量大多只进行一次分流,只需要进行一次hash运算,流量转出时相对较均衡。现在面临的问题是,当5G设备批量上线,且数据报文需要进行二次分流的话,如果业 务板块接口不能得到充分利用,将不得不增加业务板或接口板数量,这样大大的提高生产成本,更就谈不上绿色环保网络了。Compared with the current service boards, the early ETH, GE ports, and 10G ports occupy relatively little space on service boards or interface boards, and the board density can be made higher. In recent years, high-performance service boards basically support 100G, and may support 400G or even higher in the future. As far as 100G physical interfaces are concerned, the cfp2 port occupies a large space. Even the physical port space of QSFP28 is twice that of the 10G port. A hash operation is required, and the traffic is relatively balanced when it is transferred out. The problem now is that when 5G devices are launched in batches and data packets need to be redistributed, if the interface of the service module cannot be fully utilized, the number of service boards or interface boards will have to be increased, which will greatly increase the production cost. Not to mention the green network.
鉴于此,克服该现有技术所存在的缺陷是本技术领域亟待解决的问题。In view of this, overcoming the defects of the prior art is an urgent problem to be solved in the technical field.
【发明内容】[Content of the invention]
本发明要解决的技术问题是现有技术中利用hash值进行配对方式中,当底层表项hash值和port口对应不均时,就会出现单个输出口或部分输出口流量非常大,甚至超过接口带宽导致丢包,而部分接口流量又非常小,导致接口带宽不能合理利用;另一方面,现有技术中利用轮询方式进行配对方式中,无法保证报文的同源同宿,即同一会话的流量无法转发到同一个物理接口输出或到达同一服务器,最终用户在采集流量时不能保证流量的准确性。The technical problem to be solved by the present invention is that in the prior art using the hash value for pairing, when the hash value of the underlying table entry and the port port are not correspondingly equal, the flow rate of a single output port or some output ports will be very large, even exceeding The bandwidth of the interface leads to packet loss, and the traffic on some interfaces is very small, so the bandwidth of the interface cannot be used reasonably. On the other hand, in the prior art using the polling method for pairing, the same source and the same sink for packets cannot be guaranteed, that is, the same session. The traffic cannot be forwarded to the same physical interface or reach the same server, and the end user cannot guarantee the accuracy of the traffic when collecting traffic.
本发明采用如下技术方案:The present invention adopts following technical scheme:
第一方面,本发明提供了一种数据包传输端口的刷新方法,获取到的数据包在按照指定hash计算规则得到对应hash值之后,按照预设的映射关系被指定到目标输出端口进行数据包的输出,方法包括:In the first aspect, the present invention provides a method for refreshing a data packet transmission port. After the obtained data packet obtains a corresponding hash value according to a specified hash calculation rule, it is designated to a target output port according to a preset mapping relationship for data packet processing. The output of the method includes:
获取相邻多个时间段内的数据包-输出端口关系表;其中,所述数据包-输出端口关系表中记载了每一个时间段内的数据包数量与各个目标输出端口之间的映射关系;Obtain the data packet-output port relationship table in multiple adjacent time periods; wherein, the data packet-output port relationship table records the mapping relationship between the number of data packets in each time period and each target output port ;
对指定输出端口增加输出端口连续出现的权重方式,和/或在输出端口轮询时增加偏移量方式调整所述数据包-输出端口关系表;adding a weighting method for the continuous appearance of the output port to a designated output port, and/or adjusting the data packet-output port relationship table by adding an offset method when the output port is polled;
通过递归的方式计算出每一轮调整后,对应于各个输出端口的数据包总量;在经过一轮或者多轮调整和计算后,将相应各个输出端口的数据包总量平均程度达到预设条件的权重值和/或偏移量,作为调整数据包与目标输出端口之间映射关系的参数,使得新接收到数据包按照调整后的映射关系进行传输。After each round of adjustment, the total amount of data packets corresponding to each output port is calculated recursively; after one or more rounds of adjustment and calculation, the average degree of the total amount of data packets corresponding to each output port reaches a preset level The weight value and/or offset of the condition is used as a parameter for adjusting the mapping relationship between the data packet and the target output port, so that the newly received data packet is transmitted according to the adjusted mapping relationship.
优选的,默认对应每一个端口的权重值为1,相应的各个端口按照预设的轮询顺序,配合完成各自关联hash值下的各个数据包的传输;Preferably, the default weight value corresponding to each port is 1, and each corresponding port cooperates to complete the transmission of each data packet under the respective associated hash value according to a preset polling sequence;
所述权重为自然数,在对第一目标端口设置权重值为n后,进行相应hash 值与目标端口映射关系轮询时,在位于第一目标端口和原本第一目标端口轮询顺序之后的第二目标端口之间塞入n-1个轮询次数下的第一目标端口,使得原本从第二端口、第三端口、…、第n-1端口轮询输出的数据包,均由所述第一目标端口输出;进一步的,在执行第n+1次轮询将恢复到第二目标端口进行数据包输出;The weight is a natural number. After setting the weight value to n for the first target port, when polling the mapping relationship between the corresponding hash value and the target port, the first target port is located at the first target port and the first target port after the polling sequence of the original first target port. The first target port under n-1 times of polling is inserted between the two target ports, so that the data packets originally polled and output from the second port, the third port, ..., and the n-1th port are all polled by the The first target port is output; further, when the n+1th polling is performed, it will be restored to the second target port for data packet output;
其中,在完成所拥有的目标端口的轮询后,周期性的重新回到第一目标端口进行数据包输出时,仍然按照权重值为n执行上述的重复n-1次第一目标端口轮询后,再按顺序轮询完剩余的目标端口;Among them, after completing the polling of the owned target port, when periodically returning to the first target port to output the data packet, the above-mentioned repeating n-1 times of the first target port polling is still performed according to the weight value of n. Then, poll the remaining target ports in sequence;
其中,原本轮询顺序中对应默认权重值为1中,第二目标端口与第一目标端口之间的轮询间隔为所述默认权重值1;原本默认权重值为1下的m个目标端口的m次轮询操作,更替为m个目标端口的m+n-1次轮询操作。Wherein, the corresponding default weight value in the original polling sequence is 1, the polling interval between the second target port and the first target port is the default weight value 1; the m target ports whose original default weight value is 1 m polling operations for m target ports are replaced by m+n-1 polling operations for m target ports.
优选的,默认的各个输出端口之间的偏移量为1,所述输出端口轮询时增加偏移量是用于在每次在执行完针对所有输出端口的轮询后,在下一个周期的轮询开始时候,从位于前一周期的轮询中的第一个目标端口做相应偏移量的偏移后得到当前周期的轮询中的新的第一个目标端口;其中,拥有的所有输出端口构成一个偏移闭环,具体为在增加偏移量之后若端口号超出最大端口号,则相应的跳转到最小端口完成相应增加偏移量寻找到当前周期第一个目标端口的操作。Preferably, the default offset between each output port is 1, and the increase of the offset during the polling of the output port is used for each time after polling for all output ports is performed, in the next cycle When the polling starts, the first target port in the polling of the current cycle is obtained by offsetting the corresponding offset from the first target port in the polling of the previous cycle; The output port forms an offset closed loop. Specifically, after the offset is increased, if the port number exceeds the maximum port number, the corresponding jump to the minimum port is performed to complete the operation of increasing the offset to find the first target port in the current cycle.
优选的,所述数据包-输出端口关系表包括一列索引号、一列对应于各索引号的数据包分组、用于输出相应数据分组中包含的各数据包的输出端口,具体的:Preferably, the data packet-output port relationship table includes a column of index numbers, a column of data packet groups corresponding to each index number, and an output port for outputting each data packet included in the corresponding data group, specifically:
所述索引号为表项位宽的ID值,其值从小到大完成表项的索引建立,并作为相应数据包分组的索引编号;Described index number is the ID value of table item bit width, and its value completes the index establishment of table item from small to large, and as the index number of corresponding data packet grouping;
所述数据包分组为按照预设时间长度或者预设数据流总量统计下来的,从同一端口输出的数据包总量;The data packet grouping is the total amount of data packets output from the same port, which is counted according to a preset time length or a preset total amount of data flow;
用于输出相应数据分组中包含的各数据包的输出端口,在默认的原始表格为表现为各个输出端口号按照轮询的顺序周期性的与各个索引号对应关联。The output port for outputting each data packet included in the corresponding data packet is represented in the default original table as each output port number is periodically associated with each index number according to the polling sequence.
优选的,所述通过递归的方式计算出每一轮调整后,对应于各个输出端口的数据包总量,具体包括:Preferably, the total amount of data packets corresponding to each output port after each round of adjustment is calculated recursively, specifically including:
将各个数据包-输出端口关系表中的数据包分组,按照从大到下的顺序进行排列;Group the data packets in each data packet-output port relationship table and arrange them in descending order;
从排列的数据包分组中提取各数据包分组中包含的数据包量大于预设阈值的一个或者多个数据包分组和对应的索引号;生成由相应索引号作为横坐标,相应数据包分组中包含的数据包量作为纵坐标的离散关系曲线;从而针对每一张数据包-输出端口关系表得到对应的一离散关系曲线;Extract one or more data packet groups and corresponding index numbers whose data packets contained in each data packet group are greater than the preset threshold from the arranged data packet groups; The amount of included data packets is used as a discrete relationship curve of the ordinate; thus a corresponding discrete relationship curve is obtained for each data packet-output port relationship table;
其中,针对指定输出端口的权重值的增加表现为对应相应离散关系曲线指定区域范围进行横坐标压缩和纵坐标延伸;其中,所述纵坐标延伸为将其压缩的横坐标所对应的纵坐标值进行累加;Wherein, the increase of the weight value for the specified output port is represented by the compression of the abscissa and the extension of the ordinate corresponding to the specified area of the corresponding discrete relationship curve; wherein the extension of the ordinate is the ordinate value corresponding to the compressed abscissa. to accumulate;
其中,偏移量的增加表现为离散关系曲线中指定区域中插入纵坐标为0的空位;Among them, the increase of the offset is manifested by inserting a vacancy whose ordinate is 0 in the specified area of the discrete relationship curve;
在对每一张数据包-输出端口关系表所对应的离散关系曲线,按照权重值和/或偏移量调整后,将所分析的每一张数据包-输出端口关系表所对应的离散关系曲线进行拟合,若拟合后的曲线的平滑程度达到预设条件,则将相应的权重值和/或偏移量调整参数作为所述达到预设条件的权重值和/或偏移量。After adjusting the discrete relationship curve corresponding to each data packet-output port relationship table according to the weight value and/or the offset, the discrete relationship corresponding to each analyzed data packet-output port relationship table The curve is fitted, and if the smoothness of the fitted curve reaches the preset condition, the corresponding weight value and/or offset adjustment parameter is used as the weight value and/or offset that meets the preset condition.
优选的,所述数据包-输出端口关系表根据所述单位时间或总包个数作为导出依据;其中,所记录的数据包分组总量抵达所述总包个数,则导出一张所述数据包-输出端口关系表;或者,所记录的数据包分组时间抵达所述单位时间,则导出一张所述数据包-输出端口关系表。Preferably, the data packet-output port relationship table is based on the unit time or the total number of packets as a derivation basis; wherein, if the total number of recorded data packets reaches the total number of packets, then a table of the A data packet-output port relationship table; or, when the recorded data packet grouping time reaches the unit time, a data packet-output port relationship table is derived.
优选的,所述指定hash计算规则包括通过mac计算的方式、sip+dip二元计算方式和sip+dip+sport+dport四元计算方式中的一种或者多种。Preferably, the specified hash calculation rule includes one or more of a mac calculation method, a sip+dip binary calculation method, and a sip+dip+sport+dport quaternary calculation method.
优选的,刷新方法触发的时机包括:Preferably, the timing when the refresh method is triggered includes:
收到网管告警和/或syslog日志时,根据输出端口带宽的使用率判断是否需要调整权重值和/或偏移量;When receiving network management alarms and/or syslog logs, determine whether to adjust the weight value and/or offset according to the bandwidth usage of the output port;
若需要调整,则根据生成的最优缓存表项,使用刷新方法配置出输出端口 的权重值和/或偏移量。If adjustment is required, use the refresh method to configure the weight value and/or offset of the output port according to the generated optimal cache entry.
第二方面,本发明还提供了一种数据包传输端口的刷新装置,用于实现第一方面所述的数据包传输端口的刷新方法,所述装置包括:In a second aspect, the present invention also provides a device for refreshing a data packet transmission port, which is used to implement the method for refreshing a data packet transmission port described in the first aspect, and the device includes:
至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述处理器执行,用于执行第一方面所述的数据包传输端口的刷新方法。at least one processor; and a memory communicatively coupled to the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the processor for The method for refreshing the data packet transmission port described in the first aspect is performed.
第三方面,本发明还提供了一种非易失性计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,用于完成第一方面所述的数据包传输端口的刷新方法。In a third aspect, the present invention also provides a non-volatile computer storage medium storing computer-executable instructions, the computer-executable instructions being executed by one or more processors for completing the first The refresh method of the data packet transmission port described in the aspect.
本发明在hash算法固定的情况下,针对不同的现网流量,通过配置不同的接口权重和底层偏移的位置,既能保证数据报文的同源同宿、又能保证下行输出口接口带宽的最大利用。不管现网流量怎样,均可根据现网流量的特征,通过接口权重+底层偏移的刷表方式,配置调整出最优的均衡效果。Under the condition that the hash algorithm is fixed, the present invention can not only ensure the same source and the same sink of the data packets, but also ensure the bandwidth of the downlink output port interface by configuring different interface weights and bottom layer offset positions for different current network traffic. maximum use. Regardless of the current network traffic, you can configure and adjust the optimal balance effect through the interface weight + underlying offset brushing method according to the characteristics of the current network traffic.
【附图说明】【Description of drawings】
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍。显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。In order to describe the technical solutions of the embodiments of the present invention more clearly, the following briefly introduces the accompanying drawings that need to be used in the embodiments of the present invention. Obviously, the drawings described below are only some embodiments of the present invention, and for those of ordinary skill in the art, other drawings can also be obtained from these drawings without creative effort.
图1是本发明实施例提供的一种数据包传输端口的刷新方法流程示意图;1 is a schematic flowchart of a method for refreshing a data packet transmission port according to an embodiment of the present invention;
图2是本发明实施例提供的一种数据包-输出端口关系表示意图;2 is a schematic diagram of a data packet-output port relationship table provided by an embodiment of the present invention;
图3是本发明实施例提供的一种数据包-输出端口关系表示意图;3 is a schematic diagram of a data packet-output port relationship table provided by an embodiment of the present invention;
图4是本发明实施例提供的一种数据包-输出端口关系表示意图;4 is a schematic diagram of a data packet-output port relationship table provided by an embodiment of the present invention;
图5是本发明实施例提供的一种数据包-输出端口关系表示意图;5 is a schematic diagram of a data packet-output port relationship table provided by an embodiment of the present invention;
图6是本发明实施例提供的一种数据包传输端口的刷新装置结构示意图。FIG. 6 is a schematic structural diagram of a device for refreshing a data packet transmission port according to an embodiment of the present invention.
【具体实施方式】【Detailed ways】
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅 仅用以解释本发明,并不用于限定本发明。In order to make the objectives, technical solutions and advantages of the present invention clearer, the present invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention, but not to limit the present invention.
在本发明的描述中,术语“内”、“外”、“纵向”、“横向”、“上”、“下”、“顶”、“底”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明而不是要求本发明必须以特定的方位构造和操作,因此不应当理解为对本发明的限制。In the description of the present invention, the orientation or positional relationship indicated by the terms "inner", "outer", "longitudinal", "lateral", "upper", "lower", "top", "bottom", etc. are based on the drawings The orientation or positional relationship shown is only for the convenience of describing the present invention rather than requiring the present invention to be constructed and operated in a specific orientation, and therefore should not be construed as a limitation of the present invention.
现有技术方案一:通过index+hash值+port的方式、传统的hash算法(如mac算法,sip+dip二元算法、sip+dip+sport+dport四元算法或自定义算法等),不管是哪种算法优点是能够保证数据报文的同源同宿,缺点是当现网流量相对均衡时(这里的均衡不是指转发均衡,当流量均衡时计算出来的hash值很容易算到一个位置),简而言之是当现网流量通过异或算法后,计算出来的hash值在对应到port口的表项,极有可能出现hash值对应port表项不均,这样流量转出时就会出现不均。当底层表项hash值和port口对应不均时,就会出现单个输出口或部分输出口流量非常大,甚至超过接口带宽导致丢包,而部分接口流量又非常小,导致接口带宽不能合理利用。 Solution 1 of the prior art: through the method of index+hash value+port, traditional hash algorithms (such as mac algorithm, sip+dip binary algorithm, sip+dip+sport+dport quaternary algorithm or self-defined algorithm, etc.), regardless of The advantage of which algorithm is that it can ensure the same source and the same destination for data packets. The disadvantage is that when the current network traffic is relatively balanced (the balance here does not refer to the forwarding balance, the hash value calculated when the traffic is balanced is easy to calculate to a position) , in short, when the current network traffic passes the XOR algorithm, the calculated hash value is in the entry corresponding to the port port. It is very likely that the hash value corresponding to the port entry is uneven, so that when the traffic is transferred out, the Uneven occurs. When the hash value of the underlying table entry does not correspond to the port port, the traffic of a single output port or some of the output ports will be very large, or even exceed the interface bandwidth, resulting in packet loss, while the traffic of some interfaces is very small, resulting in the interface bandwidth cannot be reasonably used. .
现有技术方案二:index+接口的形式,这种方式不看hash值,轮询输出,例如输出口共5个口,分别是1~5口,数据报文会轮询在1-5口中输出。优点能够保证报文均衡输出,接口带宽能够最大的利用,缺点,无法保证报文的同源同宿,即同一会话的流量无法转发到同一个物理接口输出或到达同一服务器,最终用户在采集流量时不能保证流量的准确性。 Solution 2 of the prior art: the form of index+interface, this method does not look at the hash value, and polls the output. For example, there are 5 output ports, which are 1 to 5 respectively, and the data packets will be polled and output in the 1-5 ports. . The advantage can ensure that the packets are output in a balanced manner, and the interface bandwidth can be used to the maximum. The accuracy of the flow cannot be guaranteed.
在本发明后续实施例阐述中,并未严格区分端口和接口进行表述,即相应的端口可以理解就是背景技术中所涉及的接口,而且,在不同的实施例中相应的接口和输出端口的表述,可以理解为是同一技术概念的两种表述方式。In the description of the subsequent embodiments of the present invention, the port and the interface are not strictly distinguished, that is, the corresponding port can be understood as the interface involved in the background technology, and the corresponding interface and the output port in different embodiments are expressed , can be understood as two expressions of the same technical concept.
此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。In addition, the technical features involved in the various embodiments of the present invention described below can be combined with each other as long as they do not conflict with each other.
实施例1:Embodiment 1:
本发明实施例1提供了一种数据包传输端口的刷新方法,获取到的数据包在按照指定hash计算规则得到对应hash值之后,按照预设的映射关系被指定 到目标输出端口进行数据包的输出,其中,所述指定hash计算规则包括通过mac计算的方式、sip+dip二元计算方式和sip+dip+sport+dport四元计算方式中的一种或者多种,如图1所示,方法包括: Embodiment 1 of the present invention provides a method for refreshing a data packet transmission port. After the obtained data packet obtains a corresponding hash value according to a specified hash calculation rule, it is designated to a target output port according to a preset mapping relationship for data packet processing. Output, wherein, the specified hash calculation rule includes one or more of the mac calculation method, the sip+dip binary calculation method, and the sip+dip+sport+dport quaternary calculation method, as shown in Figure 1, Methods include:
在步骤201中,获取相邻多个时间段内的数据包-输出端口关系表;其中,所述数据包-输出端口关系表中记载了每一个时间段内的数据包数量与各个目标输出端口之间的映射关系。In step 201, a data packet-output port relationship table in multiple adjacent time periods is obtained; wherein, the data packet-output port relationship table records the number of data packets in each time period and each target output port the mapping relationship between them.
在步骤202中,对指定输出端口增加输出端口连续出现的权重方式,和/或在输出端口轮询时增加偏移量方式调整所述数据包-输出端口关系表。In step 202, the data packet-output port relationship table is adjusted by adding a weight mode of continuous occurrence of the output port to a designated output port, and/or adding an offset mode when the output port is polled.
在步骤203中,通过递归的方式计算出每一轮调整后,对应于各个输出端口的数据包总量;在经过一轮或者多轮调整和计算后,将相应各个输出端口的数据包总量平均程度达到预设条件的权重值和/或偏移量,作为调整数据包与目标输出端口之间映射关系的参数,使得新接收到数据包按照调整后的映射关系进行传输。In step 203, the total amount of data packets corresponding to each output port after each round of adjustment is calculated recursively; after one or more rounds of adjustment and calculation, the total amount of data packets corresponding to each output port is calculated The weight value and/or offset whose average degree reaches the preset condition is used as a parameter for adjusting the mapping relationship between the data packet and the target output port, so that the newly received data packet is transmitted according to the adjusted mapping relationship.
刷新方法触发的时机包括:收到网管告警和/或syslog日志时,根据输出端口带宽的使用率判断是否需要调整权重值和/或偏移量;若需要调整,则根据生成的最优缓存表项,使用刷新方法配置出输出端口的权重值和/或偏移量。The timing of triggering the refresh method includes: when receiving a network management alarm and/or syslog log, judge whether the weight value and/or offset need to be adjusted according to the bandwidth usage of the output port; if necessary, according to the generated optimal cache table item, use the refresh method to configure the weight value and/or offset of the output port.
本发明实施例在hash算法固定的情况下,针对不同的现网流量,通过配置不同的接口权重和底层偏移的位置,既能保证数据报文的同源同宿、又能保证下行输出口接口带宽的最大利用。不管现网流量怎样,均可根据现网流量的特征,通过接口权重+底层偏移的刷表方式,配置调整出最优的均衡效果。In the embodiment of the present invention, under the condition that the hash algorithm is fixed, for different current network traffic, by configuring different interface weights and bottom layer offset positions, it can not only ensure the same source and the same sink for data packets, but also ensure the downstream output port interface. Maximum utilization of bandwidth. Regardless of the current network traffic, you can configure and adjust the optimal balance effect through the interface weight + underlying offset brushing method according to the characteristics of the current network traffic.
在可选的方案中,添加一项是否生成数据包-输出端口关系表的开关控制,时时刻刻检查会耗损资源。可以选择第一次上线的时候或某端口达到速率阈值开启检测开关。In an optional solution, adding a switch control for whether to generate a packet-output port relationship table, and checking it all the time will consume resources. You can choose to enable the detection switch when the port goes online for the first time or when a port reaches the rate threshold.
作为本发明实施例实现过程中两个核心要素权重值和偏移量,接下来将通过较为完整的理论过程对其实现机制进行配套解释:As the weight value and offset of the two core elements in the implementation process of the embodiment of the present invention, the implementation mechanism will be explained through a relatively complete theoretical process next:
方面一、权重值: Aspect 1. Weight value:
默认对应每一个端口的权重值为1,相应的各个端口按照预设的轮询顺序, 配合完成各自关联hash值下的各个数据包的传输;The default weight value corresponding to each port is 1, and each corresponding port cooperates to complete the transmission of each data packet under the respective associated hash value according to the preset polling sequence;
所述权重为自然数,在对第一目标端口设置权重值为n后,进行相应hash值与目标端口映射关系轮询时,在位于第一目标端口和原本第一目标端口轮询顺序之后的第二目标端口之间塞入n-1个轮询次数下的第一目标端口,使得原本从第二端口、第三端口、…、第n-1端口轮询输出的数据包,均由所述第一目标端口输出;进一步的,在执行第n+1次轮询将恢复到第二目标端口进行数据包输出;The weight is a natural number. After setting the weight value to n for the first target port, when polling the mapping relationship between the corresponding hash value and the target port, the first target port is located at the first target port and the first target port after the polling sequence of the original first target port. The first target port under n-1 times of polling is inserted between the two target ports, so that the data packets originally polled and output from the second port, the third port, ..., and the n-1th port are all polled by the The first target port is output; further, when the n+1th polling is performed, it will be restored to the second target port for data packet output;
其中,在完成所拥有的目标端口的轮询后,周期性的重新回到第一目标端口进行数据包输出时,仍然按照权重值为n执行上述的重复n-1次第一目标端口轮询后,再按顺序轮询完剩余的目标端口;Among them, after completing the polling of the owned target port, when periodically returning to the first target port to output the data packet, the above-mentioned repeating n-1 times of the first target port polling is still performed according to the weight value of n. Then, poll the remaining target ports in sequence;
其中,原本轮询顺序中对应默认权重值为1中,第二目标端口与第一目标端口之间的轮询间隔为所述默认权重值1;原本默认权重值为1下的m个目标端口的m次轮询操作,更替为m个目标端口的m+n-1次轮询操作。Wherein, the corresponding default weight value in the original polling sequence is 1, the polling interval between the second target port and the first target port is the default weight value 1; the m target ports whose original default weight value is 1 m polling operations for m target ports are replaced by m+n-1 polling operations for m target ports.
方面二、偏移量: Aspect 2. Offset:
默认的各个输出端口之间的偏移量为1,所述输出端口轮询时增加偏移量是用于在每次在执行完针对所有输出端口的轮询后,在下一个周期的轮询开始时候,从位于前一周期的轮询中的第一个目标端口做相应偏移量的偏移后得到当前周期的轮询中的新的第一个目标端口;其中,拥有的所有输出端口构成一个偏移闭环,具体为在增加偏移量之后若端口号超出最大端口号,则相应的跳转到最小端口完成相应增加偏移量寻找到当前周期第一个目标端口的操作。The default offset between each output port is 1, and the increase of the offset when the output port is polled is used to start the polling in the next cycle after each polling for all output ports is performed. When the first target port in the polling of the previous cycle is offset by the corresponding offset, the new first target port in the polling of the current cycle is obtained; among them, all the output ports owned constitute An offset closed loop, specifically, if the port number exceeds the maximum port number after the offset is increased, the corresponding jump to the minimum port is performed to complete the operation of increasing the offset to find the first target port in the current cycle.
如图2所示,所述数据包-输出端口关系表包括一列索引号(图中index列)、一列对应于各索引号的数据包分组(图中hash值)、用于输出相应数据分组中包含的各数据包的输出端口(图中port列),具体的:As shown in FIG. 2 , the data packet-output port relationship table includes a column of index numbers (index column in the figure), a column of data packet groups corresponding to each index number (hash value in the figure), which is used for outputting the corresponding data packets in the The output port of each data packet included (port column in the figure), specifically:
所述索引号为表项位宽的ID值,其值从小到大完成表项的索引建立,并作为相应数据包分组的索引编号;Described index number is the ID value of table item bit width, and its value completes the index establishment of table item from small to large, and as the index number of corresponding data packet grouping;
所述数据包分组为按照预设时间长度或者预设数据流总量统计下来的,从同一端口输出的数据包总量;The data packet grouping is the total amount of data packets output from the same port, which is counted according to a preset time length or a preset total amount of data flow;
用于输出相应数据分组中包含的各数据包的输出端口,在默认的原始表格为表现为各个输出端口号按照轮询的顺序周期性的与各个索引号对应关联。The output port for outputting each data packet included in the corresponding data packet is represented in the default original table as each output port number is periodically associated with each index number according to the polling sequence.
作为本发明实施例实现过程中用于计算的核心原理,现围绕所述通过递归的方式计算出每一轮调整后,对应于各个输出端口的数据包总量,具体阐述如下:As the core principle used for calculation in the implementation process of the embodiment of the present invention, the total amount of data packets corresponding to each output port after each round of adjustment is calculated in a recursive manner, and the details are as follows:
将各个数据包-输出端口关系表中的数据包分组,按照从大到下的顺序进行排列;Group the data packets in each data packet-output port relationship table and arrange them in descending order;
从排列的数据包分组中提取各数据包分组中包含的数据包量大于预设阈值的一个或者多个数据包分组和对应的索引号;生成由相应索引号作为横坐标,相应数据包分组中包含的数据包量作为纵坐标的离散关系曲线;从而针对每一张数据包-输出端口关系表得到对应的一离散关系曲线;Extract one or more data packet groups and corresponding index numbers whose data packets contained in each data packet group are greater than the preset threshold from the arranged data packet groups; The amount of included data packets is used as a discrete relationship curve of the ordinate; thus a corresponding discrete relationship curve is obtained for each data packet-output port relationship table;
其中,针对指定输出端口的权重值的增加表现为对应相应离散关系曲线指定区域范围进行横坐标压缩和纵坐标延伸;其中,所述纵坐标延伸为将其压缩的横坐标所对应的纵坐标值进行累加;Wherein, the increase of the weight value for the specified output port is represented by the compression of the abscissa and the extension of the ordinate corresponding to the specified area of the corresponding discrete relationship curve; wherein the extension of the ordinate is the ordinate value corresponding to the compressed abscissa. to accumulate;
其中,偏移量的增加表现为离散关系曲线中指定区域中插入纵坐标为0的空位;Among them, the increase of the offset is manifested by inserting a vacancy whose ordinate is 0 in the specified area of the discrete relationship curve;
在对每一张数据包-输出端口关系表所对应的离散关系曲线,按照权重值和/或偏移量调整后,将所分析的每一张数据包-输出端口关系表所对应的离散关系曲线进行拟合,若拟合后的曲线的平滑程度达到预设条件,则将相应的权重值和/或偏移量调整参数作为所述达到预设条件的权重值和/或偏移量。After adjusting the discrete relationship curve corresponding to each data packet-output port relationship table according to the weight value and/or the offset, the discrete relationship corresponding to each analyzed data packet-output port relationship table The curve is fitted, and if the smoothness of the fitted curve reaches the preset condition, the corresponding weight value and/or offset adjustment parameter is used as the weight value and/or offset that meets the preset condition.
在本发明实施例中,参考图2所示,所述数据包-输出端口关系表根据单位时间或总包个数作为导出依据;其中,所记录的数据包分组总量抵达所述总包个数,则导出一张所述数据包-输出端口关系表;或者,所记录的数据包分组时间抵达所述单位时间,则导出一张所述数据包-输出端口关系表。In the embodiment of the present invention, as shown in FIG. 2 , the data packet-output port relationship table is derived based on the unit time or the total number of packets; wherein, the total number of recorded data packets arrives at the total number of packets number, then derive a data packet-output port relationship table; or, when the recorded data packet grouping time reaches the unit time, then derive a data packet-output port relationship table.
本发明实施例在hash算法固定的情况下,针对不同的现网流量,通过配置不同的接口权重和底层偏移的位置,既能保证数据报文的同源同宿、又能保证下行输出口接口带宽的最大利用。不管现网流量怎样,均可根据现网流量的特 征,通过接口权重+底层偏移的刷表方式,配置调整出最优的均衡效果。In the embodiment of the present invention, under the condition that the hash algorithm is fixed, for different current network traffic, by configuring different interface weights and bottom layer offset positions, it can not only ensure the same source and the same sink for data packets, but also ensure the downstream output port interface. Maximum utilization of bandwidth. Regardless of the traffic on the live network, you can configure and adjust the optimal balance effect by brushing the interface weight + bottom layer offset according to the traffic characteristics of the live network.
实施例2:Example 2:
本发明实施例,是针对实施例1中所涉及的数据包-输出端口关系表的具体展示,并且,对于其中所涉及的关联数据,对应于方案实现过程中的具体权重值和偏移量,如何通过相应关系表进行体现的一种呈现实例;在本发明实施例中,实施例1中的数据包-输出端口关系表也被称为底层表项。This embodiment of the present invention is a specific presentation of the data packet-output port relationship table involved in Embodiment 1, and for the associated data involved, it corresponds to the specific weight value and offset in the solution implementation process, A presentation example of how to reflect through a corresponding relationship table; in this embodiment of the present invention, the data packet-output port relationship table in Embodiment 1 is also referred to as an underlying table entry.
常规举例:若流量为N个包,则index0~2047对应的hash值之和为N个,分别对应到的port表的hash值如下。Port表中的0~4分别对应端口组中的1~5端口,则port表中所有0对应的所有hash值则为1接口(此处1接口与相应port值为0相映射)输出的流量,1对应的所有hash值为2接口输出的流量……。General example: If the traffic is N packets, the sum of the hash values corresponding to index 0 to 2047 is N, and the corresponding hash values of the port table are as follows. 0 to 4 in the port table correspond to ports 1 to 5 in the port group respectively, then all the hash values corresponding to all 0s in the port table are the traffic output from the 1 interface (here, the 1 interface is mapped with the corresponding port value of 0). , all the hash values corresponding to 1 correspond to the traffic output by interface 2... .
如图2所示,1~5口对应的流量分别如下:As shown in Figure 2, the flows corresponding to ports 1 to 5 are as follows:
1、接口1输出的报文对应port表0对应的hash值,则1输出的报文个数为8123+1638+6782+1157+…(对应port表为0的所有位置之和);1. The packets output by interface 1 correspond to the hash value corresponding to port table 0, then the number of packets output by 1 is 8123+1638+6782+1157+… (the sum of all positions corresponding to port table 0);
2、接口2输出的报文对应port表1对应的hash值,则2输出的报文个数为216+25+14738+24657+…(对应port表为1的所有位置之和);2. The packets output by interface 2 correspond to the hash value corresponding to port table 1, then the number of packets output by 2 is 216+25+14738+24657+… (corresponding to the sum of all positions in port table 1);
3、接口3输出的报文对应port表2对应的hash值,则3输出的报文个数为3105+678+13456+…(对应port表为2的所有位置之和);3. The packets output by interface 3 correspond to the hash value corresponding to port table 2, then the number of packets output by 3 is 3105+678+13456+… (the sum of all positions corresponding to port table 2);
4、接口4输出的报文对应port表3对应的hash值,则4输出的报文个数为3105+678+6782+13456+…(对应port表为3的所有位置之和);4. The packets output by interface 4 correspond to the hash value corresponding to port table 3, then the number of packets output by 4 is 3105+678+6782+13456+… (corresponding to the sum of all positions in port table 3);
5、接口5输出的报文对应port表4对应的hash值,则5输出的报文个数为2506+987+2345+…(对应port表为4的所有位置之和);5. The packets output by interface 5 correspond to the hash value corresponding to port table 4, then the number of packets output by 5 is 2506+987+2345+… (the sum of all positions corresponding to port table 4);
基于实施例1步骤201-203所给予刷新方法,至少可以细分为以下三种方案。Based on the refresh method given in steps 201-203 of Embodiment 1, it can be subdivided into at least the following three schemes.
方案1:配置接口权重Option 1: Configure Interface Weights
底层表项位宽为2048,端口组中port口5个下行输出口举例说明,配置接口权重,缺省接口权重为1,如1口配置权重为2,即1口对应的port表会刷2次表,则底层port口对应表项为001234~001234~001234......共2048个表项 循环;The bit width of the underlying table entry is 2048, and there are 5 downlink output ports in the port group. For example, configure the interface weight. The default interface weight is 1. The second table, the corresponding table entry of the bottom port port is 001234~001234~001234... A total of 2048 table entries are cycled;
如2口配置权重为3、4口权重配置为5,即2口对应的port表会刷3次表、4口对应的port表会刷5次表,则底层port口对应表项为01112344444~01112344444~01112344444......共2048个表项循环;For example, the configuration weight of port 2 is 3, and the weight of port 4 is configured to be 5, that is, the port table corresponding to port 2 will be refreshed 3 times, and the port table corresponding to port 4 will be refreshed 5 times, then the corresponding entry of the underlying port port is 01112344444~ 01112344444~01112344444...... A total of 2048 entries are circulated;
方案2:底层表项偏移量Scenario 2: Offset of underlying table entry
底层表项位宽为2048,端口组中port口5个下行输出口举例说明,如底层表项偏移为2,即每刷完一轮表项后,下一个位置会在往右偏移2个位置开始刷表,则底层port口对应表项为01234~23401~43012~01234......共2048个表项循环。The bit width of the bottom table entry is 2048, and there are 5 downstream output ports in the port group. For example, if the bottom table entry offset is 2, that is, after each round of table entries is flushed, the next position will be shifted to the right by 2 If the table starts to be refreshed from the first position, the corresponding table entries of the bottom port are 01234~23401~43012~01234... A total of 2048 table entries are circulated.
底层表项位宽为2048,端口组中port口5个下行输出口举例说明,如底层表项偏移为3,即每刷完一轮表项后,下一个位置会在往右偏移2个位置开始刷表,则底层port口对应表项为01234~34012~12340~40123......共2048个表项循环。The bit width of the bottom table entry is 2048, and there are 5 downstream output ports in the port group. For example, if the bottom table entry offset is 3, that is, after each round of table entries is flushed, the next position will be shifted to the right by 2 If the table starts to be refreshed from the first position, the corresponding table entries of the bottom port are 01234~34012~12340~40123... A total of 2048 table entries are circulated.
方案3:接口权重+底层表项偏移(即实施例1中的权重值和偏移量的组合)Scheme 3: Interface weight + underlying table entry offset (ie, the combination of weight value and offset in Example 1)
底层表项位宽为2048,端口组中port口5个下行输出口举例说明,如1口接口权重为3,偏移为2,即1口对应的port表会刷3次表,每刷完一轮表项后,下一个位置会在往右偏移2个位置开始刷表,则底层port口对应表项为0001234~0123400~2340001~.....共2048个表项循环。The bit width of the underlying table entry is 2048, and there are 5 downlink output ports in the port group as an example. For example, the port weight of port 1 is 3 and the offset is 2, that is, the port table corresponding to port 1 will be flushed 3 times, and each flush is completed. After one round of entries, the next position will start to refresh the table at two positions to the right, and the corresponding entries of the bottom port are 0001234~0123400~2340001~..... A total of 2048 entries are circulated.
方案1、2技术方案单独使用时,相比常规的刷表方式,对部分问题能够解决,当方案1和方案2结合使用时,效果会更佳,更能保证数据报文的均衡性。When the technical solutions 1 and 2 are used alone, some problems can be solved compared with the conventional method of brushing the table. When the solutions 1 and 2 are used in combination, the effect will be better, and the balance of data packets can be better guaranteed.
如图4所示,底层表项位宽为2048,端口组中port口5个下行输出口举例说明,接口权重+底层偏移如下:如1口接口权重为3,偏移为2,本方案刷表如图4所示。As shown in Figure 4, the bit width of the bottom table entry is 2048, and there are 5 downlink output ports in the port group. The brush table is shown in Figure 4.
若流量为N个包,则index0~2047对应的hash值之和为N个,分别对应到的port表的hash值如下。Port表中的0~4分别对应端口组中的1~5口,则port表中所有0对应的所有hash值则为1口输出的流量,1对应的所有hash值为2口输出的流量……If the traffic is N packets, the sum of the hash values corresponding to indexes 0 to 2047 is N, and the corresponding hash values of the port table are as follows. 0 to 4 in the port table correspond to ports 1 to 5 in the port group respectively, then all the hash values corresponding to all 0s in the port table are the traffic output by port 1, and all hash values corresponding to 1 are the traffic output by port 2... …
如图5所示,1~5口对应的流量分别如下:As shown in Figure 5, the flows corresponding to ports 1 to 5 are as follows:
1、接口1输出的报文对应port表0对应的hash值,则1输出的报文个数为8123+216+11003+456+222849+…(对应port表为0的所有位置之和);1. The packets output by interface 1 correspond to the hash value corresponding to port table 0, then the number of packets output by 1 is 8123+216+11003+456+222849+… (the sum of all positions corresponding to port table 0);
2、接口3输出的报文对应port表1对应的hash值,则2输出的报文个数为3105+678+…(对应port表为1的所有位置之和);2. The packets output by interface 3 correspond to the hash value corresponding to port table 1, then the number of packets output by 2 is 3105+678+… (the sum of all positions corresponding to port table 1);
3、接口3输出的报文对应port表1对应的hash值,则2输出的报文个数为2506+987+2345+…(对应port表为1的所有位置之和);3. The packets output by interface 3 correspond to the hash value corresponding to port table 1, then the number of packets output by 2 is 2506+987+2345+… (the sum of all positions corresponding to port table 1);
4、接口4输出的报文对应port表2对应的hash值,则3输出的报文个数为1638+6782+1157+…(对应port表为2的所有位置之和);4. The packets output by interface 4 correspond to the hash value corresponding to port table 2, then the number of packets output by 3 is 1638+6782+1157+… (the sum of all positions corresponding to port table 2);
5、接口5输出的报文对应port表4对应的hash值,则5输出的报文个数为25+14738+24567+…(对应port表为4的所有位置之和);5. The packets output by interface 5 correspond to the hash value corresponding to port table 4, then the number of packets output by 5 is 25+14738+24567+… (the sum of all positions corresponding to port table 4);
本发明实施例方案根据现网流量中输出接口流量转发不均衡,转发总带宽是物理接口总带宽的90%以内时,(为什么不是100%,是因为无论怎么调整都会有偏差,包括流量可能有突发、转发延时等等,无法保证1比1的带宽转发,90%已经是非常高的输出接口带宽利用率了),部分输出口因超过接口带宽丢包时,通过配置调整底层表项,尽量使每个输出口均衡输出,最大程度的保证每个物理输出接口带宽的合理利用,保证现网流量在均衡的情况下同源同宿转发。通过调整转发表项可以在不增加输出口时有效解决因流量不均导致丢包问题。简而言之,通过底层表项调整出最优均衡转发效果,将所有输出接口的带宽最大的利用,来达到节约输出口数量的目的,进一步达到节约板卡的目的,最终达到不浪费、节约成本的目的。The solution of this embodiment of the present invention is based on the unbalanced forwarding of the outgoing interface traffic in the current network traffic, and when the total forwarding bandwidth is within 90% of the total bandwidth of the physical interface, (why is not 100%, because no matter how the adjustment is made, there will be deviations, including that the traffic may have Burst, forwarding delay, etc., 1 to 1 bandwidth forwarding cannot be guaranteed, 90% of which is already a very high bandwidth utilization of the output interface). , try to balance the output of each output port, ensure the reasonable utilization of the bandwidth of each physical output port to the greatest extent, and ensure that the current network traffic is forwarded in the same source and the same destination under the condition of balance. By adjusting the forwarding table entry, the problem of packet loss caused by uneven traffic can be effectively solved without increasing the output port. In short, the optimal balanced forwarding effect is adjusted through the underlying table items, and the bandwidth of all output interfaces is maximized to achieve the purpose of saving the number of output ports, and further achieve the purpose of saving boards, and ultimately achieve no waste and savings. cost purpose.
软件配合逻辑生成的缓存表项说明:单位时间每个port口对应到hash值的数量,软件根据hash值数量大小不一样,计算出几张较优表项。软件计算出每个接口权重可设置的排列组合,如接口权重可配置范围为1到5,接口权重1 1 1 1 1,1 1 1 1 2,1 1 1 1 3……一直到5 5 5 5 5共32张表项。然后结合偏移量刷表,如可配置的偏移量为范围为1到5,搭配接口权重刷表,软件共生成32*5=160张表项对应关系,软件根据每张表项中接口输出流量情况进行对 比,选出前N(N可配)张最优表项缓存,结合多个单位时间最优表项取交集,最终选出一样最优的表项。最后这张表项可以作为我们配置接口权重及偏移量的依据。这张表只是用来查找hash值与port表的关系,并不真实的下发到底层,为何不采用自动调整,考虑到现网流量波动较大,如果频繁调整,也就违背了报文同源同宿的转发原则,当前方案采用告警或日志的形式,当端口组成员接口最大速率、最小流量速率差值超过所配置阈值,或单个接口速率超带宽时,设备发出告警或记录日志。当运维人员收到网管告警、syslog日志时,可根据接口带宽的使用率判断是否需要调整底层表项,如果需要调整,则根据生成的最优缓存表项,以手动的方式配置出接口的接口权重和底层表项偏移量。是否生成底层表项也可通过开关控制,不需要时,就没必要浪费软件的资源了,发明目的,在保证数据报文同源同宿的前提下,使端口组中所有下行输出口成员的带宽得到最大利用,在带宽一定的情况下,有效的解决了流量输出不均时导致接口超带宽丢包问题,达到节约后端输出口数量的目的,达到节约业务板卡物理空间的目的,从而达到节约成本降低功耗的目的。Description of the cache entries generated by the software in cooperation with the logic: the number of hash values corresponding to each port per unit time, the software calculates several optimal entries according to the number of hash values. The software calculates the permutation and combination that can be set for each interface weight. For example, the interface weight can be configured in the range of 1 to 5, and the interface weight is 1 1 1 1 1, 1 1 1 1 2, 1 1 1 1 3... all the way to 5 5 5 5 5 A total of 32 entries. Then brush the table in combination with the offset. For example, the configurable offset is in the range of 1 to 5. With the interface weight brushing table, the software generates a total of 32*5=160 table entries corresponding relationships. The output traffic conditions are compared, and the first N (N can be matched) optimal table entry caches are selected, and the intersection of multiple optimal table entries per unit time is combined to finally select the same optimal table entry. The last entry can be used as the basis for us to configure the interface weight and offset. This table is only used to find the relationship between the hash value and the port table, and it is not really sent to the bottom layer. Why not use automatic adjustment? Considering the large fluctuation of the current network traffic, if it is adjusted frequently, it will violate the packet synchronization. The forwarding principle is based on the same source and the same sink. The current solution uses the form of alarms or logs. When the difference between the maximum rate and the minimum traffic rate of the member interfaces of a port group exceeds the configured threshold, or the rate of a single interface exceeds the bandwidth, the device sends an alarm or records a log. When the operation and maintenance personnel receive the network management alarm and syslog log, they can judge whether the underlying table entry needs to be adjusted according to the bandwidth usage of the interface. Interface weight and underlying table entry offset. Whether or not to generate bottom-level entries can also be controlled by switches. When not needed, there is no need to waste software resources. The purpose of the invention is to make the bandwidth of all downlink output port members in the port group under the premise of ensuring the same source and same sink for data packets. Get maximum utilization, under the condition of a certain bandwidth, effectively solve the problem of excessive bandwidth packet loss on the interface caused by uneven traffic output, achieve the purpose of saving the number of back-end output ports, and achieve the purpose of saving the physical space of the service card, so as to achieve The purpose of saving cost and reducing power consumption.
实施例3:Example 3:
如图6所示,是本发明实施例的数据包传输端口的刷新装置的架构示意图。本实施例的数据包传输端口的刷新装置包括一个或多个处理器21以及存储器22。其中,图6中以一个处理器21为例。As shown in FIG. 6 , it is a schematic structural diagram of an apparatus for refreshing a data packet transmission port according to an embodiment of the present invention. The device for refreshing the data packet transmission port in this embodiment includes one or more processors 21 and a memory 22 . Among them, one processor 21 is taken as an example in FIG. 6 .
处理器21和存储器22可以通过总线或者其他方式连接,图6中以通过总线连接为例。The processor 21 and the memory 22 may be connected through a bus or in other ways, and the connection through a bus is taken as an example in FIG. 6 .
存储器22作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序和非易失性计算机可执行程序,如实施例1中的数据包传输端口的刷新方法。处理器21通过运行存储在存储器22中的非易失性软件程序和指令,从而执行数据包传输端口的刷新方法。As a non-volatile computer-readable storage medium, the memory 22 can be used to store non-volatile software programs and non-volatile computer-executable programs, such as the method for refreshing a data packet transmission port in Embodiment 1. The processor 21 executes the refreshing method of the data packet transmission port by running the non-volatile software programs and instructions stored in the memory 22 .
存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器22可选包括相对于处理器21远程设置的存储器,这些远程 存储器可以通过网络连接至处理器21。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。 Memory 22 may include high speed random access memory, and may also include nonvolatile memory, such as at least one magnetic disk storage device, flash memory device, or other nonvolatile solid state storage device. In some embodiments, memory 22 may optionally include memory located remotely from processor 21, which may be connected to processor 21 via a network. Examples of such networks include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
所述程序指令/模块存储在所述存储器22中,当被所述一个或者多个处理器21执行时,执行上述实施例1中的数据包传输端口的刷新方法,例如,执行以上描述的图1所示的各个步骤。The program instructions/modules are stored in the memory 22, and when executed by the one or more processors 21, execute the method for refreshing the data packet transmission port in the above-mentioned Embodiment 1, for example, execute the above-described diagram. 1 for each step shown.
值得说明的是,上述装置和系统内的模块、单元之间的信息交互、执行过程等内容,由于与本发明的处理方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。It is worth noting that the information exchange and execution process between the modules and units in the above-mentioned device and the system are based on the same concept as the processing method embodiments of the present invention. For details, please refer to the descriptions in the method embodiments of the present invention. , and will not be repeated here.
本领域普通技术人员可以理解实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁盘或光盘等。Those skilled in the art can understand that all or part of the steps in the various methods of the embodiments can be completed by instructing relevant hardware through a program, and the program can be stored in a computer-readable storage medium, and the storage medium can include: Read memory (ROM, Read Only Memory), random access memory (RAM, Random Access Memory), magnetic disk or CD, etc.
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。The above descriptions are only preferred embodiments of the present invention and are not intended to limit the present invention. Any modifications, equivalent replacements and improvements made within the spirit and principles of the present invention shall be included in the protection of the present invention. within the range.

Claims (9)

  1. 一种数据包传输端口的刷新方法,其特征在于,获取到的数据包在按照指定hash计算规则得到对应hash值之后,按照预设的映射关系被指定到目标输出端口进行数据包的输出,方法包括:A method for refreshing a data packet transmission port, characterized in that, after the obtained data packet obtains a corresponding hash value according to a specified hash calculation rule, it is designated to a target output port according to a preset mapping relationship to output the data packet, and the method include:
    获取相邻多个时间段内的数据包-输出端口关系表;其中,所述数据包-输出端口关系表中记载了每一个时间段内的数据包数量与各个目标输出端口之间的映射关系;Obtain the data packet-output port relationship table in multiple adjacent time periods; wherein, the data packet-output port relationship table records the mapping relationship between the number of data packets in each time period and each target output port ;
    对指定输出端口增加输出端口连续出现的权重方式,和/或在输出端口轮询时增加偏移量方式调整所述数据包-输出端口关系表;adding a weighting method for the continuous appearance of the output port to a designated output port, and/or adjusting the data packet-output port relationship table by adding an offset method when the output port is polled;
    通过递归的方式计算出每一轮调整后,对应于各个输出端口的数据包总量;在经过一轮或者多轮调整和计算后,将相应各个输出端口的数据包总量平均程度达到预设条件的权重值和/或偏移量,作为调整数据包与目标输出端口之间映射关系的参数,使得新接收到数据包按照调整后的映射关系进行传输。After each round of adjustment, the total amount of data packets corresponding to each output port is calculated recursively; after one or more rounds of adjustment and calculation, the average degree of the total amount of data packets corresponding to each output port reaches a preset level The weight value and/or offset of the condition is used as a parameter for adjusting the mapping relationship between the data packet and the target output port, so that the newly received data packet is transmitted according to the adjusted mapping relationship.
  2. 根据权利要求1所述的数据包传输端口的刷新方法,其特征在于,默认对应每一个端口的权重值为1,相应的各个端口按照预设的轮询顺序,配合完成各自关联hash值下的各个数据包的传输;The method for refreshing a data packet transmission port according to claim 1, wherein the default weight value corresponding to each port is 1, and each corresponding port cooperates to complete the corresponding hash value according to a preset polling sequence. Transmission of individual data packets;
    所述权重为自然数,在对第一目标端口设置权重值为n后,进行相应hash值与目标端口映射关系轮询时,在位于第一目标端口和原本第一目标端口轮询顺序之后的第二目标端口之间塞入n-1个轮询次数下的第一目标端口,使得原本从第二端口、第三端口、…、第n-1端口轮询输出的数据包,均由所述第一目标端口输出;进一步的,在执行第n+1次轮询将恢复到第二目标端口进行数据包输出;The weight is a natural number. After setting the weight value to n for the first target port, when polling the mapping relationship between the corresponding hash value and the target port, the first target port is located at the first target port and the first target port after the polling sequence of the original first target port. The first target port under n-1 times of polling is inserted between the two target ports, so that the data packets originally polled and output from the second port, the third port, ..., and the n-1th port are all polled by the The first target port is output; further, when the n+1th polling is performed, it will be restored to the second target port for data packet output;
    其中,在完成所拥有的目标端口的轮询后,周期性的重新回到第一目标端口进行数据包输出时,仍然按照权重值为n执行上述的重复n-1次第一目标端口轮询后,再按顺序轮询完剩余的目标端口;Among them, after completing the polling of the owned target port, when periodically returning to the first target port to output the data packet, the above-mentioned repeating n-1 times of the first target port polling is still performed according to the weight value of n. After that, poll the remaining target ports in sequence;
    其中,原本轮询顺序中对应默认权重值为1中,第二目标端口与第一目标 端口之间的轮询间隔为所述默认权重值1;原本默认权重值为1下的m个目标端口的m次轮询操作,更替为m个目标端口的m+n-1次轮询操作。Wherein, the corresponding default weight value in the original polling sequence is 1, the polling interval between the second target port and the first target port is the default weight value 1; m target ports with the original default weight value of 1 m polling operations for m target ports are replaced by m+n-1 polling operations for m target ports.
  3. 根据权利要求1所述的数据包传输端口的刷新方法,其特征在于,默认的各个输出端口之间的偏移量为1,所述输出端口轮询时增加偏移量是用于在每次在执行完针对所有输出端口的轮询后,在下一个周期的轮询开始时候,从位于前一周期的轮询中的第一个目标端口做相应偏移量的偏移后得到当前周期的轮询中的新的第一个目标端口;其中,拥有的所有输出端口构成一个偏移闭环,具体为在增加偏移量之后若端口号超出最大端口号,则相应的跳转到最小端口完成相应增加偏移量寻找到当前周期第一个目标端口的操作。The method for refreshing a data packet transmission port according to claim 1, wherein the default offset between each output port is 1, and the increase of the offset during the polling of the output port is used for every time the output port is polled. After performing the polling for all output ports, at the beginning of the polling of the next cycle, the first target port in the polling of the previous cycle is offset by the corresponding offset to get the current cycle of the The new first target port in the query; in which, all the output ports owned form an offset closed loop, specifically, if the port number exceeds the maximum port number after the offset is increased, the corresponding jump to the minimum port is completed to complete the corresponding Increment the offset to find the operation to the first target port of the current cycle.
  4. 根据权利要求1所述的数据包传输端口的刷新方法,其特征在于,所述数据包-输出端口关系表包括一列索引号、一列对应于各索引号的数据包分组、用于输出相应数据分组中包含的各数据包的输出端口,具体的:The method for refreshing a data packet transmission port according to claim 1, wherein the data packet-output port relationship table includes a column of index numbers, a column of data packet groups corresponding to each index number, and a column for outputting corresponding data packets. The output port of each data packet contained in, specifically:
    所述索引号为表项位宽的ID值,其值从小到大完成表项的索引建立,并作为相应数据包分组的索引编号;Described index number is the ID value of table item bit width, and its value completes the index establishment of table item from small to large, and as the index number of corresponding data packet grouping;
    所述数据包分组为按照预设时间长度或者预设数据流总量统计下来的,从同一端口输出的数据包总量;The data packet grouping is the total amount of data packets output from the same port, which is counted according to the preset time length or the preset total amount of data flow;
    用于输出相应数据分组中包含的各数据包的输出端口,在默认的原始表格为表现为各个输出端口号按照轮询的顺序周期性的与各个索引号对应关联。The output port for outputting each data packet included in the corresponding data packet is represented in the default original table as each output port number is periodically associated with each index number according to the polling sequence.
  5. 根据权利要求4所述的数据包传输端口的刷新方法,其特征在于,所述通过递归的方式计算出每一轮调整后,对应于各个输出端口的数据包总量,具体包括:The method for refreshing a data packet transmission port according to claim 4, characterized in that, after each round of adjustment is calculated recursively, the total amount of data packets corresponding to each output port specifically includes:
    将各个数据包-输出端口关系表中的数据包分组,按照从大到下的顺序进行排列;Group the data packets in each data packet-output port relationship table and arrange them in descending order;
    从排列的数据包分组中提取各数据包分组中包含的数据包量大于预设阈值 的一个或者多个数据包分组和对应的索引号;生成由相应索引号作为横坐标,相应数据包分组中包含的数据包量作为纵坐标的离散关系曲线;从而针对每一张数据包-输出端口关系表得到对应的一离散关系曲线;Extract one or more data packet groups and corresponding index numbers whose amount of data packets contained in each data packet group is greater than the preset threshold from the arranged data packet groups; The amount of included data packets is used as a discrete relationship curve of the ordinate; thus a corresponding discrete relationship curve is obtained for each data packet-output port relationship table;
    其中,针对指定输出端口的权重值的增加表现为对应相应离散关系曲线指定区域范围进行横坐标压缩和纵坐标延伸;其中,所述纵坐标延伸为将其压缩的横坐标所对应的纵坐标值进行累加;Wherein, the increase of the weight value for the specified output port is represented by the compression of the abscissa and the extension of the ordinate corresponding to the specified area of the corresponding discrete relationship curve; wherein, the extension of the ordinate is the ordinate value corresponding to the compressed abscissa. to accumulate;
    其中,偏移量的增加表现为离散关系曲线中指定区域中插入纵坐标为0的空位;Among them, the increase of the offset is manifested by inserting a vacancy whose ordinate is 0 in the specified area of the discrete relationship curve;
    在对每一张数据包-输出端口关系表所对应的离散关系曲线,按照权重值和/或偏移量调整后,将所分析的每一张数据包-输出端口关系表所对应的离散关系曲线进行拟合,若拟合后的曲线的平滑程度达到预设条件,则将相应的权重值和/或偏移量调整参数作为所述达到预设条件的权重值和/或偏移量。After adjusting the discrete relationship curve corresponding to each data packet-output port relationship table according to the weight value and/or offset, the discrete relationship corresponding to each analyzed data packet-output port relationship table The curve is fitted, and if the smoothness of the fitted curve reaches a preset condition, the corresponding weight value and/or offset adjustment parameter is used as the weight value and/or offset that meets the preset condition.
  6. 根据权利要求4所述的数据包传输端口的刷新方法,其特征在于,所述数据包-输出端口关系表根据单位时间或总包个数作为导出依据;其中,所记录的数据包分组总量抵达所述总包个数,则导出一张所述数据包-输出端口关系表;或者,所记录的数据包分组时间抵达所述单位时间,则导出一张所述数据包-输出端口关系表。The method for refreshing a data packet transmission port according to claim 4, wherein the data packet-output port relationship table is based on the unit time or the total number of packets as a derivation basis; When the total number of packets is reached, a data packet-output port relationship table is derived; or, when the recorded packet grouping time reaches the unit time, a data packet-output port relationship table is derived .
  7. 根据权利要求1-6任一所述的数据包传输端口的刷新方法,其特征在于,所述指定hash计算规则包括通过mac计算的方式、sip+dip二元计算方式和sip+dip+sport+dport四元计算方式中的一种或者多种。The method for refreshing a data packet transmission port according to any one of claims 1-6, wherein the specified hash calculation rule includes a mac calculation method, a sip+dip binary calculation method, and a sip+dip+sport+ One or more of the dport quaternary calculation methods.
  8. 根据权利要求1-6任一所述的数据包传输端口的刷新方法,其特征在于,刷新方法触发的时机包括:The refresh method of the data packet transmission port according to any one of claims 1-6, wherein the timing of the refresh method triggering comprises:
    收到网管告警和/或syslog日志时,根据输出端口带宽的使用率判断是否需要调整权重值和/或偏移量;When receiving network management alarms and/or syslog logs, determine whether the weight value and/or offset need to be adjusted according to the bandwidth usage of the output port;
    若需要调整,则根据生成的最优缓存表项,使用刷新方法配置出输出端口的权重值和/或偏移量。If adjustment is required, use the refresh method to configure the weight value and/or offset of the output port according to the generated optimal cache entry.
  9. 一种数据包传输端口的刷新装置,其特征在于,所述装置包括:A device for refreshing a data packet transmission port, characterized in that the device comprises:
    至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述处理器执行,用于执行权利要求1-8任一所述的数据包传输端口的刷新方法。at least one processor; and a memory communicatively coupled to the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the processor for The method for refreshing the data packet transmission port according to any one of claims 1-8 is performed.
PCT/CN2021/130838 2020-11-20 2021-11-16 Data packet transmission port refresh method and device WO2022105731A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202011307291.0 2020-11-20
CN202011307291.0A CN112104451B (en) 2020-11-20 2020-11-20 Method and device for refreshing data packet transmission port

Publications (1)

Publication Number Publication Date
WO2022105731A1 true WO2022105731A1 (en) 2022-05-27

Family

ID=73785325

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/130838 WO2022105731A1 (en) 2020-11-20 2021-11-16 Data packet transmission port refresh method and device

Country Status (2)

Country Link
CN (1) CN112104451B (en)
WO (1) WO2022105731A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115514992A (en) * 2022-09-23 2022-12-23 深圳市音络科技有限公司 HDMI data transmission method, system, terminal and storage medium
CN115756951A (en) * 2022-10-12 2023-03-07 上海慧程工程技术服务有限公司 Industrial Internet of things data real-time uploading method and device

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112104451B (en) * 2020-11-20 2021-02-09 武汉绿色网络信息服务有限责任公司 Method and device for refreshing data packet transmission port

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080151753A1 (en) * 2006-12-20 2008-06-26 Wynne John M Method of improving over protocol-required scheduling tables while maintaining same
WO2016177191A1 (en) * 2015-08-27 2016-11-10 中兴通讯股份有限公司 Packet processing method and device
US20170302577A1 (en) * 2015-04-30 2017-10-19 Hewlett Packard Enterprise Development Lp Forwarding port assignment for data packet
WO2019228251A1 (en) * 2018-05-28 2019-12-05 华为技术有限公司 Method and apparatus for generating network topology
CN112104451A (en) * 2020-11-20 2020-12-18 武汉绿色网络信息服务有限责任公司 Method and device for refreshing data packet transmission port

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100550833C (en) * 2005-11-24 2009-10-14 武汉烽火网络有限责任公司 The method and apparatus of Ethernet cache exchanging and scheduling
WO2007094520A1 (en) * 2006-02-16 2007-08-23 Nec Corporation Node, network system, frame transfer method, and frame transfer program
CN103491069A (en) * 2013-09-05 2014-01-01 北京科能腾达信息技术股份有限公司 Filtering method for network data package
CN104113481A (en) * 2014-07-04 2014-10-22 北京华为数字技术有限公司 MAC address list refreshing method and device based on control port switching event
US10979214B2 (en) * 2018-07-24 2021-04-13 Martin Spence Denham Secure hash algorithm implementation
CN109547341B (en) * 2019-01-04 2021-12-21 烽火通信科技股份有限公司 Load sharing method and system for link aggregation

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080151753A1 (en) * 2006-12-20 2008-06-26 Wynne John M Method of improving over protocol-required scheduling tables while maintaining same
US20170302577A1 (en) * 2015-04-30 2017-10-19 Hewlett Packard Enterprise Development Lp Forwarding port assignment for data packet
WO2016177191A1 (en) * 2015-08-27 2016-11-10 中兴通讯股份有限公司 Packet processing method and device
WO2019228251A1 (en) * 2018-05-28 2019-12-05 华为技术有限公司 Method and apparatus for generating network topology
CN112104451A (en) * 2020-11-20 2020-12-18 武汉绿色网络信息服务有限责任公司 Method and device for refreshing data packet transmission port

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115514992A (en) * 2022-09-23 2022-12-23 深圳市音络科技有限公司 HDMI data transmission method, system, terminal and storage medium
CN115756951A (en) * 2022-10-12 2023-03-07 上海慧程工程技术服务有限公司 Industrial Internet of things data real-time uploading method and device
CN115756951B (en) * 2022-10-12 2024-03-26 上海慧程工程技术服务有限公司 Industrial Internet of things data real-time uploading method and device

Also Published As

Publication number Publication date
CN112104451B (en) 2021-02-09
CN112104451A (en) 2020-12-18

Similar Documents

Publication Publication Date Title
WO2022105731A1 (en) Data packet transmission port refresh method and device
US20220174606A1 (en) System and Method for Always On Connections in Wireless Communications System
Long et al. LABERIO: Dynamic load-balanced routing in OpenFlow-enabled networks
US11973624B2 (en) Extended link-training time negotiated on link start-up
US8607001B2 (en) Method, apparatus, proxy server, and system for selecting cache replacement policies
Singh et al. Performance analysis of modified stable election protocol in heterogeneous wsn
CN101802753A (en) Buffering techniques for power management
TW201136240A (en) System and method for adjusting an energy efficient Ethernet control policy using measured power savings
CN102457413B (en) Find the power-economizing method in node
EP3817286A1 (en) Method and apparatus for generating network topology
CN111162927A (en) Communication method, device and equipment of Ethernet
Hu et al. TLB: Traffic-aware load balancing with adaptive granularity in data center networks
US20140047260A1 (en) Network management system, network management computer and network management method
Jin et al. A distributed energy-efficient re-clustering solution for wireless sensor networks
Hu et al. GreSDN: Toward a green software defined network
Huang et al. An enhanced scheduling framework for elephant flows in SDN-based data center networks
Van et al. Experimental evaluation of an energy efficient TDMA PON
US9425984B2 (en) System and method for using energy efficient ethernet to control energy efficiencies in lower layers
Ray et al. Opportunistic power savings with coordinated control in data center networks
Zhao et al. A stochastic optimization-based bitrate adaptation for QoE maximization in wireless video streaming
Inanlou et al. FFDA: A tree based energy aware data aggregation protocol in wireless sensor networks
Jiang et al. Qos-aware network energy optimization for danmu video streaming in WiFi networks
Chauhan et al. Load Balancing in Wireless Sensor Networks using Multiple Cluster Heads
CN117938750B (en) Method, device, equipment, storage medium and product for processing scheduling route information
Shafie To sense or not to sense

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: 21893878

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: 21893878

Country of ref document: EP

Kind code of ref document: A1