Internet DRAFT - draft-sarikaya-capwap-capwaphp

draft-sarikaya-capwap-capwaphp







Network Working Group                                        B. Sarikaya
Internet-Draft                                                  R. Jaksa
Expires: December 25, 2006                                   C. Williams
                                                              Huawei USA
                                                           June 23, 2006


                  CAPWAP Handover Protocol (CAPWAPHP)
                   draft-sarikaya-capwap-capwaphp-02

Status of this Memo

   By submitting this Internet-Draft, each author represents that any
   applicable patent or other IPR claims of which he or she is aware
   have been or will be disclosed, and any of which he or she becomes
   aware will be disclosed, in accordance with Section 6 of BCP 79.

   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 Internet-Draft will expire on December 25, 2006.

Copyright Notice

   Copyright (C) The Internet Society (2006).

Abstract

   This document describes the Control And Provisioning of Wireless
   Access Points (CAPWAP) Handover Protocol (CAPWAPHP) which is a
   protocol allowing the access controller of CAPWAP Working Group
   architecture to anchor and manage 802.11 handovers of the stations
   between a collection of Wireless Termination Points (access points).
   The protocol, like IEEE's IAPP aims to ensure that a station is
   connected to a single access point and provides an efficient context



Sarikaya, et al.        Expires December 25, 2006               [Page 1]

Internet-Draft     CAPWAP Handover Protocol (CAPWAPHP)         June 2006


   transfer mechanism during handover using neighbor graphs.  CAPWAPHP
   handles local MAC and Split MAC with separate procedures.  CAPWAPHP
   can be transported using CAPWAP protocol.


Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  4
     1.1.  Conventions used in this document  . . . . . . . . . . . .  5
     1.2.  Acknowledgements . . . . . . . . . . . . . . . . . . . . .  6
   2.  Protocol Overview  . . . . . . . . . . . . . . . . . . . . . .  7
     2.1.  Description of the MOBILITY_CACHE Table  . . . . . . . . .  7
     2.2.  Description of the Location Graph Concept  . . . . . . . .  8
     2.3.  Description of the Neighbor Graph Concept  . . . . . . . .  8
     2.4.  Definitions  . . . . . . . . . . . . . . . . . . . . . . .  9
   3.  CAPWAPHP Packet Format . . . . . . . . . . . . . . . . . . . . 10
     3.1.  Message Type . . . . . . . . . . . . . . . . . . . . . . . 10
     3.2.  Message Element  . . . . . . . . . . . . . . . . . . . . . 11
     3.3.  CAPWAPHP Message Elements  . . . . . . . . . . . . . . . . 11
       3.3.1.  MAC Address  . . . . . . . . . . . . . . . . . . . . . 12
       3.3.2.  Location Data  . . . . . . . . . . . . . . . . . . . . 12
       3.3.3.  Result Code  . . . . . . . . . . . . . . . . . . . . . 12
       3.3.4.  Context Block  . . . . . . . . . . . . . . . . . . . . 13
   4.  CAPWAPHP Messages  . . . . . . . . . . . . . . . . . . . . . . 15
     4.1.  Context Transfer Messages  . . . . . . . . . . . . . . . . 15
       4.1.1.  Context Transfer Data  Message . . . . . . . . . . . . 15
       4.1.2.  Context Transfer Data Reply Message  . . . . . . . . . 16
       4.1.3.  Context Transfer Cancel Message  . . . . . . . . . . . 17
   5.  Handoff Management in CAPWAPHP . . . . . . . . . . . . . . . . 19
     5.1.  First Time Association - Local MAC WTP . . . . . . . . . . 19
     5.2.  Reassociation - Local MAC WTP  . . . . . . . . . . . . . . 22
     5.3.  First Time Association - Split MAC . . . . . . . . . . . . 24
     5.4.  Reassociation - Split MAC  . . . . . . . . . . . . . . . . 26
     5.5.  MOBILITY_CACHE Update Request  . . . . . . . . . . . . . . 27
       5.5.1.  Sending MOBILITY_CACHE Update Requests . . . . . . . . 27
       5.5.2.  Format of a MOBILITY_CACHE Update Request  . . . . . . 27
       5.5.3.  Receiving MOBILITY_CACHE Update Requests . . . . . . . 27
     5.6.  MOBILITY_CACHE Update Response . . . . . . . . . . . . . . 27
       5.6.1.  Sending MOBILITY_CACHE Update Responses  . . . . . . . 28
       5.6.2.  Format of a MOBILITY_CACHE Update Response . . . . . . 28
       5.6.3.  Receiving MOBILITY_CACHE Update Responses  . . . . . . 28
     5.7.  Location Update Request  . . . . . . . . . . . . . . . . . 28
       5.7.1.  Sending Location Update Requests . . . . . . . . . . . 28
       5.7.2.  Format of a Location Update Request  . . . . . . . . . 28
       5.7.3.  Receiving Location Update Requests . . . . . . . . . . 28
     5.8.  Location Update Response . . . . . . . . . . . . . . . . . 29
       5.8.1.  Sending Location Update Responses  . . . . . . . . . . 29
       5.8.2.  Format of a Location Update Response . . . . . . . . . 29



Sarikaya, et al.        Expires December 25, 2006               [Page 2]

Internet-Draft     CAPWAP Handover Protocol (CAPWAPHP)         June 2006


       5.8.3.  Receiving Location Update Responses  . . . . . . . . . 29
     5.9.  Layer 2 Update Frame Details . . . . . . . . . . . . . . . 29
   6.  Procotol Constants . . . . . . . . . . . . . . . . . . . . . . 30
   7.  Security Considerations  . . . . . . . . . . . . . . . . . . . 31
   8.  Future Work  . . . . . . . . . . . . . . . . . . . . . . . . . 32
   9.  References . . . . . . . . . . . . . . . . . . . . . . . . . . 33
     9.1.  Normative References . . . . . . . . . . . . . . . . . . . 33
     9.2.  Informative References . . . . . . . . . . . . . . . . . . 34
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 35
   Intellectual Property and Copyright Statements . . . . . . . . . . 36









































Sarikaya, et al.        Expires December 25, 2006               [Page 3]

Internet-Draft     CAPWAP Handover Protocol (CAPWAPHP)         June 2006


