7004 lines
		
	
	
		
			256 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			7004 lines
		
	
	
		
			256 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Independent Submission                                        P. Calhoun
 | ||
| Request for Comments: 5412                                       R. Suri
 | ||
| Category: Historic                                         N. Cam-Winget
 | ||
| ISSN: 2070-1721                                      Cisco Systems, Inc.
 | ||
|                                                              M. Williams
 | ||
|                                                    GWhiz Arts & Sciences
 | ||
|                                                                 S. Hares
 | ||
|                                                                B. O'Hara
 | ||
|                                                                  S.Kelly
 | ||
|                                                            February 2010
 | ||
| 
 | ||
| 
 | ||
|                    Lightweight Access Point Protocol
 | ||
| 
 | ||
| Abstract
 | ||
| 
 | ||
|    In recent years, there has been a shift in wireless LAN (WLAN)
 | ||
|    product architectures from autonomous access points to centralized
 | ||
|    control of lightweight 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 (Control and Provisioning of Wireless Access
 | ||
|    Points) 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
 | ||
|    Lightweight Access Points).  This specification defines the
 | ||
|    Lightweight Access Point Protocol (LWAPP), which addresses the
 | ||
|    CAPWAP's (Control and Provisioning of Wireless Access Points)
 | ||
|    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.
 | ||
| 
 | ||
| Status of This Memo
 | ||
| 
 | ||
|    This document is not an Internet Standards Track specification; it is
 | ||
|    published for the historical record.
 | ||
| 
 | ||
|    This document defines a Historic Document for the Internet community.
 | ||
|    This is a contribution to the RFC Series, independently of any other
 | ||
|    RFC stream.  The RFC Editor has chosen to publish this document at
 | ||
|    its discretion and makes no statement about its value for
 | ||
|    implementation or deployment.  Documents approved for publication by
 | ||
|    the RFC Editor are not a candidate for any level of Internet
 | ||
|    Standard; see Section 2 of RFC 5741.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                        [Page 1]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|    Information about the current status of this document, any errata,
 | ||
|    and how to provide feedback on it may be obtained at
 | ||
|    http://www.rfc-editor.org/info/rfc5412.
 | ||
| 
 | ||
| IESG Note
 | ||
| 
 | ||
|    This RFC documents the LWAPP protocol as it was when submitted to the
 | ||
|    IETF as a basis for further work in the CAPWAP Working Group, and
 | ||
|    therefore it may resemble the CAPWAP protocol specification in RFC
 | ||
|    5415 as well as other IETF work.  This RFC is being published solely
 | ||
|    for the historical record.  The protocol described in this RFC has
 | ||
|    not been thoroughly reviewed and may contain errors and omissions.
 | ||
| 
 | ||
|    RFC 5415 documents the standards track solution for the CAPWAP
 | ||
|    Working Group and obsoletes any and all mechanisms defined in this
 | ||
|    RFC.  This RFC is not a candidate for any level of Internet Standard
 | ||
|    and should not be used as a basis for any sort of Internet
 | ||
|    deployment.
 | ||
| 
 | ||
| Copyright Notice
 | ||
| 
 | ||
|    Copyright (c) 2010 IETF Trust and the persons identified as the
 | ||
|    document authors.  All rights reserved.
 | ||
| 
 | ||
|    This document is subject to BCP 78 and the IETF Trust's Legal
 | ||
|    Provisions Relating to IETF Documents
 | ||
|    (http://trustee.ietf.org/license-info) in effect on the date of
 | ||
|    publication of this document.  Please review these documents
 | ||
|    carefully, as they describe your rights and restrictions with respect
 | ||
|    to this document.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                        [Page 2]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
| 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 .........................................20
 | ||
|       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 ...........................24
 | ||
|            3.2.5. Multiplexing .......................................24
 | ||
|       3.3. Using IP/UDP as LWAPP Transport ...........................24
 | ||
|            3.3.1. Framing ............................................24
 | ||
|            3.3.2. AC Discovery .......................................25
 | ||
|            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 .......................................26
 | ||
|       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 .............................29
 | ||
|            4.2.3. Quality of Service .................................31
 | ||
|    5. LWAPP Discovery Operations .....................................31
 | ||
|       5.1. Discovery Request .........................................31
 | ||
|            5.1.1. Discovery Type .....................................32
 | ||
|            5.1.2. WTP Descriptor .....................................33
 | ||
|            5.1.3. WTP Radio Information ..............................34
 | ||
|       5.2. Discovery Response ........................................34
 | ||
|            5.2.1. AC Address .........................................35
 | ||
|            5.2.2. AC Descriptor ......................................35
 | ||
|            5.2.3. AC Name ............................................36
 | ||
|            5.2.4. WTP Manager Control IPv4 Address ...................37
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                        [Page 3]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|            5.2.5. WTP Manager Control IPv6 Address ...................37
 | ||
|       5.3. Primary Discovery Request .................................38
 | ||
|            5.3.1. Discovery Type .....................................38
 | ||
|            5.3.2. WTP Descriptor .....................................38
 | ||
|            5.3.3. WTP Radio Information ..............................38
 | ||
|       5.4. Primary Discovery Response ................................38
 | ||
|            5.4.1. AC Descriptor ......................................39
 | ||
|            5.4.2. AC Name ............................................39
 | ||
|            5.4.3. WTP Manager Control IPv4 Address ...................39
 | ||
|            5.4.4. WTP Manager Control IPv6 Address ...................39
 | ||
|    6. Control Channel Management .....................................39
 | ||
|       6.1. Join Request ..............................................39
 | ||
|            6.1.1. WTP Descriptor .....................................40
 | ||
|            6.1.2. AC Address .........................................40
 | ||
|            6.1.3. WTP Name ...........................................40
 | ||
|            6.1.4. Location Data ......................................41
 | ||
|            6.1.5. WTP Radio Information ..............................41
 | ||
|            6.1.6. Certificate ........................................41
 | ||
|            6.1.7. Session ID .........................................42
 | ||
|            6.1.8. Test ...............................................42
 | ||
|            6.1.9. XNonce .............................................42
 | ||
|       6.2. Join Response .............................................43
 | ||
|            6.2.1. Result Code ........................................44
 | ||
|            6.2.2. Status .............................................44
 | ||
|            6.2.3. Certificate ........................................45
 | ||
|            6.2.4. WTP Manager Data IPv4 Address ......................45
 | ||
|            6.2.5. WTP Manager Data IPv6 Address ......................45
 | ||
|            6.2.6. AC IPv4 List .......................................46
 | ||
|            6.2.7. AC IPv6 List .......................................46
 | ||
|            6.2.8. ANonce .............................................47
 | ||
|            6.2.9. PSK-MIC ............................................48
 | ||
|       6.3. Join ACK ..................................................48
 | ||
|            6.3.1. Session ID .........................................49
 | ||
|            6.3.2. WNonce .............................................49
 | ||
|            6.3.3. PSK-MIC ............................................49
 | ||
|       6.4. Join Confirm ..............................................49
 | ||
|            6.4.1. Session ID .........................................50
 | ||
|            6.4.2. PSK-MIC ............................................50
 | ||
|       6.5. Echo Request ..............................................50
 | ||
|       6.6. Echo Response .............................................50
 | ||
|       6.7. Key Update Request ........................................51
 | ||
|            6.7.1. Session ID .........................................51
 | ||
|            6.7.2. XNonce .............................................51
 | ||
|       6.8. Key Update Response .......................................51
 | ||
|            6.8.1. Session ID .........................................51
 | ||
|            6.8.2. ANonce .............................................51
 | ||
|            6.8.3. PSK-MIC ............................................52
 | ||
|       6.9. Key Update ACK ............................................52
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                        [Page 4]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|            6.9.1. WNonce .............................................52
 | ||
|            6.9.2. PSK-MIC ............................................52
 | ||
|       6.10. Key Update Confirm .......................................52
 | ||
|            6.10.1. PSK-MIC ...........................................52
 | ||
|       6.11. Key Update Trigger .......................................52
 | ||
|            6.11.1. Session ID ........................................53
 | ||
|    7. WTP Configuration Management ...................................53
 | ||
|       7.1. Configuration Consistency .................................53
 | ||
|       7.2. Configure Request .........................................54
 | ||
|            7.2.1. Administrative State ...............................54
 | ||
|            7.2.2. AC Name ............................................55
 | ||
|            7.2.3. AC Name with Index .................................55
 | ||
|            7.2.4. WTP Board Data .....................................56
 | ||
|            7.2.5. Statistics Timer ...................................56
 | ||
|            7.2.6. WTP Static IP Address Information ..................57
 | ||
|            7.2.7. WTP Reboot Statistics ..............................58
 | ||
|       7.3. Configure Response ........................................58
 | ||
|            7.3.1. Decryption Error Report Period .....................59
 | ||
|            7.3.2. Change State Event .................................59
 | ||
|            7.3.3. LWAPP Timers .......................................60
 | ||
|            7.3.4. AC IPv4 List .......................................60
 | ||
|            7.3.5. AC IPv6 List .......................................61
 | ||
|            7.3.6. WTP Fallback .......................................61
 | ||
|            7.3.7. Idle Timeout .......................................61
 | ||
|       7.4. Configuration Update Request ..............................62
 | ||
|            7.4.1. WTP Name ...........................................62
 | ||
|            7.4.2. Change State Event .................................62
 | ||
|            7.4.3. Administrative State ...............................62
 | ||
|            7.4.4. Statistics Timer ...................................62
 | ||
|            7.4.5. Location Data ......................................62
 | ||
|            7.4.6. Decryption Error Report Period .....................62
 | ||
|            7.4.7. AC IPv4 List .......................................62
 | ||
|            7.4.8. AC IPv6 List .......................................62
 | ||
|            7.4.9. Add Blacklist Entry ................................63
 | ||
|            7.4.10. Delete Blacklist Entry ............................63
 | ||
|            7.4.11. Add Static Blacklist Entry ........................64
 | ||
|            7.4.12. Delete Static Blacklist Entry .....................64
 | ||
|            7.4.13. LWAPP Timers ......................................65
 | ||
|            7.4.14. AC Name with Index ................................65
 | ||
|            7.4.15. WTP Fallback ......................................65
 | ||
|            7.4.16. Idle Timeout ......................................65
 | ||
|       7.5. Configuration Update Response .............................65
 | ||
|            7.5.1. Result Code ........................................65
 | ||
|       7.6. Change State Event Request ................................65
 | ||
|            7.6.1. Change State Event .................................66
 | ||
|       7.7. Change State Event Response ...............................66
 | ||
|       7.8. Clear Config Indication ...................................66
 | ||
|    8. Device Management Operations ...................................66
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                        [Page 5]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|       8.1. Image Data Request ........................................66
 | ||
|            8.1.1. Image Download .....................................67
 | ||
|            8.1.2. Image Data .........................................67
 | ||
|       8.2. Image Data Response .......................................68
 | ||
|       8.3. Reset Request .............................................68
 | ||
|       8.4. Reset Response ............................................68
 | ||
|       8.5. WTP Event Request .........................................68
 | ||
|            8.5.1. Decryption Error Report ............................69
 | ||
|            8.5.2. Duplicate IPv4 Address .............................69
 | ||
|            8.5.3. Duplicate IPv6 Address .............................70
 | ||
|       8.6. WTP Event Response ........................................70
 | ||
|       8.7. Data Transfer Request .....................................71
 | ||
|            8.7.1. Data Transfer Mode .................................71
 | ||
|            8.7.2. Data Transfer Data .................................71
 | ||
|       8.8. Data Transfer Response ....................................72
 | ||
|    9. Mobile Session Management ......................................72
 | ||
|       9.1. Mobile Config Request .....................................72
 | ||
|            9.1.1. Delete Mobile ......................................73
 | ||
|       9.2. Mobile Config Response ....................................73
 | ||
|            9.2.1. Result Code ........................................74
 | ||
|    10. LWAPP Security ................................................74
 | ||
|       10.1. Securing WTP-AC Communications ...........................74
 | ||
|       10.2. LWAPP Frame Encryption ...................................75
 | ||
|       10.3. Authenticated Key Exchange ...............................76
 | ||
|            10.3.1. Terminology .......................................76
 | ||
|            10.3.2. Initial Key Generation ............................77
 | ||
|            10.3.3. Refreshing Cryptographic Keys .....................81
 | ||
|       10.4. Certificate Usage ........................................82
 | ||
|    11. IEEE 802.11 Binding ...........................................82
 | ||
|       11.1. Division of Labor ........................................82
 | ||
|            11.1.1. Split MAC .........................................83
 | ||
|            11.1.2. Local MAC .........................................85
 | ||
|       11.2. Roaming Behavior and 802.11 Security .....................87
 | ||
|       11.3. Transport-Specific Bindings ..............................88
 | ||
|            11.3.1. Status and WLANS Field ............................88
 | ||
|       11.4. BSSID to WLAN ID Mapping .................................89
 | ||
|       11.5. Quality of Service .......................................89
 | ||
|       11.6. Data Message Bindings ....................................90
 | ||
|       11.7. Control Message Bindings .................................90
 | ||
|            11.7.1. Mobile Config Request .............................90
 | ||
|            11.7.2. WTP Event Request .................................96
 | ||
|       11.8. 802.11 Control Messages ..................................97
 | ||
|            11.8.1. IEEE 802.11 WLAN Config Request ...................98
 | ||
|            11.8.2. IEEE 802.11 WLAN Config Response .................103
 | ||
|            11.8.3. IEEE 802.11 WTP Event ............................103
 | ||
|       11.9. Message Element Bindings ................................105
 | ||
|            11.9.1. IEEE 802.11 WTP WLAN Radio Configuration .........105
 | ||
|            11.9.2. IEEE 802.11 Rate Set .............................107
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                        [Page 6]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|            11.9.3. IEEE 802.11 Multi-Domain Capability ..............107
 | ||
|            11.9.4. IEEE 802.11 MAC Operation ........................108
 | ||
|            11.9.5. IEEE 802.11 Tx Power .............................109
 | ||
|            11.9.6. IEEE 802.11 Tx Power Level .......................110
 | ||
|            11.9.7. IEEE 802.11 Direct Sequence Control ..............110
 | ||
|            11.9.8. IEEE 802.11 OFDM Control .........................111
 | ||
|            11.9.9. IEEE 802.11 Antenna ..............................112
 | ||
|            11.9.10. IEEE 802.11 Supported Rates .....................113
 | ||
|            11.9.11. IEEE 802.11 CFP Status ..........................114
 | ||
|            11.9.12. IEEE 802.11 WTP Mode and Type ...................114
 | ||
|            11.9.13. IEEE 802.11 Broadcast Probe Mode ................115
 | ||
|            11.9.14. IEEE 802.11 WTP Quality of Service ..............115
 | ||
|            11.9.15. IEEE 802.11 MIC Error Report From Mobile ........117
 | ||
|       11.10. IEEE 802.11 Message Element Values .....................117
 | ||
|    12. LWAPP Protocol Timers ........................................118
 | ||
|       12.1. MaxDiscoveryInterval ....................................118
 | ||
|       12.2. SilentInterval ..........................................118
 | ||
|       12.3. NeighborDeadInterval ....................................118
 | ||
|       12.4. EchoInterval ............................................118
 | ||
|       12.5. DiscoveryInterval .......................................118
 | ||
|       12.6. RetransmitInterval ......................................119
 | ||
|       12.7. ResponseTimeout .........................................119
 | ||
|       12.8. KeyLifetime .............................................119
 | ||
|    13. LWAPP Protocol Variables .....................................119
 | ||
|       13.1. MaxDiscoveries ..........................................119
 | ||
|       13.2. DiscoveryCount ..........................................119
 | ||
|       13.3. RetransmitCount .........................................119
 | ||
|       13.4. MaxRetransmit ...........................................120
 | ||
|    14. NAT Considerations ...........................................120
 | ||
|    15. Security Considerations ......................................121
 | ||
|       15.1. Certificate-Based Session Key Establishment .............122
 | ||
|       15.2. PSK-Based Session Key Establishment .....................123
 | ||
|    16. Acknowledgements .............................................123
 | ||
|    17. References ...................................................123
 | ||
|       17.1. Normative References ....................................123
 | ||
|       17.2. Informative References ..................................124
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                        [Page 7]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
| 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 (L2) 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 (Medium Access Control (MAC)) or
 | ||
|    Layer 3 (IP) to an AC.  The WTPs can be considered as remote radio
 | ||
|    frequency (RF) interfaces, being controlled by the AC.  The AC
 | ||
|    forwards all L2 frames it wants to transmit to a 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.11 frames          +-+
 | ||
|                   | |--------------------------------| |
 | ||
|                   | |              +-+               | |
 | ||
|                   | |--------------| |---------------| |
 | ||
|                   | |  802.11 PHY/ | |     LWAPP     | |
 | ||
|                   | | MAC sublayer | |               | |
 | ||
|                   +-+              +-+               +-+
 | ||
|                   STA              WTP                AC
 | ||
| 
 | ||
|                         Figure 1: LWAPP Architecture
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                        [Page 8]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|    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 manageability and allows network
 | ||
|    operators to more tightly control their wireless network
 | ||
|    infrastructure.
 | ||
| 
 | ||
|    This document describes the Lightweight 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 types 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.                 Historic                        [Page 9]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
| 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 a 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 Path Maximum Transmission Unit
 | ||
|    (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 Lightweight 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, a 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 its 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 Physical Layer (PHY) simultaneously) to be used.
 | ||
|    Finally, the WTPs are enabled for operation.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 10]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|    When the WTP and AC have completed the version and provision exchange
 | ||
|    and the WTP is enabled, the LWAPP encapsulates the wireless frames
 | ||
|    sent between them.  LWAPP will fragment its packets, if the size of
 | ||
|    the encapsulated wireless user data (Data) or protocol control
 | ||
|    (Management) frames cause 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 keepalive 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.                 Historic                       [Page 11]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
| 2.2.  LWAPP State Machine Definition
 | ||
| 
 | ||
|    The following state diagram represents the life cycle of a 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.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 12]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|    Note that in the state diagram figure above, the 'C' character is
 | ||
|    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 to which AC it wishes to connect.
 | ||
| 
 | ||
|       WTP:  This event occurs when the DiscoveryInterval timer expires.
 | ||
|             The WTP transmits a Discovery Request to every AC to which
 | ||
|             the WTP hasn't received a response.  For every transition to
 | ||
|             this event, the WTP increments the DisoveryCount counter.
 | ||
|             See Section 5.1 for more information on how the WTP knows to
 | ||
|             which ACs it should transmit the Discovery Requests.  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.
 | ||
| 
 | ||
|    Sulking to Idle (e):  This state occurs on a WTP when it must restart
 | ||
|    the discovery phase.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 13]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|       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 has
 | ||
|    failed.
 | ||
| 
 | ||
|       WTP:  This state transition occurs if the WTP is configured to use
 | ||
|             pre-shared key (PSK) security and receives a Join Response
 | ||
|             that includes an invalid PSK-MIC (Message Integrity Check)
 | ||
|             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 has
 | ||
|    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
 | ||
|             Section 6.2.9) message element is invalid.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 14]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|        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 valid
 | ||
|             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
 | ||
|             the WNonce 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
 | ||
|    has 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.                 Historic                       [Page 15]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|    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 an 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 the WTP and the
 | ||
|    AC during the firmware download phase.
 | ||
| 
 | ||
|       WTP:  The WTP enters this state when it receives an 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 an 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 WTP's 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.                 Historic                       [Page 16]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|        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 WTP's
 | ||
|             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 enter 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
 | ||
|             NeighborDead 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), to 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.                 Historic                       [Page 17]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|          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 a WLAN Config Request
 | ||
|          message (Section 11.8.1), to which it MUST respond with a WLAN
 | ||
|          Config Response (see Section 11.8.2).
 | ||
| 
 | ||
|          Mobile Config Request:  The WTP receives an Mobile Config
 | ||
|          Request message (Section 9.1), to which it MUST respond with a
 | ||
|          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), to which it MUST respond 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 a 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 a 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.                 Historic                       [Page 18]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|    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 is 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.                 Historic                       [Page 19]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|        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
 | ||
|             Initialization Vector (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 rebooting, 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.
 | ||
| 
 | ||
| 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.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 20]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
| 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 that contains the version of LWAPP used in this packet.
 | ||
|    The value for this document is 0.
 | ||
| 
 | ||
| 3.1.2.  RID Field
 | ||
| 
 | ||
|    A 3-bit field that 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 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
 | ||
|    combined with the other corresponding fragments to reassemble the
 | ||
|    complete information exchanged between the WTP and AC.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 21]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
| 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 the 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 Advanced Encryption Standard
 | ||
|    Counter with CBC-MAC (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.                 Historic                       [Page 22]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|       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 a 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.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 23]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
| 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
 | ||
|    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 the 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.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 24]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
| 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.
 | ||
| 
 | ||
|    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 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 a 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 one 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.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 25]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
| 3.3.3.3.  Frag ID
 | ||
| 
 | ||
|    This field is not used with this transport, and MUST be set to zero.
 | ||
| 
 | ||
| 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 the MTU size used by either the 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.
 | ||
| 
 | ||
| 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 the 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 send all control
 | ||
|    frames.  The AP Manager Data IP Address message element MAY be
 | ||
|    present only if the AC has a different IP address that 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.
 | ||
| 
 | ||
| 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.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 26]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|    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 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 with which it has a
 | ||
|       control channel.  Messages that deal with the retrieval of
 | ||
|       statistics from the WTP also fall in this category.
 | ||
| 
 | ||
|    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.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 27]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
| 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 a Message Type are the following:
 | ||
| 
 | ||
|                   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
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 28]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|                   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.
 | ||
| 
 | ||
| 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 WTPs with which it may be
 | ||
|    communicating.
 | ||
| 
 | ||
| 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.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 29]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|    All of the message element definitions in this document use a diagram
 | ||
|    similar to the one below in order to depict their formats.  Note that
 | ||
|    in order to simplify this specification, these diagrams do not
 | ||
|    include the header fields (Type and Length).  However, in each
 | ||
|    message element description, the header's field 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 bits) identifies the character of the information
 | ||
|    carried in the Value field and Length (16 bits) indicates the number
 | ||
|    of bytes in the Value field.
 | ||
| 
 | ||
| 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].
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 30]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|    Element ID:   A 16-bit Element Identifier that 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 occurrences 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 Differentiated Services Code Point (DSCP) tag value of 46
 | ||
|            SHOULD be used.
 | ||
| 
 | ||
| 5.  LWAPP Discovery Operations
 | ||
| 
 | ||
|    The Discovery messages are used by a 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.  A 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 a WTP in the Discover state after
 | ||
|    waiting for a random delay less of than MaxDiscoveryInterval, after a
 | ||
