Internet Engineering Task Force                               Hamid Syed
Internet Draft                                              Gary Kenward
draft-ietf-seamoby-ct-reqs-01.txt                        Nortel Networks
Expires: March 2001                                          Pat Calhoun
                                                    Black Storm Networks
                                                         Madjid Nakhjiri
                                                                Motorola
                                                           Rajeev Koodli
                                                                   Nokia
                                                         Kulwinder Atwal
                                                        Zucotto Wireless
                                                              Mark Smith
                                                        COM DEV Wireless
                                                    Govind Krishnamurthi
                                                                   Nokia

                                                         September, 2001

           General Requirements for Context Transfer


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.

Copyright Notice

   Copyright (C) The Internet Society (2001). All Rights Reserved.


Abstract

   The success of time sensitive services like VoIP telephony, video,
   etc., in a mobile environment depends heavily on the ability to
   minimize the impact of the traffic redirection during a change of
   packet forwarding path. In the process of establishing the new
   forwarding path, the nodes along the new path must be prepared to
   provide similar forwarding treatment to the IP packets. The transfer
   of context information may be advantageous in minimizing the impact
   of host mobility on IP services. This document captures the set of
   requirements for a context transfer solution and the requirements
   for a generic context transfer protocol to carry the context between
   the context transfer peers.


1  Introduction

   There are a large number of IP access networks that support mobile
   hosts. For example, wireless Personal Area Networks (PANs), wireless
   LANs, satellite WANs and cellular WANs. The nature of this mobility
   is such that the communication path to the host may change frequently
   and rapidly.

   In networks where the hosts are mobile, the forwarding path through
   the access network must often be redirected in order to deliver the
   host's IP traffic to the new point of access. The success of time
   sensitive services like VoIP telephony, video, etc., in a mobile
   environment depends heavily upon the ability to minimize the impact
   of this traffic redirection. In the process of establishing the new
   forwarding path, the nodes along the new path must be prepared to
   provide similar forwarding treatment to the IP packets.

   The information required to support a specific forwarding treatment
   provided to an IP flow is part of the context for that flow. To
   minimize the impact of a path change on an IP flow, the context must
   be replicated from the forwarding nodes along the existing path to
   the forwarding nodes along the new path. The transfer of context
   information may be advantageous in minimizing the impact of host
   mobility on, for example, AAA, header compression, QoS, Policy, and
   possibly sub-IP protocols and services such as PPP.

   An analysis of the context transfer problem is captured in [2]. This
   document captures the requirements for a context transfer solution
   and the requirements for a generic context transfer protocol to
   carry the context between the context transfer peers.


2  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 [1].


3  Terminology

   Most of the terms used in this document are defined in [2].

   Access Router (AR)
      An IP router residing in an Access Network and connected to one or
      more points of access. An AR offers connectivity to MNs.


4  General Requirements

   This section addresses the facilities and services required in the access
   network to properly support context transfer.  The context transfer
   solution will have to assume certain characteristics of the access network
   and the mobility solution, and the availability of certain triggering events,
   transport options, and so forth. These support capabilities are not
   necessarily part of context transfer, per se, but are needed for context
   transfer to operate as defined and effect the expected enhancements to MN
   traffic handover. For convenience, this collection of support capabilities
   are referred to as the "context transfer solution".

4.1 The context transfer solution MUST define the characteristics of the IP
    level trigger mechanisms that initiate the transfer of context.

4.2 The IP level context transfer triggers MAY be initiated by a link level
    (layer two) event.

4.3 The IP level trigger mechanisms for context transfer MUST hide the
    specifics of any layer 2 trigger mechanisms.

   Handover at the IP level is a consequence of a change in the physical
   path used to communicate between the MN and the access network. The
   mechanisms utilized to change the communications path at layer 2 are
   specific to the physical characteristics of the medium, and often
   specific to the layer 2 transmission technology being used (e.g. TIA
   IS 2000, ETSI UMTS R4, IEEE 802.11).

   In order for any action to be taken at the IP level to maintain IP
   sessions during a layer 2 path change, some indication of the path
   change must be made available to the IP level. One example of an
   indicator would be the trigger event that initiates context transfer.

   Since it is expected that IP handover, and thus context transfer will
   work irrespective of the layer 2 technology, the IP level solutions
   must not utilize specific layer 2 information. The conditions and
   events that caused the generation of an IP level trigger must be
   opaque to the IP level. This implies that there are general
   characteristics of an IP level trigger that need to be defined so
   that the triggers generated by different layer 2 solutions will have
   identical semantics at the IP level.

