Wi-Fi Roaming: Intra-controller vs Inter-controller vs Inter-subnet

A mobility even occur if a client roams between access points. As wireless clients move between APs on the same controller and APs join to different controller within the network four different types of roaming events can take place.

1. Intra Controller
2. Inter Controller
3. Inter-Subnet (Inter Controller – Layer 3)

Intra Controller Roaming : If a client roam between APs on the same controller , it is called intra-controller mobility event. This is the most simplistic roaming event where WLC simply update the database with client state & security context as client roam from AP1 to AP2. See below

Inter Controller-L2 Roaming : Inter-Controller (normally layer 2) roaming occurs when a client roam between two APs registered to two different controllers, where each controller has an interface in the client subnet.

Roaming-1

In this instance controllers exchange mobility control messages (over UDP port 16666)  and the client database entry is moved from the original controller to the new controller.

Inter Controller-L3 Roaming : If the clients roam between APs registered to different controllers and the client WLAN on the two controllers is on different subnet, then it is called inter-controller L3 roam.

Roaming-3

In this situation as well controllers exchange mobility messages. Client database entry change is completely different that to L2 roam(instead of move, it will copy). In this situation the original controller marks the client entry as “Anchor” where as new controller marks the client entry as “Foreign“.The two controllers now referred to as “Anchor controller” & “Foreign Controller” respectively. Client will keep the original IP address & that is the real advantage.

Roaming-4

If  your client configured with  static IP addresses, When these wireless clients move & associate to another WLC that does not support the same subnet as the static IP, the clients fail to connect to the network. You can now enable dynamic tunneling of clients with static IP addresses.
The following sequence of steps occur when a client with a static IP address tries to associate with a controller:

* When a client associates with a controller, for example, WLC-1, it performs a mobility announcement. If a controller in the mobility group responds (for example WLC-2), the client traffic is tunneled to the controller WLC-2 (Anchor).

* If none of the controllers respond, the client is treated as a local client and authentication is performed. If the client’s IP subnet is not supported in the controller (WLC-1), WLC-1 sends another static IP mobile announce and if a controller (for example WLC-3) which supports the clients subnet responds to that announce, the client traffic is tunneled to that controller WLC-3. As a result, the controller WLC 1 becomes the export foreign controller and WLC-2 becomes the export anchor controller.

* Once the acknowledgement is received, the client traffic is tunneled between the anchor and the controller (WLC-1).

Ref:

https://mrncciew.com/2013/03/16/wireless-mobility-basics/

https://www.cisco.com/c/en/us/td/docs/wireless/controller/8-3/config-guide/b_cg83/b_cg83_chapter_010011.html