|    WTP first comes up or is (re)initialized.  A 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 a 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
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 31]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|    MaxDiscoveryInterval.  A 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.
 | ||
| 
 | ||
| 5.1.1.  Discovery Type
 | ||
| 
 | ||
|    The Discovery message element is used to configure a 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
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 32]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
| 5.1.2.  WTP Descriptor
 | ||
| 
 | ||
|    The WTP Descriptor message element is used by the WTP to communicate
 | ||
|    its 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.
 | ||
| 
 | ||
|    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 its 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.  A WTP that
 | ||
|       does not have any encryption capabilities would set this field to
 | ||
|       zero (0).  Refer to the specific binding for the specification.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 33]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
| 5.1.3.  WTP Radio Information
 | ||
| 
 | ||
|    The WTP Radio 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:
 | ||
| 
 | ||
|       1 - 802.11bg:   An 802.11bg radio.
 | ||
| 
 | ||
|       2 - 802.11a:   An 802.11a radio.
 | ||
| 
 | ||
|       3 - 802.16:   An 802.16 radio.
 | ||
| 
 | ||
|       4 - Ultra Wideband:   A 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.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 34]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|    When a 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
 | ||
| 
 | ||
|    MAC Address:   The MAC address of the AC
 | ||
| 
 | ||
| 5.2.2.  AC Descriptor
 | ||
| 
 | ||
|    The AC Descriptor message element is used by the AC to communicate
 | ||
|    its 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   |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 35]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|    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 the 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.
 | ||
| 
 | ||
|    Security:   An 8-bit bitmask 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
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 36]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|    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
 | ||
| 
 | ||
|    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           |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 37]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|    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 Requests are sent by a 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.
 | ||
| 
 | ||
|    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 5.1.1.
 | ||
| 
 | ||
| 5.3.2.  WTP Descriptor
 | ||
| 
 | ||
|    The WTP Descriptor message element is defined in Section 5.1.2.
 | ||
| 
 | ||
| 5.3.3.  WTP Radio Information
 | ||
| 
 | ||
|    A WTP Radio Information message element must be present for every
 | ||
|    radio in the WTP.  This message element is defined in 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.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 38]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|    Primary Discovery Responses are sent by an AC after receiving a
 | ||
|    Primary Discovery Request.
 | ||
| 
 | ||
|    When a 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 5.2.2.
 | ||
| 
 | ||
| 5.4.2.  AC Name
 | ||
| 
 | ||
|    The AC Name message element is defined in Section 5.2.3.
 | ||
| 
 | ||
| 5.4.3.  WTP Manager Control IPv4 Address
 | ||
| 
 | ||
|    A WTP Radio Information message element MAY be present for every
 | ||
|    radio in the WTP that is reachable via IPv4.  This message element is
 | ||
|    defined in Section 5.2.4.
 | ||
| 
 | ||
| 5.4.4.  WTP Manager Control IPv6 Address
 | ||
| 
 | ||
|    A WTP Radio Information message element must be present for every
 | ||
|    radio in the WTP that is reachable via IPv6.  This message element is
 | ||
|    defined in Section 5.2.5.
 | ||
| 
 | ||
| 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 a WTP to inform an AC that it wishes to
 | ||
|    provide services through it.
 | ||
| 
 | ||
|    Join Requests are sent by a 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.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 39]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|    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 that 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, and
 | ||
|    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 are found in Section 10.
 | ||
| 
 | ||
|    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 5.1.2.
 | ||
| 
 | ||
| 6.1.2.  AC Address
 | ||
| 
 | ||
|    The AC Address message element is defined in 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.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 40]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|        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
 | ||
| 
 | ||
|    Location:   A non-zero-terminated string containing the WTP's
 | ||
|       location.
 | ||
| 
 | ||
| 6.1.5.  WTP Radio Information
 | ||
| 
 | ||
|    A WTP Radio Information message element must be present for every
 | ||
|    radio in the WTP.  This message element is defined in 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...
 | ||
|       +-+-+-+-+-+-+-+-+
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 41]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|    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.
 | ||
| 
 | ||
| 6.1.8.  Test
 | ||
| 
 | ||
|    The Test message element is used as padding to perform MTU discovery,
 | ||
|    and it 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.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 42]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|        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 a 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
 | ||
|    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.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 43]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
| 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.
 | ||
| 
 | ||
|        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:
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 44]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|       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 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 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 that 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
 | ||
| 
 | ||
|    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 that this message element is only valid when LWAPP uses the
 | ||
|    IP/UDP Layer 3 transport.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 45]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|        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 a 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 which to connect.
 | ||
| 
 | ||
|        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[]                         |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
| 
 | ||
|    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 a 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 which to connect.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 46]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|        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 an AC during the join or rekey
 | ||
|    phase.  The contents of the ANonce are encrypted as described in
 | ||
|    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:   108 for ANonce
 | ||
| 
 | ||
|    Length:   16
 | ||
| 
 | ||
|    Nonce:   An encrypted, 16-octet random nonce.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 47]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
| 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
 | ||
| 
 | ||
|    SPI:   The Security Parameter Index (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 [15])
 | ||
| 
 | ||
|    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.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 48]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|    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 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 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:   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 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 a 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
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 49]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|    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 6.1.7.
 | ||
| 
 | ||
| 6.4.2.  PSK-MIC
 | ||
| 
 | ||
|    The PSK-MIC message element is defined in 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 a 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.
 | ||
| 
 | ||
|    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 is 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.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 50]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|    When a 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 6.1.7.
 | ||
| 
 | ||
| 6.7.2.  XNonce
 | ||
| 
 | ||
|    The XNonce message element is defined in 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
 | ||
|    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 6.1.7.
 | ||
| 
 | ||
| 6.8.2.  ANonce
 | ||
| 
 | ||
|    The ANonce message element is defined in Section 6.2.8.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 51]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
| 6.8.3.  PSK-MIC
 | ||
| 
 | ||
|    The PSK-MIC message element is defined in Section 6.2.9.
 | ||
| 
 | ||
| 6.9.  Key Update ACK
 | ||
| 
 | ||
|    The Key Update ACK is sent by the WTP and includes an encrypted
 | ||
|    version of the WTP's nonce, which is used in the key derivation
 | ||
|    process.  The session keys derived are then used as new LWAPP control
 | ||
|    message encryption keys (see Section 10).
 | ||
| 
 | ||
|    The WTP 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.9.1.  WNonce
 | ||
| 
 | ||
|    The WNonce message element is defined in Section 6.3.2.
 | ||
| 
 | ||
| 6.9.2.  PSK-MIC
 | ||
| 
 | ||
|    The PSK-MIC message element is defined in Section 6.2.9.
 | ||
| 
 | ||
| 6.10.  Key Update Confirm
 | ||
| 
 | ||
|    The Key Update Confirm closes the rekeying loop, and allows the WTP
 | ||
|    to recognize that the AC has received and processed the Key Update
 | ||
|    messages.  At this point, the WTP updates its session key in its
 | ||
|    crypto engine, and the associated Initialization Vector, ensuring
 | ||
|    that all future LWAPP control frames are encrypted with the newly
 | ||
|    derived encryption key.
 | ||
| 
 | ||
|    The WTP 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.10.1.  PSK-MIC
 | ||
| 
 | ||
|    The PSK-MIC message element is defined in Section 6.2.9.
 | ||
| 
 | ||
| 6.11.  Key Update Trigger
 | ||
| 
 | ||
|    The Key Update Trigger is used by the AC to request that a Key Update
 | ||
|    Request be initiated by the WTP.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 52]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|    Key Update Triggers are sent by an AC in the Run state to inform the
 | ||
|    WTP to initiate a Key Update Request message.
 | ||
| 
 | ||
|    When a WTP receives a Key Update Trigger, it generates a Key Update
 | ||
|    Request.
 | ||
| 
 | ||
|    The following subsections define the message elements that MUST be
 | ||
|    included in this LWAPP operation.
 | ||
| 
 | ||
| 6.11.1.  Session ID
 | ||
| 
 | ||
|    The Session ID message element is defined in Section 6.1.7.
 | ||
| 
 | ||
| 7.  WTP Configuration Management
 | ||
| 
 | ||
|    The Wireless Termination Point Configuration messages are used to
 | ||
|    exchange configuration between the AC and the WTP.
 | ||
| 
 | ||
| 7.1.  Configuration Consistency
 | ||
| 
 | ||
|    The LWAPP protocol provides flexibility in how WTP configuration is
 | ||
|    managed.  To put it simply, a WTP has one of two options:
 | ||
| 
 | ||
|    1. The WTP retains no configuration and simply abides by the
 | ||
|       configuration provided by the AC.
 | ||
| 
 | ||
|    2. The WTP retains the configuration of parameters provided by the AC
 | ||
|       that are non-default values.
 | ||
| 
 | ||
|    If the WTP opts to save configuration locally, the LWAPP protocol
 | ||
|    state machine defines the "Configure" state, which is used during the
 | ||
|    initial binding WTP-AC phase, which allows for configuration
 | ||
|    exchange.  During this period, the WTP sends its current
 | ||
|    configuration overrides to the AC via the Configure Request message.
 | ||
|    A configuration override is a parameter that is non-default.  One
 | ||
|    example is that in the LWAPP protocol, the default antenna
 | ||
|    configuration is an internal-omni antenna.  However, a WTP that
 | ||
|    either has no internal antennas, or has been explicitely configured
 | ||
|    by the AC to use external antennas would send its antenna
 | ||
|    configuration during the configure phase, allowing the AC to become
 | ||
|    aware of the WTP's current configuration.
 | ||
| 
 | ||
|    Once the WTP has provided its configuration to the AC, the AC sends
 | ||
|    down its own configuration.  This allows the WTP to inherit the
 | ||
|    configuration and policies on the AC.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 53]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|    An LWAPP AC maintains a copy of each active WTP's configuration.
 | ||
|    There is no need for versioning or other means to identify
 | ||
|    configuration changes.  If a WTP becomes inactive, the AC MAY delete
 | ||
|    the configuration associated with it.  If a WTP were to fail, and
 | ||
|    connect to a new AC, it would provide its overridden configuration
 | ||
|    parameters, allowing the new AC to be aware of the WTP's
 | ||
|    configuration.
 | ||
| 
 | ||
|    As a consequence, this model allows for resiliency, whereby in light
 | ||
|    of an AC failure, another AC could provide service to the WTP.  In
 | ||
|    this scenario, the new AC would be automatically updated on any
 | ||
|    possible WTP configuration changes -- eliminating the need for Inter-
 | ||
|    AC communication or the need for all ACs to be aware of the
 | ||
|    configuration of all WTPs in the network.
 | ||
| 
 | ||
|    Once the LWAPP protocol enters the Run state, the WTPs begin to
 | ||
|    provide service.  However, it is quite common for administrators to
 | ||
|    require that configuration changes be made while the network is
 | ||
|    operational.  Therefore, the Configuration Update Request is sent by
 | ||
|    the AC to the WTP in order to make these changes at run-time.
 | ||
| 
 | ||
| 7.2.  Configure Request
 | ||
| 
 | ||
|    The Configure Request message is sent by a WTP to send its current
 | ||
|    configuration to its AC.
 | ||
| 
 | ||
|    Configure Requests are sent by a WTP after receiving a Join Response,
 | ||
|    while in the Configure state.
 | ||
| 
 | ||
|    The Configure Request carries binding-specific message elements.
 | ||
|    Refer to the appropriate binding for the definition of this
 | ||
|    structure.
 | ||
| 
 | ||
|    When an AC receives a Configure Request, it will act upon the content
 | ||
|    of the packet and respond to the WTP with a Configure Response.
 | ||
| 
 | ||
|    The Configure Request includes multiple Administrative State message
 | ||
|    elements.  There is one such message element for the WTP, and then
 | ||
|    one per radio in the WTP.
 | ||
| 
 | ||
|    The following subsections define the message elements that MUST be
 | ||
|    included in this LWAPP operation.
 | ||
| 
 | ||
| 7.2.1.  Administrative State
 | ||
| 
 | ||
|    The Administrative Event message element is used to communicate the
 | ||
|    state of a particular radio.  The value contains the following
 | ||
|    fields.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 54]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|        0                   1
 | ||
|        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |    Radio ID   |  Admin State  |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
| 
 | ||
|    Type:   27 for Administrative State
 | ||
| 
 | ||
|    Length:   2
 | ||
| 
 | ||
|    Radio ID:   An 8-bit value representing the radio to configure.  The
 | ||
|       Radio ID field may also include the value of 0xff, which is used
 | ||
|       to identify the WTP itself.  Therefore, if an AC wishes to change
 | ||
|       the administrative state of a WTP, it would include 0xff in the
 | ||
|       Radio ID field.
 | ||
| 
 | ||
|    Admin State:   An 8-bit value representing the administrative state
 | ||
|       of the radio.  The following values are supported:
 | ||
| 
 | ||
|       1 -  Enabled
 | ||
| 
 | ||
|       2 -  Disabled
 | ||
| 
 | ||
| 7.2.2.  AC Name
 | ||
| 
 | ||
|    The AC Name message element is defined in Section 5.2.3.
 | ||
| 
 | ||
| 7.2.3.  AC Name with Index
 | ||
| 
 | ||
|    The AC Name with Index message element is sent by the AC to the WTP
 | ||
|    to configure preferred ACs.  The number of instances where this
 | ||
|    message element would be present is equal to the number of ACs
 | ||
|    configured on the WTP.
 | ||
| 
 | ||
|        0                   1
 | ||
|        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |     Index     |   AC Name...
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
| 
 | ||
|    Type:   90 for AC Name with Index
 | ||
| 
 | ||
|    Length:   5
 | ||
| 
 | ||
|    Index:   The index of the preferred server (e.g., 1=primary,
 | ||
|       2=secondary).
 | ||
| 
 | ||
|    AC Name:   A variable-length ASCII string containing the AC's name.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 55]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
| 7.2.4.  WTP Board Data
 | ||
| 
 | ||
|    The WTP Board Data message element is sent by the WTP to the AC and
 | ||
|    contains information about the hardware present.
 | ||
| 
 | ||
|        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
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |            Card ID            |         Card Revision         |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |                          WTP Model                            |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |                          WTP Model                            |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |                      WTP Serial Number ...                    |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |                           Reserved                            |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |                     Ethernet MAC Address                      |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |      Ethernet MAC Address     |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
| 
 | ||
|    Type:   50 for WTP Board Data
 | ||
| 
 | ||
|    Length:   26
 | ||
| 
 | ||
|    Card ID:   A hardware identifier.
 | ||
| 
 | ||
|    Card Revision:   4-byte Revision of the card.
 | ||
| 
 | ||
|    WTP Model:   8-byte WTP Model Number.
 | ||
| 
 | ||
|    WTP Serial Number:   24-byte WTP Serial Number.
 | ||
| 
 | ||
|    Reserved:   A 4-byte reserved field that MUST be set to zero (0).
 | ||
| 
 | ||
|    Ethernet MAC Address:   MAC address of the WTP's Ethernet interface.
 | ||
| 
 | ||
| 7.2.5.  Statistics Timer
 | ||
| 
 | ||
|    The Statistics Timer message element value is used by the AC to
 | ||
|    inform the WTP of the frequency that it expects to receive updated
 | ||
|    statistics.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 56]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|        0                   1
 | ||
|        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |        Statistics Timer       |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
| 
 | ||
|    Type:   37 for Statistics Timer
 | ||
| 
 | ||
|    Length:   2
 | ||
| 
 | ||
|    Statistics Timer:   A 16-bit unsigned integer indicating the time, in
 | ||
|       seconds.
 | ||
| 
 | ||
| 7.2.6.  WTP Static IP Address Information
 | ||
| 
 | ||
|    The WTP Static IP Address Information message element is used by an
 | ||
|    AC to configure or clear a previously configured static IP address on
 | ||
|    a WTP.
 | ||
| 
 | ||
|        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                           |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |                            Netmask                            |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |                            Gateway                            |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |    Static     |
 | ||
|       +-+-+-+-+-+-+-+-+
 | ||
| 
 | ||
|    Type:   82 for WTP Static IP Address Information
 | ||
| 
 | ||
|    Length:   13
 | ||
| 
 | ||
|    IP Address:   The IP address to assign to the WTP.
 | ||
| 
 | ||
|    Netmask:   The IP Netmask.
 | ||
| 
 | ||
|    Gateway:   The IP address of the gateway.
 | ||
| 
 | ||
|    Netmask:   The IP Netmask.
 | ||
| 
 | ||
|    Static:   An 8-bit Boolean stating whether or not the WTP should use
 | ||
|       a static IP address.  A value of zero disables the static IP
 | ||
|       address, while a value of one enables it.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 57]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
| 7.2.7.  WTP Reboot Statistics
 | ||
| 
 | ||
|    The WTP Reboot Statistics message element is sent by the WTP to the
 | ||
|    AC to communicate information about reasons why reboots have
 | ||
|    occurred.
 | ||
| 
 | ||
|        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
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |          Crash Count          |     LWAPP Initiated Count     |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |      Link Failure Count       | Failure Type  |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
| 
 | ||
|    Type:   67 for WTP Reboot Statistics
 | ||
| 
 | ||
|    Length:   7
 | ||
| 
 | ||
|    Crash Count:   The number of reboots that have occurred due to a WTP
 | ||
|       crash.
 | ||
| 
 | ||
|    LWAPP Initiated Count:   The number of reboots that have occurred at
 | ||
|       the request of some LWAPP message, such as a change in
 | ||
|       configuration that required a reboot or an explicit LWAPP reset
 | ||
|       request.
 | ||
| 
 | ||
|    Link Failure Count:   The number of times that an LWAPP connection
 | ||
|       with an AC has failed.
 | ||
| 
 | ||
|    Failure Type:   The last WTP failure.  The following values are
 | ||
|       supported:
 | ||
| 
 | ||
|       0 -  Link Failure
 | ||
| 
 | ||
|       1 -  LWAPP Initiated
 | ||
| 
 | ||
|       2 -  WTP Crash
 | ||
| 
 | ||
| 7.3.  Configure Response
 | ||
| 
 | ||
|    The Configure Response message is sent by an AC and provides an
 | ||
|    opportunity for the AC to override a WTP's requested configuration.
 | ||
| 
 | ||
|    Configure Responses are sent by an AC after receiving a Configure
 | ||
|    Request.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 58]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|    The Configure Response carries binding-specific message elements.
 | ||
|    Refer to the appropriate binding for the definition of this
 | ||
|    structure.
 | ||
| 
 | ||
|    When a WTP receives a Configure Response, it acts upon the content of
 | ||
|    the packet, as appropriate.  If the Configure Response message
 | ||
|    includes a Change State Event message element that causes a change in
 | ||
|    the operational state of one of the Radios, the WTP will transmit a
 | ||
|    Change State Event to the AC as an acknowledgement of the change in
 | ||
|    state.
 | ||
| 
 | ||
|    The following subsections define the message elements that MUST be
 | ||
|    included in this LWAPP operation.
 | ||
| 
 | ||
| 7.3.1.  Decryption Error Report Period
 | ||
| 
 | ||
|    The Decryption Error Report Period message element value is used by
 | ||
|    the AC to inform the WTP of how frequently it should send decryption
 | ||
|    error report messages.
 | ||
| 
 | ||
|        0                   1                   2
 | ||
|        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |   Radio ID    |        Report Interval        |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
| 
 | ||
|    Type:   38 for Decryption Error Report Period
 | ||
| 
 | ||
|    Length:   3
 | ||
| 
 | ||
|    Radio ID:   The Radio Identifier: typically refers to some interface
 | ||
|       index on the WTP.
 | ||
| 
 | ||
|    Report Interval:   A 16-bit, unsigned integer indicating the time, in
 | ||
|       seconds.
 | ||
| 
 | ||
| 7.3.2.  Change State Event
 | ||
| 
 | ||
|    The WTP Radio Information message element is used to communicate the
 | ||
|    operational state of a radio.  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    |     State     |     Cause     |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 59]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|    Type:   26 for Change State Event
 | ||
| 
 | ||
|    Length:   3
 | ||
| 
 | ||
|    Radio ID:   The Radio Identifier: typically refers to some interface
 | ||
|       index on the WTP.
 | ||
| 
 | ||
|    State:   An 8-bit Boolean value representing the state of the radio.
 | ||
|       A value of one disables the radio, while a value of two enables
 | ||
|       it.
 | ||
| 
 | ||
|    Cause:   In the event of a radio being inoperable, the Cause field
 | ||
|       would contain the reason the radio is out of service.  The
 | ||
|       following values are supported:
 | ||
| 
 | ||
|       0 -  Normal
 | ||
| 
 | ||
|       1 -  Radio Failure
 | ||
| 
 | ||
|       2 -  Software Failure
 | ||
| 
 | ||
| 7.3.3.  LWAPP Timers
 | ||
| 
 | ||
|    The LWAPP Timers message element is used by an AC to configure LWAPP
 | ||
|    timers on a WTP.
 | ||
| 
 | ||
|        0                   1
 | ||
|        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |   Discovery   | Echo Request  |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
| 
 | ||
|    Type:   68 for LWAPP Timers
 | ||
| 
 | ||
|    Length:   2
 | ||
| 
 | ||
|    Discovery:   The number of seconds between LWAPP Discovery packets
 | ||
|       when the WTP is in the discovery mode.
 | ||
| 
 | ||
|    Echo Request:   The number of seconds between WTP Echo Request LWAPP
 | ||
|       messages.
 | ||
| 
 | ||
| 7.3.4.  AC IPv4 List
 | ||
| 
 | ||
|    The AC List message element is defined in Section 6.2.6.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 60]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
| 7.3.5.  AC IPv6 List
 | ||
| 
 | ||
|    The AC List message element is defined in Section 6.2.7.
 | ||
| 
 | ||
| 7.3.6.  WTP Fallback
 | ||
| 
 | ||
|    The WTP Fallback message element is sent by the AC to the WTP to
 | ||
|    enable or disable automatic LWAPP fallback in the event that a WTP
 | ||
|    detects its preferred AC, and is not currently connected to it.
 | ||
| 
 | ||
|        0
 | ||
|        0 1 2 3 4 5 6 7
 | ||
|       +-+-+-+-+-+-+-+-+
 | ||
|       |     Mode      |
 | ||
|       +-+-+-+-+-+-+-+-+
 | ||
| 
 | ||
|    Type:   91 for WTP Fallback
 | ||
| 
 | ||
|    Length:   1
 | ||
| 
 | ||
|    Mode:   The 8-bit Boolean value indicates the status of automatic
 | ||
|       LWAPP fallback on the WTP.  A value of zero disables the fallback
 | ||
|       feature, while a value of one enables it.  When enabled, if the
 | ||