4.4 The IP level context transfer triggers MAY be initiated by IP level
    (layer three) signalling.

4.5 Any IP level signalling for Context Transfer MUST be separated from
    the actual transfer of context.

4.6 The context transfer solution SHOULD support one-to-many context
    transfer.

   An MN may have connectivity to the access network through more than
   one physical path at any given time, depending upon the
   characteristics of the physical medium, and the layer 1 and 2
   protocols and services.

   The different physical paths may connect into the network via
   different ARs. In this scenario, two or more ARs may be candidates
   for handover of the MN's traffic and each will require the
   appropriate IP context when forwarding commences. Exactly which AR
   will be the target of the handover is often not known until the
   handover is initiated, and providing the necessary context to all the
   candidate ARs can only accelerate the handover process.

   A one-to-many context transfer may be achieved using either a series
   of point-to-point transfers, or a point-to-multipoint (multicast)
   transfer.

4.7 The context transfer solution MUST support context transfer before,
    during and after handover.


4.8 The context transfer solution MUST support a distributed approach in
    which the Access Routers act as peers during the context transfer.

   One main distinction between the various alternative approaches to
   context transfer is the choice of the functional entity or entities that
   orchestrate the transfer. A context transfer solution that relies upon
   the ARs to effect a context transfer should be the most efficient approach,
   as it involves the fewest possible entities. At the very least, the number
   of protocol exchanges should be less when there are fewer entities involved.

4.9 The entities transferring context MUST have completed a mutual
    authentication process prior to initiating the transfer.

   It is believed that if a formal authentication exchange (e.g. exchanging
   credentials) were done during the context transfer, the computation
   overhead for both the sender and the receiver would cause additional and
   unnecessary latency to the handoff process. Therefore, the CT peers MUST
   exchange credentials prior to any context transfer.



4.10 The context transfer solution SHOULD provide mechanisms to selectively
     enable or disable context transfer for particular IP microflows or groups
     of IP microflows.

   The context associated with an MN's microflows is normally to be
   transferred whenever it is required to support forwarding. However,
   there may be conditions where it is desirable to selectively disable
   context transfer for specific microflows.

   For example, it may be desirable to provide an MN with the capability
   to disallow the transfer of the context associated with one or more
   of its microflows when handover occurs between networks administered
   by different operators.

   Local mechanisms for allowing context transfer to be disabled on a per
   microflow basis have to be provided for in the context transfer solution.
   These mechanisms will most likely be captured as part of the CT MIB, and
   possibly, as part of a PIB, if policy based management is considered
   desirable.

   There are other mechanisms and protocols required to manage or control
   the per microflow disabling of context transfer. These are clearly
   out of the scope of the context transfer work.

4.11 Context information MAY be transferred in phases.


   Providing for phased transfers allows the context acquisition
   and transfer to be prioritized.



4.12 The context information to be transferred MUST be available at the
     AR performing the transfer, prior to the initiation of a given phase
     of the context transfer.

   To effect a rapid transfer, the context information has to be readily
   available when the AR begins a phase of the transfer.

   If the context transfer is comprised of a single phase, then all of the
   context must be available prior to the transfer initiation.

4.13 The context information provided for transfer MUST be reliable.

   The context to be transferred must not only be readily available for
   transfer, but the sending AR must ensure that the information is sound.

   The context transfer solution may provide mechanisms to support reliable
   transfer of context, but the effectiveness of context transfer in enhancing
   handover between ARs would very likely be compromised by attempts to
   transfer malformed context.

4.14 The context transfer solution MUST include methods for interworking
     with any IETF IP mobility solutions.

4.15 The context transfer solution MAY include methods for interworking
     with non-IETF mobility solutions.


5. Protocol Requirements

   This section captures the general requirements for the context
   transfer protocol.


5.1 General Protocol Requirements

5.1.1 The context transfer protocol MUST be capable of transferring all
      of the different types of feature context necessary to support the
      MN's traffic at a receiving AR.

5.1.2 The context transfer protocol design MUST define a standard
      representation for conveying context information that will be
      interpreted uniformly and perspicuously by different
      implementations.

5.1.3 The context transfer protocol MUST operate autonomously from the
      content of the context information being transferred.

