Horizon

Tuesday, December 22, 2015

[Networking] อะไรคือ DDoS Attack ?

 [Networking] อะไรคือ DDoS Attack ?

เมื่อพูดถึงคำว่า DDoS Attack หลายคนอาจจะงงว่า มันคืออะไร เป็นการโจมตีแบบไหน ซึ่ง DDoS ย่อมาจาก Districuted Denial of Service ถ้าตอบอย่างเป็นหลักการคือ การโจมตีโดยการแบ่ง (Distributed) ในแบบ Denial of Service (DoS) gเป็นจำนวนของการโจมตีเป็นแบบกระจาย ๆ จำนวนมาก ๆ โดยมีเป้าหมาย หรือ Target เดียวกัน ซึ่งจะแตกต่างจาก DoS คือ DoS จะเป็นการโจมตี จากเครื่องๆ เดียวนั่นเอง

เรียกว่าเป็นการรุม ไปยังเป้าหมายเดียวกัน ซึ่งจะคล้าย ๆ กับบทความก่อนหน้านี้ [Networking] เมื่อคำถามเรื่อง การกด F5 ทำให้เว็บล่มได้บังเกิด โดย ชนิดของ DDoS Attack นั่น แบ่งออกเป็น 3 ชนิดใหญ่ ๆ นั่นคือ

  •     Traffic Attack คือการส่งข้อมูลจำพวก TCP, UDP และ ICMP จำนวนมาก ๆ ไปยังเป้าหมาย เพื่อให้ท่อ หรือ Link เต็ม Traffic หรือ request ที่ใช้งานจริงนั้น ไม่สามารถใช้งานได้


  • Bandwidth Attack คือการส่งข้อมูลขยะจำนวนมาก ๆ ไปยังเป้าหมาย เพื่อให้ ท่อ หรือ Link เต็ม ไม่สามารถใช้งานใด ๆ ได้

  • Application Attack คือการส่งข้อมูล request ที่ระดับ Application layer ไปจำนวนมาก ๆ ถี่ ๆ เพื่อให้เกิด request จำนวนมากไปยังเครื่องเป้าหมาย โดยมีความต้องการให้เครื่องที่ตกเป็นเป้าหมายนั้น รับการตอบ request ไม่ไหว จนเกิด Service unavailable นั่นเอง (เปรียบง่าย คือการรัวปุ่ม F5 นั่นเอง)

วิธีที่ 1 กับ 2 จะคล้าย ๆ กัน แต่แตกต่างกันตรงที่ ชนิดของข้อมูลที่กระหน่ำส่งเข้าไป

แล้วจะมีวิธีไหนได้บ้างมั๊ยที่จะแก้ไขปัญหา หรือป้องกันได้ ?
การแก้ไขปัญหา หรือป้องกัน สามารถทำได้ โดยการใช้อุปกรณ์พิเศษ ที่เรียกว่า DDoS Attack Protection หรืออีกวิธีคือ การบีบการใช้งาน (Rate Limit) บนอุปกรณ์ระบบเครือข่ายที่มีอยู่
แล้วมันเป็นอย่างไร แตกต่างกันบ้างมั๊ย
แน่นอนว่า อุปกรณ์ DDoS Attack Protection นั้น มีวิธี (Method) ในการป้องกันที่มากกว่า ละเอียดกว่า ยกตัวอย่างเช่น IP Anomaly, User Behavior, HTTP Challenge, Flood protection เป็นต้น ซึ่ง วิธีการเปล่านี้ สามารถกำหนดได้แบบยืดหยุ่น และเป็นการกรองเป็นลำดับขั้น แต่ท้ายสุดแล้ว ถ้าเป็น Traffic ที่ใช้งานจริง ไม่ใช้การโจมตี แต่มีจำนวนมาก ๆ เกินกว่าที่จะเปิดให้ใช้บริการได้ ก็จะใช้วิธีสุดท้ายคือทำ Rate Limit นั่นเอง
ตัวอย่างรูป จะเรียกว่าเป็น Multi Vector DDoS Protection Methods


