You are on page 1of 6

Proceedings of the 2010 IEEE Students’ Technology Symposium

3-4 April 2010, IIT Kharagpur

Cross Layer Approach to Enhance TCP Performance


over Wireless Networks
Sathya Priya. S Murugan. K
Ramanujan Computing Centre Ramanujan Computing Centre
Anna University Chennai Anna University Chennai
Chennai, India Chennai, India
Sathyapriya80@gmail.com murugan@annauniv.edu

Abstract— Transmission Control Protocol (TCP), the almost network without acknowledgement. The congestion window
universally used reliable transport protocol in the Internet, has evolution is the key mechanism for TCP congestion control.
been engineered to perform well in wired networks. TCP
throughput, however, degrades over wireless links. Over such In wireless networks, TCP reaction to frequent packet
wireless links, the performance achieved by TCP can be losses severely limits the congestion window and thus
improved through the use of cross-layer algorithms. In this underestimates the capacity of the networks, leading to non-
paper, a novel cross-layer approach (Link Layer CLAMP – optimal performance. To prevent congestion loss, an active
TCP [L2CLAMP-TCP]) is proposed, which avoids TCP queue management is required to avoid buffer overflow and
Acknowledgement (ACK) packet transmission over the also a fair scheduling is necessary to allocate bandwidth.
wireless channel, thereby saving time which can be utilized by The latest trend is having scheduled service at the Base
the nodes for data packet delivery. The ACK instead is Station / Access Point (BS/AP), i.e., the traditional first
generated by the base station. The congestion measure is also come, first served (FCFS) is replaced by a set of queues
calculated at the base station based on which the receiver with a scheduler allocating the capacity between different
advertised window (AWND) is calculated. The performance streams.
improvement of the proposed protocol is observed when
compared with TCP New Reno and TCP New Reno with This paper targets cross-layering as a possible solution,
CLAMP under normal and error-prone environment. presenting a novel cross-layer approach, called Link Layer
Clamp- TCP (L2CLAMP-TCP), where the
Keywords- Advertised Window; Automatic Repeat Request; acknowledgement at the receiver is suppressed and is
Congestion Control; Cross-layering; Performance generated at the base station. The congestion measure is also
Enhancement; calculated at the base station and is attached with the
acknowledgement. The main performance advantages are
I. INTRODUCTION achieved through the optimization of interlayer automatic
TCP is a connection oriented byte stream transport repeat request (ARQ) scheme functionality.
protocol used by many end-user applications. The problem
that arises in the usage of TCP over wireless networks II. RELATED WORK
comes from the fact that wireless links have different
characteristics with respect to wired ones, in terms of less A useful survey of TCP enhancements for wireless
reliability and time-variant behavior, fading / shadowing networks is provided in [5]. Most work on TCP has focused
problems, node mobility, hand-offs limited available on the packet loss issue and its detrimental effects in
bandwidth and large Round Trip Times. (RTT) wireless networks. [6], [7], and the mechanisms at layers 1
and 2 to reduce packet loss rates [8], [9], [10], [11], [12],
The problem of network congestion is considered as the [13]. Layer 4 can also handle retransmissions. [14] TCP
main reason for potential performance degradation. ACK transmission over the wireless link can be avoided
Congestion occurs when the amount of data exceeds the through local generation of ACKs at the sender node or at
available capacity. TCP congestion control is performed on the base station, thus improving throughput. [1] A protocol
an end-to-end basis. The receiver provides an ACK CLAMP was suggested [2] on the receiver side and provides
feedback back to the sender. TCP reliability is obtained a separate queue at the AP. The CLAMP protocol removes
through the utilization of a positive acknowledgement the window fluctuations and achieves much better fairness
scheme which specifies TCP receiver to acknowledge data than TCP New Reno.
successfully received from the sender. Relying on the
information provided by ACKs, the sender can detect which III. TCP NEW RENO AND CLAMP
packets are lost during transmission.
TCP New Reno is a variant of TCP-Reno. It is able to
The congestion control algorithm employed by TCP is detect multiple packet losses and thus is more efficient than
window-based. Congestion window (cwnd) controls the Reno in the event of multiple packet losses. New-Reno
amount of data the sender is allowed to output to the enters into fast-retransmit when it receives multiple
duplicate packets, but it differs from Reno in that it doesn’t