1.  Introduction

   The emergence of simple 802.11 Access Points [WPA] that are managed
   by a router (also known as an access controller, or AC) suggests that
   having a standardized, interoperable protocol called CAPWAP protocol
   could radically simplify the deployment and management of wireless
   networks, a trend that could become more important in new wireless
   Layer 2 protocols.

   CAPWAP WG architecture document [capwap-arch] defines several
   architectures for deploying IEEE WLANs.  CAPWAPHP is a protocol
   between the wireless termination points (WTP) and the access
   controller (AC) in order to manage the mobility of the stations (STA)
   in a single administrative domain.  The protocol architecture is
   shown in Figure 1.  WTP represents the physical device for an access
   point (AP).  CAPWAPHP borrows ideas from IEEE 802.11F, the Inter-
   Access Point Protocol (IAPP) [802.11f] which enables Access Points to
   exchange station context during Layer 2 handoffs.  IEEE has recently
   deprecated IAPP [draft-aboba-ieee802-rel].

   CAPWAPHP assumes a network configuration that consists of multiple
   WTPs connected either via layer 2 (Ethernet), or layer 3 (IP) to an
   AC.  The WTPs can be considered as remote RF interfaces, being
   controlled by the AC (see Figure 1) where AC could be connected to
   WTPs directly or there may be switched/ routed connections between
   the AC and WTPs.  In this version of CAPWAPHP, we support split-MAC
   and local-MAC WTPs and define a transport mechanism based on CAPWAP.
   Because of this CAPWAPHP can easily be incorporated into CAPWAP.

              +-+802.11 frames +-+ 802.3 frames  +-+
              +-+              +-+ Local MAC     +-+
              +-+    802.11 frames-Split MAC     +-+
              | |--------------------------------| |
              | |              +-+               | |
              | |--------------| |----- ------ --| |
              | |  802.11 PHY/ | |     CAPWAPHP  | |
              | | MAC sublayer | |               | |
              +-+              +-+               +-+
              STA              WTP                AC

   Figure 1: CAPWAPHP Architecture

   CAPWAPHP aims at reducing the authentication delay during Layer 2
   handoffs.  CAPWAPHP protocol operations are dependent of local MAC or
   split MAC WTPs.  CAPWAPHP can be implemented on local MAC or split
   MAC WTPs.

   This document describes the CAPWAPHP, a Layer 2 handover protocol



Sarikaya, et al.        Expires December 25, 2006               [Page 4]

Internet-Draft     CAPWAP Handover Protocol (CAPWAPHP)         June 2006


   that allows handover of STAs from one WTP to another be managed by
   the AC.  The rationale behind it is the fact that the AC manages a
   collection of WTPs and adding the task of handover management to the
   ACs is well warranted.  In CAPWAPHP, the STA to WTP protocol is based
   on IEEE 802.11 and the WTP to AC transport is completely based on
   CAPWAP.

   CAPWAPHP will be extended for 802.16 controller anchored handover
   management of 802.16e mobiles connected to 802.16 base stations.

   Goals

   The following are goals for this protocol:

   1. Provide smooth handover access to mobile stations when it enters
      the range of another WTP.

   2. For Local MAC WTPs, enable transfer of AAA context of a station
      among the neighboring WTPs.  Neighbors to an AP are determined by
      the neighbor graph which is maintained at the AC.  Handover time
      is reduced by AAA context transfer in the wired medium because the
      station can be authenticated faster.

   3. For Split MAC WTPs, all AAA context is stored at the AC not at the
      WTPs.  No context transfer is needed if all neighboring WTPs are
      Split MAP WTPs.

   4. Use the generic encapsulation and transport mechanism, provided by
      CAPWAP.

   5. Enable builtin security features to provide better protection for
      the WTPs and AC.

   6. Ensure that the station has an association with a single WTP and
      when the station does a handover to another WTP, ensure that
      forwarding tables of the switches are updated.

   The CAPWAPHP protocol concerns itself on the interface between the
   stations and the WTP as well as the WTP and the AC.  Inter-AC
   communication is strictly outside the scope of this document.  Direct
   mobile to AC communication is not possible unless AC is also the
   subnet router.

1.1.  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 BCP 14 RFC 2119



Sarikaya, et al.        Expires December 25, 2006               [Page 5]

Internet-Draft     CAPWAP Handover Protocol (CAPWAPHP)         June 2006


   [STANDARDS].

1.2.  Acknowledgements

   We gratefully acknowledge Dr. Charles Clancy for clarifying Split-MAC
   operation.













































Sarikaya, et al.        Expires December 25, 2006               [Page 6]

Internet-Draft     CAPWAP Handover Protocol (CAPWAPHP)         June 2006


2.  Protocol Overview

   CAPWAPHP is a handover protocol defining how the station context
   maintained at each WTP when STA was connected to the WTP is
   transferred to the new AP with the help of the neighbor graph
   maintained at the AC.

   CAPWAPHP messages and procedures defined in this document represent
   extensions to the CAPWAP protocol for the WTP to AC communication and
   they are triggered by STAs' handover interactions with the WTPs.
   CAPWAPHP Transport Layer (CTL) is based on CAPWAP Transport Layer and
   is defined in section 3 of [capwap].  CTL defines the framing,
   fragmentation/reassembly, and multiplexing services to CAPWAPHP.

   CAPWAPHP begins its operation after a discovery phase in which WTPs
   will select an Access Router (AC) with which to associate and
   followed by the configuration exchange in which WTPs are provisioned
   and are enabled for operation.  These are the phases defined in
   CAPWAP.

   CAPWAPHP handles smooth handover when a mobile station moves from one
   WTP to another WTP.  When a mobile station moves under the range of
   another WTP, it sends a ReAssociation Request to the WTP.  On
   receiving such a request from a mobile station, the Local MAC WTP
   sends an initiate handoff request to the AC (Hoff-Init).

   For both Local and Split MAC WTPs, authentication is based on IEEE
   802.11i.  Full 802.11i authentication is carried for the first time
   association of the stations.  CAPWAPHP transfers AAA context to the
   neighbor Local MAC WTPs so that when the station reassociates with a
   neighbor WTP, only 4-way handshake of 802.11i authentication can be
   carried.

   For Split MAC WTPs, the context is kept at the AC and no context
   transfer is needed.

2.1.  Description of the MOBILITY_CACHE Table

   Access controller stores a list which contains the MAC addresses of
   the station and the AP they are currently associated with.  This is
   required for security checks later on in the HOFF-INIT process.  Also
   the context information is stored here.

   The context block is similar to that of IAPP (AP Context Block)
   except that we have added an additional parameter, namely the AC
   session key context.  An specific example of AAA context to transfer
   between devices supporting IEEE 802.1X network port authentication is
   defined in [draft-aboba-context-802].



Sarikaya, et al.        Expires December 25, 2006               [Page 7]

Internet-Draft     CAPWAP Handover Protocol (CAPWAPHP)         June 2006


    ---------------------------------------------------------------
   | MAC Address of Station   | MAC Address of AP |  Context Block |
    ---------------------------------------------------------------
   |      1                   |     5             |   CB for STA 1 |
   |      2                   |     5             |   CB for STA 2 |
   |      3                   |     7             |   CB for STA 3 |
    ---------------------------------------------------------------
     where 1,2,3,5,7 represent MAC addresses CB - Context Block

   Figure 2: Sample MOBILITY_CACHE Table

   Because the MOBILITY_CACHE Table is soft-state i.e. it only exists
   for a certain timeout period, the WTPs monitor the activity of the
   mobile stations.  When they haven't had any activity for a long time,
   TIMEOUT_PERIOD, then WTPs send request to AC to remove entry from
   MOBILITY_CACHE Table.  Entries are added/updated as part of the
   Association and Re-association requests.

