adding network-layer intelligence to mobile … timeout...adding network-layer intelligence to...

9
Adding Network-Layer Intelligence to Mobile Receivers for Solving Spurious TCP Timeout during Vertical Handoff Haijie Huang, Jianfei Cai, Member, IEEE, Abstract With the help of Mobile IP/IPv6 and soft handoff, on-going TCP sessions can remain active and handoff packet loss can be avoided. However, TCP still faces several performance degradation issues due to the disparities in bandwidth and propagation delay between different access networks. Particularly, during vertical handoffs, some undesirable phenomenons may erroneously trigger TCP congestion control actions and thus degrade TCP performance. In this paper, we tackle the spurious timeout problem frequently associated with handovers from fast to slow links. We propose three network-layer schemes: Fast ACK, Slow ACK and ACK Delaying. These schemes require only minor modifications to the network layer of mobile receivers and no change to the TCP protocol and the TCP sender. Simulation results show that these schemes can effectively improve TCP performance during soft vertical handoffs. Index Terms Vertical handoff, soft handoff, spurious TCP timeout, mobile IP, congestion control, wireless overlay networks. I. I NTRODUCTION Current wireless network technologies vary widely in terms of bandwidth, delays, coverage range, power consumption, etc. Some wireless networks provide wide range access but low transmission rate, while others cover a small area with high bandwidth. These different wireless networks can coexist to complement each other and form a heterogeneous wireless environment, commonly known as a wireless overlay network [1]. Within such a wireless overlay environment, it is quite common for a mobile device to be equipped with more than one type of network interfaces so that it can connect to different access networks at different locations and time based on user preferences or predefined policies. This scenario can be further extended to a moving network such as a vehicle, a train, or an airplane, where the moving network can connect to different access infrastructures to provide services to the end nodes within itself [2]. Switching between access networks with different link-layer technologies is known as vertical handoff [1]. Vertical handoff typically involves an IP address change, which causes problems in traditional IP networks. In particular, all on-going TCP sessions will be broken if either of the communication endpoints changes its IP address. This is a severe problem for Internet communications, since TCP is the dominant transport protocol for reliable data transmission. Consequently, Mobile IP/IPv6 [3], [4] was proposed to manage handoff without interrupting upper-layer sessions. With the aid of Mobile IP/IPv6, the scope of service availability is greatly enlarged, which results in better accessibility to mobile users [2]. Mobile IP has become the basic solution to support node mobility and network mobility. In this paper, we focus on node mobility only and network mobility is beyond the scope of the paper. Although Mobile IP can provide an unbroken TCP connection during handoffs, it is not good enough. Many studies [5]–[9] have shown that the change in link characteristics such as bandwidth and propagation delay during vertical handoffs creates performance problems for TCP and TCP-friendly protocols. Some undesirable phenomena such as packet reordering and increased round-trip time (RTT) can unnecessarily trigger TCP congestion-related actions and thus cause TCP performance degradation, as illustrated in the later part of this paper. In order to tackle the problem of transport-layer mobility, many schemes [10]–[13] have been proposed in literature. However, all of them require direct modification to the transport-layer protocol at both the TCP sender and the receiver. This is not convenient for typical wireless Internet applications, as most mobile users act as TCP receivers and the TCP senders are the application servers located in the backbone network. From the mobile users’ point of view, it is unlikely that they will be permitted to modify the servers, but it would be acceptable and easy to have their devices modified. Therefore, in this paper, we are looking for approaches that only need to modify mobile receivers and are able to improve TCP performance during vertical handoff. In particular, we consider two soft vertical handoff scenarios: (a) from slow link to fast link, and (b) from fast link to slow link. We focus on the TCP timeout problem caused by sudden increase of packet RTT. We propose three network-layer schemes, which require only minor modifications to the network layer of mobile receivers, with no change to the TCP sender and transportation layer. Simulation results show that our proposed schemes can effectively reduce the probability of TCP timeout. The remaining of this paper is organized as follows. Section II gives the background information including the concept of handoff and mobility management, and TCP characteristics. Section III states the TCP problems during vertical handoffs and introduces existing solutions. Section IV presents our proposed schemes for solving the TCP timeout problem due to increased round-trip delay, and Section V shows the simulation results. Finally, Section VI concludes the paper. This research is partially supported by Singapore A*STAR SERC Grant (032 101 0006). Contact Author: Jianfei Cai, School of Computer Engineering, Nanyang Technological University, BLK N4, #02a-32 Nanyang Avenue, Singapore 639798. Phone: +65 6790-6150. Fax: +65 6792-6559. Email: [email protected]

Upload: lycong

Post on 11-Jul-2019

222 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Adding Network-Layer Intelligence to Mobile … timeout...Adding Network-Layer Intelligence to Mobile Receivers forSolving Spurious TCP Timeout during Vertical Handoff Haijie Huang,

Adding Network-Layer Intelligence to Mobile Receivers for Solving Spurious TCPTimeout during Vertical Handoff

Haijie Huang, Jianfei Cai,Member, IEEE,

Abstract

With the help of Mobile IP/IPv6 and soft handoff, on-going TCP sessions can remain active and handoff packet loss can beavoided. However, TCP still faces several performance degradation issues due to the disparities in bandwidth and propagationdelay between different access networks. Particularly, during vertical handoffs, some undesirable phenomenons may erroneouslytrigger TCP congestion control actions and thus degrade TCPperformance. In this paper, we tackle the spurious timeout problemfrequently associated with handovers from fast to slow links. We propose three network-layer schemes:Fast ACK, Slow ACK andACK Delaying. These schemes require only minor modifications to the network layer of mobile receivers and no change to theTCP protocol and the TCP sender. Simulation results show that these schemes can effectively improve TCP performance duringsoft vertical handoffs.