TE01136 978-1-4244-5974-2/10/$26.00 © 2010 IEEE 171


Proceedings of the 2010 IEEE Students’ Technology Symposium
3-4 April 2010, IIT Kharagpur

exit fast-recovery until all the data which was out standing The proposed scheme enhances the protocol stacks of
at the time it entered fast recovery is acknowledged. Thus it the wireless sender (or a base station /Access Point) and the
overcomes the problem faced by Reno of reducing the receiver with Link Layer -CLAMP (L2CLAMP) agents
CWND multiple times. which support ACK suppression.
CLAMP is an algorithm that controls the receiver TCP LAYER
AWND based on feedback from the AP. This algorithm SENDER RECEIVER
runs at the mobile device (the receiver) and ACKs are sent
back to the sender containing the new values of AWND as TCP
TCP ACK
TCP
Data
calculated by CLAMP. Since all versions of TCP interpret S
Y
(AWND)
ACK

the AWND as an upper limit on the allowable window size, N

which is a mechanism to avoid an overflow of the receiver SYN-ACK

buffer, this provides an effective method of control provided


that the AWND value is smaller than the CWND value
calculated by the sender. L2CLAMP Agent

Cross
IV. CROSS LAYER DESIGN Layer
Interface L2CLAMP
The concept of cross-layer design is about sharing of Client
information among different protocol layers for adaptation LINK LAYER
LINK LAYER
purposes and to increase the interlayer interactions. In
wireless networks there is tight interdependence between SYN
TCP
LL -
TCP
Rx
layers. Cross-layer design can help to exploit the Tx Data Rx
ACK SYN
Tx ⌧ ACK

interactions between layers and promotes adaptability at


various layers based on information exchanged. However,
Figure 2 Architecture of the Proposed System
such a design process needs to be carefully coordinated to
avoid unintentional and undesirable consequences The L2CLAMP agent, in figure 2, suppresses the
outgoing L2CLAMP -TCP ACKs at the receiver side and
Cross layer design allow interactions between various generates them locally at the sender or base station. The
protocols of non-adjacent layers through introduction of basic idea behind approach is to shift TCP ACK generation
new interfaces and keep the impact of design violations as point from mobile receiver to the base station. L2CLAMP -
small as possible. They violate the traditional layer TCP requires implementation of a software module, called
architecture by creation of new interfaces, merging of L2CLAMP agent, inside BS / AP protocol stack above the
adjacent layers and sharing of variables and parameters link layer. The L2CLAMP agent sniffs the ingress traffic
among multiple layers. from the fixed network assuming to have access to the
network and transport layer headers. Whenever a TCP data
V. THE PROPOSED PROTOCOL (L2CLAMP-TCP) packet is detected, the L2CLAMP Agent in the BS / AP,
performs service rate, congestion measurement, received
A. L2CLAMP Architecture rate and calculates the AWND value, stores flow-related
The scenario consists of four sources (S1, S2, S3 and S4) information such as flow sequence number carried by the
and three mobile receivers (MN1, MN2 and MN3). There packet, port numbers, ACK flag and ACK sequence
are flows F1, F2, F3 and F4 that flow respectively between number, along with the AWND value. L2CLAMP agent
calculates the desired size of the AWND window based on
the sources and the mobile receivers.
the values of congestion measure, received rate and RTT.
To calculate congestion measure, a separate Sync packet is
sent from the base station to the receiver and the
acknowledgement for the Sync is received back by the
sender, based on which the transmission time for each
packet is calculated. This is done before actual TCP packet
transmission. The parameters used for calculation of
congestion measure is b, q,α, μc
p (q) = (bq - α ) / μc (1)
where b = 1 for safer purpose. τ is the parameter (fixed
size in bytes) used to calculate the value of AWND and α is
used to calculate the congestion price signal. Similarly α is
free to be chosen by the AP, but is fixed once chosen.
Figure.1 Infrastructure WLAN Model. On the receiver side, module referred as L2CLAMP
client in figure 2. silently drops all standalone non-duplicate