2.2.  Description of the Location Graph Concept

   The access controller (AC) stores a list as shown in the figure below
   for the purpose of keeping track of all the neighbour locations.

    --------------------------
   | Location A  | Location B |
    --------------------------
   |      1      |     2      |
   |      3      |     4      |
   |      5      |     8      |
   |      9      |     10     |
   |      3      |     2      |
    --------------------------

   Location A is the MAC address of AP and Location B is its location
   similar to the location Data of CAPWAP [capwap], (e.g. ???Next to
   Fridge???).  The WTPs during the discovery phase send a location
   field, specifying their location.  AC can use the location field in
   conjunction with the above list to build the neighbor graph for WTPs
   dynamically.  This list (Location Graph) is a static entity and must
   be instantiated (or loaded) during system startup.

2.3.  Description of the Neighbor Graph Concept

   The access controller (AC) stores a list as shown in the figure below
   for the purpose of keeping track of the neighbours (Representation of
   Figure 7 in [mishrashin2004]).





Sarikaya, et al.        Expires December 25, 2006               [Page 8]

Internet-Draft     CAPWAP Handover Protocol (CAPWAPHP)         June 2006


    ----------------------------------------------
   | Access Point ID   | Neighbour ID | Channels |
    ----------------------------------------------
   |      1            |     2        |  {2,6,8} |
   |      1            |     5        |  {6}     |
   |      2            |     1        |  {2,6,8} |
   |      2            |     3        |  {6}     |
   |      2            |     4        |  (6)     |
   |      2            |     5        |  (2,6,8) |
   |      3            |     2        |  (6)     |
    ----------------------------------------------
    where 1, 2, 3, 4, and 5 in the first two
          columns represent MAC addresses.

   Figure 4: Sample AC Neighbor Graph list

   The first column contains the access point id (MAC address) of the
   access point for which the neighbour has been stored.  Second column
   contains the MAC address of the neighbouring AP.  Third column
   contains a list of channels through which these two WTPs can
   communicate.  The neighbour graph is a dynamic entity and gets
   updated when an AP starts up during the discovery phase.  This
   neighbour graph (or list) is stored at the AC level and the AC acts
   as the management entity which co-ordinates the association/
   re-association requests.

2.4.  Definitions

   This Document uses terminology defined in [TERMS] and in [capwap-
   arch].





















Sarikaya, et al.        Expires December 25, 2006               [Page 9]

Internet-Draft     CAPWAP Handover Protocol (CAPWAPHP)         June 2006


3.  CAPWAPHP Packet Format

   All messages in CAPWAPHP are control messages.  CAPWAPHP does not
   provide any tunneling of user data between AC and WTPs but uses
   CAPWAP's tunneling.  CAPWAPHP protocol provides a communication
   channel between the WTP and the AC and has the distinct message types
   that are defined in Section 4.

   CAPWAPHP packet format follows CAPWAP control packet format as shown
   below:

             CAPWAP Control Packet (DTLS Security Required):
          +-----------------------------------------------------------+
          | IP  |UDP | DTLS | CAPWAP | Control | Message    | DTLS    |
          | Hdr |Hdr | Hdr  | Header | Header  | Element(s) | Trailer |
          +-----------------------------------------------------------+
                      \-------authenticated-----------------/
                             \------------encrypted-------------------/

   CAPWAPHP header has the same format as CAPWAP header defined in
   Section 4.1 of [capwap] when CAPWAP transport is used.

   All CAPWAPHP messages are sent encapsulated within the CAPWAPHP
   control header as the payload and have the format defined in Section
   4.3.1 of [capwap].

3.1.  Message Type

   The Message Type field of CAPWAPHP control header identifies the
   function of the CAPWAPHP message.  The valid values for Message Type
   Values are shown in Figure 5.  The 32-bit message type field value is
   obtained using these message type values and the formula:

   Message Type = IANA Enterprise Number * 256 + Message Type Value

   An example value for IANA Enterprise number is IEEE 802.11 IANA
   Enterprise number which is 13277.














Sarikaya, et al.        Expires December 25, 2006              [Page 10]

Internet-Draft     CAPWAP Handover Protocol (CAPWAPHP)         June 2006


           Description                       Value
           CAPWAP messages                   1-26
           Reserved                         27-59
           MOBILITY_CACHE Update Request       60
           MOBILITY_CACHE Update Response      61
           Location Update Request             62
           Location Update Response            63
           Associate Mobile-Request            64
           Associate Mobile-Reply              65
           Hoff-Init                           66
           Hoff-Init-Reply                     67
           Hoff-CachedContext                  70
           Hoff-CachedContext-Reply            71
           Hoff-CachedContext-Update           72
           Hoff-Notify                         75
           Context Transfer Data               0x3
           Context Transfer Data Reply         0x5
           Context Transfer Cancel             0x6

   Figure 5: Message Type Values

3.2.  Message Element

   CAPWAPHP messages carry zero or more message elements.  The message
   element(s) carry the information pertinent to each of the control
   message types.  The total length of the message elements is indicated
   in the Message Element Length field.

   The format of a message element uses the standard TLV format shown
   here:

      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                     |             Length            |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |   Value ...   |
     +-+-+-+-+-+-+-+-+

   Where Type identifies the character of the information carried in the
   Value field and Length indicates the number of bytes in the Value
   field.

3.3.  CAPWAPHP Message Elements

   CAPWAPHP messages MAY include a message element.  The supported
   message elements are defined in this section.




Sarikaya, et al.        Expires December 25, 2006              [Page 11]

Internet-Draft     CAPWAP Handover Protocol (CAPWAPHP)         June 2006


   The allowable values for the Type field are the following:

       Description                       Type

       CAPWAP Reserved                   1-24
       Location Data                       25
       CAPWAP Reserved                  26-27
       Result Code                         28
       CAPWAP Reserved                  29-60
       Context Block                       61
       MAC Addresses                       62
       IEEE 802.11 Message Elements 1024-2047

   CAPWAP types fields are as described in Section 4.3.1.1 of [capwap].

3.3.1.  MAC Address

   MAC address message element contains the MAC addresses.

      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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                         MAC Address                           |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |    MAC Address                |       MAC Address             |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                         MAC Address                           |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   MAC address message element normally carries Sta ID and old AP ID to
   which STA was attached that are of MAC Address Type.

   This message element MUST be included as the first message element in
   all CAPWAPHP messages.  This message element MAY be followed by zero
   or more message elements such as Context Block, Location Data, etc.
   Note that some of the CAPWAPHP messages described below do not carry
   any station ID fields, e.g.  MOBILITY_CACHE Update Response.  The
   length field MUST be set to zero for such messages.

3.3.2.  Location Data

   The location data message element is a variable length byte string
   containing user defined location information.  The string is NOT zero
   terminated.

