IETF TSVWG Working Group Internet Draft Killyeon Kim Youngjun Park Kyungjoo Suh Yongseok Park Document: draft-kim-tsvwg-butrigger-00.txt Samsung Electronics Expires: August 2004 February 2004 The BU-trigger method for improving TCP performance over Mobile IPv6 Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. Abstract In Mobile IPv6 environment, TCP connections between MN (mobile node) and CN (correspondent node) suffer a significant degradation in performance in the form of poor throughput and very high interactive delays during handoff. This note describes an optional modification of TCP's congestion control mechanism for performance enhancement by using Binding Update messages to invoke TCP's congestion control processing. This modification is applied to TCP of CN side, and no additional processing requirement is added to MN to save MN's power. Kim, et al Expires - August 2004 [Page 1] BU-trigger over MIPv6 February 2004 Conventions used in this document The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC-2119. Table of Contents 1. Introduction...................................................2 2. Overview of BU-trigger Mechanism...............................3 3. Operation of BU-trigger Mechanism..............................4 3.1. Mobile IPv6 Extension for BU-trigger Mechanism............4 3.2. TCP Extension for BU-trigger Mechanism...........5 4. Interoperability with Mobile IPv6/TCP..........................5 References........................................................6 Author's Addresses................................................6 1. Introduction Most of Internet services such as E-mail, ftp, and WWW employ TCP (Transmission Control Protocol) as their transport protocol. It is known that TCP is a reliable transport protocol tuned to perform well in traditional networks made up of wired links and stationary hosts. With the development of the wireless communication and Internet services, wireless networking is facing a rapidly growing need for efficient communication mechanisms that functionally integrate wireless and wired Internet components across their varying and distinctive transmission characteristics. Compared to wired networks, a wireless link has much less bandwidth. In addition, a wireless link has higher bit error rate due to its vulnerability to interference and disconnection. Therefore packet loss in wireless networks happens frequently and the response will take longer. In such environment, TCP suffers a significant degradation in performance in the form of poor throughput and very high interactive delays. This behavior arises due to the fact that errors and handoffs Kim, et al Expires - August 2004 [Page 2] BU-trigger over MIPv6 February 2004 on the wireless links are incorrectly interpreted as congestion by TCP at the sender. This note proposes a mechanism called BU-trigger to recover the end- to-end performance of TCP that is degraded during handoffs. The BU- trigger mechanism aims to extend the functions of TCP and Mobile IPv6 protocols in CN side to improve the performance of TCP. The BU-trigger mechanism is motivated by the followings: (1) It increases the end-to-end performance of TCP without modification of TCP/Mobile IPv6 protocols in MN side. (2) It is interoperable with the original TCP/Mobile IPv6 protocol. (3) No additional processing power consumption is added to MN side. 2. Overview of BU-trigger Mechanism The BU-trigger mechanism is aimed to improve the end-to-end performance of TCP in Mobile IPv6 environment. This method uses the Binding Update messages which are sent from MN to CN to trigger TCP's operation in CN side in order to recover performance degradation during handoffs. The BU-trigger method is aimed to recover cwnd (congestion window size) of TCP connections which has been reduced to 1 because of timeout in CN side to improve the performance of TCP [APS99]. The BU- trigger extends Mobile IPv6 and TCP in CN side to achieve the performance enhancement goal. In Mobile IPv6 layer, MN will send Binding Update messages to CN to tell the new care-of-address when MN moves to another domain. The valid binding update message received by CN means handoff is over and CN can send packets to the MN. But because handoff latency is longer than TCP's RTO (Retransmission Timeout) in most of handoffs, the cwnd has been reduced. The key point of BU-trigger mechanism is summarized as follows: (1) Extension of Mobile IPv6 to generate BU-trigger signal to TCP layer. (2) Extension of TCP to remember the current congestion window size (cwnd) and slow start threshold size (ssthresh) when timeout occurs. (3) Extension of TCP to recover the cwnd and ssthresh to the backup values when TCP gets BU-trigger signal. Kim, et al Expires - August 2004 [Page 3] BU-trigger over MIPv6 February 2004 3. Operation of BU-trigger Mechanism The BU-trigger mechanism is aimed to extend mobile IPv6 [Joh02] and TCP [Pos81] functions in CN side. Figure 1 shows the protocol stack of CN. The arrows in Figure 1 stand for BU-trigger signal sent from Mobile IPv6 to TCP layer when CN gets valid Binding Update messages. +---------------------+ | Application | +---------------------+ | TCP | | ^ ^ ^ | +-------+--+--+-------+ | | | | | | Mobile IPv6 | + - - - - - - - - - - + | IPv6 | +---------------------+ | MAC | +---------------------+ | PHY | +---------------------+ Figure 1 CN Protocol Stack The operations of BU-trigger mechanism can be divided into Mobile IPv6 part and TCP part. The extension functions of these parts will be explained in the following sections. 3.1. Mobile IPv6 Extension for BU-trigger Mechanism In Mobile IPv6 layer of CN side, the CN will perform some validation checks before accepting a Binding Update. When CN accepts a valid Binding Update, it will perform some extension functions needed by the BU-trigger mechanism. The operation of BU-trigger mechanism in Mobile IPv6 is as follows. (1) Validate the Binding Update (2) In the case of valid Binding Update, CN makes BU-trigger signal according to the information in Binding Update. (3) Invoke operation of TCP layer by sending BU-trigger signal to TCP. Kim, et al Expires - August 2004 [Page 4] BU-trigger over MIPv6 February 2004 The trigger signal sent from MIPv6 to TCP layer should include MN's home address because TCP layer needs to know which TCP connections are related to the MN that sends Binding Update. TCP just need to deal with the connections related to the current MN. The method for delivering BU-trigger signal to TCP layer depends on implementation. It can be delivered to TCP using IPC(Inter Process Call) method, or it can be included in local delivery TCP packet. The detailed description of BU-trigger signal contents and delivery methods is out of the scope of this document. 3.2. TCP Extension for BU-trigger Mechanism In order to recover TCP performance, we need to recover the congestion window size(cwnd) and slow start threshold size(ssthresh) to the values when retransmission timer is timeout because of handoff. The BU-trigger mechanism adds previous cwnd (pcwnd) and previous ssthresh (pssthresh) fields to the TCP transmission control block to store previous cwnd and previous ssthresh. Moreover, every time the RTO expires, the TCP will copy the current cwnd and ssthresh to pcwnd and pssthresh. The overall operation flow of BU-trigger mechanism in TCP layer is as follows. (1) When BU-trigger signal arrived, get the home IP address of the MN. (2) Check TCP's transmission control block entry by entry, if the destination address of the entry is equal to MN's home IP address, apply the following procedures: (a) Recover the cwnd and ssthresh to pcwnd and pssthresh. (b) Reset the RTO. (c) Send the packets in sent_buffer. Then, TCP in CN side will send packets with the rate before the handoff occurs and the end-to-end performance of TCP will be recovered quickly. 4. Interoperability with Mobile IPv6/TCP The BU-trigger mechanism can be applied to Mobile IPv6 and TCP protocol in CN side. The extension functions of Mobile IPv6 and TCP due to BU-trigger mechanism have no effect to the TCP and Mobile IPv6 behavior in normal nodes. In other words, the CN applied BU- trigger mechanism will be interoperable well with hosts without BU- trigger functions. Kim, et al Expires - August 2004 [Page 5] BU-trigger over MIPv6 February 2004 References [APS99] M. Allman, V. Paxson, and W. Stevens. TCP Congestion Control. RFC 2581, April 1999 [Pos81] J. Postel. Transmission Control Protocol. RFC 793, September 1981 [Joh02] D. Johnson, C. Perkins, and J. Arkko. "Mobility Support in IPv6", draft-ietf-mobileip-ipv6-24.txt (work in progress) Author's Addresses Questions about this memo can be directed to: Killyeon Kim Samsung Electronics Co., Ltd. Dong Suwon P.O.BOX 105 416 Maetan-3Dong, Youngtong-Gu, Suwon-City, Gyeonggi-Do, Korea, 442-600 Email: kimkl@samsung.com Youngjun Park Global Standards and Strategy team Telecommunication R & D Center Samsung Electronics Co., LTD. Dong Suwon P.O. BOX 105, 416, Maetan-3dong, Youngtong-gu, Suwon-city, Gyeonggi-do, 442-600 Korea Phone: +82-31-279-5979 Email: youngjun74.park@samsung.com Fax: +82-31-279-5130 Kyungjoo Suh (Joo Suh) Global Standards and Strategy team Telecommunication R & D Center Samsung Electronics Co., LTD. Dong Suwon P.O. BOX 105, 416, Maetan-3dong, Youngtong-gu, Suwon-city, Gyeonggi-do, 442-600 Korea Phone: +82-31-279-5123 Email: joo.suh@samsung.com Fax: +82-31-279-5130 Yongseok Park Samsung Electronics Co., Ltd. Dong Suwon P.O.BOX 105 416 Maetan-3Dong, Youngtong-Gu, Suwon-City, Gyeonggi-Do, Korea, 442-600 Email: yougseok.park@samsung.com Kim, et al Expires - August 2004 [Page 6]