Balancing Throughput and Fairness for TCP Flows in ... - CiteSeerX

18 downloads 632 Views 690KB Size Report
Email: [email protected] .... received by a TCP sender, it will slow down the sending ... protocols such as reasons of packet loss, link breakage, or number ...
1

Balancing Throughput and Fairness for TCP Flows in Multihop Ad-Hoc Networks Yuedong Xu, Yue Wang, John C.S. Lui Department of Computer Science & Engineering, The Chinese University of Hong Kong Email: {ydxu, ywang, cslui}@cse.cuhk.edu.hk Dah-Ming Chiu Department of Information Engineering, The Chinese University of Hong Kong Email: [email protected]

Abstract— Analyzing transport layer operation and enhancing its performance over multihop ad hoc networks have attracted a lot of attentions. Although the fundamental reasons for the performance degradation of TCP have been studied for many years, the tight coupling between transport layer and the wireless MAC layer is still not well understood. In this paper, we focus on the interactions between the hidden nodes and network congestion1 . By modeling the frame loss ratios of competing flows, a novel index is presented to measure congestion and fairness of these interfered links simultaneously. We formulate a practical optimization framework for TCP flows, and propose a distributed algorithm to improve the end-to-end throughput, and at the same time, guarantee per-flow fairness by exploiting cross-layer information. In the link layer, each node uses a proportional controller to determine the ECN marking probability for the purpose of notifying incipient congestion. The rate based TCP sender adjusts its sending rate according to the feedbacks from the link layer. Compared with standard TCP/802.11 as well as recent wireless TCP enhancements, our method substantially improves both long-term fairness and short-term fairness even without sacrificing the aggregate end-to-end throughput. For some topologies with long hops, the throughputs of our proposed algorithm even outperform basic TCP/802.11 by over 100%. Index Terms— TCP Fairness, Multihop Ad Hoc Networks, Distributed Congestion Control, Hidden Terminals.

I. Introduction Transmission Control Protocol (TCP) is designed to provide reliable and efficient end-to-end data delivery, and it is widely adopted in the current Internet infrastructure. With the rapid deployment of Mobile Ad Hoc Networks (MANETs), esp. IEEE 802.11 (WiFi) Ad Hoc networks, TCP protocol is also extended to these networks so as to manage the data transfer in such dynamic and autonomous wireless environments. But TCP was not originally developed for wireless networks in which physical links are relatively un-reliable as opposed to wired networks and the transmissions are interference-limited. As a matter of fact, many experimental researches have shown that the performance of TCP degrades considerably in 802.11 multihop ad hoc networks [1]–[3]. Under the wireless environment, TCP not only exhibits serious throughput degradation, but also experiences severe unfairness among competing flows. Authors in [4] observed 1 Congestion generally refers to the channel contentions in IEEE 802.11 multihop ad hoc networks, which is quite different from the buffer overflow in wired Internet.

the TCP instability and the “neighboring node one-hop unfairness” problem: a TCP connection might be completely stifled even if it starts much earlier than another competing TCP traffic. Authors in [5] illustrate the unfairness problem in a scenario where TCP spans multihop wireless and wired hybrid networks. A lot of efforts have been invested to improve the throughput or fairness of TCP traffics over multihop ad hoc networks. These previous works can be roughly grouped into two classes [6]: layered design [7], [12], [13] and crosslayer design [9], [11], [16], [17]. In the layered design, the approach is to find efficient solutions in the transport layer or MAC layer independently. While in the cross-layer design, the interactions among TCP, routing and MAC protocols convey some important information that can be utilized to diagnose the reasons of performance degradation over multihop links. Thus the TCP sender will learn how to adjust its congestion window, retransmission timeout or methods to reply acknowledgement. However, approaches of layered-design such as CWL [7], Few [12], Adaptive ACK [13], do not consider the fairness issue. The cross-layer design such as Neighborhood RED (NRED) [16] sacrifices the aggregate throughput in favor of the per node fairness. The Link RED [11] uses the average number of MAC retries to generate ECN probability, but it cannot reflect the contributions of competing flows to the network congestion. In this paper, we quantitatively investigate the impact of hidden nodes on the collision probability and end-to-end performance over 802.11 multihop networks, and show that previous approaches of using the average number of MAC retries or collision probability in an individual node are inadequate to guarantee good throughput and fairness. A novel index is proposed to simultaneously measure congestion & fairness among competing TCP flows. We also formulate a practical unconstrained optimization model that captures both the rate allocation and fairness issues. A distributed cross layer algorithm is presented to address the fair rate allocations of TCP flows. Each wireless node measures its congestion status and uses a proportional controller to calculate the explicit congestion notification (ECN) marking probability of outgoing packets. We illustrate the drawbacks of window based TCP (e.g. AIMD mechanism) in 802.11 multihop ad-hoc networks and propose to replace the window-based TCP by the ratebased TCP. If an ECN echoed acknowledgement packet is

2

received by a TCP sender, it will slow down the sending rate by choosing a larger transmission interval. Otherwise, the TCP sender increases its sending rate. Our algorithm significantly reduces the number of TCP timeout and drives TCP senders to operate around the optimal average sending rates. Simulation results show that our proposed algorithm can dramatically enhance the TCP throughput and improve the fairness in 802.11 multihop ad hoc networks. The proposed algorithm does not modify the original 802.11 multiple access mechanism. It does not need the collaborations from routing protocols such as reasons of packet loss, link breakage, or number of hops either. The organization of this paper is as follows. We first review the background and the important algorithms that our work is based on in Section II. In Section III, we analyze the interactions of hidden nodes in a cross-chain topology. In section IV, we formulate an optimization model for multihop TCP flows and propose a distributed control algorithm to address throughput and fairness problem simultaneously. Comprehensive experiments have been done to evaluate the performance the proposed algorithm in section V. Finally, conclusion is given in Section VI. II. Related Works & Their Challenges Many papers focus on the performance evaluation, modeling and protocol design of TCP over multihop ad hoc networks. In this section, we briefly review some of the representative work and important concepts that are related to our proposal. A. Overview The deployment of TCP in 802.11 multihop ad hoc networks is greatly challenged by throughput degradation and unfairness problems. Most of the previous transport layer or MAC layer designs are focused on either the throughput improvement, or the fairness enhancement respectively. The enhanced TCP versions in [1] [9] are based on the notion that routing dynamic affects the end-to-end performance significantly, authors proposed alternatives to distinguish the packet losses caused by network congestion from those induced by channel errors and routing failures, etc. Chen et al. [7] proposed a congestion window limit (CWL) to identify the bandwidth delay product of a path in MANET. Fu et al. [11] investigated the interactions between TCP and 802.11 MAC, as well as the TCP loss behaviors in multihop scenarios. They presented a Link RED (LRED) algorithm to further adjust the wireless link’s drop probability based on the perceived link drops. FEW-TCP [12] adopted a fractional window increment to prevent the aggressiveness of TCP AIMD mechanism to further degrade performance. Another prominent problem with TCP over wireless network is the contentions between TCP data flow and the corresponding acknowledgement (ACK) flow, Altman [14], Oliveira and Braun [13] proposed dynamic acknowledgement strategies for minimizing the number of ACK packets in transit and mitigating spurious retransmissions. The above algorithms improve the end-to-end TCP throughput, however, they cannot guarantee fairness among competing flows with serious interference. For example, fairness cannot

