802.11 Network Structures
Traditional 802.11
- 802.11 =
- „wireless ethernet“
- Wi-fi (from Wi-Fi Alliance, wireless fidelity)
IEEE 802.11 as part of IEEE 802
- IEEE 802.11x =
- IEEE = Institute of Electronics and Electrical Engineers
- 802 = project group (Entwicklung von LAN-Standards)
- 11 = working group (Entwicklung eines wireless-LAN Standards)
- x = task groups
- erstmalige Spezifikation 1997, Änderungen 802.11-1999, 802.11-2003
- the 802.11 Task Groups:
802.11 | First standard (1997). Specified the MAC and the original slower frequency-hopping and direct-sequence modulation techniques. |
802.11a | Second physical layer standard (1999), but products not released until late 2000. |
802.11b | Third physical layer standard (1999), but second wave of products. The most common 802.11 equipment as the first book was written. |
TGc | Task group that produced a correction to the example encoding in 802.11a. Since the only product was a correction, there is no 802.11c. |
802.11d | Extends frequency-hopping PHY for use across multiple regulatory domains. |
TGe (future 802.11e) | Task group producing quality-of-service (QoS) extensions for the MAC. An interim snapshot called Wi-Fi Multi-Media (WMM) is likely to be implemented before the standard is complete. |
802.11F | Inter-access point protocol to improve roaming between directly attached access points. |
802.11g | Most recently standardized (2003) PHY for networks in the ISM band. |
802.11h | Standard to make 802.11a compatible with European radio emissions regulations. Other regulators have adopted its mechanisms for different purposes. |
802.11i | Improvements to security at the link layer. |
802.11j | Enhancements to 802.11a to conform to Japanese radio emission regulations. |
TGk (future 802.11k) | Task group to enhance communication between clients and network to better manage scarce radio use. |
TGm | Task group to incorporate changes made by 802.11a, 802.11b, and 802.11d, as well as changes made by TGc into the main 802.11 specification. (Think "m" for maintenance.) |
TGn (future 802.11n) | Task group founded to create a high-throughput standard. The design goal is throughput in excess of 100 Mbps, and the resulting standard will be called 802.11n. |
TGp (future 802.11p) | Task group adopting 802.11 for use in automobiles. The initial use is likely to be a standard protocol used to collect tolls. |
TGr (future 802.11r) | Enhancements to roaming performance. |
TGs (future 802.11s) | Task group enhancing 802.11 for use as mesh networking technology. |
TGT (future 802.11T) | Task group designing test and measurement specification for 802.11. Its results will be standalone, hence the uppercase letter. |
TGu (future 802.11u) | Task group modifying 802.11 to assist in interworking with other network technologies. |
- Beziehung von 802.11 zum ISO/OSI-Modell:
- IEEE 802 Spezifikationen beziehen sich nur auf 2 untersten OSI-Layer -> Physical + Data Link Layer
- = MAC + PHY (physical) Komponente
- physical Layers:
- FHSS – frequency-hopping spread-spectrum
- DSSS – direct-sequence spread-spectrum
- mit 802.11b -> HR/DSSS – high-rate DSSS
- mit 802.11a -> OFDM – orthogonal frequency division multiplexing
- 802.11g abwärts-kompatibel zu b, nutzt ausserdem auch OFDM
Structure of a wireless network
- Stationen
- Computer im WLAN
- Access Points
- Bridges: Station <-> Station bzw Station <-> Externe Hosts
- ursprünglich ein Gerät, neuerdings auch „thin“ APs und AP-Controller
- Drahtloses Medium
- DS – Verteilungssystem
Types of Networks
Es gibt mehrere Arten, die Unterschiede aufweisen und teilweise voneinander abhängen.
Grundlage eines wireless LAN ist das BSS:
- Gruppe von Stationen, die miteinander kommunizieren
- Kommunikation innerhalb der BSA (Basic Service Area), durch Ausbreitungseigenschaften der Funkstrahlen definierter Raum.
Independent BSS (IBSS, Ad-Hoc networks)
- direkte Kommunikation der Stationen
- typischerweise für wenige Stationen bzw. geringen Zeitraum etabliert
Infrastructure BSS
- erfordert Benutzung eines AP, jegwede Kommunikation erfolgt über diesen AP
- BSA ist damit als Bereich definiert, in dem mit dem AP kommuniziert werden kann
- damit 2 Hops für Kommunikation von Station zu Station
- Unabhängigkeit von vielen Positionsvektoren (zu den anderen Stationen), nur noch abhängig von Pos. zum AP
- Möglichkeit eines Power-save Modus der Stationen (kurzzeitig PowerOff an den Stationen, AP puffert Frames)
- Association am AP
- novum: multi-BSS oder „virtual APs“
- ein AP bedient mehrere BSS, ESS (mit jeweiliger SSID)
- Abbilden auf VLANs
ESS
- Erweiterung von BSS's, diese werden zu einem ESS zusammengefasst
- jeder AP, der ein BSS in einem ESS bedient, kommuniziert mit den anderen BSS's über ein Backbone-Netzwerk
- Identifikation eines ESS über die SSID (Service Set Identifier = network name)
- sind höchst-levelige Abstaktion in 802.11 Netzwerken
Distribution system
- wenn mehrere APs verbunden sind um ein Netz zu formen kümmert sich dieses um deren Kommunikation
- basiert meist auf Ethernet
- verbindet APs zu einem ESS (DS = logische Komponente in 802.11)
- einhaltet das Backbone-Netzwerk, benötigt jedoch mehr
- Bridge zwischen Wireless Network und Backbone Network
- Inter-Access Point Kommunikation
- jeder AP muss über die Assoziationen aller APs Bescheid wissen
- IAPP – inter-AP-protocol, meist über Backbone-Netzwerk
- IAPP im IEEE 802.11F, wurde jedoch kaum umgesetzt (mittlerweile zurückgezogen) -> zu finden sind oftmals proprietäre Protokolle.
- WDS – wireless distribution system
- das drahtlose medium selbst als DS
- „wireless bridge“
Using the MAC
CSMA/CA
- CSMA/CA – carrier sense multiple access with collision avoidance
- Ethernet nutzt CSMA/CD – collision detection
- Unterschied rührt vom benutzten Medium her
- 1 will an 2 funken, bemerkt, dass in seinem Funkbereich alles frei ist und funkt
- jedoch kann 3 ständig funken und damit den Empfang von 2 beeinträchtigen, ohne dass 1 das merken kann
- RTS (request to send) und CTS (clear to send)
- Sender sendet RTS an seinen gesamten Funkbereich und fordert andere Stationen zur Stille auf
- Empfänger sendet daraufhin CTS an seinen gesamten Funkbereich, selber Effekt
- damit sind beide Funkbereiche bereit für Übertragung
- nach RTS/CTS muss jeder Frame geACK'ed werden
- RTS/CTS ist optional, wird meist in Hochverkehrsbereichen benutzt
- oft auch dort unnötig, da die Dichte an APs sehr hoch, damit hört jede Station in einem BSS jede andere
- Aktivierung über WNIC-Treiber (RTS threshold, grenzwertige Framelänge, ab der Bereiche gecleared werden)
DCF, PCF, NAV
MAC-Zugriffsmodi: Coordination Functions
- Zugriff wird kontrolliert durch Coordination Functions:
- DCF – distributed coordination function
- Standard CSMA/CA
- vor Sendung eines Frames lauschen, ob Medium frei
- wenn Frame übertragen wurde, warten alle Stationen im BSS ein zufälliges Intervall (Minimum ist festgelegt), bis sie senden
- verhindert (fast sicher) gleichzeitiges Senden, was einzige Möglichkeit der Kollision birgt
- PCF – point coordination function
- konkurrenzfreie Koordination, gewährleistet QoS
- selten implementiert
- sog. Point Coordinator verwaltet den tokenbasierten Ansatz
- gibt Sendetoken an jede Station einzeln
- nicht jede Station muss PCF unterstützen
- nach einer CFP (contention-free period) kommt eine contention-period in der wie bei DCF gearbeitet wird
- in der CFP können nicht-PCF-Stationen nicht senden, da Dauer der Tokenübergabe geringer als minimale Wartezeit bei DCF
- HCF – hybrid coordination function
- hybrider Ansatz der beiden oben genannten
- noch nicht voll standardisiert, wird jedoch Teil von 802.11e
Timing beim Zugriff auf das MAC: NAV
- virtuelles Carrier Sensing
- jeder Frame enthält Angaben, wie lang seine Übertragung und die folgender Pakete (inkl. ACKs) dauert
- Stationen lesen den Wert und warten entsprechend
Network operations and services
Network services overview
- 802.11 definiert Dienste, die Netzwerke anbieten müssen:
- Distribution:
- Kommunikation von Stationen mit anderen Stationen oder externen Hosts
- Integration
- von 802.11-Netzwerken in Andere und umgekehrt
- Assoziation
- „Registration“ am AP, notwendig für Datenverkehr
- entspr. „Kabel einstecken“ in LANs
- angestoßen von Stationen
- Reassoziation
- bei Transition einer Station zw. BSS's im selben ESS
- Disassoziation
- Authentifzierung
- authentifizieren eines Benutzers im WLAN
- soll „physikalische Sicherheit“ eines verkabelten Netzes ersetzen
- Deauthentifizierung
- Vertraulichkeit (confidentiality)
- Verschlüsselung der Daten
- MSDU delivery == MAC Service Data Unit delivery
- einfach Datenverkehr zw. Stationen und APs
- Spektrenverwaltung (Transmit Power Control, Dynamic Frequency Selection nach 802.11h) (nur in Europa)
- Distribution:
- davon Stations-seitig (von Stationen und APs angeboten):
- Frame-Zustellung
- (De)Authentifizierung
- Vertraulichkeit
- Spektrenverwaltung (TPC, DFS)
- Distributionssystem-seitig (verbinden APs zu einem DS):
- Integration (von wired und wireless Netzen)
- Distribution
- Managen von Assoziationen (Assoz., Reassoz., Disassoz.)
Frame Format
Frame Arten
- Data- und Control Frames für Auslieferung von Daten und Kontrolle des Datenflusses
- Data Frames
- Transport von Daten
- Control Frames
- AreaClearing functions
- channel acquisition
- carrier sensing
- ACKs
- Management Frames
- supervisory functions
- join, leave network; move assocs
Frame Fragmentation
- nötig, weil:
- große Frames sonst nicht „aufs Medium passen“
- Durchsatz in belasteten Umfeldern erhöht werden kann
- fragmentiert werden Pakete größer als fragmentation threshold
- dieser festgelegt durch Admin bzw. verringert von jeder Station
- Fragmente eines Frames haben:
- selbe Frame Sequence Number
- inkrementelle Fragment Number
- RTS/CTS und Fragmentation
- Thresholds für RTS/CTS und Fragmentation meist gleich
- bei Fragment Bursts wird RTS/CTS angewendet
allg. Format
- enthält einige typische Felder _nicht_
- Präambel ist Teil des physischen Layer
- Type/Length werden im Datenteil gekapselt
- 4 Adressfelder, die nicht immer genutzt werden
- Frame Control Field:
- Protocol:
- bisher nur 00 definiert, weitere für evtl. spätere 802.11 Revisionen
- Type & Subtype:
- Protocol:
Subtype value | Subtype name |
Management frames (type=00) | |
0000 | Association request |
0001 | Association response |
0010 | Reassociation request |
0011 | Reassociation response |
0100 | Probe request |
0101 | Probe response |
1000 | Beacon |
1001 | Announcement traffic indication message (ATIM) |
1010 | Disassociation |
1011 | Authentication |
1100 | Deauthentication |
1101 | Action (for spectrum management with 802.11h, also for QoS) |
Control frames (type=01) | |
1000 | Block Acknowledgment Request (QoS) |
1001 | Block Acknowledgment (QoS) |
1010 | Power Save (PS)-Poll |
1011 | RTS |
1100 | CTS |
1101 | Acknowledgment (ACK) |
1110 | Contention-Free (CF)-End |
1111 | CF-End+CF-Ack |
Data frames (type=10) | |
0000 | Data |
0001 | Data+CF-Ack |
0010 | Data+CF-Poll |
0011 | Data+CF-Ack+CF-Poll |
0100 | Null data (no data transmitted) |
0101 | CF-Ack (no data transmitted) |
0111 | CF-Ack+CF-Poll (no data transmitted) |
1000 | QoS Datac |
1001 | QoS Data + CF-Ackc |
1010 | QoS Data + CF-Pollc |
1011 | QoS Data + CF-Ack + CF-Pollc |
1100 | QoS Null (no data transmitted)c |
1101 | QoS CF-Ack (no data transmitted)c |
1110 | QoS CF-Poll (no data transmitted)c |
1111 | QoS CF-Ack+CF-Poll (no data transmitted)c |
- ToDS, FromDS:
- geben an, ob ein Frame fürs DS bestimmt ist
- in Infrastruktur-Netzen ist immer eins von beiden gesetzt
- FromDS, ToDS = 0
- Management und Control-Frames
- Daten-Frames in einem IBSS
- FromDS = 1, ToDS = 0
- Daten-Frames, die für WLAN Station bestimmt sind
- FromDS = 0, ToDS = 1
- Daten-Frames, die von WLAN Station kommen
- FromDS, ToDS = 1
- Daten-Frames in einer „Wireless Bridge“
- More Fragments
- wie in IP
- 1 = es kommen weitere Fragmente
- wird nur von einigen Managementframes und großen Daten-Frames verwendet, meist ist Daten-Frame-Größe = Ethernet-Frame-Größe
- Retry
- 1 = dieser Frame ist eine Sendewiederholung
- Power Management
- 1 = Station geht nach atomarem Frame-Austausch in Powersave-Modus
- niemals gesetzt bei Frames vom AP
- More Data
- 1 = es liegen weitere gepufferte Frames im AP vor
- wird nur bei Frames verwendet, die an Powersave-Stationen geschickt werden
- Protected Frame
- 1 = Frame wird durch Link-Layer-Sicherheitsprotokolle geschützt
- Order
- 1 = strikte Ordnung ist aktiv
- Frames und Fragmente können sonst auch ungeordnet übertragen werden
- ToDS, FromDS:
- Duration/ID Field:
- Duration
- setzt NAV in allen Stationen im BSS (siehe NAV)
- Wert in Mikrosekunden (10-6)
- CFP – contention-free period
- bei Verwendung von PCF
- Wert = 32768, wenn als NAV interpretiert (für Stationen, die eine Beacon-Sendung verpasst haben, in der CFP eingeleitet wird ... diese werden dann sehr lang)
- PS-Poll Frames
- wird von schlafenden Stationen gesendet, die gerade aufwachen
- AID gibt Assoziations-ID an -> gibt an, zu welchem BSS die Station gehört (falls im Schlaf BSS-Transition)
- Duration
(diese wird bei Assoziation vom AP bezogen)
- nur Werte von 1 – 2007, alle anderen sind reserviert
- 4 Adressfelder
- enthalten 48Bit MAC Adressen
- je nach Netzwerktyp und Datenrichtung verwendet (nach ToDS, FromDS):
Function | ToDS | FromDS | Address 1 (receiver) | Address 2 (transmitter) | Address 3 | Address 4 |
IBSS | 0 | 0 | DA | SA | BSSID | Not used |
To AP (infra.) | 1 | 0 | BSSID | SA | DA | Not used |
From AP (infra.) | 0 | 1 | DA | BSSID | SA | Not used |
WDS (bridge) | 1 | 1 | RA | TA | DA | SA |
- verschiedene Zwecke:
- Zieladresse:
- wie Ethernet, gibt finalen Empfänger an
- für Station -> AP: MAC-Adresse des Hosts im Backbone (zb Router)
- Empfängeradresse:
- für AP -> Station: = Zieladresse
- für Station -> AP: MAC-Adresse des AP
- Quelladresse:
- gibt Quellstation an
- Transmitter-Adresse
- MAC-Adresse des WNICs, der Frame überträgt
- wird nur bei Wireless Bridges benutzt
- BSSID
- wird genutzt um verschiedene WLANs im selben Bereich zu unterscheiden
- in Infrastruktur-Netzen: BSSID = MAC des APs
- in ad-hoc-Netzen: zufällig generiert mit Universal/Local-Bit gesetzt (vermeidet Konflikt mit phys. MAC-Adressen)
- Zieladresse:
- verschiedene Zwecke:
- Sequence Control Field:
- benutzt für Defragmentation und zum Verwerfen doppelter Frames
- nicht benutzt in Control-Frames
- sequence number
- 0 – 4095
- beginnt bei 0 und wird pro highlevel-Paket um 1 inkrementiert
- bleibt gleich bei erneuter Sendung und Fragmenten eines Pakets
- fragment number
- gibt Nummer des Fragments an
- Frame body
- kapselt higher-level Daten
- eigentlich maximal 2304 Bytes
- tatsächlich muss mehr transportiert werden können um Sicherheitsprotokolle und QoS zu erlauben
- inkl. 802.2 LLC header bleiben dann 2296 Bytes Payload
- es gibt weiterhin kein Typfeld, dass das gekapselte Protokoll angibt -> weiterer Header am Anfang des Payload benötigt
- Frame Check Sequence – FCS
- CRC (cyclic redundancy check) zur Überprüfung des Inhalts
- enthält alle Felder des MAC-Headers und der Payload
- eigentlich gleich dem 802.3-Feld, jedoch andere MAC-Header
- zwingt APs zur Neuberechnung
Management
Management-Frames übernehmen Funktionen, die bei wired-Netzen physikalisch umgesetzt sind.
Scanning a Network: Probes and Beacons
- Parameter fürs Scannen:
- BSS Type (independent, infrastructure)
- BSSID (individual, broadcast for all)
- SSID oder ESSID (specific network name, broadcast for all)
- scan type (active, passive)
- channel list (or hop pattern for freq. hopping networks)
- probe delay
- minChannelTime, maxChannelTime
Passive Scanning
- jeden Channel eine bestimmte Zeit belauschen
- auf Beacons warten, diese enthalten alle relevanten Werte
- hidden SSID's:
- verhindern passives Scannen, da die SSID nicht mehr in den Beacons übermittelt wird
- wird jedoch in Probe Responses gesendet -> Active Scanning
Active Scanning
- für jeden Channel einzeln durchzuführen:
- Channel abhören, bis Paket eintrifft oder probe delay timer abläuft
- trifft Paket ein, so ist Channel in Benutzung und kann geprobed werden
- Probe Request senden
- minChannelTime abwarten
- wenn nix passiert, dann ist Channel nicht in Benutzung
- wenn Frames verkehren, dann warte bis maxChannelTime und werte jede Probe Response aus
Beacon Frame
- zeigt Existenz eines Netzwerks an
- werden regelmäßig (in Infrastr. von APs) gesendet
- enthalten Parameter zur Konfiguration für möglichen Netzwerkzugang für Clients
- Felder:
- Capability Info:
- ESS/IBSS – exclusive: infrastruktur oder ad-hoc
- privacy – WEP oder nicht?
- SSID – Netzwerkname = String, max 32 chars
- FH – für FrequencyHopping Networks
- DS – Channel Nummer für direct sequence networks
- CF – für contention free
- TIM – traffic indication map, benutzt bei power-save-mode
- Channel Switch – für Umschalten des Kanals
- Quiet – Stilllegung des Channels für Maßnahmen bei Radar
- TPC – Transmit Power Control, fordert Funkverbindungsmanagementinfos an
- ERP – für 802.11g, Extended Rate PHY
- Extended Rates erweitert Supported Rates Feld -> Auskunft über mögliche Datenraten
- RSN – robust security network
- Angabe von Cipher-Algorithmen, z. B .:
- WEP-40
- TKIP
- CCMP
- WEP-104
- authentication types:
- 802.1X or PMK caching
- Pre-shared key
- Angabe von Cipher-Algorithmen, z. B .:
- Capability Info:
Probe Request Frame
- geben Auskunft über die Möglichkeiten des Clients
- versehen mit SSID eines Netzes oder broadcast SSID für alle Netze
Probe Response Frame
- gleicher Aufbau wie Beacon-Frame
Joining a network
1.4.3.2.1 802.11 Authentication 21 1.4.3.2.2 Preauthentication 22 1.4.3.2.3 Association Procedure 22 1.4.3.2.4 Association Request Frame 22 1.4.3.2.5 Association Response Frame 23 1.4.3.2.6 Mobility support: Transitions 23 1.4.3.2.7 Reassociation procedure 24 1.4.3.2.8 Reassociation Request Frame 25 1.4.3.2.9 Association and authentication states 25
Vertraulichkeit und Zugangskontrolle
WEP
802.11i
Controlling the MAC
Control Frames
RTS/CTS
ACK
PS-Poll
Moving data
Prinzipien
1.4.6.1.1 Broadcast Data, Multicast Data und Management Frames 29 1.4.6.1.2 Unicast Data (Management und Daten) 30 1.4.6.1.3 PowerSave Sequenzen 31
Data frames
Distribution
Integration/Encapsulation of ethernet frames
1.4.6.4.1 Prinzip 33 1.4.6.4.2 Ablauf des Bridging zwischen 802.11 und Ethernet 34 wireless2wired 35 wired2wireless 35