MAC architecture

802.11 แตกต่างจาก 802.3 ตรง OSI layer 2 ชั้นล่างสุด และการสื่อสารระหว่าง base station กับ STA ก็ใช้เพียงแค่ 2 Layer นี้เช่นกัน เหมือนกับใน 802.3 แต่ที่ต่างกันคือ Frame format และกระบวนการในการส่ง ทำไม่เหมือนกัน

Contention คือการใช้พาหะนำข้อมูลตัวเดียวกัน ทำให้เกิดการชนกันของข้อมูลได้

Contention-free คือจะไม่เกิดการชนกันบนพาหะตัวเดียวกันนี้

ใน MAC layer ของ wireless จะแบ่งสถาปัตยกรรมออกเป็นสองแบบคือ Contention-free (PCF) กับ Contention (DCF)

Distributed Coordination Function (DCF)

เป็น fundamental access method ของ 802.11 โดยที่เรารู้จักในชื่อของ CSMA/CA ซึ่งงถูกใช้งานบน Station (STA)

STA จะส่งข้อมูลได้ก็ต่อเมื่อ มัน sense medium ว่าว่างหรือไม่ ถ้าว่างเท่ากับขนาดของ Inter-Frame Space (IFS มีหลายแบบ SIFS,PIFS,DIFS ขึ้นกับจังหวะการทำงาน) ก็ให้ส่งได้ ถ้าไม่ว่าง ก็ให้รอจนกว่าจะมีขนาดเท่ากับ IFS แล้วทำการ back-off แบบ random(จังหวะนี้คือ Contention เพราะ STA ทุกตัวรู้จังหวะนี้หมด ถ้าส่งพร้อมกันคือ collision) และถ้ามี STA อื่นใช้ medium ระหว่าง back-off  ก็จะหยุดการนับถอยหลัง (remaining backoff) เช่น backoff ไว้ 40 วิ เจอคนส่งตอนที่ เหลือ 20 วิ ก็จะหยุดไว้เท่านี้ แล้วรอจังหวะว่างใหม่ ค่อยนับถอยหลังต่อแล้วจึงส่ง

Carrier-sense mechanism

ลักษณะจเป็น virtual sense เรียกว่า Network Allocation Vector (NAV)  โดยจะใช้ข้อมูลจาก  RTS/CTS และ data frame  โดย ที่ MAC layer frame จะมีส่วนของ duration ซึ่งเป็นตัวกำหนด ระยะเวลาในการส่ง โดยกระบวนการคือ เมื่อได้ค่า NAV มาแล้ว ระบบจะทำการนับถอยหลังไปเรื่อยๆจน เป็น 0 แปลว่า medium ว่างแล้ว

Mac-Level acknowledgements

หลังจากที่ STA ได้รับ frame มาแล้ว STA จะต้องส่ง ACK frame กลับไป (บางชนิดเท่านั้น)

Interframe Space (IFS)

เป็นช่วงเวลาระหว่างเฟรม โดย STA จะทำหน้าที่ตรวจสอบว่า medium ว่างด้วยขนาดเท่ากับช่วงเวลาเหล่านี้หรือยัง ผ่านเทคนิค carrier-sense โดยจะมีลำดับความสำคัญ

  1. SIFS ใช้สำหรับ ACK, CTS (สั้นสุด)
  2. PIFS ใช้สำหรับการส่งแบบ PCF
  3. DIFS ใช้สำหรับ Data frame

Setting and Resetting the NAV

STA เมื่อได้รับ frame RTS/CTS ก็จะทำการ update ค่า NAV ก็ต้อเมื่อ ค่า ใหม่ มีค่ามากกว่า ค่าเก่า เท่านั้น

Hidden Node

เมื่อมี AP แล้วมี STA หลายๆตัว ทำงานพร้อมกันอาจจะเกิดปัญหา Hidden Node ขึ้นมาได้ โดยที่ CSMA/CA ไม่ได้ป้องกันปัญหานี้

((STA1 —-(–> AP <–)—STA2))

การส่งของ STA1 ไปยัง AP นั้น STA2 ไม่ทราบ ทำให้ STA2 ส่งข้อมูลออกไปโดยไม่ได้ตั้งใจ เนื่องจาก STA2 อยู่ห่างจาก STA1 มากเกิน

Request to Send / Clear to Send

เทคนิดที่ใช้แก้ไขปัญหา Hidden Node โดย AP จะทำการส่ง CTS broadcast ออกไปทำให้  STA ที่อยู่ใน BSS ทราบทั่วถึงกัน

