A naming data network hybrid congestion control method based on data packet queuing delay

By using a hybrid congestion control method based on packet queuing delay, the control strategies of routers and consumers are dynamically adjusted, solving the problems of single-path flow and multi-path flow in NDN, improving the network's throughput and delay performance, and achieving better transmission effects.

CN116582489BActive Publication Date: 2025-10-10TIANJIN UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310560565.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-05-18
Publication Date
2025-10-10
Estimated Expiration
2043-05-18

AI Technical Summary

Technical Problem

Existing hybrid congestion control schemes for named data networking (NDN) have difficulty in simultaneously handling single-path and multi-path flows in the network, and insufficient collaborative control between consumers and routers leads to degraded transmission performance.

Method used

A hybrid congestion control method based on packet queuing delay is adopted. Through router congestion information update, router congestion control and consumer-side control, the sending rate and window size of interest packets are dynamically adjusted to achieve pre-regulation and post-congestion control within the network.

Benefits of technology

It improves network throughput and stability, reduces latency, ensures network fairness and normal operation, and improves the quality of content requests.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116582489B_ABST
    Figure CN116582489B_ABST
Patent Text Reader

Abstract

The application discloses a naming data network hybrid congestion control method based on data packet queuing delay, which comprises router congestion information updating, first, the congestion degree of a local router is calculated by means of an active queue management method; the router discriminates the local congestion state according to the congestion degree and updates the congestion information of the data packet; in the router congestion control, the residual flow is forwarded through the current forwarding interface or a relatively suboptimal interface according to the forwarding proportion or the local congestion degree, the data packet queuing delay and the consumer congestion window adjustment value are updated into the data packet through interest packet sending rate control; the pre-control before the internal congestion of the network and the control after the congestion are realized through the consumer end control. The application cooperates the consumer and the router control, can cope with the single path flow and the multi-path flow in the network, and realizes the congestion avoidance and the congestion control through the consumer end control.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the field of high-performance congestion control scheme design, which is used to deal with single-path flow and multi-path flow in Named Data Networking, and simultaneously realizes congestion avoidance and congestion control through consumer-side control. Background Art

[0002] With the innovative development of multimodal network construction technologies and related enabling technologies, such as the Industrial Internet, the Internet of Vehicles, space networks, and ocean networks, the function of networks is gradually shifting from data transmission channels to efficient, large-scale content acquisition and distribution. However, the current TCP / IP network architecture, which is terminal-centric and uses location as an addressing identifier, is no longer able to meet the development needs of future innovative applications and service models. To this end, academic and industrial communities around the world are actively engaged in research on the architecture of the future Internet. In 2010, Named Data Networking (NDN), proposed by Lixia Zhang of the University of California and Van Jacobson of Xerox, is considered a paradigm for future network architecture.

[0003] NDN shifts the network communication model from the end-to-end IP model to a name-based communication model. This architecture is driven by consumers sending Interest packets prefixed with a name to request data packets with the same name. Due to significant differences between the addressing and forwarding methods of NDN and IP network routing and forwarding planes, namely NDN's support for content caching, connectionless communication, and stateful forwarding, research on congestion control in the NDN routing and forwarding plane faces a series of new issues and challenges. First, the in-network caching feature makes the round-trip time (RTT) of requests dynamic, meaning that network nodes cannot determine congestion and the degree of congestion based on RTT trends. Therefore, selecting a metric for quickly and accurately determining the degree of congestion becomes a challenge. Second, the connectionless nature of communication means that network nodes can only perform congestion control based on the communication state of a data packet in the network, meaning that network nodes can only perform control after congestion occurs. Therefore, predicting the appropriate consumer sending rate based on the current congestion level and traffic characteristics is a significant challenge. Third, stateful forwarding allows routers to detect and handle congestion, effectively reducing the feedback delay for receiving congestion information. However, how to enable routers and consumers to collaborate in control to avoid excessive and repeated control is a challenge that needs to be solved urgently in this field.

[0004] Researchers at home and abroad have proposed a series of solutions to the congestion control problem in NDN. Currently, these solutions fall into three main categories: receiver-driven congestion control, hop-by-hop congestion control, and hybrid control that combines the two approaches. Receiver-driven congestion control schemes manage the rate at which consumers send Interest packets to suppress data volume, thereby reducing the likelihood of congestion. However, a core issue with current receiver-driven approaches is that they struggle to promptly alleviate network congestion, potentially leading to significant packet loss and increased latency. Hop-by-hop congestion control can alleviate congestion more quickly than receiver-driven congestion control. However, because hop-by-hop congestion control cannot adaptively adjust the rate at which consumers send Interest packets, it cannot guarantee optimal transmission performance. Specifically, this control mechanism presets the terminal's Interest packet sending rate to a fixed value based on the network bottleneck bandwidth. This approach is impractical in actual network deployments. To address this issue, experts and scholars at home and abroad have jointly considered a hybrid congestion control scheme combining receiver-driven and hop-by-hop congestion control. The hybrid congestion control scheme can not only relieve congestion in a timely manner, but also adaptively adjust the amount of traffic injected into the network.

[0005] However, hybrid congestion control still has some shortcomings that need to be further improved. First, the currently proposed hybrid congestion control scheme may not be able to handle both single-path and multi-path flows in the network. Second, consumers should dynamically adjust the size of their interest sending window based on the router's congestion level to delay congestion avoidance and congestion control. Therefore, hybrid congestion control mechanisms need to study how to handle both single-path and multi-path flows in the network, how to coordinate routers and consumers to prevent transmission performance degradation caused by duplication and excessive control, and how to leverage the advantages of consumer-side control to achieve congestion avoidance and congestion control.

