Configuring Mobility Groups
This chapter describes mobility groups and explains how to configure them on the controllers. It contains these sections:
•Overview of Mobility
•Overview of Mobility Groups
•Configuring Mobility Groups
•Configuring Auto-Anchor Mobility
•Running Mobility Ping Tests
Overview of 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 11-1 illustrates a wireless client roaming from one access point to another when both access points are joined to the same controller.
Figure 11-1 Intra-Controller Roaming
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 11-2 illustrates inter-controller roaming, which occurs when the controllers' wireless LAN interfaces are on the same IP subnet.
Figure 11-2 Inter-Controller Roaming
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.
Note All clients configured with 802.1x/Wi-Fi Protected Access (WPA) security complete a full authentication in order to comply with the IEEE standard.
Figure 11-3 illustrates inter-subnet roaming, which occurs when the controllers' wireless LAN interfaces are on different IP subnets.
Figure 11-3 Inter-Subnet Roaming
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.
After an inter-subnet roam, data to and from the wireless client flows in an asymmetric traffic path. Traffic from the client to the network is forwarded directly into the network by the foreign controller. Traffic to the client arrives at the anchor controller, which forwards the traffic to the foreign controller in an EtherIP tunnel. The foreign controller then forwards the data to the client. If a wireless client roams to a new foreign controller, the client database entry is moved from the original foreign controller to the new foreign controller, but the original anchor controller is always maintained. If the client moves back to the original controller, it becomes local again.
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.
Note Currently, multicast traffic cannot be passed during inter-subnet roaming. With this in mind, you would not want to design an inter-subnet network for SpectraLink phones that need to send multicast traffic while using push to talk.
Note Both inter-controller roaming and inter-subnet roaming require the controllers to be in the same mobility group. See the next two sections for a description of mobility groups and instructions for configuring them.
Overview of Mobility Groups
A set of controllers can be configured as a mobility group to allow seamless client roaming within a group of controllers. 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 can share the context and state of client devices and controller loading information. With this information, the network can support inter-controller wireless LAN roaming and controller redundancy.
Note Clients do not roam across mobility groups.
Figure 11-4 shows an example of a mobility group.
Figure 11-4 A Single Mobility Group
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 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. All mobility exchange traffic between controllers is carried over an LWAPP tunnel. IPSec encryption can also be configured for the inter-controller mobility messages.
A mobility group can include up to 24 controllers of any type. The number of access points supported in a mobility group is bound by the number of controllers and controller types in the group.
1. A 4404-100 controller supports up to 100 access points. Therefore, a mobility group consisting of 24 4404-100 controllers supports up to 2400 access points (24 * 100 = 2400 access points).
2. A 4402-25 controller supports up to 25 access points, and a 4402-50 controller supports up to 50 access points. Therefore, a mobility group consisting of 12 4402-25 controllers and 12 4402-50 controllers supports up to 900 access points (12 * 25 + 12 * 50 = 300 + 600 = 900 access points).
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 11-5 shows the results of creating distinct mobility group names for two groups of controllers.
Figure 11-5 Two Mobility Groups
The controllers in the ABC mobility group recognize and communicate with each other through their access points and through their shared subnets. The controllers in the ABC mobility group do not recognize or communicate with the XYZ controllers, which are in a different mobility group. Likewise, the controllers in the XYZ mobility group do not recognize or communicate with the controllers in the ABC mobility group. This feature ensures mobility group isolation across the network.
Note Clients may roam between access points in different mobility groups, provided they can hear them. However, their session information is not carried between controllers in different mobility groups.
Determining When to Include Controllers in a Mobility Group
If it is possible for a wireless client in your network to roam from an access point joined to one controller to an access point joined to another controller, both controllers should be in the same mobility group.
Configuring Mobility Groups
This section provides instructions for configuring controller mobility groups through either the GUI or the CLI.
Note You can also configure mobility groups using the Cisco Wireless Control System (WCS). Refer to the Cisco Wireless Control System Configuration Guide for instructions.
Before you add controllers to a mobility group, you must verify that the following requirements have been met for all controllers that are to be included in the group:
•All controllers must be configured for the same LWAPP transport mode (Layer 2 or Layer 3).
Note You can verify and, if necessary, change the LWAPP transport mode on the Controller > General page.
•IP connectivity must exist between the management interfaces of all controllers.
Note You can verify IP connectivity by pinging the controllers.
•All controllers must be configured with the same mobility group name.
Note The mobility group name is generally set at deployment time through the Startup Wizard. However, you can change it if necessary through the Default Mobility Domain Name field on the Controller > General page. The mobility group name is case sensitive.
Note For the Cisco WiSM, both controllers should be configured with the same mobility group name for seamless routing among 300 access points.
•All controllers must be configured with the same virtual interface IP address.
Note If necessary, you can change the virtual interface IP address by editing the virtual interface name on the Controller > Interfaces page. See Chapter 3 for more information on the controller's virtual interface.
Note If all the controllers within a mobility group are not using the same virtual interface, inter-controller roaming may appear to work, but the hand-off 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.
Note You can find the MAC and IP addresses of the other controllers to be included in the mobility group on the Controller > Mobility Groups page of each controller's GUI.
Using the GUI to Configure Mobility Groups
Follow these steps to configure mobility groups using the GUI.
Note See the "Using the CLI to Configure Mobility Groups" section if you would prefer to configure mobility groups using the CLI.
Step 1 Click Controller > Mobility Groups to access the Static Mobility Group Members page (see Figure 11-6).
Figure 11-6 Static Mobility Group Members Page
This page shows the mobility group name in the Default Mobility Group field 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 Click Remove if you want to delete any of the remote controllers from the mobility group.
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 to Step 3.
•If you are adding multiple controllers and want to add them in bulk, click EditAll and go to Step 4.
Note 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 The Mobility Group Member > New page appears (see Figure 11-7).
Figure 11-7 Mobility Group Member > New Page
Follow these steps to add a controller to the mobility group:
a. In the Member IP Address field, enter the management interface IP address of the controller to be added.
b. In the Member MAC Address field, enter the MAC address of the controller to be added.
c. In the Group Name field, enter the name of the mobility group.
Note The mobility group name is case sensitive.
d. 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.
e. Click Save Configuration to save your changes.
f. Repeat Step a through Step d to add all of the controllers in the mobility group.
g. 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.
Step 4 The Mobility Group Members > Edit All page (see Figure 11-8) 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 If desired, you can edit or delete any of the controllers in the list.
Figure 11-8 Mobility Group Members > Edit All Page
Follow these steps to add more controllers to the mobility group:
a. Click inside the edit box to start a new line.
b. Enter the MAC address, the management interface IP address, and the name of the mobility group for the controller to be added.
Note These values should be entered on one line and separated by one or two spaces.
Note The mobility group name is case sensitive.
c. Repeat Step a and Step b for each additional controller that you want to add to the mobility group.
d. Highlight and copy the complete list of entries in the edit box.
e. 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.
f. Click Save Configuration to save your changes.
g. Paste the list into the edit box on the Mobility Group Members > Edit All page of all the other controllers in the mobility group and click Apply and Save Configuration.
Using the CLI to Configure Mobility Groups
Follow these steps to configure mobility groups using the CLI.
Step 1 Enter show mobility summary to check the current mobility settings.
Step 2 Enter config mobility group name group_name to create a mobility group.
Note Enter up to 31 case-sensitive ASCII characters for the group name. Spaces are not allowed in mobility group names.
Step 3 Enter config mobility group member add mac-address ip-addr to add a group member.
Note Enter config mobility group member delete mac-address ip-addr if you want to delete a group member.
Step 4 Enter show mobility summary to verify the mobility configuration.
Step 5 Enter save config to save your settings.
Step 6 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.
Configuring Auto-Anchor Mobility
You can use auto-anchor mobility (or guest WLAN mobility) to improve load balancing and security for roaming clients on your wireless LANs. Under normal roaming conditions, client devices join a wireless LAN and are anchored to the first controller that they contact. If a client roams to a different subnet, the controller to which the client roamed sets up a foreign session for the client with the anchor controller. However, using the auto-anchor mobility feature, you can specify a controller or set of controllers as the anchor points for clients on a wireless LAN.
In auto-anchor mobility mode, a subset of a mobility group is specified as the anchor controllers for a WLAN. You can use this feature to restrict a WLAN to a single subnet, regardless of a client's entry point into the network. Clients can then access a guest WLAN throughout an enterprise but still be restricted to a specific subnet. Auto-anchor mobility can also provide geographic load balancing because the WLANs can represent a particular section of a building (such as a lobby, a restaurant, and so on), effectively creating a set of home controllers for a WLAN. Instead of being anchored to the first controller that they happen to contact, mobile clients can be anchored to controllers that control access points in a particular vicinity.
When a client first associates to a controller of a mobility group that has been preconfigured as a mobility anchor for a WLAN, the client associates to the controller locally, and a local session is created for the client. Clients can be anchored only to preconfigured anchor controllers of the WLAN. For a given WLAN, you should configure the same set of anchor controllers on all controllers in the mobility group.
When a client first associates to a controller of a mobility group that has not been configured as a mobility anchor for a WLAN, the client associates to the controller locally, a local session is created for the client, and the controller is announced to the other controllers in the same mobility group. If the announcement is not answered, the controller contacts one of the anchor controllers configured for the WLAN and creates a foreign session for the client on the local switch. Packets from the client are encapsulated through a mobility tunnel using EtherIP and sent to the anchor controller, where they are decapsulated and delivered to the wired network. Packets to the client are received by the anchor controller and forwarded to the foreign controller through a mobility tunnel using EtherIP. The foreign controller decapsulates the packets and forwards them to the client.
If multiple Controllers are added as mobility anchors for a particular WLAN on a foreign Controller, the foregin Controller internally sorts the Controllers by their IP address. The Controller with the lowest IP address is the first anchor. For example, a typical ordered list would be 172.16.7.25, 172.16.7.28, 192.168.5.15. If the first client associates to the foreign controller's anchored WLAN, the client database entry is sent to the first anchor Controller in the list, the second client is sent to the second Controller in the list, and so on, until the end of the anchor list is reached. The process is repeated starting with the first anchor Controller. If any of the anchor Controllers is detected to be down, all the clients anchored to the Controller are deauthenticated, and the clients then go through the authentication/anchoring process again in a round-robin manner with the remaining Controllers in the anchor list.
Note A 2000 series controller cannot be designated as an anchor for a WLAN. However, a WLAN created on a 2000 series controller can have a 4400 series controller as its anchor.
Note The IPSec and L2TP Layer 3 security policies are unavailable for WLANs configured with a mobility anchor.
Guidelines for Using Auto-Anchor Mobility
Keep these guidelines in mind when you configure auto-anchor mobility:
•Controllers must be added to the mobility group member list before you can designate them as mobility anchors for a WLAN.
•You can configure multiple controllers as mobility anchors for a WLAN.
•You must disable the WLAN before configuring mobility anchors for it.
•Auto-anchor mobility supports web authorization but does not support other Layer 3 security types.
•The WLANs on both the foreign controller and the anchor controller must be configured with mobility anchors. On the anchor controller, configure the anchor controller itself as a mobility anchor. On the foreign controller, configure the anchor as a mobility anchor.
•Auto-anchor mobility is not supported for use with DHCP option 82.
Using the GUI to Configure Auto-Anchor Mobility
Follow these steps to create a new mobility anchor for a WLAN using the GUI.
Note See the "Using the CLI to Configure Auto-Anchor Mobility" section if you would prefer to configure auto-anchor mobility using the CLI.
Step 1 Click Controller > WLANs to access the WLANs page (see Figure 11-9).
Figure 11-9 WLANs Page
Step 2 On the WLANs page, click the Mobility Anchors link for the desired WLAN. The Mobility Anchors page for that WLAN appears (see Figure 11-10).
Figure 11-10 Mobility Anchors Page
Step 3 Select the IP address of the controller to be designated a mobility anchor in the Switch IP Address (Anchor) drop-down box.
Step 4 Click Mobility Anchor Create. The selected controller becomes an anchor for this WLAN.
Note To delete a mobility anchor for a WLAN, click Remove to the right of the controller's IP address.
Step 5 Click Save Configuration to save your changes.
Step 6 Repeat Step 3 and Step 5 to set any other controllers as mobility anchors for this WLAN.
Step 7 Configure the same set of anchor controllers on every controller in the mobility group.
Using the CLI to Configure Auto-Anchor Mobility
Use these commands to configure auto-anchor mobility using the CLI.
1. Enter config wlan disable wlan-id to disable the WLAN for which you are configuring anchor controllers.
2. To create a new mobility anchor for the WLAN, enter one of these commands:
–config mobility group anchor add wlan-id anchor-controller-ip-address
–config wlan mobility anchor add wlan-id anchor-controller-ip-address
Note The wlan-id must exist and be disabled, and the anchor-controller-ip-address must be a member of the default mobility group.
Note Auto-anchor mobility is enabled for the WLAN when you configure the first anchor controller.
3. To delete a mobility anchor for the WLAN, enter one of these commands:
–config mobility group anchor delete wlan-id anchor-controller-ip-address
–config wlan mobility anchor delete wlan-id anchor-controller-ip-address
Note The wlan-id must exist and be disabled.
Note Deleting the last anchor disables the auto-anchor mobility feature and resumes normal mobility for new associations.
4. To see the list of controllers configured as mobility anchors for a specific WLAN, enter one of these commands:
–show mobility anchor [wlan-id]
–show wlan mobility anchor [wlan-id]
Note The wlan-id is optional and constrains the list to the anchors in a particular WLAN. To see all of the mobility anchors on your system, enter show mobility anchor.
5. To save your settings, enter this command:
Running Mobility Ping Tests
Controllers belonging to the same mobility group communicate with each other by controlling information over a well-known UDP port and exchanging data traffic through an Ethernet-over-IP (EoIP) tunnel. Because UDP and EoIP are not reliable transport mechanisms, there is no guarantee that a mobility control packet or data packet will be delivered to a mobility peer. Mobility packets may be lost in transit due to a firewall filtering the UDP port or EoIP packets or due to routing issues.
Controller software release 4.0 enables you to test the mobility communication environment by performing mobility ping tests. These tests may be used to validate connectivity between members of a mobility group (including guest controllers). Two ping tests are available:
•Mobility ping over UDP—This test runs over mobility UDP port 16666. It tests whether the mobility control packet can be reached over the management interface.
• Mobility ping over EoIP—This test runs over EoIP. It tests the mobility data traffic over the management interface.
Only one mobility ping test per controller can be run at a given time.
Note These ping tests are not Internet Control Message Protocol (ICMP) based. The term "ping" is used to indicate an echo request and an echo reply message.
Use these commands to run mobility ping tests using the controller CLI.
1. To test the mobility UDP control packet communication between two controllers, enter this command:
The mobility_peer_IP_address parameter must be the IP address of a controller that belongs to a mobility group.
2. To test the mobility EoIP data packet communication between two controllers, enter this command:
The mobility_peer_IP_address parameter must be the IP address of a controller that belongs to a mobility group.
3. To troubleshoot your controller for mobility ping, enter these commands:
config msglog level verbose
To troubleshoot your controller for mobility ping over UDP, enter this command to display the mobility control packet:
debug mobility handoff enable
Note Cisco recommends using an ethereal trace capture when troubleshooting.