Index Terms

Vertical handoff, soft handoff, spurious TCP timeout, mobile IP, congestion control, wireless overlay networks.

I. I NTRODUCTION

Current wireless network technologies vary widely in termsof bandwidth, delays, coverage range, power consumption,etc. Some wireless networks provide wide range access but low transmission rate, while others cover a small area withhigh bandwidth. These different wireless networks can coexist to complement each other and form a heterogeneous wirelessenvironment, commonly known as awireless overlay network [1]. Within such a wireless overlay environment, it is quitecommon for a mobile device to be equipped with more than one type of network interfaces so that it can connect to differentaccess networks at different locations and time based on user preferences or predefined policies. This scenario can be furtherextended to a moving network such as a vehicle, a train, or an airplane, where the moving network can connect to differentaccess infrastructures to provide services to the end nodeswithin itself [2]. Switching between access networks with differentlink-layer technologies is known asvertical handoff [1].

Vertical handoff typically involves an IP address change, which causes problems in traditional IP networks. In particular, allon-going TCP sessions will be broken if either of the communication endpoints changes its IP address. This is a severe problemfor Internet communications, since TCP is the dominant transport protocol for reliable data transmission. Consequently, MobileIP/IPv6 [3], [4] was proposed to manage handoff without interrupting upper-layer sessions. With the aid of Mobile IP/IPv6,the scope of service availability is greatly enlarged, which results in better accessibility to mobile users [2]. Mobile IP hasbecome the basic solution to support node mobility and network mobility. In this paper, we focus on node mobility only andnetwork mobility is beyond the scope of the paper.

Although Mobile IP can provide an unbroken TCP connection during handoffs, it is not good enough. Many studies [5]–[9]have shown that the change in link characteristics such as bandwidth and propagation delay during vertical handoffs createsperformance problems for TCP and TCP-friendly protocols. Some undesirable phenomena such as packet reordering andincreasedround-trip time (RTT) can unnecessarily trigger TCP congestion-related actions and thus cause TCP performancedegradation, as illustrated in the later part of this paper.In order to tackle the problem of transport-layer mobility,manyschemes [10]–[13] have been proposed in literature. However, all of them require direct modification to the transport-layerprotocol at both the TCP sender and the receiver. This is not convenient for typical wireless Internet applications, as mostmobile users act as TCP receivers and the TCP senders are the application servers located in the backbone network. From themobile users’ point of view, it is unlikely that they will be permitted to modify the servers, but it would be acceptable andeasy to have their devices modified.

Therefore, in this paper, we are looking for approaches thatonly need to modify mobile receivers and are able to improveTCP performance during vertical handoff. In particular, weconsider two soft vertical handoff scenarios: (a) from slowlink tofast link, and (b) from fast link to slow link. We focus on the TCP timeout problem caused by sudden increase of packet RTT.We propose three network-layer schemes, which require onlyminor modifications to the network layer of mobile receivers,with no change to the TCP sender and transportation layer. Simulation results show that our proposed schemes can effectivelyreduce the probability of TCP timeout.

The remaining of this paper is organized as follows. SectionII gives the background information including the concept ofhandoff and mobility management, and TCP characteristics.Section III states the TCP problems during vertical handoffs andintroduces existing solutions. Section IV presents our proposed schemes for solving the TCP timeout problem due to increasedround-trip delay, and Section V shows the simulation results. Finally, Section VI concludes the paper.

This research is partially supported by Singapore A*STAR SERC Grant (032 101 0006).Contact Author: Jianfei Cai, School of Computer Engineering, Nanyang Technological University, BLK N4, #02a-32 Nanyang Avenue, Singapore 639798.

Phone: +65 6790-6150. Fax: +65 6792-6559. Email: [email protected]

Page 2: Adding Network-Layer Intelligence to Mobile … timeout...Adding Network-Layer Intelligence to Mobile Receivers forSolving Spurious TCP Timeout during Vertical Handoff Haijie Huang,

1

II. BACKGROUND

A. Handoff in Wireless Overlay Networks

If a mobile node is equipped with only one wireless interface, it may move from one cell to another within the same wirelesssystem. Handoff in this case is calledhorizontal handoff. If a mobile node has more than one type of wireless interface, itmay switch between networks with different access technologies, e.g. from IEEE 802.11b WLAN to GPRS network. Thisis calledvertical handoff. Vertical handoff results in an IP address change, which causes problems in traditional IP systems,especially for connection-oriented protocols such as TCP.In TCP, a connection is uniquely identified by four components:source IP address, source port, destination IP address and destination port. If either of the communicating endpoints changesits IP address, on-going TCP connections will be broken. Herein lies the need for mobility management protocols.

The well-known standardized network-layer protocols for solving the problem of connection mobility areMobile IP [3]and Mobile IPv6 [4] for the legacy IPv4 network and the next generation IPv6 network, respectively. Fig. 1 shows a typicalcommunication scenario in Mobile IP with three major components:mobile node (MN), home agent (HA), and foreign agent(FA). Home and foreign agents operate in the mobile node’s home and foreign networks, respectively. They periodicallybroadcast Mobile IP router advertisements on the wireless networks. In Mobile IP, a mobile node is initially connected toits home network, and uses itshome address to communicate with acorrespondent node (CN). When it moves to a foreignnetwork, it receives router advertisements from the foreign agent. The mobile node then registers with the newly discoveredforeign agent and obtains a new IP address, which is calledcare-of address (CoA). Upon successful registration, the foreignagent establishes an IP-over-IP tunnel with the home agent so that all future packets destined for the mobile node’s homeaddress will be forwarded by the home agent via the IP tunnel (see Fig. 1). The foreign agent decapsulates the tunnelledpackets and sends them to the mobile node.