[0006] [References]

[0007] [1]Schneider K, Yi C, Zhang B, et al. A practical congestion controls scheme for named data networking [C]. In Proceedings of the 3rd ACM Conferenceon Information-Centric Networking, 2016: 21–30. Summary of the Invention

[0008] In view of the above-mentioned prior art, the present invention provides a hybrid congestion control method for named data networks based on data packet queuing delay to achieve congestion avoidance and congestion control.

[0009] In order to solve the above technical problems, the present invention proposes a hybrid congestion control method for named data networks based on data packet queuing delay, such as Figure 1 As shown, it includes router congestion information update, router congestion control and consumer-side control.

[0010] The router congestion information is updated as follows: first, the congestion level of the local router is calculated using an active queue management method; the router determines the local congestion status based on the congestion level and updates the congestion information of the data packet, wherein the congestion information includes the congestion status, congestion level, data packet queuing delay and consumer congestion window adjustment value.

[0011] The router congestion control includes multipath forwarding control and interest packet sending rate control. The router multipath forwarding control is as follows: first, based on the current congestion information in the data packet, the maximum interest packet forwarding ratio that the current interface can carry is calculated; then, based on the forwarding path sorting of the FIB entry, the change in the current interface forwarding ratio is transferred to the relatively suboptimal interface; finally, the remaining traffic is forwarded through the current forwarding interface or the relatively suboptimal interface according to the forwarding ratio; the router interest packet sending rate control is as follows: based on the current congestion information in the data packet, the total rate of reduction or increase of the interest packet sending rate of the current interface is calculated; and based on the name prefix of the data packet, the interest packet sending rate of the same name prefix is ​​dynamically attenuated or increased.

[0012] The consumer-side control is: based on the consumer congestion window size, according to the current congestion status and congestion window adjustment value in the data packet, the consumer's congestion window size is dynamically adjusted, the total amount of interest packets in the network is finely regulated, and pre-regulation before congestion in the network and control after congestion are achieved.

[0013] Furthermore, the hybrid congestion control method for named data networks of the present invention includes:

[0014] 1. Calculate the congestion level of the local router. The router determines the local congestion status based on the congestion level and updates the congestion information of the data packet.

[0015] The calculation of the congestion level of the local router includes the following steps:

[0016] Step 1-1) Subtract the reference queuing delay from the current packet queuing delay, and then multiply by the reduction factor θ;

[0017] Step 1-2) Subtract the packet queuing delay of the previous cycle recorded by the router from the current packet queuing delay, and multiply the result by the reduction factor ε;

[0018] Step 1-3) Preliminary calculation of congestion level p: Add the result of step 1-1), the result of step 1-2), and the congestion level of the previous cycle to obtain the congestion level p of the current cycle;

[0019] Step 1-4) Determine the final value of the congestion level p: 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;

[0020] Step 1-5) Storage of current cycle information: The router records the current packet queuing delay as the packet queuing delay of the previous cycle, and records the congestion level p determined in step 1-4) as the congestion level of the previous cycle.

[0021] The router determines the local congestion state according to the congestion level and updates the congestion information of the data packet, including the following steps:

[0022] Step 2-1) Update the congestion status: Based on the final value of the congestion level p determined in step 1-4), determine whether p is greater than 0. If it is greater than 0, update the mark status. The mark status is upgraded to a light congestion mark with a probability of p, and to an auxiliary congestion mark with a probability of 1-p. The update priority is from low to high: initial mark, auxiliary congestion mark, light congestion mark, and heavy congestion mark, and the update is irreversible.

[0023] Step 2-2) updating the congestion level: updating the congestion level recorded in the data packet according to the final value of the congestion level p determined in step 1-4);

[0024] Step 2-3) Update the data packet queuing delay: update the queuing delay recorded in the data packet with the current data packet queuing delay;

[0025] Step 2-4) multiplying the packet reference queuing delay by the reduction factor θ;

[0026] Step 2-5) Multiply the packet queuing delay in the router buffer by the reduction factor ε;

[0027] Step 2-6) Calculate the expected maximum queuing delay of the local node based on the current packet queuing delay: add the value calculated in step 2-4) to the value calculated in step 2-5), subtract the final congestion level value obtained in step 1-4), and finally divide by the sum of the reduction factors θ and ε to obtain the expected maximum queuing delay of the local node;

[0028] Step 2-7) Calculate the initial value of the consumer congestion window adjustment: subtract the current data packet queuing delay from the local node's expected maximum queuing delay obtained in step 2-6), and divide the result by the current data packet queuing delay to obtain the initial value of the consumer congestion window adjustment;

[0029] Step 2-8) Calculate the consumer congestion window adjustment value: If the current node is in a congested state and the initial value of the local node's consumer congestion window adjustment obtained in step 2-7) is less than or equal to -1, then the consumer congestion window adjustment value is recorded as -1;

[0030] Step 2-9) Update the consumer congestion window adjustment value: compare the current consumer congestion window adjustment value in the data packet with the consumer congestion window adjustment value required by the local node obtained in step 2-8) to obtain the minimum value, and assign the minimum value to the consumer congestion window adjustment value recorded in the data packet;

[0031] Step 2-10) Calculate and update the congestion information and the operation is completed.

[0032] 2. The router congestion control includes multipath forwarding control and interest packet sending rate control.

[0033] like Figure 2 As shown, the router multipath forwarding control includes the following steps:

