Internet DRAFT - draft-ohara-capwap-lwapp

draft-ohara-capwap-lwapp






Control and Provisioning of                                   P. Calhoun
Wireless Access Points Working                                 B. O'Hara
Group                                                            R. Suri
Internet-Draft                                             N. Cam Winget
Intended status: Informational                       Cisco Systems, Inc.
Expires: September 3, 2007                                      S. Kelly
                                                 Facetime Communications
                                                             M. Williams
                                                             Nokia, Inc.
                                                                S. Hares
                                              Nexthop Technologies, Inc.
                                                           March 2, 2007


                   Light Weight Access Point Protocol
                    draft-ohara-capwap-lwapp-04.txt

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 September 3, 2007.

Copyright Notice

   Copyright (C) The IETF Trust (2007).






Calhoun, et al.         Expires September 3, 2007               [Page 1]

Internet-Draft     Light Weight Access Point Protocol         March 2007


Abstract

   In the recent years, there has been a shift in wireless LAN product
   architectures from autonomous access points to centralized control of
   light weight access points.  The general goal has been to move most
   of the traditional wireless functionality such as access control
   (user authentication and authorization), mobility and radio
   management out of the access point into a centralized controller.

   The IETF's CAPWAP WG has identified that a standards based protocol
   is necessary between a wireless Access Controller and Wireless
   Termination Points (the latter are also commonly referred to as Light
   Weight Access Points).  This specification defines the Light Weight
   Access Point Protocol (LWAPP), which addresses the CAPWAP's protocol
   requirements.  Although the LWAPP protocol is designed to be flexible
   enough to be used for a variety of wireless technologies, this
   specific document describes the base protocol, and an extension that
   allows it to be used with the IEEE's 802.11 wireless LAN protocol.

































Calhoun, et al.         Expires September 3, 2007               [Page 2]

Internet-Draft     Light Weight Access Point Protocol         March 2007


Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   8
     1.1.   Conventions used in this document  . . . . . . . . . . .   9
   2.  Protocol Overview . . . . . . . . . . . . . . . . . . . . . .  10
     2.1.   Wireless Binding Definition  . . . . . . . . . . . . . .  11
     2.2.   LWAPP State Machine Definition . . . . . . . . . . . . .  12
   3.  LWAPP Transport Layers  . . . . . . . . . . . . . . . . . . .  21
     3.1.   LWAPP Transport Header . . . . . . . . . . . . . . . . .  21
       3.1.1.   VER Field  . . . . . . . . . . . . . . . . . . . . .  21
       3.1.2.   RID Field  . . . . . . . . . . . . . . . . . . . . .  21
       3.1.3.   C Bit  . . . . . . . . . . . . . . . . . . . . . . .  21
       3.1.4.   F Bit  . . . . . . . . . . . . . . . . . . . . . . .  21
       3.1.5.   L Bit  . . . . . . . . . . . . . . . . . . . . . . .  22
       3.1.6.   Fragment ID  . . . . . . . . . . . . . . . . . . . .  22
       3.1.7.   Length . . . . . . . . . . . . . . . . . . . . . . .  22
       3.1.8.   Status and WLANS . . . . . . . . . . . . . . . . . .  22
       3.1.9.   Payload  . . . . . . . . . . . . . . . . . . . . . .  22
     3.2.   Using IEEE 802.3 MAC as LWAPP transport  . . . . . . . .  22
       3.2.1.   Framing  . . . . . . . . . . . . . . . . . . . . . .  23
       3.2.2.   AC Discovery . . . . . . . . . . . . . . . . . . . .  23
       3.2.3.   LWAPP Message Header format over IEEE 802.3 MAC
                transport  . . . . . . . . . . . . . . . . . . . . .  23
       3.2.4.   Fragmentation/Reassembly . . . . . . . . . . . . . .  23
       3.2.5.   Multiplexing . . . . . . . . . . . . . . . . . . . .  24
     3.3.   Using IP/UDP as LWAPP transport  . . . . . . . . . . . .  24
       3.3.1.   Framing  . . . . . . . . . . . . . . . . . . . . . .  24
       3.3.2.   AC Discovery . . . . . . . . . . . . . . . . . . . .  24
       3.3.3.   LWAPP Message Header format over IP/UDP transport  .  25
       3.3.4.   Fragmentation/Reassembly for IPv4  . . . . . . . . .  26
       3.3.5.   Fragmentation/Reassembly for IPv6  . . . . . . . . .  26
       3.3.6.   Multiplexing . . . . . . . . . . . . . . . . . . . .  26
   4.  LWAPP Packet Definitions  . . . . . . . . . . . . . . . . . .  27
     4.1.   LWAPP Data Messages  . . . . . . . . . . . . . . . . . .  27
     4.2.   LWAPP Control Messages Overview  . . . . . . . . . . . .  27
       4.2.1.   Control Message Format . . . . . . . . . . . . . . .  28
       4.2.2.   Message Element Format . . . . . . . . . . . . . . .  30
       4.2.3.   Quality of Service . . . . . . . . . . . . . . . . .  31
   5.  LWAPP Discovery Operations  . . . . . . . . . . . . . . . . .  32
     5.1.   Discovery Request  . . . . . . . . . . . . . . . . . . .  32
       5.1.1.   Discovery Type . . . . . . . . . . . . . . . . . . .  33
       5.1.2.   WTP Descriptor . . . . . . . . . . . . . . . . . . .  33
       5.1.3.   WTP Radio Information  . . . . . . . . . . . . . . .  34
     5.2.   Discovery Response . . . . . . . . . . . . . . . . . . .  35
       5.2.1.   AC Address . . . . . . . . . . . . . . . . . . . . .  35
       5.2.2.   AC Descriptor  . . . . . . . . . . . . . . . . . . .  36
       5.2.3.   AC Name  . . . . . . . . . . . . . . . . . . . . . .  37
       5.2.4.   WTP Manager Control IPv4 Address . . . . . . . . . .  37



Calhoun, et al.         Expires September 3, 2007               [Page 3]

Internet-Draft     Light Weight Access Point Protocol         March 2007


       5.2.5.   WTP Manager Control IPv6 Address . . . . . . . . . .  38
     5.3.   Primary Discovery Request  . . . . . . . . . . . . . . .  38
       5.3.1.   Discovery Type . . . . . . . . . . . . . . . . . . .  39
       5.3.2.   WTP Descriptor . . . . . . . . . . . . . . . . . . .  39
       5.3.3.   WTP Radio Information  . . . . . . . . . . . . . . .  39
     5.4.   Primary Discovery Response . . . . . . . . . . . . . . .  39
       5.4.1.   AC Descriptor  . . . . . . . . . . . . . . . . . . .  39
       5.4.2.   AC Name  . . . . . . . . . . . . . . . . . . . . . .  39
       5.4.3.   WTP Manager Control IPv4 Address . . . . . . . . . .  40
       5.4.4.   WTP Manager Control IPv6 Address . . . . . . . . . .  40
   6.  Control Channel Management  . . . . . . . . . . . . . . . . .  41
     6.1.   Join Request . . . . . . . . . . . . . . . . . . . . . .  41
       6.1.1.   WTP Descriptor . . . . . . . . . . . . . . . . . . .  42
       6.1.2.   AC Address . . . . . . . . . . . . . . . . . . . . .  42
       6.1.3.   WTP Name . . . . . . . . . . . . . . . . . . . . . .  42
       6.1.4.   Location Data  . . . . . . . . . . . . . . . . . . .  42
       6.1.5.   WTP Radio Information  . . . . . . . . . . . . . . .  43
       6.1.6.   Certificate  . . . . . . . . . . . . . . . . . . . .  43
       6.1.7.   Session ID . . . . . . . . . . . . . . . . . . . . .  43
       6.1.8.   Test . . . . . . . . . . . . . . . . . . . . . . . .  44
       6.1.9.   XNonce . . . . . . . . . . . . . . . . . . . . . . .  44
     6.2.   Join Response  . . . . . . . . . . . . . . . . . . . . .  44
       6.2.1.   Result Code  . . . . . . . . . . . . . . . . . . . .  45
       6.2.2.   Status . . . . . . . . . . . . . . . . . . . . . . .  45
       6.2.3.   Certificate  . . . . . . . . . . . . . . . . . . . .  46
       6.2.4.   WTP Manager Data IPv4 Address  . . . . . . . . . . .  46
       6.2.5.   WTP Manager Data IPv6 Address  . . . . . . . . . . .  47
       6.2.6.   AC IPv4 List . . . . . . . . . . . . . . . . . . . .  47
       6.2.7.   AC IPv6 List . . . . . . . . . . . . . . . . . . . .  48
       6.2.8.   ANonce . . . . . . . . . . . . . . . . . . . . . . .  48
       6.2.9.   PSK-MIC  . . . . . . . . . . . . . . . . . . . . . .  49
     6.3.   Join ACK . . . . . . . . . . . . . . . . . . . . . . . .  50
       6.3.1.   Session ID . . . . . . . . . . . . . . . . . . . . .  50
       6.3.2.   WNonce . . . . . . . . . . . . . . . . . . . . . . .  50
       6.3.3.   PSK-MIC  . . . . . . . . . . . . . . . . . . . . . .  51
     6.4.   Join Confirm . . . . . . . . . . . . . . . . . . . . . .  51
       6.4.1.   Session ID . . . . . . . . . . . . . . . . . . . . .  51
       6.4.2.   PSK-MIC  . . . . . . . . . . . . . . . . . . . . . .  51
     6.5.   Echo Request . . . . . . . . . . . . . . . . . . . . . .  51
     6.6.   Echo Response  . . . . . . . . . . . . . . . . . . . . .  52
     6.7.   Key Update Request . . . . . . . . . . . . . . . . . . .  52
       6.7.1.   Session ID . . . . . . . . . . . . . . . . . . . . .  52
       6.7.2.   XNonce . . . . . . . . . . . . . . . . . . . . . . .  52
     6.8.   Key Update Response  . . . . . . . . . . . . . . . . . .  52
       6.8.1.   Session ID . . . . . . . . . . . . . . . . . . . . .  53
       6.8.2.   ANonce . . . . . . . . . . . . . . . . . . . . . . .  53
       6.8.3.   PSK-MIC  . . . . . . . . . . . . . . . . . . . . . .  53
     6.9.   Key Update ACK . . . . . . . . . . . . . . . . . . . . .  53



Calhoun, et al.         Expires September 3, 2007               [Page 4]

