Subnet mask คือ พารามิเตอร์(Parameter) ที่จะช่วยแยกแยะว่าหมายเลข IP Address นี้ ส่วนไหนเป็น Network ID และส่วนไหนเป็นหมายเลข Host ID โดย Network ID สามารถคำนวณได้จากนำ IP Address มา AND กับ Subnet mask (0 and 0 = 0, 0 and 1 = 0, 1 and 1 = 1)
Subnet mask สามารถเขียนในรูปแบบ Prefix length ได้ ตัวอย่างเช่น /8 หมายถึงหากเขียนให้อยู่ในรูปแบบของเลขฐานสอง จะมี bit ที่เป็นเลข “1” เรียงกัน 8 ตัว ซึ่งหากแปลงเป็นเลขฐานสิบก็คือ 255.0.0.0 นั่นเอง (255=11111111)
Subnet mask หากเขียนให้อยู่ในรูปแบบของเลขฐานสอง จะเป็น bit 1 เรียงกันจากซ้ายมือไปทางขวามือเรื่อยๆ หากเป็น bit 0 ก็จะเป็น bit 0 ต่อยาวไปยังขวามมือสุดเลย
ยกตัวอย่างเช่น 11111111.00000000.00000000.00000000
หรือ อาจจะเป็น 11111111.11111111.11111111.11111100 เป็นต้น
หากเป็นลักษณะแบบนี้ 11111111.00000000.11111111.11111111 ถือว่าไม่ใช่รูปแบบของ Subnet mask
จากภาพเราจะสังเกตุได้ว่า ความยาวของ Network จะมีขนาดเท่ากับความยาวของ Host พอดี เมื่อ IPv4 Address มีทั้งหมดมี 32 bit ก็แสดงว่าเป็น bit ของ Network 16 bit และเป็น bit ของ Host อีก 16 bit เมื่อ Subnet mask เข้ามาแยกแยะว่าส่วนไหนคือ Network ส่วนไหนคือ Host เราก็จะเห็น Subnet mask ของตัวอย่างนี้มีหน้าตาประมาณนี้ 11111111.11111111.00000000.00000000 (255.255.0.0) ฝั่งที่เป็นเลข 1 คือจะสื่อของ bit ที่เป็น Network ฝั่งที่เป็นเลข 0 ก็จะสื่อถึง bit ที่เป็น Host
หากนำ Subnet mask มาทำการ and กับ IP address ผลที่ได้คือจะได้ Network ID ประจำเครือข่ายนั้นๆ ในการทำงานของ Computer หรือ Router ก็จะมีการตรวจสอบ Network ID ของตัวเอง เพราะจะมีผลต่อการทำงานในการส่งข้อมูล ยกตัวอย่างเช่น หาก Computer ต้้องการส่งข้อมูลไปยัง Computer ปลายทางที่อยู่ Network ID เดียวกันก็สามารถส่งได้เลย แต่ถ้าหากส่งไปยัง Computer ปลายทางที่อยู่คนละ Network ID กัน ก็จะไม่สามารถส่งกันตรงๆได้ ต้องส่งผ่าน Gateway อีกที เป็นต้น
อาจารย์หนูขอโจทย์ การคำนวณ Subnetting ได้ไหม คะหนูอยากฝึกค่ะ