Cisco Support Community
Showing results for 
Search instead for 
Did you mean: 

CAPWAP encryption using DTLS


Document : CAPWAP encryption Using DTLS









Central Data Systems Private Limited
#50, 27th Main, I Cross,

BTM Layout I Stage,
Bangalore – 560068
Ph: 91-80-40454545






Access Point Communication Protocols

In controller software release 5.2 or later releases, Cisco lightweight access points use the IETF standard Control and Provisioning of Wireless Access Points Protocol (CAPWAP) to communicate with the controller and other lightweight access points on the network. Controller software releases prior to 5.2 use the Lightweight Access Point Protocol (LWAPP) for these communications.

CAPWAP, which is based on LWAPP, is a standard, interoperable protocol that enables a controller to manage a collection of wireless access points. CAPWAP is being implemented in controller software release 5.2 and later releases for these reasons:

•To provide an upgrade path from Cisco products that use LWAPP to next-generation Cisco products that use CAPWAP

•To manage RFID readers and similar devices

•To enable controllers to interoperate with third-party access points in the future

LWAPP-enabled access points can discover and join a CAPWAP controller, and conversion to a CAPWAP controller is seamless. For example, the controller discovery process and the firmware downloading process when using CAPWAP are the same as when using LWAPP. The one exception is for Layer 2 deployments, which are not supported by CAPWAP.

You can deploy CAPWAP controllers and LWAPP controllers on the same network. The CAPWAP-enabled software allows access points to join either a controller running CAPWAP or LWAPP. The only exceptions are that the Cisco Aironet 1140, 1260, and 3500 Series Access Points, which supports only CAPWAP and joins only controllers that run CAPWAP. For example, an 1130 series access point can join a controller running either CAPWAP or LWAPP where an1140 series access point can join only a controller that runs CAPWAP.

Guidelines for Using CAPWAP

Follow these guidelines when using CAPWAP:

•If your firewall is currently configured to allow traffic only from access points using LWAPP, you must change the rules of the firewall to allow traffic from access points using CAPWAP.

•Make sure that the CAPWAP UDP ports 5246 and 5247 (similar to the LWAPP UDP ports 12222 and 12223) are enabled and are not blocked by an intermediate device that could prevent an access point from joining the controller.

•If access control lists (ACLs) are in the control path between the controller and its access points, you need to open new protocol ports to prevent access points from being stranded.

Configuring Data Encryption

Cisco 5500 Series Controllers enable you to encrypt CAPWAP control packets (and optionally, CAPWAP data packets) that are sent between the access point and the controller using Datagram Transport Layer Security (DTLS). DTLS is a standards-track Internet Engineering Task Force (IETF) protocol based on TLS. CAPWAP control packets are management packets exchanged between a controller and an access point while CAPWAP data packets encapsulate forwarded wireless frames. CAPWAP control and data packets are sent over separate UDP ports: 5246 (control) and 5247 (data). If an access point does not support DTLS data encryption, DTLS is enabled only for the control plane, and a DTLS session for the data plane is not established.


Note Only Cisco 5500 Series Controllers support data encryption. This feature is not available on other controller platforms. If an access point with data encryption enabled tries to join any other controller, the access point joins the controller, but data packets are sent unencrypted.


Note Cisco 1130 and 1240 series access points support DTLS data encryption with software-based encryption, and 1140, 1250, 1260, and 3500 series access points support DTLS data encryption with hardware-based encryption.

DTLS data encryption is enabled automatically for OfficeExtend access points but disabled by default for all other access points. Most access points are deployed in a secure network within a company building, so data encryption is not necessary. In contrast, the traffic between an OfficeExtend access point and the controller travels through an unsecure public network, so data encryption is more important for these access points. When data encryption is enabled, traffic is encrypted at the access point before it is sent to the controller and at the controller before it is sent to the client.


Note Encryption limits throughput at both the controller and the access point, and maximum throughput is desired for most enterprise networks.


Caution In a Cisco unified local wireless network environment, do not enable DTLS on the Cisco 1130 and 1240 access points, as it may result in severe throughput degradation and may render the APs unusable.