[0034] Step 3-1) The router first extracts the name prefix and congestion information from the data packet;

[0035] Step 3-2) Determine whether to perform multi-path forwarding: The router uses the FIB table to check whether the number of forwarding paths for the interest packet with the same name prefix as the data packet is greater than 1. If it is greater than 1, it indicates that the current node is a branch node and multi-path forwarding control needs to be performed;

[0036] Step 3-3) Update the congested interface: If the congestion level p carried by the data packet is greater than 0 and the congestion state is marked as light congestion or heavy congestion, the diversion node marks the current interface as a congested interface;

[0037] Step 3-4) multiplying the packet reference queuing delay by the reduction factor θ;

[0038] Step 3-5) Multiply the queuing delay carried by the data packet by the reduction factor ε;

[0039] Step 3-6) Calculate the expected queuing delay of the data packet after the upstream neighbor node relieves congestion: Add the value calculated in step 3-4) to the value calculated in step 3-5), subtract the congestion level carried by the data packet, and finally divide by the sum of the reduction factors θ and ε to obtain the expected queuing delay of the upstream neighbor node;

[0040] Step 3-7) If the expected queuing delay of the upstream neighbor node calculated in step 3-6) is less than or equal to 0, the forwarding ratio of the Interest packets with the same name prefix as the data packet on the current interface is multiplied by 0.9 to obtain the increased forwarding ratio of the suboptimal forwarding interface. The Interest packets with the same name prefix as the data packet are dynamically forwarded according to the forwarding ratio of each interface. Finally, the congestion status level of the local node and the data packet are compared and updated. At the same time, the local congestion level, the data packet queuing delay, and the consumer congestion window adjustment value are updated in the data packet.

[0041] Step 3-8) If the expected queuing delay of the upstream neighbor calculated in step 3-6) is greater than 0, the delay ratio is calculated by dividing the expected queuing delay of the upstream neighbor calculated in step 3-6) by the current queuing delay in the packet;

[0042] Step 3-9) The shunting node subtracts the delay ratio calculated in step 3-8) from 1, multiplies the forwarding ratio of the interest packet with the same name prefix on the current interface by the result, to obtain the increased forwarding ratio of the suboptimal forwarding interface, and dynamically forwards the interest packet with the same name prefix according to the forwarding ratio of each interface. Finally, the local node and the congestion state level carried by the packet are compared and updated, and the local congestion degree, packet queuing delay and consumer congestion window adjustment value are updated in the packet;

[0043] Step 3-10) If all forwarding interfaces of the interest packet with the same name prefix at the current shunting node are in a congested state or the buffer packet queue exceeds 90% of the buffer capacity, the congestion state is updated to a severe congestion mark and is passed to the downstream node;

[0044] Step 3-11) Update the non-congestion interface: if the packet congestion degree p is equal to 0, the current interface is reset to a non-congestion interface by the shunting node;

[0045] Step 3-12) If the forwarding ratio of the interest packet with the same name prefix on the current interface is less than or equal to 0.1 and is the optimal forwarding interface, the shunting node immediately increases the forwarding ratio of the current interface by 0.5;

[0046] Step 3-13) If the forwarding ratio of the interest packet with the same name prefix on the current interface is greater than 0.1 or is not the optimal forwarding interface, if the packet queuing delay carried by the packet is less than or equal to 1 millisecond, the packet queuing delay carried by the packet is temporarily set to 1 millisecond;

[0047] Step 3-14) Calculate the expected queuing delay of the packet to ensure that the upstream neighbor does not occur congestion: add the value calculated in step 3-4) to the value calculated in step 3-5), divide by the sum of the conversion factors θ and ε, to obtain the expected queuing delay of the upstream neighbor;

[0048] Step 3-15) The delay ratio is calculated by dividing the expected queuing delay of the upstream neighbor calculated in step 3-14) by the queuing delay carried by the packet;

[0049] Step 3-16) The offloading node subtracts 1 from the delay ratio calculated in step 3-15) and multiplies it by the forwarding ratio of the Interest packets with the same name prefix as the data packet on the current interface to obtain the forwarding ratio that should be increased for the current forwarding interface. The Interest packets with the same name prefix as the data packet are dynamically forwarded according to the forwarding ratio of each interface. Finally, the congestion status level of the local node and the data packet are compared and updated. If the data packet queue in the current router buffer exceeds 90% of the buffer capacity, the congestion status is updated to a heavy congestion mark, and the local congestion level, data packet queuing delay, and consumer congestion window adjustment value are updated in the data packet.

[0050] Step 3-17) If the packet congestion status is auxiliary congestion mark and the congestion level p is greater than 0, the router does not perform any control action. Finally, the router compares the current congestion status level of the local node with that in the packet, updates the local congestion level, packet queuing delay, and consumer congestion window adjustment value in the packet.

[0051] Step 3-18) If the packet queue in the current split node buffer exceeds 90% of the buffer capacity, the congestion state is updated to a heavy congestion mark and transmitted to the downstream node;

[0052] Step 3-19) The multipath forwarding control operation ends.

[0053] like Figure 2 As shown, the router interest packet sending rate control includes the following steps:

[0054] Step 4-1) The router first extracts the name prefix and congestion information from the data packet;

[0055] Step 4-2) Determine whether to perform interest packet sending rate control: The router uses the FIB table to check whether the number of forwarding paths for interest packets with the same name prefix as the data packet is 1. If it is equal to 1, the router performs interest packet sending rate control;

[0056] Step 4-3) multiplying the packet reference queuing delay by the reduction factor θ;