5.1.4 The context transfer protocol design MUST define a standard method
      for labeling each feature context being transferred.

   Various protocols participate in setting up the service support for
   any given microflow, and many of these protocols require feature
   specific state to be maintained for the life of the IP session. The
   context transfer protocol should provide a generic mechanism to carry
   context information to an AR, irrespective of the context type.

   Given that the desired context transfer protocol is a single, generic
   protocol for transferring all feature context, the collection of
   information representing the context for a given feature must be
   encapsulated into a standard representation and labeled.
   Encapsulation is necessary to keep the context for different features
   separated. The receiving AR will use the label on an encapsulated
   context to associate it with the appropriate service feature and
   process the content appropriately.

   The context transfer protocol does not need to know the contents of
   these nuggets of encapsulated information. Indeed, for the protocol
   to be independent from the type of context being transferred, it must
   be oblivious the actual context.

5.1.5 The context transfer protocol design MUST provide for the future
      definition of new feature contexts.

   The context transfer solution must not attempt to define all possible
   feature contexts to be transferred. Instead, it must provide for the
   definition of new contexts in support of future service features, or
   feature evolution. Guidance should be provided to future users of context
   transfer on the best approach to defining feature context.


5.2 Transport Reliability

   This section is intentionally left blank as the working group is
   waiting for a questionnaire from the transport directorate. The result
   of the questionnaire will create requirements that will be added in this
   section in a later revision of this specification.


5.3 Security

5.3.1 The protocol MUST provide for "security provisioning".

   The security of the context information being exchanged between ARs
   must be ensured. Security provisioning includes protecting the
   integrity, confidentiality, and authenticity of the transfer, as well
   as protecting the ARs against replay attacks.

5.3.2 The security provisioning for context transfer MUST NOT
      require the creation of application layer security.

5.3.3 The protocol MUST provide for the security provisioning to be
      disabled.

   In some environments, the security provisioning provided for by the
   context transfer protocol may not be necessary, or it may be
   preferred to minimize the context transfer protocol overhead.


5.4 Timing Requirements

5.4.1 A context transfer MUST complete with a minimum number of protocol
      exchanges between the source AR and the rest of the ARs.

   The number of protocol exchanges required to perform a peer to peer
   interaction is directly related to the unreliability, resource
   consumption, and completion time of that interaction.  A context
   transfer will require signaling and data exchanges, but, as a general
   rule, by keeping the number of these exchanges to a minimum, the
   reliability, resource utilization and completion delay of the
   transfer should improve.

5.4.2 The context transfer protocol design MUST minimize the amount of
      processing required at the sending and receiving Access Routers.

   If the context transfer protocol requires the context information to
   be transferred in a form that requires significant additional
   processing at each AR, delays may be incurred that impact the
   reliability of the context. In other words, the context may become
   obsolete before it can be reconstructed at the receiving AR.

   Also, AR processing delay contributes to the overall context transfer
   delay, and may make fulfilling requirements 5.4.1 and 5.4.2 difficult.

   An example of a protocol design that would increase the processing
   delay at the receiver is where the context information is segmented,
   and the ordering of the segments is not preserved during transfer;
   segmenting at the sender, and more likely, re-ordering of the
   segments at the receiver could introduce significant additional
   AR processing delays.

5.4.3 The Context Transfer protocol MUST meet the timing constraints
      required by all the feature contexts.

   A given feature context may have timing constraints imposed by the
   nature of the service being support. The delivered context must
   always comply with the requirements of the service if it is to be
   useable.

5.4.4 The context transfer solution MUST provide for the aggregation of
      multiple contexts.

5.4.5 If context aggregation is not support by the transport protocol
      (via the Nagle algorithm [3]) then the context transfer protocol
      MUST provide it.

   There may be instances where there are multiple context transfers
   pending. To reduce the overall transfer time, as well as transport
   overhead that might be incurred by separately transferring each
   context, the sending AR may choose to aggregate the contexts and
   execute one transfer operation.

   Note that if contexts are aggregated, the labelling method required
   by 5.1.4 must include an identifier that allows the contexts to be
   separated at the receiving AR.


5.5 Context Update and Synchronization

5.5.1 The context transfer protocol MUST be capable of updating
      context information when it changes.

5.5.2 A context update MUST preserve the integrity, and thus the
      meaning, of the context at each receiving AR.

   The context at the AR actually supporting an MN's traffic will
   change with time. For example, the MN may initiate new microflow(s),
   or discontinue existing microflows. Any change of context at the
   supporting AR must be replicated at those ARs that have already
   received context for that MN.

