Abstract
Network congestions and wireless link errors are both potential reasons for packet losses in hybrid wired-wireless networks. Their coexistence necessitates the design of new mechanisms that can differentiate network states more precisely. In this paper, a method is proposed to distinguish between the two reasons of packet losses in hybrid wired-wireless networks (i.e., congestions and wireless link errors) and calculate the probability of network congestion in the former case. This method combines the information contained in CE bits of a sequence of ECN-enabled acknowledge packets to calculate the probability of network congestion; thus it is more accurate than methods using CE bits of a single acknowledge packet. Analysis on the effectiveness of the proposed method in calculating congestion probability is performed via simulations. The ability to differentiate precise network states helps a TCP source response to ECN feedback more adaptively. We discuss how to enhance existing TCP variants with the proposed method. Simulation results show that the enhanced TCP variants can effectively improve network performance.
1. Introduction
Congestion control is one of the most basic issues in networks. Due to the high quality of links, packet losses are almost always caused by network congestions in traditional wired networks. Thus a TCP sender can identify network congestions by observing packet losses and react accordingly to avoid worsening the network state. For example, a TCP sender that identifies network congestion usually lowers its sending rate or halves its congestion window size in order to avoid congestion collapses which may further degrade the performance of the network.
However, the reasons for packet losses are more complicated in wireless networks. Compared with wired networks, link quality in wireless networks may be poor because of higher bit error rate, time-varying capacity and delay, or higher mobility of devices. In wireless networks, besides network congestions, channel errors may also cause packet losses. Though MAC-layer retransmission could recover some packet loss due to channel error, when the wireless channel condition is very bad, the wireless loss becomes unavoidable. For example, when the retry number reaches the retry limit in IEEE 802.11, the packet has to be dropped. Thus schemes that can differentiate network states more precisely are needed in hybrid wired-wireless networks to improve performance of TCP protocols [1, 2]. A host in such hybrid networks should have the ability to distinguish between packet losses that are caused by network congestions and that are caused by other factors, and it should react differently according to different cases.
Explicit Congestion Notification (ECN) [3] provides a mechanism that allows end-to-end notification of imminent network congestions without really dropping packets. When the buffer queue length is higher than a given threshold, the intermediate routers mark the data packets with the Congestion Experienced (CE) code point instead of dropping them in order to signal impending congestion. Upon receiving a date packet with the CE code point, the receiver echoes back this congestion indication using the ECN-Echo flag in the ACK header. When a sender receives an ACK with the ECE bit, it reduces its congestion window as for a packet drop. This mechanism has already been supported by mainstream operating systems such as Microsoft Vista [4] and NetBSD [5]. In recent years, many congestion control mechanisms based on ECN have been proposed, such as XCP [6], VCP [7],
Due to its ability in indicating network congestions without packet dropping, ECN has been applied in hybrid wired-wireless networks to help control TCP behaviors [10–13]. One typical work is Wireless ECN (WECN) proposed by Peng [14]. In WECN, a packet loss will be judged as induced by congestion if the ECN-Echo flag of ACK packet is marked with 1; otherwise, it will be judged as induced by other errors. WECN has been applied in several TCP protocols, for example, TCP Jersey [15], TFRC [16, 17], TCP Snoop [18], and cross-layer design TCP [19].
However, some researches have pointed out that the ECN mechanism cannot effectively distinguish different factors that result in packet losses. This is because ECN's ability in indicating different factors depends on how accurate ECN can be aware of congestion [20].
To cope with this problem, Sridharan et al. proposed WMECN [21] based on MECN [22], in which different weights are assigned to two congestion feedback bits. Then the congestion state is categorized into different degrees according to the weighted summation of all the congestion feedback bits. This method outperforms previous congestion control methods that use single ECN feedback. However, the improvement in TCP performance depends largely on the threshold values. Furthermore, this method does not take changes of network states into account.
In this paper, we mainly focus on how TCP sender should respond to congestion signals contained in ECN-enabled ACK packets in hybrid networks in which both link errors and network congestions may cause packets to be dropped. Two aspects should be considered.
Firstly, the delay in hybrid networks should be considered. The feedback delay in hybrid networks is prominently larger and more uncertain than that in traditional wired networks. Simulations by Raghunathan and Kumar show that the throughput in wireless networks is oscillatory and sometimes can be orders of magnitude less than that in wired networks [23]. And for RTT (Round Trip Time) there are similar observations. As a result, even if the congestion state can be notified by ECN correctly, the long and uncertain delay may make the feedback useless for congestion control. Therefore how to alleviate non-real-time effects of ECN is one crucial problem.
Secondly, no matter how routers can be aware of congestions, the information contained in ECN feedback can only indicate imminent congestions. They cannot indicate that congestions already occurred. Because the network state changes dynamically, the congestions may occur or not occur in the next interval; that is, the congestion may either become true if packets are discarded continually or will be cleared up if the link becomes good in a short period. How the randomness of ECN impacts TCP is analysed in [24]. As a result, how TCP senders respond to such inaccurate feedback information should also be considered.
Considering the two aforementioned aspects, we argue that ECN feedback information should not be directly used to adjust TCP behavior; more effective utilization method should be designed. Aiming to mitigate the impact of large delay and reduce the blindness in congestion state judgement, we propose a method to calculate the probability of congestion based on an ECN feedback sequence. Our method is more reasonable than previous ones that are based on single loss event or single ECN feedback. Simulation results show that the proposed method can effectively predict congestions in hybrid wired-wireless networks. The proposed method can also be easily extended into existing TCP variants and used to improve TCP performance in hybrid networks.
The rest of the paper is organized as follows. Section 2 presents how to calculate
2. CPECN: Congestion Probability Based on ECN
The key idea of CPECN is to analyze the distribution of CE bits from ECN feedbacks and predict network states according to the correlation between feedback serials.
2.1. Calculation of Congestion Probability
A single ECN feedback only reflects the network state at one earlier interval, while an ECN feedback sequence can reflect the dynamic change of the network state during the past several continuous intervals. So we propose to combine the information contained in CE bits of a sequence of ACK packets together to predict the network state.
Assume that a sender receives an ECN feedback sequence containing m ECN feedbacks. We calculate
The value of
The weights of CE bits in different ACK packets are assigned using an exponentially weighted moving average method. The ACKs are divided into several segments and all ACKs in the same segment will be assigned with same weight. The reason is that large number of ACKs increases the feedback delay, while single ACK could not reflect the congestion trend. To achieve the tradeoff between sensitivity and stabilization, the m ACKs are divided into n segments and ACKs in segment j are assigned with weight
We calculate the
It is clear that, since the value of α is less than 1, the jth segment's weight
In high dynamic network, it is very difficult to get accurate traffic state with several packets. However, using large number of packets will limit the feedback speed. Like the way that TCP uses three duplicate ACKs to reflect the packet loss, we choose the four ACKs as one segment to track the congestion state. After receiving three duplicate ACK packets, the sender enters the congestion avoidance mode. Similar to this method, we choose a period for four ACK packets to compose one segment and reflect the congestion state. Thus, we have
With (3), (4), and (5), we can rewrite (2) as
Equation (6) can be expanded to
If
From (8), it is very clear that
In this paper, the last 8 ACKs are divided into 2 segments; that is,
(1) (2) (3) (4) (5) ACK (6) (7) ACK (8) (9) (10) (11)
2.2. Analysis of Congestion Probability
In this subsection, the correlation between