|       WTP detects that its primary AC is available, and it is not
 | ||
|       connected to it, it SHOULD automatically disconnect from its
 | ||
|       current AC and reconnect to its primary.  If disabled, the WTP
 | ||
|       will only reconnect to its primary through manual intervention
 | ||
|       (e.g., through the Reset Request command).
 | ||
| 
 | ||
| 7.3.7.  Idle Timeout
 | ||
| 
 | ||
|    The Idle Timeout message element is sent by the AC to the WTP to
 | ||
|    provide it with the idle timeout that it should enforce on its active
 | ||
|    mobile station entries.
 | ||
| 
 | ||
|        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
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |                            Timeout                            |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
| 
 | ||
|    Type:   97 for Idle Timeout
 | ||
| 
 | ||
|    Length:   4
 | ||
| 
 | ||
|    Timeout:   The current idle timeout to be enforced by the WTP.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 61]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
| 7.4.  Configuration Update Request
 | ||
| 
 | ||
|    Configure Update Requests are sent by the AC to provision the WTP
 | ||
|    while in the Run state.  This is used to modify the configuration of
 | ||
|    the WTP while it is operational.
 | ||
| 
 | ||
|    When an AC receives a Configuration Update Request it will respond
 | ||
|    with a Configuration Update Response, with the appropriate Result
 | ||
|    Code.
 | ||
| 
 | ||
|    The following subsections define the message elements introduced by
 | ||
|    this LWAPP operation.
 | ||
| 
 | ||
| 7.4.1.  WTP Name
 | ||
| 
 | ||
|    The WTP Name message element is defined in Section 6.1.3.
 | ||
| 
 | ||
| 7.4.2.  Change State Event
 | ||
| 
 | ||
|    The Change State Event message element is defined in Section 7.3.2.
 | ||
| 
 | ||
| 7.4.3.  Administrative State
 | ||
| 
 | ||
|    The Administrative State message element is defined in Section 7.2.1.
 | ||
| 
 | ||
| 7.4.4.  Statistics Timer
 | ||
| 
 | ||
|    The Statistics Timer message element is defined in Section 7.2.5.
 | ||
| 
 | ||
| 7.4.5.  Location Data
 | ||
| 
 | ||
|    The Location Data message element is defined in Section 6.1.4.
 | ||
| 
 | ||
| 7.4.6.  Decryption Error Report Period
 | ||
| 
 | ||
|    The Decryption Error Report Period message element is defined in
 | ||
|    Section 7.3.1.
 | ||
| 
 | ||
| 7.4.7.  AC IPv4 List
 | ||
| 
 | ||
|    The AC List message element is defined in Section 6.2.6.
 | ||
| 
 | ||
| 7.4.8.  AC IPv6 List
 | ||
| 
 | ||
|    The AC List message element is defined in Section 6.2.7.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 62]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
| 7.4.9.  Add Blacklist Entry
 | ||
| 
 | ||
|    The Add Blacklist Entry message element is used by an AC to add a
 | ||
|    blacklist entry on a WTP, ensuring that the WTP no longer provides
 | ||
|    any service to the MAC addresses provided in the message.  The MAC
 | ||
|    addresses provided in this message element are not expected to be
 | ||
|    saved in non-volative memory on the WTP.
 | ||
| 
 | ||
|        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
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       | Num of Entries|                 MAC Address[]                 |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |                 MAC Address[]                 |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
| 
 | ||
|    Type:   65 for Add Blacklist Entry
 | ||
| 
 | ||
|    Length:   >= 7
 | ||
| 
 | ||
|    Num of Entries:   The number of MAC addresses in the array.
 | ||
| 
 | ||
|    MAC Address:   An array of MAC addresses to add to the blacklist
 | ||
|       entry.
 | ||
| 
 | ||
| 7.4.10.  Delete Blacklist Entry
 | ||
| 
 | ||
|    The Delete Blacklist Entry message element is used by an AC to delete
 | ||
|    a previously added blacklist entry on a WTP, ensuring that the WTP
 | ||
|    provides service to the MAC addresses provided in the message.
 | ||
| 
 | ||
|        0                   1                   2                   3
 | ||
|        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       | Num of Entries|                 MAC Address[]                 |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |                 MAC Address[]                 |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
| 
 | ||
|    Type:   66 for Delete Blacklist Entry
 | ||
| 
 | ||
|    Length:   >= 7
 | ||
| 
 | ||
|    Num of Entries:   The number of MAC addresses in the array.
 | ||
| 
 | ||
|    MAC Address:   An array of MAC addresses to delete from the blacklist
 | ||
|       entry.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 63]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
| 7.4.11.  Add Static Blacklist Entry
 | ||
| 
 | ||
|    The Add Static Blacklist Entry message element is used by an AC to
 | ||
|    add a permanent Blacklist Entry on a WTP, ensuring that the WTP no
 | ||
|    longer provides any service to the MAC addresses provided in the
 | ||
|    message.  The MAC addresses provided in this message element are
 | ||
|    expected to be saved in non-volative memory on the WTP.
 | ||
| 
 | ||
|        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
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       | Num of Entries|                 MAC Address[]                 |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |                 MAC Address[]                 |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
| 
 | ||
|    Type:   70 for Delete Blacklist Entry
 | ||
| 
 | ||
|    Length:   >= 7
 | ||
| 
 | ||
|    Num of Entries:   The number of MAC addresses in the array.
 | ||
| 
 | ||
|    MAC Address:   An array of MAC addresses to add to the permanent
 | ||
|       blacklist entry.
 | ||
| 
 | ||
| 7.4.12.  Delete Static Blacklist Entry
 | ||
| 
 | ||
|    The Delete Static Blacklist Entry message element is used by an AC to
 | ||
|    delete a previously added static blacklist entry on a WTP, ensuring
 | ||
|    that the WTP provides service to the MAC addresses provided in the
 | ||
|    message.
 | ||
| 
 | ||
|        0                   1                   2                   3
 | ||
|        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       | Num of Entries|                 MAC Address[]                 |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |                 MAC Address[]                 |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
| 
 | ||
|    Type:   71 for Delete Blacklist Entry
 | ||
| 
 | ||
|    Length:   >= 7
 | ||
| 
 | ||
|    Num of Entries:   The number of MAC addresses in the array.
 | ||
| 
 | ||
|    MAC Address:   An array of MAC addresses to delete from the static
 | ||
|       blacklist entry.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 64]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
| 7.4.13.  LWAPP Timers
 | ||
| 
 | ||
|    The LWAPP Timers message element is defined in Section 7.3.3.
 | ||
| 
 | ||
| 7.4.14.  AC Name with Index
 | ||
| 
 | ||
|    The AC Name with Index message element is defined in Section 7.2.3.
 | ||
| 
 | ||
| 7.4.15.  WTP Fallback
 | ||
| 
 | ||
|    The WTP Fallback message element is defined in Section 7.3.6.
 | ||
| 
 | ||
| 7.4.16.  Idle Timeout
 | ||
| 
 | ||
|    The Idle Timeout message element is defined in Section 7.3.7.
 | ||
| 
 | ||
| 7.5.  Configuration Update Response
 | ||
| 
 | ||
|    The Configuration Update Response is the acknowledgement message for
 | ||
|    the Configuration Update Request.
 | ||
| 
 | ||
|    Configuration Update Responses are sent by a WTP after receiving a
 | ||
|    Configuration Update Request.
 | ||
| 
 | ||
|    When an AC receives a Configure Update Response, the result code
 | ||
|    indicates if the WTP successfully accepted the configuration.
 | ||
| 
 | ||
|    The following subsections define the message elements that must be
 | ||
|    present in this LWAPP operation.
 | ||
| 
 | ||
| 7.5.1.  Result Code
 | ||
| 
 | ||
|    The Result Code message element is defined in Section 6.2.1.
 | ||
| 
 | ||
| 7.6.  Change State Event Request
 | ||
| 
 | ||
|    The Change State Event is used by the WTP to inform the AC of a
 | ||
|    change in the operational state.
 | ||
| 
 | ||
|    The Change State Event message is sent by the WTP when it receives a
 | ||
|    Configuration Response that includes a Change State Event message
 | ||
|    element.  It is also sent in the event that the WTP detects an
 | ||
|    operational failure with a radio.  The Change State Event may be sent
 | ||
|    in either the Configure or Run state (see Figure 2).
 | ||
| 
 | ||
|    When an AC receives a Change State Event it will respond with a
 | ||
|    Change State Event Response and make any necessary modifications to
 | ||
|    internal WTP data structures.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 65]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|    The following subsections define the message elements that must be
 | ||
|    present in this LWAPP operation.
 | ||
| 
 | ||
| 7.6.1.  Change State Event
 | ||
| 
 | ||
|    The Change State Event message element is defined in Section 7.3.2.
 | ||
| 
 | ||
| 7.7.  Change State Event Response
 | ||
| 
 | ||
|    The Change State Event Response acknowledges the Change State Event.
 | ||
| 
 | ||
|    Change State Event Responses are sent by a WTP after receiving a
 | ||
|    Change State Event.
 | ||
| 
 | ||
|    The Change State Event Response carries no message elements.  Its
 | ||
|    purpose is to acknowledge the receipt of the Change State Event.
 | ||
| 
 | ||
|    The WTP does not need to perform any special processing of the Change
 | ||
|    State Event Response message.
 | ||
| 
 | ||
| 7.8.  Clear Config Indication
 | ||
| 
 | ||
|    The Clear Config Indication is used to reset a WTP's configuration.
 | ||
| 
 | ||
|    The Clear Config Indication is sent by an AC to request that a WTP
 | ||
|    reset its configuration to manufacturing defaults.  The Clear Config
 | ||
|    Indication message is sent while in the Run LWAPP state.
 | ||
| 
 | ||
|    The Reset Request carries no message elements.
 | ||
| 
 | ||
|    When a WTP receives a Clear Config Indication, it will reset its
 | ||
|    configuration to manufacturing defaults.
 | ||
| 
 | ||
| 8.  Device Management Operations
 | ||
| 
 | ||
|    This section defines LWAPP operations responsible for debugging,
 | ||
|    gathering statistics, logging, and firmware management.
 | ||
| 
 | ||
| 8.1.  Image Data Request
 | ||
| 
 | ||
|    The Image Data Request is used to update firmware on the WTP.  This
 | ||
|    message and its companion response are used by the AC to ensure that
 | ||
|    the image being run on each WTP is appropriate.
 | ||
| 
 | ||
|    Image Data Requests are exchanged between the WTP and the AC to
 | ||
|    download a new program image to a WTP.
 | ||
| 
 | ||
|    When a WTP or AC receives an Image Data Request, it will respond with
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 66]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|    an Image Data Response.
 | ||
| 
 | ||
|    The format of the Image Data and Image Download message elements are
 | ||
|    described in the following subsections.
 | ||
| 
 | ||
| 8.1.1.  Image Download
 | ||
| 
 | ||
|    The Image Download message element is sent by the WTP to the AC and
 | ||
|    contains the image filename.  The value is a variable-length byte
 | ||
|    string.  The string is NOT zero terminated.
 | ||
| 
 | ||
| 8.1.2.  Image Data
 | ||
| 
 | ||
|    The Image Data message element is present when sent by the AC and
 | ||
|    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
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |     Opcode    |           Checksum            |  Image Data   |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |                          Image Data ...                       |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
| 
 | ||
|    Type:   33 for Image Data
 | ||
| 
 | ||
|    Length:   >= 5
 | ||
| 
 | ||
|    Opcode:   An 8-bit value representing the transfer opcode.  The
 | ||
|       following values are supported:
 | ||
| 
 | ||
|       3 -  Image Data is included.
 | ||
| 
 | ||
|       5 -  An error occurred.  Transfer is aborted.
 | ||
| 
 | ||
|    Checksum:   A 16-bit value containing a checksum of the Image Data
 | ||
|       that follows.
 | ||
| 
 | ||
|    Image Data:   The Image Data field contains 1024 characters, unless
 | ||
|       the payload being sent is the last one (end of file).
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 67]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
| 8.2.  Image Data Response
 | ||
| 
 | ||
|    The Image Data Response acknowledges the Image Data Request.
 | ||
| 
 | ||
|    An Image Data Responses is sent in response to an Image Data Request.
 | ||
|    Its purpose is to acknowledge the receipt of the Image Data Request
 | ||
|    packet.
 | ||
| 
 | ||
|    The Image Data Response carries no message elements.
 | ||
| 
 | ||
|    No action is necessary on receipt.
 | ||
| 
 | ||
| 8.3.  Reset Request
 | ||
| 
 | ||
|    The Reset Request is used to cause a WTP to reboot.
 | ||
| 
 | ||
|    Reset Requests are sent by an AC to cause a WTP to reinitialize its
 | ||
|    operation.
 | ||
| 
 | ||
|    The Reset Request carries no message elements.
 | ||
| 
 | ||
|    When a WTP receives a Reset Request it will respond with a Reset
 | ||
|    Response and then reinitialize itself.
 | ||
| 
 | ||
| 8.4.  Reset Response
 | ||
| 
 | ||
|    The Reset Response acknowledges the Reset Request.
 | ||
| 
 | ||
|    Reset Responses are sent by a WTP after receiving a Reset Request.
 | ||
| 
 | ||
|    The Reset Response carries no message elements.  Its purpose is to
 | ||
|    acknowledge the receipt of the Reset Request.
 | ||
| 
 | ||
|    When an AC receives a Reset Response, it is notified that the WTP
 | ||
|    will now reinitialize its operation.
 | ||
| 
 | ||
| 8.5.  WTP Event Request
 | ||
| 
 | ||
|    The WTP Event Request is used by a WTP to send information to its AC.
 | ||
|    These types of events may be periodical, or some asynchronous event
 | ||
|    on the WTP.  For instance, a WTP collects statistics and uses the WTP
 | ||
|    Event Request to transmit this information to the AC.
 | ||
| 
 | ||
|    When an AC receives a WTP Event Request, it will respond with a WTP
 | ||
|    Event Request.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 68]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|    The WTP Event Request message MUST contain one of the following
 | ||
|    message element described in the next subsections, or a message
 | ||
|    element that is defined for a specific technology.
 | ||
| 
 | ||
| 8.5.1.  Decryption Error Report
 | ||
| 
 | ||
|    The Decryption Error Report message element value is used by the WTP
 | ||
|    to inform the AC of decryption errors that have occurred since the
 | ||
|    last report.
 | ||
| 
 | ||
|        0                   1                   2
 | ||
|        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |   Radio ID    |Num Of Entries |      Mobile MAC Address       |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |                       Mobile MAC Address[]                    |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
| 
 | ||
|    Type:   39 for Decryption Error Report
 | ||
| 
 | ||
|    Length:   >= 8
 | ||
| 
 | ||
|    Radio ID:   The Radio Identifier, typically refers to some interface
 | ||
|       index on the WTP.
 | ||
| 
 | ||
|    Num Of Entries:   An 8-bit unsigned integer indicating the number of
 | ||
|       mobile MAC addresses.
 | ||
| 
 | ||
|    Mobile MAC Address:   An array of mobile station MAC addresses that
 | ||
|       have caused decryption errors.
 | ||
| 
 | ||
| 8.5.2.  Duplicate IPv4 Address
 | ||
| 
 | ||
|    The Duplicate IPv4 Address message element is used by a WTP to inform
 | ||
|    an AC that it has detected another host using the same IP address it
 | ||
|    is currently using.
 | ||
| 
 | ||
|        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                           |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |                          MAC Address                          |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |          MAC Address          |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
| 
 | ||
|    Type:   77 for Duplicate IPv4 Address
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 69]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|    Length:   10
 | ||
| 
 | ||
|    IP Address:   The IP address currently used by the WTP.
 | ||
| 
 | ||
|    MAC Address:   The MAC address of the offending device.
 | ||
| 
 | ||
| 8.5.3.  Duplicate IPv6 Address
 | ||
| 
 | ||
|    The Duplicate IPv6 Address message element is used by a WTP to inform
 | ||
|    an AC that it has detected another host using the same IP address it
 | ||
|    is currently using.
 | ||
| 
 | ||
|        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                           |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |                          MAC Address                          |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |          MAC Address          |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
| 
 | ||
|    Type:   77 for Duplicate IPv6 Address
 | ||
| 
 | ||
|    Length:   10
 | ||
| 
 | ||
|    IP Address:   The IP address currently used by the WTP.
 | ||
| 
 | ||
|    MAC Address:   The MAC address of the offending device.
 | ||
| 
 | ||
| 8.6.  WTP Event Response
 | ||
| 
 | ||
|    The WTP Event Response acknowledges the WTP Event Request.
 | ||
| 
 | ||
|    WTP Event Responses are sent by an AC after receiving a WTP Event
 | ||
|    Request.
 | ||
| 
 | ||
|    The WTP Event Response carries no message elements.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 70]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
| 8.7.  Data Transfer Request
 | ||
| 
 | ||
|    The Data Transfer Request is used to upload debug information from
 | ||
|    the WTP to the AC.
 | ||
| 
 | ||
|    Data Transfer Requests are sent by the WTP to the AC when it
 | ||
|    determines that it has important information to send to the AC.  For
 | ||
|    instance, if the WTP detects that its previous reboot was caused by a
 | ||
|    system crash, it would want to send the crash file to the AC.  The
 | ||
|    remote debugger function in the WTP also uses the Data Transfer
 | ||
|    Request in order to send console output to the AC for debugging
 | ||
|    purposes.
 | ||
| 
 | ||
|    When an AC receives a Data Transfer Request, it will respond with a
 | ||
|    Data Transfer Response.  The AC may log the information received as
 | ||
|    it sees fit.
 | ||
| 
 | ||
|    The Data Transfer Request message MUST contain ONE of the following
 | ||
|    message element described in the next subsection.
 | ||
| 
 | ||
| 8.7.1.  Data Transfer Mode
 | ||
| 
 | ||
|    The Data Transfer Mode message element is used by the AC to request
 | ||
|    information from the WTP for debugging purposes.
 | ||
| 
 | ||
|        0
 | ||
|        0 1 2 3 4 5 6 7
 | ||
|       +-+-+-+-+-+-+-+-+
 | ||
|       |   Data  Type   |
 | ||
|       +-+-+-+-+-+-+-+-+
 | ||
| 
 | ||
|    Type:   52 for Data Transfer Mode
 | ||
| 
 | ||
|    Length:   1
 | ||
| 
 | ||
|    Data Type:   An 8-bit value describing the type of information being
 | ||
|       requested.  The following values are supported:
 | ||
| 
 | ||
|       1 -  WTP Crash Data
 | ||
| 
 | ||
|       2 -  WTP Memory Dump
 | ||
| 
 | ||
| 8.7.2.  Data Transfer Data
 | ||
| 
 | ||
|    The Data Transfer Data message element is used by the WTP to provide
 | ||
|    information to the AC for debugging purposes.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 71]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|        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
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |   Data Type   |  Data Length  |    Data ....
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
| 
 | ||
|    Type:   53 for Data Transfer Data
 | ||
| 
 | ||
|    Length:   >= 3
 | ||
| 
 | ||
|    Data Type:   An 8-bit value describing the type of information being
 | ||
|       sent.  The following values are supported:
 | ||
| 
 | ||
|       1 -  WTP Crash Data
 | ||
| 
 | ||
|       2 -  WTP Memory Dump
 | ||
| 
 | ||
|    Data Length:   Length of data field.
 | ||
| 
 | ||
|    Data:   Debug information.
 | ||
| 
 | ||
| 8.8.  Data Transfer Response
 | ||
| 
 | ||
|    The Data Transfer Response acknowledges the Data Transfer Request.
 | ||
| 
 | ||
|    A Data Transfer Response is sent in response to a Data Transfer
 | ||
|    Request.  Its purpose is to acknowledge the receipt of the Data
 | ||
|    Transfer Request packet.
 | ||
| 
 | ||
|    The Data Transfer Response carries no message elements.
 | ||
| 
 | ||
|    Upon receipt of a Data Transfer Response, the WTP transmits more
 | ||
|    information, if any is available.
 | ||
| 
 | ||
| 9.  Mobile Session Management
 | ||
| 
 | ||
|    Messages in this section are used by the AC to create, modify, or
 | ||
|    delete mobile station session state on the WTPs.
 | ||
| 
 | ||
| 9.1.  Mobile Config Request
 | ||
| 
 | ||
|    The Mobile Config Request message is used to create, modify, or
 | ||
|    delete mobile session state on a WTP.  The message is sent by the AC
 | ||
|    to the WTP, and may contain one or more message elements.  The
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 72]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|    message elements for this LWAPP control message include information
 | ||
|    that is generally highly technology-specific.  Therefore, please
 | ||
|    refer to the appropriate binding section or document for the
 | ||
|    definitions of the messages elements that may be used in this control
 | ||
|    message.
 | ||
| 
 | ||
|    This section defines the format of the Delete Mobile message element,
 | ||
|    since it does not contain any technology-specific information.
 | ||
| 
 | ||
| 9.1.1.  Delete Mobile
 | ||
| 
 | ||
|    The Delete Mobile message element is used by the AC to inform a WTP
 | ||
|    that it should no longer provide service to a particular mobile
 | ||
|    station.  The WTP must terminate service immediately upon receiving
 | ||
|    this message element.
 | ||
| 
 | ||
|    The transmission of a Delete Mobile message element could occur for
 | ||
|    various reasons, including administrative reasons, as a result of the
 | ||
|    fact that the mobile has roamed to another WTP, etc.
 | ||
| 
 | ||
|    Once access has been terminated for a given station, any future
 | ||
|    packets received from the mobile must result in a deauthenticate
 | ||
|    message, as specified in [6].
 | ||
| 
 | ||
|        0                   1                   2                   3
 | ||
|        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |    Radio ID   |                  MAC Address                  |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |                  MAC Address                  |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
| 
 | ||
|    Type:   30 for Delete Mobile
 | ||
| 
 | ||
|    Length:   7
 | ||
| 
 | ||
|    Radio ID:   An 8-bit value representing the radio
 | ||
| 
 | ||
|    MAC Address:   The mobile station's MAC address
 | ||
| 
 | ||
| 9.2.  Mobile Config Response
 | ||
| 
 | ||
|    The Mobile Configuration Response is used to acknowledge a previously
 | ||
|    received Mobile Configuration Request, and includes a Result Code
 | ||
|    message element that indicates whether an error occurred on the WTP.
 | ||
| 
 | ||
|    This message requires no special processing and is only used to
 | ||
|    acknowledge the Mobile Configuration Request.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 73]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|    The Data Transfer Request message MUST contain the message elements
 | ||
|    described in the next subsection.
 | ||
| 
 | ||
| 9.2.1.  Result Code
 | ||
