Congestion Control using Fuzzy based Adaptive TCP Window Adjustment

Objectives: To design an adaptive window adjustment mechanism for Transmission Control Protocol (TCP) in Mobile Ad hoc NETworks (MANET). Methods/Statistical Analysis: A congestion control using Fuzzy based adaptive TCP window adjustment technique is proposed. In this technique, the bottleneck bandwidth and total round-trip delay metrics are considered as input for the fuzzy logic decision model. The corresponding congestion window adjustment size is returned as the output. The proposed Fuzzy TCP-WA technique is simulated using NS2 and compared with FL-TCP. The proposed TCP-WA technique can be applied in interactive real-time applications like live chat session and File Transfer Protocol (FTP). Findings: Simulation results using NS2 suggest that the proposed congestion control technique reduces the packet drop and delay and increases the throughput.


Introduction
The major issues of Mobile Ad hoc Networks (MANET) are frequent mobility, network partitions, collisions, high error rate, limited bandwidth and power. Hence, the designing a new protocol in MANET becomes challenging 1 . The main application of MANET is in disaster recovery or emergency handling scenarios 2 .
Various researches have been conducted to analyze the reasons for the poor performance of TCP in MANETs. The main reasons responsible for this poor performance include lossy nature of wireless channel, inefficient MAC protocols, control packet overhead of routing protocols etc 1 .
Congestion control has been an important issue for wireless networks in recent days. Congestion normally occurs in a bottleneck link along the path from source to destination nodes. Congestion control schemes, that operate on various types of traffic should satisfy various Quality of Service (QoS) constraints 3 . TCP based congestion control mechanism adjusts the data rate to avoid congestion.
By applying suitable window adjustment mechanisms, a TCP sender ensures successful data delivery and maintains correct data rate. But a TCP sender in a MANET environment suffers from severe performance degradation due to the transient nature of MANET links 4 .

Problem Identification and Proposed Work
The TCP packet sending rate can be reduced by suitably adjusting the TCP congestion window (CWND) limit based on some parameters. But fixing the maximum limit for the congestion window (CWND max ) is better way to avoid increasing the sending rate before a packet loss event occurs. The challenge is to evaluate the parameters that affect its accurate selection over MANET and its traffic 5 .
The challenge is to evaluate the parameters that affect the accurate selection of CWND size over MANET. As the bandwidth and delay product has severe impact on the congestion, the congestion windows has to be adjusted based on this product. In this study, a congestion

Methodology
In 1 have designed a Fuzzy logic system for effective TCP congestion window adjustment (FL-TCP). The expected throughput and actual throughput parameters are considered as input to the fuzzy inference system. Based on the output of the fuzzy logic, FL-TCP the congestion window size is dynamically adjusted. FL-TCP does not need any feedback from the network and hence need only modifications in the sender side. In 3 have proposed an integrated TCP Friendly Rate Control (TFRC) mechanism with Weighted Fair Queue (WFQ) approach for congestion control. The integrated technique is based on buffer queue management which schedules data packets based on packet weights. In spite of TFRC's long RTT problem and packet loss issue, this mechanism reduces the transmission rate.
In 5 have proposed an adaptive scheme to determine the upper bound of CWNDmax value in MANET. In this scheme, a time based expression is derived for the Bandwidth-Delay Product (BDP) to set the value of CWNDmax dynamically. This expression considers both spatial reuse and packet's queue waiting time. In 6,7 have proposed a congestion window adaptation mechanism. They have showed that conventional TCP window mechanism results in more MAC layer contention, which in turn increases the congestion. The TCP CWND is adjusted dynamically to improve the TCP performance. Simulation results show the performance improvement of this scheme with respect to throughput, delay and packet delivery ratio.

