6e98c134c0
FossilOrigin-Name: 633e638bdd1984f92bf35f3998e0036512b47b16528483575412ad654b45cab5
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]
|
||
|