[0057] Step 4-4) multiplying the queuing delay carried by the data packet by the reduction factor ε;

[0058] Step 4-5) Calculate the expected queuing delay of the data packet after the upstream neighbor node relieves congestion: If the congestion level p carried by the data packet is greater than 0 and the congestion state is light congestion mark, auxiliary congestion mark, or heavy congestion mark, add the value calculated in step 4-3) to the value calculated in step 4-4), subtract the congestion level carried by the data packet, and finally divide by the sum of the reduction factors θ and ε to obtain the expected queuing delay of the upstream neighbor node;

[0059] Step 4-6) Calculate the total number of bytes expected to be reduced in the upstream neighbor node's buffer: subtract the upstream neighbor node's expected queuing delay calculated in step 4-5) from the queuing delay carried by the data packet to obtain a delay difference, compare the difference with 0, and take the maximum value. Finally, multiply the maximum value by the upstream neighbor node's data packet dequeue rate to obtain the total number of bytes expected to be reduced in the upstream neighbor node's buffer;

[0060] Step 4-7) Calculate the total amount of Interest packet sending rate attenuation: Divide the total amount of bytes expected to be reduced in the upstream neighbor node buffer calculated in step 4-6) by the number of data packet bytes, multiply it by the number of Interest packet bytes, and finally divide it by the router detection period to obtain the total amount of Interest packet sending rate attenuation;

[0061] Step 4-8) Calculate the number of packets delivered by the upstream neighboring router: multiply the router detection period by the packet dequeue rate of the upstream neighboring node, and divide the result by the number of packet bytes to get the number of packets delivered by the upstream neighboring router;

[0062] Step 4-9) multiplies the total amount of interest packet sending rate attenuation obtained in step 4-7) by 2, and divides it by the number of data packets transmitted by the upstream adjacent router obtained in step 4-8) to obtain the sending rate attenuation value of the interest packet with the same name prefix when each data packet is received. Finally, the congestion status level of the local node and the data packet are compared and updated. If the current router buffer data packet queue exceeds 90% of the buffer capacity, the congestion status is updated to a heavy congestion mark, and the local congestion level, data packet queuing delay, and consumer congestion window adjustment value are updated in the data packet.

[0063] Step 4-10) Calculate the expected queuing delay of the data packet when the upstream neighbor node is not congested: If the congestion level p of the data packet is equal to 0, add the value calculated in step 4-3) to the value calculated in step 4-4) and divide it by the sum of the reduction factors θ and ε to obtain the expected queuing delay of the upstream neighbor node;

[0064] Step 4-11) Calculate the total number of bytes expected to be added to the upstream neighbor node's buffer: Subtract the queuing delay carried by the data packet from the upstream neighbor node's expected queuing delay calculated in step 4-10) to obtain a delay difference, compare the difference with 0, and take the maximum value. Finally, multiply the maximum value by the upstream neighbor node's data packet dequeue rate to obtain the total number of bytes expected to be added to the upstream neighbor node's buffer;

[0065] Step 4-12) Calculate the total increase in the Interest packet sending rate: divide the total expected increase in the upstream neighbor node buffer calculated in step 4-11) 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 sending rate;

[0066] Step 4-13) Calculate the number of packets that retain the initial mark in the upstream neighboring router: multiply the router detection period by the packet dequeue rate of the upstream neighboring node, and divide the result by the number of packet bytes to obtain the number of packets that retain the initial mark in the upstream neighboring router;

[0067] Step 4-14) multiplies the total increase in the Interest packet sending rate obtained in step 4-12) by 2, and divides it by the number of data packets that retain the initial mark in the upstream adjacent router obtained in step 4-13) to obtain the increase in the sending rate of the Interest packet with the same name prefix when each data packet is received. Finally, compare the congestion status level carried by the local node and the data packet, and update them. If the data packet queue in the current router buffer exceeds 90% of the buffer capacity, the congestion status is updated to a heavy congestion mark, and the local congestion level, data packet queuing delay, and consumer congestion window adjustment value are updated in the data packet.

[0068] Step 4-15) The interest packet sending rate control operation is completed.

[0069] 3. Figure 3 As shown, the consumer-side control includes the following steps:

[0070] Step 5-1) Consumer receives data packet: The consumer receives the returned data packet and checks the corresponding congestion status;

[0071] Step 5-2) If the congestion state carried by the data packet is initial, and the current window size is both less than the initial startup upper limit of the control mechanism and does not exceed the maximum window size recorded by the consumer, if the consumer congestion window adjustment value carried by the data packet is greater than or equal to 0 and less than or equal to 1, the congestion window size is increased by 1; otherwise, the congestion window size is increased by the consumer congestion window adjustment value carried by the data packet;

[0072] Step 5-3) If the congestion state carried by the packet is initial marking, and the current window size is less than the initial startup upper limit of the control mechanism, but exceeds the maximum window size recorded by the consumer, the congestion window size plus 1 divided by the ratio of the current congestion window size;

[0073] Step 5-4) If the congestion state carried by the packet is initial marking and the current window size is greater than or equal to the initial startup upper limit of the control mechanism, but has not reached the maximum window size recorded by the consumer, the consumer initiates a TCP-BIC bisection median operation to increase the consumer window size;

[0074] Step 5-5) If the congestion state carried by the packet is initial, and the current window size is both greater than or equal to the initial startup upper limit of the control mechanism and reaches the maximum window size recorded by the consumer, the consumer initiates a TCP-BIC window probe operation to detect the new maximum window size;

