Horizon

Friday, September 25, 2015

[Wi-Fi] How Wi-Fi Works และ Air Time Fairness


ภาค2 ต่อจาก ตอนที่1 Introduction to Wireless LAN

How does Wi-Fi works และ อะไรคือ AirTime Fairness
การทำงานของระบบเครือข่ายไร้สายทำงานอย่างไร
อิงจากทฤษฎี Wi-Fi Protocol Layer ดังนี้
  • Manage เป็น Protocol ที่ทำหน้าที่ในการเชื่อมต่อระหว่าสง Access Point กับ Client และทำการ maintain connection ให้เชื่อมต่อตลอดเวลา การส่ง key ในการเข้ารหัส และถอดรหัสด้วย (อาจจะใช้ WEP หรือ WPA แล้วแต่การใช้งาน)
  • Control เป็นการจัดสรร "คิว" ที่จะใช้งาน ซึ่งจะอธิบายในหัวข้อด้านล่างนี้
  • Data เป็นการรับส่งข้อมูล ของการใช้งานระบบเครือข่ายไร้สาย
เริ่มแรก ก่อนที่จะใช้งาน Wi-Fi ได้ ต้องทำการเชื่อมต่อก่อน โดยมีขั้นตอนดังนี้
  • Discovery Process เป็นการค้นหา ทั้งที่ Access Point ส่ง broadcast SSID ออกไป และเครื่อง Client ส่ง Probe Request หาว่ามี สัญญาณให้บริการหรือไม่ ถ้าหากพบว่า มีสัญญาณเชื่อมต่อก็ไปต่อขั้นที่สอง
  • Authentication เป็นการตรวจสอบสิทธิ์การใช้งาน อันนี้จะอ้างอิงมาตรฐาน IEEE 802.11r ด้วย ว่าเครื่อง Client มีสิทธิ์ในการใช้งานหรือไม่ ถ้ามีก็ไปต่อขั้นที่สาม
  • Association เมื่อตรวจสอบสิทธิ์แล้วว่าใช้งานได้ การ Association ถ้าอธิบายง่าย ๆ คือ การเปรียบเทียบกับการลงทะเบียน ว่า Client นี้ เชื่อมต่อกับ Access Point ตัวไหนในระบบ (กรณีที่มี Access Point หลาย ๆ ตัว) เพื่อเป็นการ ล๊อกการใช้งานว่า ให้รับส่งข้อมูลกับ Access Point ตัวนั้น ๆ และหากมีการ Roaming (การย้ายการใช้งานไปอีก Access Point) ก็จะทำการย้ายการลงทะเบียนไปว่า ตอนนี้ย้ายแล้ว เพราะฉะนั้น การรับส่งข้อมูล ก็ให้ไปทำบน Access Point ที่ย้ายไป
  • Connected พร้อมใช้งานแล้ว !!!
ลองมาดูเป็นรูปภาพ เพื่อความเข้าใจที่ง่ายขึ้น แบ่งเป็นสี ในแต่ละขั้นตอน



เมื่อการเชื่อมต่อเสร็จสิ้น จะมาว่าด้วยเรื่องของการรับส่งข้อมูล

การรับส่งข้อมูลของAP กับ client

เมื่อมีอุปกรณ์ Client เชื่อมต่อหลาย ๆ เครื่อง กับ Access Point ตัวเดียว 
การทำงานจะคล้ายกับการขึ้นบันไดเลื่อนคือต้องขึ้นทีละคน หากมีหลายคน ก็ต่อคิวกัน
หรืออีกแบบ คือเหมือนกับฮับ hub network ส่งข้อมูลได้ทีละคน
มีลักษณะคือ หยุดรอคิว ฟัง ตอบกลับ เริ่มรับส่ง สำหรับในเชิงลึก จะมีบทความเชิงเทคนิคอีกทีตอนนี้ขออธิบายคร่าวๆ ก่อน

หยุดรอคิว - ap แจ้งให้ทุกคนทราบว่าตอนนี้ว่างแล้วนะจับติ้วบัตรคิวกันว่าใครจะได้ลำดับก่อนหลังยังไง
ฟัง - บัตรคิวหมายเลข 1เชิญใช้บริการคะ บัตรคิวหมายเลข1 อยู่มั้ยค่ะ?
ตอบกลับ - อยู่ครับ
เริ่มรับส่ง - เชิญใช้บริการคะ

พอเสร็จปุ้ปก็กลับมาวนลูปอีกครั้ง

หยุดรอคิว - ap แจ้งให้ทุกคนทราบว่าตอนนี้ว่างแล้วนะหยิบติ้วบัตรคิวกันว่าใครจะได้ลำดับถัดไป
ฟัง - บัตรคิวหมายเลข 2เชิญใช้บริการคะ บัตรคิวหมายเลข2 อยู่มั้ยค่ะ?
ตอบกลับ - อยู่ครับ
เริ่มรับส่ง - เชิญใช้บริการคะ

