ความเร็วเน็ตที่แท้จริง Mbps MBps ???

พูดถึงเรื่องของความเร็วเน็ต เห็นที่เขาโฆษณาว่า .... Mbps ก็มีเรื่องทำให้สับสนอยู่เหมือนกัน เพราะว่าเวลาเราเล่นเน็ตสิ่งที่จะทำให้เรารู้ว่าความเร็วเน็ตที่เราใช้งานอยู่มีความเร็วเท่าไร ก็คือเวลาเรา Download ไฟล์ครับ ในขณะที่เรากำลังโหลดอยู่นั้นก็จะมีความเร็วปรากฏอยู่ ....KB/s บ้าง ....MB/s บ้าง ก็แล้วแต่โปรแกรมจะโชว์ แต่ถ้าคิดดีๆว่า เอ๊ะ เราติดเน็ต 6 เม็ก. ทำไมโหลดได้แค่ 700 กว่าๆ กิโลเอง (ประมาณ 0.7 เม็ก แล้วกันนะครับ) ซึ่งไม่ได้ใกล้เคียงกับสิ่งที่เขาบอกมาเลย

ลองสังเกตุนะครับว่า ตัวอย่างเหตุการณ์ที่ผมยกมานี้ ผมไม่ได้บอกหน่วยของความเร็วเน็ตที่ชัดเจน พูดกัน "เม็ก" , "กิโล" แล้วมันหน่วยอะไรล่ะถูกไหมครับ ความจริงคำเหล่านี้เป็นแค่ตัวที่บอกว่าเยอะ หรือน้อย ที่สำคัญจริงๆ คือหน่วยต่างหาก แต่เราก็พูดกันจนติดปากกันไปหมดแล้ว

มาลองดูหน่วยที่มีความสัมพันธ์กับความเร็วเน็ตดีกว่าครับ

Mbps หรือ Mb/s = Megabit per sec.

MBps หรือ MB/s = Megabytes per sec.

bit และ byte มีความแตกต่างกันพอสมควรครับ ว่าแล้วก็ขอเทียบหน่วยทางคอมพิวเตอร์ไปเลยแล้วกันนะครับ 

1 bit = 0 หรือ 1
8 bit = 1 byte
210 bytes = 1 kilobyte
220 bytes = 210 kilobytes = 1 megabyte
230 bytes = 220 kilobytes = 210 megabyte = 1 gigabyte

ตรงนี้อาจมีคำถามว่า ทำไมไม่คิดด้วย 1000 (ทำไมต้องคิดด้วย 1024) ต้องเข้าใจก่อนนะครับว่า ระบบคอมพิวเตอร์ทุกสิ่งอย่างทำงานด้วยสถานะเปิด(1) ปิด(0) ทำให้เกิดเป็นหน่วย bit ที่ 1 bit มีได้ 2 สถานะ เยอะๆ ขึ้นไปจึงจะถูกคิดแบบเลขฐาน 2 ไม่ใช่ฐาน 10 อย่างที่คณิตศาสตร์คิด.. ที่จริง ก็มีการแยกความแตกต่างออกไปนะครับ ให้เรียกหน่วยที่คิดด้วยเลขฐานสอง โดยแทนคำว่า 'บิ' ไป เช่น กิบิบิต(kibibit; Kibit) เมกบิบิต(Mebibit; Mibit) เมกบิไบท์(mebibyte; MiB) ซึ่ง บิ มาจาก ไบนารี(binary) แต่เราก็ใช้ง่ายๆ เรียกเหมือนหมด แต่ก็เป็นที่รู้กันครับ เพราะงั้น ในบทความนี้ผมคิดแบบ Binary ทั้งหมดนะ ^^
http://physics.nist.gov/cuu/Units/binary.html

แน่นอนครับว่า เวลาโฆษณาที่เราเห็น มักจะบอกเป็นหน่วยเล็กๆ เพื่อให้ตัวเลขที่เราเห็นมันดูเยอะ เพราะฉะนั้น หน่วยที่เราเห็นตามโฆษณาของค่ายต่างๆ มักแสดงเป็นหน่วย Mbps แต่เวลาเราใช้งาน สิ่งที่เราสัมผัสได้มักจะเป็นในหน่วยของ MBps ครับ เพราะว่าเวลาเราใช้งานคอมพิวเตอร์ หน่วยเล็กที่สุดก็จะเป็น byte เพียงแค่ตัวอักษร 1 ตัวก็เท่ากับ 1 byte แล้วครับ การแสดงเนื้อที่ใช้งานเป็น bit จึงไม่เหมาะสม