Fuzzy Logic Decision (FLD) Model
The Fuzzy Logic Decision (FLD) model is the procedure of mapping nonlinear system of input dataset to a scalar output.
FLD architecture consists of four major divisions specifically fuzzification, Rule generation, Inference System and Defuzzification as expressed in Figure 1.
In fuzzification, the crisp input will be mapped to fuzzy membership functions. In fuzzy inference system, fuzzy decision rules are applied and the fuzzy output set will be returned. In defuzzfication, the crisp output will be returned from the fuzzy output set. The detailed explanation of each phase of FLD architecture is presented in the next section.

Fuzzy Logic Process
It consists of five steps which are given below: Step 1: Fuzzification is the process in which crisp inputs are converted into fuzzy inputs. The fuzzy inputs are taken in order to determine the degree which they belong to each of the appropriate fuzzy sets through membership functions.
Step 2: After fuzzification of inputs, the degree of each part of antecedent which satisfy the rule, must be determined. For multiple parts of antecedent of a rule, fuzzy operators are applied to obtain the result of the corresponding antecedent. This result it then applied to yield the output function (Hong & Lee, 1996).
Step 3: A fuzzy set is represented by a membership function which appropriately assigns weights to the linguistic characteristics that are attributed to it.
Step 4: In order to make a decision for the output, all the rules in FLD should be tested and aggregated. In the aggregation process, the fuzzy sets corresponding to the outputs of each rule are combined to get a single fuzzy set for the output variable.
Step 5: The input for the defuzzification process is a fuzzy set and the output is a numeric value. The aggregate of a fuzzy set encompasses a range of output values that are defuzzified in order to resolve a single output value from the set.

Fuzzy based Adaptive Window Adjustment
FLD model is used to adjust the TCP CWND based on the input parameters bottleneck bandwidth (BW min ) and round trip delay which is the sum of the link delays along the forward and backward paths (RTT delay ). Higher values of BW min and RTT delay imply severe congestion and hence the CWND has to be reduced drastically.
Based on the outcome of the Fuzzy output, the appropriate CWND adjustment is determined. Figure 2 shows the FLD model for the adaptive CWND adjustment. It consists of Fuzzification, Fuzzy rule base and defuzzification phases.

Fuzzification
The fuzzy logic uses two input variables and one output variable. This involves fuzzification of input variables BW min and RTT delay which are given a degree to appropriate fuzzy sets. The crisp inputs are combination of these two variables. The linguistic functions for the input are: The membership functions for the input and output variables are represented by triangular fuzzy sets, as shown in  In Figure 3, the membership function for BW min has been varied from 0 to 2Mb with Low=0 to 0.5Mb, Medium=0.5 to 1.5Mb and High=1.5Mb to 2Mb. In Figure 4, the membership function for RTT delay has been varied from 0 to 2 seconds with Low=0 to 0.5 seconds, Medium=0.5 to 1.5 seconds and High=2 seconds. Finally, the membership function for output CWND size    has been assigned as DVH=CWND/2, DH=CWND/4, DM=CWND-δ, DL=CWND-δ/2, I=CWND+δ, where δ is the scaling factor for increment / decrement. Table 1 show the fuzzy rule base which comprises of 9 rules.

Fuzzy Rules Base
The following inference rules can be observed in Table 1: 1. If BW min =Low and RTT delay =High, then CWND size = DVH (ie) the size of the CWND should be decreased very high. 2. If (BW min =Low and RTT delay =Medium) or (BW min = Medium and RTT delay = High) or (BW min =Highand RTT delay = High) then CWND size = DH 3. If (BW min =Low and RTT delay =Low) or (BW min =Medium and RTT delay =Medium), then CWND size = DM 4. If (BW min =Medium and RTT delay =Low) , then CWND size = DL or (BW min =High and RTT delay =Medium), then CWND size = DL 5. If (BW min =High and RTT delay =Low), then CWND size = I

Defuzzification
In Defuzzification process, the crisp value from the output fuzzy set will be extracted. For this, generally the centroid technique is applied in which the centre of gravity of the fuzzy membership functions is determined.
The centroid of area is then given by the following formula: Where η agg (F) represents the aggregated output of membership functions.