be achieved even in a simple symmetric cross-chain or dumbell topology. To resolve the fairness problem, Xu et al. [16] used a RED-like distributed queue management scheme to balance the throughput among competing TCP flows in multihop ad hoc networks. TCP-AP [17], which is originated from TCP pacing for the wired networks, can provide good fairness for TCP flows that span 4-hops. The sender of TCP-AP can adapt its transmission rate using an estimate of the current 4-hop propagation delay and the coefficient of variation of recently measured round-trip time. But performance of TCP-AP relies on the accurate estimation of 4-hop propagation delay and requires the knowledge about the number of hops. However, delay in wireless networks can be difficulty to estimate due to the queueing effect of data and ACK packets. B. RED-like Link Layer Methods Link RED plus Adaptive Pacing: The effects of multihop wireless link on TCP throughput and loss behavior have been studied in [11]. Authors reveal three interesting results. First, given a specific network topology and flow patterns, there exists a TCP congestion window size W ∗ , at which its throughput is highest via improving the spatial channel reuse. Further increasing the TCP congestion window size does not lead to further throughput increase, but results in increased channel contention and perceived end-to-end packet losses. Second, The standard TCP does not operate around the optimal congestion window size W ∗ and typically grows much larger than the optimal value. Third, the buffer occupancy of wireless nodes is fairly low and the packet losses in multihop ad hoc networks are mainly induced by channel contentions, while buffer overflow dominates the packet loss in wired networks [11]. In the paper, authors also proposed an interesting solution based on the observation that TCP can potentially benefit from AQM-like drop/mark mechanism in the MAC layer. The main idea is to further adjust the wireless link’s drop probability according to the perceived link drops. The end-to-end throughput of link RED algorithm can outperform the standard TCP/802.11 by 4% to 21%. However, the number of retries in the individual wireless node cannot reflect its contributions to the channel congestion accurately. If the adjustment is not done properly, the Link RED can aggravate the unfairness issue in many wireless topologies. We will illustrate this property quantitatively in the next section. Neighborhood RED: Because the original RED active queue management can enhance the per-flow fairness in wired networks, Xu et al. [16] extended this algorithm to the distributed neighborhood queues of wireless ad hoc networks. In NRED algorithm, each active node estimates the “total size” of the distributed queue length and applies RED method to calculate the aggregate drop rate of the wireless channel. Through broadcasting the aggregate drop probability to its neighboring nodes, each node can acquire the congestion information beyond its carrier sensing range. The aggregate drop rate is shared by the distributed queues in the neighboring nodes according to their proportions of channel busy time. The most important contribution of neighborhood RED is that it introduces the idea of neighborhood coordination to

3

address TCP unfairness issue. Simulation studies manifest that Neighborhood RED can substantially improve TCP fairness in some topologies and traffic patterns, at the cost of decreased throughput. Neighborhood RED still has several adverse aspects. First, NRED algorithm sacrifices TCP throughput for fairness almost under all topologies and traffic patterns in multihop ad hoc networks. An extreme case is that wireless nodes might drop a lot of data packets unnecessarily in a single cell WLAN without hidden nodes. Secondly, the overhead of neighborhood coordination is not negligible. Consider a 802.11 wireless network comprised of four nodes and two links that can sense each other. We test the impact of periodic broadcast and find that more than 2% throughput are consumed by asynchronously broadcasting the notification packets every 0.5s. Periodic broadcast can also result in potential hidden node collisions in multihop scenarios. Thirdly, NRED usually over-reacts to the channel contentions by dropping both the incoming and outgoing data packets. And it is also difficult to configure the controlling parameters of NRED. Fourthly, NRED is unable to control contentions which are within the carrier sensing range but outside of the transmission range through neighborhood coordination. In this paper, we propose a novel distributed congestion control algorithm to enhance TCP throughput and fairness simultaneously. A proportional controller is used to decide the packet mark probability of incoming packets. Based on binary feedback, a rate-based TCP congestion control algorithm can significantly outperform the standard 802.11/TCP, as well as some of the recent proposed wireless TCP in terms of throughput and fairness. III. On the Interactions Among Hidden Nodes Some previous works on wireless TCP enhancement are based on measurements of collision probability [11], [35]. The goal of this section is to illustrate that solely using the collision probability or the number of MAC retries is not adequate to reveal the congestion status. To make this claim, we present the interactions between hidden nodes and transport layer flow rates to show the inadequacy of using collision probability to predict congestion. A. Hidden Node Problems In wireless ad hoc networks, hidden nodes are the potential interfering nodes that are beyond the carrier sensing range of a sender. The RTS/CTS mechanism was introduced in IEEE 802.11 DCF to mitigate this problem. A node wishing to send data initiates the process by sending a Request to Send frame (RTS). The destination node replies with a Clear To Send frame (CTS). Any other node receiving the CTS frame should refrain from sending data for a given time. Both the RTS and the CTS frames contain the amount of waiting time to defer medium access. However, the use of RTS/CTS does not eliminate hidden node problems completely in multihop ad hoc networks [18], [19] and is usually disabled. The interference issue is summarized into two types of basic hidden nodes,

Ri d3

x1 A

Link 1

x2 B

D

Link 2

C

d1

Rcs Rcs

Ri

d2

Interference Range Ri Carrier Sensing Range Rcs

Fig. 1: Symmetric Topology with Two Links

namely, (i) physical hidden nodes and (ii) protocol hidden nodes. To understand the “physical hidden node” problem, let us consider an example depicted in Fig.1, where there have two wireless links A * B and C * D. When node A transmits to node B at a distance d meters away, the received power at node B is about ( d11 )4 proportion of the transmission power. Another node C at distance d3 meters away will cause interference unless the signal to interference power ratio (SIR) exceeds certain threshold. Letting the SIR threshold to be 10, authors in [20] characterize the relationship between the interference range and the hop distance, that is, Ri =

√ 4

10 · d1 ≈ 1.78d1 .

(1)

If d3 is larger than the carrier sensing range of node A, but is less than the interference range Ri , collisions induced by hidden node’s interference might happen at the receiver B. For the protocol hidden nodes problem, it occurs because the sender cannot hear as far as the receiver [20]. Consider the same network topology in Fig.1 but with different distance d3 . Node A cannot hear node C while C is within the carrier sensing range of node B, and outside of node B’s interference range. When node C transmits a frame to node D before the transmission of node A, because of 802.11 protocol, any node hearing this transmission will be “frozen”. But node A senses an idle channel and starts a frame transmission to node B. Therefore, node B will not response to node A with an ACK or CTS frame, resulting a collision at the receiver B. Since this hidden node problem is caused by the limitation of the CSMA/CA protocol, it is named Protocol Hidden Node Problem. We elaborate the difference between protocol hidden nodes and physical hidden nodes due to that their impacts on frame collisions are not same. In particular, the collision caused by physical hidden node may happen only if the hidden node transmits after the interfered node [20]. In the following subsections, we will reveal that collisions caused by hidden nodes are unevenly distributed among links even in symmetric topologies.

4

B. Analysis of Two Links A lot of previous work have explained that the asymmetric topology with hidden terminals can lead to asymmetric collisions over wireless links. In here, we further show that even under symmetric topologies, wireless links also experience quite different contention losses. We still consider the network scenario in Fig.1, where each node has a transmission range of 250m and carrier sensing range of 550m. The hop distance of these two links is 250m. Each link has a transport layer flow running over itself. Next, we investigate the average collision probabilities of the links A * B and C * D. Assume that the packet collisions happen randomly by neglecting the binary exponential backoff behavior in the 802.11 MAC. This assumption is reasonable since this exponential backoff mechanism can hardly reduce collision probabilities induced by hidden terminals. Link A * B has a traffic load with the normalized average airtime x1 , (0 ≤ x1 < 1), and link C * D has a traffic with the normalized average airtime x2 , (0 ≤ x2 < 1). Let γ1 denote the collision probability induced by the link A * B and γ2 denote the overall collision probability of link C * D. Let θU and θT be the fraction of time used for transmitting a UDP data packet and a TCP data packet respectively. Denote Tdif s and Tsif s to be the durations of DCF inter-frame spacing (DIFS) and Short inter-frame spacing (SIFS) in the 802.11 DCF mechanism. Let T Xd to be the transmitting time of a data packet and TACK to be the transmitting time of a MAC ack. T Xa is the transmitting time of an acknowledgement packet if the source uses TCP protocol, we have θU

=

θT

=

T Xd Tdif s + T Xd + Tsif s + TACK T Xd 2 ∗ Tdif s + T Xd + T Xa + 2 ∗ Tsif s + 2 ∗ TACK

Since a TCP flow frequently timeouts and is bidirectional in nature (data & ack sub-flows), we focus on the unidirectional transport layer flows in this section in order to simplify our analysis. θU x1 and θU x2 represent the normalized transmitting time of data packets for link 1 and 2 in Fig.1 respectively. 1) Node C is a physical hidden node: We first consider the case when node C is a physical hidden node. Because link 1 and link 2 cannot hear each other, they will enter the transmission stage when having backlogged packets. During link 1’s transmission of payloads, any concurrent transmission of link 2 will cause collision at both links. The transmission of link 1 is successful only when link 2’s airtime does not overlap with that of link 1. And the danger time of a frame in link 1 includes the overlapping time with link 2’s normalized airtime after its transmission and that with link2’s normalized payload airtime before its transmission, which is close to the pure ALOHA protocol. Hence, the average successful probability in each transmission, p1 , is expressed as,