TE01136 172
Proceedings of the 2010 IEEE Students’ Technology Symposium
3-4 April 2010, IIT Kharagpur

TCP ACK packets. The generated TCP ACK packet is then Add the information to the Stored ACK Buffer.
forwarded to the sender. The AP maintains a separate queue
for each receiver and acts as a router, routing the packets to Forward the TCP Data Packet for Transmission
the destined MN based on the address of the mobile. The Wait for Link Layer Acknowledgement
TCP flows destined for the respective MN are put into the
same queue. if (LL-ACK received==yes) then
In the scenario taken, a separate queue is maintained for Pop the generated ACK from the buffer
flows F1, F2 and F3 as they are destined to different mobile and transmit to the sender
nodes MN1, MN2 and MN3 respectively. A scheduler
incorporated in the access point takes care of scheduling the else
flows. The scheduler is based on the principle of multi-user
Drop the ACK generated stored in the buffer
diversity. At each slot, a new scheduling decision is made,
and the general preference is for scheduling a mobile that is end if
in a good channel state. At each slot, the scheduler picks the
queue i with the largest utility that has data to send in this else
slot. The utility Ui is calculated as Forward the packet to the wireless node.
Ui = μi / ri (2) end if
μi is the current rate for the mobile- i at the beginning of
the slot and ri is the exponential moving average of the rate where
obtained by mobile i with an averaging time constant of 100 q – current value of moving average
ms. tk – time instant of kth packet when received by MN
Δw (tk) – Change in window size
B. Algorithm α, β - smoothing factors
AWND (tk) – Actual Window size
d* - RTT of the flow in seconds (propagation
Receive New Data Packet from Network delay+queuing delay)
If (Data Packet == TCP) then μc – Service rate of a queue
d – propagation delay
Generate a TCP Acknowledgement with the respective q(t) = τ / b (amount of flow in bytes)
fields.
TCP Sender Node (Base Station) TCP Receiver node
Store it in the buffer.
Calculate the Congestion measure. L2CLAMP L2CLAMP
TCP MAC MAC TCP
Agent Client
ps(q)= max((q-a)/µc , 0) (3)
Calculate the AWND window size
k

∑αS i
SYN

μ *( tk ) = i =k =
(4)
(tk − tk −1 ) SYN-ACK

r − p (q (t k )) μ ∗ (tk )) TCP Data


Δw(tk ) = (tk − tk −1 ) (5) TCP Data

d ∗ (tk ) DATA (TCP)

TCP
if (Δw (tk) < 0) or (3 Duplicate ACK’s) DATA

Stop Slow start ACK

Set w (tk +1) = w (tk) / 2 PACKET


Delivered
TCP ACK
(Original)
TCP
endif ACK
TCP ACK Original
Dropped by
L2CLAMP Client

AWND (tk) ≅ min (w (tk), AWND) (6)


Figure 3. Sequence of Process for Packet Delivery

TE01136 173
Proceedings of the 2010 IEEE Students’ Technology Symposium
3-4 April 2010, IIT Kharagpur