Internet

FA

CN Foreign Network

Home Network

MN HA

H o m e A d d r e s s

C o A

I P P

a k c e

t

IP Header - Source: CN address - Destination: home address I P o v e r I P T u n n e l

IP Header - Source: HA address - Destination: CoA IP Header - Source: CN address - Destination: Home address

Fig. 1. A typical communication scenario in Mobile IP.

The packet transmission among the correspondent node, the home agent and the foreign agent constitutes atriangular routingpath, which may heavily reduce communication efficiency. Mobile IPv6 eliminates the need for the foreign agent and solvesthe triangular routing problem by allowing the mobile node to sendbinding update (BU) to the correspondent node, so thatthe correspondent node is aware of the mobile node’s CoA and subsequent packets can be transmitted directly to the CoAwithout passing through the home agent. Note that, in MobileIP/IPv6, the mapping and translation between home addressand CoA are performed on the network layer, while upper layers are unaware that the point of attachment to the network hasbeen changed. In this way, on-going network communicationssuch as the established TCP connections can remain active aftervertical handoff. In our study, we assume Mobile IPv6 for both the mobile node and the correspondent node.

Moreover, in order to avoid the packet loss problem in hard handoffs, we only consider soft handoffs for wireless overlaynetworks. Soft handoff refers to the handoff during which a mobile node can communicate with more than one access points.For example, a mobile node is equipped with both IEEE 802.11bWLAN card and GPRS card. When the mobile node isusing the GPRS service, it can still listen to router advertisements from WLAN when it moves into an IEEE 802.11b hotspotarea. Once it discovers a mobile agent in WLAN, the mobile node can initiate a vertical handoff to IEEE 802.11b. Duringthe handoff process, the mobile node can continue to receivepackets from the GPRS network without loss of connectivity.Upon successfully vertical handoff, subsequent packets will be transmitted to the mobile node’s new CoA in the IEEE 802.11bWLAN, and the GPRS card can be safely deactivated. Such a softhandoff can prevent packet loss since the mobile node isalways reachable during and after handoff.

Page 3: Adding Network-Layer Intelligence to Mobile … timeout...Adding Network-Layer Intelligence to Mobile Receivers forSolving Spurious TCP Timeout during Vertical Handoff Haijie Huang,

2

B. Overview of TCP Characteristics

With the help of Mobile IPv6, on-going TCP sessions do not getbroken upon vertical handoff. Particularly, during softhandoff, packet loss due to route changes can be avoided, since the mobile node is reachable from both the new and oldnetworks. However, the change of network characteristics may still have undesirable effects on TCP performance. This sectiongives a brief overview of TCP characteristics.

TCP is a connection-oriented and reliable end-to-end transport protocol. It employs sliding-window based flow controlandcongestion control mechanisms to avoid the network routersand data receivers being overloaded, and at the same time tomake the network links reasonably utilized. In particular,a stream of data is divided into TCP packets and delivered to thereceiver. The receiver must send anacknowledgment (ACK) back to the sender upon receiving each or every second datapacket. When an ACK is received, the sender calculates the RTT of the acknowledged packet, and estimates theretransmissiontimeout (RTO) for future data packets. Normally, TCP updates the value of RTO once per RTT, and RTO has a lower boundof 1 second [14].

The maximum number of packets that a TCP sender can send in a burst before receiving a new ACK is limited by thecongestion window (CWND). The throughput of TCP is highly associated with the size of CWND, since the larger the CWND,the more packets the sender can send per RTT. At the time a TCP session is newly established, the TCP sender enters theslowstart phase, and CWND is set to 1. At the TCP sender side, every successfully received ACK triggers CWND to be increasedby 1. When CWND reaches theslow start threshold (SSThresh), TCP enters thecongestion avoidance phase, where CWNDis increased by 1 only when an entire window of packets have been acknowledged.

The size of CWND will shrink in the following two situations:

• No ACK is received within the period of RTO. In this case, TCP goes back to the slow start phase by reducing CWNDto 1 and reducing SSThresh to half of the previous CWND.

• Duplicate ACKs (DupACKs) are received. When a TCP receiver receives an out-of-sequence packet, it will re-acknowledgethe last received in-order packet. When the number of DupACKs exceeds the thresholdDupThresh, congestion controlactions will be triggered. Different TCP implementations react differently to such an event. For TCP Tahoe, it enters theslow start phase by shrinking CWND to 1. For TCP Reno, it enters a fast recovery phase by halving both CWND andSSThresh, which results in a less throughput reduction.

III. PROBLEM STATEMENT AND RELATED WORK

TCP was developed mainly under stationary network environment. It works well in network communications using fixedcables. However, many studies have shown that some of the TCPcharacteristics are ill suited for wireless and mobilecommunications, where nodes connected to radio access networks may switch from one network to another due to usermovement. In this research, we are particularly interestedin examining the behaviors of TCP during soft vertical handoffs sothat we can isolate the problems of performance degradationdue to the change of network characteristics from those due tohandoff packet loss.

Now, let us consider an end-to-end communication, where thecorrespondent node located in the Internet is the TCP senderand the mobile node is the TCP receiver. Vertical handoff occurs when the mobile node changes from one network to anothertype of network. If the two networks have large bandwidth anddelay disparities, it poses a big challenge for the transportlayer protocol to adapt itself to the new network in a proper and efficient way. In general, TCP behaviors in vertical handoffscan be classified into two scenarios, i.e., from a low-bandwidth high-delay network to a high-bandwidth low-delay network,and vice versa.