| 
 | ||
|    The Result Code message element is defined in Section 6.2.1.
 | ||
| 
 | ||
| 10.  LWAPP Security
 | ||
| 
 | ||
|    Note: This version only defines a certificate and a shared-secret-
 | ||
|    based mechanism to secure control LWAPP traffic exchanged between the
 | ||
|    WTP and the AC.
 | ||
| 
 | ||
| 10.1.  Securing WTP-AC Communications
 | ||
| 
 | ||
|    While it is generally straightforward to produce network
 | ||
|    installations in which the communications medium between the WTP and
 | ||
|    AC is not accessible to the casual user (e.g., these LAN segments are
 | ||
|    isolated, and no RJ45 or other access ports exist between the WTP and
 | ||
|    the AC), this will not always be the case.  Furthermore, a determined
 | ||
|    attacker may resort to various, more sophisticated monitoring and/or
 | ||
|    access techniques, thereby compromising the integrity of this
 | ||
|    connection.
 | ||
| 
 | ||
|    In general, a certain level of threat on the local (wired) LAN is
 | ||
|    expected and accepted in most computing environments.  That is, it is
 | ||
|    expected that in order to provide users with an acceptable level of
 | ||
|    service and maintain reasonable productivity levels, a certain amount
 | ||
|    of risk must be tolerated.  It is generally believed that a certain
 | ||
|    perimeter is maintained around such LANs, that an attacker must have
 | ||
|    access to the building(s) in which such LANs exist, and that they
 | ||
|    must be able to "plug in" to the LAN in order to access the network.
 | ||
| 
 | ||
|    With these things in mind, we can begin to assess the general
 | ||
|    security requirements for AC-WTP communications.  While an in-depth
 | ||
|    security analysis of threats and risks to these communications is
 | ||
|    beyond the scope of this document, some discussion of the motivation
 | ||
|    for various security-related design choices is useful.  The
 | ||
|    assumptions driving the security design thus far include the
 | ||
|    following:
 | ||
| 
 | ||
|    o  WTP-AC communications take place over a wired connection that may
 | ||
|       be accessible to a sophisticated attacker.
 | ||
| 
 | ||
|    o  access to this connection is not trivial for an outsider (i.e.,
 | ||
|       someone who does not "belong" in the building) to access.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 74]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|    o  if authentication and/or privacy of end-to-end traffic for which
 | ||
|       the WTP and AC are intermediaries is required, this may be
 | ||
|       provided via IPsec [14].
 | ||
| 
 | ||
|    o  privacy and authentication for at least some WTP-AC control
 | ||
|       traffic is required (e.g., Wired Equivalent Privacy (WEP) keys for
 | ||
|       user sessions, passed from the AC to the WTP).
 | ||
| 
 | ||
|    o  the AC can be trusted to generate strong cryptographic keys.
 | ||
| 
 | ||
|    The AC-WTP traffic can be considered to consist of two types: data
 | ||
|    traffic (e.g., to or from an end user), and control traffic, which is
 | ||
|    strictly between the AC and WTP.  Since data traffic may be secured
 | ||
|    using IPsec (or some other end-to-end security mechanism), we confine
 | ||
|    our solution to control traffic.  The resulting security consists of
 | ||
|    two components: an authenticated key exchange and control traffic
 | ||
|    security encapsulation.  The security encapsulation is accomplished
 | ||
|    using AES-CCM, described in [3].  This encapsulation provides for
 | ||
|    strong AES-based authentication and encryption [2].  The exchange of
 | ||
|    cryptographic keys used for CCM is described below.
 | ||
| 
 | ||
| 10.2.  LWAPP Frame Encryption
 | ||
| 
 | ||
|    While the LWAPP protocol uses AES-CCM to encrypt control traffic, it
 | ||
|    is important to note that not all control frames are encrypted.  The
 | ||
|    LWAPP discovery and join phase are not encrypted.  The Discovery
 | ||
|    messages are sent in the clear since there does not exist a security
 | ||
|    association between the WTP and the AC during the discovery phase.
 | ||
|    The join phase is an authenticated exchange used to negotiate
 | ||
|    symmetric session keys (see Section 10.3).
 | ||
| 
 | ||
|    Once the join phase has been successfully completed, the LWAPP state
 | ||
|    machine Figure 2 will move to the Configure state, at which time all
 | ||
|    LWAPP control frames are encrypted using AES-CCM.
 | ||
| 
 | ||
|    Encryption of a control message begins at the Message Element field:
 | ||
|    meaning the Msg Type, Seq Num, Msg Element Length, and Session ID
 | ||
|    fields are left intact (see Section 4.2.1).
 | ||
| 
 | ||
|    The AES-CCM 12-byte authentication data is appended to the end of the
 | ||
|    message.  The authentication data is calculated from the start of the
 | ||
|    LWAPP packet and includes the complete LWAPP control header (see
 | ||
|    Section 4.2.1).
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 75]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|    The AES-CCM block cipher protocol requires an initialization vector.
 | ||
|    The LWAPP protocol requires that the WTP and the AC maintain two
 | ||
|    separate IVs, one for transmission and one for reception.  The IV
 | ||
|    derived during the key exchange phase by both the WTP and the AC is
 | ||
|    used as the base for all encrypted packets with a new key.
 | ||
| 
 | ||
| 10.3.  Authenticated Key Exchange
 | ||
| 
 | ||
|    This section describes the key management component of the LWAPP
 | ||
|    protocol.  There are two modes supported by LWAPP: certificate and
 | ||
|    pre-shared key.
 | ||
| 
 | ||
| 10.3.1.  Terminology
 | ||
| 
 | ||
|    This section details the key management protocol that makes use of
 | ||
|    pre-shared secrets.
 | ||
| 
 | ||
|    The following notations are used throughout this section:
 | ||
| 
 | ||
|    o  PSK - the pre-shared key shared between the WTP and the AC.
 | ||
| 
 | ||
|    o  Kpriv - the private key of a public-private key pair.
 | ||
| 
 | ||
|    o  Kpub - the public key of the pair.
 | ||
| 
 | ||
|    o  SessionID - a randomly generated LWAPP session identifier,
 | ||
|       provided by the WTP in the Join Request.
 | ||
| 
 | ||
|    o  E-x{Kpub, M} - RSA encryption of M using X's public key.
 | ||
| 
 | ||
|    o  D-x{Kpriv, C} - RSA decryption of C using X's private key.
 | ||
| 
 | ||
|    o  AES-CMAC(key, packet) - A message integrity check, using AES-CMAC
 | ||
|       and key, of the complete LWAPP packet, with the Sequence Number
 | ||
|       field and the payload of the PSK-MIC message element set to zero.
 | ||
| 
 | ||
|    o  AES-E(key, plaintext) - Plaintext is encrypted with key, using
 | ||
|       AES.
 | ||
| 
 | ||
|    o  AES-D(key, ciphertext) - ciphertext is decrypted with key, using
 | ||
|       AES.
 | ||
| 
 | ||
|    o  Certificate-AC - AC's Certificate.
 | ||
| 
 | ||
|    o  Certificate-WTP - WTP's Certificate.
 | ||
| 
 | ||
|    o  WTP-MAC - The WTP's MAC address.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 76]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|    o  AC-MAC - The AC's MAC address.
 | ||
| 
 | ||
|    o  RK0 - the root key, which is created through a Key Derivation
 | ||
|       Function (KDF) function.
 | ||
| 
 | ||
|    o  RK0E - the root Encryption key, derived from RK0.
 | ||
| 
 | ||
|    o  RK0M - the root MIC key, derived from RK0.
 | ||
| 
 | ||
|    o  SK1 - the session key.
 | ||
| 
 | ||
|    o  SK1C - the session confirmation key, derived from SK.
 | ||
| 
 | ||
|    o  SK1E - the session encryption key, derived from SK.
 | ||
| 
 | ||
|    o  SK1W - the session keywrap key, derived from SK (see RFC 3394
 | ||
|       [9]).
 | ||
| 
 | ||
|    o  WNonce - The WTP's randomly generated nonce.
 | ||
| 
 | ||
|    o  ANonce - The AC's randomly generated nonce.
 | ||
| 
 | ||
|    o  EWNonce - The payload of the WNonce message element, which
 | ||
|       includes the WNonce.
 | ||
| 
 | ||
|    o  EANonce - The payload of the ANonce message element, which
 | ||
|       includes the ANonce.
 | ||
| 
 | ||
| 10.3.2.  Initial Key Generation
 | ||
| 
 | ||
|    The AC and WTP accomplish mutual authentication and a cryptographic
 | ||
|    key exchange in a dual round trip using the Join Request, Join
 | ||
|    Response, Join ACK, and Join Confirm (see Section 6.1).
 | ||
| 
 | ||
|    The following text describes the exchange between the WTP and the AC
 | ||
|    that creates a session key, which is used to secure LWAPP control
 | ||
|    messages.
 | ||
| 
 | ||
|    o  The WTP creates a Join Request using the following process:
 | ||
| 
 | ||
|       o  If certificate-based security is used, the WTP adds the
 | ||
|          Certificate message element (see Section 6.1.6) with its
 | ||
|          contents set to Certificate-WTP.
 | ||
| 
 | ||
|       o  The WTP adds the Session ID message element (see Section 6.1.7)
 | ||
|          with the contents set to a randomly generated session
 | ||
|          identifier (see RFC 1750 [4]).  The WTP MUST save the Session
 | ||
|          ID in order to validate the Join Response.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 77]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|       o  The WTP creates a random nonce, included in the XNonce message
 | ||
|          element (see Section 6.1.9).  The WTP MUST save the XNonce to
 | ||
|          validate the Join Response.
 | ||
| 
 | ||
|       o  The WTP transmits the Join Request to the AC.
 | ||
| 
 | ||
|    o  Upon receiving the Join Request, the AC uses the following
 | ||
|       process:
 | ||
| 
 | ||
|       o  The AC creates the Join Response, and ensures that the Session
 | ||
|          ID message element matches the value found in the Join Request.
 | ||
| 
 | ||
|       o  If certificate-based security is used, the AC:
 | ||
| 
 | ||
|          o  adds the Certificate-AC to the Certificate message element.
 | ||
| 
 | ||
|          o  creates a random 'AC Nonce' and encrypts it using the
 | ||
|             following algorithm E-wtp(Kpub, XNonce XOR 'AC Nonce').  The
 | ||
|             encrypted contents are added to the ANonce's message element
 | ||
|             payload.
 | ||
| 
 | ||
|       o  If a pre-shared-key-based security is used, the AC:
 | ||
| 
 | ||
|          o  creates RK0 through the following algorithm: RK0 = KDF-
 | ||
|             256{PSK, "LWAPP PSK Top K0" || Session ID || WTP-MAC || AC-
 | ||
|             MAC}, where WTP-MAC is the WTP's MAC address in the form
 | ||
|             "xx:xx:xx:xx:xx:xx".  Similarly, the AC-MAC is an ASCII
 | ||
|             encoding of the AC's MAC address, of the form "xx:xx:xx:xx:
 | ||
|             xx:xx".  The resulting K0 is split into the following:
 | ||
| 
 | ||
|             o  The first 16 octets are known as RK0E, and are used as an
 | ||
|                encryption key.
 | ||
| 
 | ||
|             o  The second 16 octets are known as RK0M, and are used for
 | ||
|                MIC'ing purposes.
 | ||
| 
 | ||
|          o  The AC creates a random 'AC Nonce' and encrypts it using the
 | ||
|             following algorithm: AES-E(RK0E, XNonce XOR 'AC Nonce').
 | ||
|             The encrypted contents are added to the ANonce's message
 | ||
|             element payload.
 | ||
| 
 | ||
|          o  The AC adds a MIC to the contents of the Join Response using
 | ||
|             AES-CMAC(RK0M, Join Response) and adds the resulting hash to
 | ||
|             the PSK-MIC (Section 6.2.9) message element.
 | ||
| 
 | ||
|    o  Upon receiving the Join Response, the WTP uses the following
 | ||
|       process:
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 78]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|       o  If a pre-shared key is used, the WTP authenticates the Join
 | ||
|          Response's PSK-MIC message element.  If authentication fails,
 | ||
|          the packet is dropped.
 | ||
| 
 | ||
|       o  The WTP decrypts the ANonce message element and XOR's the value
 | ||
|          with XNonce to retrieve the 'AC Nonce'.  The ANonce payload is
 | ||
|          referred to as ciphertext below:
 | ||
| 
 | ||
|          o  If a pre-shared key is used, use AES-D(RK0E, ciphertext).
 | ||
|             The 'AC Nonce' is then recovered using XNonce XOR plaintext.
 | ||
| 
 | ||
|          o  If certificates are used, use d-wtp(Kpriv, ciphertext).  The
 | ||
|             'AC Nonce' is then recovered using XNonce XOR plaintext.
 | ||
| 
 | ||
|       o  The WTP creates a random 'WTP Nonce'.
 | ||
| 
 | ||
|       o  The WTP uses the KDF function to create a 64-octet session key
 | ||
|          (SK).  The KDF function used is as follows: KDF-512{'WTP Nonce'
 | ||
|          || 'AC Nonce', "LWAPP Key Generation", WTP-MAC || AC-MAC}.  The
 | ||
|          KDF function is defined in [7].
 | ||
| 
 | ||
|       o  SK is then broken down into three separate session keys with
 | ||
|          different purposes:
 | ||
| 
 | ||
|          o  The first 16 octets are known as SK1C, and are used as a
 | ||
|             confirmation key.
 | ||
| 
 | ||
|          o  The second 16 octets are known as SK1E, and are as the
 | ||
|             encryption key.
 | ||
| 
 | ||
|          o  The third 16 octets are known as SK1D, and are used as the
 | ||
|             keywrap key.
 | ||
| 
 | ||
|          o  The fourth 16 octets are known as IV, and are used as the
 | ||
|             Initialization Vector during encryption.
 | ||
| 
 | ||
|       o  The WTP creates the Join ACK message.
 | ||
| 
 | ||
|       o  If certificate-based security is used, the AC:
 | ||
| 
 | ||
|          o  encrypts the 'WTP Nonce' using the following algorithm: E-
 | ||
|             ac(Kpub, 'WTP Nonce').  The encrypted contents are added to
 | ||
|             the WNonce's message element payload.
 | ||
| 
 | ||
|       o  If a pre-shared-key-based security is used, the AC:
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 79]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|          o  encrypts the 'WTP Nonce' using the following algorithm:
 | ||
|             AES-E(RK0E, 'WTP Nonce').  The encrypted contents are added
 | ||
|             to the WNonce's message element payload.
 | ||
| 
 | ||
|       o  The WTP adds a MIC to the contents of the Join ACK using
 | ||
|          AES-CMAC(SK1M, Join ACK) and adds the resulting hash to the
 | ||
|          PSK-MIC (Section 6.2.9) message element.
 | ||
| 
 | ||
|       o  The WTP then transmits the Join ACK to the AC.
 | ||
| 
 | ||
|    o  Upon receiving the Join ACK, the AC uses the following process:
 | ||
| 
 | ||
|       o  The AC authenticates the Join ACK through the PSK-MIC message
 | ||
|          element.  If authentic, the AC decrypts the WNonce message
 | ||
|          element to retrieve the 'WTP Nonce'.  If the Join ACK cannot be
 | ||
|          authenticated, the packet is dropped.
 | ||
| 
 | ||
|       o  The AC decrypts the WNonce message element to retrieve the 'WTP
 | ||
|          Nonce'.  The WNonce payload is referred to as ciphertext below:
 | ||
| 
 | ||
|          o  If a pre-shared key is used, use AES-D(RK0E, ciphertext).
 | ||
|             The plaintext is then considered the 'WTP Nonce'.
 | ||
| 
 | ||
|          o  If certificates are used, use d-ac(Kpriv, ciphertext).  The
 | ||
|             plaintext is then considered the 'WTP Nonce'.
 | ||
| 
 | ||
|       o  The AC then uses the KDF function to create a 64-octet session
 | ||
|          key (SK).  The KDF function used is as follows: KDF-512{'WTP
 | ||
|          Nonce' || 'AC Nonce', "LWAPP Key Generation", WTP-MAC ||
 | ||
|          AC-MAC}.  The KDF function is defined in [7].  The SK is split
 | ||
|          into SK1C, SK1E, SK1D, and IV, as previously noted.
 | ||
| 
 | ||
|       o  The AC creates the Join Confirm.
 | ||
| 
 | ||
|       o  The AC adds a MIC to the contents of the Join Confirm using
 | ||
|          AES-CMAC(SK1M, Join Confirm) and adds the resulting hash to the
 | ||
|          MIC (Section 6.2.9) message element.
 | ||
| 
 | ||
|       o  The AC then transmits the Join Confirm to the WTP.
 | ||
| 
 | ||
|    o  Upon receiving the Join Confirm, the WTP uses the following
 | ||
|       process:
 | ||
| 
 | ||
|       o  The WTP authenticates the Join Confirm through the PSK-MIC
 | ||
|          message element.  If the Join Confirm cannot be authenticated,
 | ||
|          the packet is dropped.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 80]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|    o  SK1E is now plumbed into the AC and WTP's crypto engine as the
 | ||
|       AES-CCM LWAPP control encryption session key.  Furthermore, the
 | ||
|       random IV is used as the base Initialization Vector.  From this
 | ||
|       point on, all control protocol payloads between the WTP and AC are
 | ||
|       encrypted and authenticated using the new session key.
 | ||
| 
 | ||
| 10.3.3.  Refreshing Cryptographic Keys
 | ||
| 
 | ||
|    Since AC-WTP associations will tend to be relatively long-lived, it
 | ||
|    is sensible to periodically refresh the encryption and authentication
 | ||
|    keys; this is referred to as "rekeying".  When the key lifetime
 | ||
|    reaches 95% of the configured value, identified in the KeyLifetime
 | ||
|    timer (see Section 12), the rekeying will proceed as follows:
 | ||
| 
 | ||
|    o  The WTP creates RK0 through the previously defined KDF algorithm:
 | ||
|       RK0 = KDF-256{SK1D, "LWAPP PSK Top K0" || Session ID || WTP-MAC ||
 | ||
|       AC-MAC}.  Note that the difference in this specific instance is
 | ||
|       that SK1D that was previously generated is used instead of the
 | ||
|       PSK.  Note this is used in both the certificate and pre-shared key
 | ||
|       modes.  The resulting RK0 creates RK0E, RK0M.
 | ||
| 
 | ||
|    o  The remaining steps used are identical to the join process, with
 | ||
|       the exception that the rekey messages are used instead of join
 | ||
|       messages, and the fact that the messages are encrypted using the
 | ||
|       previously created SK1E.  This means the Join Request is replaced
 | ||
|       with the Rekey Request, the Join Response is replaced with the
 | ||
|       Rekey Response, etc.  The two differences between the rekey and
 | ||
|       the join process are:
 | ||
| 
 | ||
|       o  The Certificate-WTP and Certificate-AC are not included in the
 | ||
|          Rekey-Request and Rekey-Response, respectively.
 | ||
| 
 | ||
|       o  Regardless of whether certificates or pre-shared keys were used
 | ||
|          in the initial key derivation, the process now uses the pre-
 | ||
|          shared key mode only, using SK1D as the "PSK".
 | ||
| 
 | ||
|    o  The Key Update Request is sent to the AC.
 | ||
| 
 | ||
|    o  The newly created SK1E is now plumbed into the AC and WTP's crypto
 | ||
|       engine as the AES-CCM LWAPP control encryption session key.
 | ||
|       Furthermore, the new random IV is used as the base Initialization
 | ||
|       Vector.  From this point on, all control protocol payloads between
 | ||
|       the WTP and AC are encrypted and authenticated using the new
 | ||
|       session key.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 81]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|       If either the WTP or the AC do not receive an expected response by
 | ||
|       the time the ResponseTimeout timer expires (see Section 12), the
 | ||
|       WTP MUST delete the new and old session information, and reset the
 | ||
|       state machine to the Idle state.
 | ||
| 
 | ||
|       Following a rekey process, both the WTP and the AC keep the
 | ||
|       previous encryption for 5-10 seconds in order to be able to
 | ||
|       process packets that arrive out of order.
 | ||
| 
 | ||
| 10.4.  Certificate Usage
 | ||
| 
 | ||
|    Validation of the certificates by the AC and WTP is required so that
 | ||
|    only an AC may perform the functions of an AC and that only a WTP may
 | ||
|    perform the functions of a WTP.  This restriction of functions to the
 | ||
|    AC or WTP requires that the certificates used by the AC MUST be
 | ||
|    distinguishable from the certificate used by the WTP.  To accomplish
 | ||
|    this differentiation, the x.509v3 certificates MUST include the
 | ||
|    Extensions field [10] and MUST include the NetscapeComment [11]
 | ||
|    extension.
 | ||
| 
 | ||
|    For an AC, the value of the NetscapeComment extension MUST be the
 | ||
|    string "CAPWAP AC Device Certificate".  For a WTP, the value of the
 | ||
|    NetscapeComment extension MUST be the string "CAPWAP WTP Device
 | ||
|    Certificate".
 | ||
| 
 | ||
|    Part of the LWAPP certificate validation process includes ensuring
 | ||
|    that the proper string is included in the NetscapeComment extension,
 | ||
|    and only allowing the LWAPP session to be established if the
 | ||
|    extension does not represent the same role as the device validating
 | ||
|    the certificate.  For instance, a WTP MUST NOT accept a certificate
 | ||
|    whose NetscapeComment field is set to "CAPWAP WTP Device
 | ||
|    Certificate".
 | ||
| 
 | ||
| 11.  IEEE 802.11 Binding
 | ||
| 
 | ||
|    This section defines the extensions required for the LWAPP protocol
 | ||
|    to be used with the IEEE 802.11 protocol.
 | ||
| 
 | ||
| 11.1.  Division of Labor
 | ||
| 
 | ||
|    The LWAPP protocol, when used with IEEE 802.11 devices, requires a
 | ||
|    specific behavior from the WTP and the AC, specifically in terms of
 | ||
|    which 802.11 protocol functions are handled.
 | ||
| 
 | ||
|    For both the Split and Local MAC approaches, the CAPWAP functions, as
 | ||
|    defined in the taxonomy specification, reside in the AC.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 82]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
| 11.1.1.  Split MAC
 | ||
| 
 | ||
|    This section shows the division of labor between the WTP and the AC
 | ||
|    in a Split MAC architecture.  Figure 3 shows the clear separation of
 | ||
|    functionality among LWAPP components.
 | ||
| 
 | ||
|        Function                               Location
 | ||
|            Distribution Service                      AC
 | ||
|            Integration Service                       AC
 | ||
|            Beacon Generation                         WTP
 | ||
