IP Address และ Subnet mask

 IP Address ย่อมาจากคำเต็มว่า Internet Protocal Address คือ หมายเลขประจำเครื่องคอมพิวเตอร์แต่ละเครื่องในระบบเครือข่ายที่ใช้โปรโตคอลแบบ TCP/IP ถ้าเปรียบเทียบก็คือบ้านเลขที่ของเรานั่นเอง 
          ในระบบเครือข่าย จำเป็นจะต้องมีหมายเลข IP กำหนดไว้ให้กับคอมพิวเตอร์ และอุปกรณ์อื่นๆ ที่ต้องการ IP ทั้งนี้เวลามีการโอนย้ายข้อมูล หรือสั่งงานใดๆ จะสามารถทราบตำแหน่งของเครื่องที่เราต้องการส่งข้อมูลไป จะได้ไม่ผิดพลาดเวลาส่งข้อมูล ซึ่งประกอบด้วยตัวเลข 4 ชุด มีเครื่องหมายจุดขั้นระหว่างชุด  เช่น 192.168.100.1 หรือ 172.16.10.1  เป็นต้น  โดยหมายเลข IP Address ของเครื่องคอมพิวเตอร์แต่ละเครื่องจะมีค่าไม่ซ้ำกัน สิ่งตัวเลข 4 ชุดนี้บอก คือ Network ID กับ Host ID ซึ่งจะบอกให้รู้ว่า เครื่อง Computer ของเราอยู่ใน Network ไหน และเป็นเครื่องไหนใน network นั้น เราจะรู้ได้อย่างไรว่า Network ID และ Host ID มีค่าเท่าไหร่ ก็ขึ้นอยู่กับว่า IP Address นั้น อยู่ใน class อะไร
     เหตุที่ต้องมีการแบ่ง class ก็เพื่อให้เกิดความเป็นระเบียบ เป็นการแบ่ง IP Address ออกเป็นหมวดหมู่นั้นเอง สิ่งที่จะเป็นตัวจำแนก class ของ network ก็คือ bit ทางซ้ายมือสุดของตัวเลขตัวแรกของ IP Address (ที่แปลงเป็นเลขฐาน 2 แล้ว) นั่นเอง โดยที่ถ้า bit ทางซ้ายมือสุดเป็น 0 ก็จะเป็น class A ถ้าเป็น 10 ก็จะเป็น class B ถ้าเป็น 110 ก็จะเป็น class C ดังนั้น IP Address จะอยู่ใน class A ถ้าตัวเลขตัวแรกมีค่าได้ตั้งแต่ 0 ? 127 (000000002 ? 011111112) จะอยู่ใน class B ถ้าเลขตัวแรกมีค่าตั้งแต่ 128 ? 191 (100000002 ? 101111112) และ จะอยู่ใน class C ถ้าเลขตัวแรกมีค่าตั้งแต่ 192 - 223 (110000002 ? 110111112) มีข้อยกเว้นอยู่นิดหน่อยก็คือตัวเลข 0, 127 จะใช้ในความหมายพิเศษ จะไม่ใช้เป็น address ของ network ดังนั้น network ใน class A จะมีค่าตัวเลขตัวแรก ในช่วง 1 ? 126
     สำหรับตัวเลขตั้งแต่ 224 ขึ้นไป จะเป็น class พิเศษ  อย่างเช่น  Class D ซึ่งถูกใช้สำหรับการส่งข้อมูลแบบ Multicast ของบาง Application และ Class E ซึ่ง Class นี้เป็น Address ที่ถูกสงวนไว้ก่อน ยังไม่ถูกใช้งานจริง ๆ  โดย Class D และ Class E นี้เป็น Class พิเศษ ซึ่งไม่ได้ถูกนำมาใช้งานในภาวะปกติ
 Class IP Address

ตัวอย่าง IP Address

