Implementation method of novel traffic scheduling equipment
By maintaining forwarding flow tables and using flow labels and sequence number information in the flow scheduling device, the problem of packet loss and out-of-order delivery in high-speed transmission lines in existing flow scheduling devices is solved, achieving the integrity and orderliness of traffic and improving the device's adaptation efficiency.
Patent Information
- Application Number
- CN202410596869.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-05-14
- Publication Date
- 2025-11-14
AI Technical Summary
Existing traffic scheduling equipment cannot simultaneously meet the scheduling requirements of different interface rates when handling high-speed 40GE transmission lines, resulting in packet loss or out-of-order issues during traffic forwarding.
By maintaining forwarding flow table information in the traffic scheduling device, using flow labels to carry flow session ID and sequence number information, and combining polling output and caching forwarding table, it is ensured that packets are not lost and are ordered during forwarding.
It ensures the integrity and orderliness of traffic during high-speed transmission, reduces error rate and adaptation difficulty, and guarantees the normal operation of services.
Smart Images

Figure CN120956676A_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the technical field of Internet data stream transmission applications, and specifically relates to a method for implementing a novel traffic scheduling device. Background Technology
[0002] When sensitive data is transmitted over long distances across data centers, it needs to be encrypted using specialized equipment before transmission. After the encrypted data completes long-distance transmission, it is decrypted again using specialized equipment at the destination data center. This ensures the security and immutability of the sensitive data. With the increasing volume of transmitted data, interconnection lines have been upgraded to 40GE or 100GE. However, in this scenario, due to the complexity of the supported message sending and receiving, encryption, and decryption functions, as well as security requirements, the maximum processing capacity of a single specialized device cannot reach 10Gbps, and the maximum outgoing bandwidth of a single specialized device is 10GE. For high-speed 40GE transmission lines, multiple specialized devices need to be deployed in a cluster. Furthermore, tens of thousands of concurrent streams run on a 40GE transmission line, and the bandwidth of each stream will form traffic peaks and troughs depending on its transmission service needs. A single session stream can reach a peak traffic of 7Gbps when fully loaded. When the service is idle, only the keep-alive link establishment module exists, and the trough traffic can be as low as 1Kbps.
[0003] Traditional scheduling devices for different interface rates employ packet-based load balancing and flow-based load balancing schemes. Considering the aforementioned service transmission characteristics, packet-based load balancing can handle peak and trough traffic fluctuations, ensuring no packet loss during transmission. However, because the scheduling device itself lacks a buffered, order-preserving forwarding module in the destination data center, this implementation can cause out-of-order packets, affecting the final service presentation. Flow-based load balancing, while ensuring no out-of-order packets during transmission because single-flow session traffic is forwarded from the same physical line, suffers from port forwarding exceeding bandwidth due to inherent traffic peak and trough characteristics, leading to packet loss. Therefore, the challenge lies in how to enable traffic scheduling devices to simultaneously satisfy the function of scheduling different interface speeds while ensuring no packet loss and no out-of-order packets during forwarding. Summary of the Invention
[0004] The purpose of this invention is to combine the peak and trough characteristics of traffic transmission and propose a new method for implementing a traffic scheduling device to address the service requirements of reducing traffic forwarding load balancing deviation, ensuring out-of-order flow forwarding, preventing packet loss during forwarding, and enabling multi-interface rate conversion.
[0005] The present invention discloses a method for implementing a novel traffic scheduling device, characterized by comprising the following steps: Step 1: Traffic is routed from 40GE to traffic scheduling device-1. Traffic scheduling device-1 maintains forwarding flow table information and adds flow labels based on the flow characteristics of the packets. The flow labels carry flow session ID information and flow sequence number information.
[0006] The second step is to forward the information carrying the tagged stream from multiple 10GE ports through polling output to send it to multiple special devices at the next level, ensuring that there is no packet loss during forwarding due to peak and trough flow.
[0007] Step 3: After passing through special equipment, the message is encrypted and input into the flow scheduling device-2, where it is aggregated and forwarded to the transmission device.
[0008] Step 4: After the data completes long-distance encrypted transmission, it enters the high-speed interface of the traffic scheduling device-3, and is forwarded to the next level of special equipment through multiple low-speed interfaces via balanced forwarding.
[0009] Step 5: After the special equipment completes the decryption and authentication of the transmitted traffic, the traffic is aggregated through multiple 10GE ports to the traffic scheduling device-4.
[0010] Step 6: Within the traffic scheduling device-4, based on the flow session ID and flow sequence number information carried by the flow tag, for packets without a traffic cache forwarding table, the device selects whether to output or cache the packet depending on whether it is the first packet, and simultaneously completes the establishment of the traffic cache forwarding table.
[0011] Step 7: For packets that already have a traffic cache forwarding table, select whether to output or cache the packet based on whether it is the next sequence number of the packet, and at the same time complete the update of the traffic cache forwarding table.
[0012] Step 8: After completing the above operations, the traffic completes the entire scheduling process and fulfills the predetermined business requirements.
[0013] This invention employs the above-mentioned technical solution to ensure the integrity and orderliness of the stream session after transmission. Thus, while guaranteeing the basic functions of the traffic scheduling equipment, it fulfills the service requirements of minimal load balancing deviation in traffic forwarding, no out-of-order stream forwarding, and no packet loss during the forwarding process.
[0014] Compared with existing technologies, this solution has the following advantages: 1. By carrying flow labels in the IP options extension field, existing special equipment already supports forwarding, eliminating the need for customized development changes, reducing error rates and improving adaptation efficiency.
[0015] 2. The flow tags attached to the packets during forwarding are stripped off by the new traffic scheduling equipment in the destination data center, restoring the packets without requiring any business adaptation.
[0016] 3. The new traffic scheduling equipment sorts and forwards packets according to the extended fields of IP options, ensuring that forwarding is not out of order and guaranteeing the normal operation of services. Attached Figure Description
[0017] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0018] Figure 1 This is a schematic diagram of a long-distance encrypted transmission network for the implementation method of a novel traffic scheduling device according to the present invention.
[0019] Figure 2 This is a diagram of the IP header message format of the flow tag information of a novel traffic scheduling device according to the present invention. Detailed Implementation
[0020] The technical solution of the invention will be described in detail below with reference to the accompanying drawings: Combined with the diagram of long-distance encrypted transmission network, as shown in the figure. Figure 1 As shown, the traffic scheduling device-1 maintains forwarding flow table information. The lookup key of the forwarding flow table is the five-tuple flow information of the packet. The five-tuple flow information includes the source IP, destination IP, source port, destination port, and protocol. The result of the forwarding flow table is the flow session ID and the sequence number of the forwarded packet. The forwarding flow table information supports refreshing and aging over time. The flow session ID can be dynamically applied for and returned. According to the flow label information of the packet, the flow label information includes the flow session ID and the packet sequence number, which is carried using the IP Options field.
[0021] Traffic scheduling device-2 aggregates traffic from multiple low-speed interfaces to a single high-speed interface without modifying the content of the packets, and outputs traffic from multiple 10GE interfaces as 40GE.
[0022] The traffic scheduling device-3 performs packet-based load balancing from a single high-speed interface to multiple low-speed interfaces without modifying the content of the packets. It distributes the traffic from the 40GE interface to multiple 10GE interfaces before outputting it.
[0023] The traffic scheduling device-4 has a packet caching module and maintains a traffic cache forwarding table. The key of the traffic cache forwarding table is the packet's five-tuple flow information and flow session ID information. The result of the traffic cache forwarding table is the sequence number of the currently forwarded packet, the minimum sequence number of the cached flow session, and the storage location of the cached packet. The traffic cache forwarding table supports refreshing and aging on a time-based basis.
[0024] Step 1: Messages requiring remote encrypted transmission arrive at traffic scheduling device-1 via the 40GE interface. Traffic scheduling device-1 uses flow implementation to carry flow tags in the messages, extracts the five-tuple flow information of the message, and queries the forwarding flow table. If no match is found, it is determined to be new session traffic. An ID is requested from the idle flow session ID resource pool and assigned to the message's flow session ID number. Since the message is the first packet, its sequence number is fixed at 1. Simultaneously, the ID is deleted from the idle flow session ID resource pool. The message's five-tuple flow information, the requested flow session ID number, and the message's initial sequence number (1) are recorded in the forwarding flow table. If a match is found, it is determined to be existing session traffic. The forwarded sequence number in the corresponding table entry `result` is incremented by 1, the aging time of the table entry is refreshed, the message's flow session ID is assigned the flow session ID that matches the hit in the forwarding flow table, and the message's sequence number is the result of incrementing the forwarded sequence number in the corresponding table entry `result`.
[0025] Step 2: After the packet completes the flow table maintenance in the flow scheduling device-1, the original packet's fixed IP header (20 bytes) remains unchanged. The flow label, based on the 12 bytes of the extended IP Options, carries the flow session ID and packet sequence number. The specific format is as follows: Figure 2 As shown, multiple 10GE interfaces poll the output to the next level of special equipment.
[0026] Step 3: After the message is encrypted by special equipment, it is input to the low-speed interface of the traffic scheduling device-2, where the traffic is aggregated and forwarded, and then output to the next level transmission device through the high-speed interface.
[0027] Step 4: After the message is transmitted over long distance with encryption, it is input to the high-speed interface of the traffic scheduling device-3, where packet balancing and forwarding of the traffic are completed, and then output to the next level of special equipment through the low-speed interface.
[0028] Step 5: After the message is decrypted by special equipment, it is input to the low-speed interface of the traffic scheduling device-4.
[0029] Step 6: The traffic scheduling device-4 receives packets from multiple special devices, extracts the packet's 5-tuple flow information and flow session ID information, and queries the traffic cache forwarding table. If a match is not found, the packet is determined to be new session traffic. If the packet's flow sequence number is 1, caching is not required. The IP Options field of the packet is stripped, the packet is restored, and output from 40GE. The traffic cache forwarding table is recorded. The key of the traffic cache forwarding table is the packet's flow information and flow session ID information. In the result of the traffic cache forwarding table, the sequence number of forwarded packets is set to 1, the minimum sequence number of the cached flow session is set to 0, and the cached packet storage location is set to 0. If the packet's flow sequence number is not 1, it indicates that the packet with the first sequence number of the flow session has not arrived. The packet caching operation is performed. The key of the traffic cache forwarding table is recorded as the packet's flow information and flow session ID information. In the result of the traffic cache forwarding table, the sequence number of forwarded packets is set to 0, the minimum sequence number of the cached flow session is recorded as the packet's flow sequence number, and the cached packet storage location is recorded as the packet's cache address.
[0030] Step 7: If the traffic cache forwarding table query in Step 6 is successful, the packet is considered existing session traffic. If the packet's flow sequence number is 1, or if the packet's flow sequence number is not 1 and the value of the forwarded packet sequence number plus 1 in the table is equal to the packet's flow sequence number, then caching is not required. Remove the IP Options field from the packet, restore the packet, and output it from 40GE. Synchronously update the traffic cache forwarding table. The forwarded packet sequence number in the table entry's result should be the packet's flow sequence number. If the minimum sequence number of the cached flow session in the table entry's result is the packet's flow sequence number plus 1, read the cached packet storage location in the table entry's result, retrieve the cached packet, remove the IP Options field, and continue outputting. Release the cache space and continue updating the forwarded packet sequence number in the traffic cache forwarding table's result information to the cached packet's flow sequence number. Otherwise, do not change the remaining fields of the traffic cache forwarding table's result. In other cases, perform the packet caching operation, update the traffic cache forwarding table result, and take the smaller value between the packet's flow sequence number and the minimum sequence number of the hit table entry result for the cached flow session, and increase the cached packet storage location.
[0031] Step 8: After the traffic scheduling device-4 has finished processing, the traffic has completed the entire scheduling process. The output traffic can retain the original packets without any packet modification, and ensures that the packets are forwarded out of order.
[0032] Various aspects of the invention are described in this disclosure with reference to the accompanying drawings, in which numerous illustrative embodiments are shown. The embodiments of this disclosure are not necessarily defined to include all aspects of the invention. It should be understood that the various concepts and embodiments described above, as well as those described in more detail below, can be implemented in any of many ways, because the concepts and embodiments disclosed herein are not limited to any particular implementation. Furthermore, some aspects of the invention disclosed may be used alone or in any suitable combination with other aspects of the invention disclosed.
[0033] While the present invention has been disclosed above with reference to preferred embodiments, it is not intended to limit the invention. Those skilled in the art can make various modifications and refinements without departing from the spirit and scope of the invention. Therefore, the scope of protection of the present invention shall be determined by the claims.
Claims
1. A method for implementing a novel traffic scheduling device, characterized in that, The method includes: a long-distance encrypted transmission network comprising a service processor A, a switch A, a firewall, a traffic scheduling device-1, multiple special devices, a traffic scheduling device-2, a router, a traffic scheduling device-3, multiple special devices, a traffic scheduling device-4, and a service server B; the traffic scheduling device-1 maintains forwarding flow table information, the lookup key of which is the packet's five-tuple flow information, including the source IP, destination IP, source port, destination port, and protocol; the result of the forwarding flow table is the flow session ID and the sequence number of the forwarded packet; the forwarding flow table information supports time-based refresh and aging; the flow session ID can be dynamically applied for and returned; and the flow label information of the packet, including the flow session ID and the packet sequence number, is used based on IP... The Options field carries the data; Traffic scheduling device-2 performs traffic aggregation from multiple low-speed ports to a single high-speed port without modifying the packet content, and outputs the traffic from multiple 10GE interfaces as 40GE; Traffic scheduling device-3 performs packet-based load balancing from a single high-speed port to multiple low-speed ports without modifying the packet content, and outputs the traffic from the 40GE interface as balancing across multiple 10GE interfaces; Traffic scheduling device-4 has a packet caching module and maintains a traffic cache forwarding table. The key of the traffic cache forwarding table is the packet's five-tuple flow information and flow session ID information. The result of the traffic cache forwarding table is the currently forwarded packet sequence number, the minimum sequence number of the cached flow session, and the storage location of the cached packet. The traffic cache forwarding table supports time-based refresh and aging.
2. The method for implementing a novel traffic scheduling device according to claim 1, characterized in that, The specific process is as follows: Step 1: Messages requiring remote encrypted transmission arrive at traffic scheduling device-1 via the 40GE interface. Traffic scheduling device-1 uses flow implementation to carry flow tags in the messages, extracts the five-tuple flow information of the messages, and queries the forwarding flow table. If no match is found, it is determined to be new session traffic. An ID is requested from the idle flow session ID resource pool and assigned to the message's flow session ID number. Since the message is the first packet, its sequence number is fixed at 1. The ID is simultaneously deleted from the idle flow session ID resource pool. The message's five-tuple flow information, the requested flow session ID number, and the message's initial sequence number (1) are recorded in the forwarding flow table. If a match is found, it is determined to be existing session traffic. The forwarded sequence number in the corresponding table entry `result` is incremented by 1, the aging time of the table entry is refreshed, the message's flow session ID is assigned the flow session ID that matches the forwarding flow table, and the message's sequence number is the result of incrementing the forwarded sequence number in the corresponding table entry `result`. Step 2: After the packet is forwarded and the flow table is maintained in the flow scheduling device-1, the 20-byte content of the original packet IP fixed header remains unchanged. The flow label carrying the flow session ID number and the packet sequence number is implemented based on the 12 bytes of the packet extended IP Options. The specific carrying format is shown in Figure 2. It is output from multiple 10GE interfaces to the next level special equipment in a round-robin fashion. Step 3: After the message is encrypted by special equipment, it is input to the low-speed interface of the traffic scheduling device-2, where the traffic is aggregated and forwarded, and then output to the next level transmission device through the high-speed interface. Step 4: After the message is transmitted over long distance with encryption, it is input to the high-speed interface of the traffic scheduling device-3, where packet balancing and forwarding of the traffic are completed, and then output to the next level of special equipment through the low-speed interface. Step 5: After the message is decrypted by special equipment, it is input to the low-speed interface of the traffic scheduling device-4; Step 6: The traffic scheduling device-4 receives packets from multiple special devices, extracts the packet's 5-tuple flow information and flow session ID information, and queries the traffic cache forwarding table. If no match is found, the packet is determined to be new session traffic. If the packet's flow sequence number is 1, caching is not required. The IP Options field of the packet is stripped, the packet is restored, and output from 40GE. The traffic cache forwarding table is recorded. The key of the traffic cache forwarding table is the packet's flow information and flow session ID information. In the result of the traffic cache forwarding table, the sequence number of the forwarded packet is set to 1, the minimum sequence number of the cached flow session is set to 0, and the cached packet storage location is set to 0. If the packet's flow sequence number is not 1, it indicates that the packet with the first sequence number of the flow session has not arrived. The packet caching operation is performed. The key of the traffic cache forwarding table is recorded as the packet's flow information and flow session ID information. In the result of the traffic cache forwarding table, the sequence number of the forwarded packet is set to 0, the minimum sequence number of the cached flow session is recorded as the packet's flow sequence number, and the cached packet storage location is recorded as the packet's cache address. Step 7: If the traffic cache forwarding table query in Step 6 is successful, the packet is considered existing session traffic. If the packet's flow sequence number is 1, or if the packet's flow sequence number is not 1 and the value of the forwarded packet sequence number plus 1 in the hit table is equal to the packet's flow sequence number, then caching is not required. Remove the IP Options field from the packet, restore the packet, and output it from 40GE. Synchronously update the traffic cache forwarding table. The forwarded packet sequence number in the result of the table entry should be the packet's flow sequence number. If the minimum sequence number of the cached flow session in the result of the table entry is the packet's flow sequence number plus 1, read the cached packet storage location in the result of the table entry, remove the IP Options field from the cached packet, continue outputting, release the cache space, and continue updating the forwarded packet sequence number in the result information of the traffic cache forwarding table to the flow sequence number of the cached packet. Otherwise, do not change the remaining fields of the traffic cache forwarding table result. In other cases, perform the packet caching operation, update the traffic cache forwarding table result, and take the smaller value between the packet's flow sequence number and the minimum sequence number of the hit table entry result for the cached flow session, and increase the cached packet storage location. Step 8: After the traffic scheduling device-4 has finished processing, the traffic has completed the entire scheduling process. The output traffic can retain the original packets without any packet modification, and ensures that the packets are forwarded out of order.