2 2 γ2 = 2θU x1 − θU x1 .

(3)

Let us compare the average collision probability of link 1 and link 2. Here, the normalized airtime x1 ,x2 and the fractional parameter θU are all less than 1. One can easily find that γ1 is larger than γ2 if x2 is larger than x1 . 2 2 2 2 = 2θU x2 − θU x2 − (2θU x1 − θU x1 ) = θU (x2 − x1 )(2 − θU (x1 + x2 )) ≤ 2θU (x2 − x1 )(1 − θU ).

γ1 − γ2

(4)

The above inequality means that the meek flow has a larger average collision probability than that of an aggressive flow even under the above symmetric topology. 2) Node C is a protocol hidden node: Using the same method, we can also derive the average collision probabilities when node C is a protocol hidden node. The normalized danger time of link 1 is exactly the normalized airtime of link 2. Thus, the average collision probabilities can be computed by γ1 = θU x2 , γ2 = θU x1 . When the normalized airtime x2 is larger than x1 , one can see obviously that the average collision probability γ1 is greater than γ2 . In this simple symmetric topology, the average collision probability of a meek flow is larger than that of an aggressive one whatever the type of hidden nodes is. C. A General Analysis based on Contention Graph We further consider the interaction between contention losses and flow rates in a more complex symmetric topology. The methodology presented here can be extended to the analysis of a general ad hoc network scenario. Given a set of wireless nodes and flows, a network can be mapped into a contention graph. In general, contention graph is used to represent the interference within the carrier sensing range of a transmitting node. In a general multihop network topology, there exist two types of interferences, namely (a) hidden node contention, and (b) carrier sensing contention. F

1

8

5

G 6 1

A

2

3

B

C

7

4

D

X

(2,3,6,7)

E

H 8

I

5

4

Fig. 2: (a) Short Cross-Chain Topology, (b) Contention Graph

p1 = (1 − θU x2 )(1 − θU x2 ). and the average collision probability in each transmission is 2 2 γ1 = 1 − p1 = 2θU x2 − θU x2 .

When the normalized airtime of link 2 is large, the average collision probability is also large. Similarly, we also have the following expression of link 2’s average collision probability,

(2)

Based on the general analytical framework in [21], one can construct the flow contention graph and study the influence of hidden links quantitatively. Consider a cross-chain topology

5

as depicted in Fig.2(a) wherein we have two transport layer flows: A * E and F * I. The link flows are represented by numbers in Fig.2. Each node has a transmission range of 250m and carrier sensing range of 550m. All the neighboring nodes are evenly spaced apart with a distance of 200m. We construct a flow contention graph for this cross-chain topology according to following three steps: Step 1: From the network topology, we generate an undirected graph that depicts the interference within carrier sensing range of a given node. Node D, F are beyond the carrier sensing range of node A, and node A, H are outside of the carrier sensing range of node F. When the sending rate is low, the transmission of node D (or node H) can be completed before node A (or node F) initiates its next frame transmission. Therefore, the intra-flow interference can be neglected. When the sending rate is high, all the node can be regarded as saturated and the intra-flow contentions cannot be ignored. Step 2: From the network topology and the set of active link flows, one can construct a flow contention graph G(V, Eg) (depicted if Fig.2(b)) that captures the carrier sensing contentions where V represents the set of active links and Eg is the set of undirected edges. For example, link 1 interfere with link 2,3,6 and 7. Thus link (1,2), (1,3), (1,6), (1,7) are edges in the set Eg. Because each node in the set {B, C, G} can sense all other nodes, for the ease of presentation, we replace − → , f− − → , f− − → , f− − → by the character X the maximal clique f− BC CD GC CH in the contention graph. Step 3: We add the hidden node interference to the flow contention graph using directed dash lines. We represent the 0 0 final contention graph by G(V, Eg, Eg ), where Eg is the set of hidden link interferences. Assume that node D first transmits its buffered packet to node E after a random backoff period by initiating the DATA-ACK or RTS-CTS-DATA-ACK handshakes. After hearing from node D, node B will defer until the transmission is completed. Node A cannot sense the on-going transmission beyond its carrier sensing range and transmits its buffered packet to node B. But node B cannot reply to node A within this period. When node A experiences seven consecutive retransmissions of the same data frame, the IFQ will drop the data frame, resulting a packet loss. Similarly, we can discuss other three hidden node interferences that 0 are depicted in the final contention graph G(V, Eg, Eg ) in Fig.2(b). In brief, the link 4 is the intra-flow protocol hidden link of link 1, and link 5 is the inter-flow protocol hidden link of link 1, while link 1 (link 8) is the inter-flow protocol hidden link (intra-flow protocol hidden link) of link 5. D. Collision Probability From a link’s perspective (i.e., link i), it can determine the following information: (a) xi , where 0 ≤ xi ≤ 1 is the normalized airtime in transmitting its frame, (b) γi , its collision probability. Similar to those in [18], [20], we assume that the packet collisions are mainly induced by hidden nodes, while the collision event with links inside its carrier sensing range is negligible. Let γij denote the collision probability induced by the j th hidden link of link i and γi denote the overall collision probability of link i. Let θU xi and θU xj represent the normalized

transmitting time of data packets for link i and j respectively. In order to calculate the collision probabilities of a given link, we introduce three random transmission events. Define Eventi,j A as the event that normalized data transmission time of link i (θU xi ) and link j (θU xj ) overlaps, Eventi,j B as the event that the transmission of link j starts before link i, while Eventi,j C is the event that common neighboring links of link i and link j do not transmit. Taking the flow contention graph in Fig.2(b) as an example, one can find that links 2, 3, 6, 7 are the common neighboring links for link 1, 4, 5, 8. Base on the analytic method in [21], for the ith link, the probability of i,j i,j Eventi,j A , EventB , EventC are: i,j Prob{EventA } = θU xi + θU xj ; i,j i,j Prob{Eventi,j B } = θU xj ; Prob{EventA EventB } = θU xj ; 1,5 1,4 5,1 Prob{EventC } = Prob{Event C } = Prob{EventC } = S 5,8 Prob{EventC }=1− xc=1−x2 −x3 −x6 −x7 . The collision probabilities of link flow 1 and 5 can be represented by: θU x5 S 1 − xc φθU x4 1,4 S = P rob{Event1,4 A EventB |EventC } = 1 − xc

1,5 γ1,5 = P rob{Event1,5 A EventB |EventC } =

(5)

γ1,4

(6)

γ1 = γ1,5 + γ1,4 =

φθU x4 + θU x5 S 1 − xc

(7)

where φ is the weight of the intra-flow contentions and 0 ≤ φ ≤ 1. We assume that the competing flows have the same φ. Similarly, for link 5, we also have γ5 = γ5,1 + γ5,8 =

φθU x8 + θU x1 S 1 − xc

(8)

When the offered load is very light, the influence of intraflow hidden node can be negligible compared with that of inter-flow hidden node. If the network is saturated, the adverse impacts of intra-flow hidden node are more pronounced. Let us consider these two extreme cases: 1) If the offered load is light, the intra-flow collisions are negligible. The collision probabilities of link 1 and 5 are: θU x5 θU x1 S ; γ5 = S γ1 = (9) 1 − xc 1 − xc 2) If the offered load is heavy and all the links are saturated, the influence of intra-flow contentions is prominent, i.e. θU x4 + θU x5 θU x8 + θU x1 S S γ1 = ; γ5 = (10) 1 − xc 1 − xc According to above analysis, one can find that the collision probability of link 1 is smaller than that of link 5 in both cases when the rate of flow A * E is larger than that of flow F * I. Because the link set {1, 2, 3, 4} belongs to transport layer flow A * E and the set {5, 6, 7, 8} belongs to flow F * I, the airtime of each link must satisfy the flow constraints: x1 (1 − γ1 ) = x2 = x3 = x4 and x5 (1 − γ5 ) = x6 = x7 = x8 . We have the following claim: Proposition 1: If the airtime of link 1 is larger than that of link 5, the collision probability of link 5 is not less than that of

6

link 1, and vise versa. Formally, we have: (x1 −x5 )(γ1 −γ5 ) ≤ 0. Proof: Please refer to the appendix.

c be the link rate vector, ε be the rate vector of maximal cliques in the contention graph, there exists X max Us (rs ) (11) {rs ∈S}