ตัวอย่างง่าย ๆ คือ มีถนนอยู่ แต่มีจำนวนรถจำนวนมาก ๆ การป้องกัน ก็เสมือนว่ามีการตั้งด่าน โดย
ด่านแรก คัดกรอง จับเฉพาะรถมอเตอร์ไซค์ ที่ไม่สวมหมวกกันน๊อก
ด่านที่สอง จับเฉพาะรถที่ไม่ต่อภาษี ด่านที่สาม ตรวจจับผู้ขับขี่ ที่ไม่มีใบอนุญาตขับขี่
และด่านสุดท้าย บีบเลน จากถนน 5 เลน ให้เหลือ 2 เลน เป็นต้น

แล้วต้นกำเนิดของ DDoS Attack มาจากที่ไหน ?
โดยวันนี้ ยังไม่ทราบว่า ต้นกำเนิดมาจากที่ได้ แต่ กว่า 20% ของการโจมตีชนิด DDoS Attack นั้น มาจาก อินเดีย และ จีน นอกจากนี้ ยังมีการโจมตีจากประเทศอื่นๆ  ได้แก่ อิหร่าน, อินโดนีเซีย รวมถึง สหรัฐอเมริกาด้วยเช่นกัน เพราะงั้นอุปกรณ์ที่ใช้ป้องกัน DDoS Attack ส่วนใหญ่จะมาจากประเทศจีน เพราะเค้าคุ้นเคยกับการโจมตีแบบนี้ รวมถึงอาจจะเป็นการสร้าง Demand และ Supply ด้วย

สำหรับ Gartner’s Magic Quadrant สำหรับ DDoS Attack Protection มีมั๊ย ?

ณ วันนี้ (2015) ยังไม่มี แต่ Gartner ได้เริ่ม Aware สำหรับ DDoS Attack Protection บ้างแล้ว เนื่องจากก่อนหน้านี้ การโจมตี ยังคงเป็นการโจมตีไปยังอุปกรณ์รักษาความปลอดภัย เช่น Firewall, IPS, Core Switch, Application Layer เป็นต้น แต่ปัจจุบัน พวก Botnet, APT มามีบทบาทมากขึ้นเรื่อย ๆ ดังนั้น รูปแบบการโจมตีก็เริ่มเปลี่ยนไป ดังนั้น ในปีหน้า (2016) อาจจะได้เห็นว่ามี Magic Quadrant สำหรับ DDoS Attack Protection ก็เป็นได้

Monday, November 30, 2015

[Networking] Unlock the SSL Traffic Part 1: เบิกเนตร SSL ตอน 1

ความเดินตอนที่แล้ว
[Networking] SSL Traffic Blind the Security Devices: เมื่อ Security Device โดนปิดตา ด้วย SSL
http://itnewhand.blogspot.com/2015/11/networking-ssl-traffic-blind-security.html

ว่าด้วยเรื่องของ SSL Traffic ที่ปิดหู ปิดตาระบบรักษาความปลอดภัย

มาวันนี้ จะมาว่าด้วยเรื่องการถอดรหัสออก ซึ่งจะแบ่งเป็น 2 ตอน โดย
ตอน 1 จะว่าด้วยการถอดรหัส ของการให้บริการของ Server ภายใน
ตอน 2 จะว่าด้วยการถอดรหัส ของการใช้บริการของ Internet ภายนอก

เอาหล่ะ มาเข้าเรื่องกันเลยนะครับ

ปกติของการให้บริการระบบภายใน ไม่ว่าจะเป็นการใช้งานจากบุคคลภายในเอง หรือจากภายนอกเอง อันนี้ค่อนข้างจะง่าย เพราะ "เรา" เป็นผู้กำหนด "Key" ที่จะใช้งาน (แหงหล่ะ ก็มันเครื่องของเราเองไง)