The major problem that TCP may encounter during a vertical handoff from a high-delay network to a low-delay network isout-of-sequence packet reception, which will cause multiple DupACKs. When the TCP sender receives a DupThresh (defaultvalue is 3) number of DupACKs, it will reduce its CWND. In the case of handoffs from a low-delay link to a high-delaylink, this packet reordering problem normally does not happen. This is because earlier packets are sent via the fast linkandlater packets are sent via the slow link. Packets usually arrive in order (assuming that there is no packet reordering caused byintermediate network routing).

However, there is another problem that TCP may encounter during a handoff from a fast link to a slow link. In particular,before handoff, TCP has a relatively small RTO value due to short RTTs in the fast link. During handoff, the first packettransmitted via the slow link may be acknowledged way after RTO elapses since the current RTO only reflects the estimatedtimeout in the previous fast link but not in the slow link thatthe mobile node is switching to. As a result of the expiredRTO, TCP will retransmit the packet and enter the slow start phase by reducing CWND to 1. In this case, timeout is notcaused by packet loss, but simply due to late arrival of ACK messages. Such a phenomenon is calledspurious timeout. Thus,entering the slow start phrase is not appropriate since the packet is not lost and the ACK may still be in-flight on the slowlink. Retransmission in this case is a waste of network resource, and resetting CWND is not necessary.

In the literature, many schemes have been proposed to tacklethe problems of transport layer mobility. Some works focuson the out-of-sequence problem. In particular, in [7], the authors analyzed under which situations a handover may falselytrigger the TCP congestion control action. In [6], the authors investigated the behaviors of various TCP versions, including

Page 4: Adding Network-Layer Intelligence to Mobile … timeout...Adding Network-Layer Intelligence to Mobile Receivers forSolving Spurious TCP Timeout during Vertical Handoff Haijie Huang,

3

TCP Tahoe, TCP Reno, TCP NewReno and TCP SACK. Their simulation results evidence that the handoff from a slow linkto a fast link does cause the severe reduction of the TCP CWND.To minimize the impact of packet reordering on TCP, theauthors in [9] proposed to dynamically adjust the value of dupThresh so as to change the degree of TCP tolerance againstreordered packets. Some other works [15]–[17] try to tackleall the problems of TCP performance degradation during handoff.The common idea is to halt data transmission during network handoff. For hard handoffs, stopping the transmission doeseliminates handoff packet loss and thus increases the TCP throughput by preventing downward adjustments of CWND causedby packet loss. However, in soft handoffs, since packet losscan be avoided, freezing data transmission would unnecessarilyreduce TCP performance. In [11], the authors proposed a so-called Eifel algorithm, which particularly focuses on the problemof TCP spurious timeout. The Eifel algorithm requires to include timestamps in the TCP header of every packet in order todetect spurious timeout. Once a spurious timeout is detected, the congestion control state will be restored to what it was priorto the timeout occurrence. Although the Eifel algorithm is simple and effective, it costs extra overhead due to the addition oftimestamps to the TCP header of every packet.

IV. PROPOSEDSOLUTIONS TO SPURIOUSTCP TIMEOUT

All of the previously approaches mentioned so far require modifications of the transport-layer protocols at both the TCPsender and the receiver. As stated in Section I, in many practical situations, it is not feasible to modify the TCP sender.Thus, in this paper, we propose to only modify the network-layer of mobile receivers to solve the spurious timeout problem.Considering the scenario of a soft handoff, our schemes allow TCP packets to be continuously delivered without pausing datatransmission. The proposed network-layer schemes at mobile receivers are completely transparent to TCP, and no modificationof the TCP protocol is required.

In a normal Mobile IPv6 handoff from a fast link to a slow link (with route optimization), packets are acknowledged viathe same link through which the packets were transmitted. That is, fast-link packets are acknowledged via the fast link,andslow-link packets are acknowledged via the slow link. Figure 2 illustrates the sequence of packet transmissions beforeandafter a handoff from Link F (the fast link) to Link S (the slow link), where the correspondent node is the sender and themobile node is the receiver. Before handoff, both data and ACKs are sent via Link F. At timet0, the mobile node performsa vertical handoff to Link S and sends a BU packet to the correspondent node via the new link so that the correspondentnode becomes aware of the new CoA of the mobile node. The correspondent node receives the BU message at timet1 andresponds with abinding acknowledgment (BA). From this time onward, the correspondent node starts sending data to themobile node’s new CoA via Link S. At timet2, the mobile node receives the BA, and hence it starts using the slow link tosend ACKs to the correspondent node. According to such a packet transmission sequence, we can see that the mobile nodetypically acknowledges a data packet via the same link from which the data was received.

B U

B A

t 0

t 1

t 2

M N Link F Link S

SEQ(n)

ACK

SEQ(n+

1)

Fig. 2. Packet Sequence in Normal MIPv6 Vertical Handoff

Under normal handoffs, suppose the sequence number of the last data packet sent via the fast link isk, and the first datapacket to be sent via the slow link isk + 1. Then, the observed RTT of packetk is equal to the sum of the transmission timefor data packetk and its corresponding ACK, i.e.,2Df , whereDf is the averaged one-way delay on the fast link. Similarly,the RTT of the packetk + 1 is equal to2Ds, whereDs is the averaged one-way delay on the slow link. Hence, the differencebetween the two RTTs is:

RTT (k + 1) − RTT (k) = 2(Ds − Df ). (1)