Internet-Draft     Light Weight Access Point Protocol         March 2007


       6.9.1.   WNonce . . . . . . . . . . . . . . . . . . . . . . .  53
       6.9.2.   PSK-MIC  . . . . . . . . . . . . . . . . . . . . . .  53
     6.10.  Key Update Confirm . . . . . . . . . . . . . . . . . . .  53
       6.10.1.  PSK-MIC  . . . . . . . . . . . . . . . . . . . . . .  54
     6.11.  Key Update Trigger . . . . . . . . . . . . . . . . . . .  54
       6.11.1.  Session ID . . . . . . . . . . . . . . . . . . . . .  54
   7.  WTP Configuration Management  . . . . . . . . . . . . . . . .  55
     7.1.   Configuration Consistency  . . . . . . . . . . . . . . .  55
     7.2.   Configure Request  . . . . . . . . . . . . . . . . . . .  56
       7.2.1.   Administrative State . . . . . . . . . . . . . . . .  56
       7.2.2.   AC Name  . . . . . . . . . . . . . . . . . . . . . .  57
       7.2.3.   AC Name with Index . . . . . . . . . . . . . . . . .  57
       7.2.4.   WTP Board Data . . . . . . . . . . . . . . . . . . .  57
       7.2.5.   Statistics Timer . . . . . . . . . . . . . . . . . .  58
       7.2.6.   WTP Static IP Address Information  . . . . . . . . .  59
       7.2.7.   WTP Reboot Statistics  . . . . . . . . . . . . . . .  59
     7.3.   Configure Response . . . . . . . . . . . . . . . . . . .  60
       7.3.1.   Decryption Error Report Period . . . . . . . . . . .  61
       7.3.2.   Change State Event . . . . . . . . . . . . . . . . .  61
       7.3.3.   LWAPP Timers . . . . . . . . . . . . . . . . . . . .  62
       7.3.4.   AC IPv4 List . . . . . . . . . . . . . . . . . . . .  62
       7.3.5.   AC IPv6 List . . . . . . . . . . . . . . . . . . . .  62
       7.3.6.   WTP Fallback . . . . . . . . . . . . . . . . . . . .  63
       7.3.7.   Idle Timeout . . . . . . . . . . . . . . . . . . . .  63
     7.4.   Configuration Update Request . . . . . . . . . . . . . .  63
       7.4.1.   WTP Name . . . . . . . . . . . . . . . . . . . . . .  64
       7.4.2.   Change State Event . . . . . . . . . . . . . . . . .  64
       7.4.3.   Administrative State . . . . . . . . . . . . . . . .  64
       7.4.4.   Statistics Timer . . . . . . . . . . . . . . . . . .  64
       7.4.5.   Location Data  . . . . . . . . . . . . . . . . . . .  64
       7.4.6.   Decryption Error Report Period . . . . . . . . . . .  64
       7.4.7.   AC IPv4 List . . . . . . . . . . . . . . . . . . . .  64
       7.4.8.   AC IPv6 List . . . . . . . . . . . . . . . . . . . .  64
       7.4.9.   Add Blacklist Entry  . . . . . . . . . . . . . . . .  64
       7.4.10.  Delete Blacklist Entry . . . . . . . . . . . . . . .  65
       7.4.11.  Add Static Blacklist Entry . . . . . . . . . . . . .  66
       7.4.12.  Delete Static Blacklist Entry  . . . . . . . . . . .  66
       7.4.13.  LWAPP Timers . . . . . . . . . . . . . . . . . . . .  67
       7.4.14.  AC Name with Index . . . . . . . . . . . . . . . . .  67
       7.4.15.  WTP Fallback . . . . . . . . . . . . . . . . . . . .  67
       7.4.16.  Idle Timeout . . . . . . . . . . . . . . . . . . . .  67
     7.5.   Configuration Update Response  . . . . . . . . . . . . .  67
       7.5.1.   Result Code  . . . . . . . . . . . . . . . . . . . .  67
     7.6.   Change State Event Request . . . . . . . . . . . . . . .  67
       7.6.1.   Change State Event . . . . . . . . . . . . . . . . .  68
     7.7.   Change State Event Response  . . . . . . . . . . . . . .  68
     7.8.   Clear Config Indication  . . . . . . . . . . . . . . . .  68
   8.  Device Management Operations  . . . . . . . . . . . . . . . .  69



Calhoun, et al.         Expires September 3, 2007               [Page 5]

Internet-Draft     Light Weight Access Point Protocol         March 2007


     8.1.   Image Data Request . . . . . . . . . . . . . . . . . . .  69
       8.1.1.   Image Download . . . . . . . . . . . . . . . . . . .  69
       8.1.2.   Image Data . . . . . . . . . . . . . . . . . . . . .  69
     8.2.   Image Data Response  . . . . . . . . . . . . . . . . . .  70
     8.3.   Reset Request  . . . . . . . . . . . . . . . . . . . . .  70
     8.4.   Reset Response . . . . . . . . . . . . . . . . . . . . .  70
     8.5.   WTP Event Request  . . . . . . . . . . . . . . . . . . .  71
       8.5.1.   Decryption Error Report  . . . . . . . . . . . . . .  71
       8.5.2.   Duplicate IPv4 Address . . . . . . . . . . . . . . .  71
       8.5.3.   Duplicate IPv6 Address . . . . . . . . . . . . . . .  72
     8.6.   WTP Event Response . . . . . . . . . . . . . . . . . . .  73
     8.7.   Data Transfer Request  . . . . . . . . . . . . . . . . .  73
       8.7.1.   Data Transfer Mode . . . . . . . . . . . . . . . . .  73
       8.7.2.   Data Transfer Data . . . . . . . . . . . . . . . . .  74
     8.8.   Data Transfer Response . . . . . . . . . . . . . . . . .  74
   9.  Mobile Session Management . . . . . . . . . . . . . . . . . .  75
     9.1.   Mobile Config Request  . . . . . . . . . . . . . . . . .  75
       9.1.1.   Delete Mobile  . . . . . . . . . . . . . . . . . . .  75
     9.2.   Mobile Config Response . . . . . . . . . . . . . . . . .  76
       9.2.1.   Result Code  . . . . . . . . . . . . . . . . . . . .  76
   10. LWAPP Security  . . . . . . . . . . . . . . . . . . . . . . .  77
     10.1.  Securing WTP-AC communications . . . . . . . . . . . . .  77
     10.2.  LWAPP Frame Encryption . . . . . . . . . . . . . . . . .  78
     10.3.  Authenticated Key Exchange . . . . . . . . . . . . . . .  78
       10.3.1.  Terminology  . . . . . . . . . . . . . . . . . . . .  79
       10.3.2.  Initial Key Generation . . . . . . . . . . . . . . .  80
       10.3.3.  Refreshing Cryptographic Keys  . . . . . . . . . . .  84
     10.4.  Certificate Usage  . . . . . . . . . . . . . . . . . . .  85
   11. IEEE 802.11 Binding . . . . . . . . . . . . . . . . . . . . .  86
     11.1.  Division of labor  . . . . . . . . . . . . . . . . . . .  86
       11.1.1.  Split MAC  . . . . . . . . . . . . . . . . . . . . .  86
       11.1.2.  Local MAC  . . . . . . . . . . . . . . . . . . . . .  88
     11.2.  Roaming Behavior and 802.11 security . . . . . . . . . .  91
     11.3.  Transport specific bindings  . . . . . . . . . . . . . .  92
       11.3.1.  Status and WLANS field . . . . . . . . . . . . . . .  92
     11.4.  BSSID to WLAN ID Mapping . . . . . . . . . . . . . . . .  93
     11.5.  Quality of Service . . . . . . . . . . . . . . . . . . .  93
     11.6.  Data Message bindings  . . . . . . . . . . . . . . . . .  93
     11.7.  Control Message bindings . . . . . . . . . . . . . . . .  93
       11.7.1.  Mobile Config Request  . . . . . . . . . . . . . . .  94
       11.7.2.  WTP Event Request  . . . . . . . . . . . . . . . . . 100
     11.8.  802.11 Control Messages  . . . . . . . . . . . . . . . . 102
       11.8.1.  IEEE 802.11 WLAN Config Request  . . . . . . . . . . 102
       11.8.2.  IEEE 802.11 WLAN Config Response . . . . . . . . . . 107
       11.8.3.  IEEE 802.11 WTP Event  . . . . . . . . . . . . . . . 107
     11.9.  Message Element Bindings . . . . . . . . . . . . . . . . 109
       11.9.1.  IEEE 802.11 WTP WLAN Radio Configuration . . . . . . 109
       11.9.2.  IEEE 802.11 Rate Set . . . . . . . . . . . . . . . . 111



Calhoun, et al.         Expires September 3, 2007               [Page 6]

Internet-Draft     Light Weight Access Point Protocol         March 2007


       11.9.3.  IEEE 802.11 Multi-domain Capability  . . . . . . . . 111
       11.9.4.  IEEE 802.11 MAC Operation  . . . . . . . . . . . . . 112
       11.9.5.  IEEE 802.11 Tx Power . . . . . . . . . . . . . . . . 114
       11.9.6.  IEEE 802.11 Tx Power Level . . . . . . . . . . . . . 114
       11.9.7.  IEEE 802.11 Direct Sequence Control  . . . . . . . . 115
       11.9.8.  IEEE 802.11 OFDM Control . . . . . . . . . . . . . . 116
       11.9.9.  IEEE 802.11 Antenna  . . . . . . . . . . . . . . . . 117
       11.9.10. IEEE 802.11 Supported Rates  . . . . . . . . . . . . 118
       11.9.11. IEEE 802.11 CFP Status . . . . . . . . . . . . . . . 118
       11.9.12. IEEE 802.11 WTP Mode and Type  . . . . . . . . . . . 119
       11.9.13. IEEE 802.11 Broadcast Probe Mode . . . . . . . . . . 119
       11.9.14. IEEE 802.11 WTP Quality of Service . . . . . . . . . 120
       11.9.15. IEEE 802.11 MIC Error Report From Mobile . . . . . . 121
     11.10. IEEE 802.11 Message Element Values . . . . . . . . . . . 122
   12. LWAPP Protocol Timers . . . . . . . . . . . . . . . . . . . . 123
     12.1.  MaxDiscoveryInterval . . . . . . . . . . . . . . . . . . 123
     12.2.  SilentInterval . . . . . . . . . . . . . . . . . . . . . 123
     12.3.  NeighborDeadInterval . . . . . . . . . . . . . . . . . . 123
     12.4.  EchoInterval . . . . . . . . . . . . . . . . . . . . . . 123
     12.5.  DiscoveryInterval  . . . . . . . . . . . . . . . . . . . 123
     12.6.  RetransmitInterval . . . . . . . . . . . . . . . . . . . 123
     12.7.  ResponseTimeout  . . . . . . . . . . . . . . . . . . . . 124
     12.8.  KeyLifetime  . . . . . . . . . . . . . . . . . . . . . . 124
   13. LWAPP Protocol Variables  . . . . . . . . . . . . . . . . . . 125
     13.1.  MaxDiscoveries . . . . . . . . . . . . . . . . . . . . . 125
     13.2.  DiscoveryCount . . . . . . . . . . . . . . . . . . . . . 125
     13.3.  RetransmitCount  . . . . . . . . . . . . . . . . . . . . 125
     13.4.  MaxRetransmit  . . . . . . . . . . . . . . . . . . . . . 125
   14. NAT Considerations  . . . . . . . . . . . . . . . . . . . . . 126
   15. Security Considerations . . . . . . . . . . . . . . . . . . . 128
     15.1.  Certificate based Session Key establishment  . . . . . . 129
     15.2.  PSK based Session Key establishment  . . . . . . . . . . 129
   16. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 130
   17. Acknowledgements  . . . . . . . . . . . . . . . . . . . . . . 131
   18. IPR Statement . . . . . . . . . . . . . . . . . . . . . . . . 132
   19. References  . . . . . . . . . . . . . . . . . . . . . . . . . 133
     19.1.  Normative References . . . . . . . . . . . . . . . . . . 133
     19.2.  Informational References . . . . . . . . . . . . . . . . 134
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . . 135
   Intellectual Property and Copyright Statements  . . . . . . . . . 137











Calhoun, et al.         Expires September 3, 2007               [Page 7]

Internet-Draft     Light Weight Access Point Protocol         March 2007