จากรูป จะเห็นว่า มีการเชื่อมต่อระหว่าง Client กับ Server ซึ่งเป็นแบบ SSL Traffic
จะเห็นว่า เครื่อง Server จะเป็นคนทำหน้าที่ในการ ส่ง"Key"ไปให้ Client รวมถึง เข้ารหัส และถอดรหัสข้อมูลที่รับส่ง ระหว่างกัน
แน่นอนว่า คนอื่น ๆ (รวมถึงอุปกรณ์ เช่น Firewall, IPS, etc. ด้วย) จะไม่สามารถตรวจสอบได้ว่ามีข้อมูลอะไรวิ่งผ่าน เพราะไมมี "Key" นั่นเอง

เพราะฉะนั้นแล้ว การถอด "Key" เราก็แค่ย้าย ออกไปจากเครื่อง Server ซะ ดังรูปข้างล่างนี้ ให้แก่อุปกรณ์ซักตัวที่สามารถทำ SSL Inspection (ชื่อเรียกอื่น ๆ ก็เช่น SSL Acceleration, SSL Offload etc.) ได้มาเป็นคนจัดการเรื่อง "Key" แทน Server และจะเห็นว่า หลังจากอุปกรณ์ดังกล่าวไป ข้อมูลจะเป็น Pain Text แล้วนั่นเอง


ตรงนี้แหละ เราก็สามารถใช้งานอุปกรณ์ Security ต่าง ๆ มาจัดารได้แล้ว Bingo !!!!

สำหรับคำถามว่า อุปกรณ์อะไรทำหน้าที่ SSL Inspection ได้นั้น ในท้องตลาดมีมากมาย (พอดี ไม่ได้ค่า สปอนเซอร์ เลยขอไม่บอกยี่ห้อแล้วกันนะ) มีให้เลือกช๊อปใช้งานหลากหลาย

ขอจบ Part 1 ด้วยประกาลละฉะนี้แล

30-Nov-2015

Friday, November 13, 2015

[Networking] SSL Traffic Blind the Security Devices: เมื่อ Security Device โดนปิดตา ด้วย SSL

[Networking] SSL Traffic Blind the Security Devices: เมื่อ Security Device โดนปิดตา ด้วย SSL

ในทุกวันนี้ เราคงปฏิเสธการใช้งานใน Internet ไม่ได้ว่า Web Site ต่าง ๆ ที่ใช้งาน จะเป็น HTTPS กันเป็นส่วนใหญ่ ลองดูตัวอย่างง่าย ๆ ดังนี้


ซึ่งในมุมมองของผู้ใช้งาน เราจะคิดว่า ถ้ามันแถบเขียว แสดงว่า เป็น Web Site ที่ปลอดภัย เพราะมีการเข้ารหัสในการใช้งาน เมื่อมีการทำธุรกรรมต่าง ๆ จะได้มั่นใจว่า จะไม่ถูกดักจับข้อมูลที่สำคัญ

โดยหลักการง่าย ๆ คือ ใช้ กุญแจ (KEY) นั่นเอง โดยฝั่ง Web Site จะมีกุญแจ และฝั่ง Client เมื่อใช้งานก็จะได้ กุญแจไปคู่กัน เพื่อให้ เมื่อมีการรับส่งข้อมูลกัน จะได้มี กุญแจ ไว้สำหรับ เข้ารหัส และถอดรหัสนั่นเอง

ซึ่งในปัจจุบันนี้ เหล่าบรรดา Web Server ทั่วโลก ก็ได้ทยอยใช้งาน HTTPS กันไปมากแล้ว ด้วยเหตุผลของความปลอดภัยในการให้บริการ และอีกเหตุผลนึงที่สำคัญนั่นก็คือ Google Ranking (ในการ search หา Web site ผ่านทาง Google นั้น ทาง Google จะให้ Ranking แก่ Web Site ที่เป็น HTTPS มากกว่า) ดังนั้น เพื่อให้ผู้ใช้งาน ค้นหา Web Site เจอ จึงไปใช้งาน HTTPS นั่นเอง

ตัวอย่าง SSL Certificate

