Internet DRAFT - draft-ohara-capwap-lwapp
draft-ohara-capwap-lwapp
Control and Provisioning of P. Calhoun
Wireless Access Points Working B. O'Hara
Group R. Suri
Internet-Draft N. Cam Winget
Intended status: Informational Cisco Systems, Inc.
Expires: September 3, 2007 S. Kelly
Facetime Communications
M. Williams
Nokia, Inc.
S. Hares
Nexthop Technologies, Inc.
March 2, 2007
Light Weight Access Point Protocol
draft-ohara-capwap-lwapp-04.txt
Status of this Memo
By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
This Internet-Draft will expire on September 3, 2007.
Copyright Notice
Copyright (C) The IETF Trust (2007).
Calhoun, et al. Expires September 3, 2007 [Page 1]
Internet-Draft Light Weight Access Point Protocol March 2007
Abstract
In the recent years, there has been a shift in wireless LAN product
architectures from autonomous access points to centralized control of
light weight access points. The general goal has been to move most
of the traditional wireless functionality such as access control
(user authentication and authorization), mobility and radio
management out of the access point into a centralized controller.
The IETF's CAPWAP WG has identified that a standards based protocol
is necessary between a wireless Access Controller and Wireless
Termination Points (the latter are also commonly referred to as Light
Weight Access Points). This specification defines the Light Weight
Access Point Protocol (LWAPP), which addresses the CAPWAP's protocol
requirements. Although the LWAPP protocol is designed to be flexible
enough to be used for a variety of wireless technologies, this
specific document describes the base protocol, and an extension that
allows it to be used with the IEEE's 802.11 wireless LAN protocol.
Calhoun, et al. Expires September 3, 2007 [Page 2]
Internet-Draft Light Weight Access Point Protocol March 2007
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 8
1.1. Conventions used in this document . . . . . . . . . . . 9
2. Protocol Overview . . . . . . . . . . . . . . . . . . . . . . 10
2.1. Wireless Binding Definition . . . . . . . . . . . . . . 11
2.2. LWAPP State Machine Definition . . . . . . . . . . . . . 12
3. LWAPP Transport Layers . . . . . . . . . . . . . . . . . . . 21
3.1. LWAPP Transport Header . . . . . . . . . . . . . . . . . 21
3.1.1. VER Field . . . . . . . . . . . . . . . . . . . . . 21
3.1.2. RID Field . . . . . . . . . . . . . . . . . . . . . 21
3.1.3. C Bit . . . . . . . . . . . . . . . . . . . . . . . 21
3.1.4. F Bit . . . . . . . . . . . . . . . . . . . . . . . 21
3.1.5. L Bit . . . . . . . . . . . . . . . . . . . . . . . 22
3.1.6. Fragment ID . . . . . . . . . . . . . . . . . . . . 22
3.1.7. Length . . . . . . . . . . . . . . . . . . . . . . . 22
3.1.8. Status and WLANS . . . . . . . . . . . . . . . . . . 22
3.1.9. Payload . . . . . . . . . . . . . . . . . . . . . . 22
3.2. Using IEEE 802.3 MAC as LWAPP transport . . . . . . . . 22
3.2.1. Framing . . . . . . . . . . . . . . . . . . . . . . 23
3.2.2. AC Discovery . . . . . . . . . . . . . . . . . . . . 23
3.2.3. LWAPP Message Header format over IEEE 802.3 MAC
transport . . . . . . . . . . . . . . . . . . . . . 23
3.2.4. Fragmentation/Reassembly . . . . . . . . . . . . . . 23
3.2.5. Multiplexing . . . . . . . . . . . . . . . . . . . . 24
3.3. Using IP/UDP as LWAPP transport . . . . . . . . . . . . 24
3.3.1. Framing . . . . . . . . . . . . . . . . . . . . . . 24
3.3.2. AC Discovery . . . . . . . . . . . . . . . . . . . . 24
3.3.3. LWAPP Message Header format over IP/UDP transport . 25
3.3.4. Fragmentation/Reassembly for IPv4 . . . . . . . . . 26
3.3.5. Fragmentation/Reassembly for IPv6 . . . . . . . . . 26
3.3.6. Multiplexing . . . . . . . . . . . . . . . . . . . . 26
4. LWAPP Packet Definitions . . . . . . . . . . . . . . . . . . 27
4.1. LWAPP Data Messages . . . . . . . . . . . . . . . . . . 27
4.2. LWAPP Control Messages Overview . . . . . . . . . . . . 27
4.2.1. Control Message Format . . . . . . . . . . . . . . . 28
4.2.2. Message Element Format . . . . . . . . . . . . . . . 30
4.2.3. Quality of Service . . . . . . . . . . . . . . . . . 31
5. LWAPP Discovery Operations . . . . . . . . . . . . . . . . . 32
5.1. Discovery Request . . . . . . . . . . . . . . . . . . . 32
5.1.1. Discovery Type . . . . . . . . . . . . . . . . . . . 33
5.1.2. WTP Descriptor . . . . . . . . . . . . . . . . . . . 33
5.1.3. WTP Radio Information . . . . . . . . . . . . . . . 34
5.2. Discovery Response . . . . . . . . . . . . . . . . . . . 35
5.2.1. AC Address . . . . . . . . . . . . . . . . . . . . . 35
5.2.2. AC Descriptor . . . . . . . . . . . . . . . . . . . 36
5.2.3. AC Name . . . . . . . . . . . . . . . . . . . . . . 37
5.2.4. WTP Manager Control IPv4 Address . . . . . . . . . . 37
Calhoun, et al. Expires September 3, 2007 [Page 3]
Internet-Draft Light Weight Access Point Protocol March 2007
5.2.5. WTP Manager Control IPv6 Address . . . . . . . . . . 38
5.3. Primary Discovery Request . . . . . . . . . . . . . . . 38
5.3.1. Discovery Type . . . . . . . . . . . . . . . . . . . 39
5.3.2. WTP Descriptor . . . . . . . . . . . . . . . . . . . 39
5.3.3. WTP Radio Information . . . . . . . . . . . . . . . 39
5.4. Primary Discovery Response . . . . . . . . . . . . . . . 39
5.4.1. AC Descriptor . . . . . . . . . . . . . . . . . . . 39
5.4.2. AC Name . . . . . . . . . . . . . . . . . . . . . . 39
5.4.3. WTP Manager Control IPv4 Address . . . . . . . . . . 40
5.4.4. WTP Manager Control IPv6 Address . . . . . . . . . . 40
6. Control Channel Management . . . . . . . . . . . . . . . . . 41
6.1. Join Request . . . . . . . . . . . . . . . . . . . . . . 41
6.1.1. WTP Descriptor . . . . . . . . . . . . . . . . . . . 42
6.1.2. AC Address . . . . . . . . . . . . . . . . . . . . . 42
6.1.3. WTP Name . . . . . . . . . . . . . . . . . . . . . . 42
6.1.4. Location Data . . . . . . . . . . . . . . . . . . . 42
6.1.5. WTP Radio Information . . . . . . . . . . . . . . . 43
6.1.6. Certificate . . . . . . . . . . . . . . . . . . . . 43
6.1.7. Session ID . . . . . . . . . . . . . . . . . . . . . 43
6.1.8. Test . . . . . . . . . . . . . . . . . . . . . . . . 44
6.1.9. XNonce . . . . . . . . . . . . . . . . . . . . . . . 44
6.2. Join Response . . . . . . . . . . . . . . . . . . . . . 44
6.2.1. Result Code . . . . . . . . . . . . . . . . . . . . 45
6.2.2. Status . . . . . . . . . . . . . . . . . . . . . . . 45
6.2.3. Certificate . . . . . . . . . . . . . . . . . . . . 46
6.2.4. WTP Manager Data IPv4 Address . . . . . . . . . . . 46
6.2.5. WTP Manager Data IPv6 Address . . . . . . . . . . . 47
6.2.6. AC IPv4 List . . . . . . . . . . . . . . . . . . . . 47
6.2.7. AC IPv6 List . . . . . . . . . . . . . . . . . . . . 48
6.2.8. ANonce . . . . . . . . . . . . . . . . . . . . . . . 48
6.2.9. PSK-MIC . . . . . . . . . . . . . . . . . . . . . . 49
6.3. Join ACK . . . . . . . . . . . . . . . . . . . . . . . . 50
6.3.1. Session ID . . . . . . . . . . . . . . . . . . . . . 50
6.3.2. WNonce . . . . . . . . . . . . . . . . . . . . . . . 50
6.3.3. PSK-MIC . . . . . . . . . . . . . . . . . . . . . . 51
6.4. Join Confirm . . . . . . . . . . . . . . . . . . . . . . 51
6.4.1. Session ID . . . . . . . . . . . . . . . . . . . . . 51
6.4.2. PSK-MIC . . . . . . . . . . . . . . . . . . . . . . 51
6.5. Echo Request . . . . . . . . . . . . . . . . . . . . . . 51
6.6. Echo Response . . . . . . . . . . . . . . . . . . . . . 52
6.7. Key Update Request . . . . . . . . . . . . . . . . . . . 52
6.7.1. Session ID . . . . . . . . . . . . . . . . . . . . . 52
6.7.2. XNonce . . . . . . . . . . . . . . . . . . . . . . . 52
6.8. Key Update Response . . . . . . . . . . . . . . . . . . 52
6.8.1. Session ID . . . . . . . . . . . . . . . . . . . . . 53
6.8.2. ANonce . . . . . . . . . . . . . . . . . . . . . . . 53
6.8.3. PSK-MIC . . . . . . . . . . . . . . . . . . . . . . 53
6.9. Key Update ACK . . . . . . . . . . . . . . . . . . . . . 53
Calhoun, et al. Expires September 3, 2007 [Page 4]
Internet-Draft Light Weight Access Point Protocol March 2007
6.9.1. WNonce . . . . . . . . . . . . . . . . . . . . . . . 53
6.9.2. PSK-MIC . . . . . . . . . . . . . . . . . . . . . . 53
6.10. Key Update Confirm . . . . . . . . . . . . . . . . . . . 53
6.10.1. PSK-MIC . . . . . . . . . . . . . . . . . . . . . . 54
6.11. Key Update Trigger . . . . . . . . . . . . . . . . . . . 54
6.11.1. Session ID . . . . . . . . . . . . . . . . . . . . . 54
7. WTP Configuration Management . . . . . . . . . . . . . . . . 55
7.1. Configuration Consistency . . . . . . . . . . . . . . . 55
7.2. Configure Request . . . . . . . . . . . . . . . . . . . 56
7.2.1. Administrative State . . . . . . . . . . . . . . . . 56
7.2.2. AC Name . . . . . . . . . . . . . . . . . . . . . . 57
7.2.3. AC Name with Index . . . . . . . . . . . . . . . . . 57
7.2.4. WTP Board Data . . . . . . . . . . . . . . . . . . . 57
7.2.5. Statistics Timer . . . . . . . . . . . . . . . . . . 58
7.2.6. WTP Static IP Address Information . . . . . . . . . 59
7.2.7. WTP Reboot Statistics . . . . . . . . . . . . . . . 59
7.3. Configure Response . . . . . . . . . . . . . . . . . . . 60
7.3.1. Decryption Error Report Period . . . . . . . . . . . 61
7.3.2. Change State Event . . . . . . . . . . . . . . . . . 61
7.3.3. LWAPP Timers . . . . . . . . . . . . . . . . . . . . 62
7.3.4. AC IPv4 List . . . . . . . . . . . . . . . . . . . . 62
7.3.5. AC IPv6 List . . . . . . . . . . . . . . . . . . . . 62
7.3.6. WTP Fallback . . . . . . . . . . . . . . . . . . . . 63
7.3.7. Idle Timeout . . . . . . . . . . . . . . . . . . . . 63
7.4. Configuration Update Request . . . . . . . . . . . . . . 63
7.4.1. WTP Name . . . . . . . . . . . . . . . . . . . . . . 64
7.4.2. Change State Event . . . . . . . . . . . . . . . . . 64
7.4.3. Administrative State . . . . . . . . . . . . . . . . 64
7.4.4. Statistics Timer . . . . . . . . . . . . . . . . . . 64
7.4.5. Location Data . . . . . . . . . . . . . . . . . . . 64
7.4.6. Decryption Error Report Period . . . . . . . . . . . 64
7.4.7. AC IPv4 List . . . . . . . . . . . . . . . . . . . . 64
7.4.8. AC IPv6 List . . . . . . . . . . . . . . . . . . . . 64
7.4.9. Add Blacklist Entry . . . . . . . . . . . . . . . . 64
7.4.10. Delete Blacklist Entry . . . . . . . . . . . . . . . 65
7.4.11. Add Static Blacklist Entry . . . . . . . . . . . . . 66
7.4.12. Delete Static Blacklist Entry . . . . . . . . . . . 66
7.4.13. LWAPP Timers . . . . . . . . . . . . . . . . . . . . 67
7.4.14. AC Name with Index . . . . . . . . . . . . . . . . . 67
7.4.15. WTP Fallback . . . . . . . . . . . . . . . . . . . . 67
7.4.16. Idle Timeout . . . . . . . . . . . . . . . . . . . . 67
7.5. Configuration Update Response . . . . . . . . . . . . . 67
7.5.1. Result Code . . . . . . . . . . . . . . . . . . . . 67
7.6. Change State Event Request . . . . . . . . . . . . . . . 67
7.6.1. Change State Event . . . . . . . . . . . . . . . . . 68
7.7. Change State Event Response . . . . . . . . . . . . . . 68
7.8. Clear Config Indication . . . . . . . . . . . . . . . . 68
8. Device Management Operations . . . . . . . . . . . . . . . . 69
Calhoun, et al. Expires September 3, 2007 [Page 5]
Internet-Draft Light Weight Access Point Protocol March 2007
8.1. Image Data Request . . . . . . . . . . . . . . . . . . . 69
8.1.1. Image Download . . . . . . . . . . . . . . . . . . . 69
8.1.2. Image Data . . . . . . . . . . . . . . . . . . . . . 69
8.2. Image Data Response . . . . . . . . . . . . . . . . . . 70
8.3. Reset Request . . . . . . . . . . . . . . . . . . . . . 70
8.4. Reset Response . . . . . . . . . . . . . . . . . . . . . 70
8.5. WTP Event Request . . . . . . . . . . . . . . . . . . . 71
8.5.1. Decryption Error Report . . . . . . . . . . . . . . 71
8.5.2. Duplicate IPv4 Address . . . . . . . . . . . . . . . 71
8.5.3. Duplicate IPv6 Address . . . . . . . . . . . . . . . 72
8.6. WTP Event Response . . . . . . . . . . . . . . . . . . . 73
8.7. Data Transfer Request . . . . . . . . . . . . . . . . . 73
8.7.1. Data Transfer Mode . . . . . . . . . . . . . . . . . 73
8.7.2. Data Transfer Data . . . . . . . . . . . . . . . . . 74
8.8. Data Transfer Response . . . . . . . . . . . . . . . . . 74
9. Mobile Session Management . . . . . . . . . . . . . . . . . . 75
9.1. Mobile Config Request . . . . . . . . . . . . . . . . . 75
9.1.1. Delete Mobile . . . . . . . . . . . . . . . . . . . 75
9.2. Mobile Config Response . . . . . . . . . . . . . . . . . 76
9.2.1. Result Code . . . . . . . . . . . . . . . . . . . . 76
10. LWAPP Security . . . . . . . . . . . . . . . . . . . . . . . 77
10.1. Securing WTP-AC communications . . . . . . . . . . . . . 77
10.2. LWAPP Frame Encryption . . . . . . . . . . . . . . . . . 78
10.3. Authenticated Key Exchange . . . . . . . . . . . . . . . 78
10.3.1. Terminology . . . . . . . . . . . . . . . . . . . . 79
10.3.2. Initial Key Generation . . . . . . . . . . . . . . . 80
10.3.3. Refreshing Cryptographic Keys . . . . . . . . . . . 84
10.4. Certificate Usage . . . . . . . . . . . . . . . . . . . 85
11. IEEE 802.11 Binding . . . . . . . . . . . . . . . . . . . . . 86
11.1. Division of labor . . . . . . . . . . . . . . . . . . . 86
11.1.1. Split MAC . . . . . . . . . . . . . . . . . . . . . 86
11.1.2. Local MAC . . . . . . . . . . . . . . . . . . . . . 88
11.2. Roaming Behavior and 802.11 security . . . . . . . . . . 91
11.3. Transport specific bindings . . . . . . . . . . . . . . 92
11.3.1. Status and WLANS field . . . . . . . . . . . . . . . 92
11.4. BSSID to WLAN ID Mapping . . . . . . . . . . . . . . . . 93
11.5. Quality of Service . . . . . . . . . . . . . . . . . . . 93
11.6. Data Message bindings . . . . . . . . . . . . . . . . . 93
11.7. Control Message bindings . . . . . . . . . . . . . . . . 93
11.7.1. Mobile Config Request . . . . . . . . . . . . . . . 94
11.7.2. WTP Event Request . . . . . . . . . . . . . . . . . 100
11.8. 802.11 Control Messages . . . . . . . . . . . . . . . . 102
11.8.1. IEEE 802.11 WLAN Config Request . . . . . . . . . . 102
11.8.2. IEEE 802.11 WLAN Config Response . . . . . . . . . . 107
11.8.3. IEEE 802.11 WTP Event . . . . . . . . . . . . . . . 107
11.9. Message Element Bindings . . . . . . . . . . . . . . . . 109
11.9.1. IEEE 802.11 WTP WLAN Radio Configuration . . . . . . 109
11.9.2. IEEE 802.11 Rate Set . . . . . . . . . . . . . . . . 111
Calhoun, et al. Expires September 3, 2007 [Page 6]
Internet-Draft Light Weight Access Point Protocol March 2007
11.9.3. IEEE 802.11 Multi-domain Capability . . . . . . . . 111
11.9.4. IEEE 802.11 MAC Operation . . . . . . . . . . . . . 112
11.9.5. IEEE 802.11 Tx Power . . . . . . . . . . . . . . . . 114
11.9.6. IEEE 802.11 Tx Power Level . . . . . . . . . . . . . 114
11.9.7. IEEE 802.11 Direct Sequence Control . . . . . . . . 115
11.9.8. IEEE 802.11 OFDM Control . . . . . . . . . . . . . . 116
11.9.9. IEEE 802.11 Antenna . . . . . . . . . . . . . . . . 117
11.9.10. IEEE 802.11 Supported Rates . . . . . . . . . . . . 118
11.9.11. IEEE 802.11 CFP Status . . . . . . . . . . . . . . . 118
11.9.12. IEEE 802.11 WTP Mode and Type . . . . . . . . . . . 119
11.9.13. IEEE 802.11 Broadcast Probe Mode . . . . . . . . . . 119
11.9.14. IEEE 802.11 WTP Quality of Service . . . . . . . . . 120
11.9.15. IEEE 802.11 MIC Error Report From Mobile . . . . . . 121
11.10. IEEE 802.11 Message Element Values . . . . . . . . . . . 122
12. LWAPP Protocol Timers . . . . . . . . . . . . . . . . . . . . 123
12.1. MaxDiscoveryInterval . . . . . . . . . . . . . . . . . . 123
12.2. SilentInterval . . . . . . . . . . . . . . . . . . . . . 123
12.3. NeighborDeadInterval . . . . . . . . . . . . . . . . . . 123
12.4. EchoInterval . . . . . . . . . . . . . . . . . . . . . . 123
12.5. DiscoveryInterval . . . . . . . . . . . . . . . . . . . 123
12.6. RetransmitInterval . . . . . . . . . . . . . . . . . . . 123
12.7. ResponseTimeout . . . . . . . . . . . . . . . . . . . . 124
12.8. KeyLifetime . . . . . . . . . . . . . . . . . . . . . . 124
13. LWAPP Protocol Variables . . . . . . . . . . . . . . . . . . 125
13.1. MaxDiscoveries . . . . . . . . . . . . . . . . . . . . . 125
13.2. DiscoveryCount . . . . . . . . . . . . . . . . . . . . . 125
13.3. RetransmitCount . . . . . . . . . . . . . . . . . . . . 125
13.4. MaxRetransmit . . . . . . . . . . . . . . . . . . . . . 125
14. NAT Considerations . . . . . . . . . . . . . . . . . . . . . 126
15. Security Considerations . . . . . . . . . . . . . . . . . . . 128
15.1. Certificate based Session Key establishment . . . . . . 129
15.2. PSK based Session Key establishment . . . . . . . . . . 129
16. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 130
17. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 131
18. IPR Statement . . . . . . . . . . . . . . . . . . . . . . . . 132
19. References . . . . . . . . . . . . . . . . . . . . . . . . . 133
19.1. Normative References . . . . . . . . . . . . . . . . . . 133
19.2. Informational References . . . . . . . . . . . . . . . . 134
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 135
Intellectual Property and Copyright Statements . . . . . . . . . 137
Calhoun, et al. Expires September 3, 2007 [Page 7]
Internet-Draft Light Weight Access Point Protocol March 2007
1. Introduction
Unlike wired network elements, Wireless Termination Points (WTPs)
require a set of dynamic management and control functions related to
their primary task of connecting the wireless and wired mediums.
Today, protocols for managing WTPs are either manual static
configuration via HTTP, proprietary Layer 2 specific or non-existent
(if the WTPs are self-contained). The emergence of simple 802.11
WTPs that are managed by a WLAN appliance or switch (also known as an
Access Controller, or AC) suggests that having a standardized,
interoperable protocol could radically simplify the deployment and
management of wireless networks. In many cases the overall control
and management functions themselves are generic and could apply to an
AP for any wireless Layer 2 protocol. Being independent of specific
wireless Layer 2 technologies, such a protocol could better support
interoperability between Layer 2 devices and enable smoother
intertechnology handovers.
The details of how these functions would be implemented are dependent
on the particular Layer 2 wireless technology. Such a protocol would
need provisions for binding to specific technologies.
LWAPP assumes a network configuration that consists of multiple WTPs
communicating either via layer 2 (MAC) or layer 3 (IP) to an AC. The
WTPs can be considered as remote RF interfaces, being controlled by
the AC. The AC forwards all L2 frames it wants to transmit to an WTP
via the LWAPP protocol. Packets from mobile nodes are forwarded by
the WTP to the AC, also via this protocol. Figure 1 illustrates this
arrangement as applied to an IEEE 802.11 binding.
+-+ 802.11frames +-+
| |--------------------------------| |
| | +-+ | |
| |--------------| |---------------| |
| | 802.11 PHY/ | | LWAPP | |
| | MAC sublayer | | | |
+-+ +-+ +-+
STA WTP AC
Figure 1: LWAPP Architecture
Security is another aspect of Wireless Termination Point management
that is not well served by existing solutions. Provisioning WTPs
with security credentials, and managing which WTPs are authorized to
provide service are today handled by proprietary solutions. Allowing
these functions to be performed from a centralized AC in an
interoperable fashion increases managability and allows network
operators to more tightly control their wireless network
Calhoun, et al. Expires September 3, 2007 [Page 8]
Internet-Draft Light Weight Access Point Protocol March 2007
infrastructure.
This document describes the Light Weight Access Point Protocol
(LWAPP), allowing an AC to manage a collection of WTPs. The protocol
is defined to be independent of Layer 2 technology, but an 802.11
binding is provided for use in growing 802.11 wireless LAN networks.
Goals
The following are goals for this protocol:
1. Centralization of the bridging, forwarding, authentication and
policy enforcement functions for a wireless network. Optionally,
the AC may also provide centralized encryption of user traffic.
This will permit reduced cost and higher efficiency when applying
the capabilities of network processing silicon to the wireless
network, as it has already been applied to wired LANs.
2. Permit shifting of the higher level protocol processing burden
away from the WTP. This leaves the computing resource of the WTP
to the timing critical applications of wireless control and
access. This makes the most efficient use of the computing power
available in WTPs that are the subject of severe cost pressure.
3. Providing a generic encapsulation and transport mechanism, the
protocol may be applied to other access point type in the future
by adding the binding.
The LWAPP protocol concerns itself solely with the interface between
the WTP and the AC. Inter-AC, or mobile to AC communication is
strictly outside the scope of this document.
1.1. Conventions used in this document
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [1].
Calhoun, et al. Expires September 3, 2007 [Page 9]
Internet-Draft Light Weight Access Point Protocol March 2007
2. Protocol Overview
LWAPP is a generic protocol defining how Wireless Termination Points
communicate with Access Controllers. Wireless Termination Points and
Access Controllers may communicate either by means of Layer 2
protocols or by means of a routed IP network.
LWAPP messages and procedures defined in this document apply to both
types of transports unless specified otherwise. Transport
independence is achieved by defining formats for both MAC level and
IP level transport (see Section 3). Also defined are framing,
fragmentation/reassembly, and multiplexing services to LWAPP for each
transport type.
The LWAPP Transport layer carries two types of payload. LWAPP Data
Messages are forwarded wireless frames. LWAPP Control Messages are
management messages exchanged between an WTP and an AC. The LWAPP
transport header defines the "C-bit", which is used to distinguish
data and control traffic. When used over IP, the LWAPP data and
control traffic are also sent over separate UDP ports. Since both
data and control frames can exceed PMTU, the payload of an LWAPP data
or control message can be fragmented. The fragmentation behavior is
highly dependent upon the lower layer transport and is defined in
Section 3.
The Light Weight Access Protocol (LWAPP) begins with a discovery
phase. The WTPs send a Discovery Request frame, causing any Access
Controller (AC) , receiving that frame to respond with a Discovery
Response. From the Discovery Responses received, an WTP will select
an AC with which to associate, using the Join Request and Join
Response. The Join Request also provides an MTU discovery mechanism,
to determine whether there is support for the transport of large
frames between the WTP and it's AC. If support for large frames is
not present, the LWAPP frames will be fragmented to the maximum
length discovered to be supported by the network.
Once the WTP and the AC have joined, a configuration exchange is
accomplished that will cause both devices to agree on version
information. During this exchange the WTP may receive provisioning
settings. For the 802.11 binding, this information would typically
include a name (802.11 Service Set Identifier, SSID), and security
parameters, the data rates to be advertised as well as the radio
channel (channels, if the WTP is capable of operating more than one
802.11 MAC and PHY simultaneously) to be used. Finally, the WTPs are
enabled for operation.
When the WTP and AC have completed the version and provision exchange
and the WTP is enabled, the LWAPP encapsulates the wireless frames
Calhoun, et al. Expires September 3, 2007 [Page 10]
Internet-Draft Light Weight Access Point Protocol March 2007
sent between them. LWAPP will fragment its packets, if the size of
the encapsulated wireless user data (Data) or protocol control
(Management) frames causes the resultant LWAPP packet to exceed the
MTU supported between the WTP and AC. Fragmented LWAPP packets are
reassembled to reconstitute the original encapsulated payload.
In addition to the functions thus far described, LWAPP also provides
for the delivery of commands from the AC to the WTP for the
management of devices that are communicating with the WTP. This may
include the creation of local data structures in the WTP for the
managed devices and the collection of statistical information about
the communication between the WTP and the 802.11 devices. LWAPP
provides the ability for the AC to obtain any statistical information
collected by the WTP.
LWAPP also provides for a keep alive feature that preserves the
communication channel between the WTP and AC. If the AC fails to
appear alive, the WTP will try to discover a new AC to communicate
through.
This Document uses terminology defined in [5]
2.1. Wireless Binding Definition
This draft standard specifies a protocol independent of a specific
wireless access point radio technology. Elements of the protocol are
designed to accommodate specific needs of each wireless technology in
a standard way. Implementation of this standard for a particular
wireless technology must follow the binding requirements defined for
that technology. This specification includes a binding for the IEEE
802.11 (see Section 11).
When defining a binding for other technologies, the authors MUST
include any necessary definitions for technology-specific messages
and all technology-specific message elements for those messages. At
a minimum, a binding MUST provide the definition for a binding-
specific Statistics message element, which is carried in the WTP
Event Request message, and Add Mobile message element, which is
carried in the Mobile Configure Request. If any technology specific
message elements are required for any of the existing LWAPP messages
defined in this specification, they MUST also be defined in the
technology binding document.
The naming of binding-specific message elements MUST begin with the
name of the technology type, e.g., the binding for IEEE 802.11,
provided in this standard, begins with "IEEE 802.11"."
Calhoun, et al. Expires September 3, 2007 [Page 11]
Internet-Draft Light Weight Access Point Protocol March 2007
2.2. LWAPP State Machine Definition
The following state diagram represents the lifecycle of an WTP-AC
session:
/-------------\
| v
| +------------+
| C| Idle |<-----------------------------------\
| +------------+<-----------------------\ |
| ^ |a ^ | |
| | | \----\ | |
| | | | +------------+ |
| | | | -------| Key Confirm| |
| | | | w/ +------------+ |
| | | | | ^ |
| | | |t V |5 |
| | | +-----------+ +------------+ |
| / | C| Run | | Key Update | |
| / | r+-----------+------>+------------+ |
| / | ^ |s u x| |
| | v | | | |
| | +--------------+ | | v |y
| | C| Discovery | q| \--------------->+-------+
| | b+--------------+ +-------------+ | Reset |
| | |d f| ^ | Configure |------->+-------+
| | | | | +-------------+p ^
| |e v | | ^ |
| +---------+ v |i 2| |
| C| Sulking | +------------+ +--------------+ |
| +---------+ C| Join |--->| Join-Confirm | |
| g+------------+z +--------------+ |
| |h m| 3| |4 |
| | | | v |o
|\ | | | +------------+
\\-----------------/ \--------+---->| Image Data |C
\------------------------------------/ +------------+n
Figure 2: LWAPP State Machine
The LWAPP state machine, depicted above, is used by both the AC and
the WTP. For every state defined, only certain messages are
permitted to be sent and received. In all of the LWAPP control
messages defined in this document, the state for which each command
is valid is specified.
Note that in the state diagram figure above, the 'C' character is
Calhoun, et al. Expires September 3, 2007 [Page 12]
Internet-Draft Light Weight Access Point Protocol March 2007
used to represent a condition that causes the state to remain the
same.
The following text discusses the various state transitions, and the
events that cause them.
Idle to Discovery (a): This is the initialization state.
WTP: The WTP enters the Discovery state prior to transmitting the
first Discovery Request (see Section 5.1). Upon entering this
state, the WTP sets the DiscoveryInterval timer (see
Section 12). The WTP resets the DiscoveryCount counter to zero
(0) (see Section 13). The WTP also clears all information from
ACs (e.g., AC Addresses) it may have received during a previous
Discovery phase.
AC: The AC does not need to maintain state information for the
WTP upon reception of the Discovery Request, but it MUST
respond with a Discovery Response (see Section 5.2).
Discovery to Discovery (b): This is the state the WTP uses to
determine which AC it wishes to connect to.
WTP: This event occurs when the DiscoveryInterval timer expires.
The WTP transmits a Discovery Request to every AC which the WTP
hasn't received a response to. For every transition to this
event, the WTP increments DisoveryCount counter. See
Section 5.1) for more information on how the WTP knows which
ACs it should transmit the Discovery Requests to. The WTP
restarts the DiscoveryInterval timer.
AC: This is a noop.
Discovery to Sulking (d): This state occurs on a WTP when Discovery
or connectivity to the AC fails.
WTP: The WTP enters this state when the DiscoveryInterval timer
expires and the DiscoveryCount variable is equal to the
MaxDiscoveries variable (see Section 13). Upon entering this
state, the WTP will start the SilentInterval timer. While in
the Sulking state, all LWAPP messages received are ignored.
AC: This is a noop.
Calhoun, et al. Expires September 3, 2007 [Page 13]
Internet-Draft Light Weight Access Point Protocol March 2007
Sulking to Idle (e): This state occurs on a WTP when it must restart
the discovery phase.
WTP: The WTP enters this state when the SilentInterval timer (see
Section 12) expires.
AC: This is a noop.
Discovery to Join (f): This state is used by the WTP to confirm its
commitment to an AC that it wishes to be provided service.
WTP: The WTP selects the best AC based on the information it
gathered during the Discovery Phase. It then transmits a Join
Request (see Section 6.1 to its preferred AC. The WTP starts
the WaitJoin Timer (see Section 12).
AC: The AC enters this state for the given WTP upon reception of
a Join Request. The AC processes the request and responds with
a Join Response.
Join to Join (g): This state transition occurs during the join
phase.
WTP: The WTP enters this state when the WaitJoin timer expires,
and the underlying transport requires LWAPP MTU detection
Section 3).
AC: This state occurs when the AC receives a retransmission of a
Join Request. The WTP processes the request and responds with
the Join Response..
Join to Idle (h): This state is used when the join process failed.
WTP: This state transition occurs if the WTP is configured to use
PSK security and receives a Join Response that includes an
invalid PSK-MIC message element.
AC: The AC enters this state when it transmits an unsuccessful
Join Response.
Join to Discovery (i): This state is used when the join process
failed.
WTP: The WTP enters this state when it receives an unsuccessful
Join Response. Upon entering this state, the WTP sets the
DiscoveryInterval timer (see Section 12). The WTP resets the
DiscoveryCount counter to zero (0) (see Section 13). This
state transition may also occur if the PSK-MIC (see
Calhoun, et al. Expires September 3, 2007 [Page 14]
Internet-Draft Light Weight Access Point Protocol March 2007
Section 6.2.9) message element is invalid.
AC: This state transition is invalid.
Join to Join-Confirm (z): This state is used to provide key
confirmation during the join process.
WTP: This state is entered when the WTP receives a Join Response.
In the event that certificate based security is utilized, this
transition will occur if the Certificate message element is
present and valid in the Join Response. For pre-shared key
security, the Join Response must include a valud and
authenticated PSK-MIC message element. The WTP MUST respond
with a Join ACK, which is used to provide key confirmation.
AC: The AC enters this state when it receives a valid Join ACK.
For certificate based security, the Join ACK MUST include a
valid and authenticated xxxx message element. For pre-shared
key security, the message must include a valid PSK-MIC message
element. The AC MUST respond with a Join Confirm message,
which includes the Session Key message element.
Join-Confirm to Idle (3): This state is used when the join process
failed.
WTP: This state transition occurs when the WTP receives an
invalid Join Confirm.
AC: The AC enters this state when it receives an invalid Join
ACK.
Join-Confirm to Configure (2): This state is used by the WTP and the
AC to exchange configuration information.
WTP: The WTP enters this state when it receives a successful Join
Confirm, and determines that its version number and the version
number advertised by the AC are the same. The WTP transmits
the Configure Request (see Section 7.2) message to the AC with
a snapshot of its current configuration. The WTP also starts
the ResponseTimeout timer (see Section 12).
AC: This state transition occurs when the AC receives the
Configure Request from the WTP. The AC must transmit a
Configure Response (see Section 7.3) to the WTP, and may
include specific message elements to override the WTP's
configuration.
Calhoun, et al. Expires September 3, 2007 [Page 15]
Internet-Draft Light Weight Access Point Protocol March 2007
Join-Confirm to Image Data (4): This state is used by the WTP and
the AC to download executable firmware.
WTP: The WTP enters this state when it receives a successful Join
Confirm, and determines that its version number and the version
number advertised by the AC are different. The WTP transmits
the Image Data Request (see Section 8.1) message requesting
that the AC's latest firmware be initiated.
AC: This state transition occurs when the AC receives the Image
Data Request from the WTP. The AC must transmit a Image Data
Response (see Section 8.2) to the WTP, which includes a portion
of the firmware.
Image Data to Image Data (n): This state is used by WTP and the AC
during the firmware download phase.
WTP: The WTP enters this state when it receives a Image Data
Response that indicates that the AC has more data to send.
AC: This state transition occurs when the AC receives the Image
Data Request from the WTP while already in this state, and it
detects that the firmware download has not completed.
Image Data to Reset (o): This state is used when the firmware
download is completed.
WTP: The WTP enters this state when it receives a Image Data
Response that indicates that the AC has no more data to send,
or if the underlying LWAPP transport indicates a link failure.
At this point, the WTP reboots itself.
AC: This state transition occurs when the AC receives the Image
Data Request from the WTP while already in this state, and it
detects that the firmware download has completed, or if the
underlying LWAPP transport indicates a link failure. Note that
the AC itself does not reset, but it places the specific WTPs
context it is communicating with in the reset state, meaning
that it clears all state associated with the WTP.
Configure to Reset (p): This state transition occurs if the
Configure phase fails.
WTP: The WTP enters this state when the reliable transport fails
to deliver the Configure Request, or if the ResponseTimeout
Timer (see Section 12)expires.
Calhoun, et al. Expires September 3, 2007 [Page 16]
Internet-Draft Light Weight Access Point Protocol March 2007
AC: This state transition occurs if the AC is unable to transmit
the Configure Response to a specific WTP. Note that the AC
itself does not reset, but it places the specific WTPs context
it is communicating with in the reset state, meaning that it
clears all state associated with the WTP.
Configure to Run (q): This state transition occurs when the WTP and
AC enters their normal state of operation.
WTP: The WTP enters this state when it receives a successful
Configure Response from the AC. The WTP initializes the
HeartBeat Timer (see Section 12), and transmits the Change
State Event Request message (see Section 7.6).
AC: This state transition occurs when the AC receives the Change
State Event Request (see Section 7.6) from the WTP. The AC
responds with a Change State Event Response (see Section 7.7)
message. The AC must start the Session ID and Neighbor Dead
timers (see Section 12).
Run to Run (r): This is the normal state of operation.
WTP: This is the WTP's normal state of operation, and there are
many events that cause this to occur:
Configuration Update: The WTP receives a Configuration Update
Request (see Section 7.4). The WTP MUST respond with a
Configuration Update Response (see Section 7.5).
Change State Event: The WTP receives a Change State Event
Response, or determines that it must initiate a Change State
Event Request, as a result of a failure or change in the
state of a radio.
Echo Request: The WTP receives an Echo Request message
Section 6.5), which it MUST respond with an Echo Response
(see Section 6.6).
Clear Config Indication: The WTP receives a Clear Config
Indication message Section 7.8). The WTP MUST reset its
configuration back to manufacturer defaults.
WTP Event: The WTP generates a WTP Event Request to send
information to the AC Section 8.5). The WTP receives a WTP
Event Response from the AC Section 8.6).
Calhoun, et al. Expires September 3, 2007 [Page 17]
Internet-Draft Light Weight Access Point Protocol March 2007
Data Transfer: The WTP generates a Data Transfer Request to
the AC Section 8.7). The WTP receives a Data Transfer
Response from the AC Section 8.8).
WLAN Config Request: The WTP receives an WLAN Config Request
message Section 11.8.1), which it MUST respond with an WLAN
Config Response (see Section 11.8.2).
Mobile Config Request: The WTP receives an Mobile Config
Request message Section 9.1), which it MUST respond with an
Mobile Config Response (see Section 9.2).
AC: This is the AC's normal state of operation, and there are
many events that cause this to occur:
Configuration Update: The AC sends a Configuration Update
Request (see Section 7.4) to the WTP to update its
configuration. The AC receives a Configuration Update
Response (see Section 7.5) from the WTP.
Change State Event: The AC receives a Change State Event
Request (see Section 7.6), which it MUST respond to with the
Change State Event Response (see Section 7.7).
Echo: The AC sends an Echo Request message Section 6.5) or
receives the associated Echo Response (see Section 6.6) from
the WTP.
Clear Config Indication: The AC sends a Clear Config
Indication message Section 7.8).
WLAN Config: The AC sends an WLAN Config Request message
Section 11.8.1) or receives the associated WLAN Config
Response (see Section 11.8.2) from the WTP.
Mobile Config: The AC sends an Mobile Config Request message
Section 9.1) or receives the associated Mobile Config
Response (see Section 9.2) from the WTP.
Data Transfer: The AC receives a Data Transfer Request from
the AC (see Section 8.7) and MUST generate the associated
Data Transfer Response message (see Section 8.8).
WTP Event: The AC receives a WTP Event Request from the AC
(see Section 8.5) and MUST generate the associated WTP Event
Response message (see Section 8.6).
Calhoun, et al. Expires September 3, 2007 [Page 18]
Internet-Draft Light Weight Access Point Protocol March 2007
Run to Reset (s): This event occurs when the AC wishes for the WTP
to reboot.
WTP: The WTP enters this state when it receives a Reset Request
(see Section 8.3). It must respond with a Reset Response (see
Section 8.4), and once the reliable transport acknowledgement
has been received, it must reboot itself.
AC: This state transition occurs either through some
administrative action, or via some internal event on the AC
that causes it to request that the WTP disconnect. Note that
the AC itself does not reset, but it places the specific WTPs
context it is communicating with in the reset state.
Run to Idle (t): This event occurs when an error occurs in the
communication between the WTP and the AC.
WTP: The WTP enters this state when the underlying reliable
transport in unable to transmit a message within the
RetransmitInterval timer (see Section 12), and the maximum
number of RetransmitCount counter has reached the MaxRetransmit
variable (see Section 13).
AC: The AC enters this state when the underlying reliable
transport in unable to transmit a message within the
RetransmitInterval timer (see Section 12), and the maximum
number of RetransmitCount counter has reached the MaxRetransmit
variable (see Section 13).
Run to Key Update (u): This event occurs when the WTP and the AC are
to exchange new keying material, with which it must use to protect
all future messages.
WTP: This state transition occurs when the KeyLifetime timer
expires (see Section 12).
AC: The WTP enters this state when it receives a Key Update
Request (see Section 6.7).
Key Update to Key Confirm (w): This event occurs during the rekey
phase and is used to complete the loop.
WTP: This state transition occurs when the WTP receives the Key
Update Response. The WTP MUST only accept the message if it is
authentic. The WTP responds to this response with a Key Update
ACK.
Calhoun, et al. Expires September 3, 2007 [Page 19]
Internet-Draft Light Weight Access Point Protocol March 2007
AC: The AC enters this state when it receives an authenticated
Key Update ACK message.
Key Confirm to Run (5): This event occurs when the rekey exchange
phase is completed.
WTP: This state transition occurs when the WTP receives the Key
Update Confirm. The newly derived encryption key and IV must
be plumbed into the crypto module after validating the
message's authentication.
AC: The AC enters this state when it transmits the Key Update
Confirm message. The newly derived encryption key and IV must
be plumbed into the crypto module after transmitting a Key
Update Confirm message.
Key Update to Reset (x): This event occurs when the key exchange
phase times out.
WTP: This state transition occurs when the WTP does not receive a
Key Update Response from the AC.
AC: The AC enters this state when it is unable to process a Key
Update Request.
Reset to Idle (y): This event occurs when the state machine is
restarted.
WTP: The WTP reboots itself. After reboot the WTP will start its
LWAPP state machine in the Idle state.
AC: The AC clears out any state associated with the WTP. The AC
generally does this as a result of the reliable link layer
timing out.
Calhoun, et al. Expires September 3, 2007 [Page 20]
Internet-Draft Light Weight Access Point Protocol March 2007
3. LWAPP Transport Layers
The LWAPP protocol can operate at layer 2 or 3. For layer 2 support,
the LWAPP messages are carried in a native Ethernet frame. As such,
the protocol is not routable and depends upon layer 2 connectivity
between the WTP and the AC. Layer 3 support is provided by
encapsulating the LWAPP messages within UDP.
3.1. LWAPP Transport Header
All LWAPP protocol packets are encapsulated using a common header
format, regardless of the transport used to carry the frames.
However, certain flags are not applicable for a given transport, and
it is therefore necessary to refer to the specific transport section
in order to determine which flags are valid.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|VER| RID |C|F|L| Frag ID | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Status/WLANs | Payload... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
3.1.1. VER Field
A 2 bit field which contains the version of LWAPP used in this
packet. The value for this draft is 0.
3.1.2. RID Field
A 3 bit field which contains the Radio ID number for this packet.
WTPs with multiple radios but a single MAC Address use this field to
indicate which radio is associated with the packet.
3.1.3. C Bit
The Control Message 'C' bit indicates whether this packet carries a
data or control message. When this bit is zero (0), the packet
carries an LWAPP data message in the payload (see Section 4.1). When
this bit is one (1), the packet carries an LWAPP control message as
defined in section Section 4.2 for consumption by the addressed
destination.
3.1.4. F Bit
The Fragment 'F' bit indicates whether this packet is a fragment.
When this bit is one (1), the packet is a fragment and MUST be
Calhoun, et al. Expires September 3, 2007 [Page 21]
Internet-Draft Light Weight Access Point Protocol March 2007
combined with the other corresponding fragments to reassemble the
complete information exchanged between the WTP and AC.
3.1.5. L Bit
The Not Last 'L' bit is valid only if the 'F' bit is set and
indicates whether the packet contains the last fragment of a
fragmented exchange between WTP and AC. When this bit is 1, the
packet is not the last fragment. When this bit is 0, the packet is
the last fragment.
3.1.6. Fragment ID
An 8 bit field whose value is assigned to each group of fragments
making up a complete set. The fragment ID space is managed
individually for every WTP/AC pair. The value of Fragment ID is
incremented with each new set of fragments. The Fragment ID wraps to
zero after the maximum value has been used to identify a set of
fragments. LWAPP only supports up to 2 fragments per frame.
3.1.7. Length
The 16 bit length field contains the number of bytes in the Payload.
The field is encoded as an unsigned number. If the LWAPP packet is
encrypted, the length field includes the AES-CCM MIC (see
Section 10.2 for more information).
3.1.8. Status and WLANS
The interpretation of this 16 bit field is binding specific. Refer
to the transport portion of the binding for a wireless technology for
the specification.
3.1.9. Payload
This field contains the header for an LWAPP Data Message or LWAPP
Control Message, followed by the data associated with that message.
3.2. Using IEEE 802.3 MAC as LWAPP transport
This section describes how the LWAPP protocol is provided over native
ethernet frames. An LWAPP packet is formed from the MAC frame header
followed by the LWAPP message header. The following figure provides
an example of the frame formats used when LWAPP is used over the IEEE
802.3 transport.
Calhoun, et al. Expires September 3, 2007 [Page 22]
Internet-Draft Light Weight Access Point Protocol March 2007
Layer 2 LWAPP Data Frame
+-----------------------------------------------------------+
| MAC Header | LWAPP Header [C=0] | Forwarded Data ... |
+-----------------------------------------------------------+
Layer 2 LWAPP Control Frame
+---------------------------------------------------+
| MAC Header | LWAPP Header [C=1] | Control Message |
+---------------------------------------------------+
| Message Elements ... |
+----------------------+
3.2.1. Framing
Source Address
A MAC address belonging to the interface from which this message is
sent. If multiple source addresses are configured on an interface,
then the one chosen is implementation dependent.
Destination Address
A MAC address belonging to the interface to which this message is to
be sent. This destination address MAY be either an individual
address or a multicast address, if more than one destination
interface is intended.
Ethertype
The Ethertype field is set to 0x88bb.
3.2.2. AC Discovery
When run over IEEE 802.3, LWAPP messages are distributed to a
specific MAC level broadcast domain. The AC discovery mechanism used
with this transport is for an WTP to transmit a Discovery Request
message to a broadcast destination MAC address. The ACs will receive
this message and reply based on their policy.
3.2.3. LWAPP Message Header format over IEEE 802.3 MAC transport
All of the fields described in Section 3.1 are used when LWAPP uses
the IEEE 802.3 MAC transport.
3.2.4. Fragmentation/Reassembly
Fragmentation at the MAC layer is managed using the F,L and Frag ID
fields of the LWAPP message header. The LWAPP protocol only allows a
Calhoun, et al. Expires September 3, 2007 [Page 23]
Internet-Draft Light Weight Access Point Protocol March 2007
single packet to be fragmented into 2, which is sufficient for a
frame that exceeds MTU due to LWAPP encapsulation. When used with
layer 2 (Ethernet) transport, both fragments MUST include the LWAPP
header.
3.2.5. Multiplexing
LWAPP control messages and data messages are distinguished by the C
Bit in the LWAPP message header.
3.3. Using IP/UDP as LWAPP transport
This section defines how LWAPP makes use of IP/UDP transport between
the WTP and the AC. When this transport is used, the MAC layer is
controlled by the IP stack, and there are therefore no special MAC
layer requirements. The following figure provides an example of the
frame formats used when LWAPP is used over the IP/UDP transport. IP
stacks can be either IPv4 or IPv6.
Layer 3 LWAPP Data Frame
+--------------------------------------------+
| MAC Header | IP | UDP | LWAPP Header [C=0] |
+--------------------------------------------+
|Forwarded Data ... |
+-------------------+
Layer 3 LWAPP Control Frame
+--------------------------------------------+
| MAC Header | IP | UDP | LWAPP Header [C=1] |
+--------------------------------------------+
| Control Message | Message Elements ... |
+-----------------+----------------------+
3.3.1. Framing
Communication between WTP and AC is established according to the
standard UDP client/server model. The connection is initiated by the
WTP (client) to the well-known UDP port of the AC (server) used for
control messages. This UDP port number of the AC is 12222 for LWAPP
data and 12223 for LWAPP control frames.
3.3.2. AC Discovery
When LWAPP is run over routed IP networks, the WTP and the AC do not
need to reside in the same IP subnet (broadcast domain). However, in
the event the peers reside on separate subnets, there must exist a
mechanism for the WTP to discover the AC.
Calhoun, et al. Expires September 3, 2007 [Page 24]
Internet-Draft Light Weight Access Point Protocol March 2007
As the WTP attempts to establish communication with the AC, it sends
the Discovery Request message and receives the corresponding response
message from the AC. The WTP must send the Discovery Request message
to either the limited broadcast IP address (255.255.255.255), a well
known multicast address or to the unicast IP address of the AC. Upon
receipt of the message, the AC issues a Discovery Response message to
the unicast IP address of the WTP, regardless of whether Discovery
Request was sent as a broadcast, multicast or unicast message.
Whether the WTP uses a limited IP broadcast, multicast or unicast IP
address is implementation dependent.
In order for a WTP to transmit a Discovery Request to a unicast
address, the WTP must first obtain the IP address of the AC. Any
static configuration of an AC's IP address on the WTP non-volatile
storage is implementation dependent. However, additional dynamic
schemes are possible, for example:
DHCP: A comma delimited ASCII encoded list of AC IP addresses is
embedded inside a DHCP vendor specific option 43 extension. An
example of the actual format of the vendor specific payload for
IPv4 is of the form "10.1.1.1, 10.1.1.2".
DNS: The DNS name "LWAPP-AC-Address" MAY be resolvable to or more AC
addresses
3.3.3. LWAPP Message Header format over IP/UDP transport
All of the fields described in Section 3.1 are used when LWAPP uses
the IPv4/UDP or IPv6/UDP transport, with the following exceptions:
3.3.3.1. F Bit
This flag field is not used with this transport, and MUST be set to
zero.
3.3.3.2. L Bit
This flag field is not used with this transport, and MUST be set to
zero.
3.3.3.3. Frag ID
This field is not used with this transport, and MUST be set to zero.
Calhoun, et al. Expires September 3, 2007 [Page 25]
Internet-Draft Light Weight Access Point Protocol March 2007
3.3.4. Fragmentation/Reassembly for IPv4
When LWAPP is implemented at L3, the transport layer uses IP
fragmentation to fragment and reassemble LWAPP messages that are
longer than MTU size used by either WTP or AC. The details of IP
fragmentation are covered in [8]. When used with the IP transport,
only the first fragment would include the LWAPP header
[ed: IP fragmentation may raise security concerns and bring
additional configuration requirements for certain firewalls and NATs.
One alternative is to re-use the layer 2 (application layer)
fragmentation reassembly. Comments are welcomed.]
3.3.5. Fragmentation/Reassembly for IPv6
IPv6 does MTU discovery so fragmentation and re-assembly is not
necessary for UDP packets.
3.3.6. Multiplexing
LWAPP messages convey control information between WTP and AC, as well
as binding specific data frames or binding specific management
frames. As such, LWAPP messages need to be multiplexed in the
transport sub-layer and be delivered to the proper software entities
in the endpoints of the protocol. However, the 'C' bit is still used
to differentiate between data and control frames.
In case of Layer 3 connection, multiplexing is achieved by use of
different UDP ports for control and data packets (see Section 3.3.1.
As part of Join procedure, the WTP and AC may negotiate different IP
Addresses for data or control messages. The IP Address returned in
the AP Manager Control IP Address message element is used to inform
the WTP with the IP address to which it must sent all control frames.
The AP Manager Data IP Address message element MAY be present only if
the AC has a different IP Address which the WTP is to use to send its
data LWAPP frames.
In the event the WTP and AC are separated by a NAT, with the WTP
using private IP address space, it is the responsibility of the NAT
to manage appropriate UDP port mapping.
Calhoun, et al. Expires September 3, 2007 [Page 26]
Internet-Draft Light Weight Access Point Protocol March 2007
4. LWAPP Packet Definitions
This section contains the packet types and format. The LWAPP
protocol is designed to be transport agnostic by specifying packet
formats for both MAC frames and IP packets. An LWAPP packet consists
of an LWAPP Transport Layer packet header followed by an LWAPP
message.
Transport details can be found in Section 3.
4.1. LWAPP Data Messages
An LWAPP data message is a forwarded wireless frame. When forwarding
wireless frames, the sender simply encapsulates the wireless frame in
an LWAPP data packet, using the appropriate transport rules defined
in section Section 3.
In the event that the encapsulated frame would exceed the transport
layer's MTU, the sender is responsible for the fragmentation of the
frame, as specified in the transport specific section of Section 3.
The actual format of the encapsulated LWAPP data frame is subject to
the rules defined under the specific wireless technology binding.
4.2. LWAPP Control Messages Overview
The LWAPP Control protocol provides a control channel between the WTP
and the AC. The control channel is the series of control messages
between the WTP and AC, associated with a session ID and key.
Control messages are divided into the following distinct message
types:
Discovery: LWAPP Discovery messages are used to identify potential
ACs, their load and capabilities.
Control Channel Management: Messages that fall within this
classification are used for the discovery of ACs by the WTPs as
well as the establishment and maintenance of an LWAPP control
channel.
WTP Configuration: The WTP Configuration messages are used by the AC
to push a specific configuration to the WTPs it has a control
channel with. Messages that deal with the retrieval of statistics
from the WTP also fall in this category.
Calhoun, et al. Expires September 3, 2007 [Page 27]
Internet-Draft Light Weight Access Point Protocol March 2007
Mobile Session Management: Mobile session management messages are
used by the AC to push specific mobile policies to the WTP.
Firmware Management: Messages in this category are used by the AC to
push a new firmware image down to the WTP.
Control Channel, WTP Configuration and Mobile Session Management MUST
be implemented. Firmware Management MAY be implemented.
In addition, technology specific bindings may introduce new control
channel commands that depart from the above list.
4.2.1. Control Message Format
All LWAPP control messages are sent encapsulated within the LWAPP
header (see Section 3.1). Immediately following the header, is the
LWAPP control header, which has the following format:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Message Type | Seq Num | Msg Element Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Session ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Msg Element [0..N] |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
4.2.1.1. Message Type
The Message Type field identifies the function of the LWAPP control
message. The valid values for Message Type are the following:
Calhoun, et al. Expires September 3, 2007 [Page 28]
Internet-Draft Light Weight Access Point Protocol March 2007
Description Value
Discovery Request 1
Discovery Response 2
Join Request 3
Join Response 4
Join ACK 5
Join Confirm 6
Unused 7-9
Configure Request 10
Configure Response 11
Configuration Update Request 12
Configuration Update Response 13
WTP Event Request 14
WTP Event Response 15
Change State Event Request 16
Change State Event Response 17
Unused 18-21
Echo Request 22
Echo Response 23
Image Data Request 24
Image Data Response 25
Reset Request 26
Reset Response 27
Unused 28-29
Key Update Request 30
Key Update Response 31
Primary Discovery Request 32
Primary Discovery Response 33
Data Transfer Request 34
Data Transfer Response 35
Clear Config Indication 36
WLAN Config Request 37
WLAN Config Response 38
Mobile Config Request 39
Mobile Config Response 40
4.2.1.2. Sequence Number
The Sequence Number Field is an identifier value to match request/
response packet exchanges. When an LWAPP packet with a request
message type is received, the value of the sequence number field is
copied into the corresponding response packet.
When an LWAPP control frame is sent, its internal sequence number
counter is monotonically incremented, ensuring that no two requests
pending have the same sequence number. This field will wrap back to
zero.
Calhoun, et al. Expires September 3, 2007 [Page 29]
Internet-Draft Light Weight Access Point Protocol March 2007
4.2.1.3. Message Element Length
The Length field indicates the number of bytes following the Session
ID field. If the LWAPP packet is encrypted, the length field
includes the AES-CCM MIC (see Section 10.2 for more information).
4.2.1.4. Session ID
The Session ID is a 32-bit unsigned integer that is used to identify
the security context for encrypted exchanges between the WTP and the
AC. Note that a Session ID is a random value that MUST be unique
between a given AC and any of the WTP it may be communicating with.
4.2.1.5. Message Element[0..N]
The message element(s) carry the information pertinent to each of the
control message types. Every control message in this specification
specifies which message elements are permitted.
4.2.2. Message Element Format
The message element is used to carry information pertinent to a
control message. Every message element is identified by the Type
field, whose numbering space is managed via IANA (see Section 16).
The total length of the message elements is indicated in the Message
Element Length field.
All of the message element definitions in this document use a diagram
similar to the one below in order to depict its format. Note that in
order to simplify this specification, these diagrams do not include
the header fields (Type and Length). However, in every message
element description, the header's fields values will be defined.
Note that additional message elements may be defined in separate IETF
documents.
The format of a message element uses the TLV format shown here:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Value ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Where Type (8 bit) identifies the character of the information
carried in the Value field and Length (16 bits) indicates the number
of bytes in the Value field.
Calhoun, et al. Expires September 3, 2007 [Page 30]
Internet-Draft Light Weight Access Point Protocol March 2007
4.2.2.1. Generic Message Elements
This section includes message elements that are not bound to a
specific control message.
4.2.2.1.1. Vendor Specific
The Vendor Specific Payload is used to communicate vendor specific
information between the WTP and the AC. The value contains the
following format:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Vendor Identifier |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Element ID | Value... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type: 104 for Vendor Specific
Length: >= 7
Vendor Identifier: A 32-bit value containing the IANA assigned "SMI
Network Management Private Enterprise Codes" [13]
Element ID: A 16-bit Element Identifier which is managed by the
vendor.
Value: The value associated with the vendor specific element.
4.2.3. Quality of Service
It is recommended that LWAPP control messages be sent by both the AC
and the WTP with an appropriate Quality of Service precedence value,
ensuring that congestion in the network minimizes occurences of LWAPP
control channel disconnects. Therefore, a Quality of Service enabled
LWAPP device should use:
802.1P: The precedence value of 7 SHOULD be used.
DSCP: The dscp tag value of 46 SHOULD be used.
Calhoun, et al. Expires September 3, 2007 [Page 31]
Internet-Draft Light Weight Access Point Protocol March 2007
5. LWAPP Discovery Operations
The Discovery messages are used by an WTP to determine which ACs are
available to provide service, as well as the capabilities and load of
the ACs.
5.1. Discovery Request
The Discovery Request is used by the WTP to automatically discover
potential ACs available in the network. An WTP must transmit this
command even if it has a statically configured AC, as it is a
required step in the LWAPP state machine.
Discovery Requests MUST be sent by an WTP in the Discover state after
waiting for a random delay less than MaxDiscoveryInterval, after an
WTP first comes up or is (re)initialized. An WTP MUST send no more
than a maximum of MaxDiscoveries discoveries, waiting for a random
delay less than MaxDiscoveryInterval between each successive
discovery.
This is to prevent an explosion of WTP Discoveries. An example of
this occurring would be when many WTPs are powered on at the same
time.
Discovery requests MUST be sent by an WTP when no echo responses are
received for NeighborDeadInterval and the WTP returns to the Idle
state. Discovery requests are sent after NeighborDeadInterval, they
MUST be sent after waiting for a random delay less than
MaxDiscoveryInterval. An WTP MAY send up to a maximum of
MaxDiscoveries discoveries, waiting for a random delay less than
MaxDiscoveryInterval between each successive discovery.
If a discovery response is not received after sending the maximum
number of discovery requests, the WTP enters the Sulking state and
MUST wait for an interval equal to SilentInterval before sending
further discovery requests.
The Discovery Request message may be sent as a unicast, broadcast or
multicast message.
Upon receiving a discovery request, the AC will respond with a
Discovery Response sent to the address in the source address of the
received discovery request.
The following subsections define the message elements that MUST be
included in this LWAPP operation.
Calhoun, et al. Expires September 3, 2007 [Page 32]
Internet-Draft Light Weight Access Point Protocol March 2007
5.1.1. Discovery Type
The Discovery message element is used to configure an WTP to operate
in a specific mode.
0
0 1 2 3 4 5 6 7
+-+-+-+-+-+-+-+-+
| Discovery Type|
+-+-+-+-+-+-+-+-+
Type: 58 for Discovery Type
Length: 1
Discovery Type: An 8-bit value indicating how the AC was
discovered. The following values are supported:
0 - Broadcast
1 - Configured
5.1.2. WTP Descriptor
The WTP descriptor message element is used by the WTP to communicate
it's current hardware/firmware configuration. The value contains the
following fields.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Hardware Version |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Software Version |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Boot Version |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Max Radios | Radios in use | Encryption Capabilities |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type: 3 for WTP Descriptor
Length: 16
Hardware Version: A 32-bit integer representing the WTP's hardware
version number
Calhoun, et al. Expires September 3, 2007 [Page 33]
Internet-Draft Light Weight Access Point Protocol March 2007
Software Version: A 32-bit integer representing the WTP's Firmware
version number
Boot Version: A 32-bit integer representing the WTP's boot loader's
version number
Max Radios: An 8-bit value representing the number of radios (where
each radio is identified via the RID field) supported by the WTP
Radios in use: An 8-bit value representing the number of radios
present in the WTP
Encryption Capabilities: This 16-bit field is used by the WTP to
communicate it's capabilities to the AC. Since most WTPs support
link layer encryption, the AC may make use of these services.
There are binding dependent encryption capabilites. An WTP that
does not have any encryption capabilities would set this field to
zero (0). Refer to the specific binding for the specification.
5.1.3. WTP Radio Information
The WTP radios information message element is used to communicate the
radio information in a specific slot. The Discovery Request MUST
include one such message element per radio in the WTP. The Radio-
Type field is used by the AC in order to determine which technology
specific binding is to be used with the WTP.
The value contains two fields, as shown.
0 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Radio ID | Radio Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type: 4 for WTP Radio Information
Length: 2
Radio ID: The Radio Identifier, typically refers to some interface
index on the WTP
Radio Type: The type of radio present. The following values are
supported
Calhoun, et al. Expires September 3, 2007 [Page 34]
Internet-Draft Light Weight Access Point Protocol March 2007
1 - 802.11bg: An 802.11bg radio.
2 - 802.11a: An 802.11a radio.
3 - 802.16: An 802.16 radio.
4 - Ultra Wideband: An UWB radio.
7 - all: Used to specify all radios in the WTP.
5.2. Discovery Response
The Discovery Response is a mechanism by which an AC advertises its
services to requesting WTPs.
Discovery Responses are sent by an AC after receiving a Discovery
Request.
When an WTP receives a Discovery Response, it MUST wait for an
interval not less than DiscoveryInterval for receipt of additional
Discovery Responses. After the DiscoveryInterval elapses, the WTP
enters the Joining state and will select one of the ACs that sent a
Discovery Response and send a Join Request to that AC.
The following subsections define the message elements that MUST be
included in this LWAPP operation.
5.2.1. AC Address
The AC address message element is used to communicate the identity of
the AC. The value contains two fields, as shown.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reserved | MAC Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| MAC Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type: 2 for AC Address
Length: 7
Reserved: MUST be set to zero
Calhoun, et al. Expires September 3, 2007 [Page 35]
Internet-Draft Light Weight Access Point Protocol March 2007
Mac Address: The MAC Address of the AC
5.2.2. AC Descriptor
The AC payload message element is used by the AC to communicate it's
current state. The value contains the following fields.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reserved | Hardware Version ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| HW Ver | Software Version ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SW Ver | Stations | Limit |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Limit | Radios | Max Radio |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Max Radio | Security |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type: 6 for AC Descriptor
Length: 17
Reserved: MUST be set to zero
Hardware Version: A 32-bit integer representing the AC's hardware
version number
Software Version: A 32-bit integer representing the AC's Firmware
version number
Stations: A 16-bit integer representing number of mobile stations
currently associated with the AC
Limit: A 16-bit integer representing the maximum number of stations
supported by the AC
Radios: A 16-bit integer representing the number of WTPs currently
attached to the AC
Max Radio: A 16-bit integer representing the maximum number of WTPs
supported by the AC
Calhoun, et al. Expires September 3, 2007 [Page 36]
Internet-Draft Light Weight Access Point Protocol March 2007
Security: A 8 bit bit mask specifying the security schemes
supported by the AC. The following values are supported (see
Section 10):
1 - X.509 Certificate Based
2 - Pre-Shared Secret
5.2.3. AC Name
The AC name message element contains an ASCII representation of the
AC's identity. The value is a variable length byte string. The
string is NOT zero terminated.
0
0 1 2 3 4 5 6 7
+-+-+-+-+-+-+-+-+
| Name ...
+-+-+-+-+-+-+-+-+
Type: 31 for AC Name
Length: > 0
Name: A variable length ASCII string containing the AC's name
5.2.4. WTP Manager Control IPv4 Address
The WTP Manager Control IPv4 Address message element is sent by the
AC to the WTP during the discovery process and is used by the AC to
provide the interfaces available on the AC, and their current load.
This message element is useful for the WTP to perform load balancing
across multiple interfaces.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IP Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| WTP Count |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type: 99 for WTP Manager Control IPv4 Address
Length: 6
Calhoun, et al. Expires September 3, 2007 [Page 37]
Internet-Draft Light Weight Access Point Protocol March 2007
IP Address: The IP Address of an interface.
WTP Count: The number of WTPs currently connected to the interface.
5.2.5. WTP Manager Control IPv6 Address
The WTP Manager Control IPv6 Address message element is sent by the
AC to the WTP during the discovery process and is used by the AC to
provide the interfaces available on the AC, and their current load.
This message element is useful for the WTP to perform load balancing
across multiple interfaces.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IP Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IP Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IP Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IP Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| WTP Count |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type: 137 for WTP Manager Control IPv6 Address
Length: 6
IP Address: The IP Address of an interface.
WTP Count: The number of WTPs currently connected to the interface.
5.3. Primary Discovery Request
The Primary Discovery Request is sent by the WTP in order to
determine whether its preferred (or primary) AC is available.
Primary Discovery Request are sent by an WTP when it has a primary AC
configured, and is connected to another AC. This generally occurs as
a result of a failover, and is used by the WTP as a means to discover
when its primary AC becomes available. As a consequence, this
message is only sent by a WTP when it is in the Run state.
The frequency of the Primary Discovery Requests should be no more
often than the sending of the Echo Request message.
Calhoun, et al. Expires September 3, 2007 [Page 38]
Internet-Draft Light Weight Access Point Protocol March 2007
Upon receiving a discovery request, the AC will respond with a
Primary Discovery Response sent to the address in the source address
of the received Primary Discovery Request.
The following subsections define the message elements that MUST be
included in this LWAPP operation.
5.3.1. Discovery Type
The Discovery Type message element is defined in section
Section 5.1.1.
5.3.2. WTP Descriptor
The WTP Descriptor message element is defined in section
Section 5.1.2.
5.3.3. WTP Radio Information
An WTP Radio Information message element must be present for every
radio in the WTP. This message element is defined in section
Section 5.1.3.
5.4. Primary Discovery Response
The Primary Discovery Response is a mechanism by which an AC
advertises its availability and services to requesting WTPs that are
configured to have the AC as its primary AC.
Primary Discovery Responses are sent by an AC after receiving a
Primary Discovery Request.
When an WTP receives a Primary Discovery Response, it may opt to
establish an LWAPP connection to its primary AC, based on the
configuration of the WTP Fallback Status message element on the WTP.
The following subsections define the message elements that MUST be
included in this LWAPP operation.
5.4.1. AC Descriptor
The Discovery Type message element is defined in section
Section 5.2.2.
5.4.2. AC Name
The AC Name message element is defined in section Section 5.2.3.
Calhoun, et al. Expires September 3, 2007 [Page 39]
Internet-Draft Light Weight Access Point Protocol March 2007
5.4.3. WTP Manager Control IPv4 Address
An WTP Radio Information message element MAY be present for every
radio in the WTP which are reachable via IPv4. This message element
is defined in section Section 5.2.4.
5.4.4. WTP Manager Control IPv6 Address
An WTP Radio Information message element must be present for every
radio in the WTP which are reachable via IPv6. This message element
is defined in section Section 5.2.5.
Calhoun, et al. Expires September 3, 2007 [Page 40]
Internet-Draft Light Weight Access Point Protocol March 2007
6. Control Channel Management
The Control Channel Management messages are used by the WTP and AC to
create and maintain a channel of communication on which various other
commands may be transmitted, such as configuration, firmware update,
etc.
6.1. Join Request
The Join Request is used by an WTP to inform an AC that it wishes to
provide services through it.
Join Requests are sent by an WTP in the Joining state after receiving
one or more Discovery Responses. The Join Request is also used as an
MTU discovery mechanism by the WTP. The WTP issues a Join Request
with a Test message element, bringing the total size of the message
to exceed MTU.
If the transport used does not provide MTU path discovery, the
initial Join Request is padded with the Test message element to 1596
bytes. If a Join Response is received, the WTP can forward frames
without requiring any fragmentation. If no Join Response is
received, it issues a second Join Request padded with the Test
payload to a total of 1500 bytes. The WTP continues to cycle from
large (1596) to small (1500) packets until a Join Response has been
received , or until both packets sizes have been retransmitted 3
times . If the Join Response is not received after the maximum
number of retransmissions, the WTP MUST abandon the AC and restart
the discovery phase.
When an AC receives a Join Request it will respond with a Join
Response. If the certificate based security mechanism is used, the
AC validates the certificate found in the request. If valid, the AC
generates a session key which will be used to secure the control
frames it exchanges with the WTP. When the AC issues the Join
Response, the AC creates a context for the session with the WTP.
If the pre-shared session key security mechanism is used, the AC
saves the WTP's nonce, found in the WNonce message element, creates
its own nonce which it includes in the ANonce message element.
Finally, the AC creates the PSK-MIC, which is computed using a key
that is derived from the PSK.
A Join Request that includes both a WNonce and a Certificate message
element MUST be considered invalid.
Details on the key generation is found in Section 10.
Calhoun, et al. Expires September 3, 2007 [Page 41]
Internet-Draft Light Weight Access Point Protocol March 2007
The following subsections define the message elements that MUST be
included in this LWAPP operation.
6.1.1. WTP Descriptor
The WTP Descriptor message element is defined in section
Section 5.1.2.
6.1.2. AC Address
The AC Address message element is defined in section Section 5.2.1.
6.1.3. WTP Name
The WTP name message element value is a variable length byte string.
The string is NOT zero terminated.
0
0 1 2 3 4 5 6 7
+-+-+-+-+-+-+-+-+
| Name ...
+-+-+-+-+-+-+-+-+
Type: 5 for WTP Name
Length: > 0
Name: A non zero terminated string containing the WTP's name.
6.1.4. Location Data
The location data message element is a variable length byte string
containing user defined location information (e.g. "Next to
Fridge"). The string is NOT zero terminated.
0
0 1 2 3 4 5 6 7
+-+-+-+-+-+-+-+-+
| Location ...
+-+-+-+-+-+-+-+-+
Type: 35 for Location Data
Length: > 0
Calhoun, et al. Expires September 3, 2007 [Page 42]
Internet-Draft Light Weight Access Point Protocol March 2007
Location: A non zero terminated string containing the WTP's
location.
6.1.5. WTP Radio Information
An WTP Radio Information message element must be present for every
radio in the WTP. This message element is defined in section
Section 5.1.3.
6.1.6. Certificate
The certificate message element value is a byte string containing a
DER-encoded x.509v3 certificate. This message element is only
included if the LWAPP security type used between the WTP and the AC
makes use of certificates (see Section 10 for more information).
0
0 1 2 3 4 5 6 7
+-+-+-+-+-+-+-+-+
| Certificate...
+-+-+-+-+-+-+-+-+
Type: 44 for Certificate
Length: > 0
Certificate: A non zero terminated string containing the device's
certificate.
6.1.7. Session ID
The session ID message element value contains a randomly generated
[4] unsigned 32-bit integer.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Session ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type: 45 for Session ID
Length: 4
Session ID: 32 bit random session identifier.
Calhoun, et al. Expires September 3, 2007 [Page 43]
Internet-Draft Light Weight Access Point Protocol March 2007
6.1.8. Test
The test message element is used as padding to perform MTU discovery,
and MAY contain any value, of any length.
0
0 1 2 3 4 5 6 7
+-+-+-+-+-+-+-+-+
| Padding ...
+-+-+-+-+-+-+-+-+
Type: 18 for Test
Length: > 0
Padding: A variable length pad.
6.1.9. XNonce
The XNonce is used by the WTP to communicate its random nonce during
the join or rekey phase. See Section 10 for more information.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Nonce |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Nonce |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Nonce |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Nonce |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type: 111 for XNonce
Length: 16
Nonce: 1 16 octet random nonce.
6.2. Join Response
The Join Response is sent by the AC to indicate to an WTP whether it
is capable and willing to provide service to it.
Join Responses are sent by the AC after receiving a Join Request.
Once the Join Response has been sent, the heartbeat timer is
initiated for the session to EchoInterval. Expiration of the timer
Calhoun, et al. Expires September 3, 2007 [Page 44]
Internet-Draft Light Weight Access Point Protocol March 2007
will result in deletion of the AC-WTP session. The timer is
refreshed upon receipt of the Echo Request.
If the security method used is certificate based, when a WTP receives
a Join Response it enters the Joined state and initiates either a
Configure Request or Image Data to the AC to which it is now joined.
Upon entering the Joined state, the WTP begins timing an interval
equal to NeighborDeadInterval. Expiration of the timer will result
in the transmission of the Echo Request.
If the security method used is pre-shared secret based, when a WTP
receives a Join Response that includes a valid PSK-MIC message
element, it responds with a Join ACK that also MUST include a locally
computed PSK-MIC message element.
The following subsections define the message elements that MUST be
included in this LWAPP operation.
6.2.1. Result Code
The Result Code message element value is a 32-bit integer value,
indicating the result of the request operation corresponding to the
sequence number in the message. The Result Code is included in a
successful Join Response.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Result Code |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type: 2 for Result Code
Length: 4
Result Code: The following values are defined:
0 Success
1 Failure (AC List message element MUST be present)
6.2.2. Status
The Status message element is sent by the AC to the WTP in a non-
successful Join Response message. This message element is used to
indicate the reason for the failure and should only be accompanied
with a Result Code message element that indicates a failure.
Calhoun, et al. Expires September 3, 2007 [Page 45]
Internet-Draft Light Weight Access Point Protocol March 2007
0
0 1 2 3 4 5 6 7
+-+-+-+-+-+-+-+-+
| Status |
+-+-+-+-+-+-+-+-+
Type: 60 for Status
Length: 1
Status: The status field indicates the reason for an LWAPP failure.
The following values are supported:
1 - Reserved - do not use
2 - Resource Depletion
3 - Unknown Source
4 - Incorrect Data
6.2.3. Certificate
The Certificate message element is defined in section Section 6.1.6.
Note this message element is only included if the WTP and the AC make
use of certificate based security as defined in section Section 10.
6.2.4. WTP Manager Data IPv4 Address
The WTP Manager Data IPv4 Address message element is optionally sent
by the AC to the WTP during the join phase. If present, the IP
Address contained in this message element is the address the WTP is
to use when sending any of its LWAPP data frames.
Note this message element is only valid when LWAPP uses the IP/UDP
layer 3 transport
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IP Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type: 138 for WTP Manager Data IPv4 Address
Calhoun, et al. Expires September 3, 2007 [Page 46]
Internet-Draft Light Weight Access Point Protocol March 2007
Length: 4
IP Address: The IP Address of an interface.
6.2.5. WTP Manager Data IPv6 Address
The WTP Manager Data IPv6 Address message element is optionally sent
by the AC to the WTP during the join phase. If present, the IP
Address contained in this message element is the address the WTP is
to use when sending any of its LWAPP data frames.
Note this message element is only valid when LWAPP uses the IP/UDP
layer 3 transport
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IP Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IP Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IP Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IP Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type: 139 for WTP Manager Data IPv6 Address
Length: 4
IP Address: The IP Address of an interface.
6.2.6. AC IPv4 List
The AC List message element is used to configure an WTP with the
latest list of ACs in a cluster. This message element MUST be
included if the Join Response returns a failure indicating that the
AC cannot handle the WTP at this time, allowing the WTP to find an
alternate AC to connect to.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| AC IP Address[] |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Calhoun, et al. Expires September 3, 2007 [Page 47]
Internet-Draft Light Weight Access Point Protocol March 2007
Type: 59 for AC List
Length: >= 4
AC IP Address: An array of 32-bit integers containing an AC's IPv4
Address.
6.2.7. AC IPv6 List
The AC List message element is used to configure an WTP with the
latest list of ACs in a cluster. This message element MUST be
included if the Join Response returns a failure indicating that the
AC cannot handle the WTP at this time, allowing the WTP to find an
alternate AC to connect to.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| AC IP Address[] |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| AC IP Address[] |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| AC IP Address[] |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| AC IP Address[] |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type: 141 for AC List
Length: >= 4
AC IP Address: An array of 32-bit integers containing an AC's IPv6
Address.
6.2.8. ANonce
The ANonce message element is sent by a AC during the join or rekey
phase. The contents of the ANonce are encrypted as described in
section Section 10 for more information.
Calhoun, et al. Expires September 3, 2007 [Page 48]
Internet-Draft Light Weight Access Point Protocol March 2007
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Nonce |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Nonce |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Nonce |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Nonce |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type: 108 for ANonce
Length: 16
Nonce: An encrypted 16 octet random nonce.
6.2.9. PSK-MIC
The PSK-MIC message element includes a message integrity check, whose
purpose is to provide confirmation to the peer that the sender has
the proper session key. This message element is only included if the
security method used between the WTP and the AC is the pre-shared
secret mechanism. See Section 10 for more information.
When present, the PSK-MIC message element MUST be the last message
element in the message. The MIC is computed over the complete LWAPP
packet, from the LWAPP control header as defined in Section 4.2.1 to
the end of the packet (which MUST be this PSK-MIC message element).
The MIC field in this message element and the sequence number field
in the LWAPP control header MUST be set to zeroes prior to computing
the MIC. The length field in the LWAPP control header must already
include this message element prior to computing the MIC.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SPI | MIC ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type: 109 for PSK-MIC
Length: > 1
Calhoun, et al. Expires September 3, 2007 [Page 49]
Internet-Draft Light Weight Access Point Protocol March 2007
SPI: The SPI field specifies the cryptographic algorithm used to
create the message integrity check. The following values are
supported:
0 - Unused
1 - HMAC-SHA-1 (RFC 2104 [16])
MIC: A 20 octet Message Integrity Check.
6.3. Join ACK
The Join ACK message is sent by the WTP upon receiving a Join
Response, which has a valid PSK-MIC message element, as a means of
providing key confirmation to the AC. The Join ACK is only used in
the case where the WTP makes use of the pre-shared key LWAPP mode
(See Section 10 for more information).
Note that the AC should never receive this message unless the
security method used between the WTP and the AC is pre-shared secret
based.
The following subsections define the message elements that MUST be
included in this LWAPP operation.
6.3.1. Session ID
The Session ID message element is defined in section Section 6.1.7.
6.3.2. WNonce
The WNonce message element is sent by a WTP during the join or rekey
phase. The contents of the ANonce are encrypted as described in
section Section 10 for more information.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Nonce |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Nonce |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Nonce |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Nonce |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Calhoun, et al. Expires September 3, 2007 [Page 50]
Internet-Draft Light Weight Access Point Protocol March 2007
Type: 107 for WNonce
Length: 16
Nonce: An encrypted 16 octet random nonce.
6.3.3. PSK-MIC
The PSK-MIC message element is defined in section Section 6.2.9.
6.4. Join Confirm
The Join Confirm message is sent by the AC upon receiving a Join ACK,
which has a valid PSK-MIC message element, as a means of providing
key confirmation to the WTP. The Join Confirm is only used in the
case where the WTP makes use of the pre-shared key LWAPP mode (See
Section 10 for more information).
If the security method used is pre-shared key based, when an WTP
receives a Join Confirm it enters the Joined state and initiates
either a Configure Request or Image Data to the AC to which it is now
joined. Upon entering the Joined state, the WTP begins timing an
interval equal to NeighborDeadInterval. Expiration of the timer will
result in the transmission of the Echo Request.
This message is never received, or sent, when the security type used
between the WTP and the AC is certificated based.
The following subsections define the message elements that MUST be
included in this LWAPP operation.
6.4.1. Session ID
The Session ID message element is defined in section Section 6.1.7.
6.4.2. PSK-MIC
The PSK-MIC message element is defined in section Section 6.2.9.
6.5. Echo Request
The Echo Request message is a keepalive mechanism for the LWAPP
control message.
Echo Requests are sent periodically by an WTP in the Run state (see
Figure 2) to determine the state of the connection between the WTP
and the AC. The Echo Request is sent by the WTP when the Heartbeat
timer expires, and it MUST start its NeighborDeadInterval timer.
Calhoun, et al. Expires September 3, 2007 [Page 51]
Internet-Draft Light Weight Access Point Protocol March 2007
The Echo Request carries no message elements.
When an AC receives an Echo Request it responds with an Echo
Response.
6.6. Echo Response
The Echo Response acknowledges the Echo Request, and are only
accepted while in the Run state (see Figure 2).
Echo Responses are sent by an AC after receiving an Echo Request.
After transmitting the Echo Response, the AC should reset its
Heartbeat timer to expire in the value configured for EchoInterval.
If another Echo request is not received by the AC when the timer
expires, the AC SHOULD consider the WTP to no longer be reachable.
The Echo Response carries no message elements.
When an WTP receives an Echo Response it stops the
NeighborDeadInterval timer, and starts the Heartbeat timer to
EchoInterval.
If the NeighborDeadInterval timer expires prior to receiving an Echo
Response, the WTP enters the Idle state.
6.7. Key Update Request
The Key Update Request is used by the WTP to initiate the rekeying
phase. This message is sent by a WTP when in the Run state and MUST
include a new unique Session Identifier. This message MUST also
include a unique Nonce in the XNonce message element, which is used
to protect against replay attacks (see Section 10).
The following subsections define the message elements that MUST be
included in this LWAPP operation.
6.7.1. Session ID
The Session ID message element is defined in section Section 6.1.7.
6.7.2. XNonce
The XNonce message element is defined in section Section 6.1.9.
6.8. Key Update Response
The Key Update Response is sent by the AC in response to the request
message, and includes an encrypted ANonce, which is used to derive
Calhoun, et al. Expires September 3, 2007 [Page 52]
Internet-Draft Light Weight Access Point Protocol March 2007
new session keys. This message MUST include a Session Identifier
message element, whose value MUST be identical to the one found in
the Key Update Request.
The AC MUST include a PSK-MIC message element, which provides message
integrity over the whole message.
The following subsections define the message elements that MUST be
included in this LWAPP operation.
6.8.1. Session ID
The Session ID message element is defined in section Section 6.1.7.
6.8.2. ANonce
The ANonce message element is defined in section Section 6.2.8.
6.8.3. PSK-MIC
The PSK-MIC message element is defined in section Section 6.2.9.
6.9. Ke