Note See the"OfficeExtend Access Points" section for more information on OfficeExtend access points.

You can use the controller GUI or CLI to enable or disable DTLS data encryption for a specific access point or for all access points.

Using the GUI to Configure Data Encryption

To enable DTLS data encryption for access points on the controller using the controller GUI, follow these steps:

Step 1 Make sure that the base license is installed on the Cisco 5500 Series Controller. Once the license is installed, you can enable data encryption for the access points.


Note See Chapter 4 "Configuring Controller Settings," for information on obtaining and installing licenses.

Step 2 Choose Wireless > Access Points > All APs to open the All APs page.

Step 3 Click the name of the access point for which you want to enable data encryption.

Step 4 Choose the Advanced tab to open the All APs > Details for (Advanced) page (see Figure 8-1).

Figure 8-1 All APs > Details for (Advanced) Page

Step 5 Select the Data Encryption check box to enable data encryption for this access point or unselect it to disable this feature. The default value is unselected.


Note Changing the data encryption mode requires the access points to rejoin the controller.

Step 6 Click Apply to commit your changes.

Step 7 Click Save Configuration to save your changes.

Using the CLI to Configure Data Encryption

To enable DTLS data encryption for access points on the controller using the controller CLI, follow these steps:

Step 1 Enable or disable data encryption for all access points or a specific access point by entering this command:

config ap link-encryption {enable | disable} {all | Cisco_AP}

The default value is disabled.


Note Changing the data encryption mode requires the access points to rejoin the controller.

Step 2 When prompted to confirm that you want to disconnect the access point(s) and attached client(s), enter Y.

Step 3 Save your changes by entering this command:

save config

Step 4 See the encryption state of all access points or a specific access point by entering this command:

show ap link-encryption {all | Cisco_AP}

Information similar to the following appears:

                        Encryption               Dnstream  Upstream       Last

AP Name                        State                    Count     Count                       Update

--------------  ---------- --------  --------  --------

AP1130                        En                       112      1303                    23:49

AP1140                        En                       232          2146                     23:49

                   auth err: 198 replay err:   0

AP1250                         En                0           0                Never

AP1240                         En                6191        15011             22:13


This command also shows authentication errors, which tracks the number of integrity check failures, and replay errors, which tracks the number of times that the access point receives the same packet.

Step 5 See a summary of all active DTLS connections by entering this command:

show dtls connections

Information similar to the following appears:

AP Name         Local Port        Peer IP        Peer Port                Ciphersuite         

------------- ------------- ----------------  ------------- ----------------------------

AP1130                        Capwap_Ctrl      62369     TLS_RSA_WITH_AES_128_CBC_SHA

AP1250            Capwap_Ctrl      19917     TLS_RSA_WITH_AES_128_CBC_SHA

AP1140            Capwap_Ctrl       1904     TLS_RSA_WITH_AES_128_CBC_SHA

AP1140             Capwap_Data       1904     TLS_RSA_WITH_AES_128_CBC_SHA

AP1130             Capwap_Data      62369     TLS_RSA_WITH_AES_128_CBC_SHA

AP1250                        Capwap_Data                      19917                        TLS_RSA_WITH_AES_128_CBC_SHA


Note If you experience any problems with DTLS data encryption, enter the debug dtls {all | event | trace | packet} {enable | disable} command to debug all DTLS messages, events, traces, or packets.

Viewing CAPWAP MTU Information

View the maximum transmission unit (MTU) for the CAPWAP path on the controller by entering this command:

show ap config general Cisco_AP

The MTU specifies the maximum size of any packet (in bytes) in a transmission.

Information similar to the following appears:

Cisco AP Identifier.............................. 9

Cisco AP Name.................................... Maria-1250

Country code..................................... US  - United States

Regulatory Domain allowed by Country............. 802.11bg:-A     802.11a:-A

AP Country code.................................. US  - United States

AP Regulatory Domain............................. 802.11bg:-A    802.11a:-A

Switch Port Number .............................. 1

MAC Address...................................... 00:1f:ca:bd:bc:7c

IP Address Configuration......................... DHCP

IP Address.......................................