โดยตัว SSL Certificate นี้ จะต้องเสียเงินในการ "ซื้อ" อย่างในรูปตัวอย่างข้างบนนี้ ออกโดยบริษัท DigiCert และสามารถใช้งานได้ ระหว่าง 28/8/2014 ถึง 31/12/2015 หากพ้นระยะเวลาดังกล่าวแล้ว ไม่ทำการ Renew หรือ ซื้อใหม่ แน่นอนว่า จะเกิดเหตุที่เรียกว่า "หน้าแดง" แบบนี้
ลอง Web Site ที่ขึ้น Certificate Error แบบนี้ ถ้าเป็น Web Site ที่ทำธุรกรรม คงไม่มีใครอยากจะใช้งานแน่ ๆ เพราะไม่สามารถบอกได้ว่า เป็น Web Site ที่เป็นของจริงหรือไม่ จะเป็น Phishing site หรือเปล่า (Phishing site คือ Web Site ปลอม ที่ตั้งขึ้นมาเลียนแบบ Web Site จริง)

โดยเมื่อใช้งาน SSL มากขึ้นนี้ ในมุมผู้ใช้งานมองว่าเป็นข้อดีเรื่องความปลอดภัย แต่ !!!!! ในมุมมองของผู้ที่ดูแลเรื่องระบบความปลอดภัยในระบบเครือข่าย (Network Security) มันเป็นเรื่องที่ไม่ดีเลย เหตุผลคือ Hacker, Cracker ก็อาศัยช่องทางนี้ในการโจมตี คือ โจมตีผ่านทาง SSL เช่นเดียวกัน เพราะมันไม่สามารถตรวจสอบข้อมูลได้ แน่นอนว่า ในทาง Security ก็ไม่สามารถตรวจสอบ และระบุว่าเป็นการใช้งานนั้นเป็นการใช้งานที่ปลอดภัยหรือไม่ เพราะมันถูกเข้ารหัสไว้ 
อุปกรณ์ต่าง ๆ เช่น Firewall, Proxy, IPS, etc... อีกมากกว่า กว่า 95% ไม่สามารถตรวจสอบได้ว่ามี Virus, Malware หรือ APT (Advanced Persistent Threat) แอบแฝงมาด้วยหรือไม่ เพราะไม่มี "Key" ที่ใช้ในการแกะข้อมูลมาอ่าน จึงไม่สามารถตรวจสอบได้ ส่วนใหญ่ก็จะปล่อยผ่านไป แต่ในอีก 15% ที่สามารถแกะออกมาตรวจสอบได้ ก็จะเรียกว่าการทำ SSL Inspection ซึ่ง จะมีอุปกรณ์ไม่กี่รายที่ทำได้ แต่ !!!! สิ่งที่ตามมาคือ โหลด Performance อย่างมาก ซึ่งถ้าหากเปิดใช้งาน อาจจะทำให้อุปกรณ์ถึงกับ Hang ได้

นี่เป็นเหตุผลที่ SSL Traffic Blind the Security Devices ดังชื่อ Topic วันนี้นั่นเอง

แต่ไม่ต้องห่วงไปสำหรับ SSL Inspection จะกล่าวในโอกาสหน้านะครับ


Thursday, October 1, 2015

[Networking] เมื่อคำถามเรื่อง การกด F5 ทำให้เว็บล่มได้บังเกิด

เมื่อคำถามเรื่อง การกด F5 ทำให้เว็บล่มได้บังเกิด

จากกระทู้ Pantip.com


ทำไมเว็บไซต์ถึงได้ล่มได้นะ
อ่านดูเหมือนมันไม่มีอะไร ก็แค่การกดปุ่ม F5 ปุ่มเดียวบน Keyboard แต่จริง ๆ แล้ว มันมีกระบวนการที่มากกว่านั้น

มันคืออะไร ????


เริ่มแรกเลย จะขออ้างอิงจาก ทฤษฎีของ TCP (ย่อมาจาก Transmission Control Protocol) ซึ่งแปลกันตรง ๆ คือ การควบคุมการส่งข้อมูลในระบบเครือข่ายนั่นเอง (ทั้ง LAN และ WAN Internet ก็เหมือนกัน)