Network topology 1.
In the simulated scenario, one TCP Reno flow traverses along a bottleneck link and reaches a wireless terminal. As shown in Figure 1, the TCP flow is sent from
When the sender receives the signal of packet dropping or the ACK packet in which the CE bit is 1, it regulates the sending window size according to TCP Reno. Packets on routers will be marked if the average queue length exceeds the given threshold.
The results are shown in Figure 2. Figure 2(a) shows how the size of TCP sending window varies at different times when there is no packet losses due to error in the wireless links. We can find that the TCP sending window size varies very regularly. However, where there exist packet losses caused by link errors, the size of TCP sending window changes irregularly, as shown in Figure 2(b). From Figures 2(a) and 2(b), it is obvious that the average size of the sender window without packet losses due to link errors is larger than that with packet losses due to link errors.

Correlation between
The queue length of the bottleneck link is shown in Figures 2(c) and 2(d). As shown in Figure 2(c), there are 4 periods in which the queue length is larger than the given threshold. In such cases, the router marks the packets and the sender will receive ACK packets with CE bit marked. It is clear that the changes of the sending window are consonant with that of the queue length. In Figure 2(d), there is only one period in which the queue length is larger than the given threshold. But the sending window does not change according to the queue length because there are packet losses due to error in wireless links.
The statistic of
3. TCP Protocol with CPECN
TCP sender with CPECN responds to loss events based on
By using CPECN, a TCP sender's behavior is modified according to
Figure 3 is the transition graph of TCP sender modified by CPECN, which indicates how TCP variants with CPECN work.