|            Probe Response                            WTP
 | ||
|            Power Mgmt/Packet Buffering               WTP
 | ||
|            Fragmentation/Defragmentation             WTP
 | ||
|            Assoc/Disassoc/Reassoc                    AC
 | ||
| 
 | ||
|       802.11e
 | ||
|            Classifying                               AC
 | ||
|            Scheduling                                WTP/AC
 | ||
|            Queuing                                   WTP
 | ||
| 
 | ||
|       802.11i
 | ||
|            802.1X/EAP                                AC
 | ||
|            Key Management                            AC
 | ||
|            802.11 Encryption/Decryption              WTP or AC
 | ||
| 
 | ||
|        Figure 3: Mapping of 802.11 Functions for Split MAC Architecture
 | ||
| 
 | ||
|    The Distribution and Integration services reside on the AC, and
 | ||
|    therefore all user data is tunneled between the WTP and the AC.  As
 | ||
|    noted above, all real-time 802.11 services, including the control
 | ||
|    protocol and the beacon and Probe Response frames, are handled on the
 | ||
|    WTP.
 | ||
| 
 | ||
|    All remaining 802.11 MAC management frames are supported on the AC,
 | ||
|    including the Association Request, which allows the AC to be involved
 | ||
|    in the access policy enforcement portion of the 802.11 protocol.  The
 | ||
|    802.1X and 802.11i key management function are also located on the
 | ||
|    AC.
 | ||
| 
 | ||
|    While the admission control component of 802.11e resides on the AC,
 | ||
|    the real-time scheduling and queuing functions are on the WTP.  Note
 | ||
|    that this does not exclude the AC from providing additional policing
 | ||
|    and scheduling functionality.
 | ||
| 
 | ||
|    Note that in the following figure, the use of '( - )' indicates that
 | ||
|    processing of the frames is done on the WTP.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 83]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|       Client                       WTP                        AC
 | ||
| 
 | ||
|                Beacon
 | ||
|       <-----------------------------
 | ||
|             Probe Request
 | ||
|       ----------------------------( - )------------------------->
 | ||
|             Probe Response
 | ||
|       <-----------------------------
 | ||
|                        802.11 AUTH/Association
 | ||
|       <--------------------------------------------------------->
 | ||
|                          Add Mobile (Clear Text, 802.1X Only)
 | ||
|                                       <------------------------->
 | ||
|              802.1X Authentication & 802.11i Key Exchange
 | ||
|       <--------------------------------------------------------->
 | ||
|                                   Add Mobile (AES-CCMP, PTK=x)
 | ||
|                                       <------------------------->
 | ||
|                         802.11 Action Frames
 | ||
|       <--------------------------------------------------------->
 | ||
|                             802.11 DATA (1)
 | ||
|       <---------------------------( - )------------------------->
 | ||
| 
 | ||
|                        Figure 4: Split MAC Message Flow
 | ||
| 
 | ||
|    Figure 4 provides an illustration of the division of labor in a Split
 | ||
|    MAC architecture.  In this example, a WLAN has been created that is
 | ||
|    configured for 802.11i, using AES-CCMP for privacy.  The following
 | ||
|    process occurs:
 | ||
| 
 | ||
|    o  The WTP generates the 802.11 beacon frames, using information
 | ||
|       provided to it through the Add WLAN (see Section 11.8.1.1) message
 | ||
|       element.
 | ||
| 
 | ||
|    o  The WTP processes the Probe Request and responds with a
 | ||
|       corresponding Probe Response.  The problem request is then
 | ||
|       forwarded to the AC for optional processing.
 | ||
| 
 | ||
|    o  The WTP forwards the 802.11 Authentication and Association frames
 | ||
|       to the AC, which is responsible for responding to the client.
 | ||
| 
 | ||
|    o  Once the association is complete, the AC transmits an LWAPP Add
 | ||
|       Mobile Request to the WTP (see Section 11.7.1.1).  In the above
 | ||
|       example, the WLAN is configured for 802.1X, and therefore the
 | ||
|       '802.1X only' policy bit is enabled.
 | ||
| 
 | ||
|    o  If the WTP is providing encryption/decryption services, once the
 | ||
|       client has completed the 802.11i key exchange, the AC transmits
 | ||
|       another Add Mobile Request to the WTP, stating the security policy
 | ||
|       to enforce for the client (in this case AES-CCMP), as well as the
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 84]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|       encryption key to use.  If encryption/decryption is handled in the
 | ||
|       AC, the Add Mobile Request would have the encryption policy set to
 | ||
|       "Clear Text".
 | ||
| 
 | ||
|    o  The WTP forwards any 802.11 Action frames received to the AC.
 | ||
| 
 | ||
|    o  All client data frames are tunneled between the WTP and the AC.
 | ||
|       Note that the WTP is responsible for encrypting and decrypting
 | ||
|       frames, if it was indicated in the Add Mobile Request.
 | ||
| 
 | ||
| 11.1.2.  Local MAC
 | ||
| 
 | ||
|    This section shows the division of labor between the WTP and the AC
 | ||
|    in a Local MAC architecture.  Figure 5 shows the clear separation of
 | ||
|    functionality among LWAPP components.
 | ||
| 
 | ||
|        Function                               Location
 | ||
|            Distribution Service                      WTP
 | ||
|            Integration Service                       WTP
 | ||
|            Beacon Generation                         WTP
 | ||
|            Probe Response                            WTP
 | ||
|            Power Mgmt/Packet Buffering               WTP
 | ||
|            Fragmentation/Defragmentation             WTP
 | ||
|            Assoc/Disassoc/Reassoc                    WTP
 | ||
| 
 | ||
|       802.11e
 | ||
|            Classifying                               WTP
 | ||
|            Scheduling                                WTP
 | ||
|            Queuing                                   WTP
 | ||
| 
 | ||
|       802.11i
 | ||
|            802.1X/EAP                                AC
 | ||
|            Key Management                            AC
 | ||
|            802.11 Encryption/Decryption              WTP
 | ||
| 
 | ||
|       Figure 5: Mapping of 802.11 Functions for Local AP Architecture
 | ||
| 
 | ||
|    Given that Distribution and Integration Services exist on the WTP,
 | ||
|    client data frames are not forwarded to the AC, with the exception
 | ||
|    listed in the following paragraphs.
 | ||
| 
 | ||
|    While the MAC is terminated on the WTP, it is necessary for the AC to
 | ||
|    be aware of mobility events within the WTPs.  As a consequence, the
 | ||
|    WTP MUST forward the 802.11 Association Requests to the AC, and the
 | ||
|    AC MAY reply with a failed Association Response if it deems it
 | ||
|    necessary.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 85]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|    The 802.1X and 802.11i Key Management function resides in the AC.
 | ||
|    Therefore, the WTP MUST forward all 802.1X/Key Management frames to
 | ||
|    the AC and forward the associated responses to the station.
 | ||
| 
 | ||
|    Note that in the following figure, the use of '( - )' indicates that
 | ||
|    processing of the frames is done on the WTP.
 | ||
| 
 | ||
| 
 | ||
|       Client                       WTP                        AC
 | ||
| 
 | ||
|                Beacon
 | ||
|       <-----------------------------
 | ||
|                 Probe
 | ||
|       <---------------------------->
 | ||
|              802.11 AUTH
 | ||
|       <-----------------------------
 | ||
|                           802.11 Association
 | ||
|       <---------------------------( - )------------------------->
 | ||
|                          Add Mobile (Clear Text, 802.1X Only)
 | ||
|                                       <------------------------->
 | ||
|              802.1X Authentication & 802.11i Key Exchange
 | ||
|       <--------------------------------------------------------->
 | ||
|                         802.11 Action Frames
 | ||
|       <--------------------------------------------------------->
 | ||
|                                   Add Mobile (AES-CCMP, PTK=x)
 | ||
|                                       <------------------------->
 | ||
|               802.11 DATA
 | ||
|       <----------------------------->
 | ||
| 
 | ||
|                        Figure 6: Local MAC Message Flow
 | ||
| 
 | ||
|    Figure 6 provides an illustration of the division of labor in a Local
 | ||
|    MAC architecture.  In this example, a WLAN has been created that is
 | ||
|    configured for 802.11i, using AES-CCMP for privacy.  The following
 | ||
|    process occurs:
 | ||
| 
 | ||
|    o  The WTP generates the 802.11 beacon frames, using information
 | ||
|       provided to it through the Add WLAN (see Section 11.8.1.1) message
 | ||
|       element.
 | ||
| 
 | ||
|    o  The WTP processes the Probe Request and responds with a
 | ||
|       corresponding Probe Response.
 | ||
| 
 | ||
|    o  The WTP forwards the 802.11 Authentication and Association frames
 | ||
|       to the AC, which is responsible for responding to the client.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 86]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|    o  Once the association is complete, the AC transmits an LWAPP Add
 | ||
|       Mobile Request to the WTP (see Section 11.7.1.1.  In the above
 | ||
|       example, the WLAN is configured for 802.1X, and therefore the
 | ||
|       '802.1X only' policy bit is enabled.
 | ||
| 
 | ||
|    o  The WTP forwards all 802.1X and 802.11i key exchange messages to
 | ||
|       the AC for processing.
 | ||
| 
 | ||
|    o  The AC transmits another Add Mobile Request to the WTP, stating
 | ||
|       the security policy to enforce for the client (in this case, AES-
 | ||
|       CCMP), as well as the encryption key to use.  The Add Mobile
 | ||
|       Request MAY include a VLAN name, which when present is used by the
 | ||
|       WTP to identify the VLAN on which the user's data frames are to be
 | ||
|       bridged.
 | ||
| 
 | ||
|    o  The WTP forwards any 802.11 Action frames received to the AC.
 | ||
| 
 | ||
|    o  The WTP locally bridges all client data frames, and provides the
 | ||
|       necessary encryption and decryption services.
 | ||
| 
 | ||
| 11.2.  Roaming Behavior and 802.11 Security
 | ||
| 
 | ||
|    It is important that LWAPP implementations react properly to mobile
 | ||
|    devices associating to the networks in how they generate Add Mobile
 | ||
|    and Delete Mobile messages.  This section expands upon the examples
 | ||
|    provided in the previous section, and describes how the LWAPP control
 | ||
|    protocol is used in order to provide secure roaming.
 | ||
| 
 | ||
|    Once a client has successfully associated with the network in a
 | ||
|    secure fashion, it is likely to attempt to roam to another access
 | ||
|    point.  Figure 7 shows an example of a currently associated station
 | ||
|    moving from its "Old WTP" to a new "WTP".  The figure is useful for
 | ||
|    multiple different security policies, including standard 802.1X and
 | ||
|    dynamic WEP keys, WPA or even WPA2 both with key caching (where the
 | ||
|    802.1x exchange would be bypassed) and without.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 87]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|       Client              Old WTP              WTP              AC
 | ||
| 
 | ||
|                     Association Request/Response
 | ||
|        <--------------------------------------( - )-------------->
 | ||
|                           Add Mobile (Clear Text, 802.1X Only)
 | ||
|                                                 <---------------->
 | ||
|        802.1X Authentication (if no key cache entry exists)
 | ||
|        <--------------------------------------( - )-------------->
 | ||
|                      802.11i 4-way Key Exchange
 | ||
|        <--------------------------------------( - )-------------->
 | ||
|                                    Delete Mobile
 | ||
|                               <---------------------------------->
 | ||
|                                    Add Mobile (AES-CCMP, PTK=x)
 | ||
|                                                 <---------------->
 | ||
| 
 | ||
|                        Figure 7: Client Roaming Example
 | ||
| 
 | ||
| 11.3.  Transport-Specific Bindings
 | ||
| 
 | ||
|    All LWAPP transports have the following IEEE 802.11 specific
 | ||
|    bindings:
 | ||
| 
 | ||
| 11.3.1.  Status and WLANS Field
 | ||
| 
 | ||
|    The interpretation of this 16-bit field depends on the direction of
 | ||
|    transmission of the packet.  Refer to the figure in Section 3.1.
 | ||
| 
 | ||
|    Status
 | ||
| 
 | ||
|    When an LWAPP packet is transmitted from a WTP to an AC, this field
 | ||
|    is called the Status field and indicates radio resource information
 | ||
|    associated with the frame.  When the message is an LWAPP control
 | ||
|    message this field is transmitted as zero.
 | ||
| 
 | ||
|    The Status field is divided into the signal strength and signal-to-
 | ||
|    noise ratio with which an IEEE 802.11 frame was received, encoded in
 | ||
|    the following manner:
 | ||
| 
 | ||
|        0                   1
 | ||
|        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |     RSSI      |     SNR       |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
| 
 | ||
|    RSSI:   RSSI is a signed, 8-bit value.  It is the received signal
 | ||
|       strength indication, in dBm.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 88]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|    SNR:   SNR is a signed, 8-bit value.  It is the signal-to-noise ratio
 | ||
|       of the received IEEE 802.11 frame, in dB.
 | ||
| 
 | ||
|    WLANs field:   When an LWAPP data message is transmitted from an AC
 | ||
|       to a WTP, this 16-bit field indicates on which WLANs the
 | ||
|       encapsulated IEEE 802.11 frame is to be transmitted.  For unicast
 | ||
|       packets, this field is not used by the WTP.  For broadcast or
 | ||
|       multicast packets, the WTP might require this information if it
 | ||
|       provides encryption services.
 | ||
| 
 | ||
|       Given that a single broadcast or multicast packet might need to be
 | ||
|       sent to multiple wireless LANs (presumably each with a different
 | ||
|       broadcast key), this field is defined as a bit field.  A bit set
 | ||
|       indicates a WLAN ID (see Section 11.8.1.1), which will be sent the
 | ||
|       data.  The WLANS field is encoded in the following manner:
 | ||
| 
 | ||
|        0                   1
 | ||
|        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |          WLAN ID(s)           |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
| 
 | ||
| 11.4.  BSSID to WLAN ID Mapping
 | ||
| 
 | ||
|    The LWAPP protocol makes assumptions regarding the BSSIDs used on the
 | ||
|    WTP.  It is a requirement for the WTP to use a contiguous block of
 | ||
|    BSSIDs.  The WLAN Identifier field, which is managed by the AC, is
 | ||
|    used as an offset into the BSSID list.
 | ||
| 
 | ||
|    For instance, if a WTP had a base BSSID address of 00:01:02:00:00:00,
 | ||
|    and the AC sent an Add WLAN message with a WLAN Identifier of 2 (see
 | ||
|    Section 11.8.1.1), the BSSID for the specific WLAN on the WTP would
 | ||
|    be 00:01:02:00:00:02.
 | ||
| 
 | ||
|    The WTP communicates the maximum number of BSSIDs that it supports
 | ||
|    during the Config Request within the IEEE 802.11 WTP WLAN Radio
 | ||
|    Configuration message element (see Section 11.9.1).
 | ||
| 
 | ||
| 11.5.  Quality of Service
 | ||
| 
 | ||
|    It is recommended that 802.11 MAC management be sent by both the AC
 | ||
|    and the WTP with appropriate Quality-of-Service (QoS) values,
 | ||
|    ensuring that congestion in the network minimizes occurrences of
 | ||
|    packet loss.  Therefore, a QoS-enabled LWAPP device should use:
 | ||
| 
 | ||
|    802.1P:   The precedence value of 6 SHOULD be used for all 802.11 MAC
 | ||
|       management messages, except for Probe Requests, which SHOULD use
 | ||
|       4.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 89]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|    DSCP:   The DSCP tag value of 46 SHOULD be used for all 802.11 MAC
 | ||
|       management messages, except for Probe Requests, which SHOULD use
 | ||
|       34.
 | ||
| 
 | ||
| 11.6.  Data Message Bindings
 | ||
| 
 | ||
|    There are no LWAPP data message bindings for IEEE 802.11.
 | ||
| 
 | ||
| 11.7.  Control Message Bindings
 | ||
| 
 | ||
|    The IEEE 802.11 binding has the following control message
 | ||
|    definitions.
 | ||
| 
 | ||
| 11.7.1.  Mobile Config Request
 | ||
| 
 | ||
|    This section contains the 802.11-specific message elements that are
 | ||
|    used with the Mobile Config Request.
 | ||
| 
 | ||
| 11.7.1.1.  Add Mobile
 | ||
| 
 | ||
|    The Add Mobile Request is used by the AC to inform a WTP that it
 | ||
|    should forward traffic from a particular mobile station.  The Add
 | ||
|    Mobile Request may also include security parameters that must be
 | ||
|    enforced by the WTP for the particular mobile.
 | ||
| 
 | ||
|    When the AC sends an Add Mobile Request, it includes any security
 | ||
|    parameters that may be required.  An AC that wishes to update a
 | ||
|    mobile's policy on a WTP may do so by simply sending a new Add Mobile
 | ||
|    message element.
 | ||
| 
 | ||
|    When a WTP receives an Add Mobile message element, it must first
 | ||
|    override any existing state it may have for the mobile station in
 | ||
|    question.  The latest Add Mobile overrides any previously received
 | ||
|    messages.  If the Add Mobile message element's EAP-Only bit is set,
 | ||
|    the WTP MUST drop all 802.11 packets that do not contain EAP packets.
 | ||
|    Note that when EAP Only is set, the Encryption Policy field MAY have
 | ||
|    additional values, and therefore it is possible to inform a WTP to
 | ||
|    only accept encrypted EAP packets.  Once the mobile station has
 | ||
|    successfully completed EAP authentication, the AC must send a new Add
 | ||
|    Mobile message element to push the session key down to the WTP as
 | ||
|    well as to remove the EAP Only restriction.
 | ||
| 
 | ||
|    If the QoS field is set, the WTP MUST observe and provide policing of
 | ||
|    the 802.11e priority tag to ensure that it does not exceed the value
 | ||
|    provided by the AC.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 90]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|        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
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |    Radio ID   |        Association ID         |  MAC Address  |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |                          MAC Address                          |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |  MAC Address  |E|C|            Encryption Policy              |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |Encrypt Policy |                Session Key...                 |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |                        Pairwise TSC...                        |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |                        Pairwise RSC...                        |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |          Capabilities         |   WLAN ID     |    WME Mode   |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       | 802.11e Mode  |      Qos      |        Supported Rates        |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |                        Supported Rates                        |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |          VLAN Name...
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
| 
 | ||
|    Type:   29 for Add Mobile
 | ||
| 
 | ||
|    Length:   36
 | ||
| 
 | ||
|    Radio ID:   An 8-bit value representing the radio.
 | ||
| 
 | ||
|    Association ID:   A 16-bit value specifying the 802.11 Association
 | ||
|       Identifier.
 | ||
| 
 | ||
|    MAC Address:   The mobile station's MAC address.
 | ||
| 
 | ||
|    E:   The 1-bit field is set by the AC to inform the WTP that it MUST
 | ||
|       NOT accept any 802.11 data frames, other than 802.1X frames.  This
 | ||
|       is the equivalent of the WTP's 802.1X port for the mobile station
 | ||
|       to be in the closed state.  When set, the WTP MUST drop any
 | ||
|       non-802.1X packets it receives from the mobile station.
 | ||
| 
 | ||
|    C:   The 1-bit field is set by the AC to inform the WTP that
 | ||
|       encryption services will be provided by the AC.  When set, the WTP
 | ||
|       SHOULD police frames received from stations to ensure that they
 | ||
|       comply to the stated encryption policy, but does not need to take
 | ||
|       specific cryptographic action on the frame.  Similarly, for
 | ||
|       transmitted frames, the WTP only needs to forward already
 | ||
|       encrypted frames.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 91]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|    Encryption Policy:   The policy field informs the WTP how to handle
 | ||
|       packets from/to the mobile station.  The following values are
 | ||
|       supported:
 | ||
| 
 | ||
|       0 -  Encrypt WEP 104: All packets to/from the mobile station must
 | ||
|            be encrypted using a standard 104-bit WEP.
 | ||
| 
 | ||
|       1 -  Clear Text: All packets to/from the mobile station do not
 | ||
|            require any additional crypto processing by the WTP.
 | ||
| 
 | ||
|       2 -  Encrypt WEP 40: All packets to/from the mobile station must
 | ||
|            be encrypted using a standard 40-bit WEP.
 | ||
| 
 | ||
|       3 -  Encrypt WEP 128: All packets to/from the mobile station must
 | ||
|            be encrypted using a standard 128-bit WEP.
 | ||
| 
 | ||
|       4 -  Encrypt AES-CCMP 128: All packets to/from the mobile station
 | ||
|            must be encrypted using a 128-bit AES-CCMP [7].
 | ||
| 
 | ||
|       5 -  Encrypt TKIP-MIC: All packets to/from the mobile station must
 | ||
|            be encrypted using Temporal Key Integrity Protocol (TKIP) and
 | ||
|            authenticated using Michael [16].
 | ||
| 
 | ||
|    Session Key:   A 32-octet session key the WTP is to use when
 | ||
|       encrypting traffic to or decrypting traffic from the mobile
 | ||
|       station.  The type of key is determined based on the Encryption
 | ||
|       Policy field.
 | ||
| 
 | ||
|    Pairwise TSC:   The TKIP Sequence Counter (TSC) to use for unicast
 | ||
|       packets transmitted to the mobile.
 | ||
| 
 | ||
|    Pairwise RSC:   The Receive Sequence Counter (RSC) to use for unicast
 | ||
|       packets received from the mobile.
 | ||
| 
 | ||
|    Capabilities:   A 16-bit field containing the 802.11 capabilities to
 | ||
|       use with the mobile.
 | ||
| 
 | ||
|    WLAN ID:   An 8-bit value specifying the WLAN Identifier.
 | ||
| 
 | ||
|    WME Mode:   An 8-bit Boolean used to identify whether the station is
 | ||
|       WME capable.  A value of zero is used to indicate that the station
 | ||
|       is not Wireless Multimedia Extension (WME) capable, while a value
 | ||
|       of one means that the station is WME capable.
 | ||
| 
 | ||
|    802.11e Mode:   An 8-bit Boolean used to identify whether the station
 | ||
|       is 802.11e-capable.  A value of zero is used to indicate that the
 | ||
|       station is not 802.11e-capable, while a value of one means that
 | ||
|       the station is 802.11e-capable.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 92]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|    QoS:   An 8-bit value specifying the QoS policy to enforce for the
 | ||
|       station.  The following values are supported: PRC: TO CHECK
 | ||
| 
 | ||
|       0 -  Silver (Best Effort)
 | ||
| 
 | ||
|       1 -  Gold (Video)
 | ||
| 
 | ||
|       2 -  Platinum (Voice)
 | ||
| 
 | ||
|       3 -  Bronze (Background)
 | ||
| 
 | ||
|    Supported Rates:   The supported rates to be used with the mobile
 | ||