- Class A ตั้งแต่ 10.xxx.xxx.xxx
- Class B ตั้งแต่ 172.16.xxx.xxx ถึง 172.31.xxx.xxx
- Class C ตั้งแต่ 192.168.0.xxx ถึง 192.168.255.xxx
     จาก IP Address เราสามารถที่จะบอก ได้คร่าวๆ ว่า computer 2 เครื่องอยู่ใน network วงเดียวกันหรือเปล่าโดยการเปรียบเทียบ Network ID ของ IP Address ถ้ามี Network ID ตรงกันก็แสดงว่าอยู่ใน network วงเดียวกัน เช่น computer เครื่องหนึ่งมี IP Address 1.2.3.4 จะอยู่ใน network วงเดียวกับอีกเครื่องหนึ่งซึ่งมี IP Address 1.100.150.200 เนื่องจากมี Network ID ตรงกันคือ 1 (class A ใช้ Network ID 1 byte)

วิธีตรวจสอบ IP Address

Subnet mask

Subnet mask เป็น Parameter อีกตัวหนึ่งที่ต้องระบุควบคู่กับหมายเลข IP Address หน้าทีของ Subnet mask ก้คืิอ การช่วยในการแยกแยะว่าส่วนใดภายในหมายเลข IP Address เป็น Network Address และส่วนใดเป็นหมายเลข Host Address ดังนั้น ท่านจะสังเกตได้ว่า เมื่อเราระบุ IP Address ให้กับเครื่องคอมพิวเตอร์์ เราจำเป็นต้องระบุ Subnet mask ลงไปด้วยทุกครั้ง

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

Default Subnet mask ของแต่ล่ะ Class ดั้งนี้
• Class A จะมี Subnet mask เป็น 255.0.0.0 หรือเลขฐานสองดัง้นี้
11111111.00000000.00000000.00000000
(รวมเลข 1 ให้หมด ก็จะได้เท่ากับ 255)
• Class B จะมี Subnet mask เป็น 255.255.0.0 หรือเลขฐานสองดัง้นี้
11111111.11111111.00000000.00000000
• Class C จะมี Subnet mask เป็น 255.255.255.0 หรือเลขฐานสองดัง้นี้
11111111.11111111.11111111.00000000

มาถึงจุดนี้ผมอยากให้ท่านสังเกตว่า 
"ตำแหน่งของ Bit ไหน ในหมายเลข IP Address ที่ถูกกันไว้ให้เป็น Network Address หรือ Subnet Address จะมีค่าของ Bit ตำแหน่งที่ตรงกันใน Subnet mask เป็น 1 เสมอ"

หลักการพื้นฐานของการทำ Subnet
หลักการทำงานมีอยู่ว่า เราจะต้องยืม bitในตำแหน่งที่แต่เดิมเคยเป็น Host Address มาใช้เป็น Sub-network Address ด้วยการแก้ไขค่า Subnet mask ให้เป็นค่าใหม่ที่เหมาะสม
สูตรการคำนวณ  2 ยกกำลัง n  - 2 = ??ู

การวางแผน คำนวณ Subnet
1. หาจำนวน Segment ทั้งหมดที่ต้องการ Subnet address   จำนวนใน Segment ในที่นี้ นับจำนวน network ที่อยุ่ในแต่ล่ะฝั่งอขง Router หรือของ switch Layer 3 หรือ หากมีการ implement VLAN จะนับจำนวนของ VLANก็ได้
 
2. จำนวนเครื่อง computer ทั้งหมดในแต่ล่ะ Segment (ในที่นี้เราสมมุติ ว่าจำนวนเครืื่อง มีจำนวนใกล้เคียงกัน)
3. หาจำนวน bit ที่จะต้องยืมมาใช้เป็น Subnet Address โดยพิจารณาจาก ข้อ.1  และ ข้อ.2 โดยอาศัยสูตรง่าย ๆ 
ถ้ายืมมาจำนวน x bit แล้ว ถ้านำเอา 2 มายกกำลังด้วย x แล้ว หักลบออกอีก 2 แล้วได้ค่ามากกว่า หรือ เท่ากับจำนวน 
Subnet address ที่เราต้องการ 
ขั้นต่อมา  ก้ต้องนำ bit ที่เหลือจากการยืมมา เข้าสูตรเดิมคือ  2 ยกกำลัง n -2 = ??
4. นำ subnet mask ที่ได้มาคำนวณร่วมกับหมายเลข Network Address เดิมเพื่อหา Subnet Address ทั้งหมดที่เป็นไปได้ เพื่อที่จะนำไปกำหนดให้กับ Network แต่ล่ะ Segment
 