State transition graph of TCP sender with CPECN.
There are two scenarios to show the advantage of TCP with CPECN in hybrid networks. It should be noted that though the two scenarios are specific cases, they could represent some real network scenarios.
As shown in Figure 4, the CE lists at

The first scenario.
At time
In the second scenario, we describe the handling process in TCP protocol with CPECN, while noncongestion losses occur successively.
As shown in Figure 5, we assume that the sender receives the duplicate ACK packets with

The second scenario.
It is obvious that by using CPECN, even if the sender receives duplicate ACKs caused by several errors, as long as the queue length does not exceed the threshold or the congestion probability does not increase, the TCP sender will not decrease its sending rate. Contrarily, even if only one duplicate packet is received, the sending rate might be decreased because of
As a whole, with a precise prediction of the probability of network congestion, CPECN can protect TCP from short-term, recoverable, noncongestive losses and enhance its performance in hybrid network eventually.
4. Performance Evaluation
There are two methods to mark CE bits of a packet in routers, that is, probability-based method and threshold-based method. In order to support CPECN, a TCP sender needs to track the change of queue lengths in routers. Thus, routers must provide such determinate information to end hosts with threshold-based marking method. In this type of methods, CE bits of a packet will be marked as
Here we describe a simple and reasonable model to analyze dynamic changes of the queue length. We have the following hypotheses in the model: (1) senders always have data to send and will send as many as their windows allow; (2) receiver windows are large enough; (3) there are no delayed ACK; and (4) all packets have the same length. The used analytical model is shown in Figure 6. The sender's window size at time t is denoted as

Queue model of single TCP flow.
For the case there is only one TCP connection along the path, if the bottleneck link bandwidth is u packets per second, the downstream packet interarrival time and the acknowledgement interarrival time on the reserve link must be greater than or equal to
For the case there are multiple TCP flows along the path, a similar analysis shows that the optimal threshold
4.1. Throughput Analysis without Link Losses
When the link error rate is zero, the throughput of Reno with ECN, WECN, and CPECN are shown in Figure 7. We use three different marking thresholds for router buffer, that is to say, 1/4, 1/2, and 3/4 (× buffer size of bottleneck link), respectively. In Figure 7, TCP throughput becomes larger with the increasing of marking threshold. It is obvious as shown in Figure 7 that throughput of TCP Reno with three ECN schemes are similar. When marking threshold is equal to 3/4 buffer size of bottleneck link, CPECN throughput is slightly higher than other ECN schemes.

Throughput comparison of Reno without link loss.
Figure 8 shows the throughput performances of TCP SACK. Compared with TCP Reno, TCP SACK only retransmits the lost packet and thus achieves higher throughput. TCP throughput of Westwood is shown in Figure 9, whose changing trend is similar to TCP Reno. However, TCP throughput with WECN is decreased slightly. This is because WECN only depends on a single ECN feedback to predict congestion probability, which is sensitive to packet losses. This problem is avoided by CPECN.

Throughput comparison of SACK without link loss.

Throughput comparison of Westwood without link loss.
It should be noted that we only focus on the performance comparison of three ECN schemes. It is shown that CPECN's throughput is highest in the three ECN schemes. The three typical marking thresholds are set between 0 and 1. If the threshold is 1, the queue management will be the same as traditional Drop Tail method without ECN.
4.2. Throughput Analysis with Link Losses
In this section, we use the two-state Markov-modulated channel model with correlated errors to evaluate the throughput performances with link losses. The wireless link is assumed to be in one of two states: Good or Bad. Let the mean duration of Good and Bad states be equal. The packet loss rate in the Good state is assumed to be 0.1%, and the packet loss rate in the Bad state is varied from 0.1% to 2%.
With link loss rate ranging from 0.001 to 0.02, TCP throughput of Reno, SACK, and Westwood are shown in Figure 10, in which the effect of CPECN becomes more distinct as link loss rate increases. It is shown in Figures 10(a)–10(c) that the improvement of TCP throughput also becomes salience as marking threshold increases. For example, when link loss rate is 0.005 and the marking threshold is 1/4 of buffer size, TCP throughput of Reno with CPECN outperforms that of Reno with WECN by 1.18 times. When the marking threshold is 3/4 of buffer size, the improving factor is 1.72 times. TCP SACK performances are presented in Figures 10(d)–10(f). With the increasing of marking threshold, the throughput improvement also becomes higher.