Page 5: Adding Network-Layer Intelligence to Mobile … timeout...Adding Network-Layer Intelligence to Mobile Receivers forSolving Spurious TCP Timeout during Vertical Handoff Haijie Huang,

4

The spurious timeout problem during vertical handoff is caused by the large difference in RTTs of the old fast link andthe new slow link, which the estimated RTO fails to tolerate.To solve this problem, we propose three different network-layerschemes, namely,Fast ACK, Slow ACK and ACK Delaying. The basic idea of these schemes is to shorten the differencesbetween the observed RTTs of the two links during the handoffperiod so that it allows TCP to adapt its RTO to the new linkcondition without causing timeouts. Note that in practice it is possible for the mobile node to estimate the round-trip delay ofthe old link and new link by calculating the time between sending BUs and receiving BAs. Once it detects that the RTT ofthe new link is significantly longer than that of the old link,the network layer can apply one of the following three schemesto avoid spurious TCP timeout.

A. Scheme 1: Fast ACK

In the Fast ACK scheme, we propose to route the ACKs of the firstfew slow-link packets (k + 1, k +2, k + 3 ...) to the oldfast link to reduce the gap between old RTT and new RTT. Under such scheme, the RTT for packetk + 1 becomesDs + Df ,and hence

RTT ′(k + 1) − RTT (k) = Ds − Df . (2)

That is, the gap is halved compared with that in the normal handoff scenario. The reduction of RTT for the first few slow-linkpackets may be able to avoid TCP timeout.

The Fast ACK scheme requires the receiver to continue using the old fast link for a short while after the sender has alreadystarted sending packets on the new slow link. One question arises:considering the time needed for vertical handoffs and thedegrading network conditions of the old link, how can the mobile node still maintain the old connection? First, we argue thatthere exist some scenarios, where the vertical handoff froma fast link to a slow link is triggered by other factors such aspower consumption and usage charge instead of the deterioration of signal strength. For the typical scenario where the receivedsignal strength is deteriorating, it is feasible to maintain the old connection for a longer time through advancing the verticalhandoff, for which estimating the mobility pattern of the mobile node becomes important. Note that losing a few ACKs inthe old fast link due to the signal deterioration might not cause a real problem. This is because the feature ofaccumulativeacknowledgment in TCP. That is, when an ACK is lost, as long as some later ACKs successfully arrive, the TCP sender willassume that the earlier packets are also acknowledged and thus advance its sliding window accordingly.

We would also like to point out that, in the standard Mobile IPv6, after the correspondent node has updated its bindingcache to the new CoA of the mobile node, it can only accept the mobile node’s packets via the new CoA. In order for thecorresponding node to accept the mobile node’s packets fromthe old CoA, some modifications to Mobile IPv6 are required[18].

B. Scheme 2: Slow ACK

The previous scheme reduces the chance of TCP timeout problem by shortening the RTTs of the first few packets transmittedon the new slow link. Our proposed second scheme tries to reduce the gap between old RTT and new RTT by enlarging theRTTs of the last few packets transmitted over the old fast link. This can be achieved by sending the ACKs of the last fewfast-link packets via the new slow link, while it requires the receiver to switch to the new link in advance of the sender. Scheme2 is calledSlow ACK scheme. In particular, the last few fast-link packets acknowledged via the slow link experience a RTTof Df + Ds. If these enlarged RTTs do not exceed the previous RTO, they will help TCP adjust its RTO to effectively adaptto the new network condition.

C. Scheme 3: ACK Delaying

In general, TCP calculates the RTT value upon every receivedACK, and uses the Jacobson’s algorithm [19] to estimate theRTO:

SRTT (k + 1) = (1 − g) × SRTT (k) + g × RTT (k + 1)

SERR(k + 1) = RTT (k + 1) − SRTT (k)

SDEV (k + 1) = (1 − h) × SDEV (k) + h× | SERR(k + 1) |

RTX(k + 1) = SRTT (k + 1) + f × SDEV (k + 1)

RTO(k + 1) = MAX(1, RTX(k + 1)) (3)

whereSRTT, SERR and SDEV are the exponentially smoothed estimates of RTT, error termand deviation, respectively, andg,h and f are tunable parameters. In current TCP implementations,g = 0.125, h = 0.25 andf = 4.

As shown in Eq. (3), the latest RTT sample contributes to SRTTwith a weight ofg. Suppose thatRTT (k) is the last RTTsample on the old link, andRTT (k + 1) to RTT (k + n) are the firstn samples on the new link. Eq. (3) can be extendedrecursively as:

SRTT (k + n) = (1 − g)n · SRTT (k) + g

n∑

i=1

(1 − g)n−iRTT (k + i). (4)

Page 6: Adding Network-Layer Intelligence to Mobile … timeout...Adding Network-Layer Intelligence to Mobile Receivers forSolving Spurious TCP Timeout during Vertical Handoff Haijie Huang,

5

For simplicity, we assumeSRTT (k) = oldRTT, RTT (k + 1) = RTT (k + 2) = · · · = RTT (k + n) = newRTT . Then,Eq. (4) leads to the following,

SRTT (k + n) = (1 − g)n · oldRTT + [1 − (1 − g)n] · newRTT, (5)

which weighs the newRTT asw(n) = 1− (1− g)n. For g = 0.125, w(n) = 1− 0.875n. It can be easily calculated that, whenn is larger than 13, the value ofw(n) is greater than 0.8.

In the above scenario, during handoffs, RTT has a huge increase in a single step while the TCP sender needs to observe atleast 13 samples of the newRTT in order for it to contribute more than 80% to the calculation of SRTT. In the worst case,i.e. omitting the SDEV term in the RTO calculation in Eq. (3),the slow update in SRTT will result in a corresponding slowupdate in RTO and thus cause a spurious timeout.