[0075] Step 5-6) If the congestion state carried by the data packet is a light congestion mark or a secondary congestion mark, and if the consumer congestion window adjustment value carried by the data packet is greater than 0, the congestion window size remains unchanged;

[0076] Step 5-7) If the congestion state carried by the data packet is light congestion marking or auxiliary congestion marking, and if the consumer congestion window adjustment value carried by the data packet is less than or equal to 0, then the congestion window size is added to the consumer congestion window adjustment value carried by the data packet;

[0077] Step 5-8) If the congestion state carried by the data packet is a heavy congestion mark, the congestion window size is multiplied by the coefficient γ and the TCP-BIC traditional window recovery mechanism is enabled;

[0078] Step 5-9) The consumer-side control operation ends.

[0079] Compared with the prior art, the present invention has the following advantages: the hybrid congestion control method for named data networks described in the present invention is deployed and implemented on a computer configured with an Intel(R) 400 Series Chipset Family, i5-10500 3.10GHz, and 16GB of DDR3 SDRAM. The present invention was experimentally simulated using the ns-3-based simulator, ndnSIM 2.1, and detailed experiments were conducted in several representative network scenarios. The extent to which the present invention improves the quality of experience of content requests while ensuring normal network operation and stability was further observed. The performance of the method was evaluated using throughput, latency, and packet loss rate as basic QoS performance indicators. As shown in Tables 1 to 4, the experimental results demonstrate that the present invention can well meet the hybrid congestion control requirements of NDN in different simulation scenarios. Not only is network performance significantly improved, with higher and more stable throughput and lower network latency, but it also exhibits better fairness in various network scenarios. BRIEF DESCRIPTION OF THE DRAWINGS

[0080] Figure 1 It is the overall architecture diagram of the method of the present invention;

[0081] Figure 2 Schematic diagram of router congestion control designed in the present invention;

[0082] Figure 3 This is a schematic diagram of the consumer-side control principle designed in the present invention;

[0083] Figure 4 This is a BRITE topology simulation scenario without cache;

[0084] Figure 5 This is a simulation scenario for a BRITE topology with cache. DETAILED DESCRIPTION

[0085] The technical solution of the present invention is further described in detail below with reference to the accompanying drawings and specific embodiments. The described specific embodiments are only used to explain the present invention and are not intended to limit the present invention.

[0086] like Figure 1 As shown in the figure, the present invention proposes a hybrid congestion control method for named data networks based on data packet queuing delay, including a router congestion information update mechanism, a router congestion control mechanism, and a consumer-side control mechanism; the specific description is as follows: the router congestion control mechanism includes a multi-path forwarding strategy and an interest packet sending rate control strategy. Figure 2 As shown, the router multi-path forwarding strategy calculates the maximum forwarding ratio of interest packets that the current interface can carry based on the congestion information carried by the data packet, and further transfers the change value of the current interface forwarding ratio to the relatively suboptimal interface based on the forwarding path sorting of the FIB entry, and finally forwards the remaining traffic through the current forwarding interface or the relatively suboptimal interface according to the forwarding ratio. The router interest packet sending rate control strategy calculates the total rate of reduction or increase of the current interface interest packet sending rate based on the congestion information carried by the data packet and dynamically attenuates or increases the interest packet sending rate with the same name prefix based on the name prefix of the data packet. The consumer-side control mechanism is based on the congestion window size of the consumer terminal, such as Figure 3 As shown in the figure, according to the congestion status carried by the data packet and the congestion window adjustment value, the consumer's congestion window size is dynamically adjusted, the total amount of interest packets in the network is finely regulated, and pre-regulation before congestion in the network and control after congestion are achieved.

[0087] Research Materials:

[0088] The hybrid congestion control method for named data networks based on packet queuing delay of the present invention is deployed and implemented on a computer configured with Intel(R) 400Series Chipset Family, i5-10500 3.10GHz, DDR3 16GB SDRAM. The method of the present invention is simulated using the ns-3 based simulator, i.e., ndnSIM 2.1. Figure 4 BRITE topology simulation scenario without cache and Figure 5 Detailed experiments were conducted in a cached BRITE topology simulation scenario to further observe the extent to which the present invention improves the quality of experience of content requests while ensuring normal network operation and stability. The performance of the method was evaluated by using throughput and latency as basic QoS performance indicators, as shown in Tables 1, 2, 3, and 4.

[0089] Table 1 BRITE topology without buffering: Throughput (Mbps) comparison

[0090]

[0091] Table 2: Comparison of latency (ms) for BRITE topology without buffering

[0092]

[0093] Table 3 BRITE topology with cache: throughput (Mbps) comparison

[0094]

[0095] Table 4 BRITE topology with cache: latency comparison (ms)

[0096]

[0097] exist Figure 4 In the example, 4 consumers request the content held by 4 producers respectively; the bandwidth of all links is 10 Mbps and the delay is 10 ms. Figure 5 In the example, the router enables in-network caching and uses a first-in-first-out (FIFO) policy with a cache size of 100,000 packets. In both cases, Consumer 1 and Consumer 4 request / prefix / A, and Consumer 2 and Consumer 3 request / prefix / B. However, C3 and C4 start requesting content 3 seconds later. Figure 5 The bandwidth of the medium-thick line is set to 50 Mbps, the bandwidth of the remaining links is set to 10 Mbps, and the latency of all links is set to 10 ms.

[0098] Experimental results demonstrate that this method can effectively meet the hybrid congestion control requirements of NDN in various simulation scenarios. Network performance is significantly improved, with higher and more stable throughput and lower network latency, while also achieving better fairness across various network scenarios. In a cacheless BRITE topology, the total throughput of consumers deployed using FleCom is 50.8% higher than that of consumers deployed using PCON from [1]. This value increases to 48.3% when the router's in-network cache is enabled.