โดยจะมีหลักการง่าย ๆ คือ การตรวจเช็คว่าจะรับส่งข้อมูลกันแล้วนะ ซึ่งทางคำศัพท์เรียกว่า Three-way handshake นั่นเอง

มันทำงานอย่างไร ?

จะมีฝั่งที่เป็นผู้ขอใช้งาน (ต่อไปขอเรียกว่า Source) และผู้ให้บริการปลายทาง (ต่อไปขอเรียกว่า Destination)
หรือถ้าเทียบง่าย ๆ Source คือ ผู้ใช้งานตามบ้านนี่แหละ ส่วนผู้ให้บริการ ก็คือ Web Server ที่เราเรียกให้งานนี่แหละ 

โดยจะมีการทำงาน ดังนี้
1. SYN: เป็นการเริ่มเปิดประเด็นว่า Source จะเรียกใช้งานแล้วนะ แล้วก็ส่ง SYN ไปหา Destination

2. SYN-ACK: เมื่อ Destination ได้รับ SYN มา ก็จะทำการตอบกลับ เรียกการตอบกลับนี้ว่า SYN-ACK 

3. ACK: สุดท้าย ก่อนจะเริ่มการรับส่ง Source ก็จะส่ง ACK กลับไป  



รูปภาพจาก http://www.networkuptime.com/nmap/images/TCP_SYN_ping_open.gif

นี่คือขั้นตอนกระบวนการก่อนการรับส่งข้อมูลนะ

แล้วไอ้การกด F5 ระรัว นี่มันส่งผลอะไร

ก็คือการสร้าง Three-way Handshake รัว ๆ นั่นเอง โดยฝั่ง Source จะทำการส่ง SYN ออกไป 1 ครั้ง ต่อการกด F5 1 ที แต่ ก่อนที่ Source จะรับ SYN-ACK และส่ง ACK กลับไป ก็กด F5 กระหน่ำลงไปอีก ก็เท่ากับส่ง SYN ไปอีก ให้ Destination ตอบ SYN-ACK มาเรื่อย ๆ 
แต่ไม่ใช่แค่เท่านั้น เหตุการณ์วันที่ 30-Sep-2015 กับเว็บหลาย ๆ เว็บที่ถูกไทยสามัคคี (อยากเห็นคนไทยสามัคคีกันแบบนี้ทุก ๆ เรื่องที่สร้างสรรนะ) ร่วมมือกันเปิด Browser แล้วมุ่งไปยังเป้าหมายเดียวกันจากคนนับล้าน กระบวนการนี้ มันไปกินทรัพยากรบนเครื่อง Destination เช่น CPU, Memory, Cache, ฯลฯ อีกมากมาย แล้วถ้าทรัพยากรหมดไม่สามารถใช้งานได้ ก็จะเกิดเหตุการณ์ เว็บล่มขึ้นนั่นเอง

เอวังด้วยประการ ฉีนี้แล....

Monday, September 28, 2015

[Wi-Fi] กฎเหล็ก ของ Wi-Fi Communication : Rules of Wi-Fi Communication

กฎเหล็ก ของ Wi-Fi Communication : Rules of Wi-Fi Communication
การส่งข้อมูลบน Wi-Fi นั้น มีกฎอยู่ 2 ข้อดังนี้
ข้อแรก การส่งข้อมูลบนระบบ Wi-Fi เป็น Half Duplex คือ ในขณะที่ส่งข้อมูล (Transmit : Tx) จะไม่สามารถรับข้อมูลได้
ข้อสอง ในการส่งข้อมูล เมือส่งเสร็จ จะมี ช่องว่าง (Space/Dead air) คั่นอยู่เสมอ เรียก ช่องว่างนี้ว่า Inter Frame Space (IFS) โดยจะมี Short IFS (SIFS) และ DeCode Function IFS หรือ DIFS