3.3.3.  Result Code

   The result code message element value is a 32-bit integer value,



Sarikaya, et al.        Expires December 25, 2006              [Page 12]

Internet-Draft     CAPWAP Handover Protocol (CAPWAPHP)         June 2006


   indicating the result of the request operation corresponding to the
   sequence number in the message.

      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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                         Result Code                           |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Result Code:  The following values are supported

      0  Success

      1  Failure

      12 STALE_MOVE

      13 BAD_ASSOC

      14 NO_ASSOC

      15 HOFF_NOAUTH

3.3.4.  Context Block

   The Context Block is a container for information that needs to be
   forwarded from one AP to another upon reassociation of a STA.  The
   format of the Information Element is shown below.  AAA context
   containing selected fields from [draft-aboba-context-802] will be
   transported in this field.

      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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |    Length of Context Block   |     Session Key Payload        |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                          Session Key Payload                  |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                          Session Key Payload                  |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                          Session Key Payload                  |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                          Session Key Payload                  |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |  Session Key Payload         |    Context Block               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+





Sarikaya, et al.        Expires December 25, 2006              [Page 13]

Internet-Draft     CAPWAP Handover Protocol (CAPWAPHP)         June 2006


   Length of Context Block:  A 16-bit integer that indicates the number
      of octets in the Context Block field.

   Length of Session Key Payload: a 160-bit integer which is sent by the
      AC to the AP and includes the randomly generated session key,
      which is used to protect the CAPWAPHP control messages.

   Context Block:  variable length field that contains the context
      information being forwarded for the reassociated STA.










































Sarikaya, et al.        Expires December 25, 2006              [Page 14]

Internet-Draft     CAPWAP Handover Protocol (CAPWAPHP)         June 2006


4.  CAPWAPHP Messages

   The message type values are as given in Figure 5.  These messages
   contain the parameters as defined in Section 5.  Handoff-Init and
   Handoff-Init-Reply messages are not used in this version.

4.1.  Context Transfer Messages

   Context transfer related control messages are encapsulated into
   CAPWAPHP payload following the same format as in [CxTP] which is
   different than the other control messages described so far.

4.1.1.  Context Transfer Data  Message

   This message's Type is 0x3.  CTD message format is the same as in
   [CxTP] as follows:



































Sarikaya, et al.        Expires December 25, 2006              [Page 15]

Internet-Draft     CAPWAP Handover Protocol (CAPWAPHP)         June 2006


      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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |Vers.|   Type  |V|A| Reserved  |          Length               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |               Elapsed Time (in milliseconds)                  |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     ~            Mobile Node's Previous Care-of Address             ~
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     ~                   First Context Data Block                    ~
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     ~                    Next Context Data Block                    ~
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     ~                           ........                            ~
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

         Vers.                Version number of CXTP protocol = 0x1

         Type                 CTD =  0x3 (Context Transfer Data)
         'V' flag             When set to '0', IPv6 addresses.
                              When set to '1', IPv4 addresses.

         'A' bit              When set, the pAR requests an
                              acknowledgement.

         Length               Message length in units of octets.

         Elapsed Time         The number of milliseconds since the
                              transmission of the first CTD message for
                              this MN.

         MN's Previous IP Address Field contains either:
                              IPv4  Address, 4 octets, or
                              IPv6  Address, 16 octets.

         Context Data Block   The Context Data Block

4.1.2.  Context Transfer Data Reply Message

   This message's Type is 0x5.  Context Transfer Data Reply Message is
   the same as in [CxTP] as follows:










Sarikaya, et al.        Expires December 25, 2006              [Page 16]

Internet-Draft     CAPWAP Handover Protocol (CAPWAPHP)         June 2006


       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |Vers.|  Type   |V|S| Reserved  |          Length               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      ~             Mobile Node's Previous IP Address                 ~
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |        FPT (if present)       |  Status code  |   Reserved    |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      ~                           ........                            ~
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

         Vers.                Version number of CXTP protocol = 0x1

         Type                 CTDR = 0x5 (Context Transfer Data)

         'V' flag             When set to '0', IPv6 addresses.
                              When set to '1', IPv4 addresses.

         'S' bit              When set to one, this bit indicates
                              that all feature contexts sent in CTD
                              were received successfully.

         Reserved             Set to zero by the sender and ignored by
                              the receiver.

         Length               Message length in units of octets.

         MN's Previous IP Address Field contains either:
                              IPv4  Address, 4 octets, or
                              IPv6 Address, 16 octets.

         FPT                  16 bit unsigned integer, listing the Feature
                              Profile Type that is being acknowledged.

         Status Code          A context-specific return value,
                              zero for success, nonzero when 'S' is
                              not set to one.

4.1.3.  Context Transfer Cancel Message

   This message's Type is 0x6.  Context Transfer Cancel Message is the
   same as in [CxTP] as follows:








Sarikaya, et al.        Expires December 25, 2006              [Page 17]

Internet-Draft     CAPWAP Handover Protocol (CAPWAPHP)         June 2006


       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |Vers.|  Type   |V|   Reserved  |            Length             |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      ~               Mobile Node's Previous IP Address               ~
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

         Vers.                Version number of CXTP protocol = 0x1

         Type                 CTC = 0x6 (Context Transfer Cancel)

         Length               Message length in units of octets.

         'V' flag             When set to '0', IPv6 addresses.
                              When set to '1', IPv4 addresses.

         Reserved             Set to zero by the sender and ignored by
                              the receiver.

         MN's Previous IP Address Field contains either:
                              IPv4  Address, 4 octets, or
                              IPv6 Address, 16 octets.




























Sarikaya, et al.        Expires December 25, 2006              [Page 18]

Internet-Draft     CAPWAP Handover Protocol (CAPWAPHP)         June 2006


5.  Handoff Management in CAPWAPHP

   A Handoff occurs when a mobile station moves from one Wireless
   Termination Point (WTP) to another WTP.  This move could happen
   because of a number of reason such as the weakening of the strength
   of the signal from the current WTP.  During the handoff process,
   management frames are exchanged between station (STA) and the WTP.
   We present CAPWAPHP scenarios starting with the two scenarios of
   local MAC WTP case followed by the two scenarios of the split MAC WTP
   case.

   Context information also changes hand between the old WTP to the new
   WTP via the AC.  We use CxTP for context transfer [CxTP].

   In local MAC WTP cases below it is assumed that WTP is capable of
   supporting 802.1X/EAP and 802.11i authentication as well as key
   management.  WTP also has the AAA client installed.  CAPWAP
   specification on the other hand leaves 802.1X/EAP support and RSNA
   Key Management functions at the AC as well as AAA Client in Figure 6
   of [capwap].  Handoff management in that case is very similar to
   Split MAC WTP cases as presented in Section 5.3 and Section 5.4.