|       station.
 | ||
| 
 | ||
|    VLAN Name:   An optional variable string containing the VLAN Name on
 | ||
|       which the WTP is to locally bridge user data.  Note that this
 | ||
|       field is only valid with Local MAC WTPs.
 | ||
| 
 | ||
| 11.7.1.2.  IEEE 802.11 Mobile Session Key
 | ||
| 
 | ||
|    The Mobile Session Key Payload message element is sent when the AC
 | ||
|    determines that encryption of a mobile station must be performed in
 | ||
|    the WTP.  This message element MUST NOT be present without the Add
 | ||
|    Mobile message element, and MUST NOT be sent if the WTP had not
 | ||
|    specifically advertised support for the requested encryption scheme
 | ||
|    (see Section 11.7.1.1).
 | ||
| 
 | ||
|        0                   1                   2                   3
 | ||
|        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |                           MAC Address                         |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |          MAC Address          |       Encryption Policy       |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |       Encryption Policy       |        Session Key...         |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
| 
 | ||
|    Type:   105 for IEEE 802.11 Mobile Session Key
 | ||
| 
 | ||
|    Length:   >= 11
 | ||
| 
 | ||
|    MAC Address: The mobile station's MAC address.
 | ||
| 
 | ||
|    Encryption Policy: The policy field informs the WTP how to handle
 | ||
|       packets from/to the mobile station.  The following values are
 | ||
|       supported:
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 93]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|       0 -  Encrypt WEP 104: All packets to/from the mobile station must
 | ||
|            be encrypted using a standard 104-bit WEP.
 | ||
| 
 | ||
|       1 -  Clear Text: All packets to/from the mobile station do not
 | ||
|            require any additional crypto processing by the WTP.
 | ||
| 
 | ||
|       2 -  Encrypt WEP 40: All packets to/from the mobile station must
 | ||
|            be encrypted using a standard 40-bit WEP.
 | ||
| 
 | ||
|       3 -  Encrypt WEP 128: All packets to/from the mobile station must
 | ||
|            be encrypted using a standard 128-bit WEP.
 | ||
| 
 | ||
|       4 -  Encrypt AES-CCMP 128: All packets to/from the mobile station
 | ||
|            must be encrypted using a 128-bit AES-CCMP [7].
 | ||
| 
 | ||
|       5 -  Encrypt TKIP-MIC: All packets to/from the mobile station must
 | ||
|            be encrypted using TKIP and authenticated using Michael [16].
 | ||
| 
 | ||
|    Session Key: The session key the WTP is to use when encrypting
 | ||
|       traffic to/from the mobile station.
 | ||
| 
 | ||
| 11.7.1.3.  Station QoS Profile
 | ||
| 
 | ||
|    The Station QoS Profile Payload message element contains the maximum
 | ||
|    802.11e priority tag that may be used by the station.  Any packets
 | ||
|    received that exceed the value encoded in this message element must
 | ||
|    either be dropped or tagged using the maximum value permitted to the
 | ||
|    user.  The priority tag must be between zero (0) and seven (7).
 | ||
| 
 | ||
|        0                   1                   2                   3
 | ||
|        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |                           MAC Address                         |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |          MAC Address          |     802.1P Precedence Tag     |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
| 
 | ||
|    Type:   140 for IEEE 802.11 Station QoS Profile
 | ||
| 
 | ||
|    Length:   12
 | ||
| 
 | ||
|    MAC Address:   The mobile station's MAC address.
 | ||
| 
 | ||
|    802.1P Precedence Tag:   The maximum 802.1P precedence value that the
 | ||
|       WTP will allow in the Traffic Identifier (TID) field in the
 | ||
|       extended 802.11e QoS Data header.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 94]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
| 11.7.1.4.  IEEE 802.11 Update Mobile QoS
 | ||
| 
 | ||
|    The Update Mobile QoS message element is used to change the Quality-
 | ||
|    of-Service policy on the WTP for a given mobile station.
 | ||
| 
 | ||
|        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
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |   Radio ID    |        Association ID         |  MAC Address  |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |                          MAC Address                          |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |  MAC Address  |  QoS Profile  |        Vlan Identifier        |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |   DSCP Tag    |  802.1P Tag   |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
| 
 | ||
|    Type:   106 for IEEE 802.11 Update Mobile QoS
 | ||
| 
 | ||
|    Length:   14
 | ||
| 
 | ||
|    Radio ID:   The Radio Identifier, typically refers to some interface
 | ||
|       index on the WTP.
 | ||
| 
 | ||
|    Association ID:   The 802.11 Association Identifier.
 | ||
| 
 | ||
|    MAC Address:   The mobile station's MAC address.
 | ||
| 
 | ||
|    QoS Profile:   An 8-bit value specifying the QoS policy to enforce
 | ||
|       for the station.  The following values are supported:
 | ||
| 
 | ||
|       0 -  Silver (Best Effort)
 | ||
| 
 | ||
|       1 -  Gold (Video)
 | ||
| 
 | ||
|       2 -  Platinum (Voice)
 | ||
| 
 | ||
|       3 -  Bronze (Background)
 | ||
| 
 | ||
|    VLAN Identifier:   PRC.
 | ||
| 
 | ||
|    DSCP Tag:   The DSCP label to use if packets are to be DSCP tagged.
 | ||
| 
 | ||
|    802.1P Tag:   The 802.1P precedence value to use if packets are to be
 | ||
|       802.1P-tagged.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 95]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
| 11.7.2.  WTP Event Request
 | ||
| 
 | ||
|    This section contains the 802.11-specific message elements that are
 | ||
|    used with the WTP Event Request message.
 | ||
| 
 | ||
| 11.7.2.1.  IEEE 802.11 Statistics
 | ||
| 
 | ||
|    The Statistics message element is sent by the WTP to transmit its
 | ||
|    current statistics.  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
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |    Radio ID   |               Tx Fragment Count               |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |Tx Fragment Cnt|               Multicast Tx Count              |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       | Mcast Tx Cnt  |                  Failed Count                 |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       | Failed Count  |                  Retry Count                  |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |  Retry Count  |             Multiple Retry Count              |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |Multi Retry Cnt|             Frame Duplicate Count             |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       | Frame Dup Cnt |               RTS Success Count               |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |RTS Success Cnt|               RTS Failure Count               |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |RTS Failure Cnt|               ACK Failure Count               |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |ACK Failure Cnt|               Rx Fragment Count               |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |Rx Fragment Cnt|               Multicast RX Count              |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       | Mcast Rx Cnt  |                FCS Error  Count               |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       | FCS Error  Cnt|                 Tx Frame Count                |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       | Tx Frame Cnt  |               Decryption Errors               |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |Decryption Errs|
 | ||
|       +-+-+-+-+-+-+-+-+
 | ||
| 
 | ||
|    Type:   38 for Statistics
 | ||
| 
 | ||
|    Length:   57
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 96]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|    Radio ID:   An 8-bit value representing the radio.
 | ||
| 
 | ||
|    Tx Fragment Count:   A 32-bit value representing the number of
 | ||
|       fragmented frames transmitted.
 | ||
| 
 | ||
|    Multicast Tx Count:   A 32-bit value representing the number of
 | ||
|       multicast frames transmitted.
 | ||
| 
 | ||
|    Failed Count:   A 32-bit value representing the transmit excessive
 | ||
|       retries.
 | ||
| 
 | ||
|    Retry Count:   A 32-bit value representing the number of transmit
 | ||
|       retries.
 | ||
| 
 | ||
|    Multiple Retry Count:   A 32-bit value representing the number of
 | ||
|       transmits that required more than one retry.
 | ||
| 
 | ||
|    Frame Duplicate Count:   A 32-bit value representing the duplicate
 | ||
|       frames received.
 | ||
| 
 | ||
|    RTS Success Count:   A 32-bit value representing the number of
 | ||
|       successfully transmitted Ready To Send (RTS).
 | ||
| 
 | ||
|    RTS Failure Count:   A 32-bit value representing the failed
 | ||
|       transmitted RTS.
 | ||
| 
 | ||
|    ACK Failure Count:   A 32-bit value representing the number of failed
 | ||
|       acknowledgements.
 | ||
| 
 | ||
|    Rx Fragment Count:   A 32-bit value representing the number of
 | ||
|       fragmented frames received.
 | ||
| 
 | ||
|    Multicast RX Count:   A 32-bit value representing the number of
 | ||
|       multicast frames received.
 | ||
| 
 | ||
|    FCS Error Count:   A 32-bit value representing the number of Frame
 | ||
|       Check Sequence (FCS) failures.
 | ||
| 
 | ||
|    Decryption Errors:   A 32-bit value representing the number of
 | ||
|       Decryption errors that occurred on the WTP.  Note that this field
 | ||
|       is only valid in cases where the WTP provides encryption/
 | ||
|       decryption services.
 | ||
| 
 | ||
| 11.8.  802.11 Control Messages
 | ||
| 
 | ||
|    This section will define LWAPP control messages that are specific to
 | ||
|    the IEEE 802.11 binding.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 97]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
| 11.8.1.  IEEE 802.11 WLAN Config Request
 | ||
| 
 | ||
|    The IEEE 802.11 WLAN Configuration Request is sent by the AC to the
 | ||
|    WTP in order to change services provided by the WTP.  This control
 | ||
|    message is used to either create, update, or delete a WLAN on the
 | ||
|    WTP.
 | ||
| 
 | ||
|    The IEEE 802.11 WLAN Configuration Request is sent as a result of
 | ||
|    either some manual administrative process (e.g., deleting a WLAN), or
 | ||
|    automatically to create a WLAN on a WTP.  When sent automatically to
 | ||
|    create a WLAN, this control message is sent after the LWAPP
 | ||
|    Configuration Request message has been received by the WTP.
 | ||
| 
 | ||
|    Upon receiving this control message, the WTP will modify the
 | ||
|    necessary services, and transmit an IEEE 802.11 WLAN Configuration
 | ||
|    Response.
 | ||
| 
 | ||
|    An WTP MAY provide service for more than one WLAN: therefore, every
 | ||
|    WLAN is identified through a numerical index.  For instance, a WTP
 | ||
|    that is capable of supporting up to 16 SSIDs could accept up to 16
 | ||
|    IEEE 802.11 WLAN Configuration Request messages that include the Add
 | ||
|    WLAN message element.
 | ||
| 
 | ||
|    Since the index is the primary identifier for a WLAN, an AC SHOULD
 | ||
|    attempt to ensure that the same WLAN is identified through the same
 | ||
|    index number on all of its WTPs.  An AC that does not follow this
 | ||
|    approach MUST find some other means of maintaining a WLAN Identifier
 | ||
|    to SSID mapping table.
 | ||
| 
 | ||
|    The following subsections define the message elements that are of
 | ||
|    value for this LWAPP operation.  Only one message MUST be present.
 | ||
| 
 | ||
| 11.8.1.1.  IEEE 802.11 Add WLAN
 | ||
| 
 | ||
|    The Add WLAN message element is used by the AC to define a wireless
 | ||
|    LAN on the WTP.  The value contains the following format:
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 98]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|        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
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |    Radio ID   |         WLAN Capability       |    WLAN ID    |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |                      Encryption Policy                        |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |                             Key ...                           |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |   Key Index   |   Shared Key  | WPA Data Len  |WPA IE Data ...|
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       | RSN Data Len  |RSN IE Data ...|         Reserved ....         |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       | WME Data Len  |WME IE Data ...|  11e Data Len |11e IE Data ...|
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |      QoS      |   Auth Type   |Broadcast SSID |  Reserved...  |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |    SSID ...   |
 | ||
|       +-+-+-+-+-+-+-+-+
 | ||
| 
 | ||
|    Type:   7 for IEEE 802.11 Add WLAN
 | ||
| 
 | ||
|    Length:   >= 298
 | ||
| 
 | ||
|    Radio ID:   An 8-bit value representing the radio.
 | ||
| 
 | ||
|    WLAN Capability:   A 16-bit value containing the capabilities to be
 | ||
|       advertised by the WTP within the Probe and Beacon messages.
 | ||
| 
 | ||
|    WLAN ID:   A 16-bit value specifying the WLAN Identifier.
 | ||
| 
 | ||
|    Encryption Policy:   A 32-bit value specifying the encryption scheme
 | ||
|       to apply to traffic to and from the mobile station.
 | ||
| 
 | ||
|       The following values are supported:
 | ||
| 
 | ||
|       0 -  Encrypt WEP 104: All packets to/from the mobile station must
 | ||
|            be encrypted using a standard 104-bit WEP.
 | ||
| 
 | ||
|       1 -  Clear Text: All packets to/from the mobile station do not
 | ||
|            require any additional crypto processing by the WTP.
 | ||
| 
 | ||
|       2 -  Encrypt WEP 40: All packets to/from the mobile station must
 | ||
|            be encrypted using a standard 40-bit WEP.
 | ||
| 
 | ||
|       3 -  Encrypt WEP 128: All packets to/from the mobile station must
 | ||
|            be encrypted using a standard 128-bit WEP.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                       [Page 99]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|       4 -  Encrypt AES-CCMP 128: All packets to/from the mobile station
 | ||
|            must be encrypted using a 128-bit AES-CCMP [7].
 | ||
| 
 | ||
|       5 -  Encrypt TKIP-MIC: All packets to/from the mobile station must
 | ||
|            be encrypted using TKIP and authenticated using Michael [16].
 | ||
| 
 | ||
|       6 -  Encrypt CKIP: All packets to/from the mobile station must be
 | ||
|            encrypted using Cisco TKIP.
 | ||
| 
 | ||
|    Key:   A 32-byte session key to use with the encryption policy.
 | ||
| 
 | ||
|    Key-Index:   The Key Index associated with the key.
 | ||
| 
 | ||
|    Shared Key:   A 1-byte Boolean that specifies whether the key
 | ||
|       included in the Key field is a shared WEP key.  A value of zero is
 | ||
|       used to state that the key is not a shared WEP key, while a value
 | ||
|       of one is used to state that the key is a shared WEP key.
 | ||
| 
 | ||
|    WPA Data Len:   Length of the WPA Information Element (IE).
 | ||
| 
 | ||
|    WPA IE:   A 32-byte field containing the WPA Information Element.
 | ||
| 
 | ||
|    RSN Data Len:   Length of the Robust Security Network (RSN) IE.
 | ||
| 
 | ||
|    RSN IE:   A 64-byte field containing the RSN Information Element.
 | ||
| 
 | ||
|    Reserved:   A 49-byte reserved field, which MUST be set to zero (0).
 | ||
| 
 | ||
|    WME Data Len:   Length of the WME IE.
 | ||
| 
 | ||
|    WME IE:   A 32-byte field containing the WME Information Element.
 | ||
| 
 | ||
|    DOT11E Data Len:   Length of the 802.11e IE.
 | ||
| 
 | ||
|    DOT11E IE:   A 32-byte field containing the 802.11e Information
 | ||
|       Element.
 | ||
| 
 | ||
|    QOS:   An 8-bit value specifying the QoS policy to enforce for the
 | ||
|       station.
 | ||
| 
 | ||
|       The following values are supported:
 | ||
| 
 | ||
|       0 -  Silver (Best Effort)
 | ||
| 
 | ||
|       1 -  Gold (Video)
 | ||
| 
 | ||
|       2 -  Platinum (Voice)
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                      [Page 100]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|       3 -  Bronze (Background)
 | ||
| 
 | ||
|    Auth Type:   An 8-bit value specifying the station's authentication
 | ||
|       type.
 | ||
| 
 | ||
|       The following values are supported:
 | ||
| 
 | ||
|       0 -  Open System
 | ||
| 
 | ||
|       1 -  WEP Shared Key
 | ||
| 
 | ||
|       2 -  WPA/WPA2 802.1X
 | ||
| 
 | ||
|       3 -  WPA/WPA2 PSK
 | ||
| 
 | ||
|    Broadcast SSID:   A Boolean indicating whether the SSID is to be
 | ||
|       broadcast by the WTP.  A value of zero disables SSID broadcast,
 | ||
|       while a value of one enables it.
 | ||
| 
 | ||
|    Reserved:   A 40-byte reserved field.
 | ||
| 
 | ||
|    SSID:   The SSID attribute is the service set identifier that will be
 | ||
|       advertised by the WTP for this WLAN.
 | ||
| 
 | ||
| 11.8.1.2.  IEEE 802.11 Delete WLAN
 | ||
| 
 | ||
|    The Delete WLAN message element is used to inform the WTP that a
 | ||
|    previously created WLAN is to be deleted.  The value contains the
 | ||
|    following fields:
 | ||
| 
 | ||
|        0                   1                   2
 | ||
|        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |    Radio ID   |            WLAN ID            |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
| 
 | ||
|    Type:   28 for IEEE 802.11 Delete WLAN
 | ||
| 
 | ||
|    Length:   3
 | ||
| 
 | ||
|    Radio ID:   An 8-bit value representing the radio
 | ||
| 
 | ||
|    WLAN ID:   A 16-bit value specifying the WLAN Identifier
 | ||
| 
 | ||
| 11.8.1.3.  IEEE 802.11 Update WLAN
 | ||
| 
 | ||
|    The Update WLAN message element is used by the AC to define a
 | ||
|    wireless LAN on the WTP.  The value contains the following format:
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                      [Page 101]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|        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
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |    Radio ID   |             WLAN ID           |Encrypt Policy |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |                      Encryption Policy        |     Key...    |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |                             Key ...                           |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |   Key Index   |   Shared Key  |        WLAN Capability        |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
| 
 | ||
|    Type:   34 for IEEE 802.11 Update WLAN
 | ||
| 
 | ||
|    Length:   43
 | ||
| 
 | ||
|    Radio ID:   An 8-bit value representing the radio.
 | ||
| 
 | ||
|    WLAN ID:   A 16-bit value specifying the WLAN Identifier.
 | ||
| 
 | ||
|    Encryption Policy:   A 32-bit value specifying the encryption scheme
 | ||
|       to apply to traffic to and from the mobile station.
 | ||
| 
 | ||
|       The following values are supported:
 | ||
| 
 | ||
|       0 -  Encrypt WEP 104: All packets to/from the mobile station must
 | ||
|            be encrypted using a standard 104-bit WEP.
 | ||
| 
 | ||
|       1 -  Clear Text: All packets to/from the mobile station do not
 | ||
|            require any additional crypto processing by the WTP.
 | ||
| 
 | ||
|       2 -  Encrypt WEP 40: All packets to/from the mobile station must
 | ||
|            be encrypted using a standard 40-bit WEP.
 | ||
| 
 | ||
|       3 -  Encrypt WEP 128: All packets to/from the mobile station must
 | ||
|            be encrypted using a standard 128-bit WEP.
 | ||
| 
 | ||
|       4 -  Encrypt AES-CCMP 128: All packets to/from the mobile station
 | ||
|            must be encrypted using a 128-bit AES-CCMP [7].
 | ||
| 
 | ||
|       5 -  Encrypt TKIP-MIC: All packets to/from the mobile station must
 | ||
|            be encrypted using TKIP and authenticated using Michael [16].
 | ||
| 
 | ||
|       6 -  Encrypt CKIP: All packets to/from the mobile station must be
 | ||
|            encrypted using Cisco TKIP.
 | ||
| 
 | ||
|    Key:   A 32-byte session key to use with the encryption policy.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                      [Page 102]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|    Key-Index:   The Key Index associated with the key.
 | ||
| 
 | ||
|    Shared Key:   A 1-byte Boolean that specifies whether the key
 | ||
|       included in the Key field is a shared WEP key.  A value of zero
 | ||
|       means that the key is not a shared WEP key, while a value of one
 | ||
|       is used to state that the key is a shared WEP key.
 | ||
| 
 | ||
|    WLAN Capability:   A 16-bit value containing the capabilities to be
 | ||
|       advertised by the WTP within the Probe and Beacon messages.
 | ||
| 
 | ||
| 11.8.2.  IEEE 802.11 WLAN Config Response
 | ||
| 
 | ||
|    The IEEE 802.11 WLAN Configuration Response is sent by the WTP to the
 | ||
|    AC as an acknowledgement of the receipt of an IEEE 802.11 WLAN
 | ||
|    Configuration Request.
 | ||
| 
 | ||
|    This LWAPP control message does not include any message elements.
 | ||
| 
 | ||
| 11.8.3.  IEEE 802.11 WTP Event
 | ||
| 
 | ||
|    The IEEE 802.11 WTP Event LWAPP message is used by the WTP in order
 | ||
|    to report asynchronous events to the AC.  There is no reply message
 | ||
|    expected from the AC, except that the message is acknowledged via the
 | ||
|    reliable transport.
 | ||
| 
 | ||
|    When the AC receives the IEEE 802.11 WTP Event, it will take whatever
 | ||
|    action is necessary, depending upon the message elements present in
 | ||
|    the message.
 | ||
| 
 | ||
|    The IEEE 802.11 WTP Event message MUST contain one of the following
 | ||
|    message elements described in the next subsections.
 | ||
| 
 | ||
| 11.8.3.1.  IEEE 802.11 MIC Countermeasures
 | ||
| 
 | ||
|    The MIC Countermeasures message element is sent by the WTP to the AC
 | ||
|    to indicate the occurrence of a MIC failure.
 | ||
| 
 | ||
|        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
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |   Radio ID    |    WLAN ID    |          MAC Address          |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |                          MAC Address                          |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
| 
 | ||
|    Type:   61 for IEEE 802.11 MIC Countermeasures
 | ||
| 
 | ||
|    Length:   8
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                      [Page 103]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|    Radio ID:   The Radio Identifier, typically refers to some interface
 | ||
|       index on the WTP.
 | ||
| 
 | ||
|    WLAN ID:   This 8-bit unsigned integer includes the WLAN Identifier,
 | ||
|       on which the MIC failure occurred.
 | ||
| 
 | ||
|    MAC Address:   The MAC address of the mobile station that caused the
 | ||
|       MIC failure.
 | ||
| 
 | ||
| 11.8.3.2.  IEEE 802.11 WTP Radio Fail Alarm Indication
 | ||
| 
 | ||
|    The WTP Radio Fail Alarm Indication message element is sent by the
 | ||
|    WTP to the AC when it detects a radio failure.
 | ||
| 
 | ||
|        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
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |   Radio ID    |     Type      |    Status     |      Pad      |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
| 
 | ||
|    Type:   95 for WTP Radio Fail Alarm Indication
 | ||
| 
 | ||
|    Length:   4
 | ||
| 
 | ||
|    Radio ID:   The Radio Identifier, typically refers to some interface
 | ||
|       index on the WTP.
 | ||
| 
 | ||
|    Type:   The type of radio failure detected.  The following values are
 | ||
|       supported:
 | ||
| 
 | ||
|       1 -  Receiver
 | ||
