Measurement of 802.11 Roaming Intervals January 2004 doc.: IEEE 802.11-04/xxxx January 2004 Measurement of 802.11 Roaming Intervals Darwin Engwer Nortel Networks 4655 Great America Pkwy Santa Clara, CA 95054 Phone: 408-495-7099 Fax: 408-495-5615 e-Mail: dengwer@nortelnetworks.com Darwin Engwer, Nortel Networks Darwin Engwer, Nortel Networks
January 2004 Introduction This presentation uses animation. The reader is encouraged to view the presentation in a way that makes the animation visible (Slide Show mode). Darwin Engwer, Nortel Networks
Goals of this presentation January 2004 Goals of this presentation define the components of an 802.11 system define roaming in an 802.11 system identify an initial set of roaming conditions for consideration/ analysis identify the start and end points of the roaming interval present test setups for effective roaming interval measurements stimulate thought and discussion on handover topics ... Darwin Engwer, Nortel Networks
Scope of this presentation January 2004 Scope of this presentation Considers existing 802.11 standards: 1999 base, 802.11a, 802.11b, 802.11d, 802.11f, 802.11g and 802.11h Does not specifically address pending standards: 802.11e, 802.11i, 802.11j and 802.11n aspects of roaming not addressed: criteria for triggering the roaming event Darwin Engwer, Nortel Networks
Components of an 802.11 System January 2004 Components of an 802.11 System Std 802.11- 1999 defines a station (STA) Std 802.11- 1999 further defines a subset of STAs called Access Points (APs) “STA acting as an AP” for clarity as to the type of stations referenced herein, I further define a “STA that is NOT acting as an AP” as a Mobile Unit (MU). Darwin Engwer, Nortel Networks
802.11 System Layout AP#1 AP#2 MU January 2004 Uplink to Infrastructure Network AP#1 SSID= “ACME” AP#2 SSID= “ACME” MU Darwin Engwer, Nortel Networks
January 2004 Premises MU can only be associated with one AP at any given point in time (per clause number 5.4.2.2) Darwin Engwer, Nortel Networks
January 2004 Roaming Definition Roaming occurs when an MU changes it’s association from one AP to another within the same ESS: i.e. the SSIDs of the two APs are identical this is called a “BSS-transition” per clause 5.4.2.1.b uses the reassociation service per clause 5.4.2.3 Changing to an AP with a different SSID represents a change to a different network. This is a meta-case and is not discussed in this presentation. (“ESS-transition” per 5.4.2.1.c) Darwin Engwer, Nortel Networks
Roaming in an Ideal Network January 2004 Roaming in an Ideal Network Uplink to Infrastructure Network AP#1 SSID= “ACME” AP#2 SSID= “ACME” MU MU MU Darwin Engwer, Nortel Networks
Core Roaming Sequence 1. MU is communicating with AP#1 January 2004 Core Roaming Sequence 1. MU is communicating with AP#1 2. MU moves to AP#2 coverage area 3. MU stops communicating with AP#1 4. MU starts communicating with AP#2 goal = measure time between events 3 and 4 Darwin Engwer, Nortel Networks
But, it’s more complicated than that … January 2004 But, it’s more complicated than that … networks are made of real components that can affect the outcome Darwin Engwer, Nortel Networks
Roaming in a HUB Network January 2004 Roaming in a HUB Network Uplink to Infrastructure Network HUB AP#1 SSID= “ACME” AP#2 SSID= “ACME” MU MU MU Darwin Engwer, Nortel Networks
January 2004 How does roaming work … consider the Message Sequence Chart (MSC) for roaming in a simple, hub-based network … Darwin Engwer, Nortel Networks
MSC: Establish Association with AP#1 January 2004 MSC: Establish Association with AP#1 MU AP1 AP2 Uplink SCAN PHASE JOIN PHASE Auth Request Ack Auth Reponse Association Request Ack Association Reponse DATA Ack Darwin Engwer, Nortel Networks
MSC: Roam to AP#2 MU AP1 AP2 Uplink January 2004 DATA SCAN PHASE Roaming event Ack SCAN PHASE JOIN PHASE Auth Request Ack Auth Reponse Re-Association Request Ack Re-Association Reponse 802.11f MOVE-Notify 802.11f MOVE-Response t1 Ack DATA Darwin Engwer, Nortel Networks
Important parts of the core roaming sequence: January 2004 Important parts of the core roaming sequence: discovery of candidate APs roaming event triggered reassociate request to AP#2 handover from AP#1 to AP#2 [IAPP] was proprietary; now 802.11f defines an interoperable mechanism ends the MU’s association with AP#1 - avoids “dangling association” this helps AP#1differentiate between an MU that has wandered out of range - AP#1 still tries to communicate with the MU - and an MU that has roamed to another AP - AP#1 does NOT try to communicate with the MU). AP#2 sends reassociate response Darwin Engwer, Nortel Networks
Reassociate Frame recap January 2004 Reassociate Frame recap contains: Capability Field Listen Interval Current [old] AP [MAC] address SSID Supported Rates Darwin Engwer, Nortel Networks
there are some alternatives January 2004 there are some alternatives these are “technically” allowed by the standard, but not recommended … instead of reassociating with AP#2, the MU could perform a fresh association with AP#2 in some cases this may be needed - such as when the MU has been completely out of range of the entire ESS for an extended period of time strongly discouraged since fresh association does not properly support mobility (per clause 5.4.2) Darwin Engwer, Nortel Networks
January 2004 … alternatives prior to re-associating with AP#2 the MU could send a disassociate request to AP#1 allowed by the standard; intended to be used when changing ESS physical aspects can make this approach troublesome when used within an ESS MU is trying to communicate over a known to be poor link (to AP#1) MU and/or AP#1 can get stuck retrying part of the disassociate frame exchange sequence OK for SSID changes unreliable and error-prone in real networks hence, not recommended within an ESS Darwin Engwer, Nortel Networks
January 2004 … alternatives there are other techniques that are likely legal per the standard but, for fast roaming I recommend that focus be placed on the normal, preferred case: MU reassociates with AP#2 Darwin Engwer, Nortel Networks
Recap - Roaming in a simple HUB Network January 2004 Recap - Roaming in a simple HUB Network Uplink to Infrastructure Network HUB AP#1 SSID= “ACME” AP#2 SSID= “ACME” MU MU MU Darwin Engwer, Nortel Networks
But, it’s more complicated than that … January 2004 But, it’s more complicated than that … a hub network doesn’t account for interceding delays or switching in a real network Darwin Engwer, Nortel Networks
Roaming in a Switched Network January 2004 Roaming in a Switched Network Uplink to Infrastructure Network Data path Data path SWITCH P3 P1 P2 AP#1 SSID= “ACME” AP#2 SSID= “ACME” MU MU MU Darwin Engwer, Nortel Networks
Roaming in a Switched Network January 2004 Roaming in a Switched Network need to consider switching delays and, learning of MU MAC address-to-port mapping must be addressed in the absence of uplink traffic from the MU even when there is uplink traffic, there may be delays (e.g until the next uplink packet is sent) solution: handled by the 802.11f Layer 2 Update (XID) packet this packet is addressed at layer 2 as if it originated from the MU sent just after an 802.11f ADD-Notify packet and after receipt of an 802.11f MOVE-response packet. Darwin Engwer, Nortel Networks
MSC: Associating with AP#1 January 2004 MSC: Associating with AP#1 MU AP1 Switch AP2 Uplink SCAN PHASE JOIN PHASE Auth Request Ack Auth Reponse Association Request Ack Association Reponse 802.11f ADD-Notify 802.11f L2 Update DATA Ack Darwin Engwer, Nortel Networks
MSC: Roaming in a Switched Network January 2004 MSC: Roaming in a Switched Network MU AP1 Switch AP2 Uplink DATA Ack Roaming event SCAN PHASE JOIN PHASE Auth Request Ack Auth Reponse Re-Association Request Ack 802.11f MOVE-Notify 802.11f MOVE-Notify 802.11f MOVE-Resp 802.11f MOVE-Resp 802.11f L2 Update Re-Association Response Ack DATA Ack Darwin Engwer, Nortel Networks
Beginning of the Roaming Interval January 2004 Beginning of the Roaming Interval Defined: The last point in time when all network components know and agree upon the link path [to the MU]. The relevant components are: the MU the AP (AP#1) the infrastructure network (e.g. layer 2 switch) ... Darwin Engwer, Nortel Networks
Beginning of the Roaming Interval January 2004 Beginning of the Roaming Interval Is it: the start of the Scan process? (i.e. MU sends probe request) No, MU could have scanned in advance No, MU could be doing passive scanning the start of the Join process? No, does not include any lost service due to possible scanning the reassociation request? No, again may not include any lost service due to possible scanning From the MU’s perspective the last data frame received from AP#1 marks a definitive point in time when service via AP#1 was known to be good. Darwin Engwer, Nortel Networks
End of the Roaming Interval January 2004 End of the Roaming Interval Defined: The point in time when all network components know and agree upon the new link path [to the MU]. The relevant components are: the MU the old AP (AP#1) the new AP (AP#2) the infrastructure network (e.g. layer 2 switch) From the MU’s perspective the first data frame received from AP#2 marks a definitive point in time when service via AP#2 is known to be good. Darwin Engwer, Nortel Networks
January 2004 Roaming Interval Defined: the end of service from AP#1 and the start of service from AP#2 Beginning: last data frame successfully received from AP#1 End: first data frame successfully received from AP#2 Darwin Engwer, Nortel Networks
Determining the Roaming Interval January 2004 Determining the Roaming Interval MU AP1 Switch AP2 Uplink DATA Ack Roaming event SCAN PHASE JOIN PHASE Auth Request Ack Auth Reponse Roaming Interval Re-Association Request Ack 802.11f MOVE-Notify 802.11f MOVE-Notify 802.11f MOVE-Resp 802.11f MOVE-Resp 802.11f L2 Update Re-Association Response Ack DATA Ack Darwin Engwer, Nortel Networks
Determining the Roaming Interval January 2004 Determining the Roaming Interval the specifics of what happens during the roaming interval will vary from implementation to implementation under some conditions additional packet exchanges may be required (e.g. 802.11) but, it is enough to just say that roaming happens, and the path of the data service changes from AP#1 to AP#2 and the time required to do all that is the Roaming Interval value in which we are interested ... Darwin Engwer, Nortel Networks
Determining the Roaming Interval January 2004 Determining the Roaming Interval MU AP1 Switch AP2 Uplink DATA Ack ROAMING SCAN PHASE JOIN PHASE Auth Request Ack Auth Reponse Roaming Interval Re-Association Request Ack 802.11f MOVE-Notify 802.11f MOVE-Notify 802.11f L2 Update 802.11f MOVE-Resp 802.11f MOVE-Resp Re-Association Response Ack DATA Ack Darwin Engwer, Nortel Networks
Measuring the Roaming Interval January 2004 Measuring the Roaming Interval Now that the extent of the roaming interval is known, how can a test setup be configured in order to measure it? Darwin Engwer, Nortel Networks
Measurement by Powering Down AP#1 January 2004 Measurement by Powering Down AP#1 Switch P1 P2 P3 AP#1 SSID= “ACME” AP#2 SSID= “ACME” MU Sniffer Darwin Engwer, Nortel Networks
Powering Down AP#1 - Test Sequence January 2004 Powering Down AP#1 - Test Sequence power up sniffer power up AP#1 power up the MU wait until the MU establishes association with AP#1 power up AP#2 wait until the MU detects AP#2 (client site survey software?) start sniffer capture power down AP#1 wait until MU reassociates with AP#2 and receives data from AP#2 stop sniffer capture save sniffer trace Darwin Engwer, Nortel Networks
Issues with Powering Down AP#1 January 2004 Issues with Powering Down AP#1 not representative of the real world: not representative of real world RF conditions at roaming event NOT the more usual roaming AP-to-AP with some amount of coverage overlap effects (and capabilities) of the interceding network are not considered no interceding delays or switching effects in the network deals with AP failure (or completely out of range) case rather than real seamless AP-to-AP roaming scenario MU is not comparing 2 candidate APs and choosing one it is just choosing the only AP available power down of AP#1 means the MU state machine is dealing with the case of a poor connection due to a complete end to the stream of beacons from AP#1 APs cannot communicate with each other during roaming event Darwin Engwer, Nortel Networks
Analysis of Power Down AP#1 Measurement Setup January 2004 Analysis of Power Down AP#1 Measurement Setup roaming time measurement: power down setup is inadequate bcus: 1. not representative of real world RF conditions at roaming event 2. not representative of infrastructure conditions at roaming event Desired setup is for the signal from AP#1 to fade rather than stop, so that at the roaming event AP#1 is still powered up and connected to the infrastructure network. Also, need to ensure reassociate vs. fresh association Darwin Engwer, Nortel Networks
Measurement Using a “Cone of Silence” January 2004 Measurement Using a “Cone of Silence” Switch P1 P2 P3 AP#1 SSID= “ACME” AP#2 SSID= “ACME” MU Sniffer Darwin Engwer, Nortel Networks
“Cone of Silence” - Test Sequence January 2004 “Cone of Silence” - Test Sequence power up sniffer power up AP#1 power up the MU wait until the MU establishes association with AP#1 power up AP#2 wait until the MU detects AP#2 (client site survey software?) start sniffer capture place “Cone of Silence” over AP#1 wait until MU reassociates with AP#2 and receives data from AP#2 stop sniffer capture save sniffer trace Darwin Engwer, Nortel Networks
“Cone of Silence” Issues January 2004 “Cone of Silence” Issues better but not as definitive as we would like Murphy’s Law: when we need APs to be poor they are amazingly good Darwin Engwer, Nortel Networks
Measurement Using an RF Attenuator on AP#1 January 2004 Measurement Using an RF Attenuator on AP#1 Switch P1 P2 P3 Note: APs are on different channels to ensure worst case roaming interval. AP#2 SSID= “ACME” CH= 11 AP#1 SSID= “ACME” CH= 1 0-30 db 3 db Sniffer MU Darwin Engwer, Nortel Networks
RF Attenuator - Test Sequence January 2004 RF Attenuator - Test Sequence power up sniffer power up AP#1; set attenuator to minimum attenuation power up the MU wait until the MU establishes association with AP#1 power up AP#2 wait until the MU detects AP#2 (client site survey software?) start sniffer capture increase attenuation on AP#1 radio/ antenna(s) wait until MU reassociates with AP#2 and receives data from AP#2 stop sniffer capture save sniffer trace Darwin Engwer, Nortel Networks
Attenuator Test Setup Notes January 2004 Attenuator Test Setup Notes Attenuator test setup provides a convenient, reproducible, definitive way of creating real world conditions that force a roaming event can be done using external antennas on the AP with an adjustable RF signal attenuator inline between the two ensure that the attenuator is of a continuously variable type, NOT a discrete step type note that the rate at which the attenuator is adjusted can affect the measurement result (therefore, must define and record the adjustment rate) could also be done using Tx power adjustment on AP#1 ensure that the RF output level can be adjusted low enough to force the roaming event may require a fixed attenuator combined with the Tx power adjustment Darwin Engwer, Nortel Networks
Recap - limits of the Roaming Interval January 2004 Recap - limits of the Roaming Interval MU AP1 Switch AP2 Uplink DATA Ack ROAMING SCAN PHASE JOIN PHASE Auth Request Ack Auth Reponse Roaming Interval Re-Association Request Ack 802.11f MOVE-Notify 802.11f MOVE-Notify 802.11f MOVE-Resp 802.11f MOVE-Resp 802.11f L2 Update Re-Association Response Ack DATA Ack Darwin Engwer, Nortel Networks
Example Measurement Sniffer Trace January 2004 Example Measurement Sniffer Trace MU leaves channel to authenticate with AP#2 MU leaves channel to reassociate with AP#2 First packet from AP#2 ACK to the last data frame exchanged with AP#1 30 ms Sniffer did not capture the ACKs from the MU, but ACKs were sent. Note: In this example the two APs are on the same channel, which is not the worst case scenario. Darwin Engwer, Nortel Networks
Measuring the Handover Interval January 2004 Measuring the Handover Interval Now know when to start and end measuring Now know the test setup How do we actually make the measurement? Need a method to detect and determine the end of service from AP#1 and the start of service from AP#2 ... Darwin Engwer, Nortel Networks
Measuring the Handover Interval January 2004 Measuring the Handover Interval connect a packet generator (e.g. Chariot) to the switch set the packet generator to send out [short] packets on a continuous basis Packet type = directed L2 packets with a destination address equal to the MU’s MAC address set a fixed interval between packets include a sequence number in every packet downlink packet generator ensures worst case scenario for roaming interval i.e. showcases the worst case effects through the switch Darwin Engwer, Nortel Networks
Measurement Using a Packet Generator January 2004 Measurement Using a Packet Generator Traffic Generator Data path Data path P3 P1 Switch P2 Note: APs are on different channels to ensure worst case roaming interval. AP#2 SSID= “ACME” CH= 11 AP#1 SSID= “ACME” CH= 1 0-30 db 3 db Sniffer MU Darwin Engwer, Nortel Networks
Measuring the Handover Interval January 2004 Measuring the Handover Interval Assume generator sends packets every ‘n’ msec, then by measuring the Roaming Interval (as defined earlier), time from last packet thru AP#1 to first packet thru AP#2 we can determine the Roaming Interval with an accuracy of +/- ‘n’ msec. Or, restated, an absolute accuracy of 2x ‘n’ msec. (per Nyquist’s theory) The sequence numbers in the packets will also indicate if any packets (and how many) were lost during the roaming interval. Both the roaming interval and the number of packets lost are critical pieces of information needed to evaluate the effect of certain applications (e.g. VOIP). Darwin Engwer, Nortel Networks
Summary defined the components of an 802.11 system January 2004 Summary defined the components of an 802.11 system defined core roaming in an 802.11 system identified an initial set of roaming conditions for consideration/ analysis identified the start and end points of the roaming interval end of AP#1 data service, beginning of AP#2 data service presented test setups for effective roaming interval measurements Best = 1 MU, 2 APs, switch, packet generator, RF attenuator and sniffer Darwin Engwer, Nortel Networks
Other Topics to Be Explored January 2004 Other Topics to Be Explored other cases to possibly consider: inter-subnet layer 3 handover measurement - [need to describe setup too] handover from one PHY type to another - within the same AP, e.g. 11b->11a, 11a->11b must consider single MAC and multi MAC cases MU client software considerations (e.g. higher level authentications, and so on) Darwin Engwer, Nortel Networks
Credits Haixiang He - artistic design and animation January 2004 Credits Haixiang He - artistic design and animation Bob O’Hara - technical review and sample sniffer trace Darwin Engwer, Nortel Networks
January 2004 References Std 802.11-1999 Std 802.11F-2003 11-03-0563-00-000i-tgi-4-way-handshake-timings.ppt - July 2003, Nick Petroni Netwave Roaming Specification - 1995, Engwer, et. al. Darwin Engwer, Nortel Networks
January 2004 The End Darwin Engwer, Nortel Networks
January 2004 Backup Slides Darwin Engwer, Nortel Networks
Roaming in Multi-PHY APs January 2004 Roaming in Multi-PHY APs DS 11a PHY MAC 11b PHY MAC 11g PHY MAC 0x…1234 0x…1235 0x…1236 5 GHz Radio 2.4 GHz Radio Darwin Engwer, Nortel Networks
Roaming in Multi-PHY APs January 2004 Roaming in Multi-PHY APs DS MAC 0x…1234 11a PHY 11b PHY 11g PHY 5 GHz 2.4 GHz Radio Darwin Engwer, Nortel Networks
802.11 STA MU AP* Definitions MU = Mobile Unit (Mobile STA) January 2004 Definitions 802.11 STA MU AP* MU = Mobile Unit (Mobile STA) * STA operating as an AP. Darwin Engwer, Nortel Networks
802.11 STA AP MU Definitions January 2004 Darwin Engwer, Nortel Networks
802.11 STA AP Definitions MMU UMU January 2004 (adhoc/ IBSS) MMU = Managed MU UMU = Unmanaged MU (adhoc) Darwin Engwer, Nortel Networks
January 2004 The End - Really Darwin Engwer, Nortel Networks