1.  Introduction

   Unlike wired network elements, Wireless Termination Points (WTPs)
   require a set of dynamic management and control functions related to
   their primary task of connecting the wireless and wired mediums.
   Today, protocols for managing WTPs are either manual static
   configuration via HTTP, proprietary Layer 2 specific or non-existent
   (if the WTPs are self-contained).  The emergence of simple 802.11
   WTPs that are managed by a WLAN appliance or switch (also known as an
   Access Controller, or AC) suggests that having a standardized,
   interoperable protocol could radically simplify the deployment and
   management of wireless networks.  In many cases the overall control
   and management functions themselves are generic and could apply to an
   AP for any wireless Layer 2 protocol.  Being independent of specific
   wireless Layer 2 technologies, such a protocol could better support
   interoperability between Layer 2 devices and enable smoother
   intertechnology handovers.

   The details of how these functions would be implemented are dependent
   on the particular Layer 2 wireless technology.  Such a protocol would
   need provisions for binding to specific technologies.

   LWAPP assumes a network configuration that consists of multiple WTPs
   communicating either via layer 2 (MAC) or layer 3 (IP) to an AC.  The
   WTPs can be considered as remote RF interfaces, being controlled by
   the AC.  The AC forwards all L2 frames it wants to transmit to an WTP
   via the LWAPP protocol.  Packets from mobile nodes are forwarded by
   the WTP to the AC, also via this protocol.  Figure 1 illustrates this
   arrangement as applied to an IEEE 802.11 binding.

              +-+          802.11frames          +-+
              | |--------------------------------| |
              | |              +-+               | |
              | |--------------| |---------------| |
              | |  802.11 PHY/ | |     LWAPP     | |
              | | MAC sublayer | |               | |
              +-+              +-+               +-+
              STA              WTP                AC

                       Figure 1: LWAPP Architecture

   Security is another aspect of Wireless Termination Point management
   that is not well served by existing solutions.  Provisioning WTPs
   with security credentials, and managing which WTPs are authorized to
   provide service are today handled by proprietary solutions.  Allowing
   these functions to be performed from a centralized AC in an
   interoperable fashion increases managability and allows network
   operators to more tightly control their wireless network



Calhoun, et al.         Expires September 3, 2007               [Page 8]

Internet-Draft     Light Weight Access Point Protocol         March 2007


   infrastructure.

   This document describes the Light Weight Access Point Protocol
   (LWAPP), allowing an AC to manage a collection of WTPs.  The protocol
   is defined to be independent of Layer 2 technology, but an 802.11
   binding is provided for use in growing 802.11 wireless LAN networks.

   Goals

   The following are goals for this protocol:

   1. Centralization of the bridging, forwarding, authentication and
      policy enforcement functions for a wireless network.  Optionally,
      the AC may also provide centralized encryption of user traffic.
      This will permit reduced cost and higher efficiency when applying
      the capabilities of network processing silicon to the wireless
      network, as it has already been applied to wired LANs.

   2. Permit shifting of the higher level protocol processing burden
      away from the WTP.  This leaves the computing resource of the WTP
      to the timing critical applications of wireless control and
      access.  This makes the most efficient use of the computing power
      available in WTPs that are the subject of severe cost pressure.

   3. Providing a generic encapsulation and transport mechanism, the
      protocol may be applied to other access point type in the future
      by adding the binding.

   The LWAPP protocol concerns itself solely with the interface between
   the WTP and the AC.  Inter-AC, or mobile to AC communication is
   strictly outside the scope of this document.

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














Calhoun, et al.         Expires September 3, 2007               [Page 9]

Internet-Draft     Light Weight Access Point Protocol         March 2007


2.  Protocol Overview

   LWAPP is a generic protocol defining how Wireless Termination Points
   communicate with Access Controllers.  Wireless Termination Points and
   Access Controllers may communicate either by means of Layer 2
   protocols or by means of a routed IP network.

   LWAPP messages and procedures defined in this document apply to both
   types of transports unless specified otherwise.  Transport
   independence is achieved by defining formats for both MAC level and
   IP level transport (see Section 3).  Also defined are framing,
   fragmentation/reassembly, and multiplexing services to LWAPP for each
   transport type.

   The LWAPP Transport layer carries two types of payload.  LWAPP Data
   Messages are forwarded wireless frames.  LWAPP Control Messages are
   management messages exchanged between an WTP and an AC.  The LWAPP
   transport header defines the "C-bit", which is used to distinguish
   data and control traffic.  When used over IP, the LWAPP data and
   control traffic are also sent over separate UDP ports.  Since both
   data and control frames can exceed PMTU, the payload of an LWAPP data
   or control message can be fragmented.  The fragmentation behavior is
   highly dependent upon the lower layer transport and is defined in
   Section 3.

   The Light Weight Access Protocol (LWAPP) begins with a discovery
   phase.  The WTPs send a Discovery Request frame, causing any Access
   Controller (AC) , receiving that frame to respond with a Discovery
   Response.  From the Discovery Responses received, an WTP will select
   an AC with which to associate, using the Join Request and Join
   Response.  The Join Request also provides an MTU discovery mechanism,
   to determine whether there is support for the transport of large
   frames between the WTP and it's AC.  If support for large frames is
   not present, the LWAPP frames will be fragmented to the maximum
   length discovered to be supported by the network.

   Once the WTP and the AC have joined, a configuration exchange is
   accomplished that will cause both devices to agree on version
   information.  During this exchange the WTP may receive provisioning
   settings.  For the 802.11 binding, this information would typically
   include a name (802.11 Service Set Identifier, SSID), and security
   parameters, the data rates to be advertised as well as the radio
   channel (channels, if the WTP is capable of operating more than one
   802.11 MAC and PHY simultaneously) to be used.  Finally, the WTPs are
   enabled for operation.

   When the WTP and AC have completed the version and provision exchange
   and the WTP is enabled, the LWAPP encapsulates the wireless frames



Calhoun, et al.         Expires September 3, 2007              [Page 10]

Internet-Draft     Light Weight Access Point Protocol         March 2007


   sent between them.  LWAPP will fragment its packets, if the size of
   the encapsulated wireless user data (Data) or protocol control
   (Management) frames causes the resultant LWAPP packet to exceed the
   MTU supported between the WTP and AC.  Fragmented LWAPP packets are
   reassembled to reconstitute the original encapsulated payload.

   In addition to the functions thus far described, LWAPP also provides
   for the delivery of commands from the AC to the WTP for the
   management of devices that are communicating with the WTP.  This may
   include the creation of local data structures in the WTP for the
   managed devices and the collection of statistical information about
   the communication between the WTP and the 802.11 devices.  LWAPP
   provides the ability for the AC to obtain any statistical information
   collected by the WTP.

   LWAPP also provides for a keep alive feature that preserves the
   communication channel between the WTP and AC.  If the AC fails to
   appear alive, the WTP will try to discover a new AC to communicate
   through.

   This Document uses terminology defined in [5]

2.1.  Wireless Binding Definition

   This draft standard specifies a protocol independent of a specific
   wireless access point radio technology.  Elements of the protocol are
   designed to accommodate specific needs of each wireless technology in
   a standard way.  Implementation of this standard for a particular
   wireless technology must follow the binding requirements defined for
   that technology.  This specification includes a binding for the IEEE
   802.11 (see Section 11).

   When defining a binding for other technologies, the authors MUST
   include any necessary definitions for technology-specific messages
   and all technology-specific message elements for those messages.  At
   a minimum, a binding MUST provide the definition for a binding-
   specific Statistics message element, which is carried in the WTP
   Event Request message, and Add Mobile message element, which is
   carried in the Mobile Configure Request.  If any technology specific
   message elements are required for any of the existing LWAPP messages
   defined in this specification, they MUST also be defined in the
   technology binding document.

   The naming of binding-specific message elements MUST begin with the
   name of the technology type, e.g., the binding for IEEE 802.11,
   provided in this standard, begins with "IEEE 802.11"."





Calhoun, et al.         Expires September 3, 2007              [Page 11]

Internet-Draft     Light Weight Access Point Protocol         March 2007


2.2.  LWAPP State Machine Definition

   The following state diagram represents the lifecycle of an WTP-AC
   session:


      /-------------\
      |             v
      |       +------------+
      |      C|    Idle    |<-----------------------------------\
      |       +------------+<-----------------------\           |
      |        ^    |a    ^                         |           |
      |        |    |     \----\                    |           |
      |        |    |          |                 +------------+ |
      |        |    |          |          -------| Key Confirm| |
      |        |    |          |        w/       +------------+ |
      |        |    |          |        |           ^           |
      |        |    |          |t       V           |5          |
      |        |    |        +-----------+       +------------+ |
      |       /     |       C|    Run    |       | Key Update | |
      |     /       |       r+-----------+------>+------------+ |
      |    /        |              ^    |s      u        x|     |
      |   |         v              |    |                 |     |
      |   |   +--------------+     |    |                 v     |y
      |   |  C|  Discovery   |    q|    \--------------->+-------+
      |   |  b+--------------+    +-------------+        | Reset |
      |   |     |d     f|  ^      |  Configure  |------->+-------+
      |   |     |       |  |      +-------------+p           ^
      |   |e    v       |  |              ^                  |
      |  +---------+    v  |i            2|                  |
      | C| Sulking |   +------------+    +--------------+    |
      |  +---------+  C|    Join    |--->| Join-Confirm |    |
      |               g+------------+z   +--------------+    |
      |                   |h      m|        3|       |4      |
      |                   |        |         |       v       |o
      |\                  |        |         |     +------------+
       \\-----------------/         \--------+---->| Image Data |C
        \------------------------------------/     +------------+n

                       Figure 2: LWAPP State Machine

   The LWAPP state machine, depicted above, is used by both the AC and
   the WTP.  For every state defined, only certain messages are
   permitted to be sent and received.  In all of the LWAPP control
   messages defined in this document, the state for which each command
   is valid is specified.

   Note that in the state diagram figure above, the 'C' character is



Calhoun, et al.         Expires September 3, 2007              [Page 12]

Internet-Draft     Light Weight Access Point Protocol         March 2007


   used to represent a condition that causes the state to remain the
   same.

   The following text discusses the various state transitions, and the
   events that cause them.

   Idle to Discovery (a):  This is the initialization state.

      WTP:  The WTP enters the Discovery state prior to transmitting the
         first Discovery Request (see Section 5.1).  Upon entering this
         state, the WTP sets the DiscoveryInterval timer (see
         Section 12).  The WTP resets the DiscoveryCount counter to zero
         (0) (see Section 13).  The WTP also clears all information from
         ACs (e.g., AC Addresses) it may have received during a previous
         Discovery phase.

      AC:  The AC does not need to maintain state information for the
         WTP upon reception of the Discovery Request, but it MUST
         respond with a Discovery Response (see Section 5.2).

   Discovery to Discovery (b):  This is the state the WTP uses to
      determine which AC it wishes to connect to.

      WTP:  This event occurs when the DiscoveryInterval timer expires.
         The WTP transmits a Discovery Request to every AC which the WTP
         hasn't received a response to.  For every transition to this
         event, the WTP increments DisoveryCount counter.  See
         Section 5.1) for more information on how the WTP knows which
         ACs it should transmit the Discovery Requests to.  The WTP
         restarts the DiscoveryInterval timer.

      AC:  This is a noop.

   Discovery to Sulking (d):  This state occurs on a WTP when Discovery
      or connectivity to the AC fails.

      WTP:  The WTP enters this state when the DiscoveryInterval timer
         expires and the DiscoveryCount variable is equal to the
         MaxDiscoveries variable (see Section 13).  Upon entering this
         state, the WTP will start the SilentInterval timer.  While in
         the Sulking state, all LWAPP messages received are ignored.

      AC:  This is a noop.