จะทำแบบนี้สลับกันไปเรื่อยๆ จนวนรอบมาใหม่กรณีที่มีเครื่อง client ใช้งานบน ap ตัวเดียวกัน


แน่นอนว่า เครื่อง client มีหลากหลาย ทั้ง notebook, macbook, iphone, samsung, android etc. มันก็ต้องมีบ้างที่เครื่องเร็วเครื่องช้า เมื่อเครื่องหลากหลายเหล่านี้มาใช้งานร่วมกัน สิ่งที่ตามมาคือ คิวจำนวนมาก และระยะรอคิวที่เพิ่มขึ้น โดยแรกเริ่มเดิมที ระบบคิวของ WiFi จะนับคิวจนให้บริการเสร็จ ถึงจะให้คิวต่อไปมองง่ายๆว่าส่งข้อมูลในปริมาณเท่ากัน เช่น สมมุติว่า Access Point ให้ส่งทีละ 100 package 
เครื่อง1 ส่งทีละ 100 package ใช้เวลา2 วินาที
เครื่อง2 ส่งทีละ 100 package ใช้เวลา 3 วินาที
เครื่อง3 ส่งทีละ 100 package ใช้เวลา 10วินาที

เท่ากับ 15วินาที สามารถส่งข้อมูลได้ 300แพคเกจ

ถ้าต้องการส่งข้อมูล จำนวนมาก เช่น เครื่องละ 10,000แพคเกจ ทั้ง 3เครื่อง รวม 30,000แพคเกจ ต้องใช้เวลา 1,500 วินาที โดยเครื่อง1 แทนที่จะสามารถส่งได้เสร็จในเวลา 200วินาที (ถ้าคิดว่ามีแค่เครื่องเดียว) แต่กลับต้องมารอคิวการส่งคิวละ 100แพคเกจ สลับคิวรอบละ 13 วินาทีวน loop คิวไปจนกว่าจะเสร็จ และ แต่ละเครื่องจะส่งข้อมูลครบ 10,000แพคเกจในเวลาเท่าๆกัน เรียกว่า เพื่อนกันไม่ทิ่งกันว่างั้น

                                                  "มาด้วยกัน ไปด้วยกันเลือดสุพรรณ"

เราจะเห็นจากตัวอย่างว่า ถ้าระบบ wifi ไม่ทำอะไรสักอย่าง การรับส่งข้อมูล การรอคิว ระยะเวลารอคิวมันเป็นปัญหา ดังนั้น การคิดค้นการแก้ไขปัญหาโลกแตกนี้ จึงเกิดขึ้นเป็นที่มาของคำว่า Air Time Fairness

โดยเปลี่ยนการนับจำนวนแพคเกจที่ส่ง เป็นระยะเวลา (air time) ที่ใช้งานแทน นั่นแปลว่า เครื่อง client ที่เร็ว จะสามารถส่งข้อมูลได้มากกว่า ในเวลาเท่ากัน

จากตัวอย่างเดิม จำนวน client 3 เครื่อง ระยะ air time เครื่องละ 5วินาที ก็แปลว่า รอบนึงใช้เวลา 15วินาทีเท่ากัน
เทียบแบบหยาบๆ คือ
เครื่อง1 ในเวลา 5 วินาที ส่งได้ 250แพคเกจ
เครื่อง2 ในเวลา 5 วินาที ส่งได้ 183แพคเกจ
เครื่อง3 ในเวลา 5 วินาที ส่งได้ 50 แพคเกจ

ดังนั้นถ้าต้องการส่งข้อมูลเครื่องละ 10,000แพคเกจ จะเห็นได้ว่า เครื่อง1จะสามารถส่งได้ครบก่อนเพราะส่งได้250แพคเกจต่อการรอคิว1รอบและพอเครื่อง1ส่งได้หมดก่อนเครื่องที่เหลือคือ2,3 จะสลับกันส่งทีละ5วินาที สลับกันการรอคิวอีก5วินาที วนไปจนเครื่อง2 ส่งได้ครบ ทีนี้เครื่อง3 ก็ไม่ต้องต่อคิวใครอีก (ถ้าเครื่องอื่นไม่ได้ใช้แล้วนะ) ก็รับคิวส่งไปเต็ม
จากตัวอย่างนี้ จะเห็นได้ว่าในรอบคิว1รอบรวม15วินาที ระบบนี้ ส่งได้ 483แพคเกจ 
เมื่อเทียบกับตัวอย่างแรก เวลาเท่ากัน แต่ส่งได้ 300แพคเกจ

                                                                                                                              "ไปก่อนหล่ะนะ :D "



เอาหล่ะ นี่แค่ feature น้ำจิ้มนะ เรื่องของ Wifi ยังมีอีกเยอะ ไว้มาต่อกันคราวหน้า

No comments:

Post a Comment