VI. PERFORMANCE EVALUATION It can be inferred from figure 4 that the throughput of
To observe how TCP performance is influenced by our CLAMP is approximately four times higher than that of
L2CLAMP, it is compared with existing TCP New Reno and New Reno and that of the proposed is nearly eight times
TCP New Reno with CLAMP. The simulation is carried higher than that of CLAMP. The throughput of L2CLAMP
with Network Simulator (NS-2). The simulation parameters increases as the size of the packet increases.
are shown in Table 1.
B. Analysis with Error Model
The simulation is carried out considering the various
Wireless environment are always error-prone and hence
simulation parameters- packet size, error rate and simulation
simulation has to be carried out by introducing error. The
time.
error rate is introduced using an error model. The
throughputs are compared by varying the packet size
TABLE I. SIMULATION PARAMETERS between 250 and 1000 bytes and the error rate is kept
constant as 0.25. The throughputs are also compared by
Queue Delay 10 ms varying the error rate between 0.05 and 0.25.
Packet Size 250- 1000 bytes
Simulation Time 50 – 200 s It is observed that the throughput of L2CLAMP is better
Error Rate 0.05 – 0.25 than that of CLAMP and New Reno even in error-prone
Propagation Delay 20 ms environment. As the error rate increases the throughputs of
Bandwidth (wired) 0.5 Mbytes/s all three protocols decrease.
Wired Nodes 4 0.6
CLAMP-PER LLCLAMP-PER

Mobile Receivers 3 CLAMP LLCLAMP

0.5

A. Throughput Analysis by Varying Packet Size 0.4


Throughput (Mbps)

Figure 4 shows that the packet size is varied between


250 and 1000 bytes with a queue delay of 10ms and a
0.3

simulation time of 200s. 0.2

0.6
CLAMP LLCLAMP
New-Reno 0.1

0.5

0
250 500 750 1000
0.4
Packet Size (Bytes)
Throughput (mbps)

(a)
0.3

0.6

CLAMP LLCLAMP
0.2

0.5

0.1

0.4
Throughput (Mbps)

0
250 500 750 1000
Packet Size (bytes)
0.3

(a)
0.2 0.2

0.18

0.1
0.16

0.14
0
Throughput (Mbps)

0.12 0.05 0.1 0.15 0.2 0.25


Packet Error Rate (PER)

0.1
(b)
0.08

0.06
Figure 5. (a) Packet size (bytes) with respect to Throughput (Mbps) (with
error) (b) Packet error rate with respect to Throughput (Mbps)
0.04
CLAMP-Flow1 CLAMP-Flow2

0.02
CLAMP-Flow3
LLCLAMP-Flow2
LLCLAMP-Flow1
LLCLAMP-Flow3
C. Analysis with Varying Simulation Time
0
250 500 750 1000
Figure. 6 shows that the simulation time is varied
Packet Size (Bytes) between 50 and 200 secs with a packet size of 1000 bytes
and a queue delay of 10ms.
(b)
Figure 4. Packet size (bytes) with respect to (a) Throughput (Mbps)
(b) Throughput per flow (Mbps)

TE01136 174
Proceedings of the 2010 IEEE Students’ Technology Symposium
3-4 April 2010, IIT Kharagpur

0.6
VII. CONCLUSION AND FUTURE WORK
CLAMP LLCLAMP New Reno
This paper presented a novel yet generic approach for
0.5
performance enhancement of TCP over wireless networks.
Performance improvement comes from cross-layer
0.4 optimization. The proposed solution, L2CLAMP, avoids
Throughput (Mbps)

TCP ACK transmission over the wireless link through local


0.3
generation of ACKs at the sender node or at the base station.
The congestion measure is also calculated at the base station
based on which the receiver advertised window is
0.2
calculated. The protocol performance is compared with
existing TCP New Reno and TCP New Reno with CLAMP.
0.1 The performances of the protocols are compared in error-
free as well as the error-prone environment.
0
50 100 150 200
A flexible on/off switch to operate the modules
Time (s)
depending upon the operating capacity of the AP can be
(a) provided. The simulations can also be extended for more
number of mobile nodes.
CLAMP LLCLAMP
50

REFERENCES
40 [1] Dzmitry Kliazovich, Fabrizio Granelli and Mario Gerla,
‘Performance improvement in wireless networks using cross-layer
ARQ’, Computer Networks 51, pp. 4396- 4411, April 2008.
Queue (kBytes)

30 [2] Lachlan L.H. Andrew, Stephen V. Hanly,Rami G. Mukhtar “Active