5. คำนวณหมายเลข IP Address ที่เป็นไปได้ทั้งหมดในแต่ล่ะ Subnet แล้วนำไป กำหนดให้กับเครื่อง computer เครื่อง server  และแต่ล่ะ interface ของ router จนครบ 
  
ตัวอย่างการคำนวณ น่ะครับ
Network Address  192.168.100.0
Subnetmask        255.255.255.192 (/26)

• ได้ทั้งหมดกี่ subnet
bit ที่ถูกยืมมา  2  
255.255.255.11000000
ดั้งนั้น จำนวน subnet ที่ได้คือ 2 ยกกำลัง 2  - 2  = 2  subnet
• ได้ทั้งหมดกี่ Host
Bit ที่เหลือจากการยืมจากข้างบน  คือ 6
ก็นำมาเข้าตามสูตรเหมือนกัน 2 ยกกำลัง 6 - 2 =  62 host << ที่จะนำไปใช้กับเครื่อง ใ 1 วง network
• หมายเลข Subnet ที่ถูกต้องเป็นหมายเลขอะไรบ้าง ??
Subnet แรก   192.168.100.0 1 000000    192.168.100.64
Subnet สอง   192.168.100. 1 0 000000    192.168.100.128
• หมายเลข Host ในแต่ล่ะ subnet เป็นอย่างไร ?
Subnet แรก   192.168.100.64   
ที่ใช้ได้ 192.168.100.65 - 192.168.100.126
Subnet สุดท้าย 192.168.100.128
ที่ใช้ได้ 192.168.100.129 - 192.168.100.190
___________________________________
อีกตัวอย่างการคำนวณ น่ะครับ
Network Address  192.168.100.0
Subnetmask        255.255.255.224 (/27)

• ได้ทั้งหมดกี่ subnet
bit ที่ถูกยืมมา  3
255.255.255.1 1 1 00000
ดั้งนั้น จำนวน subnet ที่ได้คือ 2 ยกกำลัง 3  - 2  = 6 subnet
• ได้ทั้งหมดกี่ Host
Bit ที่เหลือจากการยืมจากข้างบน  คือ 5
ก็นำมาเข้าตามสูตรเหมือนกัน 2 ยกกำลัง 5 - 2 =  30 host << ที่จะนำไปใช้กับเครื่อง ใ 1 วง network
• หมายเลข Subnet ที่ถูกต้องเป็นหมายเลขอะไรบ้าง ??
Subnet Zero คือ 192.168.100.0  - 192.168.100.31 <<  ไม่ใช่น่ะครับ วงนี้
Subnet แรก  คือ   192.168.100.32  -  192.168.100.63
Subnet สอง  คือ   192.168.100.64  -  192.168.100.95
Subnet สาม  คือ   192.168.100.96  -  192.168.100.127
Subnet สี่    คือ   192.168.100.128  -  192.168.100.159
Subnet ห้า  คือ   192.168.100.160  -  192.168.100.191
Subnet หก  คือ   192.168.100.192  -  192.168.100.223
Broadcast  คือ   192.168.100.224  -  192.168.100.255  << อันนี้ก็ไม่ใช่น่ะครับ
จะเห็นได้ว่า มีแค่เพียง 6 subnet เท่านั้น ที่ใช้ได้  แต่ในทางปฏิบัติ เราสามารถใช้ คำสั่ง subnet zero ได้น่ะครับให้สามารถใช้งานได้ แต่ทีผมแนะนำให้ ลบออกสอง คือในทางทฤษฏี น่ะครับ แต่ก็ควรทำน่ะ
มาถึงจุดนี้ก้ต้องทำได้กันบางแล้วน่ะครับ   แต่มันยังไม่จบหรอกน่ะครับ ยังมีความซับซ้อนมากขึ้นไปอีก

ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

ระบบเสียงสาธารณะ

การเชื่อมต่อ ISP