E. Congestion Evaluation The importance of offered load control has been well studied in [18], [20], [21]. When the offered load increases from a low level, the end-to-end throughput also increases linearly. When the offered load is larger than a certain threshold, the throughput decreases. For TCP flows over 802.11 multihop ad hoc networks, the packet drops are mainly caused by MAC contentions due to hidden terminals. Fu et.al [11] observed that the TCP packets were dropped even at a low buffer occupancy in a 9-node chain topology. If the flow rate increases, the average number of MAC retries increases accordingly. This indicates that queue size might not be efficient measure the network congestion. Link RED [11] measures the average number of MAC retries of each packet and generates the ECN marks with calculated probability. But there is an obvious drawback in the collision based algorithms. The aggressive flow has a smaller collision probability, while the meek flow has a higher collision probability. Therefore, Link RED exerts more penalty on the meek transport layer flow than that on the aggressive one. IV. Distributed Rate Allocation: A Cross-Layer Approach In this section, we formulate the congestion control of TCP flows as an optimization problem. We propose a novel method to evaluate the channel congestion and adopt explicit congestion notification (ECN) bit as the binary feedback signal. A distributed proportional fair rate allocation mechanism is also presented. A. Motivations The resource allocation in wired Internet is originally formulated as an optimization problem in [22]. TCP congestion control algorithms are interpreted as distributed primal-dual problems over the Internet to maximize the aggregate utility, and a user’s utility function is defined by the its TCP version [23]. The fundamental idea is widely extended to the cellular networks and IEEE 802.11 ad hoc networks such as [24]– [29]. Because wireless channel is a shared medium and is interference limited, the link capacity is not fixed, but depends on the transmission power or transmission probability of nodes. Consider a continuous, concave, twice-differentiable and strict increasing utility function U (ri ) for a TCP source with rate ri in the 802.11 multihop ad hoc network. The congestion control and MAC contention control are designed jointly in [24]. The design objective is to maximize the aggregate network utility subjected to both flow constraints and link contention constraints. Let r be the rate vector of source flows,

s.t.

Rr ≤ c

s

& F c ≤ ε,

where R is the routing matrix and F is the contention matrix that depicts the mutual interference of wireless links. This optimization framework captures the major characteristics of rate allocation problem in shared medium and interference-limited networks. However, it has four major problems when one applies to CSMA ad hoc networks. 1) The model does not incorporate the hidden node problems in 802.11 multihop scenarios. 2) The implementation of the distributed algorithm needs at least the knowledge of local contention graph, while the construction of local contention graph will introduce enormous overheads. 3) The model is insufficient to describe the dynamic network conditions, esp. c, ε, R and F are all time-varying when one considers mobility. 4) The clique based optimization framework may produce incorrect solutions in some topologies, e.g. in a pentagon graph. The maximal normalized sum rate is 5/2 according to the optimization model, but the actual sum rate is 2 for CSMA networks [24]. Since the constraints of the optimization model are difficult to decouple into the sub-constraints in different layers, an alternative method can be introduced to reformulate the congestion control problem. In this paper, we formulate the TCP congestion control as an unconstrained optimization problem. Except for the utility functions, the objective function contains the penalty function which models the constraints and is calculated directly from the wireless nodes’ status. B. Problem Formulation Given a set of TCP sources S = {1, 2, 3, ......, S} and a set of 802.11 active links L = {1, 2, 3, ......, L}, we denote the ith flow’s utility function as U (ri ), where ri is the sending rate of flow i. To send back the congestion prices to the sources, we propose to use the explicit congestion notification (ECN) which is a binary feedback mechanism. A general system-wide objective function J(r) can be represented by: maximize J(r) = α

S X i=1

U (ri ) −

S βX i p rν , ν i=1 mark i

(12)

where α and β are constant controlling parameters, pimark is the mark probability of the ith source. The first term represents the aggregate utility while the second term represents the penalty (which is expressed as marking probability). A constant integer ν is introduced in order to reinforce the penalty of the aggressive flows when the network gets congested. The objective function can be tuned to achieve the desired tradeoff between maximizing the aggregate utility and penalizing frame losses. We choose ν = 1 in this paper for simplicity. Our mathematic model is similar to [27], yet their work focused

7

on the contention control in 802.11 MAC layer and mainly considered the scenarios of multiple single-hop flows within a single cell. Defining the mark probability of flow i in link l as pli , we obtain the expression of aggregate marking probability of flow i as: L Y i (13) pmark = 1 − (1 − pli ). l=1

The mark probability of each link is decided by the measured link variables. Consider a simple case where each link l has only one flow. The marking probability of the ith flow on the lth link, pli , is pli = f (Tl , γl ) = kp × γl Tl2 .

(14)

Here, Tl , γl are the normalized transmission time and the TCP data packet collision probability of link l respectively, θ is the fraction of time for transmitting a data packet, and kp is the proportional coefficient of the active MAC controller. For multiple TCP flows sharing the same link, the implicit mark probability of ith flow is pli = TTlil f (Tl , γl ), where Tli is the normalized airtime of ith flow in link l. We denote z = γl ×Tl2 as our congestion index and use this index to generate the ECN marking probability at each node. The intuitive idea of the congestion index z is that the aggressive flow should be penalized more even if its collision probability is smaller than its competing flows. And the networks need to tolerate the meek flows with larger collision probability. A possible enhancement is to use z as the congestion index so one can correctly penalize the aggressive flows while protecting the meek ones. The ECN marking probability and congestion index are functions of link airtime, and link airtime is closely related to the source sending rate. Due to their intractability, we still treat them as the independent variables when we take differential on Eq. (12). C. Verifying the Congestion Index In Section 2, we analyze the interactions of hidden links among competing flows. The average number of MAC retries in an individual link, which has been used to generate ECN probability in Link RED, is insufficient to estimate the congestion status and fairness of wireless channel. If we rely on the average number of retries to decide the mark probability, the aggressive flows will finally occupy most of the channel capacity. Let us first illustrate the advantages of the proposed index. Consider the cross-chain topology in Fig.2(a) with two TCP flows with a fixed average sending rate. The link capacity is 2Mbps and the TCP packet size is 1000 Bytes. We will demonstrate how our rate allocation can capture both the congestion and unfairness problems simultaneously. Case 1 - Light Offered load: The end-to-end rate of the TCP flow A * E is 100Kbps and another TCP flow F * I rate is 50Kbps. The sending time of a TCP packet is uniformly distributed around a fixed time scale. The average collision probability is measured every 0.5 second and the exponential weighted moving average (EWMA) parameter ω is set to

− → and flow 0.125. The collision probabilities of link flow f− AB − → are shown in Fig.3. We can see that the data packet f− FG − → is smaller collision probability of the aggressive link flow f− AB − → , which indicates that than that of the meek link flow f− FG naively using the collision probability [11], [35] may give a wrong conclusion of which flow generates more congestion. Case 2 - Heavy Offered load: In this experiment, We set the rates of A * E and F * I to be around 200Kbps and 100Kbps respectively. As is shown in Fig.4, the data − → and f− − → are packet collision probabilities of link flow f− AB FG comparable. This indicates that at heavy load, one may not be able to distinguish which flow causes the congestion. Although we investigate the interactions of hidden nodes with unidirectional transport layer flows in Section III, the above experiments of fix-rate TCP flows also coincide with our analytic results to a great extent. Effectiveness of Congestion Index z: We demonstrate the − → and flow f− − → in the crosscongestion index z of links f− AB FG chain topology under both light and heavy offerload patterns in Fig. 5 and Fig. 6. Using z has two advantages. First, it can detect congestion effectively. The congestion indices z of the heavy offered load case are remarkably larger than those − → and f− − → , so of the light offered load for both link flow f− AB FG one can use the value of z to infer congestion. Second, z can identify which flow contributes more to the congestion. The − → is larger than that of congestion index z of link flow f− AB − → in both the light and heavy offered load case. link flow f− FG Therefore, the link layer can penalize the aggressive flow to alleviate the channel congestion.