ศัพท์เทคนิค ที่อาจจะต้องได้ยิน
Carrier Sense Multiple Access หรือ CSMA คือ เมื่อมีใคร ทำการส่ง (Tx) Client คนอื่น ๆ ต้องรอจนกว่าจะเสร็จ โดยมาตรฐานนี้จะมี CD และ CA โดย
CD = Collision detection อันนี้จะใช้บนระบบ LAN ไม่ได้ใช้บน Wi-Fi
CA = Collision avoidance อันนี้จะใช้บนระบบ Wi-Fi (ในบทที่ 2 ที่ยกตัวอย่างเรื่องบัตรคิว)

ขอยกตัวอย่าง ในเคสที่มี Client 2 เครื่อง เชื่อมต่อบน Access Point ตัวเดียวกัน ต้องการจะส่งข้อมูลในเวลาพร้อมกัน

หลักการทำงาน มี step ขั้นตอนดังนี้
1.      Access Point ประกาศ ACK ออกไป บอกแก่ client ที่เชื่อมต่อว่า ตอนนี้ คิวว่างแล้วนะ
2.       Client ทั้ง 2 ตอนนี้ ยังไม่รู้ว่า เป็นคิวของตนเองหรือไม่ ขั้นตอนนี้จะมี DIFS ทั้ง 2
3.       Client ทั้ง 2 เครื่อง จะทำการ สุ่มติ้วบัตรคิว (ทางเทคนิค เรียกว่า Random Back Off Timer โดยค่านี้ มีหน่วยเป็น millisec (ms) มีค่าระหว่างเลข 1-15 ms) ซึ่งเป็นตัวเลขไว้สำหรับนับถอยหลัง (ใครถึง 0 ก่อน แปลว่า ได้คิวก่อน)
4.       เมื่อได้ติ้วบัตรคิวแล้ว Client จะรู้ว่า ลำดับคิวของตนเองเป็นอย่างไร โดยเมื่อนับถอยหลังถึง 0 แล้ว Client นั้น จะส่ง CCA Negative หรือ Clear Channel Assessment เพื่อบอกกับ Access Point ว่า จะเริ่มส่งข้อมูลแล้วนะ
5.       จากนั้น Client ทำการส่งข้อมูล
6.       เมื่อส่งเสร็จ Access Point จะประกาศแก่ Client ที่เชื่อมต่อว่า โอเค ตอนนี้ คิวว่างแล้วนะ (เรียกว่า SIFS) จากนั้นก็ ACK ออกไป
7.       Client ก็จะมี DIFS ใหม่อีกรอบ แต่ Client ที่ส่งข้อมูลไปเสร็จสิ้นแล้ว จะไม่มีติ้วบัตรคิว ดังนั้น จะทำการสุ่มอีกครั้ง (Random Back Off Timer) ส่วน Client อีกเครื่อง ก็จะนับถอยหลังต่อไปจากเลขเดิม
8.       เมื่อนับถอยหลังจนถึงศูนย์ Client เครื่องนั้น ก็จะได้สิทธิ์ในการส่งข้อมูล
9.       วนลูปนี้ไปจนกว่าจะไม่มีการส่งข้อมูล



จาก Step การจัดคิวดังกล่าวมานี้ ที่เป็นเรื่องของ Back Off Timer (หรือ BoT) จะไปเกี่ยวข้องการจัดความสำคัญของการส่งข้อมูล (Quality of Service: QoS) ซึ่งจะมีลำดับการสุ่มเลขคิว ตามความสำคัญ (ดังที่บทที่ 1 กล่าวว่ามีความสำคัญ 4 ขั้น)
1.       Voice
2.       Video
3.       Best Effort
4.       Background
มีสูตรการสุ่ม BoT ดังนี้

จะเห็นว่า ข้อมูลที่เป็น Voice จะสุ่ม Back Off Timer ได้แค่เลข 0 หรือ 1 เท่านั้น แปลว่า ยังไงคิวก็มาถึงได้ก่อนเสมอ