และเมื่อ STA ต้องการส่ง STA จะรอจน medium ว่างเป็นเวลาเท่ากับ DIFS ก็จะส่ง RTS frame ออกไป เพื่อทำการจองช่องสัญญาณ

แล้ว AP ก็จะรอเป็นเวลา SIFS จึงตอบ CTS กลับมา STA ก็จะรออีกเป็นเวลา SIFS จึงจะส่งข้อมุลกลับไป โดย STA อื่นๆจะเซทค่า NAV ขอตนเองเมื่อได้รับ CTS/RTS

Point Coordination Function (PCF)

ใช้งานในช่วงที่เป็น contention-free โดยสามารถทำงานร่วมกันกับ DCF ได้

การทำงานของ PCF เป็นแบบ centralized โดยอาศัยการ polling ซึ่งจะมี base station เป็นตัวควบคุม (Point Coordinator)

โดยเมื่อมีการทำงานของ PCF เวลาจะถูกแบ่งเป็น Superframe โดยแต่ละ superframe จะมี contention period สำหรับ DCF และ contention-free perriod สำหรับ PCF

CFP เริ่มต้นจากการ base station ส่งสัญญาณ beacon frame ด้วยวิธีการเดียวกับ DCF แล้วทำการ poll ไปยังแต่ละ STA จาก polling list โดยจะใช้เทคนิค round-robin โดย STA ที่ถูก poll จะต้องตอบ poll เสมอถึงแม้ว่าจะไม่มีข้อมูลส่งก็ตาม (Null Frame)

ลักษณะการทำงานแบบนี้ ทำให้ PCF ทำงานได้ดีกว่าในสภาพแวดล้อมที่มี client จำนวนมาก เพราะ ทุก client ได้สิทธิเท่าๆกัน ไม่ต้องใช้ backoff

Mac Frame Format

General Format

FrameControl|Duration|Address1|Address2|Address3|SequenceControl|Address4|FrameBody|FCS

Frame Control Field

  • 802.11 Protocol Version
  • Frame type
  • WLAN configuration

ในแต่ละเฟรมจะประกอบไปด้วย

  • Mac Address ของผู้ส่งและรับ
  • Frame sequence number
  • Frame check sequence

Management Frame: ไว้ติดต่อระหว่าง STA กับ AP (Infrastrucure mode) และระหว่าง STAs (ad-hoc mode)ไม่มี Address 4

Control Frame : พวก RTS/CTS หน้าตา FrameControl|Duration|ReceiverAddress|TransmitterAddress|FCS

Data Frame: ไว้ส่งข้อมูล หน้าตาเหมือน general frame

หน้าที่ของ MAC Layer

  • ตรวจหาสัญญาณ
  • ขอเข้าใช้งาน
  • ส่งสัญญาณ
  • คงค่าการเชื่อมต่อ

Beacon Frame

ส่งแบบ Broadcast (DA เป็น 1 หมด) โดยจะส่งเป็นช่วงๆ (100ms) เพื่อให้ STA ทราบว่ามี BSS นี้อยู่ โดยข้อมูลที่ส่งมาจะประกอบไปด้วย

  • beacon interval
  • timestamp
  • SSID
  • Support Rate
  • Parameter Set
  • Capability Information

Discovering WLAN

  • Passive : STA รอรับ beacon frame
  • Active: STA ส่ง management probe request frame ออกไปยังทุก channel

Joining WLAN

การเข้าใช้งาน BSS จะต้องมีการขอ Authentication ก่อน (Authen ตัว STA ไม่ใช่ผู้ใช้งาน)

แบ่งออกเป็น Open กับ Shared Key

  • Open System Authentication: ไม่ใช้รหัสผ่านส่งแค่รหัส SSID ที่ต้องการ connect ไปเท่านั้น
  • Shared Key: ต้องมีการป้อนรหัสผ่าน หลักการคือ AP ส่ง Challenge text ไปยัง STA ที่ขอเชื่อมต่อ STA ทำการเข้ารหัส challenge text แล้วส่งกลับ AP ตรวจสอบว่า ผลตรงกันหรือไม่
  • เมื่อตรวจสอบความถูกต้องหมดแล้ว AP จะตอบกลับว่า accept หรือไม่ โดย frame จะมี association ID + support data rate มาด้วย

Fragmentation

ทำการแบ่งข้อมูลชุดใหญ่ๆออกเป็น ส่วนย่อยๆ เพื่อลดปัญหาการ collision และ ลดระยะเวลาในการใช้ medium