在嵌入式网络通信中,主要采用RED算法解决网络拥塞。由于RED算法中丢包率与平均队列长度成线性关系,导致网络在拥塞并不严重时丢包率较大,在拥塞比较严重时丢包率较小,拥塞控制能力较低。经研究,发现IMPRED算法能解决这个问题,当平均队列长度在最小阈值附近时丢包率增长速度较小,在最大阈值附近时丢包率增长速度较大,避免了网络的全局同步。利用时间复杂度和空间复杂度对IMPRED算法和RED算法进行比较,IMPRED算法没有增加RED算法的复杂度。通过NS 2.30仿真证实,IMPRED算法可以提高网络吞吐量,减少延时抖动,使网络比较稳定。
The RED algorithm is used to solve the network congestion problem. In the embedded network communication, the drop packet ratio is proportional to the average queue length, and,as a result, the drop packet ratio is high when the network congestion is not serious and the drop packet ratio is low when the network congestion is serious, so the congestion control is not effective. The density function IMPRED (Improved Random Early Detection) can solve that problem. In the IMPRED algorithm, there are two curves, one is 3 times density function, the other is 1/3 times density function. With the IMPRED algorithm, the drop packet ratio is smaller around the minimum threshold, and larger around the maximum threshold, to avoid the global synchronization of the network. Using the time complexity and space complexity of the algorithm to compare the RED algorithm and the IMPRED algorithm, it is found that the time complexity of IMPRED and RED is O(n), the space complexity of IMPRED is as large as the RED's. The NS 2.30 simulation results show that when the
network congestion does not appear, the efficiency of IMPRED algorithm and RED algorithm is the same. When the network is congested, IMPRED algorithm can improve the network throughput and reduce the delay jitter, making the network more stable.