Larger wireless networks may be supported by more than one wireless controller with access points distributed across them
Clients can roam from one access point to another, but they may also roam from one controller to another dependant on the access point.
Layer 2 Roaming
When a client moves from one controller to another when changing access points, this is known as a intercontroller roam.
The roam itself is straight forward but there are several factors that change in the background. The clients IP address may changed if the other controller is in a different VLAN for that wireless network, or it may be able to keep the same IP address if both controllers utilise the same broadcast network for that wireless network.
If the device is able to keep its IP address when roaming to a new controller, this is known as a Layer 2 roam or local-to-local roam
Layer 3 Roaming
When a wireless controller grows so much that the wireless networks require to be in separate IP addressing ranges and VLANs is known as a Layer 3 roam.
When a client changes to a new access point, it normally can not easily detect that it has changed it’s subnet, only being aware of the fact they have changed access point.
Clients that normally request a renewal on their DHCP address can pick up to the fact they have been changed to a new network; whilst clients that do not may be left unaware that they have now lost connectivity.
The Cisco wireless controller contains a technology that helps clients that may not realise they have moved to a new network subnet whilst roaming.
When a client roams to a new controller, it will compare it’s old VLAN ID and it’s new VLAN ID. If the VLAN IDs differ, the controller will arrange a Layer 3 roam that allows the client to keep it’s IP address.
The Layer 3 roam constructs an extra tunnel between the clients original controller and the new controller it has roamed too.
This tunnel will carry data to the old controller from the new and it will act as if the client had never roamed in the first place.
The original controller is known as the anchor controller in this Layer 3 roam, and the controller that contains the roamed client is called the foreign controller.
When a client first connects to a controller, that controller becomes the anchor controller for that client.
A static anchor can be configured so that a wireless client can be forced to associate onto a specific controller situated behind a firewall or another environment.