| 
 | ||
|       2 -  Transmitter
 | ||
| 
 | ||
|    Status:   An 8-bit Boolean indicating whether the radio failure is
 | ||
|       being reported or cleared.  A value of zero is used to clear the
 | ||
|       event, while a value of one is used to report the event.
 | ||
| 
 | ||
|    Pad:   Reserved field MUST be set to zero (0).
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                      [Page 104]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
| 11.9.  Message Element Bindings
 | ||
| 
 | ||
|    The IEEE 802.11 Message Element binding has the following
 | ||
|    definitions:
 | ||
| 
 | ||
|                                                 Conf  Conf  Conf  Add
 | ||
|                                                 Req   Resp  Upd   Mobile
 | ||
| 
 | ||
|       IEEE 802.11 WTP WLAN Radio Configuration   X     X     X
 | ||
|       IEEE 802.11 Rate Set                             X     X
 | ||
|       IEEE 802.11 Multi-domain Capability        X     X     X
 | ||
|       IEEE 802.11 MAC Operation                  X     X     X
 | ||
|       IEEE 802.11 Tx Power                       X     X     X
 | ||
|       IEEE 802.11 Tx Power Level                 X
 | ||
|       IEEE 802.11 Direct Sequence Control        X     X     X
 | ||
|       IEEE 802.11 OFDM Control                   X     X     X
 | ||
|       IEEE 802.11 Supported Rates                X     X
 | ||
|       IEEE 802.11 Antenna                        X     X     X
 | ||
|       IEEE 802.11 CFP Status                     X           X
 | ||
|       IEEE 802.11 Broadcast Probe Mode                 X     X
 | ||
|       IEEE 802.11 WTP Mode and Type              X?          X
 | ||
|       IEEE 802.11 WTP Quality of Service               X     X
 | ||
|       IEEE 802.11 MIC Error Report From Mobile               X
 | ||
|       IEEE 802.11 Update Mobile QoS                                X
 | ||
|       IEEE 802.11 Mobile Session Key                               X
 | ||
| 
 | ||
| 11.9.1.  IEEE 802.11 WTP WLAN Radio Configuration
 | ||
| 
 | ||
|    The WTP WLAN radio configuration is used by the AC to configure a
 | ||
|    Radio on the WTP.  The message element 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
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |    Radio ID   |    Reserved   |        Occupancy Limit        |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |    CFP Per    |      CFP Maximum Duration     |     BSS ID    |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |                            BSS ID                             |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |     BSS ID    |        Beacon Period          |    DTIM Per   |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |                        Country String                         |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       | Num Of BSSIDs |
 | ||
|       +-+-+-+-+-+-+-+-+
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                      [Page 105]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|    Type:   8 for IEEE 802.11 WTP WLAN Radio Configuration
 | ||
| 
 | ||
|    Length:   20
 | ||
| 
 | ||
|    Radio ID:   An 8-bit value representing the radio to configure.
 | ||
| 
 | ||
|    Reserved:   MUST be set to zero
 | ||
| 
 | ||
|    Occupancy Limit:   This attribute indicates the maximum amount of
 | ||
|       time, in Time Units (TUs), that a point coordinator MAY control
 | ||
|       the usage of the wireless medium without relinquishing control for
 | ||
|       long enough to allow at least one instance of Distributed
 | ||
|       Coordination Function (DCF) access to the medium.  The default
 | ||
|       value of this attribute SHOULD be 100, and the maximum value
 | ||
|       SHOULD be 1000.
 | ||
| 
 | ||
|    CFP Period:   The attribute describes the number of DTIM intervals
 | ||
|       between the start of Contention-Free Periods (CFPs).
 | ||
| 
 | ||
|    CFP Maximum Duration:   The attribute describes the maximum duration
 | ||
|       of the CFP in TU that MAY be generated by the Point Coordination
 | ||
|       Function (PCF).
 | ||
| 
 | ||
|    BSSID:   The WLAN Radio's base MAC address.  For WTPs that support
 | ||
|       more than a single WLAN, the value of the WLAN Identifier is added
 | ||
|       to the last octet of the BSSID.  Therefore, a WTP that supports 16
 | ||
|       WLANs MUST have 16 MAC addresses reserved for it, and the last
 | ||
|       nibble is used to represent the WLAN ID.
 | ||
| 
 | ||
|    Beacon Period:   This attribute specifies the number of TUs that a
 | ||
|       station uses for scheduling Beacon transmissions.  This value is
 | ||
|       transmitted in Beacon and Probe Response frames.
 | ||
| 
 | ||
|    DTIM Period:   This attribute specifies the number of Beacon
 | ||
|       intervals that elapses between transmission of Beacons frames
 | ||
|       containing a TIM element whose DTIM Count field is 0.  This value
 | ||
|       is transmitted in the DTIM Period field of Beacon frames.
 | ||
| 
 | ||
|    Country Code:   This attribute identifies the country in which the
 | ||
|       station is operating.  The first two octets of this string is the
 | ||
|       two-character country code as described in document ISO/IEC 3166-
 | ||
|       1.  The third octet MUST be one of the following:
 | ||
| 
 | ||
|    1. an ASCII space character, if the regulations under which the
 | ||
|       station is operating encompass all environments in the country,
 | ||
| 
 | ||
|    2. an ASCII 'O' character, if the regulations under which the station
 | ||
|       is operating are for an outdoor environment only, or
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                      [Page 106]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|    3. an ASCII 'I' character, if the regulations under which the station
 | ||
|       is operating are for an indoor environment only.
 | ||
| 
 | ||
|    Number of BSSIDs:   This attribute contains the maximum number of
 | ||
|       BSSIDs supported by the WTP.  This value restricts the number of
 | ||
|       logical networks supported by the WTP.
 | ||
| 
 | ||
| 11.9.2.  IEEE 802.11 Rate Set
 | ||
| 
 | ||
|    The Rate Set message element value is sent by the AC and contains the
 | ||
|    supported operational rates.  It 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
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |    Radio ID   |                   Rate Set                    |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
| 
 | ||
|    Type:   16 for IEEE 802.11 Rate Set
 | ||
| 
 | ||
|    Length:   4
 | ||
| 
 | ||
|    Radio ID:   An 8-bit value representing the radio to configure.
 | ||
| 
 | ||
|    Rate Set:   The AC generates the Rate Set that the WTP is to include
 | ||
|       in its Beacon and Probe messages.
 | ||
| 
 | ||
| 11.9.3.  IEEE 802.11 Multi-Domain Capability
 | ||
| 
 | ||
|    The Multi-Domain Capability message element is used by the AC to
 | ||
|    inform the WTP of regulatory limits.  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
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |    Radio ID   |    Reserved   |        First Channel #        |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |       Number of Channels      |       Max Tx Power Level      |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
| 
 | ||
|    Type:   10 for IEEE 802.11 Multi-Domain Capability
 | ||
| 
 | ||
|    Length:   8
 | ||
| 
 | ||
|    Radio ID:   An 8-bit value representing the radio to configure.
 | ||
| 
 | ||
|    Reserved:   MUST be set to zero
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                      [Page 107]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|    First Channel #:   This attribute indicates the value of the lowest
 | ||
|       channel number in the subband for the associated domain country
 | ||
|       string.
 | ||
| 
 | ||
|    Number of Channels:   This attribute indicates the value of the total
 | ||
|       number of channels allowed in the subband for the associated
 | ||
|       domain country string.
 | ||
| 
 | ||
|    Max Tx Power Level:   This attribute indicates the maximum transmit
 | ||
|       power, in dBm, allowed in the subband for the associated domain
 | ||
|       country string.
 | ||
| 
 | ||
| 11.9.4.  IEEE 802.11 MAC Operation
 | ||
| 
 | ||
|    The MAC Operation message element is sent by the AC to set the 802.11
 | ||
|    MAC parameters on the WTP.  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
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |    Radio ID   |    Reserved   |         RTS Threshold         |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |  Short Retry  |  Long Retry   |    Fragmentation Threshold    |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |                       Tx MSDU Lifetime                        |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |                       Rx MSDU Lifetime                        |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
| 
 | ||
|    Type:   11 for IEEE 802.11 MAC Operation
 | ||
| 
 | ||
|    Length:   16
 | ||
| 
 | ||
|    Radio ID:   An 8-bit value representing the radio to configure.
 | ||
| 
 | ||
|    Reserved:   MUST be set to zero
 | ||
| 
 | ||
|    RTS Threshold:   This attribute indicates the number of octets in a
 | ||
|       Management Protocol Data Unit (MPDU), below which an RTS/CTS
 | ||
|       (clear to send) handshake MUST NOT be performed.  An RTS/CTS
 | ||
|       handshake MUST be performed at the beginning of any frame exchange
 | ||
|       sequence where the MPDU is of type Data or Management, the MPDU
 | ||
|       has an individual address in the Address1 field, and the length of
 | ||
|       the MPDU is greater than this threshold.  Setting this attribute
 | ||
|       to be larger than the maximum MAC Service Data Unit (MSDU) size
 | ||
|       MUST have the effect of turning off the RTS/CTS handshake for
 | ||
|       frames of Data or Management type transmitted by this Station
 | ||
|       (STA).  Setting this attribute to zero MUST have the effect of
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                      [Page 108]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|       turning on the RTS/CTS handshake for all frames of Data or
 | ||
|       Management type transmitted by this STA.  The default value of
 | ||
|       this attribute MUST be 2347.
 | ||
| 
 | ||
|    Short Retry:   This attribute indicates the maximum number of
 | ||
|       transmission attempts of a frame, the length of which is less than
 | ||
|       or equal to RTSThreshold, that MUST be made before a failure
 | ||
|       condition is indicated.  The default value of this attribute MUST
 | ||
|       be 7.
 | ||
| 
 | ||
|    Long Retry:   This attribute indicates the maximum number of
 | ||
|       transmission attempts of a frame, the length of which is greater
 | ||
|       than dot11RTSThreshold, that MUST be made before a failure
 | ||
|       condition is indicated.  The default value of this attribute MUST
 | ||
|       be 4.
 | ||
| 
 | ||
|    Fragmentation Threshold:   This attribute specifies the current
 | ||
|       maximum size, in octets, of the MPDU that MAY be delivered to the
 | ||
|       PHY.  An MSDU MUST be broken into fragments if its size exceeds
 | ||
|       the value of this attribute after adding MAC headers and trailers.
 | ||
|       An MSDU or MAC Management Protocol Data Unit (MMPDU) MUST be
 | ||
|       fragmented when the resulting frame has an individual address in
 | ||
|       the Address1 field, and the length of the frame is larger than
 | ||
|       this threshold.  The default value for this attribute MUST be the
 | ||
|       lesser of 2346 or the aMPDUMaxLength of the attached PHY and MUST
 | ||
|       never exceed the lesser of 2346 or the aMPDUMaxLength of the
 | ||
|       attached PHY.  The value of this attribute MUST never be less than
 | ||
|       256.
 | ||
| 
 | ||
|    Tx MSDU Lifetime:   This attribute specifies the elapsed time in TU,
 | ||
|       after the initial transmission of an MSDU, after which, further
 | ||
|       attempts to transmit the MSDU MUST be terminated.  The default
 | ||
|       value of this attribute MUST be 512.
 | ||
| 
 | ||
|    Rx MSDU Lifetime:   This attribute specifies the elapsed time, in TU,
 | ||
|       after the initial reception of a fragmented MMPDU or MSDU, after
 | ||
|       which, further attempts to reassemble the MMPDU or MSDU MUST be
 | ||
|       terminated.  The default value MUST be 512.
 | ||
| 
 | ||
| 11.9.5.  IEEE 802.11 Tx Power
 | ||
| 
 | ||
|    The Tx Power message element value is bi-directional.  When sent by
 | ||
|    the WTP, it contains the current power level of the radio in
 | ||
|    question.  When sent by the AC, it contains the power level to which
 | ||
|    the WTP MUST adhere:
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                      [Page 109]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|        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
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |    Radio ID   |    Reserved   |        Current Tx Power       |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
| 
 | ||
|    Type:   12 for IEEE 802.11 Tx Power
 | ||
| 
 | ||
|    Length:   4
 | ||
| 
 | ||
|    Radio ID:   An 8-bit value representing the radio to configure.
 | ||
| 
 | ||
|    Reserved:   MUST be set to zero
 | ||
| 
 | ||
|    Current Tx Power:   This attribute contains the transmit output power
 | ||
|       in mW.
 | ||
| 
 | ||
| 11.9.6.  IEEE 802.11 Tx Power Level
 | ||
| 
 | ||
|    The Tx Power Level message element is sent by the WTP and contains
 | ||
|    the different power levels supported.  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
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |    Radio ID   |   Num Levels  |        Power Level [n]        |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
| 
 | ||
|    Type:   13 for IEEE 802.11 Tx Power Level
 | ||
| 
 | ||
|    Length:   >= 4
 | ||
| 
 | ||
|    Radio ID:   An 8-bit value representing the radio to configure.
 | ||
| 
 | ||
|    Num Levels:   The number of power level attributes.
 | ||
| 
 | ||
|    Power Level:   Each power level fields contains a supported power
 | ||
|       level, in mW.
 | ||
| 
 | ||
| 11.9.7.  IEEE 802.11 Direct Sequence Control
 | ||
| 
 | ||
|    The Direct Sequence Control message element is a bi-directional
 | ||
|    element.  When sent by the WTP, it contains the current state.  When
 | ||
|    sent by the AC, the WTP MUST adhere to the values.  This element is
 | ||
|    only used for 802.11b radios.  The value has the following fields.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                      [Page 110]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|        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
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |    Radio ID   |    Reserved   | Current Chan  |  Current CCA  |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |                    Energy Detect Threshold                    |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
| 
 | ||
|    Type:   14 for IEEE 802.11 Direct Sequence Control
 | ||
| 
 | ||
|    Length:   8
 | ||
| 
 | ||
|    Radio ID:   An 8-bit value representing the radio to configure.
 | ||
| 
 | ||
|    Reserved:   MUST be set to zero
 | ||
| 
 | ||
|    Current Channel:   This attribute contains the current operating
 | ||
|       frequency channel of the Direct Sequence Spread Spectrum (DSSS)
 | ||
|       PHY.
 | ||
| 
 | ||
|    Current CCA:   The current Controlled Channel Access (CCA) method in
 | ||
|       operation.  Valid values are:
 | ||
| 
 | ||
|       1 - energy detect only (edonly)
 | ||
| 
 | ||
|       2 - carrier sense only (csonly)
 | ||
| 
 | ||
|       4 - carrier sense and energy detect (edandcs)
 | ||
| 
 | ||
|       8 - carrier sense with timer (cswithtimer)
 | ||
| 
 | ||
|       16 - high-rate carrier sense and energy detect (hrcsanded)
 | ||
| 
 | ||
|    Energy Detect Threshold:   The current Energy Detect Threshold being
 | ||
|       used by the DSSS PHY.
 | ||
| 
 | ||
| 11.9.8.  IEEE 802.11 OFDM Control
 | ||
| 
 | ||
|    The Orthogonal Frequency Division Multiplexing (OFDM) Control message
 | ||
|    element is a bi-directional element.  When sent by the WTP, it
 | ||
|    contains the current state.  When sent by the AC, the WTP MUST adhere
 | ||
|    to the values.  This element is only used for 802.11a radios.  The
 | ||
|    value contains the following fields:
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                      [Page 111]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|        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
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |    Radio ID   |    Reserved   | Current Chan  |  Band Support |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |                         TI Threshold                          |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
| 
 | ||
|    Type:   15 for IEEE 802.11 OFDM Control
 | ||
| 
 | ||
|    Length:   8
 | ||
| 
 | ||
|    Radio ID:   An 8-bit value representing the radio to configure.
 | ||
| 
 | ||
|    Reserved:   MUST be set to zero
 | ||
| 
 | ||
|    Current Channel:   This attribute contains the current operating
 | ||
|       frequency channel of the OFDM PHY.
 | ||
| 
 | ||
|    Band Supported:   The capability of the OFDM PHY implementation to
 | ||
|       operate in the three U-NII bands.  Coded as an integer value of a
 | ||
|       3-bit field as follows:
 | ||
| 
 | ||
|       Bit 0 -  capable of operating in the lower (5.15-5.25 GHz) U-NII
 | ||
|                band
 | ||
| 
 | ||
|       Bit 1 -  capable of operating in the middle (5.25-5.35 GHz) U-NII
 | ||
|                band
 | ||
| 
 | ||
|       Bit 2 -  capable of operating in the upper (5.725-5.825 GHz) U-NII
 | ||
|                band
 | ||
| 
 | ||
|       For example, for an implementation capable of operating in the
 | ||
|       lower and mid bands, this attribute would take the value.
 | ||
| 
 | ||
|    TI Threshold:   The threshold being used to detect a busy medium
 | ||
|       (frequency).  CCA MUST report a busy medium upon detecting the
 | ||
|       RSSI above this threshold.
 | ||
| 
 | ||
| 11.9.9.  IEEE 802.11 Antenna
 | ||
| 
 | ||
|    The Antenna message element is communicated by the WTP to the AC to
 | ||
|    provide information on the antennas available.  The AC MAY use this
 | ||
|    element to reconfigure the WTP's antennas.  The value contains the
 | ||
|    following fields:
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                      [Page 112]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|        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
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |    Radio ID   |   Diversity   |    Combiner   |  Antenna Cnt  |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |                    Antenna Selection [0..N]                   |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
| 
 | ||
|    Type:   41 for IEEE 802.11 Antenna
 | ||
| 
 | ||
|    Length:   >= 8
 | ||
| 
 | ||
|    Radio ID:   An 8-bit value representing the radio to configure.
 | ||
| 
 | ||
|    Diversity:   An 8-bit value specifying whether the antenna is to
 | ||
|       provide receive diversity.  The following values are supported:
 | ||
| 
 | ||
|       0 -  Disabled
 | ||
| 
 | ||
|       1 -  Enabled (may only be true if the antenna can be used as a
 | ||
|            receive antenna)
 | ||
| 
 | ||
|    Combiner:   An 8-bit value specifying the combiner selection.  The
 | ||
|       following values are supported:
 | ||
| 
 | ||
|       1 -  Sectorized (Left)
 | ||
| 
 | ||
|       2 -  Sectorized (Right)
 | ||
| 
 | ||
|       3 -  Omni
 | ||
| 
 | ||
|       4 -  Mimo
 | ||
| 
 | ||
|    Antenna Count:   An 8-bit value specifying the number of Antenna
 | ||
|       Selection fields.
 | ||
| 
 | ||
|    Antenna Selection:   One 8-bit antenna configuration value per
 | ||
|       antenna in the WTP.  The following values are supported:
 | ||
| 
 | ||
|       1 -  Internal Antenna
 | ||
| 
 | ||
|       2 -  External Antenna
 | ||
| 
 | ||
| 11.9.10.  IEEE 802.11 Supported Rates
 | ||
| 
 | ||
|    The Supported Rates message element is sent by the WTP to indicate
 | ||
|    the rates that it supports.  The value contains the following fields:
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                      [Page 113]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|        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
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |    Radio ID   |                 Supported Rates               |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
| 
 | ||
|    Type:   16 for IEEE 802.11 Supported Rates
 | ||
| 
 | ||
|    Length:   4
 | ||
| 
 | ||
|    Radio ID:   An 8-bit value representing the radio.
 | ||
| 
 | ||
|    Supported Rates:   The WTP includes the Supported Rates that its
 | ||
|       hardware supports.  The format is identical to the Rate Set
 | ||
|       message element.
 | ||
| 
 | ||
| 11.9.11.  IEEE 802.11 CFP Status
 | ||
| 
 | ||
|    The CFP Status message element is sent to provide the CF Polling
 | ||
|    configuration.
 | ||
| 
 | ||
|        0                   1
 | ||
|        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |   Radio ID    |    Status     |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
| 
 | ||
|    Type:   48 for IEEE 802.11 CFP Status
 | ||
| 
 | ||
|    Length:   2
 | ||
| 
 | ||
|    Radio ID:   The Radio Identifier, typically refers to some interface
 | ||
|       index on the WTP.
 | ||
| 
 | ||
|    Status:   An 8-bit Boolean containing the status of the CF Polling
 | ||
|       feature.  A value of zero disables CFP Status, while a value of
 | ||
|       one enables it.
 | ||
| 
 | ||
| 11.9.12.  IEEE 802.11 WTP Mode and Type
 | ||
| 
 | ||
|    The WTP Mode and Type message element is used to configure a WTP to
 | ||
|    operate in a specific mode.
 | ||
| 
 | ||
|        0                   1
 | ||
|        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |     Mode      |     Type      |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                      [Page 114]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|    Type:   54 for IEEE 802.11 WTP Mode and Type
 | ||
| 
 | ||
|    Length:   2
 | ||
| 
 | ||
|    Mode:   An 8-bit value describing the type of information being sent.
 | ||
|       The following values are supported:
 | ||
| 
 | ||
|       0 -  Split MAC
 | ||
| 
 | ||
|       2 -  Local MAC
 | ||
| 
 | ||
|    Type:   The type field is not currently used.
 | ||
| 
 | ||
| 11.9.13.  IEEE 802.11 Broadcast Probe Mode
 | ||
| 
 | ||
|    The Broadcast Probe Mode message element indicates whether a WTP will
 | ||
|    respond to NULL SSID Probe requests.  Since broadcast NULL Probes are
 | ||
|    not sent to a specific BSSID, the WTP cannot know which SSID the
 | ||
|    sending station is querying.  Therefore, this behavior must be global
 | ||
|    to the WTP.
 | ||
| 
 | ||
|        0
 | ||
|        0 1 2 3 4 5 6 7
 | ||
|       +-+-+-+-+-+-+-+-+
 | ||
|       |    Status     |
 | ||
|       +-+-+-+-+-+-+-+-+
 | ||
| 
 | ||
|    Type:   51 for IEEE 802.11 Broadcast Probe Mode
 | ||
| 
 | ||
|    Length:   1
 | ||
| 
 | ||
|    Status:   An 8-bit Boolean indicating the status of whether a WTP
 | ||
|       shall respond to a NULL SSID Probe request.  A value of zero
 | ||
|       disables the NULL SSID Probe response, while a value of one
 | ||
|       enables it.
 | ||
| 
 | ||
| 11.9.14.  IEEE 802.11 WTP Quality of Service
 | ||
| 
 | ||
|    The WTP Quality of Service message element value is sent by the AC to
 | ||
|    the WTP to communicate quality-of-service configuration information.
 | ||
| 
 | ||
|        0                   1
 | ||
|        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |   Radio ID    |  Tag Packets  |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
| 
 | ||
