A method for naming data network hop-by-hop congestion control based on number of forwarding paths
By using router congestion detection and control mechanisms to dynamically adjust forwarding paths and rates, the congestion problems of single-path and multi-path flows in named data networks are solved, improving network throughput and stability, reducing latency, and achieving better fairness.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- TIANJIN UNIV
- Filing Date
- 2023-05-18
- Publication Date
- 2026-04-10
AI Technical Summary
Existing hop-by-hop congestion control methods cannot effectively alleviate congestion in named data networks for both single-path and multi-path flows. In particular, interest rate shaping strategies are insufficient in multi-path scenarios, and multi-path forwarding strategies cannot alleviate congestion in single-path scenarios in a timely manner.
The router uses a congestion detection and control mechanism to calculate and update congestion information for data packets. Based on this congestion information, it performs multipath forwarding or interest packet transmission rate adjustment, including calculating the degree and status of congestion and dynamically adjusting forwarding paths and rates to alleviate congestion.
It significantly improves network throughput and stability, reduces network latency, and achieves better fairness in various network scenarios, meeting the congestion control requirements of named data networks.
Smart Images

Figure CN116436852B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application belongs to the field of high-performance congestion control scheme design, and is used to cope with single-path flow and multi-path flow of congestion in named data networking (NDN). BACKGROUND
[0002] With the continuous expansion of the Internet, new businesses and new demands such as holographic communication, sensory interconnection, intelligent interaction, and communication perception are constantly emerging, and the function of the network is gradually changing from a data transmission channel to efficient and large-scale content acquisition and distribution. However, the current TCP / IP network architecture, which is terminal-centric and location-based, has been unable to meet the development needs of future innovative applications and service models. Therefore, academia and industry at home and abroad have devoted themselves to the research of future Internet architecture. In 2010, Lixia Zhang of the University of California and Van Jacobson of Xerox proposed named data networking (NDN) as a typical paradigm for future network architecture.
[0003] Named data networking (NDN) is a new network paradigm that changes the IP "address" transmission method from "end-to-end" to "name" delivery: consumers request data packets by sending interest packets to the network. In addition, due to the existence of cache characteristics in the network, data packets can be stored inside NDN routers, which allows consumers to obtain content from multiple content sources, i.e., the original content library of producers and the internal cache of routers. However, different content sources will result in different retrieval delays, and consumers cannot distinguish them by relying on content "names" alone. Therefore, the RTT relied on by the TCP / IP architecture becomes an unreliable congestion detection indicator, which means that the "end-to-end" congestion control scheme of the TCP / IP architecture is difficult to apply to the NDN architecture. Therefore, it is necessary to design a novel and effective congestion control scheme for NDN networks.
[0004] According to the transmission characteristics of NDN, the current academic circles propose hop-by-hop congestion control methods. According to different control methods, they are divided into interest packet sending rate adjustment strategy and multi-path forwarding strategy. The interest packet sending rate adjustment strategy is that each NDN router adjusts the sending rate of interest to control the transmission rate of return data accordingly, so as to alleviate congestion. However, when serious congestion occurs continuously, using rate control on only one path may not be enough to alleviate congestion. In this case, multi-path transmission may be a good way to allocate traffic and alleviate congestion. The multi-path forwarding strategy is that when the traffic exceeds the capacity of a path, the router transfers the excess interest packets to one or more alternative paths to alleviate congestion. However, the multi-path forwarding strategy does not support the case of congestion in a single-path scenario, and it cannot mine potential paths and cannot alleviate congestion in time.
[0005] However, hop-by-hop congestion control still has deficiencies that need to be further improved. Specifically, in a multi-path scenario, when routers continuously experience serious congestion, the interest rate shaping strategy may not be enough to alleviate congestion. In addition, the multi-path forwarding strategy cannot alleviate congestion in a single-path scenario in time, and it cannot mine potential paths. Therefore, the hop-by-hop congestion control mechanism needs to study how to deal with both single-path and multi-path flows in the network.
[0006] [Reference]
[0007] [1] Schneider K, Yi C, Zhang B, et al. A practical congestion control scheme for named data networking [C]. In Proceedings of the 3rd ACM Conference on Information-Centric Networking, 2016: 21-30. SUMMARY
[0008] To solve the above problems, the present application provides a named data network (NDN) hop-by-hop congestion control method based on the number of forwarding paths, which can effectively and timely alleviate the congestion of single-path and multi-path flows.
[0009] To solve the above technical problems, the present application provides a named data network hop-by-hop congestion control method based on the number of forwarding paths, which mainly includes router congestion detection and router congestion control. Figure 1 and Figure 2 As shown in the accompanying drawings, the present application mainly includes router congestion detection and router congestion control.
[0010] The router congestion detection is in a congestion control protocol, routers calculate and update congestion information carried by data packets, including: the current router calculates the congestion degree of the local router by means of the active queue management method; the local congestion state is judged according to the congestion degree, and the congestion state, the congestion degree and the data packet queuing delay required to be carried by the data packet are updated;
[0011] The router congestion control is according to the congestion information carried by the data packet, and the router performs congestion control actions, including: the downstream adjacent router performs multi-path forwarding or interest packet sending rate adjustment based on the number of forwarding paths, the downstream adjacent router performs multi-path forwarding is: the router calculates the shunt ratio of the interest packet flow that the current interface can bear according to the current congestion information in the data packet and forwards the remaining flow through the current forwarding interface or the relatively suboptimal interface; the downstream adjacent router performs interest packet sending rate adjustment is: the router calculates the total rate of the reduction or increase of the interest packet sending rate of the current interface according to the current congestion information in the data packet, and dynamically attenuates or increases the interest packet sending rate of the same name prefix according to the name prefix of the data packet.
[0012] Further, in the control method, wherein:
[0013] The router congestion detection includes the following steps:
[0014] Step 1-1) calculate the congestion degree p of the current period, and store the congestion information of the current period:
[0015] Subtract the reference queuing delay from the current data packet queuing delay, then multiply by the conversion factor θ, to get the offset of the current queuing delay and the expected queuing delay; subtract the last period data packet queuing delay recorded by the router from the current data packet queuing delay, and multiply the result by the conversion factor ε, to get the offset of the current queuing delay and the last period queuing delay;
[0016] Add the two offsets obtained above to the congestion degree of the last period to obtain the congestion degree p of the current period; if p is greater than or equal to 1, p is assigned a value of 1, if p is less than or equal to 0, p is assigned a value of 0; the router records the current data packet queuing delay as the last period data packet queuing delay, and records the obtained congestion degree p of the current period as the congestion degree of the last period;
[0017] Step 1-2) Update congestion state and congestion degree: if the congestion degree p obtained in step 1-1) is greater than 0, the congestion state bit of the data packet is updated to the light congestion mark with a probability of p, and to the auxiliary congestion mark with a probability of 1-p, otherwise the congestion state bit of the data packet remains the initial mark or the state carried by the data packet, the priority of the update from low to high is the initial mark, the auxiliary congestion mark, the light congestion mark, the heavy congestion mark, and the update is irreversible; update the congestion degree recorded in the data packet according to the congestion degree p obtained in step 1-1);
[0018] Step 1-3) queue the current data packet to update the queuing delay recorded in the data packet, complete the router congestion detection.
[0019] The router performs congestion control actions, including the following steps:
[0020] Step 2-1) The router first extracts the name prefix and congestion information in the data packet;
[0021] Step 2-2) Determine to perform multi-path forwarding or interest packet sending rate adjustment: the router detects whether the number of forwarding paths of the interest packet of the name prefix in the data packet is greater than 1 according to the FIB table, if it is greater than 1, it indicates that the current node is a splitting node, step 2-3) is performed for multi-path forwarding, otherwise, step 2-4) is performed for interest packet sending rate adjustment;
[0022] Step 2-3) In the multi-path forwarding of the downstream adjacent router, it is divided into three cases A, B and C:
[0023] Step 2-4) Interest packet sending rate adjustment is divided into three cases D, E and F:
[0024] Step 2-5) The operation of the router congestion control mechanism ends.
[0025] The three cases A, B and C involved in the above step 2-3) are: case A, the congestion degree p of the data packet is greater than 0 and the congestion state of the data packet is the light congestion mark or the heavy congestion mark, step A-1) is performed; case B, the congestion degree p of the data packet is greater than 0 and the congestion state of the data packet is the auxiliary congestion mark, step B-1) is performed; case C, the congestion degree p of the data packet is equal to 0, step C-1) is performed.
[0026] Step A-1) Calculate the expected queuing delay of the data packet after the upstream neighbor node relieves congestion, multiply the sum of the data packet reference queuing delay by the conversion factor θ and the data packet carried queuing delay by the conversion factor ε by the data packet carried congestion degree, and finally divide by the sum of the conversion factors θ and ε, to obtain the expected queuing delay of the upstream neighbor node;
[0027] Step A-3) if the upstream neighbor expected queuing delay is greater than 0, perform step A-3), otherwise perform step A-4);
[0028] Step A-3) divide the upstream neighbor expected queuing delay by the queuing delay carried by the data packet to obtain a delay ratio; the shunting node subtracts the obtained delay ratio from 1, multiplies the forwarding ratio of the interest packet of the data packet same name prefix at the current interface to obtain the increased forwarding ratio of the suboptimal forwarding interface, and dynamically forwards the interest packet of the data packet same name prefix according to the forwarding ratio of each interface; finally, compare the local node and the congestion state level carried by the data packet, and update the congestion state from low to high according to the level of the congestion state, and update the local congestion degree and the queuing delay of the data packet to the data packet; perform step A-5);
[0029] Step A-4) multiply the forwarding ratio of the interest packet of the data packet same name prefix at the current interface by 0.9 to obtain the increased forwarding ratio of the suboptimal forwarding interface, and dynamically forward the interest packet of the data packet same name prefix according to the forwarding ratio of each interface; finally, compare the local node and the congestion state level carried by the data packet, and update the congestion state from low to high according to the level of the congestion state, and update the local congestion degree and the queuing delay of the data packet to the data packet;
[0030] Step A-5) if the interest packet of the data packet same name prefix is in a congestion state at all forwarding interfaces of the current shunting node or the buffer data packet queue exceeds 90% of the buffer capacity, the congestion state is updated to a severe congestion mark, and is transmitted to the downstream router; the router congestion control mechanism operation ends.
[0031] Step B-1) the router does not perform a control action, finally compares the local node and the congestion state level carried by the data packet, and updates the congestion state from low to high according to the level of the congestion state; if the buffer data packet queue of the current router exceeds 90% of the buffer capacity, the congestion state is updated to a severe congestion mark, and the local congestion degree and the queuing delay of the data packet are updated to the data packet; the router congestion control mechanism operation ends.
[0032] Step C-1) judge the forwarding ratio of the interest packet of the data packet same name prefix at the current interface; if the forwarding ratio is less than or equal to 0.1 and the current interface is the optimal forwarding interface, perform step C-2), otherwise perform step C-3);
[0033] Step C-2) if the current interface is the optimal forwarding interface and the forwarding ratio of the interest packet of the data packet same name prefix at the current interface is less than or equal to 0.1, the shunting node immediately increases the forwarding ratio of the interest packet of the data packet same name prefix at the current interface by 0.5; perform step C-4);
[0034] Step C-3) If the forwarding ratio of the data packet with the same name prefix interest packet at the current interface is greater than 0.1, or is not the optimal forwarding interface, if the data packet carries the data packet queuing delay is less than or equal to 1 millisecond, the data packet carries the data packet queuing delay is tentatively set to 1 millisecond;
[0035] Step C-4) Calculate the expected queuing delay of the data packet without congestion of the upstream neighbor node: multiply the data packet reference queuing delay by the conversion factor θ, add the data packet carrying queuing delay by the conversion factor ε, and finally divide by the sum of the conversion factors θ and ε to obtain the expected queuing delay of the upstream neighbor node; divide the obtained expected queuing delay of the upstream neighbor node by the queuing delay carried by the data packet to obtain the delay ratio value;
[0036] Step C-5) The shunt node subtracts 1 from the delay ratio value obtained in step C-4), multiplies it by the forwarding ratio of the data packet with the same name prefix interest packet at the current interface, obtains the forwarding ratio that the data packet with the same name prefix interest packet at the current forwarding interface should increase, and dynamically forwards the data packet with the same name prefix interest packet according to the forwarding ratio of the data packet with the same name prefix interest packet at each interface, finally compares the local node and the congestion state level of the data packet carrying, and updates the congestion information according to the congestion state level from low to high; if the current router buffer data packet queue exceeds 90% of the buffer capacity, the congestion state is updated to the severe congestion mark, and the local congestion degree and the data packet queuing delay are updated to the data packet; the router congestion control mechanism operation ends.
[0037] The D, E and F three situations involved in the above steps 2-4) are: situation D: the data packet congestion degree p is greater than 0 and the congestion state is the light congestion mark or the severe congestion mark, step D-1) is executed; situation E: the data packet congestion degree p is equal to 0, step E-1) is executed; situation F: the data packet congestion degree p is greater than 0 and the data packet congestion state is the auxiliary congestion mark, step F-1) is executed.
[0038] Step D-1) Calculate the expected queuing delay of the data packet without congestion of the upstream neighbor node: multiply the data packet reference queuing delay by the conversion factor θ, add the data packet carrying queuing delay by the conversion factor ε, and finally divide by the sum of the conversion factors θ and ε to obtain the expected queuing delay of the upstream neighbor node;
[0039] Step D-2) Calculate the total expected reduction bytes of the upstream neighbor node buffer: subtract the upstream neighbor node expected queuing delay obtained in step D-1) from the data packet carrying queuing delay to obtain the delay difference value, compare the delay difference value with 0 to take the maximum value, and finally multiply the maximum value by the data packet out rate of the upstream neighbor node to obtain the total expected reduction bytes of the upstream neighbor node buffer;
[0040] Step D-3) Calculate the total amount of interest packet transmission rate decay: divide the total amount of upstream neighbor buffer expected reduction bytes obtained in step D-2) by the number of data packet bytes, then multiply by the number of interest packet bytes, and finally divide by the router detection period to obtain the total amount of interest packet transmission rate decay;
[0041] Step D-4) Calculate the number of data packets marked as light congestion mark in the upstream adjacent router: multiply the data packet dequeue rate of the upstream neighbor by the router detection period, then multiply by the congestion level carried by the data packet, and finally divide by the number of data packet bytes to obtain the number of data packets marked as light congestion mark in the upstream adjacent router;
[0042] Step D-5) Divide the total amount of interest packet transmission rate decay obtained in step D-3) by the number of data packets marked as light congestion mark in the upstream adjacent router obtained in step D-4) to obtain the interest packet transmission rate decay value of the same name prefix per interest packet detected by the router according to the FIB table;
[0043] Step D-6) Calculate the interest packet transmission rate of the same name prefix of the data packet: subtract the decay value obtained in step D-5) from the interest packet transmission rate of the same name prefix of the data packet of the current interface to obtain the interest packet transmission rate of the same name prefix of the data packet, and finally compare the local node and the congestion state level carried by the data packet, and update the congestion information according to the congestion state level from low to high, and update the local congestion level and data packet queuing delay to the data packet;
[0044] Step D-7) If the current router buffer data packet queue exceeds 90% of the buffer capacity, the congestion state is updated to the heavy congestion mark, and is transmitted to the downstream router; the router congestion control mechanism operation ends.
[0045] Step E-1) Calculate the expected queuing delay of data packets without congestion in the upstream neighbor: multiply the sum of the data packet reference queuing delay and the conversion factor ε multiplied by the queuing delay carried by the data packet by the conversion factor θ, and divide by the sum of the conversion factors θ and ε to obtain the expected queuing delay of the upstream neighbor;
[0046] Step E-2) Calculate the total amount of upstream neighbor buffer expected increase bytes: subtract the queuing delay carried by the data packet from the expected queuing delay of the upstream neighbor obtained in step E-1) to obtain the delay difference, compare the delay difference with 0 to obtain the maximum value, and finally multiply the maximum value by the data packet dequeue rate of the upstream neighbor to obtain the total amount of upstream neighbor buffer expected increase bytes;
[0047] Step E-3) Calculate the total amount of interest packet sending rate increase: divide the total amount of upstream neighbor buffer expected increase obtained in step E-2) by the number of data packet bytes, multiply by the number of interest packet bytes, and finally divide by the router detection period to obtain the total amount of interest packet sending rate increase;
[0048] Step E-4) Calculate the number of data packets with initial marking kept in the upstream adjacent router: multiply the data packet dequeue rate of the upstream neighbor by the router detection period, and divide by the number of data packet bytes to obtain the number of data packets with initial marking kept in the upstream adjacent router;
[0049] Step E-5) Divide the total amount of interest packet sending rate increase obtained in step E-3) by the number of data packets with initial marking kept in the upstream adjacent router obtained in step E-4) to obtain the value of interest packet sending rate increase for the same name prefix per time when the router detects the data packet according to the FIB table;
[0050] Step E-6) Calculate the sending rate of interest packet for the same name prefix of the data packet: add the value of interest packet sending rate increase obtained in step E-5) to the sending rate of interest packet for the same name prefix of the data packet at the current interface to obtain the sending rate of interest packet for the same name prefix of the data packet, and finally compare the local node and the congestion state level carried by the data packet, and update the congestion information according to the congestion state level from low to high, and update the local congestion degree and the data packet queue delay in the data packet;
[0051] Step E-7) If the data packet queue of the current router buffer exceeds 90% of the buffer capacity, the congestion state is updated to the severe congestion marking, and is transmitted to the downstream router; the operation of the router congestion control mechanism ends.
[0052] Step F-1) The router does not perform control action, finally compares the local node and the congestion state level carried by the data packet, and updates the congestion state according to the congestion state level from low to high, if the data packet queue of the current router buffer exceeds 90% of the buffer capacity, the congestion state is updated to the severe congestion marking, and the local congestion degree and the data packet queue delay are updated in the data packet; the operation of the router congestion control mechanism ends.
[0053] Compared with the prior art, the present application has the beneficial effects that:
[0054] The naming data network hop-by-hop congestion control method based on the number of forwarding paths is deployed on a computer configured as Intel(R) 400 Series Chipset Family, i5-10500 3.10GHz, DDR3 16GB SDRAM. The ns-3-based simulator, ndnSIM 2.1, is used to simulate the present application, and detailed experiments are carried out on several simplified but representative network scenarios. The degree to which the present application improves the content request experience quality under the condition of ensuring the normal operation and stability of the network is further observed, and the method performance is evaluated by using throughput, delay and packet loss rate as basic performance indicators of QoS. The experimental results show that the present application can well meet the congestion control requirements of NDN in different simulation scenarios. The network performance not only achieves significant improvement, but also has higher and more stable throughput, lower network delay, and better fairness in various network scenarios. BRIEF DESCRIPTION OF DRAWINGS
[0055] Figure 1 The overall architecture diagram of the naming data network hop-by-hop congestion control method based on the number of forwarding paths;
[0056] Figure 2 The principle diagram of the router congestion control mechanism designed by the present application;
[0057] Figure 3 The dumbbell topology simulation scenario;
[0058] Figure 4 The composite topology simulation scenario of single multi-path flow coexistence. DETAILED DESCRIPTION
[0059] The naming data network hop-by-hop congestion control method based on the number of forwarding paths proposed by the present application has the following design ideas: the router calculates the congestion degree of the local router by means of the active queue management method. The router determines the local congestion state according to the congestion degree and updates the congestion information of the data packet. The downstream adjacent router executes the multi-path forwarding strategy or the interest packet sending rate adjustment strategy based on the number of forwarding paths. When the router executes the multi-path forwarding strategy, the router calculates the shunt ratio of the interest packet flow of the current interface according to the congestion information of the data packet and forwards the flow through the current forwarding interface or the relatively suboptimal interface. When the router executes the interest packet sending rate adjustment strategy, the router attenuates or increases the sending rate of the interest packet with the same name prefix according to the name prefix of the data packet and the congestion information. The present application is mainly aimed at the multi-source multi-path transmission characteristics of the named data network, including router detection and router control, to cope with single-path flow and multi-path flow in the network.
[0060] The technical solutions of the present application will be described in further detail below in combination with the drawings and specific embodiments. The specific embodiments described are only used to explain and illustrate the present application and do not limit the present application.
[0061] As shown in Figure 1 The present application proposes a naming data network hop-by-hop congestion control method based on the number of forwarding paths. The router can execute a multi-path forwarding strategy or an interest packet sending rate adjustment strategy based on the number of forwarding paths. The router controls the number of forwarding paths, calculates the marking probability according to the data packet queuing delay of the router buffer based on the active queue management technology, detects congestion and generates marking information according to the marking probability, and then adds the marking information to the data packet (Data) and forwards it to the downstream adjacent router. As shown in Figure 2 The downstream adjacent router executes a multi-path forwarding strategy or an interest packet sending rate adjustment strategy based on the number of forwarding paths. When the router executes the multi-path forwarding strategy, the router calculates the shunting ratio of the interest packet flow of the current interface according to the congestion information of the data packet and forwards the flow through the current forwarding interface or the relatively suboptimal interface. When the router executes the interest packet sending rate adjustment strategy, the router attenuates or increases the sending rate of the interest packet with the same name prefix according to the name prefix and congestion information of the data packet.
[0062] Research examples:
[0063] A naming data network hop-by-hop congestion control method based on the number of forwarding paths of the present application is deployed and implemented on a computer configured as Intel(R)400Series Chipset Family, i5-10500 3.10GHz, DDR3 16GB SDRAM. The ns-3-based simulator, ndnSIM 2.1, is used to experimentally simulate the present application. Detailed experiments are carried out on Figure 3 a dumbbell topology simulation scenario and Figure 4 a single multi-path flow coexistence composite topology simulation scenario to further observe the degree to which the present application improves the content request experience quality under the condition of ensuring the normal operation and stability of the network. Throughput and delay are used as basic performance indicators of QoS to evaluate the performance of the method. In Figure 3 the simulation scenario shown, the instantaneous throughput of the consumers is more stable than that of the consumers deployed with PCON (see document [1]), and the total throughput of the proposed control method is improved by 4.6% compared with the total throughput of PCON. In terms of delay, the performance of the proposed control method is also superior to PCON. In Figure 4In the simulation scenario shown, the instantaneous throughput of the consumers is more stable than that of the consumers deployed with PCON, and the total throughput of the proposed control method is improved by 15.5% compared with that of PCON. In terms of latency, the performance of the proposed control method is also superior to that of PCON.
[0064] Table 1: Throughput (Mbps) comparison for dumbbell topology
[0065]
[0066] Table 2: Latency (ms) comparison for dumbbell topology
[0067]
[0068] Table 3: Throughput (Mbps) comparison for dumbbell topology
[0069]
[0070] Table 4: Latency (ms) comparison for dumbbell topology
[0071]
[0072] The experimental results show that the present application can well meet the congestion control requirements of NDN in different simulation scenarios. The network performance not only achieves significant improvement, but also has higher and more stable throughput and lower network delay, and has better fairness in various network scenarios.
[0073] Although the present application has been described in conjunction with the accompanying drawings, the present application is not limited to the specific embodiments described above, and the specific embodiments described above are merely illustrative, not limiting, and those of ordinary skill in the art can make many modifications under the inspiration of the present application without departing from the purpose of the present application, and these all belong to the protection of the present application.
Claims
1. A hop-by-hop congestion control method for named data networks based on the number of forwarding paths, characterized in that, This includes router congestion detection and router congestion control; The router congestion detection mentioned above is a process in the congestion control protocol whereby the router calculates and updates the congestion information carried by data packets. This includes: the current router calculating the local router's congestion level using an active queue management method; determining the local congestion status based on the congestion level; and updating the congestion status, congestion level, and data packet queuing delay that the data packets need to carry. The router congestion control described above involves the router performing congestion control actions based on congestion information carried in data packets. These actions include: downstream neighboring routers performing multi-path forwarding or adjusting the interest packet transmission rate based on the number of forwarding paths. The downstream neighboring router performing multi-path forwarding calculates the proportion of interest packet traffic that the current interface can handle based on the current congestion information in the data packet and forwards the remaining traffic through the current forwarding interface or a relatively suboptimal interface. The downstream neighboring router adjusting the interest packet transmission rate calculates the total rate of decreasing or increasing the interest packet transmission rate of the current interface based on the current congestion information in the data packet, and dynamically attenuates or increases the transmission rate of interest packets with the same name prefix based on the data packet's name prefix. The specific steps are as follows: Step 2-1) The router first extracts the name prefix and congestion information from the data packets; Step 2-2) Determine whether to perform multipath forwarding or adjust the interest packet transmission rate: The router checks the FIB table to see if the number of forwarding paths for interest packets with the same name prefix is greater than 1. If it is greater than 1, it indicates that the current node is a traffic splitting node, and steps 2-3) are executed to perform multi-path forwarding. Otherwise, steps 2-4) are executed to adjust the interest packet sending rate. Steps 2-3) involve performing multipath forwarding on downstream neighboring routers, divided into three scenarios: A, B, and C. Scenario A: If the packet congestion level p is greater than 0 and the packet congestion status is marked as light or heavy congestion, proceed to step A-1). Scenario B: The packet congestion level p is greater than 0 and the packet congestion status is secondary congestion marker, proceed to step B-1). Scenario C: The packet congestion level p equals 0, proceed to step C-1). Step A-1) Calculate the expected queuing delay of the data packet after the upstream neighbor node alleviates congestion. Multiply the reference queuing delay of the data packet by the conversion factor θ and the queuing delay carried by the conversion factor ε by the conversion factor ε, subtract the congestion level carried by the data packet, and finally divide by the sum of the conversion factors θ and ε to obtain the expected queuing delay of the upstream neighbor node. Step A-2) Determine if the expected queuing delay of the upstream neighboring node is greater than 0. If it is greater than 0, proceed to step A-3; otherwise, proceed to step A-4. Step A-3) Divide the expected queuing delay of the upstream neighbor node by the queuing delay carried by the data packet to obtain the delay ratio; the diversion node subtracts the obtained delay ratio from 1, then multiplies it by the forwarding ratio of interest packets with the same name prefix on the current interface to obtain the increased forwarding ratio of the suboptimal forwarding interface, and dynamically forwards interest packets with the same name prefix according to the forwarding ratio of each interface. Finally, it compares the congestion status level of the local node and the data packet, and updates the congestion status from low to high according to the congestion status level, while updating the local congestion level and data packet queuing delay into the data packet; then proceed to step A-5). Step A-4) Multiply the forwarding ratio of interest packets with the same name prefix on the current interface by 0.9 to obtain the increased forwarding ratio of the suboptimal forwarding interface, and dynamically forward interest packets with the same name prefix according to the forwarding ratio of each interface. Finally, compare the congestion status level of the local node and the data packet, and update the congestion status from low to high according to the congestion status level. At the same time, update the local congestion level and data packet queuing delay into the data packet. Step A-5) If packets of interest with the same name prefix are congested on all forwarding interfaces of the current routing node or the buffer packet queue exceeds 90% of the buffer capacity, the congestion status is updated to a severe congestion label and passed to downstream routers; proceed to steps 2-5). Step B-1) The router does not perform any control actions. Finally, it compares the congestion level carried by the local node and the data packets, and updates the congestion status from low to high according to the congestion level. If the current router buffer packet queue exceeds 90% of the buffer capacity, the congestion status is updated to severe congestion, and the local congestion level and packet queuing delay are updated in the data packets; then proceed to steps 2-5). Step C-1) Determine the forwarding ratio of interest packets with the same name prefix on the current interface. If the forwarding ratio is less than or equal to 0.1 and the current interface is the optimal forwarding interface, proceed to step C-2); otherwise, proceed to step C-3. Step C-2) If it is the optimal forwarding interface and the forwarding ratio of interest packets with the same name prefix on the current interface is less than or equal to 0.1, the diversion node immediately increases the forwarding ratio of interest packets with the same name prefix on the current interface by 0.5; then proceed to step C-4). Step C-3) If the forwarding ratio of interest packets with the same name prefix on the current interface is greater than 0.1, or it is not the optimal forwarding interface, and if the packet queuing delay carried by the packet is less than or equal to 1 millisecond, then the packet queuing delay carried by the packet is temporarily set to 1 millisecond. Step C-4) Calculate the expected queuing delay of the data packet when the upstream neighbor node is not congested: multiply the reference queuing delay of the data packet by the discount factor θ and add the discount factor ε multiplied by the queuing delay carried by the data packet, and finally divide by the sum of the discount factors θ and ε to obtain the expected queuing delay of the upstream neighbor node; divide the obtained expected queuing delay of the upstream neighbor node by the queuing delay carried by the data packet to obtain the delay ratio. Step C-5) The routing node subtracts 1 from the delay ratio obtained in step C-4), multiplies it by the forwarding ratio of interest packets with the same name prefix on the current interface, and obtains the forwarding ratio that interest packets with the same name prefix should increase on the current forwarding interface. It then dynamically forwards interest packets with the same name prefix according to the forwarding ratio on each interface. Finally, it compares the congestion status level carried by the local node and the data packets, and updates the congestion information from low to high according to the congestion status level. If the current router's buffer packet queue exceeds 90% of the buffer capacity, the congestion status is updated to a severe congestion label, and the local congestion level and packet queuing delay are updated in the data packets; then steps 2-5 are executed. Steps 2-4) Interest packet transmission rate adjustment is divided into three cases: D, E, and F. Scenario D: The packet congestion level p is greater than 0 and the congestion status is marked as light congestion or heavy congestion; proceed to step D-1). Scenario E: The packet congestion level p equals 0, proceed to step E-1). Case F: The packet congestion level p is greater than 0 and the packet congestion status is secondary congestion marker, proceed to step F-1). Step D-1) Calculate the expected queuing delay of the data packet when the upstream neighbor node is not congested: multiply the reference queuing delay of the data packet by the conversion factor θ and the queuing delay carried by the conversion factor ε, subtract the congestion level carried by the data packet, and finally divide by the sum of the conversion factors θ and ε to obtain the expected queuing delay of the upstream neighbor node. Step D-2) Calculate the total number of bytes expected to be reduced in the upstream neighbor node's buffer: Subtract the expected queuing delay of the upstream neighbor node obtained in step D-1) from the queuing delay carried by the data packet to obtain the delay difference, compare the delay difference with 0 and take the maximum value, and finally multiply the maximum value by the data packet dequeue rate of the upstream neighbor node to obtain the total number of bytes expected to be reduced in the upstream neighbor node's buffer. Step D-3) Calculate the total amount of interest packet transmission rate attenuation: Divide the total number of bytes expected to be reduced in the upstream neighbor node buffer obtained in step D-2) by the number of data packet bytes, multiply by the number of interest packet bytes, and finally divide by the router detection period to obtain the total amount of interest packet transmission rate attenuation. Step D-4) Calculate the number of packets marked as lightly congested in the upstream neighboring routers: multiply the router detection period by the packet outbound rate of the upstream neighboring node, multiply by the congestion level carried by the packet, and finally divide by the number of bytes of the packet to obtain the number of packets marked as lightly congested in the upstream neighboring routers. Step D-5) The router divides the total amount of interest packet transmission rate attenuation obtained in step D-3) by the number of packets marked as light congestion in the upstream neighboring routers obtained in step D-4) to obtain the transmission rate attenuation value of interest packets with the same name prefix when a router detects packets according to the FIB table. Step D-6) Calculate the transmission rate of interest packets with the same name prefix as the data packet: Subtract the attenuation value obtained in step D-5) from the transmission rate of interest packets with the same name prefix as the data packet of the current interface to obtain the transmission rate of interest packets with the same name prefix as the data packet. Finally, compare the congestion status level of the local node and the data packet and update the congestion information from low to high according to the congestion status level. At the same time, update the local congestion level and data packet queuing delay into the data packet. Step D-7) If the current router's buffer packet queue exceeds 90% of the buffer capacity, the congestion status is updated to a heavily congested label and passed to downstream routers; proceed to steps 2-5). Step E-1) Calculate the expected queuing delay of the data packet when the upstream neighbor node is not congested: multiply the reference queuing delay of the data packet by the discount factor θ and the sum of the discount factor ε multiplied by the queuing delay carried by the data packet, and divide by the sum of the discount factors θ and ε to obtain the expected queuing delay of the upstream neighbor node. Step E-2) Calculate the total number of bytes expected to increase in the upstream neighbor node's buffer: Subtract the queuing delay carried by the data packet from the expected queuing delay of the upstream neighbor node obtained in step E-1) to get the delay difference, compare the delay difference with 0 and take the maximum value, and finally multiply the maximum value by the data packet dequeue rate of the upstream neighbor node to get the total number of bytes expected to increase in the upstream neighbor node's buffer. Step E-3) Calculate the total increase in the interest packet transmission rate: Divide the expected increase in the upstream neighbor node buffer size obtained in step E-2) by the number of data packet bytes, multiply by the number of interest packet bytes, and finally divide by the router detection period to obtain the total increase in the interest packet transmission rate. Step E-4) Calculate the number of packets with the initial tag in the upstream neighboring router: multiply the router detection period by the packet dequeue rate of the upstream neighboring node, and then divide by the number of packet bytes to get the number of packets with the initial tag in the upstream neighboring router. Step E-5) The router divides the total increase in the transmission rate of interest packets obtained in step E-3) by the number of packets in the upstream neighboring routers that maintain the initial label obtained in step E-4) to obtain the increase in the transmission rate of interest packets with the same name prefix when a router detects a packet according to the FIB table. Step E-6) Calculate the transmission rate of interest packets with the same name prefix as the data packet: Add the increase value obtained in step E-5) to the transmission rate of interest packets with the same name prefix as the data packet of the current interface to obtain the transmission rate of interest packets with the same name prefix as the data packet. Finally, compare the congestion status level of the local node and the data packet and update the congestion information from low to high according to the congestion status level. At the same time, update the local congestion level and data packet queuing delay into the data packet. Step E-7) If the current router's buffer packet queue exceeds 90% of the buffer capacity, the congestion status is updated to a heavily congested label and passed to downstream routers; proceed to steps 2-5). Step F-1) The router does not perform any control actions. Finally, it compares the congestion status level carried by the local node and the data packet, and updates the congestion status from low to high according to the congestion status level. If the current router buffer packet queue exceeds 90% of the buffer capacity, the congestion status is updated to severe congestion, and the local congestion level and data packet queuing delay are updated into the data packet. Steps 2-5) The router congestion control mechanism operation is complete.
2. The named data network hop-by-hop congestion control method according to claim 1, characterized in that, The router congestion detection includes the following steps: Step 1-1) Calculate the congestion level p for the current period and store the congestion information for the current period: Subtract the reference queuing delay from the current packet queuing delay, and then multiply by the conversion factor θ to obtain the offset between the current queuing delay and the expected queuing delay; subtract the packet queuing delay of the previous cycle recorded by the router from the current packet queuing delay, and then multiply the result by the conversion factor ε to obtain the offset between the current queuing delay and the previous cycle queuing delay. The two offsets obtained above are added to the congestion level of the previous period to obtain the congestion level p of the current period; if p is greater than or equal to 1, p is assigned the value 1, and if p is less than or equal to 0, p is assigned the value 0; the router records the current packet queuing delay as the packet queuing delay of the previous period, and records the obtained congestion level p of the current period as the congestion level of the previous period. Step 1-2) Update congestion status and congestion level: If the congestion level p obtained in step 1-1) is greater than 0, the congestion status bit of the data packet is updated to the mild congestion mark with probability p, and to the secondary congestion mark with probability 1-p. Otherwise, the congestion status bit of the data packet remains at the initial mark or the state carried by the data packet. The update priority is from low to high as initial mark, secondary congestion mark, mild congestion mark, and severe congestion mark, and the update is irreversible. Update the congestion level of the original record in the data packet according to the congestion level p obtained in step 1-1). Steps 1-3) Update the queuing delay recorded in the data packet with the current data packet queuing delay to complete the router congestion detection.
3. The named data network hop-by-hop congestion control method according to claim 1 or 2, characterized in that, The congestion information includes congestion status, congestion level, and dwell time.