5.1.  First Time Association - Local MAC WTP

   When a WTP receives an 802.11 associate requests, it first performs
   any authentication necessary.  The WTP then sends the Associate
   Mobile Request (ASRq) to the AC.  This message is used by an WTP to
   inform the AC that a STA has requested an association with it via an
   802.11 associate request.

   ASRq contains the STA id of the mobile (MAC Address).

   {ASRq, STA id, old AP id}

   STA id and old AP id are of MAC Adress Type.

   With each unique (STA id (MAC Address)) received in an Associate-
   Mobile message, increment a COUNTER for that station.  If this
   counter exceeds a certain CAPWAPHP_MAX_ATTEMPT_COUNT within an
   CAPWAPHP_TIME_FRAME unit of time, an Associate-Mobile-Reply is
   generated indicating how long it should be ignored (in seconds), and
   denoted as Associate-Mobile-IGNORE.  This should prevent excess
   network traffic due to a malicious or malfunctioning STA.

   If none of these conditions are met, the AC send a Associate-Mobile-
   Reply (ASR) with the status of SUCCESS back to the WTP.

   After a successful association with the WTP, 802.1X/EAP



Sarikaya, et al.        Expires December 25, 2006              [Page 19]

Internet-Draft     CAPWAP Handover Protocol (CAPWAPHP)         June 2006


   authentication starts [802.11i].  AAA server is the authentication
   server (AS), WTP is the authenticator and STA is the supplicant.

      NAP    New AP
      ONAP   Old Neighbour AP
      NNAP   Neighbour APs
      OTAP   All non-neighbor APs
      STA         NAP         AC  AAA  ONAP       NNAP       OTAP
                                 Server
       |    ARq    |           |    |    |          |          |
       |---------->|           |    |    |          |          |
       |           |   ASRq    |    |    |          |          |
       |           |---------->|    |    |          |          |
       |           |           |    |    |          |          |
       |           |           |    |    |          |          |
       |           |   ASR     |    |    |          |          |
       |           |<----------|    |    |          |          |
       |    AR     |           |    |    |          |          |
       |<----------|           |    |    |          |          |
       /----------------------------\
       |802.1X EAP authentication   |
       \----------------------------/
       |           |  H-CC-U   |         |          |          |
       |           |---------->|         |          |          |
       /-----------\           |       CTD          |          |
       |802.11i    |           |------------------->|          |
       |4-way HS   |           |H-Notify |          |          |
       \-----------/           |------------------------------>|
       |           |Update
       |           |------>    |         |          |          |
      1) ARq    ASSOCIATE REQUEST
      2) ASRq   Associtate Mobile Request
      3) ASR    Associate Mobile Reply
      4) AR     ASSOCIATE RESPONSE
      802.1X/EAP Authentication
      5) H-CC-U Hoff-CachedContext-Update
      802.11i 4 way handshake Occurs
      6) CTD    Context Transfer Data
      7) H-Notify Hoff-Notify (to all non-neighbor APs)
      8) Update  Frame

   Figure 6: Scenario 1- Local MAC WTP

   If 802.1X/EAP authentication succeeds indicating successful handoff,
   a Pairwise Master Key (PMK) is generated.  The new AP sends the AAA
   context to AC with Hoff-CachedContext-Update (H-CC-U) message.

   The format of the message is:



Sarikaya, et al.        Expires December 25, 2006              [Page 20]

Internet-Draft     CAPWAP Handover Protocol (CAPWAPHP)         June 2006


   {Hoff-CachedContext-Update, AP Id, status, context block}

   AP id is of MAC Adress Type and carries WTP MAC address and status is
   of Result Code Type and has the value success and the context block
   contains the AAA context including PMK.

   The new AP and STA are next involved in 802.11i 4-way handshake in
   order to generate the session key TK and other keys, e.g.  GTK.

   When AC receives Hoff-CachedContext-Update message, it initiates the
   context update procedures.  AC sends Context Transfer Data (CTD)
   message to all neighbor WTPs.  WTPs receiving CTD first remove any
   stale associations with the STA and then cache the AAA context into
   their MOBILITY_CACHE table.  AC can request an acknowledgement of CTD
   by setting the A bit, then WTPs respond with a Context Transfer Data
   Reply (CTDR) message.  When a STA reassociates with this WTP, the
   table is consulted and if there is a matching entry, the STA context
   is activated in order to avoid a full 802.1X/EAP authentication
   exchange.

   After the context transfer, handoff related messaging takes place.
   AC sends Hoff-Notify message (H-Notify) to all non neighbor WTPs.
   Hoff-Notify message contains only MAC address of the station that has
   associated with the WTP.

   (Hoff-Notify STA id)

   WTPs receive Hoff-Notify message remove any stale associations they
   may have with the station whose MAC address was in the message.
   Hoff-Notify message has the purpose of ensuring that a station is
   associated with a single WTP at a given time.

   Upon successful handoff, WTP sends a Layer 2 Update frame to the
   distribution system (DS) in order to update forwarding tables in
   switches.  Details are in Figure 10.  If any other status message is
   received then failure status is returned back to the mobile station.

   See Figure 6.













Sarikaya, et al.        Expires December 25, 2006              [Page 21]

Internet-Draft     CAPWAP Handover Protocol (CAPWAPHP)         June 2006


5.2.  Reassociation - Local MAC WTP

   NAP    New AP
   OAP    Old AP
   ONAP   Old Neighbour AP
   NNAP   Neighbour APs

   STA         NAP         AC        OAP       ONAP        NNAP
    |   RARq    |           |         |          |           |
    |---------->|           |         |          |           |
    |           |    H-CC   |         |          |           |
    |           |---------->|         |          |           |
    |           |           |         |          |           |
    |           |  H-CC-R   |         |          |           |
    |           |<----------|         |          |           |
    |   RAR     |           |         |          |           |
    |<----------|           |         |          |           |
    /-----------\
    |802.11i    |
    |4-way HS   |
    \-----------/
    |           |  H-CC-U   |         |          |           |
    |           |---------->|         |          |           |
    |           |           |         |  CTC     |           |
    |           |           |---------+--------->|           |
    |           |           |         |          |  CTD      |
    |           |           |-------->+----------+---------->|
    |           |           |         |          |           |

   1) RARq   RE-ASSOCIATE REQUEST
   2) H-CC    Hoff-CachedContext
   3) H-CC-R  Hoff-CachedContext-Reply
   4) RAR    RE-ASSOCIATE RESPONSE
   802.11i  4-way Handshake Occurs
   5) H-CC-U Hoff-CachedContext-Update
   6) CTC Context Transfer Cancel (to all ONAP)
   7) CTD Context Transfer Data (to OAP and all NNAP)

   Figure 7: Scenario 2 - Local MAC WTP

   In case STA hands over to a neighboring WTP that has already cached
   STA context, the signaling shown in Figure 7 is used.  When a mobile
   station moves under the range of another WTP, it sends a
   ReAssociation Request to the AP.  On receiving such a request from a
   mobile station, the WTP sends an initiate handoff request to the AC
   (Hoff-CachedContext).  This indicates that the STA was previously
   associated with one of the WTP's known neighbours.