ถึงตรงนี้ ก็คงมีคนสงสัยแน่ๆว่า แล้วมันต่างกันตรงไหน "เม็ก" เหมือนกัน ตัวบีตัวเล็กตัวใหญ่คงไม่มีอะไรหรอกมั้ง?? บอกได้เลยครับว่า เกี่ยวอย่างมาก เพราะว่า b (บีเล็ก) มันคือ bit แต่ B (บีใหญ่) มันคือ byte ซึ่งมันต่างกัน 8 เท่าทีเดียวเลยนะ

มาดูกันต่อว่า เราจะรู้ได้ยังไงว่า ถ้าเราซื้อ package เน็ตความเร็วเท่านู้นเท่านี้มา แล้วจริงๆ มันมีความเร็วเท่าไร

สมมติว่าผมติดเน็ต 1 Mbps จากผู้ให้บริการแห่งหนึ่ง
แล้วผมก็แปลงให้เป็น byte โดย (1) / 8 MBps
ทีนี้ผมก็จะทำการเปลี่ยนหน่วยจาก MBps เป็น KBps จะได้ (1 / 8) x 1024 = 128 KBps
*ที่ต้องแปลงเป็น KBps เพราะว่าส่วนใหญ่เรามักจะเห็นหน่วย KBps มากกว่า แต่จะไม่แปลงก็ได้นะครับ ^^
จากด้านบนนี้ หมายความว่า อินเตอร์เน็ตที่ผมติด (1 Mbps) นี้ จะมีความเร็วในการรับส่งข้อมูลได้เต็มที่ 128 กิโลไบต์ต่อวินาทีครับ (แน่นอนว่าผู้ให้บริการมักบอกลูกค้าว่า ความเร็วอาจแตกต่างแล้วแต่พื้นที่ให้บริการ)

หลังจากนี้ ถ้าอยากรู้ว่าเน็ตที่โฆษณาๆ กันนั้น มีความเร็วตามจริงเท่าไร ก็จัดการเอาตัวเลขที่เขาโฆษณา (มักเป็น Mbps) คูณด้วย 128  เราก็จะได้ความเร็วเน็ตที่แท้จริงในหน่วย KBps ครับ หรือถ้าอยากได้ในหน่วย MBps ก็เอาไปหารด้วย 8 ก็พอ

ขอเสริมนิดนึงสำหรับเรื่องแพคเกจอินเตอร์เน็ต
เวลาที่เราเห็นๆกัน 6 Mbps บ้าง 8 Mbps บ้าง 9 - 200 Mbps บ้าง ตัวเลขเหล่านี้ ส่วนใหญ่ระบุถึงอัตราการ 'Download' ทั้งสิ้นครับ เค้าไม่ค่อยบอกเราหรอกว่า Upload ได้เท่าไร โดยทั่วไปอัตราการ Upload ก็มักจะไม่เยอะเท่าไร

Download คือ การดึงข้อมูลจากอินเตอร์เน็ตมาส่งเครื่องเรา เช่น การเล่นเว็บต่างๆ
Upload คือ การเอาข้อมูลจากเครื่องเรา เผยแพร่สู่อินเตอร์เน็ต อาจเป็นเว็บไซต์ฝากไฟล์ เป็นต้น


สุดท้ายนี้ อยากให้ผู้อ่านได้มีความรู้ไปใช้วิเคราะห์ ตัดสินใจ และรู้เท่าทันผู้ให้บริการอินเตอร์เน็ตนะครับ ^^



Facebook Comment

Recent Posts

Popular post of 7 days

มาตรฐานการตั้งชื่อตัวแปร (Naming Convention)

Portal คืออะไรกันนะ???

[Java] ความแตกต่างระหว่าง Overloading กับ Overriding

Popular

[Java] Java 8 DateTime ใหม่ ไฉไลกว่าเดิม

Portal คืออะไรกันนะ???

มาตรฐานการตั้งชื่อตัวแปร (Naming Convention)

[Java] ความแตกต่างระหว่าง Overloading กับ Overriding

เรื่องของ ++i กับ i++

ลืมรหัสปลดล็อค Android เข้าเครื่องไม่ได้ มีทางออกครับ

[Java] Java Static Variable และ Static Method

Push Notification คืออะไร มีวิธีทำอย่างไร (No Code)

พิมพ์ซองจากรายชื่อ excel ด้วยวิธี Mail Merge

[Android] เปิดเครื่องไม่ได้ โลโก้ค้าง (Boot Loop)