Of course, we can increase the value ofg in TCP to increase the weight of the newRTT so that the RTO updates fasterduring handoffs. However, in this paper, we look for the solutions without changing the TCP sender. The idea is to graduallyincrease the observed RTT samples so that it allows the SRTT to catch up. When the value of SRTT is close enough tonewRTT, we can then safely say that the estimated RTO is compatible with the new network environment. And only at thattime, we should perform a vertical handoff to the slow link.

In particular, our proposed scheme, calledACK Delaying, gradually increases the RTTs for the last few fast-link packets bywithholding the ACKs for those packets at the IP layer of the mobile receiver and sending them out to the sender after a certaindelay. Unlike the Fast ACK and Slow ACK schemes, in the ACK Delaying scheme, fast-link packets are still acknowledged viathe fast link, and likewise slow-link packets are acknowledged via the slow link, as in a normal handoff. The ACK Delayingscheme simply introduces a delay to the TCP ACKs at the IP layer of the mobile node. This scheme is more flexible than theprevious two schemes, because we can fine tune the delay at theIP layer to be gradually increased and the TCP sender willobserve a smooth transition in RTT during handoff instead ofan abrupt change in RTT as in typical handoffs.

In our scheme, two major issues need to be addressed: (1) How should we delay TCP ACKs? (2) How long should the TCPACKs be delayed? In this paper, we propose to delay the TCP ACKs according to the power-law function with the two mostcommonly used functions, linear and quadratic, as its special cases. For an n-step increment, we have

RTT (k + i) = oldRTT +newRTT − oldRTT

na· ia, (6)

wherea is a constant. Whena = 1, Eq. (6) becomes a linear increment while it becomes a quadratic increment witha = 2.Substituting Eq. (6) into Eq. (4), we obtain

SRTT (k + n) = [1 −g

na

n∑

i=1

(1 − g)n−i · ia] · oldRTT + [g

na

n∑

i=1

(1 − g)n−i · ia] · newRTT. (7)

By defining q(n) = g

na

∑n

i=1(1 − g)n−i · ia, we get q(n) = 1 − 1−g

n·g[1 − (1 − g)n] for a = 1 and q(n) = 1 −

(2−g)(1−g)[(1−g)n

−1]+2g·n(1−g)(g·n)2 for a = 2. Fig. 3 shows the RTTs observed by TCP and how SRTT is updated under our

proposed scheme. It can be seen that the linear increment of RTT reduces the gap between RTT sample and SRTT, and thequadratic increment reduces the gap even further, which greatly reduces the probability of spurious timeouts.

0

100

200

300

400

500

600

700

-5 0 5 10 15 20 25 30 35 40

RT

T/S

RT

T(m

s)

Sample

RTT SampleSmoothed RTT

0

100

200

300

400

500

600

700

-10 0 10 20 30 40 50 60 70

RT

T/S

RT

T(m

s)

Sample

RTT SampleSmoothed RTT

Fig. 3. The change of SRTT with power-law based increment of RTT. Left: linear. Right: quadratic.

As for how long the TCP ACKs should be delayed, we use a simple threshold. Specifically, we choose a threshold of 0.8for the weightq(n) of newRTT in Eq. (7). In other words, the number of stepsn is determined by how long the newRTT cancontribute to more than80% of SRTT. Sinceq(n) is a strictly increasing function, we can easily figure out that the number ofsteps needed for linear and quadratic increments should be larger than 35 and 62, respectively. Note that if a lower thresholdis selected, the adaptation time will be shorter, but the probability of spurious timeouts will be higher.

Page 7: Adding Network-Layer Intelligence to Mobile … timeout...Adding Network-Layer Intelligence to Mobile Receivers forSolving Spurious TCP Timeout during Vertical Handoff Haijie Huang,

6

V. SIMULATION RESULTS

In order to verify the effectiveness of our proposed schemes, we conducted simulations using the ns2 simulator. The simulationsetup is shown in Figure 4. The upper link in Figure 4 is the fast link with a bandwidth of 2 Mbps and 20 ms propagation delay.The bottom link is the slow link with a bandwidth of 800 Kbps and a propagation delay of 600 ms. Exponential backgroundtraffic data is applied to both links to make the simulation dynamic. The mean burst time and the mean idle time of the randomtraffic are both set to 50 ms. The average burst rates of the random traffic on the fast link and the slow link are 500 Kbps and200 Kbps, respectively.

CN (sender)

MN (receiver) 2Mbps, 20ms

800Kbps, 600ms

iface 1

iface 2

Fig. 4. Simulation Setup.

We first test the performance of our proposed Fast ACK scheme.In particular, the TCP session starts on the fast link withdata sent from the correspondent node to the mobile node. In the normal handoff scenario, both the correspondent node andthe mobile node switch to the slow link at the 20th second. In the Fast ACK scheme, the mobile node switches to the slowlink at the 21th second. In other words, in Fast ACK, between the 20th and the 21 second, TCP data is sent via the slow link,but acknowledged via the fast link.

Figure 5 compares the changes of CWND and RTO between the normal handoff and the Fast ACK scheme. We can see that,in the normal handoff, TCP experiences timeout at around the21th second, where CWND is reset to 1 and RTO doubles tothe value of 2. This is due to the late arrived ACK for the first packet transmitted over the slow link. In the Fast ACK scheme,no timeout occurs since the ACK arrived in time via the fast link. Note that before handoff, the value of RTO is determinedby the 1-second lower bound due to short RTTs on the fast link.In the Fast ACK scheme, RTO starts rising before the ACKsfor the first few slow-link packets are received, which avoids timeout. We also notice that RTO rises to a value that is muchhigher than the observed RTTs. This is because the sudden change of propagation delay results in large variance betweenRTT samples. By avoiding unnecessary shrinkage of CWND, theproposed Fast ACK scheme achieves better throughput. Theperformance of the Slow ACK scheme is similar.

