620 likes | 638 Views
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. Introduction.
E N D
Measurement of802.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
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 • 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 • 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 • 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
AP#1 SSID= “ACME” AP#2 SSID= “ACME” MU 802.11 System Layout Uplink to Infrastructure Network Darwin Engwer, Nortel Networks
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
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
AP#1 SSID= “ACME” AP#2 SSID= “ACME” MU MU MU Roaming in an Ideal Network Uplink to Infrastructure Network Darwin Engwer, Nortel Networks
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 … • networks are made of real components that can affect the outcome Darwin Engwer, Nortel Networks
AP#1 SSID= “ACME” AP#2 SSID= “ACME” MU MU MU Roaming in a HUB Network Uplink to Infrastructure Network HUB Darwin Engwer, Nortel Networks
How does roaming work … • consider the Message Sequence Chart (MSC) for roaming in a simple, hub-based network … Darwin Engwer, Nortel Networks
MU AP1 AP2 Association Request Auth Request Ack Ack Association Reponse Auth Reponse Ack Ack DATA DATA Ack MSC: Establish Association with AP#1 Uplink SCAN PHASE JOIN PHASE Darwin Engwer, Nortel Networks
MU AP2 AP1 DATA DATA Re-Association Request Auth Request Ack Ack Auth Reponse 802.11f MOVE-Notify Ack 802.11f MOVE-Response Re-Association Reponse Ack DATA DATA Ack MSC: Roam to AP#2 Uplink Roaming event Ack SCAN PHASE JOIN PHASE t1 Darwin Engwer, Nortel Networks
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 • contains: • Capability Field • Listen Interval • Current [old] AP [MAC] address • SSID • Supported Rates Darwin Engwer, Nortel Networks
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
… 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 (changing ESS) • OK if the MU really is leaving the network, e.g. powering down • unreliable and error-prone in real networks within an ESS: • disassociates the MU from the network (ESS) at the exact time when the MU is trying to stay associated with the network (ESS) • hence use of disassociate in this way prevents subsequent use of reassociate • hence, not to be used within an ESS Darwin Engwer, Nortel Networks
… 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
AP#1 SSID= “ACME” AP#2 SSID= “ACME” MU MU MU Recap - Roaming in a simple HUB Network Uplink to Infrastructure Network HUB Darwin Engwer, Nortel Networks
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
Data path Data path AP#1 SSID= “ACME” AP#2 SSID= “ACME” MU MU MU Roaming in a Switched Network Uplink to Infrastructure Network SWITCH P3 P2 P1 Darwin Engwer, Nortel Networks
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
Switch Uplink MU AP2 AP1 Association Request Auth Request Ack Ack Association Reponse Auth Reponse Ack Ack DATA DATA Ack MSC: Associating with AP#1 SCAN PHASE JOIN PHASE 802.11f ADD-Notify 802.11f L2 Update Darwin Engwer, Nortel Networks
Switch Uplink AP1 MU AP2 DATA DATA Ack Re-Association Request Auth Request Ack Ack Re-Association Response Auth Reponse Ack Ack DATA DATA Ack MSC: Roaming in a Switched Network Roaming event SCAN PHASE JOIN PHASE 802.11f MOVE-Notify 802.11f MOVE-Notify 802.11f MOVE-Resp 802.11f MOVE-Resp 802.11f L2 Update Darwin Engwer, Nortel Networks
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 • 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 • 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
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
Switch Uplink MU AP2 AP1 DATA DATA Ack Re-Association Request Auth Request Ack Ack Re-Association Response Auth Reponse Ack Ack DATA DATA Ack Determining the Roaming Interval Roaming event SCAN PHASE JOIN PHASE Roaming Interval 802.11f MOVE-Notify 802.11f MOVE-Notify 802.11f MOVE-Resp 802.11f MOVE-Resp 802.11f L2 Update Darwin Engwer, Nortel Networks
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 ... Determining the Roaming Interval Darwin Engwer, Nortel Networks
Switch Uplink AP1 MU AP2 DATA DATA Ack Re-Association Request Auth Request Ack Ack Re-Association Response Auth Reponse Ack Ack DATA DATA Ack Determining the Roaming Interval ROAMING SCAN PHASE JOIN PHASE Roaming Interval 802.11f MOVE-Notify 802.11f MOVE-Notify 802.11f L2 Update 802.11f MOVE-Resp 802.11f MOVE-Resp Darwin Engwer, Nortel Networks
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
AP#1 SSID= “ACME” AP#2 SSID= “ACME” MU Sniffer Measurement by Powering Down AP#1 Switch P1 P2 P3 Darwin Engwer, Nortel Networks
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 Powering Down AP#1 - Test Sequence Darwin Engwer, Nortel Networks
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 ofPower 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
AP#1 SSID= “ACME” AP#2 SSID= “ACME” MU Sniffer Measurement Using a “Cone of Silence” Switch P1 P2 P3 Darwin Engwer, Nortel Networks
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 “Cone of Silence” - Test Sequence Darwin Engwer, Nortel Networks
“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
0-30 db MU Sniffer 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 3 db Darwin Engwer, Nortel Networks
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 RF Attenuator - Test Sequence Darwin Engwer, Nortel Networks
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
Switch Uplink AP1 MU AP2 DATA DATA Ack Re-Association Request Auth Request Ack Ack Re-Association Response Auth Reponse Ack Ack DATA DATA Ack Recap - limits of the Roaming Interval ROAMING SCAN PHASE JOIN PHASE Roaming Interval 802.11f MOVE-Notify 802.11f MOVE-Notify 802.11f MOVE-Resp 802.11f MOVE-Resp 802.11f L2 Update Darwin Engwer, Nortel Networks
MU leaves channel to authenticate with AP#2 ACK to the last data frame exchanged with AP#1 MU leaves channel to reassociate with AP#2 30 ms First packet from AP#2 Example Measurement Sniffer Trace 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 • 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 • 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
Data path Data path 0-30 db MU Sniffer Measurement Using a Packet Generator Traffic Generator P3 Switch P1 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 3 db Darwin Engwer, Nortel Networks
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