Sarikaya, et al.        Expires December 25, 2006              [Page 22]

Internet-Draft     CAPWAP Handover Protocol (CAPWAPHP)         June 2006


   The message contains the STA id (MAC Address) of the mobile, and the
   id of the WTP (MAC Address) the STA used to be associated with.

   {Hoff-CachedContext, STA id (MAC Address), old AP id (MAC Address)}

   STA id and old AP id are of MAC Adress Type.

   If authorization is granted, it also confirms the previous
   association and checks whether it matches with what the station is
   claiming.  For this, the MOBILITY_CACHE table can be used.  If no
   association or a different association is found then appropriate
   error messages are returned(NO_ASSOC or BAD_ASSOC) and the station
   must attempt a fresh association.

   With each unique (STA id (MAC Address), old AP id (MAC Address)) pair
   received in a Hoff-CachedContext message, AC increments a counter for
   that pair.  If this counter exceeds CAPWAPHP_MAX_ATTEMPT_COUNT within
   an CAPWAPHP_TIME_FRAME unit of time, a Hoff-CachedContext-Reply is
   generated indicating how long it should be ignored (in seconds), and
   denoted as HOFF-IGNORE.  This should prevent excess network traffic
   due to a malicious or malfunctioning STA.

   If everything checks out, a successful Hoff-CachedContext-Reply is
   generated.

   The format of the reply is:

   {Hoff-CachedContext-Reply, STA id (MAC Address),status}

   STA id is of MAC Adress Type and status is of Result Code Type.

   Next 802.11i 4-way handshake will occur between STA and WTP.  This
   will create new AAA context for STA.  WTP sends Hoff-CachedContext-
   Update (H-CC-U) message to AC in order to update STA's context.

   When AC receives this message, it initiates the context update
   procedures.  First a Context Transfer Cancel (CTC) message is sent to
   the old WTP.  This message also serves to cancel any stale
   association with the old WTP.  Next, Context Transfer Data message is
   sent to the old WTP and all other neighboring WTPs and it carries the
   new context.

   WTPs receiving CTC search STA entry in their MOBILITY_CACHE table and
   delete it if one is found.

   For WTPs receiving CTD, the action is the same as described in
   Section 5.1.




Sarikaya, et al.        Expires December 25, 2006              [Page 23]

Internet-Draft     CAPWAP Handover Protocol (CAPWAPHP)         June 2006


   See Figure 7.

5.3.  First Time Association - Split MAC

   When a Split MAC WTP receives an 802.11 associate requests ARq is
   tunneled to the AC.

   AC sends a reply frame to WTP with the status of SUCCESS.  The reply
   also indicates that a full 802.1X/EAP authentication is needed.
   CAPWAP Config Request message containing Add Mobile and Mobile
   Session Key message elements sent from AC to WTP can be used.  In the
   Mobile Session Key message element A-bit MUST be set to one.

   After a successful association with the WTP, 802.1X/EAP
   authentication starts.  AAA server is the authentication server (AS)
   and STA is the supplicant.  WTP acts like an authenticator to the STA
   and it tunnels all replies to AC to be processed at the AC.  AC keeps
   the resulting key context, i.e.  PMK.

































Sarikaya, et al.        Expires December 25, 2006              [Page 24]

Internet-Draft     CAPWAP Handover Protocol (CAPWAPHP)         June 2006


      NAP    New AP
      ONAP   Old Neighbour AP
      NNAP   New Neighbour AP
      OTAP   All non-neighbor APs
      STA         NAP         AC      AAA Server       NNAP       OTAP

       |    ARq    |           |         |          |          |
       |---------->|           |         |          |          |
       |           |---------->|         |          |          |
       |           |---------->|         |          |          |
       |           |           |         |          |          |
       |           |           |         |          |          |
       |           |<----------|         |          |          |
       |           |<----------|         |          |          |
       |    AR     |           |         |          |          |
       |<----------|           |         |          |          |
       /---------------------------------\
       |802.1X/EAP authentication        |
       \---------------------------------/
       /-----------------------\
       |802.11i 4 way HS       |
       \-----------------------/
       |           |Add Mobile |
       |           |<----------|
       |           |Update     |
       |           |------>    |
      1) ARq    ASSOCIATE REQUEST
      2) ARq tunneled
      3) AR tunneled
      4) AR     ASSOCIATE RESPONSE
      802.11i     Authentication Occurs
      5) Hoff CachedContext-Update H-CC-U
      6) Update  Frame

   Figure 8: Scenario 3 - Split MAC WTP

   Next, 802.11i 4-way handshake is performed between STA and AC to
   derive TK.  AC sends the new context to WTP in CAPWAP Config Request
   message.  CAPWAP Config Request message MUST contain Add Mobile and
   Mobile Session Key message elements.  In the Mobile Session Key
   message element A-bit MUST be set to zero.  Key field MUST contain
   the TK.

   AC keeps the AAA context and no context transfer related messaging
   occurs.

   After the context is transferred to STA, handoff related messaging
   takes place.  If all WTPs are split-MAC WTPs then AC keeps all the



Sarikaya, et al.        Expires December 25, 2006              [Page 25]

Internet-Draft     CAPWAP Handover Protocol (CAPWAPHP)         June 2006


   association state centrally and it does not need to send Hoff-Notify
   message (H-Notify) to all non neighbor WTPs to remove any stale
   associations they may have with the station whose MAC address was in
   the message.

   Upon successful handoff, WTP sends a Layer 2 Update frame to the
   distribution system in order to update forwarding tables in switches.
   Details are in Figure 10.  If any other status message is received
   then failure status is returned back to the mobile station.

   See Figure 8.

5.4.  Reassociation - Split MAC

   NAP    New AP
   OAP    Old AP
   ONAP   Old Neighbour AP
   NNAP   New Neighbour AP

   STA         NAP         AC        OAP       ONAP        NNAP
    |   RARq    |           |         |          |           |
    |---------->|           |         |          |           |
    |           |---------->|         |          |           |
    |           |---------->|         |          |           |
    |           |           |         |          |           |
    |           |<----------|         |          |           |
    |           |<----------|         |          |           |
    |   RAR     |           |         |          |           |
    |<----------|           |         |          |           |
    /-----------------------\
    |802.11i 4-way HS       |
    \-----------------------/
    |           |Add Mobile |
    |           |<----------|
   1) RARq   RE-ASSOCIATE REQUEST
   2) RARq tunneled
   3) RAR tunneled
   4) RAR    RE-ASSOCIATE RESPONSE
   802.11i  4-way Handshake Occurs
   5) Hoff CachedContext-Update H-CC-U

   Figure 9: Scenario 4 - Split MAC WTP

   STA reassociates with a neighboring Split MAC WTP.  It sends a
   Reassociate Request Frame.  This frame is tunneled to AC.

   AC sends a reply frame to WTP with the status of SUCCESS.  CAPWAP
   Config Request message containing Add Mobile and Mobile Session Key



