Seamoby Working Group Rajeev Koodli INTERNET DRAFT Charles E. Perkins 30 August 2002 Communication Systems Laboratory Nokia Research Center A Context Transfer Protocol for Seamless Mobility draft-koodli-seamoby-ct-04.txt 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. This memo provides information for the Internet community. This memo does not specify an Internet standard of any kind. Distribution of this memo is unlimited. Abstract Mobile nodes enhance the performance of their connections across wireless media by establishing various kinds of state (context), in order to use the available bandwidth securely and economically. During handover from one access router to another, a bandwidth-constrained mobile node needs to have state information passed from the previous router to the new one. This document proposes a framework for control structures that enable authorized context transfers. We demonstrate how the proposed framework could be applied during handovers so that the applications running on the mobile node could operate with minimal disruption, by reducing latency and packet losses. Koodli, Perkins Expires 1 March 2003 [Page i] Internet Draft Context Transfers 30 August 2002 Contents Status of This Memo i Abstract i 1. Introduction 3 2. Terminology 4 3. Background 5 4. Protocol Overview 7 5. Protocol Messages and Message Formats 10 5.1. Context Transfer Initiate (CTIN) Message . . . . . . . . 11 5.2. Context Transfer Initiate Ack (CTIN-Ack) Message . . . . 13 5.3. Context Transfer Request (CT-Req) Message . . . . . . . . 14 5.4. Context Transfer Reply (CT-Rep) Message . . . . . . . . . 16 5.5. Predictive Context Transfer (PCT) Message . . . . . . . . 17 5.6. Context Transfer Reply Acknowledgment (CT-Ack) Message . 19 6. Protocol Behavior with IP Handovers 20 6.1. Basic Handover Signaling . . . . . . . . . . . . . . . . 21 6.2. Fast Handover Signaling . . . . . . . . . . . . . . . . . 21 7. Transport Considerations 23 7.1. ICMP . . . . . . . . . . . . . . . . . . . . . . . . . . 23 7.2. SCTP . . . . . . . . . . . . . . . . . . . . . . . . . . 24 8. Configurable Parameters 26 9. Security Considerations 26 10. IANA Considerations 26 11. Comparison with the Requirements 27 11.1. General Requirements . . . . . . . . . . . . . . . . . . 27 11.2. Protocol Requirements . . . . . . . . . . . . . . . . . . 29 11.3. Transport Reliability . . . . . . . . . . . . . . . . . . 30 11.4. Security . . . . . . . . . . . . . . . . . . . . . . . . 30 11.5. Timing Requirements . . . . . . . . . . . . . . . . . . . 31 11.6. Context Update and Synchronization . . . . . . . . . . . 32 11.7. Interworking with handover mechanisms . . . . . . . . . . 32 11.8. Partial Handover . . . . . . . . . . . . . . . . . . . . 33 Koodli, Perkins Expires 1 March 2003 [Page 1] Internet Draft Context Transfers 30 August 2002 Addresses 35 Koodli, Perkins Expires 1 March 2003 [Page 2] Internet Draft Context Transfers 30 August 2002 1. Introduction Access Routers typically establish state in order to effect certain forwarding treatments to packet streams belonging to nodes sharing the access router. For instance, an access router may establish a AAA session state and a QoS state for a node's packet streams. When the link connecting the node and the access router is bandwidth-constrained, the access router typically also maintains header compression state. When such a node moves to a different access router, this state or context relocation during handover provides many important benefits, including - seamless operation of application streams. The handover node (i.e., the Mobile Node) does not need to re-establish its contexts at the new access router - performance benefits. When contexts need to be re-established, performance of transport protocols would suffer until the contexts are in place. For instance, when the required QoS state is not present, a stream's packets would not receive the desired per-hop behavior treatment, subjecting them to higher likelihood of unacceptable delays and packet losses. - bandwidth savings. Re-establishing multiple contexts over an expensive, low-speed link can be avoided by relocating contexts over a potentially higher-speed wire. - Reduced susceptibility to errors, since much more of the protocol operates over reliable networks, replacing renegotiations over a potentially error-prone link. In [7], a detailed description of motivation, the need and benefits of context transfer are outlined. In this document, we describe a generic context transfer protocol which provides - representation for feature contexts - messages to initiate and authorize context transfer, and notify a MN of the status of the transfer, and - messages for transferring contexts prior to, during and after handovers The protocol is transport and IP version independent. We show how it can be carried using ICMP and SCTP. The protocol can carry both IPv4 and IPv6 contexts. The proposed protocol is designed to work in conjunction with other [seamoby] and [mobile-ip] protocols in order to provide ``seamless Koodli, Perkins Expires 1 March 2003 [Page 3] Internet Draft Context Transfers 30 August 2002 mobility''. For example, the messages defined in this protocol are closely synchronized with Mobile IP fast handover protocols [5] to achieve improved handover results. Furthermore, the proposed protocol would make use of the Candidate Access Router selection protocol [12] to obtain the IP address of the target router to which the MN will attach to during handover. The protocol described here satisfies the requirements set forth in [11] in Section 11. 2. Terminology The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", "OPTIONAL", and "silently ignore" in this document are to be interpreted as described in RFC 2119 [1]. We define the following terms for use in this document. We also use Figure 1 as the basis for our handover discussion. CPT Context Profile Type: a general way to lay out context parameters, which constitute a particular context, for use when describing various feature contexts. ICMP Internet Control Message Protocol IP Access Address An IP address used for routing packets to a mobile node while it is attached to an access network. Microflow A communication stream of related packets, considered as a separable and identifiable sequence of packets within the entire aggregate data communications between two endpoints. New Access Router (NAR) The router to which the MN attaches after handover Predictive Same as proactive. Previous Access Router (PAR) The MN's default router prior to handover New access address (Naddr) The IP Access address of the Mobile Node (MN) when attached to the link served by the New Router Previous access address (Paddr) The IP Access Address of the Mobile Node (MN) when attached to the link served by the Previous Router Koodli, Perkins Expires 1 March 2003 [Page 4] Internet Draft Context Transfers 30 August 2002 v +------------+ +-+ | Previous | < | | ---------- | Router | ------ > ----\ +-+ | (PAR) | < \ MN | | \ | +------------+ +---------------+ | ^ IP | Correspondent | | | Network | Node | V | +---------------+ v / v +------------+ / +-+ | New | < / | | ---------- | Router | ------ > ----/ +-+ | (NAR) | < MN | | +------------+ Figure 1: Reference Scenario for Handover 3. Background There may be multiple features associated with each unidirectional packet stream (also known as a microflow). Examples are QoS, security and header compression. Note that each feature itself may be supported by multiple, co-existing mechanisms, for various microflows. As an example, a header compression feature may have separate contexts for IPv6/UDP/RTP and IPv6/TCP compression mechanisms at the same router. Generally, a feature context typically needs to identify and refer to the mechanism for which its state is relevant. One or more feature contexts may belong to a microflow context, and contexts for several features together form the overall context for a mobile node. This overall context may also include contexts that are not microflow-specific; for example, it may include session-specific contexts such as AAA state. The context hierarchy, consistent with the nomenclature in [7], is illustrated in Figure 2 (where feature realizations through one or more mechanisms are not shown for clarity). This hierarchy indicates the need for a representation that organizes the diversity of features and feature realizations. It is also clear from Figure 2 that a feature context is the unit of data representation for context transfer purposes. A context transfer protocol operates along with other protocols to enhance handover experience. One such important protocol is IP Koodli, Perkins Expires 1 March 2003 [Page 5] Internet Draft Context Transfers 30 August 2002 +--------------+ | | | Context | | | | | +--------------+ | | +-----------------------------------------+ | | | +------------+ +------------+ +------------+ | | | | | | |Microflow-1 | |Microflow-2 | ... |Microflow-n | | context | | context | | context | | | | | | | +------------+ +------------+ +------------+ | | | +----------+ +----------------+ | | | | | Feature | +----------+ +----------+ |context X | | | | | | | | Feature | | Feature | +----------+ |context Y | |context X | | | | | +----------+ +----------+ Figure 2: Context Hierarchy for a Mobile Node handover protocol which establishes a routing path to the mobile node's new location, allowing the MN to send and receive IP packets, including the packets that make up its identified microflows. As soon as IP connectivity is available, a MN can resume packet transmission and reception. Each microflow needs to be treated with appropriate contexts to ensure smooth continuation of the MN's packet streams. In some networks, an access router may require authentication from the MN before making connectivity available. In such networks, the MN's new access router needs appropriate context to avoid reinitiating time-consuming elaborate authentication protocol operations. Context transfer with respect to handover is complementary and very natural; handover establishes IP connectivity (a routing issue), while context transfer allows uninterrupted connectivity and smooth operation of packet streams (a transport issue). Since routing Koodli, Perkins Expires 1 March 2003 [Page 6] Internet Draft Context Transfers 30 August 2002 and transport issues are closely related, handover and context transfer must also interwork closely. If handover fails due to context transfer protocol, connectivity cannot be established. On the other hand, if contexts cannot be relocated, they can always be re-established. This illustrates that handover is a more basic operation than context transfer. A context transfer protocol must be capable of carrying all the feature contexts relevant to a MN. The protocol message data must accommodate different feature contexts, and be able to aggregate multiple such contexts. We propose that message data is structured according to a ``framework'' for carrying individual feature contexts. Each individual feature context must define its structure and format for interpreting the context unambiguously. Successful processing of transferred contexts must produce a result that is equally useful as establishing the contexts from first principles, and, from the point of view of the mobile node, just as if it had stayed at the previous access router. 4. Protocol Overview Given the diversity of various features and their associated contexts (See Figure 2), we propose a simple representation that provides a generic structure, allowing each feature to define its own context parameters. We define a Context Profile Type (CPT) as an object that uniquely identifies the type of a feature context. An instance of a CPT defines the context parameters associated with the corresponding feature context to facilitate inter-operability. For example, a QoS Profile Type (QPT) for Diffserv has to identify the control parameters associated with the QoS feature, and a Header Compression Profile Type (HPT) for IPv6 has to identify the IPv6 header compression control parameters. Each instance of a CPT can also be used as a standard object in feature context requests, feature negotiation etc, which are beyond the scope of this document. Nevertheless, each feature context itself then consists of the [CPT, context parameters] tuple along with some generally useful parameters (such as a filter that identifies the packet stream). The Context Transfer protocol typically operates between a source node and a target node. In the future, there may be multiple target nodes involved; the protocol described here would work with multiple target nodes. For simplicity, we describe the protocol assuming a single receiver or target node. Typically, the source node is a MN's Previous Access Router (PAR) and the target node is MN's New Access Router (NAR). We assume that PAR and NAR share an appropriate security association, set up independently and prior to context transfer. Any appropriate Koodli, Perkins Expires 1 March 2003 [Page 7] Internet Draft Context Transfers 30 August 2002 mechanism may be used in setting up this security association; it enables the CT peers to utilize a secure channel for transferring contexts, providing authentication, integrity, and (if needed) confidentiality. There are two messages associated with initiating the context transfer, and four messages associated with the actual context transfer protocol. The context transfer protocol messages use Context Profile Types that identify the relevant feature contexts. The Context Profile Types (CPTs) are standard identifiers (with IANA Type Numbers) that allow a node to unambiguously determine the type of context and the context parameters present in the protocol messages. In addition to the CPT, each message contains a list of feature contexts each in (Type, Length) format, as well as any IP addresses necessary to associate the contexts to a particular MN. The context transfer initiation messages contain parameters that identify the source and target nodes, the desired list of feature contexts and IP addresses to identify the contexts. Some of the messages contain an appropriate token to authorize context transfer. The Previous Access Router transfers feature contexts under two general scenarios. First, it may receive a Context Transfer Initiate (CTIN) message from a trusted entity, which could be the MN whose feature contexts are to be transferred, a network server overseeing the MN's handover, or an internally generated trigger (e.g., a link-layer trigger on the interface to which the MN is connected), etc. The CTIN message, described in Section 5.1, provides the IP address of NAR, the IP address of MN on PAR, the list of feature contexts to be transferred (by default requesting all contexts to be transferred), and a token authorizing the transfer. It also includes the MN's new IP address (valid on NAR) whenever it is known. In response to a CTIN message, PAR transmits a Predictive Context Transfer (PCT) message that contains feature contexts. The PCT message, described in Section 5.5, contains the MN's previous IP address and its new IP address (whenever known). It also includes a key, and an indication to use a particular algorithm to assist NAR in computing a token that it could use to check authorization prior to making the contexts available to the MN. In the second scenario, PAR receives a Context Transfer Request (``CT-Req'', described in Section 5.3), message from NAR. In the CT-Req message, NAR supplies the MN's previous IP address, the feature contexts to be transferred, and a token (typically generated by the MN) authorizing context transfer. In response to CT-Req message, PAR transmits a Context Transfer Reply (CT-Rep) message that includes the MN's previous IP address and feature contexts. In this ``reactive'' transfer of contexts, PAR verifies authorization token before transmitting the contexts, and hence does not include the key and the name of algorithm in CT-Rep message. Koodli, Perkins Expires 1 March 2003 [Page 8] Internet Draft Context Transfers 30 August 2002 When context transfer takes place without NAR requesting it (scenario one above), NAR should require MN to present its authorization token. Doing this locally at NAR when the MN attaches to it improves performance, since the contexts may already be present. When context transfer happens with an explicit request from NAR (scenario two above), PAR performs such a verification since the contexts are still present at PAR. In either case, token verification takes place at the node possessing the contexts. The New Access Router requests feature contexts when it receives a CTIN message from, for instance a newly attached MN, a server overseeing the handover of MN, or a link-layer indication from the interface to which the MN attaches to. In response to the CTIN message, NAR generates a CT-Req message to PAR. When it receives a corresponding CT-Rep message, NAR may generate a CT-Ack message (See Section 5.6) to report the status of processing the received contexts. The node that receives a CTIN message may reply back with Context Transfer Initiate Ack (CTIN-Ack) message. This message is intended to report the status resulting from processing the CTIN message. Furthermore, this message is used to notify the MN if there are changes to certain feature contexts as a result of context transfer. The CTIN-Ack message is described in Section 5.2. Performing context transfer in advance of the MN attaching to NAR clearly has potential for better performance. For this to take place, certain conditions must be met. For example, PAR must have sufficient time and knowledge about the impending handover. This is feasible for instance in Mobile IP fast handovers; we describe how in Section 6.2. However, when the advance knowledge of impending handover is not available, or if a mechanism such as fast handover fails, retrieving feature contexts after the MN attaches to NAR is the only available means for context transfer. Performing context transfer after handover might still better than having to re-establish all the contexts from scratch. We describe this type of context transfer that can be employed in conjunction with basic Mobile IP further in Section 6.1. Finally, some contexts may simply need to be transferred during handover signaling. For instance, any context that gets updated on a per-packet basis must clearly be transferred only after packet forwarding to the MN on its previous link is terminated. Transfer of such contexts must be properly synchronized with appropriate handover messages, such as Mobile IP (Fast) Binding Update. We describe this in Section 6.2. The context transfer protocol messages described in this document provide the basic structure necessary for context transfer to work with other mechanisms, most notably IP handovers. The messages can carry either IPv4 contexts or IPv6 contexts or both kinds of Koodli, Perkins Expires 1 March 2003 [Page 9] Internet Draft Context Transfers 30 August 2002 contexts. The messages are transport protocol independent; we show how they can be formulated with ICMP or SCTP as examples. They work just as well with IPv4 and IPv6, as long as the relevant address fields are sized appropriately. 5. Protocol Messages and Message Formats In this document, we propose the following messages. 1. Context Transfer Request (CT-Req). A node uses this message to request feature contexts from another node. 2. Context Transfer Reply (CT-Rep). A node uses this message to respond to Context Transfer Request or CT-Req message. 3. Predictive Context Transfer (PCT). A node uses this message to transfer feature contexts without having the CT-Req message received. 4. Context Transfer Acknowledgment (CT-Ack). A node uses this message to report status after processing either CT-Rep or PCT messages. This message is not mandatory. These messages can be carried over appropriate transport protocol; we describe ICMP and SCTP as specific examples. See Sections 7.1 and 7.2. The messages can carry IPv4 or IPv6 or both types of contexts (for dual stack nodes for example). These messages are also IP version independent, i.e., they work with IPv4 and IPv6. Furthermore, these messages are independent of the IP version used in interconnecting the access routers. In addition to the above messages, we define the following which may be used to initiate context transfer. 1. Context Transfer Initiate (CTIN) Message. This message serves as a general-purpose trigger to initiate context transfer. In response to this message, either CT-Req or PCT messages could be transmitted. 2. Context Transfer Initiate Ack (CTIN-Ack) Message. This message is an acknowledgment to CTIN message. This message does not always have to occur after CTIN. However, when CTIN contains request for specific feature context transfer, such a request may require an acknowledgment; in those cases, CTIN-Ack would not be optional. Koodli, Perkins Expires 1 March 2003 [Page 10] Internet Draft Context Transfers 30 August 2002 We first explain the CTIN and CTIN-Ack messages. Note, however, that in some systems these messages may not be needed, if other triggers are available to initiate context transfer. 5.1. Context Transfer Initiate (CTIN) Message The CTIN message contains feature context transfer requests. Each feature context request is represented in the ``Type, Length, Value'' (TLV) format as a suboption to the CTIN message. The envelope of these suboptions is prefixed by some fields that are generally expected to be useful for all suboptions. Finally, this message contains a token representing the authorization to effect context transfers. The CTIN message can be used either by a MN or by some other entity to initiate context transfer. The message may be generated in response to specific events such as a link-layer trigger indicating handover, discovery of a new default router by MN etc. When CTIN is delivered to the source of the context transfer, the message contains the new IP addresses of the MN and its New Access Router. When this message is delivered to the target of the context transfer, the message contains the previous IP addresses of the MN and its Previous Access Router. In either case, the authorization token is intended for the node that currently possesses the feature contexts. For instance, when CTIN arrives, NAR could verify the authorization token if it already possesses the feature contexts. When CTIN arrives, but NAR does not yet possess feature contexts, then NAR includes the authorization token in CT-Req message for PAR to perform verification of the authorization token. We rely on a secured data path between PAR and NAR to insure integrity of the CT-Rep. The node receiving the CTIN message MAY respond using CTIN-Ack message. A MN however, must be able to operate its microflows without necessarily having to wait for the CTIN-Ack message. The format of CTIN message is shown in Figure 3. Koodli, Perkins Expires 1 March 2003 [Page 11] Internet Draft Context Transfers 30 August 2002 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type=CTIN | Length | V |T| Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Previous (New) IP Access Address of MN +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Previous (New) Router Address +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Sub-Option Type| Sub-Option Len| CT Data for Target Router... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |SOType = Auth | Sub-Option Len| Reserved | Replay | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 32-bit Authorization Token | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Sub-Option Type| Sub-Option Len| CT Data for Source Router... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 3: Context Transfer Initiate (CTIN) Message Format Option Type Context Transfer Initiate (CTIN). Option Length Variable Reserved Reserved for future use. Must be set to zero by the MN. `V' bits When set to `00', indicate presence of IPv6 Previous (New) address only. When set to `01' indicate presence of IPv4 Previous (New) Address only. When set to `10' indicate presence of both IPv6 and IPv4 Previous (New) addresses. `T' bit When set to 1 (one), indicates that suboptions for the target node of CT are present. Replay A value used to make sure that each use of the CTIN message is uniquely identifiable. Authorization Token An unforgeable value calculated as discussed below. This authorizes the receiver of CTIN to perform context transfer. Koodli, Perkins Expires 1 March 2003 [Page 12] Internet Draft Context Transfers 30 August 2002 Suboptions Feature suboptions requesting context transfer included as selected by the requesting node. A default suboption could include request for all contexts present. Each suboption corresponds to one feature context, and is assigned a unique integer value. So, for each IP address listed, a maximum of 255 feature contexts can be requested for transfer. Each feature context defines its own parameters in the data field. These requests are typically meant for the node possessing the feature contexts. In some cases however, the node that would be receiving the feature contexts may be supplied with additional information to process feature contexts. In order to facilitate this programmability, an option is made available for suboptions addressed to the target node of context transfer. In order to make sure that contexts are not transferred or lost in response to a malicious request, authorization is required for the context transfer request. The Authorization Token (Auth) is calculated as follows: Auth = HMAC (Key, input_data) mod 2^32 where HMAC (Key, Data) is defined (see RFC 2104 [6] for details) roughly as follows: HMAC (Key, Data) = MD5 (Key, MD5 (Key || Data)) and MD5 is defined as given in RFC 1321 [9]. The input_data is defined as follows: input_data = CT_features || Replay || Paddr where CT_features includes all the feature suboption data to the node possessing MN's feature contexts, and Paddr is the mobile node's IP access address while attached to the network served by PAR. When all the contexts are already present at the New Access Router, the New Access Router itself can verify authorization token if it has the session key (and the knowledge of the algorithm) used in computing the token. 5.2. Context Transfer Initiate Ack (CTIN-Ack) Message A CT node receiving the CTIN message MAY respond to the sender of the CTIN message with CTIN-Ack message. As an example, if NAR receives CTIN from the MN, it MAY send a CTIN-Ack message to MN containing status reports for each relevant feature for which context transfer Koodli, Perkins Expires 1 March 2003 [Page 13] Internet Draft Context Transfers 30 August 2002 was requested. However, unless a failure has occurred, or else otherwise required by a specific feature, CTIN-Ack is optional. On the other hand, the mobile node MUST be prepared to process a CTIN-Ack even when no error has occurred. The format of CTIN-Ack message is shown in Figure 4. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type=CTIN | Length | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Sub-Option Type| Sub-Option Len|Response from receiver of CTIN.. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 4: Context Transfer Initiate Acknowledgment (CTIN-Ack) Message Format 5.3. Context Transfer Request (CT-Req) Message A MN's New Access Router (NAR) sends this message to retrieve feature contexts from the MN's Previous Access Router (PAR). The message contains the MN's IP address on PAR and optionally a token from the MN authorizing the transfer of contexts. The authorization token allows PAR to verify if context transfer was actually authorized by the MN. The format of CT-Req message is shown in 5. The IP header contains NAR as the Source Address, and PAR as the Destination Address. These can be either IPv4 of IPv6 addresses. Option Type Context Transfer Request (CT-Req) Option Length Variable Reserved Reserved for future use, set to zero by New Router. Previous IP Address The MN's IP (IPv4 or IPv6 or both) address valid on Previous Router. This address is used as a key in retrieving the MN's feature contexts. `V' bits When set to `00', indicate presence of IPv6 Previous address only. When set to `01' indicate presence of IPv4 Previous Address only. When set to `10' indicate presence of both IPv6 Koodli, Perkins Expires 1 March 2003 [Page 14] Internet Draft Context Transfers 30 August 2002 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type=CTREQ | Length | V | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Previous IP Address of MN (Paddr) ... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | New IP Address of MN (Naddr) ... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Suboption Type| Subopt.Length | Context Profile Type | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Context Transfer Options Data... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Additional context transfer suboptions as needed... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |SuboptType=Auth| Ctxt Length | Reserved | Replay | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 32-bit Authorization Token from MN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 5: Context Transfer Request (CT-Req) Message Format and IPv4 Previous addresses. Context Transfer Options Data (optional) Feature context requests included as selected by the mobile node and the New Router, in the order specified. These are encoded in Sub-Option Type and Sub-Option Length format, as in the structure of CTIN message (See Figure 3). These are present in the non default scenarios. Each feature context, following the Context Profile Type, supplies its own data which could include parameters that identify the microflow. Context Profile Type (CPT) This is a standard identifier for the type of context whose transfer is desired. Each CPT is assigned an IANA type number. Koodli, Perkins Expires 1 March 2003 [Page 15] Internet Draft Context Transfers 30 August 2002 Replay A value used to make sure that each context transfer request by the MN is uniquely identifiable. Authorization Token An unforgeable value calculated as discussed in 5.1. 5.4. Context Transfer Reply (CT-Rep) Message The MN's Previous Access Router uses this message to respond to CT-Req message. In this message, providing CT-Req processing is successful, PAR transmits the requested feature contexts matching the MN's previous IP address(es). Each feature context is formatted in the TLV format, and the context data is preceded by a corresponding Context Profile Type. The format of CT-Rep message is shown in Figure 6. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type=CTREP | Length | V | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Previous IP Address of MN (Paddr) +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Suboption Type| Subopt.Length | Context Profile Type | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Context Transfer Options Data... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Suboption Type| Subopt.Length | Context Profile Type | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Context Transfer Options Data... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 6: Context Reply Message Format Option Type Context Transfer Reply (CT-Rep) Option Length Variable Previous IP Address The MN's IP (IPv4 or IPv6) address valid on Previous Router. This address is used as a key in retrieving the MN's feature contexts. Koodli, Perkins Expires 1 March 2003 [Page 16] Internet Draft Context Transfers 30 August 2002 `V' bits When set to `00', indicate presence of IPv6 Previous address only. When set to `01' indicate presence of IPv4 Previous Address only. When set to `10' indicate presence of both IPv6 and IPv4 Previous addresses. Context Profile Type This is a standard object that identifies the type of context whose transfer desired. Each CPT is assigned an IANA type number. Context Transfer Options Data Feature contexts (enumerated as suboptions) for each corresponding suboption present in CT-Req in the order specified. These are encoded in Sub-Option Type and Sub-Option Length format, as in the structure of CTIN message (See Figure 3). When both IPv4 and IPv6 contexts are present, all the IPv4 contexts (identified by their respective CPTs) SHOULD be enumerated before the IPv6 contexts. Because of retransmissions, the New Router may receive the same CT-Rep message and suboptions several times as part of the same seamless handover. Therefore, all context suboptions are required to be specified in such a way that the effect is the same whether the New Router receives them one time or several times in a CT-Rep message as part of the same seamless handover. 5.5. Predictive Context Transfer (PCT) Message The Previous Access Router uses this message to transfer (typically all) feature contexts when it has not received a CT-Req message. In order to do so, PAR must be aware of the New Access Router to which the MN will attach, and should preferably use this message prior to the completion of MN's IP connectivity establishment with NAR. The format of PCT message is similar to that of CT-Rep with the addition of fields necessary that would allow NAR to verify whether the MN is authorized to make use of transferred feature contexts. The Previous Access Router supplies a key and indicates the algorithm to use in computing a token that NAR could demand from the MN prior to making the feature contexts available. Option Type Predictive Context Transfer (PCT) Option Length Variable Koodli, Perkins Expires 1 March 2003 [Page 17] Internet Draft Context Transfers 30 August 2002 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type=PCT | Length | V | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | New IP Address of MN (Naddr) +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Previous IP Address of MN (Paddr) +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Context Transfer Options Data... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Ctxt Type=Auth | Ctxt Length | Algorithm | Key Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Key... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 7: Predictive Context Transfer Message Format Previous IP Address The MN's IP (IPv4 or IPv6) address valid on Previous Router. This address is used as a key in retrieving the MN's feature contexts. New IP Address The MN's IP (IPv4 or IPv6) address valid on New Router. This address is used to update the received feature contexts. `V' bits When set to `00', indicate presence of IPv6 Previous address only. When set to `01' indicate presence of IPv4 Previous Address only. When set to `10' indicate presence of both IPv6 and IPv4 Previous addresses. Context Profile Type This is a standard object that identifies the type of context whose transfer is intended. Each CPT is assigned an IANA type number. Context Transfer Options Data Individual feature contexts in the form of sub options. These are encoded in Sub-Option Type and Sub-Option Length format, as in the structure of CTIN message (See Figure 3). When both IPv4 and IPv6 contexts are present, all the IPv4 contexts Koodli, Perkins Expires 1 March 2003 [Page 18] Internet Draft Context Transfers 30 August 2002 (identified by their respective CPTs) SHOULD be enumerated before the IPv6 contexts. Algorithm 8-bit algorithm indication for computing the Authorization Token (See Section 5.1). Default is HMAC with MD5. Key Length 8-bit unsigned integer. The length of the key in units of 4 octets. Key Encrypted key. The Key is encrypted using a pre-existing shared key between the Previous Access Router and New Access Router. 5.6. Context Transfer Reply Acknowledgment (CT-Ack) Message The New Access Router MAY use this message to acknowledge receipt of feature contexts in CT-Rep, and MUST use this message to acknowledge receipt of feature contexts in PCT message. The format of this message is shown in Figure 8. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type=CT-Ack | Length | V |S| Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Previous IP Address of MN (Paddr) +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Context Transfer Acknowledgment Data... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 8: Context Transfer Reply Ack Message Format Option Type Context Transfer Reply Ack (CT-Ack). Option Length Variable Previous IP Address The MN's IP (IPv4 or IPv6 or both) address valid on Previous Router. This address is used as a key in retrieving the MN's feature contexts. Koodli, Perkins Expires 1 March 2003 [Page 19] Internet Draft Context Transfers 30 August 2002 `V' bits When set to `00', indicate presence of IPv6 Previous address only. When set to `01' indicate presence of IPv4 Previous Address only. When set to `10' indicate presence of both IPv6 and IPv4 Previous addresses. `S' bit When set to one, this bit indicates that all the feature contexts sent in CT-Rep or PCT were received successfully. Reserved Set to zero. Context Transfer Options Data Feature suboptions acknowledgments appropriate for each suboption present in CT-Rep or PCT. Each suboption is an 8-bit integer that indicates an error code corresponding to (successful or otherwise) receipt of a feature context. The order of the suboptions must be the same as the order in which the feature contexts are enumerated in CT-Rep or PCT message. These suboptions are only present when the "S" bit is not set to one. 6. Protocol Behavior with IP Handovers This section specifies the use of protocol messages described in the previous sections with handover signaling. There are two types of signaling for context transfer purposes. Sometimes, the context transfer takes place without being requested by the New Access Router. In this ``predictive context transfer'' scenario, the Previous Access Router, perhaps in response to a request from the mobile node (or some other network entity), transfers contexts to the New Access Router without explicit request from the latter. Such a transfer could take place before the mobile node attaches to the New Router, so that the desired context could be utilized as soon as the mobile node obtains new IP connectivity. The New Access Router MUST acknowledge this predictive context transfer, by sending CT-Ack. Other times, the context transfer takes place as a reaction to explicit signaling after the MN attaches to its New Router. In this ``reactive context transfer'' case, the New Access Router sends a CT-req to the Previous Router. This scenario can be considered as an extension to the basic handover signaling [3]. This also provides a fallback approach when the fast handover signaling (or the predictive approach) experiences a failure. Koodli, Perkins Expires 1 March 2003 [Page 20] Internet Draft Context Transfers 30 August 2002 6.1. Basic Handover Signaling Suppose the MN originates the CTIN message after it establishes link connectivity with NAR. After the mobile node acquires or formulates a new IP access address, it sends a CTIN message shown in Figure 3 to NAR. When NAR receives this CTIN message, it identifies the suboptions and constructs a CT-Req message for the Previous Access Router to request context relocation. In the default case, there would be no suboptions present, indicating the MN's desire to request all the contexts. The CT-Req message is described in section 5.3 and MUST use IPsec AH to assure integrity and authorization. When the Previous Access Router (PAR) receives the CT-Req message, it MUST check to see whether it has a security association with NAR. If so, PAR MUST check for the presence and validity of an Authentication Option [4]. Then the Previous Access Router MUST check for the presence and validity of the Authorization Token supplied by the mobile node to make sure that the context transfer has been authorized by the mobile node. The Previous Access Router then constructs a Context Transfer Reply (CT-Rep) message containing the requested or all feature contexts. These operations are illustrated in Figure 9. It is important that context for the mobile node be not destroyed at the Previous Access Router without authorization. Hence, after sending the requested state to the New Access Router in the CT-Rep message, PAR MUST keep the context data for the mobile node intact for CONTEXT_SAVE_TIME. This allows recovery in case a CT-Rep message is not received by the router sending the CT-Req message. The Previous Access Router SHOULD NOT perform garbage collection of context data until CONTEXT_PURGE_TIME. 6.2. Fast Handover Signaling In the predictive context transfer scenario, PAR sends a PCT message. The trigger for this predictive transfer MAY arrive from the mobile node in a CTIN message. The trigger may also arrive from any other entity that PAR trusts. See Figure 10. The PCT message may be embedded in a suitable handover message, such as the HI message [5] (see sections 7.1, 7.2). When the New Access Router receives a valid PCT message, it MUST maintain the contents for at least PRED_CT_TIME, or until it receives the corresponding CTIN message from the mobile node whichever event occurs first. In order for the predictive context transfer operation to be secure, the Previous Access Router MUST have a security association with the New Access Router, and it MUST include an IPsec Koodli, Perkins Expires 1 March 2003 [Page 21] Internet Draft Context Transfers 30 August 2002 +----------+ 2. CT-Req +----------+ | | <--------- | | | | | | | PAR |-----------------| NAR | | | | | | | ---------> | | +----------+ 3. CT-Rep +----------+ | ^ | | | | ~~ 1. CTIN | ~~ | V V +-+ +-+ | | movement | | +-+ -------> +-+ Figure 9: Context Transfer with Basic Handover Signaling +----------+ 3. CT-Ack +----------+ | | <--------- | | | | | | 1. CTIN | PAR |-----------------| NAR | -------> | | | | | | ---------> | | +----------+ 2. PCT +----------+ | ^ | | | | ~~ | ~~ 4. CTIN | V V +-+ +-+ | | movement | | +-+ -------> +-+ Figure 10: Context Transfer with Fast Handover Signaling Authentication Header (AH) in the packet containing the PCT message. For instance, when the New Access Router receives a HI message with Koodli, Perkins Expires 1 March 2003 [Page 22] Internet Draft Context Transfers 30 August 2002 PCT option, it MUST check for the presence and validity of AH using the security association it has with the Previous Router. After a NAR has received contexts in PCT, it may not not activate all necessary contexts until it can verifiably establish the presence of the MN by processing a CTIN message. The MN SHOULD send a CTIN message when it connects to NAR in order to present its context authorization token. The New Access Router MUST compute its own token using the key supplied in the PCT message and compare it against that supplied by the MN prior to activating the contexts. If, due to failure, context is not present at NAR, the CTIN message triggers context transfer by requiring the New Access Router to send a CT-Req message. Subsequent to processing the CTIN message, the New Access Router MAY send a CTIN-Ack message to the MN. The New Access Router MUST send a CTIN-Ack if any or all of the feature contexts cannot be established appropriately. 7. Transport Considerations 7.1. ICMP The basic ICMP message format is shown in Figure 11. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Code | Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Data .. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 11: ICMP Message Format The context transfer protocol messages (CT-Req, CT-Rep, PCT, CT-Ack) as well as context transfer initiation (CTIN) and notification (CTIN-Ack) messages are encapsulated within the Data portion. Appropriate Type and Code values (TBD) are assigned to each message. For the checksum field, see [2] and [8]. Koodli, Perkins Expires 1 March 2003 [Page 23] Internet Draft Context Transfers 30 August 2002 7.2. SCTP We use SCTP Payload Data Chunk to carry the context transfer protocol messages [10]. The User Data part of each SCTP message contains an appropriate context transfer protocol message defined in this document. For instance, the CT-Rep message with all the feature contexts belonging to a MN is encapsulated within the User Data part of an SCTP message. In general, each SCTP message can carry feature contexts belonging to any MN. We propose a single stream for context transfer without in-sequence delivery of SCTP messages. Each message, unless fragmented, corresponds to a disparate MN's feature context. A single stream provides simplicity. Having un-ordered delivery allows the receiver to not block for in-sequence delivery of messages that belong to different Mobile Nodes. The Payload Protocol Identifier is set to ``Context Transfer Protocol'', and serves as a means to identify the contents of the data chunk as belonging to the context transfer protocol. The format of Payload Data Chunk taken from [10] is shown in Figure 12. The fields of interest to context transfer protocol are described below. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type = 0 | Reserved|U|B|E| Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TSN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Stream Identifier S | Stream Sequence Number n | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Payload Protocol Identifier | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ \ \ / User Data (seq n of Stream S) / \ \ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 12: SCTP Payload Data Chunk `U' bit The Unordered bit. MUST be set to 1 (one). Koodli, Perkins Expires 1 March 2003 [Page 24] Internet Draft Context Transfers 30 August 2002 `B' bit The Beginning fragment bit. See [10]. `E' bit The Ending fragment bit. See [10]. TSN Transmission Sequence Number. See [10]. Stream Identifier S Identifies the context transfer protocol stream. Stream Sequence Number n Since the `U' bit is set to one, the receiver ignores this number. See [10]. Payload Protocol Identifier Set to an unsigned integer corresponding to ``Context Transfer Protocol''. User Data Contains the context transfer protocol messages CT-Req, CT-Rep, PCT and CT-Ack. Koodli, Perkins Expires 1 March 2003 [Page 25] Internet Draft Context Transfers 30 August 2002 8. Configurable Parameters Every access router supporting the mobility extensions defined in this document SHOULD be able to configure each parameter in the following table. Each table entry contains the name of the parameter, the default value, and the section of the document in which the parameter first appears. Parameter Name Default Value Definition ------------------- ---------------------- ------- CT-Req_RETRIES 3 Section 5.3 CT-Req_REXMIT_TIME 1 seconds Section 5.3 CONTEXT_SAVE_TIME 2 * CT-Req_REXMIT_TIME Section 6.1 CONTEXT_PURGE_TIME 5 * CT-Req_REXMIT_TIME Section 6.1 PRED_CT_TIME 3 seconds Section 6.2 9. Security Considerations The Previous Router and the New Router MUST use authentication for messages carrying CT-Req, CT-Rep and PCT; the exact algorithms employed will depend on their security association. In addition, when Previous Router uses PCT option, it MUST encrypt the Key using a pre-existing shared secret with the New Router. Since authentication data is supplied by the mobile node along with its smooth handover requests, there is substantially no danger of loss of handover context due to malicious attacks. If a node uses the same features and Previous_IP_Address (see section 5.1) more than 255 times, then it SHOULD establish a new security association with the Previous Router (Prtr) (i.e., the mobile node's default router at the Previous IP Access Address (Paddr)). However, if the mobile node fails to change its security association with the Previous Router in this situation, an attacker could keep track of all 256 available replay protection values and cause a future disconnection the next time the mobile node acquires the same care-of address at the same Previous Router. 10. IANA Considerations The Context Profile Type introduced in this document requires IANA Type Numbers for each set of feature contexts that make use of Profile Types. Koodli, Perkins Expires 1 March 2003 [Page 26] Internet Draft Context Transfers 30 August 2002 11. Comparison with the Requirements In this section, we compare the solution we have proposed against the requirements specified in [11]. 11.1. General Requirements 1. ``The context transfer solution MUST define the characteristics of the IP level trigger mechanisms that initiate the transfer of context.'' The CTIN message specified in Section 5.1 can be used as a general-purpose IP trigger to initiate context transfer. For instance, when the MN's access router recognizes that the MN has terminated the link connection (through a link layer specific mechanism for example), an ``upcall'' containing essentially the CTIN structure can be made to the context transfer process that then begins the actual transfer process. The essential elements of the IP trigger would include the IP address of the MN's target access router, the MN's new IP address and an enumeration of various feature contexts that need to be transferred. The default case, that needs no enumeration, allows transfer of all feature contexts. The authorization token need not be present for an ``internal'' trigger. 2. ``The IP level context transfer triggers MAY be initiated by a link level (layer two) event.'' The proposal in this document would inter-work with link layer triggers (if and when used). 3. ``The IP level trigger mechanisms for context transfer MUST hide the specifics of any layer 2 trigger mechanisms.'' The CTIN option specified is independent of any link layer trigger. 4. ``The IP level context transfer triggers MAY be initiated by IP level (layer three) signaling.'' The CTIN message specified in this document can be carried in any appropriate IP signaling message, such as a Fast Binding Update [5], or in an IP message of its own. 5. ``Any IP level signalling for Context Transfer MUST be separated from the actual transfer of context.'' Koodli, Perkins Expires 1 March 2003 [Page 27] Internet Draft Context Transfers 30 August 2002 The CT-Rep and PCT messages, which carry the feature contexts, are different from CTIN. 6. ``The context transfer solution SHOULD support one-to-many context transfer.'' The source access router can use the CT-Rep or PCT envelope to send multiple unicast messages or a single multicast message when there are multiple receivers for the feature contexts. 7. ``The context transfer solution MUST support context transfer before, during and after handover.'' In this document, we specifically describe how context transfer can be performed during and after handovers. The ``Predictive Context Transfer'' message can be used prior to actual handover. 8. ``The context transfer solution MUST support a distributed approach in which the Access Routers act as peers during the context transfer.'' In this document, the access routers transfer appropriate contexts. These contexts are typically those that are created locally on the access router. If contexts present elsewhere need to be transferred by using the access routers, a separate protocol outside the scope of this document would be needed to glean all the relevant contexts and make them available to the source access router. 9. ``The entities transferring context MUST have completed a mutual authentication process prior to initiating the transfer.'' Our protocol does not propose dynamically establishing mutual authentication between the context transfer entities. Mechanisms outside the scope of this document would be needed to establish the necessary security associations between the context transfer peers. 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 CTIN structure allows enumeration of only those feature contexts for which transfer is desired. 11. ``Context information MAY be transferred in phases.'' Koodli, Perkins Expires 1 March 2003 [Page 28] Internet Draft Context Transfers 30 August 2002 The ``CT-Rep'' or ``PCT'' message can be used multiple times to effect transfer in phases. 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.'' Since we only consider all contexts to be local to the AR, we expect it to be available during all phases of context transfer. 13. ``The context information provided for transfer MUST be reliable.'' Since an access router creates the context, we expect it to be genuine and reliable. Since it is reasonable to expect that the MN was making use of the feature (e.g., QoS, header compression etc), the context itself on the access router must be useful. Furthermore, since our protocol does not introduce any operations on the context itself, we anticipate no scenarios that would malform an otherwise genuine, useful and reliable context. 14. ``The context transfer solution MUST include methods for interworking with any IETF IP mobility solutions.'' The proposed protocol readily interworks with Fast Handovers proposed in Mobile IP working group. See Section 6.2. The proposed protocol also interworks with base Mobile IP protocol itself. See Section 6.1. 15. ``The context transfer solution MAY include methods for interworking with non-IETF mobility solutions.'' While this should be possible, we do not have experiences to report here. 11.2. Protocol Requirements 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.'' The proposed protocol allows for sending all or a subset of feature contexts necessary to support the MN's traffic. Specifically, the sub option structure allows for one or more feature contexts to be uniquely identified and included in context transfer. Koodli, Perkins Expires 1 March 2003 [Page 29] Internet Draft Context Transfers 30 August 2002 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.'' The concept of ``Context Profile Types'' introduced in this proposal is powerful and versatile in capturing the meaning of context information to enable inter-operability. We expect each feature to define its own set of Feature Profile Types that uniquely define the content and interpretation of individual feature contexts. 3. ``The context transfer protocol MUST operate autonomously from the content of the context information being transferred.'' There is nothing proposed in this document that would contradict the above requirement. In other words, the proposed protocol does not operate in any context-specific manner. 4. ``The context transfer protocol design MUST define a standard method for labeling each feature context being transferred.'' Each feature would define a set of ``Feature Profile Types''. A ``Feature Profile Type'', such as a QoS Profile Type (QPT) would define the unique characteristics of each instance of the feature. For instance, a Compression Profile Type for IPv6/UDP/RTP-voice-G.723.1 would define all the necessary and sufficient context parameters for the associated feature. This CPT, which would be an IANA assigned type number, would precede the associated context parameters in each transferred context. 5. ``The context transfer protocol design MUST provide for the future definition of new feature contexts.'' New ``Feature Profile Types'' can be defined as necessary. 11.3. Transport Reliability 11.4. Security 1. ``The protocol MUST provide for "security provisioning".'' We expect the ARs involved in context transfer to share appropriate security associations. Such security associations may be set up by means outside the scope of the context transfer protocol. However, our protocol Koodli, Perkins Expires 1 March 2003 [Page 30] Internet Draft Context Transfers 30 August 2002 provides for context authorization mechanism so that only an authorized MN is allowed to make use of the transferred contexts. 2. ``The security provisioning for context transfer MUST NOT require the creation of application layer security.'' We do not propose application layer security. 3. ``The protocol MUST provide for the security provisioning to be disabled.'' It is up to an appropriate authority to decide whether security provisioning should be enabled or disabled. The protocol does not specifically require the presence or absence of security provisioning. 11.5. Timing Requirements 1. ``A context transfer MUST complete with a minimum number of protocol exchanges between the source AR and the rest of the ARs.'' Our protocol proposes two messages to accomplish context transfer. When contexts are transferred before the MN attaches to the new AR, there is a predictive transfer and acknowledge message sequence. When context transfer takes place after the MN attaches to the new AR, there is context request and context reply message pair. 2. ``The context transfer protocol design MUST minimize the amount of processing required at the sending and receiving Access Routers.'' The amount of processing needed at the sending router is limited to collecting all the relevant contexts for transfer and labeling each context with an appropriate Profile Type, and computing authentication data. The amount of processing at the receiving router is limited to parsing the received contexts using the Profile Types, verifying authentication data and installing the contexts in local memory. 3. ``The Context Transfer protocol MUST meet the timing constraints required by all the feature contexts.'' It is important to recognize that the context state refers to a MN's packet flows. When the packet flows Koodli, Perkins Expires 1 March 2003 [Page 31] Internet Draft Context Transfers 30 August 2002 change network path due to handover, it is important to synchronize context transfer with handover epoch. This would ensure not only that the contexts would be present when needed, but also guarantee that the transferred state is not stale. Our context transfer protocol is designed to operate together with handover signaling. This allows for contexts to be present ``in-time''. 4. ``The context transfer solution MUST provide for the aggregation of multiple contexts.'' The proposed sub option structure is meant for collecting all the possible feature contexts to be transferred in a single message. The sending AR scans and collects all the feature contexts associated with the MN while constructing the CT-Rep or PCT option. This ensures the most feature context aggregation prior to transferring the message. 11.6. Context Update and Synchronization 1. ``The context transfer protocol MUST be capable of updating context information when it changes.'' The PCT message can be used at any appropriate time to accomplish context updates. 2. ``A context update MUST preserve the integrity, and thus the meaning, of the context at each receiving AR.'' We do not propose replicating the contexts at multiple ARs when the MN is connected to a single AR. Thus, we do not have to address this requirement. 11.7. Interworking with handover mechanisms 1. ``The context transfer protocol MAY provide input to the handover process.'' We do not provide such an input in our current proposal. 2. ``The context transfer protocol MUST include methods for exchanging information with the handover process.'' We expect a separate Candidate Access Router discovery protocol to assist the context transfer protocol in determining the target AR. We expect such a discovery protocol to also assist the handover process. Koodli, Perkins Expires 1 March 2003 [Page 32] Internet Draft Context Transfers 30 August 2002 11.8. Partial Handover 1. ``The context transfer protocol MAY provide a mechanism for supporting partial handovers.'' We do not propose distributing the subsets of contexts to multiple ARs. However, if a Candidate Access Router discovery protocol provides more than one target and the required contexts for each target AR, our protocol does not inhibit such a transfer. References [1] S. Bradner. Key words for use in RFCs to Indicate Requirement Levels. Request for Comments (Best Current Practice) 2119, Internet Engineering Task Force, March 1997. [2] A. Conta and S. Deering. Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification. Request for Comments (Draft Standard) 2463, Internet Engineering Task Force, December 1998. [3] D. Johnson, C. Perkins, and J. Arkko. Mobility Support in IPv6 (work in progress). Internet Draft, Internet Engineering Task Force, 2002. [4] S. Kent and R. Atkinson. IP Authentication Header. Request for Comments (Proposed Standard) 2402, Internet Engineering Task Force, November 1998. [5] R. Koodli and (Editor). Fast Handovers for Mobile IPv6(work in progress). Internet Draft, Internet Engineering Task Force. draft-designteam-fast-mipv6-01.txt, February 2001. [6] H. Krawczyk, M. Bellare, and R. Canetti. HMAC: Keyed-Hashing for Message Authentication. Request for Comments (Informational) 2104, Internet Engineering Task Force, February 1997. [7] O. Levkowetz and et al. Problem Description: Reasons For Doing Context Transfers Between Nodes in an IP Access Network (work in progress). Internet Draft, Internet Engineering Task Force. draft-ietf-seamoby-context-transfer-problem-stat-00.txt, February 2001. [8] J. Postel. Internet Control Message Protocol. Request for Comments (Standard) 792, Internet Engineering Task Force, September 1981. Koodli, Perkins Expires 1 March 2003 [Page 33] Internet Draft Context Transfers 30 August 2002 [9] R. Rivest. The MD5 Message-Digest Algorithm. Request for Comments (Informational) 1321, Internet Engineering Task Force, April 1992. [10] R. Stewart and et al. Stream Control Transmission Protocol. Request for Comments (Proposed Standard) 2960, Internet Engineering Task Force, October 2000. [11] H. Syed and et al. General Requirements for Context Transfer(work in progress). Internet Draft, Internet Engineering Task Force, March 2001. [12] D. Trossen and et al. Issues in candidate access router discovery for seamless IP-level handoffs (work in progress). Internet Draft, Internet Engineering Task Force, January 2002. Koodli, Perkins Expires 1 March 2003 [Page 34] Internet Draft Context Transfers 30 August 2002 Addresses Questions about this memo can be directed to the authors: Rajeev Koodli Charles E. Perkins Communications Systems Lab Communications Systems Lab Nokia Research Center Nokia Research Center 313 Fairchild Drive 313 Fairchild Drive Mountain View, California 94043 Mountain View, California 94043 USA USA Phone: +1-650 625-2359 Phone: +1-650 625-2986 EMail: rajeev.koodli@nokia.com EMail: charliep@iprg.nokia.com Fax: +1 650 625-2502 Fax: +1 650 625-2502 Koodli, Perkins Expires 1 March 2003 [Page 35]