เรื่องของ WiFi ยังไม่จบ ไว้ติดตามต่อนะครับ


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 ยังมีอีกเยอะ ไว้มาต่อกันคราวหน้า

Thursday, September 24, 2015

[Wi-Fi] Introduction to Wireless LAN

Introduction to Wireless LAN

เมื่อพูดถึงระบบเครือข่ายแบบไร้สาย (Wireless LAN หรือ WLAN) คนส่วนใหญ่ จะนึงถึงคำว่า WiFi ดังรูปด้านล่าง
โดยหน่วยงาน IEEE เป็นผู้ที่ตั้งกฎ IEEE 802.11 ที่ว่าด้วยกฎเกณฑ์ของการใช้งานบนระบบเครือข่ายไร้สาย และได้ก่อนตั้ง WiFi Alliance ขึ้นมา เพื่อเป็นหน่วยงานที่ใช้งานตามกฎที่ตั้งขึ้น

มาตรฐาน WiFi ที่เห็นเป็น Logo บนอุปกรณ์ต่าง ๆ นั้น จะมี a, b, g, n และ ac (และ ax ในอนาคต) จะใช้เป็นตัวบ่งชี้ถึงการใช้คลื่นความถี่ และประสิทธิภาพของอุปกรณ์นั้น ๆ ดังตาราง
มาตรฐานที่เกี่ยวข้องอื่น ๆ ของ WiFi ได้แก่
IEEE 802.11i
IEEE 802.11e

IEEE 802.11i เป็นเรื่องของการเข้ารหัสข้อมูลที่ระบส่ง เพื่อรักษาความปลอดภัยของผู้ใช้งาน (Encryption Method) โดยเริ่มแรก จะใช้ WEP (Wired Equivalent Privacy) แต่เนื่องจากการเข้ารหัสแบบนี้ จะใช้ Key ที่เหมือนเดิมตลอดการใช้งาน หากมีผู้ไม่ประสงค์ดี มาดักข้อมูลไป และสามารถถอดรหัสได้ ก็จะสามรถเจาะการเข้าหรัสได้ จึงมีการพัฒนาการเข้ารหัสแบบใหม่ คือ WPA (Wi-Fi Protected Access) โดยจะใช้ Key แบบชั่วคราว (Temporal Key Integrity) โดยในระหว่างการใช้งานอยู่ Key ที่ใช้งาน จะเปลี่ยนไปเรื่อย ๆ เพื่อให้การถอดรหัสยากขึ้น และซับซ้อนขึ้น โดยปัจจุบันนี้ พัฒนามาเป็น WPA 2.0 แล้ว

IEEE 802.11e เป็นเรื่องของการจัดสรรความสำคัญของการส่งข้อมูล (Quality of Service:QoS) โดยในการส่งข้อมูล ถ้าเป็นแบบ LAN ที่เชื่อมต่อผ่านอุปกรณ์ Switch แบบที่ใช้งานนั้น จะสามารถตั้งค่าความสำคัญ (Priority) ได้สูงสุดคือ 7 Priority (ค่าสูงสุดคือ 7 และต่ำสุดคือ 0) แต่ในการรับส่งข้อมูลแบบไร้สาย สามารถตั้งได้เพียง 4 Priority (โดยปกติ จะให้ข้อมูลชนิด Voice เป็นค่าสูงสุด)

คลื่นความถี่ (Radio Frequency)
ในการส่งข้อมูลแบบไร้สาย จะส่งผ่านคลื่น โดยจะมีค่าของ ความถี่ (Frequency) และ ความยาวคลื่น (Wavelength) ซึ่งความถี่ที่ใช้งาน ณ ปัจจุบันคือ 2.4 GHz และ 5 GHz

ความแรงของสัญญาณ (Signal Strength)
จะใช้หน่วยวัดความแรงเป็น Watt โดยมีความแรงเป็นระดับ milliwatt (mW) โดยอุปกรณ์กระจายสัญญาณ Access Point จะมีระบุว่า มีความแรงของสัญญาณที่ส่ง กี่ mW