Calhoun, et al.         Expires September 3, 2007              [Page 13]

Internet-Draft     Light Weight Access Point Protocol         March 2007


   Sulking to Idle (e):  This state occurs on a WTP when it must restart
      the discovery phase.

      WTP:  The WTP enters this state when the SilentInterval timer (see
         Section 12) expires.

      AC:  This is a noop.

   Discovery to Join (f):  This state is used by the WTP to confirm its
      commitment to an AC that it wishes to be provided service.

      WTP:  The WTP selects the best AC based on the information it
         gathered during the Discovery Phase.  It then transmits a Join
         Request (see Section 6.1 to its preferred AC.  The WTP starts
         the WaitJoin Timer (see Section 12).

      AC:  The AC enters this state for the given WTP upon reception of
         a Join Request.  The AC processes the request and responds with
         a Join Response.

   Join to Join (g):  This state transition occurs during the join
      phase.

      WTP:  The WTP enters this state when the WaitJoin timer expires,
         and the underlying transport requires LWAPP MTU detection
         Section 3).

      AC:  This state occurs when the AC receives a retransmission of a
         Join Request.  The WTP processes the request and responds with
         the Join Response..

   Join to Idle (h):  This state is used when the join process failed.

      WTP:  This state transition occurs if the WTP is configured to use
         PSK security and receives a Join Response that includes an
         invalid PSK-MIC message element.

      AC:  The AC enters this state when it transmits an unsuccessful
         Join Response.

   Join to Discovery (i):  This state is used when the join process
      failed.

      WTP:  The WTP enters this state when it receives an unsuccessful
         Join Response.  Upon entering this state, the WTP sets the
         DiscoveryInterval timer (see Section 12).  The WTP resets the
         DiscoveryCount counter to zero (0) (see Section 13).  This
         state transition may also occur if the PSK-MIC (see



Calhoun, et al.         Expires September 3, 2007              [Page 14]

Internet-Draft     Light Weight Access Point Protocol         March 2007


         Section 6.2.9) message element is invalid.

      AC:  This state transition is invalid.

   Join to Join-Confirm (z):  This state is used to provide key
      confirmation during the join process.

      WTP:  This state is entered when the WTP receives a Join Response.
         In the event that certificate based security is utilized, this
         transition will occur if the Certificate message element is
         present and valid in the Join Response.  For pre-shared key
         security, the Join Response must include a valud and
         authenticated PSK-MIC message element.  The WTP MUST respond
         with a Join ACK, which is used to provide key confirmation.

      AC:  The AC enters this state when it receives a valid Join ACK.
         For certificate based security, the Join ACK MUST include a
         valid and authenticated xxxx message element.  For pre-shared
         key security, the message must include a valid PSK-MIC message
         element.  The AC MUST respond with a Join Confirm message,
         which includes the Session Key message element.

   Join-Confirm to Idle (3):  This state is used when the join process
      failed.

      WTP:  This state transition occurs when the WTP receives an
         invalid Join Confirm.

      AC:  The AC enters this state when it receives an invalid Join
         ACK.

   Join-Confirm to Configure (2):  This state is used by the WTP and the
      AC to exchange configuration information.

      WTP:  The WTP enters this state when it receives a successful Join
         Confirm, and determines that its version number and the version
         number advertised by the AC are the same.  The WTP transmits
         the Configure Request (see Section 7.2) message to the AC with
         a snapshot of its current configuration.  The WTP also starts
         the ResponseTimeout timer (see Section 12).

      AC:  This state transition occurs when the AC receives the
         Configure Request from the WTP.  The AC must transmit a
         Configure Response (see Section 7.3) to the WTP, and may
         include specific message elements to override the WTP's
         configuration.





Calhoun, et al.         Expires September 3, 2007              [Page 15]

Internet-Draft     Light Weight Access Point Protocol         March 2007


   Join-Confirm to Image Data (4):  This state is used by the WTP and
      the AC to download executable firmware.

      WTP:  The WTP enters this state when it receives a successful Join
         Confirm, and determines that its version number and the version
         number advertised by the AC are different.  The WTP transmits
         the Image Data Request (see Section 8.1) message requesting
         that the AC's latest firmware be initiated.

      AC:  This state transition occurs when the AC receives the Image
         Data Request from the WTP.  The AC must transmit a Image Data
         Response (see Section 8.2) to the WTP, which includes a portion
         of the firmware.

   Image Data to Image Data (n):  This state is used by WTP and the AC
      during the firmware download phase.

      WTP:  The WTP enters this state when it receives a Image Data
         Response that indicates that the AC has more data to send.

      AC:  This state transition occurs when the AC receives the Image
         Data Request from the WTP while already in this state, and it
         detects that the firmware download has not completed.

   Image Data to Reset (o):  This state is used when the firmware
      download is completed.

      WTP:  The WTP enters this state when it receives a Image Data
         Response that indicates that the AC has no more data to send,
         or if the underlying LWAPP transport indicates a link failure.
         At this point, the WTP reboots itself.

      AC:  This state transition occurs when the AC receives the Image
         Data Request from the WTP while already in this state, and it
         detects that the firmware download has completed, or if the
         underlying LWAPP transport indicates a link failure.  Note that
         the AC itself does not reset, but it places the specific WTPs
         context it is communicating with in the reset state, meaning
         that it clears all state associated with the WTP.

   Configure to Reset (p):  This state transition occurs if the
      Configure phase fails.

      WTP:  The WTP enters this state when the reliable transport fails
         to deliver the Configure Request, or if the ResponseTimeout
         Timer (see Section 12)expires.





Calhoun, et al.         Expires September 3, 2007              [Page 16]

Internet-Draft     Light Weight Access Point Protocol         March 2007


      AC:  This state transition occurs if the AC is unable to transmit
         the Configure Response to a specific WTP.  Note that the AC
         itself does not reset, but it places the specific WTPs context
         it is communicating with in the reset state, meaning that it
         clears all state associated with the WTP.

   Configure to Run (q):  This state transition occurs when the WTP and
      AC enters their normal state of operation.

      WTP:  The WTP enters this state when it receives a successful
         Configure Response from the AC.  The WTP initializes the
         HeartBeat Timer (see Section 12), and transmits the Change
         State Event Request message (see Section 7.6).

      AC:  This state transition occurs when the AC receives the Change
         State Event Request (see Section 7.6) from the WTP.  The AC
         responds with a Change State Event Response (see Section 7.7)
         message.  The AC must start the Session ID and Neighbor Dead
         timers (see Section 12).

   Run to Run (r):  This is the normal state of operation.

      WTP:  This is the WTP's normal state of operation, and there are
         many events that cause this to occur:

         Configuration Update:  The WTP receives a Configuration Update
            Request (see Section 7.4).  The WTP MUST respond with a
            Configuration Update Response (see Section 7.5).

         Change State Event:  The WTP receives a Change State Event
            Response, or determines that it must initiate a Change State
            Event Request, as a result of a failure or change in the
            state of a radio.

         Echo Request:  The WTP receives an Echo Request message
            Section 6.5), which it MUST respond with an Echo Response
            (see Section 6.6).

         Clear Config Indication:  The WTP receives a Clear Config
            Indication message Section 7.8).  The WTP MUST reset its
            configuration back to manufacturer defaults.

         WTP Event:  The WTP generates a WTP Event Request to send
            information to the AC Section 8.5).  The WTP receives a WTP
            Event Response from the AC Section 8.6).






Calhoun, et al.         Expires September 3, 2007              [Page 17]

Internet-Draft     Light Weight Access Point Protocol         March 2007


         Data Transfer:  The WTP generates a Data Transfer Request to
            the AC Section 8.7).  The WTP receives a Data Transfer
            Response from the AC Section 8.8).

         WLAN Config Request:  The WTP receives an WLAN Config Request
            message Section 11.8.1), which it MUST respond with an WLAN
            Config Response (see Section 11.8.2).

         Mobile Config Request:  The WTP receives an Mobile Config
            Request message Section 9.1), which it MUST respond with an
            Mobile Config Response (see Section 9.2).

      AC:  This is the AC's normal state of operation, and there are
         many events that cause this to occur:

         Configuration Update:  The AC sends a Configuration Update
            Request (see Section 7.4) to the WTP to update its
            configuration.  The AC receives a Configuration Update
            Response (see Section 7.5) from the WTP.

         Change State Event:  The AC receives a Change State Event
            Request (see Section 7.6), which it MUST respond to with the
            Change State Event Response (see Section 7.7).

         Echo:  The AC sends an Echo Request message Section 6.5) or
            receives the associated Echo Response (see Section 6.6) from
            the WTP.

         Clear Config Indication:  The AC sends a Clear Config
            Indication message Section 7.8).

         WLAN Config:  The AC sends an WLAN Config Request message
            Section 11.8.1) or receives the associated WLAN Config
            Response (see Section 11.8.2) from the WTP.

         Mobile Config:  The AC sends an Mobile Config Request message
            Section 9.1) or receives the associated Mobile Config
            Response (see Section 9.2) from the WTP.

         Data Transfer:  The AC receives a Data Transfer Request from
            the AC (see Section 8.7) and MUST generate the associated
            Data Transfer Response message (see Section 8.8).

         WTP Event:  The AC receives a WTP Event Request from the AC
            (see Section 8.5) and MUST generate the associated WTP Event
            Response message (see Section 8.6).





Calhoun, et al.         Expires September 3, 2007              [Page 18]

Internet-Draft     Light Weight Access Point Protocol         March 2007


   Run to Reset (s):  This event occurs when the AC wishes for the WTP
      to reboot.

      WTP:  The WTP enters this state when it receives a Reset Request
         (see Section 8.3).  It must respond with a Reset Response (see
         Section 8.4), and once the reliable transport acknowledgement
         has been received, it must reboot itself.

      AC:  This state transition occurs either through some
         administrative action, or via some internal event on the AC
         that causes it to request that the WTP disconnect.  Note that
         the AC itself does not reset, but it places the specific WTPs
         context it is communicating with in the reset state.

   Run to Idle (t):  This event occurs when an error occurs in the
      communication between the WTP and the AC.

      WTP:  The WTP enters this state when the underlying reliable
         transport in unable to transmit a message within the
         RetransmitInterval timer (see Section 12), and the maximum
         number of RetransmitCount counter has reached the MaxRetransmit
         variable (see Section 13).

      AC:  The AC enters this state when the underlying reliable
         transport in unable to transmit a message within the
         RetransmitInterval timer (see Section 12), and the maximum
         number of RetransmitCount counter has reached the MaxRetransmit
         variable (see Section 13).

   Run to Key Update (u):  This event occurs when the WTP and the AC are
      to exchange new keying material, with which it must use to protect
      all future messages.

      WTP:  This state transition occurs when the KeyLifetime timer
         expires (see Section 12).

      AC:  The WTP enters this state when it receives a Key Update
         Request (see Section 6.7).

   Key Update to Key Confirm (w):  This event occurs during the rekey
      phase and is used to complete the loop.

      WTP:  This state transition occurs when the WTP receives the Key
         Update Response.  The WTP MUST only accept the message if it is
         authentic.  The WTP responds to this response with a Key Update
         ACK.





Calhoun, et al.         Expires September 3, 2007              [Page 19]