IP NetMask.......................................

CAPWAP Path MTU............................... 1485


Debugging CAPWAP

Use these CLI commands to obtain CAPWAP debug information:

debug capwap events {enable | disable}—Enables or disables debugging of CAPWAP events.

debug capwap errors {enable | disable}—Enables or disables debugging of CAPWAP errors.

debug capwap detail {enable | disable}—Enables or disables debugging of CAPWAP details.

debug capwap info {enable | disable}—Enables or disables debugging of CAPWAP information.

debug capwap packet {enable | disable}—Enables or disables debugging of CAPWAP packets.

debug capwap payload {enable | disable}—Enables or disables debugging of CAPWAP payloads.

debug capwap hexdump {enable | disable}—Enables or disables debugging of the CAPWAP hexadecimal dump.

debug capwap dtls-keepalive {enable | disable}—Enables or disables debugging of CAPWAP DTLS data keepalive packets.

Controller Discovery Process

In a CAPWAP environment, a lightweight access point discovers a controller by using CAPWAP discovery mechanisms and then sends the controller a CAPWAP join request. The controller sends the access point a CAPWAP join response allowing the access point to join the controller. When the access point joins the controller, the controller manages its configuration, firmware, control transactions, and data transactions.

Upgrade and downgrade paths from LWAPP to CAPWAP or from CAPWAP to LWAPP are supported. An access point with an LWAPP image starts the discovery process in LWAPP. If it finds an LWAPP controller, it starts the LWAPP discovery process to join the controller. If it does not find a LWAPP controller, it starts the discovery in CAPWAP. If the number of times that the discovery process starts with one discovery type (CAPWAP or LWAPP) exceeds the maximum discovery count and the access point does not receive a discovery response, the discovery type changes to the other type. For example, if the access point does not discover the controller in LWAPP, it starts the discovery process in CAPWAP.


Note If an access point is in the UP state and its IP address changes, the access point tears down the existing CAPWAP tunnel and rejoins the controller. In previous software releases, the access point notifies the controller, and the session continues with the changed IP address without tearing down the session.


Note During the discovery process, the 1140 and 3500 series access points will only query for Cisco CAPWAP Controllers. It will not query for LWAPP controllers. If you want these access points to query for both LWAPP and CAPWAP controllers then you need to update the DNS.


Note You must install software release or later releases on the controller before connecting 1100 and 1300 series access points to the controller. The 1120 and 1310 access points were not supported prior to software release


Note Make sure that the controller is set to the current time. If the controller is set to a time that has already occurred, the access point might not join the controller because its certificate may not be valid for that time.

Access points must be discovered by a controller before they can become an active part of the network. The lightweight access points support the following controller discovery process:

•Layer 3 CAPWAP or LWAPP discovery—This feature can be enabled on different subnets from the access point and uses IP addresses and UDP packets rather the MAC addresses used by Layer 2 discovery.

•Locally stored controller IP address discovery—If the access point was previously associated to a controller, the IP addresses of the primary, secondary, and tertiary controllers are stored in the access point's nonvolatile memory. This process of storing controller IP addresses on an access point for later deployment is called priming the access point.

•DHCP server discovery—This feature uses DHCP option 43 to provide controller IP addresses to the access points. Cisco switches support a DHCP server option that is typically used for this capability. For more information about DHCP option 43, see the "Using DHCP Option 43 and DHCP Option 60" section.

•DNS discovery—The access point can discover controllers through your domain name server (DNS). For the access point to do so, you must configure your DNS to return controller IP addresses in response to CISCO-LWAPP-CONTROLLER.localdomain or CISCO-CAPWAP-CONTROLLER.localdomain, where localdomain is the access point domain name. When an access point receives an IP address and DNS information from a DHCP server, it contacts the DNS to resolve CISCO-LWAPP-CONTROLLER.localdomain or CISCO-CAPWAP-CONTROLLER.localdomain. When the DNS sends a list of controller IP addresses, the access point sends discovery requests to the controllers.


Version history
Revision #:
1 of 1
Last update:
‎04-04-2014 02:56 AM
Updated by:
Labels (1)