Throughput comparison with link loss.
Figures 10(g)–10(i) show the improvement of CPECN over the other three schemes. When the loss ratio is 0.01, TCP throughput of Westwood with ECN is increased by 17% with marking threshold of 1/4 buffer size. When marking threshold is 3/4 of buffer size, corresponding value is 24%. The results show that (1) improvement of TCP Westwood with CPECN is limited and (2) marking threshold on router is of less affection on TCP Westwood with CPECN. This is because that rate adjustment of TCP Westwood can cope with lossy links in some degree.
4.3. Fairness and Friendliness Analysis
Fairness is an important metric for evaluating TCP protocol. Multiple connections of the same TCP scheme must cooperate fairly. In this part, we choose the dump-bell topology in Figure 11, which is the classic topology used for TCP fairness evaluation. There are 10 TCP flows that share a 10 Mbps bottleneck wireless link. In this case, we believe that the Jain's fairness index could evaluate the TCP fairness [30].

Network topology 2.
4.3.1. Fairness and Friendliness of TCP Reno with CPECN
As shown in Table 1, fairness of TCP Reno decreases with the increasing of loss rate. This is because flows suffering error loss will decelerate and compete for channel again, so short term unfairness exists in some extent. However simulation results of Table 1 show that this impact is not serious. At the same time, fairness of TCP Reno with CPECN approximates to that of TCP Reno with other two ECN schemes. Jain's fairness indexes of ECN, WECN, and CPECN are all as high as about 0.99.
Fairness comparison of 10 same Reno flows.
The experiment of friendliness partitions ten flows into two parts, one uses TCP Reno with CPECN and the other uses TCP Reno with traditional ECN.
Table 2 gives the change of mean throughput when there are 10 pairs of connections, of which m are Reno with ECN connections and n are Reno with CPECN connections. The mean throughput of Reno with ECN and CPECN is calculated by summing up the throughput of the same ECN scheme and dividing by the number of connections. It is observed that the mean throughputs of two kinds of connection are approximate in case of no link losses, which indicates that bandwidth allocation of TCP Reno connection with different ECN schemes is close to its fair at bottleneck bandwidth link. When loss rate is 0.01, mean throughput of Reno with CPECN is 10% higher than that of ECN, which is within a tolerate range.
Friendliness performance of CPECN with TCP Reno.
4.3.2. Fairness and Friendliness of TCP Westwood with CPECN
The experiment of friendliness partitions ten flows into two parts, one uses TCP Westwood with CPECN and the other uses TCP Westwood with traditional ECN. Table 3 gives the change of mean throughput when there are 10 pairs of connections, of which m are Westwood with ECN connections and n are Westwood with CPECN connections. The simulation results show that CPECN scheme can coexist with Westwood when a lossy link occurs.
Friendliness performance of CPECN with TCP Westwood.
Fairness comparison of 10 Same TCP Westwood flows is shown in Table 4. The simulation results show that fairness of TCP Westwood with CPECN is favorable.
Fairness comparison of 10 same Westwood flows.
It can be concluded from the simulation results that TCP Westwood with CPECN performs satisfactorily in the fairness and friendliness aspects. This is because Westwood already overcomes some limitation of traditional TCP protocol. Firstly, Westwood can control sending rate more elaborately than Reno by estimating available bandwidth. Secondly, WECN schemes decouple the error control and congestion control with the help of midway routers. CPECN scheme utilizes congestion notification in an efficient way based on the above two components, so its fairness and friendliness are satisfactory.
4.4. Comparison of Queue Management Algorithm
In this section, we compare the ECN, WECN, and CPECN performances with different queue management algorithms, which are Drop Tail, RED [31] and PI [32]. Drop Tail is default algorithm in current routers. RED, also known as random early drop is an active queue management algorithm that monitors the average queue size and drops or marks packets based on statistical probabilities. PI is a generic control loop feedback controller, which attempts to regulate the queue level to a desired reference value. RED and PI are typical active queue management algorithms, which adopt the default settings in NS2. Other simulation settings are the same as that of Section 2. Table 5 presents the throughput under 1% loss rate. By controlling the queue length, RED and PI could achieve smaller queue delay and lower packet drop rate. Thus, the throughput of RED and PI are higher than that of Drop Tail. The throughput performances of CPECN are similar for RED and PI.
Comparison of queue management algorithm.
5. Conclusion
In this paper we propose a novel congestion control technology, CPECN. It includes two key points: (1) adopting
Footnotes
Conflict of Interests
The authors declare that there is no conflict of interests regarding the publication of this paper.
Acknowledgments
The authors greatly appreciate the anonymous reviewers for their insightful and helpful comments. This work has been supported by NSF of China (61163060, 61103204), Open fund of Guangxi Key Laboratory of Information and Communication (PF12097x), and Guangxi Science Foundation (2013GXNSFCA019019).
