Configuring Mobility Groups
Information About Mobility
Mobility, or roaming, is a wireless LAN client’s ability to maintain its association seamlessly from one access point to another securely and with as little latency as possible. This section explains how mobility works when controllers are included in a wireless network.
When a wireless client associates and authenticates to an access point, the access point’s controller places an entry for that client in its client database. This entry includes the client’s MAC and IP addresses, security context and associations, quality of service (QoS) contexts, the WLAN, and the associated access point. The controller uses this information to forward frames and manage traffic to and from the wireless client.Figure 1. Intracontroller Roaming. This figure shows a wireless client that roams from one access point to another when both access points are joined to the same controller.
When the wireless client moves its association from one access point to another, the controller simply updates the client database with the newly associated access point. If necessary, new security context and associations are established as well.
The process becomes more complicated, however, when a client roams from an access point joined to one controller to an access point joined to a different controller. It also varies based on whether the controllers are operating on the same subnet.Figure 2. Intercontroller Roaming. This figure shows intercontroller roaming, which occurs when the wireless LAN interfaces of the controllers are on the same IP subnet.
When the client associates to an access point joined to a new controller, the new controller exchanges mobility messages with the original controller, and the client database entry is moved to the new controller. New security context and associations are established if necessary, and the client database entry is updated for the new access point. This process remains transparent to the user.
Figure 3. Intersubnet Roaming. This figure shows intersubnet roaming, which occurs when the wireless LAN interfaces of the controllers are on different IP subnets.
Inter-subnet roaming is similar to inter-controller roaming in that the controllers exchange mobility messages on the client roam. However, instead of moving the client database entry to the new controller, the original controller marks the client with an “Anchor” entry in its own client database. The database entry is copied to the new controller client database and marked with a “Foreign” entry in the new controller. The roam remains transparent to the wireless client, and the client maintains its original IP address.
In inter-subnet roaming, WLANs on both anchor and foreign controllers need to have the same network access privileges and no source-based routing or source-based firewalls in place. Otherwise, the clients may have network connectivity issues after the handoff.
Information About Mobility Groups
A mobility group is a set of controllers, identified by the same mobility group name, that defines the realm of seamless roaming for wireless clients. By creating a mobility group, you can enable multiple controllers in a network to dynamically share information and forward data traffic when inter-controller or inter-subnet roaming occurs. Controllers in the same mobility group can share the context and state of client devices as well as their list of access points so that they do not consider each other’s access points as rogue devices. With this information, the network can support inter-controller wireless LAN roaming and controller redundancy.
As shown above, each controller is configured with a list of the other members of the mobility group. Whenever a new client joins a controller, the controller sends out a unicast message (or multicast message if mobility multicast is configured) to all of the controllers in the mobility group. The controller to which the client was previously connected passes on the status of the client.
Mobility groups enable you to limit roaming between different floors, buildings, or campuses in the same enterprise by assigning different mobility group names to different controllers within the same wireless network.Figure 5. Two Mobility Groups. This figure shows the results of creating distinct mobility group names for two groups of controllers.
The controllers in the ABC mobility group share access point and client information with each other. The controllers in the ABC mobility group do not share the access point or client information with the XYZ controllers, which are in a different mobility group. Likewise, the controllers in the XYZ mobility group do not share access point or client information with the controllers in the ABC mobility group. This feature ensures mobility group isolation across the network.
Every controller maintains information about its peer controllers in a mobility list. Controllers can communicate across mobility groups and clients may roam between access points in different mobility groups if the controllers are included in each other’s mobility lists. In the following example, controller 1 can communicate with either controller 2 or 3, but controller 2 and controller 3 can communicate only with controller 1 and not with each other. Similarly, clients can roam between controller 1 and controller 2 or between controller 1 and controller 3 but not between controller 2 and controller 3.
Mobility group: A
Controller 1 (group A)
Controller 2 (group A)
Controller 3 (group C) ?
Mobility group: A
Controller 1 (group A)
Controller 2 (group A)
Mobility group: C
Controller 1 (group A)
Controller 3 (group C)
The controller supports seamless roaming across multiple mobility groups. During seamless roaming, the client maintains its IP address across all mobility groups; however, Cisco Centralized Key Management (CCKM) and public key cryptography (PKC) are supported only for inter-mobility-group roaming. When a client crosses a mobility group boundary during a roam, the client is fully authenticated, but the IP address is maintained, and mobility tunneling is initiated for Layer 3 roaming.
Messaging Among Mobility Groups
- The controller sends a Mobile Announce message to members in the mobility list each time that a new client associates to it. The controller sends the message only to those members that are in the same group as the controller (the local group) and then includes all of the other members while sending retries.
- You can configure the controller to use multicast to send the Mobile Announce messages. This behavior allows the controller to send only one copy of the message to the network, which destines it to the multicast group that contains all the mobility members. To derive the maximum benefit from multicast messaging, we recommend that it be enabled on all group members.
Using Mobility Groups with NAT Devices
Mobility message payloads carry IP address information about the source controller. This IP address is validated with the source IP address of the IP header. This behavior is a problem when a NAT device is introduced in the network because it changes the source IP address in the IP header. In the guest WLAN feature, any mobility packet, that is being routed through a NAT device is dropped because of the IP address mismatch.
The mobility group lookup uses the MAC address of the source controller. Because the source IP address is changed due to the mapping in the NAT device, the mobility group database is searched before a reply is sent to get the IP address of the requesting controller. This process is done using the MAC address of the requesting controller.
When configuring the mobility group in a network where NAT is enabled, enter the IP address that is sent to the controller from the NAT device rather than the controller’s management interface IP address. Also, make sure that the following ports are open on the firewall if you are using a firewall such as PIX:Figure 6. Mobility Group Configuration with One NAT Device. This figure shows an example mobility group configuration with one NAT device. In this example, all packets pass through the NAT device (that is, packets from the source to the destination and vice versa).
Prerequisites for Configuring Mobility Groups
- IP connectivity must exist between the management interfaces of all controllers.
- When controllers in the mobility list use different software versions, Layer 2 or Layer 3 clients have limited roaming support. Layer 2 or Layer 3 client roaming is supported only between controllers that use the same version or with controllers that run versions 7.X.X.
- All controllers must be configured with the same virtual interface IP address.
If all the controllers within a mobility group are not using the same virtual interface, inter-controller roaming may appear to work, but the handoff does not complete, and the client loses connectivity for a period of time.
- You must have gathered the MAC address and IP address of every controller that is to be included in the mobility group. This information is necessary because you will be configuring all controllers with the MAC address and IP address of all the other mobility group members.
- When you configure mobility groups using a third-party firewall, for example, Cisco PIX, or Cisco ASA, you must open port 16666, and IP protocol 97.
- For intercontroller CAPWAP data and control traffic, you must open the ports 5247 and 5264.
Table 1 Protocol/Service and Port Number
To view information on mobility support across controllers with different software versions, see the Cisco Wireless Solutions Software Compatibility Matrix.
Configuring Mobility Groups (GUI)
Step 1 Choose Controller > Mobility Management > Mobility Groups to open the Static Mobility Group Members page.
This page shows the mobility group name in the Default Mobility Group text box and lists the MAC address and IP address of each controller that is currently a member of the mobility group. The first entry is the local controller, which cannot be deleted.
Note Step 2 Perform one of the following to add controllers to a mobility group:
- If you are adding only one controller or want to individually add multiple controllers, click New and go. OR
- If you are adding multiple controllers and want to add them in bulk, click EditAll and go to.
The EditAll option enables you to enter the MAC and IP addresses of all the current mobility group members and then copy and paste all the entries from one controller to the other controllers in the mobility group.
Step 3 Click New to open the Mobility Group Member > New page. Step 4 Add a controller to the mobility group as follows:
- In the Member IP Address text box, enter the management interface IP address of the controller to be added.
- In the Member MAC Address text box, enter the MAC address of the controller to be added.
- In the Group Name text box, enter the name of the mobility group.
- In the Hash text box, enter the hash key of the peer mobility controller, which should be a virtual controller in the same domain. You must configure the hash only if the peer mobility controller is a virtual controller in the same domain.
- Click Apply to commit your changes. The new controller is added to the list of mobility group members on the Static Mobility Group Members page.
- Click Save Configuration to save your changes.
- Repeat Step a through Step e to add all of the controllers in the mobility group.
- Repeat this procedure on every controller to be included in the mobility group. All controllers in the mobility group must be configured with the MAC address and IP address of all other mobility group members.
The Mobility Group Members > Edit All page lists the MAC address, IP address, and mobility group name (optional) of all the controllers currently in the mobility group. The controllers are listed one per line with the local controller at the top of the list.
Note Step 5 Add more controllers to the mobility group as follows:
- Click inside the edit box to start a new line.
- Enter the MAC address, the management interface IP address, and the name of the mobility group for the controller to be added.
- Repeat Step a and Step b for each additional controller that you want to add to the mobility group.
- Highlight and copy the complete list of entries in the edit box.
- Click Apply to commit your changes. The new controllers are added to the list of mobility group members on the Static Mobility Group Members page.
- Click Save Configuration to save your changes.
- Paste the list into the text box on the Mobility Group Members > Edit All page of all the other controllers in the mobility group and click Apply and Save Configuration.
Step 6 Choose Multicast Messaging to open the Mobility Multicast Messaging page. Step 7 On the Mobility Multicast Messaging page, select the Enable Multicast Messaging check box to enable the controller to use multicast mode to send Mobile Announce messages to the mobility members. If you leave it unselected, the controller uses unicast mode to send the Mobile Announce messages. The default value is unselected. Step 8 If you enabled multicast messaging in the previous step, enter the multicast group IP address for the local mobility group in the Local Group Multicast IP Address text box. This address is used for multicast mobility messaging.
Note Step 9 Click Apply to commit your changes. Step 10 If desired, you can also configure the multicast group IP address for nonlocal groups within the mobility list. To do so, click the name of a nonlocal mobility group to open the Mobility Multicast Messaging > Edit page, and enter the multicast group IP address for the nonlocal mobility group in the Multicast IP Address text box.
Note Step 11 Click Apply to commit your changes. Step 12 Click Save Configuration to save your changes.
Configuring Mobility Groups (CLI)