โดย ชาญชัย ฤทธิ์ทองพิทักษ์
สำหรับในตอนที่ 2 นี้จะเป็นเรื่องเกี่ยวกับการกำหนด Subnet Mask แต่ก่อนอื่นก็มาดูกันก่อนนะครับว่า Subnet Mask มีส่วนประกอบอะไรบ้าง

ใน Subnet Mask จะประกอบด้วยส่วนประกอบ 3 ส่วนคือ
1. Network ID ใช้สำหรับแยกส่วนที่เป็น Network ID ออกจาก IP Address มีค่าเป็น 1 ทุก bit
2. Subnet ID ใช้สำหรับแยก subnet ของ network มีค่าเป็น 1 ทุก bit
3. Host ID ใช้สำหรับแยกส่วนที่เป็น Host ID ออกจาก IP Address มีค่าเป็น 0 ทุก bit
|
จำนวน bit ใน Subnet ID จะเป็นตัวบอกว่าใน Network Address ที่กำหนดจะมีกี่ subnet โดยที่จำนวน subnet จะมีค่าเท่ากับ 2จำนวนbit ของ subnet ID- 2 ดังในตารางข้างล่างนี้ สำหรับสาเหตุที่จำนวน subnet หายไป 2 subnet ก็เนื่องจากตามมาตรฐานแล้วจะไม่ใช้ Subnet ID ที่มีค่าเป็น 0 ทุก bit หรือ 1 ทุก bit
จำนวน bit |
จำนวน subnet |
0* |
1 |
1 |
ไม่มีค่า |
2 |
2 |
3 |
6 |
4 |
14 |
* หมายเหตุ จำนวน bit ของ Subnet ID ปกติแล้วต้องมีค่าตั้งแต่ 2 ขึ้นไป สำหรับในกรณีที่มีจำนวน bit เป็น 0 หมายความว่าไม่แบ่ง subnet หรืออีกความหมายหนึ่งก็คือใน network นั้นมีแค่ subnet เดียวเท่านั้น ตัวอย่างของ Subnet Mask ที่มีจำนวน Subnet ID เป็น 0 (คือไม่มี Subnet ID) ก็คือ Subnet Mask มาตรฐานของ network แต่ละ class นั่นเอง Subnet Mask มาตรฐานของแต่ละ class มีดังนี้
Class |
Subnet Mask |
A |
255.0.0.0 |
B |
255.255.0.0 |
C |
255.255.255.0 |
วิธีการกำหนด Subnet Mask สามารถทำได้ดังนี้
1. ดูว่า IP Address ที่ใช้มี Network ID อยู่ใน class ไหน จากนั้นก็ set bit ในส่วนของ Network ID ให้เป็น 1 ทุก bit
2. หาจำนวน bit ของ Subnet ID โดยการคำนวนจากจำนวน subnet ที่ต้องการจะแบ่ง ซึ่งสามารถหาได้โดยดูจากสูตรการคำนวนจำนวน subnet ดังนี้
จำนวน subnet |
= 2 จำนวน bit 2 |
\จำนวน bit |
= log 2 (จำนวน subnet + 2) |
|
= log (จำนวน subnet + 2) log (2) |
ผลลัพธ์ที่ได้ให้ปัดเศษขึ้นเป็นจำนวนเต็ม ถ้าใครคำนวน logarithm ไม่เป็นก็ใช้วิธีสุ่มตัวเลขขึ้นมา 1 ตัวนำไปแทนในสูตรการคำนวนหาจำนวน subnet แล้วก็ดูว่าได้จำนวน subnet ใกล้เคียงกับที่ต้องการหรือเปล่า ค่อยๆปรับเปลี่ยนค่าไปเรื่อยๆจนกว่าจะได้ค่าที่ทำให้ได้จำนวน subnet น้อยที่สุดที่มากกว่าค่าที่ต้องการ
3. set bit ใน Subnet ID ให้เป็น 1 ทุก bit
4. set bit ที่เหลือทั้งหมด (ซึ่งเป็นส่วนของ Host ID ที่เหลือ) ให้เป็น 0
5. จำนวน host ในแต่ละ subnet = 2 จำนวน bit ของ Host ID ที่เหลือ - 2
|
ตัวอย่าง สมมติว่า network ที่ต้องการมี IP Address 131.107.x.x ต้องการแบ่งให้ได้ 25 subnet ต้องใช้ Subnet Mask อะไร ช่วง IP Address ของ subnet แรกและ subnet สุดท้ายมีค่าเท่าไหร่ และในแต่ละ subnet จะมี host ได้กี่เครื่อง
วิธีทำ
- จากโจทย์เมื่อดูจาก IP Address
ที่กำหนดให้จะเห็นว่าเป็น address ใน
class B ซึ่งมี Network ID 2 byte ดังนั้น เมื่อ set bit
ในส่วนของ Network ID ให้เป็น 1 Subnet Mask
ในขั้นแรกจะมีค่าเป็น 255.255.0.0
- ต้องการแบ่งให้ได้ 25 subnet
ต้องใช้จำนวน bit = log (25+2)
log (2)
= 4.75
ดังนั้นจำนวน bit ที่ใช้ = 5 bit (5 bit
แบ่งได้ถึง 30 subnet)
- set 5 bit นี้ให้เป็น 1 ทุก bit ที่เหลือเป็น 0 ทุก bit จะได้

จะได้เลขของ Subnet Mask คือ 255.255.248.0
ช่วง IP Address ของ subnet แรก (Subnet ID = 00001) คือ
1000 0011.0110 1011
.0000
1000.0000 0001 ถึง1000
0011.0110 1011.0000
1111.1111 1110
= 131.107.8.1131.107.15.254
ช่วง IP Address ของ subnet สุดท้าย (Subnet ID
= 11110) คือ
1000 0011.0110 1011
.1111
0000.0000 0001 ถึง1000
0011.0110 1011.1111
0111.1111 1110
= 131.107.240.1131.107.247.254
จำนวน host ที่มีได้ในแต่ละ subnet
= 2 จำนวน bit ของ Host ID ที่เหลือ 2
= 2 11 2 = 2046
เครื่อง
หมายเหตุ จำนวน host ที่หายไป 2 เครื่องเนื่องจากตัด Host ID ที่เป็น 0 ทุก bit และ Host ID ที่เป็น 1 ทุก bit ออกไป