Simulation Setup
The performance of the Congestion Control using Fuzzy based TCP Window Adjustment (Fuzzy TCP-WA) is simulated using NS2 and compared withFL-TCP 1 . The performance is measured in terms of end-to-end delay, packet delivery ratio, packet drop and throughput. Table 2 summarizes the simulation parameters used.

Varying the TCP Packet Size
In this section, the performance of the two techniques is evaluated by varying the TCP packet size from 250 to 1250 Bytes. Figure 6 shows the end-to-end delay measured for Fuzzy TCP-WA and FL-TCP when the packet size is varied. As we can see from the figure, the delay of Fuzzy TCP-WA increases from 0.64 to 0.79 seconds and the delay of FL-TCP increase from 1.09 to 1.49 seconds. Since Fuzzy TCP-WA considers the RTT delay for window adjustment, it has 46% reduced delay when compared to FL-TCP. Figure 7 shows the packet delivery ratio measured for Fuzzy TCP-WA and FL-TCP when the packet size is varied. Also, the delivery ratio of Fuzzy TCP-WA decreases from 0.977 to 0.973 and the delivery ratio of FL-TCP decreases from 0.93 to 0.90. Since Fuzzy TCP-WA reduces the congestion due to insufficient bandwidth, it has 6% increased delivery ratio when compared to FL-TCP.     Figure 9 shows the throughput measured for Fuzzy TCP-WA and FL-TCP when the packet size is varied. The throughput of Fuzzy TCP-WA decreases from 4.5 to 2.4Mb/s and the throughput of FLTCP decreases from 2.9 to 1.5 Mb/s. Since Fuzzy TCP-WA reduces the congestion due to insufficient bandwidth and waiting delay, the throughput of Fuzzy TCP-WA is 28% higher than FL-TCP.

Varying the Number of Connections
In this section, the performance of the two techniques is evaluated by varying the number of connections from 2-10.   Figure 10 shows the end-to-delay measured for Fuzzy TCP-WA and FL-TCP when the number of connections is varied. The delay of Fuzzy TCP-WA increases from 0.61 to 0.90 seconds and the delay of FL-TCP increases from 0.70 to 1.38 seconds. Since Fuzzy TCP-WA considers the RTT delay for window adjustment, it has 27% lesser delay when compared to FL-TCP. Figure 11 shows the packet delivery ratio measured for Fuzzy TCP-WA and FL-TCP when the number of connections is varied. Also the delivery ratio of Fuzzy TCP-WA decreases from 0.97 to 0.95 and the delivery ratio of FLTCP decreases from 0.92 to 0.84. Since Fuzzy TCP-WA reduces the congestion due to insufficient bandwidth, it has 7.3% higher delivery ratio when compared to FL-TCP. Figure 12 shows the packet drop measured for Fuzzy TCP-WA and FL-TCP when the number of connections is varied. The packet drop of Fuzzy TCP-WA increases from 608 to 1968 and the packet drop of FL-TCP increases from 1630 to 3577. Since Fuzzy TCP-WA reduces the and FL-TCP when the number of connections is varied. The throughput of Fuzzy TCP-WA increases from 1.7 to 4.4Mb/s and the throughput of FL-TCP increases from 1.0 to 2.7 Mb/s. Since Fuzzy TCP-WA reduces the congestion due to insufficient bandwidth and waiting delay, the throughput of Fuzzy TCP-WA is 30% higher than FL-TCP.

Conclusion
As the bandwidth and delay product has severe impact on the congestion, the congestion windows has to be adjusted based on this product. In this study, a congestion control using Fuzzy based adaptive TCP window adjustment technique has been proposed. In this technique, the bottleneck bandwidth and total round-trip delay metrics are considered as input for the fuzzy logic decision model. The corresponding congestion window adjustment size is returned as the output. The results using NS2 suggests that the proposed congestion control technique reduces the packet drop, end-to-end delay and increases the throughput.    congestion due to insufficient bandwidth, it has 58% lesser packet drop when compared to FL-TCP. Figure  13 shows the throughput measured for Fuzzy TCP-WA