[0099] Although the present invention has been described above in conjunction with the accompanying drawings, the present invention is not limited to the above-mentioned specific embodiments. The above-mentioned specific embodiments are merely illustrative and not restrictive. Under the guidance of the present invention, ordinary technicians in this field can make many variations without departing from the purpose of the present invention, and these are all protected by the present invention.

Claims

1. A hybrid congestion control method for named data networks based on packet queuing delay, characterized in that: Including router congestion information update, router congestion control and consumer-side control; The router congestion information is updated by first calculating the congestion level of the local router by using an active queue management method; The router determines the local congestion state according to the congestion level and updates the congestion information of the data packet, wherein the congestion information includes the congestion state, congestion level, data packet queuing delay and consumer congestion window adjustment value; The router congestion control includes multipath forwarding control and interest packet sending rate control. The router multipath forwarding control is as follows: first, based on the current congestion information in the data packet, the maximum interest packet forwarding ratio that the current interface can carry is calculated; then, based on the forwarding path sorting of the FIB entry, the change in the current interface forwarding ratio is transferred to the relatively suboptimal interface; finally, the remaining traffic is forwarded through the current forwarding interface or the relatively suboptimal interface based on the forwarding ratio; the router interest packet sending rate control is as follows: based on the current congestion information in the data packet, the total rate of reducing or increasing the interest packet sending rate of the current interface is calculated; and based on the name prefix of the data packet, the sending rate of the interest packet with the same name prefix is ​​dynamically attenuated or increased. The consumer-side control is: based on the consumer congestion window size, according to the current congestion status of the data packet and the congestion window adjustment value, the consumer's congestion window size is dynamically adjusted, the total amount of interest packets in the network is finely regulated, and pre-regulation before congestion in the network and control after congestion are achieved.

2. The method for controlling hybrid congestion in named data networks according to claim 1, wherein: Calculate the congestion level of the local router, including: Step 1-1) Subtract the reference queuing delay from the current packet queuing delay, and then multiply by the reduction factor θ; Step 1-2) Subtract the packet queuing delay of the previous cycle recorded by the router from the current packet queuing delay, and multiply the result by the reduction factor ε; Step 1-3) Preliminary calculation of congestion level p: Add the result of step 1-1), the result of step 1-2), and the congestion level of the previous cycle to obtain the congestion level p of the current cycle; Step 1-4) Determine the final value of the congestion level p: 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; Step 1-5) Storage of current cycle information: The router records the current packet queuing delay as the packet queuing delay of the previous cycle, and records the congestion level p determined in step 1-4) as the congestion level of the previous cycle.

3. The method for controlling hybrid congestion in named data networks according to claim 2, wherein: The router determines the local congestion status based on the congestion level and updates the congestion information of the data packet, including: Step 2-1) Update the congestion status: Based on the final value of the congestion level p determined in step 1-4), determine whether p is greater than 0. If it is greater than 0, update the mark status. The mark status is upgraded to a light congestion mark with a probability of p, and to an auxiliary congestion mark with a probability of 1-p. The update priority is from low to high: initial mark, auxiliary congestion mark, light congestion mark, and heavy congestion mark, and the update is irreversible. Step 2-2) updating the congestion level: updating the congestion level recorded in the data packet according to the final value of the congestion level p determined in step 1-4); Step 2-3) Update the data packet queuing delay: update the queuing delay recorded in the data packet with the current data packet queuing delay; Step 2-4) multiplying the packet reference queuing delay by the reduction factor θ; Step 2-5) Multiply the packet queuing delay in the router buffer by the reduction factor ε; Step 2-6) Calculate the expected maximum queuing delay of the local node based on the current packet queuing delay: add the value calculated in step 2-4) to the value calculated in step 2-5), subtract the final congestion level value obtained in step 1-4), and finally divide by the sum of the reduction factors θ and ε to obtain the expected maximum queuing delay of the local node; Step 2-7) Calculate the initial value of the consumer congestion window adjustment: subtract the current data packet queuing delay from the local node's expected maximum queuing delay obtained in step 2-6), and divide the result by the current data packet queuing delay to obtain the initial value of the consumer congestion window adjustment; Step 2-8) Calculate the consumer congestion window adjustment value: If the current node is in a congested state and the initial value of the local node's consumer congestion window adjustment obtained in step 2-7) is less than or equal to -1, then the consumer congestion window adjustment value is recorded as -1; Step 2-9) Update the consumer congestion window adjustment value: compare the current consumer congestion window adjustment value in the data packet with the consumer congestion window adjustment value required by the local node obtained in step 2-8) to obtain the minimum value, and assign the minimum value to the consumer congestion window adjustment value recorded in the data packet; Step 2-10) Calculate and update the congestion information and the operation is completed.