Queue Management for Fair Resource Allocation in Wireless
Networks”, IEEE transactions on MOBILE COMPUTING, vol. 7, no.
20
2, pp. 231-246, February 2008
[3] L.L.H. Andrew, S.V. Hanly, and R.G. Mukhtar, “CLAMP:
Maximizing the Performance of TCP over Low Bandwidth Variable
10
Rate Access Links,” technical report, Univ. of Melbourne, 2004.
[4] NS-2 simulator tool home page, Available from:
0
http://www.isi.edu /nsnam/ns
[5] Xiang Chen, et.al,”A Survey on Improving TCP Performance over
11.
17.
23.
29.
35.
41.
47.
53.
59.
65.
71.
77.
83.
89.
95.
0
5.9

101
107
113
119
125
131
137
143
149
155
161
167
173
179
185
191
197

Time (s) Wireless Networks", Network Theory and Applications, Vol.16, July
2006.
(b) [6] T. Lakshman and U. Madhow, “The Performance of TCP/IP for
Networks with High Bandwidth-Delay Products and Random Loss,”
45 CLAMP IEEE/ACM Trans. Networking, vol. 5, pp. 336-350, June 1997.
LLCLAMP
[7] T.V. Lakshman, U. Madhow, and B. Suter, “TCP/IP Performance
40
with Random Loss and Bidirectional Congestion,” IEEE/ACM Trans.
35 Networking, vol. 8, pp. 541-555, Oct. 2000.
[8] H. Balakrishnan, V.N. Padmanabhan, S. Seshan, and R.H. Katz, “A
30
Comparison of Mechanisms for Improving TCP Performance over
Window (kBytes)

25
Wireless Links,” IEEE/ACM Trans. Networking, pp. 756-769, 1997.
[9] H.M. Chaskar, T. Lakshman, and U. Madhow, “TCP over Wireless
20 with Link Level Error Control: Analysis and Design Methodology,”
IEEE/ACM Trans. Networking, vol. 7, pp. 605-615, Oct. 1999.
15
[10] D.A. Eckhardt and P. Steenkiste, “Improving Wireless LAN
10 Performance via Adaptive Local Error Control,” Proc. 11th IEEE
Int’l Conf. Network Protocols (ICNP ’03), pp. 327-338, Mar. 2003.
5
[11] R. Ludwig, A. Konrad, A. Joseph, and R. Katz, “Optimizing the
0
End-to-End Performance of Reliable Flows over Wireless Links,”
Kluwer/ACM Wireless Networks J., vol. 8, pp. 289-299, Mar.-May
1.99
11
17.1
22.3
27.3
32.7
37.1
42.3
47.6
52.4
57.7
66.2
72.6
81.6
87.3
90.5
95.2
103
110
122
128
133
138
147
153
156
161
168
175
181
184
189
196

Time (s) 2002.


[12] M. Meyer, “TCP Performance over GPRS,” Proc. IEEE Wireless
(c) Comm. and Networking Conf. (WCNC ’03), pp. 1248-1252, Mar.
Figure 6. Simulation time (secs) with respect to (a) Throughput (Mbps) 2003.
(b) Queue (Kbytes) (c) Congestion window (Kbytes) [13] H.-K. Shiu, Y.-H. Chang, T.-C. Hou, and C.-S. Wu, “Performance
Analysis of TCP over Wireless Link with Dedicated Buffers and Link
From figure 6, it can be observed that there is a linear Level Error Control,” Proc. IEEE Int’l Conf. Comm. (ICC ’01), pp.
3211-3216, 2001.
variation of throughput with simulation time. The [14] K. Ratnam and I. Matta, “WTCP: An Efficient Mechanism for
throughput of the proposed protocol is higher when Improving TCP Performance over Wireless Links,’’ Proc. Third
compared to that of CLAMP and New Reno. IEEE Symp. Computers and Comm. (ISCC ’98), pp. 74-78, June
1998.

TE01136 175
Proceedings of the 2010 IEEE Students’ Technology Symposium
3-4 April 2010, IIT Kharagpur

TE01136 176

You might also like