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]