0

20

40

60

80

100

0 5 10 15 20 25 30 35 40

CW

ND

Time (sec)

FastACKNormal

1

1.5

2

2.5

3

3.5

0 5 10 15 20 25 30 35 40

RT

O (

sec)

Time (sec)

FastACKNormal

Fig. 5. The comparisons between Normal Handoff and Fast ACK.Left: CWND. Right: RTO.

In the following, we evaluate the effectiveness of our proposed ACK Delaying scheme against the RTT difference since theincrement step size is based on the estimated difference,newRTT − oldRTT . The larger the RTT difference, the more likelythat timeout will occur. In particular, we only consider thelinear and quadratic increment of our proposed ACK Delayingscheme. We run the simulation upon increasing values of average RTT difference. We set the average one-way propagationdelay of the fast link to a fixed value, while the average one-way delay of the slow link is increased by 100 ms at each loop.For each value of the slow link delay, we run the simulation 100 times and record the percentage of timeout occurrences.In each run, the same random background traffic as that in the Fast ACK experiment is applied on both links, and verticalhandoff is triggered at a random time.

Page 8: Adding Network-Layer Intelligence to Mobile … timeout...Adding Network-Layer Intelligence to Mobile Receivers forSolving Spurious TCP Timeout during Vertical Handoff Haijie Huang,

7

Figure 6 shows the results of the timeout percentage under different values of average RTT difference with oldRTT=40ms and oldRTT=900 ms. In the case of oldRTT=40 ms, since the average fast link RTT is small, RTO on the fast link isdetermined by the 1-second lower bound instead of the calculated RTX. For normal handoff, once the slow link RTT exceeds1 second, timeout occurs. The linear increment effectivelyavoids spurious timeout when the average RTT difference is below3 seconds. However, when the difference is larger than 4 seconds, the scheme does not perform well since the step size ofincrement is too large. The quadratic increment performs much better than the linear scheme. It manages to eliminate TCPtimeout in most of the cases. In the case of oldRTT=900 ms, RTOon the fast link is not dominated by the 1-second lowerbound. We can see that both the linear and quadratic schemes can tolerate a higher RTT difference. The quadratic scheme caneven completely avoid spurious timeout when the RTT difference is as high as 10 seconds. This is mainly due to the enlargedaverage RTT of the fast link. With a larger fast link RTT, the ratio of RTT difference against oldRTT becomes smaller. Inother words, when handing over from the fast link to the slow link, the change of RTT becomes less significant and thus theACK Delaying scheme can perform even better.

0

20

40

60

80

100

0 2 4 6 8 10

Per

cent

age

of T

imeo

ut O

ccur

renc

e (%

)

Average RTT Difference (sec)

NormalLinear

Quadratic

0

20

40

60

80

100

0 2 4 6 8 10

Per

cent

age

of T

imeo

ut O

ccur

renc

e (%

)

Average RTT Difference (sec)

NormalLinear

Quadratic

Fig. 6. Percentage of Timeout vs Average RTT Difference. Left: oldRTT=40 ms. Right: oldRTT=900 ms.

We have also simulated other scenarios by changing the statistics of the background traffic. We found that, as long as theaverage RTT difference is the same as that in Fig. 6, the performance of the timeout percentage is more or less the same. Notethat the performance of the timeout percentage for the Fast ACK scheme or the Slow ACK scheme is the same as that for thenormal scheme except that the switching point of the averageRTT difference is doubled. In other words, both the Fast ACKand Slow ACK schemes can tolerate a higher RTT difference than the normal scheme because they halve the RTT difference.In addition, for the transport-layer approach, the Eifel algorithm [11], its performance on the timeout percentage is the sameas the normal scheme since the Eifel algorithm does not aim atreducing the spurious timeout probability. Instead, it targets atidentifying the spurious timeout and quickly recovering the original TCP state. In general, the Eifel algorithm adaptsto thenew slow link faster than our proposed ACK delaying scheme, and thus achieves a better throughput performance during thevertical handoff. However, the Eifel algorithm requires the usage of the 12-byte TCP timestamp option field in every packetand every ACK. Whether its overall throughput is better depends on other factors such as packet size and frequency of verticalhandoffs.

VI. CONCLUSION AND DISCUSSION

In this paper, we studied the TCP behaviors during vertical handoffs. Particularly, we have proposed three schemes, FastACK, Slow ACK and ACK Delaying, to solve the TCP timeout problem. Although the Fast ACK and Slow ACK schemes arequite simple, their performances are very limited. On the contrary, ACK Delaying is a very flexible scheme. We have proposedto delay ACKs according to a power-law function, and to determine the number of delay steps based on a threshold. The ns2simulations demonstrated that the ACK Delaying scheme can effectively eliminate the TCP timeout problem under differentscenarios.

In the ACK Delaying scheme, we assume that the network layer knows the values of oldRTT and newRTT. Actually, thiscan be estimated by sending ICMP echo packets (ping) betweena mobile node and its correspondent node, or by calculatingthe time difference between the BU and the received BA. One may postulate that if the network layer already knows the RTTof the new link, it could directly pass up the information to TCP so that TCP can adjust its RTO accordingly. However, theTCP congestion control is usually performed on the sender, whereas our proposed network-layer schemes are initiated onthemobile node, which acts as a client or a receiver in most cases. When a mobile node acts as a receiver, it does not maintain thehistory records of RTT values at its TCP layer, and thus cannot determine the RTO value. On the other hand, during verticalhandoffs, the network layer of the mobile node knows the change in link characteristics, and the ACK Delaying scheme canbe applied to induce the remote TCP sender to adapt its RTO to match the new network conditions.