Internet-Draft     Light Weight Access Point Protocol         March 2007


      AC:  The AC enters this state when it receives an authenticated
         Key Update ACK message.

   Key Confirm to Run (5):  This event occurs when the rekey exchange
      phase is completed.

      WTP:  This state transition occurs when the WTP receives the Key
         Update Confirm.  The newly derived encryption key and IV must
         be plumbed into the crypto module after validating the
         message's authentication.

      AC:  The AC enters this state when it transmits the Key Update
         Confirm message.  The newly derived encryption key and IV must
         be plumbed into the crypto module after transmitting a Key
         Update Confirm message.

   Key Update to Reset (x):  This event occurs when the key exchange
      phase times out.

      WTP:  This state transition occurs when the WTP does not receive a
         Key Update Response from the AC.

      AC:  The AC enters this state when it is unable to process a Key
         Update Request.

   Reset to Idle (y):  This event occurs when the state machine is
      restarted.

      WTP:  The WTP reboots itself.  After reboot the WTP will start its
         LWAPP state machine in the Idle state.

      AC:  The AC clears out any state associated with the WTP.  The AC
         generally does this as a result of the reliable link layer
         timing out.

















Calhoun, et al.         Expires September 3, 2007              [Page 20]

Internet-Draft     Light Weight Access Point Protocol         March 2007


3.  LWAPP Transport Layers

   The LWAPP protocol can operate at layer 2 or 3.  For layer 2 support,
   the LWAPP messages are carried in a native Ethernet frame.  As such,
   the protocol is not routable and depends upon layer 2 connectivity
   between the WTP and the AC.  Layer 3 support is provided by
   encapsulating the LWAPP messages within UDP.

3.1.  LWAPP Transport Header

   All LWAPP protocol packets are encapsulated using a common header
   format, regardless of the transport used to carry the frames.
   However, certain flags are not applicable for a given transport, and
   it is therefore necessary to refer to the specific transport section
   in order to determine which flags are valid.

      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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |VER| RID |C|F|L|    Frag ID    |            Length             |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |          Status/WLANs         |   Payload...  |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

3.1.1.  VER Field

   A 2 bit field which contains the version of LWAPP used in this
   packet.  The value for this draft is 0.

3.1.2.  RID Field

   A 3 bit field which contains the Radio ID number for this packet.
   WTPs with multiple radios but a single MAC Address use this field to
   indicate which radio is associated with the packet.

3.1.3.  C Bit

   The Control Message 'C' bit indicates whether this packet carries a
   data or control message.  When this bit is zero (0), the packet
   carries an LWAPP data message in the payload (see Section 4.1).  When
   this bit is one (1), the packet carries an LWAPP control message as
   defined in section Section 4.2 for consumption by the addressed
   destination.

3.1.4.  F Bit

   The Fragment 'F' bit indicates whether this packet is a fragment.
   When this bit is one (1), the packet is a fragment and MUST be



Calhoun, et al.         Expires September 3, 2007              [Page 21]

Internet-Draft     Light Weight Access Point Protocol         March 2007


   combined with the other corresponding fragments to reassemble the
   complete information exchanged between the WTP and AC.

3.1.5.  L Bit

   The Not Last 'L' bit is valid only if the 'F' bit is set and
   indicates whether the packet contains the last fragment of a
   fragmented exchange between WTP and AC.  When this bit is 1, the
   packet is not the last fragment.  When this bit is 0, the packet is
   the last fragment.

3.1.6.  Fragment ID

   An 8 bit field whose value is assigned to each group of fragments
   making up a complete set.  The fragment ID space is managed
   individually for every WTP/AC pair.  The value of Fragment ID is
   incremented with each new set of fragments.  The Fragment ID wraps to
   zero after the maximum value has been used to identify a set of
   fragments.  LWAPP only supports up to 2 fragments per frame.

3.1.7.  Length

   The 16 bit length field contains the number of bytes in the Payload.
   The field is encoded as an unsigned number.  If the LWAPP packet is
   encrypted, the length field includes the AES-CCM MIC (see
   Section 10.2 for more information).

3.1.8.  Status and WLANS

   The interpretation of this 16 bit field is binding specific.  Refer
   to the transport portion of the binding for a wireless technology for
   the specification.

3.1.9.  Payload

   This field contains the header for an LWAPP Data Message or LWAPP
   Control Message, followed by the data associated with that message.

3.2.  Using IEEE 802.3 MAC as LWAPP transport

   This section describes how the LWAPP protocol is provided over native
   ethernet frames.  An LWAPP packet is formed from the MAC frame header
   followed by the LWAPP message header.  The following figure provides
   an example of the frame formats used when LWAPP is used over the IEEE
   802.3 transport.






Calhoun, et al.         Expires September 3, 2007              [Page 22]

Internet-Draft     Light Weight Access Point Protocol         March 2007


       Layer 2 LWAPP Data Frame
       +-----------------------------------------------------------+
       | MAC Header | LWAPP Header [C=0] | Forwarded Data ...      |
       +-----------------------------------------------------------+

       Layer 2 LWAPP Control Frame
       +---------------------------------------------------+
       | MAC Header | LWAPP Header [C=1] | Control Message |
       +---------------------------------------------------+
       | Message Elements ... |
           +----------------------+

3.2.1.  Framing

   Source Address

   A MAC address belonging to the interface from which this message is
   sent.  If multiple source addresses are configured on an interface,
   then the one chosen is implementation dependent.

   Destination Address

   A MAC address belonging to the interface to which this message is to
   be sent.  This destination address MAY be either an individual
   address or a multicast address, if more than one destination
   interface is intended.

   Ethertype

   The Ethertype field is set to 0x88bb.

3.2.2.  AC Discovery

   When run over IEEE 802.3, LWAPP messages are distributed to a
   specific MAC level broadcast domain.  The AC discovery mechanism used
   with this transport is for an WTP to transmit a Discovery Request
   message to a broadcast destination MAC address.  The ACs will receive
   this message and reply based on their policy.

3.2.3.  LWAPP Message Header format over IEEE 802.3 MAC transport

   All of the fields described in Section 3.1 are used when LWAPP uses
   the IEEE 802.3 MAC transport.

3.2.4.  Fragmentation/Reassembly

   Fragmentation at the MAC layer is managed using the F,L and Frag ID
   fields of the LWAPP message header.  The LWAPP protocol only allows a



Calhoun, et al.         Expires September 3, 2007              [Page 23]

Internet-Draft     Light Weight Access Point Protocol         March 2007


   single packet to be fragmented into 2, which is sufficient for a
   frame that exceeds MTU due to LWAPP encapsulation.  When used with
   layer 2 (Ethernet) transport, both fragments MUST include the LWAPP
   header.

3.2.5.  Multiplexing

   LWAPP control messages and data messages are distinguished by the C
   Bit in the LWAPP message header.

3.3.  Using IP/UDP as LWAPP transport

   This section defines how LWAPP makes use of IP/UDP transport between
   the WTP and the AC.  When this transport is used, the MAC layer is
   controlled by the IP stack, and there are therefore no special MAC
   layer requirements.  The following figure provides an example of the
   frame formats used when LWAPP is used over the IP/UDP transport.  IP
   stacks can be either IPv4 or IPv6.

       Layer 3 LWAPP Data Frame
       +--------------------------------------------+
       | MAC Header | IP | UDP | LWAPP Header [C=0] |
       +--------------------------------------------+
       |Forwarded Data ... |
       +-------------------+

       Layer 3 LWAPP Control Frame
       +--------------------------------------------+
       | MAC Header | IP | UDP | LWAPP Header [C=1] |
       +--------------------------------------------+
       | Control Message | Message Elements ... |
           +-----------------+----------------------+

3.3.1.  Framing

   Communication between WTP and AC is established according to the
   standard UDP client/server model.  The connection is initiated by the
   WTP (client) to the well-known UDP port of the AC (server) used for
   control messages.  This UDP port number of the AC is 12222 for LWAPP
   data and 12223 for LWAPP control frames.

3.3.2.  AC Discovery

   When LWAPP is run over routed IP networks, the WTP and the AC do not
   need to reside in the same IP subnet (broadcast domain).  However, in
   the event the peers reside on separate subnets, there must exist a
   mechanism for the WTP to discover the AC.




Calhoun, et al.         Expires September 3, 2007              [Page 24]

Internet-Draft     Light Weight Access Point Protocol         March 2007


   As the WTP attempts to establish communication with the AC, it sends
   the Discovery Request message and receives the corresponding response
   message from the AC.  The WTP must send the Discovery Request message
   to either the limited broadcast IP address (255.255.255.255), a well
   known multicast address or to the unicast IP address of the AC.  Upon
   receipt of the message, the AC issues a Discovery Response message to
   the unicast IP address of the WTP, regardless of whether Discovery
   Request was sent as a broadcast, multicast or unicast message.

   Whether the WTP uses a limited IP broadcast, multicast or unicast IP
   address is implementation dependent.

   In order for a WTP to transmit a Discovery Request to a unicast
   address, the WTP must first obtain the IP address of the AC.  Any
   static configuration of an AC's IP address on the WTP non-volatile
   storage is implementation dependent.  However, additional dynamic
   schemes are possible, for example:

   DHCP:  A comma delimited ASCII encoded list of AC IP addresses is
      embedded inside a DHCP vendor specific option 43 extension.  An
      example of the actual format of the vendor specific payload for
      IPv4 is of the form "10.1.1.1, 10.1.1.2".

   DNS:  The DNS name "LWAPP-AC-Address" MAY be resolvable to or more AC
      addresses

3.3.3.  LWAPP Message Header format over IP/UDP transport

   All of the fields described in Section 3.1 are used when LWAPP uses
   the IPv4/UDP or IPv6/UDP transport, with the following exceptions:

3.3.3.1.  F Bit

   This flag field is not used with this transport, and MUST be set to
   zero.

3.3.3.2.  L Bit

   This flag field is not used with this transport, and MUST be set to
   zero.

3.3.3.3.  Frag ID

   This field is not used with this transport, and MUST be set to zero.







Calhoun, et al.         Expires September 3, 2007              [Page 25]

Internet-Draft     Light Weight Access Point Protocol         March 2007


3.3.4.  Fragmentation/Reassembly for IPv4

   When LWAPP is implemented at L3, the transport layer uses IP
   fragmentation to fragment and reassemble LWAPP messages that are
   longer than MTU size used by either WTP or AC.  The details of IP
   fragmentation are covered in [8].  When used with the IP transport,
   only the first fragment would include the LWAPP header

   [ed: IP fragmentation may raise security concerns and bring
   additional configuration requirements for certain firewalls and NATs.
   One alternative is to re-use the layer 2 (application layer)
   fragmentation reassembly.  Comments are welcomed.]

3.3.5.  Fragmentation/Reassembly for IPv6

   IPv6 does MTU discovery so fragmentation and re-assembly is not
   necessary for UDP packets.