4. The method for controlling hybrid congestion in named data networks according to claim 1, wherein: The router multipath forwarding control includes the following steps: Step 3-1) The router first extracts the name prefix and congestion information from the data packet; Step 3-2) Determine whether to perform multi-path forwarding: The router uses the FIB table to check whether the number of forwarding paths for the interest packet with the same name prefix as the data packet is greater than 1. If it is greater than 1, it indicates that the current node is a branch node and multi-path forwarding control needs to be performed; Step 3-3) Update the congested interface: If the congestion level p carried by the data packet is greater than 0 and the congestion state is marked as light congestion or heavy congestion, the diversion node marks the current interface as a congested interface; Step 3-4) multiplying the packet reference queuing delay by the reduction factor θ; Step 3-5) Multiply the queuing delay carried by the data packet by the reduction factor ε; Step 3-6) Calculate the expected queuing delay of the data packet after the upstream neighbor node relieves congestion: Add the value calculated in step 3-4) to the value calculated in step 3-5), subtract the congestion level carried by the data packet, and finally divide by the sum of the reduction factors θ and ε to obtain the expected queuing delay of the upstream neighbor node; Step 3-7) If the expected queuing delay of the upstream neighbor node calculated in step 3-6) is less than or equal to 0, the forwarding ratio of the Interest packets with the same name prefix as the data packet on the current interface is multiplied by 0.9 to obtain the increased forwarding ratio of the suboptimal forwarding interface. The Interest packets with the same name prefix as the data packet are dynamically forwarded according to the forwarding ratio of each interface. Finally, the congestion status level of the local node and the data packet are compared and updated. At the same time, the local congestion level, the data packet queuing delay, and the consumer congestion window adjustment value are updated in the data packet. Step 3-8) If the expected queuing delay of the upstream neighbor node calculated in step 3-6) is greater than 0, the expected queuing delay of the upstream neighbor node calculated in step 3-5) is divided by the current queuing delay of the data packet to obtain a delay ratio; Step 3-9) The offload node subtracts the delay ratio calculated in step 3-8) from 1 and multiplies it by the forwarding ratio of the Interest packets with the same name prefix as the data packet on the current interface to obtain the increased forwarding ratio of the suboptimal forwarding interface. The offload node then dynamically forwards the Interest packets with the same name prefix as the data packet based on the forwarding ratio of each interface. Finally, the offload node compares the congestion status level carried by the local node and the data packet, updates the congestion level, the data packet queuing delay, and the consumer congestion window adjustment value in the data packet. Step 3-10) If the interest packets with the same name prefix as the data packet are in a congested state on all forwarding interfaces of the current split node or the buffer packet queue exceeds 90% of the buffer capacity, the congestion state is updated to a heavy congestion mark and transmitted to the downstream node; Step 3-11) Update the non-congested interface: If the packet congestion level p is equal to 0, the split node resets the current interface to a non-congested interface; Step 3-12) If the forwarding ratio of the interest packet with the same name prefix as the data packet on the current interface is less than or equal to 0.1, and it is the optimal forwarding interface, the forwarding ratio of the split node to the current interface is immediately increased by 0.5; Step 3-13) If the forwarding ratio of Interest packets with the same name prefix as the data packet on the current interface is greater than 0.1, or it is not the optimal forwarding interface, and if the queuing delay of the data packets carried by the data packet is less than or equal to 1 millisecond, then the queuing delay of the data packets carried by the data packet is temporarily set to 1 millisecond; Step 3-14) Calculate the expected queuing delay of data packets to ensure that the upstream neighbor node is not congested: add the value calculated in step 3-4) to the value calculated in step 3-5) and divide by the sum of the reduction factors θ and ε to obtain the expected queuing delay of the upstream neighbor node; Step 3-15) divides the expected queuing delay of the upstream neighbor node calculated in step 3-14) by the queuing delay carried by the data packet to obtain a delay ratio; Step 3-16) The offloading node subtracts 1 from the delay ratio calculated in step 3-15) and multiplies it by the forwarding ratio of the Interest packets with the same name prefix as the data packet on the current interface to obtain the forwarding ratio that should be increased for the current forwarding interface. The Interest packets with the same name prefix as the data packet are dynamically forwarded according to the forwarding ratio of each interface. Finally, the congestion status level of the local node and the data packet are compared and updated. If the data packet queue in the current router buffer exceeds 90% of the buffer capacity, the congestion status is updated to a heavy congestion mark, and the local congestion level, data packet queuing delay, and consumer congestion window adjustment value are updated in the data packet. Step 3-17) If the packet congestion status is auxiliary congestion mark and the congestion level p is greater than 0, the router does not perform any control action. Finally, the router compares the current congestion status level of the local node with that in the packet, updates the local congestion level, packet queuing delay, and consumer congestion window adjustment value in the packet. Step 3-18) If the packet queue in the current split node buffer exceeds 90% of the buffer capacity, the congestion state is updated to a heavy congestion mark and transmitted to the downstream node; Step 3-19) The multipath forwarding control operation ends.