Page 9: Adding Network-Layer Intelligence to Mobile … timeout...Adding Network-Layer Intelligence to Mobile Receivers forSolving Spurious TCP Timeout during Vertical Handoff Haijie Huang,

8

We would like to point out that our proposed schemes only partially address the problematic behaviors of TCP duringvertical handoffs. Further investigations are needed to study the performance of our proposed schemes under various packetloss conditions and also to address the packet reordering problem (see Section III) for vertical handoffs from slow to fast links.

ACKNOWLEDGEMENT

The authors would like to thank the editor and the anonymous reviewers for their valuable input, and Dr. Chang Kuiyu forproofreading the manuscript.

REFERENCES

[1] M. Stemm and R. H. Katz, “Vertical Handoff in Wireless Overlay Networks,” Mobile Networks and Applications, vol. 3, no. 4, Jan. 1998.[2] H. Lach, C. Janneteau and A. Petrescu, “Network mobilityin beyond-3G systems,”IEEE Communications Magazine, vol. 41, no. 7, pp. 52-57, July

2003.[3] C. E. Perkins, “RFC 3344: IP Mobility Support for IPv4,”http://www.ietf.org/rfc/rfc3344.txt, Aug. 2002.[4] D. Johnson, C. Perkins and J. Arkko, “RFC 3775: Mobility Support in IPv6,” http://www.ietf.org/rfc/rfc3775.txt, June 2004.[5] R. Chakravorty et al., “On inter-network handover performance using Mobile IPv6,”University of Cambridge Computer Laboratory, Technical Report,

http://www.cl.cam.ac.uk/users/rc277/handovers.pdf, June 2003.[6] W. Hansmann, M. Frank and M. Wolf, “Performance analysisof TCP handover in a wireless/mobile multi-radio environment,” Proc. the 27th Annual

Conference on Local Computer Networks, Nov. 2002.[7] W. Hansmann and M. Frank, “On things to happen during a TCPhandover,”Proc. the 28th Annual Conference on Local Computer Networks, Oct. 2003.[8] A. Gurtov and J. Korhonen, “Effect of vertical handoverson performance of TCP-Friendly Rate Control,”ACM SIGMOBILE Mobile Computing and

Communications Review, vol. 8, no. 3, pp. 73-87, July 2004.[9] E. Blanton and M. Allman, “On making TCP more robust to packet reordering,”ACM Computer Communication Review, vol. 32, no. 1, Jan. 2002.[10] H. Y. Hsieh, K. H. Kim, Y. Zhu and R. Sivakumar, “A receiver-centric transport protocol for mobile hosts with heterogeneous wireless interfaces,”Proc.

ACM MOBICOM’03, Sept. 2003.[11] R. Ludwig and R. H. Katz, “The Eifel algorithm: making TCP robust against spurious retransmissions,”ACM Computer Communication Review, vol. 30,

no. 1, pp. 30-36, Jan. 2000.[12] A. Gurtov and R. Ludwig, “Responding to spurious timeouts in TCP,” Proc. IEEE INFOCOM’03, vol. 3, pp. 2312-2322, April 2003.[13] AA. Kesselman and Y. Mansour, “Optimizing TCP retransmission timeout,”Proc. ICN’05, LNCS 3421, pp. 133-140, 2005.[14] V. Paxson and M. Allman, “RFC 2988: Computing TCP’s Retransmission Timer,”http://www.ietf.org/rfc/rfc2988.txt.[15] T.Goff, J. Moronski, D. S. Phatak and V. Gupta, “Freeze-TCP: A true end-to-end TCP enhancement mechanism for mobileenvironments,”Proc. IEEE

INFOCOM’00, pp. 537-1545, 2000.[16] V. Tsaoussidis and H. Badr, “TCP-Probing: Towards an error control schema with energy and throughput performance gains,” Proc. the 8th IEEE

International Conference on Network Protocols, 2000.[17] S. E. Kim and J. A. Copeland, “TCP for seamless vertical handoff in hybrid mobile data networks,”Proc. GLOBECOM, 2003.[18] H. Petander and E. Perera, “Improved binding management for make before break handoffs in Mobile IPv6,” http://www.join.uni-

muenster.de/Dokumente/drafts/draft-petander-mip6-mbb-00.txt, Oct. 2005.[19] V. Jacobson, “Congestion avoidance and control,”Proc. SIGCOMM’88, 1988.

PLACEPHOTOHERE

Haijie Huang received his B.E. and M.E. degrees in Computer Engineering from Nanyang Technological University, Singaporein 2003 and 2006, respectively. He is currently with HP, Singapore. His research interests include wireless communications andnetworks.

PLACEPHOTOHERE

Jianfei Cai (S’98-M’02) received his PhD degree from University of Missouri-Columbia in 2002. Currently, he is an assistantprofessor with Nanyang Technological University, Singapore. His major research interests include digital media processing, multimediacompression, communications and networking technologies. He has published more than 50 technical papers in internationalconferences and journals. He has been actively participated in program committees of various conferences, and he is themobilemultimedia track co-chair for IEEE ICME 2006, and the technical program co-chair for Multimedia Modeling (MMM) 2007. Heisalso an Associate Editor for IEEE Transactions on Circuits and Systems for Video Technology (T-CSVT).