5.6 Interworking with handover mechanisms

5.6.1 The context transfer protocol MAY provide input to the
      handover process.

5.6.2 The context transfer protocol MUST include methods for exchanging
      information with the handover process.

   Both context transfer and handover require information on the
   AR candidates for handover. The context transfer entities may, in the
   process of establishing and supporting context transfer, acquire
   information that would be useful to the handover process in
   determining the new forwarding path: for example, the outcome of an
   admission control decision at a receiving AR.


5.7 Partial Handover

5.7.1 The context transfer protocol MAY provide a mechanism for
      supporting partial handovers.

   In a situation where no single AR is capable of receiving a handover
   of all of an MN's traffic, a mechanism could be provided that would
   allow different IP microflows to be handed over to different ARs.
   The information transferred to each AR must be limited to only the
   context required to support the microflows that are actually handed
   over. Thus, the context transfer protocol would need a mechanism for
   partitioning the context and transferring each portion to the
   appropriate AR.


6  References

   [1] S. Bradner, "Keywords for use in RFCs to Indicate Requirement
       Levels", RFC2119 (BCP), IETF, March 1997.

   [2] Levkowetz et al., "Problem Description: Reasons For Performing
       Context Transfers Between Nodes in an IP Access Network ",
       draft-ietf-seamoby-context-transfer-problem-01.txt, May 2001.

   [3] Nagle, J., "Congestion Control in IP/TCP", RFC 896, January 1984.


7 Acknowledgements

  Thank you to all who participated in the Seamoby working group context
  transfer design team.


8  Author's Addresses

   Hamid Syed
   100 Constellation Crescent
   Nepean, Ontario. K2G 6J8         Phone:  1 613 763 6553
   Canada                           Email:  hmsyed@nortelnetworks.com

   Gary Kenward
   100 Constellation Crescent
   Nepean, Ontario. K2G 6J8         Phone:  1 613 765 1437
   Canada                           Email:  gkenward@nortelnetworks.com

   Pat R. Calhoun
   Black Storm Networks
   250 Cambridge Avenue, Suite 200
   Palo Alto, CA 94306              Phone: +1 650 617 2932
   USA                              Email: pcalhoun@bstormnetworks.com

   Madjid Nakhjiri
   Motorola
   1501 West Shure Drive
   Arlington Heights  IL 60004      Phone: +1 847 632 5030
   USA                              Email: madjid.nakhjiri@motorola.com

   Rajeev Koodli
   Communications Systems Laboratory, Nokia Research Center
   313 Fairchild Drive
   Mountain View  CA 94043          Phone: +1 650 625 2359
   USA                              Email: rajeev.koodli@nokia.com

   Kulwinder S. Atwal
   Zucotto Wireless Inc.
   Ottawa  Ontario K1P 6E2          Phone: +1 613 789 0090
   CANADA                           EMail: kulwinder.atwal@zucotto.com

   Mark Smith
   COM DEV Wireless
   3450 Broad Street, Suite 107
   San Luis Obispo, CA 93401        Phone: +1 805 544 1089
   USA                              Email: mark.smith@comdev.cc

   Govind Krishnamurthi
   Communications Systems Laboratory, Nokia Research Center
   5 Wayside Road
   Burlington  MA 01803             Phone: +1 781 993 3627
   USA                              EMail: govind.krishnamurthi@nokia.com


9  Full Copyright Statement

   "Copyright (C) The Internet Society (2001). All Rights Reserved.
   This document and translations of it may be copied and furnished to
   others, and derivative works that comment on or otherwise explain it
   or assist in its implementation may be prepared, copied, published
   and distributed, in whole or in part, without restriction of any
   kind, provided that the above copyright notice and this paragraph
   are included on all such copies and derivative works. However, this
   document itself may not be modified in any way, such as by removing
   the copyright notice or references to the Internet Society or other
   Internet organizations, except as needed for the purpose of
   developing Internet standards in which case the procedures for
   copyrights defined in the Internet Standards process must be
   followed, or as required to translate it into languages other than
   English.

   The limited permissions granted above are perpetual and will not be
   revoked by the Internet Society or its successors or assigns.

   This document and the information contained herein is provided on an
   "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
   TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
   BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
   HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
   MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.