D. Distributed Fair Rate Allocation The optimization problem in the form of Eq.(12) is a game among the competing TCP senders where each sender i ∈ S attempts to maximize its own objective [27]. As is shown in [27], [30], the congestion game admits a unique Nash equilibrium. After we formulate the optimization framework for TCP flows over multihop ad hoc networks, the remaining question is to derive a general methodology for TCP rate adaptation. Note that the system objective function J(r) is maximized when 0 dJ(ri ) = 0 ⇐⇒ αU (ri∗ ) − βpimark = 0 (15) dri βpi = 0, (16) ⇐⇒ α − 0mark U (ri∗ ) where the optimal TCP rate of flow i is denoted by ri∗ . Because the utility function U (ri ) is an increasing, strict concave and differentiable function for any ri ≥ 0, one can employ the distributed congestion control algorithm using the gradient based method. Let r˙i be the gradient of rate ri , we have r˙i = α −

βpimark . U 0 (ri∗ )

(17)

Therefore, one can easily see that the sending rate ri arrives i) equilibrium point ri∗ when dJ(r dri = 0. This equilibrium point is actually the solution of system-wide objective function J(r). Let us state the following theorem.

8

Light Traffic

EWMA Collision Probability (%)

0.25 Flow A−>E Flow F−>I

0.2 0.15 0.1

In the equilibrium state, the following equation holds if we take the utility function of log-form for TCP flows,

0.05 0

∗ α = βpi∗ mark ri . 0

50

100 Time

150

200

Fig. 3: Col. Prob. of Light Traffic EWMA Collision Probability (%)

Heavy Traffic 0.4 Flow A−>E Flow F−>I 0.3

0.2

0.1

0

0

50

100 Time

150

200

Fig. 4: Col. Prob. of Heavy Traffic −4

Congestion Index (%)

6

Light Traffic

x 10

Flow A−>E Flow F−>I

5 4 3 2 1 0

0

100

200 Sampling

300

400

Fig. 5: Index z of Light Traffic −3

Congestion Index (%)

5

Heavy Traffic

x 10

Flow A−>E Flow F−>I

4 3 2 1 0

Consider an utility function in the log form, U (ri ) = log ri , which corresponds to the proportional fairness rate allocation. The congestion control law of TCP flows can be represented by r˙i = α − βpimark ri . (18)

0

100

200 Time

300

400

Fig. 6: Index z of Heavy Traffic

Theorem 1: Suppose all flows in the networks have concave, differentiable, strict increasing utility function U (r) for r ≥ 0, the fully distributed congestion control algorithm in Eq.(17) converges to the unique equilibrium point ri∗ for some positive constants α and β. Proof: Please refer to the Appendix.

(19)

Proposition 2: A vector of mutually interfered TCP rates r = (ri , i ∈ R) is proportionally fair if it is feasible, that is r ≥ 0 and r subjects to flow constrains, and if r satisfies the rate allocation scheme Eq.(18). Remark: A class of distributed congestion control algorithms can be derived for different goals based on our framework in Eq.(12). If ν is set to be 2, the gradient of the flow control problem is: Grad(ri ) = α − βpimark ri2 , (20) and the control law can be chosen as: α r˙i = − βpimark ri . (21) ri This controller can accelerate the response speed if the current sending rate deviates far from the optimal rate. The proof for convergence is very close to Theorem 1, which is omitted here. E. TCP: Window Based VS Rate Based We propose to replace the window-based TCP by a ratebased TCP for two reasons. First, TCP acknowledgement subflow usually shares the same channel with the TCP data subflow in 802.11 wireless networks. The backward queueing delays of acknowledgement packets are mainly composed of the transmission time of TCP data packets. Therefore, if the congestion window increases, the RTTs also increase significantly, and vice versa. We have experimentally observed that the sending rate of a TCP flow with the congestion window size of 3 is not very far from that with the congestion window size of 6 in a 8-hop chain topology. Second, the bandwidth delay product of a general multihop ad-hoc network is very small, thus the optimal congestion window size is small too (i.e. 2 to 5). Therefore, it is not efficient for TCP’s AIMD window control to adjust on a very small congestion window. In this paper, we use ECN bits to notify the sources to adjust the sending rate that is the inverse of the sending interval Tintv . If a TCP sender receives an ECN echoed acknowledgement, it will slow down the sending rate by choosing a larger transmission interval Tintv . If an acknowledgement packet is not ECN echoed, the source will decrease the transmission interval slightly. The most important advantage of this ratebased TCP pacing is that the sender to adjust its sending rate in a more fine granularity in the presence of contention losses. Our design utilizes the potential benefits of cross-layer information. The proposed distributed congestion control algorithm, which we call the DCC algorithm, does not modify the original IEEE 802.11 multiple access mechanism. It does not need the collaborations from routing protocols such as reasons of packet loss, link breakage, or number of hops either. We

9

Transport Layer Transport Layer

DCC Sub-Layer

MAC Layer

MAC Layer

Physical Layer

Physical Layer

Fig. 7: Architecture of the DCC Algorithm add a sub-layer between transport layer and MAC layer to gather channel information and generate feedback signals for rate adaptation. The architecture of our proposed congestion control algorithm is shown in Fig.7. F. Parameter Configurations Although the analytic framework guarantees the stability under certain assumptions, a number of practical issues should be taken into consideration in order to make the rate control algorithm work efficiently. The selection of controlling parameters α and β is the most important one among them. Since the feedback is binary, the equation based congestion control algorithm in Eqn.(18) is approximated by the following AIMD rate control operations. 1. If an ECN echo is reveiced by source i, ri ← (1 − β)ri . 2. If the received ack packet is not ECN echoed, ri ← ri +α. Here, ri and α are denoted in packets/second. The incremental parameter α should not be more aggressive than the original AIMD window adaptation in TCP Reno. A large penalty parameter β ensures the contention loss to be sufficient low. But it has two effects on the network performance. First, a large β can cause large fluctuation in the sending interval. Second, a large β reduces the network throughput. We set the penalty parameter β to 0.05 and the incremental parameter α to 0.1 packet/s by considering the tradeoff between responsiveness and throughput. The above parameters are fixed and serve as standard configurations in our algorithm. The remaining parameter kp is used to generate the ECN probability, whose robustness is investigated in section V. The sending rate of a flow is the inverse of the sending interval Tintv . The initial interval is configured to be RT1 T after receiving the first ack successfully. Then, upon each ack reception, the sending interval is updated as the following, 1. If an ECN echo is reveiced, Tintv = Tintv /(1 − β); Tintv . 2. If an ack is not ECN echoed, Tintv ← 1+αT intv G. Practical Considerations As a practical protocol, our distributed congestion control algorithm needs to avoid the some kinds of wrong manipulations, that is to establish the upper and lower bounds for the transmitting interval Tintv . We provide an upper bound Tub of two average RTTs for a sending interval, which corresponds to “CW N D == 0.5” in other TCP variants. Lower bound is very important in our algorithm for it decides maximal sending rate of a TCP source. Authors in [8]

investigated bandwidth delay product (BDP) in a IEEE 802.11based MANET. A delay based upper bound of BDP of a chain topology is also proved. The upper bound ofPbandwidth delay P 0 n

d +

n

d

i i=0 i , product of a chain topology cannot exceed i=0 4d max 0 where di and di are the per-hop packet transmission delays along the forward and return paths, and dmax is the maximum per-hop delay. This is to say, the minimum sending interval is 4 × dmax . The maximum per-hop delay dmax can be RT T , where Nh is the number of hops. approximated by 2×N h 2×RT T If we choose Nh as the lower bound, the knowledge of hop number is indispensable. But in our distributed congestion control algorithm, the aim of lower bound is to avoid the extreme worse case. For simplicity, we just set the lower bound to be the aggregate one-hop transmission time of a TCP data packet and an ack packet. The upper and lower bounds are rarely met during the transmission unless there are no hidden links or most of the in-flight packets collide with the packets from the hidden links. We recommend to impose a slightly larger lower bound in the TCP slow start stage to suppress the aggressiveness. The detailed description of the algorithm is shown in Fig.8.

Tlb

= T Xd + Tdif s + Tsif s + TACK + Tbackof f + T Xa + Tdif s + Tsif s + TACK + Tbackof f

Distributed Congestion Control Algorithm Part 1 : Calculate MarkProb() 1: For each transmission 2: ntrans ++ 3: For each failed transmission 4: failedcount ++ 5: If (DccMacTimerExpire) 6: Measure Normalized Transmitting Time Tl 7: retry prob = failedcount/ntrans 8: OverLoad = retry prob×(θTl ×dataRate/packetSize)2 9: pl = k × Overload 10:end if Part 2: TCP Rate Adaptation() 1: Disable ECN Induced CWND Adaptation (optional) 2: If (ECN-echoed ACK) 3: Tintv = Tintv /(1 − β) 4: else if (Non-ECN-echoed ACK) intv 5: Tintv = 1 +TαT intv 6: end if 7: Check upper & lower bounds of Tintv 8: If (DccTCPTimerExpire) 9: If (seqno < cwnd + highest ack) 10: send(pkt) 11: end if 12:end if

Fig. 8: Algorithm Specification

V. S IMULATIONS A. Simulation Setup We evaluate the end-to-end throughput and fairness of our proposed algorithm and other related schemes such as CWL [7] and Link RED plus adaptive pacing [11] over a variety

10 300 Standard DCC 250

200

Throughput (Kbps)

of network scenarios. The transmission range, carrier sensing range, hop distance, TCP packet size and link capacity are the same as those in the preceding experiments. The original TCP/ECN mechanism is disabled. Because RTS/CTS does not help much to reduce collisions caused by hidden links when the carrier sensing range is more than twice that of the transmission range, we also disable the RTS/CTS handshake to lessen the MAC overheads. In our distributed congestion control algorithm, the sampling interval in the 802.11 MAC layer is set to 0.125 second and the EWMA weighting factor is set to 0.125. The proportional parameter kp is configurable which can range from 0 to 150. And the default value of kp is set to 18.48 in our experiments.

150

100

50

0

0

50

100

200 (s)

150

Fig. 10: End-to-end Throughput

B. Chain Topology Our proposed DCC algorithm is tested over a chain topology in Fig.9 with different number of hops and with different parameter configuration. We demonstrate both the dynamic behaviors and end-to-end throughput.

Sending Interval

0.5 Sending Interval Upper Bound Lower Bound

0.4 0.3 0.2 0.1 0

0

50

100 Time

150

200

TCP Flow

1

2

3

n

Sending Interval

0.06 Sending Interval 0.05 0.04 0.03 0.02

0

50

Fig. 9: Chain Topology with a single TCP flow

150

200

Fig. 11: Sending Intervals

algorithm is significantly better than standard TCP/802.11. When the number of hops is larger than 11, our DCC algorithm outperforms all the rest schemes in terms of throughput. Later we will show that the proposed algorithm can achieve very good fairness in the cross-chain and grid topologies, while the other schemes cannot. 350 Standard LRED CWL DACK DCC

300

Throughput (Kbps)

1) Dynamic Behaviors: Consider a single TCP flow over a 9-node chain topology, the end-to-end throughput of the TCP flow is sampled every 2 seconds. Fig.9 illustrates that the throughput of a standard TCP flow tend to strongly oscillate over time. Because the first two wireless nodes sense smaller interference than their downstream nodes, the source will send more traffic into the network than it can successfully transmit. When a downstream node fails to transmit a frame after a number of retries, the frame will be discarded and a link breakage is reported. During this period, no packet can be transmitted until the routing protocol fixes the route or discover a new route. Nahm et.al [12] elaborated the details of the crosslayer interactions leading to the severe network instability. The DCC algorithm well solves the routing instability problem. The end-to-end throughput is stabilized by controlling the TCP sending rate according to the link feedbacks. Fig.11 shows the dynamic behaviors of TCP sending interval. The sending interval is stable and never reaches the upper and lower bounds after the slow start stage. A high-resolution subgraph of the sending interval is also shown in Fig.11. 2) Throughputs VS Hops: We compare the average throughput of DCC algorithm and other TCP enhancements by varying the number of hops in the chain topology. The increment parameter of TCP-Few is set to 0.01, and the congestion window limits of CWL are the same as those in [7]. The minimum, maximum thresholds and the maximum mark probability of Link RED plus adaptive pacing are 0.2, 2.0 and 0.2 respectively. We set the Delayed ACK (DACK) interval to be 100ms. As is shown in Fig.12, the throughput of DCC