Sarikaya, et al.        Expires December 25, 2006              [Page 26]

Internet-Draft     CAPWAP Handover Protocol (CAPWAPHP)         June 2006


   message elements is sent from AC to WTP.  In the Mobile Session Key
   message element A-bit MUST be set to one.  This indicates that
   802.11i 4-way handshake is needed.

   After a successful association with the WTP, and since WTP has STA
   context which is kept at AC, only 4-way exchange of 802.11i
   authentication is executed. 4-way handshake involves STA and AC and
   WTP does the bridging. 4-way handshake is triggered by AC picking up
   ANonce and then sending EAPoL-Key frame to WTP.  At the end of 4-way
   handshake, the new context created is kept at the AC.  When 4-way
   handshake terminates, AC sends CAPWAP Config Request message
   containing Add Mobile and Mobile Session Key message elements to WTP.
   In the Mobile Session Key message element A-bit MUST be set to zero.
   In some cases, TK is needed at WTP.  In that case, AC transfers the
   TK to WTP in the Key field of Mobile Session Key message element.

   See Figure 9.

5.5.  MOBILITY_CACHE Update Request

   The MOBILITY_CACHE Update Request is sent by the AP to the AC to
   delete the entry for the specified mobile station from the
   MOBILITY_CACHE Table.

5.5.1.  Sending MOBILITY_CACHE Update Requests

   APs monitor stations associated with them for activity.  If no
   activity is seen for TIMOUT_PERIOD then AP send MOBILITY_CACHE Update
   Requests to AC.  Thus, station id (MAC address) is required as part
   of the message.

5.5.2.  Format of a MOBILITY_CACHE Update Request

   The MOBILITY_CACHE Update Request carries the following message
   elements:

       Station ID (MAC address)

5.5.3.  Receiving MOBILITY_CACHE Update Requests

   When an AC receives a MOBILITY_CACHE Update Request it deletes the
   corresponding entry from the MOBILITY_CACHE Table.  It then responds
   with a MOBILITY_CACHE Update Response.

5.6.  MOBILITY_CACHE Update Response

   The MOBILITY_CACHE Update Response is sent by AC to AP to inform the
   AP whether the request to delete the station was successful or not.



Sarikaya, et al.        Expires December 25, 2006              [Page 27]

Internet-Draft     CAPWAP Handover Protocol (CAPWAPHP)         June 2006


5.6.1.  Sending MOBILITY_CACHE Update Responses

   MOBILITY_CACHE Update Responses are sent by a AC after receiving a
   MOBILITY_CACHE Update Request.  Response is a status element (SUCCESS
   or FAILURE).

5.6.2.  Format of a MOBILITY_CACHE Update Response

   The MOBILITY_CACHE Update Response carries the following message
   elements:

       Status

5.6.3.  Receiving MOBILITY_CACHE Update Responses

   No action is required on receiving MOBILITY_CACHE Update Responses.

5.7.  Location Update Request

   The Location Update Request MAY be sent by the AP to the AC after
   receiving a (Re)Associate request.

5.7.1.  Sending Location Update Requests

   AP sends Location Update request so that the neighbour graph list can
   be updated.  This requires the location information of the AP.

5.7.2.  Format of a Location Update Request

   The Location Update Request carries the following message elements:

       Location Data

5.7.3.  Receiving Location Update Requests

   When a AC receives a Location Update Request it first checks to see
   if it can find location data in the MOBILITY_CACHE Table.  If the
   data is same then it turns the flags on in the Neighbour graph list
   to make AP-neighbour pairs active.  If entry is not found or is not
   the same (location has changed) then it deletes all entries from the
   neighbour graph list corresponding to that AP and then finds all the
   new neighbours of the AP depending upon the passed in location
   information and the location graph list stored at the AC.  It then
   adds entries for all neighbours in the neighbour graph list.
   Finally, AC responds back with a Location Update Response message.






Sarikaya, et al.        Expires December 25, 2006              [Page 28]

Internet-Draft     CAPWAP Handover Protocol (CAPWAPHP)         June 2006


5.8.  Location Update Response

   The Location Update Response is sent by AC to AP to inform the AP
   whether the request to update the location of AP was successful or
   not.

5.8.1.  Sending Location Update Responses

   Location Update Responses are sent by a AC after receiving a Location
   Update Request.  Response is a status element (SUCCESS or FAILURE).

5.8.2.  Format of a Location Update Response

   The Location Update Response carries the following message elements:

       Status

5.8.3.  Receiving Location Update Responses

   No action is required on receiving Location Update Responses.

5.9.  Layer 2 Update Frame Details

   Layer 2 Update frame has the format shown in Figure 10.

          +--------------------------------------------------------+
          | MAC DA | MAC SA | Length | DSAP | SSAP | Control | XID |
          +--------------------------------------------------------+
          |     6  |   6    |   2    |  1   |  1   |    1    |  3  |
          +--------------------------------------------------------+

   Figure 10: L2 Update Frame Format

   where MAC DA takes 6 octets and is the broadcast MAC address, MAC SA
   is 6 octets and is the MAC address of STA that has just been
   associated/ reassociated successfully.  The Length field is set to 8
   octets.  The values of both DSAP and SSAP fields of length 1 octet is
   null.  The Control field is of length 1 octet, XID Information Field
   is of length 3 octets.  Control and XID fields are defined in
   [802.2].











Sarikaya, et al.        Expires December 25, 2006              [Page 29]

Internet-Draft     CAPWAP Handover Protocol (CAPWAPHP)         June 2006


6.  Procotol Constants

      CAPWAPHP_MAX_ATTEMPT_COUNT 32

      CAPWAPHP_TIME_FRAME 60s

      CAPWAPHP_DOS_WAIT_TIME 3600s












































Sarikaya, et al.        Expires December 25, 2006              [Page 30]

Internet-Draft     CAPWAP Handover Protocol (CAPWAPHP)         June 2006


