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