100 Time

250

200

150

100

50

5

10

15 Number of Hops

20

25

Fig. 12: Throughput VS Hops 3) Robustness: The selection of controlling parameters is very important for all the enhanced algorithms. A good algorithm should tolerate the imperfect parameter configurations and maintain the robustness of performance. In this set of experiments, the robustness of the proportional parameter k is tested in an 8-hop chain topology. When we vary k from 0 to 150, the maximum throughput 231.27Kbps is achieved

11

around k ∗ = 7.922. Fig.13 shows that at the point k being 18.4842, the end-to-end throughput is 160.13Kbps. Note that even when k is arbitrarily chosen to be nearly 20 times of k ∗ , the throughput is still significantly larger than the standard TCP/802.11 mechanism. 240 DCC Standard

Throughput (Kbps)

220

200

180

160

140

120

0

20

40

60 80 100 Proportional Parameter

120

140

Fig. 13: Robustness of the proportional parameter k

C. Cross-Chain & Dumbell Topologies The results described above show that there is an optimal sending rate for a TCP flow in chain topologies. With proper designs, the channel reuse can be maximized and the TCP sender can achieve the optimal throughput. But in this set of simulations, we concentrate on the fairness issues of competing TCP flows. 1) New Insights of TCP fairness: TCP unfairness is observed in many previous researches. But they merely concern the long-term unfairness, while neglecting the short-term unfairness. Consider the two long-lived TCP flows from node A to E and node F to I in Fig.2(a), serious unfairness is caused by the interactions of congestion control, routing and 802.11 MAC protocols. If two flows starts at the same time, one flow will occupy the whole wireless channel for a long time until it timeouts for the sake of intra-flow contentions. Then another TCP flow has an opportunity to take over the channel. If the average end-to-end throughputs are measured in a very long time interval, e.g. more than 200 seconds, the unfairness seems not so severe. However, when the throughputs over time are examined in a fine-grained mode, the two competing flows are almost incompatible actually. There is a tradeoff between throughput and fairness. Some enhanced TCP versions can improve the aggregate throughput, yet aggravate the per-flow fairness. The reason lies in that the maximum aggregate throughput is achieved only when one of the flows occupies the whole channel capacity and operates around the optimal sending rate. In our distributed congestion control algorithm, the proportional parameter k is a knob to balance the aggregate throughput and per-flow fairness. 2) Cross-Chain Topology: We run extensive simulations to investigate the unfairness issue with two competing TCP flows on a cross-chain topology in Fig.2(a). The parameter configurations are the same as those in the previous experiments. We measure the average aggregate throughput in 200 seconds and calculate the fairness indexes according to [32]: P ( ri )2 P F airness Index : F (r) = n ri2

As shown in Table I, the aggregate throughput of DCC algorithm is only larger than that of Link RED and the Fairness Index of standard TCP/802.11 is also close to 1. If we judge fairness depending on the fairness index over at least 200s, we will draw a wrong conclusion that all the above algorithms can achieve satisfactory fair rate allocation. In order to highlight the short-term unfairness, we measure the average throughput of above algorithms every 2 seconds. Fig.14 to 18 show that our DCC algorithm can guarantee both the long-term and short-term fairness for the two competing TCP flows: A * E and F * I in the cross-chain topology while other schemes cannot. For standard TCP and other enhanced algorithms, the throughput of one TCP flow is extremely low, even equal to zero, when its competing flow begins to transmit. In addition, dynamic behaviors of the sending intervals of our DCC algorithm are shown in Fig.19. Because the sending intervals of two competing TCP flows are very close to each other, the short-term fairness is automatically guaranteed. Alg.s Flow 1 Flow 2 Agg. Fairness

Std. 127.96 170.32 298.28 0.9854

CWL 91.56 230.79 322.35 0.8428

LRED 105.13 182.96 288.09 0.9320

DACK 183.71 132.52 316.23 0.9745

DCC 151.81 137.44 289.25 0.9975

TABLE I: Throughput & Fairness in the Cross-Chain Topology 3) Dumbell Topology: The dumbell topology in Fig.20 is special compared with the cross-chain topologies. Two TCP flows share four identical links and their source nodes can sense each other. The links of TCP data flow are represented by the numbers. Link 5 is the hidden link of link 2, and link 3 is interfered by its hidden link 6 and 8. The source links 1 and 7 can sense each other, and have no other hidden links. The intra-flow interference plays the major role in the channel contention loss. In this simulation, we investigate the performance of TCP/802.11 as well as its enhanced algorithms over a symmetric multihop scenario with shared links. Serious short-term unfairness and long-term unfairness of previous proposals are still observed in Fig.21 to 25 and Table II, while our proposed algorithm works efficiently. By analyzing the end-to-end throughput and fairness in the cross-chain, long cross-chain and dumbell topologies, we demonstrate that shortterm fairness, other than long-term fairness is a very important criteria for performance evaluation in the interference-limited 802.11 ad hoc networks. If one merely measures the fairness index over a very long time interval, the inner short-term unfairness would be neglected. Alg.s Flow 1 Flow 2 Agg. Fairness