7.  Security Considerations

   Security Concerns raised in CAPWAP are also valid for the CAPWAPHP.
   CAPWAPHP secures all the message exchange with DTLS [dtls] as in
   CAPWAP.

   There are primarily two main security concerns: DOS attacks and
   malicious mobile trying to illegally gain entrance to the network.

   1. Denial Of Service attacks are one of the main security issues that
      can be faced by a mobile network.  CAPWAPHP provides mechanisms to
      overcome such a situation if it ever arises.  WTPs route the
      association/re-association requests to the AC.  AC processes these
      requests and informs the AP of how to respond.  If AC receives
      more than a certain threshold of association/re-assoication
      requests (CAPWAPHP_MAX_ATTEMPT_COUNT as defined in protocol
      constants section) within a certain time period
      (CAPWAPHP_TIME_FRAME as defined in protocol constants section)
      then AC assumes a DOS attack is being presented to it or there is
      some malicious activity going on at the mobile end.  It then,
      informs the AP to ignore any further communication from that
      mobile (using the MAC address) for CAPWAPHP_DOS_WAIT_TIME (defined
      in protocol constants section) before opening communication with
      that mobile again.

   2. Another important security concern is when a mobile station is
      trying to maliciously assume another mobile's MAC address in order
      to gain entry to the network.  To avoid such a situation, when a
      mobile station requests a re-association with an AP, the mobile
      station is required to send in MAC address and the id (MAC
      address) of the AP it was previously associated with.  This is
      passed onto the AC by the AP.  AC then checks whether the entry it
      has in its MOBILITY_CACHE table is the same as the one being sent
      by the AP.  If so, then access is allowed.  If not, then AC
      assumes that it is an attempt to breach security and it doesn't
      allow access to the network.















Sarikaya, et al.        Expires December 25, 2006              [Page 31]

Internet-Draft     CAPWAP Handover Protocol (CAPWAPHP)         June 2006


8.  Future Work

   Future versions of this document will contain, apart from the
   scenarios not yet covered, the following:

   A new section on fast roaming.  This section will address IEEE
   802.11r results [802.11r].  In particular, the need to use 802.11
   authentication phase, the new key hierarchy and preauthentication
   will be addressed.

   A new section on inter domain roaming.  In particular, the issues
   involved when roaming to a new domain requiring the change of an AC
   will be addressed.

   Clarify CAPWAP operation when CAPWAPHP is used.




































Sarikaya, et al.        Expires December 25, 2006              [Page 32]

Internet-Draft     CAPWAP Handover Protocol (CAPWAPHP)         June 2006


9.  References

9.1.  Normative References

   [802.11f]  "IEEE Std 802.11F: IEEE Trial-Use Recommended Practice for
              Multi-Vendor Access Point Interoperability via an Inter-
              Access Point Protocol Across Distribution  Systems
              Supporting IEEE 802.11 Operation", July 2003.

   [802.11i]  "IEEE Std 802.11i-2004: 802.11 Medium Access Control (MAC)
              Security enhancements", July 2004.

   [802.11r]  "IEEE Std 802.11r/D2.1: 802.11 Fast BSS Transition",
              May 2006.

   [802.2]    "IEEE Std 802.2: Logical Link Control", May 1998.

   [CxTP]     Loughney, J., Nakhjiri, M., Perkins, C., and R. Koodli,
              "Context Transfer Protocol (CXTP)", RFC 4067, July 2005,
              <ftp://ftp.isi.edu/in-notes/rfc4067.txt>.

   [STANDARDS]
              "Key words for use in RFCs to Indicate Requirement
              Levels", RFC 2119, October 1997,
              <ftp://ftp.isi.edu/in-notes/rfc2119.txt>.

   [TERMS]    Manner, J. and M. Kojo, "Mobility Related Terminology",
              June 2004, <ftp://ftp.isi.edu/in-notes/rfc3753.txt>.

   [WPA]      "WiFi Protected Access (WPA) rev 1.6", April 2003.

   [capwap]   Calhoun, P., Montemurro, M., and D. Stanley, "CAPWAP
              Protocol Specification", June 2006, <http://www.ietf.org/
              internet-drafts/
              draft-ietf-capwap-protocol-specification-02.txt>.

   [capwap-arch]
              Yang, L., Zerfos, P., and E. Sadot, "Architecture Taxonomy
              for Control and Provisioning of Wireless Access
              Points(CAPWAP)", June 2005,
              <http://ietf.org/rfc/rfc4118.txt>.

   [dtls]     Escorla, E. and N. Modadugu, "Datagram Transport Layer
              Security", April 2006,
              <http://www.ietf.org/rfc/rfc4347.txt>.






Sarikaya, et al.        Expires December 25, 2006              [Page 33]

Internet-Draft     CAPWAP Handover Protocol (CAPWAPHP)         June 2006


9.2.  Informative References

   [draft-aboba-context-802]
              Aboba, B. and T. Moore, "A Model for Context Transfer in
              IEEE 802", October 2003, <http://ietfreport.isoc.org/
              idref/draft-aboba-context-802/>.

   [draft-aboba-ieee802-rel]
              Bell, L., Romanascu, D., and B. Aboba, "History of the
              IEEE 802/IETF Relationship", April 2005, <http://
              ietfreport.isoc.org/idref/draft-aboba-ieee802-rel/>.

   [mishrashin2004]
              Mishra, A., Shin, M., Petroni, N., Clancy, C., and W.
              Arbaugh, "Proactive Key Distribution Using Neighbor
              Graphs", IEEE Wireless Communications pp.26-36,
              February 2004, <http://www.cs.umd.edu/~mhshin/paper/
              mishra2004proactive.pdf>.

































Sarikaya, et al.        Expires December 25, 2006              [Page 34]

Internet-Draft     CAPWAP Handover Protocol (CAPWAPHP)         June 2006


Authors' Addresses

   Behcet Sarikaya
   Huawei USA
   1700 Alma Dr. Suite 100
   Plano, TX  75075

   Phone:
   Email: sarikaya@ieee.org


   Robert Jaksa
   Huawei USA
   1700 Alma Dr. Suite 100
   Plano, TX  75075

   Phone: +1 972-509-5599
   Email: rjaksa@huawei.com


   Carl Williams
   Huawei USA
   1700 Alma Dr. Suite 100
   Plano, TX  75075

   Phone: +1 972-509-5599
   Email: carlw@mcsr-labs.org
























Sarikaya, et al.        Expires December 25, 2006              [Page 35]

Internet-Draft     CAPWAP Handover Protocol (CAPWAPHP)         June 2006


Intellectual Property Statement

   The IETF takes no position regarding the validity or scope of any
   Intellectual Property Rights or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; nor does it represent that it has
   made any independent effort to identify any such rights.  Information
   on the procedures with respect to rights in RFC documents can be
   found in BCP 78 and BCP 79.

   Copies of IPR disclosures made to the IETF Secretariat and any
   assurances of licenses to be made available, or the result of an
   attempt made to obtain a general license or permission for the use of
   such proprietary rights by implementers or users of this
   specification can be obtained from the IETF on-line IPR repository at
   http://www.ietf.org/ipr.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights that may cover technology that may be required to implement
   this standard.  Please address the information to the IETF at
   ietf-ipr@ietf.org.


Disclaimer of Validity

   This document and the information contained herein are provided on an
   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
   OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
   ENGINEERING TASK FORCE DISCLAIM 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.


Copyright Statement

   Copyright (C) The Internet Society (2006).  This document is subject
   to the rights, licenses and restrictions contained in BCP 78, and
   except as set forth therein, the authors retain all their rights.


Acknowledgment

   Funding for the RFC Editor function is currently provided by the
   Internet Society.




Sarikaya, et al.        Expires December 25, 2006              [Page 36]