IT General
น้องๆ เคยสงสัยมั้ยว่าทำไมเวลาเราต่อ Wi-Fi ที่บ้าน หรือที่ร้านกาแฟ เค้าถึงรู้ว่า IP address ของเราคืออะไร? แล้วทำไมคอมพิวเตอร์แต่ละเครื่องในบ้านถึงคุยกันได้? นั่นแหละครับ Subnetting มีส่วนสำคัญมากๆ
Subnetting ง่ายๆ เลยก็คือการแบ่งเครือข่าย IP address ใหญ่ๆ ให้เป็นเครือข่ายย่อยๆ ครับ สมัยผมทำร้านเน็ต SiamCafe ช่วงแรกๆ นี่ Subnetting คือหัวใจเลย เพราะเราต้องจัดการ IP address ให้เครื่องลูกข่ายทุกเครื่องเล่นเกมออนไลน์ได้ ไม่ให้ IP ชนกัน (collision) ไม่งั้นมีหัวร้อนแน่นอน!
แล้วทำไมมันถึงสำคัญ? ลองนึกภาพว่าถ้าเรามีบ้านเลขที่เดียว แล้วทุกคนในประเทศไทยต้องส่งจดหมายมาที่บ้านเลขที่นั้น…จดหมายคงกองท่วมหัวแน่นอน! Subnetting ช่วยให้การจัดการ network เป็นระเบียบ หาเครื่องได้ง่ายขึ้น ป้องกัน traffic กระจุกตัว และเพิ่ม security ให้เครือข่ายด้วยนะ
ก่อนจะลงมือ Subnetting จริงจัง เราต้องเข้าใจพื้นฐานพวกนี้ก่อนนะ ไม่งั้นอาจจะงงเป็นไก่ตาแตกได้
IP Address (Internet Protocol Address) ก็เหมือนบ้านเลขที่ของคอมพิวเตอร์บนโลกอินเทอร์เน็ตนั่นแหละครับ มันเป็นตัวเลขที่ระบุตำแหน่งของเครื่องเรา ทำให้เครื่องอื่นๆ รู้ว่าจะส่งข้อมูลมาให้เราได้ยังไง IP Address ที่เราคุ้นเคยกันส่วนใหญ่จะเป็น IPv4 ซึ่งมีรูปแบบเป็นตัวเลข 4 ชุด คั่นด้วยจุด เช่น 192.168.1.1
Subnet Mask คือตัวที่บอกว่าส่วนไหนของ IP Address คือ Network ID (บอกว่าเครื่องอยู่ในเครือข่ายไหน) และส่วนไหนคือ Host ID (บอกว่าเครื่องเป็นเครื่องที่เท่าไหร่ในเครือข่ายนั้น) สมัยผม config router ครั้งแรกๆ นี่ งงกับ Subnet Mask ไปหลายวันเลย ลองคิดภาพว่ามันคือรหัสไปรษณีย์ที่บอกขอบเขตของพื้นที่ที่เราอยู่ นั่นเอง
CIDR (Classless Inter-Domain Routing) Notation เป็นวิธีเขียน Subnet Mask แบบย่อๆ เช่น /24 หมายถึง Subnet Mask ที่มี 1 ทั้งหมด 24 บิต (255.255.255.0 นั่นเอง) CIDR นี่แหละที่ช่วยให้ชีวิตเราง่ายขึ้นเยอะ เพราะไม่ต้องมานั่งแปลงเลขฐานสองให้ปวดหัว
เอาล่ะ! มาถึงส่วนที่สนุกที่สุด นั่นคือการลงมือทำ Subnetting จริงๆ ครับ ไม่ต้องกลัวนะ มันไม่ได้ยากอย่างที่คิด ถ้าเราเข้าใจหลักการพื้นฐานที่พูดถึงไปแล้ว
ผมจะยกตัวอย่างง่ายๆ ให้เห็นภาพกันเลยนะครับ สมมติว่าเรามีเครือข่าย 192.168.1.0/24 แล้วเราต้องการแบ่งเป็น 2 Subnet ย่อยๆ
เนื่องจากเราต้องการ 2 Subnet เราต้องยืม 1 บิตจาก Host ID (เพราะ 21 = 2) นั่นหมายความว่า Subnet Mask ใหม่ของเราจะเป็น /25 (255.255.255.128)
Subnet แรกจะมี Network Address เป็น 192.168.1.0/25 และ Broadcast Address เป็น 192.168.1.127 ส่วน Subnet ที่สองจะมี Network Address เป็น 192.168.1.128/25 และ Broadcast Address เป็น 192.168.1.255
Code Snippet (Python):
import ipaddress
network = ipaddress.ip_network('192.168.1.0/24')
subnets = list(network.subnets(new_prefix=25))
print(f"Subnet 1: {subnets[0]}")
print(f"Subnet 2: {subnets[1]}")
น้องๆ ลองรันโค้ดนี้ดู จะเห็นว่า Python ช่วยเราคำนวณ Subnet ได้ง่ายมากๆ สมัยผมทำร้านเน็ต ต้องมานั่งคิดเลขเองบนกระดาษ T_T
ตอนนี้เราก็สามารถกำหนด IP Address ให้กับอุปกรณ์ในแต่ละ Subnet ได้แล้ว โดย IP Address จะต้องอยู่ในช่วงระหว่าง Network Address และ Broadcast Address ของ Subnet นั้นๆ เช่น ใน Subnet แรก เราสามารถใช้ IP Address ตั้งแต่ 192.168.1.1 ถึง 192.168.1.126 ได้
อย่าลืมเข้าไปดูบทความอื่นๆ ที่ SiamCafe Blog นะครับ มีเรื่อง IT สนุกๆ อีกเยอะเลย
จริงๆ แล้ว Subnetting ไม่ได้เป็นวิธีเดียวในการจัดการ network นะครับ ยังมีทางเลือกอื่นๆ อีก เช่น VLAN (Virtual LAN) หรือการใช้ DHCP Server มาช่วยจัดการ IP Address ให้อัตโนมัติ
| Feature | Subnetting | VLAN | DHCP Server |
|---|---|---|---|
| การแบ่ง Network | แบ่งตาม IP Address | แบ่งตาม Layer 2 (Data Link) | แจกจ่าย IP Address อัตโนมัติ |
| ความซับซ้อน | ปานกลาง | สูง | ง่าย |
| Security | พอใช้ได้ | ดี | ขึ้นอยู่กับการตั้งค่า |
| การจัดการ Traffic | พอใช้ได้ | ดี | จำกัดการใช้งาน |
VLAN จะเหมาะกับเครือข่ายขนาดใหญ่ที่ต้องการความยืดหยุ่นสูง ส่วน DHCP Server จะเหมาะกับเครือข่ายขนาดเล็กที่ไม่ต้องการจัดการ IP Address เอง แต่ถ้าเป็นเครือข่ายขนาดกลางๆ ที่ต้องการความเข้าใจง่าย Subnetting ก็ยังเป็นทางเลือกที่ดีครับ
หวังว่าน้องๆ จะเข้าใจเรื่อง Subnetting มากขึ้นนะครับ ถ้ามีคำถามอะไรเพิ่มเติม ถามมาได้เลยที่ SiamCafe Blog ยินดีตอบเสมอครับ
เอาล่ะ น้องๆ หลังจากที่เราเข้าใจเรื่อง Subnetting กันไปแล้ว คราวนี้มาดู Best Practices หรือเคล็ดลับที่พี่บอม (SiamCafe.net Since 1997) สั่งสมมาจากการทำร้านเน็ตยุคบุกเบิกกันบ้างดีกว่า บอกเลยว่าพวกนี้สำคัญมาก เพราะมันช่วยให้ชีวิตเราง่ายขึ้นเยอะเลย
สมัยผมทำร้านเน็ตนี่ subnetting คือเรื่องที่ต้องคลุกคลีอยู่ทุกวัน เพราะต้องจัดการ IP Address ให้เครื่องลูกข่ายเยอะแยะ แถมยังต้องวางแผนเผื่ออนาคตด้วยว่าจะมีเครื่องเพิ่มอีกเท่าไหร่ ถ้าไม่วางแผนดีๆ เดี๋ยว IP ชนกันวุ่นวายแน่นอน
มาดูกันว่ามีเทคนิคอะไรบ้างที่พี่ใช้แล้วเวิร์ค มาแชร์ให้น้องๆ เอาไปปรับใช้กันได้เลย
ตัวอย่าง subnetting calculator ที่ใช้กันบ่อยๆ ก็พวก online subnet calculator นี่แหละ ลอง search ใน Google ดู มีให้เลือกใช้เยอะเลย
ทีนี้มาดูคำถามที่น้องๆ มักจะถามกันบ่อยๆ เกี่ยวกับ subnetting กันบ้าง พี่รวบรวมมาให้แล้ว
ง่ายๆ เลยคือ เพื่อแบ่ง network ใหญ่ๆ ออกเป็น network ย่อยๆ ทำให้บริหารจัดการง่ายขึ้น ลดปัญหา broadcast traffic และเพิ่ม security ให้ network ของเรา
Subnet Mask ก็คือตัวที่บอกว่าส่วนไหนของ IP Address คือ Network ID และส่วนไหนคือ Host ID เปรียบเหมือนรหัสไปรษณีย์ที่บอกว่าบ้านเลขที่นี้อยู่ในเขตไหนนั่นเอง
CIDR Notation (Classless Inter-Domain Routing) เป็นวิธีเขียน subnet mask แบบสั้นๆ เช่น /24 หมายถึง 24 บิตแรกของ IP Address คือ Network ID
Default Gateway ก็คือ IP Address ของ router ที่ใช้เป็นทางออกของ network เรา เวลาเครื่องใน network เราต้องการติดต่อกับเครื่องที่อยู่นอก network ก็จะต้องส่งข้อมูลผ่าน Default Gateway
Subnetting ไม่ใช่เรื่องยากอย่างที่คิด แค่เข้าใจหลักการพื้นฐาน และฝึกฝนบ่อยๆ น้องๆ ก็จะสามารถจัดการ network ของตัวเองได้อย่างมีประสิทธิภาพ
สมัยพี่ทำร้านเน็ตนี่ subnetting คือพื้นฐานที่ต้องแน่นจริงๆ เพราะต้องดูแลเครื่องลูกข่ายเยอะแยะ แถมยังต้องคอยอัพเดทระบบอยู่ตลอด ถ้าไม่เข้าใจ subnetting นี่ชีวิตลำบากแน่นอน
หวังว่าบทความนี้จะเป็นประโยชน์กับน้องๆ นะครับ ถ้ามีคำถามอะไรเพิ่มเติม ถามมาได้เลย ยินดีตอบเสมอ อย่าลืมแวะไปดูที่ SiamCafe Blog นะ มีบทความ IT ดีๆ อีกเยอะเลย
อ้อ! ถ้าใครสนใจเรื่อง Forex ลองแวะไปดูที่ iCafeForex ได้นะ