Std. 108.20 102.01 210.21 0.9991

CWL 72.24 154.48 226.72 0.8837

LRED 159.33 56.96 216.29 0.817

DACK 143.12 99.35 242.47 0.9684

DCC 113.37 107.75 221.12 0.9995

TABLE II: Throughput & Fairness in the Dumbell Topology

12

Sending Interval of Short Cross−Chain Topology

Flow A −> E Flow F −> I

0.1

300 200 100 0 100

120

140

160

180

200 (s)

Fig. 14: Standard TCP/802.11 Throughput (Kbps)

0.08 0.07 0.06 0.05 0.04 0.03

400

0.02 100

110

120

130

140

300

150 160 Time(s)

170

180

190

200

Fig. 19: Sending Intervals of the Competing Flows over Time

200 100 0 100

Flow A −> E Flow F −> I 120

140

160

200 (s)

180

FTP 1 A

Fig. 15: Delayed ACK

1

400

Throughput (Kbps)

Flow 1 Flow 2

0.09 Sending Interval (s)

Throughput (Kbps)

400

Flow A −> E Flow F −> I

6 2

3

4

5

300

7 B

C

D

E

F8

200

H 100 0 100

120

140

160

180

200 (s)

FTP 2 Fig. 20: Dumbell Topology

Fig. 16: Link RED Throughput (Kbps)

400

and other enhanced methods, it achieves much better fairness even in small time scales.

Flow A −> E Flow F −> I 300 200

VI. C ONCLUSION 100 0 100

120

140

160

180

200 (s)

Fig. 17: Congestion Window Limit (CWL) Throughput (Kbps)

400 Flow A −> E Flow F −> I 300 200 100 0 100

120

140

160

180

200 (s)

Fig. 18: Distributed Congestion Controller D. Grid Topology On a 5 × 5 grid topology shown in Fig.26, we run six longlived FTP flows. One can see in Fig.27 that the middle flows under the CWL, DACK and standard TCP/802.11 schemes suffer from serious unfairness while the DCC can provide good fairness for all the flows. The short-term fairness is also evaluated and Fig.28 shows that the instantaneous fairness index of DCC algorithm is about 0.9 and the fairness indexes of other algorithms oscillate around 0.5. A fairness index of 0.5 represents very serious unfairness among competing flows. Although the aggregate end-to-end throughput of our DCC algorithm is slightly less than that of standard TCP/802.11

Improving the performance of TCP over IEEE 802.11 multihop ad hoc networks has attracted great attentions. In this paper, we study the interactions between hidden nodes and transport layer flows, and show some new insights and fundamental properties of TCP unfairness with competing flows. The close coupling among the MAC protocols, routing schemes and TCP congestion control can easily lead to performance degradation of wireless networks. A feasible way to enhance TCP performance is to control the TCP traffics by exploiting the cross-layer information. The contributions of this paper are miscellaneous. Particularly, 1. We reveal the relationships between traffic rates and collision probabilities due to hidden nodes in a wireless multihop environment with competing flows. 2. We present a novel congestion index for a general multihop ad hoc network. The congestion index can effectively evaluate the link’s congestion status and per-flow fairness at the same time. 3. We formulate an unconstrained optimization framework for multihop TCP flows that does not need the global information of the networks or any local coordination. 4. We propose a fully distributed congestion control algorithm to balance throughput and fairness for TCP flows in multihop ad hoc networks. The advantages of our DCC algorithm are validated through NS-2 simulations in a variety of network environments.

13

Throughput (Kbps)

200 150

FTP 1

100 50 0 100

120

140

160

180

Fig. 21: Standard TCP/802.11

FTP 2

200 (s)

400

Throughput (Kbps)

FTP 6

Flow 0 −> 6 Flow 7 −> 8

250

FTP 5

FTP 4

300

FTP 3

300 200 100 0 100

Flow A −> E Flow F −> I 120

140

160

Fig. 26: A 5×5 Grid Topology

200 (s)

180

Fig. 22: Delayed ACK

120

FTP 1 FTP 2 FTP 3 FTP 4 FTP 5 FTP 6

Flow 0 −> 6 Flow 7 −> 8

250

100

200 150 100 50 0 100

120

140

160

Fig. 23: Link RED

180

200 (s)

Throughput (Kbps)

80

60

40

20

350 300

0

250

LRED

DCC

STD

CWL

DACK

200 150 100

Flow 0 −> 6 Flow 7 −> 12

50 0 100

120

140

160

180

Fig. 24: Congestion Window Limit (CWL)

Flow 0 −>6 Flow 7 −> 8

250 200 150 100 50 0 100

120

140

160

180

Fig. 25: Distributed Congestion Controller

Fig. 27: Average Throughput of Grid Topology

200 (s)

300

Throughput (Kbps)

Throughput (Kbps)

Throughput (Kbps)

300

200 (s)

R EFERENCES [1] G. Holland and N. Vaidya, “Analysis of TCP Performance over Mobile Ad Hoc Networks”, Wireless Networks, Vol.8, Pages: 275-288, 2002. [2] S. Xu and T. Saadawi, “Revealing the problems with 802.11 medium access control protocol in multi-hop wireless ad hoc networks”, Elsevier Computer Networks, Vol.38, Pages: 531-548, 2002. [3] V. Anantharaman, S. Park, K. Sundaresan, et.al., “TCP performance over mobile ad hoc networks: a quantitative study”, Wireless Communications and Mobile Computing, Vol.4, Pages: 203-222, 2004. [4] S. Xu and T. Saadawi, “Does the IEEE 802.11 MAC protocol work well in multihop wireless ad hoc networks?”, IEEE Communication Magazine, Vol.39, Pages: 130-137, 2001. [5] K. Xu, S. Bae, S. Lee and M. Gerla, “TCP behavior across multihop wireless networks and the wired Internet”, Proceedings of WoWMoM’02, Atlanta, GA, Sep. 2002.

[6] X. Chen, H. Zhai, J. Wang and Y. Fang, “A Survey on Improving TCP Performance over Wireless Networks”, Resource Management in Wireless Networking, Kluwer Academic Publishers/Springer, Pages: 657695, 2005. [7] K. Chen, Y. Xue and K. Nahrstedt, “On Setting TCP’s Congestion Window Limit in Mobile Ad Hoc Networks”, Proceedings of ICC’03, Vol.2, Pages: 1080-1084, Alaska, May 2003. [8] K. Chen, Y. Xue, S. Shah and K. Nahrstedt, “Understanding BandwidthDelay Product in Mobile Ad Hoc Networks”, Elsevier Computer Communications, Vol.27, Pages: 923-934, 2004. [9] X. Yu, “Improving TCP Performance over Mobile Ad Hoc Networks by Exploiting Cross-Layer Information Awareness”, Proceedings of ACM Mobicom 2004, Pages: 231-244, 2004. [10] Z. Fu, X. Meng, and S. Lu, “How bad TCP can perform in mobile ad-hoc networks”, Proceedings of IEEE ICNP 2002, Paris, France, 2002. [11] Z. Fu, P. Zerfos, H. Luo, S. Lu, et al, “The impact of multihop wireless channel on TCP performance”, IEEE Trans. Mobile Computing, Vol.4, Pages: 209-221, 2005. [12] K. Nahm, A. Helmy, C. Kuo, “TCP over Multihop 802.11 Networks: Issures and Performance Enhancement”, Proceedings of ACM/IEEE Mobihoc 2005, Pages: 277-287, 2005. [13] R. Oliveria, T. Braun, “A Dynamic Adaptive Acknowledgement Strategy for TCP over Multihop Wireless Networks”, Proceedings of IEEE Infocom 2005, Vol.3, Pages: 1863-1874, Miami, USA, 2005. [14] E. Altman, T. Jimenez, “Novel Delayed ACK Techniques for Improving TCP Performance in Multihop Wireless Networks”, Proceedings of IFIP PWC 2003, Venice, Italy, 2003. [15] K. Sundaresan, V. Anantharaman, H. Hsieh and R. Sivakumar, “ATP: a reliable transport protocol for ad-hoc networks”, Proceedings of ACM MobiHoc 2003, Annapolis, ML, 2003. [16] K. Xu, M. Gerla, L. Qi and Y. Shu, “Enhancing TCP Fairness in Ad