3.3.6.  Multiplexing

   LWAPP messages convey control information between WTP and AC, as well
   as binding specific data frames or binding specific management
   frames.  As such, LWAPP messages need to be multiplexed in the
   transport sub-layer and be delivered to the proper software entities
   in the endpoints of the protocol.  However, the 'C' bit is still used
   to differentiate between data and control frames.

   In case of Layer 3 connection, multiplexing is achieved by use of
   different UDP ports for control and data packets (see Section 3.3.1.

   As part of Join procedure, the WTP and AC may negotiate different IP
   Addresses for data or control messages.  The IP Address returned in
   the AP Manager Control IP Address message element is used to inform
   the WTP with the IP address to which it must sent all control frames.
   The AP Manager Data IP Address message element MAY be present only if
   the AC has a different IP Address which the WTP is to use to send its
   data LWAPP frames.

   In the event the WTP and AC are separated by a NAT, with the WTP
   using private IP address space, it is the responsibility of the NAT
   to manage appropriate UDP port mapping.










Calhoun, et al.         Expires September 3, 2007              [Page 26]

Internet-Draft     Light Weight Access Point Protocol         March 2007


4.  LWAPP Packet Definitions

   This section contains the packet types and format.  The LWAPP
   protocol is designed to be transport agnostic by specifying packet
   formats for both MAC frames and IP packets.  An LWAPP packet consists
   of an LWAPP Transport Layer packet header followed by an LWAPP
   message.

   Transport details can be found in Section 3.

4.1.  LWAPP Data Messages

   An LWAPP data message is a forwarded wireless frame.  When forwarding
   wireless frames, the sender simply encapsulates the wireless frame in
   an LWAPP data packet, using the appropriate transport rules defined
   in section Section 3.

   In the event that the encapsulated frame would exceed the transport
   layer's MTU, the sender is responsible for the fragmentation of the
   frame, as specified in the transport specific section of Section 3.

   The actual format of the encapsulated LWAPP data frame is subject to
   the rules defined under the specific wireless technology binding.

4.2.  LWAPP Control Messages Overview

   The LWAPP Control protocol provides a control channel between the WTP
   and the AC.  The control channel is the series of control messages
   between the WTP and AC, associated with a session ID and key.
   Control messages are divided into the following distinct message
   types:

   Discovery:  LWAPP Discovery messages are used to identify potential
      ACs, their load and capabilities.

   Control Channel Management:  Messages that fall within this
      classification are used for the discovery of ACs by the WTPs as
      well as the establishment and maintenance of an LWAPP control
      channel.

   WTP Configuration:  The WTP Configuration messages are used by the AC
      to push a specific configuration to the WTPs it has a control
      channel with.  Messages that deal with the retrieval of statistics
      from the WTP also fall in this category.







Calhoun, et al.         Expires September 3, 2007              [Page 27]

Internet-Draft     Light Weight Access Point Protocol         March 2007


   Mobile Session Management:  Mobile session management messages are
      used by the AC to push specific mobile policies to the WTP.

   Firmware Management:  Messages in this category are used by the AC to
      push a new firmware image down to the WTP.

   Control Channel, WTP Configuration and Mobile Session Management MUST
   be implemented.  Firmware Management MAY be implemented.

   In addition, technology specific bindings may introduce new control
   channel commands that depart from the above list.

4.2.1.  Control Message Format

   All LWAPP control messages are sent encapsulated within the LWAPP
   header (see Section 3.1).  Immediately following the header, is the
   LWAPP control header, which has the following format:

      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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |  Message Type |    Seq Num    |      Msg Element Length       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                           Session ID                          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |      Msg Element [0..N]       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

4.2.1.1.  Message Type

   The Message Type field identifies the function of the LWAPP control
   message.  The valid values for Message Type are the following:



















Calhoun, et al.         Expires September 3, 2007              [Page 28]

Internet-Draft     Light Weight Access Point Protocol         March 2007


           Description                       Value
           Discovery Request                    1
           Discovery Response                   2
           Join Request                         3
           Join Response                        4
           Join ACK                             5
           Join Confirm                         6
           Unused                             7-9
           Configure Request                   10
           Configure Response                  11
           Configuration Update Request        12
           Configuration Update Response       13
           WTP Event Request                   14
           WTP Event Response                  15
           Change State Event Request          16
           Change State Event Response         17
           Unused                           18-21
           Echo Request                        22
           Echo Response                       23
           Image Data Request                  24
           Image Data Response                 25
           Reset Request                       26
           Reset Response                      27
           Unused                           28-29
           Key Update Request                  30
           Key Update Response                 31
           Primary Discovery Request           32
           Primary Discovery Response          33
           Data Transfer Request               34
           Data Transfer Response              35
           Clear Config Indication             36
           WLAN Config Request                 37
           WLAN Config Response                38
           Mobile Config Request               39
           Mobile Config Response              40

4.2.1.2.  Sequence Number

   The Sequence Number Field is an identifier value to match request/
   response packet exchanges.  When an LWAPP packet with a request
   message type is received, the value of the sequence number field is
   copied into the corresponding response packet.

   When an LWAPP control frame is sent, its internal sequence number
   counter is monotonically incremented, ensuring that no two requests
   pending have the same sequence number.  This field will wrap back to
   zero.




Calhoun, et al.         Expires September 3, 2007              [Page 29]

Internet-Draft     Light Weight Access Point Protocol         March 2007


4.2.1.3.  Message Element Length

   The Length field indicates the number of bytes following the Session
   ID field.  If the LWAPP packet is encrypted, the length field
   includes the AES-CCM MIC (see Section 10.2 for more information).

4.2.1.4.  Session ID

   The Session ID is a 32-bit unsigned integer that is used to identify
   the security context for encrypted exchanges between the WTP and the
   AC.  Note that a Session ID is a random value that MUST be unique
   between a given AC and any of the WTP it may be communicating with.

4.2.1.5.  Message Element[0..N]

   The message element(s) carry the information pertinent to each of the
   control message types.  Every control message in this specification
   specifies which message elements are permitted.

4.2.2.  Message Element Format

   The message element is used to carry information pertinent to a
   control message.  Every message element is identified by the Type
   field, whose numbering space is managed via IANA (see Section 16).
   The total length of the message elements is indicated in the Message
   Element Length field.

   All of the message element definitions in this document use a diagram
   similar to the one below in order to depict its format.  Note that in
   order to simplify this specification, these diagrams do not include
   the header fields (Type and Length).  However, in every message
   element description, the header's fields values will be defined.

   Note that additional message elements may be defined in separate IETF
   documents.

   The format of a message element uses the 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 (8 bit) identifies the character of the information
   carried in the Value field and Length (16 bits) indicates the number
   of bytes in the Value field.




Calhoun, et al.         Expires September 3, 2007              [Page 30]

Internet-Draft     Light Weight Access Point Protocol         March 2007


4.2.2.1.  Generic Message Elements

   This section includes message elements that are not bound to a
   specific control message.

4.2.2.1.1.  Vendor Specific

   The Vendor Specific Payload is used to communicate vendor specific
   information between the WTP and the AC.  The value contains the
   following format:

      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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                       Vendor Identifier                       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |          Element ID           |   Value...    |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Type:   104 for Vendor Specific

   Length:   >= 7

   Vendor Identifier:   A 32-bit value containing the IANA assigned "SMI
      Network Management Private Enterprise Codes" [13]

   Element ID:   A 16-bit Element Identifier which is managed by the
      vendor.

   Value:   The value associated with the vendor specific element.

4.2.3.  Quality of Service

   It is recommended that LWAPP control messages be sent by both the AC
   and the WTP with an appropriate Quality of Service precedence value,
   ensuring that congestion in the network minimizes occurences of LWAPP
   control channel disconnects.  Therefore, a Quality of Service enabled
   LWAPP device should use:

   802.1P:   The precedence value of 7 SHOULD be used.

   DSCP:   The dscp tag value of 46 SHOULD be used.









Calhoun, et al.         Expires September 3, 2007              [Page 31]

Internet-Draft     Light Weight Access Point Protocol         March 2007


5.  LWAPP Discovery Operations

   The Discovery messages are used by an WTP to determine which ACs are
   available to provide service, as well as the capabilities and load of
   the ACs.

5.1.  Discovery Request

   The Discovery Request is used by the WTP to automatically discover
   potential ACs available in the network.  An WTP must transmit this
   command even if it has a statically configured AC, as it is a
   required step in the LWAPP state machine.

   Discovery Requests MUST be sent by an WTP in the Discover state after
   waiting for a random delay less than MaxDiscoveryInterval, after an
   WTP first comes up or is (re)initialized.  An WTP MUST send no more
   than a maximum of MaxDiscoveries discoveries, waiting for a random
   delay less than MaxDiscoveryInterval between each successive
   discovery.

   This is to prevent an explosion of WTP Discoveries.  An example of
   this occurring would be when many WTPs are powered on at the same
   time.

   Discovery requests MUST be sent by an WTP when no echo responses are
   received for NeighborDeadInterval and the WTP returns to the Idle
   state.  Discovery requests are sent after NeighborDeadInterval, they
   MUST be sent after waiting for a random delay less than
   MaxDiscoveryInterval.  An WTP MAY send up to a maximum of
   MaxDiscoveries discoveries, waiting for a random delay less than
   MaxDiscoveryInterval between each successive discovery.

   If a discovery response is not received after sending the maximum
   number of discovery requests, the WTP enters the Sulking state and
   MUST wait for an interval equal to SilentInterval before sending
   further discovery requests.

   The Discovery Request message may be sent as a unicast, broadcast or
   multicast message.

   Upon receiving a discovery request, the AC will respond with a
   Discovery Response sent to the address in the source address of the
   received discovery request.

   The following subsections define the message elements that MUST be
   included in this LWAPP operation.





Calhoun, et al.         Expires September 3, 2007              [Page 32]

Internet-Draft     Light Weight Access Point Protocol         March 2007


5.1.1.  Discovery Type

   The Discovery message element is used to configure an WTP to operate
   in a specific mode.

      0
      0 1 2 3 4 5 6 7
     +-+-+-+-+-+-+-+-+
     | Discovery Type|
     +-+-+-+-+-+-+-+-+

   Type:   58 for Discovery Type

   Length:   1

   Discovery Type:   An 8-bit value indicating how the AC was
      discovered.  The following values are supported:

      0 -  Broadcast

      1 -  Configured

5.1.2.  WTP Descriptor

   The WTP descriptor message element is used by the WTP to communicate
   it's current hardware/firmware configuration.  The value contains the
   following fields.

      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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                      Hardware   Version                       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                      Software   Version                       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                          Boot   Version                       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |   Max Radios  | Radios in use |    Encryption Capabilities    |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Type:   3 for WTP Descriptor

   Length:   16

   Hardware Version:   A 32-bit integer representing the WTP's hardware
      version number





Calhoun, et al.         Expires September 3, 2007              [Page 33]

Internet-Draft     Light Weight Access Point Protocol         March 2007


   Software Version:   A 32-bit integer representing the WTP's Firmware
      version number

   Boot Version:   A 32-bit integer representing the WTP's boot loader's
      version number

   Max Radios:   An 8-bit value representing the number of radios (where
      each radio is identified via the RID field) supported by the WTP

   Radios in use:   An 8-bit value representing the number of radios
      present in the WTP

   Encryption Capabilities:   This 16-bit field is used by the WTP to
      communicate it's capabilities to the AC.  Since most WTPs support
      link layer encryption, the AC may make use of these services.
      There are binding dependent encryption capabilites.  An WTP that
      does not have any encryption capabilities would set this field to
      zero (0).  Refer to the specific binding for the specification.

5.1.3.  WTP Radio Information

   The WTP radios information message element is used to communicate the
   radio information in a specific slot.  The Discovery Request MUST
   include one such message element per radio in the WTP.  The Radio-
   Type field is used by the AC in order to determine which technology
   specific binding is to be used with the WTP.

   The value contains two fields, as shown.

      0                   1
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |   Radio ID    |   Radio Type  |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Type:   4 for WTP Radio Information

   Length:   2

   Radio ID:   The Radio Identifier, typically refers to some interface
      index on the WTP

   Radio Type:   The type of radio present.  The following values are
      supported







Calhoun, et al.         Expires September 3, 2007              [Page 34]

Internet-Draft     Light Weight Access Point Protocol         March 2007


      1 - 802.11bg:   An 802.11bg radio.

      2 - 802.11a:   An 802.11a radio.

      3 - 802.16:   An 802.16 radio.

      4 - Ultra Wideband:   An UWB radio.

      7 - all:   Used to specify all radios in the WTP.

5.2.  Discovery Response

   The Discovery Response is a mechanism by which an AC advertises its
   services to requesting WTPs.

   Discovery Responses are sent by an AC after receiving a Discovery
   Request.

   When an WTP receives a Discovery Response, it MUST wait for an
   interval not less than DiscoveryInterval for receipt of additional
   Discovery Responses.  After the DiscoveryInterval elapses, the WTP
   enters the Joining state and will select one of the ACs that sent a
   Discovery Response and send a Join Request to that AC.

   The following subsections define the message elements that MUST be
   included in this LWAPP operation.

5.2.1.  AC Address

   The AC address message element is used to communicate the identity of
   the AC.  The value contains two fields, as shown.

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

   Type:   2 for AC Address

   Length:   7

   Reserved:   MUST be set to zero






Calhoun, et al.         Expires September 3, 2007              [Page 35]

Internet-Draft     Light Weight Access Point Protocol         March 2007


   Mac Address:   The MAC Address of the AC

5.2.2.  AC Descriptor

   The AC payload message element is used by the AC to communicate it's
   current state.  The value contains the following fields.

      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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |   Reserved    |                 Hardware  Version ...         |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |     HW Ver    |                 Software  Version ...         |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |     SW Ver    |            Stations           |     Limit     |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |     Limit     |            Radios             |   Max Radio   |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |   Max Radio   |    Security   |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Type:   6 for AC Descriptor

   Length:   17

   Reserved:   MUST be set to zero

   Hardware Version:   A 32-bit integer representing the AC's hardware
      version number

   Software Version:   A 32-bit integer representing the AC's Firmware
      version number

   Stations:   A 16-bit integer representing number of mobile stations
      currently associated with the AC

   Limit:   A 16-bit integer representing the maximum number of stations
      supported by the AC

   Radios:   A 16-bit integer representing the number of WTPs currently
      attached to the AC

   Max Radio:   A 16-bit integer representing the maximum number of WTPs
      supported by the AC







Calhoun, et al.         Expires September 3, 2007              [Page 36]

Internet-Draft     Light Weight Access Point Protocol         March 2007


   Security:   A 8 bit bit mask specifying the security schemes
      supported by the AC.  The following values are supported (see
      Section 10):

      1 -  X.509 Certificate Based

      2 -  Pre-Shared Secret

5.2.3.  AC Name

   The AC name message element contains an ASCII representation of the
   AC's identity.  The value is a variable length byte string.  The
   string is NOT zero terminated.

      0
      0 1 2 3 4 5 6 7
     +-+-+-+-+-+-+-+-+
     | Name ...
     +-+-+-+-+-+-+-+-+

   Type:   31 for AC Name

   Length:   > 0

   Name:   A variable length ASCII string containing the AC's name

5.2.4.  WTP Manager Control IPv4 Address

   The WTP Manager Control IPv4 Address message element is sent by the
   AC to the WTP during the discovery process and is used by the AC to
   provide the interfaces available on the AC, and their current load.
   This message element is useful for the WTP to perform load balancing
   across multiple interfaces.

      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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                           IP Address                          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |           WTP Count           |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Type:   99 for WTP Manager Control IPv4 Address

   Length:   6






Calhoun, et al.         Expires September 3, 2007              [Page 37]

Internet-Draft     Light Weight Access Point Protocol         March 2007


   IP Address:   The IP Address of an interface.

   WTP Count:   The number of WTPs currently connected to the interface.

5.2.5.  WTP Manager Control IPv6 Address

   The WTP Manager Control IPv6 Address message element is sent by the
   AC to the WTP during the discovery process and is used by the AC to
   provide the interfaces available on the AC, and their current load.
   This message element is useful for the WTP to perform load balancing
   across multiple interfaces.

      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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                           IP Address                          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                           IP Address                          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                           IP Address                          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                           IP Address                          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |           WTP Count           |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Type:   137 for WTP Manager Control IPv6 Address

   Length:   6

   IP Address:   The IP Address of an interface.

   WTP Count:   The number of WTPs currently connected to the interface.

5.3.  Primary Discovery Request

   The Primary Discovery Request is sent by the WTP in order to
   determine whether its preferred (or primary) AC is available.

   Primary Discovery Request are sent by an WTP when it has a primary AC
   configured, and is connected to another AC.  This generally occurs as
   a result of a failover, and is used by the WTP as a means to discover
   when its primary AC becomes available.  As a consequence, this
   message is only sent by a WTP when it is in the Run state.

   The frequency of the Primary Discovery Requests should be no more
   often than the sending of the Echo Request message.




Calhoun, et al.         Expires September 3, 2007              [Page 38]

Internet-Draft     Light Weight Access Point Protocol         March 2007


   Upon receiving a discovery request, the AC will respond with a
   Primary Discovery Response sent to the address in the source address
   of the received Primary Discovery Request.

   The following subsections define the message elements that MUST be
   included in this LWAPP operation.

5.3.1.  Discovery Type

   The Discovery Type message element is defined in section
   Section 5.1.1.

5.3.2.  WTP Descriptor

   The WTP Descriptor message element is defined in section
   Section 5.1.2.

5.3.3.  WTP Radio Information

   An WTP Radio Information message element must be present for every
   radio in the WTP.  This message element is defined in section
   Section 5.1.3.

5.4.  Primary Discovery Response

   The Primary Discovery Response is a mechanism by which an AC
   advertises its availability and services to requesting WTPs that are
   configured to have the AC as its primary AC.

   Primary Discovery Responses are sent by an AC after receiving a
   Primary Discovery Request.

   When an WTP receives a Primary Discovery Response, it may opt to
   establish an LWAPP connection to its primary AC, based on the
   configuration of the WTP Fallback Status message element on the WTP.

   The following subsections define the message elements that MUST be
   included in this LWAPP operation.

5.4.1.  AC Descriptor

   The Discovery Type message element is defined in section
   Section 5.2.2.

5.4.2.  AC Name

   The AC Name message element is defined in section Section 5.2.3.




Calhoun, et al.         Expires September 3, 2007              [Page 39]

Internet-Draft     Light Weight Access Point Protocol         March 2007


5.4.3.  WTP Manager Control IPv4 Address

   An WTP Radio Information message element MAY be present for every
   radio in the WTP which are reachable via IPv4.  This message element
   is defined in section Section 5.2.4.

5.4.4.  WTP Manager Control IPv6 Address

   An WTP Radio Information message element must be present for every
   radio in the WTP which are reachable via IPv6.  This message element
   is defined in section Section 5.2.5.








































Calhoun, et al.         Expires September 3, 2007              [Page 40]

Internet-Draft     Light Weight Access Point Protocol         March 2007


6.  Control Channel Management

   The Control Channel Management messages are used by the WTP and AC to
   create and maintain a channel of communication on which various other
   commands may be transmitted, such as configuration, firmware update,
   etc.

6.1.  Join Request

   The Join Request is used by an WTP to inform an AC that it wishes to
   provide services through it.

   Join Requests are sent by an WTP in the Joining state after receiving
   one or more Discovery Responses.  The Join Request is also used as an
   MTU discovery mechanism by the WTP.  The WTP issues a Join Request
   with a Test message element, bringing the total size of the message
   to exceed MTU.

   If the transport used does not provide MTU path discovery, the
   initial Join Request is padded with the Test message element to 1596
   bytes.  If a Join Response is received, the WTP can forward frames
   without requiring any fragmentation.  If no Join Response is
   received, it issues a second Join Request padded with the Test
   payload to a total of 1500 bytes.  The WTP continues to cycle from
   large (1596) to small (1500) packets until a Join Response has been
   received , or until both packets sizes have been retransmitted 3
   times .  If the Join Response is not received after the maximum
   number of retransmissions, the WTP MUST abandon the AC and restart
   the discovery phase.

   When an AC receives a Join Request it will respond with a Join
   Response.  If the certificate based security mechanism is used, the
   AC validates the certificate found in the request.  If valid, the AC
   generates a session key which will be used to secure the control
   frames it exchanges with the WTP.  When the AC issues the Join
   Response, the AC creates a context for the session with the WTP.

   If the pre-shared session key security mechanism is used, the AC
   saves the WTP's nonce, found in the WNonce message element, creates
   its own nonce which it includes in the ANonce message element.
   Finally, the AC creates the PSK-MIC, which is computed using a key
   that is derived from the PSK.

   A Join Request that includes both a WNonce and a Certificate message
   element MUST be considered invalid.

   Details on the key generation is found in Section 10.




Calhoun, et al.         Expires September 3, 2007              [Page 41]

Internet-Draft     Light Weight Access Point Protocol         March 2007


   The following subsections define the message elements that MUST be
   included in this LWAPP operation.

6.1.1.  WTP Descriptor

   The WTP Descriptor message element is defined in section
   Section 5.1.2.

6.1.2.  AC Address

   The AC Address message element is defined in section Section 5.2.1.

6.1.3.  WTP Name

   The WTP name message element value is a variable length byte string.
   The string is NOT zero terminated.

      0
      0 1 2 3 4 5 6 7
     +-+-+-+-+-+-+-+-+
     | Name ...
     +-+-+-+-+-+-+-+-+

   Type:   5 for WTP Name

   Length:   > 0

   Name:   A non zero terminated string containing the WTP's name.

6.1.4.  Location Data

   The location data message element is a variable length byte string
   containing user defined location information (e.g.  "Next to
   Fridge").  The string is NOT zero terminated.

      0
      0 1 2 3 4 5 6 7
     +-+-+-+-+-+-+-+-+
     | Location ...
     +-+-+-+-+-+-+-+-+

   Type:   35 for Location Data

   Length:   > 0







Calhoun, et al.         Expires September 3, 2007              [Page 42]

Internet-Draft     Light Weight Access Point Protocol         March 2007


   Location:   A non zero terminated string containing the WTP's
      location.

6.1.5.  WTP Radio Information

   An WTP Radio Information message element must be present for every
   radio in the WTP.  This message element is defined in section
   Section 5.1.3.

6.1.6.  Certificate

   The certificate message element value is a byte string containing a
   DER-encoded x.509v3 certificate.  This message element is only
   included if the LWAPP security type used between the WTP and the AC
   makes use of certificates (see Section 10 for more information).

      0
      0 1 2 3 4 5 6 7
     +-+-+-+-+-+-+-+-+
     | Certificate...
     +-+-+-+-+-+-+-+-+

   Type:   44 for Certificate

   Length:   > 0

   Certificate:   A non zero terminated string containing the device's
      certificate.

6.1.7.  Session ID

   The session ID message element value contains a randomly generated
   [4] unsigned 32-bit integer.

      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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                           Session ID                          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Type:   45 for Session ID

   Length:   4

   Session ID:   32 bit random session identifier.






Calhoun, et al.         Expires September 3, 2007              [Page 43]

Internet-Draft     Light Weight Access Point Protocol         March 2007


6.1.8.  Test

   The test message element is used as padding to perform MTU discovery,
   and MAY contain any value, of any length.

      0
      0 1 2 3 4 5 6 7
     +-+-+-+-+-+-+-+-+
     |  Padding ...
     +-+-+-+-+-+-+-+-+

   Type:   18 for Test

   Length:   > 0

   Padding:   A variable length pad.

6.1.9.  XNonce

   The XNonce is used by the WTP to communicate its random nonce during
   the join or rekey phase.  See Section 10 for more information.

      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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                             Nonce                             |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                             Nonce                             |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                             Nonce                             |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                             Nonce                             |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Type:   111 for XNonce

   Length:   16

   Nonce:   1 16 octet random nonce.

6.2.  Join Response

   The Join Response is sent by the AC to indicate to an WTP whether it
   is capable and willing to provide service to it.

   Join Responses are sent by the AC after receiving a Join Request.
   Once the Join Response has been sent, the heartbeat timer is
   initiated for the session to EchoInterval.  Expiration of the timer



Calhoun, et al.         Expires September 3, 2007              [Page 44]

Internet-Draft     Light Weight Access Point Protocol         March 2007


   will result in deletion of the AC-WTP session.  The timer is
   refreshed upon receipt of the Echo Request.

   If the security method used is certificate based, when a WTP receives
   a Join Response it enters the Joined state and initiates either a
   Configure Request or Image Data to the AC to which it is now joined.
   Upon entering the Joined state, the WTP begins timing an interval
   equal to NeighborDeadInterval.  Expiration of the timer will result
   in the transmission of the Echo Request.

   If the security method used is pre-shared secret based, when a WTP
   receives a Join Response that includes a valid PSK-MIC message
   element, it responds with a Join ACK that also MUST include a locally
   computed PSK-MIC message element.

   The following subsections define the message elements that MUST be
   included in this LWAPP operation.

6.2.1.  Result Code

   The Result Code message element value is a 32-bit integer value,
   indicating the result of the request operation corresponding to the
   sequence number in the message.  The Result Code is included in a
   successful Join Response.

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

   Type:   2 for Result Code

   Length:   4

   Result Code:   The following values are defined:

      0  Success

      1  Failure (AC List message element MUST be present)

6.2.2.  Status

   The Status message element is sent by the AC to the WTP in a non-
   successful Join Response message.  This message element is used to
   indicate the reason for the failure and should only be accompanied
   with a Result Code message element that indicates a failure.




Calhoun, et al.         Expires September 3, 2007              [Page 45]

Internet-Draft     Light Weight Access Point Protocol         March 2007


      0
      0 1 2 3 4 5 6 7
     +-+-+-+-+-+-+-+-+
     |    Status     |
     +-+-+-+-+-+-+-+-+

   Type:   60 for Status

   Length:   1

   Status:   The status field indicates the reason for an LWAPP failure.
      The following values are supported:

      1 -  Reserved - do not use

      2 -  Resource Depletion

      3 -  Unknown Source

      4 -  Incorrect Data

6.2.3.  Certificate

   The Certificate message element is defined in section Section 6.1.6.
   Note this message element is only included if the WTP and the AC make
   use of certificate based security as defined in section Section 10.

6.2.4.  WTP Manager Data IPv4 Address

   The WTP Manager Data IPv4 Address message element is optionally sent
   by the AC to the WTP during the join phase.  If present, the IP
   Address contained in this message element is the address the WTP is
   to use when sending any of its LWAPP data frames.

   Note this message element is only valid when LWAPP uses the IP/UDP
   layer 3 transport

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

   Type:   138 for WTP Manager Data IPv4 Address







Calhoun, et al.         Expires September 3, 2007              [Page 46]

Internet-Draft     Light Weight Access Point Protocol         March 2007


   Length:   4

   IP Address:   The IP Address of an interface.

6.2.5.  WTP Manager Data IPv6 Address

   The WTP Manager Data IPv6 Address message element is optionally sent
   by the AC to the WTP during the join phase.  If present, the IP
   Address contained in this message element is the address the WTP is
   to use when sending any of its LWAPP data frames.

   Note this message element is only valid when LWAPP uses the IP/UDP
   layer 3 transport

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

   Type:   139 for WTP Manager Data IPv6 Address

   Length:   4

   IP Address:   The IP Address of an interface.

6.2.6.  AC IPv4 List

   The AC List message element is used to configure an WTP with the
   latest list of ACs in a cluster.  This message element MUST be
   included if the Join Response returns a failure indicating that the
   AC cannot handle the WTP at this time, allowing the WTP to find an
   alternate AC to connect to.

      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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                       AC IP Address[]                         |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+






Calhoun, et al.         Expires September 3, 2007              [Page 47]

Internet-Draft     Light Weight Access Point Protocol         March 2007


   Type:   59 for AC List

   Length:   >= 4

   AC IP Address:   An array of 32-bit integers containing an AC's IPv4
      Address.

6.2.7.  AC IPv6 List

   The AC List message element is used to configure an WTP with the
   latest list of ACs in a cluster.  This message element MUST be
   included if the Join Response returns a failure indicating that the
   AC cannot handle the WTP at this time, allowing the WTP to find an
   alternate AC to connect to.

      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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                       AC IP Address[]                         |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                       AC IP Address[]                         |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                       AC IP Address[]                         |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                       AC IP Address[]                         |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Type:   141 for AC List

   Length:   >= 4

   AC IP Address:   An array of 32-bit integers containing an AC's IPv6
      Address.

6.2.8.  ANonce

   The ANonce message element is sent by a AC during the join or rekey
   phase.  The contents of the ANonce are encrypted as described in
   section Section 10 for more information.












Calhoun, et al.         Expires September 3, 2007              [Page 48]

Internet-Draft     Light Weight Access Point Protocol         March 2007


      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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                             Nonce                             |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                             Nonce                             |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                             Nonce                             |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                             Nonce                             |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Type:   108 for ANonce

   Length:   16

   Nonce:   An encrypted 16 octet random nonce.

6.2.9.  PSK-MIC

   The PSK-MIC message element includes a message integrity check, whose
   purpose is to provide confirmation to the peer that the sender has
   the proper session key.  This message element is only included if the
   security method used between the WTP and the AC is the pre-shared
   secret mechanism.  See Section 10 for more information.

   When present, the PSK-MIC message element MUST be the last message
   element in the message.  The MIC is computed over the complete LWAPP
   packet, from the LWAPP control header as defined in Section 4.2.1 to
   the end of the packet (which MUST be this PSK-MIC message element).
   The MIC field in this message element and the sequence number field
   in the LWAPP control header MUST be set to zeroes prior to computing
   the MIC.  The length field in the LWAPP control header must already
   include this message element prior to computing the MIC.

      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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |       SPI       |                    MIC ...
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Type:   109 for PSK-MIC

   Length:   > 1







Calhoun, et al.         Expires September 3, 2007              [Page 49]

Internet-Draft     Light Weight Access Point Protocol         March 2007


   SPI:   The SPI field specifies the cryptographic algorithm used to
      create the message integrity check.  The following values are
      supported:

      0 -  Unused

      1 -  HMAC-SHA-1 (RFC 2104 [16])

   MIC:   A 20 octet Message Integrity Check.

6.3.  Join ACK

   The Join ACK message is sent by the WTP upon receiving a Join
   Response, which has a valid PSK-MIC message element, as a means of
   providing key confirmation to the AC.  The Join ACK is only used in
   the case where the WTP makes use of the pre-shared key LWAPP mode
   (See Section 10 for more information).

   Note that the AC should never receive this message unless the
   security method used between the WTP and the AC is pre-shared secret
   based.

   The following subsections define the message elements that MUST be
   included in this LWAPP operation.

6.3.1.  Session ID

   The Session ID message element is defined in section Section 6.1.7.

6.3.2.  WNonce

   The WNonce message element is sent by a WTP during the join or rekey
   phase.  The contents of the ANonce are encrypted as described in
   section Section 10 for more information.

      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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                             Nonce                             |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                             Nonce                             |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                             Nonce                             |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                             Nonce                             |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+





Calhoun, et al.         Expires September 3, 2007              [Page 50]

Internet-Draft     Light Weight Access Point Protocol         March 2007


   Type:   107 for WNonce

   Length:   16

   Nonce:   An encrypted 16 octet random nonce.

6.3.3.  PSK-MIC

   The PSK-MIC message element is defined in section Section 6.2.9.

6.4.  Join Confirm

   The Join Confirm message is sent by the AC upon receiving a Join ACK,
   which has a valid PSK-MIC message element, as a means of providing
   key confirmation to the WTP.  The Join Confirm is only used in the
   case where the WTP makes use of the pre-shared key LWAPP mode (See
   Section 10 for more information).

   If the security method used is pre-shared key based, when an WTP
   receives a Join Confirm it enters the Joined state and initiates
   either a Configure Request or Image Data to the AC to which it is now
   joined.  Upon entering the Joined state, the WTP begins timing an
   interval equal to NeighborDeadInterval.  Expiration of the timer will
   result in the transmission of the Echo Request.

   This message is never received, or sent, when the security type used
   between the WTP and the AC is certificated based.

   The following subsections define the message elements that MUST be
   included in this LWAPP operation.

6.4.1.  Session ID

   The Session ID message element is defined in section Section 6.1.7.

6.4.2.  PSK-MIC

   The PSK-MIC message element is defined in section Section 6.2.9.

6.5.  Echo Request

   The Echo Request message is a keepalive mechanism for the LWAPP
   control message.

   Echo Requests are sent periodically by an WTP in the Run state (see
   Figure 2) to determine the state of the connection between the WTP
   and the AC.  The Echo Request is sent by the WTP when the Heartbeat
   timer expires, and it MUST start its NeighborDeadInterval timer.



Calhoun, et al.         Expires September 3, 2007              [Page 51]

Internet-Draft     Light Weight Access Point Protocol         March 2007


   The Echo Request carries no message elements.

   When an AC receives an Echo Request it responds with an Echo
   Response.

6.6.  Echo Response

   The Echo Response acknowledges the Echo Request, and are only
   accepted while in the Run state (see Figure 2).

   Echo Responses are sent by an AC after receiving an Echo Request.
   After transmitting the Echo Response, the AC should reset its
   Heartbeat timer to expire in the value configured for EchoInterval.
   If another Echo request is not received by the AC when the timer
   expires, the AC SHOULD consider the WTP to no longer be reachable.

   The Echo Response carries no message elements.

   When an WTP receives an Echo Response it stops the
   NeighborDeadInterval timer, and starts the Heartbeat timer to
   EchoInterval.

   If the NeighborDeadInterval timer expires prior to receiving an Echo
   Response, the WTP enters the Idle state.

6.7.  Key Update Request

   The Key Update Request is used by the WTP to initiate the rekeying
   phase.  This message is sent by a WTP when in the Run state and MUST
   include a new unique Session Identifier.  This message MUST also
   include a unique Nonce in the XNonce message element, which is used
   to protect against replay attacks (see Section 10).

   The following subsections define the message elements that MUST be
   included in this LWAPP operation.

6.7.1.  Session ID

   The Session ID message element is defined in section Section 6.1.7.

6.7.2.  XNonce

   The XNonce message element is defined in section Section 6.1.9.

6.8.  Key Update Response

   The Key Update Response is sent by the AC in response to the request
   message, and includes an encrypted ANonce, which is used to derive



Calhoun, et al.         Expires September 3, 2007              [Page 52]

Internet-Draft     Light Weight Access Point Protocol         March 2007


   new session keys.  This message MUST include a Session Identifier
   message element, whose value MUST be identical to the one found in
   the Key Update Request.

   The AC MUST include a PSK-MIC message element, which provides message
   integrity over the whole message.

   The following subsections define the message elements that MUST be
   included in this LWAPP operation.

6.8.1.  Session ID

   The Session ID message element is defined in section Section 6.1.7.

6.8.2.  ANonce

   The ANonce message element is defined in section Section 6.2.8.

6.8.3.  PSK-MIC

   The PSK-MIC message element is defined in section Section 6.2.9.

6.9.  Ke