|    Type:   57 for IEEE 802.11 WTP Quality of Service
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                      [Page 115]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|    Length:   12
 | ||
| 
 | ||
|    Radio ID:   The Radio Identifier, typically refers to some interface
 | ||
|       index on the WTP.
 | ||
| 
 | ||
|    Tag Packets:   A value indicating whether LWAPP packets should be
 | ||
|       tagged for QoS purposes.  The following values are currently
 | ||
|       supported:
 | ||
| 
 | ||
|       0 -  Untagged
 | ||
| 
 | ||
|       1 -  802.1P
 | ||
| 
 | ||
|       2 -  DSCP
 | ||
| 
 | ||
|       Immediately following the above header is the following data
 | ||
|       structure.  This data structure will be repeated five times, once
 | ||
|       for every QoS profile.  The order of the QoS profiles is Uranium,
 | ||
|       Platinum, Gold, Silver, and Bronze.
 | ||
| 
 | ||
|        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
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |  Queue Depth  |             CWMin             |     CWMax     |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |     CWMax     |     AIFS      |              CBR              |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |   Dot1P Tag   |   DSCP Tag    |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
| 
 | ||
|    Queue Depth:   The number of packets that can be on the specific QoS
 | ||
|       transmit queue at any given time.
 | ||
| 
 | ||
|    CWMin:   The Contention Window minimum value for the QoS transmit
 | ||
|       queue.
 | ||
| 
 | ||
|    CWMax:   The Contention Window maximum value for the QoS transmit
 | ||
|       queue.
 | ||
| 
 | ||
|    AIFS:   The Arbitration Inter Frame Spacing to use for the QoS
 | ||
|       transmit queue.
 | ||
| 
 | ||
|    CBR:   The Constant Bit Rate (CBR) value to observe for the QoS
 | ||
|       transmit queue.
 | ||
| 
 | ||
|    Dot1P Tag:   The 802.1P precedence value to use if packets are to be
 | ||
|       802.1P tagged.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                      [Page 116]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|    DSCP Tag:   The DSCP label to use if packets are to be DSCP tagged.
 | ||
| 
 | ||
| 11.9.15.  IEEE 802.11 MIC Error Report From Mobile
 | ||
| 
 | ||
|    The MIC Error Report From Mobile message element is sent by an AC to
 | ||
|    a WTP when it receives a MIC failure notification via the Error bit
 | ||
|    in the EAP over LAN (EAPOL)-Key frame.
 | ||
| 
 | ||
|        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
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |                       Client MAC Address                      |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |      Client MAC Address       |             BSSID             |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |                             BSSID                             |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
|       |   Radio ID    |    WLAN ID    |
 | ||
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ||
| 
 | ||
|    Type:   79 for IEEE 802.11 MIC Error Report From Mobile
 | ||
| 
 | ||
|    Length:   14
 | ||
| 
 | ||
|    Client MAC Address:   The Client MAC address of the station reporting
 | ||
|       the MIC failure.
 | ||
| 
 | ||
|    BSSID:   The BSSID on which the MIC failure is being reported.
 | ||
| 
 | ||
|    Radio ID:   The Radio Identifier, typically refers to some interface
 | ||
|       index on the WTP.
 | ||
| 
 | ||
|    WLAN ID:   The WLAN ID on which the MIC failure is being reported.
 | ||
| 
 | ||
| 11.10.  IEEE 802.11 Message Element Values
 | ||
| 
 | ||
|    This section lists IEEE 802.11-specific values for any generic LWAPP
 | ||
|    message elements that include fields whose values are technology-
 | ||
|    specific.
 | ||
| 
 | ||
|    IEEE 802.11 uses the following values:
 | ||
| 
 | ||
|    4 - Encrypt AES-CCMP 128:   WTP supports AES-CCMP, as defined in [7].
 | ||
| 
 | ||
|    5 - Encrypt TKIP-MIC:   WTP supports TKIP and Michael, as defined in
 | ||
|        [16].
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                      [Page 117]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
| 12.  LWAPP Protocol Timers
 | ||
| 
 | ||
|    A WTP or AC that implements LWAPP discovery MUST implement the
 | ||
|    following timers.
 | ||
| 
 | ||
| 12.1.  MaxDiscoveryInterval
 | ||
| 
 | ||
|    The maximum time allowed between sending Discovery Requests from the
 | ||
|    interface, in seconds.  Must be no less than 2 seconds and no greater
 | ||
|    than 180 seconds.
 | ||
| 
 | ||
|    Default: 20 seconds.
 | ||
| 
 | ||
| 12.2.  SilentInterval
 | ||
| 
 | ||
|    The minimum time, in seconds, a WTP MUST wait after failing to
 | ||
|    receive any responses to its Discovery Requests, before it MAY again
 | ||
|    send Discovery Requests.
 | ||
| 
 | ||
|    Default: 30
 | ||
| 
 | ||
| 12.3.  NeighborDeadInterval
 | ||
| 
 | ||
|    The minimum time, in seconds, a WTP MUST wait without having received
 | ||
|    Echo Responses to its Echo Requests, before the destination for the
 | ||
|    Echo Request may be considered dead.  Must be no less than
 | ||
|    2*EchoInterval seconds and no greater than 240 seconds.
 | ||
| 
 | ||
|    Default: 60
 | ||
| 
 | ||
| 12.4.  EchoInterval
 | ||
| 
 | ||
|    The minimum time, in seconds, between sending Echo Requests to the AC
 | ||
|    with which the WTP has joined.
 | ||
| 
 | ||
|    Default: 30
 | ||
| 
 | ||
| 12.5.  DiscoveryInterval
 | ||
| 
 | ||
|    The minimum time, in seconds, that a WTP MUST wait after receiving a
 | ||
|    Discovery Response, before sending a Join Request.
 | ||
| 
 | ||
|    Default: 5
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                      [Page 118]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
| 12.6.  RetransmitInterval
 | ||
| 
 | ||
|    The minimum time, in seconds, that a non-acknowledged LWAPP packet
 | ||
|    will be retransmitted.
 | ||
| 
 | ||
|    Default: 3
 | ||
| 
 | ||
| 12.7.  ResponseTimeout
 | ||
| 
 | ||
|    The minimum time, in seconds, in which an LWAPP Request message must
 | ||
|    be responded to.
 | ||
| 
 | ||
|    Default: 1
 | ||
| 
 | ||
| 12.8.  KeyLifetime
 | ||
| 
 | ||
|    The maximum time, in seconds, that an LWAPP session key is valid.
 | ||
| 
 | ||
|    Default: 28800
 | ||
| 
 | ||
| 13.  LWAPP Protocol Variables
 | ||
| 
 | ||
|    A WTP or AC that implements LWAPP discovery MUST allow for the
 | ||
|    following variables to be configured by system management; default
 | ||
|    values are specified so as to make it unnecessary to configure any of
 | ||
|    these variables in many cases.
 | ||
| 
 | ||
| 13.1.  MaxDiscoveries
 | ||
| 
 | ||
|    The maximum number of Discovery Requests that will be sent after a
 | ||
|    WTP boots.
 | ||
| 
 | ||
|    Default: 10
 | ||
| 
 | ||
| 13.2.  DiscoveryCount
 | ||
| 
 | ||
|    The number of discoveries transmitted by a WTP to a single AC.  This
 | ||
|    is a monotonically increasing counter.
 | ||
| 
 | ||
| 13.3.  RetransmitCount
 | ||
| 
 | ||
|    The number of retransmissions for a given LWAPP packet.  This is a
 | ||
|    monotonically increasing counter.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                      [Page 119]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
| 13.4.  MaxRetransmit
 | ||
| 
 | ||
|    The maximum number of retransmissions for a given LWAPP packet before
 | ||
|    the link layer considers the peer dead.
 | ||
| 
 | ||
|    Default: 5
 | ||
| 
 | ||
| 14.  NAT Considerations
 | ||
| 
 | ||
|    There are two specific situations where a NAT system may be used in
 | ||
|    conjunction with LWAPP.  The first consists of a configuration where
 | ||
|    the WTP is behind a NAT system.  Given that all communication is
 | ||
|    initiated by the WTP, and all communication is performed over IP
 | ||
|    using a single UDP port, the protocol easily traverses NAT systems in
 | ||
|    this configuration.
 | ||
| 
 | ||
|    The second configuration is one where the AC sits behind a NAT, and
 | ||
|    there are two main issues that exist in this situation.  First, an AC
 | ||
|    communicates its interfaces and associated WTP load on these
 | ||
|    interfaces, through the WTP Manager Control IP Address.  This message
 | ||
|    element is currently mandatory, and if NAT compliance became an
 | ||
|    issue, it would be possible to either:
 | ||
| 
 | ||
|    1. make the WTP Manager Control IP Address optional, allowing the WTP
 | ||
|       to simply use the known IP address.  However, note that this
 | ||
|       approach would eliminate the ability to perform load balancing of
 | ||
|       WTP across ACs, and therefore is not the recommended approach.
 | ||
| 
 | ||
|    2. allow an AC to be able to configure a NAT'ed address for every
 | ||
|       associated AC that would generally be communicated in the WTP
 | ||
|       Manager Control IP Address message element.
 | ||
| 
 | ||
|    3. require that if a WTP determines that the AC List message element
 | ||
|       consists of a set of IP addresses that are different from the AC's
 | ||
|       IP address it is currently communicating with, then assume that
 | ||
|       NAT is being enforced, and require that the WTP communicate with
 | ||
|       the original AC's IP address (and ignore the WTP Manager Control
 | ||
|       IP Address message element(s)).
 | ||
| 
 | ||
|    Another issue related to having an AC behind a NAT system is LWAPP's
 | ||
|    support for the CAPWAP Objective to allow the control and data plane
 | ||
|    to be separated.  In order to support this requirement, the LWAPP
 | ||
|    protocol defines the WTP Manager Data IP Address message element,
 | ||
|    which allows the AC to inform the WTP that the LWAPP data frames are
 | ||
|    to be forwarded to a separate IP address.  This feature MUST be
 | ||
|    disabled when an AC is behind a NAT.  However, there is no easy way
 | ||
|    to provide some default mechanism that satisfies both the data/
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                      [Page 120]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|    control separation and NAT objectives, as they directly conflict with
 | ||
|    each other.  As a consequence, user intervention will be required to
 | ||
|    support such networks.
 | ||
| 
 | ||
|    LWAPP has a feature that allows for all of the AC's identities
 | ||
|    supporting a group of WTPs to be communicated through the AC List
 | ||
|    message element.  This feature must be disabled when the AC is behind
 | ||
|    a NAT and the IP address that is embedded would be invalid.
 | ||
| 
 | ||
|    The LWAPP protocol has a feature that allows an AC to configure a
 | ||
|    static IP address on a WTP.  The WTP Static IP Address Information
 | ||
|    message element provides such a function; however, this feature
 | ||
|    SHOULD NOT be used in NAT'ed environments, unless the administrator
 | ||
|    is familiar with the internal IP addressing scheme within the WTP's
 | ||
|    private network, and does not rely on the public address seen by the
 | ||
|    AC.
 | ||
| 
 | ||
|    When a WTP detects the duplicate address condition, it generates a
 | ||
|    message to the AC, which includes the Duplicate IP Address message
 | ||
|    element.  Once again, it is important to note that the IP address
 | ||
|    embedded within this message element would be different from the
 | ||
|    public IP address seen by the AC.
 | ||
| 
 | ||
| 15.  Security Considerations
 | ||
| 
 | ||
|    LWAPP uses either an authenticated key exchange or key agreement
 | ||
|    mechanism to ensure peer authenticity and establish fresh session
 | ||
|    keys to protect the LWAPP communications.
 | ||
| 
 | ||
|    The LWAPP protocol defines a join phase, which allows a WTP to bind a
 | ||
|    session with an AC.  During this process, a session key is mutually
 | ||
|    derived, and secured either through an X.509 certificate or a pre-
 | ||
|    shared key.  The resulting key exchange generates an encryption
 | ||
|    session key, which is used to encrypt the LWAPP control packets, and
 | ||
|    a key derivation key.
 | ||
| 
 | ||
|    During the established secure communication, the WTP and AC may rekey
 | ||
|    using the key update process, which is identical to the join phase,
 | ||
|    meaning the session keys are mutually derived.  However, the exchange
 | ||
|    described for pre-shared session keys is always used for the key
 | ||
|    update, with the pre-shared key set to the derivation key created
 | ||
|    either during the join, or the last key update if one has occurred.
 | ||
|    The key update results in a new derivation key, which is used in the
 | ||
|    next key update, as well as an encryption session key to encrypt the
 | ||
|    LWAPP control packets.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                      [Page 121]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|    Replay protection of the Join Request is handled through an exchange
 | ||
|    of nonces during the join (or key update) phase.  The Join Request
 | ||
|    includes an XNonce, which is included in the AC's authenticated Join
 | ||
|    Reply's encrypted ANonce message element, allowing for the two
 | ||
|    messages to be bound.  Upon receipt of the Join Reply, the WTP
 | ||
|    generates the WNonce, and generates a set of session keys using a KDF
 | ||
|    function.  One of these keys is used to MIC the Join ACK.  The AC
 | ||
|    responds with a Join Confirm, which must also include a MIC, and
 | ||
|    therefore be capable of deriving the same set of session keys.
 | ||
| 
 | ||
|    In both the X.509 certificate and pre-shared key modes, an
 | ||
|    initialization vector is created through the above mentioned KDF
 | ||
|    function.  The IV and the KDF created encryption key are used to
 | ||
|    encrypt the LWAPP control frames.
 | ||
| 
 | ||
|    Given that authentication in the Join exchange does not occur until
 | ||
|    the WTP transmits the Join ACK message, it is crucial that an AC not
 | ||
|    delete any state for a WTP it is servicing until an authentication
 | ||
|    Join ACK has been received.  Otherwise, a potential Denial-of-Service
 | ||
|    attack exists, whereby sending a spoofed Join Request for a valid WTP
 | ||
|    would cause the AC to reset the WTP's connection.
 | ||
| 
 | ||
|    It is important to note that Perfect Forward Secrecy is not a
 | ||
|    requirement for the LWAPP protocol.
 | ||
| 
 | ||
|    Note that the LWAPP protocol does not add any new vulnerabilities to
 | ||
|    802.11 infrastructure that makes use of WEP for encryption purposes.
 | ||
|    However, implementors SHOULD discourage the use of WEP to allow the
 | ||
|    market to move towards technically sound cryptographic solutions,
 | ||
|    such as 802.11i.
 | ||
| 
 | ||
| 15.1.  Certificate-Based Session Key Establishment
 | ||
| 
 | ||
|    LWAPP uses public key cryptography to ensure trust between the WTP
 | ||
|    and the AC.  One question that periodically arises is why the Join
 | ||
|    Request is not signed.  Signing this request would not be optimal for
 | ||
|    the following reasons:
 | ||
| 
 | ||
|    1. The Join Request is replayable, so a signature doesn't provide
 | ||
|       much protection unless the switches keep track of all previous
 | ||
|       Join Requests from a given WTP.
 | ||
| 
 | ||
|    2. Replay detection is handled during the Join Reply and Join ACK
 | ||
|       messages.
 | ||
| 
 | ||
|    3. A signed Join Request provides a potential Denial-of-Service
 | ||
|       attack on the AC, which would have to authenticate each
 | ||
|       (potentially malicious) message.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                      [Page 122]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|    The WTP-Certificate that is included in the Join Request MUST be
 | ||
|    validated by the AC.  It is also good practice that the AC perform
 | ||
|    some form of authorization, ensuring that the WTP in question is
 | ||
|    allowed to establish an LWAPP session with it.
 | ||
| 
 | ||
| 15.2.  PSK-Based Session Key Establishment
 | ||
| 
 | ||
|    Use of a fixed shared secret of limited entropy (for example, a PSK
 | ||
|    that is relatively short, or was chosen by a human and thus may
 | ||
|    contain less entropy than its length would imply) may allow an
 | ||
|    attacker to perform a brute-force or dictionary attack to recover the
 | ||
|    secret.
 | ||
| 
 | ||
|    It is RECOMMENDED that implementations that allow the administrator
 | ||
|    to manually configure the PSK also provide a functionality for
 | ||
|    generating a new random PSK, taking RFC 1750 [4] into account.
 | ||
| 
 | ||
|    Since the key generation does not expose the nonces in plaintext,
 | ||
|    there are no practical passive attacks possible.
 | ||
| 
 | ||
| 16.  Acknowledgements
 | ||
| 
 | ||
|    The authors wish to thank Michael Vakulenko for contributing text
 | ||
|    that describes how LWAPP can be used over a Layer 3 (IP) network.
 | ||
| 
 | ||
|    The authors would also like to thanks Russ Housley and Charles Clancy
 | ||
|    for their assistance in providing a security review of the LWAPP
 | ||
|    specification.  Charles' review can be found in [12].
 | ||
| 
 | ||
| 17.  References
 | ||
| 
 | ||
| 17.1.  Normative References
 | ||
| 
 | ||
|    [1]   Bradner, S., "Key words for use in RFCs to Indicate Requirement
 | ||
|          Levels", BCP 14, RFC 2119, March 1997.
 | ||
| 
 | ||
|    [2]   National Institute of Standards and Technology, "Advanced
 | ||
|          Encryption Standard (AES)", FIPS PUB 197, November 2001,
 | ||
|          <http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf>.
 | ||
| 
 | ||
|    [3]   Whiting, D., Housley, R., and N. Ferguson, "Counter with CBC-
 | ||
|          MAC (CCM)", RFC 3610, September 2003.
 | ||
| 
 | ||
|    [4]   Eastlake, D., 3rd, Schiller, J., and S. Crocker, "Randomness
 | ||
|          Requirements for Security", BCP 106, RFC 4086, June 2005.
 | ||
| 
 | ||
|    [5]   Manner, J., Ed., and M. Kojo, Ed., "Mobility Related
 | ||
|          Terminology", RFC 3753, June 2004.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                      [Page 123]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
|    [6]   "Information technology - Telecommunications and information
 | ||
|          exchange between systems - Local and metropolitan area networks
 | ||
|          - Specific requirements - Part 11: Wireless LAN Medium Access
 | ||
|          Control (MAC) and Physical Layer (PHY) specifications", IEEE
 | ||
|          Standard 802.11, 2007,
 | ||
|          <http://standards.ieee.org/getieee802/download/802.11-2007.pdf>
 | ||
| 
 | ||
|    [7]   "Information technology - Telecommunications and information
 | ||
|          exchange between systems - Local and metropolitan area networks
 | ||
|          - Specific requirements - Part 11: Wireless LAN Medium Access
 | ||
|          Control (MAC) and Physical Layer (PHY) specifications Amendment
 | ||
|          6: Medium Access Control (MAC) Security Enhancements", IEEE
 | ||
|          Standard 802.11i, July 2004,
 | ||
|          http://standards.ieee.org/getieee802/download/802.11i-2004.pdf
 | ||
| 
 | ||
|    [8]   Clark, D., "IP datagram reassembly algorithms", RFC 815, July
 | ||
|          1982.
 | ||
| 
 | ||
|    [9]   Schaad, J. and R. Housley, "Advanced Encryption Standard (AES)
 | ||
|          Key Wrap Algorithm", RFC 3394, September 2002.
 | ||
| 
 | ||
|    [10]  Cooper, D., Santesson, S., Farrell, S., Boeyen, S., Housley,
 | ||
|          R., and W. Polk, "Internet X.509 Public Key Infrastructure
 | ||
|          Certificate and Certificate Revocation List (CRL) Profile", RFC
 | ||
|          5280, May 2008.
 | ||
| 
 | ||
|    [11]  "Netscape-Defined Certificate Extensions",
 | ||
|          <http://www.redhat.com/docs/manuals/cert-
 | ||
|          system/admin/7.1/app_ext.html#35336>.
 | ||
| 
 | ||
|    [12]  Clancy, C., "Security Review of the Light-Weight Access Point
 | ||
|          Protocol", May 2005,
 | ||
|          <http://www.cs.umd.edu/~clancy/docs/lwapp-review.pdf>.
 | ||
| 
 | ||
| 17.2.  Informative References
 | ||
| 
 | ||
|    [13]  Reynolds, J., Ed., "Assigned Numbers: RFC 1700 is Replaced by
 | ||
|          an On-line Database", RFC 3232, January 2002.
 | ||
| 
 | ||
|    [14]   Kent, S. and K. Seo, "Security Architecture for the Internet
 | ||
|          Protocol", RFC 4301, December 2005.
 | ||
| 
 | ||
|    [15]  Krawczyk, H., Bellare, M., and R. Canetti, "HMAC: Keyed-Hashing
 | ||
|          for Message Authentication", RFC 2104, February 1997.
 | ||
| 
 | ||
|    [16]  "WiFi Protected Access (WPA) rev 1.6", April 2003.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                      [Page 124]
 | ||
| 
 | ||
| RFC 5412            Lightweight Access Point Protocol      February 2010
 | ||
| 
 | ||
| 
 | ||
| Authors' Addresses
 | ||
| 
 | ||
|    Pat R. Calhoun
 | ||
|    Cisco Systems, Inc.
 | ||
|    170 West Tasman Drive
 | ||
|    San Jose, CA  95134
 | ||
|    Phone: +1 408-853-5269
 | ||
|    EMail: pcalhoun@cisco.com
 | ||
| 
 | ||
|    Rohit Suri
 | ||
|    Cisco Systems, Inc.
 | ||
|    170 West Tasman Drive
 | ||
|    San Jose, CA  95134
 | ||
|    Phone: +1 408-853-5548
 | ||
|    EMail: rsuri@cisco.com
 | ||
| 
 | ||
|    Nancy Cam-Winget
 | ||
|    Cisco Systems, Inc.
 | ||
|    170 West Tasman Drive
 | ||
|    San Jose, CA  95134
 | ||
|    Phone: +1 408-853-0532
 | ||
|    EMail: ncamwing@cisco.com
 | ||
| 
 | ||
|    Scott Kelly
 | ||
|    EMail: scott@hyperthought.com
 | ||
| 
 | ||
| 
 | ||
|    Michael Glenn Williams
 | ||
|    GWhiz Arts & Sciences
 | ||
|    1560 Newbury Road, Suite 1-204
 | ||
|    Newbury Park, CA 91320
 | ||
|    Phone: +1 805-499-1994
 | ||
|    EMail: gwhiz@gwhiz.com
 | ||
| 
 | ||
| 
 | ||
|    Sue Hares
 | ||
|    Phone: +1 734-604-0332
 | ||
|    EMail: shares@ndzh.com
 | ||
| 
 | ||
|    Bob O'Hara
 | ||
|    EMail: bob.ohara@computer.org
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Calhoun, et al.                 Historic                      [Page 125]
 | ||
| 
 |