14

[34] J. Mo, J. Kawk and J. Walrand, “Revisiting the Joint Transport and MAC Optimization for Wireless Ad Hoc Networks”, Proceedings of Wiopt 2006, Boston, 2006. [35] K. Kim, P. Lorenz, M. LEE, “A New Tuning Maximum Congestion Window for Improving TCP Performance in MANET”, Proceedings of Systems Communications 2005. [36] K. Fall and K. Varadhan, Eds., “The ns Manual”, available from http://www.isi.edu/nsnam/ns/

1 0.9 0.8

Fairness Index

0.7 0.6 0.5 0.4 0.3 0.2 0.1 0

0

50 LRED

DCC

100 TimeSTD

150 CWL

200 DACK

Fig. 28: Fairness Index Evolution over Time

Hoc Wireless Networks Using Neighborhood RED”, Proceedings of ACM Mobicom 2003, Pages: 16-28, San Diego, USA, 2003. [17] S. Elrakabawy, A. Klemm, C. Lindemann, “TCP with Adaptive Pacing for Multihop Wireless Networks”, Proceedings of ACM/IEEE Mobihoc 2005, Pages: 288-299, 2005. [18] C. Ng, S.C. Liew, “Offered Load control in IEEE 802.11 Multi-hop Adhoc Networks”, Proceedings of IEEE Int. Conf. on Mobile Ad-hoc and Sensor System, Pages: 80-89, Oct 2004. [19] K. Xu, M. Gerla, S. Bae, “How effective is the IEEE 802.11 RTS/CTS Handshake in Ad Hoc Network”, Proceedings of IEEE GLOBECOM’2002, Nov., 2002. [20] Y. Gao, D.M. Chiu, C.S. Lui, “The fundamental role of hop distance in IEEE 802.11 multi-hop ad hoc networks”, Proceedings of IEEE Int. Conf. on Network Protocols, Pages: 1-10, 2005. [21] Y. Gao, D.M. Chiu, C.S. Lui, “Determining the end-to-end throughput capacity in multi-hop networks: methodology and applications”, ACM SIGMetrics/Performance’06, Pages: 39-50, 2006. [22] F.P. Kelly, A.K. Maulloo, D. Tan, “Rate control in communication networks: shadow prices, proportional fairness and stability”, Journal of the Operational Research Society, Vol.49, Pages: 237-252, 1998. [23] S.H. Low, D.E. Lapsley, “Optimization Flow Control, I: Basic Algorithm and Convergence”, IEEE/ACM Transactions on Networking, Vol.7(6), Pages: 861-875, 1999. [24] L. Chen, S.H. Low, J.C. Doyle, “Joint Congestion Control and Media Access Control Design for Ad Hoc Wireless Networks”, Proceedings of IEEE Infocom 2005, Vol3, Pages: 2212-2222, 2005. [25] M. Chiang, “Balancing Transport and Physical Layers in Wireless Multihop Networks: Jointly Optimal Congestion Control and Power Control”, IEEE Journal on Selected Area in Communications, Vol.23, No.1, Pages: 104-116, 2005. [26] J. Mo, J. Walrand, “Fair end-to-end window-based congestion control”, IEEE/ACM Trans. on Networking, Vol.8, No.5, Pages: 556-567, 2000. [27] T. Nandagopal, T.E. Kim, X. Gao and V. Bharghhavan, “Achieving MAC layer fairness in wireless packet networks”, Proceedings of ACM Mobicom 2000, Pages: 87-98, 2000. [28] L. Chen, S.H. Low, M. Chiang, J.C. Doyle, “Cross-layer Congestion Control, Routing and Scheduling Design in Ad Hoc Wireless Networks”, Proceedings of IEEE Infocom 2006. [29] A. Eryilmaz, R. Srikant, “Joint Congestion Control, Routing, and MAC for Stability and Fairness in Wireless Networks”, IEEE Journal on Selected Area in Communications, Vol.24, No.8, Pages: 1514-1524, 2006. [30] S. Kunniyur, R. Srikant, “End-to-end congestion control schemes: utility functions, random losses and ECN marks”, IEEE Transaction on Networking, Vol.11, No.5, Pages: 689-702, 2003. [31] J. Li, C. Blake, D.S.J. Couto and H.I. Lee, “Capacity of Ad Hoc Wireless Network”, Proceedings of ACM Mobicom 2001, Rome, Italy, July 2001. [32] D. Chiu, R. Jain, “Analysis of the increase and decrease algorithm hms for congestion avoidance in computer networks”, Computer Networks and ISDN Systems, Vol.17, Pages: 1-14, 1989. [33] C.E. Kosal, H. Kassab and H. Balakrishnan, “An analysis of shortterm fairness in wireless media access protocols”, Proceedings of ACM Sigmetrics 2000, Pages: 118-119, California, 2000.

APPENDIX A. Proof of Theorem 1 Proof: Based on the flow constrains and Eq.(7), (8) in section III, for γ1 and γ5 , we have φθU x4 + θU x5 φθU x8 + θU x1 γ1 − γ5 = − 1 − ∪xc 1 − ∪xc (1 − φ)(x5 − x1 ) = θU 1 − ∪xc φ(γ5 x5 − γ1 x1 ) +θU (22) 1 − ∪xc θU γ5 x5 − γ1 x1 = (x5 (φx8 + x1 ) − x1 (φx4 + x5 )) 1 − ∪xc θU φ = (x5 x8 − x1 x4 ) (23) 1 − ∪xc If x5 ≥ x1 , Eq.(23) satisfies the following inequalities, θU φ (x5 x8 − x1 x4 ) 1 − ∪xc θU φx1 ≥ (x8 − x4 ) 1 − ∪xc θU φx1 (x5 − x1 ) = 1 − ∪xc θU φx1 − (γ5 x5 − γ1 x1 ) (24) 1 − ∪xc θU φx1 γ5 x5 − γ1 x1 ≥ (x5 − x1 ) (25) 1 − ∪xc + θu φx1 Because θU , φ and ∪xc satisfy 0 ≤ θU , φ, ∪xc ≤ 1, ∪xc + x5 ≤ 1 and ∪xc + x1 ≤ 1, one can easily obtain γ5 x5 − γ1 x1

γ1 − γ5

=

2 2 θU (1 − φ) θU φ x1 + ) 1 − ∪xc (1 − ∪xc )(1 − ∪xc + θu φx1 ) × (x5 − x1 ) ≥ 0. (26)

≥ (

If x5 ≤ x1 , Eq.(23) also satisfies the following inequalities: θU φ γ5 x5 − γ1 x1 = (x5 x8 − x1 x4 ) 1 − ∪xc θU φx5 ≤ (x8 − x4 ) 1 − ∪xc θU φx5 = ((x5 − x1 ) − (γ5 x5 − γ1 x1 )) 1 − ∪xc θU φx5 γ5 x5 − γ1 x1 ≤ (x5 − x1 ). (27) 1 − ∪xc + θU φx5 Submitting Eq.(27) to Eq.(22), we have γ1 − γ5

2 2 θU (1 − φ) θU φ x5 + ) 1 − ∪xc (1 − ∪xc )(1 − ∪xc + θU φx5 ) × (x5 − x1 ) ≤ 0. (28)

≤ (

Therefore, we have (γ1 − γ5 )(x1 − x5 ) ≤ 0 in the cross-chain topology shown in Fig.2(a).

15

B. Proof of Theorem 2 Proof: We take a first-order differential on the Lyapunov function V (r) by t, we have: ∂V (r) ∂t

∂V (r) ∂r · ∂r ∂t S X 0 βpi (αU (ri ) − βpimark )(α − 0 = ) U (ri ) i=1

=

=

S X i=1

0

U (ri )(α −

βpi 2 ) ≥ 0. U 0 (ri )

(29)

Since the first-order derivative of the utility function is positive, the derivative of Lyapunov function V (r(t)) is nonnegative. Therefore the unique equilibrium point r ∗ is a stable point of the congestion control system and the TCP sending rates converge to the equilibrium point.

Suggest Documents