5. The method for controlling hybrid congestion in named data networks according to claim 1, wherein: The router interest packet sending rate control includes the following steps: Step 4-1) The router first extracts the name prefix and congestion information from the data packet; Step 4-2) Determine whether to perform interest packet sending rate control: The router uses the FIB table to check whether the number of forwarding paths for interest packets with the same name prefix as the data packet is 1. If it is equal to 1, the router performs interest packet sending rate control; Step 4-3) multiplying the packet reference queuing delay by the reduction factor θ; Step 4-4) multiplying the queuing delay carried by the data packet by the reduction factor ε; Step 4-5) Calculate the expected queuing delay of the data packet after the upstream neighbor node relieves congestion: If the congestion level p carried by the data packet is greater than 0 and the congestion state is light congestion mark, auxiliary congestion mark, or heavy congestion mark, add the value calculated in step 4-3) to the value calculated in step 4-4), subtract the congestion level carried by the data packet, and finally divide by the sum of the reduction factors θ and ε to obtain the expected queuing delay of the upstream neighbor node; Step 4-6) Calculate the total number of bytes expected to be reduced in the upstream neighbor node's buffer: subtract the upstream neighbor node's expected queuing delay calculated in step 4-5) from the queuing delay carried by the data packet to obtain a delay difference, compare the difference with 0, and take the maximum value. Finally, multiply the maximum value by the upstream neighbor node's data packet dequeue rate to obtain the total number of bytes expected to be reduced in the upstream neighbor node's buffer; Step 4-7) Calculate the total amount of Interest packet sending rate attenuation: Divide the total amount of bytes expected to be reduced in the upstream neighbor node buffer calculated in step 4-6) by the number of data packet bytes, multiply it by the number of Interest packet bytes, and finally divide it by the router detection period to obtain the total amount of Interest packet sending rate attenuation; Step 4-8) Calculate the number of packets delivered by the upstream neighboring router: multiply the router detection period by the packet dequeue rate of the upstream neighboring node, and divide the result by the number of packet bytes to get the number of packets delivered by the upstream neighboring router; Step 4-9) multiplies the total amount of interest packet sending rate attenuation obtained in step 4-7) by 2, and divides it by the number of data packets transmitted by the upstream adjacent router obtained in step 4-8) to obtain the sending rate attenuation value of the interest packet with the same name prefix when each data packet is received. Finally, the congestion status level of the local node and the data packet are compared and updated. If the current router buffer data packet queue exceeds 90% of the buffer capacity, the congestion status is updated to a heavy congestion mark, and the local congestion level, data packet queuing delay, and consumer congestion window adjustment value are updated in the data packet. Step 4-10) Calculate the expected queuing delay of the data packet when the upstream neighbor node is not congested: If the congestion level p of the data packet is equal to 0, add the value calculated in step 4-3) to the value calculated in step 4-4) and divide it by the sum of the reduction factors θ and ε to obtain the expected queuing delay of the upstream neighbor node; Step 4-11) Calculate the total number of bytes expected to be added to the upstream neighbor node's buffer: subtract the queuing delay carried by the data packet from the upstream neighbor node's expected queuing delay calculated in step 4-10) to obtain a delay difference, compare the delay difference with 0, and take the maximum value. Finally, multiply the maximum value by the upstream neighbor node's data packet dequeue rate to obtain the total number of bytes expected to be added to the upstream neighbor node's buffer; Step 4-12) Calculate the total increase in the Interest packet sending rate: divide the total expected increase in the upstream neighbor node buffer calculated in step 4-11) 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 sending rate; Step 4-13) Calculate the number of packets that retain the initial mark in the upstream neighboring router: multiply the router detection period by the packet dequeue rate of the upstream neighboring node, and divide the result by the number of packet bytes to obtain the number of packets that retain the initial mark in the upstream neighboring router; Step 4-14) multiplies the total increase in the Interest packet sending rate obtained in step 4-12) by 2, and divides it by the number of data packets that retain the initial mark in the upstream adjacent router obtained in step 4-13) to obtain the increase in the sending rate of the Interest packet with the same name prefix when each data packet is received. Finally, compare the congestion status level carried by the local node and the data packet, and update them. If the data packet queue in the current router buffer exceeds 90% of the buffer capacity, the congestion status is updated to a heavy congestion mark, and the local congestion level, data packet queuing delay, and consumer congestion window adjustment value are updated in the data packet. Step 4-15) The interest packet sending rate control operation is completed.

6. The method for controlling hybrid congestion in named data networks according to claim 1, wherein: The consumer-side control includes the following steps: Step 5-1) Consumer receives data packet: The consumer receives the returned data packet and checks the corresponding congestion status; Step 5-2) If the congestion state carried by the data packet is initial, and the current window size is both less than the initial startup upper limit of the control mechanism and does not exceed the maximum window size recorded by the consumer, if the consumer congestion window adjustment value carried by the data packet is greater than or equal to 0 and less than or equal to 1, the congestion window size is increased by 1; otherwise, the congestion window size is increased by the consumer congestion window adjustment value carried by the data packet; Step 5-3) If the congestion state carried by the packet is initial marking, and the current window size is less than the initial startup upper limit of the control mechanism, but exceeds the maximum window size recorded by the consumer, the congestion window size plus 1 divided by the ratio of the current congestion window size; Step 5-4) If the congestion state carried by the packet is initial marking and the current window size is greater than or equal to the initial startup upper limit of the control mechanism, but has not reached the maximum window size recorded by the consumer, the consumer initiates a TCP-BIC bisection median operation to increase the consumer window size; Step 5-5) If the congestion state carried by the packet is initial, and the current window size is both greater than or equal to the initial startup upper limit of the control mechanism and reaches the maximum window size recorded by the consumer, the consumer initiates a TCP-BIC window probe operation to detect the new maximum window size; Step 5-6) If the congestion state carried by the data packet is a light congestion mark or a secondary congestion mark, and if the consumer congestion window adjustment value carried by the data packet is greater than 0, the congestion window size remains unchanged; Step 5-7) If the congestion state carried by the data packet is light congestion marking or auxiliary congestion marking, and if the consumer congestion window adjustment value carried by the data packet is less than or equal to 0, then the congestion window size is added to the consumer congestion window adjustment value carried by the data packet; Step 5-8) If the congestion state carried by the data packet is a heavy congestion mark, the congestion window size is multiplied by the coefficient γ and the TCP-BIC traditional window recovery mechanism is enabled; Step 5-9) The consumer-side control operation ends.

Citation Information

Patent Citations

  • Named data network congestion control method based on link bandwidth and time delay

    CN113098783A

  • NDN hop-by-hop congestion control method with cache perception based on SDN

    CN114827036A