# CCAIB: Congestion Control Based on Adaptive Integral Backstepping for Wireless Multi-Router Network
## 2 Congestion Control Model for Wireless Multi-Router Networks  
Figure 1 shows the topology, which is supposed to be series. Different from other models, ref. [53] formulates the packet loss ratios of wireless links and this is more in line with the actual wireless networks. However, ref. [53] does not take multiple bottleneck routers into account. Thus, this paper introduces the following nonlinear TCP dynamic traffic model for wireless networks with congestion occurs on multiple routers by describing the traffic relationship between adjacent routers. \[\left\{ \begin{array}{rcl}\dot{W}_{i}(t)&=&\frac{1}{R_{i}(t)}(1-p_{i}(t))- \big{(}1-p_{i,all}(t)\big{)}\frac{W_{i}(t)}{2}\frac{W_{i}(t)}{R_{i}(t)}p_{i}(t )\\ &&-p_{i,all}(t)(W_{i}(t)-1)\frac{W_{i}(t)}{R_{i}(t)}p_{i}(t)\\ q_{i}(t)&=&\frac{W_{i}(t)}{R_{i}(t)}(1-p_{i,all}(t))-C_{i}(t)\\ R_{i}(t)&=&T_{p}+\frac{q_{i}(t)}{C_{i}(t)}\end{array} \right. \tag{1}\]  
where  
\[C_{i}(t)=\left\{ \begin{array}{rl}C_{1}&(i=1)\\ \frac{W_{i-1}(t)}{R_{i-1}(t)}&(i\geqslant 2)\end{array} \right. \tag{2}\]  
is the link capacity after router \(i\) (\(i=1,2,3,\ldots,M\)) and \(M\) is the number of bottleneck routers. Meanings and ranges of symbols in (1) are listed in Table 1.  
Figure 1: Network model. The data packets generated by sources such as sensors are relayed one by one in a serial manner through multiple wireless routers and finally delivered to the destination. Assume the receiving capacity of the destination terminal is fixed, thus \(C_{1}\) can be considered constant, as shown in (2). This assumption fails when \(i\geqslant 2\) because \(C_{i}\) is related to \(W_{i-1}(t)\) and \(R_{i-1}(t)\), as shown in (2). In the following derivations, the time functions are replaced by variables. The first equation of (1) formulates the derivative of the window size for each router in time. The first term \(\frac{1}{R_{i}(t)}(1-p_{i}(t))\) shows that when an ACK is received within an RTT, the window size is increased by 1 and this is the congestion avoidance mechanism in TCP. The second term \((1-p_{ul,i}(t))\frac{W_{i}(t)}{2}\frac{W_{i}(t)}{R_{i}(t)}p_{i}(t)\) shows that when a Negative Acknowledgement (NACK) is received within an RTT, the window size is reduced to half of its original size and this is the fast recovery procedure in TCP. The third term \(p_{dl,i}(t)(W_{i}(t)-1)\frac{W_{i}(t)}{R_{i}(t)}p_{i}(t)\) represents neither ACK nor NACK has received within an RTT. In this case, the source uses the latest packet loss ratio and subtracts 1 from the window size. The second equation of (1) describes the derivative of queue length in time, which is equal to the rate of packet increase minus the rate of packet decrease in the queue. The meaning of \(1-p_{ul,i}(t)\) is the probability of receiving ACK. The third equation of (1) gives the calculation method of RTT, which is composed of propagation time and queue time. Since active discarding can select packets that are relatively less important to discard, QAM actively drops a certain percentage of packets to keep the queue at a certain length to avoid packets being passively dropped. Queue packet loss ratio is a ratio where the numerator is the number of packets that need to be actively dropped from the queue, and the denominator is the total number of packets in the queue. The design idea of the controller in this paper is to tune the value of queue packet loss ratio that can keep the queue at a specific length, that is, the error between the expected length and the actual length is 0. This paper is to propose an algorithm satisfying: (1) the packet loss ratios of uplink \(p_{ul,i}(t)\) and downlink \(p_{dl,i}(t)\) are estimated; (2) the queue length \(q_{i}(t)\) is stable at the desired queue length \(q_{i,r}\), well; (3) the window size \(W_{i}(t)\) is as large as possible so as to maximize throughput; (4) the queue packet loss ratio being marked as dropped is as small as possible. In order to facilitate the derivations, the following redefinitions have been carried out.